陳瑞志,黃錦敬
(湛江科技學(xué)院智能制造學(xué)院,廣東 湛江 524094)
現(xiàn)階段,隨著無線傳感網(wǎng)絡(luò)與互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,傳感網(wǎng)絡(luò)被廣泛應(yīng)用在各大領(lǐng)域中。無線傳感網(wǎng)絡(luò)是由分布在各個區(qū)域的傳感器節(jié)點共同組成的,通過節(jié)點之間無線網(wǎng)絡(luò)的連接,使每個節(jié)點都具有信息通訊、計算以及儲存的能力。由于無線傳感網(wǎng)絡(luò)的規(guī)模較為龐大,涉及的信息量基數(shù)過大,容易出現(xiàn)節(jié)點缺失的問題,導(dǎo)致無線傳感網(wǎng)絡(luò)出現(xiàn)噪聲、冗余等故障現(xiàn)象,影響傳輸質(zhì)量。基于此,眾多學(xué)者提出缺失節(jié)點識別方法。
文獻[1]采用深度學(xué)習(xí)網(wǎng)絡(luò)識別紅外網(wǎng)絡(luò)中的異常節(jié)點,采集紅外網(wǎng)絡(luò)節(jié)點狀態(tài)信息,并將結(jié)果輸入到深度學(xué)習(xí)網(wǎng)絡(luò)中,通過貪婪算法進行迭代訓(xùn)練,提取異常節(jié)點的特征,從而完成異常節(jié)點識別。文獻[2]則是針對無線傳感網(wǎng)絡(luò)中的惡意節(jié)點進行識別,通過機器學(xué)習(xí)中的線性回歸算法計算節(jié)點的能量與信譽度,根據(jù)信譽度結(jié)果判斷節(jié)點是否為異常節(jié)點。文獻[3]采用蜻蜓算法識別通信網(wǎng)絡(luò)中的異常節(jié)點,該方法將生物自然系統(tǒng)和傳統(tǒng)通信系統(tǒng)映射到超可靠低延遲通信的異常節(jié)點識別中,以提高通信網(wǎng)絡(luò)的安全性與可靠性。文獻[4]采用整數(shù)線性規(guī)劃模型來識別社區(qū)網(wǎng)絡(luò)中具有影響力的節(jié)點,構(gòu)建聚類網(wǎng)絡(luò)優(yōu)化模型,得到影響力節(jié)點的識別結(jié)果。但是,上述方法均是針對各種網(wǎng)絡(luò)的異常節(jié)點以及影響力節(jié)點進行識別,并且忽略了缺失節(jié)點在時間序列上的關(guān)系,如果直接將上述方法應(yīng)用于無線傳感器網(wǎng)絡(luò)缺失節(jié)點,會降低缺失節(jié)點的識別精度。
針對上述問題,此次研究提出了一種考慮時間序列表達關(guān)系的無線傳感網(wǎng)絡(luò)缺失節(jié)點識別方法。該方法的整體研究過程為:分析無線傳感網(wǎng)絡(luò)節(jié)點數(shù)據(jù)在時間序列上的表達關(guān)系,采用均值替代方法計算節(jié)點的向量與時間差別變化。分析無線傳感器網(wǎng)絡(luò)中錨節(jié)點與位置節(jié)點分布情況,計算節(jié)點的移動范圍,并完成節(jié)點的濾除處理。以剩余節(jié)點為基礎(chǔ),采用蒙特卡洛定位算法計算缺失節(jié)點的坐標,從而完成缺失節(jié)點的識別。
為了提高無線傳感網(wǎng)絡(luò)缺失節(jié)點識別的精準性,對無線傳感網(wǎng)絡(luò)節(jié)點數(shù)據(jù)進行采集分析和預(yù)處理,分析節(jié)點數(shù)據(jù)在時間序列上的表達關(guān)系[5-6],計算向量、維度等值對缺失節(jié)點識別的影響,降低缺失節(jié)點識別誤差。
為了方便計算與分析,作出如下定義:
①S={S1,S2,S3,…,Sn}表示無線傳感網(wǎng)絡(luò)服務(wù)候選節(jié)點集中所有的子節(jié)點的集合;n表示服務(wù)個數(shù)。
②P={p1,p2,p3,…,pm}表示無線網(wǎng)絡(luò)服務(wù)候選節(jié)點集中符合完備節(jié)點的集合;m表示節(jié)點個數(shù)。
③M(pk)=表示節(jié)點集合Si=(i=1,2,3,…,m)中第k個節(jié)點的時間序列[7];表示時間序列參數(shù);pk表示完備數(shù)值;?表示集合中的缺失節(jié)點數(shù)值。
假設(shè)無線傳感網(wǎng)絡(luò)中存在四個不同時間維度的移動節(jié)點值Si={S1,S2,S3,S4},每個值都存在對應(yīng)的指標值,每個指標值記錄了這四個移動節(jié)點值在時間序列上的時間點。將這幾組數(shù)據(jù)按照維度大小進行排列,組成一組新的序列關(guān)系。計算同一維度和不同維度下節(jié)點缺失的時間變化特點,推導(dǎo)得出規(guī)律,作為下一步節(jié)點缺失識別的參考依據(jù),避免因維度不一帶來的識別誤差,表達式為:
上述研究從四個不同的時間維度分析了無線傳感網(wǎng)絡(luò)節(jié)點的時間序列表達關(guān)系,明確了向量、維度等值對缺失節(jié)點識別的影響,有助于提高缺失節(jié)點的識別精度。
以上述分析的無線傳感網(wǎng)絡(luò)節(jié)點時間序列表達關(guān)系為基礎(chǔ),采用蒙特卡羅定位方法實現(xiàn)缺失節(jié)點的識別研究。
缺失節(jié)點定位是無線傳感網(wǎng)絡(luò)的基礎(chǔ)技術(shù)之一,也是無線傳感網(wǎng)絡(luò)研究的熱點問題之一[8]。無線傳感網(wǎng)絡(luò)中的節(jié)點數(shù)量龐大,組成網(wǎng)絡(luò)系統(tǒng)協(xié)同完成傳輸任務(wù),一旦出現(xiàn)節(jié)點缺失的問題,會導(dǎo)致傳輸數(shù)據(jù)不完整,降低無線傳感網(wǎng)絡(luò)的穩(wěn)定性[9]。
缺失節(jié)點定位就是識別出缺失節(jié)點在所處空間內(nèi)的具體位置,在實際的計算過程中,受到節(jié)點環(huán)境復(fù)雜性與多變性的影響,導(dǎo)致定位識別的誤差較大。為了提高無線傳感網(wǎng)絡(luò)的傳輸可靠性,采用蒙特卡羅定位算法進行缺失節(jié)點識別。移動錨節(jié)點[10]與位置節(jié)點在無線傳感網(wǎng)絡(luò)中的分布情況如圖1所示。
圖1 錨節(jié)點與位置節(jié)點分布圖
蒙特卡羅定位算法是一種隨機模擬方法,計算模式是先從數(shù)據(jù)集合中隨機選取計算樣本,因此抽樣的次數(shù)直接影響其最終的定位精度。采用人工方法進行大量抽樣的效率較低并且難以實現(xiàn),而蒙特卡洛定位算法可以有效解決這一問題,更加適用于缺失節(jié)點的定位識別。
完成錨節(jié)點與位置節(jié)點分布后進行數(shù)據(jù)的隨機抽樣,生成缺失節(jié)點樣本集,N表示最小樣本數(shù),根據(jù)實際情況設(shè)定。
在無線傳感網(wǎng)絡(luò)的實際工作過程中,節(jié)點是隨機移動的,因此無法確定缺失節(jié)點具體的移動方向與速度,但是可以計算缺失節(jié)點的最大移動速度Vmax。設(shè)缺失節(jié)點在上一個時刻的位置為,缺失節(jié)點在時間序列關(guān)系約束下的當(dāng)前位置為為缺失節(jié)點移動的圓心,以Vmax作為半徑,缺失節(jié)點在此范圍內(nèi)移動。缺失節(jié)點位置區(qū)域如圖2 所示。
圖2 缺失節(jié)點位置區(qū)域示意圖
從圖2 中可以看出,缺失節(jié)點在時間序列關(guān)系約束下所處位置在[0,Vmax]區(qū)域內(nèi)呈現(xiàn)均勻分布的狀態(tài),因此可以構(gòu)建如下表達式:
式中:d(lt|lt-1)表示t時刻與t-1 時刻缺失節(jié)點位置之間的歐幾里得距離。
為了確保濾波處理的可靠性,錨節(jié)點需要選擇兩跳以內(nèi)的,設(shè)一跳錨節(jié)點集合為B1,兩跳錨節(jié)點集合為B2,每個錨節(jié)點的通信半徑為r,當(dāng)只存在一跳錨節(jié)點B1,則需要將滿足d(lt,B1)>r條件的節(jié)點濾除,當(dāng)只存在兩跳錨節(jié)點B2,時間序列關(guān)系約束下則需要濾除滿足d(lt,B2)>2r、d(lt,B2)<r的節(jié)點。節(jié)點濾除示意圖見圖3。
圖3 節(jié)點濾除示意圖
根據(jù)上述原理,構(gòu)建如式(3)所示的節(jié)點濾除計算公式:
蒙特卡羅定位算法[11]的計算重點是:時間序列關(guān)系約束下缺失節(jié)點的后驗概率分布p(lt|o0,o1,o2,…,ot),并且采用重要性函數(shù)π 歸一化采集所有樣本點,通過樣本點權(quán)重計算缺失節(jié)點的后驗分布概率。
時間序列關(guān)系約束下缺失節(jié)點位置預(yù)測結(jié)果計算公式為:
缺失節(jié)點位置更新公式為:
權(quán)值歸一化[12]計算公式為:
蒙特拉羅定位算法中引入了重要性采樣計算,隨著計算次數(shù)的增加,會導(dǎo)致粒子權(quán)重發(fā)生偏差,部分粒子的權(quán)重會變得極大,部分粒子出現(xiàn)退化情況導(dǎo)致權(quán)重極小,退化的粒子則不能參與計算。定義節(jié)點的有效樣本數(shù)量為Neff,門限值為Nthreshold,如果存在Neff<Nthreshold,則進行重采樣。
有效樣本數(shù)量Neff的計算公式為:
采用N個有效的樣本數(shù)據(jù),定位缺失節(jié)點位置,完成缺失節(jié)點的識別。時間序列關(guān)系約束下缺失節(jié)點位置計算公式為:
根據(jù)式(8)所示的缺失節(jié)點位置計算結(jié)果,可以明確缺失節(jié)點在無線傳感網(wǎng)絡(luò)中所處的位置,完成缺失節(jié)點的識別。
蒙特卡羅定位算法的運行代碼如圖4 所示。
圖4 蒙特卡羅定位算法的運行代碼
為有效驗證提出的無線傳感網(wǎng)絡(luò)缺失節(jié)點識別方法的適用性及合理性,模擬網(wǎng)絡(luò)環(huán)境搭建了PC(Personal Computer)端云服務(wù)無線傳感網(wǎng)絡(luò)平臺,并在其上進行具體測試。無線傳感器網(wǎng)絡(luò)結(jié)構(gòu)如圖5 所示。
圖5 無線傳感網(wǎng)絡(luò)結(jié)構(gòu)
測試數(shù)據(jù)集中選取了SQL(Structured Query Language 結(jié)構(gòu)化查詢語言)數(shù)據(jù)庫中的5000 條移動無線傳感節(jié)點數(shù)據(jù),仿真的詳細參數(shù)如表1 所示。
將圖4 所示的蒙特卡羅定位算法運行代碼輸入到MATLAB 平臺中,即可進行算法的應(yīng)用。
在仿真分析前為了降低誤差,得到精準的仿真結(jié)果,充分驗證所提出方法的性能,以節(jié)點權(quán)重計算精度、缺失節(jié)點定位精度、缺失節(jié)點識別精度為仿真分析指標,將所提出方法與文獻[2]方法與文獻[3]方法進行對比驗證。
在完備的數(shù)據(jù)集中,需要精準地計算節(jié)點權(quán)重,才能夠得到精準的缺失節(jié)點位置識別結(jié)果。不同方法的節(jié)點權(quán)重計算精度對比結(jié)果如圖6 所示。
圖6 節(jié)點權(quán)重計算精度
從圖6 中可以看出,所提出方法的節(jié)點權(quán)重計算精度偏高,節(jié)點權(quán)重計算精度最高達到99.43%,說明所提出方法計算的權(quán)重結(jié)果與實際值基本一致,吻合度較高,兩種文獻對比方法的節(jié)點權(quán)重計算精度最高未超過90%。由此看來,所提出方法對無線傳感網(wǎng)絡(luò)節(jié)點權(quán)重的精準度較高,實用性能好。
為進一步驗證缺失節(jié)點識別的性能,設(shè)置兩種測試環(huán)境對缺失節(jié)點的定位精度進行驗證。兩種測試環(huán)境分別為存在30 dB 噪聲影響和不存在噪聲影響的無線傳感網(wǎng)絡(luò)環(huán)境。缺失節(jié)點產(chǎn)生的原因也是噪聲及冗余信號等,因此在噪聲環(huán)境下更能體現(xiàn)方法的識別性能。兩種環(huán)境下,三種方法的缺失節(jié)點定位精度對比結(jié)果分別如圖7 與圖8 所示。
圖7 不存在噪聲影響環(huán)境下三種方法的缺失節(jié)點定位精度
觀察圖7 所示不存在噪聲干擾下的缺失節(jié)點定位精度結(jié)果可以看出,所提出方法的定位精度曲線始終位于兩種文獻對比方法之上。當(dāng)不存在噪聲影響時,所提出方法的缺失節(jié)點定位精度范圍在94.36%~97.52%之間。相同條件下,文獻[2]與文獻[3]方法的缺失節(jié)點定位范圍分別為68.36%~77.58%、73.29%~83.10%。因此,說明在不存在噪聲干擾的條件下,相較于傳統(tǒng)方法,所提方法不僅能夠提高缺失節(jié)點定位精度,且定位結(jié)果較為穩(wěn)定。
從圖8 中可以看出,當(dāng)存在噪聲干擾的情況下,三種方法的缺失節(jié)點定位精度均出現(xiàn)了一定的下降,其中文獻[2]與文獻[3]方法均下降了10%左右,所提出方法的缺失節(jié)點定位精度仍然能夠保持在91%以上;噪聲條件下,文獻[2]與文獻[3]方法的缺失節(jié)點識別精度最高未超過70%,因此說明所研究方法能夠抵御噪聲干擾。
為了進一步驗證所提出方法對缺失節(jié)點的識別性能,將不同方法識別出的缺失節(jié)點數(shù)量與實際值進行對比,判斷三種方法的缺失節(jié)點識別精度。缺失節(jié)點識別精度對比結(jié)果如表2 所示。
從表2 所示的缺失節(jié)點識別精度結(jié)果中可以看出,所提出方法的缺失節(jié)點識別數(shù)量與實際值基本一致,最高差值不超過1 個;文獻[2]方法識別的缺失節(jié)點數(shù)量始終低于真實值,說明文獻[2]方法不能夠識別出全部的缺失節(jié)點,將會導(dǎo)致無線傳感網(wǎng)絡(luò)的傳輸完整性降低;文獻[3]方法的缺失節(jié)點識別數(shù)量始終高于真實值,會向無線傳感網(wǎng)絡(luò)發(fā)出錯誤指令,為了填補缺失節(jié)點,可能導(dǎo)致網(wǎng)絡(luò)內(nèi)的節(jié)點數(shù)量增加,增加網(wǎng)絡(luò)擁塞的可能性。
為了提高無線傳感網(wǎng)絡(luò)的傳輸性能,有效解決節(jié)點缺失問題,提出一種考慮時間序列表達關(guān)系的無線傳感網(wǎng)絡(luò)缺失節(jié)點識別方法。從理論與仿真分析兩方面對方法的性能進行了驗證,該方法在進行缺失節(jié)點識別過程中,具有較高的缺失節(jié)點定位精度與識別精度。在存在噪聲干擾的情況下,所提出方法仍然能夠保持91%以上的缺失節(jié)點定位精度,并且所提出方法識別出的缺失節(jié)點數(shù)量與實際值基本一致。因此,說明所提出方法能夠滿足缺失節(jié)點識別的精度要求。