曾潔瓊 陶偉業
(1.廣東工貿職業技術學院實訓中心,廣東 廣州 510510;2.廣東藥學院醫藥信息工程學院,廣東 廣州 510006)
目前,在ZigBee網絡中考慮能量消耗因素對網絡造成的影響已經取得了一些有價值的研究結論[1-2]。本文將提出一種以協調器為中心的與能量消耗有關的路由算法。
ZigBee網絡中的節點以自組織的方式實現了節點間的數據傳輸,如果某些節點頻繁地參與到數據通訊中,則其耗電量通常要比其他節點大很多,一旦過多的節點因電量耗盡而進入死亡狀態,就可能對網絡產生較大的不良影響。分析ZigBee網絡中哪些節點會頻繁地進行分組發送具有十分重要的意義,因為頻繁發送分組節點勢必會消耗過多的能量而導致節點過早地進入死亡狀態。ZigBee網絡中的協調器在整個網絡中具有非常重要的作用,它負責組織和協調整個網絡,這樣就會導致協調器周邊的節點過多地承擔數據傳輸任務而耗費太多能量。因此,想辦法保護協調器周邊節點,讓它們盡量少地參與數據轉發,是避免網絡出現局部區域失效的關鍵。為了在ZigBee網絡中實現能量負載均衡,所設計的路由算法要能達到以下目標:(1)盡量維護整個網絡的生存時間,避免網絡局部節點失效;(2)實現網絡中節點能量負載相對均衡,使得節點死亡狀態盡可能晚地出現。
本文提出了一種以協調器為中心的樹型結構能量均衡路由算法,以區別于純粹只考慮樹型結構的能量均衡路由算法[3]。該算法對傳統的ZigBee路由算法進行了改進,改進依據主要是結合ZigBee樹型網絡的特點,對路由開銷進行了重新計算,新的路由開銷計算基于以下假設:(1)網絡中數據的傳輸主要出現在高度節點和低度節點之間。ZigBee網絡的工作特性要求父節點向其對應的子孫節點發送控制分組和數據分組。并且,處于網絡中心地位的網絡協調器,通常都要對其他節點的數據進行集中處理,因此,網絡中數據的傳輸主要出現在高度節點和低度節點之間,可以認為上述假設是成立的。(2)網絡中每個節點的數據傳輸量比較接近,也就是說,對每個節點而言,它們都具有均等的數據傳輸機會。這種假設基于節點的平等性,盡管不一定適用于所有場合,但如果網絡有比較大的規模,并且運行時間足夠長,網絡中那些位于邊緣的節點就滿足這些情形。(3)網絡中所有普通節點的初始能量是相同的,并且所有節點在傳輸數據時所耗費的電量相等。ZigBee網絡因其特殊的應用場景,往往采用電池來提供能量,一般而言,在安裝電池時,這些電池都是同種型號而且初始電量相同。在實際的數據傳輸過程中,無論是發送分組還是接收分組,因時間極其短暫,所耗費的電量差別可以忽略不計。基于此,上述假設也能成立。
根據上面的描述對ZigBee網絡中的樹型拓撲結構進行分析可以知道這種拓撲結構中網絡的通信特點。越是靠近協調器的節點,其網絡通信的匯聚功能就體現得越明顯,因而會比普通節點承擔更多的數據通信任務,如果不對其通信進行適當控制的話,其耗費的電量將會很多且容易過快地進入節點死亡狀態。為了避免這種情形的發生,這樣的節點應該擁有比普通節點要大一些的路由開銷值,這樣在分組數據的傳輸過程中,路由策略就會讓分組盡可能地不要讓這些節點來承擔,從而實現能量均衡。
根據ZigBee網絡的特性,如果某個節點的網絡深度為d,則父節點所分配到的地址子塊的大小可以用下述表達式來表示:

以包含100個全功能型節點的星型網絡拓撲結構作為模擬仿真環境,其中,Cluster-Tree的值設為:Lm=7,Cm=4。對于每個節點功率的設定,參照符合ZigBee規范的CC2430系列芯片。節點無論是接收分組還是發送分組數據,假定其耗費的能量都是一樣的。
為了對新的路由算法性能進行衡量,需要在新的路由協議和修改之前的路由協議之間進行比較,選取2種不同協議在相同場景中的仿真實驗數據進行對比。圖1和圖2形象地反映了2種不同路由協議下的實驗結果。

圖1 節點的能量剩余值比較

圖2 不同場景下死亡節點個數比較
圖中,ZBR表示傳統的路由算法,E-ZBR表示改進后新的能量均衡路由算法。從圖1中可知,在采用E-ZBR算法時,那些靠近網絡協調器附近深度較高節點的能量剩余值比常規ZBR算法下的能量剩余值要高。由此可知,靠近網絡協調器附近的高度節點其能量的耗費得到了控制,這表明網絡中的低度節點承擔了一些原本由高度節點承擔的數據傳輸任務。由圖2可知,單純采用ZBR協議的網絡在400 s的時候便出現了第一個死亡節點,之后隨著仿真時間的推移,越來越多的節點因能量耗盡而死亡;而E-ZBR在489 s的時候才出現節點死亡,且在相同的仿真時間內,出現的死亡節點數量也要少于采用ZBR時的死亡節點數。
在ZigBee樹型結構的網絡中,保護高層節點以避免其消耗過多能量,能夠均衡網絡整體耗能,是延長網絡生存時間的一項重要舉措。本文深入分析了ZigBee樹型結構網絡的特點,提出了一種以協調器為中心的樹型結構能量均衡路由算法。該算法對傳統的ZigBee路由算法進行了改進,主要是在路由開銷的計算中考量了能量因素,仿真實驗表明考慮了能量因素的路由算法與原始的路由算法相比能平衡節點的能量消耗和減少節點的死亡。
[1]郝曉萌.基于ZigBee的無線糧情監測系統中路由協議的研究[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能量均衡協議研究[J].計算機工程與設計,2009(15)