亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

中心計(jì)算的無(wú)線傳感器網(wǎng)絡(luò)2-不相交路徑路由算法的制作方法

文檔序號(hào):7856268閱讀:447來(lái)源:國(guó)知局
專利名稱:中心計(jì)算的無(wú)線傳感器網(wǎng)絡(luò)2-不相交路徑路由算法的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種中心計(jì)算的無(wú)線傳感器網(wǎng)絡(luò)2-不相交路徑路由算法。
背景技術(shù)
在無(wú)線傳感器網(wǎng)絡(luò)中,相比于單路徑路由機(jī)制,多路徑路由機(jī)制在提高網(wǎng)絡(luò)可靠性、均衡負(fù)載、容錯(cuò)恢復(fù)等方面具有明顯的優(yōu)勢(shì)。但是,在多路徑路由中,從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的多條路徑中可能含有公共節(jié)點(diǎn)(鏈路),公共節(jié)點(diǎn)(鏈路)的失效會(huì)造成通過(guò)其的多條路徑的失敗。為了避免公共節(jié)點(diǎn)(鏈路)的出現(xiàn),研究人員提出了不相交多路徑機(jī)制。Preetha Thulasiraman等人提出了一種分布式的2_不相交路由算法,該算法首先在網(wǎng)絡(luò)中構(gòu)建紅樹(shù)和綠樹(shù)兩棵顏色樹(shù),通過(guò)路徑增長(zhǎng)的方式是從sink節(jié)點(diǎn)出發(fā)以深度優(yōu)先搜索的方式建立從各個(gè)節(jié)點(diǎn)到sink節(jié)點(diǎn)的兩條不相交路徑。算法能夠滿足兩條路徑的不相交約束,但算法建立的路徑長(zhǎng)度較長(zhǎng),且不能避免超長(zhǎng)路徑的存在,同時(shí)算法中控制 信息的廣播會(huì)導(dǎo)致較多的能量消耗。類似地,還可首先對(duì)sink節(jié)點(diǎn)的直接鄰居標(biāo)識(shí)不同的顏色,然后通過(guò)顏色標(biāo)識(shí)廣播尋找顏色標(biāo)識(shí)相遇的節(jié)點(diǎn),從而建立源節(jié)點(diǎn)到sink節(jié)點(diǎn)的k-不相交路徑,算法的時(shí)間復(fù)雜度僅為O(L) (L為網(wǎng)絡(luò)中的邊數(shù)),但該算法仍無(wú)法對(duì)路徑進(jìn)行有效地優(yōu)化。此外有人提出了基于地理位置信息的不相交路徑路由算法,這兩種算法同樣是分布式算法,它們的不足之處在于每個(gè)節(jié)點(diǎn)都必須獲知自身和其鄰居節(jié)點(diǎn)的地理位置信息,且同樣無(wú)法獲取源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的最優(yōu)不相交多路徑。在MPR (multipath routing,多路徑路由)算法中,DMPR(disjoint multipath!■outing,不相交多路徑路由)算法具有更高的可靠性和容錯(cuò)性。DMPR算法面臨的主要挑戰(zhàn)有兩點(diǎn)一是不相交路徑的選優(yōu)問(wèn)題,二是在不相交路徑上數(shù)據(jù)包的傳輸問(wèn)題。

