無線傳感器網(wǎng)絡(luò)拓?fù)涞谋O(jiān)控與維護
在同一條數(shù)據(jù)通路上的節(jié)點進行數(shù)據(jù)轉(zhuǎn)發(fā)時,數(shù)據(jù)傳遞路徑上的各個節(jié)點都會發(fā)現(xiàn)其父節(jié)點(數(shù)據(jù)由下而上)或者子節(jié)點(數(shù)據(jù)由上而下)的丟失,進而調(diào)用void ZDOSynclndicationCB(byte type,uint16 shortAddr)函數(shù)。如圖4所示,如果網(wǎng)關(guān)發(fā)送數(shù)據(jù)到終端節(jié)點1,則在網(wǎng)關(guān)到終端節(jié)點1數(shù)據(jù)路徑上的所有節(jié)點(網(wǎng)關(guān)、路由1、路由2、終端1)都能夠發(fā)現(xiàn)其了節(jié)點的丟失;終端節(jié)點1發(fā)送數(shù)據(jù)到網(wǎng)關(guān),則路徑1上的所有節(jié)點都能發(fā)現(xiàn)其父節(jié)點的丟失。
該方法通過建立數(shù)據(jù)通路上起始節(jié)點和末端節(jié)點的數(shù)據(jù)通訊來實現(xiàn)整條路徑上節(jié)點丟失情況的獲取。其具體操作過程分為兩個部分:其一是父節(jié)點丟失情況的獲取。由前面提到的實施條件可知,終端節(jié)點無需任何人為操作就能夠發(fā)現(xiàn)其父節(jié)點的丟失,而無需對此部分做特殊處理,因而只需對路由節(jié)點做出處理。而由路由葉子節(jié)點(如圖4中路由節(jié)點2、4)向網(wǎng)關(guān)發(fā)送數(shù)據(jù)時,則可實現(xiàn)整條路徑上所有節(jié)點丟失情況的獲取。其二是了節(jié)點丟失情況的獲取。子節(jié)點丟失的獲取可以通過網(wǎng)關(guān)向葉子節(jié)點(圖4中所有終端節(jié)點和路由4)發(fā)送數(shù)據(jù)的方法來覆蓋整個網(wǎng)絡(luò)中的所有節(jié)點,從而使全部節(jié)點都能夠發(fā)現(xiàn)其了節(jié)點的丟失情況。
人為加入上述兩部分?jǐn)?shù)據(jù)通訊后,只要整個網(wǎng)絡(luò)中有節(jié)點丟失,該丟失節(jié)點的父節(jié)點和子節(jié)點都會產(chǎn)生失步函數(shù)voidZDO_SyncIndicat ionCB(byte type,uint16 shortAddr)的調(diào)用,這樣就可以簡單地在該函數(shù)中添加向上層應(yīng)用報告的功能,實現(xiàn)網(wǎng)絡(luò)中節(jié)點丟失信息獲取。并且數(shù)據(jù)通訊量由原來的28條減少到6條,從而大大減少了數(shù)據(jù)消耗和由此帶來的系統(tǒng)資源占用。
3 網(wǎng)絡(luò)維護
Z-stack協(xié)議棧在全功能節(jié)點中只維護與本節(jié)點直接關(guān)聯(lián)的節(jié)點信息的關(guān)聯(lián)表,沒有整體網(wǎng)絡(luò)信息的存儲功能。為了解決Z-stack關(guān)于網(wǎng)絡(luò)全貌信息缺失的缺陷,結(jié)合本文提出的網(wǎng)絡(luò)監(jiān)控方法,設(shè)計一種維護的方法,在占用少量資源的情況下獲取整個網(wǎng)絡(luò)的拓?fù)湫畔?,并將信息整合到網(wǎng)關(guān)節(jié)點中統(tǒng)一維護和管理,從而建立網(wǎng)絡(luò)拓?fù)涞墓芾磙k法,實現(xiàn)具有自組織、自適應(yīng)能力的智能網(wǎng)絡(luò)管理機制。
3.1 管理模式
網(wǎng)絡(luò)信息管理可采用搜集模式和監(jiān)控模式相結(jié)合的方式。搜集模式通過發(fā)送指令搜集網(wǎng)絡(luò)拓?fù)湫畔?,賦予用戶即時獲取當(dāng)前網(wǎng)絡(luò)結(jié)構(gòu)的能力;監(jiān)控模式通過監(jiān)控從網(wǎng)絡(luò)組建起歷史網(wǎng)絡(luò)的結(jié)構(gòu)變化,實現(xiàn)網(wǎng)絡(luò)拓?fù)湫畔⒏?,從而整合為?dāng)前網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
搜集模式在實現(xiàn)時,首先由網(wǎng)關(guān)設(shè)備廣播一個命令來搜集設(shè)備信息;然后,收到廣播信息的路由節(jié)點再按照一定的數(shù)據(jù)格式,由網(wǎng)關(guān)返回子節(jié)點關(guān)聯(lián)信息;當(dāng)網(wǎng)關(guān)收到各個路由節(jié)點的返回信息后,再將其組合為整個網(wǎng)絡(luò)中的設(shè)備信息。
監(jiān)控模式則是從網(wǎng)絡(luò)形成起,網(wǎng)關(guān)節(jié)點就開始監(jiān)控所有節(jié)點的狀態(tài);當(dāng)路由節(jié)點檢測到其子節(jié)點加入或者退出的時候,向網(wǎng)關(guān)上報該子節(jié)點的狀態(tài)變化信息,而網(wǎng)關(guān)節(jié)點檢測到子節(jié)點加入或者退出則不用上報,直接在網(wǎng)關(guān)內(nèi)部處理;當(dāng)網(wǎng)關(guān)接收到路由節(jié)點上報的狀態(tài)信息后,就會刪除或者增加該路由子節(jié)點的關(guān)聯(lián)信息,同時更新整體網(wǎng)絡(luò)結(jié)構(gòu)。
3.2 網(wǎng)絡(luò)拓?fù)浯鎯Y(jié)構(gòu)
網(wǎng)關(guān)節(jié)點作為整個網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)管理的中心,負(fù)責(zé)拓?fù)浣Y(jié)構(gòu)的添加、刪除和更新,因此,必須在網(wǎng)關(guān)節(jié)點存儲整體的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)信息。受網(wǎng)關(guān)資源的限制,本文采用分級動態(tài)鏈表的形式保存網(wǎng)絡(luò)拓?fù)湫畔ⅲ员阋暂^少的資源占用實現(xiàn)拓?fù)湫畔⒌膭討B(tài)存儲。本設(shè)計的網(wǎng)絡(luò)拓?fù)浯鎯Y(jié)構(gòu)如圖5所示。
圖5中,AssocLisHead是裝載路由節(jié)點頭信息的數(shù)組,包含有該路由節(jié)點的長地址、短地址、父節(jié)點短地址和擁有的子節(jié)點數(shù)以及指向其子節(jié)點鏈表assoc list的頭指針;assoclist鏈表中記載著這一路由下的了節(jié)點信息,包括子節(jié)點的短地址、長地址、類型、連接狀態(tài)等。在該路由下每增加一個子節(jié)點,就會在assoc list鏈表中添加一個節(jié)點信息,當(dāng)節(jié)點離開時,又會將相對應(yīng)的鏈表刪除。這樣,網(wǎng)關(guān)就可以方便地對當(dāng)前網(wǎng)絡(luò)中的昕有節(jié)點的拓?fù)浜拖嚓P(guān)信息進行查找、更新、維護。
3.3 網(wǎng)絡(luò)維護方案
網(wǎng)絡(luò)維護的實施要建立網(wǎng)絡(luò)中所有類型節(jié)點間的區(qū)分與協(xié)作機制。區(qū)分是根據(jù)節(jié)點類型的不同、事件類型的不同做出區(qū)別處理;協(xié)作是在所有節(jié)點間建立連動響應(yīng)機制,相互配合,并實現(xiàn)信息的匯聚和統(tǒng)一管理。具體的網(wǎng)絡(luò)維護分為事件響應(yīng)和信息維護兩部分。
3. 3. 1 拓?fù)渥兓录捻憫?yīng)
拓?fù)渥兓饕侵腹?jié)點加入事件和節(jié)點退出事件。當(dāng)節(jié)點加入事件是指節(jié)點加入網(wǎng)絡(luò)時,其父節(jié)點負(fù)責(zé)將該子節(jié)點加入信息上報網(wǎng)關(guān);節(jié)點退出事件則是指獲取到的網(wǎng)絡(luò)節(jié)點丟失信息的處理。處理可分為兩種情況:一種是當(dāng)傳遞來的type=1時,即丟失節(jié)點為本節(jié)點的父節(jié)點時,開啟網(wǎng)絡(luò)加入流程,使節(jié)點可以重新加入網(wǎng)絡(luò),并恢復(fù)網(wǎng)絡(luò)的正常運行;第二種情況是type=0時,即本節(jié)點發(fā)現(xiàn)其中一子節(jié)點丟失。本方法對于長時間無法連接的子節(jié)點,將啟動移除(LEAVE)流程,將該子節(jié)點從網(wǎng)絡(luò)中刪除,同時向網(wǎng)關(guān)節(jié)點報告子節(jié)點退出的消息。
需要注意的是:當(dāng)子節(jié)點丟失時,有的時候是真正丟失了(長時間或永久無法連接),但更多的時候只是暫時地失去聯(lián)系,隨著子節(jié)點的重新加入申請,又可以加入網(wǎng)絡(luò),恢復(fù)正常的運行狀態(tài)。因此,設(shè)計時需要將暫時失步和真正丟失這兩種情況區(qū)分開,再分別做出合理的處理。
評論