一種無線傳感器網絡的高效自組網路由方法
【專利摘要】本發明提供一種無線傳感器網絡的高效自組網路由方法,包括微通站、路由節點和傳感器節點構成的樹形路由,該方法包括如下步驟a)根據所述路由節點到所述微通站需要消耗的能量、路由節點剩余能量和掛載在本路由節點的傳感器節點數量來產生權值,動態產生、更新路由表,形成一個處理并轉發數據的主干網絡;b)根據所述傳感器節點到所述路由節點需要消耗的能量、路由節點管理的子網規模來產生權值,動態產生、更新路由表,形成一個收集并轉發數據的子網絡,本發明有效改善路由系統的能量效率和數據傳輸的效率。
【專利說明】一種無線傳感器網絡的高效自組網路由方法
所屬【技術領域】
[0001]本發明涉及一種路由方法,特別地,是一種基于無線傳感器的路由建立方法。
【背景技術】
[0002]隨著無線技術的不斷發展,陸續出現多了多種無線通信標準,作為通信標準之一 的Zigbee為無線傳感器網絡的發展奠定了技術基礎。基于Zigbee標準的無線傳感器網絡 可以采用星型、樹型和網狀等拓撲結構。在實際應用中,根據不同的應用場景。可以采用不 同的拓撲結構,小型網絡常采用星型拓撲結構,這種結構易擴展、易維護、易管理,但是中心 節點壓力大,一旦中心節點出錯,網絡就會癱瘓。最常采用的是樹型拓撲結構,這種結構連 接容易、管理簡單而且維護方便,它有利于在通信時實現父子節點之間的同步,減少節點的 功率消耗,但是這種結構一旦路由節點出錯,子網絡就會癱瘓。網狀網,這種結構容錯性強, 沒有固定路徑,一條路徑出錯,可以動態選擇最優路徑,但是它的可擴展性差,網絡規模擴 張后,路由算法是最大瓶頸,路由選擇會消耗過多的能量。
【發明內容】
[0003]為了解決上述問題,本實的目的在于提供一種用于無線傳感器網絡的高效自組網 路由方法,該路由方法,在路由節點出錯時,使用類似網狀拓撲的路由算法重新生成最優路 徑,有效改善路由系統的能量效率和數據傳輸的效率。
[0004]本發明解決其技術問題所采用的技術方案是:
[0005]一種無線傳感器網絡的高效自組網路由方法,包括以下步驟:
[0006]包括微通站、路由節點和傳感器節點構成的樹形路由,所述微通站和至少一個所 述路由節點組成一個樹型主干網絡,所述微通站管理整個網絡并生成網絡拓撲;所述主干 網絡中的路由節點和至少一個所述傳感器節點組成子網絡,所述路由節點作為所述子網絡 的管理節點,所述微通站生成整個網絡的拓撲,所述微通站接收到拓撲數據幀,提取出拓撲 數據幀中的路由表信息;判斷拓撲結構中是否已經有該節點信息,如否,則直接插入該拓撲 結構中,如是,則先刪除原有拓撲結構中的信息,在添加新的拓撲信息,所述方法包括以下 步驟:
[0007]a)根據所述路由節點到所述微通站需要消耗的能量、路由節點剩余能量和掛載在 本路由節點的傳感器節點數量來產生權值,動態產生、更新路由表,形成一個處理并轉發數 據的主干網絡,本步驟具體執行步驟如下:
[0008]11.所述微通站啟動后定時發送心跳數據幀;
[0009]所述傳感器節點需要發送收集到的數據時,所述路由節點或傳感器節點判斷所述 主干網絡是否建立,若建立則向路由網絡發送數據幀,否則進入下一步驟;
[0010]13.所述路由節點若接收到路由節點發送的心跳數據幀或微通站的心跳數據幀, 則進入下一步驟,否則進入休眠狀態,繼續監聽信道,等待路由或微通站的心跳數據幀;
[0011]14.所述路由節點從心跳數據幀中提取路由節點的剩余能量、子網規模和到該路由節點需要的能量,若不是第一次接收到路由信息,進入下一步驟,否則創建路由表,填充路由信息,并發送請求入網數據幀;
[0012]15.所述路由節點判斷心跳數據幀中數據是否優于原路由表中的數據,選擇最優者,若不修改路由信息,則丟棄該心跳數據幀,若修改路由表,則發送退網數據幀給原來的路由節點,再發送請求入網數據幀給最優路徑的路由節點;
[0013]16.所述路由節點或微通站接收到入網數據幀、退網數據幀后,更新子網管理表。
[0014]所述的主干網絡的節點運行過程中,動態產生、更新各路由節點路由表的步驟為:
[0015]步驟101、所述路由節點已入網正常工作后,接收到心跳數據幀,提取出心跳數據幀的源地址,判斷源地址是否是傳感器節點的地址,若是,則丟棄該心跳數據幀,若否,則進入下一步驟;
[0016]步驟102、所述路由節點接收到心跳數據幀后,判斷源地址是否在所述路由節點的主干網管理表中,若是,則修改主干網管理表,記錄該節點來過心跳數據巾貞,若否,則進入下
一步驟;
[0017]步驟103、所述路由節點從心跳數據幀中提取路由節點的剩余能量、子網規模和到該路由節點需要的能量,通過上述三項數據計算出的一個權值,判斷計算出的權值是否優于原路由表中的數據,選擇最優者,若不修改路由信息,丟棄該數據幀,若修改路由表,則發送退網數據幀給原來的路由節點,再發送請求入網數據幀給最優路徑的路由節點。
[0018]b)根傳所述傳感器節點到所述路由節點需要消耗的能量、路由節點管理的子網規模來產生權值,動態產生、更新路由表,形成一個收集并轉發數據的子網絡,本步驟具體執行步驟如下:
[0019]21.傳感器節點啟動后,判斷是否已經入網,若沒入網則進入下一步,否則收集傳感器信息,生成數據幀,發送給路由節點;
[0020]22.傳感器節點廣播申請入網數據幀,啟動一個定時器,并監聽信道,若有數據幀到來時,判斷是否是路由回復數據幀,若是則進入下一步,若不是繼續監聽;
[0021]23.所述傳感器節點從路由節點或微通站回復的數據幀中提取路由信息,判斷發送數據給該路由節點需要消耗的能量,若不是第一次接收到路由回復數據幀,則進入下一步,否則創建路由表,填充路由信息,并發送請求入網數據幀;
[0022]24.所述傳感器節點判斷所述傳感器節點到達路由節點需要消耗的能量是否優于原來的路徑,若不是,則丟棄該數據幀,若是,則修改路由表,發送請求入網數據幀給新路由節點,確認入網后,再發送退網數據幀給原路由節點;
[0023]25.所述路由節點接收到請求入網數據幀后,判斷子網管理表中是否已經有該路由節點或傳感器節點的信息,若無,則插入該節點信息,若有,丟棄該數據幀,并發送確認入網數據幀;
[0024]26.所述路由節點接收到退網數據幀后,判斷子網管理表中是否有該節點的信息,若無,則丟棄該數據幀,若有,則刪除該節點信息,并發送確認退網數據幀。
[0025]方法步驟a)是路由組網過程,主要目標是組建主干網絡并保證全局拓撲最優。方法步驟b)是傳感器節點組網過程,主要目標是組建子網絡并保證局部傳輸最優。當傳感器節點出現故障時,處理方案具體步驟:[0026]31.路由節點查詢子網管理表,判斷時間t內,子網管理表的傳感器節點是否未發 送心跳數據幀,若無,則沒有故障節點,如有,則該傳感器節點出現故障或者掛載到別的路 由節點下,發送所述傳感器節點出錯數據幀給微通站;
[0027]32.所述微通站接收到節點出錯數據后,提取出錯傳感器節點ID,查詢網絡拓撲 結構,判斷出錯的傳感器節點是否掛載到了別的路由下,若無,則傳感器節點出錯,產生報 警給維護人員,若有,則所述傳感器節點掛載到了別的路由節點下,微通站發送反饋信息給 剛才報錯的路由節點;
[0028]33.路由節點接收到報錯回復后,修改子網管理表。
[0029]所述的子網絡中節點運行過程中,動態產生、更行傳感器節點路由表的步驟為:
[0030]步驟201、所述傳感器節點已入網正常工作后,接收到心跳數據幀,提取出心跳數 據幀的源地址,判斷源地址是否是路由節點,若否,則丟棄該心跳數據幀,若是,則轉到下一
I K
少;
[0031]步驟202、所述傳感器節點從心跳數據幀中提取路由節點的剩余能量、子網規模和 到該路由節點需要的能量,通過上述三項數據計算出的一個權值,判斷計算出的權值是否 優于原路由表中的數據,選擇最優者,若不修改路由信息,丟棄該數據幀,若修改路由表,則 發送退網數據幀給原來的路由節點,再發送請求入網數據幀給最優路徑的路由節點;
[0032]本發明的優點在于:
[0033]第一,提高了傳統樹型網絡的規模可拓展性;第二,采用了改進的樹型路由協議, 提高了最優路徑的性能,降低了路由在構建路由表時的能量開銷;第三,采用分層結構,同 一子網內采用同步傳輸機制,降低了層次之間傳輸的碰撞率。
【專利附圖】
【附圖說明】
[0034]圖1是本發明一具體實施方案的網絡結構示意圖;
[0035]圖2是本發明具體實施方案中組網流程圖,
【具體實施方式】
[0036]下面結合附圖和實施例對本發明進一步說明:
[0037]在本實施例中,如圖1,組建了一個無線傳感器網絡,包括微通站、路由節點和傳感 器節點構成的樹形路由,所述微通站和路由節點組成一個樹型主干網絡,所述微通站管理 整個網絡并生成網絡拓撲;所述主干網絡中的路由節點和傳感器節點組成子網絡,所述路 由節點作為所述子網絡的管理節點,其中I為微通站,2、3、4、6和7是路由節點,5、8-12是 傳感器節點:
[0038]步驟a、所述微通站I啟動后,根據網絡規模參數,初始化子網管理表,初始化網絡 拓撲結構,設置主網絡號為0,并將主網絡號以及網絡參數寫入心跳數據幀中,發送出去,后 休眠;
[0039]步驟b、未入網的路由節點2、3、4、6、7(路由節點6、7由于距離因素,接收到微通 站I的信號較弱)啟動后先初始化節點,再監測信道,接收到來至微通站I的數據幀后,提 取出數據幀中網絡參數,與本節點的路由參數進行比對,判斷是否需要更新最優路徑,如果 是,則發送入網請求給微通站I ;微通站I根據網絡規模參數、本節點掛載節點數量和網絡傳輸能耗,判斷是否接收該發送請求的設備,如果接收,則向它發送一個確認入網信號,如果不接受,則發送拒絕響應;
[0040]步驟C、步驟b中路由節點6、7因為距離微通站I距離較遠,信號較弱,接收不到微通站I發來的心跳數據幀,所以進過步驟b后不能入網,再2、3和4節點,接收到確認入網信號后,修改本節點的路由表,填充網絡參數,再發送心跳數據幀。此時路由節點6會接收到節點2、3兩個心跳數據幀,提取出其中的路由信息后,選擇最優路徑,發送入網請求給最優路徑的下一跳路由2,路由2接收到入網請求,判斷是否接收節點6的請求,如果接收發送確認入網信號,如果不接受,則發送拒絕入網信號。節點6接收到2的確認入網信號后,修改路由表,并發送心跳數據幀;
[0041]步驟d、傳感器節點5、8_12節點啟動后,先初始化,再監聽信道,如果接收到路由節點發送的心跳數據幀后,提取出數據幀中的路由信息,判斷是否是接收到的第一個路由心跳數據幀,如是,則發送請求入網信息,如否,則判斷路由信息是否優于自身路由表中的路徑,選擇最優者,如是,則發送請求入網信息給發送該數據幀的路由,如否,則丟棄該包。路由接收到傳感器節點的入網請求數據幀后,根據網絡規模參數、本路由已掛載節點數量和網絡傳輸能耗,判斷是否接收該發送請求的設備,如是,則向它發送一個確認入網信號,并修改子網管理表,如否,則發送拒絕響應。傳感器節點接收到確認入網信號后,修改路由表,發送心跳數據幀后,進入休眠;
[0042]步驟e、網絡中所有節點休眠醒來后,先判斷是否入網,如否,則繼續監聽信道,如是,則監測環境一氧化碳的濃度,判斷是否超過警戒線,如是,則發送報警數據幀,如否,則判斷是否需要發送心跳數據巾貞,如是,則發送心跳數據巾貞,如否,則進入休眠。路由節點接收到報警數據幀后,修改數據幀中的路由信息,發送給上一層路由,直到發送給微通站1,微通站1,接收到報警數據幀后,通過廣域網向手持終端、微通站或者管理中心報警;
[0043]步驟f、路由節點使用定時器,每tl時間檢查子網管理表,判斷在t2時間內是否有節點未發送心跳數據幀,如否,則休眠,如是,則發送出錯數據幀給微通站1.微通站I接收至拙錯數據幀后,查詢網絡拓撲,判斷該節點是否出錯,若否,則節點掛載到了別的路由下,發送節點未出錯信號,若是,則通過廣域網向手持終端、微通站或者管理中心發出有節點出錯,需要維護。
[0044]如圖2,是整個無線傳感器網絡的組網流程圖,所述無線傳感器網絡以此進行邏輯處理。
[0045]以上所述僅為本發明的較佳實施例,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【權利要求】
1.一種無線傳感器網絡的高效自組網路由方法,包括微通站、路由節點和傳感器節點構成的樹形路由,所述微通站和至少一個所述路由節點組成一個樹型主干網絡,所述微通站管理整個網絡并生成網絡拓撲;所述主干網絡中的路由節點和至少一個所述傳感器節點組成子網絡,所述路由節點作為所述子網絡的管理節點,其特征在于,包括以下步驟:a)根據所述路由節點到所述微通站需要消耗的能量、路由節點剩余能量和掛載在本路由節點的傳感器節點數量來產生權值,動態產生、更新路由表,形成一個處理并轉發數據的主干網絡;b)根據所述傳感器節點到所述路由節點需要消耗的能量、路由節點管理的子網規模產生權值,動態產生、更新路由表,形成一個收集并轉發數據的子網絡。
2.根據權利要求1所述的一種無線傳感器網絡的高效自組網路由方法,其特征在于, 所述步驟a)具體為:步驟11、所述微通站啟動后定時發送心跳數據幀;步驟12、所述傳感器節點需要發送收集到的數據時,所述路由節點或傳感器節點判斷所述主干網絡是否建立,若建立則向路由網絡發送數據幀,否則進入下一步驟;步驟13、所述路由節點若接收到路由節點發送的心跳數據幀或微通站的心跳數據幀, 則進入下一步驟,否則進入休眠狀態,繼續監聽信道,等待路由或微通站的心跳數據幀;步驟14、所述路由節點從心跳數據幀中提取路由節點的剩余能量、子網規模和到該路由節點需要的能量,若不是第一次接收到路由信息,進入下一步驟,否則創建路由表,填充路由信息,并發送請求入網數據幀;步驟15、所述路由節點判斷心跳數據幀中數據是否優于原路由表中的數據,選擇最優者,若不修改路由信息,則丟棄該心跳數據幀,若修改路由表,則發送退網數據幀給原來的路由節點,再發送請求入網數據幀給最優路徑的路由節點;步驟16、所述路由節點或微通站接收到入網數據幀、退網數據幀后,更新子網管理表。
3.根據權利要求2所述的·一種無線傳感器網絡的高效自組網路由方法,其特征在于, 所述步驟a)中所述的主干網絡的節點運行過程中,動態產生、更新各路由節點路由表的步驟為:步驟101、所述路由節點已入網正常工作后,接收到心跳數據幀,提取出心跳數據幀的源地址,判斷源地址是否是傳感器節點的地址,若是,則丟棄該心跳數據幀,若否,則進入下一步驟;步驟102、所述路由節點接收到心跳數據幀后,判斷源地址是否在所述路由節點的主干網管理表中,若是,則修改主干網管理表,記錄該節點來過心跳數據幀,若否,則進入下一步驟;步驟103、所述路由節點從心跳數據幀中提取路由節點的剩余能量、子網規模和到該路由節點需要的能量,通過上述三項數據計算出的一個權值,判斷計算出的權值是否優于原路由表中的數據,選擇最優者,若不修改路由信息,丟棄該數據幀,若修改路由表,則發送退網數據幀給原來的路由節點,再發送請求入網數據幀給最優路徑的路由節點。
4.根據權利要求1所述的一種無線傳感器網絡的高效自組網路由方法,其特征在于, 所述步驟b)具體為:步驟21、傳感器節點啟動后,判斷是否已經入網,若沒入網則進入下一步,否則收集傳感器信息,生成數據幀,發送給路由節點; 步驟22、傳感器節點廣播申請入網數據幀,啟動一個定時器,并監聽信道,若有數據幀到來時,判斷是否是路由回復數據幀,若是,則進入下一步,若不是,則繼續監聽; 步驟23、所述傳感器節點從路由節點或微通站回復的數據幀中提取路由信息,判斷發送數據給該路由節點需要消耗的能量,若不是第一次接收到路由回復數據幀,則進入下一步,否則創建路由表,填充路由信息,并發送請求入網數據幀; 步驟24、所述傳感器節點判斷到達路由節點需要消耗的能量是否優于原來的路徑,若不是,則丟棄該數據幀,若是,則修改路由表,發送請求入網數據幀給新路由節點,確認入網后,再發送退網數據幀給原路由節點; 步驟25、所述路由節點接收到請求入網數據幀后,判斷子網管理表中是否已經有傳感器節點的信息,若無,則插入該節點信息,若有,丟棄該數據幀,并發送確認入網數據幀;步驟26、所述路由節點接收到退網數據幀后,判斷子網管理表中是否有該節點的信息,若無,則丟棄該包,若有,則刪除該節點信息,并發送確認退網數據幀。
5.根據權利要求4所述的一種無線傳感器網絡的高效自組網路由方法,其特征在于,所述步驟b)中所述的子網絡中節點運行過程中,動態產生、更行傳感器節點路由表的步驟為: 步驟201、所述傳感器節點已入網正常工作后,接收到心跳數據幀,提取出心跳數據幀的源地址,判斷源地址是否是路由節點,若否,則丟棄該心跳數據幀,若是,則轉到下一步;步驟202、所述傳感器節點從心跳數據幀中提取路由節點的剩余能量、子網規模和到該路由節點需要的能量,通過上述三項數據計算出的一個權值,判斷計算出的權值是否優于原路由表中的數據,選擇最優者,若不修改路由信息,丟棄該數據幀,若修改路由表,則發送退網數據幀給原來的路由節點,再發送請求入網數據幀給最優路徑的路由節點。
6.根據權利要求4所述的一種無線傳感器網絡的高效自組網路由方法,其特征在于,所述步驟b)中的所述子網絡中的傳感器節點發生故障后運行的步驟為: 步驟31、路由節點查詢子網管理表,判斷時間t內,子網管理表的傳感器節點是否未發送心跳數據幀,若無,則沒有故障節點,如有,則該傳感器節點出現故障或者掛載到別的路由節點下,發送所述傳感器節點出錯數據幀給微通站; 步驟32、所述微通站接收到節點出錯數據后,提取出錯傳感器節點ID,查詢網絡拓撲結構,判斷出錯的傳感器節點是否掛載到了別的路由下,若無,則傳感器節點出錯,產生報警給維護人員,若有,則所述傳感器節點掛載到了別的路由節點下,微通站發送反饋信息給剛才報錯的路由節點; 步驟33、路由節點接收到報錯回復后,修改子網管理表。
【文檔編號】H04W84/18GK103582065SQ201210266849
【公開日】2014年2月12日 申請日期:2012年7月31日 優先權日:2012年7月31日
【發明者】李春杰, 王子龍, 張曉宇, 李希洋, 唐曉偉, 劉瀟 申請人:中國科學技術大學蘇州研究院