李 薇,侯 睿,楊文俊
(中南民族大學 計算機科學學院,湖北 武漢430074)
無線傳感器網絡(WSNs)中,節點需要存儲本地觀測數據,并能夠向最終的用戶方提供實際的觀測信息,其在建筑健康狀態監控[1]、環境監控[2]等多個領域中均已得到廣泛應用。然而,受傳感器節點能量、處理器性能和節點存儲空間等多方面因素的制約,傳感器已采集數據的存儲與處理往往都需要由網絡外部的高性能計算機來完成。因此,一些主要的應用均假定傳感器網絡能夠將實時數據連續地發送至匯聚節點[3]。但當網絡中出現失效節點或通信受到影響時,終端處理機將有可能無法連續地收到節點采集的數據,此時就需要在網絡內采用一定的數據存儲機制,并在節點失效的情況下能夠盡量地恢復重要數據。在早期的一些研究工作中,通常采用信源編碼以提高向匯聚節點的數據傳輸效率,它們往往利用數據中的時空關系壓縮數據[4],主要編碼方式可以分為分布式的變換編碼[5]、分布式的信源編碼[6]和向量編碼[7]等。而在恢復因節點失效而丟失的隨機數據時,傳統的方式往往只能恢復全部數據而無法進行部分恢復,而且都是基于全網中心化的編碼方式,計算量過大[8],因此,無法適用于傳感器網絡的應用。
本文針對以上這些問題,提出了一種新型的無線傳感器網絡數據存儲機制。根據節點間的相對位置和探測的事件類型進行分組,使得每個分組能夠承擔一定范圍內的一個或多個事件探測任務。在單個節點無法存儲組內所有事件信息的情況下,引入合作域的概念,通過基于網絡編碼[9]的協作存儲機制和存儲算法,極大地提高了數據存儲的有效性,加強了整個網絡的數據容錯能力。仿真結果表明:該機制能夠節約節點能量,提高節點數據的有效性,加強整個傳感器網絡的持續性。
假設在一個擁有N 個傳感器節點的網絡中,節點采集到的數據信息需要發送至匯聚節點以便進行下一步的處理。由于節點的無線傳輸速率有限,將所有實時數據均傳輸給匯聚節點所需的帶寬可能大大超出整個網絡的通信能力,因此,需要在節點中進行適當的數據緩存。此網絡中的每個節點均為同質節點,有一定的運算能力以便對數據進行有限的編解碼工作,以提高傳輸和存儲的有效性。
在將傳感器網絡部署在某些危險區域時,如地震帶、火災現場等,需要傳感器網絡能夠迅速地將實時數據反饋給上層用戶,并且能夠對網絡有一定的控制能力?;谝陨系募僭O和應用場景,可將設計目標總結如下:
1)能夠在最短時間盡可能多地向匯聚節點傳遞數據;
2)使網絡具有一定的可配置性,以便針對不同的監控情況對網絡加以控制;
3)網絡因具有一定的自適應性,以應變惡劣環境帶來的影響;
此機制的核心目標是對各種事件進行監測并管理節點采集到的數據信息,此外,還需要進行相關的分組控制、QoS調度和路由控制等工作。為了在有限的資源下達到此目標,引入合作域(cooperation region)的概念,即將網絡中監控事件類型一致并可以通過單跳或兩跳實現傳輸的臨近節點分為一組,并通過組內協商確定合作域的管理(cooperation manager,CM)節點。合作域內的成員節點實現數據冗余緩存,并由CM 統一進行管理。
為了說明合作域,首先給出其相關定義:令Z={z1,z2,…,zn}是由無線傳感器網絡中N 個節點所組成的集合,若)均可以直接進行通信或通過另一個節點)進行信息中轉,那么就稱zi,zj是鄰節點,且Z 可以形成一個合作域。
在網絡初始狀態下,節點會定時廣播本地的基本信息,如剩余能量、存儲能力等。每個節點接收到其他節點的信息后即可構建其本地的鄰節點列表。在一個高密度的網絡中,某些節點可能包含在多個節點的鄰節點列表中,如直接根據鄰節點列表建立合作域,那么就會使得不同合作域出現重疊,此時就需要通過選取管理節點建立彼此獨立的合作域,這一過程與APTEEN[10]等協議中簇頭節點的選取比較類似。但由于CM 要擔負起一定的管理功能,因此,引入了一個CM 判定的權重機制,即


