一種能量節(jié)約型無(wú)線傳感器網(wǎng)絡(luò)的構(gòu)造和維護(hù)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種能量節(jié)約型無(wú)線傳感器網(wǎng)絡(luò)的構(gòu)造和維護(hù)方法,尤其是涉及一種 利用超圖理論的能量節(jié)約型無(wú)線傳感器網(wǎng)絡(luò)的構(gòu)造方法。本方案包括圖論、算法設(shè)計(jì)、統(tǒng)計(jì) 學(xué)以及數(shù)學(xué)建模,為無(wú)線傳感器網(wǎng)絡(luò)的構(gòu)造和優(yōu)化提出了一種新技術(shù)。
【背景技術(shù)】
[0002] 無(wú)線傳感器網(wǎng)絡(luò)(WSN) :WSN是一種分布式傳感器網(wǎng)絡(luò),它的末梢是可以感知和檢 查外部世界的傳感器。WSN中的傳感器通過(guò)無(wú)線方式通信,因此網(wǎng)絡(luò)設(shè)置靈活,設(shè)備位置可 以快速更改,還可以跟互聯(lián)網(wǎng)進(jìn)行有線方式或者無(wú)線方式的連接。
[0003] 超圖理論:超圖是普通圖的泛化,它的一條邊(超邊)可以包含的結(jié)點(diǎn)數(shù)不少于2 個(gè)。超圖的一般定義為H= (V,E),其中V為所有的節(jié)點(diǎn)的集合,E為所有超邊的集合,且E 的元素均為V的非空子集;有權(quán)重的超圖的定義為H = (V,E,w),新添加的參數(shù)w表示超圖 H中的每一條超邊均被分配了權(quán)重w。此外,還有一種超圖類(lèi)型為k均值超圖,其特征為超 圖中的每一條超邊的大小(即所包含的結(jié)點(diǎn)數(shù))均為k。超圖劃分的目的在于,將超圖的節(jié) 點(diǎn)劃分為k個(gè)大致相等的部分,且出現(xiàn)同一個(gè)超圖連接多個(gè)部分的節(jié)點(diǎn)的情況被最小化。
[0004] 模塊度:模塊度被用來(lái)衡量網(wǎng)絡(luò)的結(jié)構(gòu),一個(gè)網(wǎng)絡(luò)的模塊度越高說(shuō)明該網(wǎng)絡(luò)內(nèi)部 的節(jié)點(diǎn)聯(lián)系越緊密。相應(yīng)地,這些節(jié)點(diǎn)與其他模塊的節(jié)點(diǎn)聯(lián)系比較稀疏。模塊度經(jīng)常被用 來(lái)尋找構(gòu)造網(wǎng)絡(luò)的最優(yōu)化策略。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明主要是解決現(xiàn)有無(wú)線傳感器網(wǎng)絡(luò)構(gòu)成方案所存在的不足;提供了一種以超 圖作為理論基礎(chǔ)的能量節(jié)約型無(wú)線傳感器網(wǎng)絡(luò)構(gòu)造方法,從全局統(tǒng)籌規(guī)劃無(wú)線傳感器網(wǎng)絡(luò) 的拓?fù)浣Y(jié)構(gòu),對(duì)各個(gè)傳感器節(jié)點(diǎn)進(jìn)行調(diào)度,從而實(shí)現(xiàn)一種結(jié)構(gòu)合理,能耗節(jié)約型的無(wú)線傳感 器網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。通過(guò)引用超圖理論,彌補(bǔ)了傳統(tǒng)的簡(jiǎn)單圖在信息展示以及劃分算法方面 的缺陷,它將無(wú)線傳感器網(wǎng)絡(luò)劃分為多個(gè)簇,使整個(gè)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)具有層次性,所得的無(wú)線 傳感器網(wǎng)絡(luò)具有高內(nèi)聚和低耦合的特性。
[0006] 本發(fā)明的技術(shù)解決方案是:
[0007] -種能量節(jié)約型無(wú)線傳感器網(wǎng)絡(luò)的構(gòu)造和維護(hù)方法,
[0008] 通過(guò)將超圖理論運(yùn)用于全局網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)規(guī)劃,將無(wú)線傳感器網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu) 轉(zhuǎn)化為超圖,并對(duì)其進(jìn)行超圖劃分和聚類(lèi),完成高內(nèi)聚和低耦合的構(gòu)造;
[0009] 通過(guò)定位系統(tǒng)來(lái)收集每個(gè)傳感器節(jié)點(diǎn)的位置信息,在定位系統(tǒng)的作用下,每個(gè)節(jié) 點(diǎn)會(huì)接受到一個(gè)時(shí)間點(diǎn)T,這意味著它們將在時(shí)間點(diǎn)T 一齊向定位系統(tǒng)發(fā)送自己的位置信 息,從而實(shí)現(xiàn)這些位置信息大致的同步;
[0010] 通過(guò)尋找最優(yōu)模塊度實(shí)現(xiàn)對(duì)分簇的優(yōu)化,被劃分出來(lái)的這些簇具有高內(nèi)聚和低耦 合的特性,因此執(zhí)行一次隨機(jī)游走,其活動(dòng)范圍很有可能局限一個(gè)簇內(nèi),而出現(xiàn)跨簇的可能 性比較小;
[0011] 通過(guò)最小化由簇頭節(jié)點(diǎn)和基站所組成的主干網(wǎng)絡(luò)來(lái)控制整個(gè)網(wǎng)絡(luò),它們負(fù)責(zé)通 信的同時(shí),還負(fù)責(zé)維護(hù)網(wǎng)絡(luò)的連通性、網(wǎng)絡(luò)覆蓋率以及減小整個(gè)無(wú)線傳感器網(wǎng)絡(luò)的能量消 耗;
[0012] 通過(guò)對(duì)無(wú)線傳感器網(wǎng)絡(luò)中傳感器節(jié)點(diǎn)的調(diào)度來(lái)減小網(wǎng)絡(luò)的能量消耗。處于睡眠狀 態(tài)的節(jié)點(diǎn)能夠避免因?yàn)槟憧臻e監(jiān)聽(tīng)而造成的不必要的能量消耗,它們之后將被其所屬的簇 頭節(jié)點(diǎn)喚醒,從而進(jìn)入工作狀態(tài)。引入空閑狀態(tài)的目的在于,使其作為睡眠狀態(tài)向工作狀態(tài) 轉(zhuǎn)換的過(guò)程的緩沖,即當(dāng)一個(gè)處于工作狀態(tài)的節(jié)點(diǎn)將要轉(zhuǎn)換為睡眠狀態(tài)時(shí),所有的處于睡 眠狀態(tài)的候補(bǔ)節(jié)點(diǎn)將進(jìn)入空閑狀態(tài),然后由它們所屬的簇頭節(jié)點(diǎn)來(lái)決定最終哪些候補(bǔ)節(jié)點(diǎn) 進(jìn)入工作狀態(tài),而那些沒(méi)有被選中的節(jié)點(diǎn)將重新進(jìn)入睡眠狀態(tài);
[0013] 通過(guò)基于RNG的功率控制來(lái)實(shí)現(xiàn)將所有的傳感器節(jié)點(diǎn)的通信功率縮小到能夠與 它的最遠(yuǎn)鄰居節(jié)點(diǎn)通信,從而在保證網(wǎng)絡(luò)連通性的前提下,盡可能減小通信所造成的能量 消耗。
[0014] 利用超圖理論實(shí)現(xiàn)的一種能量節(jié)約型無(wú)線傳感器網(wǎng)絡(luò)的構(gòu)造和維護(hù)方法,具體構(gòu) 造步驟為:
[0015] 步驟1 : 一種能量節(jié)約型無(wú)線傳感器網(wǎng)絡(luò)的構(gòu)造和維護(hù)方法的實(shí)現(xiàn)依賴于能夠獲 取所有的傳感器節(jié)點(diǎn)的位置信息,所以需要一個(gè)定位系統(tǒng)來(lái)來(lái)收集所有的節(jié)點(diǎn)位置,并將 這些信息存儲(chǔ)在基站之中?;镜臄?shù)量可能不止一個(gè),但是只能在其中一個(gè)基站上運(yùn)行構(gòu) 造方法,而其他的基站只是存儲(chǔ)和主基站相同的信息,作為主基站的拷貝或者候補(bǔ);
[0016] 步驟2 :主基站向每個(gè)節(jié)點(diǎn)發(fā)送一個(gè)時(shí)間點(diǎn)T,這意味著所有的傳感器節(jié)點(diǎn)將在時(shí) 間點(diǎn)T 一齊向定位系統(tǒng)發(fā)送自己的位置信息,從而實(shí)現(xiàn)這些位置信息大致的同步;
[0017] 步驟3 :通過(guò)基于RNG的功率控制來(lái)調(diào)節(jié)每一個(gè)節(jié)點(diǎn)的通信功率,將通信功率縮小 到能夠與它的最遠(yuǎn)鄰居節(jié)點(diǎn)通信,從而在保證網(wǎng)絡(luò)連通性和覆蓋率的前提下,盡可能減小 通信所造成的能量消耗;
[0018] 步驟4 :將傳感器節(jié)點(diǎn)映射到超圖中的頂點(diǎn),然后根據(jù)傳感器節(jié)點(diǎn)采集數(shù)據(jù)的類(lèi) 型形成超邊,從而在一條超邊中所有的節(jié)點(diǎn)采集的數(shù)據(jù)類(lèi)型相同,且每個(gè)節(jié)點(diǎn)至少有一個(gè) 鄰居節(jié)點(diǎn);
[0019] 步驟5 :根據(jù)超邊內(nèi)頂點(diǎn)的數(shù)量為每一條超邊分配權(quán)值;
[0020] 步驟6 :基于超圖理論對(duì)無(wú)線傳感器網(wǎng)絡(luò)的超圖進(jìn)行劃分和成簇;
[0021] 步驟7 :通過(guò)Wc在每個(gè)簇中選擇一個(gè)簇頭,Wc的表達(dá)式具體為: Ej7
[0022] Wc = Ct ^ --+ Cp ^ Pa Pc
[0023] 其中,Er為傳感器節(jié)點(diǎn)的剩余能量;Pc為當(dāng)該節(jié)點(diǎn)被選為簇頭節(jié)點(diǎn)時(shí),該節(jié)點(diǎn)的 運(yùn)行的功率;Pa為當(dāng)該節(jié)點(diǎn)被選為簇頭節(jié)點(diǎn)時(shí),所有節(jié)點(diǎn)的運(yùn)行的功率總和;Ct和Cp分別 是Er/Pc和Pa的因子。
[0024] 步驟8 :對(duì)傳感器節(jié)點(diǎn)在睡眠、空閑和工作三個(gè)狀態(tài)之間進(jìn)行調(diào)度,從而避免不必 要的能量消耗。初始化時(shí),所有節(jié)點(diǎn)處于工作狀態(tài),節(jié)點(diǎn)由所屬的簇頭節(jié)點(diǎn)進(jìn)行調(diào)度,并將 網(wǎng)絡(luò)覆蓋冗余以及傳感器節(jié)點(diǎn)的采集數(shù)據(jù)的頻率考慮其中。所以,如果一個(gè)節(jié)點(diǎn)沒(méi)必要一 直工作或者對(duì)于目前的網(wǎng)絡(luò)的覆蓋率來(lái)說(shuō)是冗余的,則這個(gè)節(jié)點(diǎn)將被調(diào)度至睡眠狀態(tài),并 周期性的喚醒來(lái)采集數(shù)據(jù);
[0025] 步驟9:當(dāng)一個(gè)節(jié)點(diǎn)即將從工作狀態(tài)轉(zhuǎn)換為睡眠狀態(tài)時(shí),該節(jié)點(diǎn)所屬的簇頭節(jié)點(diǎn) 將會(huì)選擇合適的替換節(jié)點(diǎn),將這些節(jié)點(diǎn)的狀態(tài)從睡眠狀態(tài)切換至空閑狀態(tài)。一個(gè)節(jié)點(diǎn)最終 被選擇為替換節(jié)點(diǎn)需要根據(jù)權(quán)值W來(lái)判斷,權(quán)值W由節(jié)點(diǎn)自己來(lái)計(jì)算,其表達(dá)式具體為:
[0027] 其中,Er為傳感器節(jié)點(diǎn)的剩余能量;P為該節(jié)點(diǎn)的通信功率。
[0028] 利用超圖理論實(shí)現(xiàn)的分割和成簇,具體構(gòu)造步驟為:
[0029] 步驟1 :超圖被迭代地二分,每次二分都根據(jù)多層次的超圖劃分算法進(jìn)行;
[0030] 步驟2 :多層次的超圖劃分算法主要由三個(gè)部分組成,分別為粗化階段、初始劃分 階段和細(xì)化階段;
[0031] 步驟3 :在粗化階段,初始超圖基于MHEC算法進(jìn)行,該算法被應(yīng)用與粗化階段的整 個(gè)過(guò)程,所以超圖在粗化階段的各個(gè)層級(jí)上都會(huì)被進(jìn)行分簇;
[0032] 步驟4 :在初始劃分階段,初始劃分是在粗化程度最高的超圖上進(jìn)行的。其具體過(guò) 程為,根據(jù)BFS算法隨機(jī)從一個(gè)節(jié)點(diǎn)V開(kāi)始搜索節(jié)點(diǎn),直至搜索到的節(jié)點(diǎn)占整個(gè)超圖的比率 為P,而P的值則根據(jù)實(shí)際情況在〇到100之間調(diào)整,其默認(rèn)值為50 ;
[0033] 步驟5 :由于初始劃分階段中節(jié)點(diǎn)V是隨機(jī)選取的,所以得出的結(jié)果不一定是最優(yōu) 的,且隨著超圖的不斷細(xì)化,也會(huì)對(duì)最初的超圖劃分有影響,所以在初始劃分階段保存十個(gè) 效果最好的初始劃分,在細(xì)化階段中根據(jù)它們各自的效果進(jìn)行篩選;
[0034] 步驟6:在細(xì)化階段將引用單個(gè)節(jié)點(diǎn)移動(dòng),其具體含義為通過(guò)移動(dòng)初始劃分周?chē)?的節(jié)點(diǎn)來(lái)獲取最優(yōu)模塊度Q,從而獲得最優(yōu)的劃分策略。計(jì)算每個(gè)分割線附近的節(jié)點(diǎn)的Λ Q 值,此時(shí)這些節(jié)點(diǎn)的狀態(tài)為未鎖住的。移動(dòng)Λ Q值最大的節(jié)點(diǎn)到分割線的另外一邊,并設(shè)置 該節(jié)點(diǎn)的狀態(tài)為鎖住的。然后更新所有分割線附近的節(jié)點(diǎn)的Λ Q值,重復(fù)執(zhí)行上一個(gè)操作, 直至所有分割線附近的節(jié)點(diǎn)的狀態(tài)都為鎖住的或者它們的Λ Q值都不大于〇。
[0035] 在構(gòu)建完能量節(jié)約型無(wú)線傳感器網(wǎng)絡(luò)之后,節(jié)點(diǎn)可能離開(kāi)、加入網(wǎng)絡(luò),也有可能在 網(wǎng)絡(luò)中移動(dòng),因此節(jié)點(diǎn)的參數(shù)是動(dòng)態(tài)可變的。所以需要周期性的在主基站上運(yùn)行超圖劃分 和成簇,使得網(wǎng)絡(luò)的最優(yōu)結(jié)構(gòu)持續(xù)有效。
【附圖說(shuō)明】
[0036] 圖1是無(wú)線傳感器網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)示意圖。
[0037] 圖2是簡(jiǎn)化的網(wǎng)絡(luò)劃分流程示意圖。
[0038] 圖3是簡(jiǎn)化的超圖二分流程示意圖。
[0039] 圖4是超圖二分中細(xì)化階段的偽代碼示意圖。
[0040] 圖5是單個(gè)節(jié)點(diǎn)移動(dòng)的示意圖。
【具體實(shí)施方式】
[0041] 圖1是無(wú)線傳感器網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)示意圖,它包含一個(gè)基站101以及一些 簇102(1-3)。每一個(gè)簇102(1-3)由一個(gè)簇頭103(1-3)和一定數(shù)量的傳感器節(jié)點(diǎn) 104(1-3),105(1-4),106(1-3)組成。
[0042] 其具體構(gòu)造步驟為:
[0043] 步驟I :一種能量節(jié)約型無(wú)線傳感器網(wǎng)絡(luò)的構(gòu)造和維護(hù)方法的實(shí)現(xiàn)依賴于能夠獲 取所有的傳感器節(jié)點(diǎn)103(1-3),104(1-3),105(1-4),106(1-3)的位置信息,所以需要一個(gè) 定位系統(tǒng)來(lái)來(lái)收集所有的節(jié)點(diǎn)103(1-3),104(1-3),105(1-4),106(1-3)位置,并將這些信 息存儲(chǔ)在基站101之中?;?01的數(shù)量可能不止一個(gè),但是只能在其中一個(gè)基站101上 運(yùn)行構(gòu)造方法,而其他的基站101只是存儲(chǔ)和主基站相同的信息,作為主基站101的拷貝或 者候補(bǔ);
[0044] 步驟2 :主基站101向每個(gè)節(jié)點(diǎn)發(fā)送一個(gè)時(shí)間點(diǎn)T,這意味著所有的傳感器節(jié)點(diǎn)10 3(1-3),104(1-3),105(1-4),106(1-3)將在時(shí)間點(diǎn)T 一齊向定位系統(tǒng)發(fā)送自己的位置信 息,從而實(shí)現(xiàn)這些位置信息大致的同步;
[0045] 步驟3 :通過(guò)基于RNG的功率控制來(lái)調(diào)節(jié)每一個(gè)節(jié)點(diǎn)103 (1-3),104 (1-3),105 (1-4),106(1-3)的通信功率,將通信功率縮小到能夠與它的最遠(yuǎn)鄰居節(jié)點(diǎn)通信