張 歡
(中國民用航空飛行學院計算機學院 四川 廣漢 618307)
由于無線傳感器網絡(WSN)組網速度快、價格低廉、無需固定網絡基礎設施等特點使其越來越受到學術界以及工程領域的廣泛關注。WSN本質上是由大量小型傳感器節點構成,這些傳感器節點通過無線方式進行互聯通信、互相協作完成指定區域的數據感知任務。WSN應用范圍已從最開始的科學理論研究拓展到了今天的工業、農業、衛生健康監測等諸多實際應用領域[1]。
通常分布在感知區域內的WSN節點同其他臨近的節點在所感知的數據上具有一定的相關性,而相關性會導致冗余數據的產生,大量的冗余數據往往會使得接收終端,如Sink節點,無法對這些數據進行及時有效地處理。因此在實際應用中,較為可行的方法就是將來自不同傳感器節點的相關數據進行數據融合處理[2],保留這些相關數據中有用的信息,去掉冗余信息。
數據融合技術除了可以通過減少WSN內部冗余數據的傳輸從而提高整個網絡的性能之外,也可以相應地減少WSN數據傳輸所用的能耗。這些對于本來就是能量受限、處理能力及帶寬受限的WSN而言都是十分重要的。在各種各樣的數據融合算法當中,基于簇的數據融合算法受到了學者們的廣泛關注。在基于簇的數據融合算法當中,若干節點構成簇,每一個簇包含一個數據融合節點和若干成員節點,每個成員節點將數據發送給數據融合節點,每個數據融合節點將接收的數據進行融合,融合后的數據再發送給Sink節點。
然而大多數的基于簇的協議以及簇形成算法, 如文獻[2-6]都認為WSN節點是可信的,或者沒有對網絡中存在惡意節點的可能性給與足夠的重視,因此若惡意節點選為數據融合節點,其后果會嚴重危害網絡的可靠性和安全性。有研究表明,在節點隨機部署的無線傳感器網絡中,當網絡中存在5%的惡意節點時,35%的路由會受到影響,當惡意節點數為10%時,路由影響將超過54%。這就意味著在含有5%簇頭或融合節點的基于簇的網絡協議中,如果融合節點都是惡意節點,則網絡中很大部分甚至全部都會癱瘓[7]。
本文根據WSN的特點,結合網絡節點的特性,提出一種基于改進Bayes估計和能量均衡的無線傳感器網絡數據融合節點選取方法。本文主要創新點為:1) 同傳統的Bayes估計方法相比,所提方法在節點信任計算中更加符合節點交互過程評價的實際情況;2) 所提方法考慮了節點當選為數據融合節點的能量均衡問題,即首先依據改進的Bayes估計方法選取信任值高的節點作為潛在的融合節點,其次為避免高信任節點多次當選為融合節點從而過早地消耗掉自身的能量,所提方法還將節點剩余能量作為參數共同考察潛在的融合節點。
數據融合可以看作是如何以自動化或半自動化的方式將來自不同信息源的數據轉化成一種可以用于有效支持自動決策的方法,數據融合可以減少數據的維度,優化數據的體量和提取出有用的信息,此外,數據融合還可以幫助刪除數據中的“雜質”以及克服所感知數據的復雜度[8]。
文獻[9]從所涉及到的數學方法以及使用環境角度對數據融合在物聯網中的應用進行了研究,該研究分析了在不同數學方法和應用環境中的數據融合方法所面臨的問題和技術挑戰,同時總結了數據融合在未來智能普適環境下的研究方向。文獻[10]對數據融合進行了分類以及其在不同的領域中的應用進行了較為深入的研究,同時針對不同的應用需求進行了案例展示以及為大數據中的數據融合解決方案提供了理論建議。文獻[11]對數據融合的不同使用框架進行了分類和研究,并對當前主流的數據融合方法在這些框架下的使用情況進行了測試和評估,同時也指出了當前數據融合方法中存在的主要問題。文獻[12]將數據融合方法分為基于概率論和統計學的方法,基于經典機器學習、粗糙集等技術的人工智能方法以及基于證據理論的方法,在以上的三類方法中,基于概率論的方法相對最為簡單同時在數據融合中使用得最為廣泛,而其中的Bayes方法是近幾年來在數據融合研究和使用最為多的方法。
此外,文獻[13]提出一種基于簇和最小生成樹的混合數據融合協議CTPEDCA。CTPEDCA采用的是分布式網絡模型并不需要來自于基站的中心控制方式。在CTPEDCA中,假設基站知道所有節點的部署情況,任何一個節點都可以將數據發送給其他節點并且節點可以直接和基站進行通信。在每個簇內,節點通過一定的算法輪流充當簇頭節點并由簇頭節點負責收集和融合來自簇內其他節點的感知數據。所有的簇頭節點通過MST算法生成一顆最小生成樹,當前剩余能量最多的簇頭節點充當樹根節點,在這顆生成樹中非終端節點將數據發送給終端節點,終端節點融合來自非終端節點的數據后再把數據傳遞給上一級節點,如此反復直到數據最后傳遞給根節點,最后由根節點進行最終數據融合并將最終數據發送給基站。
為了減少傳感器節點將數據發送給遠程基站點的能量損耗,防止傳感器節點過早的能量耗盡,文獻[14]提出LEACH算法,LEACH算法是簇形結構數據融合算法的典型代表之一。其主要思想是減少直接將數據發送給基站點的傳感器節點數目。在LEACH算法中,網絡通過自組織的方式生成一系列的簇,每個簇由若干節點構成,簇頭節點搜集簇內節點數據,將這些數據進行融合,并負責將融合后的數據發送給基站點。另外一個較為經典的算法是PEGASIS。同LEACH算法相比,PEGASIS[15]通過鏈式方法來收集數據,該算法也是把數據發送給基站點的傳感器節點數目減少為一個特定節點,并由該特定節點將每輪最終融合后的數據傳遞給基站點。PEGASIS假設基站是固定的,每個節點都會將接收到的數據同自己的數據進行融合。
由于WSN節點的部署通常在戶外無人看管區域,因此應采取必要的措施對網絡節點以及其傳輸的數據進行保護。雖然傳統的加密方法可以提供數據保密性和數據完整性[16],但是對于黑洞攻擊[17]等來自于WSN內部的惡意節點或自私節點發動的網絡攻擊,僅靠加密方法則不能有效應對和處理[18]。信任機制[19]應運而生,并已成為加密方法的有效補充方案以處理WSN中的安全問題[20]。
在WSN中,根據完成指定任務以及節點的行為等情況,節點可以增加或者丟失其信任值。此外,只有當節點的信任值高過事先定義好的閾值時,它才有資格參與由網絡內部其他節點發起的任務請求。因此,信任機制可用來評估節點完成指定任務的能力,也可以利用信任信息進行決策的制定[21]。
為了應對數據融合過程中潛在的惡意節點,文獻[22]結合信任管理和加密技術,提出一種基于信任的安全數據融合盲觀察法。盲觀察法通過將Order-Preserved加密技術和Sigmoid信任模型進行適配,在不需要將節點發送給基站的數據進行解密和數據內部檢驗的情況下,就可以對惡意行為節點進行區分,通過該方法可以保證數據融合的安全性和可靠性。為提高數據融合的安全度,文獻[23]提出一種基于信任的網內數據融合方法。該方法使用的是樹狀數據融合結構并采用基于二項分布的信任模型來檢測節點的惡意行為。在文獻[23]中,節點的信任量度是由其發送的數據、路由行為以及可用性這三個方面進行評定的。為了達到可靠數據融合的目的,網絡節點只將數據發送給信任度高于指定閾值的數據融合節點進行融合操作。在文獻[24]中,來自節點的數據根據對應節點的信任度進行加權處理,普通節點依據數據融合節點的信任進行融合點的選取。RDAS[25]在無線傳感器網絡數據融合算法中通過采用信任機制對惡意節點進行識別和隔離的方式來提高數據融合的健壯性。RDAS中節點采用簇形結構和分布式信任機制,每個節點在本地保存有簇內其他節點的信任信息并和簇內其他節點進行信任信息的分享。RDAS使用LEACH作為底層數據融合協議,采用基于二項分布的信任模型作為節點信任評判方法。
在信任建模的諸多理論方法中,基于統計學的方法如貝塔分布、泊松分布以及高斯分布都受到了學者們的廣泛關注,其中采用Bayes估計進行信任構建在方法上相對簡單,理論上具備較強的統計學基礎,尤其是該方法通常僅需要兩個參數,在實際運用中可以分別代表節點正評價和負評價的數目等優點使其非常適用于WSN的信任構建。諸多文獻如文獻[26-28]等都采用了該信任方法,其中經典的如文獻[26]和文獻[29]對Bayes估計理論在信任系統當中的應用進行了較為深入的理論研究和探討。
文獻[26]利用Bayes估計為WSN提出了一種信任框架RFSN。RFSN采取的策略是將直接信任信息和間接信任信息相互結合的去中心化的信任管理模式,目的是建立一個可信的節點社區。RFSN在信任的計算過程中加入了來自鄰居節點的間接信任信息并同節點的直接信任信息一起構建信任系統。RFSN使用一種稱為Watchdog的監督機制, 其基本原理則是: 節點將一段時間內通常是最近一段時間內的數據保留在自己的緩存中,同時節點網卡采用混雜模式來監聽其他節點在相同一段時間內發送的數據,如果其他節點發送的數據同自己緩存中的數據相匹配,則認為監聽節點的行為是正常的,通常會伴隨信任評價的增加,否則認為是不正常,也會伴隨信任評價的減少。
根據經典文獻[29], 基于傳統Bayes估計的信任計算方法簡述如下:在WSN中,假設節點B定期向節點A請求合作(例如數據包傳遞請求或路由信息請求),節點A在收到合作請求后可以選擇合作或者不合作,假設在以往的記錄中,A合作、不合作的次數分別為S1和S2,則根據Bayes估計,節點A(歷史)合作信任值可定義為:
(1)
當節點B下一次再向A發送合作請求之前,就可以根據Bayes估計和式(1)來估算A的下一次合作信任值為:
(2)
當節點B的可以合作節點多于1個時,節點B就可以根據式(2)來計算各個候選合作節點的信任值,并根據一定的策略選擇信任值高的節點進行合作。傳統Bayes估計方法雖然簡單易用,但每次在計算候選合作節點的信任值時都要將合作和不合作的次數加1,也即當候選節點選擇不合作時也要進行S1+1操作。
本文所提方法首先依據改進的Bayes估計方法選取信任值高的節點作為潛在的融合節點,其次為避免高信任節點多次當選為融合節點從而過早地消耗掉自身的能量,所提方法還將節點剩余能量作為參數共同考察潛在的融合節點。
改進的Bayes估計方法描述如下:用ρ表示貝努利試驗中成功的概率,Y是一隨機變量,用來表示在貝努試驗中第r次成功之前失敗的次數,則X稱作服從參數(ρ,r)的負二項隨機變量,X的概率可表示為:
(3)
式中:k=0,1,2,…,且0<ρ<1。將式(3)進行整理,從而隨機變量X的概率密度函數可表示為:
(4)
式(3)和式(4)可以簡單理解為在r次成功之前觀察到s次失敗的概率或在r+s次試驗中直到出現第r次成功的概率。
在二項分布中,試驗中的成功次數是一隨機變量,而在負二項分布中,得到給定的成功次數所要進行的試驗次數也是一隨機變量。進一步,負二項分布和二項分布的關系可表述如下:
(5)
式中:Y是服從參數為(r+s,ρ)的二項隨機變量。
在式(5)中,ρ仍然是二項分布中成功的概率。在Bayes估計中,ρ的共軛先驗分布為Beta分布,P(ρ)可表示為:
(6)
ρ的后驗分布為:
(7)
在式(7)中,ρ的后驗分布P(ρ|X)仍然服從參數為(α+r,β+s)的Beta分布,從而可由下式計算出ρ的數學期望:
(8)
在實際應用中,E(ρ)可以看作是某個節點的信任值,其計算依據為該節點過去同其他節點進行交互過程中正評價的次數以及負評價的次數。
同傳統的Bayes估計方法相比,式(8)中的r和s的值可以為0或任意正整數。在改進的Bayes估計中,可以根據節點實際交互情況,當有正評價發生時,r增加,沒有則r不變;當有負評價發生時,s增加,沒有則s不變,也即r和s的值根據實際情況變化而不是每次都增1,因此改進的Bayes估計方法更加符合實際的節點信任計算。
在利用信任值選取數據融合節點時,高信任值節點往往會多次當選,雖然高信任的數據融合節點會提高數據融合的可靠性和準確性,但這種方式明顯的缺陷則是此類節點會過早消耗掉自身的能量,不利于整個簇甚至整個網絡的能量均衡負載。可行的辦法是在考慮選取高信任節點作為融合節點的過程中同時考慮該節點的剩余能量,即不管某些節點的信任值有多高,只要其剩余能量沒有達到一定的標準,就不考慮此類節點為數據融合節點。
對比式(8),本文在此處引入能量參數λ,其定如下:
(9)
式中:EI為節點的初始能量,ET和ER分別為節點在傳遞數據比特和接收數據比特時所使用的傳遞能耗和接收能耗,ET和ER的計算方式可以參見文獻[30]。
每個節點的能量參數λ定期在簇內節點成員間傳遞,在實際應用中設置能量參數閾值φ,當某節點成為候選融合節點前,該節點同能量參數φ進行比較,當條件滿足時將其標記為候選融合節點,否則視為非融合節點,即:

