藺艷斐,邵蘇杰,鐘成,郭少勇,邱雪松
(1. 北京郵電大學(xué)網(wǎng)絡(luò)與交換技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100876;2. 河北省電力公司,河北 石家莊 050022)
基于可信度和鄰居協(xié)作的傳感器故障檢測(cè)算法
藺艷斐1,邵蘇杰1,鐘成2,郭少勇1,邱雪松1
(1. 北京郵電大學(xué)網(wǎng)絡(luò)與交換技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京 100876;2. 河北省電力公司,河北 石家莊 050022)
通過可疑節(jié)點(diǎn)與鄰居節(jié)點(diǎn)的歷史數(shù)據(jù)比較,判斷節(jié)點(diǎn)是否故障是傳感器故障檢測(cè)的有效方法之一。該方法的關(guān)鍵點(diǎn)在于可疑節(jié)點(diǎn)的判斷問題以及故障診斷消息發(fā)送時(shí)機(jī)的決策問題。為此,提出一種基于可信度和鄰居協(xié)作的傳感器故障檢測(cè)算法。首先建立可信度模型進(jìn)行節(jié)點(diǎn)可疑狀態(tài)判定;隨后基于鄰居協(xié)作的思想向鄰居節(jié)點(diǎn)發(fā)送故障診斷請(qǐng)求,通過等概率時(shí)間窗口決定該可疑節(jié)點(diǎn)診斷請(qǐng)求的發(fā)送時(shí)機(jī);最后依據(jù)鄰居節(jié)點(diǎn)的診斷回復(fù)進(jìn)行故障情況的分類以及狀態(tài)判斷。通過仿真驗(yàn)證,該算法能夠在降低故障診斷次數(shù)和數(shù)據(jù)擁塞率的前提下,提高故障檢出率。
無線傳感器;故障檢測(cè);可信度模型;鄰居協(xié)作;等概率時(shí)間窗口
傳感器工作環(huán)境中的振動(dòng)、噪聲、信道干擾、火災(zāi)等都可能導(dǎo)致傳感器錯(cuò)誤感知數(shù)據(jù)甚至永久故障[1],為防止產(chǎn)生錯(cuò)誤的傳感數(shù)據(jù),保證傳感器網(wǎng)絡(luò)的正常運(yùn)行,需要及時(shí)檢測(cè)傳感器故障。集中式和分布式是傳感器故障檢測(cè)的2種主要方法。集中式方法周期性收集傳感器測(cè)量值和狀態(tài)信息到中心節(jié)點(diǎn),但大量數(shù)據(jù)通信導(dǎo)致靠近中心節(jié)點(diǎn)傳感器能耗加快,縮短傳感器網(wǎng)絡(luò)的生命周期[2~4]。分布式方法通過與鄰居傳感器監(jiān)測(cè)數(shù)據(jù)相比較實(shí)現(xiàn)可疑節(jié)點(diǎn)的故障檢測(cè),克服了傳感器節(jié)點(diǎn)間能耗不平衡的問題,但依然存在鄰居節(jié)點(diǎn)集合間突發(fā)大量數(shù)據(jù)通信導(dǎo)致?lián)砣那闆r,影響故障檢測(cè)的效率和準(zhǔn)確性[5,6]。因此,基于分布式方式以少量數(shù)據(jù)通信完成快速可靠的傳感器故障檢測(cè)成為需要解決的問題。
針對(duì)分布式傳感器故障檢測(cè)方法,目前有大量文獻(xiàn)進(jìn)行了深入研究。文獻(xiàn)[7]提出了基于歷史數(shù)據(jù)與鄰居協(xié)作的故障檢測(cè)機(jī)制,選擇鄰居節(jié)點(diǎn)最多且健康的傳感器為根節(jié)點(diǎn),迭代式判斷其鄰居節(jié)點(diǎn)狀態(tài),但僅依據(jù)單個(gè)健康節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行故障判斷并不可靠。文獻(xiàn)[8,9]根據(jù)鄰居節(jié)點(diǎn)數(shù)據(jù)計(jì)算故障概率,并通過邊界節(jié)點(diǎn)數(shù)據(jù)調(diào)整該概率,但僅通過數(shù)據(jù)差值計(jì)算故障概率的方法有待優(yōu)化。文獻(xiàn)[10]提出了基于 k-means的故障診斷算法,并利用蟻群算法進(jìn)行優(yōu)化,在一定程度上提高了故障檢測(cè)的準(zhǔn)確率,但算法的高復(fù)雜度并不適用于大規(guī)模傳感器網(wǎng)絡(luò)。
文獻(xiàn)[11]提出基于分布式散列表的傳感器故障識(shí)別算法,通過與鄰居節(jié)點(diǎn)數(shù)據(jù)的比較實(shí)現(xiàn)故障判定,但并沒有深入研究其參數(shù)的取值方法。文獻(xiàn)[12,13]分別與自身歷史數(shù)據(jù)以及可信鄰居歷史數(shù)據(jù)相比較實(shí)現(xiàn)節(jié)點(diǎn)狀態(tài)判斷,但沒有涉及診斷請(qǐng)求的發(fā)送時(shí)機(jī)問題,可能導(dǎo)致數(shù)據(jù)無序反復(fù)發(fā)送,影響判斷的效率和準(zhǔn)確性。文獻(xiàn)[14]引入時(shí)間窗口確定發(fā)送診斷請(qǐng)求的時(shí)機(jī),但時(shí)間窗口的執(zhí)行方式并不明確,且沒有對(duì)可疑節(jié)點(diǎn)鄰居節(jié)點(diǎn)的狀態(tài)做詳細(xì)分類,故障判斷的準(zhǔn)確性存在一定缺陷。
基于上述分析,分布式傳感器故障檢測(cè)研究需重點(diǎn)解決2個(gè)問題:1) 可信的可疑節(jié)點(diǎn)判斷;2) 診斷請(qǐng)求發(fā)送時(shí)機(jī)。一旦傳感器節(jié)點(diǎn)數(shù)據(jù)異常立刻轉(zhuǎn)為可疑節(jié)點(diǎn)并向鄰居節(jié)點(diǎn)發(fā)送診斷請(qǐng)求的方式并不合理,數(shù)據(jù)突變可能是由于環(huán)境中確實(shí)存在突發(fā)事件而導(dǎo)致,如溫度傳感器監(jiān)測(cè)區(qū)域的溫度驟升時(shí)監(jiān)測(cè)數(shù)據(jù)會(huì)發(fā)生突變[15]。因此需要判斷節(jié)點(diǎn)是否切實(shí)可疑,避免不必要的診斷請(qǐng)求傳輸開銷。由于同一時(shí)刻可能存在大量可疑節(jié)點(diǎn),同時(shí)發(fā)送診斷請(qǐng)求會(huì)造成數(shù)據(jù)擁塞,因此需要避免大量無序重復(fù)的數(shù)據(jù)通信出現(xiàn)。
為此,本文提出一種基于可信度和鄰居協(xié)作的傳感器故障檢測(cè)算法。首先建立可信度模型判定節(jié)點(diǎn)可疑狀態(tài);隨后基于鄰居協(xié)作思想發(fā)送診斷請(qǐng)求,并通過等概率時(shí)間窗口決定發(fā)送時(shí)機(jī);最后為進(jìn)一步提高故障診斷的準(zhǔn)確性,依據(jù)鄰居節(jié)點(diǎn)的診斷回復(fù)對(duì)故障情況詳細(xì)分類并進(jìn)行狀態(tài)判斷。
本文所提的基于可信度和鄰居協(xié)作的傳感器故障檢測(cè)如圖1所示,由若干個(gè)處于健康、可疑、故障狀態(tài)的傳感器節(jié)點(diǎn)組成。當(dāng)某個(gè)傳感器節(jié)點(diǎn)處于可疑狀態(tài)時(shí),在以該節(jié)點(diǎn)為圓心,半徑為R的虛線圓所圍區(qū)域內(nèi)進(jìn)行基于鄰居協(xié)作的故障診斷。
當(dāng)某個(gè)傳感器發(fā)現(xiàn)當(dāng)前t時(shí)刻的數(shù)據(jù)與t?1時(shí)刻的數(shù)據(jù)差距較大時(shí),首先需要基于可信度對(duì)其是否為可疑節(jié)點(diǎn)進(jìn)行判斷。當(dāng)可信度模型判斷該數(shù)據(jù)突變確實(shí)是由環(huán)境中存在的突發(fā)事件導(dǎo)致,則不需要啟動(dòng)故障診斷過程;否則立即向以該節(jié)點(diǎn)為圓心,半徑為R的虛線圓區(qū)域內(nèi)的傳感器發(fā)送故障診斷請(qǐng)求。因此如何根據(jù)歷史數(shù)據(jù)建立合理準(zhǔn)確的可信度模型是本文需要解決的一個(gè)關(guān)鍵問題。
此外,為避免因同一區(qū)域內(nèi)多個(gè)傳感器同時(shí)被判定為可疑狀態(tài)而導(dǎo)致的大量突發(fā)的數(shù)據(jù)通信,如何在時(shí)間軸上區(qū)分這些故障診斷請(qǐng)求,建立合理的時(shí)間窗口以決策診斷請(qǐng)求發(fā)送時(shí)機(jī)是另一個(gè)需要解決的問題。
可疑節(jié)點(diǎn)故障診斷過程啟動(dòng)后,鄰居傳感器節(jié)點(diǎn)都發(fā)送診斷回復(fù)是不必要的。如果鄰居節(jié)點(diǎn)是可疑的,則其數(shù)據(jù)并不具有參考性。如圖1中的可疑節(jié)點(diǎn)S1、S2、S3所示,其鄰居節(jié)點(diǎn)狀態(tài)可能存在以下3種情況:1) 鄰居節(jié)點(diǎn)中只存在少量或不存在可疑節(jié)點(diǎn)和故障節(jié)點(diǎn);2) 鄰居節(jié)點(diǎn)中存在大量可疑節(jié)點(diǎn),只有少量或者不存在正常節(jié)點(diǎn)和故障節(jié)點(diǎn);3)鄰居節(jié)點(diǎn)中存在大量故障節(jié)點(diǎn),只有少量或者不存在可疑節(jié)點(diǎn)和正常節(jié)點(diǎn)。鄰居節(jié)點(diǎn)需要根據(jù)自身狀態(tài)確定是否發(fā)送診斷回復(fù),并結(jié)合自身監(jiān)測(cè)數(shù)據(jù)與收到的診斷請(qǐng)求數(shù)據(jù)確定診斷回復(fù)的具體內(nèi)容。此時(shí),收到診斷回復(fù)后需要進(jìn)行狀態(tài)判斷的可疑傳感器節(jié)點(diǎn)并不能立刻完成狀態(tài)判定,需要對(duì)診斷回復(fù)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析并按以上3種情況進(jìn)行分類,最終完成狀態(tài)判定。
圖1 無線傳感器網(wǎng)絡(luò)故障檢測(cè)示意
本文的傳感器故障檢測(cè)算法主要包括 2個(gè)階段:分布式基于可信度模型的全網(wǎng)可疑節(jié)點(diǎn)確定以及基于鄰居協(xié)作的可疑節(jié)點(diǎn)故障狀態(tài)判定。
3.1.1 可信度模型
判斷節(jié)點(diǎn)是否可疑,是根據(jù)其監(jiān)測(cè)數(shù)據(jù)是否可信來實(shí)現(xiàn)的。通過傳感器節(jié)點(diǎn)當(dāng)前監(jiān)測(cè)數(shù)據(jù)相對(duì)于歷史數(shù)據(jù)的變化趨勢(shì)來確定當(dāng)前監(jiān)測(cè)數(shù)據(jù)是否可信。本文通過方差來量化監(jiān)測(cè)數(shù)據(jù)的變化趨勢(shì),數(shù)據(jù)方差較小時(shí),說明數(shù)據(jù)比較穩(wěn)定。
t時(shí)刻數(shù)據(jù)為dt,則當(dāng)前k個(gè)數(shù)據(jù)的均值。依照式(2)計(jì)算
但是僅依靠方差來調(diào)整可信度可能會(huì)忽略一些傳感器故障。假設(shè)在t時(shí)刻,某個(gè)傳感器節(jié)點(diǎn)發(fā)生故障,其監(jiān)測(cè)數(shù)據(jù)異常增大,且后續(xù)數(shù)據(jù)也是偏大的,則可能隨時(shí)間的推移逐漸減小甚至小于s,導(dǎo)致可信度θ反而開始增加,該故障無法被監(jiān)測(cè)到。因此需要將方差和均值同時(shí)作為調(diào)整可信度的因素,定義參數(shù)d,當(dāng)且時(shí),可信度θ增加;否則可信度θ減小。節(jié)點(diǎn)可信度模型如式(3)所示。
定理 1 式(3)中的參數(shù)d和s的取值取決于實(shí)際故障檢測(cè)中的k值,以及可容忍的d1、dt、兩兩之間的差值,與d1、dt、的具體值無關(guān)。
因此
3.1.2 可信度門限
式(3)中的θ并不是無限減小的,引入一個(gè)門限值ε來作為可疑節(jié)點(diǎn)與健康節(jié)點(diǎn)可信度的分界,如式(4)所示。
證明 由于節(jié)點(diǎn)可信度θ≤1,依照式(3),每次的數(shù)據(jù)異常都會(huì)使θ減小?,當(dāng)某節(jié)點(diǎn)連續(xù)出現(xiàn)m次的數(shù)據(jù)異常時(shí),該節(jié)點(diǎn)可判定為可疑,依據(jù)式(4),θ≤ε,為保證該判定切實(shí)成立。為進(jìn)一步精確ε,可知因此,當(dāng)時(shí),可以保證節(jié)點(diǎn)在連續(xù)m次數(shù)據(jù)異常下,節(jié)點(diǎn)狀態(tài)一定為可疑。
定理2中m的值依照實(shí)際要求設(shè)置。如果一發(fā)現(xiàn)異常數(shù)據(jù)就立即將節(jié)點(diǎn)狀態(tài)轉(zhuǎn)變?yōu)榭梢刹?dòng)故障診斷程序,那么令m=1。m取值較大可以降低網(wǎng)絡(luò)數(shù)據(jù)傳輸壓力,但會(huì)忽略一些瞬時(shí)故障。m取值較小時(shí),雖然可以提高故障診斷準(zhǔn)確率,但會(huì)帶來大量不必要的數(shù)據(jù)傳輸開銷。因此本文權(quán)衡故障檢測(cè)的準(zhǔn)確率和網(wǎng)絡(luò)流量2個(gè)因素,確定m的最佳取值。
可疑節(jié)點(diǎn)確定過程如圖2所示。
圖2 可疑節(jié)點(diǎn)確定流程
確定可疑節(jié)點(diǎn)以后,需要通過與鄰居節(jié)點(diǎn)歷史數(shù)據(jù)的比較確定該節(jié)點(diǎn)是否為故障節(jié)點(diǎn)。關(guān)鍵要解決 3個(gè)問題:1) 故障診斷請(qǐng)求時(shí)機(jī)決策問題;2)鄰居節(jié)點(diǎn)如何回復(fù)故障診斷請(qǐng)求;3) 如何根據(jù)診斷回復(fù)完成可疑節(jié)點(diǎn)狀態(tài)判定。
3.2.1 診斷請(qǐng)求
本節(jié)在文獻(xiàn)[14]的基礎(chǔ)上提出了等概率時(shí)間窗口機(jī)制來確定可疑節(jié)點(diǎn)故障診斷請(qǐng)求的發(fā)送時(shí)機(jī)。
每一個(gè)可疑傳感器節(jié)點(diǎn)設(shè)置一個(gè)時(shí)間窗口,如圖3所示,單位時(shí)間間隔為l,長(zhǎng)度為w個(gè)時(shí)間間隔,l和w的大小依據(jù)傳感器節(jié)點(diǎn)所監(jiān)測(cè)設(shè)備的實(shí)時(shí)性要求等具體情況設(shè)定??梢晒?jié)點(diǎn)在每個(gè)時(shí)間窗口向鄰居節(jié)點(diǎn)發(fā)送診斷請(qǐng)求的概率是相等的,為假設(shè)t時(shí)刻有n個(gè)傳感器節(jié)點(diǎn)轉(zhuǎn)變?yōu)榭梢晒?jié)點(diǎn),則這些節(jié)點(diǎn)在同一時(shí)間窗口發(fā)送診斷請(qǐng)求的概率為,每個(gè)時(shí)間窗口發(fā)送診斷請(qǐng)求的傳感器節(jié)點(diǎn)數(shù)目的期望為,這n個(gè)可疑節(jié)點(diǎn)發(fā)送診斷請(qǐng)求的時(shí)間被極大地分散,有效緩解了數(shù)據(jù)傳輸壓力。
圖3 等概率時(shí)間窗口
3.2.2 診斷回復(fù)
可疑節(jié)點(diǎn)i發(fā)送故障診斷請(qǐng)求后,以i為圓心,R為半徑的圓形區(qū)域內(nèi)的狀態(tài)已確定的鄰居節(jié)點(diǎn)j向i發(fā)送診斷回復(fù)。節(jié)點(diǎn)j首先檢測(cè)自身狀態(tài)并根據(jù)loc計(jì)算與i的距離dij,如果自身狀態(tài)為可疑則僅向i回復(fù)一個(gè)的消息;否則依照式(5)處理收到的信息。
基于鄰居協(xié)作的故障診斷請(qǐng)求發(fā)送和診斷回復(fù)過程如圖4所示,首先利用等概率時(shí)間窗口機(jī)制確定發(fā)送診斷請(qǐng)求的時(shí)間,之后不斷判斷時(shí)間窗口是否到達(dá),規(guī)定的時(shí)間窗口到達(dá)后,向鄰居節(jié)點(diǎn)發(fā)送診斷請(qǐng)求,收到診斷請(qǐng)求的可疑鄰居節(jié)點(diǎn)僅回復(fù)自身狀態(tài)信息,健康節(jié)點(diǎn)和故障節(jié)點(diǎn)依照式(5)處理接收到的數(shù)據(jù),并發(fā)送診斷回復(fù)。
圖4 基于鄰居協(xié)作的故障診斷請(qǐng)求發(fā)送和診斷回復(fù)過程
3.2.3 狀態(tài)判定
假設(shè)鄰居協(xié)作區(qū)域D邊緣的傳感器發(fā)送數(shù)據(jù)到可疑節(jié)點(diǎn)i所用的時(shí)間為T。節(jié)點(diǎn)i發(fā)送診斷請(qǐng)求后等待2T時(shí)間,在等待時(shí)間內(nèi)不斷對(duì)收到的回復(fù)消息依照式(6)進(jìn)行分類統(tǒng)計(jì)。
其中,N0、N1、F0、F1、Q 表示節(jié)點(diǎn)i的鄰居節(jié)點(diǎn)中各類節(jié)點(diǎn)的數(shù)目,statej和cop是診斷回復(fù)中包含的信息。假設(shè)節(jié)點(diǎn)i在協(xié)作區(qū)域的鄰居節(jié)點(diǎn)總數(shù)為,根據(jù)各類鄰居節(jié)點(diǎn)所占比例進(jìn)行分析,可能出現(xiàn)的情況分為以下3類。
1) 如圖5(a)所示,可疑節(jié)點(diǎn)i的鄰居協(xié)作區(qū)域內(nèi)超過一半的節(jié)點(diǎn)為健康節(jié)點(diǎn),有很少的故障節(jié)點(diǎn)和可疑節(jié)點(diǎn)。健康節(jié)點(diǎn)和故障節(jié)點(diǎn)收到i的診斷請(qǐng)求后,向節(jié)點(diǎn)i發(fā)送診斷回復(fù),可疑節(jié)點(diǎn)僅回復(fù)自身的狀態(tài)信息。依照式(6)統(tǒng)計(jì)的回復(fù)信息滿足。如果,則節(jié)點(diǎn)i為故障節(jié)點(diǎn);如果,則節(jié)點(diǎn)i為正常節(jié)點(diǎn)。
2) 如圖5(b)所示,可疑節(jié)點(diǎn)i的協(xié)作區(qū)域內(nèi)故障節(jié)點(diǎn)的數(shù)量和健康節(jié)點(diǎn)的數(shù)量都不足一半,有多個(gè)節(jié)點(diǎn)為可疑節(jié)點(diǎn)。依照式(6)統(tǒng)計(jì)的回復(fù)信息滿足。由于可疑節(jié)點(diǎn)的數(shù)據(jù)不具有參考性,應(yīng)該重新等待2T時(shí)間,部分鄰居可疑鄰居節(jié)點(diǎn)完成狀態(tài)判斷之后,重新統(tǒng)計(jì)數(shù)據(jù)進(jìn)行分析。
3) 如圖5(c)所示,可疑節(jié)點(diǎn)i的協(xié)作區(qū)域內(nèi)有超過一半的節(jié)點(diǎn)為故障節(jié)點(diǎn)。依照式(6)統(tǒng)計(jì)的回復(fù)信息滿足。故障節(jié)點(diǎn)收到診斷請(qǐng)求消息后,按照式(6)處理,并發(fā)送診斷回復(fù)。如果說明大多數(shù)的故障節(jié)點(diǎn)認(rèn)為節(jié)點(diǎn)i為正常節(jié)點(diǎn),即節(jié)點(diǎn)i與大多數(shù)故障節(jié)點(diǎn)的數(shù)據(jù)相近,此時(shí)節(jié)點(diǎn)i為故障節(jié)點(diǎn)。反之,節(jié)點(diǎn)i為正常節(jié)點(diǎn)。
圖5 3種故障場(chǎng)景
狀態(tài)判定流程如圖6所示,可疑節(jié)點(diǎn)i發(fā)送診斷請(qǐng)求以后,初始化已等待時(shí)間為 0,開始接收并統(tǒng)計(jì)鄰居節(jié)點(diǎn)的診斷回復(fù)。等待2T時(shí)間后,根據(jù)統(tǒng)計(jì)的數(shù)據(jù)分3種情況分別處理。情況1) 和情況3) 直接確定節(jié)點(diǎn)i的狀態(tài)并修改節(jié)點(diǎn)的可信度,健康節(jié)點(diǎn)可信度置為 1,故障節(jié)點(diǎn)可信度置為 0。情況 2)則初始化等待時(shí)間并重復(fù)以上過程直到節(jié)點(diǎn)狀態(tài)確定。
圖6 狀態(tài)判定流程
本文在100 m× 100 m的區(qū)域內(nèi)分別隨機(jī)放置30、60、90個(gè)傳感器節(jié)點(diǎn),在這3種不同的節(jié)點(diǎn)密度下進(jìn)行仿真實(shí)驗(yàn),確定m的最佳取值。并在90個(gè)傳感器節(jié)點(diǎn)的情況下,將本文算法與文獻(xiàn)[13]、文獻(xiàn)[14]中的算法在故障診斷次數(shù)和故障檢出率 2個(gè)方面加以比較。
1) m值的確定
圖7和圖8分別顯示了在3種節(jié)點(diǎn)密度下,故障診斷次數(shù)以及故障檢出率隨m值的變化情況。從圖7可以看出,故障診斷次數(shù)隨著m的增大而減小,因?yàn)閙值越小,故障診斷所需要的連續(xù)異常次數(shù)越少,因此故障診斷次數(shù)越多。從圖8可以看出,故障檢出率隨著m的增大而減小,因?yàn)閙值越大,故障診斷所需要的連續(xù)異常次數(shù)越多,連續(xù)異常數(shù)據(jù)較少的故障可能被忽略。為保證較少的故障診斷次數(shù)和較高的故障檢出率,在 30、60、90個(gè)傳感器節(jié)點(diǎn)的情況下m的取值分別為 6、5、4,從圖 7、圖8可以看出,此時(shí)故障診斷次數(shù)較少,且故障檢出率為100%。當(dāng)m的取值分別為9、9、7時(shí),故障診斷次數(shù)更少,此時(shí)故障檢出率為97%以上。
2) 故障診斷的時(shí)間分布
為驗(yàn)證等概率時(shí)間窗口機(jī)制平衡數(shù)據(jù)流量的有效性,本實(shí)驗(yàn)對(duì)比了等概率時(shí)間窗口的方案與發(fā)現(xiàn)可疑節(jié)點(diǎn)立即發(fā)送故障診斷請(qǐng)求的方案。較多的故障診斷次數(shù)會(huì)造成較大的數(shù)據(jù)流量壓力,為平衡數(shù)據(jù)流量和故障檢出率,本實(shí)驗(yàn)設(shè)定節(jié)點(diǎn)數(shù)目為90,m取值為7,此時(shí)故障診斷次數(shù)較少,且故障檢出率可達(dá)97%以上,時(shí)間窗口w的取值為5。各個(gè)時(shí)間點(diǎn)發(fā)送故障診斷請(qǐng)求的傳感器節(jié)點(diǎn)數(shù)目分布情況如圖9所示,第5 s、8 s、18 s、27 s、40 s都有多個(gè)傳感器需要發(fā)送故障診斷請(qǐng)求。不采用時(shí)間窗口機(jī)制時(shí),這些診斷請(qǐng)求直接在以上時(shí)間點(diǎn)被發(fā)送,而采用時(shí)間窗口機(jī)制以后,診斷請(qǐng)求發(fā)送的時(shí)間被分散到各個(gè)時(shí)間窗口。如圖9中第27 s的5個(gè)傳感器診斷請(qǐng)求,被分散到第27 s、28 s、29 s、30 s發(fā)送,分別發(fā)送1、1、2、1個(gè)診斷請(qǐng)求。采用該機(jī)制可有效避免同一時(shí)間點(diǎn)發(fā)送大量診斷請(qǐng)求而導(dǎo)致的數(shù)據(jù)擁塞。
圖7 故障診斷次數(shù)隨m值的變化
圖8 故障檢出率隨m值的變化
3) 故障檢出率
本文從故障診斷次數(shù)和故障檢出率 2個(gè)方面比較本文算法與文獻(xiàn)[13]中基于鄰居節(jié)點(diǎn)數(shù)據(jù)分析的 WSN 故障檢測(cè)方法,以及文獻(xiàn)[14]中吞吐量下降和節(jié)能的傳感器故障診斷機(jī)制的性能。從圖10可以看出,本文算法故障診斷次數(shù)最少,文獻(xiàn)[13]次之,文獻(xiàn)[14]故障診斷次數(shù)最多。這是因?yàn)楸疚慕⒘丝尚哦饶P停瑐鞲衅鞴?jié)點(diǎn)的數(shù)據(jù)有多次異常后使節(jié)點(diǎn)的可信度低于一定閾值后才會(huì)發(fā)送診斷請(qǐng)求,從而減少了一些不必要的通信開銷。從圖 11可以看出,本文算法的故障檢出率最高,都在97%以上,文獻(xiàn)[14]算法次之,最后是文獻(xiàn)[13]算法。并且隨著節(jié)點(diǎn)數(shù)目的增多,本文算法的故障檢出率變化較小,而文獻(xiàn)[13,14]故障檢出率迅速下降。因此本文基于可信度和鄰居協(xié)作的傳感器故障檢測(cè)算法能夠適用于大規(guī)模無線傳感器網(wǎng)絡(luò)。
圖9 故障診斷的時(shí)間分布
圖10 3種算法的故障診斷次數(shù)
圖11 3種算法的故障檢出率對(duì)比
本文的仿真實(shí)驗(yàn)主要與文獻(xiàn)[13]中基于鄰居節(jié)點(diǎn)數(shù)據(jù)分析的 WSN 故障檢測(cè)方法,以及文獻(xiàn)[14]中吞吐量下降和節(jié)能的傳感器故障診斷機(jī)制,在故障診斷次數(shù)和故障檢出率2個(gè)方面進(jìn)行比較。本文算法能夠在降低故障診斷次數(shù)和數(shù)據(jù)擁塞率的前提下,提高故障檢出率,主要是由于建立了可信度模型,引入時(shí)間窗口機(jī)制并基于鄰居協(xié)作進(jìn)行可靠的狀態(tài)判定。
文獻(xiàn)[13,14]中都提到了首先進(jìn)行節(jié)點(diǎn)可疑狀態(tài)判斷,文獻(xiàn)[13]在計(jì)算節(jié)點(diǎn)的可信度水平時(shí)僅依據(jù)歷史數(shù)據(jù)的方差,但是如果發(fā)生異常后的監(jiān)測(cè)數(shù)據(jù)維持在一個(gè)錯(cuò)誤范圍內(nèi)的平穩(wěn)值時(shí),其歷史數(shù)據(jù)的方差可能會(huì)逐步減小,節(jié)點(diǎn)的可信度逐步增加,此種情況下的異??赡軙?huì)被忽略。文獻(xiàn)[14]僅根據(jù)歷史數(shù)據(jù)的均值進(jìn)行節(jié)點(diǎn)可信度的增減,但是較大和較小的異常數(shù)據(jù)同時(shí)出現(xiàn)時(shí),會(huì)由于2種異常數(shù)據(jù)值的平均導(dǎo)致異常無法發(fā)現(xiàn)。而且僅依靠均值進(jìn)行判斷會(huì)產(chǎn)生較多不必要的可疑節(jié)點(diǎn)。本文結(jié)合方差和均值2個(gè)因素建立可靠的可信度模型,可以避免忽略上述異常,同時(shí)有效減少不必要的故障診斷過程。
文獻(xiàn)[13]在確定可疑節(jié)點(diǎn)以后立即向鄰居節(jié)點(diǎn)發(fā)送該故障診斷請(qǐng)求,雖然診斷請(qǐng)求的發(fā)送時(shí)間及時(shí),但是當(dāng)環(huán)境突變等原因造成某一時(shí)刻產(chǎn)生大量可疑節(jié)點(diǎn)時(shí),這些可疑節(jié)點(diǎn)同時(shí)立即向鄰居節(jié)點(diǎn)發(fā)送診斷請(qǐng)求可能會(huì)造成數(shù)據(jù)擁塞,擁塞發(fā)生以后,這些請(qǐng)求被反復(fù)發(fā)送造成數(shù)據(jù)擁塞情況不斷加劇,反而影響故障診斷的效率。文獻(xiàn)[14]提到將診斷請(qǐng)求的發(fā)送時(shí)間推遲,但是沒有具體介紹如何推遲。本文提出等概率時(shí)間窗口機(jī)制,當(dāng)節(jié)點(diǎn)的可信度低于一定閾值之后根據(jù)該機(jī)制確定診斷請(qǐng)求發(fā)送的具體時(shí)間,可以使診斷請(qǐng)求的發(fā)送時(shí)間被分散,降低數(shù)據(jù)擁塞的可能性,減少故障診斷請(qǐng)求的發(fā)送次數(shù)。
收到鄰居節(jié)點(diǎn)的診斷回復(fù)后,文獻(xiàn)[13]在鄰居節(jié)點(diǎn)中有超過一半的節(jié)點(diǎn)認(rèn)為該節(jié)點(diǎn)為健康節(jié)點(diǎn)時(shí),判定該節(jié)點(diǎn)健康;否則可疑。該方法沒有考慮鄰居節(jié)點(diǎn)的狀態(tài),因?yàn)榭梢舌従庸?jié)點(diǎn)的回復(fù)并不具有參考性。文獻(xiàn)[14]根據(jù)鄰居節(jié)點(diǎn)的診斷回復(fù)分情況討論,但是其情況分類并不準(zhǔn)確,沒有考慮大部分都是故障節(jié)點(diǎn)的情況,且在各種情況下的狀態(tài)判斷也不可靠。因此,本文通過分析不同鄰居節(jié)點(diǎn)的診斷回復(fù)進(jìn)行分類統(tǒng)計(jì),產(chǎn)生3種故障情況,并在不同的情況下,根據(jù)各類回復(fù)消息的數(shù)目做相應(yīng)處理,有效提高了故障檢出率。
通過分布式鄰居協(xié)作完成傳感器節(jié)點(diǎn)的狀態(tài)判定是傳感器故障檢測(cè)的有效方法之一,該方法的關(guān)鍵點(diǎn)在于可疑節(jié)點(diǎn)的判斷和故障診斷消息發(fā)送時(shí)機(jī)的決策。本文提出了一種基于可信度和鄰居協(xié)作的傳感器故障檢測(cè)算法,可以按照可信度模型判定可疑傳感器節(jié)點(diǎn),并按照等概率時(shí)間窗口機(jī)制確定可疑節(jié)點(diǎn)發(fā)送診斷請(qǐng)求的時(shí)間。仿真實(shí)驗(yàn)表明,該算法能夠在降低故障診斷次數(shù)和數(shù)據(jù)擁塞率的前提下,提高故障檢出率,且適用于大規(guī)模無線傳感器網(wǎng)絡(luò)。
[1] LU Z Q, WEN Y G. Distributed algorithm for tree-structured data aggregation service placement in smart grid [J]. IEEE Systems Journal,2014, 8(2): 553-561.
[2] CHANG C Y, LIN C Y, KUO C H. EBDC: an energy-balanced data collection mechanism using a mobile data collector in WSNs [J]. Sensors, 2012, 12(5): 5850-5871.
[3] XUE L, KIM D, ZHU Y. Multiple heterogeneous data ferry trajectory planning in wireless sensor networks[C]//IEEE Conference on Computer Communications. Toronto, 2014: 2274-2282.
[4] LIU X F, CAO J N. Fault tolerant complex event detection in WSNs: a case study in structural health monitoring [J]. IEEE Transactions on Mobile Computing, 2015, 12(14):2502-2515.
[5] ZHAO M, CHOW T W. Wireless sensor network fault detection via semi-supervised local kernel density estimation[C]//2015 IEEE International Conference on Industrial Technology (ICIT). Seville,2015:1495-1500.
[6] RAVINDRA V K, ASHISH B J. A fault tolerant approach to extend network life time of wireless sensor network[C]//2015 IEEE International Conference on Advances in Computing, Communications and Informatics (ICACCI). Kochi, 2015: 993-998.
[7] 邱雪松, 陳新顏, 楊楊. 歷史數(shù)據(jù)與鄰居協(xié)作融合的無線傳感器故障檢測(cè)機(jī)制[J]. 北京郵電大學(xué)學(xué)報(bào), 2015, 38(sup): 1-5.QIU X S, CHEN X Y, YANG Y. Neighbor-coordination in wireless sensor network [J]. Journal of Beijing University of Posts and Telecommunications, 2015, 38(sup): 1-5.
[8] PAOLA A D, GAGLIO S, RE G. Adaptive distributed outlier detection for WSNs[J]. IEEE Transactions on Cybernetics, 2015, 45(5):888-899.
[9] YUAN H, ZHAO X X, YU L Y. A distributed Bayesian algorithm for data fault detection in wireless sensor networks[C]//2015 International Conference on Information Networking (ICOIN). Cambodia, 2015:63-68.
[10] YANG Y, LIU Q, GAO Z P. Data clustering-based fault detection in WSNs[C]//7th International Conference on Advanced Computational Intelligence. Fujian, China, 2015:334-339.
[11] SENTHIL M, SUGASHINI K, ABIRAMI M. Identification and recovery of repaired nodes based on distributed hash table in WSN[C]//IEEE Sponsored 2nd International Conference on Innovations in Information Embedded and Communication Systems ICIIECS’15 Coimbatore. 2015:1-4.
[12] SAIHI M, BOUSSAID B, ZOUINKHI A. Distributed fault detection based on HMM for wireless sensor networks[C]//4th International Conference on Systems and Control. Sousse, Tunisia, c2015:189-193.
[13] 黃日茂, 邱雪松, 高志鵬. 無線傳感器網(wǎng)絡(luò)中鄰居數(shù)據(jù)分析的故障檢測(cè)方法[J]. 北京郵電大學(xué)學(xué)報(bào), 2011, 34(3):31-34.HUANG R M, QIU X S, GAO Z P. 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.
[14] SHARMA K P, SHARMA T P. A throughput descent and energy efficient mechanism for fault detection in WSNs[C]//2015 International Conference on Industrial Instrumentation and Control (ICIC) College of Engineering Pune. India, 2015:28-30.
[15] AMNA Z, BILAL W, BEENISH A A. A hybrid fault diagnosis architecture for wireless sensor networks[C]//2015 International Conference on Open Source Systems and Technologies. Lahore, 2015:7-15.
Sensor fault detection algorithm based on credibility and neighbor-cooperation
LIN Yan-fei1, SHAO Su-jie1, ZHONG Cheng2, GUO Shao-yong1, QIU Xue-song1
(1. State Key Laboratory of Networking and Switching Technology, Beijing University of Posts and Telecommunications, Beijing 100876, China;2. Power Grid of Hebei Province, Shijiazhuang 050022, China)
To effectively detect whether a node was failure, one of the effective sensor fault detection methods was to compare historical data of suspicious node with its neighbors. The key points of this method were identification of suspicious nodes, as well as decision problem of sending timing for fault diagnosis messages. To this end, a sensor fault detection algorithm was presented based on credibility and neighbor-cooperation. Firstly, a credibility model to determine whether nodes are suspicious was established. Then suspicious nodes send fault diagnosis requests to neighbor nodes based on neighbor-cooperation. The sending timing was determined by equal probability time window. Finally, it could finish classification of fault condition and state judgment based on diagnosis responds of neighbor nodes. Simulation experiments show that this algorithm can achieve higher fault detection rate with less fault diagnosis times and low data congestion probability.
wireless sensor, fault detection, credibility model, neighbor-cooperation, equal probability time window
The Science and Technology Project Foundation of State Grid (No.SGIT0000KJJS1500008)
TP393
A
10.11959/j.issn.1000-436x.2016170
2016-03-21;
2016-05-19
國(guó)家電網(wǎng)科技項(xiàng)目基金資助項(xiàng)目(No.SGIT0000KJJS1500008)
藺艷斐(1992-),女,山東萊蕪人,北京郵電大學(xué)碩士生,主要研究方向?yàn)橹悄茈娋W(wǎng)、網(wǎng)絡(luò)與業(yè)務(wù)管理。
邵蘇杰(1985-),男,陜西漢中人,北京郵電大學(xué)博士生,主要研究方向?yàn)檠芯糠较驗(yàn)榫W(wǎng)絡(luò)管理與智能電網(wǎng)。
鐘成(1970-),男,河北石家莊人,河北省電力公司高級(jí)工程師,主要研究方向?yàn)楣饫|、終端接入網(wǎng)。
郭少勇(1985-),男,河北邢臺(tái)人,北京郵電大學(xué)博士后,主要研究方向?yàn)榫W(wǎng)絡(luò)管理、終端管理與智能電網(wǎng)。
邱雪松(1973-),男,江西上饒人,北京郵電大學(xué)教授、博士生導(dǎo)師,主要研究方向?yàn)榫W(wǎng)絡(luò)與業(yè)務(wù)管理。