中心计算的无线传感器网络2-不相交路径路由算法的制作方法

文档序号:7856268阅读:365来源:国知局
专利名称:中心计算的无线传感器网络2-不相交路径路由算法的制作方法
技术领域
本发明涉及一种中心计算的无线传感器网络2-不相交路径路由算法。
背景技术
在无线传感器网络中,相比于单路径路由机制,多路径路由机制在提高网络可靠性、均衡负载、容错恢复等方面具有明显的优势。但是,在多路径路由中,从源节点到目的节点的多条路径中可能含有公共节点(链路),公共节点(链路)的失效会造成通过其的多条路径的失败。为了避免公共节点(链路)的出现,研究人员提出了不相交多路径机制。Preetha Thulasiraman等人提出了一种分布式的2_不相交路由算法,该算法首先在网络中构建红树和绿树两棵颜色树,通过路径增长的方式是从sink节点出发以深度优先搜索的方式建立从各个节点到sink节点的两条不相交路径。算法能够满足两条路径的不相交约束,但算法建立的路径长度较长,且不能避免超长路径的存在,同时算法中控制 信息的广播会导致较多的能量消耗。类似地,还可首先对sink节点的直接邻居标识不同的颜色,然后通过颜色标识广播寻找颜色标识相遇的节点,从而建立源节点到sink节点的k-不相交路径,算法的时间复杂度仅为O(L) (L为网络中的边数),但该算法仍无法对路径进行有效地优化。此外有人提出了基于地理位置信息的不相交路径路由算法,这两种算法同样是分布式算法,它们的不足之处在于每个节点都必须获知自身和其邻居节点的地理位置信息,且同样无法获取源节点到目标节点的最优不相交多路径。在MPR (multipath routing,多路径路由)算法中,DMPR(disjoint multipath!■outing,不相交多路径路由)算法具有更高的可靠性和容错性。DMPR算法面临的主要挑战有两点一是不相交路径的选优问题,二是在不相交路径上数据包的传输问题。

