于泳
摘 要:無線傳感器網絡是一種全新的信息獲取和處理技術,應用領域廣泛,網內數據處理技術中傳輸效率和網絡傳輸負載是重點內容,而數據匯聚與數據路由相結合是實現網內數據處理的重要方法。數據匯聚通過對傳感器節點采集到大量具有高冗余度的原始數據進行一定的運算處理,提取少量可以取代原始數據的特征數據發送給匯聚節點,在保證數據有效性的同時減少傳感器節點的數據通信。這種算法能夠減輕了網絡的傳輸擁塞,提高了網絡性能,達到了能量平衡和能量效率的目的。
關鍵詞:傳感器網絡;數據匯聚;路由算法
1 引言
無線傳感器網絡是由大量的傳感器節點采用自組織方式構成的網絡,它能夠實時監測、感知和采集網絡分布區域內的各種監測對象的數據。在傳感器網絡的節能路由算法策略中,數據匯聚是一種十分有用的技術。提高節點能量利用效率是傳感器網絡的重點研究內容,而設計能量高效的節能路由協議是降低能耗的重要手段。針對分簇結構的傳感器網絡設計了基于數據包合并的數據匯聚路由算法:簇頭與簇成員之間的數據傳遞采用基于數據包合并的按需平均處理數據匯聚算法;簇頭與簇頭間的通信則采用基于數據中心地理位置的路由算法。該算法通過數據包按需平均處理可以減少簇成員上傳數據的冗余度,能夠提高整個網絡的傳輸效率和降低網絡的傳輸負載,能夠迅速高效地將信息傳遞給中心節點。
2 數據匯聚路由算法
數據匯聚技術可以在傳感器網絡協議棧的多個層次中實現,既可以在MAC協議中實現,也可以路由協議或應用層協議中實現。將路由技術與數據匯聚技術相結合是一個重要的問題,數據匯聚可以減少數據量,減輕數據匯聚過程中的網絡擁塞,提高網絡傳輸效率,協助路由協議延長網絡的生存時間。整個數據匯聚路由算法分兩大步:第一步為簇頭與簇成員之間的數據傳遞采用基于數據包合并的按需平均處理數據匯聚算法,第二步為簇頭與簇頭間的通信采用基于數據中心地理位置的路由算法。
2. 1 假設條件
為了使算法能夠在平臺上順利運作,要獲得或設定以下前提條件:
條件一:網絡中所有節點都能通過某種定位系統,如GPS,獲得節點位置信息,并且各節點事先知道中心節點的位置信息。
條件二:網絡中雖然存在三種類型的節點(中心節點、簇頭節點、普通節點),但節點天線發射功率是固定的,其覆蓋范圍是以半徑r的圓。
算法的實現過程如下:
2.1.1當簇頭節點有數據要發送時,先向鄰近簇頭節點廣播路由請求(RREQ),如果中心節點在其通信范圍內,直接向中心節點發送信息;
2.1.2如果收到RREQ的鄰近簇頭節點到中心節點的路徑比路由請求的節點短,就向請求節點發送路由應答(RREP);
2.1.3路由請求節點在一定時間內收到幾個鄰近簇頭節點的RREP,從中選擇一個到中心節點路徑最短的節點作為下一跳轉發節點,向該節點發送信息;
2.1.4如果接收到信息的節點是中心節點,就將信息交給應用層處理;如果不是,則重復步驟1-4,直到該信息到達中心節點,本次信息傳遞才完成。
下面以圖1為例說明算法的實現過程,
簇頭A接收到簇成員的信息,匯聚后要向中心節點sink發送消息,A先發送路由請求,鄰居簇頭B、C接收到路由請求后都會發路由應答給節點A,節點A會在所有的路由應答中選擇距離sink節點最近的節點C作為轉發節點,然后A將信息傳給節點C,節點C重復剛才節點A的過程,在收到節點D、E、F的路由應答中選擇節點E作為下一個轉發節點,直到信息上傳到中心節點sink才終止。
2.2運行機制
網絡運行的開始,每個節點都需要知道自己到Sink 節點的距離以及自己的鄰居節點的狀態。假設Sink 的能量和通信范圍相對于傳感器節點來說強大許多( 這種假設在傳感器網絡中常用) ,因此網絡中的所有節點都能直接收到來自 Sink 節點的信息。首先由 Sink 節點以一定功率向全網廣播一個信息,并且這個功率能保證網絡中的所有節點都能收到 Sink節點的這個信息,各個節點收到這個廣播信息后根據信號的強弱計算出到 Sink 節點的距離,然后各個節點再尋找自己通信范圍內的鄰居節點的信息,包括鄰居節點的剩余能量,鄰居節點到 Sink 的距離以及鄰居節點到自己的距離,并將這些信息存儲起來。各個節點感知或收到其他節點的數據后,需要經過融合和壓縮處理,再轉發這些數據到匯聚節點( Sink) 。 源節點收到所有鄰居節點的應答消息后,找出其中鄰居節點作為轉發節點,并通知這個鄰居節點要轉發數據給它,然后轉發數據。
3.實驗結果
圖2中各曲線前面部分一致,這是因為在Sink節點通信范圍內的普通節點發送信息包,無須經過路由,直接發送到Sink節點。從第8包信息包開始,各曲線就開始呈現不同的狀態。從圖2可以看出經過數據匯聚處理的曲線在時間和信息量上都比沒有使用數據匯聚處理的曲線有所減少,匯聚時間為0.04s、0.047s、0.06s的曲線比較接近,但從時間和信息量綜合考慮,匯聚時間為0.047s的效果更為優越些,而且從表1仿真結果比較看出,匯聚時間為0.047s的平均通信時間是最短的,因此,把匯聚時間取為0.047s是合適的。
從以上仿真可以看出,采用具有合適的匯聚等待時間的數據匯聚路由算法,可以使網絡提高傳輸效率、降低網絡傳輸負載,達到我們預期目標。
4 小結
本文采用基于數據包合并的按需平均處理數據匯聚算法對數據進行了平均處理匯聚,在路由選擇上,選用了基于數據中心地理位置的DCGR路由算法,對數據內容進行了坐標轉換處理,并通過對何時停止等待更多的數據進行分析,獲得一個匯聚等待時間的經驗參考值。仿真結果表明,本章采用的匯聚算法使得網絡Sink節點接收到的信息包數量明顯減少,時間效率也得到提高。從仿真上證明了數據匯聚路由算法的優越性。
參考文獻:
[1]任豐原,黃海寧,林闖.無線傳感器網絡[J].軟件學報,2003,14(7):1282- 1291.
[2]林亞平,王雷,陳宇,張錦,陳治平,童調生. 傳感器網絡中一種分布式數據匯聚層次路由算法[J]. 電子學報,2004,11:1801-1805.
[3]孔秀平. 無線傳感器網絡分簇路由算法研究[D].揚州大學,2014.
[4]Agre J,Clare L.An integrated architecture for cooperative sensing net-works[J].IEEE Trans On Computers,2000,33(5):106- 108.