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