1.一種無線傳感網(wǎng)中按需移動sink的多徑地理路由優(yōu)化方法,其特征在于,采用層次化邏輯結(jié)構(gòu)設(shè)計(jì),分別是鄰居表建立、路徑表建立和路由表建立三個(gè)階段。
2.根據(jù)權(quán)利要求1所述的一種無線傳感網(wǎng)中按需移動sink的多徑地理路由優(yōu)化方法,其特征在于,網(wǎng)絡(luò)模型為:假設(shè)N個(gè)無線傳感器節(jié)點(diǎn)均勻地隨機(jī)分布在以sink節(jié)點(diǎn)為圓心半徑為l的圓形區(qū)域,節(jié)點(diǎn)的通信半徑為r(r>0,r<<l)。假定所有節(jié)點(diǎn)的數(shù)據(jù)生成率相同,每單位時(shí)間生產(chǎn)一個(gè)包。節(jié)點(diǎn)數(shù)據(jù)傳輸率相同,節(jié)點(diǎn)的傳輸功率不變。
3.根據(jù)權(quán)利要求1所述的一種無線傳感網(wǎng)中按需移動sink的多徑地理路由優(yōu)化方法,其特征在于,能量模型:假設(shè)節(jié)點(diǎn)的初始能量均為E0,節(jié)點(diǎn)感知、注冊、無線電的傳輸和接收k比特包的總能耗Edll(k),由公式(1)計(jì)算。
Eall(k)=Esen(l)+Emem(k)+Etra(k,d)+Erec(k) (1)
其中,Esen(k)表示感知能耗,Emem(k)表示將感知數(shù)據(jù)讀寫入內(nèi)存的能耗,Etra(k,d)表示傳輸k比特包的傳輸能耗,d表示傳感器與事件發(fā)生點(diǎn)的距離,Erec(k)表示接收k比特包的接收能耗。
節(jié)點(diǎn)剩余能量Erem由公式(2)計(jì)算。
Erem=E0-Eall(k)-Eupd(k) (2)
其中,Eupd(k)表示鄰居表更新的能耗。當(dāng)鄰居表不更新時(shí),Eupd(k)=0。
4.根據(jù)權(quán)利要求1所述的一種無線傳感網(wǎng)中按需移動sink的多徑地理路由優(yōu)化方法,其特征在于,節(jié)點(diǎn)傳輸數(shù)據(jù)的總時(shí)間記為∑t; 節(jié)點(diǎn)的更新周期記為T;移動更新狀態(tài)標(biāo)識記為MFlag;剩余能量為Erem,成功傳輸k比特?cái)?shù)據(jù)的最低能量記為Emin(k)。該方法的具體步驟如下:
步驟一,鄰居表建立階段:
S1:初始化網(wǎng)絡(luò)配置,sink節(jié)點(diǎn)的MFlag=false;
S2:若節(jié)點(diǎn)i的∑t>T,則按照以下步驟建立鄰居表;
a、迭代:由公式(3)計(jì)算節(jié)點(diǎn)i(i=1)與節(jié)點(diǎn)j(j=i+1)的距離D;
其中,表示節(jié)點(diǎn)i,在t時(shí)刻時(shí)的位置坐標(biāo)。
b、若D<=r,則節(jié)點(diǎn)i廣播REQ消息;
c、若收到REQ消息的節(jié)點(diǎn)是sink節(jié)點(diǎn),sink節(jié)點(diǎn)檢測其MFlag是否為真,若為真,說明sink進(jìn)行了移動,則重新建立鄰居表,轉(zhuǎn)S5,否則,不更新鄰居表;
d、若收到REQ消息的節(jié)點(diǎn)不是sink節(jié)點(diǎn),則判斷REQ中節(jié)點(diǎn)i是否滿足條件:Erem>Emin,若是,則判斷節(jié)點(diǎn)i是否同時(shí)收到兩個(gè)或兩個(gè)以上的REQ,若是,由REQ中的跳數(shù)信息,按照跳數(shù)從小到大的順序,將節(jié)點(diǎn)加入鄰居表,轉(zhuǎn)S6;否則,轉(zhuǎn)e;
e、按照收到的REQ的時(shí)間順序加入鄰居表,轉(zhuǎn)S6;
f、若REQ中節(jié)點(diǎn)i不滿足條件:Erem>Emin,則節(jié)點(diǎn)i不加入鄰居表,i++;
g、若D>r,i++,轉(zhuǎn)h;
h、若i<N-1,則轉(zhuǎn)a;否則,轉(zhuǎn)S4;
S3:若節(jié)點(diǎn)i的∑t<T,則轉(zhuǎn)S4;
S4:判斷MFlag是否為真,若為真,則轉(zhuǎn)S5;否則節(jié)點(diǎn)進(jìn)入休眠或監(jiān)測狀態(tài);
S5:sink節(jié)點(diǎn)廣播當(dāng)前位置信息和先前的鄰居和當(dāng)前鄰居節(jié)點(diǎn);鄰居節(jié)點(diǎn)更新鄰居表;
S6:輸出鄰居表NQue;
步驟二,路徑表建立階段:
T1:由S6,按照幾何公式(4)計(jì)算節(jié)點(diǎn)i與sink間的距離D;
T2:若D<=r,則通信范圍內(nèi)的所有節(jié)點(diǎn)均發(fā)送ACK消息,若sink節(jié)點(diǎn)收到節(jié)點(diǎn)i的ACK消息,則節(jié)點(diǎn)按照ACK的接收時(shí)間順序加入路徑表隊(duì)列PQue,轉(zhuǎn)T8;否則,說明節(jié)點(diǎn)故障,則節(jié)點(diǎn)i加入禁忌表隊(duì)列TQue,轉(zhuǎn)T8;
T3:若D>r,則sink通信范圍外的節(jié)點(diǎn)j通過多跳發(fā)送Re ACK包;
T4:若sink收到Re ACK包,則將節(jié)點(diǎn)j按照接收Re ACK的時(shí)間順序加入PQue;否則轉(zhuǎn)T5;
T5:判斷節(jié)點(diǎn)j是否滿足以下兩個(gè)條件:
條件(1):節(jié)點(diǎn)j的Erem<=Emin
條件(2):節(jié)點(diǎn)j所在的路徑為“短板”路徑
T6:若滿足,則sink節(jié)點(diǎn)移動,MFlag=true,轉(zhuǎn)步驟一;
T7:若不滿足,則sink節(jié)點(diǎn)不移動,通過節(jié)點(diǎn)j的鄰居節(jié)點(diǎn)獲取j的信息;
T8:輸出PQue和TQue。
步驟三,路由表建立階段:
R1:由T8得到PQue,若PQue不為空,迭代比較,目標(biāo)函數(shù)值最優(yōu)的路徑加入PQue和TQue;轉(zhuǎn)R2;
R2:輸出路由表RQue;
R3:當(dāng)PQue為空時(shí),終止迭代,轉(zhuǎn)R4;
R4:調(diào)用步驟二,建立路徑表,若MFlag=true,則調(diào)用步驟一;否則,轉(zhuǎn)R5;
R5:計(jì)算的鏈路健康指數(shù)η,若η大于鏈路的健康閾值,則按照R2輸出的RQue隊(duì)列路由;否則,轉(zhuǎn)R6;
R6:若路徑pn是“短板”路徑,則MFlag=true,sink節(jié)點(diǎn)朝著“短板”路徑移動,并且pn從TQue中解禁;
R7:若路徑pn不是“短板”路徑,則MFlag=false;按照R2輸出的RQue路由。
5.根據(jù)權(quán)利要求1所述的一種無線傳感網(wǎng)中按需移動sink的多徑地理路由優(yōu)化方法,其特征在于,步驟三中所述的目標(biāo)函數(shù)構(gòu)成由公式(5)、(6)定義:
且滿足:
其中,和分別表示單位時(shí)間路徑pn上的節(jié)點(diǎn)i傳輸k比 特?cái)?shù)據(jù)的能耗和更新能耗,yi隨著MFlag值變化,若MFlag=true,則yi=1,否則,yi=0。f2(pn)表示路徑的重復(fù)度,即路徑pm和pn相同節(jié)點(diǎn)的個(gè)數(shù),f2(pn)越小表示路徑越不可替代,即路徑越關(guān)鍵。
6.根據(jù)權(quán)利要求1所述的一種無線傳感網(wǎng)中按需移動sink的多徑地理路由優(yōu)化方法,其特征在于,該方法將多個(gè)目標(biāo)函數(shù)轉(zhuǎn)化成單目標(biāo)優(yōu)化問題,即
公式(7)表示從滿足條件路徑集中求出一條路徑pn,使得單目標(biāo)優(yōu)化函數(shù)值最大。由于f2(pn)可能為0,即為不相交路徑,故公式(7)的分母作加1處理。
7.根據(jù)權(quán)利要求1所述的一種無線傳感網(wǎng)中按需移動sink的多徑地理路由優(yōu)化方法,其特征在于,所述的“短板”路徑是對鏈路健康指數(shù)的定義:
。