劉 逵,劉三陽
(1.河南師范大學(xué) 數(shù)學(xué)與信息科學(xué)學(xué)院,河南 新鄉(xiāng)453002;2.西安電子科技大學(xué) 數(shù)學(xué)與統(tǒng)計學(xué)院,西安710071)
由于傳感器節(jié)點的工作環(huán)境通常比較惡劣,因此替換節(jié)點的電池或?qū)﹄姵剡M(jìn)行充電都十分困難,所以如何有效利用節(jié)點的有限能量[1-3],從而最大化地延長網(wǎng)絡(luò)壽命就變得至關(guān)重要。在監(jiān)控區(qū)域中部署移動基站[4-7]來收集數(shù)據(jù)信息是延長網(wǎng)絡(luò)壽命的一個重要手段。這是因為移動基站通過在監(jiān)測區(qū)域內(nèi)部巡回移動,可避免近基站節(jié)點的過早死亡而引發(fā)的路由空洞問題,同時在監(jiān)測區(qū)域中引入移動基站還可以有效減小網(wǎng)絡(luò)中數(shù)據(jù)的傳輸距離,進(jìn)而減少網(wǎng)絡(luò)的通信能耗。目前在移動基站方面的研究已有許多成果,如文獻(xiàn)[8]提出的Data Mules策略就是基于移動基站思想設(shè)計的。Data Mules策略是將基站固定在人或動物等移動載體上,然后采用隨機行走的方式在監(jiān)控區(qū)域內(nèi)移動并就近收集節(jié)點采集到的數(shù)據(jù)信息,但由于移動載體是無序運動的,從而造成網(wǎng)絡(luò)的通信延遲過大。文獻(xiàn)[9]提出了一種沿固定軌跡周期運行的基站移動策略。這種沿固定軌跡周期運行機制可以幫助網(wǎng)絡(luò)監(jiān)控者收集到監(jiān)控盲區(qū)內(nèi)的數(shù)據(jù)信息,但卻無法保證信息的適時性。
針對移動基站在無線傳感器網(wǎng)絡(luò)應(yīng)用中存在的弊端,本文提出了一種混合基站策略的網(wǎng)絡(luò)數(shù)據(jù)收集算法。該方法有效解決了無線傳感器網(wǎng)絡(luò)中節(jié)點能耗不均衡及通信延遲過大的問題,進(jìn)而達(dá)到了延長網(wǎng)絡(luò)壽命、保證采集數(shù)據(jù)適時性的目標(biāo)。同時本文所提算法還采用了一種中途數(shù)據(jù)攔截策略,這種策略可以有效減少網(wǎng)絡(luò)內(nèi)中轉(zhuǎn)數(shù)據(jù)的傳輸距離,從而提高數(shù)據(jù)在傳輸過程中的安全性。
網(wǎng)絡(luò)部署在一個正方形監(jiān)控區(qū)域內(nèi),區(qū)域內(nèi)各節(jié)點均被分配一個ID 號,節(jié)點利用無線通信裝置與其一跳通信范圍內(nèi)的鄰居節(jié)點進(jìn)行局部信息傳輸,然后以多跳中繼的方式將數(shù)據(jù)傳輸給基站。網(wǎng)絡(luò)中配備了兩個基站(一個移動基站和一個固定基站),固定基站被網(wǎng)絡(luò)操控者固定在監(jiān)控區(qū)域的邊界,充當(dāng)網(wǎng)絡(luò)的數(shù)據(jù)匯聚門戶;移動基站被固定在一個自動移動裝置上,充當(dāng)網(wǎng)絡(luò)的移動數(shù)據(jù)收集者。同時移動裝置上配備有定位裝置,可供移動基站適時了解自己的位置信息,然后根據(jù)監(jiān)控區(qū)域的邊界自動修正運動狀態(tài)。在基站的軟硬件配置方面,移動基站和固定基站一樣,擁有相同的存儲、計算和通信能力。
本文中假定移動基站采用隨機行走的移動策略,并用函數(shù)Mr來描述移動基站的移動狀態(tài)。移動基站每次轉(zhuǎn)移之前,函數(shù)Mr首先采用隨機數(shù)生成法在區(qū)間[-π,π]內(nèi)生成一個角γ,并將這個角定義為移動基站下一時刻的移動方向。移動基站的運動速度始終保持恒定,同時為了確定移動基站將來的位置,函數(shù)Mr將在區(qū)間[dmin,dmax]內(nèi)隨機選取一個數(shù)作為移動基站在方向γ上的移動距離。如果移動基站的新位置落在了監(jiān)測區(qū)域以外,則函數(shù)Mr將促使移動基站沿原路后退,直至退到監(jiān)測區(qū)域的邊界。移動基站每到一個位置,就開始利用局部查詢信息構(gòu)建網(wǎng)絡(luò)的以移動基站為根的有限衍生樹,如圖1所示,該有限衍生樹的層數(shù)由局部查詢信息的挖掘深度唯一決定。
圖1 以移動基站為根的有限衍生樹Fig.1 Limited propagation tree with the mobile sink as root
節(jié)點的能耗模型采用文獻(xiàn)[10]中的模型,同時網(wǎng)絡(luò)內(nèi)各節(jié)點均要建立并維護(hù)一張鄰居信息表并存儲如下信息:節(jié)點本身及其鄰居節(jié)點的ID號;節(jié)點本身及其鄰居節(jié)點的剩余能量信息;節(jié)點本身及其鄰居節(jié)點的地理位置信息;節(jié)點到達(dá)固定基站的最優(yōu)路由信息,包括該路徑從固定基站出發(fā)依次途經(jīng)各節(jié)點的ID 號字符串seqn1和該路徑的最優(yōu)路徑度D;節(jié)點到達(dá)移動基站的最優(yōu)路由信息,包括該路徑從移動基站出發(fā)依次途經(jīng)各節(jié)點的ID 號字符串seqn2、該路徑的最優(yōu)路徑度Dc和其最后更新時刻tu。
本文采用文獻(xiàn)[11]中的最優(yōu)路徑評定標(biāo)準(zhǔn),該標(biāo)準(zhǔn)側(cè)重考慮了網(wǎng)絡(luò)中各節(jié)點的負(fù)載均衡性,防止過度使用某些關(guān)鍵節(jié)點而導(dǎo)致其過早壞死,進(jìn)而引起網(wǎng)絡(luò)割裂。標(biāo)準(zhǔn)如下:
式中:λ1、λ2、λ3均為非負(fù)偏向參數(shù),通過對其調(diào)控來實現(xiàn)對各變量的偏向程度調(diào)整;σ 為路徑上各節(jié)點剩余能量的標(biāo)準(zhǔn)差;E1為路徑上的能量總消耗;E2為路徑上節(jié)點的平均剩余能量;E3為路徑上節(jié)點中的最小剩余能量。
本文設(shè)計一種混合基站策略的網(wǎng)絡(luò)數(shù)據(jù)收集方法,該策略在網(wǎng)絡(luò)中布置了兩種不同類型的基站。其中固定基站充當(dāng)網(wǎng)絡(luò)數(shù)據(jù)的匯聚門戶,移動基站作為網(wǎng)絡(luò)的移動數(shù)據(jù)收集者。移動基站每到達(dá)一個新位置,即采用查詢信息來構(gòu)建局部數(shù)據(jù)采集最小路徑樹,該樹的大小由查詢信息的網(wǎng)絡(luò)挖掘深度唯一決定。實踐表明[12],局部查詢信息的挖掘深度設(shè)定為網(wǎng)絡(luò)最優(yōu)路徑平均跳數(shù)的三分之一時,取得的效果最為顯著。局部數(shù)據(jù)采集最小路徑樹上的節(jié)點,如有信息需要發(fā)送,則立刻沿著該樹將信息發(fā)送給移動基站,同時樹上節(jié)點均開始倒計時,當(dāng)?shù)竭_(dá)事先設(shè)定的時間閾值時,該樹失效。網(wǎng)絡(luò)中不在局部數(shù)據(jù)采集最小路徑樹上的節(jié)點如有數(shù)據(jù)需要傳輸,則將沿著該節(jié)點路由列表中存儲的到固定基站的最優(yōu)路徑逐級傳輸給固定基站。如果途經(jīng)節(jié)點在局部數(shù)據(jù)采集最小路徑樹上,則途經(jīng)節(jié)點會對中轉(zhuǎn)數(shù)據(jù)進(jìn)行攔截,即將接收到的數(shù)據(jù)按其路由列表中存儲的到移動基站的路由進(jìn)行轉(zhuǎn)發(fā),進(jìn)而縮短網(wǎng)絡(luò)數(shù)據(jù)的傳輸距離,提高網(wǎng)絡(luò)中數(shù)據(jù)的安全性和適時性。
固定基站周期性地向網(wǎng)絡(luò)中發(fā)布查詢信息進(jìn)行路由初始化。查詢信息攜帶有記錄途經(jīng)各節(jié)點ID 號的字符串seqn、途經(jīng)各節(jié)點的平均剩余能量和途經(jīng)路由的最優(yōu)度D1。路由初始化時刻,固定基站不停向網(wǎng)絡(luò)里廣播查詢信息。當(dāng)節(jié)點收到查詢信息后,節(jié)點將會利用從查詢信息中釋放出的數(shù)據(jù)及其自身鄰居表中存儲的數(shù)據(jù)計算該查詢信息到達(dá)此節(jié)點所經(jīng)路徑的最優(yōu)路徑度D1,并將D1與自身鄰居表中存儲的Ds(Ds的初始值為∞)進(jìn)行比較,進(jìn)而決定是否更新鄰居列表中存儲的到固定基站的路由信息,路由初始化的偽代碼如下:
A=[];%記錄查詢信標(biāo)途經(jīng)節(jié)點剩余能量的矩陣
seqn=[];%記錄查詢信標(biāo)途經(jīng)節(jié)點ID 號的字符串
E1;%查詢信標(biāo)途經(jīng)路由的總能耗
Eij;%節(jié)點i和節(jié)點j之間的通信能耗
e1;%節(jié)點i的剩余能量
Algorithm 1
/*node i receive a setup beacon message come from the node j*/
2 updates the information contain by this setup beacon message
3 A=[A,ei];seqn=[seqn,IDi];E1=E1+Eij;E3=min(A1,A2,…,Astze(A));
4 E2=sum(A1,A2,…,Astze(A))/size(A);
5 σ=sqrt((A1-E2)^2+(A2-E2)^2+,…,+(Astze(A)-E2)^2)
6 D1=sqrt(λ1*σ^2+(λ2*E1/λ3*E2+λ4*E3)^2);
7 if(D1<D5)
8 node i will update its route optimal level by assigning D5=D1;
9 node i will update the old seqn1by assigning seqn1=seqn;
10 node i will broadcast this setup beacon message to its neighbors;
11 else if(D1=D5)
12 node i compare size(seqn1)with size(seqn)
13 if(size(seqn1)>size(seqn))
14 node i will update the old seqn1 by assigning seqn1=seqn;
15 node i will broadcast this setup beacon message to its neighbors;
16 else
17 node i drops this beacon message packet;
18 end
19 else
20 node i drops this beacon message packer;
21 end
22 end
如果D1<Ds,那么接收節(jié)點將開始更新其存儲的到固定基站的路由信息:首先更新最優(yōu)路徑度,將D1賦值給Ds;其次更新記錄的最優(yōu)路徑,將字符串seqn賦值給seqn1。結(jié)束后,接收節(jié)點開始更新查詢信息中存儲的數(shù)據(jù):首先將其ID 號存儲到字符串seqn尾端第一個空格中,然后將其剩余能量信息也加入到該查詢信標(biāo)中,最后按能耗公式計算并更新查詢信標(biāo)中存儲的由字符串seqn記錄的路由總能耗。接收節(jié)點更新完查詢信息后,即向其鄰居節(jié)點廣播該查詢信息。
如果D1=Ds,那么該接收節(jié)點首先從查詢信息中提取出字符串seqn,然后比較其鄰居表中存儲的字符串seqn1與字符串seqn的長度。如果字符串seqn的長度大于字符串seqn1的長度,那么接收節(jié)點丟棄該查詢信息;否則,接收節(jié)點將首先更新其存儲在鄰居表中的最優(yōu)路徑信息,將字符串seqn賦值給seqn1。然后更新查詢信息,并向其鄰居節(jié)點廣播該查詢信息。
如果D1>Ds,接收節(jié)點丟棄這個查詢信息。初始化結(jié)束之后,網(wǎng)絡(luò)中各節(jié)點均形成并各自維護(hù)一張存儲有到固定基站最優(yōu)路徑信息的鄰居表。
移動基站每到達(dá)一個新位置就開始廣播查詢信標(biāo)來構(gòu)造新的最小路徑樹。查詢信標(biāo)中攜帶有如下信息:移動基站的有效停留時間tthres、查詢信標(biāo)的剩余轉(zhuǎn)發(fā)次數(shù)ttl、記錄途經(jīng)各節(jié)點ID 號的字符串seqn0、途經(jīng)各節(jié)點的平均剩余能量和所經(jīng)路徑的最優(yōu)度D2。網(wǎng)絡(luò)中各節(jié)點均保存有其到移動基站的最優(yōu)路徑度Dc,Dc的初始值為∞,同時設(shè)置一個時間戳tu來記錄Dc的上次更新時刻。當(dāng)節(jié)點在時刻tb接收到查詢信標(biāo),則節(jié)點將利用其鄰居表中存儲的信息和從查詢信標(biāo)中釋放出的信息來計算該查詢信標(biāo)所經(jīng)路由的路徑度D2,然后決定是否更新其到移動基站的路由信息。構(gòu)建最小路徑樹算法的偽代碼如下:
tb:% 查詢信標(biāo)被接收時的時刻
ttl:% 時間戳
tthres:% 局部衍生樹有效壽命
Algorithm2
/*node i receive a beacon message come from the node j*/
1 if a beacon message is received by node i
2 updates the information contain by this setup beacon message
3 A=[A,ei];seqn0=[seqn0,IDi];E3=min(A1,A2,…,Asize(A));
4 E1=E1+Eij;E2=sum(A1,A2,…,Asize(A))/size(A);
5 σ=sqrt((A1-E2)^2+(A2-E2)^2+,…,+(Asize-E2)^2;
6 D2=sqrt(λ1*σ^2+(λ2*E1/λ3*E2+λ4*E3)^2);
7 if(D2<Dc)
8 node i will update its route optimal level by assigning Dc=D2;
9 node i will update the old seqn2by assigning seqn2=seqn0;
10 node i will assign tu=ib and assign ttl=ttl-1;
11 if(ttl>0)
12 node i broadcasis this beacon message to its neighbors;
13 else
14 node i drops this beacon message packet;
15 end
16 else if(D2≥Dcand tb>tb+tthres)
17 node i will update its route optimal level by assigning Dc=D2;
18 node i will update the old seqn2by assigning seqn2=seqn0;
19 node i will assign tu=ib and assign ttl=ttl-1;
20 if(ttl>0)
21 node i broadcasis this beacon message to its neighbors;
22 else
23 node i drops this beacon message packet;
24 end
25 else
26 node i drops this beacon message packer;
27 end
28 end
如果D2<Dc,則接收節(jié)點將首先更新其到移動基站的最優(yōu)路徑信息:將D2賦值給Dc、將tb賦值給時間戳tu、將字符串seqn0賦值給seqn2;然后按如下規(guī)則更新查詢信標(biāo)中存儲的信息:將其ID號存儲在字符串seqn0尾端第一個空格中;將剩余能量信息相應(yīng)加入到該查詢信標(biāo)中;計算并更新查詢信標(biāo)中存儲的由字符串seqn0記錄的路由總能耗;按公式解ttl=ttl-1修正查詢信標(biāo)的剩余轉(zhuǎn)發(fā)次數(shù)。如果修正后的ttl值大于零,則接收節(jié)點向其鄰居節(jié)點廣播該查詢信標(biāo);否則接收節(jié)點丟棄此查詢信標(biāo)。
如果D2≥Dc且tb>tu+tthres,則接收節(jié)點首先開始更新其到移動基站的最優(yōu)路徑信息:將D2賦值給Dc,將tb賦值給時間戳tu,將字符串seqn0賦值給seqn2;然后接收節(jié)點更新查詢信標(biāo),并借助剩余轉(zhuǎn)發(fā)次數(shù)ttl來判斷是否轉(zhuǎn)發(fā)該查詢信標(biāo)。
如果D2≥Dc且tb≤tu+tthres,則接收節(jié)點丟棄此查詢信標(biāo)。查詢過程結(jié)束時形成一個由移動基站為根的局部數(shù)據(jù)采集最小路徑樹,局部數(shù)據(jù)采集最小路徑樹的大小由網(wǎng)絡(luò)操控者事先設(shè)定好的查詢信標(biāo)轉(zhuǎn)發(fā)數(shù)ttl確定。
網(wǎng)絡(luò)中各節(jié)點均保存著其到達(dá)不同基站的最優(yōu)路徑信息,當(dāng)節(jié)點有數(shù)據(jù)需要傳輸給基站時,節(jié)點首先要判斷當(dāng)前是否存在通往移動基站的有效路由。例如網(wǎng)絡(luò)中節(jié)點A 有數(shù)據(jù)需要傳輸給基站時,節(jié)點A 首先需要核查其鄰居表中存儲的信息來判斷是否存在有通往移動基站的有效路由。如果A 鄰居表中存儲的到移動基站的最優(yōu)路徑度Dc≤∞且tb<tu+tthres,則說明此刻節(jié)點A 在以移動基站為根的局部數(shù)據(jù)采集最小路徑樹上,因此節(jié)點A 將沿著其鄰居表中存儲的到移動基站的最優(yōu)路徑把數(shù)據(jù)逐級傳輸給移動基站。如果節(jié)點A 鄰居表中存儲的到移動基站的最優(yōu)路徑度Dc=∞或Dc≤∞,但tb>tu+tthres,則說明此刻節(jié)點A 沒有通往移動基站的有效路徑。因此節(jié)點A 需要沿著其存儲的到固定基站的最優(yōu)路徑將數(shù)據(jù)逐級傳輸給固定基站。數(shù)據(jù)傳輸途中,如果途經(jīng)節(jié)點處在以移動基站為根的網(wǎng)絡(luò)局部數(shù)據(jù)采集最小路徑樹上,則該途經(jīng)節(jié)點將會對傳輸過來的數(shù)據(jù)進(jìn)行攔截,并將攔截到的數(shù)據(jù)轉(zhuǎn)發(fā)給移動基站。借助這種策略可將途經(jīng)局部數(shù)據(jù)采集最小路徑樹上節(jié)點的數(shù)據(jù)進(jìn)行有效攔截,進(jìn)而減少網(wǎng)絡(luò)的通信延遲和近基站節(jié)點的數(shù)據(jù)轉(zhuǎn)發(fā)量。數(shù)據(jù)收集算法的偽代碼如下:
t;%
tu;%
Algorithm 3
1 star=false
2 while star=false
3 the node whick has data packets to relay to the sinks extract the local
4 information like Dctu,ttherstored by itself;
5 if(Dc<∞&t<tu+tther)
6 this node will relay data packets to the mobile sink along the route
7 recording by seqn2 whick is stored by itself;
8 star=true
9 else
10 this node will relay data packers to its father neighbor node
11 along the route recording by seqn1which is stored by itself
12 if the ID of node that received data packets is same as the static sink
13 star=true;
14 end
15 end
16 end
將本文提出的混合基站數(shù)據(jù)收集算法(MDCA)與文獻(xiàn)[9]提出的混合基站數(shù)據(jù)收集算法(MSSM)、文獻(xiàn)[11]提出的移動代理聯(lián)合優(yōu)化路由算法(MACORA)以及文獻(xiàn)[12]提出的基于遺傳算法的移動基站算法(GA)進(jìn)行了仿真對比。在仿真實驗中,選擇節(jié)點數(shù)據(jù)包的產(chǎn)生速率為變量。這是因為節(jié)點數(shù)據(jù)包的產(chǎn)生速率越高,其對應(yīng)的網(wǎng)絡(luò)負(fù)載也就越大。網(wǎng)絡(luò)負(fù)載的高低直接影響數(shù)據(jù)包的通信延遲和傳輸成功率兩個指標(biāo)。網(wǎng)絡(luò)負(fù)載越大,對應(yīng)數(shù)據(jù)包的平均通信延遲就越大,同時對應(yīng)數(shù)據(jù)包的傳輸成功率也就越低。在實驗中,對不同算法取得的性能指標(biāo)值進(jìn)行了依次比較,所有對比數(shù)據(jù)都是經(jīng)過50次仿真實驗后求平均值獲得的。仿真實驗借助NS-2 軟件來實現(xiàn),實驗中的主要參數(shù)設(shè)置如下:實驗區(qū)域是一個900m×900m 的正方形區(qū)域,該區(qū)域內(nèi)隨機分布了250個節(jié)點;網(wǎng)絡(luò)中所有節(jié)點的通信半徑設(shè)定為R=60m,并設(shè)定移動基站的速度在實驗過程中始終保持5 m/s;網(wǎng)絡(luò)中所有節(jié)點的初始能量為7J;假定每個數(shù)據(jù)包為400bytes、查詢信息包為20bytes;實驗中移動基站發(fā)布的局部查詢信息的網(wǎng)絡(luò)挖掘深度為4。
圖2為不同網(wǎng)絡(luò)負(fù)載下在同一網(wǎng)絡(luò)中4種算法的平均通信延遲對比。平均通信延遲為網(wǎng)絡(luò)中數(shù)據(jù)包從源節(jié)點傳輸?shù)交镜钠骄臅r。由該圖可以看出,隨著網(wǎng)絡(luò)負(fù)載的加大,網(wǎng)絡(luò)的平均通信延遲也逐漸提升,但本文所提的MDCA 算法與其他算法相比增速最為緩慢。主要原因如下:首先,MDCA 算法在監(jiān)控區(qū)域內(nèi)引入了移動基站。由于移動基站可以在監(jiān)控區(qū)域中自由移動,其附近的節(jié)點可將數(shù)據(jù)包沿著局部數(shù)據(jù)采集最小路徑樹傳輸給移動基站,從而縮短了數(shù)據(jù)包在網(wǎng)絡(luò)中的傳輸距離、降低了網(wǎng)絡(luò)的通信延遲。其次,從偏遠(yuǎn)區(qū)域傳輸給固定基站的數(shù)據(jù)包如果途經(jīng)由移動基站構(gòu)建的局部數(shù)據(jù)采集最小路徑樹上的節(jié)點,則該節(jié)點將會對接收數(shù)據(jù)進(jìn)行攔截,然后沿著局部數(shù)據(jù)采集最小路徑樹將數(shù)據(jù)轉(zhuǎn)發(fā)給移動基站,因此有效縮小了網(wǎng)絡(luò)中數(shù)據(jù)包的傳輸距離,進(jìn)而減小了網(wǎng)絡(luò)中數(shù)據(jù)包的平均通信延遲。
圖2 平均通信延遲Fig.2 Average delay of communication
圖3 為相同網(wǎng)絡(luò)負(fù)載下不同算法對應(yīng)的數(shù)據(jù)包平均傳輸成功率之間的比較。由圖3可知:網(wǎng)絡(luò)中數(shù)據(jù)包的產(chǎn)生速率對網(wǎng)絡(luò)中數(shù)據(jù)包的平均傳輸成功率有非常明顯的影響。原因主要是隨著數(shù)據(jù)包產(chǎn)生速率的增高,網(wǎng)絡(luò)中數(shù)據(jù)包之間的報文沖突也將急劇增加,進(jìn)而影響數(shù)據(jù)包的平均傳輸成功率。采用MDCA 算法可以小幅提升網(wǎng)絡(luò)中數(shù)據(jù)包的平均傳輸成功率,與MACORA 算法相比,數(shù)據(jù)包的平均傳輸成功率提升6%~19%;與GA 算法相比,數(shù)據(jù)包的平均傳輸成功率提升4%~13%;與MSSM 算法相比,數(shù)據(jù)包的平均傳輸成功率提升2%~7%。主要是由于MDCA 算法在監(jiān)控區(qū)域中引入了移動基站,進(jìn)而可以保證收集到網(wǎng)絡(luò)監(jiān)控盲區(qū)及偏遠(yuǎn)斷裂區(qū)域內(nèi)的數(shù)據(jù)信息。同時,由于移動基站可以降低網(wǎng)絡(luò)中數(shù)據(jù)包的傳輸距離,因此該策略可以有效減少數(shù)據(jù)包長途傳輸過程中的出錯率,達(dá)到提升數(shù)據(jù)包傳輸成功率的目標(biāo)。
圖3 數(shù)據(jù)包的傳遞成功率Fig.3 Success rate of packet transmission
圖4 為4種算法對應(yīng)的網(wǎng)絡(luò)壽命情況。由該圖可得,本文提出的MDCA 算法能明顯提升網(wǎng)絡(luò)的壽命,主要是因為本文所提算法有如下優(yōu)點:首先,在監(jiān)控區(qū)域中引入了移動基站,通過移動基站靠近源節(jié)點和在數(shù)據(jù)傳輸途中實施攔截來減少數(shù)據(jù)的傳輸距離,進(jìn)而達(dá)到減少網(wǎng)絡(luò)中轉(zhuǎn)數(shù)據(jù)量和網(wǎng)絡(luò)能耗的目標(biāo);其次,MDCA 算法采用了一種能綜合兼顧跳數(shù)、路由總能耗和節(jié)點剩余能量的最優(yōu)路徑評價準(zhǔn)則,該評價準(zhǔn)則可以促使節(jié)點在選擇最優(yōu)路徑時,避開剩余能量小的節(jié)點,這樣可以保證網(wǎng)絡(luò)中節(jié)點的能量均衡性衰退,并避免某些關(guān)鍵節(jié)點被頻繁使用而過早死亡,進(jìn)而導(dǎo)致網(wǎng)絡(luò)出現(xiàn)路由空洞或網(wǎng)絡(luò)割裂的情況。雖然在相同情況下,GA 算法取得的網(wǎng)絡(luò)壽命最高,但是GA算法是以高通信延遲為代價來換取網(wǎng)絡(luò)高壽命的。這是因為GA 算法在監(jiān)控區(qū)域中只配置了移動基站,因此網(wǎng)絡(luò)中的節(jié)點在采集數(shù)據(jù)信息后必須等待移動基站到達(dá)其附近來開始傳輸數(shù)據(jù),所以產(chǎn)生了如上的以犧牲通信延遲來獲取網(wǎng)絡(luò)壽命的狀況。
圖4 網(wǎng)絡(luò)壽命Fig.4 Network lifetime
圖5 為4種算法對應(yīng)的數(shù)據(jù)包的平均能耗情況。由于MDCA 算法在監(jiān)控區(qū)域中引入了移動基站,減小了網(wǎng)絡(luò)中數(shù)據(jù)包的平均傳輸距離,因此相應(yīng)減小了網(wǎng)絡(luò)中數(shù)據(jù)包的平均能耗。同時,減小數(shù)據(jù)包的傳輸距離還可以相應(yīng)提高數(shù)據(jù)包的安全性,進(jìn)而減少數(shù)據(jù)包的傳遞失誤率,達(dá)到降低數(shù)據(jù)包的平均能耗目標(biāo)。由圖5可知:MDCA 算法對應(yīng)的網(wǎng)絡(luò)中數(shù)據(jù)包的平均能耗與MACORA 算法相比降低了49%~57%;與MSSM 算法相比降低了33%~40%;與GA 算法相比降低了7%~17%??傊?,采用MDCA 算法后,網(wǎng)絡(luò)對應(yīng)的平均通信延遲等性能指標(biāo)均不同程度地有所提升。雖然移動基站在監(jiān)控區(qū)域中移動也會耗費一定的能量,但給網(wǎng)絡(luò)帶來的利益要比移動基站的花費大得多,所以本文所提的混合基站數(shù)據(jù)收集算法是可行的。
圖5 數(shù)據(jù)包的平均能耗Fig.5 Average energy consumption per packet
在上述實驗區(qū)域內(nèi)隨機拋灑100個傳感器節(jié)點生成監(jiān)控網(wǎng)絡(luò),同時令節(jié)點初始能量等參數(shù)的設(shè)置與上述實驗保持相同。將本文所提算法與文獻(xiàn)[13]提出的ASLEEP 算法及文獻(xiàn)[14]提出的ADAPT 算法進(jìn)行仿真對比。圖6描述了不同算法在網(wǎng)絡(luò)斷裂時各節(jié)點剩余能量的分布情況。由圖可知:本文所提策略可均衡網(wǎng)絡(luò)中各節(jié)點的能量消耗,避免近基站節(jié)點被過多使用而造成其過早死亡,并引起路由空洞的問題。這是因為移動基站減少了近基站節(jié)點傳輸數(shù)據(jù)的工作量,降低了關(guān)鍵節(jié)點的通信能量消耗;其次采用的最優(yōu)路徑評估標(biāo)準(zhǔn)能綜合兼顧路由跳數(shù)、路由總能耗和節(jié)點剩余能量等因素,促使源節(jié)點在構(gòu)建最優(yōu)路徑時避開剩余能量小的節(jié)點。這兩方面因素均能彌補網(wǎng)絡(luò)能耗不均衡的缺陷。
圖6 網(wǎng)絡(luò)中各節(jié)點的剩余能量Fig.6 Residual energy of each node in network
提出了一種應(yīng)用于事件驅(qū)動型傳感器網(wǎng)絡(luò)的混合基站策略的無線傳感器網(wǎng)絡(luò)移動數(shù)據(jù)收集算法。這種混合基站數(shù)據(jù)收集算法在監(jiān)控區(qū)域內(nèi)配置了兩個基站:在網(wǎng)絡(luò)數(shù)據(jù)收集過程中充當(dāng)網(wǎng)絡(luò)關(guān)口的作用的固定基站,在網(wǎng)絡(luò)數(shù)據(jù)收集過程中充當(dāng)一個數(shù)據(jù)騾子作用的移動基站。實驗表明,混合基站數(shù)據(jù)收集算法能顯著提高網(wǎng)絡(luò)的性能。因為采用兩種不同類型的基站可以取得互補所短的效果。同時移動基站在網(wǎng)絡(luò)中自由移動可以近距離接觸源節(jié)點,進(jìn)而減少數(shù)據(jù)包在網(wǎng)絡(luò)中的傳遞距離,達(dá)到節(jié)省網(wǎng)絡(luò)能耗、提高數(shù)據(jù)安全性的目標(biāo),而固定基站的存在則可以使網(wǎng)絡(luò)的通信延遲保持在一個可接受的范圍,即保證采集數(shù)據(jù)的適時性。
[1]石文孝,張閣,王繼紅,等.基于網(wǎng)格的異構(gòu)無線網(wǎng)絡(luò)負(fù)載均衡算法[J].吉林大學(xué)學(xué)報:工學(xué)版,2013,43(3):788-793.Shi Wen-xiao,Zhang Ge,Wang Ji-h(huán)ong,et al.Grid based load balancing algorithm over heterogeneous wireless networks[J].Journal of Jilin University Engineering and Technology Edition,2013,43(3):788-793.
[2]Abdulla A E A A,Nishiyama H,Kato N.Extending the lifetime of wireless sensor networks:a hybrid routing algorithm[J].Computer Communications,2012,35(9):1056-1063.
[3]Hanzalek Z,Jurcik P.Energy efficient scheduling for cluster-tree wireless sensor networks with timebounded data flows:application to IEEE 802.154/ZigBee[J].IEEE Transactions on Industrial Informatics,2010,6(3):438-450.
[4]周小佳,吳俠,閆斌.基于移動基站的動態(tài)無線傳感器網(wǎng)絡(luò)[J].西南交通大學(xué)學(xué)報,2011,46(5):793-802.Zhou Xiao-jia,Wu Xia,Yan Bin.Dynamic wireless sensor network based on mobile base station[J].Journal of Southwest Jiao Tong University,2011,46(5):793-802.
[5]Pazzi R W N,Boukerche A.Mobile data collector strategy for delay-sensitive applications over wireless sensor networks[J].Computer Communications,2008,31(5):1028-1039.
[6]Kinalis A,Nikoletseas S.Scalable data collection protocols for wireless sensor networks with multiple mobile sinks[J].40th Annual Simulation Symposium 2007,Washington,DC,USA,2007:60-72.
[7]Bi Y Z,Sun L M,Li N.BoSS:a moving strategy for mobile sinks in wireless sensor networks[J].International Journal Sensor Networks,2009,5(3):173-184.
[8]Jea D,Somasundara A,Srivastava M.Multiple controlled mobile elements(data mules)for data collection in sensor networks[J].1st IEEE International Conference on Distributed Computing in Sensor Systems 2005,Marina del Rey,CA,USA,2005:244-257.
[9]Chatzigiannakis I,Kinalis A,Nikoletseas S.Efficient data propagation strategies in wireless sensor networks using a single mobile sink[J].Computer Communications,2008,31(5):896-914.
[10]Wang J,Ma T H,Cho J S,et al.An energy efficient and load balancing routing algorithm for wireless sensor networks[J].Computer Science and Information System,2011,8(4):991-1007.
[11]劉逵,劉三陽,馮海林.雙信道無線傳感器網(wǎng)絡(luò)移動代理路由算法[J].西安交通大學(xué)學(xué)報,2012,46(2):113-118.Liu Kui,Liu San-yang,F(xiàn)eng Hai-lin.A mobile agent combination optimization routing algorithm in dual channel wireless sensor networks[J].Journal of Xi'an Jiaotong University,2012,46(2):113-118.
[12]Huang Z,Liu S Y,Qi X G.A genetic algorithm based strategy for mobile sink in wireless sensor networks[J].Advanced Science Letters,2011,4(11/12):3528-3536.
[13]Anastasi G,Conti M,F(xiàn)rancesco M D..Extending the lifetime of wireless sensor networks through adaptive sleep[J].IEEE Transactions on Industrustrial Informatics,2009,56(3):351-365.
[14]Francesco M D,Anastaci G,Conti M,et al.Reliability and energy-efficiency in IEEE 802.15.4/ZigBee sensor networks:an adaptive and cross-layer approach[J].IEEE Journal on Selected Areas in Communications,2011,29(8):1508-1524.