吳 玨
江蘇常熟職業教育中心校電氣信息工程系,江蘇常熟 215500
無線傳感器網絡中的大量監測數據需經過合理處理,才可滿足不同用戶的查詢需求。但該網絡數據的高效查詢受到網絡自身的限制,其中節點能量是制約其發展的核心因素。為有效降低網絡節點的能耗,本文研究了兩種算法。
傳感器網絡對環境的感應,很多時候要求得到查詢時間范圍內感應對象的屬性變化趨勢。若傳感器節點上有大量重復數據查詢并向基站發送時,可通過擬訂新的查詢表,將這些查詢合并,使大量重復數據一次性發送,減少了節點能量的消耗。該算法充分利用基站強大的計算能力、足夠的存儲及充足的能量等特點,以求減少節點的通信能量消耗,延長傳感器網絡的壽命,如流程圖1所示。該算法只考慮了時間范圍條件下單用戶查詢的優化,同時在能量消耗上只考慮了發送能量的消耗。

圖1 基于時間范圍查詢的優化算法流程圖
文獻[3]給出了一種基于where條件的多查詢合并算法,實際上查詢中節點上固有屬性也可以進行合并。另外文獻[3]中給出的查詢滿足概率是基于屬性能夠選擇的最大范圍,而實際上,幾乎沒有節點在實際工作時能夠取得感應的最大范圍。針對這兩點,本文研究了以下算法。本算法是利用基站存儲的節點歷史信息,以最小化查詢消耗能量為目標,提出一種基于預測查詢滿足概率的多查詢合并算法,以達到能量消耗最小的目的。
以下給出多查詢能量消耗模型。假設節點發送一個數據包消耗能量為E,接收一個數據包消耗能量為E。一個節點是否發送數據包,與節點采集的數據是否滿足查詢的概率P有關。每次采樣相互獨立,因此n次采樣滿足查詢條件的次數為n×p,每個數據包需要d次轉發到基站,一個時間間隔為t的查詢單位時間內單個節點發送數據消耗的能量為,接收數據消耗的能量為(此處不考慮最后基站接收數據消耗的能量)。則整個網絡的所有節點消耗的能量為,其中,Esi為第i個節點發送一個數據包消耗的能量,Eri為第i個節點接收一個數據包消耗的能量,Pi為第i個節點滿足查詢條件的概率,為無線傳感器網絡節點數,di為節點深度(對應發送次數),t為采樣周期。

在實際的無線傳感器網絡中,不是每個節點都能感應到屬性值A的最大范圍。本文利用基站的計算和存儲能力,將節點歷史感應并發送到基站的數據匯總起來得到每個節點感應到的最大值Amax和最小值Amin。由于最大值Amax和最小值Amin是已知能夠觀測到的屬性范圍,而未來觀測到的屬性范圍,而未來觀測到的屬性范圍可能在最大值Amax和最小值Amin之間,也可能在其范圍之外,此處用參數ΔA來修正觀測到的最大值Amax和最小值Amin。則節點取值范圍為[Amin-ΔA,Amax+ΔA]。
節點i的滿足查詢條件概率為:

其中,y為查詢上限,x為查詢下限,pi為在以[x,y]為查詢條件下節點i查詢滿足概率,Aimax為節點i歷史查詢出現的屬性A的最大值,Aimin為節點i歷史查詢出現的屬性A的最小值,ΔiA為節點i屬性A歷史最大值最小值變化修正值,ΔiA可以用屬性A歷史出現的數據標準差得到。

若Enew>E1+E2兩查詢不進行合并,反之進行合并。
若n個查詢需判斷是否進行合并,需輪流判斷可以合并的查詢,最后將合并后的查詢列表發送到傳感器網絡再查詢。

表1 合并規則表

3 范圍查詢 無 范圍并集 6簡單查詢去除固有屬性 無
該多查詢合并算法與文獻[3]提出的算法相比更好地利用了基站能量充足、計算能力強的特點,隨著查詢時間的持續,能夠大量減少查詢數量,降低無線傳感器網絡查詢傳輸的數據量,減少網絡節點的能量消耗,從而大大增加無線傳感器網絡的壽命。由于存在查詢合并,本算法的時效性有所欠缺,更加適合對實效要求不是太高的環境。
[1]孫利民等.無線傳感器網絡[M].清華大學出版社,2005.
[2]南國芳,路曉穎.傳感器網絡多查詢架構體系及融合算法[J].計算機工程,2010,36(1):21-24.
[3]Xiang S,Lim H B,Tan K L,Zhou Y.Two-tier multiple query optimization for sensor networks.Proceedings of the 27th International Conference on Distributed Computing Systems,2007,Toronto,Canada.