曾潔瓊 陶偉業(yè)
(1.廣東工貿(mào)職業(yè)技術學院實訓中心,廣東 廣州 510510;2.廣東藥學院醫(yī)藥信息工程學院,廣東 廣州 510006)
目前,在ZigBee網(wǎng)絡中考慮能量消耗因素對網(wǎng)絡造成的影響已經(jīng)取得了一些有價值的研究結論[1-2]。本文將提出一種以協(xié)調(diào)器為中心的與能量消耗有關的路由算法。
ZigBee網(wǎng)絡中的節(jié)點以自組織的方式實現(xiàn)了節(jié)點間的數(shù)據(jù)傳輸,如果某些節(jié)點頻繁地參與到數(shù)據(jù)通訊中,則其耗電量通常要比其他節(jié)點大很多,一旦過多的節(jié)點因電量耗盡而進入死亡狀態(tài),就可能對網(wǎng)絡產(chǎn)生較大的不良影響。分析ZigBee網(wǎng)絡中哪些節(jié)點會頻繁地進行分組發(fā)送具有十分重要的意義,因為頻繁發(fā)送分組節(jié)點勢必會消耗過多的能量而導致節(jié)點過早地進入死亡狀態(tài)。ZigBee網(wǎng)絡中的協(xié)調(diào)器在整個網(wǎng)絡中具有非常重要的作用,它負責組織和協(xié)調(diào)整個網(wǎng)絡,這樣就會導致協(xié)調(diào)器周邊的節(jié)點過多地承擔數(shù)據(jù)傳輸任務而耗費太多能量。因此,想辦法保護協(xié)調(diào)器周邊節(jié)點,讓它們盡量少地參與數(shù)據(jù)轉發(fā),是避免網(wǎng)絡出現(xiàn)局部區(qū)域失效的關鍵。為了在ZigBee網(wǎng)絡中實現(xiàn)能量負載均衡,所設計的路由算法要能達到以下目標:(1)盡量維護整個網(wǎng)絡的生存時間,避免網(wǎng)絡局部節(jié)點失效;(2)實現(xiàn)網(wǎng)絡中節(jié)點能量負載相對均衡,使得節(jié)點死亡狀態(tài)盡可能晚地出現(xiàn)。
本文提出了一種以協(xié)調(diào)器為中心的樹型結構能量均衡路由算法,以區(qū)別于純粹只考慮樹型結構的能量均衡路由算法[3]。該算法對傳統(tǒng)的ZigBee路由算法進行了改進,改進依據(jù)主要是結合ZigBee樹型網(wǎng)絡的特點,對路由開銷進行了重新計算,新的路由開銷計算基于以下假設:(1)網(wǎng)絡中數(shù)據(jù)的傳輸主要出現(xiàn)在高度節(jié)點和低度節(jié)點之間。ZigBee網(wǎng)絡的工作特性要求父節(jié)點向其對應的子孫節(jié)點發(fā)送控制分組和數(shù)據(jù)分組。并且,處于網(wǎng)絡中心地位的網(wǎng)絡協(xié)調(diào)器,通常都要對其他節(jié)點的數(shù)據(jù)進行集中處理,因此,網(wǎng)絡中數(shù)據(jù)的傳輸主要出現(xiàn)在高度節(jié)點和低度節(jié)點之間,可以認為上述假設是成立的。(2)網(wǎng)絡中每個節(jié)點的數(shù)據(jù)傳輸量比較接近,也就是說,對每個節(jié)點而言,它們都具有均等的數(shù)據(jù)傳輸機會。這種假設基于節(jié)點的平等性,盡管不一定適用于所有場合,但如果網(wǎng)絡有比較大的規(guī)模,并且運行時間足夠長,網(wǎng)絡中那些位于邊緣的節(jié)點就滿足這些情形。(3)網(wǎng)絡中所有普通節(jié)點的初始能量是相同的,并且所有節(jié)點在傳輸數(shù)據(jù)時所耗費的電量相等。ZigBee網(wǎng)絡因其特殊的應用場景,往往采用電池來提供能量,一般而言,在安裝電池時,這些電池都是同種型號而且初始電量相同。在實際的數(shù)據(jù)傳輸過程中,無論是發(fā)送分組還是接收分組,因時間極其短暫,所耗費的電量差別可以忽略不計?;诖?,上述假設也能成立。
根據(jù)上面的描述對ZigBee網(wǎng)絡中的樹型拓撲結構進行分析可以知道這種拓撲結構中網(wǎng)絡的通信特點。越是靠近協(xié)調(diào)器的節(jié)點,其網(wǎng)絡通信的匯聚功能就體現(xiàn)得越明顯,因而會比普通節(jié)點承擔更多的數(shù)據(jù)通信任務,如果不對其通信進行適當控制的話,其耗費的電量將會很多且容易過快地進入節(jié)點死亡狀態(tài)。為了避免這種情形的發(fā)生,這樣的節(jié)點應該擁有比普通節(jié)點要大一些的路由開銷值,這樣在分組數(shù)據(jù)的傳輸過程中,路由策略就會讓分組盡可能地不要讓這些節(jié)點來承擔,從而實現(xiàn)能量均衡。
根據(jù)ZigBee網(wǎng)絡的特性,如果某個節(jié)點的網(wǎng)絡深度為d,則父節(jié)點所分配到的地址子塊的大小可以用下述表達式來表示:
以包含100個全功能型節(jié)點的星型網(wǎng)絡拓撲結構作為模擬仿真環(huán)境,其中,Cluster-Tree的值設為:Lm=7,Cm=4。對于每個節(jié)點功率的設定,參照符合ZigBee規(guī)范的CC2430系列芯片。節(jié)點無論是接收分組還是發(fā)送分組數(shù)據(jù),假定其耗費的能量都是一樣的。
為了對新的路由算法性能進行衡量,需要在新的路由協(xié)議和修改之前的路由協(xié)議之間進行比較,選取2種不同協(xié)議在相同場景中的仿真實驗數(shù)據(jù)進行對比。圖1和圖2形象地反映了2種不同路由協(xié)議下的實驗結果。
圖1 節(jié)點的能量剩余值比較
圖2 不同場景下死亡節(jié)點個數(shù)比較
圖中,ZBR表示傳統(tǒng)的路由算法,E-ZBR表示改進后新的能量均衡路由算法。從圖1中可知,在采用E-ZBR算法時,那些靠近網(wǎng)絡協(xié)調(diào)器附近深度較高節(jié)點的能量剩余值比常規(guī)ZBR算法下的能量剩余值要高。由此可知,靠近網(wǎng)絡協(xié)調(diào)器附近的高度節(jié)點其能量的耗費得到了控制,這表明網(wǎng)絡中的低度節(jié)點承擔了一些原本由高度節(jié)點承擔的數(shù)據(jù)傳輸任務。由圖2可知,單純采用ZBR協(xié)議的網(wǎng)絡在400 s的時候便出現(xiàn)了第一個死亡節(jié)點,之后隨著仿真時間的推移,越來越多的節(jié)點因能量耗盡而死亡;而E-ZBR在489 s的時候才出現(xiàn)節(jié)點死亡,且在相同的仿真時間內(nèi),出現(xiàn)的死亡節(jié)點數(shù)量也要少于采用ZBR時的死亡節(jié)點數(shù)。
在ZigBee樹型結構的網(wǎng)絡中,保護高層節(jié)點以避免其消耗過多能量,能夠均衡網(wǎng)絡整體耗能,是延長網(wǎng)絡生存時間的一項重要舉措。本文深入分析了ZigBee樹型結構網(wǎng)絡的特點,提出了一種以協(xié)調(diào)器為中心的樹型結構能量均衡路由算法。該算法對傳統(tǒng)的ZigBee路由算法進行了改進,主要是在路由開銷的計算中考量了能量因素,仿真實驗表明考慮了能量因素的路由算法與原始的路由算法相比能平衡節(jié)點的能量消耗和減少節(jié)點的死亡。
[1]郝曉萌.基于ZigBee的無線糧情監(jiān)測系統(tǒng)中路由協(xié)議的研究[D].北京郵電大學,2009
[2]Volkan Rodoplu,Teresa H.Meng.Minimum Energy Mobile Wireless Networks[J].IEEE Transactions Selected Areas on Co mmunications,1999(8)
[3]王琛,柴喬林,王芳.基于樹形結構的ZigBee能量均衡協(xié)議研究[J].計算機工程與設計,2009(15)