基于可控局部洪泛的移動無線傳感網(wǎng)路由更新方法
【專利摘要】本發(fā)明屬于無線傳感網(wǎng)絡(luò)協(xié)議【技術(shù)領(lǐng)域】,具體涉及一種面向具有移動匯聚節(jié)點的無線傳感網(wǎng)路由更新方案。具體來說,在具有單個移動匯聚節(jié)點的無線傳感網(wǎng)中,利用周期性重新構(gòu)造全網(wǎng)最短路由生成樹,和以移動匯聚節(jié)點當(dāng)前位置所確定的錨節(jié)點為根、通過受限洪泛方式構(gòu)造局部最短路徑樹,在此基礎(chǔ)上實現(xiàn)低代價的數(shù)據(jù)實時轉(zhuǎn)發(fā)。該方法充分利用了移動匯聚節(jié)點隨機(jī)移動的特性,在保證數(shù)據(jù)傳輸可靠性和高效性的同時可以降低更新開銷、延長網(wǎng)絡(luò)壽命。
【專利說明】基于可te局部洪?之的移動無線傳感網(wǎng)路由更新方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于無線傳感網(wǎng)絡(luò)協(xié)議【技術(shù)領(lǐng)域】,具體涉及一種面向具有移動匯聚節(jié)點的 無線傳感網(wǎng)路由更新方案。該方案充分結(jié)合匯聚節(jié)點的移動性,通過分布式構(gòu)建無線傳感 網(wǎng)全網(wǎng)路由樹結(jié)構(gòu)和基于可控洪泛的局部路由動態(tài)更新,在保證數(shù)據(jù)傳輸可靠性和高效性 的同時降低路由更新開銷,延長網(wǎng)絡(luò)壽命。
【背景技術(shù)】
[0002] 近些年來,無線多跳網(wǎng)絡(luò)(如無線傳感器網(wǎng)絡(luò)、移動Ad hoc網(wǎng)絡(luò)、無線mesh網(wǎng)絡(luò) 等)領(lǐng)域的相關(guān)組網(wǎng)技術(shù)得到了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注,并取得了極大的發(fā)展。由于 無線傳感器節(jié)點具有成本低、體積小、在部署之后不易更換電池等特點,因此節(jié)能問題是無 線傳感器網(wǎng)絡(luò)應(yīng)用面臨的一個主要問題。
[0003] 采用移動匯聚節(jié)點可以有效避免靜態(tài)匯聚節(jié)點無線傳感網(wǎng)中的熱點區(qū)域問題。熱 點區(qū)域問題是指靜態(tài)匯聚節(jié)點周圍的無線傳感器節(jié)點需要承擔(dān)全網(wǎng)數(shù)據(jù)的采集和轉(zhuǎn)發(fā)任 務(wù),從而成為網(wǎng)絡(luò)中的能量瓶頸節(jié)點。已有研究顯示部署移動匯聚節(jié)點代替靜態(tài)匯聚節(jié)點 可以避免能量瓶頸節(jié)點的過度使用,延長數(shù)倍的網(wǎng)絡(luò)壽命。
[0004] 移動匯聚節(jié)點的移動性會導(dǎo)致目標(biāo)傳感網(wǎng)的拓?fù)浣Y(jié)構(gòu)發(fā)生難以預(yù)測的改變、數(shù)據(jù) 傳輸路徑失效,導(dǎo)致傳統(tǒng)面向靜態(tài)匯聚節(jié)點設(shè)計的路由協(xié)議無法應(yīng)用于具有移動匯聚節(jié)點 的無線傳感器網(wǎng)絡(luò)中。由于在具有移動匯聚節(jié)點的無線傳感器網(wǎng)絡(luò)需要額外的信令機(jī)制來 更新和維護(hù)信源傳感器節(jié)點到移動匯聚節(jié)點的路由信息和路由結(jié)構(gòu),如何降低動態(tài)維護(hù)網(wǎng) 絡(luò)路由結(jié)構(gòu)的開銷的同時保證數(shù)據(jù)傳輸?shù)目煽啃院透咝猿蔀榱艘苿訜o線傳感網(wǎng)協(xié)議設(shè) 計的關(guān)鍵。
【發(fā)明內(nèi)容】
:
[0005] 本發(fā)明是一種無線傳感器網(wǎng)絡(luò)路由建立和更新方案。該方案主要用于具有移動匯 聚節(jié)點的無線傳感網(wǎng)中,根據(jù)移動匯聚節(jié)點的位置來確定錨節(jié)點,并周期性地建立以變化 的指定節(jié)點為根的最短路徑生成樹T進(jìn)而確定數(shù)據(jù)轉(zhuǎn)發(fā)的路徑。隨著移動匯聚節(jié)點位置的 變化,動態(tài)確定其所關(guān)聯(lián)的錨節(jié)點,并根據(jù)錨節(jié)點在樹T上的位置及周圍拓?fù)浣Y(jié)構(gòu),通過局 部洪泛方式動態(tài)局部更新樹T的局部結(jié)構(gòu),從而有效約束每個傳感器節(jié)點到達(dá)移動匯聚節(jié) 點的路徑長度同時有效控制控制信令開銷。
[0006] 網(wǎng)絡(luò)結(jié)構(gòu)組成
[0007] 無線傳感器網(wǎng)絡(luò)由多個固定無線傳感器節(jié)點和一個移動匯聚節(jié)點組成,移動匯聚 節(jié)點可以采用任意移動方式在無線傳感網(wǎng)部署區(qū)域內(nèi)移動。
[0008] 周期性建立全網(wǎng)數(shù)據(jù)路由生成樹
[0009] 本發(fā)明的特征是在一棵已有的全網(wǎng)數(shù)據(jù)路由生成樹上進(jìn)行局部更新來構(gòu)成最新 的數(shù)據(jù)路由樹。為延長網(wǎng)絡(luò)壽命,該數(shù)據(jù)路由樹會進(jìn)行周期輪換。預(yù)先設(shè)定替換最短路徑 樹的周期為t r_d,如tr_d為1個小時或1天。在每個周期開始時,網(wǎng)絡(luò)隨機(jī)選擇或網(wǎng)絡(luò)管 理員按某種規(guī)則指定網(wǎng)絡(luò)中的一個傳感器節(jié)點作為T的樹根節(jié)點。該根節(jié)點通過全網(wǎng)洪泛 方式來建立最短路徑生成樹。網(wǎng)絡(luò)中各個節(jié)點到該根節(jié)點的路徑長度的初始值為+ 〇〇,開 始時根節(jié)點向其鄰居節(jié)點發(fā)送廣播報文信息,鄰居節(jié)點在收到該消息后更新根節(jié)點到自己 的路徑長度并繼續(xù)轉(zhuǎn)發(fā)消息。每條消息攜帶該發(fā)送節(jié)點到根節(jié)點當(dāng)前的路徑長度信息。通 過節(jié)點間報文信息的交換,每個非根節(jié)點i都可能學(xué)習(xí)到多條來自根節(jié)點的信息,則其從 中選擇最小的,并作為其到其到根節(jié)點的最短路徑長度,并將轉(zhuǎn)發(fā)該報文的節(jié)點作為具父 節(jié)點,記做Ai。每當(dāng)路徑長度或父節(jié)點\發(fā)生變化時,節(jié)點i都會廣播一條信息通知其鄰 居節(jié)點。我們記第1個周期選擇的根節(jié)點為 Ul,相應(yīng)的數(shù)據(jù)路由生成樹記為Κ;。根節(jié)點發(fā) 送的廣播消息中同時會攜帶一個序列號,該序列號在每輪數(shù)據(jù)路由生成樹建立時,值加1, 具有新序號的路徑信息會取代舊的路徑信息,從而完成數(shù)據(jù)路由生成樹的更新。
[0010] 錨節(jié)點選擇和維護(hù)
[0011] 在移動匯聚節(jié)點移動過程中會選擇某個鄰居傳感器節(jié)點作為自己的錨節(jié)點。錨節(jié) 點的作用是暫時擔(dān)任網(wǎng)絡(luò)中匯聚節(jié)點的角色,并將數(shù)據(jù)轉(zhuǎn)發(fā)給移動匯聚節(jié)點。初始時,移動 匯聚節(jié)點會選擇鄰居節(jié)點中信號強(qiáng)度最大的傳感器節(jié)點作為首個錨節(jié)點,并進(jìn)行首次局部 路由更新。每次移動匯聚節(jié)點更換錨節(jié)點,需要重新進(jìn)行一次局部路由更新。局部路由更 新的
[0012] 為了降低路由更新的頻率、減小路由更新開銷,本發(fā)明采用了錨節(jié)點鏈維護(hù)機(jī)制。 記節(jié)點V為初始錨節(jié)點,它的鄰居節(jié)點集記為NBR(V)。當(dāng)移動匯聚節(jié)點一定時間內(nèi)(如3 秒)未收到v的ACK包,它推斷到v的鏈路已斷。記當(dāng)前時間為 tl,此時移動匯聚節(jié)點的鄰 居節(jié)點集為NBR(MS,,其中MS代表移動匯聚節(jié)點,如果AW?(MS, ?〇ηΛ^?(ν)*0,即當(dāng) 前鄰居中存在錨節(jié)點ν的鄰居。則選擇其中信號功率值最大的節(jié)點作為ν的第一個從錨節(jié) 點,并記為Vp Vl向V發(fā)送NOTIFY消息,建立錨節(jié)點鏈,之后ν收到的數(shù)據(jù)包均轉(zhuǎn)發(fā)給 Vi, 然后再轉(zhuǎn)發(fā)給移動匯聚節(jié)點。如果此時則移動匯聚節(jié)點從其周 圍鄰居節(jié)點中重新選擇信號功率值最大的節(jié)點作為新的初始錨節(jié)點。當(dāng)移動匯聚節(jié)點在t2 時間移動出從錨節(jié)點v!的通信范圍外后,它將從NBR(MS,t2) n NBR(Vl)選擇新的從錨節(jié)點 v2。移動匯聚節(jié)點同理可以建立更多的從錨節(jié)點,則v與它的從錨節(jié)點Vl,…,%構(gòu)成一條 錨節(jié)點鏈。錨節(jié)點鏈上的最后一個節(jié)點需要周期性地發(fā)送ACK包,以向移動匯聚節(jié)點通告 兩者之間的相鄰性。當(dāng)k值大于K時,則移動匯聚節(jié)點需要從自己的鄰居節(jié)點中選擇新的 錨節(jié)點,K+1表示錨節(jié)點鏈的長度(g卩:包含初始錨節(jié)點 v)。如κ = 4,則錨節(jié)點鏈的長度 為K+1 = 4+1 = 5。每次更換錨節(jié)點,錨節(jié)點都需要向全網(wǎng)最短路徑樹7'^的根節(jié)點發(fā)送一 個通告消息,收到該消息的節(jié)點都需要本地記錄收到該消息的鄰居節(jié)點作為其到達(dá)移動匯 聚節(jié)點的父節(jié)點。
[0013] 局部洪泛路由更新
[0014]每次移動匯聚節(jié)點選擇新的錨節(jié)點,會發(fā)起一次局部洪泛更新,每次洪泛更新建 立一棵以新錨節(jié)點為根的局部最短路徑樹,并與預(yù)先建立的最短路徑生成樹TUi的其余部 分一起構(gòu)成完整的數(shù)據(jù)采集樹。開始時,新錨節(jié)點向其鄰居節(jié)點廣播一條路由更新消息并 由鄰居繼續(xù)轉(zhuǎn)發(fā)。每條更新消息攜帶兩條信息,發(fā)送節(jié)點到新錨節(jié)點的已知最短路徑長度, 初始值為0,以及新錨節(jié)點到最短路徑生成樹的樹根的最短路徑長度。記新錨節(jié)點為v, 以V為根的局部數(shù)據(jù)路由樹記做Tv,,節(jié)點i、j之間的鏈路距離記為d(i, j),節(jié)點i、j在Tk 上的最短距離記為d,/,fcay),節(jié)點i、j在Tk上的迄今為止所知的最短距離記為Ci?7V fc(i,y)。 當(dāng)節(jié)點i (i矣v)收到鄰居節(jié)點j的來自錨節(jié)點v的更新消息時,節(jié)點i執(zhí)行如下路由更新 算法:第一,如果新收到的更新消息帶來了從v到i的更短的路徑,則對應(yīng)更新 和i的父節(jié)點信息,進(jìn)一步地,如果與岣)+ £?Γι<((?,4)之比小于λ,則i繼 續(xù)向其鄰居節(jié)點廣播帶值和更新后的c/i7Yv(i,i〇值的更新消息、。
[0015] 具體代碼如下:
[0016] 汾川於川紀(jì)m (NODE 〇 //節(jié)點/的路由更新算法 1 while / receives a route update message from / containing CRTTu^{j, v) and
【權(quán)利要求】
1. 基于局部化最短路徑樹的移動無線傳感網(wǎng)路由更新方法,其特征在于:在具有單個 移動匯聚節(jié)點的無線傳感網(wǎng)中,利用周期性重新構(gòu)造全網(wǎng)最短路由生成樹,和以移動匯聚 節(jié)點當(dāng)前位置所確定的錨節(jié)點為根、并通過受限洪泛方式構(gòu)造局部最短路徑樹,通過兩者 相結(jié)合實現(xiàn)低代價的數(shù)據(jù)實時轉(zhuǎn)發(fā)。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于:無線傳感器網(wǎng)絡(luò)由多個固定無線傳感器 節(jié)點和一個移動匯聚節(jié)點組成,移動匯聚節(jié)點可以采用任意移動方式在無線傳感網(wǎng)部署區(qū) 域內(nèi)移動。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于:每隔tMmd時間周期性地重新構(gòu)造一棵覆 蓋全網(wǎng)的最短路由生成樹;在每個周期開始時,指定網(wǎng)絡(luò)中的某個傳感器節(jié)點作為全網(wǎng)生 成樹的樹根節(jié)點;記第1個周期選擇的根節(jié)點為U1,相應(yīng)的數(shù)據(jù)路由生成樹記為7、;每次構(gòu) 造全網(wǎng)的最短路由生成樹,其根節(jié)點可以隨機(jī)選擇,也可以由網(wǎng)絡(luò)管理員指定。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于:根節(jié)點U1通過全網(wǎng)洪泛方式來建立最短 路徑生成樹,網(wǎng)絡(luò)中各個節(jié)點到該根節(jié)點的路徑長度的初值設(shè)為+ °°,開始時根節(jié)點向其 鄰居節(jié)點發(fā)送廣播報文信息,也稱最短路徑樹構(gòu)造消息,鄰居節(jié)點在收到該消息后更新自 己到根節(jié)點的路徑長度并繼續(xù)轉(zhuǎn)發(fā)該消息;每條消息攜帶該根節(jié)點到發(fā)送節(jié)點的當(dāng)前最短 路徑長度信息;通過相鄰節(jié)點間報文信息的交換,每個非根節(jié)點i都可能學(xué)習(xí)到多條來自 根節(jié)點的路由信息,則其從中選擇路徑長度最小的,并作為其到其到根節(jié)點的最短路徑長 度,并將轉(zhuǎn)發(fā)該報文的節(jié)點作為其父節(jié)點,記做Ai ;每當(dāng)路徑長度或父節(jié)點Ai發(fā)生變化時, 節(jié)點i都會廣播一條新信息通知其鄰居節(jié)點。
5. 根據(jù)權(quán)利要求4所述的方法,其特征在于:根節(jié)點發(fā)送的最短路徑樹構(gòu)造消息中同 時會攜帶一個序列號,該序列號在每輪數(shù)據(jù)路由生成樹建立時,值加1,具有新序號的路徑 信息會取代舊的路徑信息,從而完成數(shù)據(jù)路由生成樹的更新。
6. 根據(jù)權(quán)利要求1所述的方法,其特征在于:在移動匯聚節(jié)點移動的過程中會選擇某 個鄰居傳感器節(jié)點作為自己的關(guān)聯(lián)錨節(jié)點,錨節(jié)點負(fù)責(zé)暫時擔(dān)任網(wǎng)絡(luò)中匯聚節(jié)點的角色, 并將數(shù)據(jù)轉(zhuǎn)發(fā)給真正的移動匯聚節(jié)點;初始時,移動匯聚節(jié)點選擇周圍鄰居中信號強(qiáng)度最 大的傳感器節(jié)點作為首個錨節(jié)點,并進(jìn)行首次局部路由更新;每次更換錨節(jié)點,需要重新進(jìn) 行一次局部路由更新;每次更換錨節(jié)點,錨節(jié)點都需要向全網(wǎng)最短路徑樹的根節(jié)點發(fā)送 一個通告消息,收到該通告消息的節(jié)點都需要本地記錄收到該消息的鄰居節(jié)點,并將其作 為自己到達(dá)移動匯聚節(jié)點當(dāng)前位置的父節(jié)點。
7. 根據(jù)權(quán)利要求6所述的方法,其特征在于:記節(jié)點V為初始選定的錨節(jié)點,它的鄰居 節(jié)點集記為NBR(v);當(dāng)移動匯聚節(jié)點一定時間內(nèi)未收到V的ACK包,它推斷到V的鏈路已 斷;記當(dāng)前時間為h,此時移動匯聚節(jié)點的鄰居節(jié)點集為NBR(MS,h),其中MS代表移動匯 聚節(jié)點,如果取MS,⑴rW皿(V)#0,即當(dāng)前鄰居中存在錨節(jié)點V的鄰居;則選擇其中信 號功率值最大的節(jié)點作為V的第一個從錨節(jié)點,并記為V1 ;Vl向V發(fā)送NOTIFY消息,建立 錨節(jié)點鏈,之后V收到的數(shù)據(jù)包均轉(zhuǎn)發(fā)給V1,然后再由V1轉(zhuǎn)發(fā)給移動匯聚節(jié)點;如果此時 M^(MS,0rW5取v)=0f則移動匯聚節(jié)點從其周圍鄰居節(jié)點中重新選擇信號功率值最大 的節(jié)點作為新的錨節(jié)點;當(dāng)移動匯聚節(jié)點在t2時間移出從錨節(jié)點V1的通信范圍外后,它將 從NBR(MS,t2)nNBR(V1)選擇新的從錨節(jié)點,記做v2;同理,移動匯聚節(jié)點在移動過程中, 可以建立更多的從錨節(jié)點,則V與它的從錨節(jié)點V1,…,Vk構(gòu)成一條錨節(jié)點鏈;錨節(jié)點鏈上 的最后一個節(jié)點需要周期性地發(fā)送ACK包,以向移動匯聚節(jié)點通告兩者之間的相鄰性。
8. 根據(jù)權(quán)利要求7所述的方法,其特征在于:當(dāng)k值大于K時,則移動匯聚節(jié)點需要從 自己的鄰居節(jié)點中選擇新的錨節(jié)點,K+1表示錨節(jié)點鏈的長度。
9. 根據(jù)權(quán)利要求1所述的方法,其特征在于:每次移動匯聚節(jié)點選擇新的錨節(jié)點,會 發(fā)起一次范圍受限的局部洪泛更新,每次洪泛更新建立一棵以錨節(jié)點為根的局部最短路徑 樹,并與全網(wǎng)最短路徑生成樹匕,的其余部分一起構(gòu)成完整的數(shù)據(jù)采集樹。
10. 根據(jù)權(quán)利要求9所述的方法,其特征在于:移動匯聚節(jié)點每次選定的新錨節(jié)點向其 鄰居節(jié)點廣播一條路由更新消息并由鄰居繼續(xù)轉(zhuǎn)發(fā);每條更新消息攜帶兩條信息,發(fā)送節(jié) 點到新錨節(jié)點的已知最短路徑長度,初值為〇,以及新錨節(jié)點到最短路徑生成樹匕;樹根節(jié) 點的最短路徑長度;記新錨節(jié)點為V,它也是新錨節(jié)點鏈的初始錨節(jié)點,以V為根的局部數(shù) 據(jù)路由樹記做Tv,,令節(jié)點i、j之間的鏈路距離記為d(i,j),令節(jié)點i、j在樹Tk上的最短 距離記為,節(jié)點i、j在Tk上的迄今為止最短距離記為C^TVfc(U);當(dāng)節(jié)點i收到鄰 居節(jié)點j的來自新錨節(jié)點V的更新消息時,且i尹V,節(jié)點i執(zhí)行如下路由更新算法:第一, 如果新收到的更新消息帶來了從V到i的更短的路徑,則相應(yīng)更新和i的父節(jié)點 信息,進(jìn)一步地,如果
之比小于入,則i繼續(xù)向自己的 鄰居節(jié)點廣播帶有0^^%力)值和更新后的值的更新消息八是一個小于1的正 數(shù)。
【文檔編號】H04W40/02GK104244357SQ201410482063
【公開日】2014年12月24日 申請日期:2014年9月19日 優(yōu)先權(quán)日:2014年9月19日
【發(fā)明者】尚德重, 周猛, 余晟, 胡曉彥, 張寶賢 申請人:中國科學(xué)院大學(xué)