發(fā)明內(nèi)容
本發(fā)明的目的就是為解決上述問(wèn)題,針對(duì)某些工業(yè)應(yīng)用(例如礦井環(huán)境監(jiān)測(cè))中網(wǎng)絡(luò)拓?fù)浔容^穩(wěn)定,sink節(jié)點(diǎn)運(yùn)算和存儲(chǔ)能力較強(qiáng)等特點(diǎn),提出了一種中心計(jì)算的無(wú)線傳感器網(wǎng)絡(luò)2-不相交路徑路由算法,針對(duì)中心計(jì)算方式對(duì)鏈路狀態(tài)變化的反應(yīng)遲緩問(wèn)題,采用了一種中心調(diào)度的自適應(yīng)路徑維護(hù)機(jī)制,提高了路徑維護(hù)的靈活性;數(shù)據(jù)包僅需攜帶路徑比特序列,同時(shí)無(wú)需任何控制開(kāi)銷(xiāo)。為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案如下一種中心計(jì)算的無(wú)線傳感器網(wǎng)絡(luò)2-不相交路徑路由算法,它以跳數(shù)和鏈路質(zhì)量作為度量,利用全網(wǎng)信息計(jì)算出從源節(jié)點(diǎn)到sink節(jié)點(diǎn)的近似最優(yōu)2-節(jié)點(diǎn)不相交路徑,然后生成僅包含主節(jié)點(diǎn)、輔節(jié)點(diǎn)和路徑比特序列的微路由表并下傳到每個(gè)節(jié)點(diǎn);它的步驟為第一步,收集節(jié)點(diǎn)鄰居信息,創(chuàng)建并初始化鄰接矩陣Ma、父節(jié)點(diǎn)矩陣Mf、邏輯梯度矩陣Mn、路徑矩陣Mp以及路徑度量矩陣Mpw ;其中,Ma根據(jù)收集上來(lái)的鄰居信息初始化該矩陣,如果節(jié)點(diǎn)i是節(jié)點(diǎn)j的鄰居則該矩陣的第i行第j列元素為節(jié)點(diǎn)i到節(jié)點(diǎn)j的鏈路質(zhì)量值,如果節(jié)點(diǎn)i不是節(jié)點(diǎn)j的鄰居則該元素最大值255 ;Mf該矩陣的元素全部初始化為255 ;表示開(kāi)始節(jié)點(diǎn)之間不存在父子關(guān)系;邏輯梯度矩陣Mn是nX I矩陣,n為網(wǎng)絡(luò)中除sink外所有節(jié)點(diǎn)的個(gè)數(shù);矩陣中元素代表節(jié)點(diǎn)到sink節(jié)點(diǎn)的邏輯梯度值,初始化為最大值255 ;路徑矩陣Mp是nXHTL矩陣,n為網(wǎng)絡(luò)中除sink外所有節(jié)點(diǎn)的個(gè)數(shù);HTL為網(wǎng)絡(luò)中允許最大跳數(shù),第i行第j列元素代表節(jié)點(diǎn)i到sink節(jié)點(diǎn)的路徑中第j跳節(jié)點(diǎn);路徑度量矩陣Mpw SnXl矩陣,n為網(wǎng)絡(luò)中除sink外所有節(jié)點(diǎn)的個(gè)數(shù);矩陣中的元素是節(jié)點(diǎn)i到sink節(jié)點(diǎn)的路徑度量值,根據(jù)鄰居信息初始化該矩陣,若sink節(jié)點(diǎn)是節(jié)點(diǎn)i的鄰居則初始化為節(jié)點(diǎn)i到sink節(jié)點(diǎn)的鏈路質(zhì)量值,否則則初始化為 255 ; 第二步,計(jì)算兩條不相交路徑;利用CCDMPR算法在全局父結(jié)點(diǎn)矩陣Mf對(duì)應(yīng)的邏輯圖上通過(guò)貪婪路徑跟蹤算法建立所有節(jié)點(diǎn)到sink節(jié)點(diǎn)的不相交主路徑,然后使用帶退避集合的下一跳競(jìng)爭(zhēng)算法生成所有節(jié)點(diǎn)到sink節(jié)點(diǎn)的不相交輔路徑;第三步,生成基于主父節(jié)點(diǎn)、輔父節(jié)點(diǎn)對(duì)和路徑比特序列的微路由表機(jī)制,在所有節(jié)點(diǎn)的2-不相交路徑計(jì)算完成之后,sink節(jié)點(diǎn)將計(jì)算生成的路徑下傳到各個(gè)節(jié)點(diǎn);第四步,向除sink節(jié)點(diǎn)外的所有節(jié)點(diǎn)下發(fā)節(jié)點(diǎn)路徑信息;第五步,進(jìn)行路徑的更新維護(hù)。所述第一步中,收集節(jié)點(diǎn)鄰居信息的過(guò)程為在網(wǎng)絡(luò)中還未建立不相交路徑時(shí),網(wǎng)絡(luò)以泛洪方式收集節(jié)點(diǎn)鄰居信息;網(wǎng)絡(luò)中的節(jié)點(diǎn)將打包好的鄰居信息以廣播方式廣播給自己的鄰居節(jié)點(diǎn),如果節(jié)點(diǎn)接收到其他節(jié)點(diǎn)Origineaddr發(fā)送的rreq數(shù)據(jù)包,則首先根據(jù)Flag屬性和Seqnum屬性判斷是否接收該rreq數(shù)據(jù)包,如果接收過(guò)該rreq數(shù)據(jù)包則丟棄該數(shù)據(jù)包,如果未接收過(guò)則向除了Origineaddr節(jié)點(diǎn)之外的其他鄰居節(jié)點(diǎn)廣播該rreq數(shù)據(jù)包,這樣有效的避免網(wǎng)絡(luò)中出現(xiàn)環(huán)路減少數(shù)據(jù)冗余;最后直到sink節(jié)點(diǎn)接收到rreq數(shù)據(jù)包停止;當(dāng)網(wǎng)絡(luò)中建立了不相交路徑,節(jié)點(diǎn)的rreq數(shù)據(jù)包按照建立的最優(yōu)路徑發(fā)送到sink節(jié)點(diǎn),Sink節(jié)點(diǎn)接收到rreq數(shù)據(jù)包后,解析該數(shù)據(jù)包得到鄰居節(jié)點(diǎn)以及相應(yīng)的鏈路質(zhì)量值通過(guò)串口發(fā)送給PC機(jī),PC機(jī)根據(jù)接收到數(shù)據(jù)包將鄰居信息暫時(shí)存放在數(shù)據(jù)庫(kù)的鄰居信息表中。所述第一步中,全局父節(jié)點(diǎn)矩陣Mf的建立過(guò)程如下I),通過(guò)廣度優(yōu)先搜索算法在Ma上建立到sink節(jié)點(diǎn)的邏輯梯度;sink節(jié)點(diǎn)的邏輯梯度記為0,和sink節(jié)點(diǎn)直接相鄰的節(jié)點(diǎn)的邏輯梯度置為1,和梯度為i的節(jié)點(diǎn)直接相鄰的節(jié)點(diǎn)的梯度置為i+1,依次搜索,直到每個(gè)節(jié)點(diǎn)都獲得邏輯梯度;2)每一個(gè)非葉子節(jié)點(diǎn)都以自身為根,以邏輯梯度等于或小于自身邏輯梯度的鄰居節(jié)點(diǎn)為直接兒子建立一棵邏輯二層樹(shù);3)將相應(yīng)的樹(shù)結(jié)構(gòu)存儲(chǔ)于全局父結(jié)點(diǎn)矩陣Mf中,存儲(chǔ)方式為若節(jié)點(diǎn)i屬于以節(jié)點(diǎn)j為根的邏輯二層樹(shù),則令(Mf)u = (Ma) 否則(Mf)u = 255。所述第二步中,不相交主路徑生成的生成過(guò)程為路徑度量矩陣MPW,Mplq為nX I矩陣,n為網(wǎng)絡(luò)中除sink外所有節(jié)點(diǎn)的個(gè)數(shù),(Mplq)1表示節(jié)點(diǎn)i到sink節(jié)點(diǎn)的路徑的PLQ值,采用貪婪路徑跟蹤算法來(lái)生成最優(yōu)路徑,并同時(shí)計(jì)算路徑包含的所有鏈路的LQ之和,稱之為PLQ ;生成的最優(yōu)路徑作為不相交路徑的主路徑存儲(chǔ)于主路徑矩陣Mriter中,對(duì)應(yīng)的PLQ值存儲(chǔ)于路徑度量矩陣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 =,然后轉(zhuǎn) 4);
3)對(duì)所有 i G S,若存在(Mf) ^<255,則令(Mplq) ^min { (Mplq) i; (Mplq) , (Mf) jJ,NEXt [i] = j,然后轉(zhuǎn) 2);4)令 k=2,r = {MfiSter )JX; whiIe(T > 0)認(rèn) + +; r 二 NEXT[T]; (Mfster) jk = r};若 S 為空集則算法結(jié)束,否則轉(zhuǎn)3);該算法產(chǎn)生所有節(jié)點(diǎn)到sink節(jié)點(diǎn)的最優(yōu)主路徑的時(shí)間復(fù)雜度為0(n2),并且算法的運(yùn)行過(guò)程保證產(chǎn)生的路徑不存在環(huán)路。所述不相交輔路徑生成的生成方法為采用帶退避集合的下一跳競(jìng)爭(zhēng)算法,計(jì)算所有節(jié)點(diǎn)的最優(yōu)輔路徑的時(shí)間復(fù)雜度為0(n2),每一個(gè)節(jié)點(diǎn)將所有主路徑中包含的節(jié)點(diǎn)競(jìng)爭(zhēng)選擇PLQ最小的候選節(jié)點(diǎn)作為下一跳,直到到達(dá)sink節(jié)點(diǎn)為止;將所有當(dāng)前輔路徑經(jīng)過(guò)的節(jié)點(diǎn)也加入AvoidSet,①NHC—NodeDisjomUA/,,,W , M~y )對(duì)于每一個(gè)索引為i的源節(jié)點(diǎn)I)置集合 S= {l,2,3...n),將所有矣 1)>0 加入退避節(jié)點(diǎn)集 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,則算法結(jié)束,否則令k = k+1, u = v,轉(zhuǎn)2);②NHC—LinkDisjoint ( Mf,Mfs1er,Mfwdary )對(duì)于每一個(gè)索引為i的源節(jié)點(diǎn)I)置集合 S = {1,2,3…n},對(duì)所有令e = (Mplmta )fJ,f = (Mpastei )(-0+1),將邊 <e, f> 對(duì)加入退避鏈路集 AvoidSet,然后令 k = l,u =i ;2 )令(mPlqK = min((Mrag),,/ g SEJ^nl < 255且 < u,l >0 AvoidSet),令(Mspeconda'% =v,同時(shí)將邊 <e, f> 加入 AvoidSet ;3)若v=0,則算法結(jié)束,否則令k = k+1, u = v,轉(zhuǎn)2)。所述第三步中,微路由表包含五個(gè)域ID表示微路由表所屬節(jié)點(diǎn)標(biāo)識(shí),Primarynode域存儲(chǔ)當(dāng)前節(jié)點(diǎn)在主路徑上的父節(jié)點(diǎn),Secondary node存儲(chǔ)當(dāng)前節(jié)點(diǎn)在輔路徑上的父節(jié)點(diǎn),Primary path bit series 域存儲(chǔ)主路徑比特序列,Secondary path bit series 存儲(chǔ)輔路徑比特序列,比特序列的每一位代表每一跳的父節(jié)點(diǎn)選擇,用0表示主父節(jié)點(diǎn),I表示輔父節(jié)點(diǎn);當(dāng)源節(jié)點(diǎn)選擇將數(shù)據(jù)包沿主或輔路徑向sink節(jié)點(diǎn)傳輸時(shí),源節(jié)點(diǎn)在產(chǎn)生的數(shù)據(jù)包頭部加上自己的主或輔路徑比特序列和序列指針,初始時(shí)序列指針為1,沿其主或輔路徑向sink節(jié)點(diǎn)傳輸;中間節(jié)點(diǎn)接收到數(shù)據(jù)包后,首先解析數(shù)據(jù)包頭,將序列指針加1,并讀取當(dāng)前序列指針指示的路徑比特序列中比特元素值,比特元素值為0時(shí)向其主父節(jié)點(diǎn)傳輸,為I時(shí)向其輔父節(jié)點(diǎn)傳輸。所述第四步中,以sink節(jié)點(diǎn)為起點(diǎn)按照節(jié)點(diǎn)的邏輯梯度的增加依次下發(fā)節(jié)點(diǎn)的路徑信息,只要是接收到路徑信息的節(jié)點(diǎn)就建立穩(wěn)定的網(wǎng)絡(luò),即使全局網(wǎng)絡(luò)中還存在沒(méi)有接收到路徑信息的節(jié)點(diǎn)也不會(huì)影響由接收到的路徑信息的節(jié)點(diǎn)建立起的穩(wěn)定局部網(wǎng)絡(luò);PC機(jī)根據(jù)鄰居信息計(jì)算出兩條不相交路徑,將節(jié)點(diǎn)的路徑信息以及基站到達(dá)該節(jié)點(diǎn)的反向路由打包成rrep下發(fā)給目的節(jié)點(diǎn)。rrep下發(fā)過(guò)程中節(jié)點(diǎn)接收到rrep首先判斷該節(jié)點(diǎn)是不是目的節(jié)點(diǎn),不是則按照rrep中的數(shù)組path存放的反向路由信息繼續(xù)下發(fā)直到到達(dá)目的節(jié)點(diǎn)。 所述第五步中,當(dāng)算法完成不相交路徑的生成后,記錄每個(gè)節(jié)點(diǎn)到達(dá)基站的主路徑度量值和輔路徑度量值Zft—,基站再次收到節(jié)點(diǎn)發(fā)送的rreq數(shù)據(jù)包時(shí),再次使用算法計(jì)算出路徑度量矩陣MPW,得到每個(gè)節(jié)點(diǎn)當(dāng)前的主路徑度量值和輔路徑度量值
當(dāng)路徑狀態(tài)滿足式(6)或式(7)時(shí)該節(jié)點(diǎn)的路徑狀態(tài)達(dá)到更新條件;其中,式(8)、(9)、(10)、(11)用以 計(jì)算PLQllm1er、PLQfd'PflQ^PLQf為前一次網(wǎng)絡(luò)主路徑鏈路質(zhì)量值、PIOT"—為前一次網(wǎng)絡(luò)輔路徑鏈路質(zhì)量值、為當(dāng)前網(wǎng)絡(luò)主路徑的鏈路質(zhì)量值、凡泛―為當(dāng)前網(wǎng)絡(luò)輔路徑的鏈路質(zhì)量值、入為局部更新閾值U>0),APLQfcsto取為當(dāng)前網(wǎng)絡(luò)主路徑的鏈路質(zhì)量增量,APLQMaste>X表明只有當(dāng)鏈路質(zhì)量降低量超過(guò)閾值時(shí),才觸發(fā)更新,其它情況無(wú)需更新;A PLQs—〃取為當(dāng)前網(wǎng)絡(luò)輔路徑鏈路質(zhì)量增量的絕對(duì)值,ALQSecondaty>A表示鏈路質(zhì)量變化量即降低量或提高量超過(guò)閾值時(shí),都要觸發(fā)維護(hù);當(dāng)計(jì)算
得到的結(jié)果滿足更新條件時(shí),下發(fā)更新所有節(jié)點(diǎn)的路徑信息更新網(wǎng)絡(luò),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本發(fā)明的有益效果是采用中心計(jì)算方式的CCDMPR算法,算法能夠生成源節(jié)點(diǎn)到sink節(jié)點(diǎn)的近似最優(yōu)2-節(jié)點(diǎn)(鏈路)不相交路徑,從而能夠顯著降低平均路徑長(zhǎng)度,并提高路徑的可靠性。算法采用的微路由表能夠大大降低節(jié)點(diǎn)的存儲(chǔ)和通信開(kāi)銷(xiāo);中心調(diào)度的自適應(yīng)的路徑維護(hù)機(jī)制顯著提高了路由維護(hù)的靈活性;在數(shù)據(jù)路由時(shí),數(shù)據(jù)包僅需攜帶路徑比特序列,無(wú)需任何控制消息開(kāi)銷(xiāo)。本算法適用于網(wǎng)絡(luò)拓?fù)浔容^穩(wěn)定且sink節(jié)點(diǎn)運(yùn)算和存儲(chǔ)能力較強(qiáng)的應(yīng)用場(chǎng)景O


圖Ia為邏輯嵌套二層樹(shù);圖Ib為對(duì)應(yīng)的嵌套集合;圖2為微路由表格式;圖3為數(shù)據(jù)包格式和路徑比特序列;圖4為系統(tǒng)工作流程;
圖5為泛洪網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);圖6為不相交路徑算法流程圖;圖7為生成比特序列流程圖;圖8為節(jié)點(diǎn)處理rrep數(shù)據(jù)包流程圖;圖9真實(shí)實(shí)驗(yàn)的數(shù)據(jù)包傳輸成功率。
具體實(shí)施例方式下面結(jié)合附圖與實(shí)施例對(duì)本發(fā)明做進(jìn)一步說(shuō)明。本發(fā)明的工作原理如下I.鄰居信息的收集1.1 rreq數(shù)據(jù)包格式

