專利名稱:一種能夠局部按需建簇的無線傳感器網(wǎng)絡(luò)路由方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種應(yīng)用于無線傳感器網(wǎng)絡(luò)的路由方法,更特別地說,是指一種能夠 局部按需建簇并進行簇首更新的路由方法。
背景技術(shù):
無線傳感器網(wǎng)絡(luò)綜合了傳感器技術(shù)、嵌入式計算技術(shù)、分布式信息處理技術(shù)和通 信技術(shù),能夠協(xié)作地實時監(jiān)測、感知和采集網(wǎng)絡(luò)分布區(qū)域內(nèi)的各種環(huán)境或監(jiān)測對象的 信息,并對這些信息進行處理,獲得詳盡而準確的信息,傳送到需要這些信息的用戶。 無線傳感器網(wǎng)絡(luò)可以使人們在任何時間、地點和任何環(huán)境條件下獲取大量詳實而可靠 的信息,因此,這種網(wǎng)絡(luò)系統(tǒng)可以被廣泛地應(yīng)用于國防軍事、國家安全、環(huán)境監(jiān)測、 交通管理、醫(yī)療衛(wèi)生、制造業(yè)、反恐抗災(zāi)等領(lǐng)域。
無線傳感器網(wǎng)絡(luò)中節(jié)點的能量資源、計算能力和帶寬都非常有限,而且無線傳感 器網(wǎng)絡(luò)通常由大量密集的傳感節(jié)點構(gòu)成,這些節(jié)點通常安置在人類無法進入的環(huán)境。 這就決定了無線傳感器網(wǎng)絡(luò)協(xié)議棧各層的設(shè)計都必須以能源有效性為首要的設(shè)計要 素。無線傳感器網(wǎng)絡(luò)的路由技術(shù)是無線傳感器網(wǎng)絡(luò)領(lǐng)域的研究熱點,目前,也已經(jīng)有 很多適用于無線傳感器網(wǎng)絡(luò)的路由協(xié)議/方法。比如,基于距離矢量的按需路由 AODV (Ad hoc On Demand Distance Vector)協(xié)議,它需要發(fā)送數(shù)據(jù)的節(jié)點通 過路由請求報文RREQ建立路由路徑之后,發(fā)送數(shù)據(jù),它是一種平面式的路由方式; 分簇路由協(xié)議,它是將傳感器網(wǎng)絡(luò)分成若干個局部區(qū)域,即所謂的簇, 一個簇中有一 個簇首,當(dāng)簇內(nèi)的任意一個節(jié)點要發(fā)送數(shù)據(jù)時,都首先發(fā)送給簇首,再由簇首節(jié)點進 行轉(zhuǎn)發(fā),它是一種層次式的路由方式。
在分簇路由協(xié)議中,由于簇首節(jié)點需要轉(zhuǎn)發(fā)簇內(nèi)所有節(jié)點的數(shù)據(jù),因此,簇首節(jié) 點的能量消耗就比非簇首節(jié)點大得多,因此,在分簇路由協(xié)議中,需要采用一定的策 略更新簇首節(jié)點,從而提高簇首節(jié)點乃至整個網(wǎng)絡(luò)的壽命。
AODV路由對于數(shù)據(jù)量比較少的情況比較適用,但是當(dāng)數(shù)據(jù)量較多時,全網(wǎng)的
能耗過高;而對于數(shù)據(jù)比較頻繁的情況,則分簇路由就體現(xiàn)出較大的優(yōu)越性。在傳感 器網(wǎng)絡(luò)中,不同區(qū)域的數(shù)據(jù)轉(zhuǎn)發(fā)頻率可能存在較大的差別,因此在這種情況下,單純 使用AODV協(xié)議或單純使用分簇路由協(xié)議都不是最佳的選擇。所以,本發(fā)明提供了一種結(jié)合AODV和分簇的、能夠按需局部建簇的無線傳感 器網(wǎng)絡(luò)路由方法。該路由方法在傳輸數(shù)據(jù)量少的局部區(qū)域使用AODV的平面路由策 略,而在傳輸數(shù)據(jù)量較多或能耗過大的局部區(qū)域按需建簇、使用分簇路由方法;在簇 首更新方面,本方法也提供了一種按需的局部簇首更新機制。 發(fā)明 內(nèi) 容
本發(fā)明的目的是提供一種能夠局部按需建簇的路由方法,通過該方法,可以實現(xiàn) 無線傳感器網(wǎng)絡(luò)中的一種節(jié)點能耗保護的路由機制,并且通過局部按需快速建簇減少 了原來的全網(wǎng)建簇的能源消耗。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是 一種能夠局部按需建簇的路由方 法,在網(wǎng)絡(luò)部署完成最開始的運行過程中,傳感器各個節(jié)點能量飽滿,而且一般只有 少許的節(jié)點需要進行數(shù)據(jù)傳輸,這時讓網(wǎng)絡(luò)中的各個節(jié)點進行AODV式的平面路由, 保證網(wǎng)絡(luò)的高擴展性及能量的低損耗。當(dāng)網(wǎng)絡(luò)在運行了一段時間后,可能在某個局部 區(qū)域網(wǎng)絡(luò)開始趨于頻繁的數(shù)據(jù)傳遞,或者部分節(jié)點因為頻繁的發(fā)送數(shù)據(jù)而造成能量消 耗過快,這時對這個熱點區(qū)域進行局部分簇,防止網(wǎng)絡(luò)中的某些節(jié)點能量消耗過快, 形成"死點"。建簇后,簇內(nèi)的節(jié)點時刻監(jiān)聽其所在簇的簇首能量狀態(tài),并在必要時 發(fā)起換簇申請,通過這種按需簇首更新策略,來達到一個全網(wǎng)的能量均衡。
本發(fā)明的一種能夠局部按需建簇的無線傳感器網(wǎng)絡(luò)路由方法存在的優(yōu)點為
(1) 本路由方法結(jié)合了AODV和分簇路由的思想,靈活性更高,適應(yīng)性更強。
(2) 和傳統(tǒng)的分簇路由在全網(wǎng)統(tǒng)一建簇不同,本路由方法采用局部按需建簇, 建簇的效率更高。
(3) 本路由方法提供了一種局部按需簇首更新機制,當(dāng)一個簇在更新簇首時, 不影響其它簇的正常的信息路由。
圖1是本發(fā)明無線傳感器網(wǎng)絡(luò)路由的總體流程圖。 圖2是本發(fā)明剩余能量信息監(jiān)聽的平面式路由流程圖。 圖3是本發(fā)明層次式路由中,簇首節(jié)點的工作流程圖。 圖4是本發(fā)明層次式路由中,非簇首節(jié)點的工作流程圖。 圖5是本發(fā)明局部通信過于頻繁引發(fā)首輪建簇的示意圖。 圖6是本發(fā)明通信節(jié)點能耗過低引發(fā)首輪建簇的示意圖。
具體實施例方式
下面將結(jié)合附圖和實施例對本發(fā)明做進一步的詳細說明。
參見圖1所示,本發(fā)明的一種能夠局部按需建簇的無線傳感器網(wǎng)絡(luò)路由方法包 括兩種模式,平面式路由和層次式路由。在傳感器網(wǎng)絡(luò)部署完成最開始的運行過程中, 傳感器各個節(jié)點能量飽滿,而且一般只有少許的節(jié)點需要進行數(shù)據(jù)傳輸,這時讓網(wǎng)絡(luò) 中的各個節(jié)點進行平面路由。在平面式路由階段,網(wǎng)絡(luò)中的任意節(jié)點A^,首先初始
化路由相關(guān)的各種參數(shù)(如節(jié)點標識、節(jié)點在網(wǎng)絡(luò)中的位置、節(jié)點發(fā)送功率等),然 后按照AODV方式路由數(shù)據(jù),同時監(jiān)聽鄰居節(jié)點(是指節(jié)點M的鄰居節(jié)點)發(fā)送的 報文情況。在平面式路由中如果節(jié)點W,監(jiān)聽到鄰居節(jié)點有發(fā)起建簇申請,則選擇一 個簇首,并加入該簇結(jié)構(gòu)中,并以非簇首節(jié)點(在簇網(wǎng)絡(luò)中節(jié)點W,被稱作非簇首節(jié) 點)身份進入層次式路由階段;如果節(jié)點A^,沒有監(jiān)聽到鄰居節(jié)點發(fā)起建簇申請,則 根據(jù)監(jiān)聽的鄰居發(fā)送報文情況,估算鄰居節(jié)點的剩余能量和估算區(qū)域內(nèi)的網(wǎng)絡(luò)通信頻 繁度,決定是否需要建簇。如果不需要建簇,則繼續(xù)釆用平面式路由方式;如果需要 建簇,則節(jié)點W,發(fā)起建簇申請,并以簇首節(jié)點(在簇網(wǎng)絡(luò)中節(jié)點Aa皮稱作簇首節(jié)點)
身份進入層次式路由階段。
在層次式路由階段,節(jié)點W,為簇首節(jié)點的處理方式
如果節(jié)點W,為簇首節(jié)點,則發(fā)起建簇申請,將愿意加入本簇的鄰居節(jié)點加入到 簇結(jié)構(gòu)中,然后按照層次式路由轉(zhuǎn)發(fā)數(shù)據(jù),同時監(jiān)聽簇內(nèi)非簇首節(jié)點是否發(fā)送換簇申 請。如果沒有非簇首節(jié)點發(fā)起換簇申請,則繼續(xù)以自身為簇首進行層次式路由;當(dāng)有 非簇首節(jié)點(是指在簇網(wǎng)絡(luò)中除節(jié)點W,以外的節(jié)點)發(fā)送換簇申請,則根據(jù)這些非 簇首節(jié)點的能量和自身能量,決定是否同意非簇首節(jié)點的換簇申請,如果同意,則解 散原有的簇;如果不同意,則繼續(xù)以自身為簇首進行層次式路由。
在層次式路由階段,節(jié)點乂為非簇首節(jié)點的處理方式
如果節(jié)點w,為非簇首節(jié)點,則選擇一個簇首iv,(在網(wǎng)絡(luò)中標識為^的一個節(jié)點)
加入簇結(jié)構(gòu),按照層次式路由轉(zhuǎn)發(fā)數(shù)據(jù),同時非簇首節(jié)點^監(jiān)聽簇首節(jié)點A^發(fā)送報 文的情況。非簇首節(jié)點W,如果監(jiān)聽到簇首節(jié)點i^發(fā)來的解散簇的消息,則退出簇結(jié)
構(gòu),并進入平面式路由;否則,非簇首節(jié)點A^,根據(jù)監(jiān)聽的簇首節(jié)點A^發(fā)送報文情況
估算簇首節(jié)點7V,的能量,并判斷是否需要發(fā)起換簇申請,如果不需要發(fā)起換簇申請,則繼續(xù)以非簇首節(jié)點身份執(zhí)行層次式路由。當(dāng)需要發(fā)起換簇申請時,非簇首節(jié)點iV,向 簇首節(jié)點A^發(fā)送換簇申請,并等到簇首節(jié)點A^的回復(fù),如果簇首節(jié)點A^同意換簇 申請,則發(fā)起建簇申請,并以簇首節(jié)點身份進入層次式路由;否則繼續(xù)以非簇首節(jié)點
身份執(zhí)行層次式路由。
在本發(fā)明中,iV,有多個身份。在平面式路由中,W,表示網(wǎng)絡(luò)中的任意一個節(jié)點。 在層次式路由中,W,表示以簇首身份時為簇首節(jié)點,以非簇首身份時為非簇首節(jié)點。 本發(fā)明的路由方法首先進行的是帶剩余能量信息監(jiān)聽的平面式路由階段。
本發(fā)明的帶剩余能量信息監(jiān)聽的平面式路由是指任意節(jié)點W,利用AODV協(xié)議進 行數(shù)據(jù)報文的路由,在路由數(shù)據(jù)的同時監(jiān)聽節(jié)點W,所在區(qū)域內(nèi)網(wǎng)絡(luò)通信頻繁度和鄰 居節(jié)點(是指能夠接收到節(jié)點W,廣播信息的節(jié)點)的剩余能量。節(jié)點^通過監(jiān)聽信 息(網(wǎng)絡(luò)通信頻繁度、節(jié)點剩余能量)來決定節(jié)點W,所在區(qū)域是否要發(fā)起局部建簇,
如果需要,進入到層次式路由階段中。
參見圖2所示,在本發(fā)明中,任意節(jié)點W,通過監(jiān)聽信息來決定所在區(qū)域是否要
發(fā)起局部建簇的處理步驟為
步驟101:設(shè)置節(jié)點W,的發(fā)送功率f和路由請求報文計數(shù)器i i^Q —W[/M,。
在本發(fā)明中,發(fā)送功率f是指節(jié)點iV,發(fā)送數(shù)據(jù)時使用的功率,所有節(jié)點在初始 時的發(fā)送功率是一個統(tǒng)一值,記為尸0『五i ; i i^2 —M7M,是指用來統(tǒng)計節(jié)點W,監(jiān) 聽到的路由請求報文朋£2的數(shù)量。根據(jù)^^2_^似,這個值,節(jié)點W,能夠估計出 該節(jié)點所在區(qū)域內(nèi)網(wǎng)絡(luò)通信頻繁度,初始時設(shè)i i 五2 —Wt/M, =0 。
步驟102:建立節(jié)點A^,的鄰居節(jié)點表單和剩余能量信息表單。
第一方面,節(jié)點A^向網(wǎng)絡(luò)廣播狀態(tài)消息S7^7iyS,-(W,,(x,,;;,),£,)。第二方面, 節(jié)點仏根據(jù)接收到的鄰居節(jié)點廣播的狀態(tài)消息,建立鄰居節(jié)點表單 揚,={W,,,iV,2,...,iV,m}和鄰居節(jié)點剩余能量表單A^""gV, = ^,,E,2,…,五,j 。
iV,為節(jié)點W,的標識,
(x,, X)表示iV,節(jié)點在無線傳感網(wǎng)絡(luò)中的位置, A表示iV,節(jié)點的剩余能量,
M^(i^,iV,2,…,AU表示節(jié)點iV,的所有鄰居節(jié)點集合, 表示節(jié)點iV,的第一個鄰居節(jié)點,^,2表示節(jié)點W,的第二個鄰居節(jié)點,
《,表示節(jié)點W,的第W個鄰居節(jié)點,也表示節(jié)點乂的任意一個鄰居節(jié)點,
〃£"^^,={£,,,£,2,...,£, ,}表示節(jié)點7^的所有鄰居節(jié)點的剩余能量集合, 五,,節(jié)點W,的第一個鄰居節(jié)點W,,的剩余能量, 五,2節(jié)點乂的第二個鄰居節(jié)點#,2的剩余能量,
節(jié)點乂的第w個鄰居節(jié)點的剩余能量,也表示節(jié)點乂的任意一個鄰居節(jié)
點的剩余能量。
步驟103:如果節(jié)點W,需要發(fā)送數(shù)據(jù),則利用40"l/路由協(xié)議通過路由請求報
文i i^2建立路由,通過所建立的路由路徑發(fā)送數(shù)據(jù)報文。
在本發(fā)明中,節(jié)點W,發(fā)送的路由請求報文i i^0中,除了滿足力O"K路由協(xié)議
的路由請求信息外,還包含有節(jié)點iV,的當(dāng)前剩余能量《。
步驟104:節(jié)點W,監(jiān)聽任意鄰居節(jié)點《發(fā)送的路由請求報文i i^Q、數(shù)據(jù)報文 和簇首通知報文CiV7F。
簇首通知報文CA^P(^,/Z),&, ,)中,訓(xùn)表示報文序列號,/"表示發(fā)送簇首通 知報文的節(jié)點編號,£,"表示節(jié)點的當(dāng)前剩余能量,A表示節(jié)點的報文發(fā)送后功率的 調(diào)整參數(shù)。
在本發(fā)明中,根據(jù)節(jié)點iV,監(jiān)聽任意鄰居節(jié)點A^,發(fā)送的報文類型不同,分如下三 個子步驟處理。
步驟104-1:如果節(jié)點iV,監(jiān)聽到任意鄰居節(jié)點乂,,發(fā)送的路由請求報文i i^g,
則執(zhí)行步驟105,否則,執(zhí)行步驟104-2;
步驟104-2:如果節(jié)點7V,監(jiān)聽到任意鄰居節(jié)點A^,發(fā)送的數(shù)據(jù)報文,則執(zhí)行步
驟106,否則,執(zhí)行步驟104-3;
步驟104-3:如果節(jié)點乾監(jiān)聽到任意鄰居節(jié)點AL發(fā)送的簇首通知報文CATF,
則節(jié)點^,以非簇首身份轉(zhuǎn)入局部區(qū)域內(nèi)的層次式路由(即執(zhí)行步驟204),否則,執(zhí)
行步驟103。
步驟105:節(jié)點^監(jiān)聽到任意鄰居節(jié)點氣,,發(fā)送的路由請求報文朋£2,則計數(shù) 器加1 (即i i^g —WM,=i^£g_A^/M,+l),同時更改鄰居節(jié)點剩余能量表單 ^£"^^,中鄰居節(jié)點^,,,,的剩余能量值,然后執(zhí)行步驟107。步驟106:節(jié)點iV,監(jiān)聽到任意鄰居節(jié)點A^發(fā)送的數(shù)據(jù)報文,更改鄰居節(jié)點剩 余能量表單W五恥rgy,中鄰居節(jié)點W, ,的剩余能量值。
由于無線傳感器網(wǎng)絡(luò)中各節(jié)點的發(fā)送功率在初始時統(tǒng)一設(shè)為了尸OW五i ,則可估 計出發(fā)送一次數(shù)據(jù)報文的能量消耗,從而估計出鄰居節(jié)點W,m發(fā)送一次數(shù)據(jù)報文后的 剩余能量£,,,,。
步驟107:對節(jié)點#,的剩余能量£,與鄰居節(jié)點#,,,,的剩余能量£, ,進行差值比 較,如果與的差值大于閾值A(chǔ)y&^gy一77狄^S7/ , 即 - 〉 D,m^gy — 77/7 ES7/ ,則節(jié)點乂將以簇首身份轉(zhuǎn)入局部區(qū)域內(nèi)的層次式路 由(即執(zhí)行步驟201);否則,執(zhí)行步驟108。
步驟108:當(dāng)節(jié)點W,的計數(shù)器i i^2 — M7M,的大小大于網(wǎng)絡(luò)通信頻繁的閥值 —:Tffl 五S// ,即—M7A< > SWSy —,則節(jié)點tV,將以簇首身份轉(zhuǎn) 入局部區(qū)域內(nèi)的層次式路由(即執(zhí)行步驟201);否則,執(zhí)行步驟103。
本發(fā)明的節(jié)點估算區(qū)域內(nèi)的網(wǎng)絡(luò)通信頻繁度和鄰居節(jié)點的剩余能量來決定是否
需要建簇或發(fā)起換簇申請。所依據(jù)的判斷規(guī)則分別為
估算區(qū)域內(nèi)的網(wǎng)絡(luò)通信頻繁度的判斷規(guī)則為當(dāng)節(jié)點AA,監(jiān)聽收到的每個數(shù)據(jù)包,
如果在某段時間內(nèi),監(jiān)聽到的路由請求報文數(shù)目超過一個閥值i ^ST一77/i^S//,則 認為網(wǎng)絡(luò)該局部區(qū)域通信過于頻繁,需要建簇,將網(wǎng)絡(luò)的發(fā)送方式由平面式路由轉(zhuǎn)為 層次式路由結(jié)構(gòu)。
估算鄰居節(jié)點的剩余能量的判斷規(guī)則為對于平面式路由階段節(jié)點、廣播了狀態(tài) 消息,或者每個發(fā)出W即報文的節(jié)點,或者是剛剛成為簇首、并向外廣播了它成簇 消息的節(jié)點,該節(jié)點周圍其它一些在通信范圍內(nèi)的節(jié)點都能夠獲得它當(dāng)前的剩余能 量,在后面該節(jié)點每發(fā)出一個新的數(shù)據(jù)包,可以推測出該節(jié)點目前剩余的能量,如果 原簇首節(jié)點的能量和該監(jiān)聽節(jié)點的能量相差到達一定閥值^;/EmTgy —r/ £S// ;或
者在平面式結(jié)構(gòu)中,某個節(jié)點不斷發(fā)送數(shù)據(jù)使得剩余能量過低,則需要發(fā)出建簇或者 新的換簇申請。
本發(fā)明的局部區(qū)域內(nèi)的由于某節(jié)點的能耗過低或者網(wǎng)絡(luò)通信頻繁度高需要建簇, 則由簇首節(jié)點發(fā)送簇首通知報文CATF申請建簇,并邀請其它節(jié)點加入該簇。收到
CATF報文的節(jié)點,可回復(fù)加入簇應(yīng)答報文cwr尸加入到該簇中。簇建立完成后,節(jié)點在簇內(nèi)穩(wěn)定運行,當(dāng)簇內(nèi)節(jié)點將要發(fā)送的數(shù)據(jù)發(fā)送給簇首,由簇首節(jié)點統(tǒng)一轉(zhuǎn)發(fā)。 同時簇內(nèi)節(jié)點要監(jiān)聽簇首,并估箅簇首的剩余能量,當(dāng)簇首的能量小于簇內(nèi)其他節(jié)點 能量時,發(fā)送簇首更換請求報文0^g申請成為新族首。當(dāng)簇首收到C7^0報文后,
進入局部簇更新過程,根據(jù)簇首本身實際剩余能量,可以拒絕更換簇首,區(qū)域內(nèi)的路
由方式不變;也可以同意更換簇首,并解散原有的簇。下面以節(jié)點W,為例,在建簇-
簇內(nèi)穩(wěn)定運行-局部簇更新的處理過程如圖3,圖4所示。
在需要建簇的區(qū)域中有兩類節(jié)點, 一類是發(fā)出建簇信號、要成為簇首的節(jié)點;另 一類是沒有發(fā)出建簇信號、準備加入新的簇結(jié)構(gòu)的節(jié)點,對不同類型節(jié)點,處理過程 不同。對網(wǎng)絡(luò)中任意節(jié)點W,,如果W,發(fā)出建簇信號、要成為簇首,則執(zhí)行建立新簇 首子過程;對網(wǎng)絡(luò)中任意節(jié)點W,,如果W,沒有發(fā)出建簇信號、準備加入新的簇結(jié)構(gòu)
時,執(zhí)行加入簇結(jié)構(gòu)子過程。
步驟201:調(diào)整簇首節(jié)點W,發(fā)送功率為尸CW^i 的1/《,然后廣播簇首通知報 文CW7F申請以自己為簇首建立一個簇。
簇首節(jié)點將發(fā)送功率調(diào)整為P0『五i 的1 /&來廣播簇首通知報文CAA7F是要 以POWEi 的1/&作為將來簇內(nèi)的通信功率,達到簇內(nèi)通信節(jié)省能量的目的。
步驟202:在設(shè)定時間TIMEJ3內(nèi),簇首W,接收任意鄰居節(jié)點W,,,,發(fā)送的加入 簇應(yīng)答報文CATP0",/A」roO印),加入新的簇節(jié)點。
ovr尸(^,/A/ix:,r印)報文是區(qū)域內(nèi)節(jié)點加入以某個節(jié)點為簇首的簇的應(yīng)答報 文,訓(xùn)為報文序列號,/"為報文發(fā)送源節(jié)點的編號,/"c為要加入簇的簇首節(jié)點編
號,r印表示同意加入簇的標志位。。
簇首iV,收到CAT/^",/A/"C,,)報文后,將節(jié)點iV,",加入到本簇中,生成以節(jié)
點^,為簇首的簇節(jié)點表單^:0",={(^,(:,2,...,(:,,},其中,Q是以節(jié)點;v,為簇首的 簇中的第一個簇節(jié)點,c,2是以節(jié)點iv,為簇首的簇中的第二個簇節(jié)點,c;是以節(jié)點 iv,為簇首的簇中的第r個簇節(jié)點,也稱為以節(jié)點w,為簇首的簇中的任意一個簇節(jié)點。
簇首接收區(qū)域內(nèi)節(jié)點的C7V7P報文應(yīng)該有一定的時間限定,在本發(fā)明中,接收的時 間設(shè)為TIME_C。
步驟203:調(diào)整簇首#,發(fā)送功率為尸0『£7 的4倍。將簇首的功率調(diào)大,方便 它進行數(shù)據(jù)傳輸。簇建立完成,執(zhí)行步驟206。步驟204:非簇首iV,比較所有收到的CATF(訓(xùn),/A^,D報文中的節(jié)點剩余能 量信息,選擇剩余能量最大的節(jié)點(記為A^(,w),將節(jié)點AUK.w作為新簇首;
步驟205:非簇首7V,根據(jù)能量最大節(jié)點W,mm (w發(fā)送的CA7F報文中的功率調(diào)節(jié) 系數(shù)A獻」w值,將發(fā)送功率調(diào)節(jié)為POPTEi 的1/^^ (w,向能量最大A^m (w回復(fù) CW7P報文,并記錄能量最大A^^,的能量。至此,簇首W,加入到了以能量最大節(jié) 點W,皿^為簇首的簇中,執(zhí)行步驟208。
經(jīng)上述步驟簇建立完成后,節(jié)點在簇內(nèi)穩(wěn)定運行,進入層次式路由。簇內(nèi)節(jié)點將 要發(fā)送的數(shù)據(jù)發(fā)送給簇首^,由簇首^統(tǒng)一轉(zhuǎn)發(fā),同時簇內(nèi)節(jié)點要監(jiān)聽簇首^,并 估箅簇首AA,的剩余能量《,在簇首7V,能量過低條件下發(fā)送更換簇首的請求報文
Ci^Q ;而簇首則在轉(zhuǎn)發(fā)數(shù)據(jù)的同時監(jiān)聽簇內(nèi)其他節(jié)點發(fā)送的C7^2報文。
在簇內(nèi)穩(wěn)定運行階段,簇首節(jié)點和非簇首節(jié)點處理步驟是不同的。對網(wǎng)絡(luò)中任意 節(jié)點的W,,如果W,為簇首節(jié)點,在穩(wěn)定運行階段,則執(zhí)行簇首節(jié)點簇內(nèi)穩(wěn)定運行子 過程;對網(wǎng)絡(luò)中任意節(jié)點iV,,如果W,為非簇首節(jié)點,處在簇首為最大能量節(jié)點 W,m^ ov的簇中,在穩(wěn)定運行階段,則執(zhí)行非簇首節(jié)點簇內(nèi)穩(wěn)定運行子過程。
步驟206:簇首節(jié)點氣將簇內(nèi)節(jié)點c;要發(fā)送的數(shù)據(jù)轉(zhuǎn)發(fā),同時監(jiān)聽簇內(nèi)節(jié)點C,f
是否發(fā)送簇首更換請求報文C7^0報文。
簇首更換請求報文Ci^g報文是簇內(nèi)節(jié)點監(jiān)聽到簇首的能量比自己的能量低時, 發(fā)出的更換自己為簇首的請求報文,0 E2報文格式為Ci^2(訓(xùn),/D,^,呵),sn為 報文序列號,/D為發(fā)起簇首更換請求的節(jié)點編號,i^為節(jié)點的當(dāng)前剩余能量, 表示申請更換自己為簇首的標志位。
根據(jù)簇首節(jié)點W,是否監(jiān)聽到簇內(nèi)節(jié)點C發(fā)送的簇首更換請求報文a^g報文, 有如下子步驟
步驟206-1:如果簇首W,監(jiān)聽到簇內(nèi)節(jié)點^發(fā)送的簇首更換請求報文C7 吸報 文,則執(zhí)行步驟207,否則繼續(xù)執(zhí)行步驟206。
步驟207:簇首AM夂到來自簇內(nèi)節(jié)點^發(fā)送的CXE2報文,則判斷簇內(nèi)節(jié)點C; 的剩余能量£ 與簇首^,本身的當(dāng)前能量£,大小,如果£,>£,"則執(zhí)行步驟207-1, 否則執(zhí)行步驟213。簇首請求應(yīng)答報文0£尸的報文格式為C7^P(訓(xùn),/A ,— rKP£),訓(xùn)為報 文序列號,/D為發(fā)起簇首更換請求的節(jié)點編號,£,"為節(jié)點的當(dāng)前剩余能量,
ci^p一jy/^為是否同意鄰居節(jié)點的簇首更換請求標志,如果同意更換請求,令
HT£ = 1,如果拒絕更換請求,令0 AT —nT£ = 0。
步驟207-1:簇首^,回復(fù)一個簇首請求應(yīng)答報文0 £^報文拒絕簇內(nèi)節(jié)點<:,,.的 更換請求,然后執(zhí)行步驟206
對網(wǎng)絡(luò)中任意節(jié)點的乂,如果W,為非簇首節(jié)點,處在簇首為最大能量節(jié)點 MMA^(W (簡稱最大簇首A^^ (w)的簇中,在穩(wěn)定運行階段,則執(zhí)行如下步驟
步驟208:如果節(jié)點W,需要發(fā)送數(shù)據(jù),則將要發(fā)送的數(shù)據(jù)發(fā)送給最大簇首 W,a磁,,并通過最大簇首A^縦—(w轉(zhuǎn)發(fā)數(shù)據(jù),同時監(jiān)聽最大簇首W超,,的報文轉(zhuǎn) 發(fā)。
根據(jù)節(jié)點iV,監(jiān)聽最大簇首A^m fw的報文轉(zhuǎn)發(fā)類型,有如下處理子步驟
步驟208-1:如果節(jié)點iV,監(jiān)聽到最大簇首A^力,^轉(zhuǎn)發(fā)的簇解散報文CZ^r報
文,則簇已解散,節(jié)點W,轉(zhuǎn)入帶剩余能量信息監(jiān)聽的平面式路由(即執(zhí)行步驟101)。 簇解散報文CDEF報文格式為CDEF(^,ZD), ^為報文序列號,/"為發(fā)起簇首更換 請求的節(jié)點編號。
步驟208-2:如果節(jié)點W,監(jiān)聽到最大簇首iV,皿(w發(fā)出的除CT^F報文以外的
其他報文,則執(zhí)行步驟209。否則繼續(xù)執(zhí)行步驟208。
步驟209:通過節(jié)點7V,估箅最大簇首A^m」.w的能量,并根據(jù)最大簇首A^m (,v
的能量大小來判斷是否換簇;
步驟209-1:如果簇首節(jié)點(w的能量小于節(jié)點乂的能量,則執(zhí)行步驟210,
否則執(zhí)行步驟208
節(jié)點iV,已知簇首節(jié)點cw的發(fā)送功率,則可估計出簇首節(jié)點A^,y (w發(fā)送一 次數(shù)據(jù)報文的能量消耗,從而估計出簇首節(jié)點iV^, (w的剩余能量。 步驟210:節(jié)點W,發(fā)送更換簇首的請求報文Ci^Q。
步驟211:節(jié)點W,接收簇首節(jié)點(w轉(zhuǎn)發(fā)的簇首請求應(yīng)答報文Ci^尸。 根據(jù)節(jié)點W,收到的簇首節(jié)點7V (w轉(zhuǎn)發(fā)的簇首請求應(yīng)答報文CM尸的類型,有
如下處理子步驟步驟211-1:如果節(jié)點W,收到簇首節(jié)點(A,轉(zhuǎn)發(fā)的簇首請求應(yīng)答報文Ci £P(guān)
中Ci^P —7TP£ = 0,則執(zhí)行步驟212,否則執(zhí)行步驟201。
步驟212:根據(jù)CM尸報文中的《薦(w來更新簇首節(jié)點W,層—(w的能量信息,
然后執(zhí)行步驟208。
局部簇更新是指簇首節(jié)點同意鄰居節(jié)點發(fā)送的簇首更新請求后的處理過程,具體 的處理步驟為
步驟213:簇首節(jié)點W,比較所有收到的C/^2報文中的發(fā)送節(jié)點的剩余能量信 息,選擇剩余能量最大的發(fā)送節(jié)點(記為A^,(a),將節(jié)點A^w—e.w作為下一輪的簇 首節(jié)點;同時向其它發(fā)送節(jié)點發(fā)送一個Ci i^報文拒絕簇首更換請求。。
步驟214:簇首節(jié)點W,回復(fù)一個簇首請求應(yīng)答報文C^:戶給節(jié)點AU、,—f ,同意 節(jié)點W,A^一a的簇首更換請求,并記錄節(jié)點的當(dāng)前剩余能量信息。
步驟215:簇首節(jié)點A^,向它的簇節(jié)點表單ACo",中的所有節(jié)點(^發(fā)送一個簇解 散報文CD五F,通知簇內(nèi)節(jié)點簇已解散。清空簇節(jié)點表單^VC朋,后,節(jié)點7V,轉(zhuǎn)入帶
剩余能量信息監(jiān)聽的平面式路由(即執(zhí)行步驟ioi)。
在本發(fā)明中,步驟201、步驟202、步驟203為建立簇首子過程。對網(wǎng)絡(luò)中任 意節(jié)點W,,如果W,發(fā)出建簇信號、要成為簇首,則執(zhí)行建立新簇首子過程。
在本發(fā)明中,步驟204和步驟205為加入簇結(jié)構(gòu)子過程。對網(wǎng)絡(luò)中任意節(jié)點W,, 如果W,沒有發(fā)出建簇信號、準備加入新的簇結(jié)構(gòu)時,執(zhí)行加入簇結(jié)構(gòu)子過程。
在本發(fā)明中,步驟206、步驟206-1、步驟207、步驟207-1為簇首節(jié)點簇內(nèi) 穩(wěn)定運行子過程。對網(wǎng)絡(luò)中任意節(jié)點的仏,如果乂為簇首節(jié)點,在穩(wěn)定運行階段, 則執(zhí)行簇首節(jié)點簇內(nèi)穩(wěn)定運行子過程。
在本發(fā)明中,步驟208、步驟208-1、步驟208-2、步驟209、步驟209-1、 步驟210、步驟211、步驟211-1、步驟212為非簇首節(jié)點簇內(nèi)穩(wěn)定運行子過程。 對網(wǎng)絡(luò)中任意節(jié)點iV,,如果W,為非簇首節(jié)點,處在簇首為最大能量節(jié)點A^,^^的
簇中,在穩(wěn)定運行階段,則執(zhí)行非簇首節(jié)點簇內(nèi)穩(wěn)定運行子過程。
在本發(fā)明中,步驟213、步驟214、步驟215為局部簇更新子過程。對網(wǎng)絡(luò)中
的簇首節(jié)點,如果同意鄰居節(jié)點發(fā)送的簇首更新請求,則執(zhí)行局部簇更新子過程。局部建簇可能是由網(wǎng)絡(luò)通信頻繁或者能耗過低引發(fā)的,兩處原因引發(fā)建簇過程示 例如下
一個由多個節(jié)點組成的網(wǎng)絡(luò),30 7_7^/^5//得值設(shè)為3,網(wǎng)絡(luò)的統(tǒng)一發(fā)送功 率設(shè)為,局部建簇后的功率調(diào)整參數(shù)&為2,其中節(jié)點W,表示任一中間節(jié)點。 如圖5所示,節(jié)點vV,、節(jié)點#2、節(jié)點^和節(jié)點A^都需要向A^節(jié)點發(fā)送數(shù)據(jù),為了 發(fā)送數(shù)據(jù)需要發(fā)送路由請求報文^ £2來建立路由路徑。節(jié)點 、節(jié)點M和節(jié)點V,
收到了路由請求報文i^五2,則它們的路由請求報文計數(shù)器都會相應(yīng)增加。這樣,雖 然中間節(jié)點A^沒有作為路由路徑中的某個轉(zhuǎn)發(fā)節(jié)點,但是它可以監(jiān)聽到網(wǎng)絡(luò)中
^ 五2報文數(shù)量達到了4,超過了5t/Sy —77漢£5//,則多個達到這一條件的A^,節(jié)點 都會發(fā)出建簇申請,當(dāng)以尸0『Ei /2為發(fā)送功率發(fā)出OVrF報文,以最多一跳的方式 廣播出去,其他所有節(jié)點在收到多個CATF報文后,比較各個CATF報文剩余能量之 間的大小,然后選擇剩余能量最大的那個節(jié)點回復(fù)CA^P報文,表明加入該節(jié)點為簇 首組成的簇結(jié)構(gòu),這個時候所有加入簇結(jié)構(gòu)的節(jié)點把發(fā)送功率調(diào)整到尸(9PJ^i /2的功 率向簇首節(jié)點發(fā)送數(shù)據(jù),而相應(yīng)的簇首節(jié)點將發(fā)送功率調(diào)整到尸O^Ei x2轉(zhuǎn)發(fā)數(shù)據(jù)。 一個由多個節(jié)點組成的網(wǎng)絡(luò),如果只有一個節(jié)點在持續(xù)的發(fā)送數(shù)據(jù),那么將無法 達到^^/5]^_77/7 £5>//閥值條件。如圖6所示,只有節(jié)點A^在持續(xù)不斷的向A^節(jié)點 發(fā)送數(shù)據(jù),數(shù)據(jù)路由的路徑為節(jié)點iV,、節(jié)點W、節(jié)點A^和節(jié)點A^。中間節(jié)點W,監(jiān) 聽到節(jié)點iV,最開始發(fā)出的路由請求報文^i^Q,并探知節(jié)點W,的剩余能量。在后續(xù) 的數(shù)據(jù)發(fā)送中,中間節(jié)點W,監(jiān)聽節(jié)點M—共發(fā)送多少數(shù)據(jù)包,從而得到節(jié)點W,剩余 能量的近似值£,,,當(dāng)£,-£,, >D!yEm^gy —77ffi五S/Z時,中間節(jié)點W,可以發(fā)出建簇申 請,具體建簇過程同局部通信過于頻繁首輪建簇。
權(quán)利要求
1、一種能夠局部按需建簇的無線傳感器網(wǎng)絡(luò)路由方法,其特征在于在傳感器網(wǎng)絡(luò)部署完成最開始的運行過程中,傳感器各個節(jié)點能量飽滿,而且一般只有少許的節(jié)點需要進行數(shù)據(jù)傳輸,這時讓網(wǎng)絡(luò)中的各個節(jié)點進行平面路由;在平面式路由階段,網(wǎng)絡(luò)中的任意節(jié)點Ni,首先初始化路由參數(shù),然后按照AODV方式路由數(shù)據(jù),同時監(jiān)聽鄰居節(jié)點發(fā)送的報文情況;在平面式路由中如果節(jié)點Ni監(jiān)聽到鄰居節(jié)點有發(fā)起建簇申請,則選擇一個簇首,并加入該簇結(jié)構(gòu)中,并以非簇首節(jié)點身份進入層次式路由階段;如果節(jié)點Ni沒有監(jiān)聽到鄰居節(jié)點發(fā)起建簇申請,則根據(jù)監(jiān)聽的鄰居發(fā)送報文情況,估算鄰居節(jié)點的剩余能量和估算區(qū)域內(nèi)的網(wǎng)絡(luò)通信頻繁度,決定是否需要建簇;如果不需要建簇,則繼續(xù)采用平面式路由方式;如果需要建簇,則節(jié)點Ni發(fā)起建簇申請,并以簇首節(jié)點身份進入層次式路由階段;在層次式路由階段,節(jié)點Ni為簇首節(jié)點則發(fā)起建簇申請,將愿意加入本簇的鄰居節(jié)點加入到簇結(jié)構(gòu)中,然后按照層次式路由轉(zhuǎn)發(fā)數(shù)據(jù),同時監(jiān)聽簇內(nèi)非簇首節(jié)點是否發(fā)送換簇申請;如果沒有非簇首節(jié)點發(fā)起換簇申請,則繼續(xù)以自身為簇首進行層次式路由;當(dāng)有非簇首節(jié)點發(fā)送換簇申請,則根據(jù)這些非簇首節(jié)點的能量和自身能量,決定是否同意非簇首節(jié)點的換簇申請,如果同意,則解散原有的簇;如果不同意,則繼續(xù)以自身為簇首進行層次式路由;在層次式路由階段,節(jié)點Ni為非簇首節(jié)點則選擇一個簇首NA加入簇結(jié)構(gòu),按照層次式路由轉(zhuǎn)發(fā)數(shù)據(jù),同時非簇首節(jié)點Ni監(jiān)聽簇首節(jié)點NA發(fā)送報文的情況。非簇首節(jié)點Ni如果監(jiān)聽到簇首節(jié)點NA發(fā)來的解散簇的消息,則退出簇結(jié)構(gòu),并進入平面式路由;否則,非簇首節(jié)點Ni根據(jù)監(jiān)聽的簇首節(jié)點NA發(fā)送報文情況估算簇首節(jié)點NA的能量,并判斷是否需要發(fā)起換簇申請,如果不需要發(fā)起換簇申請,則繼續(xù)以非簇首節(jié)點身份執(zhí)行層次式路由;當(dāng)需要發(fā)起換簇申請時,非簇首節(jié)點Ni向簇首節(jié)點NA發(fā)送換簇申請,并等到簇首節(jié)點NA的回復(fù),如果簇首節(jié)點NA同意換簇申請,則發(fā)起建簇申請,并以簇首節(jié)點身份進入層次式路由;否則繼續(xù)以非簇首節(jié)點身份執(zhí)行層次式路由。
2、 根據(jù)權(quán)利要求1所述的能夠局部按需建簇的無線傳感器網(wǎng)絡(luò)路由方法,其特征在 于采用平面式路由和層次式路由的兩種路由模式。
3、 根據(jù)權(quán)利要求1所述的能夠局部按需建簇的無線傳感器網(wǎng)絡(luò)路由方法,其特征在 于任意節(jié)點^平面式路由模式的處理步驟為步驟101:設(shè)置節(jié)點W,的發(fā)送功率《和路由請求報文計數(shù)器i i i 0 — M7M,; 步驟102:建立節(jié)點7V,的鄰居節(jié)點表單和剩余能量信息表單;步驟103:如果節(jié)點vV,需要發(fā)送數(shù)據(jù),則利用AODV路由協(xié)議通過路由請求報 文7 i^2建立路由,通過所建立的路由路徑發(fā)送數(shù)據(jù)報文;步驟104:節(jié)點iV,監(jiān)聽任意鄰居節(jié)點A^,發(fā)送的路由請求報文i^i^、數(shù)據(jù)報文和簇首通知報文CA7F,簇首通知報文CA^F(訓(xùn),/A^,^)中,^表示報文序列號,/"表示發(fā)送簇首通知報文的節(jié)點編號,£, 表示節(jié)點的當(dāng)前剩余能量,< 表示節(jié)點的報文發(fā)送后功率的調(diào)整參數(shù);步驟104-1:如果節(jié)點#,監(jiān)聽到任意鄰居節(jié)點^,,,發(fā)送的路由請求報文/^£0,則執(zhí)行步驟105,否則,執(zhí)行步驟104-2;步驟104-2:如果節(jié)點W,監(jiān)聽到任意鄰居節(jié)點A^發(fā)送的數(shù)據(jù)報文,則執(zhí)行步 驟106,否則,執(zhí)行步驟104-3;步驟104-3:如果節(jié)點TV,監(jiān)聽到任意鄰居節(jié)點W,, 發(fā)送的簇首通知報文CATF , 則節(jié)點iV,以非簇首身份轉(zhuǎn)入局部區(qū)域內(nèi)的層次式路由,否則,執(zhí)行步驟103;步驟105:節(jié)點^監(jiān)聽到任意鄰居節(jié)點# ,,發(fā)送的路由請求報文^^£2,則計數(shù) 器加l,同時更改鄰居節(jié)點剩余能量表單^^^狄中鄰居節(jié)點《,的剩余能量值,然 后執(zhí)行步驟107;步驟106:節(jié)點W,監(jiān)聽到任意鄰居節(jié)點A^發(fā)送的數(shù)據(jù)報文,更改鄰居節(jié)點剩 余能量表單A^"gy,中鄰居節(jié)點的剩余能量值;步驟107:對節(jié)點iV,的剩余能量《與鄰居節(jié)點A^,的剩余能量i^進行差值比 較,如果£,與£,,,,的差值大于閾值^:/&^^ —27 £57/,則節(jié)點W,將以簇首身份轉(zhuǎn)入局部區(qū)域內(nèi)的層次式路由;否則,執(zhí)行步驟108;步驟108:當(dāng)節(jié)點iV,的計數(shù)器i i^g一M7M,的大小大于網(wǎng)絡(luò)通信頻繁的閥值 St/Sy —77/i ES//,則節(jié)點W,將以簇首身份轉(zhuǎn)入局部區(qū)域內(nèi)的層次式路由;否則,執(zhí) 行步驟103。
4、根據(jù)權(quán)利要求1所述的能夠局部按需建簇的無線傳感器網(wǎng)絡(luò)路由方法,其特征在 于對網(wǎng)絡(luò)中任意節(jié)點W,,在層次式路由階段的處理步驟為步驟201:調(diào)整簇首節(jié)點yV,發(fā)送功率為FO『^ 的l/A:,,然后廣播簇首通知報 文CATF申請以自己為簇首建立一個簇;步驟202:在設(shè)定時間TIME—C內(nèi),簇首#,接收任意鄰居節(jié)點 ,,發(fā)送的加入簇應(yīng)答報文CATP(訓(xùn),/A/DC,r印),加入新的簇節(jié)點;CAT尸(m,/A/DC,rep)報文是 區(qū)域內(nèi)節(jié)點加入以某個節(jié)點為簇首的簇的應(yīng)答報文,.w為報文序列號,//)為報文發(fā) 送源節(jié)點的編號,/OC為要加入簇的簇首節(jié)點編號,r印表示同意加入簇的標志位; 步驟203:調(diào)整簇首W,發(fā)送功率為POffi^的/c,倍;將簇首的功率調(diào)大,方便它進行數(shù)據(jù)傳輸。簇建立完成,執(zhí)行步驟206;步驟204:非簇首W,比較所有收到的CW7F(訓(xùn),£w,~》報文中的節(jié)點剩余能 量信息,選擇剩余能量最大節(jié)點A^w,,、.作為新簇首;步驟205:非簇首W,根據(jù)能量最大節(jié)點W^^,發(fā)送的CATF報文中的功率調(diào)節(jié) 系數(shù)6皿—ov值,將發(fā)送功率調(diào)節(jié)為的1 /(A,,向能量最大7V^y fw回復(fù) cwrp報文,并記錄能量最大A^^ w的能量;至此,簇首iV,加入到了以能量最大節(jié) 點^,w一 為簇首的簇中,執(zhí)行步驟208;步驟206:簇首節(jié)點W,將簇內(nèi)節(jié)點(^要發(fā)送的數(shù)據(jù)轉(zhuǎn)發(fā),同時監(jiān)聽簇內(nèi)節(jié)點C,,是否發(fā)送簇首更換請求報文報文;步驟206-1:如果簇首^,監(jiān)聽到簇內(nèi)節(jié)點<:',,.發(fā)送的簇首更換請求報文0^2報文,則執(zhí)行步驟207,否則繼續(xù)執(zhí)行步驟206;步驟207:簇首AM夂到來自簇內(nèi)節(jié)點C;發(fā)送的Ci 五2報文,則判斷簇內(nèi)節(jié)點^,. 的剩余能量《f與簇首iV,本身的當(dāng)前能量E,大小,如果£,>£,,.,則執(zhí)行步驟207-1, 否則執(zhí)行步驟213;步驟207-1:簇首^,回復(fù)一個簇首請求應(yīng)答報文0 £^報文拒絕簇內(nèi)節(jié)點(^.的 更換請求,然后執(zhí)行步驟206;步驟208:如果節(jié)點iV,需要發(fā)送數(shù)據(jù),則將要發(fā)送的數(shù)據(jù)發(fā)送給最大簇首 iV,MAYtw,并通過最大簇首A^^,轉(zhuǎn)發(fā)數(shù)據(jù),同時監(jiān)聽最大簇首A^^,的報文轉(zhuǎn)發(fā);步驟208-1:如果節(jié)點W,監(jiān)聽到最大簇首;V,M^^轉(zhuǎn)發(fā)的簇解散報文a^r報 文,則簇巳解散,節(jié)點W,轉(zhuǎn)入帶剩余能量信息監(jiān)聽的平面式路由。步驟208-2:如果節(jié)點A^監(jiān)聽到最大簇首A^^^發(fā)出的除COEI/報文以外的其他報文,則執(zhí)行步驟209,否則繼續(xù)執(zhí)行步驟208;步驟209:通過節(jié)點^,估算最大簇首# ,.的能量,并根據(jù)最大簇首A^^.」,v的能量大小來判斷是否換簇;步驟209-1:如果簇首節(jié)點fw的能量小于節(jié)點W,的能量,則執(zhí)行步驟210,否則執(zhí)行步驟208;步驟210:節(jié)點iV,發(fā)送更換簇首的請求報文Ci^g;步驟211:節(jié)點W,接收簇首節(jié)點W,皿 轉(zhuǎn)發(fā)的簇首請求應(yīng)答報文CRW ;步驟211-1:如果節(jié)點收到簇首節(jié)點iV,M.4A^w轉(zhuǎn)發(fā)的簇首請求應(yīng)答報文C7^P中C7^尸—7TP£ = 0,則執(zhí)行步驟212,否則執(zhí)行步驟201;步驟212:根據(jù)Ci^P報文中的五,歸(w來更新簇首節(jié)點A^^,的能量信息,然后執(zhí)行步驟208;步驟213:簇首節(jié)點#,比較所有收到的0 £2報文中的發(fā)送節(jié)點的剩余能量信息,選擇剩余能量最大的發(fā)送節(jié)點A^^—^作為下一輪的簇首節(jié)點;同時向其它發(fā)送節(jié)點發(fā)送一個C7 i P報文拒絕簇首更換請求;步驟214:簇首節(jié)點W,回復(fù)一個簇首請求應(yīng)答報文Ci^P給節(jié)點A^^. (7;,同意節(jié)點的簇首更換請求,并記錄節(jié)點W ^的當(dāng)前剩余能量信息;步驟215:簇首節(jié)點iV,向它的簇節(jié)點表單WO^,中的所有節(jié)點C;發(fā)送一個簇解散報文CZ^r,通知簇內(nèi)節(jié)點簇已解散。清空簇節(jié)點表單WOw,后,節(jié)點W,轉(zhuǎn)入帶剩余能量信息監(jiān)聽的平面式路由。
5、 根據(jù)權(quán)利要求1所述的能夠局部按需建簇的無線傳感器網(wǎng)絡(luò)路由方法,其特征在 于估算區(qū)域內(nèi)的網(wǎng)絡(luò)通信頻繁度的判斷規(guī)則為,當(dāng)節(jié)點W,監(jiān)聽收到的每個數(shù)據(jù) 包,如果在某段時間內(nèi),監(jiān)聽到的路由請求報文數(shù)目超過一個閥值 5WSF —77 £S//,則認為網(wǎng)絡(luò)該局部區(qū)域通信過于頻繁,需要建簇,將網(wǎng)絡(luò)的發(fā) 送方式由平面式路由轉(zhuǎn)為層次式路由結(jié)構(gòu)。
6、 根據(jù)權(quán)利要求1所述的能夠局部按需建簇的無線傳感器網(wǎng)絡(luò)路由方法,其特征在 于估算鄰居節(jié)點的剩余能量的判斷規(guī)則為,對于每個發(fā)出i i^g報文的節(jié)點, 或者是剛剛成為簇首、并向外廣播了它成簇消息的節(jié)點,該節(jié)點周圍其它一些在 通信范圍內(nèi)的節(jié)點都能夠獲得它當(dāng)前的剩余能量,在后面該節(jié)點每發(fā)出一個新的 數(shù)據(jù)包,能夠推測出該節(jié)點目前剩余的能量,如果原簇首節(jié)點的能量和該監(jiān)聽節(jié) 點的能量相差到達一定閥值。^&^"^_77^£5//;或者在平面式結(jié)構(gòu)中,某個節(jié)點不斷發(fā)送數(shù)據(jù)使得剩余能量過低,則需要發(fā)出建簇或者新的換簇申請。
全文摘要
本發(fā)明公開了一種能夠局部按需建簇的無線傳感器網(wǎng)絡(luò)路由方法,通過該方法,可以實現(xiàn)無線傳感器網(wǎng)絡(luò)中的一種節(jié)點能耗保護的路由機制,并且通過局部按需快速建簇減少了原來的全網(wǎng)建簇的能源消耗。在網(wǎng)絡(luò)最開始的運行過程中,傳感器各個節(jié)點基本能量飽滿,而且一般只有少許的節(jié)點需要進行數(shù)據(jù)傳輸,這時讓網(wǎng)絡(luò)中的各個節(jié)點進行AODV式的平面路由,保證網(wǎng)絡(luò)的高擴展性及能量的低損耗。當(dāng)網(wǎng)絡(luò)運行一段時間后,可能在某個局部區(qū)域網(wǎng)絡(luò)開始趨于頻繁的數(shù)據(jù)傳遞,或者某個節(jié)點因為頻繁的發(fā)送數(shù)據(jù)而造成它能量消耗過快,這時需要對這個熱點區(qū)域進行局部分簇,防止網(wǎng)絡(luò)中的某些節(jié)點能量消耗過快,形成“死點”。當(dāng)網(wǎng)絡(luò)一些局部節(jié)點進行了簇首建立并按照分簇層次式結(jié)構(gòu)進行數(shù)據(jù)發(fā)送后,簇內(nèi)的節(jié)點時刻監(jiān)聽它所在簇的簇首能量狀態(tài),并在必要時發(fā)起換簇申請。
文檔編號H04W40/02GK101426294SQ20081023957
公開日2009年5月6日 申請日期2008年12月15日 優(yōu)先權(quán)日2008年12月15日
發(fā)明者何志堅, 張艷青, 璋 熊, 蘆效峰, 蒲菊華, 巍 魏 申請人:北京航空航天大學(xué)