一种高效动态自动维护的路由表结构及路由表管理方法.pdf

上传人:奻奴 文档编号:169972 上传时间:2018-01-31 格式:PDF 页数:14 大小:737.63KB
返回 下载 相关 举报
摘要
申请专利号:

CN201510533086.9

申请日:

2015.08.26

公开号:

CN105208622A

公开日:

2015.12.30

当前法律状态:

实审

有效性:

审中

法律详情:

著录事项变更IPC(主分类):H04W 40/24变更事项:申请人变更前:江苏林洋电子股份有限公司变更后:江苏林洋能源股份有限公司变更事项:地址变更前:226200 江苏省南通市启东市林洋路666号变更后:226200 江苏省南通市启东市林洋路666号变更事项:申请人变更前:南京林洋电力科技有限公司变更后:南京林洋电力科技有限公司|||实质审查的生效IPC(主分类):H04W 40/24申请日:20150826|||公开

IPC分类号:

H04W40/24(2009.01)I; H04W40/02(2009.01)I; G08C19/00

主分类号:

H04W40/24

申请人:

江苏林洋电子股份有限公司; 南京林洋电力科技有限公司

发明人:

蒋长献; 陆寒熹

地址:

226200 江苏省南通市启东市林洋路666号

优先权:

专利代理机构:

南京天华专利代理有限责任公司 32218

代理人:

夏平;刘畅

PDF下载: PDF下载
内容摘要

本发明公开了一种高效动态自动维护的路由表结构及路由表管理方法,用于集中抄表系统中载波或微功率无线通讯装置(设备)的中继路由表的管理。中心节点路由表的数据结构由散列表和有序双向链表构成,散列表的散列地址根据子节点地址叠加取模后得到;每个子节点根据存在于散列表中的位置对应一个唯一ID,每个子节点管理一个路由链表,链表中的元素为当前结点返回中心节点(集中器)的第一跳的节点ID,链表根据该节点回归中心节点的跳数进行排序。每个子节点的中继路径可根据排列组合得到多条有效路径,并且不增加额外存储空间消耗,路由表查找速度快,并能根据中心节点的运行自动更新维护。

权利要求书

1.  一种高效动态自动维护的路由表结构,其特征是中心节点路由表的数据结构由散列表和路由链表构成,所述路由链表为有序双向链表,散列表中的每个子节点维护一个路由链表,该子节点自身为路由链表头节点,路由链表中的每个元素,为该子节点返回中心节点的第一跳中继节点;所述路由链表中的每个元素即中继节点,其内容包含节点ID、路由跳数以及路由频度信息,路由跳数为当前子节点选择此中继节点回到中心节点,需要经过的中继节点个数;路由频度信息为此中继节点的活跃程度,当中心节点选择了一条路径进行通信,如果通信成功,则路径中的每个节点,依次将其下游节点作为中继节点加入其路由链表,并将其路由频度信息增加1,同时,中心节点根据时间维度,定时将各节点的中继节点的频度信息减1,即路由频度信息随时间挥发;子节点的路由链表中的中继节点根据其路由跳数、路由频度信息进行综合排序:优先排列路由频度高的中继节点,路由频度相同的优先排列路由跳数少的中继节点,在选择路由路径时,将优先选择离链表头最近的中继节点。

2.
  根据权利要求1所述的一种高效动态自动维护的路由表结构,其特征是散列表的散列地址根据子节点地址叠加后取模获得,模值M为常数,根据中心节点支持的规模进行设置。

3.
  根据权利要求2所述的一种高效动态自动维护的路由表结构,其特征是在集抄系统中,子节点地址为6字节压缩BCD码,散列表地址:
MID=(ΣksAdd(k))%M.]]>

4.
  根据权利要求1所述的一种高效动态自动维护的路由表结构,其特征是散列表中的每个子节点,根据在散列表中的位置,对应一个唯一ID,由散列数组索引号+子节点位于散列表中的序号构成。

5.
  根据权利要求1所述的一种高效动态自动维护的路由表结构,其特征是中心节点根据时间维度,定时将各节点的中继节点的频度信息减1,所述定时为12小时。

6.
  一种高效动态自动维护的路由表管理方法,其特征是它包括路由路径查找、路由路径管理、路由路径动态维护三部分,其中:
路由路径查找过程包括:
S101,根据子节点地址查找散列表,查找失败则结束,查找成功进行S102;
S102,取路由链表第一个中继节点;
S103,从节点元素中取出子节点ID,判断是否对应散列表中的子节点,是则进行S104,否则取路由链表下一个中继节点并循环S103;
S104,子节点加入到选取路径中,判断路由链表是否为空,是则结束,否则返回S102;
路由路径管理过程包括:
S201,探索未知路由信息,获取一条通讯路径;
S202,以倒序的方式,从最后一个节点开始,依次将其通讯路径的下一个节点加入到其路由链表中,并更新路由跳数,递增路由频度信息,如果该节点已经存在于路由链表中,仅更新路由跳数和路由频度信息。
路由路径动态维护过程包括:
S301,从散列表中选定待维护子节点;
S302,从其路由链表中选择第i个中继节点,初始i=0;
S303,选取第i+1个中继节点,该中继节点为空则结束,不为空则进行S304;
S304,第i+1个中继节点与0~i个中继节点依次比较优先级:路由频度高者优先级高,若路由频度相同,则路由跳数少者优先级高;判断是否找到优先级低于其的中继节点,找到则进行S305,否则返回S303;
S305,将第i+1个中继节点插入优先级低于其的中继节点之前,并返回S303。

7.
  根据权利要求6所述的一种高效动态自动维护的路由表管理方法,其特征是路由路径查找过程中S101根据子节点地址查找散列表的具体步骤为:
S1011根据待通讯子节点地址计算散列表地址MID;
S1012取散列表第一个子节点,判断散列表是否为空,为空则结束;否则进行地址匹配,匹配成功则结束,否则取散列表下一个元素循环S1012。

8.
  根据权利要求6所述的一种高效动态自动维护的路由表管理方法,其特征是路由路径管理过程中S201获得一条通讯路径是中心节点空闲时,使用蚁群算法或遗传算法,探索未知路由信息以获得通讯路径。

说明书

