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