发明内容
本发明的目的就是为解决上述问题,针对某些工业应用(例如矿井环境监测)中网络拓扑比较稳定,sink节点运算和存储能力较强等特点,提出了一种中心计算的无线传感器网络2-不相交路径路由算法,针对中心计算方式对链路状态变化的反应迟缓问题,采用了一种中心调度的自适应路径维护机制,提高了路径维护的灵活性;数据包仅需携带路径比特序列,同时无需任何控制开销。为实现上述目的,本发明的技术方案如下一种中心计算的无线传感器网络2-不相交路径路由算法,它以跳数和链路质量作为度量,利用全网信息计算出从源节点到sink节点的近似最优2-节点不相交路径,然后生成仅包含主节点、辅节点和路径比特序列的微路由表并下传到每个节点;它的步骤为第一步,收集节点邻居信息,创建并初始化邻接矩阵Ma、父节点矩阵Mf、逻辑梯度矩阵Mn、路径矩阵Mp以及路径度量矩阵Mpw ;其中,Ma根据收集上来的邻居信息初始化该矩阵,如果节点i是节点j的邻居则该矩阵的第i行第j列元素为节点i到节点j的链路质量值,如果节点i不是节点j的邻居则该元素最大值255 ;Mf该矩阵的元素全部初始化为255 ;表示开始节点之间不存在父子关系;逻辑梯度矩阵Mn是nX I矩阵,n为网络中除sink外所有节点的个数;矩阵中元素代表节点到sink节点的逻辑梯度值,初始化为最大值255 ;路径矩阵Mp是nXHTL矩阵,n为网络中除sink外所有节点的个数;HTL为网络中允许最大跳数,第i行第j列元素代表节点i到sink节点的路径中第j跳节点;路径度量矩阵Mpw SnXl矩阵,n为网络中除sink外所有节点的个数;矩阵中的元素是节点i到sink节点的路径度量值,根据邻居信息初始化该矩阵,若sink节点是节点i的邻居则初始化为节点i到sink节点的链路质量值,否则则初始化为 255 ; 第二步,计算两条不相交路径;利用CCDMPR算法在全局父结点矩阵Mf对应的逻辑图上通过贪婪路径跟踪算法建立所有节点到sink节点的不相交主路径,然后使用带退避集合的下一跳竞争算法生成所有节点到sink节点的不相交辅路径;第三步,生成基于主父节点、辅父节点对和路径比特序列的微路由表机制,在所有节点的2-不相交路径计算完成之后,sink节点将计算生成的路径下传到各个节点;第四步,向除sink节点外的所有节点下发节点路径信息;第五步,进行路径的更新维护。所述第一步中,收集节点邻居信息的过程为在网络中还未建立不相交路径时,网络以泛洪方式收集节点邻居信息;网络中的节点将打包好的邻居信息以广播方式广播给自己的邻居节点,如果节点接收到其他节点Origineaddr发送的rreq数据包,则首先根据Flag属性和Seqnum属性判断是否接收该rreq数据包,如果接收过该rreq数据包则丢弃该数据包,如果未接收过则向除了Origineaddr节点之外的其他邻居节点广播该rreq数据包,这样有效的避免网络中出现环路减少数据冗余;最后直到sink节点接收到rreq数据包停止;当网络中建立了不相交路径,节点的rreq数据包按照建立的最优路径发送到sink节点,Sink节点接收到rreq数据包后,解析该数据包得到邻居节点以及相应的链路质量值通过串口发送给PC机,PC机根据接收到数据包将邻居信息暂时存放在数据库的邻居信息表中。所述第一步中,全局父节点矩阵Mf的建立过程如下I),通过广度优先搜索算法在Ma上建立到sink节点的逻辑梯度;sink节点的逻辑梯度记为0,和sink节点直接相邻的节点的逻辑梯度置为1,和梯度为i的节点直接相邻的节点的梯度置为i+1,依次搜索,直到每个节点都获得逻辑梯度;2)每一个非叶子节点都以自身为根,以逻辑梯度等于或小于自身逻辑梯度的邻居节点为直接儿子建立一棵逻辑二层树;3)将相应的树结构存储于全局父结点矩阵Mf中,存储方式为若节点i属于以节点j为根的逻辑二层树,则令(Mf)u = (Ma) 否则(Mf)u = 255。所述第二步中,不相交主路径生成的生成过程为路径度量矩阵MPW,Mplq为nX I矩阵,n为网络中除sink外所有节点的个数,(Mplq)1表示节点i到sink节点的路径的PLQ值,采用贪婪路径跟踪算法来生成最优路径,并同时计算路径包含的所有链路的LQ之和,称之为PLQ ;生成的最优路径作为不相交路径的主路径存储于主路径矩阵Mriter中,对应的PLQ值存储于路径度量矩阵Mpw中,Trace Greedy (M1,. Mpiu)I)置集合 S= {L, 2,3…n},置(Mplq)。=0;若(Mf)i0<255,令(Mplq)尸(Mf) i0, NEXT [i] =0,(M^ster)a = 0 ;若(Mf) i0=255,令(Mplq)i= , NEXT [i] =-1. 2)令(Mplq) J=Hiin { (Mplq) i; i G S}, S=S- {j},W )n =,然后转 4);
3)对所有 i G S,若存在(Mf) ^<255,则令(Mplq) ^min { (Mplq) i; (Mplq) , (Mf) jJ,NEXt [i] = j,然后转 2);4)令 k=2,r = {MfiSter )JX; whiIe(T > 0)认 + +; r 二 NEXT[T]; (Mfster) jk = r};若 S 为空集则算法结束,否则转3);该算法产生所有节点到sink节点的最优主路径的时间复杂度为0(n2),并且算法的运行过程保证产生的路径不存在环路。所述不相交辅路径生成的生成方法为采用带退避集合的下一跳竞争算法,计算所有节点的最优辅路径的时间复杂度为0(n2),每一个节点将所有主路径中包含的节点竞争选择PLQ最小的候选节点作为下一跳,直到到达sink节点为止;将所有当前辅路径经过的节点也加入AvoidSet,①NHC—NodeDisjomUA/,,,W , M~y )对于每一个索引为i的源节点I)置集合 S= {l,2,3...n),将所有矣 1)>0 加入退避节点集 AvoidSet,然后令 S = S-AvoidSt, k = I, u = i.2)令(Mplq) v = min{ (Mplq)丄,I G S 且 Ful < 255},令(Mf=v,S = S-{v\ .3)若v=0,则算法结束,否则令k = k+1, u = v,转2);②NHC—LinkDisjoint ( Mf,Mfs1er,Mfwdary )对于每一个索引为i的源节点I)置集合 S = {1,2,3…n},对所有令e = (Mplmta )fJ,f = (Mpastei )(-0+1),将边 <e, f> 对加入退避链路集 AvoidSet,然后令 k = l,u =i ;2 )令(mPlqK = min((Mrag),,/ g SEJ^nl < 255且 < u,l >0 AvoidSet),令(Mspeconda'% =v,同时将边 <e, f> 加入 AvoidSet ;3)若v=0,则算法结束,否则令k = k+1, u = v,转2)。所述第三步中,微路由表包含五个域ID表示微路由表所属节点标识,Primarynode域存储当前节点在主路径上的父节点,Secondary node存储当前节点在辅路径上的父节点,Primary path bit series 域存储主路径比特序列,Secondary path bit series 存储辅路径比特序列,比特序列的每一位代表每一跳的父节点选择,用0表示主父节点,I表示辅父节点;当源节点选择将数据包沿主或辅路径向sink节点传输时,源节点在产生的数据包头部加上自己的主或辅路径比特序列和序列指针,初始时序列指针为1,沿其主或辅路径向sink节点传输;中间节点接收到数据包后,首先解析数据包头,将序列指针加1,并读取当前序列指针指示的路径比特序列中比特元素值,比特元素值为0时向其主父节点传输,为I时向其辅父节点传输。所述第四步中,以sink节点为起点按照节点的逻辑梯度的增加依次下发节点的路径信息,只要是接收到路径信息的节点就建立稳定的网络,即使全局网络中还存在没有接收到路径信息的节点也不会影响由接收到的路径信息的节点建立起的稳定局部网络;PC机根据邻居信息计算出两条不相交路径,将节点的路径信息以及基站到达该节点的反向路由打包成rrep下发给目的节点。rrep下发过程中节点接收到rrep首先判断该节点是不是目的节点,不是则按照rrep中的数组path存放的反向路由信息继续下发直到到达目的节点。 所述第五步中,当算法完成不相交路径的生成后,记录每个节点到达基站的主路径度量值和辅路径度量值Zft—,基站再次收到节点发送的rreq数据包时,再次使用算法计算出路径度量矩阵MPW,得到每个节点当前的主路径度量值和辅路径度量值
当路径状态满足式(6)或式(7)时该节点的路径状态达到更新条件;其中,式(8)、(9)、(10)、(11)用以 计算PLQllm1er、PLQfd'PflQ^PLQf为前一次网络主路径链路质量值、PIOT"—为前一次网络辅路径链路质量值、为当前网络主路径的链路质量值、凡泛―为当前网络辅路径的链路质量值、入为局部更新阈值U>0),APLQfcsto取为当前网络主路径的链路质量增量,APLQMaste>X表明只有当链路质量降低量超过阈值时,才触发更新,其它情况无需更新;A PLQs—〃取为当前网络辅路径链路质量增量的绝对值,ALQSecondaty>A表示链路质量变化量即降低量或提高量超过阈值时,都要触发维护;当计算
得到的结果满足更新条件时,下发更新所有节点的路径信息更新网络,APLOMas,a' =PLQflasrer -PLO^ >A(6)^lAPLObaomhry' = \pLQfea,a,,m^ - PLQt°mk"y\> 2.U)PLQltattar =YjLQt^'(8)PLQfm = YiLO^coujun(9)
K=IPiofaw' =^LQf(10)
K=IPLQf—=玄段广一(—11)。
^=I本发明的有益效果是采用中心计算方式的CCDMPR算法,算法能够生成源节点到sink节点的近似最优2-节点(链路)不相交路径,从而能够显著降低平均路径长度,并提高路径的可靠性。算法采用的微路由表能够大大降低节点的存储和通信开销;中心调度的自适应的路径维护机制显著提高了路由维护的灵活性;在数据路由时,数据包仅需携带路径比特序列,无需任何控制消息开销。本算法适用于网络拓扑比较稳定且sink节点运算和存储能力较强的应用场景O


图Ia为逻辑嵌套二层树;图Ib为对应的嵌套集合;图2为微路由表格式;图3为数据包格式和路径比特序列;图4为系统工作流程;
图5为泛洪网络拓扑结构;图6为不相交路径算法流程图;图7为生成比特序列流程图;图8为节点处理rrep数据包流程图;图9真实实验的数据包传输成功率。
具体实施例方式下面结合附图与实施例对本发明做进一步说明。本发明的工作原理如下I.邻居信息的收集1.1 rreq数据包格式

权利要求
1.ー种中心计算的无线传感器网络2-不相交路径路由算法,其特征是,它以跳数和链路质量作为度量,利用全网信息计算出从源节点到sink节点的近似最优2-节点不相交路径,然后生成仅包含主节点、辅节点和路径比特序列的微路由表并下传到每个节点;它的步骤为 第一歩,收集节点邻居信息,创建并初始化邻接矩阵Ma、父节点矩阵Mf、逻辑梯度矩阵Mn、路径矩阵Mp以及路径度量矩阵Mpw ;其中, Ma根据收集上来的邻居信息初始化该矩阵,如果节点i是节点j的邻居则该矩阵的第i行第j列元素为节点i到节点j的链路质量值,如果节点i不是节点j的邻居则该元素最大值255 ; Mf该矩阵的元素全部初始化为255 ;表示开始节点之间不存在父子关系; 逻辑梯度矩阵Mn是nX I矩阵,n为网络中除sink外所有节点的个数;矩阵中元素代表节点到sink节点的逻辑梯度值,初始化为最大值255 ; 路径矩阵Mp是n X HTL矩阵,n为网络中除sink外所有节点的个数;HTL为网络中允许最大跳数,第i行第j列元素代表节点i到sink节点的路径中第j跳节点; 路径度量矩阵Mpw为nX I矩阵,n为网络中除sink外所有节点的个数; 矩阵中的元素是节点i到sink节点的路径度量值,根据邻居信息初始化该矩阵,若sink节点是节点i的邻居则初始化为节点i到sink节点的链路质量值,否则则初始化为255 ; 第二步,计算两条不相交路径;利用CCDMPR算法在全局父结点矩阵Mf对应的逻辑图上通过贪婪路径跟踪算法建立所有节点到sink节点的不相交主路径,然后使用带退避集合的下一跳竞争算法生成所有节点到sink节点的不相交辅路径; 第三步,生成基于主父节点、辅父节点对和路径比特序列的微路由表机制,在所有节点的2-不相交路径计算完成之后,sink节点将计算生成的路径下传到各个节点; 第四歩,向除sink节点外的所有节点下发节点路径信息; 第五步,进行路径的更新维护。
2.如权利要求I所述的中心计算的无线传感器网络2-不相交路径路由算法,其特征是,所述第一歩中,收集节点邻居信息的过程为 在网络中还未建立不相交路径吋,网络已泛洪方式收集节点邻居信息;网络中的节点将打包好的邻居信息以广播方式广播给自己的邻居节点,如果节点接收到其他节点Origineaddr发送的rreq数据包,则首先根据Flag属性和Seqnum属性判断是否接收该rreq数据包,如果接收过该rreq数据包则丢弃该数据包,如果未接收过则向除了Origineaddr节点之外的其他邻居节点广播该rreq数据包,这样避免网络中出现环路,减少数据冗余;最后直到sink节点接收到rreq数据包停止; 当网络中建立了不相交路径,节点的rreq数据包按照建立的最优路径发送到sink节点,Sink节点接收到rreq数据包后,解析该数据包得到邻居节点以及相应的链路质量值通过串ロ发送给PC机,PC机根据接收到数据包将邻居信息暂时存放在数据库的邻居信息表中。
3.如权利要求I所述的中心计算的无线传感器网络2-不相交路径路由算法,其特征是,所述第一歩中,全局父节点矩阵Mf的建立过程如下1)通过广度优先搜索算法在Ma上建立到sink节点的逻辑梯度;sink节点的逻辑梯度记为O,和sink节点直接相邻的节点的逻辑梯度置为1,和梯度为i的节点直接相邻的节点的梯度置为i+Ι,依次捜索,直到每个节点都获得逻辑梯度; 2)每ー个非叶子节点都以自身为根,以逻辑梯度等于或小于自身逻辑梯度的邻居节点为直接儿子建立一棵逻辑ニ层树; 3)将相应的树结构存储于全局父结点矩阵Mf中,存储方式为若节点i属于以节点j为根的逻辑ニ层树,则令(Mf)u = (Ma)1/否则(Mf)u = 255。
4.如权利要求I所述的中心计算的无线传感器网络2-不相交路径路由算法,其特征是,所述第二步中,不相交主路径生成的生成过程为 路径度量矩阵Miw Mplq为nX I矩阵,η为网络中除sink外所有节点的个数,(Mplq) i表示节点i到sink节点的路径的PLQ值,采用贪婪路径跟踪算法来生成最优路径,并同时计算路径包含的所有链路的LQ之和,称之为PLQ ;生成的最优路径作为不相交路径的主路径存储于主路径矩阵中,对应的PLQ值存储于路径度量矩阵Mpm中, Trace—Greedy(ルん..,M^J1)置集合S= {1,2,3··· η},置(Mplq)0=O;若(MF)iQ〈255,令(Mplq)尸(Mf) iQ,NEXT[i]=0,(M^aster)n =0;若(Mf) iQ=255,令(厘則)尸°0 ,NEXT [i] =-1. 2)令(Mpよ=π η{(ΜΡΜ)”i e S},S=S-{j}然后转 4); 3)对所有ie S,若存在(Mf)^ < 255,则令(MpLQ)i = min{ (Mplq) i; (Mplq) j+(Mf) ^, NEXT [i] = j,然后转 2);4)令k = 2,T = (M,如)/; ''.vhi!e(T > 0)\k + +:T = N1:XT\T\W ) jk =I1 若 S 为空集则算法结束,否则转3); 该算法产生所有节点到sink节点的最优主路径的时间复杂度为Of (η2),并且算法的运行过程保证产生的路径不存在环路。
5.如权利要求I所述的中心计算的无线传感器网络2-不相交路径路由算法,其特征是,所述不相交辅路径生成的生成方法为 采用带退避集合的下一跳竞争算法,计算所有节点的最优辅路径的时间复杂度为O (η2),每ー个节点将所有主路径中包含的节点竞争选择PLQ最小的候选节点作为下ー跳,直到到达sink节点为止;将所有当前辅路径经过的节点也加入AvoidSet,
6.如权利要求I所述的中心计算的无线传感器网络2-不相交路径路由算法,其特征是,所述第三步中,微路由表包含五个域ID表示微路由表所属节点标识,Primary node域存储当前节点在主路径上的父节点,Secondary node存储当前节点在辅路径上的父节点,Primary path bit series 域存储主路径比特序列,Secondary path bit series存储辅路 径比特序列,比特序列的每一位代表每ー跳的父节点选择,用0表示主父节点,I表示辅父节点; 当源节点选择将数据包沿主或辅路径向sink节点传输时,源节点在产生的数据包头部加上自己的主或辅路径比特序列和序列指针,初始时序列指针为1,沿其主或辅路径向sink节点传输; 中间节点接收到数据包后,首先解析数据包头,将序列指针加1,并读取当前序列指针指示的路径比特序列中比特元素值,比特元素值为0时向其主父节点传输,为I时向其辅父节点传输。
7.如权利要求I所述的中心计算的无线传感器网络2-不相交路径路由算法,其特征是,所述第四步中,以sink节点为起点按照节点的逻辑梯度的増加依次下发节点的路径信息,只要是接收到路径信息的节点就建立稳定的网络,即使全局网络中还存在没有接收到路径信息的节点也不会影响由接收到的路径信息的节点建立起的稳定局部网络; PC机根据邻居信息计算出两条不相交路径,将节点的路径信息以及基站到达该节点的反向路由打包成rrep下发给目的节点。rrep下发过程中节点接收到rrep首先判断该节点是不是目的节点,不是则按照rrep中的数组path存放的反向路由信息继续下发直到到达目的节点。
8.如权利要求I所述的中心计算的无线传感器网络2-不相交路径路由算法,其特征是,所述第五步中,当算法完成不相交路径的生成后,记录每个节点到达基站的主路径度量值和辅路径度量值LOf—,基站再次收到节点发送的rreq数据包时,再次使用算法计算出路径度量矩阵MPW,得到每个节点当前的主路径度量值和辅路径度量值iO"—,当路径状态满足式(6)或式(7)时该节点的路径状态达到更新条件; 其中,式(8)、(9)、(10)、(11)用以计算、PLQfj' PLQfiaster > pLQfPLQf^为前一次网络主路径链路质量值、凡0广—为前一次网络辅路径链路质量值、凡&—为当前网络主路径的链路质量值、Wgf-为当前网络辅路径的链路质量值、\为局部更新阈值ひ>0),A PLQsiastelr取为当前网络主路径的链路质量増量,A PLQMastOT> X表明只有当链路质量降低量超过阈值吋,才触发更新,其它情况无需更新;APLQSe_toy取为当前网络辅路径链路质量增量的绝对值,ALQs-1^X表示链路质量变化量即降低量或提高量超过阈值时,都要触发维护;当计算得到的结果满足更新条件时,下发更新所有节点的路径信息更新网络, APLQMm,er = PLQfaster -PLQf > A(6)
全文摘要
本发明涉及一种中心计算的无线传感器网络2-不相交路径路由算法,采用中心调度的自适应路径维护机制,提高路径维护的灵活性;数据路由时数据包仅需携带路径比特序列,同时无需任何控制开销。它以跳数和链路质量作为度量,利用全网信息计算出从源节点到sink节点的近似最优2-节点不相交路径,然后生成仅包含主节点、辅节点和路径比特序列的微路由表并下传到每个节点。
文档编号H04W40/02GK102740394SQ20121025129
公开日2012年10月17日 申请日期2012年7月19日 优先权日2012年7月19日
发明者于玉杰, 于磊磊, 陈冬岩 申请人:济南普赛通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1