權(quán)利要求
1.ー種中心計(jì)算的無(wú)線傳感器網(wǎng)絡(luò)2-不相交路徑路由算法,其特征是,它以跳數(shù)和鏈路質(zhì)量作為度量,利用全網(wǎng)信息計(jì)算出從源節(jié)點(diǎn)到sink節(jié)點(diǎn)的近似最優(yōu)2-節(jié)點(diǎn)不相交路徑,然后生成僅包含主節(jié)點(diǎn)、輔節(jié)點(diǎn)和路徑比特序列的微路由表并下傳到每個(gè)節(jié)點(diǎn);它的步驟為 第一歩,收集節(jié)點(diǎn)鄰居信息,創(chuàng)建并初始化鄰接矩陣Ma、父節(jié)點(diǎn)矩陣Mf、邏輯梯度矩陣Mn、路徑矩陣Mp以及路徑度量矩陣Mpw ;其中, Ma根據(jù)收集上來(lái)的鄰居信息初始化該矩陣,如果節(jié)點(diǎn)i是節(jié)點(diǎn)j的鄰居則該矩陣的第i行第j列元素為節(jié)點(diǎn)i到節(jié)點(diǎn)j的鏈路質(zhì)量值,如果節(jié)點(diǎn)i不是節(jié)點(diǎn)j的鄰居則該元素最大值255 ; Mf該矩陣的元素全部初始化為255 ;表示開(kāi)始節(jié)點(diǎn)之間不存在父子關(guān)系; 邏輯梯度矩陣Mn是nX I矩陣,n為網(wǎng)絡(luò)中除sink外所有節(jié)點(diǎn)的個(gè)數(shù);矩陣中元素代表節(jié)點(diǎn)到sink節(jié)點(diǎn)的邏輯梯度值,初始化為最大值255 ; 路徑矩陣Mp是n X HTL矩陣,n為網(wǎng)絡(luò)中除sink外所有節(jié)點(diǎn)的個(gè)數(shù);HTL為網(wǎng)絡(luò)中允許最大跳數(shù),第i行第j列元素代表節(jié)點(diǎn)i到sink節(jié)點(diǎn)的路徑中第j跳節(jié)點(diǎn); 路徑度量矩陣Mpw為nX I矩陣,n為網(wǎng)絡(luò)中除sink外所有節(jié)點(diǎn)的個(gè)數(shù); 矩陣中的元素是節(jié)點(diǎn)i到sink節(jié)點(diǎn)的路徑度量值,根據(jù)鄰居信息初始化該矩陣,若sink節(jié)點(diǎn)是節(jié)點(diǎn)i的鄰居則初始化為節(jié)點(diǎn)i到sink節(jié)點(diǎn)的鏈路質(zhì)量值,否則則初始化為255 ; 第二步,計(jì)算兩條不相交路徑;利用CCDMPR算法在全局父結(jié)點(diǎn)矩陣Mf對(duì)應(yīng)的邏輯圖上通過(guò)貪婪路徑跟蹤算法建立所有節(jié)點(diǎn)到sink節(jié)點(diǎn)的不相交主路徑,然后使用帶退避集合的下一跳競(jìng)爭(zhēng)算法生成所有節(jié)點(diǎn)到sink節(jié)點(diǎn)的不相交輔路徑; 第三步,生成基于主父節(jié)點(diǎn)、輔父節(jié)點(diǎn)對(duì)和路徑比特序列的微路由表機(jī)制,在所有節(jié)點(diǎn)的2-不相交路徑計(jì)算完成之后,sink節(jié)點(diǎn)將計(jì)算生成的路徑下傳到各個(gè)節(jié)點(diǎn); 第四歩,向除sink節(jié)點(diǎn)外的所有節(jié)點(diǎn)下發(fā)節(jié)點(diǎn)路徑信息; 第五步,進(jìn)行路徑的更新維護(hù)。
2.如權(quán)利要求I所述的中心計(jì)算的無(wú)線傳感器網(wǎng)絡(luò)2-不相交路徑路由算法,其特征是,所述第一歩中,收集節(jié)點(diǎn)鄰居信息的過(guò)程為 在網(wǎng)絡(luò)中還未建立不相交路徑吋,網(wǎng)絡(luò)已泛洪方式收集節(jié)點(diǎn)鄰居信息;網(wǎng)絡(luò)中的節(jié)點(diǎn)將打包好的鄰居信息以廣播方式廣播給自己的鄰居節(jié)點(diǎn),如果節(jié)點(diǎn)接收到其他節(jié)點(diǎn)Origineaddr發(fā)送的rreq數(shù)據(jù)包,則首先根據(jù)Flag屬性和Seqnum屬性判斷是否接收該rreq數(shù)據(jù)包,如果接收過(guò)該rreq數(shù)據(jù)包則丟棄該數(shù)據(jù)包,如果未接收過(guò)則向除了Origineaddr節(jié)點(diǎn)之外的其他鄰居節(jié)點(diǎn)廣播該rreq數(shù)據(jù)包,這樣避免網(wǎng)絡(luò)中出現(xiàn)環(huán)路,減少數(shù)據(jù)冗余;最后直到sink節(jié)點(diǎn)接收到rreq數(shù)據(jù)包停止; 當(dāng)網(wǎng)絡(luò)中建立了不相交路徑,節(jié)點(diǎn)的rreq數(shù)據(jù)包按照建立的最優(yōu)路徑發(fā)送到sink節(jié)點(diǎn),Sink節(jié)點(diǎn)接收到rreq數(shù)據(jù)包后,解析該數(shù)據(jù)包得到鄰居節(jié)點(diǎn)以及相應(yīng)的鏈路質(zhì)量值通過(guò)串ロ發(fā)送給PC機(jī),PC機(jī)根據(jù)接收到數(shù)據(jù)包將鄰居信息暫時(shí)存放在數(shù)據(jù)庫(kù)的鄰居信息表中。
3.如權(quán)利要求I所述的中心計(jì)算的無(wú)線傳感器網(wǎng)絡(luò)2-不相交路徑路由算法,其特征是,所述第一歩中,全局父節(jié)點(diǎn)矩陣Mf的建立過(guò)程如下1)通過(guò)廣度優(yōu)先搜索算法在Ma上建立到sink節(jié)點(diǎn)的邏輯梯度;sink節(jié)點(diǎn)的邏輯梯度記為O,和sink節(jié)點(diǎn)直接相鄰的節(jié)點(diǎn)的邏輯梯度置為1,和梯度為i的節(jié)點(diǎn)直接相鄰的節(jié)點(diǎn)的梯度置為i+Ι,依次捜索,直到每個(gè)節(jié)點(diǎn)都獲得邏輯梯度; 2)每ー個(gè)非葉子節(jié)點(diǎn)都以自身為根,以邏輯梯度等于或小于自身邏輯梯度的鄰居節(jié)點(diǎn)為直接兒子建立一棵邏輯ニ層樹(shù); 3)將相應(yīng)的樹(shù)結(jié)構(gòu)存儲(chǔ)于全局父結(jié)點(diǎn)矩陣Mf中,存儲(chǔ)方式為若節(jié)點(diǎn)i屬于以節(jié)點(diǎn)j為根的邏輯ニ層樹(shù),則令(Mf)u = (Ma)1/否則(Mf)u = 255。
4.如權(quán)利要求I所述的中心計(jì)算的無(wú)線傳感器網(wǎng)絡(luò)2-不相交路徑路由算法,其特征是,所述第二步中,不相交主路徑生成的生成過(guò)程為 路徑度量矩陣Miw Mplq為nX I矩陣,η為網(wǎng)絡(luò)中除sink外所有節(jié)點(diǎn)的個(gè)數(shù),(Mplq) i表示節(jié)點(diǎn)i到sink節(jié)點(diǎn)的路徑的PLQ值,采用貪婪路徑跟蹤算法來(lái)生成最優(yōu)路徑,并同時(shí)計(jì)算路徑包含的所有鏈路的LQ之和,稱之為PLQ ;生成的最優(yōu)路徑作為不相交路徑的主路徑存儲(chǔ)于主路徑矩陣中,對(duì)應(yīng)的PLQ值存儲(chǔ)于路徑度量矩陣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}然后轉(zhuǎn) 4); 3)對(duì)所有ie S,若存在(Mf)^ < 255,則令(MpLQ)i = min{ (Mplq) i; (Mplq) j+(Mf) ^, NEXT [i] = j,然后轉(zhuǎn) 2);4)令k = 2,T = (M,如)/; ''.vhi!e(T > 0)\k + +:T = N1:XT\T\W ) jk =I1 若 S 為空集則算法結(jié)束,否則轉(zhuǎn)3); 該算法產(chǎn)生所有節(jié)點(diǎn)到sink節(jié)點(diǎn)的最優(yōu)主路徑的時(shí)間復(fù)雜度為Of (η2),并且算法的運(yùn)行過(guò)程保證產(chǎn)生的路徑不存在環(huán)路。
5.如權(quán)利要求I所述的中心計(jì)算的無(wú)線傳感器網(wǎng)絡(luò)2-不相交路徑路由算法,其特征是,所述不相交輔路徑生成的生成方法為 采用帶退避集合的下一跳競(jìng)爭(zhēng)算法,計(jì)算所有節(jié)點(diǎn)的最優(yōu)輔路徑的時(shí)間復(fù)雜度為O (η2),每ー個(gè)節(jié)點(diǎn)將所有主路徑中包含的節(jié)點(diǎn)競(jìng)爭(zhēng)選擇PLQ最小的候選節(jié)點(diǎn)作為下ー跳,直到到達(dá)sink節(jié)點(diǎn)為止;將所有當(dāng)前輔路徑經(jīng)過(guò)的節(jié)點(diǎn)也加入AvoidSet,
6.如權(quán)利要求I所述的中心計(jì)算的無(wú)線傳感器網(wǎng)絡(luò)2-不相交路徑路由算法,其特征是,所述第三步中,微路由表包含五個(gè)域ID表示微路由表所屬節(jié)點(diǎn)標(biāo)識(shí),Primary node域存儲(chǔ)當(dāng)前節(jié)點(diǎn)在主路徑上的父節(jié)點(diǎn),Secondary node存儲(chǔ)當(dāng)前節(jié)點(diǎn)在輔路徑上的父節(jié)點(diǎn),Primary path bit series 域存儲(chǔ)主路徑比特序列,Secondary path bit series存儲(chǔ)輔路 徑比特序列,比特序列的每一位代表每ー跳的父節(jié)點(diǎn)選擇,用0表示主父節(jié)點(diǎn),I表示輔父節(jié)點(diǎn); 當(dāng)源節(jié)點(diǎn)選擇將數(shù)據(jù)包沿主或輔路徑向sink節(jié)點(diǎn)傳輸時(shí),源節(jié)點(diǎn)在產(chǎn)生的數(shù)據(jù)包頭部加上自己的主或輔路徑比特序列和序列指針,初始時(shí)序列指針為1,沿其主或輔路徑向sink節(jié)點(diǎn)傳輸; 中間節(jié)點(diǎn)接收到數(shù)據(jù)包后,首先解析數(shù)據(jù)包頭,將序列指針加1,并讀取當(dāng)前序列指針指示的路徑比特序列中比特元素值,比特元素值為0時(shí)向其主父節(jié)點(diǎn)傳輸,為I時(shí)向其輔父節(jié)點(diǎn)傳輸。
7.如權(quán)利要求I所述的中心計(jì)算的無(wú)線傳感器網(wǎng)絡(luò)2-不相交路徑路由算法,其特征是,所述第四步中,以sink節(jié)點(diǎn)為起點(diǎn)按照節(jié)點(diǎn)的邏輯梯度的増加依次下發(fā)節(jié)點(diǎn)的路徑信息,只要是接收到路徑信息的節(jié)點(diǎn)就建立穩(wěn)定的網(wǎng)絡(luò),即使全局網(wǎng)絡(luò)中還存在沒(méi)有接收到路徑信息的節(jié)點(diǎn)也不會(huì)影響由接收到的路徑信息的節(jié)點(diǎn)建立起的穩(wěn)定局部網(wǎng)絡(luò); PC機(jī)根據(jù)鄰居信息計(jì)算出兩條不相交路徑,將節(jié)點(diǎn)的路徑信息以及基站到達(dá)該節(jié)點(diǎn)的反向路由打包成rrep下發(fā)給目的節(jié)點(diǎn)。rrep下發(fā)過(guò)程中節(jié)點(diǎn)接收到rrep首先判斷該節(jié)點(diǎn)是不是目的節(jié)點(diǎn),不是則按照rrep中的數(shù)組path存放的反向路由信息繼續(xù)下發(fā)直到到達(dá)目的節(jié)點(diǎn)。
8.如權(quán)利要求I所述的中心計(jì)算的無(wú)線傳感器網(wǎng)絡(luò)2-不相交路徑路由算法,其特征是,所述第五步中,當(dāng)算法完成不相交路徑的生成后,記錄每個(gè)節(jié)點(diǎn)到達(dá)基站的主路徑度量值和輔路徑度量值LOf—,基站再次收到節(jié)點(diǎn)發(fā)送的rreq數(shù)據(jù)包時(shí),再次使用算法計(jì)算出路徑度量矩陣MPW,得到每個(gè)節(jié)點(diǎn)當(dāng)前的主路徑度量值和輔路徑度量值iO"—,當(dāng)路徑狀態(tài)滿足式(6)或式(7)時(shí)該節(jié)點(diǎn)的路徑狀態(tài)達(dá)到更新條件; 其中,式(8)、(9)、(10)、(11)用以計(jì)算、PLQfj' PLQfiaster > pLQfPLQf^為前一次網(wǎng)絡(luò)主路徑鏈路質(zhì)量值、凡0廣—為前一次網(wǎng)絡(luò)輔路徑鏈路質(zhì)量值、凡&—為當(dāng)前網(wǎng)絡(luò)主路徑的鏈路質(zhì)量值、Wgf-為當(dāng)前網(wǎng)絡(luò)輔路徑的鏈路質(zhì)量值、\為局部更新閾值ひ>0),A PLQsiastelr取為當(dāng)前網(wǎng)絡(luò)主路徑的鏈路質(zhì)量増量,A PLQMastOT> X表明只有當(dāng)鏈路質(zhì)量降低量超過(guò)閾值吋,才觸發(fā)更新,其它情況無(wú)需更新;APLQSe_toy取為當(dāng)前網(wǎng)絡(luò)輔路徑鏈路質(zhì)量增量的絕對(duì)值,ALQs-1^X表示鏈路質(zhì)量變化量即降低量或提高量超過(guò)閾值時(shí),都要觸發(fā)維護(hù);當(dāng)計(jì)算得到的結(jié)果滿足更新條件時(shí),下發(fā)更新所有節(jié)點(diǎn)的路徑信息更新網(wǎng)絡(luò), APLQMm,er = PLQfaster -PLQf > A(6)
全文摘要
本發(fā)明涉及一種中心計(jì)算的無(wú)線傳感器網(wǎng)絡(luò)2-不相交路徑路由算法,采用中心調(diào)度的自適應(yīng)路徑維護(hù)機(jī)制,提高路徑維護(hù)的靈活性;數(shù)據(jù)路由時(shí)數(shù)據(jù)包僅需攜帶路徑比特序列,同時(shí)無(wú)需任何控制開(kāi)銷(xiāo)。它以跳數(shù)和鏈路質(zhì)量作為度量,利用全網(wǎng)信息計(jì)算出從源節(jié)點(diǎn)到sink節(jié)點(diǎn)的近似最優(yōu)2-節(jié)點(diǎn)不相交路徑,然后生成僅包含主節(jié)點(diǎn)、輔節(jié)點(diǎn)和路徑比特序列的微路由表并下傳到每個(gè)節(jié)點(diǎn)。
文檔編號(hào)H04W40/02GK102740394SQ20121025129
公開(kāi)日2012年10月17日 申請(qǐng)日期2012年7月19日 優(yōu)先權(quán)日2012年7月19日
發(fā)明者于玉杰, 于磊磊, 陳冬巖 申請(qǐng)人:濟(jì)南普賽通信技術(shù)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1