由式(1)即可獲得節點i 的權重值wi,通過比較各節點的權重,選取剩余能量和存儲空間較多,而距離其他節點較近,即wi較大的節點作為CM 節點。
傳統的數據存儲方式往往未對數據進行編碼,或由于編解碼計算量過大且數據恢復困難而無法應用于傳感器網絡之中。如果不對數據進行編碼直接存儲,那么就需要在不同節點上保存冗余數據。當節點內存耗盡或一定周期之后,再隨機丟棄數據包。這樣一來,為達到較好的恢復效果,將消耗較多的內存和大量的查詢開銷。本文采用網絡編碼技術來解決這一問題,這種編碼方式可以將不同的數據糅合在一起,以減少對單個節點數據的依賴,從而增加數據的傳輸、存儲的可靠性,非常適合于傳感器網絡報文易丟失、節點容易失效的應用特點[11]。
增值稅新政對企業帶來減稅效應的研究 …………………………………………………………………… 謝 想 吳力佳(6/38)
實用網絡編碼將分組數據編碼成一組線性無關的數據,接收端只要能夠收到其中的一部分即可從中解碼出原始數據。在某段時間T 內,當某個合作域內的管理節點CM接收到其他合作域的待緩存數據后,將該組數據定義為一代,因此,同一代的數據包含一定的時空相關性。假設n 為這一組數據中的數據包數量,N 為合作域內當前的節點數量,那么原始數據包隊列向量可以表示為,其中的每個數據包向量的長度由數據包大小和有限域的尺寸,那么包中的每個字節就可以表示為向量中的一個元素,即pi,j。為簡化說明,此時假設所有數據包的大小一致,均為k 字節,則每個數據包可表示為


其中

在傳感器網絡中,為節省節點能量,節點在正常工作一段時間后就會進入休眠直到下次激活。盡管各節點的工作時長相同,但由于各節點的具體激活時間一般處于隨機狀態,可能造成管理節點需要較長時間才能與某些節點建立通信,進而導致管理節點難于將編碼后的數據即時、均勻地分發給合作域中的成員節點。雖然可以讓管理節點一直處于工作狀態,等待其他節點的激活以發送數據,但這種方式也將增大管理節點的能量消耗。因此,引入了激活時間控制機制。當合作域建立后,通過管理節點協調域內節點的激活時間點,使得管理節點在一定的周期內能夠與所有的成員節點均建立通信,以便及時地發送緩存數據。
管理節點編碼過程:
1)生成M×n 維的隨機系數矩陣Φ={φij},其中1≤i≤M,1≤j≤n;
2)IF 已完整收到一代數據中的所有數據包THEN
3)END IF;
4)IF 與節點ni(1≤i≤N)建立通信AND 未發送過緩存數據包THEN;
5)從P'中隨機選擇M/N 個包進行發送,并將它們從P'中刪除;
6)END IF。
當匯聚節點節點或其他的移動數據收集器訪問合作域并進行數據查詢時,合作域中的節點即可將編碼后的數據提交給接收對象。根據上文的編碼方式,此時需要獲取至少n 個已編碼的數據包才能對其進行解碼以獲得原始數據,即需要查詢[nN/M]個節點。接收到這些數據包后,從中提取出n×n 階的系數矩陣Ψ 和n×k 階的數據矩陣D,如果Ψ 滿秩,則可通過式(3)獲得原始數據

若Ψ 不滿秩,則需要繼續從合作域中的其他節點處獲得其他編碼數據包后再進行解碼。
能夠對網絡性能帶來根本影響的主要指標參數包括:1)每代數據組中的數據包數量n;2)合作域尺寸,即域內節點的數目N;3)編碼度M。
網絡性能主要可以通過以下指標進行判定:1)控制消息開銷;2)傳感器網絡內的信息可靠性,即出現節點失效后現有數據占原有數據的百分比;3)數據包解碼率。本文使用OMNeT++仿真平臺[12]實現了此機制的部分組件,以便于比較在不同參數下的具體網絡性能。仿真中的相關參數詳為:場景大小為100 m×100 m,仿真時間為2 h,節點數量為121 個,節點間距為10 m,節點通信半徑為20 m。
在實驗中,首先研究了不同合作域尺寸N 對控制信息開銷帶來的影響。如圖1 所示,隨著域尺寸的增長,整個控制信息所消耗的通信量在總通信量中所占的比例也隨之增長。主要原因在于,當合作域內節點數目增加時,為維持合作域的正常運行的調度開銷也會增加,選舉新的管理節點也更為復雜。