(10)
分別對融合節點的平均信任值、平均剩余能量值以及網絡的數據包傳遞率進行了實驗測試,測試參數如表1所示。

表1 實驗參數
整個網絡按照LEACH[14]提出的成簇算法自組成簇,WSN節點網卡采用混雜模式來監聽同一簇內其他節點在最近一段時間內發送的數據,并通過本文所提的改進Bayes估計方法計算簇內其他節點的信任值。在每一輪的融合節點選舉中,簇內每個節點都將其記錄的信任值最高且滿足能量閾值的節點在簇內進行廣播也即投票,得票最多的節點當選本輪數據融合節點,當得票最多的節點數量大于1時,則選取其中剩余能量最多的當選為本輪數據融合節點。
假設網絡基站節點位于測試區域中心并在固定時間段內發送1 000次數據包請求給網絡中各個節點,簇內節點收到數據包請求后把數據直接傳遞給本簇的融合節點,之后由融合節點直接將融合數據傳遞給基站節點。
此外,假設正常節點每次傳遞的是正常區間[0~99]間的隨機數,有20%的正常節點以25%的概率傳遞的是非正常區間內的隨機數;惡意節點每次傳遞的都是非正常區間內的隨機數;當正常節點選為融合節點時,會將所接收到的正常區間內數字的值以及其對應的頻數發送給基站節點,即不會發送非正常區間內的數字及其頻數;當惡意節點當選為融合節點時,除了完成正常融合節點的工作外,還會將接收到非正常區間內數字的值以及對應的頻數發送給基站節點,能量參數閾值的取值為簇內節點的平均剩余能量值。
在該部分中,對數據融合節點的平均信任值進行了測試,測試對比方法為本文所提方法(P)同隨機選取融合節點的方法(R),測試結果如圖1所示。

