一種無線傳感器網(wǎng)絡(luò)路由空洞處理方法
【專利摘要】本發(fā)明公開了一種無線傳感器網(wǎng)絡(luò)路由空洞處理方法,其特征在于以下步驟。步驟1:發(fā)現(xiàn)節(jié)點(發(fā)現(xiàn)節(jié)點指無法找到比自身離目的節(jié)點距離更近的其他節(jié)點的節(jié)點)發(fā)起空洞探測包標(biāo)定空洞邊緣節(jié)點;步驟2:發(fā)現(xiàn)節(jié)點把空洞邊緣節(jié)點映射到一虛擬圓上得到相應(yīng)的虛擬坐標(biāo),并發(fā)起分發(fā)包分發(fā)至各節(jié)點;步驟3:對當(dāng)前空洞周邊區(qū)域進(jìn)行劃分,在不同區(qū)域中執(zhí)行不同的策略來選取下一跳節(jié)點,繞開無線傳感器網(wǎng)絡(luò)中的空洞。該無線傳感器網(wǎng)絡(luò)路由空洞處理方法能使來自不同方向的數(shù)據(jù)有效繞開空洞,易于實施。
【專利說明】一種無線傳感器網(wǎng)絡(luò)路由空洞處理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于無線傳感器網(wǎng)絡(luò)通信【技術(shù)領(lǐng)域】,涉及無線傳感器網(wǎng)絡(luò)路由空洞處理方法。
【背景技術(shù)】
[0002]地理位置路由是一種僅依靠周邊鄰居節(jié)點位置信息進(jìn)行路徑選取的路由算法,由于該類協(xié)議受網(wǎng)絡(luò)規(guī)模的影響小、可擴(kuò)展性好,因此在大規(guī)模無線傳感器網(wǎng)絡(luò)中有廣闊的應(yīng)用前景。
[0003]地理位置路由中普遍采用貪婪算法機制。節(jié)點使用貪婪算法時,通過選取比自身更接近目的節(jié)點的鄰居節(jié)點作為其下一跳,如果不存在這樣的節(jié)點,則出現(xiàn)局部極小值問題,或稱路由空洞問題??朔酚煽斩吹姆椒ㄖ饕袃深?,一類是降低貪婪算法的失效比例,如利用鄰居節(jié)點位置的平局值來取代自身位置的算法,利用距特定錨節(jié)點的距離重新建立各節(jié)點位置信息的算法。另一類是采用貪婪算法和恢復(fù)模式相結(jié)合的機制,該類路由首先工作在貪婪模式,在出現(xiàn)路由空洞后進(jìn)入恢復(fù)模式,通過恢復(fù)模式找到更接近目的節(jié)點的節(jié)點后,路由再次進(jìn)入貪婪模式。如利用貪婪模式和面路由模式相結(jié)合的路由算法,通過對網(wǎng)絡(luò)進(jìn)行劃分進(jìn)而利用子網(wǎng)絡(luò)進(jìn)行周邊路由的路由算法。
[0004]上述第一類算法雖然可以提高傳輸成功率,但仍然會有部分節(jié)點無法克服路由空洞,如果其中有關(guān)鍵節(jié)點存在,則會對系統(tǒng)功能的完整性和有效性造成致命影響。此外,由于需要洪泛、回溯等機制完成位置信息的重建或空洞柵欄的設(shè)立,因此會導(dǎo)致較大的控制包開銷,不利于網(wǎng)絡(luò)節(jié)能。第二類方法雖然能使數(shù)據(jù)包順利繞過空洞,但由于路徑長度往往較大且隨著網(wǎng)絡(luò)規(guī)模的增大,節(jié)點需要耗費較多資源維護(hù)網(wǎng)絡(luò)的鏈路拓?fù)鋱D,所以不利于無線傳感器網(wǎng)絡(luò)的擴(kuò)展;并且恢復(fù)模式需要較多的控制包開銷,因此數(shù)據(jù)包經(jīng)過空洞時頻繁進(jìn)入恢復(fù)模式會導(dǎo)致控制開銷增大。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提出一種無線傳感器網(wǎng)絡(luò)路由空洞處理方法,該無線傳感器網(wǎng)絡(luò)路由空洞處理方法能使數(shù)據(jù)包順利繞開空洞,復(fù)雜度低,計算量小,便于實施。
[0006]本發(fā)明的技術(shù)解決方案如下:
一種無線傳感器網(wǎng)絡(luò)路由空洞處理方法,包括以下步驟:
步驟1:發(fā)現(xiàn)節(jié)點(發(fā)現(xiàn)節(jié)點指貪婪算法失效的節(jié)點)發(fā)起探測包標(biāo)定空洞邊緣節(jié)點。
[0007]步驟2:發(fā)現(xiàn)節(jié)點把空洞邊緣節(jié)點映射到一虛擬圓上得到相應(yīng)的虛擬坐標(biāo),并發(fā)起分發(fā)包分發(fā)至各節(jié)點。
[0008]步驟3:對當(dāng)前空洞周邊區(qū)域進(jìn)行劃分,在不同區(qū)域中執(zhí)行不同的策略來選取下一跳節(jié)點,繞開無線傳感器網(wǎng)絡(luò)中的空洞。
[0009]所述步驟I的具體步驟為:
發(fā)現(xiàn)節(jié)點在發(fā)現(xiàn)路由空洞后首先緩存當(dāng)前要轉(zhuǎn)發(fā)的數(shù)據(jù)包,隨后生成空洞探測包并發(fā)起空洞探測過程,空洞探測算法使用右手法則(或左手法則)。各邊緣節(jié)點在收到空洞探測包后,將自身ID和坐標(biāo)追加到空洞探測包尾部,然后再轉(zhuǎn)發(fā)到下一個邊緣節(jié)點。
[0010]當(dāng)同一空洞內(nèi)出現(xiàn)兩個或兩個以上的空洞探測包時,以探測包內(nèi)記錄的空洞發(fā)現(xiàn)時間先后為依據(jù),保留較早產(chǎn)生的探測包,丟棄較晚產(chǎn)生的探測包,確保一個空洞區(qū)域僅有一個發(fā)現(xiàn)節(jié)點。
[0011]在空洞探測算法執(zhí)行過程中,發(fā)現(xiàn)節(jié)點將始終偵聽探測包的轉(zhuǎn)發(fā),若其直接收到探測包或者偵聽到探測包被發(fā)往已收到過探測包并轉(zhuǎn)發(fā)的節(jié)點,則判斷步驟I結(jié)束。
[0012]所述步驟2的具體步驟為:
首先根據(jù)空洞探測包內(nèi)包含的空洞邊緣節(jié)點ID和對應(yīng)地理位置坐標(biāo)信息計算出空洞的中心點,然后再計算出邊緣節(jié)
點至該中心點的最大距離4。采用以空洞中心點O為圓心A為半徑的圓來確定為該空洞
的映射虛擬圓。映射虛擬圓確定之后,進(jìn)行空洞邊緣節(jié)點的虛擬坐標(biāo)映射算法,包含兩個規(guī)則:
規(guī)則I以映射虛擬圓的圓心為起點,沿著各邊緣節(jié)點作延長線,該延長線與映射虛擬圓的交點即為各邊緣節(jié)點的虛擬映射節(jié)點,或稱該邊緣節(jié)點的虛擬位置。
[0013]規(guī)則2若出現(xiàn)延長線與空洞邊緣相交兩次以上的情況,則查找該邊緣節(jié)點前后首個僅相交一次的節(jié)點,然后在映射虛擬圓上這兩個節(jié)點的虛擬位置中間段,按照空洞邊緣的順序,平均分配虛擬位置給其間的邊緣節(jié)點。
[0014]映射完畢后,由發(fā)現(xiàn)節(jié)點發(fā)起虛擬位置分發(fā)包,將各邊緣節(jié)點對應(yīng)的虛擬位置坐標(biāo)和空洞中心坐標(biāo)沿著原探測包路徑分發(fā)到相應(yīng)的邊緣節(jié)點。在邊緣節(jié)點收到虛擬位置分發(fā)包之后,向自己的鄰居節(jié)點廣播虛擬信息數(shù)據(jù)包。
[0015]所述步驟3的具體步驟為:
根據(jù)空洞位置和數(shù)據(jù)包目的節(jié)點位置,把從目的節(jié)點向映射虛擬圓的兩條切線與映射虛擬圓的圓心至兩條切線的垂線所圍成的閉合區(qū)域劃分為接近區(qū)。在包含映射虛擬圓的兩條切線區(qū)域內(nèi),去除接近區(qū)后剩余的區(qū)域劃分為脫離區(qū)。在節(jié)點分布范圍內(nèi),去除接近區(qū)和脫離區(qū)后的區(qū)域劃分為自由區(qū)。
[0016]最后在不同區(qū)域內(nèi)執(zhí)行不同的路由規(guī)則:
規(guī)則I處于接近區(qū)內(nèi)的節(jié)點,選擇虛擬圓上較靠近目的節(jié)點的映射節(jié)點作為下一跳路由節(jié)點;
規(guī)則2處于脫離區(qū)內(nèi)的節(jié)點,優(yōu)先選擇在實際地理位置上較靠近目的節(jié)點的節(jié)點作為下一跳路由節(jié)點;若不存在,則選擇虛擬圓上較靠近目的節(jié)點的映射節(jié)點作為下一跳路由節(jié)點;
規(guī)則3處于自由區(qū)內(nèi)的節(jié)點,若出現(xiàn)貪婪算法失效問題,則發(fā)起空洞探測過程。
[0017]本發(fā)明的有益效果。通過本發(fā)明的應(yīng)用,在無線傳感器網(wǎng)絡(luò)中可以克服路由空洞導(dǎo)致的貪婪算法失效問題,同時僅通過一次處理,就可以使得通過空洞的其他來自不同源節(jié)點或不同目的節(jié)點的數(shù)據(jù)包順利繞過空洞,提高了路由效率,降低了控制信息開銷,從而節(jié)省能量消耗。
【專利附圖】
【附圖說明】[0018]圖1為無線傳感器網(wǎng)絡(luò)中路由空洞分布圖 圖2為邊緣節(jié)點探測示意圖
圖3為邊緣節(jié)點探測流程圖 圖4為虛擬映射后的虛擬位置節(jié)點分布圖 圖5為部分邊緣節(jié)點映射示意圖 圖6為空洞周邊區(qū)域劃分圖
【具體實施方式】:
實施例1:
網(wǎng)絡(luò)模型:
本文實例假定節(jié)點隨機均勻分布在一個二維平面區(qū)域內(nèi),并且具有如下的性質(zhì):
(1)所有的節(jié)點有唯一的節(jié)點標(biāo)識ID ;
(2)所有節(jié)點是同構(gòu)的,即具有相同的處理和通信能力;
(3)所有節(jié)點均可通過GPS或其他的定位方法獲得自身的地理位置坐標(biāo),
(4)所有節(jié)點都預(yù)先設(shè)定存儲空間來存儲以下信息:
節(jié)點自身ID和節(jié)點地理位置二維坐標(biāo)(X,Y);
是否使用虛擬坐標(biāo)的布爾值;
自身虛擬坐標(biāo)(H)以及所屬映射虛擬圓的圓心坐標(biāo)(X2J2)和半徑;
數(shù)據(jù)的目標(biāo)節(jié)點或基站ID和節(jié)點地理位置二維坐標(biāo)(Χ,y);
鄰居節(jié)點的ID及其相應(yīng)的地理位置二維坐標(biāo)(Χ,y);
使用虛擬坐標(biāo)的鄰居節(jié)點ID及其相應(yīng)的虛擬位置二維坐標(biāo)(Χ,y)。
[0019]本方法主要用到以下兩種數(shù)據(jù)包和一種消息類型:
空洞探測包:數(shù)據(jù)包內(nèi)存儲貪婪算法的失效時間,邊緣節(jié)點的ID和對應(yīng)的地理位置信息,用于收集邊緣節(jié)點信息。
[0020]虛擬位置分發(fā)包:數(shù)據(jù)包內(nèi)存儲虛擬映射圓的中心坐標(biāo)和半徑,各邊緣節(jié)點的ID和對應(yīng)的虛擬位置信息,用于當(dāng)前空洞信息的分發(fā)。
[0021]虛擬信息數(shù)據(jù)包:包含了虛擬映射圓的中心坐標(biāo)和半徑,邊緣節(jié)點的ID和對應(yīng)的虛擬位置信息,用于向鄰居節(jié)點廣播。
[0022]下面參照附圖對本發(fā)明提出的無線傳感器網(wǎng)絡(luò)路由空洞處理方法的【具體實施方式】進(jìn)行說明:
如圖1所示,某源節(jié)點向目的節(jié)點£丨發(fā)送數(shù)據(jù)包,當(dāng)數(shù)據(jù)包到達(dá)節(jié)* 1時,貪婪模式失效,出現(xiàn)路由空洞,此時轉(zhuǎn)入空洞處理,主要分為三個階段:
O空洞探測階段
如附圖2所示,£)為目的節(jié)點,節(jié)點、h、h均可相互通信,節(jié)點h為當(dāng)前空洞的發(fā)現(xiàn)節(jié)點。~生成空洞探測包后,按照右手法則選取節(jié)占為一下跳節(jié)點。,把空洞探測包發(fā)送給節(jié)點&。節(jié)點h把其節(jié)點ID和地理位置添加到探測包內(nèi),同樣按照右手法則選取下一條節(jié)點。在此過程中節(jié)點~將始終偵聽探測包轉(zhuǎn)發(fā)并接收,當(dāng)節(jié)點4按照右手法則把探測包發(fā)送給&2時,節(jié)盧i接收到探測包,此時bi判定探測算法執(zhí)行完畢,丟棄數(shù)據(jù)包不再
轉(zhuǎn)發(fā)。流程圖如附圖3所示。
[0023]2)虛擬映射階段
首先發(fā)現(xiàn)節(jié)點h根據(jù)空洞探測包內(nèi)包含的空洞邊緣節(jié)點ID和對應(yīng)地理位置坐標(biāo)信息
計算出空洞的中心點O ,然后再計算出邊緣節(jié)點至該中心點的最大距離內(nèi)。以空洞中心點
力圓心、以A為半徑的圓確定為該空洞的映射虛擬圓,如附圖4中所示以力圓心的圓。
映射虛擬圓確定之后,進(jìn)行虛擬坐標(biāo)的映射,以附圖5中所示空洞周邊部分邊緣節(jié)點& -夂為例:
根據(jù)規(guī)則1,以映射虛擬圓的圓心O為起點,沿著邊緣節(jié)點4和~作延長線,該延長線與映射虛擬圓的交點為^/和^ ,即別為邊緣節(jié)點!^和^的虛擬映射節(jié)點。
[0024]根據(jù)規(guī)則2,節(jié)點.?、~和&4的延長線與空洞邊緣相交兩次以上,則查找該邊緣節(jié)點前后首個僅相交一次的節(jié)點,然后^在映射虛擬圓上這兩個節(jié)點的虛擬位置和¥中間段,按照空洞邊緣的順序,平均分配虛擬位置得到點^、每和4和?即為節(jié)點h、*3和&的虛擬映射節(jié)點。
[0025]映射完畢后,由發(fā)現(xiàn)節(jié)點^發(fā)起虛擬位置分發(fā)包,將各邊緣節(jié)點對應(yīng)的虛擬位置坐標(biāo)和空洞中心坐標(biāo)沿著原探測包路徑分發(fā)到相應(yīng)的邊緣節(jié)點。在收到虛擬位置分發(fā)包之后,邊緣節(jié)點向自己的鄰居節(jié)點廣播信息數(shù)據(jù)包。
[0026]3)區(qū)域劃分階段
如附圖6所示,O為空洞中心,虛線所示圓為映射虛擬圓。從目的節(jié)點向映射虛擬圓作兩條切線,分別交于點m和》,由點O、w、》和D圍成的四邊形區(qū)域為該映射虛擬圓的接近區(qū),如圖中區(qū)域4在包含映射虛擬圓的兩條切線區(qū)域內(nèi),去除接近區(qū),剩余的區(qū)域為該映射虛擬圓的接近區(qū),如圖中區(qū)域忍;節(jié)點分布范圍內(nèi),其它區(qū)域稱為該映射虛擬圓的自由區(qū),如圖中區(qū)域C。
[0027]在三個不同區(qū)域中,路由的選擇方式不同,但均采用貪婪算法。具體規(guī)則如下: 規(guī)則I處于接近區(qū)的節(jié)點,即處于區(qū)域.4的節(jié)點,選擇虛擬圓上較靠近目的節(jié)點的映
射節(jié)點作為下一跳路由節(jié)點;
規(guī)則2處于脫離區(qū)的節(jié)點,即處于區(qū)域5的節(jié)點,優(yōu)先選擇在實際地理位置上較靠近目的節(jié)點的節(jié)點作為下一跳路由節(jié)點;若不存在,則選擇虛擬圓上較靠近目的節(jié)點的映射節(jié)點作為下一跳路由節(jié)點;
規(guī)則3處于自由區(qū)的節(jié)點,即處于區(qū)域C的節(jié)點,若出現(xiàn)貪婪算法失效問題,則發(fā)起空洞探測過程。
[0028]至此,通過上述方法對空洞的處理,可以使得數(shù)據(jù)包順利繞過空洞,并達(dá)到減少控制包,節(jié)約網(wǎng)絡(luò)能量的目的。
【權(quán)利要求】
1.一種無線傳感器網(wǎng)絡(luò)路由空洞處理方法,其特征在于以下步驟: 步驟1:發(fā)現(xiàn)節(jié)點(發(fā)現(xiàn)節(jié)點指貪婪算法失效的節(jié)點)發(fā)起探測包標(biāo)定空洞邊緣節(jié)點; 步驟2:發(fā)現(xiàn)節(jié)點把空洞邊緣節(jié)點映射到一虛擬圓上得到相應(yīng)的虛擬坐標(biāo),并發(fā)起分發(fā)包分發(fā)至各節(jié)點; 步驟3:對當(dāng)前空洞周邊區(qū)域進(jìn)行劃分,在不同區(qū)域中執(zhí)行不同的策略來選取下一跳節(jié)點,繞開無線傳感器網(wǎng)絡(luò)中的空洞。
2.根據(jù)權(quán)利要求1所述方法,其特征在于:發(fā)現(xiàn)節(jié)點在發(fā)現(xiàn)路由空洞后首先緩存當(dāng)前要轉(zhuǎn)發(fā)的數(shù)據(jù)包,隨后生成空洞探測包并發(fā)起空洞探測過程,空洞探測算法使用右手法則(或左手法則),對于各邊緣節(jié)點,在收到空洞探測包后,將自身ID和坐標(biāo)追加到空洞探測包尾部,然后再轉(zhuǎn)發(fā)到下一個邊緣節(jié)點。
3.根據(jù)權(quán)利要求2所述方法,其特征在于:當(dāng)同一空洞內(nèi)出現(xiàn)兩個或兩個以上的空洞探測包時,以探測包內(nèi)記錄的空洞發(fā)現(xiàn)時間先后為依據(jù),保留較早產(chǎn)生的探測包,丟棄較晚產(chǎn)生的探測包,確保一個空洞區(qū)域僅有一個發(fā)現(xiàn)節(jié)點。
4.根據(jù)權(quán)利要求1和2所述方法,其特征在于:根據(jù)空洞探測包內(nèi)包含的空洞邊緣節(jié)點ID和對應(yīng)地理位置坐標(biāo)信息計算空洞的中心點O以及邊緣節(jié)點至該中心點的最大距離I,采用以空洞中心點O為圓心i為半徑的圓來確定該空洞的映射虛擬圓。
5.根據(jù)權(quán)利要求4所述方法,其特征在于:以映射虛擬圓的圓心為起點,沿著各邊緣節(jié)點作延長線,該延長線與映射虛擬圓的交點即為各邊緣節(jié)點的虛擬映射節(jié)點。
6.根據(jù)權(quán)利要求4所述方法,其特征在于:若出現(xiàn)延長線與空洞邊緣相交兩次以上的情況,則查找該邊緣節(jié)點前后首個僅相交一次的節(jié)點,然后在映射虛擬圓上這兩個節(jié)點的虛擬位置中間段,按照空洞邊緣的順序,平均分配虛擬位置給其間的邊緣節(jié)點。
7.根據(jù)權(quán)利要求1所述方法,其特征在于:由發(fā)現(xiàn)節(jié)點發(fā)起虛擬位置分發(fā)包,將各邊緣節(jié)點對應(yīng)的虛擬位置坐標(biāo)和空洞中心坐標(biāo)沿著原探測包路徑分發(fā)到相應(yīng)的邊緣節(jié)點,在邊緣節(jié)點收到虛擬位置分發(fā)包之后,向自己的鄰居節(jié)點廣播虛擬信息數(shù)據(jù)包。
8.根據(jù)權(quán)利要求1所述方法,其特征在于:把當(dāng)前空洞的周邊區(qū)域劃分為接近區(qū)、自由區(qū)和脫離區(qū),在不同區(qū)域內(nèi)執(zhí)行不同路由規(guī)則。
【文檔編號】H04W52/02GK103702381SQ201210366953
【公開日】2014年4月2日 申請日期:2012年9月28日 優(yōu)先權(quán)日:2012年9月28日
【發(fā)明者】董恩清, 張德敬, 錢鵬, 喬富龍, 孫祺, 常樹旺, 張軍蕊 申請人:山東大學(xué)(威海), 董恩清