CN104065572A - 一种智能抄表系统无线网络路由算法 - Google Patents
一种智能抄表系统无线网络路由算法 Download PDFInfo
- Publication number
- CN104065572A CN104065572A CN201410258788.6A CN201410258788A CN104065572A CN 104065572 A CN104065572 A CN 104065572A CN 201410258788 A CN201410258788 A CN 201410258788A CN 104065572 A CN104065572 A CN 104065572A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- node
- path
- dijkstra
- redundancy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Arrangements For Transmission Of Measured Signals (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及智能抄表、无线通讯领域,具体公开了一种智能抄表系统无线网络路由算法。本技术采用通过对无线通信网络的研究,分析了路由算法在网络通信性能方面的重要性,发明了一种冗余的路由分配算法。该算法结合Dijkstra算法,设计了一种适用于冗余路由分配的R-Dijkstra算法。R-Dijkstra算法把无线网络定义为一个非负权重的连通图,通过引入冗余度参数和路径优化目标,实现了传输路径选择。进一步给出了算法步骤和实现过程。应用实例表明,该算法能够满足无线智能抄表路由的要求。本技术具有可靠性高,计算量小,容易编程实现等优点。
Description
技术领域
本发明涉及无线传输技术、网络技术、路由技术,具体地说是一种智能抄表系统无线网络路由算法。
背景技术
随着控制、计算机、通信、网络等技术的发展,信息交换沟通的领域正在迅速覆盖从现场设备到各个控制领域,而兴起于本世纪初的工业无线技术引发了传统工业测控模式的重大变革,工业无线网络是从新兴的无线传感器网络发展而来的、具有低成本、低能耗、高度灵活性等特点。工业无线网络是一种面向设备间信息交互的无线通信技术,是对现有无线通信技术在工业应用方向上的功能扩展和提升,是降低工业测控系统成本、扩展应用范畴的革命性技术。工业无线网络技术改变了现有系统控制信息传递的方式。路由作为数据的传输和分发机制,是无线网络的一大核心任务,是不可或缺的。无线网络路由是一个非常活跃的研究领域,在这方面国内外学者提出了很多的解决方案。
目前,AODV(反应式路由协议)、OLSR(先应式路由协议)等主流的路由算法,大部分是采用的分布式协议,路由的计算选择过程由数据的发送或者转发者来承担,采用网络各个成员来选择路由和维护路由的策略。在一个无线智能抄表网络中,网络管理者负责节点路由和通信资源的分配管理,通过命令将路由信息发送到网络设备,是一种集中式路由配置方案,而不需要网络其他节点进行路由计算。此外,当前主要路由算法集中在单路径路由的研究,当路由路径上某个节点故障时,通信就要受到影响,也不符合无线抄表网络的要求。在实际应用中,网络节点之间无线通信往往受到周围环境电磁干扰、信号衰减、信号反射等不利因素影响,对无线传输的性能带来很大挑战。
Dijkstra算法是由荷兰计算机科学家Edsger Wybe Dijkstra提出的,在论领域有着广泛的应用,是经典的最短路径算法。Dijkstra算法的输入为一个非负权重的有向图G。在给定出某个发顶点的情况下,该算法能够找出出发顶点到图中其余顶点的最短距离。然而Dijkstra算法得出的结果是最短的距 离和路径,只有单一路径,不符合WirelessHART中图路由机制的要求,因此提出了基于Dijkstra算法搜索的冗余路径搜索算法R-Dijkstra算法。
因此,采用冗余路由,引入多路径路由机制,增强了数据传输的路径冗余,以确保数据可靠无误的传输,具有重大的意义。
发明内容
为了使无线抄表网络路由更可靠,本发明的目的是提供一种冗余的智能抄表系统无线网络路由算法。
为实现本发明的目的所采用的技术方案是:
一种智能抄表系统无线网络路由算法,采用吸收了Dijkstra算法思想的R-Dijkstra算法;
所述R-Dijkstra算法以Dijkstra算法为核心搜索算法,通过引入冗余度参数r,实现了路由路径的冗余;
根据冗余度参数r,对待加入节点汇报的邻居进行选择,然后对将每个选出的邻居作为出发顶点,分别采用Dijkstra算法进行对目的节点搜索,得出每条路径后,最后将待加入节点分别添加到每条路径的起点上,这样就得出了冗余度r的路由路径,这些路径都是待加入节点到目的节点冗余的目标代价最小的路由。
冗余度参数r,表示每个节点在路由转发数据时候可选择的邻居个数为r个;
网络可以用一个有向图模型G=(V,E)来表达,其中V表示网络中节点的集合,E为有向边集合;网络中每两个节点之间的链接可以赋予权值w(i,j),表示由节点i到节点j的链接权值;w(i,j)具体值的计算可以根据链路质量、带宽多个指标计算获得;将两节点之间是否直接链接作为w(i,j)取值依据,有链接的邻居之间的权值都为1,否则为无穷大;根据节点加入时汇报邻居信息,然后采用R-Dijkstra算法,得出待加入节点的路由信息。
所述路径都是待加入节点到目的节点冗余的目标代价最小的路由,目标代价可以考虑传输跳数、信号质量、节点能量以及负载等因素的共同作用;从路由实时性考虑,在本算法中采用跳数作为目标代价。
算法的复杂度结论如下;
Dijkstra算法的复杂度主要在两个循环中,因此Dijkstra算法的复杂度为O(n2);R-Dijkstra算法在Dijkstra算法基础上引入了冗余度参数r,以 Dijkstra算法为基础,进行了r次循环;因此,R-Dijkstra算法的复杂度为O(r×n2);
由于通常情况下r≥2,但n相对较大,则有r<<n,冗余度参数对算法复杂度的影响不是很严重。
R-Dijkstra算法步骤如下;
步骤1:在r个邻居节点中,选择一个未被选择过的节点作为出发顶点S,目的顶点为T,距离数组D用来表示S到其余各节点的传输跳数,路径记录数组为Path,其中D[i]表示S到节点i的最短距离,Path[i]表示S到节点i最短路径需要经过的节点;
步骤2:根据w(i,j)的值,初始化D、Path的值;
步骤3:从数组D中选择值最小的且未被选择过的顶点X,作为中间节点,其中X≠S,X≠T;
步骤4:令Z∈V且Z≠S,Z≠X,则数组D中S到Z的距离值为D[Z],其中D的值用D[Z]_new来更新,按照以下策略:
D[Z]_new=min(D[Z],D[X]+w(i,j))
如果发生D[Z]值发生变化,则相应的Path[Z]做路径记录,Path[Z]=X,表示S到Z的最短路径需要经过中间节点X,即S到X再到Z;
步骤5:重复步骤3、步骤4,直到所有D中的顶点都被选择过;这时,所获得的矩阵D中的值就是从S顶点出发到网络中其余各点的最短距离,目的节点为T,找出Path[T]中记录节点,将其输出,然后将Path[T]中的结点作为新的目的节点赋给T,按照该操作方法,依次循环逆向输出Path[T]中记录的节点,直到不能取出新的目的节点T,然后输出起始节点S,最后将上述输出内容反序,该路径就是S到T最短路径;
步骤6:如果r个邻居都已经被选择过,则算法结束,否则返回步骤(1)。
本发明的优点是:
1、本发明在吸收了Dijkstra算法的思想和方法步骤的基础上,针对路由的具体特点,满足无线网络路径冗余的要求,完成了智能无线抄表网络中路由路径分配任务,对于一般的无线网络路径冗余具有普适性。
作为工业无线网络的一项基础的支撑技术,路由对于无线网络节点可靠性的提高,对于降低网络整体丢包率具有重要意义。
2、本技术具有算法成熟,计算量小,易于实现等优点。采用自主研发 的CMC模块组网,验证了该技术的效果。
附图说明
图1是路由冗余示意图。
图2是R-Dijkstra算法流程图之一。
图3是R-Dijkstra算法效果图之二。
图4是R-Dijkstra算法效果图之三。
具体实施方式
下面结合附图图1-4对本发明作进一步详细说明。
为保证数据传输可靠性,在智能无线抄表系统中采用了冗余的路由机制。路由中的每一跳至少有两个路由选择,属于多径路由,所有的网络设备到目的节点的路径有多条。例如在图1的网络拓扑中,节点6要给节点3、节点4或者节点5发送数据,可以使用线1或者线2上所有的节点,都可以到达。
R-Dijkstra算法的的流程图如图2所示。图在计算机中的存储有邻接矩阵、邻接表、十字链表等多种方式。为了图路由操作方便和节省空间,本算法数据结构吸收了邻接表的思想,采用链表的形式来表示网络拓扑和图路由参考邻居。整个拓扑由图节点链表构成,图节点中对应的参考邻居信息。其中,参考邻居信息为参考邻居链表的头结点指针。据结构类型如下:
网络节点的数据结构类型如下:
参考邻居的数据结构类型如下:
若网络中有n个节点,则距离数组D、路径记录数组Path设计为n维的数组,如果S到节点i不需要绕行其他节点,则Path[i]置为NULL。
算法实现过程如下:
其中,算法的两个子函数的实现如下所示:
为了验证算法的效果,选取了一个一般情况下智能无线抄表应用场景,该网络拓扑如图3左侧所示。其中节点1是网关节点,节点2-7为已经在网的设备节点,它们要向节点1传输测量数据和状态信息。当某时刻,新的设备节点8要加入网络,在冗余度参数r为2的情况下,选取节点6和节点7为邻居节点,经过R-Dijkstra算法运算,得出两条路径的结果为8->6->4->1,8->7->5->1,,如图3右侧所示。R-Dijkstra算法在保证路径冗余的同时,实现了以跳数为指标的路径最优,该算法得出的结果较好的满足了智能无线抄表系统的要求。
Claims (5)
1.一种智能抄表系统无线网络路由算法,其特征在于:
采用吸收了Dijkstra算法思想的R-Dijkstra算法;
所述R-Dijkstra算法以Dijkstra算法为核心搜索算法,通过引入冗余度参数r,实现了路由路径的冗余;
根据冗余度参数r,对待加入节点汇报的邻居进行选择,然后对将每个选出的邻居作为出发顶点,分别采用Dijkstra算法进行对目的节点搜索,得出每条路径后,最后将待加入节点分别添加到每条路径的起点上,这样就得出了冗余度r的路由路径,这些路径都是待加入节点到目的节点冗余的目标代价最小的路由。
2.按照权利要求1所述一种智能抄表系统无线网络路由算法,其特征在于:
冗余度参数r,表示每个节点在路由转发数据时候可选择的邻居个数为r个;
网络可以用一个有向图模型G=(V,E)来表达,其中V表示网络中节点的集合,E为有向边集合;网络中每两个节点之间的链接可以赋予权值w(i,j),表示由节点i到节点j的链接权值;w(i,j)具体值的计算可以根据链路质量、带宽多个指标计算获得;将两节点之间是否直接链接作为w(i,j)取值依据,有链接的邻居之间的权值都为1,否则为无穷大;根据节点加入时汇报邻居信息,然后采用R-Dijkstra算法,得出待加入节点的路由信息。
3.按照权利要求1所述的一种智能抄表系统无线网络路由算法,其特征在于:
所述路径都是待加入节点到目的节点冗余的目标代价最小的路由,目标代价可以考虑传输跳数、信号质量、节点能量以及负载等因素的共同作用;从路由实时性考虑,在本算法中采用跳数作为目标代价。
4.按照权利要求1的所述一种智能抄表系统无线网络路由算法,其特征在于:算法的复杂度结论如下;
Dijkstra算法的复杂度主要在两个循环中,因此Dijkstra算法的复杂度为O(n2);R-Dijkstra算法在Dijkstra算法基础上引入了冗余度参数r,以Dijkstra算法为基础,进行了r次循环;因此,R-Dijkstra算法的复杂度为O(r×n2);
由于通常情况下r≥2,但n相对较大,则有r<<n,冗余度参数对算法复杂度的影响不是很严重。
5.按照权利要求1所述一种智能抄表系统无线网络路由算法,其特征在于:
R-Dijkstra算法步骤如下;
步骤1:在r个邻居节点中,选择一个未被选择过的节点作为出发顶点S,目的顶点为T,距离数组D用来表示S到其余各节点的传输跳数,路径记录数组为Path,其中D[i]表示S到节点i的最短距离,Path[i]表示S到节点i最短路径需要经过的节点;
步骤2:根据w(i,j)的值,初始化D、Path的值;
步骤3:从数组D中选择值最小的且未被选择过的顶点X,作为中间节点,其中X≠S,X≠T;
步骤4:令Z∈V且Z≠S,Z≠X,则数组D中S到Z的距离值为D[Z],其中D的值用D[Z]_new来更新,按照以下策略:
D[Z]_new=min(D[Z],D[X]+w(i,j))
如果发生D[Z]值发生变化,则相应的Path[Z]做路径记录,Path[Z]=X,表示S到Z的最短路径需要经过中间节点X,即S到X再到Z;
步骤5:重复步骤3、步骤4,直到所有D中的顶点都被选择过;这时,所获得的矩阵D中的值就是从S顶点出发到网络中其余各点的最短距离,目的节点为T,找出Path[T]中记录节点,将其输出,然后将Path[T]中的结点作为新的目的节点赋给T,按照该操作方法,依次循环逆向输出Path[T]中记录的节点,直到不能取出新的目的节点T,然后输出起始节点S,最后将上述输出内容反序,该路径就是S到T最短路径;
步骤6:如果r个邻居都已经被选择过,则算法结束,否则返回步骤(1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410258788.6A CN104065572A (zh) | 2014-06-11 | 2014-06-11 | 一种智能抄表系统无线网络路由算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410258788.6A CN104065572A (zh) | 2014-06-11 | 2014-06-11 | 一种智能抄表系统无线网络路由算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104065572A true CN104065572A (zh) | 2014-09-24 |
Family
ID=51553110
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410258788.6A Pending CN104065572A (zh) | 2014-06-11 | 2014-06-11 | 一种智能抄表系统无线网络路由算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104065572A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105517092A (zh) * | 2015-12-15 | 2016-04-20 | 珠海中慧微电子股份有限公司 | 可自动调整抄表路径的抄表方法 |
CN108271168A (zh) * | 2018-01-25 | 2018-07-10 | 鲁东大学 | 一种基于Dijkstra方法的无线传感器网络覆盖优化算法 |
-
2014
- 2014-06-11 CN CN201410258788.6A patent/CN104065572A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105517092A (zh) * | 2015-12-15 | 2016-04-20 | 珠海中慧微电子股份有限公司 | 可自动调整抄表路径的抄表方法 |
CN105517092B (zh) * | 2015-12-15 | 2019-01-25 | 珠海中慧微电子股份有限公司 | 可自动调整抄表路径的抄表方法 |
CN108271168A (zh) * | 2018-01-25 | 2018-07-10 | 鲁东大学 | 一种基于Dijkstra方法的无线传感器网络覆盖优化算法 |
CN108271168B (zh) * | 2018-01-25 | 2021-09-17 | 鲁东大学 | 一种基于Dijkstra算法的无线传感器网络覆盖优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106375231B (zh) | 一种流量切换方法、设备及系统 | |
CN105450555B (zh) | 一种片上网络系统,及片上网络通信链路的建立方法 | |
CN103916220B (zh) | 一种基于极化码的网络编码协作通信方法 | |
CN104320341B (zh) | 路由自适应异步2D‑Torus片上网络系统及其设计方法 | |
CN107294852A (zh) | 一种使用拓扑分散短路径集的网络路由方法 | |
CN104883304B (zh) | 用于部分纠缠量子对桥接通信网络的路由方法 | |
CN104871490A (zh) | 能够改进能量使用效率的多径通信装置及其用于改进能量使用效率的业务分配方法 | |
CN107302396B (zh) | 基于混合策略的动态星间网络路由规划方法 | |
CN114844812B (zh) | 一种面向主动网络遥感的低时延低开销路径部署方法 | |
CN104580165A (zh) | 智慧协同网络中的一种协作缓存方法 | |
CN109861925A (zh) | 数据传输方法、相关装置及网络 | |
CN106900174A (zh) | 无线局域网网状网络的数据传输方法、装置及系统 | |
CN103532861A (zh) | 基于生成树的域内动态多路径生成方法 | |
CN104065572A (zh) | 一种智能抄表系统无线网络路由算法 | |
JP2014049851A (ja) | ネットワークトポロジの推定方法及びトポロジ推定装置 | |
CN104053208A (zh) | 无线自组网中基于信道分配的路由方法、装置 | |
CN104244423B (zh) | 基于无线传感器网络多路径传输的时隙调度算法 | |
Wei et al. | CACC: A context-aware congestion control approach in smartphone networks | |
CN108667749A (zh) | 数据调度方法及装置 | |
CN103312603B (zh) | 网络拥塞信息传输方法和装置 | |
CN103298053B (zh) | 基于多源AS最大连通度的覆盖网Relay选择方法 | |
CN113203940B (zh) | 3D NoC测试规划中的并行测试方法 | |
CN108832995A (zh) | 基于动态规划的无人机协同消息传输方法 | |
CN103702370A (zh) | ZigBee网状拓扑路由方法 | |
CN107707471A (zh) | 基于大规模sdn的最小化转发链路数的节能方案 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140924 |
|
WD01 | Invention patent application deemed withdrawn after publication |