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