摘要:首先分析了傳感器網絡中兩種計算模型的特點;然后針對裝甲集群狀態監控的實際需求,提出了基于無線傳感器網絡的裝備狀態監控系統的基本結構。分析了用于前端數據收集和傳輸的兩層傳感器網絡的不同特點,結合client/server和移動agent模型的優點,提出基于混合計算模型的分布式傳感器網絡數據收集機制,在相對獨立的車載監測網絡中基于client/server模型建立數據收集機制,在車載監測網絡之間基于移動agent模型建立數據收集機制。
關鍵詞:傳感器網絡;計算模型;數據收集;客戶/服務端;移動代理
中圖分類號:TP393文獻標志碼:A
文章編號:1001-3695(2008)01-0101-04
0引言
隨著微電子技術、嵌入式計算技術和無線通信技術的飛速發展,具有感知能力、計算能力和通信能力的微型傳感器開始在世界范圍內出現[1]。無線傳感器網絡(WSN)是在普適計算環境下孕育出的一種新興的信息獲取和處理技術。其部署靈活,能夠被用于軍事、工業和消費領域。WSN的空間覆蓋和結構的多樣性使其適用于大范圍、多目標的監控,其潛在工業和軍事應用價值逐漸為世界各國所重視。
傳感器網絡技術和設備失效分析技術的進步正在引發各種大型機電系統(如飛機、直升機、輪船、電廠等)維護的革命[2,3]。對于工業和武器裝備,21世紀即將進入基于狀態監控的系統預測和健康管理時代??梢栽谛枰O測的設備附近加裝各種類型的傳感器,采集監測對象的各種相關物理參數。一個傳感器網絡包含很多傳感器節點,可以進行分布式感知和事件探測。傳感器以無線通信方式自組織成為網絡,通過一定的數據收集和路由機制將監測數據發送到后端監控中心,分析監測對象的工作狀態和性能,預測設備失效的時間并及時進行修理等。這不僅意味著可以更加高效地操作機器、減少維護開銷,而且能夠延長機器的壽命。本文在裝甲裝備維護中引入了基于無線傳感器網絡的狀態監控技術,利用傳感器網絡采集裝備各個關鍵組件的物理狀態參數;然后發送到遠程控制中心供分析和診斷使用。其中如何設計節能高效、可靠性好的分布式數據收集機制是一個難點。
在傳感器網絡中有client/server和移動agent兩個主要的計算模型。在傳統的基于client/server模型的傳感器網絡中,各個節點獨自采集數據,然后送到處理中心節點進行處理。在基于移動agent模型的傳感器網絡中,不是將數據從各個傳感器節點移動到一個處理中心,而是從處理中心發送移動agent到傳感器節點,利用本地資源處理數據。其基本思路是將計算移到數據上去進行,而不是將數據移到計算中來。通過移動代碼到數據,移動agent能夠減少帶寬要求和網絡斷開的影響。
目前,無線傳感器網絡技術和應用已經發展起來了,但絕大多數還是基于client/server計算模型,基于移動agent的協同信號和信息處理研究還較少。
1傳感器網絡的計算模型
傳感器網絡是一種典型的分布式環境,節點之間的協作處理是信息處理的必然要求。在無線傳感器網絡環境中,計算模型是部署在應用層協議棧的信息處理模型。
1.1Client/server模型
Client/server模型定義了client如何與server相連,以實現數據和應用的共享,并利用client的處理能力將數據和應用分布到多個處理機上。Client/server模型是在分布式計算中最流行的模型。它集中了大中型系統及文件服務器的優點,并有良好的系統開放性和可擴展性。在這個模型中,由一個server提供一系列服務、資源和執行代碼??蛻舳讼騭erver提出服務請求。當server接受請求后,訪問服務器端的資源,執行相應的服務,把處理結果返回給客戶端。在無線傳感器網絡中,server是中心處理節點,客戶端就是傳感器節點。圖1說明了client/server模型的特點。在無線傳感器網絡中,絕大多數系統都是基于client/server模型建立的[8]。
盡管具有實現簡單、應用廣泛的優點,但對于無線傳感器網絡,這種模型的缺點也是很多的[5,6]:
a)使用這個模型需要有一些具有很高的能量、存儲和計算能力的超級節點扮演處理中心的角色。
b)由傳感器節點收集的大量數據必須從client端移動到server端。隨著clients數量的增加,總帶寬要求可能超過實際可用的帶寬。這將增加隊列長度,client可能要忍受漫長的等待時間,在server端可能出現更長的處理延遲和更多的丟包。
c)靠近server的節點將耗費更多的能量。因為它不得不作為一個中繼節點路由來自其他節點的數據包。這將導致更靠近server的節點比其他節點失效更快。
d)基于client/server設計的系統需要精確估計網絡帶寬、流量、client和server的數量等,否則系統性能會很差。
e)對于需要在網絡上通過多次往返傳輸大量數據的應用,如監控,大大增加了網絡的通信開銷和能耗。因為最耗能的處理環節是射頻傳輸。
1.2移動agent模型
基于移動agent的分布式傳感器網絡(MADSNs)的概念是由Qi Hai rong等人[4~6]提出來的。在基于移動agent模型中,server擁有服務程序,可以調度移動agents,但是大多數資源位于clients。Server發送攜帶服務程序的移動agents。移動agents使用clients的可用資源完成服務。在無線傳感器網絡中,由中心處理節點發送和回收移動agents。移動agent將在節點之間遷移,進行數據收集或融合,然后攜帶部分處理結果繼續遷移到下一個節點。圖2顯示了移動agent模型的特點。
簡單地說,移動agent就是一種能夠自主執行的特殊程序,在出現預期和非預期事件時能夠自發地執行[6]。把移動agent定義為一個具有身份ID、路線、數據空間和服務程序四個屬性的實體,如圖3所示。身份ID惟一確定每一個移動agent。數據空間是agent的數據緩存,攜帶部分數據結果。路線是agent遷移的路線?;诋斍暗木W絡狀態,它可以是固定的或動態確定的。服務程序是agent攜帶的處理任務或執行代碼。
移動agent模型具有很多優點[5,7],特別適合于無線傳感器網絡中的分布式計算:
a)減少網絡帶寬要求。對基于移動agent的計算,不需要通過在網絡上多次往返傳輸大量的數據,只需要發送和回收規模相對較小的agent。
b)能耗低。由于減少了總的傳輸數據量,也減少了能耗?;谝苿觓gent的計算模型在所有節點和處理中心之間更均勻地分配使用能量,能夠延長無線傳感器網絡的生命期。當數據融合結果的準確性滿足要求時,移動agent能夠終止遷移和返回。由于減少了不必要的數據傳輸,更進一步減少了能量消耗和執行時間。
c)可伸縮性好。可對移動agent編程,攜帶適應任務變化的程序,增強了系統的性能。隨著節點數量的增加,基于移動agent的計算不受很大的影響。
d)可靠性高。移動agent能夠異步執行,減少了網絡連接失效對數據收集或融合造成的影響,增強了系統的穩定性。當某一傳感器節點失效時,移動agent能夠繞過該節點,遷移到下一個可用節點。當網絡連接活躍時,可以發送移動agent。當重新建立連接時再返回結果。
2基于混合計算模型的分布式傳感器網絡數據收集
2.1基于WSN的裝備狀態監控系統設計
為了在現有裝甲車輛上增加狀態監控系統,對各輛車上關鍵組件的使用性能和故障狀態進行監控,以預測設備可能存在的故障,確定維修間隔和維修內容,從而優化裝備的使用,提高維修效率,本文引入了WSN技術,提出了基于WSN的裝備狀態監控系統的基本結構,如圖4所示。
這是一個層次式結構,與WSN直接相關的是下面兩層網絡結構。第一層由部署在裝備各個關鍵組件上的傳感器節點組成。其中,虛線圓環內的設備代表一個單獨的車載監控系統。傳感器節點的功率被限制在一個很小的范圍內,自組織成為網絡,負責感知特定區域內的物理環境參數,并將感知數據發送到網絡的網關節點。
每個車輛上有一個工作的網關節點,專門收集本地網絡節點的感知數據,進行相應的數據融合處理,存入本地數據庫,并提供本地監測數據的實時顯示。當車輛之間相互進入網關節點的通信范圍時,網關節點之間可以相互通信以傳輸數據。網關節點之間的通信網絡構成第二層網絡結構。網關節點也可以通過本地傳輸網絡向遠程無線基站發送數據。
遠程基站通過以太網接口接入內部網絡,將各個車輛內部的感知數據發送到遠程中心數據庫,由后端的數據分析軟件作進一步處理后得到裝備健康狀況的分析結果,以預測設備故障,確定維修間隔和維修內容。包括中心數據服務器、遠程查詢分析客戶端在內的內部網絡可視為第三層網絡結構。
由于數據無線傳輸可能存在節點失效、連接斷開等不利因素,出于可靠性和容錯性考慮,需要在每一個網絡層次增加數據存儲和管理組件。傳感器節點本身帶有存儲器,能夠存儲一定的數據。對于狀態監控系統,主要考慮在每一個車輛上加載本地數據庫和顯示器,以及本地監控數據處理和節點管理軟件,分析、處理和存儲網關節點收集到的感知數據,便于實地控制傳感器的監測任務,實時分析監控對象的性能變化趨勢。這樣的本地監測網絡可以構成一個自治的本地監控系統。此外,在無線基站上也需要加載數據庫系統,存儲從各個網關節點收集到的數據;再將這些數據復制一份發送到遠程中心數據服務器。
2.2基于混合計算模型的數據收集
如何設計節能高效、可靠性好的分布式數據收集機制是一個關鍵問題。根據狀態監控系統的基本結構可知,每個車輛內的本地監測網絡不需要大量感知節點,感知數據的時空相關性大。第一層傳感器網絡的主要任務是進行監測數據收集、聚合和存儲,數據量較少。車載監測網絡之間相對獨立,每個車輛可視為一個網絡節點。網絡拓撲隨節點之間的相對運動變化較大,存在網絡斷開的脆弱性。第二層傳感器網絡的主要任務是進行車載監測數據的聚合、傳輸和存儲,數據量較大。此外,文獻[7]根據仿真實驗發現,當傳感器節點數較少時,采用client/server模型數據延遲小、時間同步性好、效率更高;當傳感器節點數較多時,網絡通信的帶寬要求可能超過網絡所能提供的帶寬,這時采用移動agent模型可以避免大量數據在網絡上的傳輸,性能較好。
本文采用混合計算模型設計狀態監控系統的數據收集機制,在車載監測網絡內采用client/server計算模型,車載監測網絡之間采用移動agent的計算模型,如圖5所示。在整個系統中,sink節點是連接內外兩種數據收集機制的樞紐。
1)基于client/server模型的車載數據收集在車載監控系統中采用基于client/server模型的數據收集機制。為了減少RF干擾和節約能量,傳感器功率和通信距離被限制在一個較小的范圍,傳感器節點周期性地感知某一地理區域的相關信息。每當獲得一個感知事件就發送到sink(信息接收器,在此為網關)節點。
(1)外編碼方式為了保證監控網絡的可靠性,經常在同一監測對象周圍部署多個傳感器節點。因此,不同傳感器節點的監測區域可能部分重合,監測數據經常是相關的。由于功率、遮擋和傳輸距離的限制,通常需要使用多跳通信技術進行傳輸。為了節約能量、減輕網絡的傳輸擁塞、降低數據的傳輸延遲,當數據從信息源流向sink節點時應該進行聚合處理。這種技術通常被稱為網內數據聚合。在傳感器節點向sink轉發數據之前,傳感器節點使用一個聚合函數來編碼數據。當需要在網關節點恢復原始感知數據時再進行數據解碼。
(2)發布/預約機制由于傳感器的通信功耗比感知功耗大很多,數據傳輸是傳感器網絡中耗能最多的環節,在實際應用中沒必要讓傳感器一直傳輸感知數據,按需查詢是最佳的節能通信機制。
目前提出的一些通信范式可用于處理傳感器網絡的通信交互,如消息隊列、通報、共享空間等。但這些范式不能完全去除參與者之間的耦合性,使得系統缺乏靈活性和擴展性[10]。發布/預約范式使信息的產生者和消費者在時間、空間和流量上分離。根據發布/預約范式,sink從傳感器網絡不斷收集事件通報。當發現某個感興趣的消息時,sink就向發現該事件的節點發布預約信息。當該傳感器從網絡中接收到預約,就激活一個事件來發布感知數據,以異步方式向sink發送信息。發布/預約機制能用來收發基于查詢和事件驅動的周期性信息。
在應用中,首先需要通過建立hop tree來確定網絡通信結構。建立hop tree的算法基于洪泛機制。從sink開始,帶一個跳數值,該值被存儲,遞增后向鄰居節點傳輸。鄰居節點存儲收到的跳數值,遞增后向鄰居節點傳輸,直到所有傳感器節點以不同的跳數值配置完畢。由于網絡節點之間的通信通過射頻,節點所有的鄰居都收到傳輸信息。一個已經傳輸的節點將收到其鄰居的傳輸,產生一個環路。為了避免無效傳輸浪費網絡能量,使用一個規則集合為節點分配跳數值。其中一個本地規則是當節點從鄰節點收到一個跳數值時,把這個值與本地跳數值進行比較。如果本地跳數值大于接收值,節點更新其跳數值,遞增該值后重新向鄰居節點傳輸;否則既不更新也不轉發,如圖7(a)所示。Hop tree建立過程中可以同時為每個傳感器分配感知任務,設定事件報警必須滿足的門限,如溫度>80 ℃等。網絡初始配置后,節點存儲的信息是其跳數值、感知任務和預警門限。
當監測目標的狀態變化信息觸發預警條件時,源節點才向sink發送事件通報。由于不同傳感器節點的監測區域部分重合,監測數據相關性大。當某一事件發生時,可能有多個感知節點監測到此事件且滿足預警條件。如圖7(b)所示,事件影響范圍內有四個傳感器節點偵測到此事件。根據網絡的初始配置,可規定只有在hop tree上跳數差為1的節點之間才能進行數據傳輸。這樣容易選擇傳輸更快的鄰居,而且避免消息循環。若sink發現此事件需要進一步分析時,就沿此路徑反向傳輸事件預約消息,如圖7(c)所示。當各個感知節點收到sink的預約消息后,若發現預約ID與自身ID一致,就啟動數據聚合機制,向sink發送連續的觀測數據,如圖7(d)所示。
2)基于移動agent模型的集群數據收集由于車輛上裝有GPS系統,每個sink節點都知道自身的地理位置。盡管采用了發布/預約機制和外編碼數據聚合機制,車載監控系統通常還是會產生大量的監測數據。遠程監控中心不一定需要所有的監控數據,可能只需要某一時段或某一部分設備的監測數據,傳輸非關鍵數據除了消耗能量和網絡帶寬外,還增加了被發現的危險。因此,利用移動agent有選擇地訪問各個車載監控系統是一種良好的選擇,能夠減少帶寬要求、通信開銷和網絡斷開的影響。
在第二層傳感器網絡中,采用移動agent模型的數據收集機制。其基本思路是在某一時刻,無線基站發送包含特定處理任務的移動agent;agent在各個車輛的sink節點之間遷移,一旦到達某個節點,agent給出授權憑證,獲得訪問本地資源的權限,收集狀態監控系統的監測數據;根據任務選擇需要的數據作進一步聚合處理,然后帶著結果離開;最后沿遷移路線將整個區域內各個車輛的狀態監測數據發送回無線基站(圖5)。
由于強遷移開銷很大且實現較困難,這里采用弱遷移方式,僅包含執行代碼和數據傳遞,不包括所有的狀態。為了進一步減少通信和存儲開銷,將集群之間的數據收集機制建立在分層的軟件agent上,如圖8所示。
根據功能分為以下三類agent:
a)主控agent。它是一種靜態agent,駐留在基站中,包含接收、請求處理和服務三個組件。接收組件是一個接收用戶請求的端口進程;請求處理組件處理用戶請求,創造請求處理的實例,維護與用戶應用連接的進程;服務組件負責查詢agent的任務調度,提供用于查詢傳感器網絡的接口或服務。
b)查詢agent。它是一種由基站發出的移動agent,在各個車載sink之間遷移;根據特定任務選擇監測數據執行數據獲取和本地計算。顯然,查詢agent起到了銜接基站與分布式sink節點的橋梁作用,是最關鍵的agent。
c)數據獲取agent。它是一種靜態agent,常駐留在每個車載系統的sink節點中,分為內部與外部兩個組件。內部組件負責收集和管理車載系統的監測數據;外部組件提供與查詢agent交互的接口。
假設sink節點之間的相對運動速度不是很快,網絡拓撲變化不大。以下是利用移動agent收集車載設備狀態監測數據的過程:
a)駐留在無線基站的主控agent接收到類似SQL語言的用戶查詢請求,創建查詢任務實例,構造出新的查詢agent。b)假設已知sink節點的大概分布位置,類似前面的hop tree建立過程。主控agent采用洪泛方式向整個監控區域內的sink節點廣播查詢命令,包含跳數值。當sink節點接收到基站的消息后,增大無線射頻模塊的功率以擴大通信范圍;進入數據轉發狀態,存儲收到的跳數值,向鄰居節點廣播自己的地理坐標、剩余能量和遞增后的跳數值。采用同樣的循環避免方法,最終每個節點均獲得了一個鄰居列表,包含鄰居節
點的坐標和剩余能量,同時還建立了網絡的傳輸梯度。
c)主控agent向鄰近的sink節點發送查詢agent。查詢agent帶著部分結果在sink節點之間遷移??梢允褂脧V度優先搜索的方法為查詢agent選擇遷移路線。首先考慮跳數值相同的鄰居節點,再逐步向跳數值大的節點遷移。
d)到達某個節點后,若該節點沒有在已收集數據的節點列表中,查詢agent就向本地的數據獲取agent給出授權憑證,獲得訪問權限,利用本地的內部數據管理組件收集監測數據。根據任務要求,選擇特定的數據作進一步聚合處理,并將該節點的ID填入已收集數據的節點列表中;然后帶著結果由sink節點廣播出去。若該節點在已收集數據的節點列表中,就直接向鄰居節點遷移。
e)當查詢agent的遷移節點數或遷移時間已經達到一個特定門限時,查詢agent結束遷移,帶著數據結果沿梯度減少的路線返回,最終回到基站,由主控agent取出數據。
當sink節點之間存在較快的相對運動,網絡拓撲變化較大時,這種基于移動agent的數據收集機制有可能收集不到所有sink節點的數據。此時可以通過增大無線基站的發射功率,直接將查詢agent發送到所有的sink節點;完成本地數據收集后,再選擇適當的地理路由算法構建查詢agent的回收路線,將結果傳回基站。
3結束語
目前,無線傳感器網絡技術的飛速發展使無處不在的計算成為了可能,在很多領域中得到應用;同時引發了各種大型機電系統維護的革命。車載監測系統是相對獨立的小型傳感器網絡,節點較少、感知數據的時空相關性大、數據流量較少,采用基于client/server計算模型數據延遲小、時間同步性好,便于使用節能、高效的數據聚合機制和路由算法。車載sink節點存儲了本地的所有狀態監測數據,相互之間相對獨立。其主要任務是向遠程基站傳輸數據,數據量較大。由于車輛之間可能有相對運動,網絡存在隨時斷開的脆弱性,適于利用移動agent在基站和各個車載監測系統之間遷移,充當信使的角色,并根據任務要求選擇適當的本地數據進行處理后得到需要的結果,漸增地收集各個車輛上的設備監測信息。將來需要進一步深入研究移動agent的查詢和遷移機制,在減少能耗的同時提高數據收集機制的穩定性和可靠性。
參考文獻:
[1]
CHONG C Y,KUMAR S P.Sensor networks:evolution,opportunities,and challenges[J].Proceedings of the IEEE,2003,91(8):1247 1256.
[2]KRISHNAMURTHY L,ADLER R,BUONADONNA P,et al.Design and deployment of industrial sensor networks:experiences from a semiconductor plant and the north sea[C]//Proc of SENSYS’05.San Diego, California:[s.n.],2005:64 75.
[3]MARCY H O,AGRE J R,CHIEN C,et al.Wireless sensor networks for area monitoring and integrated vehicle health management applications[C]//Proc of AIAA Guidance, Navigation, and Control Confe rence and Exhibit.Portland:[s.n.],1999.
[4]QI Hai rong,XU Ying yue,WANG Xiao ling.Mobile agent based collaborative signal and information processing in sensor networks[J].Proceeding of the IEEE,2003,91(8):1172 1183.
[5]QI Hai rong,IYENGAR S S,CHAKRABARTY K.Multiresolution data integration using mobile agents in distributed sensor networks[J].IEEE Trans on Systems, Man and Cybernetics,2001,31(3):383-391.
[6]QI Hai rong,WANG Xiao ling,IYENGAR S S,et al.Multisensor data fusion in distributed sensor networks using mobile agents[C]//Proc of Information Fusion.2001.
[7]XU Ying yue,QI Hai rong.Distributed computing paradigms for collaborative signal and information processing in sensor networks[J].Journal of Parallel Distrib Comput,2004,64(8):945-959.
[8]MAINWARING A,POLASTRE J,SZEWCZYK R,et al.Wireless sensor networks for habitat monitoring[C]//Proc of ACM WSNA’02.Atlanta, Georgia:[s.n.],2002.
[9]RICKENBACH P von,WATTENHOFER R. Gathering correlated data in sensor networks[C]//Proc ofDIALMPOMC’04.Philadelphia, Pennsylvania:[s.n.],2004:60-66.
[10]BOUKERCHE A,PAZZI R W N,ARAUJO B.Fault tolerant wireless sensor network routing protocols for the supervision of context aware physical environments[J].Journal of Parallel Distrib Comput,2006,66(4):586-599.
“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”