劉耿耿,郭文忠,洪 偉
1(福州大學(xué) 數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,福州 350116) 2(福建省網(wǎng)絡(luò)計(jì)算與智能信息處理重點(diǎn)實(shí)驗(yàn)室,福州 350116) E-mail :guowenzhong@fzu.edu.cn
無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensors Network,WSN)是由大量低能耗、具有感知能力的傳感器節(jié)點(diǎn)組成.節(jié)點(diǎn)通互相協(xié)作地感知,采集和處理監(jiān)測(cè)區(qū)域中感興趣事件的信息,然后以無(wú)線通信的方式把信息發(fā)送回基站[1].WSN緊密結(jié)合了信息世界與真實(shí)的物理世界,實(shí)現(xiàn)了信息“無(wú)處不在”的模式[2].目前,該技術(shù)被廣泛應(yīng)用在眾多的實(shí)際環(huán)境中,如森林火災(zāi)檢測(cè)、化學(xué)物質(zhì)泄漏檢測(cè)等[3,4].由于傳感器節(jié)點(diǎn)一般部署在偏遠(yuǎn)地方,容易受到外界惡劣氣候的干擾,而且節(jié)點(diǎn)自身資源有限,抗干擾能力差,這些特征往往會(huì)引起感知信息過(guò)程出現(xiàn)錯(cuò)誤,造成誤檢或者漏檢,進(jìn)而影響網(wǎng)絡(luò)的性能[5].因此,容錯(cuò)能力對(duì)于WSN正常運(yùn)行而言是至關(guān)重要的,不僅提高了數(shù)據(jù)融合的準(zhǔn)確性,還促進(jìn)了網(wǎng)絡(luò)的穩(wěn)定運(yùn)行.
文獻(xiàn)[6]提出一種基于融合樹的事件區(qū)域檢測(cè)容錯(cuò)算法,根據(jù)已構(gòu)建的融合樹,樹節(jié)點(diǎn)執(zhí)行多元線性回歸,對(duì)單個(gè)或者多個(gè)事件進(jìn)行檢測(cè),得到相應(yīng)的估計(jì)值.文獻(xiàn)[7]利用經(jīng)驗(yàn)分布和證據(jù)理論相結(jié)合的方法,提出了一種新穎的事件檢測(cè)方案.該算法利用Goodness-of-fit(GOF)測(cè)試比較節(jié)點(diǎn)的采樣數(shù)據(jù)與經(jīng)驗(yàn)分布情況,依據(jù)兩者的符合程度來(lái)判斷事件發(fā)生的假設(shè)是否成立.以上的算法能夠獲得較好的檢測(cè)效果,但是在檢測(cè)過(guò)程中計(jì)算復(fù)雜度太高,無(wú)法滿足WSN中的容錯(cuò)實(shí)時(shí)性要求.文獻(xiàn)[8]提出了一種分布式貝葉斯事件檢測(cè)算法.假設(shè)每個(gè)傳感器出錯(cuò)的概率相同,而且錯(cuò)誤是時(shí)空間相關(guān)的.每個(gè)傳感器通過(guò)與鄰居節(jié)點(diǎn)的信息交換得到事件發(fā)生的概率,進(jìn)而使用貝葉斯算法進(jìn)行分析是故障還是事件;文獻(xiàn)[9]從數(shù)學(xué)角度證明了少數(shù)服從多數(shù)是事件檢測(cè)中的最優(yōu)決策模型.利用二進(jìn)制變量0和1表示傳感器的讀數(shù),有效地減少了節(jié)點(diǎn)間信息的傳輸能量.并通過(guò)實(shí)驗(yàn)表明了算法的有效性.但是這類算法忽略了傳感器節(jié)點(diǎn)的瞬時(shí)測(cè)量故障,當(dāng)瞬時(shí)故障數(shù)量增加的時(shí)候,算法的容錯(cuò)性無(wú)法得到保證.文獻(xiàn)[10]提出了一種新穎的對(duì)鄰居節(jié)點(diǎn)測(cè)量數(shù)據(jù)進(jìn)行加權(quán)的方法,設(shè)計(jì)了一種衡量測(cè)量數(shù)據(jù)之間差距的方法,利用中值策略檢測(cè)故障節(jié)點(diǎn),但在節(jié)點(diǎn)故障率較高的系統(tǒng)中算法的性能將會(huì)顯著下降.文獻(xiàn)[11]提出一種基于加權(quán)平均值的故障檢測(cè)算法,在不同故障率情況下,傳感器節(jié)點(diǎn)的永久性故障識(shí)別精度高,但在節(jié)點(diǎn)故障率較高的系統(tǒng)中算法的性能將會(huì)顯著下降.文獻(xiàn)[12]利用節(jié)點(diǎn)的空間相關(guān)性提出了一種空間相關(guān)的事件容錯(cuò)檢測(cè)算法.節(jié)點(diǎn)通過(guò)自身的歷史數(shù)據(jù)計(jì)算節(jié)點(diǎn)的可信水平,然后算法根據(jù)節(jié)點(diǎn)的可信度確定鄰居節(jié)點(diǎn),并分析節(jié)點(diǎn)的測(cè)量值與鄰居節(jié)點(diǎn)的數(shù)據(jù)之間的關(guān)系,綜合判斷事件是否發(fā)生.該算法具有很高的檢測(cè)精度和較小的誤判率,但是節(jié)點(diǎn)間互相通信頻繁,會(huì)占用很多節(jié)點(diǎn)的能耗.文獻(xiàn)[13]結(jié)合時(shí)間和空間特性提出了一種分布式鄰居節(jié)點(diǎn)協(xié)作動(dòng)態(tài)事件檢測(cè)算法.但是該算法只考慮到網(wǎng)絡(luò)能量的有效性,對(duì)容錯(cuò)的能力,事件檢測(cè)的精確度未有很大的改善.
針對(duì)目前在上述方面的不足,本文提出一種基于預(yù)測(cè)機(jī)制的容錯(cuò)事件檢測(cè)算法.算法主要由改進(jìn)的事件檢測(cè)機(jī)制和容錯(cuò)機(jī)制組成.利用事件發(fā)生的具有很強(qiáng)的時(shí)空關(guān)聯(lián)性,對(duì)事件是否發(fā)生還是節(jié)點(diǎn)異常進(jìn)行準(zhǔn)確判斷.當(dāng)節(jié)點(diǎn)出現(xiàn)異常的時(shí)候,利用KNN-PSOELM預(yù)測(cè)機(jī)制進(jìn)行估計(jì),以排除錯(cuò)誤數(shù)據(jù)對(duì)融合結(jié)果的影響,從而在節(jié)點(diǎn)出現(xiàn)故障的時(shí)候仍能保持網(wǎng)絡(luò)的可行性.
假設(shè)監(jiān)控區(qū)域內(nèi)具有n個(gè)同構(gòu)的傳感器節(jié)點(diǎn),節(jié)點(diǎn)的集合可以表示為Si=(S1,S2,S3,…,Sn),其中Si表示第i個(gè)傳感器節(jié)點(diǎn).每個(gè)節(jié)點(diǎn)通過(guò)定位設(shè)備反饋?zhàn)约旱牡乩砦恢?傳感器的通信半徑為R,當(dāng)兩個(gè)節(jié)點(diǎn)處于通信范圍之內(nèi),節(jié)點(diǎn)間可以進(jìn)行通信,否則需要通過(guò)多跳的無(wú)線連接來(lái)保持通信.如圖1所示,網(wǎng)絡(luò)中的節(jié)點(diǎn)采用一定的算法進(jìn)行非均勻的分簇以及簇首的選擇.在簇內(nèi),通過(guò)構(gòu)建最優(yōu)融合樹的方式,節(jié)點(diǎn)把自身的能量信息以及采集的數(shù)據(jù)發(fā)送給簇首,簇首節(jié)點(diǎn)承擔(dān)對(duì)簇內(nèi)節(jié)點(diǎn)發(fā)送來(lái)的信息壓縮、融合等數(shù)據(jù)處理任務(wù)以減少數(shù)據(jù)通信量.在簇間,基站通過(guò)派遣移動(dòng)代理的方式,對(duì)每個(gè)簇的簇首節(jié)點(diǎn)進(jìn)行信息的收集以此均衡傳感器節(jié)點(diǎn)能耗.
圖1 無(wú)線傳感器網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 Network structure of wireless sensors network
WSN的能量消耗主要體現(xiàn)在傳感器節(jié)點(diǎn)感知、處理、接受和發(fā)送的任務(wù)上,節(jié)點(diǎn)傳輸能量主要表現(xiàn)有:
(1)
其中,Eti表示源節(jié)點(diǎn)i發(fā)送kbits的數(shù)據(jù)到相距dij的節(jié)點(diǎn)j所需要消耗的能量,Eri表示源節(jié)點(diǎn)i接收kbits數(shù)據(jù)消耗的能量,Eelec表示涉及無(wú)線電接收和傳輸數(shù)據(jù)的一個(gè)常量,εamp表示與信號(hào)衰減相關(guān)的常量,Ecom表示W(wǎng)SN網(wǎng)絡(luò)無(wú)線通信消耗總能量.
對(duì)于簇首節(jié)點(diǎn)而言,節(jié)點(diǎn)不僅僅承擔(dān)著傳輸能量消耗,同時(shí)還需要對(duì)簇內(nèi)節(jié)點(diǎn)發(fā)送來(lái)的信息進(jìn)行處理,因此節(jié)點(diǎn)的處理信息能量消耗為:
Efusion=S×q(k)
(2)
其中,q表示平均單位融合代價(jià),它的值取決于融合數(shù)據(jù)類型以及數(shù)據(jù)相關(guān)性.
在一定的監(jiān)測(cè)區(qū)域內(nèi),事件的發(fā)生具有很強(qiáng)的時(shí)空相關(guān)性.一般情況下,對(duì)單個(gè)節(jié)點(diǎn)而言,監(jiān)測(cè)環(huán)境的數(shù)據(jù)在短時(shí)間內(nèi)不會(huì)發(fā)生太大的改變,監(jiān)測(cè)值是彼此相關(guān)的.只有當(dāng)事件發(fā)生的時(shí)候,節(jié)點(diǎn)的監(jiān)測(cè)值變化率會(huì)產(chǎn)生明顯的變化.變化率的大小可以作為事件是否發(fā)生的依據(jù).但是節(jié)點(diǎn)自身的檢測(cè)無(wú)法消除固有錯(cuò)誤,檢測(cè)的結(jié)果存在著不可靠性,因此需要利用事件區(qū)域內(nèi)部的節(jié)點(diǎn)以及節(jié)點(diǎn)的近鄰節(jié)點(diǎn)感知信息的關(guān)聯(lián)性檢測(cè)[14].
定義1.瞬時(shí)測(cè)量值故障:由于傳感器受到外界環(huán)境的突變等原因,導(dǎo)致節(jié)點(diǎn)在某一時(shí)刻或者某些時(shí)刻產(chǎn)生錯(cuò)誤的讀數(shù).
定義2.固定測(cè)量值故障:由于傳感器節(jié)點(diǎn)能量耗盡或者設(shè)備出現(xiàn)故障等原因,導(dǎo)致節(jié)點(diǎn)采樣數(shù)據(jù)與環(huán)境無(wú)關(guān),多個(gè)采樣周期內(nèi)持續(xù)采集到異常的數(shù)據(jù).
傳感器節(jié)點(diǎn)以T為時(shí)間周期進(jìn)行均勻采樣,為了保證節(jié)點(diǎn)在采樣周期T內(nèi)完成數(shù)據(jù)處理與發(fā)送,T值需要滿足一定的條件.設(shè)傳感器在時(shí)刻i的讀數(shù)為Si,傳感器在正常區(qū)域內(nèi)讀數(shù)的期望函數(shù)為En(t),在事件區(qū)域中的讀數(shù)的期望函數(shù)Ee(t),則判定異常的閾值的R(t)=(En(t)+Ee(t))/2.當(dāng)Si的值大于事件發(fā)生的期望值R(t)的時(shí)候,說(shuō)明可能有事件發(fā)生或者節(jié)點(diǎn)發(fā)生故障;否則說(shuō)明區(qū)域正常.
圖2 滑動(dòng)窗口機(jī)制Fig.2 Sliding window mechanism
事件特征的變化規(guī)律與事件發(fā)生的具體時(shí)刻無(wú)關(guān),而是與距離事件發(fā)生時(shí)刻之后的一段時(shí)間有關(guān).每一個(gè)時(shí)刻傳感器節(jié)點(diǎn)采集數(shù)據(jù),并對(duì)事件進(jìn)行有效的判斷,并把判斷的值緩存在本地.為了更有效地檢測(cè)事件的發(fā)生,本文在節(jié)點(diǎn)內(nèi)部采用雙重滑動(dòng)窗口技術(shù),如圖2所示.在傳感器節(jié)點(diǎn)采集到下一時(shí)刻的數(shù)據(jù)的時(shí)候,移動(dòng)窗口,執(zhí)行事件檢測(cè)算法,從時(shí)間相關(guān)性上對(duì)事件進(jìn)行判斷.窗口的長(zhǎng)度的L,F(xiàn)lag表示節(jié)點(diǎn)t時(shí)刻的狀態(tài).狀態(tài)的值由公式(3)決定.
(3)
當(dāng)滑動(dòng)窗口的長(zhǎng)度為1的時(shí)候,F(xiàn)lag=1,則表示事件發(fā)生,否則事件沒(méi)發(fā)生;當(dāng)滑動(dòng)窗口的長(zhǎng)度大于1且小于窗口大小的時(shí)候,則Flag=1的數(shù)量大于Flag=0的數(shù)量的時(shí)候表示事件發(fā)生,否則無(wú)事件發(fā)生;當(dāng)窗口的長(zhǎng)度與滑動(dòng)窗口的長(zhǎng)度一致的時(shí)候,設(shè)定閾值C,F(xiàn)lag=1的數(shù)量大于C的時(shí)候,表示事件發(fā)生.
表1 當(dāng)L=3的時(shí)候滑動(dòng)窗口的執(zhí)行過(guò)程Table 1 Execution of the sliding window when L=3
表1描述了L=3的時(shí)候,節(jié)點(diǎn)內(nèi)部滑動(dòng)窗口實(shí)現(xiàn)的機(jī)制.在節(jié)點(diǎn)內(nèi)部建立兩個(gè)緩存隊(duì)列DATAQUEUE和EVENTQUEUE,分別存放節(jié)點(diǎn)的采樣值xi,以及節(jié)點(diǎn)的事件判斷值yi.節(jié)點(diǎn)每個(gè)時(shí)刻采集的數(shù)據(jù)采用先進(jìn)先出的方式存放在DATAQUEUE.對(duì)于節(jié)點(diǎn)i而言,首先在DATAQUEUE隊(duì)列中執(zhí)行滑動(dòng)窗口技術(shù),當(dāng)滿足公式(3),在EVENTQUEUE中記錄此時(shí)的事件的狀態(tài),在EVENTQUEUE隊(duì)列中執(zhí)行周期不同的滑動(dòng)窗口技術(shù),當(dāng)達(dá)到預(yù)測(cè)的條件時(shí)候則判斷事件發(fā)生,然后執(zhí)行下一步操作.具體時(shí)間相關(guān)的算法檢測(cè)流程描述如下:
時(shí)間相關(guān)性事件檢測(cè)算法eventDetection(k,C) intcount=0; if(k==1)/*當(dāng)窗口內(nèi)僅有1個(gè)數(shù)據(jù)*/ if(En(t)
雖然傳感器的滑動(dòng)窗口能夠檢測(cè)到事件的發(fā)生,但是,單個(gè)節(jié)點(diǎn)檢測(cè)的結(jié)果存在著不可靠性,無(wú)法將節(jié)點(diǎn)的固定測(cè)量值故障排除.由于通常事件都會(huì)覆蓋一定的區(qū)域和多數(shù)節(jié)點(diǎn),物理位置相近的節(jié)點(diǎn)在同一時(shí)間段內(nèi)采集的信息又十分相似,所以可以通過(guò)節(jié)點(diǎn)之間的空間相關(guān)性進(jìn)行進(jìn)一步的事件檢測(cè).
定義3.節(jié)點(diǎn)鄰域:無(wú)線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)通信范圍內(nèi)所有節(jié)點(diǎn)的集合Nb(i)={Sj|distance(i,j)}.
節(jié)點(diǎn)的鄰域節(jié)點(diǎn)在時(shí)刻t的采樣的數(shù)據(jù)值分別為{x1,x2,x3,…,xn}.鄰域節(jié)點(diǎn)的位置分布對(duì)事件檢測(cè)檢測(cè)準(zhǔn)確與否有很大的關(guān)系,距離越近的節(jié)點(diǎn)相似程度越大,相關(guān)性也就越強(qiáng),在事件檢測(cè)判斷中起的作用越大,反之越小.如圖3所示,利用節(jié)點(diǎn)間的距離參數(shù)反映對(duì)其節(jié)點(diǎn)i決策的影響的權(quán)重wij:
(4)
式中,所有鄰居節(jié)點(diǎn)的加權(quán)和為1.
圖3 節(jié)點(diǎn)空間相關(guān)性模型Fig.3 Spatial correlation model of nodes
節(jié)點(diǎn)i的事件檢測(cè)判斷的置信度可以為:
(5)
當(dāng)節(jié)點(diǎn)i自身檢測(cè)到事件發(fā)生的時(shí)候,節(jié)點(diǎn)i執(zhí)行空間相關(guān)性檢測(cè)算法,利用鄰域節(jié)點(diǎn)的信息協(xié)同判斷.根據(jù)鄰域節(jié)點(diǎn)的不同支持度,計(jì)算不同的決策信息.如果鄰域節(jié)點(diǎn)也檢測(cè)到異常數(shù)據(jù),支持事件發(fā)生的概率越大,則節(jié)點(diǎn)i判斷事件發(fā)生的概率也就越大,立即傳輸信息回基站,否則,判斷數(shù)據(jù)異常來(lái)自測(cè)量的故障,進(jìn)行下一步處理.具體空間相關(guān)的算法檢測(cè)流程描述如下所示.
在事件檢測(cè)過(guò)程中,考慮到環(huán)境的不確定性以及網(wǎng)絡(luò)節(jié)點(diǎn)本身的不可靠性導(dǎo)致傳感器產(chǎn)生錯(cuò)誤的讀數(shù),從而影響整個(gè)網(wǎng)絡(luò)對(duì)事件的檢測(cè).為了提高傳感器對(duì)事件狀態(tài)決策的可靠性,本文在事件檢測(cè)算法的基礎(chǔ)上,進(jìn)一步提出一種基于預(yù)測(cè)機(jī)制的容錯(cuò)算法.容錯(cuò)機(jī)制是利用基于時(shí)間相關(guān)的預(yù)測(cè)算法.
課題組在前期工作中,為了優(yōu)化移動(dòng)代理的行程,采用粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)進(jìn)行優(yōu)化,并加入了自適應(yīng)融合策略以及數(shù)據(jù)分流策略.鑒于傳統(tǒng)SVM模型[15]、反向傳播神經(jīng)網(wǎng)絡(luò) (Back Propagation Neural Network,BPNN)[16]、極限學(xué)習(xí)機(jī)(Extreme Learning Machine,ELM)[17]、PSO和BP神經(jīng)網(wǎng)絡(luò)方法相結(jié)合所提出一種PSO-BPNN預(yù)測(cè)模型[18]等所存在預(yù)測(cè)精度不足的問(wèn)題,課題組考慮傳感器節(jié)點(diǎn)周期性采集的數(shù)據(jù)具有時(shí)間相關(guān)性,利用K-Nearest Neighbor(KNN)與PSO優(yōu)化的極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)建立能夠反應(yīng)采集數(shù)據(jù)中動(dòng)態(tài)依存的數(shù)學(xué)模型,減少節(jié)點(diǎn)中冗余數(shù)據(jù)的傳輸,引入流行學(xué)習(xí)中的局部線性重構(gòu)的思想,結(jié)合改進(jìn)的極限學(xué)習(xí)機(jī),提出了KNN- PSOELM數(shù)據(jù)預(yù)測(cè)模型[19].優(yōu)化之后的模型不僅使得原始非線性的傳感器數(shù)據(jù)具有局部線性的特征,而且避免了由異常數(shù)據(jù)樣本引起的病態(tài)隱層輸出矩陣,使模型具有更高的預(yù)測(cè)精度與泛化能力.
空間相關(guān)性檢測(cè)算法faultDetection(r) fori=1:N if(dij<=r) weight=calculatetheweightwij; end end fori=1:N if(neighbor'status==NE) NEVALUE=calculate(i,weight); else NNVALUE=calculate(i,weight); end end if(NEVALUE>NNVALUE) status="Event"; Send("EventDetected!"); else status="Fault"; Send("FaultEquipment"); end end
傳感器的初始狀態(tài)為NN,每隔T周期采集一次樣本,在采集的過(guò)程中同時(shí)執(zhí)行基于事件時(shí)間相關(guān)性的檢測(cè)與空間相關(guān)性的檢測(cè).當(dāng)某個(gè)時(shí)刻傳感器y讀數(shù)大于R(t)的時(shí)候,即自身檢測(cè)到事件,將傳感器的的狀態(tài)置為NE.此刻,節(jié)點(diǎn)進(jìn)入空間相關(guān)性檢測(cè),向鄰居廣播消息,收集鄰域節(jié)點(diǎn)的狀態(tài),從而確定自身的狀態(tài).如果節(jié)點(diǎn)的狀態(tài)與鄰域節(jié)點(diǎn)的狀態(tài)一致,說(shuō)明傳感器位于事件區(qū)域,需要發(fā)送事件發(fā)生信息回基站.反之,節(jié)點(diǎn)的狀態(tài)與鄰域節(jié)點(diǎn)的狀態(tài)并不同,則認(rèn)為自身發(fā)生了錯(cuò)誤,此刻需要執(zhí)行容錯(cuò)算法KNN-PSOELM.因此,本文的事件檢測(cè)容錯(cuò)算法的流程圖如圖4所示.
圖4 基于預(yù)測(cè)機(jī)制的事件檢測(cè)容錯(cuò)算法的流程圖Fig.4 Flow chart of the proposed prediction-based fault-tolerant aggregation algorithm
本節(jié)采用Matlab軟件進(jìn)行仿真實(shí)驗(yàn),對(duì)WSN事件檢測(cè)與容錯(cuò)性能進(jìn)行評(píng)估.假設(shè)傳感器節(jié)點(diǎn)隨機(jī)分布在100m×100m的區(qū)域內(nèi),感知的數(shù)據(jù)類型是溫度數(shù)據(jù).通常情況下,傳感器的感知數(shù)據(jù)在[Tmin,Tmax]內(nèi)是連續(xù)的而且服從正態(tài)分布.因此,本文隨機(jī)產(chǎn)生一組數(shù)據(jù),使其服從正態(tài)分布φ(i),其中Tmin=25℃、Tmax=40℃、E(i)=32.5℃、τ=2.5℃.其分布曲線圖如5所示.
圖5 正態(tài)分布的溫度數(shù)據(jù)Fig.5 Temperature data of normal distribution
本節(jié)探討節(jié)點(diǎn)通信半徑,EVENTQUEUE的長(zhǎng)度和平均事件檢測(cè)數(shù)的關(guān)系,其中節(jié)點(diǎn)的密度為100.實(shí)驗(yàn)結(jié)果如圖6所示,隨著節(jié)點(diǎn)的通信半徑的增加,平均事件檢測(cè)的數(shù)量下降,這是因?yàn)橥ㄐ欧秶臄U(kuò)大,使得節(jié)點(diǎn)的領(lǐng)域節(jié)點(diǎn)數(shù)量增加,空間的相關(guān)性得到提高,使得節(jié)點(diǎn)異常數(shù)據(jù)被判定為事件的幾率減少.當(dāng)通信半徑一定的時(shí)候,EVENTQUEUE的長(zhǎng)度對(duì)事件的檢測(cè)同樣產(chǎn)生影響.EVENTQUEUE的長(zhǎng)度增加,提高了事件的檢測(cè)的準(zhǔn)確度,排除瞬時(shí)值的故障測(cè)量引發(fā)的錯(cuò)誤事件,因此降低了平均事件檢測(cè)數(shù)量.
圖6 通信范圍、窗口長(zhǎng)度和平均事件檢測(cè)數(shù)的關(guān)系Fig.6 Relationship among communication range,window length and average event detection
從圖7可以看出事件區(qū)域的檢測(cè)數(shù)量隨著節(jié)點(diǎn)的密度增加而逐漸遞減.同理,節(jié)點(diǎn)總數(shù)的增加導(dǎo)致節(jié)點(diǎn)的密度增加,使得參與協(xié)作決策的成員數(shù)量增加,從而,瞬時(shí)值故障測(cè)量值或者固定值故障測(cè)量值被判定為事件的幾率減少.
圖7 節(jié)點(diǎn)密度、通信范圍和平均事件檢測(cè)數(shù)的關(guān)系Fig.7 Relationship among node density,communication range and average event detection
本節(jié)實(shí)驗(yàn)結(jié)合事件檢測(cè)機(jī)制與容錯(cuò)機(jī)制,對(duì)于出現(xiàn)故障的節(jié)點(diǎn)采取了基于預(yù)測(cè)的KNN-PSOELM容錯(cuò)機(jī)制,并將KNN-PSOELM模型分別與BPNN、SVR、ELM和PSOBPNN進(jìn)行對(duì)比[19],同時(shí)將本文的事件檢測(cè)容錯(cuò)算法與基于加權(quán)中值法的事件檢測(cè)容錯(cuò)算法[10]、基于自適應(yīng)加權(quán)平均法的事件檢測(cè)容錯(cuò)算法[11]進(jìn)行比較與分析.
圖8 五種數(shù)據(jù)預(yù)測(cè)模型預(yù)測(cè)結(jié)果對(duì)比Fig.8 Comparison of prediction results of five data forecasting models
一方面本節(jié)實(shí)驗(yàn)將KNN-PSOELM模型分別與BPNN[16]、SVR[15]、ELM[17]和PSOBPNN[18]進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如圖8所示[19].由圖8可以明顯看出,本文模型的預(yù)測(cè)值與真實(shí)值十分接近,效果明顯優(yōu)于其他算法.為了更好地說(shuō)明KNN-PSOELM模型的優(yōu)越性,下面對(duì)預(yù)測(cè)成功率進(jìn)行分析.從圖9可以看出在不同的預(yù)設(shè)閾值下不同預(yù)測(cè)機(jī)制預(yù)測(cè)數(shù)據(jù)的成功率[19].KNN-PSOELM模型預(yù)測(cè)的成功率都優(yōu)于其他幾個(gè)預(yù)測(cè)模型,當(dāng)預(yù)設(shè)閾值達(dá)到0.4的時(shí)候,預(yù)測(cè)的成功率到達(dá)100%.此刻傳感器節(jié)點(diǎn)無(wú)需發(fā)送數(shù)據(jù),節(jié)省了能量.
圖9 不同閾值下五種數(shù)據(jù)預(yù)測(cè)模型的預(yù)測(cè)成功率Fig.9 Prediction success ratio of five data prediction models under different thresholds
另一方面,將本文的事件檢測(cè)容錯(cuò)算法與基于加權(quán)中值法的事件檢測(cè)容錯(cuò)算法[10]、基于自適應(yīng)加權(quán)平均法的事件檢測(cè)容錯(cuò)算法[11]進(jìn)行比較與分析.其中節(jié)點(diǎn)密度為100,通訊半徑為20,EVENTQUEUE的長(zhǎng)度為4,簇首融合的數(shù)據(jù)來(lái)源于簇內(nèi)的3個(gè)節(jié)點(diǎn).為了更好地可視化傳感器讀數(shù),本文采用了多項(xiàng)式插值方法對(duì)原始的數(shù)據(jù)進(jìn)行擬合,并對(duì)簇內(nèi)其中一個(gè)節(jié)點(diǎn)做產(chǎn)生錯(cuò)誤數(shù)據(jù)處理.
圖10 容錯(cuò)之后融合結(jié)果對(duì)比Fig.10 Comparison of fusion results after fault tolerance
當(dāng)節(jié)點(diǎn)出現(xiàn)故障的時(shí)候,節(jié)點(diǎn)利用歷史的時(shí)間序列數(shù)據(jù)估計(jì)當(dāng)前周期內(nèi)的數(shù)據(jù).由圖10可以看出,節(jié)點(diǎn)發(fā)生故障的時(shí)候,節(jié)點(diǎn)數(shù)據(jù)融合的結(jié)果容易造成很大的偏差,自適應(yīng)加權(quán)平均法(AdaptiveWeightedAverage)雖然能夠有效地降低錯(cuò)誤節(jié)點(diǎn)的權(quán)重,逐漸提高數(shù)據(jù)融合的精度.但是,權(quán)重的調(diào)整過(guò)程需要耗費(fèi)一定的時(shí)間,容易導(dǎo)致前期的數(shù)據(jù)失去有效性.同時(shí)加權(quán)中值法(AggregateMedian)檢測(cè)在節(jié)點(diǎn)故障率較高的系統(tǒng)中算法的性能將會(huì)顯著下降.本文提出的基于預(yù)測(cè)的容錯(cuò)算法很好地解決兩個(gè)對(duì)比算法的不足.通過(guò)對(duì)時(shí)間歷史數(shù)據(jù)分析建模,然后預(yù)測(cè)得到最新的估計(jì)值.排除了錯(cuò)誤數(shù)據(jù)的影響,保證數(shù)據(jù)融合的準(zhǔn)確度.如圖10所示,運(yùn)用本文的容錯(cuò)算法,簇首節(jié)點(diǎn)融合的結(jié)果與實(shí)際的真實(shí)結(jié)果十分相近,證明了本文的容錯(cuò)算法的實(shí)用性和高效性.
針對(duì)傳感器節(jié)點(diǎn)自身設(shè)備不穩(wěn)定以及監(jiān)測(cè)環(huán)境惡劣等原因造成的錯(cuò)誤檢測(cè)結(jié)果,影響數(shù)據(jù)融合的結(jié)果,從而發(fā)生錯(cuò)誤事件檢測(cè)判斷,本文在已建立的有效的數(shù)據(jù)預(yù)測(cè)機(jī)制上,提出了無(wú)線傳感器網(wǎng)絡(luò)中一種新穎基于預(yù)測(cè)技術(shù)的事件檢測(cè)容錯(cuò)算法.利用事件的時(shí)空關(guān)聯(lián)性對(duì)監(jiān)測(cè)區(qū)域進(jìn)行事件檢測(cè),有效地提高事件檢測(cè)的準(zhǔn)確度.同時(shí)采用基于時(shí)間預(yù)測(cè)的算法進(jìn)容錯(cuò)的計(jì)算,排除錯(cuò)誤數(shù)據(jù)對(duì)網(wǎng)絡(luò)的影響,在網(wǎng)絡(luò)故障的時(shí)候,系統(tǒng)仍能給出正確信息的能力,保證系統(tǒng)的可靠性.仿真實(shí)驗(yàn)結(jié)果表明了算法的正確性和有效性.
[1] Yick J,Mukherjee B,Ghosal D.Wireless sensor network survey[J].Computer Networks,2008,52(12):2292-2330.
[2] Ren Feng-yuan,Huang Hai-ning,Lin Chuang.Wireless sensor networks [J].Journal of Software,2003,14(7):1282-1291.
[3] Zhang Ji-jun,Liu Yun-fei,Zhao Xin.Review of data aggregation system structure in wireless sensor networks[J].Transducer and Microsystem Technologies,2009,28(10):1-4.
[4] Wang Yao-nan,Li Shu-tao.Multisensor information fusion and its application:a survey [J].Control and Decision,2001,16(5):518-522.
[5] Singhal S,Gankotiya A K,Agarwal S,et al.An investigation of wireless sensor network:a distributed approach in smart environment[C].Advanced Computing & Communication Technologies (ACCT),2012 Second International Conference on.IEEE,2012:522-529.
[6] Zhang Shu-kui,Wang Yi-huai,Cui Zhi-ming,et al.Event region fault-tolerant detection algorithm based on aggregation tree [J].Journal on Communications,2010,31(9):74-87.
[7] Nguyen-Thanh N,Koo I.Empirical distribution-based event detection in wireless sensor networks:an approach based on evidence theory [J].Sensors Journal,IEEE,2012,12(6):2222-2228.
[8] Krishnamachari B,Iyengar S.Distributed Bayesian algorithms for fault-tolerant event region detection in wireless sensor networks [J].Computers,IEEE Transactions on,2004,53(3):241-250.
[9] Chen J,Kher S,Somani A.Distributed fault detection of wireless sensor networks[C].Proceedings of the 2006 Workshop on Dependability Issues in Wireless Ad Hoc Networks and Sensor Networks (DIWANS),ACM,2006:65-72.
[10] Gao Jian-liang,Xu Yong-jun,Li Xiao-xiong.Weighted-median based distributed fault detection for wireless sensor networks[J].Journal of Software,2007,18(5):1208-1217.
[11] Ding M,Chen D,Thaeler A,et al.Fault-tolerant target detection in sensor networks [C].Proceedings of 2005 IEEE Wireless Communications and Networking Conference (WCNC) ,IEEE,2005:2362-2368.
[12] Huang Ri-mao,Qiu Xue-song,Gao Zhi-peng,et al.A neighbor-data analysis method for fault detection in wireless sensor networks [J].Journal of Beijing University of Posts and Telecommunications,2011,34(3):31-34.
[13] Enemark H J,Zhang Y,Dragoni N,et al.Energy-efficient fault-tolerant dynamic event region detection in wireless sensor networks[C].Proceedings of the 81st Vehicular Technology Conference (VTC Spring),IEEE,2015:1-5.
[14] Xu Xiao-long,Geng Wei-jian,Yang Geng,et al.An efficient fault-tolerant event and event boundary detection algorithm for wireless sensor networks [J].Journal of Computer Research and Development,2015,51(5):997-1008.
[15] Guo Yi-nan,Cheng Jian,Yang Mei.Selection method for hyper-parameters of support vector regression by chaotic cultural algorithm [J].Control and Decision,2010,25(4):525-530.
[16] Takayama K,F(xiàn)ujikawa M,Nagai T.Artificial neural network as a novel method to optimize pharmaceutical formulations[J].Pharmaceutical Research,1999,16(1):1-6.
[17] Huang G B,Zhou H,Ding X,et al.Extreme learning machine for regression and multiclass classification[J].Systems,Man,and Cybernetics,Part B:Cybernetics,IEEE Transactions on,2012,42(2):513-529.
[18] Lin J,Guo W Z,Chen G L,et al.A PSO-BPNN-based model for energy saving in wireless sensor networks[C].International Conference on Machine Learning and Cybernetics (ICMLC),IEEE,2009,2:948-952.
[19] Hong Wei,Guo Kun,Guo Wen-zhong.Prediction model in wireless sensor network based on optimized extreme learning machine regression [J].Journal of Chinese Computer Systems,2016,37(11):2478-2482.
附中文參考文獻(xiàn):
[2] 任豐原,黃海寧,林 闖.無(wú)線傳感器網(wǎng)絡(luò)[J].軟件學(xué)報(bào),2003,14(7):1282-1291.
[3] 趙繼軍,劉云飛,趙 欣.無(wú)線傳感器網(wǎng)絡(luò)數(shù)據(jù)融合體系結(jié)構(gòu)綜述[J].傳感器與微系統(tǒng),2009,28(10):1-4.
[4] 王耀南,李樹濤.多傳感器信息融合及其應(yīng)用綜述[J].控制與決策,2001,16(5):518-522.
[6] 張書奎,王宜懷,崔志明,等.基于融合樹的事件區(qū)域檢測(cè)容錯(cuò)算法[J].通信學(xué)報(bào),2010,31(9):74-87.
[10] 高建良,徐勇軍,李曉雄.基于加權(quán)中值的分布式傳感器網(wǎng)絡(luò)故障檢測(cè)[J].軟件學(xué)報(bào),2007,18(5):1208-1217.
[12] 黃日茂,邱雪松,高志鵬,等.無(wú)線傳感器網(wǎng)絡(luò)中鄰居數(shù)據(jù)分析的故障檢測(cè)方法[J].北京郵電大學(xué)學(xué)報(bào),2011,34(3):31-34.
[14] 徐小龍,耿衛(wèi)建,楊 庚,等.高效容錯(cuò)的無(wú)線傳感網(wǎng)事件及其邊界檢測(cè)算法[J].計(jì)算機(jī)研究與發(fā)展,2015,51(5):997-1008.
[15] 郭一楠,程 健,楊 梅.支持向量回歸超參數(shù)的混沌文化優(yōu)化選擇方法[J].控制與決策,2010,25(4):525-530.
[19] 洪 偉,郭 昆,郭文忠.無(wú)線傳感器網(wǎng)絡(luò)中極限學(xué)習(xí)機(jī)回歸優(yōu)化預(yù)測(cè)模型[J].小型微型計(jì)算機(jī)系統(tǒng),2016,37(11):2478-2482.