一种高效动态自动维护的路由表结构及路由表管理方法
技术领域
本发明涉及在集中抄表系统中使用载波或微功率无线通讯时,载波或微功率无线通讯模块使用的一种高效动态自动维护的路由表管理方法,具体是一种高效动态自动维护的路由表结构及路由表管理方法。
背景技术
电力远程集中抄表系统(简称“集抄系统”)是基于计算机、通信技术为基础,对电能表进行数据采集、传输和处理的大型信息系统,它是抄表方式的一种技术进步,可以提高抄表及时率、降低人工抄表差错率、发现用电异常及时报警、同时抄收台区总表可进行线损计算分析。集抄系统由通信网络、系统主站、集中器、采集终端四部分组成。随着科学技术日新月异的发展,通信已经成为整个系统的重要组成部分。按照系统的构成,通信信道可分为上行和下行,常见的通信方式有:PSTN有线电话网、GPRS无线、光纤通信方式、无线组网及低压电力载波通信方式等。
随着全国范围电网大改造的展开,如何解决日益庞大的供电网络自动化管理问题已迫在眉睫。利用低压电力载波通信技术来传输用电数据,实现及时有效收集和统计,提高电力系统对供电质量监控能力和管理水平,是目前国内外公认的一个最佳方案。低压电力线是最为广泛的一种通讯媒介网络,采用合适技术充分用好这一现成的媒介,使低压电力线载波抄表系统达到实用化的需求,所产生的经济效益和生产效率是显而易见的。但由于低压电力网结构的复杂性以及电网特征的多变性,使得电力载波技术具有一定的局限性。近年来,随着无线通信技术的发展,采用无线组网通信方式,在一定程度上弥补电力载波技术的不足。近年来,电力载波通信和微功率无线通信,在电力集抄领域,都有着长足的应用。
不论下行使用载波通信或者微功率无线通信方式,受限于直接点对点的通 信距离,要完成一个配变台区的数据采集,通常供电台区末端的电表,需要通过多级中继,才能采集成功。由于电网环境的多变性,仅靠单一路由路径,很难使得台区抄表成功率达到100%,对任意一个台区节点,必须能灵活快速从多条路由路径选取路径,并且路由表要能根据现场运行情况,动态维护更新,方能使抄表成功率上一个台阶。那么在嵌入式系统,有限的资源条件下,实现中心节点的路由表高效管理,显得尤为重要。
发明内容
本发明的目的是针对集中系统中,下行使用载波通讯或微功率无线通讯方式时,路由表有效路径少、查找速度慢、动态维护更新困难等问题,提出一种高效动态自动维护的路由表结构及路由表管理方法。
本发明的技术方案是:
一种高效动态自动维护的路由表结构,中心节点路由表的数据结构由散列表和路由链表构成,所述路由链表为有序双向链表,散列表中的每个子节点维护一个路由链表,该子节点自身为路由链表头节点,路由链表中的每个元素,为该子节点返回中心节点的第一跳中继节点;所述路由链表中的每个元素即中继节点,其内容包含节点ID、路由跳数以及路由频度信息,路由跳数定义为当前子节点选择此中继节点回到中心节点,需要经过的中继节点个数,路由跳数越少表示路径越短;路由频度信息定义为此中继节点的活跃程度,路由频度越高表示通信成功率越高,当中心节点选择了一条路径进行通信,如果通信成功,则路径中的每个节点,依次将其下游节点作为中继节点加入其路由链表,并将其路由频度信息增加1,同时,中心节点根据时间维度,定时将各节点的中继节点的频度信息减1,即路由频度信息随时间挥发;子节点的路由链表中的中继节点根据其路由跳数、路由频度信息进行综合排序:优先排列路由频度高的中继节点,路由频度相同的优先排列路由跳数少的中继节点,在选择路由路径时,将优先选择离链表头最近的中继节点。
散列表的散列地址根据子节点地址叠加后取模获得,模值M为常数,根据 中心节点支持的规模进行设置。
在集抄系统中,子节点地址为6字节压缩BCD码,散列表地址:
MID=(ΣksAdd(k))%M.]]>
散列表中的每个子节点,根据在散列表中的位置,对应一个唯一ID,由散列数组索引号+子节点位于散列表中的序号构成。
中心节点根据时间维度,定时将各节点的中继节点的频度信息减1,所述定时为12小时。
一种高效动态自动维护的路由表管理方法,它包括路由路径查找、路由路径管理、路由路径动态维护三部分,其中:
路由路径查找过程包括:
S101,根据子节点地址查找散列表,查找失败则结束,查找成功进行S102;
S102,取路由链表第一个中继节点;
S103,从节点元素中取出子节点ID,判断是否对应散列表中的子节点,是则进行S104,否则取路由链表下一个中继节点并循环S103;
S104,子节点加入到选取路径中,判断路由链表是否为空,是则结束,否则返回S102;
路由路径管理过程包括:
S201,探索未知路由信息,获取一条通讯路径;
S202,以倒序的方式,从最后一个节点开始,依次将其通讯路径的下一个节点加入到其路由链表中,并更新路由跳数,递增路由频度信息,如果该节点已经存在于路由链表中,仅更新路由跳数和路由频度信息。
路由路径动态维护过程包括:
S301,从散列表中选定待维护子节点;
S302,从其路由链表中选择第i个中继节点,初始i=0;
S303,选取第i+1个中继节点,该中继节点为空则结束,不为空则进行S304;
S304,第i+1个中继节点与0~i个中继节点依次比较优先级:路由频度高者优先级高,若路由频度相同,则路由跳数少者优先级高;判断是否找到优先级低于其的中继节点,找到则进行S305,否则返回S303;
S305,将第i+1个中继节点插入优先级低于其的中继节点之前,并返回S303。
路由路径查找过程中S101根据子节点地址查找散列表的具体步骤为:
S1011根据待通讯子节点地址计算散列表地址MID;
S1012取散列表第一个子节点,判断散列表是否为空,为空则结束;否则进行地址匹配,匹配成功则结束,否则取散列表下一个元素循环S1012。
路由路径管理过程中S201获得一条通讯路径是中心节点空闲时,使用蚁群算法或遗传算法,探索未知路由信息以获得通讯路径。
本发明的有益效果:
本发明的方法不限于载波路由或微功率无线通信的路由管理,兼顾了嵌入式系统资源有限的前提,同时满足路由表的快速查找、路由描述信息无冗余,大量节省存储空间,并且可以动态自动维护更新,具有很高的应用推广价值。
本发明提出的路由表管理方法,由路由路径查找、路由路径管理(增加、删除)、路由路径动态维护三部分构成,简单、高效。本方法充分考虑了在中心节点出现任何路径异常情况下的自动恢复(修复),充分展现了高效、高可靠的特点。同时,该方法具有高度抽象性,与具体通信方式无关,可适应宽带载波、窄带载波或微功率无线通信,是一种较通用的路由表管理方法,可以适用于不同的嵌入式系统数据通信领域,具有很高的实用性及推广价值。
附图说明
图1是路由表结构框图。
图2是中继节点结构图。
图3是子节点ID结构图。
图4是根据子节点地址查找散列表流程图。
图5是路由路径查找流程图。
图6是路由路径更新流程图。
图7是路由表自动维护流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的说明。
如图1-3所示,一种高效动态自动维护的路由表结构,中心节点路由表的数据结构由散列表和路由链表构成,所述路由链表为有序双向链表,散列表中的每个子节点维护一个路由链表,该子节点自身为路由链表头节点,路由链表中的每个元素,为该子节点返回中心节点的第一跳中继节点;所述路由链表中的每个元素即中继节点,其内容包含节点ID、路由跳数以及路由频度信息,路由跳数定义为当前子节点选择此中继节点回到中心节点,需要经过的中继节点个数(跳数为2,表示当前子节点选择此中继节点回到中心节点,需要经过2个中继节点);路由频度信息定义为此中继节点的活跃程度(为一动态信息),当中心节点选择了一条路径进行通信,如果通信成功,则路径中的每个节点,依次将其下游节点作为中继节点加入其路由链表,并将其路由频度信息增加1,同时,中心节点根据时间维度,定时将各节点的中继节点的频度信息减1,即路由频度信息随时间挥发;如果一个子节点长时间未能与其路由链表中的某中继节点通信,那么该中继节点的路由频度信息将降为0,在后续路径选择中,此中继节点的优先级将靠后;子节点的路由链表中的中继节点根据其路由跳数、路由频度信息进行综合排序:优先排列路由频度高的中继节点,路由频度相同的优先排列路由跳数少的中继节点,在选择路由路径时,将优先选择离链表头最近的中继节点。
在优选的实施例中,散列表的散列地址根据子节点地址叠加后取模获得,模值M为常数,根据中心节点支持的规模进行设置。具有相同散列表地址的子 节点,将位于同一个散列表中。
在集抄系统中,子节点地址为6字节压缩BCD码,散列表地址:
MID=(ΣksAdd(k))%M.]]>
在优选的实施例中,散列表中的每个子节点,根据在散列表中的位置,对应一个唯一ID,由散列数组索引号+子节点位于散列表中的序号构成。如0304,表示第3个散列表第4顺序位。
每个子节点仅管理自己返回中心节点第一跳的中继节点,整个路由表的冗余信息几乎为0,路由路径的选择,根据排列组合,将有无限多种可能,并且不占用任何额外的存储空间。
一种高效动态自动维护的路由表管理方法,它包括路由路径查找、路由路径管理、路由路径动态维护三部分。
结合图5,路由路径查找过程是中心节点准备通信时,将根据待访问的子节点地址,根据散列地址运算规则,计算得到散列地址,并在对应的散列表中查找对应的子节点,找到该子节点后,选择最优的路由路径,该子节点的路由链表的第一个中继节点即为最优中继节点,再根据此中继节点,找到其位于散列表中的子节点,依次类推,直到能回到中心节点,一条路由路径选择完毕。通信成功后,将再次更新各节点的双向链表信息。包括:
S101,根据子节点地址查找散列表,查找失败则结束,查找成功进行S102;
S102,取路由链表第一个中继节点;
S103,从节点元素中取出子节点ID,判断是否对应散列表中的子节点,是则进行S104,否则取路由链表下一个中继节点并循环S103;
S104,子节点加入到选取路径中,判断路由链表是否为空,是则结束,否则返回S102。
结合图4,路由路径查找过程中S101根据子节点地址查找散列表的具体步 骤为:
S1011根据待通讯子节点地址计算散列表地址MID;
S1012取散列表第一个子节点,判断散列表是否为空,为空则结束;否则进行地址匹配,匹配成功则结束,否则取散列表下一个元素循环S1012。
结合图6,路由路径管理过程是中心节点空闲时,使用蚁群算法或遗传算法,探索未知路由信息,当获取到一条路由路径时,采用倒序的方式,从最后一个节点开始,依次将其路由路径中的下一个节点,加入到其路由链表中,并更新路由跳数,递增路由频度信息,如果该节点已经存在于链表中,仅更新路由跳数和路由频度信息。包括:
S201,探索未知路由信息,获取一条通讯路径;
S202,以倒序的方式,从最后一个节点开始,依次将其通讯路径的下一个节点加入到其路由链表中,并更新路由跳数,递增路由频度信息,如果该节点已经存在于路由链表中,仅更新路由跳数和路由频度信息。
结合图7,路由路径动态维护过程是中心节点定时维护路由表,根据各中继节点的路由跳数和路由频度信息进行排序,同时可设定最大路由层数,将超过最大层数并且综合排序最后的节点进行淘汰,保证整个路由表无冗余信息以及路由信息的高效及高可靠性,达到路由表动态自动维护的目标。包括:
S301,从散列表中选定待维护子节点;
S302,从其路由链表中选择第i个中继节点,初始i=0;
S303,选取第i+1个中继节点,该中继节点为空则结束,不为空则进行S304;
S304,第i+1个中继节点与0~i个中继节点依次比较优先级:路由频度高者优先级高,若路由频度相同,则路由跳数少者优先级高;判断是否找到优先级低于其的中继节点,找到则进行S305,否则返回S303;
S305,将第i+1个中继节点插入优先级低于其的中继节点之前,并返回S303。
下面结合具体实例进行说明:
假设中心节点最大支持节点数2040,散列数组M取值100,中心节点中将建立100个散列数组,理论上,每个散列表包含的节点数约20个。
中继链表中的中继节点数据结构可设计为一32位整形,高16为节点ID,中间8位为路由跳数,低8位标识路由频度信息。
路由表建立过程如下:
假设中心节点路由探测时,搜寻到一条路径,从中心节点到末端节点经过的节点地址依次是:000123000024,000123000025,000123000026,000123000027。
根据散列地址的计算规则,四个节点的ID分别是:
000123000024ID=(0x01+0x23+0x24)%100=7200;
000123000025ID=(0x01+0x23+0x25)%100=7300;
000123000026ID=(0x01+0x23+0x26)%100=7400;
000123000027ID=(0x01+0x23+0x27)%100=7500;
其中,72、73、74、75为散列数组序号,后两位为当前结点位于散列表的序号。
7500节点,其下一跳的节点为7400,路由跳数为3,路由频度信息1,则中继节点完整信息描述为:74000301,7500节点的第一个中继节点即为74000301,依次类推,7400的第一个中继节点为73000201。
路由路径选择过程如下:
以上述已经建立的路由表为基础,假设中心节点当前需要跟000123000026节点通信,首先,计算该节点的散列地址,得到散列地址为74,再到此散列表中查找该节点,找到序号为0,即7400,接下来选择路由路径,7400最优的第一跳路径为73000201,再依次查找7300节点,其最优中继节点为72000101,再找到7200节点,7200节点无后续中继节点,查找结束,完整的路由路径为:中心节点->7200->7300->7400,完成通信。
路由表自动维护过程如下:
假设7500节点,拥有3个中继中继节点,分别为:74000305,73000201,76000401,通过7400节点,回到中心节点,需要经过3跳,路由活跃度为5,经过7300节点回中心节点,需要经过2跳,路由活跃度为1,经过7600回到中心节点,将经过4跳,活跃度为1;中心节点优先选择活跃度高的节点,那么7400节点将排最高优先级;显然,7300要优于7600,活跃度相同的情况下,优先选择路径短的节点,排序完成,排序最末端的中继节点,连续三天持续位于中继优先级末端,将视为无效中继,作删除处理,自此完成路由动态维护。
本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。

一种高效动态自动维护的路由表结构及路由表管理方法.pdf_第1页
第1页 / 共14页
一种高效动态自动维护的路由表结构及路由表管理方法.pdf_第2页
第2页 / 共14页
一种高效动态自动维护的路由表结构及路由表管理方法.pdf_第3页
第3页 / 共14页
点击查看更多>>
资源描述

《一种高效动态自动维护的路由表结构及路由表管理方法.pdf》由会员分享,可在线阅读,更多相关《一种高效动态自动维护的路由表结构及路由表管理方法.pdf(14页珍藏版)》请在专利查询网上搜索。

本发明公开了一种高效动态自动维护的路由表结构及路由表管理方法,用于集中抄表系统中载波或微功率无线通讯装置(设备)的中继路由表的管理。中心节点路由表的数据结构由散列表和有序双向链表构成,散列表的散列地址根据子节点地址叠加取模后得到;每个子节点根据存在于散列表中的位置对应一个唯一ID,每个子节点管理一个路由链表,链表中的元素为当前结点返回中心节点(集中器)的第一跳的节点ID,链表根据该节点回归中心节点。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1