專利名稱:一種無線傳感網(wǎng)地理位置路由空洞處理方法
技術(shù)領(lǐng)域:
本發(fā)明涉及ー種無線傳感器網(wǎng)絡(luò)通訊技術(shù)領(lǐng)域,具體涉及ー種無線傳感網(wǎng)地理位置路由空洞處理方法。
背景技術(shù):
在數(shù)據(jù)分組傳送目標(biāo)區(qū)域的過程中,分為數(shù)據(jù)分組發(fā)往目標(biāo)區(qū)域和目標(biāo)區(qū)域內(nèi)散布數(shù)據(jù)分組2個階段。在數(shù)據(jù)分組發(fā)往目標(biāo)區(qū)域過程中,基于地理位置信息和能量感知的路由協(xié)議GEAR (Geographical and Energy Aware Routing)利用地理位置信息和能量作為選擇路徑的標(biāo)準(zhǔn),選擇最佳路徑,將數(shù)據(jù)傳送到目標(biāo)區(qū)域,被認(rèn)為是目前解決能量和處理資 源嚴(yán)重受限的無線傳感器網(wǎng)絡(luò)中最有效的路由協(xié)議之一。無線傳感器網(wǎng)絡(luò)系統(tǒng)模型中,假設(shè)每個節(jié)點都是靜止的,井能通過GPS或者其他一些技術(shù)獲得節(jié)點自己的剰余能量信息,每個數(shù)據(jù)分組都指定了目的地的地理位置。節(jié)點N轉(zhuǎn)發(fā)數(shù)據(jù)分組,其目標(biāo)區(qū)域的中心節(jié)點為T(稱為目標(biāo)節(jié)點),GEAR路由協(xié)議的執(zhí)行流程如圖I所示,包括以下步驟
I )、節(jié)點N遍歷本節(jié)點的鄰居節(jié)點列表,判斷實際代價比節(jié)點N小的鄰居節(jié)點Nd是否存在;
2)、若鄰節(jié)點中實際代價比節(jié)點N小的節(jié)點Nd存在,判斷節(jié)點Nd中是否存在目標(biāo)節(jié)
點T,判斷結(jié)果為是,則數(shù)據(jù)分組傳送結(jié)束;判斷結(jié)果為否,則將節(jié)點Nd作為下ー跳轉(zhuǎn)發(fā)數(shù)據(jù)分組;
3)、若節(jié)點N的所有鄰居節(jié)點到目標(biāo)節(jié)點T的實際代價都比節(jié)點N大,則N為空洞節(jié)點,此時節(jié)點N選取鄰節(jié)點中實際代價次最小的節(jié)點Ni,判斷節(jié)點Ni中是否為目標(biāo)節(jié)點
T,判斷結(jié)果為是,則數(shù)據(jù)分組傳送結(jié)束;判斷結(jié)果為否,則將節(jié)點Ni作為下ー跳轉(zhuǎn)發(fā)數(shù)據(jù)分組,這樣數(shù)據(jù)分組的傳送避免了空洞節(jié)點N。如果節(jié)點N沒有其鄰居節(jié)點的實際代價h(Ni,T)值,則使用估計代價C(NiiT)作為h鞏;Γ)的缺省值。鄰居節(jié)點的估計代價計算公式如下
C(M1T) = a X &具,7) + (1-a) x^sNi)
為N的鄰居節(jié)點Ni到目標(biāo)節(jié)點T的估計代價; a為比可調(diào)權(quán)值參數(shù);
=.....為節(jié)點N到目標(biāo)節(jié)點T距離歸一化取值;
^2,L Jjmxi
d(U)為節(jié)點N到目標(biāo)節(jié)點T的距離;Cl(我,I))·為N的鄰居節(jié)點Ni到T節(jié)點最大的值;
ゆd =為節(jié)點剰余能量歸ー化取值;
s(、Nd 飄
り為節(jié)點N的已消耗能量;
卿皿為N的鄰居節(jié)點Ni中已消耗的最大能量。如圖2圖所示,假設(shè)節(jié)點均勻分布在矩形區(qū)域,且單位距離節(jié)點數(shù)據(jù)傳送能量代價為I。有數(shù)據(jù)分組從節(jié)點S到目標(biāo)節(jié)點T,C到T到距離最短,節(jié)點C是S到節(jié)點T的最 優(yōu)路由節(jié)點,但是由于G、H、L、M節(jié)點為無效節(jié)點,節(jié)點C出現(xiàn)路由空洞。針對路由空洞問題,節(jié)點C選擇其附近最小代價節(jié)點B (或者D)作為次最優(yōu)路由。當(dāng)再次有數(shù)據(jù)從節(jié)點S傳送至目標(biāo)節(jié)點T時,選擇最小能量路徑為B-A-J-K-T路徑。GEAR協(xié)議查詢數(shù)據(jù)方法可以在一定程度上減少路由空洞的產(chǎn)生。但是經(jīng)能量代價優(yōu)化獲得的路徑,經(jīng)過一段時間后,若原路由空洞節(jié)點成為新空洞節(jié)點的鄰居節(jié)點中代價次最小節(jié)點,則會出現(xiàn)選擇原來空洞節(jié)點作為下ー跳,反復(fù)形成先前的路由空洞問題。如圖I所示,C節(jié)點為原路由空洞節(jié)點,經(jīng)過一段時間后,節(jié)點B也成為了路由空洞節(jié)點,由于節(jié)點C與節(jié)點B的實際代價值大小相近,所以節(jié)點B有可能會選擇C作為下ー跳節(jié)點,而重復(fù)出現(xiàn)了之前的路由空洞問題。這時需要在兩個節(jié)點間多次循環(huán)作為下一跳,才能跳出路由空洞區(qū)域,會造成大量不必要的能量損耗。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題就是提供一種無線傳感器網(wǎng)絡(luò)路由空洞處理方法,它能避免原路由空洞節(jié)點與新空洞節(jié)點之間相互選擇,節(jié)省網(wǎng)絡(luò)中的節(jié)點的能量。本發(fā)明所要解決的技術(shù)問題是通過這樣的技術(shù)方案實現(xiàn)的,它包括以下步驟 步驟I、判斷空洞節(jié)點節(jié)點查看hole位是否含有空洞節(jié)點信息,如果hole位為空洞
節(jié)點信息,則在節(jié)點的鄰居節(jié)點中選取非空洞節(jié)點承接數(shù)據(jù)分組;
步驟2、判斷目的節(jié)點在節(jié)點的鄰居節(jié)點中尋找目的節(jié)點,若存在目的節(jié)點,數(shù)據(jù)分組傳送至目的節(jié)點;
步驟3、判定路由節(jié)點在鄰居節(jié)點中不存在目的節(jié)點的情況下,在節(jié)點的兩跳節(jié)點集選距離目的節(jié)點最近的非空洞節(jié)點,然后在一跳節(jié)點集中找出到兩跳節(jié)點代價最小的節(jié)點,將該ー跳節(jié)點和該兩跳節(jié)點作為路由節(jié)點;
步驟4、確認(rèn)空洞節(jié)點在步驟3中,一跳節(jié)點集中沒有找到兩跳節(jié)點代價最小的節(jié)點,則節(jié)點為空洞節(jié)點,修改節(jié)點的hole參數(shù)為空洞節(jié)點信息,發(fā)送hello消息給鄰居節(jié)點,并轉(zhuǎn)入步驟I中。在上述步驟2中,包括以下步驟
(1)、在一跳鄰居節(jié)點中尋找目的節(jié)點,若存在目的節(jié)點,數(shù)據(jù)分組傳送至目的節(jié)點;
(2)、在一跳鄰居節(jié)點不存在目的節(jié)點的情況下,在兩跳鄰居節(jié)點中尋找目的節(jié)點,若存在目的節(jié)點,在一跳節(jié)點集中找出到目的節(jié)點代價最小的節(jié)點作為數(shù)據(jù)傳輸?shù)穆酚晒?jié)點;
(3)、在兩跳鄰居節(jié)點中存在目的節(jié)點的條件下,但在ー跳節(jié)點集中沒有找出到目的節(jié)點代價最小的節(jié)點,則節(jié)點為空洞節(jié)點,修改節(jié)點的hole參數(shù)為空洞節(jié)點信息,發(fā)送hello消息給鄰居節(jié)點,并轉(zhuǎn)入步驟I中;
在兩跳鄰居節(jié)點中不存在目的節(jié)點吋,則流程進(jìn)入所述步驟3。由于本發(fā)明在步驟I中首先判斷節(jié)點hole位是否含有空洞節(jié)點信息,同時在步驟I和步驟3中依據(jù)鄰居節(jié)點列表可以判定鄰居節(jié)點的空洞節(jié)點,由此確定非空洞節(jié)點,避開了該路由空洞節(jié)點而選擇更合適的路由節(jié)點,從而避免了原路由空洞節(jié)點與新空洞節(jié)點之間相互選擇,節(jié)省了網(wǎng)絡(luò)中的節(jié)點的(或者改為空洞區(qū)域周圍節(jié)點的)能量。另外,在步驟4中確認(rèn)了本節(jié)點為空洞節(jié)點時,則更新節(jié)點的hole參數(shù),并發(fā)送hello消息給鄰居節(jié)點,使鄰居節(jié)點的信息記錄得以更新,這樣隨時間的改變,各節(jié)點的變化狀態(tài)能及時準(zhǔn)確地記錄,保證路由節(jié)點選擇的正確性。
本發(fā)明的
如下 圖I為現(xiàn)有GEAR路由協(xié)議的流程 圖2為現(xiàn)有GEAR路由空洞節(jié)點的示意 圖3為本發(fā)明的流程圖。
具體實施例方式下面結(jié)合附圖詳細(xì)描述本發(fā)明的具體實施方式
。每個節(jié)點建立有鄰居節(jié)點列表,該表記錄其兩跳范圍內(nèi)鄰居節(jié)點的信息,包括距離本節(jié)點一跳的鄰居節(jié)點集s( N )-1和兩跳的節(jié)點集S( N)-2的位置信息、能量信息和路由空洞信息,其中路由空洞信息設(shè)為hole數(shù)位;節(jié)點通過hello消息的方式獲取鄰居節(jié)點信息。節(jié)點需要通過兩次信息交換,分別將自己及其一跳的鄰居節(jié)點信息廣播給節(jié)點的一跳鄰居節(jié)點。假設(shè)當(dāng)前節(jié)點為N,轉(zhuǎn)發(fā)數(shù)據(jù)分組到目的節(jié)點是T,本發(fā)明的流程圖如圖3所示 在步驟SOl,處理過程開始;
在步驟S02,節(jié)點N通過選擇路徑,欲將數(shù)據(jù)分組傳送到節(jié)點T ;
在步驟S03,根據(jù)N節(jié)點的hole數(shù)位信息(如設(shè)置為I,作為空洞節(jié)點)判斷節(jié)點N是否為空洞節(jié)點;如果步驟S03判斷為“是”,則執(zhí)行步驟S04,節(jié)點N在自己一跳鄰居節(jié)點集S (N )-I中尋找替換的非空洞節(jié)點N z,節(jié)點N將數(shù)據(jù)分組送入節(jié)點N z,用節(jié)點N z替代節(jié)點N傳送數(shù)據(jù)(即N= N z );如果步驟S03判斷為“否”,處理過程進(jìn)行到步驟S05 ;
在步驟S05,判斷節(jié)點N的鄰居節(jié)點是否存在目的節(jié)點T,如果步驟S05的判斷為“是”,節(jié)點N將數(shù)據(jù)分組傳送至T,流程結(jié)束;如果步驟S05的判斷為“否”,則進(jìn)行下ー步驟S06 ;在步驟S06,節(jié)點N的兩跳節(jié)點集S (N) -2選擇距離目的節(jié)點T最近的非空洞節(jié)點J,然后進(jìn)入步驟S07 ;
在步驟S07,在一跳節(jié)點集S( N )-1中尋找到兩跳節(jié)點J代價最小的節(jié)點M,即C(N, M)+C(M, J)最小,這種判斷有兩種結(jié)果
第一種判斷結(jié)果是S(N)-I中存在節(jié)點M,則ー跳節(jié)點M和該兩跳節(jié)點J作為路由節(jié)點,數(shù)據(jù)分組從N傳送至M,再由M傳送至J ;此后,節(jié)點J相當(dāng)于步入了節(jié)點N的環(huán)節(jié)(即N=J),循環(huán)運行本流程;
第二種判斷結(jié)果是s( N )-1中不存在節(jié)點M,則節(jié)點N確定為空洞節(jié)點,此時修改N節(jié)點的hole參數(shù)為空洞節(jié)點信息,發(fā)送hello消息給鄰居節(jié)點,并則執(zhí)行步驟S04,即ー跳鄰居節(jié)點中尋找替換的非空洞節(jié)點N ^,用節(jié)點N ^替代節(jié)點N傳送數(shù)據(jù)。步驟S05可細(xì)分以下三個步驟 在步驟S05-1,判斷節(jié)點N的一跳鄰居節(jié)點S( N )-I是否存在目的節(jié)點T,如果判斷結(jié)果為“是”,節(jié)點N將數(shù)據(jù)分組傳送至T,流程結(jié)束;如果判斷結(jié)果為“否”,則進(jìn)行下ー步驟S05-2 ;
在步驟S05-2,判斷節(jié)點N的兩跳鄰居節(jié)點S( N )-2是否存在目的節(jié)點T,如果判斷結(jié)果為“是”,則進(jìn)行下ー步驟S05-3 ;
在步驟S05-3,在一跳節(jié)點集S( N )-1中尋找到目的節(jié)點T代價最小的節(jié)點M,即C (N, M)+C(M, T)最小,這種判斷有兩種結(jié)果
第一種判斷結(jié)果是S ( N )-I中存在節(jié)點M,則數(shù)據(jù)分組從N傳送至M,再由M傳送至T,流程結(jié)束;
第二種判斷結(jié)果是S( N )-1中不存在節(jié)點M,則節(jié)點N確定為空洞節(jié)點,此時修改N節(jié)點的hole參數(shù)為空洞節(jié)點信息,發(fā)送hello消息給鄰居節(jié)點,并則執(zhí)行步驟S04,即ー跳鄰居節(jié)點中尋找替換的非空洞節(jié)點N ^,用節(jié)點N ^替代節(jié)點N傳送數(shù)據(jù)。如果步驟S05-2判斷結(jié)果為“否”,則進(jìn)入步驟S06。
權(quán)利要求
1.一種無線傳感器網(wǎng)地理位置路由空洞處理方法,包括以下步驟 步驟I、判斷空洞節(jié)點節(jié)點查看hole位是否含有空洞節(jié)點信息,如果hole位為空洞節(jié)點信息,則在節(jié)點的鄰居節(jié)點中選取非空洞節(jié)點承接數(shù)據(jù)分組; 步驟2、判斷目的節(jié)點在節(jié)點的鄰居節(jié)點中尋找目的節(jié)點,若存在目的節(jié)點,數(shù)據(jù)分組傳送至目的節(jié)點; 步驟3、判定路由節(jié)點在鄰居節(jié)點中不存在目的節(jié)點的情況下,在節(jié)點的兩跳節(jié)點集選距離目的節(jié)點最近的非空洞節(jié)點,然后在一跳節(jié)點集中找出到兩跳節(jié)點代價最小的節(jié)點,將該一跳節(jié)點和該兩跳節(jié)點作為路由節(jié)點; 步驟4、確認(rèn)空洞節(jié)點在步驟3中,一跳節(jié)點集中沒有找到兩跳節(jié)點代價最小的節(jié)點,則節(jié)點為空洞節(jié)點,修改節(jié)點的hole參數(shù)為空洞節(jié)點信息,發(fā)送hello消息給鄰居節(jié)點,并轉(zhuǎn)入步驟I中。
2.根據(jù)權(quán)利要求I所述的無線傳感器網(wǎng)絡(luò)路由空洞處理方法,其特征在于,所述步驟2中,包含以下步驟 (1)、在一跳鄰居節(jié)點中尋找目的節(jié)點,若存在目的節(jié)點,數(shù)據(jù)分組傳送至目的節(jié)點; (2)、在一跳鄰居節(jié)點不存在目的節(jié)點的情況下,在兩跳鄰居節(jié)點中尋找目的節(jié)點,若存在目的節(jié)點,在一跳節(jié)點集中找出到目的節(jié)點代價最小的節(jié)點作為數(shù)據(jù)傳輸?shù)穆酚晒?jié)占. (3)、在兩跳鄰居節(jié)點中存在目的節(jié)點的條件下,但在一跳節(jié)點集中沒有找出到目的節(jié)點代價最小的節(jié)點,則節(jié)點為空洞節(jié)點,修改節(jié)點的hole參數(shù)為空洞節(jié)點信息,發(fā)送hello消息給鄰居節(jié)點,并轉(zhuǎn)入步驟I中; 在兩跳鄰居節(jié)點中不存在目的節(jié)點時,則流程進(jìn)入所述步驟3。
全文摘要
本發(fā)明涉及一種無線傳感網(wǎng)地理位置路由空洞處理方法。它包括以下步驟1、判斷空洞節(jié)點節(jié)點查看hole位是否含有空洞節(jié)點信息;2、判斷目的節(jié)點在節(jié)點的鄰居節(jié)點中尋找目的節(jié)點,若存在目的節(jié)點,數(shù)據(jù)分組傳送至目的節(jié)點;3、判定路由節(jié)點在的兩跳節(jié)點集選距離目的節(jié)點最近的非空洞節(jié)點,然后在一跳節(jié)點集中找出到兩跳節(jié)點代價最小的節(jié)點,將該一跳節(jié)點和該兩跳節(jié)點作為路由節(jié)點;、4、確認(rèn)空洞節(jié)點在步驟3中,一跳節(jié)點集中沒有找到兩跳節(jié)點代價最小的節(jié)點,則節(jié)點為空洞節(jié)點,修改節(jié)點的hole參數(shù)為空洞節(jié)點信息,發(fā)送hello消息給鄰居節(jié)點。本發(fā)明的優(yōu)點是能避免原路由空洞節(jié)點與新空洞節(jié)點之間相互選擇,節(jié)省網(wǎng)絡(luò)中的節(jié)點的能量。
文檔編號H04W40/10GK102665252SQ20121018199
公開日2012年9月12日 申請日期2012年6月5日 優(yōu)先權(quán)日2012年6月5日
發(fā)明者晉保霞, 樊宇, 江禹生 申請人:重慶大學(xué)