周偉



摘 要: 為解決大規模無線傳感器網絡的節點通信效率問題,提出無線傳感器網絡的一種多匯聚節點分簇算法,針對擁有多個匯聚節點的監控區域,對網絡進行層次化管理。算法通過對多種參數的綜合考慮后產生簇頭,并將傳感器節點分配到相應的簇,由此可以有效降低節點的非均勻能耗,減少因能耗較大節點的能量過度衰竭而造成網絡可用率下降。仿真結果顯示,該算法可以延緩首個死亡節點的發生時間,并能有效延長無線傳感器網絡的整體可用率。
關鍵詞: 無線傳感器網絡; 匯聚節點; 分簇算法; 能耗降低
中圖分類號: TN711?34; TP393 文獻標識碼: A 文章編號: 1004?373X(2017)13?0026?04
Abstract: In order to solve the problem of node communication efficiency for large?scale wireless sensor network, a multiple sink nodes based clustering algorithm for wireless sensor network is presented. Aiming at the monitoring area with multiple sink nodes, the hierarchical management is performed for the network. The various parameters are considered comprehensively in the algorithm to generate the cluster head, and sensor nodes are distributed to the corresponding clusters to reduce the uneven energy consumption of the nodes, and avoid the network availability decline caused by the excessive energy exhaustion of the nodes with large energy consumption. The simulation results show that the algorithm can delay the occurrence time of the first death node, and prolong the overall availability of the wireless sensor network effectively.
Keywords: wireless sensor network; sink node; clustering algorithm; energy consumption reduction
0 引 言
無線傳感器網絡是通信網絡與傳感器技術的融合產物,廣泛應用于工業、農業、軍事、醫療等多種領域[1]。隨著現代科技的不斷進步,傳感器的集成度越來越高,尺寸越來越小,成本也不斷降低[2],這也為大規模、低成本地使用傳感器進行組網應用帶來了契機。
大規模無線傳感器網絡[3]的使用帶來了一些新的問題。例如,如何管理大片區域的大量傳感器節點[4],如何避免某些區域的傳感器因能量消耗過大而提早失去功能[5],如何實現有效的動態路由選擇等。采用分簇算法對網絡進行分層管理可以有效解決上述問題[6],并提升整個無線傳感器網絡的性能。
早期較為成熟的無線傳感器網絡分簇算法是LEACH算法[7]。該算法隨機產生簇頭,并將各個傳感器節點按照距離因素分配到鄰近簇頭,并周期性進行簇頭資格輪換,從而實現良好的分簇效果。HEED算法[8]是對LEACH算法的改進。該算法以節點的剩余能量為依據,按照一定概率產生簇頭。此外,還有一些算法在此基礎上做了進一步的優化[9],或者采用以地理位置等多種因素進行分簇的方法[10]。
上述這些算法絕大部分都是以單個匯聚節點為基礎,實現有中央控制的層次型網絡管理。在實際應用中,當網絡規模較大,覆蓋面積也較廣時,采取多個匯聚節點對網絡進行控制和管理[11],是一種有效的手段。多匯聚節點下的無線傳感器網絡的管理,不應該簡單采用將單匯聚節點網絡進行拼接的方式。因為這樣做會造成區域之間的割裂;同時,區域的地理特性往往與無線通信環境并不完全一致,地理分區對無線通信的效率分配缺乏幫助;而在網絡拓撲結構動態變化的情況下,簡單分區無法對這一變化進行適應和調整。
基于多匯聚節點的算法設計,就是為了解決在大規模網絡中使用單匯聚節點算法的不足。RDF算法[12]使用以節點位置為區分依據的柵格來劃分傳感器節點與匯聚節點的對應關系;HLBR算法[13]采用綜合節點剩余能量和到匯聚節點距離因素的負載均衡算法來解決到匯聚節點的路徑。然而這些算法的模型比較簡單,適應于較少匯聚節點情況下的網絡通信以及傳感器節點動態變化情況較小的場景。
本文提出一種多匯聚節點環境下的無線傳感器網絡分簇算法,針對大規模無線傳感器網絡的特點實施層次化的網絡管理。
1 多匯聚節點模型
對于大規模的無線傳感器網絡,使用多個匯聚節點,可以降低對單個匯聚節點發射功率的要求,也可解決因到單一匯聚節點的路由不可達[14]而導致的網絡崩潰問題。
1.1 匯聚節點的位置
多個匯聚節點一般應分散放置,以起到有效緩解大規模網絡的分散控制和匯聚節點有效冗余的作用。根據匯聚節點的布放位置和影響程度來考慮,主要有以下幾種:
(1) 相鄰關系。兩個匯聚節點位于監控區域一側的相鄰區域,在這兩個匯聚節點之間區域的傳感器節點都可以收到這兩個匯聚節點之間的信號,它們會根據特定的算法選擇匯聚節點。這類匯聚節點的位置安排,主要考慮到匯聚節點的冗余性,以及到匯聚節點路由的主備用安排。