由于大多數無線傳感器網絡應用都是由大量傳感器節點構成的,共同完成信息收集、目標監視和感知環境的任務。因此,在信息采集的過程中,采用各個節點單獨傳輸數據到匯聚節點的方法顯然是不合適的。因為網絡存在大量冗余信息,這樣會浪費大量的通信帶寬和寶貴的能量資源。此外,還會降低信息的收集效率,影響信息 采集的及時性。
為避免上述問題,人們采用了一種稱為數據融合(或稱為數據匯聚)的技術。所謂數據融合是指將多份數據或信息 進行處理,組合出更高效、更符合用戶需求的數據的過程。在大多數無線傳感器網絡應用當中,許多時候只關心監測結果,并不需要收到大量原始數據,數據融合是處理該類問題的有效手段。
1.數據融合技術的產生背景來自于數據融合的幾個重要作用
(1)節省能量
由于部署無線傳感器網絡時,考慮了整個網絡的可靠性和監測信息的準確性(即保證一定的精度),需要進行節點的冗余配置。在這種冗余配置的情況下,監測區域周圍的節點采集和報告的數據會非常接近或相似,即數據的冗余程度較高。如果把這些數據都發給匯聚節點,在已經滿足數據精度的前提下,除了使網絡消耗更多的能量外,匯聚節點并不能獲得更多的信息。而采用數據融合技術,就能夠保證在向匯聚節點發送數據之前,處理掉大量冗余的數據信息 ,從而節省了網內節點的能量資源。
(2)獲取更準確的信息
由于環境的影響,來自傳感器節點的數據存在著較高的不可靠性。通過對監測同一區域的傳感器節點采集的數據進行綜合,有效地提高獲取信息 的精度和可信度。
(3)提高數據收集效率
網內進行數據融合,減少網絡數據傳輸量,降低傳輸擁塞,降低數據傳輸延遲,減少傳輸數據沖突碰撞現象,可在一定程度上提高網絡收集數據的效率。數據融合技術可以從不同角度進行分類,主要的依據是三種:融合前后數據信息 含量、數據融合與應用層數據語義的關系以及融合操作的級別。
2,根據融合前后數據信息 含量劃分為無損融合和有損融合
前者在數據融合過程中,所有細節信息均被保留,只去除冗余的部分信息。后者通常會省略一些細節信息 或降低數據的質量。
3.根據數據融合與應用層數據語義的關系劃分為依賴于應用的數據融合、獨立于應用的數據融合以及兩種結合的融合技術
依賴于應用的數據融合可以獲得較大的數據壓縮,但跨層語義理解給協議棧的實現帶來了較大的難度。獨立于應用的數據融合可以保持協議棧的獨立性,但數據融合效率較低。以上兩種技術的融合可以得到更加符合實際應用需求的融合效果。
4.根據融合操作的級別劃分為數據級融合、特征級融合以及決策級融合
數據級融合是指通過傳感器采集的數據融合,是最底層的融合,通常僅依賴于傳感器的類型。特征級融合是指通過一些特征提取手段,將數據表示為一系列的特征向量,從而反映事物的屬性,是面向監測對象的融合。決策級融合是根據應用需求進行較高級的決策,是最高級的融合。
5. 無線傳感器網絡的數據融合技術可以結合網絡的各個協議層來進行
在應用層,可通過分布式數據庫技術,對采集的數據進行初步篩選,達到融合效果;在網絡層,可以結合路由協議,減少數據的傳輸量;在數據鏈路層,可以結合MAC,減少MAC層的發送沖突和頭部開銷,達到節省能量目的的同時,還不失去信息 的完整性。無線傳感器網絡的數據融合技術只有面向應用需求的設計,才會真正得到廣泛的應用。
(1)應用層和網絡層的數據融合
無線傳感器網絡通常具有以數據為中心的特點,因此應用層的數據融合需要考慮以下因素:無線傳感器網絡能夠實現多任務請求,應用層應當提供方便和靈活的查詢提交手段;應用層應當為用戶提供一個屏蔽底層操作的用戶接口,用戶使用時無須改變原來的操作習慣,也不必關心數據是如何采集上來的;由于節點通信代價高于節點本地計算的代價,應用層的數據形式應當有利于網內的計算處理,減少通信的數據量和減小能耗。
從網絡層來看,數據融合通常和路由的方式有關,例如以地址為中心的路由方式(最短路徑轉發路由),路由并不需要考慮數據的融合。然而,以數據為中心的路由方式,源節點并不是各自尋找最短路徑路由數據,而是需要在中間節點進行數據融合,然后再繼續轉發數據。如圖1所示,這里給出了兩種不同的路由方式的對比。網絡層的數據融合的關鍵就是數據融合樹(aggregatton tree)的構造。在無線傳感器網絡中,基站或匯聚節點收集數據時是通過反向組播樹的形式從分散的傳感器節點將數據逐步匯聚起來的。當各個傳感器節點監測到突發事件時,傳輸
圖1 以地址為中心的路由與以數據為中心的路由的區別
數據的路徑形成一棵反向組播樹,這個樹就成為數據融合樹。如圖2所示,無線傳感器網絡就是通過融合樹來報告監測到的事件的。
圖2 利用數據融合樹來報告檢測事件
關于數據融合樹的構造,可以轉化為最小Steiner樹來求解,它是個NP Com-plete完各難題。文中給出了三種不同的非最優的融合算法。
①以最近源節點為中心(center at nearest Source,CNS):以離基站或匯聚節點最近的源節點充當融合中心節點,所有其他的數據源將數據發送到該節點,然后由該節點將融合后的數據發送給基站或匯聚節點。一旦確定了融合中心節點,融合樹就基本確定下來了。
②最短路徑樹(shortest paths tree,SPT):每個源節點都各自沿著到達基站或匯聚節點最短的路徑傳輸數據,這些來自不同源節點的最短路徑可能交叉,匯集在一起就形成了融合樹。交叉處的中間節點都進行數據融合。當所有源節點各自的最短路徑確立時,融合樹就基本形成了。
③貪婪增長樹(greedy incremental tree,GIT):這種算法中的融合樹是依次建立的。先確定樹的主干,再逐步添加枝葉。最初,貪婪增長樹只有基站或匯聚節點與距離它最近的節點存在一條最短路徑。然后每次都從前面剩下的源節點中選出距離貪婪增長樹最近的節點連接到樹上,直到所有節點都連接到樹上。
上面三種算法都比較適合基于事件驅動的無線傳感器網絡的應用,可以在遠程數據傳輸前進行數據融合處理,從而減少冗余數據的傳輸量。在數據的可融合程度一定的情況下,上面三種算法的節能效率通常為:GIT)SPT)CNS。當基站或匯聚節點與傳感器覆蓋監測區域距離的遠近不同時,可能會造成上面算法節能的一些差異。
(2)獨立的數據融合協議層
無論是與應用層還是網絡層相結合的數據融合技術都存在一些不足之處:為了實現跨協議層理解和交互數據,必須對數據進行命名。采用命名機制會導致來自同一源節點不同數據類型的數據之間不能融合;打破傳統各網絡協議層的獨立完整性,上下層協議不能完全透明;采用網內融合處理,可能具有較高的數據融合程度,但會導致信息 丟失過多。
He等提出了獨立于應用的數據融合機制(application independent data ag-gregatlon,AIDA),
其核心思想就是根據下一跳地址進行多個數據單元的合并融合,通過減少數據封裝頭部的開銷,以及減少MAC層的發送沖突來達到節省能量的效果。AIDA并不關心數據內容是什么,提出的背景主要是為了避免依賴于應用的數據融合(application dependent data aggregatton,ADDA)的弊端,另外還可以增強數據融合對網絡負載的適應性。當負載較輕時,不進行融合或進行低程度的融合;負載較高或MAC層沖突較重時,進行較高程度的數據融合,如圖3所示,AIDA的基本功能構件主要分為兩大部分:一個是網絡分組的匯聚融合及取消匯聚融合功能單元,另外一個是匯聚融合控制單元。前者主要是負責對數據包的融合和解融合操作,后者是負責根據鏈路的忙閑狀態控制融合操作的進行,調整融合的程度(合并的最大分組數)。
圖3 AIDA的基本構件
在介紹AIDA的工作流程之前,比較一下數據融合不同方法的幾種結構設計。傳統的ADDA存在網絡層和應用層間的跨層設計,而AIDA是增加了獨立的界于MAC層和網絡層之間數據融合協議層。前面提到過分層和跨層數據融合各有自己的利弊。當然,也可以將AIDA和ADDA綜合起來應用,如圖4所示。AIDA的提出就是為了適應網絡負載的變化,可以獨立于其他協議層進行數據融合,能夠保證不降低信息 的完整性和不降低網絡端到端延遲的前提下,減輕MAC層的擁塞沖突,降低能量的消耗。
圖4 數據融合不同方式的幾種結構設計
AIDA的工作流程主要包括以下兩個方向的操作:發送和接收。
發送主要是指從網絡層到MAC層的操作,網絡層發來的數據分組進入匯聚融合池,AIDA功能單元根據要求的融合程度,將下一跳地址相同的網絡單元(數據)合并成一個AIDA單元,并送到MAC層進行傳輸。何時調用融合功能單元以及融合程度的確定都由融合控制單元來決定。
接收操作主要是從MAC層到網絡層,將MAC層送上來的AIDA單元拆散為原來的網絡層分組單元并送交給網絡層。這樣可以保證協議的模塊性,并允許網絡層對每個數據分組可以重新路由。