圖1 數據融合節點平均信任值
從圖1中可以看出,隨著基站節點查詢的次數的不斷增多,兩種方法中的數據融合節點平均信任值都有不斷上升的趨勢,但所提方法中的平均信任值要上升的更快一些,例如在第1 000次查詢的時候約0.9,而對比方面中因為采用隨機選取簇內節點為數據融合節點,沒有考慮到惡意節點當選為數據融合節點的可能性,使得部分惡意節點成為了融合節點,最終導致數據融合節點的平均信任值偏低。
在該部分中,對數據融合節點的平均剩余能量進行了測試,測試對比方法為本文所提方法(P)同不考慮剩余能量的改進的Bayes估計方法(N),測試結果如圖2所示。

圖2 融合節點平均剩余能量
在圖2中,隨著基站節點查詢的次數的遞增,兩種方法中的融合節點剩余平均能量都呈現出下降的趨勢。但在所提方法中,由于采用了能量均衡方法,使得高信任節點不能多次地當選為融合節點,所以所提方法中的融合節點平均剩余能量要下降得緩慢一些,而對比方法沒有采用能量均衡方法。因此融合節點的平均剩余能量下降得要快一些,并隨著查詢測試的增多,如從第600次查詢開始,下降的趨勢不斷增大,又如在第1 000次查詢時,下降到約0.29 J。
在理想情況下,到達基站節點的數據正確率應接近100%,但由于網絡中惡意節點傳送非正常區間內數據,降低了整個網絡的數據正確率,當惡意節點充當數據融合節點時,對整個網絡的數據正確率影響更大。在該部分中,對數據正確率進行了測試,測試對比方法為本文所提方法(P)同隨機選取數據融合節點方法(R),測試結果如圖3所示。

圖3 數據正確率
在圖3中,隨著基站節點查詢次數的遞增,所提方法的數據正確率始終保持在0.95左右,而對比方法由于隨機選取的數據融合節點,使得部分錯誤數據也傳遞到了基站節點,因此其數據融合率始終在0.75左右波動,數據正確率相對較低。
在無線傳感器網絡中,數據融合節點的選取在整個數據融合過程中起著非常重要的作用。本文根據無線傳感器網絡的特點,結合網絡節點的特性,提出一種基于改進Bayes估計和能量均衡的無線傳感器網絡數據融合節點選取方法。通過仿真實驗表明,本文所提方法能夠在降低數據融合節點的平均耗能、提高網絡傳遞的數據正確率等幾個方面取得較好的效果。