王科強(qiáng), 張彥波, 項(xiàng)伍鋒
(1.河南大學(xué) 物理與電子學(xué)院,河南 開封 475004;2.南京炮兵學(xué)院 廊坊校區(qū),河北 廊坊 065000)
無線傳感器網(wǎng)絡(luò)(wireless sensor networks,WSNs)被廣泛應(yīng)用于軍事、航空、救災(zāi)、環(huán)境、醫(yī)療、工業(yè)、商業(yè)等領(lǐng)域[1]。在無線傳感器網(wǎng)中,傳感器節(jié)點(diǎn)一般體積較小,數(shù)量眾多,且多采用電池供電。由于節(jié)點(diǎn)部署的位置會影響節(jié)點(diǎn)參與網(wǎng)內(nèi)報(bào)文發(fā)送的任務(wù)數(shù),頻繁利用部分節(jié)點(diǎn),會導(dǎo)致這些節(jié)點(diǎn)過早消耗掉自身能量,退出網(wǎng)絡(luò)。如何提高能量有效性、均衡節(jié)點(diǎn)能耗進(jìn)而延長網(wǎng)絡(luò)壽命、避免網(wǎng)絡(luò)分裂等問題便成為無線傳感器網(wǎng)絡(luò)路由協(xié)議研究的重要內(nèi)容[2]。
近年來,許多研究工作通過研究不同應(yīng)用下的網(wǎng)絡(luò)層特性,提出了一系列路由協(xié)議?;诠?jié)點(diǎn)平面部署特點(diǎn)的比較成熟的路由協(xié)議有DD協(xié)議[3]、LEACH協(xié)議[4]以及PEGASIS協(xié)議[5]。DD協(xié)議可以分為:興趣擴(kuò)散、梯度建立、路徑加強(qiáng)和數(shù)據(jù)傳播4個階段[6]。DD協(xié)議減少了洪泛到網(wǎng)絡(luò)中的冗余信息,查詢驅(qū)動具有較高的健壯性。但是造成的網(wǎng)絡(luò)開銷大,不利于網(wǎng)絡(luò)擴(kuò)展。LEACH協(xié)議將網(wǎng)絡(luò)中節(jié)點(diǎn)分成不同的簇,簇內(nèi)節(jié)點(diǎn)將收集的數(shù)據(jù)發(fā)送給簇首,簇首將數(shù)據(jù)融合后傳送給匯聚節(jié)點(diǎn)。PEGASIS協(xié)議是一種基于鏈狀拓?fù)浣Y(jié)構(gòu)的路由協(xié)議,它利用貪婪算法在網(wǎng)絡(luò)中生成一條由節(jié)點(diǎn)組成的單鏈,數(shù)據(jù)沿鏈路進(jìn)行傳輸[7]。PEGASIS算法鏈路拓?fù)浣Y(jié)構(gòu)算法簡單,形成鏈路能耗低,能有效減少節(jié)點(diǎn)間通信的平均距離,并能減小LEACH協(xié)議在簇重構(gòu)過程中所產(chǎn)生的能耗。但是PEGASIS協(xié)議還存在以下問題[8]:1)數(shù)據(jù)傳輸過程依靠位置信息容易造成數(shù)據(jù)的迂回,不適應(yīng)于時延敏感的應(yīng)用場合;2)網(wǎng)絡(luò)維護(hù)路由信息會帶來額外的能量開銷;3)在數(shù)據(jù)傳輸過程中,沒有考慮節(jié)點(diǎn)的剩余能量。
由于PEGASIS協(xié)議存在的這些缺陷,國內(nèi)外學(xué)者就對它進(jìn)行了一系列的研究和改進(jìn)。分層均勻帶寬路由協(xié)議是目前常用的一種方式[9],它根據(jù)節(jié)點(diǎn)與BS距離遠(yuǎn)近,把觀測區(qū)劃分為幾個帶寬均勻的環(huán)帶,數(shù)據(jù)從信源節(jié)點(diǎn)逐步向距離BS較近的環(huán)帶內(nèi)節(jié)點(diǎn)進(jìn)行傳輸,直至將數(shù)據(jù)發(fā)送至BS。均勻帶寬路由協(xié)議避免了數(shù)據(jù)沿鏈路進(jìn)行傳送時造成的數(shù)據(jù)迂回,縮短了傳輸距離,減少了網(wǎng)絡(luò)能耗,并且能有效的減少數(shù)據(jù)延遲。
以上協(xié)議均未將通信距離和節(jié)點(diǎn)剩余能耗綜合起來作為選擇下一跳節(jié)點(diǎn)的門限,容易造成某些固定的節(jié)點(diǎn)因頻繁參與數(shù)據(jù)傳輸而過快耗盡能量退出網(wǎng)絡(luò),形成網(wǎng)絡(luò)分裂[10]。文獻(xiàn)[11]提出了對固定帶寬的路由協(xié)議進(jìn)行局部環(huán)帶調(diào)整的方案。該方案采用調(diào)整帶寬的方式來達(dá)到網(wǎng)內(nèi)負(fù)載均衡的目的,具有一定的效果。但是其部分帶寬未滿足閾值,即不調(diào)整的方案并不能夠很好地處理同網(wǎng)內(nèi)其他帶寬改變的情況,而且該算法不適用于事件觸發(fā)型的網(wǎng)絡(luò)環(huán)境。本文提出了一種自適應(yīng)帶狀分層路由協(xié)議。網(wǎng)絡(luò)在通信過程中會將觀測區(qū)劃分為數(shù)個環(huán)帶,并為環(huán)帶內(nèi)節(jié)點(diǎn)賦予不同ID,系統(tǒng)能自動調(diào)整全網(wǎng)帶寬,并且在鏈路形成過程中會綜合考慮節(jié)點(diǎn)剩余能量和數(shù)據(jù)發(fā)送能耗權(quán)重。
在本文算法中設(shè)定:場景為事件觸發(fā)型;每個節(jié)點(diǎn)初始能量均衡;節(jié)點(diǎn)位置隨機(jī)均勻分布在指定區(qū)域;傳感器網(wǎng)絡(luò)部署完成后,節(jié)點(diǎn)保持靜止;BS位于(0,0)位置;信源節(jié)點(diǎn)位于距離BS最遠(yuǎn)的環(huán)帶內(nèi)。
該協(xié)議中數(shù)據(jù)傳輸分3個階段:網(wǎng)絡(luò)系統(tǒng)初始化階段、數(shù)據(jù)報(bào)文傳輸階段和環(huán)帶寬度自動調(diào)整階段。
在網(wǎng)絡(luò)初始化階段,網(wǎng)絡(luò)中的節(jié)點(diǎn)按自己同BS的距離進(jìn)行均勻環(huán)狀區(qū)域劃分,形成一個以BS作為圓心的一簇同心的環(huán)帶,同時賦予網(wǎng)絡(luò)中所有節(jié)點(diǎn)ID號。ID號的賦予根據(jù)與BS的距離為標(biāo)準(zhǔn),賦予同一帶內(nèi)的節(jié)點(diǎn)同一ID號,距離BS越遠(yuǎn)的節(jié)點(diǎn)ID號越大。如圖1所示,觀測區(qū)范圍為100 m×100 m,節(jié)點(diǎn)隨機(jī)均勻分布,節(jié)點(diǎn)個數(shù)為100,觀測區(qū)均勻劃分為5個環(huán)帶,每個環(huán)帶由近及遠(yuǎn)ID分別為1,2,3,4,5。節(jié)點(diǎn)位于環(huán)帶劃分線上的節(jié)點(diǎn)屬于ID值較小的環(huán)帶。
圖1 均勻帶寬
在數(shù)據(jù)報(bào)文傳輸階段,假設(shè)信源節(jié)點(diǎn)位于距離BS最遠(yuǎn)的環(huán)帶內(nèi)。為避免遠(yuǎn)離BS的節(jié)點(diǎn)直接與BS通信,達(dá)到延長網(wǎng)絡(luò)生存時間的目的[12],信源節(jié)點(diǎn)在尋找下一跳節(jié)點(diǎn)時候,只選擇ID號比自己低一級的環(huán)帶內(nèi)節(jié)點(diǎn)作為自己數(shù)據(jù)傳輸對象,在選擇下一跳節(jié)點(diǎn)時,本算法引入了基于節(jié)點(diǎn)剩余能量和通信距離的綜合門限值T,T的取值如公式(1)
(1)
節(jié)點(diǎn)在選擇下一跳最優(yōu)節(jié)點(diǎn)時,選擇T值最小的節(jié)點(diǎn)作為自己的下一跳節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸,當(dāng)此節(jié)點(diǎn)接收到上一跳節(jié)點(diǎn)傳送的數(shù)據(jù)之后,將數(shù)據(jù)與自身數(shù)據(jù)進(jìn)行融合后再依據(jù)門限值T尋找下一跳節(jié)點(diǎn),在數(shù)據(jù)傳送至ID號為1的節(jié)點(diǎn)時,此節(jié)點(diǎn)將數(shù)據(jù)傳到BS。在數(shù)據(jù)發(fā)送階段,節(jié)點(diǎn)在分配的時隙內(nèi)將監(jiān)測數(shù)據(jù)發(fā)送到下一跳節(jié)點(diǎn),不在當(dāng)前發(fā)送時隙內(nèi)的節(jié)點(diǎn)處于“休眠”狀態(tài)。其鏈路構(gòu)建流程如圖2所示。
圖2 分層帶寬自適應(yīng)路由協(xié)議構(gòu)造鏈流程
鏈路形成后,系統(tǒng)沿鏈路進(jìn)行數(shù)據(jù)傳輸,在進(jìn)行10輪數(shù)據(jù)傳輸后,系統(tǒng)將計(jì)算各環(huán)帶內(nèi)節(jié)點(diǎn)剩余平均能量值對全網(wǎng)帶寬進(jìn)行自動調(diào)整。使能量消耗較快的層帶寬按照最優(yōu)標(biāo)準(zhǔn)加寬,增加此帶中節(jié)點(diǎn)總數(shù)量,使網(wǎng)絡(luò)中能量均勻消耗,從而延長絡(luò)生存壽命。帶寬調(diào)整按照公式(2)進(jìn)行計(jì)算
(2)
圖3 動態(tài)帶寬
本文使用的是電磁波在自由空間傳播的能耗模型來計(jì)算網(wǎng)絡(luò)中無線數(shù)據(jù)報(bào)文發(fā)送的能量消耗數(shù)值。其中發(fā)射和接收所消耗的能量公式分別如公式(3)、式(4)所示
ETs(k,d)=Eelec×k+εfs×k×d2,
(3)
式中d為通信距離,k為發(fā)送比特?cái)?shù),ETx代表節(jié)點(diǎn)將kbit數(shù)據(jù)發(fā)送到dm距離時消耗的能量,Eelec為發(fā)射機(jī)或接收機(jī)處理單位bit消耗的能量,εfs為在自由空間內(nèi)發(fā)射機(jī)發(fā)送單位比特單位距離消耗的能量
ERx(k)=Eelec×k,
(4)
式中ERx(k)為節(jié)點(diǎn)接收kbit數(shù)據(jù)所消耗的能量。
由于每進(jìn)行一次數(shù)據(jù)處理,節(jié)點(diǎn)都需要對數(shù)據(jù)報(bào)文進(jìn)行壓縮和融合的處理,因此,從信源節(jié)點(diǎn)經(jīng)過(n-1)個節(jié)點(diǎn)最后傳送至BS的過程中,用于數(shù)據(jù)融合消耗的能量為
E=(n-1)×Eagg×k,
(5)
式中Eagg為節(jié)點(diǎn)融合每bit數(shù)據(jù)的能耗。
利用Matlab對本文所提方案進(jìn)行了仿真,并對仿真結(jié)果進(jìn)行了分析,與均勻帶寬路由協(xié)議作了比較。仿真中各項(xiàng)參數(shù)如表1所示。
表1 系統(tǒng)仿真參數(shù)設(shè)置
圖4顯示了在100 m×100 m網(wǎng)絡(luò)規(guī)模下,當(dāng)網(wǎng)絡(luò)中出現(xiàn)第一個節(jié)點(diǎn)死亡時,分層帶寬自適應(yīng)路由協(xié)議與均勻帶寬的路由協(xié)議參與網(wǎng)內(nèi)數(shù)據(jù)報(bào)文傳輸節(jié)點(diǎn)的平均剩余能量的比較。可以看出,分層帶寬自適應(yīng)路由協(xié)議參與網(wǎng)內(nèi)數(shù)據(jù)報(bào)文傳輸?shù)墓?jié)點(diǎn)能量消耗速度較均勻帶寬的路由協(xié)議要緩慢得多,本文算法引入了帶寬自動調(diào)整機(jī)制,使得網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)能耗更加均衡。均勻帶寬的路由協(xié)議在1110輪時第一個節(jié)點(diǎn)死亡,而分層帶寬自適應(yīng)路由協(xié)議則在10020輪時才出現(xiàn)第一個節(jié)點(diǎn)死亡,網(wǎng)絡(luò)壽命較均勻帶寬的路由協(xié)議提高了902 %。
圖4 網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)能耗曲線圖
圖5描述了系統(tǒng)進(jìn)行1 000輪數(shù)據(jù)傳輸時網(wǎng)內(nèi)節(jié)點(diǎn)的剩余能量方差分布圖,可以看出:分層帶寬自適應(yīng)協(xié)議網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)剩余能量方差隨著運(yùn)行輪數(shù)增加明顯小于均勻帶寬的路由協(xié)議,節(jié)點(diǎn)的剩余能量更加均衡。由于均勻帶寬的路由協(xié)議沒有采用有效的均衡機(jī)制,導(dǎo)致各節(jié)點(diǎn)之間能量消耗出現(xiàn)較大差別,而本文所提算法則綜合考慮了距離和節(jié)點(diǎn)剩余能量,節(jié)點(diǎn)選擇相對更加優(yōu)化,從而使能耗均衡量。
圖5 網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)剩余能量方差曲線圖
均衡節(jié)點(diǎn)能量、延長網(wǎng)絡(luò)壽命是設(shè)計(jì)無線傳感器網(wǎng)絡(luò)路由協(xié)議的重要目標(biāo)。本文提出的分層帶寬自適應(yīng)路由協(xié)議通過改建算法減小通信距離和均衡節(jié)點(diǎn)能耗。將網(wǎng)絡(luò)根據(jù)節(jié)點(diǎn)剩余能量進(jìn)行分層并建立最優(yōu)路徑。仿真結(jié)果表明:分層自適應(yīng)帶寬路由協(xié)議有效提高了網(wǎng)絡(luò)壽命,均衡了節(jié)點(diǎn)能耗。
參考文獻(xiàn):
[1] A1-Karaki J N,Karnal A E.Routing techniques in wireless sensor networks:A survey[J].IEEE Wireless Communication,2004,11(6):6-28.
[2] 余勇昌,韋 崗.無線傳感器網(wǎng)絡(luò)中基于PEGASIS協(xié)議的改進(jìn)算法[J].電子學(xué)報(bào),2008,36(7):1309-1313.
[3] Intanagonwiwat C,Govindan R,Estrin D.Directed diffusion for wireless sensor networking[J].IEEE/ACM Transactions on Networking,2003,11(1):2-16.
[4] Heinzelman W,Chandrakasan A,Balakrishnan K.Energy-efficient communication protocol for wireless microsensor networks[C]∥Proceedings of the 33rd Annual Hawaii Int′l Conf on System Sciences:IEEE Computer Society,2000:3005-3014.
[5] Lindsey S,Raghavendra C,Sivalingam K M.Data gathering algorithms in sensor networks using energy metrics[J].IEEE Tran-sactions on Parallel and Distributed Systems,2002,13(9):350-354.
[6] Macro D,Maniezzo V,Colorni A.The ant system:Optimization by a colony of cooperating agents[J].IEEE Transactions on Systems,Man,and Cybemetics—Part B,1996,26(1):29-41.
[7] 張 震,閆連山,潘 煒.基于LEACH和PEGASIS的簇頭成鏈可靠路由協(xié)議研究[J].傳感技術(shù)學(xué)報(bào),2010,23(8):1173-1178.
[8] Ibriq J,Mahgoub I.Cluster-based routing in wireless sensor networks:Issues and challenges [C]∥International Symposium on Performance Evaluation of Computer and Telecommunication Systems,2004:759-766.
[9] 王 波,蔣 衛(wèi),孫 燚.改進(jìn)PEGASIS的分層鏈樹路由協(xié)議[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2009,18(12):98-102.
[10] 張海洋,曾凡仔,羅 娟,等.無線傳感器網(wǎng)絡(luò)的能量均衡路由算法[J].計(jì)算機(jī)工程,2010,36(1):134-138.
[11] 陳祖爵,麻勰光,陳 媛.能量均衡的動態(tài)間隔分層路由協(xié)議[J].計(jì)算機(jī)應(yīng)用研究,2011,28(1):271-274.
[12] Lung C H,Zhou Chenjuan.Using hierarchical agglomerative clustering in wireless sensor networks:An energy-efficient and flexible approach[J].Ad Hoc Networks,2010,8(3):328-344.