無線傳感器網(wǎng)絡拓撲的監(jiān)控與維護
本文采用延時判斷的方式,即當檢測到失步現(xiàn)象發(fā)生后,先定時一段時間,冉做判斷:如果定時一段時間后,節(jié)點仍舊失去聯(lián)系,則判定是真的丟失了節(jié)點,此時可通過NLMELeaveReq移除子節(jié)點,同時上報網(wǎng)關節(jié)點丟失的消息;否則認為只是暫時的節(jié)點失步。節(jié)點退出情況的處理流程如圖6所示。
由網(wǎng)絡各個路由上報的節(jié)點加入或退出的信息最終將存網(wǎng)關匯集,網(wǎng)關按照上報的節(jié)電加入、退出信息對網(wǎng)絡拓撲存儲關聯(lián)表進行添加、刪除、更新,以維護當前網(wǎng)絡拓撲狀態(tài)。其具體方法是先判斷接收信息的種類,然后對節(jié)點加入信息和節(jié)點退出信息分別處理。對于加入信息,可核查是否是已經(jīng)存在于網(wǎng)絡中的點,如果是已經(jīng)存在的,則更新存儲的節(jié)點信息;如果是一個全新的點,則為該節(jié)點分配存儲空間,并在對應的父節(jié)點下增添子節(jié)點分支。對于退出信息,同樣核查是否是存在于網(wǎng)絡中的點,如果該節(jié)點已經(jīng)不存在了,則報錯處理;
如果是存在的點,則將該節(jié)點信息刪除,并解除與其父節(jié)點的父子聯(lián)系。
網(wǎng)關在接收到由父節(jié)點上報的節(jié)點加入消息時,還需要對加入子節(jié)點類型進行判斷;如果是終端節(jié)點,則在其父節(jié)點的鏈表中更新或加入該子節(jié)點的相關信息;如果加入節(jié)點是路由節(jié)點,除了在該路由節(jié)點父節(jié)點的鏈表中加入該子節(jié)點信息外,還要添加該子路由關聯(lián)頭信息。圖7所示是實現(xiàn)網(wǎng)絡拓撲維護管理的示意圖。
評論