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