本發(fā)明是一種應用于無線傳感器網(wǎng)絡中的輕量級數(shù)據(jù)壓縮方法。主要用于解決無線傳感器之間傳輸數(shù)據(jù)的冗余性問題,屬于無線傳感器網(wǎng)絡技術(shù)領域。
背景技術(shù):
隨著無線傳感網(wǎng)絡技術(shù)的快速發(fā)展,無線傳感網(wǎng)中在生活中應用也越來越廣泛,無線傳感器網(wǎng)絡是面向應用的,貼近客觀物理世界的網(wǎng)絡系統(tǒng),其產(chǎn)生和發(fā)展一直都與應用相聯(lián)系。多年來經(jīng)過不同領域研究人員的演繹,WSN(Wireless Sensor Network)技術(shù)在軍事領域、精細農(nóng)業(yè)、安全監(jiān)控、環(huán)保監(jiān)測、建筑領域、醫(yī)療監(jiān)護、工業(yè)監(jiān)控、智能交通、物流管理、自由空間探索、智能家居等領域的應用得到了充分的肯定和展示。隨著無線傳感器網(wǎng)絡的大力發(fā)展,無線傳感器絡中數(shù)據(jù)傳輸量越來越大,其中包含了大量的冗余數(shù)據(jù),傳輸這些冗余數(shù)據(jù)會消耗節(jié)點大量的能量,縮短節(jié)點壽命,影響網(wǎng)絡性能。
無線傳感器網(wǎng)絡中數(shù)據(jù)傳輸?shù)臄?shù)據(jù)壓縮方法能夠有效降低冗余數(shù)據(jù)的傳輸,節(jié)省網(wǎng)絡帶寬。在采集節(jié)點端對環(huán)境數(shù)據(jù)在時間上的相關性進行數(shù)據(jù)壓縮,在匯聚節(jié)點端對簇內(nèi)采集節(jié)點上傳的數(shù)據(jù)進行融合壓縮,減少冗余數(shù)據(jù)。
該方法有3個目的:
(1)通過環(huán)境數(shù)據(jù)在時間上的相關性,利用CLDCA(Changeable Length Data Compression Algorithm)算法對感知數(shù)據(jù)進行壓縮,減少采集節(jié)點對冗余數(shù)據(jù)的上傳,節(jié)省節(jié)點能耗,延遲使用壽命;
(2)通過WDAA(Weighting Data Aggression Algorithm)算法對匯聚節(jié)點對簇內(nèi)采集節(jié)點上傳的感知數(shù)據(jù)進行融合,能夠保證數(shù)據(jù)的準確性,減少冗余數(shù)據(jù);
(3)通過減少無線傳感器網(wǎng)絡中冗余數(shù)據(jù)的傳輸量,能提高無線傳感器網(wǎng)絡帶寬利用率;
本發(fā)明方法針對無線傳感器網(wǎng)絡中傳輸大量的冗余數(shù)據(jù)問題,該方法能夠在采集節(jié)點端和匯聚節(jié)點端有效地減少冗余數(shù)據(jù)的傳輸量,節(jié)省節(jié)點能耗,提高網(wǎng)絡性能。
技術(shù)實現(xiàn)要素:
技術(shù)問題:本發(fā)明的目的是提供一種應用于無線傳感器網(wǎng)絡的輕量級數(shù)據(jù)壓縮方法,該方法能夠在采集節(jié)點端和匯聚節(jié)點端對冗余數(shù)據(jù)進行壓縮,減少節(jié)點冗余數(shù)據(jù)傳輸,節(jié)省節(jié)點能耗。
技術(shù)方案:本發(fā)明的方法是在采集節(jié)點端使用變長數(shù)據(jù)壓縮算法CLDCA對采集節(jié)點獲取的感知數(shù)據(jù)進行壓縮,這些感知數(shù)據(jù)在時間上存在相關性,使用CLDCA能夠有效壓縮同于數(shù)據(jù),較少冗余數(shù)據(jù)的發(fā)送量,節(jié)省節(jié)點能耗。在匯聚節(jié)點端使用數(shù)據(jù)權(quán)重系數(shù)的數(shù)據(jù)融合算法WDAA對簇內(nèi)采集節(jié)點上傳的感知數(shù)據(jù)進行融合,該算法能夠保證融合后數(shù)據(jù)的準確性,同時能減少冗余數(shù)據(jù)的發(fā)送量,從而能節(jié)省節(jié)點能耗。
體系結(jié)構(gòu)
該方法是將簇內(nèi)的采集節(jié)點與匯聚節(jié)點組成一個數(shù)據(jù)采集與傳輸?shù)捏w系結(jié)構(gòu),簇內(nèi)的采集節(jié)點主要負責數(shù)據(jù)的采集,再對采集的數(shù)據(jù)進行壓縮處理,減少冗余數(shù)據(jù),然后再進行上傳壓縮后的感知數(shù)據(jù)。匯聚節(jié)點主要負責接收簇內(nèi)采集節(jié)點上傳的感知數(shù)據(jù),同時對簇內(nèi)采集節(jié)點上傳的數(shù)據(jù)進行融合,減少上傳的冗余數(shù)據(jù)量,節(jié)省節(jié)點能耗。
方法流程
在整個設計方法中,主要分為兩部分:采集節(jié)點端、匯聚節(jié)點端。采集節(jié)點主要負責數(shù)據(jù)的采集,對采集的數(shù)據(jù)進行壓縮,再對壓縮過后的數(shù)據(jù)進行上傳。匯聚節(jié)點主要負責對簇內(nèi)采集節(jié)點上傳的感知數(shù)據(jù)進行融合,再對融合后數(shù)據(jù)進行上傳。采集節(jié)點變長數(shù)據(jù)壓縮算法CLDCA執(zhí)行流程(如圖1):
本發(fā)明的輕量級數(shù)據(jù)壓縮方法在采集節(jié)點端使用變長數(shù)據(jù)壓縮算法CLDCA對采用數(shù)據(jù)進行壓縮,消除冗余數(shù)據(jù);在匯聚節(jié)點端,使用數(shù)據(jù)權(quán)重系數(shù)的數(shù)據(jù)融合算法WDAA對匯聚節(jié)點端進行數(shù)據(jù)融合壓縮。所述的采集節(jié)點數(shù)據(jù)壓縮具體如下:
步驟1.1).采集節(jié)點對環(huán)境數(shù)據(jù)進行采樣,采樣數(shù)據(jù)個數(shù)加1;
步驟1.2).判斷采樣數(shù)據(jù)個數(shù)是否超出設定值,沒有超出執(zhí)行步驟1.3),超出執(zhí)行步驟1.6);
步驟1.3).與期望值進行比較,判斷采樣數(shù)據(jù)是否需要上傳,需要上傳數(shù)據(jù)則執(zhí)行步驟1.4),不需要上傳則執(zhí)行步驟1.1);
步驟1.4).將要上傳數(shù)據(jù)傳輸?shù)桨l(fā)送模塊,設置標記位值為1,表明有數(shù)據(jù)上傳給匯聚節(jié)點;
步驟1.5).發(fā)送模塊將數(shù)據(jù)上傳給匯聚節(jié)點,轉(zhuǎn)步驟1.1);
步驟1.6).判斷標記位,如果標記位值為1,將標記位值設為0,將采樣數(shù)據(jù)的統(tǒng)計數(shù)也設為0,執(zhí)行步驟1.1),如果標記位值為0,執(zhí)行步驟1.7);
步驟1.7).采集節(jié)點強制上傳一次采樣數(shù)據(jù),計數(shù)清0。
所述的使用數(shù)據(jù)權(quán)重系數(shù)的數(shù)據(jù)融合算法WDAA對匯聚節(jié)點端進行數(shù)據(jù)融合壓縮具體如下:
步驟2.1).接收采集節(jié)點上傳的感知數(shù)據(jù);
步驟2.2).計算感知數(shù)據(jù)的期望值E,計算每個感知數(shù)據(jù)與期望值的差值的絕對值,如果差值的絕對值超出閾值,就將其刪除,實現(xiàn)優(yōu)化采集節(jié)點上傳的感知數(shù)據(jù);
步驟2.3).計算出優(yōu)化后的感知數(shù)據(jù)的標準差|σ|,將感知數(shù)據(jù)值分別以﹙-∞,E-2*|σ|]、﹙E-2*|σ|,E-|σ|]、﹙E-|σ|,E+|σ|]、﹙E+|σ|,E+2*|σ|]、﹙E+2*|σ|,+∞﹚標準分為5個層次,以步驟2.2)中計算的期望值作為中心,標準差決定了被優(yōu)化后感知數(shù)據(jù)分布的幅度;
步驟2.4).計算出每個層次中感知數(shù)據(jù)的平均值;
步驟2.5).求出各層次中感知數(shù)據(jù)的和值Si,再計算出所有層次中感知數(shù)據(jù)的總和Sum,再計算各層次中感知數(shù)據(jù)的權(quán)重系數(shù)Si/Sum;
步驟2.6).根據(jù)各層次中感知數(shù)據(jù)的平均值和權(quán)重系數(shù)的乘積可計算出各層次的權(quán)重值,將各層次的權(quán)重值進行求和,和值是所求的融合值;
步驟2.7).將融合后數(shù)據(jù)進行上傳,再執(zhí)行步驟2.1)。
有益效果:本發(fā)明方法提出了無線傳感器網(wǎng)絡中的一種輕量級數(shù)據(jù)壓縮方法,該方法在采集節(jié)點端和匯聚節(jié)點端分別對數(shù)據(jù)進行壓縮。在采集節(jié)點端采用變長數(shù)據(jù)壓縮算法CLDCA對感知數(shù)據(jù)進行壓縮,該算法能夠根據(jù)環(huán)境數(shù)據(jù)的變換改變計算期望值的序列長度,能不斷適應環(huán)境不斷變化的需求,在采集節(jié)點端對數(shù)據(jù)進行壓縮可以較少匯聚節(jié)點端對冗余數(shù)據(jù)的接收量,這樣能較少匯聚節(jié)點的接收能耗。在匯聚節(jié)點端使用權(quán)重系數(shù)的數(shù)據(jù)融合算法WDAA能夠針對采集節(jié)點上傳的數(shù)據(jù)特性來進行數(shù)據(jù)融合,保證融合數(shù)據(jù)的準確性,同時能大大較少冗余數(shù)據(jù)的上傳量。
混合性:在本發(fā)明中,將采集節(jié)點與匯聚節(jié)點組成一個體系結(jié)構(gòu),從采集端開始對冗余數(shù)據(jù)進行壓縮,同時,在數(shù)據(jù)傳輸?shù)絽R聚節(jié)點時也對冗余數(shù)據(jù)進行壓縮,在兩端減少冗余數(shù)據(jù)。
高效性:本發(fā)明能夠有效較少無線傳感器網(wǎng)絡中冗余數(shù)據(jù)的傳輸量,節(jié)省節(jié)點能源,延長節(jié)點使用壽命,提高網(wǎng)絡帶寬利用利率。
附圖說明
圖1是本發(fā)明方法變長數(shù)據(jù)壓縮算法CLDCA執(zhí)行流程示意圖。
圖2是本發(fā)明方法權(quán)重系數(shù)的數(shù)據(jù)融合算法WDAA執(zhí)行流程示意圖。
圖3是本發(fā)明方法的CLDCA中消除冗余數(shù)據(jù)流程示意圖。
圖4是本發(fā)明方法的匯聚節(jié)點優(yōu)化感知數(shù)據(jù)流程示意圖。
圖5是本發(fā)明方法的WDAA中計算各狀態(tài)級數(shù)據(jù)和Sumi,數(shù)據(jù)個數(shù)mi流程示意圖。
圖6是本發(fā)明方法的WDAA中計算權(quán)重系數(shù)pi和各狀態(tài)級中數(shù)據(jù)的平均值wi流程示意圖。
圖7是本發(fā)明方法實現(xiàn)示意圖。
具體實施方式
為了方便描述,我們假定有如下應用實例:
定義:無線傳感器網(wǎng)絡中節(jié)點采集的數(shù)據(jù)集S,S為采集節(jié)點存儲的一個周期內(nèi)的感知數(shù)據(jù)集,S={di}(i∈[1,n]),di為采集節(jié)點的感知數(shù)據(jù)。
主要變量及其定義
變量名含義
Tp 采集節(jié)點上傳數(shù)據(jù)周期
Di 采集的感知數(shù)據(jù)
xi 匯聚節(jié)點端接收到的數(shù)據(jù)
λ 用戶可以接受的誤差閾值
n n為節(jié)點采集的數(shù)據(jù)序列的長度
E 長度為n感知數(shù)據(jù)的期望值
μ 誤差值μ=|E-d'|
pi 權(quán)重系數(shù)
Flag 采集節(jié)點上傳數(shù)據(jù)標記位,F(xiàn)lag==1,表示有數(shù)據(jù)上傳;Flag==0,表示無數(shù)據(jù)上傳
NTp 采集節(jié)點在周期Tp內(nèi)采集感知數(shù)據(jù)序列的最大長度NTp
Sum 計數(shù)變量,用于判斷是否超過NTp
一、部署在環(huán)境中的采集節(jié)點
采集節(jié)點獲取環(huán)境數(shù)據(jù),同時對環(huán)境數(shù)據(jù)進行壓縮,較少冗余數(shù)據(jù),并上傳給匯聚節(jié)點。
采集節(jié)點壓縮數(shù)據(jù)具體流程如下:
第一步:采集節(jié)點對環(huán)境進行采樣,初始化感知數(shù)據(jù)序列S={di}(i∈[1,n]):
1:初始化感知數(shù)據(jù)長度n;
2:采集節(jié)點對環(huán)境進行采樣,存儲長度為n的感知數(shù)據(jù)。
第二步:計算期望值:
計算感知數(shù)據(jù)的期望值;
第三步:進行消除冗余數(shù)據(jù)(如圖3);
CLDCA算法中感知數(shù)據(jù)序列長度的最小值為1,最大值為TP時間周期內(nèi)感知數(shù)據(jù)長度的值。感知數(shù)據(jù)長度可隨環(huán)境變化而自適應進行調(diào)整,不斷滿足環(huán)境的改變。
CLDCA算法將感知數(shù)據(jù)序列長度最小值設置為1主要是應對環(huán)境數(shù)據(jù)波動相當劇烈的情況,采集節(jié)點每一次采集到的數(shù)據(jù)可能與前一次采集的數(shù)據(jù)存在懸殊,為了保證數(shù)據(jù)的有效性,需要對數(shù)據(jù)進行實時上傳。
二、匯聚節(jié)點進行數(shù)據(jù)融合
匯聚節(jié)點接收簇內(nèi)采集節(jié)點上傳的感知數(shù)據(jù),在數(shù)據(jù)進行融合前要對數(shù)據(jù)進行優(yōu)化,處理“噪音點”,“噪音點”即為異常數(shù)據(jù),優(yōu)化數(shù)據(jù)是為了提高融合數(shù)據(jù)的精確度。WDAA執(zhí)行流程如下:
步驟一:優(yōu)化感知數(shù)據(jù):
1:匯聚節(jié)點存儲感知數(shù)據(jù),統(tǒng)計數(shù)據(jù)個數(shù)N;
2:計算感知數(shù)據(jù)的期望值;
3:處理“噪音點”(如圖4):
步驟二:計算相關參數(shù):
1:計算平均值和數(shù)據(jù)總和:
2:計算標準差:
3:計算各狀態(tài)級數(shù)據(jù)和Sumi,數(shù)據(jù)個數(shù)mi(如圖5);
步驟三:計算權(quán)重系數(shù)pi和各狀態(tài)級中數(shù)據(jù)的平均值wi(如圖6);
步驟四:計算融合數(shù)據(jù):
w=;
步驟五:上融合后的數(shù)據(jù);
w是匯聚節(jié)點對采集節(jié)點上傳的感知數(shù)據(jù)進行融合的結(jié)果,WDAA算法能夠針對數(shù)據(jù)在數(shù)據(jù)集中占有的比重進行數(shù)據(jù)融合,這樣能夠提高數(shù)據(jù)的精確性。同時匯聚節(jié)點能夠減少上傳冗余數(shù)據(jù),提高網(wǎng)絡帶寬利用率,節(jié)省能耗。