徐萬一, 王 軍, 張亞君, 馬德朋
(沈陽化工大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院, 遼寧 沈陽 110142)
無線傳感器網(wǎng)絡(luò)WSN(Wireless Sensor Network)是由大量的無線傳感器節(jié)點(diǎn)構(gòu)成的、利用無線通信方式組成的一個多跳自組織網(wǎng)絡(luò)系統(tǒng)[1-3].它能夠?qū)崟r監(jiān)測、采集所處環(huán)境中的對象信息,并對其進(jìn)行量化、融合等處理,把處理后的信息通過無線方式發(fā)送給基站.WSN綜合了無線網(wǎng)絡(luò)技術(shù)、分布式技術(shù)和傳感器技術(shù),是一種新型的信息采集和信息處理技術(shù).
隨著無線傳感器網(wǎng)絡(luò)的廣泛應(yīng)用[4],對無線傳感器網(wǎng)絡(luò)的研究也成為了國內(nèi)外研究的一個熱點(diǎn).在國際上,美國自然科學(xué)基金會開設(shè)了相關(guān)項目對其進(jìn)行研究;同時國內(nèi)的清華大學(xué)、哈爾濱理工大學(xué)也開展了對WSN的研究工作.對無線傳感器網(wǎng)絡(luò)能耗的研究是無線傳感器網(wǎng)絡(luò)研究的熱點(diǎn)之一.
在傳統(tǒng)網(wǎng)絡(luò)的路由機(jī)制中,源節(jié)點(diǎn)選擇距離目的節(jié)點(diǎn)最短的符合條件的路徑來傳輸數(shù)據(jù).在無線傳感器網(wǎng)絡(luò)中如果采用傳統(tǒng)網(wǎng)絡(luò)的路由機(jī)制頻繁使用同一條路徑來傳輸數(shù)據(jù),由于節(jié)點(diǎn)能量等資源的限制,該路徑上的節(jié)點(diǎn)就會因過度耗能而提前死亡,縮短網(wǎng)絡(luò)的生存周期.由文獻(xiàn)[5]可知:采用非均勻分簇的路由機(jī)制可以有效地節(jié)約單個節(jié)點(diǎn)的能量,延長網(wǎng)絡(luò)生存周期.在源節(jié)點(diǎn)與目的節(jié)點(diǎn)采用多路徑路由機(jī)制將使數(shù)據(jù)傳輸所消耗的能量均衡地分配到整個網(wǎng)絡(luò).
本文以節(jié)約能耗、增加網(wǎng)絡(luò)有效運(yùn)行時間為目標(biāo),綜合考慮數(shù)據(jù)傳輸效率和路徑的可用性,提出一種改進(jìn)的基于多路徑的非均勻分簇路由協(xié)議[6](MEEUC協(xié)議),該協(xié)議綜合了多路徑和分簇路由協(xié)議的優(yōu)點(diǎn),具有更好的性能.
EEUC協(xié)議是一種非均勻分簇的無線傳感器網(wǎng)絡(luò)路由協(xié)議[7],采用的是EEUC路由算法.該算法是分布式的競爭算法,通過定義節(jié)點(diǎn)的競爭半徑R,使距離Sink節(jié)點(diǎn)近的簇半徑較小,距Sink節(jié)點(diǎn)遠(yuǎn)的簇半徑較大,半徑較小的簇其成員節(jié)點(diǎn)就較少,簇頭節(jié)點(diǎn)就可以把能量用于數(shù)據(jù)轉(zhuǎn)發(fā).EEUC協(xié)議與LEACH協(xié)議[8]相比,EEUC協(xié)議在平衡簇首節(jié)點(diǎn)的能量消耗方面做得更好,延長了網(wǎng)絡(luò)的生存周期.
EEUC協(xié)議簇首的選舉分為兩個階段:候選簇首產(chǎn)生階段和最終簇首產(chǎn)生階段.候選簇首階段,傳感器節(jié)點(diǎn)用自身產(chǎn)生的0到1之間的隨機(jī)數(shù)μ與預(yù)先設(shè)定的閾值相比較,若μ較小,則節(jié)點(diǎn)當(dāng)選為候選簇首,參與競選最終簇首[9].在最終簇首產(chǎn)生的過程中,候選簇首利用自身到匯聚節(jié)點(diǎn)的距離建立一個以自身為中心的控制范圍,其半徑為R,假設(shè)ni為一個節(jié)點(diǎn),則其競爭半徑為:
(1)
式1中:dmax是節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的最大距離;dmin是最小距離;DS為匯聚節(jié)點(diǎn);d(ni,DS)為節(jié)點(diǎn)ni到匯聚節(jié)點(diǎn)的距離;R0表示候選簇首的最大競爭半徑;c為用于控制節(jié)點(diǎn)半徑取值范圍的參數(shù)[8].
候選簇首根據(jù)競爭半徑建立鄰候選簇首集,然后剩余能量高的成功當(dāng)選為最終簇首,其他候選簇首節(jié)點(diǎn)成為普通節(jié)點(diǎn).最終簇首產(chǎn)生后,普通節(jié)點(diǎn)會選擇最近的簇首加入,完成簇的形成階段.當(dāng)進(jìn)行數(shù)據(jù)傳輸時,EEUC協(xié)議把通信過程分為兩步:簇內(nèi)通信與簇間通信.簇內(nèi)由于節(jié)點(diǎn)間距離較近,采用單跳通信的方式;而簇間通信為了節(jié)省網(wǎng)絡(luò)能耗采用多跳的通信方式[10].
EEUC協(xié)議需要計算所有傳感器節(jié)點(diǎn)到基站的距離,從中找出最近距離與最遠(yuǎn)距離,以計算各個節(jié)點(diǎn)的競爭半徑.若距離基站最近或最遠(yuǎn)的節(jié)點(diǎn)出現(xiàn)問題,則需要重新確定最近或最遠(yuǎn)距離,各節(jié)點(diǎn)重新計算其競爭半徑,并告訴其他節(jié)點(diǎn),這種方法增加了節(jié)點(diǎn)的能耗,也增加了網(wǎng)絡(luò)通信量.
EEUC在選擇候選簇首時,以預(yù)先設(shè)定好的概率參加競選,這樣會導(dǎo)致當(dāng)選簇首的節(jié)點(diǎn)不夠均衡,有些節(jié)點(diǎn)的能量可能不足.在選取下一跳節(jié)點(diǎn)時,只考慮了節(jié)點(diǎn)的能量,沒有考慮節(jié)點(diǎn)間的距離[11],會導(dǎo)致數(shù)據(jù)傳輸路徑的距離過長,增加節(jié)點(diǎn)的能耗.
EEUC采用單路徑進(jìn)行數(shù)據(jù)的傳輸,會使節(jié)點(diǎn)能耗分布不均衡,傳輸可靠性低.路由更新策略為經(jīng)過一定的輪次后進(jìn)行更新,這種更新策略靈活性不好,開銷比較大.
綜上所述,EEUC協(xié)議還存在問題,需要繼續(xù)進(jìn)行改進(jìn),使無線傳感器網(wǎng)絡(luò)更有效率.
考慮一個由N個傳感器節(jié)點(diǎn)隨機(jī)均勻分布的網(wǎng)絡(luò),其應(yīng)用場景為需要大量快速的轉(zhuǎn)發(fā)數(shù)據(jù).傳感器節(jié)點(diǎn)的傳輸范圍、初始能量、數(shù)據(jù)處理能力與無線通信能力都相同,每個節(jié)點(diǎn)都有一個唯一標(biāo)識能進(jìn)行數(shù)據(jù)融合,并且能在通信過程中確定彼此的相對位置.傳感器節(jié)點(diǎn)均可以計算自己的剩余能量、可用的存儲空間、與相鄰節(jié)點(diǎn)的距離.
MEEUC(Multipath-EEUC)協(xié)議是在EEUC協(xié)議的基礎(chǔ)上進(jìn)行了改進(jìn),主要是改進(jìn)簇頭競爭半徑的計算方法和以可靠性評估參數(shù)為依據(jù)在源節(jié)點(diǎn)與目的節(jié)點(diǎn)間建立多條路徑[12]進(jìn)行數(shù)據(jù)傳輸.相對于傳統(tǒng)的EEUC協(xié)議采用的單路徑路由,其傳輸可靠性高,節(jié)點(diǎn)能耗更加均衡.可靠性評估參數(shù)綜合考慮了可用緩存大小、剩余能量[13]、信道質(zhì)量、節(jié)點(diǎn)距離等信息,對節(jié)點(diǎn)的資源狀況全面進(jìn)行分析,解決了選取下一跳節(jié)點(diǎn)時沒有考慮節(jié)點(diǎn)距離的問題,避免了節(jié)點(diǎn)的過早死亡,延長了網(wǎng)絡(luò)生存周期.可靠性評估參數(shù)的計算方法如下:na表示節(jié)點(diǎn)a所有鄰節(jié)點(diǎn)的集合,表1為節(jié)點(diǎn)的各個參數(shù):
表1 節(jié)點(diǎn)狀態(tài)參數(shù)
如果b節(jié)點(diǎn)想要成為a節(jié)點(diǎn)的下一跳節(jié)點(diǎn),則其可靠性評估參數(shù)為:
Ra,b=maxb∈na{w0Eb+w1Bb+w2Qab+
(2)
式(2)中:Ra,b是節(jié)點(diǎn)a與節(jié)點(diǎn)b的可靠性評估參數(shù);Eb、Bb、Qab、Nb、Dab分別為節(jié)點(diǎn)b的剩余能量、節(jié)點(diǎn)b的可用緩存大小、節(jié)點(diǎn)a與節(jié)點(diǎn)b的信道質(zhì)量、節(jié)點(diǎn)b的簇內(nèi)成員數(shù)目、節(jié)點(diǎn)a與b之間的距離.用節(jié)點(diǎn)的狀態(tài)信息計算出單節(jié)點(diǎn)的可靠性評估值.在考慮節(jié)點(diǎn)剩余能量時,只考慮將要參加下一跳路由競選的節(jié)點(diǎn).可靠性評估值將作為節(jié)點(diǎn)選取下一跳路由節(jié)點(diǎn)時的依據(jù).
若源節(jié)點(diǎn)s到目標(biāo)節(jié)點(diǎn)d一共由X個節(jié)點(diǎn)組成一條路徑P,則該路徑的可靠性評估值為:
(3)
式(3)中:源節(jié)點(diǎn)s到目標(biāo)節(jié)點(diǎn)d一共X個節(jié)點(diǎn),l個可靠性評估參數(shù);RP表示P路徑的可靠性評估參數(shù);(i,j)表示路徑中任意相鄰的兩個節(jié)點(diǎn);j∈ni表示節(jié)點(diǎn)j為節(jié)點(diǎn)i的相鄰節(jié)點(diǎn);R(i,j)l表示路徑中相鄰兩節(jié)點(diǎn)的可靠性評估參數(shù).隨著網(wǎng)絡(luò)節(jié)點(diǎn)不斷傳輸數(shù)據(jù),節(jié)點(diǎn)的狀態(tài)發(fā)生改變,可靠性評估值也會變化.當(dāng)網(wǎng)絡(luò)結(jié)構(gòu)發(fā)生變化時將重新計算路徑的可靠性評估參數(shù).
2.3.1 簇頭競爭半徑的計算規(guī)則
改進(jìn)后的MEEUC協(xié)議,節(jié)點(diǎn)計算其競爭半徑時,不依賴節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的最近和最遠(yuǎn)距離.由于節(jié)點(diǎn)的部署區(qū)域是固定的,并且節(jié)點(diǎn)的競爭半徑與所處的區(qū)域關(guān)系密切,因此,MEEUC協(xié)議采用下面公式計算節(jié)點(diǎn)的競爭半徑:
(4)
式(4)中:d為匯聚節(jié)點(diǎn)到節(jié)點(diǎn)部署區(qū)域的最遠(yuǎn)距離;d(ni,DS)為節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的距離;Xm、Ym表示節(jié)點(diǎn)在部署區(qū)域的橫坐標(biāo)與縱坐標(biāo);R0表示最大競爭半徑的取值;c是用于控制節(jié)點(diǎn)半徑取值范圍的參數(shù).采用這種計算方式,形成大小非均勻的競爭范圍,形成非均勻分簇[14],這樣靠近匯聚節(jié)點(diǎn)的候選簇首競爭半徑較小,會將更多能量用在簇間通信,降低了最近或最遠(yuǎn)節(jié)點(diǎn)發(fā)生變化時重新計算節(jié)點(diǎn)競爭半徑所消耗的能量.
2.3.2 路徑查找規(guī)則
無線傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)收集其可控范圍內(nèi)節(jié)點(diǎn)的信息,源節(jié)點(diǎn)根據(jù)這些信息選擇、創(chuàng)建到達(dá)最終節(jié)點(diǎn)的路徑.多條路徑可以共用一個節(jié)點(diǎn),即除了起始節(jié)點(diǎn)和結(jié)束節(jié)點(diǎn)外,存在相重合的節(jié)點(diǎn).MEEUC協(xié)議中這種共享節(jié)點(diǎn)經(jīng)過計算可以為多條路徑的數(shù)據(jù)傳輸提供能量,節(jié)點(diǎn)不會因能耗增加而在極短的時間內(nèi)死亡.這種節(jié)點(diǎn)相交的多路徑占用的網(wǎng)絡(luò)資源少,合理利用了網(wǎng)絡(luò)資源,平衡了網(wǎng)絡(luò)的能耗,充分利用了節(jié)點(diǎn)的能量.有研究表明能量優(yōu)化的節(jié)點(diǎn)相交路徑的路由性能好于傳統(tǒng)多路徑路由[15].
MEEUC協(xié)議采用的是節(jié)點(diǎn)相交的多路徑,該協(xié)議創(chuàng)建從源節(jié)點(diǎn)到目的節(jié)點(diǎn)3條路徑,即主路徑和2條次要路徑,3條路徑同時進(jìn)行數(shù)據(jù)的傳輸.路徑創(chuàng)建過程采用的算法類似于啟發(fā)式搜索,先對要搜索的位置進(jìn)行評估,從而得到最好的位置,再從這個位置進(jìn)行搜索,直到到達(dá)目標(biāo).這樣就可以節(jié)省大量無畏路徑的搜索,極大提高了搜索效率.MEEUC協(xié)議用可靠性評估值對位置進(jìn)行評估.
節(jié)點(diǎn)搜索過程的偽代碼如下:
選取節(jié)點(diǎn)n為源節(jié)點(diǎn);
while(Neighbor!=NULL)
{if(n節(jié)點(diǎn)==目標(biāo)節(jié)點(diǎn)){
break;}
for(當(dāng)前節(jié)點(diǎn)n的每個子節(jié)點(diǎn)X)
{計算X的可靠性評估值;
if(X節(jié)點(diǎn)沒有達(dá)到飽和狀態(tài)){
{
if(X的可靠性評估值是最大的){
把X設(shè)置為n的下一跳節(jié)點(diǎn);
更新節(jié)點(diǎn)自身的標(biāo)記值;}
}
}
if(X節(jié)點(diǎn)已經(jīng)達(dá)到飽和狀態(tài)){
拒絕其余節(jié)點(diǎn)發(fā)送的消息;}
}
“新的“兩委”班子成員到位以后,我們作為前任領(lǐng)導(dǎo),從工作上從思想上多方面地給予幫助,年輕人學(xué)習(xí)也快,進(jìn)入角色轉(zhuǎn)變角色都非???,現(xiàn)在都能正常地開展工作了。”一〇四團(tuán)西城西社區(qū)原負(fù)責(zé)人劉軍欣慰地說?!?/p>
}
在路徑查找時,可靠性評估值R最大的節(jié)點(diǎn)將會作為下一跳節(jié)點(diǎn)的最佳選擇,普通節(jié)點(diǎn)會向此節(jié)點(diǎn)發(fā)出其成為路由請求消息.在這個路由請求消息中包含的信息有源節(jié)點(diǎn)和目的節(jié)點(diǎn)的地址、與此節(jié)點(diǎn)的距離、中間信道的質(zhì)量、路由請求消息的有效時長、路徑的標(biāo)識信息[16].節(jié)點(diǎn)收到路由請求消息,如果符合條件,接受路由請求,并返回一個確認(rèn)消息,確認(rèn)消息中包含此節(jié)點(diǎn)的地址、節(jié)點(diǎn)的狀態(tài)信息和路徑可靠性評估.
節(jié)點(diǎn)轉(zhuǎn)發(fā)路由消息的條件:
(a) 當(dāng)節(jié)點(diǎn)比發(fā)送消息的鄰節(jié)點(diǎn)距離源節(jié)點(diǎn)更遠(yuǎn)、距離目的節(jié)點(diǎn)更近時才轉(zhuǎn)發(fā)路由請求信息,否則會丟棄此路由請求信息;
(b) 當(dāng)節(jié)點(diǎn)狀態(tài)已經(jīng)達(dá)到飽和狀態(tài)后進(jìn)入封閉狀態(tài),拋棄其余節(jié)點(diǎn)發(fā)來的路由請求消息.
條件(a)保證在路徑可靠性基礎(chǔ)上下一跳向目的節(jié)點(diǎn)方向收斂,條件(b)保證節(jié)點(diǎn)不會過早死亡[17].傳感器網(wǎng)絡(luò)用可靠性評估值R來選取下一跳路由節(jié)點(diǎn),可靠性評估值越大,其當(dāng)選下一跳節(jié)點(diǎn)的優(yōu)先級越高.以此類推,如果優(yōu)先級最大的節(jié)點(diǎn)不能滿足路由消息轉(zhuǎn)發(fā)的條件,將按照優(yōu)先級依次往下篩選,直至有符合條件的節(jié)點(diǎn)加入路徑.
每個節(jié)點(diǎn)都有一個using狀態(tài)值,其作用是記錄加入的路徑數(shù),滿足條件的下一跳節(jié)點(diǎn)會將其 using值加1,記錄本節(jié)點(diǎn)已經(jīng)加入的路徑.然后節(jié)點(diǎn)計算其自身剩余能量[18],當(dāng)剩余能量大于節(jié)點(diǎn)總能量的60 %時,繼續(xù)接受其他節(jié)點(diǎn)發(fā)來的路由請求信息,直至低于60 %時,節(jié)點(diǎn)不再接收路由請求消息,節(jié)點(diǎn)將其using值變?yōu)?00,表示節(jié)點(diǎn)達(dá)到飽和狀態(tài),同時向其余節(jié)點(diǎn)發(fā)送廣播信息,表明自己拒絕接收路由請求信息.節(jié)點(diǎn)按照這種策略進(jìn)行下一跳路由節(jié)點(diǎn)的選取,直至路由請求消息達(dá)到目的節(jié)點(diǎn).當(dāng)同時有多個節(jié)點(diǎn)的R值滿足條件時,節(jié)點(diǎn)根據(jù)收集到的信息優(yōu)先選取using值為0的節(jié)點(diǎn)作為下一跳節(jié)點(diǎn),using 值越小優(yōu)先級越高,當(dāng)出現(xiàn)多個節(jié)點(diǎn)using值相同時,選取R值較大的作為下一跳節(jié)點(diǎn).
2.3.3 路徑查找過程
(1) 初始化
節(jié)點(diǎn)向鄰節(jié)點(diǎn)發(fā)送一條初始化的廣播消息,當(dāng)相鄰節(jié)點(diǎn)收到消息后建立并維護(hù)一張Neighbor表,該表記錄了鄰節(jié)點(diǎn)的ID和相關(guān)參數(shù)及度量值.初始化消息中包含的內(nèi)容有源節(jié)點(diǎn)的ID、可用緩存大小、剩余能量、信道質(zhì)量、與此節(jié)點(diǎn)的距離.
(2) 主路徑發(fā)現(xiàn)
當(dāng)初始化工作完成后,源節(jié)點(diǎn)根據(jù)自身的Neighbor表,用可靠性評估值計算首選的下一跳節(jié)點(diǎn),并向其發(fā)送路由請求消息,按照MEEUC協(xié)議的規(guī)則進(jìn)行選擇,如此循環(huán)直到下一跳節(jié)點(diǎn)為目的節(jié)點(diǎn),具體過程如圖1所示.此時,目的節(jié)點(diǎn)向源節(jié)點(diǎn)發(fā)送一個路徑確認(rèn)消息,源節(jié)點(diǎn)收到此消息后更新自己與目的節(jié)點(diǎn)的路由表,至此,主路徑創(chuàng)建完成.
圖1 路徑發(fā)現(xiàn)過程
(3) 次要路徑發(fā)現(xiàn)
從源節(jié)點(diǎn)到目的節(jié)點(diǎn)建立的第一條路徑為主路徑.當(dāng)主路徑的信息更新完畢后,源節(jié)點(diǎn)繼續(xù)建立符合條件的次要路徑.以圖1為例,主路徑1-2-3-4-5已經(jīng)創(chuàng)建完畢,當(dāng)創(chuàng)建次要路徑時,節(jié)點(diǎn)7向節(jié)點(diǎn)6發(fā)送路由請求信息,但是節(jié)點(diǎn)6距離目的節(jié)點(diǎn)更近,不滿足轉(zhuǎn)發(fā)路由消息的條件,所以節(jié)點(diǎn)6向節(jié)點(diǎn)7返回拒絕消息.然后節(jié)點(diǎn)7根據(jù)收集到的信息再向節(jié)點(diǎn)2發(fā)送路由請求信息,但此時如果節(jié)點(diǎn)2達(dá)到飽和狀態(tài),using值變?yōu)?00,節(jié)點(diǎn)2不滿足轉(zhuǎn)發(fā)路由消息的條件,就會把節(jié)點(diǎn)7的路由請求消息丟棄,并且返回一個拒絕消息說明此節(jié)點(diǎn)已飽和.節(jié)點(diǎn)7收到拒絕消息后在自己的Neighbor表中將節(jié)點(diǎn)2標(biāo)記,然后繼續(xù)選擇下一節(jié)點(diǎn).節(jié)點(diǎn)7向節(jié)點(diǎn)8發(fā)送路由請求消息,此時節(jié)點(diǎn)8符合成為下一跳路由節(jié)點(diǎn)的要求,接收此路由請求并返回確認(rèn)消息,至此下一跳節(jié)點(diǎn)選擇完成.節(jié)點(diǎn)8繼續(xù)選擇下一跳路由節(jié)點(diǎn),假如此時節(jié)點(diǎn)4和節(jié)點(diǎn)9的可靠性評估值相同并且都符合轉(zhuǎn)發(fā)路由消息的條件,節(jié)點(diǎn)8會根據(jù)using值進(jìn)行選擇,節(jié)點(diǎn)4的using值為1,節(jié)點(diǎn)9的using值為0,最終節(jié)點(diǎn)8選取節(jié)點(diǎn)9為下一跳節(jié)點(diǎn).如此重復(fù)直到路由請求消息到達(dá)目的節(jié)點(diǎn),目的節(jié)點(diǎn)返回最終確認(rèn)消息.至此,從源節(jié)點(diǎn)到目的節(jié)點(diǎn)的次要路徑發(fā)現(xiàn)完畢.重復(fù)以上過程直到發(fā)現(xiàn)所有的次要可用路徑.
2.3.4 路徑選擇階段
當(dāng)路徑創(chuàng)建完畢后,簇首節(jié)點(diǎn)計算每條路徑的性能,從所有可用次要路徑中選出2條,同主路徑一同傳輸數(shù)據(jù).
Mi=C1×Rmin(i)+C2×Ri
(5)
式(5)中:Mi表示路徑的性能;C1、C2為權(quán)重值,C1=0.6,C2=0.4;Ri為路徑的可靠性評估參數(shù);Rmin為可用路徑中可靠性評估參數(shù)最小的值.令Pi為第i條路徑的傳輸概率,則:
(6)
簇首節(jié)點(diǎn)根據(jù)路徑的傳輸概率動態(tài)選擇兩條概率大的路徑同主路徑一同進(jìn)行數(shù)據(jù)傳輸.通信數(shù)據(jù)分時隙沿3條路徑進(jìn)行傳輸,每條路徑傳輸?shù)臄?shù)據(jù)是不同的,實現(xiàn)了網(wǎng)絡(luò)的負(fù)載平衡,減少了端對端的延遲,增加了其容錯性.
2.3.5 路由更新
MEEUC協(xié)議采用按接收數(shù)據(jù)包的大小更新路由.首先設(shè)置一個傳輸數(shù)據(jù)量閥值T(kb),目的節(jié)點(diǎn)記錄已經(jīng)傳輸?shù)臄?shù)據(jù)的量,其初始狀態(tài)為0,當(dāng)傳輸?shù)臄?shù)據(jù)量的大小超過閥值T時,記錄重置,撤銷創(chuàng)建的路徑,此路徑的節(jié)點(diǎn)的標(biāo)記量using值重置為0,進(jìn)行下一輪的路徑選擇.
這種根據(jù)傳輸數(shù)據(jù)量設(shè)定的路由更新策略能更好地適應(yīng)網(wǎng)絡(luò)的變化.與傳統(tǒng)的路由更新策略相比較,這種把已經(jīng)傳輸數(shù)據(jù)量的大小作為更新路由頻率依據(jù)的策略能更好地減少能量損耗,延長網(wǎng)絡(luò)生存周期.
與EEUC協(xié)議相比較,經(jīng)過改進(jìn)的MEEUC協(xié)議綜合考慮了節(jié)點(diǎn)的資源狀況,增加了可靠性評估參數(shù),避免了傳輸路徑過長的情況.EEUC協(xié)議需要先計算節(jié)點(diǎn)距匯聚節(jié)點(diǎn)的最近和最遠(yuǎn)距離,再計算節(jié)點(diǎn)競爭半徑,并且當(dāng)節(jié)點(diǎn)發(fā)生變化時需要重新計算節(jié)點(diǎn)的競爭半徑;MEEUC無需考慮節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的最近或最遠(yuǎn)距離,采用節(jié)點(diǎn)在部署區(qū)域中的坐標(biāo)來計算競爭半徑,降低了能量的消耗.EEUC采用單路徑路由進(jìn)行數(shù)據(jù)傳輸,MEEUC協(xié)議根據(jù)可靠性評估參數(shù)建立多條路徑傳輸數(shù)據(jù),平衡了節(jié)點(diǎn)能耗[18],增加了傳輸可靠性.EEUC協(xié)議采用周期性進(jìn)行路由更新的方式,MEEUC協(xié)議考慮了發(fā)送數(shù)據(jù)量的大小,按數(shù)據(jù)量的大小進(jìn)行路由的更新.
使用NS-2進(jìn)行仿真實驗.實驗中統(tǒng)計傳感器節(jié)點(diǎn)接收、發(fā)送控制包與數(shù)據(jù)包,融合數(shù)據(jù)損耗的能量.使用以下參數(shù)進(jìn)行仿真實驗:節(jié)點(diǎn)總數(shù)為400,網(wǎng)絡(luò)區(qū)域面積200 m×200 m,目的節(jié)點(diǎn)和源節(jié)點(diǎn)分別位于網(wǎng)絡(luò)區(qū)域的對角線兩端.假設(shè)實驗區(qū)域內(nèi)節(jié)點(diǎn)的發(fā)送功率為15mW,為了模擬快速大量轉(zhuǎn)發(fā)數(shù)據(jù)的環(huán)境,數(shù)據(jù)發(fā)送速率由標(biāo)準(zhǔn)的10 kb/s提高到20 kb/s,自身所含初始能量為2 J,有效傳輸距離為25 m,數(shù)據(jù)包長度為3 000 bit,控制包為200 bit,w0∶w1∶w2∶w3∶w4=3∶2∶3∶2∶2,實驗中采用理想無衰落信道,忽略無線通信模塊能量損耗.
圖2是LEACH、EEUC與MEEUC三種協(xié)議簇首損耗的總能量隨輪次的變化情況,數(shù)據(jù)范圍選取其前20輪中簇首損耗總能量.從圖2中可以看出:MEEUC協(xié)議中簇頭能量消耗隨輪數(shù)的增加保持比較平穩(wěn)的趨勢,能耗量也低于另外兩種協(xié)議.
圖2 每輪中簇頭損耗的能量
圖3中表示了網(wǎng)絡(luò)中存活節(jié)點(diǎn)數(shù)量隨輪數(shù)的變化情況.從圖3中可以看出:LEACH協(xié)議的第一個節(jié)點(diǎn)最早死亡,EEUC次之,網(wǎng)絡(luò)中一半節(jié)點(diǎn)的死亡輪次LEACH最早,EEUC次之,在這兩方面MEEUC都有優(yōu)勢.可以看出MEEUC協(xié)議使網(wǎng)絡(luò)中節(jié)點(diǎn)的能量消耗更加均衡,避免了節(jié)點(diǎn)的過早死亡,增加了傳感器網(wǎng)絡(luò)的有效存活時間,很大程度上提高了網(wǎng)絡(luò)的穩(wěn)定性.
圖3 不同協(xié)議的網(wǎng)絡(luò)節(jié)點(diǎn)存活數(shù)目對比
圖4表示了1 000輪中節(jié)點(diǎn)平均剩余能量的變化.從圖4中可以看出:MEEUC協(xié)議中節(jié)點(diǎn)平均剩余能量的變化幅度較小,變化率較低,節(jié)點(diǎn)的生存時間較長,表明其能量消耗很均衡,在單位能量下能夠獲得更長的有效存活時間.
圖4 不同協(xié)議的節(jié)點(diǎn)剩余能量對比
網(wǎng)絡(luò)的傳輸延遲是指數(shù)據(jù)包從網(wǎng)絡(luò)的源目標(biāo)到目的目標(biāo)所需的時間.圖5為3種協(xié)議的平均端對端延遲變化情況.從圖5中可以看出:MEEUC協(xié)議的曲線變化幅度較小,平均延遲低,說明MEEUC協(xié)議有效地降低了網(wǎng)絡(luò)的延遲時間和阻塞,提高了網(wǎng)絡(luò)的性能.在相同的時間和能量下可以傳輸更多的數(shù)據(jù),提高了能量的利用率.
圖5 不同協(xié)議的傳輸延遲對比
增加網(wǎng)絡(luò)節(jié)點(diǎn)生存時間,均衡網(wǎng)絡(luò)節(jié)點(diǎn)的能耗,延長網(wǎng)絡(luò)壽命是無線傳感器網(wǎng)絡(luò)路由協(xié)議設(shè)計非常重要的目標(biāo).本文通過分析研究已有的路由協(xié)議,在其基礎(chǔ)上提出了一種改進(jìn)的基于多路徑的路由協(xié)議.該協(xié)議對節(jié)點(diǎn)的剩余緩存大小、剩余能量、鄰節(jié)點(diǎn)簇內(nèi)成員數(shù)量等狀態(tài)信息進(jìn)行綜合考慮,通過優(yōu)化傳輸路徑來平衡網(wǎng)絡(luò)節(jié)點(diǎn)的能量損耗.仿真實驗結(jié)果表明:該協(xié)議更好地平衡了網(wǎng)絡(luò)中所有節(jié)點(diǎn)的能量消耗,充分利用有限資源,延長了無線傳感器網(wǎng)絡(luò)的生存周期.