時間:2022-07-26 04:52:34
導言:作為寫作愛好者,不可錯過為您精心挑選的1篇無線傳感器網絡拓撲控制研究,它們將為您的寫作提供全新的視角,我們衷心期待您的閱讀,并希望這些內容能為您提供靈感和參考。
摘 要:以ZigBee協議為基礎,提出了一種新的無線傳感器網絡拓撲結構的監控和維護方法。創新性地設計了基于葉子節點的通訊模式,該模式運用協議棧自有運行流程來獲取節點的加入或丟失信息、實現網絡拓撲的監控,并通過設計一種基于關聯表的鏈表式存儲結構來進行動態網絡拓撲的維護。經過在實際辦公環境監控平臺上驗證表明,該方法數據傳輸量小,資源占用少,操作簡便,具有較強的應用推廣價值。
關鍵詞:無線傳感器網絡;ZigBee;拓撲結構;監控與維護
0 引 言
隨著無線傳感器網絡技術在軍事、工農業、城市管理、環境監控等各個領域的快速發展,作為系統基礎組成部分的網絡拓撲結構成為研究的一個重要方面。目前,國內外的科研機構在網絡拓撲發現以及拓撲的監控和管理方面開展了大量的相關研究工作,但大多停留在理論和仿真層面,這些通過在高性能的PC機上搭建仿真模型來驗證算法效果的研究,大多缺乏能夠應用到實際系統的可行性案例。安徽財經大學的趙濤[1],根據在聚合節點(sink)收集到網絡內部節點報文接收或丟失的情況,通過發現網絡中所有葉子節點到sink 節點的數據傳輸路徑,來推測網絡的邏輯拓撲。該方法計算比較復雜,120節點規模網絡在主頻為2.8 GHz的CPU主機上運行尚需9秒的時間,同時會受到節點資源、計算速度、實施條件等限制,因此,這種方法很難在實際應用中實現。德州儀器(TI)公司的官方網站也給出了一種獲取網絡拓撲結構的方法[2],該方法采用發送網絡發現命令的方式,并通過返回結果來確定網絡拓撲結構。此法雖然能夠在實際應用中實施,但需要定期向網絡中的所有節點發送發現命令,因而數據消耗量巨大。
本文以Z-stack協議棧為基礎,采用葉子節點通訊方式,并利用協議自身的運行流程,提出了一種輕量數據消耗、真正面向應用的拓撲監控方案,同時通過設計一種基于關聯表的鏈式存儲結構來實現對網絡拓撲信息的維護,因而在解決網絡監控與維護方面更具有實際應用價值。
1 Z-stack協議棧原理簡介
作為ZigBee聯盟的一個重要的組織成員,2007年,TI公司宣布推出業界領先的ZigBee協議棧Z-Stack。Z-Stack符合ZigBee 2006規范,能支持多種平臺,其中包括本系統使用的、面向IEEE 802.15.4/ZigBee的CC2430片上系統解決方案[3]。
1.1 ZigBee協議棧的體系結構及信息傳遞流程
ZigBee協議棧的體系結構如圖1所示,由圖可見,ZigBee協議采用分層體系結構[3],由物理層(PHY)、介質接入控制子層(MAC層)、網絡層(NWK)和應用層(APL)組成。其中,應用層框架包括了應用支持子層(APS)、ZigBee設備對象(ZDO)及由制造商制定的應用對象。
在ZigBee網絡中,信息或數據的傳遞將依照上述層次結構實現。上層發送的數據或指令按照應用層―網絡層―MAC層―物理層的順序,從上至下依次進行處理;底層返回的數據則按照物理層―MAC層―網絡層―應用層的順序,從下至上處理后返回給上層用戶。每個層次負責發送到本層數據的分析和判斷,并對于屬于本層次的數據或指令做出相應的動作響應;對于不屬于本層的數據,則按照規定格式打包后發送給上、下一層。
1.2 節點加入與失步流程
為了維護系統的正常運行,ZigBee協議棧還提供了一些必須的消息響應流程,其中包括節點加入網絡和失步響應的流程。
節點加入流程[3]如圖2所示。當子節點申請加入網絡時,會啟動加入流程。子節點的加入請求通過其NWK層、MAC層、PHY層傳遞給父節點;父節點收到加入通知消息后,又通過其PHY層、MAC層、NWK層將該情況上傳給應用層,最后通過ZDO_JoinIndicationCB()函數的調用,得到子節點加入的消息。
圖2 節點加入流程
節點失步流程[3]是指終端節點丟失其父節點的同步信號時,向上層報告的失步情況發生的流程。其具體流程如圖3所示。
終端節點每隔一段時間就會開啟與父節點的同步,當在設定時間內沒有接收到父節點的同步信號時,就會產生失步指示信息,協議棧將該失步信息層層上傳,最后通過調用ZDO_SyncIndicationCB()函數,將信息傳達到應用層。
1.3 關聯表
TI的Z-stack協議棧在全功能節點中可以維護associated
_devices_t結構的關聯表,關聯表中保存有與本節點直接關聯(父子節點)的相關信息,包括關聯節點的短地址、設備類型、連接狀態等,基本上可以滿足網絡拓撲結構監控和維護的信息需求。
TI的ZigBee協議棧雖然可為用戶開發提供強大支持,但是在網絡監控和維護上并沒有專用的接口。一方面,該協議棧只能發現節點加入網絡,但是無法發現節點非主動性的丟失或退出,因而不具備網絡拓撲監控的功能;另一方面,協議在每個全功能節點中都維護了與之關聯設備的關聯表,但是并沒有維護整體網絡的關聯信息,因而無法掌控網絡拓撲的全貌。鑒于協議棧在網絡拓撲功能上的不足和缺陷,本文以協議基本流程為基礎,提出一種實現整體網絡拓撲監控和維護的方法,該方法可以滿足一般系統對于拓撲結構的監控和維護需求。
2 網絡拓撲結構監控
網絡拓撲結構監控的主要目的是實現拓撲結構的建立和在結構發生變化時及時獲取變化情況,其中最主要的是實現節點加入和退出事件的捕捉。節點加入事件的獲取相對容易,可以通過加入節點主動上報等方式來獲取;而節點丟失事件獲取要復雜得多。現階段,對節點丟失情況的監控多采用系統定期查詢的手段[2]。采用查詢方法時,其實時性與查詢周期的長短直接相關:查詢周期設置較長,拓撲變化反映時間增長,實時性變差;而查詢周期設置較短,則傳輸數據量增大,占用系統資源,往往很難在二者之間找到平衡點。協議棧中數據或消息的傳遞是一個復雜的過程,為了盡可能地降低系統資源的占用、節約能耗,除了維護系統正常運行所必須的數據通訊外,還應盡量減少人為添加(應用層)的數據通訊量。因此,最好的辦法就是利用協議自身的數據傳遞或者節點加入、失步等流程來實現相關信息的獲取。
本文設計了一種基于網關――葉子節點通訊的節點丟失情況獲取方法,該方法可以利用協議棧自身的運行流程,以較少的數據通訊量和簡單的操作,實現網絡中所有節點的丟失情況獲取。
2.1節點加入事件的獲取
通常情況下,節點加入事件多采用加入節點主動上報的方法來獲取。該方法操作簡單,但是需要人為地發送相關加入信息,會增加系統數據通訊量。由圖2所示的節點加入流程可知,如果有子節點加入網絡,加入的指示信息都會通過ZDO_JoinIndicationCB()函數的調用報告給父節點。即該函數的調用證明有子節點的加入事件。因此,本文通過在此函數中添加向應用程序報告的功能,即可通知用戶子節點加入事件的發生。
2.2節點丟失信息的獲取
由圖3所示的流程可知,協議棧通過調用void ZDO_SyncIndicationCB( byte type, uint16 shortAddr )函數可實現失步情況的報告。該函數具有節點丟失的指示功能,并能夠指示丟失節點與本節點的父子關系和短地址等。但在實際的應用中發現,該函數的調用是有條件限制的,具體實施條件如下:
父節點丟失:從失步報告流程可知,終端節點能夠自動輪詢發現其父節點同步信號的丟失,而無需人為添加任何觸發條件,引發函數調用。但路由節點不支持與父節點的輪詢機制,因而不能產生父節點丟失情況的報告。
子節點丟失:對于包括終端節點在內的所有類型節點的子節點丟失,在未加相應處理的情況下,協議棧都不會引發該函數的調用。
由實施條件可知,該函數的丟失指示并不適用于所有類型節點的丟失情況,因此,如果要得到除終端父節點外網絡中所有節點的丟失情況,就需要人為加入其他處理,以觸發ZDO_SyncIndicationCB()函數的調用,從而實現丟失事件的獲取。
2.3 葉子節點通訊觸發方法
通常采用的基于查詢的網絡發現機制都需要在所有節點間發送數據,因而增大系統的數據開銷。這里以圖4所示的拓撲結構為例,圖中的葉子通訊需要進行14條數據的查詢和14條數據的應答才能夠完成一次節點丟失情況的獲取。為了盡可能減少數據通訊和操作的復雜度,本文設計了一種基于網關――葉子節點通訊的節點丟失情況獲取方法,以便用較少的數據通訊量和簡單的操作來實現網絡中所有節點的丟失情況獲取。
研究發現,失步函數的觸發可以通過加入數據通訊來實現。因為在數據發送的過程中,協議棧會開啟數據發送流程,數據發送后則會自動檢測接收方應答幀。這樣,如果節點丟失,則發送節點無法接收到有效應答,進而引發節點失步指示函數的觸發。
具體觸發時,如果節點之間有數據通訊,發送數據節點則能夠發現接收數據節點的丟失,從而引發void ZDO_SyncIndicationCB( byte type, uint16 shortAddr )函數的調用。
在同一條數據通路上的節點進行數據轉發時,數據傳遞路徑上的各個節點都會發現其父節點(數據由下而上)或者子節點(數據由上而下)的丟失,進而調用void ZDO_SyncIndicationCB( byte type, uint16 shortAddr )函數。如圖4所示,如果網關發送數據到終端節點1,則在網關到終端節點1數據路徑上的所有節點(網關、路由1、路由2、終端1)都能夠發現其子節點的丟失;終端節點1發送數據到網關,則路徑1上的所有節點都能發現其父節點的丟失。
該方法通過建立數據通路上起始節點和末端節點的數據通訊來實現整條路徑上節點丟失情況的獲取。其具體操作過程分為兩個部分:其一是父節點丟失情況的獲取。由前面提到的實施條件可知,終端節點無需任何人為操作就能夠發現其父節點的丟失,而無需對此部分做特殊處理,因而只需對路由節點做出處理。而由路由葉子節點(如圖4中路由節點2、4)向網關發送數據時,則可實現整條路徑上所有節點丟失情況的獲取。其二是子節點丟失情況的獲取。子節點丟失的獲取可以通過網關向葉子節點(圖4中所有終端節點和路由4)發送數據的方法來覆蓋整個網絡中的所有節點,從而使全部節點都能夠發現其子節點的丟失情況。
人為加入上述兩部分數據通訊后,只要整個網絡中有節點丟失,該丟失節點的父節點和子節點都會產生失步函數void ZDO_SyncIndicationCB( byte type, uint16 shortAddr )的調用,這樣就可以簡單地在該函數中添加向上層應用報告的功能,實現網絡中節點丟失信息獲取。并且數據通訊量由原來的28條減少到6條,從而大大減少了數據消耗和由此帶來的系統資源占用。
3 網絡拓撲結構與維護
Z-stack協議棧在全功能節點中只維護與本節點直接關聯的節點信息的關聯表,沒有整體網絡信息的存儲功能。為了解決Z-stack關于網絡全貌信息缺失的缺陷,結合本文提出的網絡拓撲結構監控方法,設計一種拓撲結構維護的方法,在占用少量資源的情況下獲取整個網絡的拓撲信息,并將信息整合到網關節點中統一維護和管理,從而建立網絡拓撲的管理辦法,實現具有自組織、自適應能力的智能網絡管理機制。
3.1管理模式
網絡信息管理可采用搜集模式和監控模式相結合的方式。搜集模式通過發送指令搜集網絡拓撲信息,賦予用戶即時獲取當前網絡結構的能力;監控模式通過監控從網絡組建起歷史網絡的結構變化,實現網絡拓撲信息更新,從而整合為當前網絡拓撲結構。
搜集模式在實現時,首先由網關設備廣播一個命令來搜集設備信息;然后,收到廣播信息的路由節點再按照一定的數據格式,由網關返回子節點關聯信息;當網關收到各個路由節點的返回信息后,再將其組合為整個網絡中的設備信息。
監控模式則是從網絡形成起,網關節點就開始監控所有節點的狀態;當路由節點檢測到其子節點加入或者退出的時候,向網關上報該子節點的狀態變化信息,而網關節點檢測到子節點加入或者退出則不用上報,直接在網關內部處理;當網關接收到路由節點上報的狀態信息后,就會刪除或者增加該路由子節點的關聯信息,同時更新整體網絡結構。
3.2 網絡拓撲存儲結構
網關節點作為整個網絡拓撲結構管理的中心,負責拓撲結構的添加、刪除和更新,因此,必須在網關節點存儲整體的網絡拓撲結構信息。受網關資源的限制,本文采用分級動態鏈表的形式保存網絡拓撲信息,以便以較少的資源占用實現拓撲信息的動態存儲。本設計的網絡拓撲存儲結構如圖5所示。
圖5中,AssocListHead是裝載路由節點頭信息的數組,包含有該路由節點的長地址、短地址、父節點短地址和擁有的子節點數以及指向其子節點鏈表assoc_list的頭指針;assoc_list鏈表中記載著這一路由下的子節點信息,包括子節點的短地址、長地址、類型、連接狀態等。在該路由下每增加一個子節點,就會在assoc_list鏈表中添加一個節點信息,當節點離開時,又會將相對應的鏈表刪除。這樣,網關就可以方便地對當前網絡中的所有節點的拓撲和相關信息進行查找、更新、維護。
3.3 網絡維護方案
網絡維護的實施要建立網絡中所有類型節點間的區分與協作機制。區分是根據節點類型的不同、事件類型的不同做出區別處理;協作是在所有節點間建立連動響應機制,相互配合,并實現信息的匯聚和統一管理。具體的網絡維護分為事件響應和信息維護兩部分。
3.3.1 拓撲變化事件的響應
拓撲變化主要是指節點加入事件和節點退出事件。當節點加入事件是指節點加入網絡時,其父節點負責將該子節點加入信息上報網關;節點退出事件則是指獲取到的網絡節點丟失信息的處理。處理可分為兩種情況:一種是當傳遞來的type = 1時,即丟失節點為本節點的父節點時,開啟網絡加入流程,使節點可以重新加入網絡,并恢復網絡的正常運行;第二種情況是type = 0時,即本節點發現其中一子節點丟失。本方法對于長時間無法連接的子節點,將啟動移除(LEAVE)流程,將該子節點從網絡中刪除,同時向網關節點報告子節點退出的消息。
需要注意的是:當子節點丟失時,有的時候是真正丟失了(長時間或永久無法連接),但更多的時候只是暫時地失去聯系,隨著子節點的重新加入申請,又可以加入網絡,恢復正常的運行狀態。因此,設計時需要將暫時失步和真正丟失這兩種情況區分開,再分別做出合理的處理。
本文采用延時判斷的方式,即當檢測到失步現象發生后,先定時一段時間,再做判斷:如果定時一段時間后,節點仍舊失去聯系,則判定是真的丟失了節點,此時可通過NLME_LeaveReq移除子節點,同時上報網關節點丟失的消息;否則認為只是暫時的節點失步。 節點退出情況的處理流程如圖6所示。
3.3.2 拓撲信息的維護
由網絡各個路由上報的節點加入或退出的信息最終將在網關匯集,網關按照上報的節點加入、退出信息對網絡拓撲存儲關聯表進行添加、刪除、更新,以維護當前網絡拓撲狀態。其具體方法是先判斷接收信息的種類,然后對節點加入信息和節點退出信息分別處理。對于加入信息,可核查是否是已經存在于網絡中的點,如果是已經存在的,則更新存儲的節點信息;如果是一個全新的點,則為該節點分配存儲空間,并在對應的父節點下增添子節點分支。對于退出信息,同樣核查是否是存在于網絡中的點,如果該節點已經不存在了,則報錯處理;如果是存在的點,則將該節點信息刪除,并解除與其父節點的父子聯系。
網關在接收到由父節點上報的節點加入消息時,還需要對加入子節點類型進行判斷:如果是終端節點,則在其父節點的鏈表中更新或加入該子節點的相關信息;如果加入節點是路由節點,除了在該路由節點父節點的鏈表中加入該子節點信息外,還要添加該子路由關聯頭信息。圖7所示是實現網絡拓撲維護管理的示意圖。
4 實驗驗證
本文的實驗驗證可在基于CC2430搭建的WSN開發平臺上進行,該平臺共使用5個終端節點、5個路由節點、1個網關和PC調試機。所有傳感器節點自組織成無線網絡,并將感知信息和拓撲信息匯報給網關節點,網關節點與PC機通過串口相連,操作人員可以通過上位機的調試軟件對網絡狀態進行實時監控。圖8所示是其上位機監控程序界面。該試驗網絡的節點布局示意圖如圖9所示。
實驗時隨機選取監控過程中兩個時間點的網絡拓撲結構監控過程示意圖如圖10所示。其中兩個時間點在實驗過程中上報的拓撲變化信息如表1所列。
從實驗結果可以看出,一方面,父節點能夠實時上報其子節點加入和丟失的網絡變化情況;另一方面,子節點也能夠及時檢測出其父節點的丟失,并選擇其他父節點重新申請加入網絡。可見,本系統具有網絡的自組織、自適應的動態網絡監控與維護功能。
5 結 語
本文提出了一種通過終端與父節點間的失步信號來捕捉與基于葉子節點人為觸發失步函數調用的方法,可以實現整個網絡節點丟失情況的獲取。其中,通過終端與父節點間失步信號來捕捉節點丟失信息的方法無需人為干預,能夠通過協議自動實現,從而減少了查詢的數據量和對其操作帶來的系統資源占用;基于葉子節點的失步函數觸發機制,只通過葉子節點與網關的數據傳輸,就能夠完成整個線路上節點丟失情況的獲取,在實際應用中,經常由終端上報數據,相當于終端自動完成數據線路上父節點丟失情況的發現,使該方法的實施更加簡單。這兩種方法的結合,能夠以較小的數據通訊量、簡單的操作和較小的系統資源占用來實現網絡發現的功能,因而
具有較高的實際應用價值。
本文提出的網絡拓撲維護方法具備網絡拓撲的自組織、自適應功能,可滿足無線傳感器網絡系統對于網絡組織結構的動態性能要求。同時具備拓撲結構的存儲功能,能以較少的系統資源保存整個網絡的動態拓撲結構,十分方便網絡的管理和控制。
摘 要:在無線傳感器網絡研究中,拓撲控制技術是核心技術之一,本文首先描述了現有拓撲控制算法的分類,其次分析了幾種典型的算法并總結了其優缺點,最后簡述了現有拓撲控制技術中存在的問題以及未來研究的發展趨勢。
關鍵詞:無線傳感器網絡;拓撲控制;發展趨勢
1 引言
無線傳感器網絡(WSN)是集信息采集、傳輸以及處理于一體的智能信息管理系統,應用前景廣闊,是目前比較活躍的一個領域。
WSN是一種由大量微傳感器節點組成的自組織網絡,其向學者們提供了大量的研究課題,拓撲控制是最基本問題之一。拓撲控制就是要研究如何形成一個良好的網絡拓撲結構,為數據融合、路由協議以及目標定位等其他技術提供支撐。
WSN節點通常大規模部署并且具有隨機性、自組織性,網絡組織方式通常多種多樣,節點能量非常有限,因此,在設計無線傳感器網絡時,要提高路由協議和MAC協議的效率,延長網絡生存周期,一定要有一個良好的網絡拓撲結構。
目前主流的拓撲控制算法可分為:節點功率控制型和層次型拓撲控制型。
功率控制就是通過變化節點的發射功率來調整節點無線信號的覆蓋區域大小,在此基礎上調節網絡的拓撲結構,最終目的是提高整個網絡的連通性。
層次型拓撲控制主要采用的是分簇機制,將整個網絡劃分成若干區域形成多個簇,選出骨干節點構成骨干網進行數據轉發,而普通節點可擇機關閉不必要的模塊,以避免不必要的能量消耗。
2 典型的拓撲控制算法
2.1節點功率拓撲控制算法
LMA和LMN算法是基于節點度的算法,通過不斷的改變節點的發射功率來使得其度數處在一個合適的范圍,根據已經采集到的局部信息來調整鄰居節點之間的連通性,最終使整個網絡具有連通性。兩種算法的相同點是分步驟、周期性地調整節點的發射功率,不同點是它們有著不同的節點度數計算方法。
這兩種算法利用較少的局部信息就可確定節點功率的調節方式,而且對時鐘同步、傳感器節點要求均不高,但是在節點鄰居節點判斷上存在不足,所形成的網狀拓撲結構不僅增大了網絡復雜度,而且使網絡開銷增大了。
DRNG和DLMST算法是基于鄰近圖的拓撲控制算法,所有節點調整發射功率至最大化形成一個拓撲結構圖,再根據設定的鄰居判別規則得出該圖的鄰近圖,每個節點根據鄰居中最遠節點的距離來設定發射功率。
這兩種算法均以節點發射功率不一致為背景,基于鄰近圖RNG、最小生成樹LMST理論,用距離最遠的鄰居節點所需的發射功率為標準,有效解決了發射功率不一致的問題,并通過增加刪除操作來保證網絡拓撲的雙向連通。但是這兩個算法需要精確的定位信息。
2.2 層次型拓撲控制算法
LEACH是最早的也是較典型的基于均勻分簇的拓撲控制算法,簇首通過分布式選舉隨機生成,剩余節點作為簇內成員節點。在網絡運行中,簇首節點融合簇內所有節點的信息,以單跳方式發送至Sink節點。簇首節點和簇結構均周期性更新。
相對于傳統網絡,LEACH使用簇結構,能有效提高節點能量利用率和網絡壽命。但簇首節點和Sink節點之間的單跳通信可能因長距離數據傳輸而能耗過大;頻繁的簇重增加了額外的通信開銷;簇首節點的選擇未考慮節點地理位置、剩余能量等因素。
GAF是一種基于地理位置的分簇拓撲控制算法,首先將網絡劃分為固定數目的虛擬分區,節點將自身地理位置信息與虛擬網格中某個點關聯映射起來并計算自身所屬的分區,每個區域內選出一個節點在某一時間段內處于活動狀態來監測所在區域內的信息并報告數據給Sink節點。
GAF使得形成的簇結構更均勻,但是在選擇簇首時沒考慮節點的剩余能量,劃分單元格時,若節點間的一跳通信距離較小單元格會比較密集,而一跳通信距離較大分簇又比較稀疏,這樣的分簇反而會降低網絡的效率。
EEUC是一種分布式的、非均勻分簇算法,首先以概率T(由算法預先設定)在網絡中選出一些節點作為候選簇首節點。簇首由候選簇首節點競爭產生,其他節點在簇首選舉過程中處于休眠狀態,其中競爭半徑由候選簇首到Sink節點的距離決定。
EEUC將整個網絡分成規模各異的簇,簇的規模與離Sink節點的距離成反比,這樣有效降低了簇首通信代價,避免了“熱區”問題,延長了網絡周期。但EEUC單純的考慮距離而沒有考慮節點的剩余能量以及密度因素,而且沒有考慮簇首節點在簇內的位置,可能造成網絡能耗不均衡過早死亡的現象。
結語
本文介紹了WSN拓撲控制的分類和幾種經典的拓撲控制算法,分析了算法的優缺點。目前的大多數研究模型都比較理想化,沒有全面考慮實際應用中存在的問題,還有很多問題亟需進一步研究。未來拓撲控制研究的發展趨勢應為:結合多種機制且更接近實際情況,網絡的各種性能應被綜合考慮進來,拓撲控制的自適應性和魯棒性應有所提高。
摘要:
針對森林火災監控系統中無線傳感器網絡特點,建立了基于隨機幾何圖的加權網絡拓撲模型,連邊權重為體現節點通訊能耗的相異權。該模型不僅描述了節點間相互連接關系,還能體現節點間距離及通訊半徑對拓撲結構的影響,研究中利用復雜網絡分析方法對模型進行了驗證。此外,在此模型基礎上提出了拓撲優化算法。該算法在網絡連通的前提下,通過約束節點單跳可達鄰居數簡化了網絡結構。實驗結果表明,拓撲模型與實際網絡特性相符,拓撲優化算法能有效降低連邊密度,有利于簡化復雜的路由計算,延長網絡壽命。
關鍵詞:
森林火災監控;WSN;拓撲模型;拓撲優化
森林是人類賴以生存及社會發展最重要和不可缺少的資源。由于自然或人為因素導致森林火災時有發生,森林火災是破壞森林資源安全、威脅人類生存環境最為嚴重的災害之一。如何準確、高效地預防和發現火情已成為亟待解決的問題。森林地勢復雜,很多區域人員難以到達,不易進行人工和有線監測。因此,無線傳感器網絡(WSN)技術應用于森林火災監測具有廣闊的前景。森林面積廣闊,監測系統需要大量微型、廉價的傳感器節點,節點通過人工埋置或飛行器播撒的方式隨機部署,實時感知覆蓋區域內的溫度、煙霧濃度等火災信息,通過自組織網絡將采集到的數據傳遞給匯聚節點,匯聚節點將現場數據經Internet、移動通信網絡或衛星等途徑發送到控制中心,實現對森林火災的無線監測。與其他通信網絡相比,森林火災監測系統中采用的無線傳感器網絡具有網絡規模大、節點部署密集、網絡冗余度高、節點自身資源受限等特點。對于大規模的無線傳感器網絡而言設計良好的拓撲結構尤為重要,網絡拓撲是設計和組建網絡的第一步,也是實現各種協議的基礎。因此,如何建立更加符合實際網絡特性的拓撲模型是研究的前提。此外,由于傳感器節點部署具有很大的隨機性,節點的位置不可預測,初始的網絡拓撲很難滿足要求,需要進行優化控制。筆者主要針對森林火災監測系統中無線傳感器網絡的特點,構建網絡拓撲模型,并在此模型基礎上對網絡拓撲進行優化,為網絡性能的提高奠定基礎。
1WSN拓撲結構
1.1傳感器節點通信特性
無線信號在傳播過程中由于受環境因素的影響,信號強度會隨傳播距離的增加而衰減。依據自由空間傳播路徑損耗模型,距發射機為d處的平均接收功率Pr(d)可以表示為式(1)。Pt為發射天線輻射功率;Gt為發送天線的方向增益;Gr為接收天線的方向增益;λ為媒介中場的波長。為了保證節點直接通信,節點間距離d必須滿足d≤ΨPtPr,()th,其中Ψ=GtGrλ4[]π2,d稱為節點通信半徑。在布爾型全向感知模型中設節點i在二維平面上的坐標為xi=(xi,yi),節點感知半徑為ri,節點對于在坐標xj=(xj,yj)處任意節點j的感知概率可表示為式(2與j的距離。
1.2傳感器節點度分布
設有n個節點隨機分布于區域A內,網絡節點密度ρ=n/SA,SA表示區域A的面積。網絡中任意節點恰好位于區域B(其中BA)的概率為P=SBSA,隨機變量X表示恰好有m個節點位于區域B中的事件,則該隨機變量服從二項分布,由P=ρSBn可得式(3)由式(4)可知,當網絡節點數n很大時,傳感器節點度分布近似為泊松分布。
2WSN拓撲建模
2.1加權網絡拓撲模型
為了解決隨機圖對無線傳感器網絡拓撲建模存在的不足,研究中采用隨機幾何圖構建網絡拓撲模型。設傳感器節點的通信半徑與感知半徑相等,將無線傳感器網絡用隨機幾何圖描述,其中n為節點數,r為通信半徑。V={v1,v2,v3Λ,vN]表示網絡中節點集合,dij表示節點vi和vj間的距離,E={e1,e2,e3Λ,ew]V×V表示邊的集合。節點通信覆蓋范圍是以自身為圓心,r為半徑的圓盤區域,如式(5)所示。考慮節點間距離對網絡拓撲的影響,需要在網絡連邊上賦予權重。對于無線傳感器網絡,節點進行數據轉發時總是選取能耗最低的路徑。式(1)可知,自由空間模型下無線通信的能量消耗會隨著通信距離的增加而增長。因此,可以將d2ij作為權重賦予連邊eij,d2ij的大小可體現節點間進行數據轉發所消耗的能量。無線傳感器網絡的加權拓撲模型就可用相應的加權鄰接矩陣A=[aij]表示。其中,aij=f(xij)?g(dij),f(xij)為節點感知概率,g(dij)=d2ij。節點間距離越近權重越小,距離越遠權重越大,當兩點間無直接連接時權重為∞。
2.2實驗仿真
在100m×100m的區域內隨機部署200個傳感器節點,節點通信半徑為13m。網絡中所有節點均同質,具有相同的物理性質和通信半徑,節點采用布爾型全向感知模型。圖1為網絡拓撲結構。考慮到拓撲結構模型為加權網絡,因此主要分析節點度分布和節點強度分布,如圖2和圖3所示。研究結果表明,整個網絡節點度分布比較均勻,大量節點度集中在7~11之間,以平均度8.5為中心兩邊迅速下降,度值小于7或大于11的節點所占比例不足5%,近似泊松分布,與理論推導的結論相符。圖3顯示網絡節點強度分布比較均勻,大量節點的點強度集中于平均值附近,少量點的強度偏離均值。為了揭示無線傳感器網絡拓撲結構特性,將傳感器網絡拓撲模型統計特性與隨機網、小世界網和近鄰耦合網的統計特性進行了對比,表1給出了同等規模下不同
2.3結果討論
(1)所建立的拓撲模型中節點度分布均勻,近似為泊松分布,與理論計算結果相符。網絡節點度有界,這與節點感知范圍有限所導致的局部通信特性相一致。(2)通過計算發現,點強度與節點度不滿足s(k)≈<w>k的關系(<w>為網絡邊權平均值)而滿足s(k)≈Akβ的關系。其中β≈0.45、A≈32,表明網絡邊權與拓撲結構有關,與網絡模型構建中邊權的賦予方式相符。(3)與其他三類網絡相比,無線傳感器網絡拓撲結構具有較大的聚類系數,即網絡具有明顯的聚類效應,局部節點間的連接比較緊密,這符合傳感器網絡的本地化通信特點。
3拓撲控制
3.1拓撲優化算法
森林火災監測中需要大量的傳感器節點,為了保證網絡的連通及對被測區域的全覆蓋,網絡建立初期形成的拓撲結構具有較大的冗余。這樣既不利于節點能耗的降低,又會增加節點間通信干擾。因此,研究中提出了基于約束節點連邊數的稀疏網絡拓撲優化算法。算法中主要針對“度”大的節點邊數進行約束,選定節點后刪除與該節點相連的哪些邊是算法的關鍵,這就要求對節點在信息傳遞過程中的重要度進行評估。通常用度描述網絡節點的重要程度,但對于數據轉發的無線傳感器網絡,考慮某一節點對其他節點的影響力更為重要。而“介數”衡量的就是點對其他節點的影響程度。節點i介數L(i)是網絡中所有節點對之間通過該節點的最短路徑數占所有最短路徑數的比例,即L(i)=∑s≠t≠iσst(i)σst。其中,s.t是網絡中的節點對,σst是從s到t的所有最短路徑的總和,σst(i)表示通過節點i的所有最短路徑數。顯然,在討論無線傳感器網絡數據流通時,介數比節點度能夠更好地評價節點的重要程度。因此,研究中將介數作為衡量節點重要度的指標,以此來確定所要刪除的連邊。具體算法如下:(1)隨機部署節點,設置通信半徑保證網絡連通,初步形成網絡拓撲;(2)選取節點i進行連邊約束,節點被選中的概率與其節點度d成正比;(3)確定與被選節點i相連的所有鄰居節點集合V={vj|aij≠0],在集合V內選取ρd個節點,在集合V內節點介數越小被選中的概率越大(其中ρ為刪邊比例,d為節點i的度);(4)確定節點i及其鄰居節點j后,判斷二者的連邊是否唯一,如果唯一,放棄該鄰居節點返回第3步,在集合V中重新選取,如果不唯一刪除連邊eij;(5)返回第2步,重復上述過程。
3.2算法仿真
實驗中網絡參數設置如下:節點數為200,分布區域面積10000m2,節點通信半徑為14m。圖4為初始網絡拓撲,圖5為對節點度進行約束后得到的稀疏網絡拓撲。表2為拓撲優化前后網絡結構測度的對比。可以看出,網絡連邊密度降低了41.5%,節點平均度減少了41.5%,而網絡的平均最短路徑只增加了14.8%。優化后的拓撲既簡化了網絡結構又保證了網絡的連通,將有利于路由的簡化和網絡生存周期的延長。
4結論
為了滿足森林火災監控的需求,無線傳感器網絡被廣泛應用。森林火災監控系統中無線傳感器網絡具有網絡規模大、節點部署隨機、結構冗余度高、節點自身資源受限等特點。結合這些特點,筆者建立了基于隨機幾何圖的無線傳感器網絡拓撲模型。該模型不僅可以描述傳感器節點間相互連接關系,還可以體現節點間距離及通訊半徑對網絡拓撲結構的影響。此外,在此模型基礎上對網絡拓撲進行了優化,以度和介數作為節點重要程度的衡量指標,提出了稀疏網絡拓撲優化算法,通過該算法對網絡的冗余鏈路進行適當地刪減,降低了網絡連邊密度,在保證網絡連通的情況下實現網絡結構的簡化,有利于簡化復雜的路由計算,降低節點間通信干擾,延長網絡生存周期。
作者:任月清 齊利曉 楊國慶 單位:天津城建大學