圖1 不同域尺寸下的控制信息開銷Fig 1 Control Information overhead of different region size
核心設計目標就是在有限的條件下盡量提高信息的可靠性。圖2 說明了在不同的域尺寸和節點失效比率的情況下數據有效率的變化。從圖2 中可知,當合作域內節點數目較多時,由于提取數據時很容易獲得一個滿秩的Ψ 矩陣,從而解碼出原始數據,使得節點失效對信息可靠性的影響不大。因此,在個別節點容易失效的環境下,增大域尺寸有利于提高信息的可靠性。從圖中可知,在節點失效率分別為10%和30%的情況下,如果要取得97%的信息可靠率,那么域內節點數目分別需要達到10 個和15 個。

圖2 不同平均域尺寸下的信息有效率Fig 2 Information availability rate of different average region size
雖然增加域尺寸對信息可靠性的提高大有裨益,但從圖1 可知,這同樣也增加了域內的控制信息開銷,使得節點能量消耗增加。因此,需要綜合考慮這些因素,設定一個合適的域尺寸,以便在盡量節約節點能量的前提下增加信息的有效性。
通過分析無線傳感器網絡的特性及其應用特點,針對節點存儲能力有限,無法將網內大量數據信息存儲在若干個存儲節點上的情況,提出了一種新型的基于合作域的傳感器網絡數據儲機制,以便在節約節點能量和內存開銷的前提下提高數據的可靠性。給出了其設計目標和體系結構,提出了數據存儲合作域、管理節點等基本概念,以及合作域的建立機制和管理節點的選取算法。通過仿真測試,證明其能夠在較低的資源開銷下提高信息的可靠性。
[1] Akio H,Kenichi S,Ruoshui L,et al.Lagrangian heuristic method for the wireless sensor networks design problem in railway structural health monitoring[J].Mechanical Systems and Signal Processing,2012,28:20-35.
[2] Mohd F,Khairunnisa S.Wireless sensor networks applications:A study in environment monitoring system[J].Procedia Engineering,2012,41:1204-1210.
[3] Ousmane D,Joel J,Mbaye S.Real-timedata management on wireless sensor networks:A survey[J].Journal of Network and Computer Applications,2012,35(3):1013-1021.
[4] Tossaporn S,Kamol K,Poonlap L,et al.Practical data compression in wireless sensor networks:A survey[J].Journal of Network and Computer Applications,2012,35(1):37-59.
[5] Oka A,Lampe L.Energy efficient distributed filtering with wireless sensor networks[J].IEEE Transaction on Signal Process,2008,56(5):2062-2075.
[6] Chew L W,Ang L M,Seng K P.Survey of image compression algorithms in wireless sensor networks[C]∥International Symposium on Information Technology,Kuala Lumpur:IEEE,2008:1-9.
[7] Donoho D L.Compressed sensing[J].IEEE Transaction on Information Theory,2006,52(4):1289-1306.
[8] Marcelloni F,Vecchio M.An efficient lossless compression algorithm for tiny nodes of monitoring wireless sensor networks[J].The Computer Journal,2009,52(8):969-987.
[9] Fragouli C,Boudec J L,Widmer J.Network coding:An instant primer[J].Computer Communication Review,2006,36(1):63-68.
[10]Manjeshwar A,Agrawal D P.APTEEN:A hybrid protocol for efficient routing and comprehensive information retrieval in wireless sensor networks[C]∥Proc of the 2nd Int'l Workshop on Parallel and Distributed Computing Issues in Wireless Networks and Mobile Computing,Florida:IEEE,2002:195-202.
[11]Li Y H,Zhang Q Y,Wu S H.Efficient data gathering with network coding coupled compressed sensing for wireless sensor networks[J].Information Technology Journal,2013,12(9):1737-1745.
[12]Weingartner E,Vom L H,Wehrle K.A performance comparison of recent network simulators[C]∥IEEE International Conference on Communications,Dresden:IEEE,2009:1-5.