雷振國(guó) 張?zhí)K 加曉穎 中北大學(xué)朔州校區(qū)
由于傳感器節(jié)點(diǎn)的電源、存儲(chǔ)和計(jì)算能力有限,若應(yīng)用環(huán)境惡劣,使得傳感器節(jié)點(diǎn)比傳統(tǒng)網(wǎng)絡(luò)的節(jié)點(diǎn)更易于失效。在這些情況下維持高質(zhì)量的服務(wù),并盡可能地降低能源消耗是很有挑戰(zhàn)性的,有效的故障管理對(duì)于達(dá)成這些目標(biāo)是有極大幫助的。因此,對(duì)無(wú)線傳感器網(wǎng)絡(luò)故障進(jìn)行管理是非常重要的。
當(dāng)網(wǎng)絡(luò)或系統(tǒng)出現(xiàn)故障時(shí),網(wǎng)絡(luò)故障管理便成為管理員首要用到的工具。因此,故障管理事實(shí)上是整個(gè)網(wǎng)絡(luò)管理的重中之重。但遺憾的是,由于網(wǎng)絡(luò)故障涉及到不同廠商,不同類型設(shè)備,涉及復(fù)雜的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),涉及不同組織對(duì)故障類型的不同定位規(guī)則。
從用戶的角度來(lái)說(shuō),希望在日常工作和生活中網(wǎng)絡(luò)運(yùn)營(yíng)暢通,信息傳輸不受任何網(wǎng)絡(luò)故障干擾。而從網(wǎng)絡(luò)運(yùn)行和管理者角度來(lái)說(shuō),他們希望在網(wǎng)絡(luò)運(yùn)營(yíng)過(guò)程中,即使發(fā)生故障,也能很快地得到故障發(fā)生的原因。這些方方面面的因素使得對(duì)無(wú)線傳感器網(wǎng)絡(luò)故障管理的研究在近年來(lái)發(fā)展比較緩慢。下面參照傳統(tǒng)網(wǎng)絡(luò)的故障管理,將無(wú)線傳感器網(wǎng)絡(luò)的故障管理分為三個(gè)階段:故障檢測(cè)、故障診斷和故障恢復(fù)來(lái)分別說(shuō)明。
為了確定故障的存在,需要收集與網(wǎng)絡(luò)狀態(tài)相關(guān)的數(shù)據(jù)。一般來(lái)說(shuō),網(wǎng)絡(luò)發(fā)生故障后,網(wǎng)絡(luò)設(shè)備將處于不正常的狀態(tài)。通過(guò)獲取設(shè)備的狀態(tài)信息,就可以及時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)中出現(xiàn)的故障。收集網(wǎng)絡(luò)狀態(tài)信息有兩種方法:設(shè)備向管理系統(tǒng)報(bào)告關(guān)鍵的網(wǎng)絡(luò)事件;由網(wǎng)絡(luò)管理系統(tǒng)定期地查詢網(wǎng)絡(luò)設(shè)備的狀態(tài),即主動(dòng)輪詢。
故障會(huì)在網(wǎng)絡(luò)中傳播,所有感知到故障的網(wǎng)絡(luò)對(duì)象(包括物理對(duì)象和邏輯對(duì)象)都會(huì)發(fā)生告警,在一個(gè)大型網(wǎng)絡(luò)中,一個(gè)故障可能會(huì)引起大量的告警。故障診斷就是對(duì)網(wǎng)絡(luò)設(shè)備發(fā)出的告警進(jìn)行相關(guān)處理,從一大堆的告警中找到故障發(fā)生的真正原因,并找出故障節(jié)點(diǎn)。在網(wǎng)絡(luò)故障診斷中,一個(gè)理想的告警應(yīng)該包含有關(guān)故障的五W 信息(Who、What、Where、When 和why)。由于網(wǎng)絡(luò)設(shè)備對(duì)于自身以外的網(wǎng)絡(luò)情況只了解非常有限的知識(shí),所以網(wǎng)絡(luò)設(shè)備產(chǎn)生的大部分網(wǎng)絡(luò)告警只回答了who、what 和when 三個(gè)問(wèn)題,而故障診斷要進(jìn)行where 和why 的推理。另外,告警噪聲的存在進(jìn)一步增加了故障診斷的難度,這些告警噪聲包含:告警丟失、延遲、重復(fù)和虛假告警等。
故障恢復(fù)的主要目的是根據(jù)識(shí)別的故障原因,自動(dòng)或手動(dòng)地對(duì)網(wǎng)絡(luò)進(jìn)行控制操作,恢復(fù)網(wǎng)絡(luò)的正常運(yùn)行。
按照故障檢測(cè)的執(zhí)行主體所處位置的不同,可以將無(wú)線傳感器網(wǎng)絡(luò)故障檢測(cè)方法分為集中式方法和分布式方法。
集中式方法是無(wú)線傳感器網(wǎng)絡(luò)中較為常見(jiàn)的一種方法,一般來(lái)說(shuō)是物理上或邏輯上處于中心位置的節(jié)點(diǎn),負(fù)責(zé)對(duì)網(wǎng)絡(luò)進(jìn)行監(jiān)控,追蹤失敗節(jié)點(diǎn)或可疑節(jié)點(diǎn)。由于中心節(jié)點(diǎn)要負(fù)責(zé)的事務(wù)較多,通常都讓該節(jié)點(diǎn)不受能量的限制,能夠執(zhí)行大范圍的故障管理事務(wù)。主要采用周期輪詢的方式來(lái)對(duì)節(jié)點(diǎn)進(jìn)行管理:中心節(jié)點(diǎn)通常采用周期性主動(dòng)探測(cè)的方式發(fā)布一些探測(cè)包,來(lái)獲取節(jié)點(diǎn)的狀態(tài)信息,對(duì)獲得的信息進(jìn)行分析,從而確定節(jié)點(diǎn)是否失效。
采用集中式網(wǎng)絡(luò)管理,所有的網(wǎng)絡(luò)設(shè)備都由一個(gè)管理者進(jìn)行管理。當(dāng)信息流量不大的時(shí)候,集中式網(wǎng)絡(luò)管理簡(jiǎn)單且有效,在失效節(jié)點(diǎn)定位方面具有高效和準(zhǔn)確的優(yōu)點(diǎn),所以它非常適用十小型的局域網(wǎng)絡(luò)。在集中式網(wǎng)絡(luò)管理結(jié)構(gòu)下,管理者作為“客戶”要完成復(fù)雜的網(wǎng)絡(luò)管理任務(wù),同時(shí)還必須與多個(gè)作為“服務(wù)器”的代理交換信息。這種結(jié)構(gòu)存在著較大的缺陷,主要表現(xiàn)為:
所有的分析和計(jì)算任務(wù)都集中在中心節(jié)點(diǎn)站,造成網(wǎng)絡(luò)管理的瓶頸,中心節(jié)點(diǎn)負(fù)載過(guò)重。由于其余節(jié)點(diǎn)的信息收集后都是發(fā)往中心節(jié)點(diǎn),因此中心節(jié)點(diǎn)很可能變成一個(gè)專門用于數(shù)據(jù)傳輸?shù)墓?jié)點(diǎn)以滿足故障檢測(cè)和管理的需要。隨之而來(lái)的問(wèn)題就是中心節(jié)點(diǎn)所在的區(qū)域會(huì)有大量的流量往來(lái),導(dǎo)致該區(qū)域的節(jié)點(diǎn)能量消耗急劇增加,越是靠近中心節(jié)點(diǎn)的越是這樣。
分布式方法支持局部決策的概念,能夠平滑地將故障管理分散到網(wǎng)絡(luò)中去。目標(biāo)是讓節(jié)點(diǎn)在與中心節(jié)點(diǎn)通信前,能夠給出一定層次的決策。在這種思想下,傳感器節(jié)點(diǎn)能做的決策越多,越少的信息將被傳輸給中心節(jié)點(diǎn),從而減少通信量。分布式的方法通常分為以下幾種:
1、節(jié)點(diǎn)自檢測(cè)方法。節(jié)點(diǎn)自檢測(cè)的方法依賴于節(jié)點(diǎn)自身所包含的功能進(jìn)行故障檢測(cè),并將檢測(cè)結(jié)果發(fā)送給管理節(jié)點(diǎn)。介紹了一種節(jié)點(diǎn)自檢測(cè)的方法,通過(guò)軟件和硬件的接口檢測(cè)物理節(jié)點(diǎn)的失效。硬件接口包含了幾個(gè)靈活的電路用于檢測(cè)節(jié)點(diǎn)的方位和碰撞。軟件接口包含了幾個(gè)軟件部件,用于采樣傳感器節(jié)點(diǎn)的讀取行為。由于故障的檢測(cè)由節(jié)點(diǎn)本身完成,這種方法的優(yōu)點(diǎn)是不需要部署額外的軟件或硬件節(jié)點(diǎn)用于故障檢測(cè)。
2、鄰居協(xié)作的方法。顧名思義,鄰居協(xié)作的基本思想就是:在節(jié)點(diǎn)發(fā)出故障告警之前,將節(jié)點(diǎn)獲得的故障信息與鄰居(一跳通信范圍內(nèi))獲得的故障信息進(jìn)行比較,得到確認(rèn)的情況下才將故障信息發(fā)往管理節(jié)點(diǎn)。在大多數(shù)的情況下,中心節(jié)點(diǎn)并不知道網(wǎng)絡(luò)中的任何失效信息,除非那些已經(jīng)用節(jié)點(diǎn)協(xié)作方式確認(rèn)的故障。這樣的設(shè)計(jì)減少了網(wǎng)絡(luò)的通信信息,從而保留了節(jié)點(diǎn)的能量。
3、基于分簇的方法?;诜执氐姆椒▽⒄麄€(gè)網(wǎng)絡(luò)分成不同的簇,從而將故障管理也分散到各自的區(qū)域內(nèi)完成。簇內(nèi)采用散播的方式來(lái)定位失敗節(jié)點(diǎn),簇頭節(jié)點(diǎn)與一跳范圍內(nèi)的鄰居以某種規(guī)則交換信息。通過(guò)分析收集到的信息,根據(jù)預(yù)先定義的失敗檢測(cè)規(guī)則可以最終確定失敗節(jié)點(diǎn)。接著,如果發(fā)現(xiàn)了一個(gè)故障節(jié)點(diǎn),該區(qū)域所在的節(jié)點(diǎn)將會(huì)把信息傳播給所有的簇。
從上可知,集中式方法與分布式方法都各有優(yōu)缺點(diǎn),針對(duì)于不同應(yīng)用類型的網(wǎng)絡(luò),應(yīng)該選取不同的方法。為了方便方法的選取,我們對(duì)上述方法個(gè)定性分析??紤]無(wú)線傳感器網(wǎng)絡(luò)本身能量有限的特點(diǎn),以及故障檢測(cè)的一般目的,我們選取能量消耗、通信開(kāi)銷、故障檢測(cè)率和虛警率這四個(gè)方面進(jìn)行比較。
無(wú)線傳感器網(wǎng)絡(luò)的應(yīng)用已經(jīng)十分廣泛,而且,一般認(rèn)為物聯(lián)網(wǎng)的最底部一層即為無(wú)線傳感器網(wǎng)絡(luò),因此對(duì)無(wú)線傳感器網(wǎng)絡(luò)的研究能很好地指導(dǎo)實(shí)踐工作。本文對(duì)無(wú)線傳感器網(wǎng)絡(luò)故障檢測(cè)的方法進(jìn)行了分類描述分析,對(duì)于指導(dǎo)無(wú)線傳感器網(wǎng)絡(luò)故障研究工作具有一定的指導(dǎo)意義。