專(zhuān)利名稱(chēng):穩(wěn)定節(jié)能分群方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種形成和保持分層分布式結(jié)構(gòu)的網(wǎng)絡(luò)分群方法,特別是一種可提供穩(wěn)定網(wǎng)絡(luò)分群結(jié)構(gòu)、保證節(jié)點(diǎn)能量均衡消耗和延長(zhǎng)網(wǎng)絡(luò)整體生存時(shí)間的穩(wěn)定節(jié)能分群方法。
背景技術(shù):
移動(dòng)自組織網(wǎng)絡(luò)中,在進(jìn)行通信之前需要經(jīng)過(guò)自組織過(guò)程形成預(yù)定的網(wǎng)絡(luò)結(jié)構(gòu),以便實(shí)現(xiàn)對(duì)通信的支持、控制和管理。這些網(wǎng)絡(luò)結(jié)構(gòu)通常分為完全分布式、分層分布式和集中式三類(lèi)。其中,為了支持自組織網(wǎng)絡(luò)的無(wú)線、多跳、移動(dòng)特性,分層分布式結(jié)構(gòu)(即分群結(jié)構(gòu))是最有效的控制和管理方法。分群結(jié)構(gòu)是利用分群協(xié)議把整個(gè)網(wǎng)絡(luò)中的所有節(jié)點(diǎn)劃歸到多個(gè)相連的以群首(CH)為中心的群組,由群首負(fù)責(zé)群組內(nèi)的控制和管理,其優(yōu)點(diǎn)包括提高信道的空間復(fù)用效率、減少路由和網(wǎng)絡(luò)控制管理開(kāi)銷(xiāo)、易實(shí)現(xiàn)擁塞控制和流量均衡、為多媒體業(yè)務(wù)提供保證服務(wù)質(zhì)量(QoS)的傳輸、易實(shí)現(xiàn)網(wǎng)絡(luò)的移動(dòng)性管理和局部同步、適于擴(kuò)展擁有大量節(jié)點(diǎn)的自組織網(wǎng)絡(luò)等。
移動(dòng)自組織網(wǎng)絡(luò)中,節(jié)點(diǎn)的移動(dòng)、加入、離去或失效等情況造成了通信鏈路的斷接和網(wǎng)絡(luò)拓?fù)涞淖兓?,這在分群之后表現(xiàn)為節(jié)點(diǎn)經(jīng)常加入或離開(kāi)群,影響分群結(jié)構(gòu)乃至網(wǎng)絡(luò)通信的穩(wěn)定。更為嚴(yán)重的情況是,劇烈的節(jié)點(diǎn)移動(dòng)導(dǎo)致頻繁的群首更替和分群的分解、重構(gòu),引入了較大的通信和計(jì)算開(kāi)銷(xiāo),進(jìn)而嚴(yán)重影響其他網(wǎng)絡(luò)性能,如通信所用路由、端到端吞吐量、時(shí)延、分組丟棄率和各類(lèi)資源管理利用等。因此對(duì)于分層結(jié)構(gòu),最關(guān)鍵的問(wèn)題是如何收集、運(yùn)用拓?fù)湫畔ⅲ焖俳㈩A(yù)定的分群結(jié)構(gòu),實(shí)現(xiàn)在高速移動(dòng)環(huán)境下的動(dòng)態(tài)穩(wěn)定保持。這個(gè)問(wèn)題由分群方法和分群保持方法兩個(gè)方面來(lái)解決,分群方法是在探測(cè)拓?fù)涞幕A(chǔ)上形成網(wǎng)絡(luò)的分群結(jié)構(gòu),主要是群首選擇過(guò)程,而分群保持方法則是在節(jié)點(diǎn)移動(dòng)情況下保持穩(wěn)定、可連續(xù)通信的分群網(wǎng)絡(luò)。分群方法和分群保持方法通常是利用節(jié)點(diǎn)的某些特征或因素作為分群及分群保持的依據(jù),即把這些特征或因素映射成一種權(quán)重,當(dāng)某一節(jié)點(diǎn)的權(quán)重在局部最大時(shí),該節(jié)點(diǎn)就被選為群首?,F(xiàn)有的分群方法和分群保持方法分別為(1)最小本征號(hào)分群(Lowest ID)方法該方法中,鄰節(jié)點(diǎn)中具有最小ID的節(jié)點(diǎn)被選作群首,在兩個(gè)群首相遇時(shí)保留最小ID的群首。該方法僅需要兩輪控制消息的交換即可建立分群結(jié)構(gòu),具有分群速度較快、分群保持過(guò)程簡(jiǎn)單等優(yōu)點(diǎn)。但該方法在群首選舉和分群保持過(guò)程中沒(méi)有考慮節(jié)點(diǎn)移動(dòng)因素的影響,使最小ID的節(jié)點(diǎn)由于充當(dāng)群首而消耗更多的能量,如果局部最小ID的節(jié)點(diǎn)移動(dòng)很快,群分解和重構(gòu)的頻率就很大,會(huì)導(dǎo)致網(wǎng)絡(luò)性能的惡化。
(2)最大連接度分群(Max Degree)方法該方法利用最大連接度(即節(jié)點(diǎn)的鄰節(jié)點(diǎn)數(shù)目)的標(biāo)準(zhǔn)來(lái)分群并進(jìn)行分群保持,其目標(biāo)是盡量將控制管理權(quán)交給鄰節(jié)點(diǎn)較多的節(jié)點(diǎn)。該方法的優(yōu)點(diǎn)在于分群的數(shù)目較少,減少了分組傳輸時(shí)延,但缺點(diǎn)是降低了信道的空分復(fù)用。同時(shí),當(dāng)群內(nèi)節(jié)點(diǎn)數(shù)目較多時(shí),平均到每個(gè)節(jié)點(diǎn)的吞吐量將會(huì)減少,使群首更易成為網(wǎng)絡(luò)通信的瓶頸,網(wǎng)絡(luò)的整體效能將隨之降低。此外,由于該分群方法執(zhí)行前必須獲得節(jié)點(diǎn)的連接度,這需要多交換一輪自組織消息,因此該方法還存在組網(wǎng)時(shí)間較長(zhǎng)、開(kāi)銷(xiāo)較大、群首和成員穩(wěn)定性差等缺陷。
(3)分布式移動(dòng)自適應(yīng)分群(DMAC)方法該方法根據(jù)節(jié)點(diǎn)事先指定的權(quán)重值,在鄰節(jié)點(diǎn)中具有最大權(quán)重的節(jié)點(diǎn)被選為群首,并在此之后結(jié)合鏈路失效、建立和節(jié)點(diǎn)加入事件進(jìn)行分群保持。但該方法沒(méi)有考慮節(jié)點(diǎn)移動(dòng)性,高權(quán)重群首的高速移動(dòng)會(huì)嚴(yán)重影響整個(gè)網(wǎng)絡(luò)的性能,并且算法中所采用的權(quán)重值是事先指定,沒(méi)有說(shuō)明其意義以及如何反映網(wǎng)絡(luò)中節(jié)點(diǎn)的特性。
(4)非確定-確定混合分群(UC-CM)方法該方法引入“優(yōu)先級(jí)”參數(shù)來(lái)進(jìn)行分群和分群保持,節(jié)點(diǎn)的優(yōu)先級(jí)越高,越優(yōu)先成為群首。該方法同樣因?yàn)闆](méi)有考慮節(jié)點(diǎn)移動(dòng)因素影響,當(dāng)群首移動(dòng)較快時(shí),群分解和重構(gòu)的頻率就很大,導(dǎo)致網(wǎng)絡(luò)性能的惡化。
(5)基于接入的分群(ABCP)和基于信道接入的自組織分群(CABSOC)方法該方法從信道接入的角度考慮分群協(xié)議,從一開(kāi)始節(jié)點(diǎn)就試圖利用所設(shè)計(jì)的信道接入方法成為群首或加入已經(jīng)存在的群,當(dāng)群首相遇、進(jìn)入非活動(dòng)態(tài)、異常情況(如節(jié)點(diǎn)失效、消息丟失等)等事件出現(xiàn)時(shí)進(jìn)行相關(guān)的分群保持。由于前者需要利用周期性的HELLO消息或heart-beat詢(xún)問(wèn)應(yīng)答消息來(lái)表明群首和普通節(jié)點(diǎn)的存在,后者需要各節(jié)點(diǎn)周期性廣播信標(biāo)(Beacon)來(lái)申明本節(jié)點(diǎn)的存在,存在組網(wǎng)時(shí)間較長(zhǎng)、開(kāi)銷(xiāo)較大等缺陷。
(6)基于移動(dòng)性機(jī)制的分群(MOBIC)方法該方法為克服上述方法未考慮節(jié)點(diǎn)移動(dòng)因素所的技術(shù)缺陷,把連續(xù)收到分組的接收信號(hào)功率比作為評(píng)估節(jié)點(diǎn)間相對(duì)移動(dòng)性的權(quán)重,并利用該權(quán)重來(lái)選擇群首和保持分群。由于該方法的前提假設(shè)是無(wú)線信號(hào)傳播信道中不存在多徑和衰落影響,在節(jié)點(diǎn)移動(dòng)性方面僅考慮了節(jié)點(diǎn)單體的移動(dòng)性,并且需要相距兩跳節(jié)點(diǎn)的信息,使該方法在實(shí)際應(yīng)用中仍存在開(kāi)銷(xiāo)較大、群首和成員穩(wěn)定性差等缺陷。
(7)基于權(quán)值分群(WCA)方法該方法考慮了節(jié)點(diǎn)作為群首所能支持的最佳成員節(jié)點(diǎn)數(shù)、節(jié)點(diǎn)的傳輸功率、移動(dòng)性及剩余能量狀態(tài),在鄰居范圍內(nèi)選擇具有最小權(quán)值的節(jié)點(diǎn)成為群首節(jié)點(diǎn),分群維保持也是通過(guò)事件驅(qū)動(dòng)方式調(diào)用分群方法實(shí)現(xiàn)。但是該方法所提出的各個(gè)權(quán)值分量不能很好體現(xiàn)節(jié)點(diǎn)的對(duì)應(yīng)特征,權(quán)值的計(jì)算需要進(jìn)行大量的信息交換及計(jì)算,帶來(lái)大量開(kāi)銷(xiāo)。
綜上所述可以看出,上述現(xiàn)有技術(shù)的分群保持方法都是在網(wǎng)絡(luò)拓?fù)浒l(fā)生變化后被動(dòng)地觸發(fā)網(wǎng)絡(luò)中節(jié)點(diǎn)信息的收集,再通過(guò)大量的信息交互開(kāi)銷(xiāo)才能夠獲取分群維護(hù)所需的網(wǎng)絡(luò)節(jié)點(diǎn)狀態(tài)信息,是完全的被動(dòng)維護(hù),存在效率低、開(kāi)銷(xiāo)大等問(wèn)題。另外,上述現(xiàn)有技術(shù)的分群方法要么沒(méi)有考慮節(jié)點(diǎn)移動(dòng)性,要么雖然考慮了節(jié)點(diǎn)移動(dòng)性,但不能很好地體現(xiàn)節(jié)點(diǎn)的對(duì)應(yīng)特征。一方面只是在節(jié)點(diǎn)移動(dòng)、入網(wǎng)、退網(wǎng)或失效而造成拓?fù)浒l(fā)生變化后去應(yīng)對(duì)這些變化,而節(jié)點(diǎn)的移動(dòng)是造成拓?fù)渥兓?、影響分群結(jié)構(gòu)穩(wěn)定的主要因素,因此相關(guān)方法不能從根本上有效保證分群結(jié)構(gòu)的穩(wěn)定;另一方面在實(shí)際應(yīng)用中存在大量信息交換及計(jì)算開(kāi)銷(xiāo),分群結(jié)構(gòu)形成不夠迅速,并且存在能量消耗不均衡、網(wǎng)絡(luò)整體壽命短等技術(shù)缺陷。
發(fā)明內(nèi)容
本發(fā)明的目的是針對(duì)現(xiàn)有分群和分群保持方法中存在的分群結(jié)構(gòu)被動(dòng)維護(hù)、穩(wěn)定性差、少數(shù)節(jié)點(diǎn)移動(dòng)導(dǎo)致網(wǎng)絡(luò)性能惡化、開(kāi)銷(xiāo)較大以及能量消耗不均衡等技術(shù)缺陷,提供一種穩(wěn)定節(jié)能分群方法,在高速移動(dòng)環(huán)境下可以有效的保證分群結(jié)構(gòu)的穩(wěn)定性,同時(shí)確保節(jié)點(diǎn)擔(dān)當(dāng)群首的公平性,從而均衡能量消耗,延長(zhǎng)網(wǎng)絡(luò)整體壽命。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供了一種穩(wěn)定節(jié)能分群方法,包括步驟步驟10、設(shè)定群首輪詢(xún)時(shí)鐘;步驟20、啟動(dòng)輪詢(xún)時(shí)鐘;步驟30、判斷輪詢(xún)時(shí)鐘是否超時(shí),超時(shí)時(shí)執(zhí)行步驟40,未超時(shí)則執(zhí)行步驟30;步驟40、群首輪詢(xún)?nèi)簝?nèi)成員節(jié)點(diǎn),獲取成員節(jié)點(diǎn)的相對(duì)移動(dòng)性值、相對(duì)剩余能量狀況值和局部節(jié)點(diǎn)度值,計(jì)算各成員節(jié)點(diǎn)的選擇權(quán)值;步驟50、群首判斷其選擇權(quán)值是否低于選擇閾值,是則執(zhí)行步驟60,否則執(zhí)行步驟70;步驟60、群首激活群內(nèi)候選節(jié)點(diǎn),候選節(jié)點(diǎn)發(fā)送群首消息,宣布成為新群首,其他成員節(jié)點(diǎn)和原群首加入新群,新的分群結(jié)構(gòu)形成;
步驟70、群首選擇候選節(jié)點(diǎn),候選節(jié)點(diǎn)監(jiān)視群首狀態(tài),執(zhí)行步驟20;其中,所述步驟40中節(jié)點(diǎn)的選擇權(quán)值為Wi=w1Si+w2Pi+w3Ri,式中,i表示節(jié)點(diǎn)ID,Wi表示節(jié)點(diǎn)i的選擇權(quán)值,Si表示節(jié)點(diǎn)i相對(duì)于其鄰居節(jié)點(diǎn)的相對(duì)移動(dòng)性值,Pi表示節(jié)點(diǎn)i的相對(duì)剩余能量狀況值,Ri表示節(jié)點(diǎn)i的局部節(jié)點(diǎn)度值,系數(shù)w1,w2和w3是相應(yīng)參數(shù)的權(quán)重值,且∑wi=1。
其中,所述步驟70具體為步驟71、群首選擇具有最大選擇權(quán)值的成員節(jié)點(diǎn)為候選節(jié)點(diǎn);步驟72、群首廣播發(fā)布消息,公布候選節(jié)點(diǎn)ID和各成員節(jié)點(diǎn)選擇權(quán)值;步驟73、候選節(jié)點(diǎn)定期檢查是否收到群首節(jié)點(diǎn)廣播的周期性消息,收到時(shí)執(zhí)行步驟20,未收到時(shí)執(zhí)行步驟74;步驟74、候選節(jié)點(diǎn)向群首發(fā)送詢(xún)問(wèn)消息;步驟75、候選節(jié)點(diǎn)判斷是否收到群首的確認(rèn)消息,收到時(shí)執(zhí)行步驟20,否則執(zhí)行步驟76;步驟76、候選節(jié)點(diǎn)判斷詢(xún)問(wèn)計(jì)數(shù)值是否超過(guò)詢(xún)問(wèn)計(jì)數(shù)閾值,是則執(zhí)行步驟77,否則將詢(xún)問(wèn)計(jì)數(shù)值加1后執(zhí)行步驟74;步驟77、候選節(jié)點(diǎn)自動(dòng)激活,發(fā)送群首消息,宣布成為新群首,其他成員節(jié)點(diǎn)和原群首加入新群,新的分群結(jié)構(gòu)形成,返回執(zhí)行步驟20。
在上述技術(shù)方案中,所述步驟30中當(dāng)判斷輪詢(xún)時(shí)鐘未超時(shí)時(shí),執(zhí)行步驟步驟31、網(wǎng)絡(luò)拓?fù)渥詣?dòng)監(jiān)視,探測(cè)分群結(jié)構(gòu)變化;步驟32、判斷分群結(jié)構(gòu)是否變化,當(dāng)分群結(jié)構(gòu)變化時(shí)執(zhí)行步驟33,否則執(zhí)行步驟30;步驟33、根據(jù)不同事件類(lèi)型,調(diào)用相應(yīng)處理程序進(jìn)行分群結(jié)構(gòu)更新,更新結(jié)束后執(zhí)行步驟30。
所述步驟33中調(diào)用相應(yīng)處理程序進(jìn)行分群結(jié)構(gòu)的更新包括節(jié)點(diǎn)加入處理、節(jié)點(diǎn)退出處理、群首相遇處理、節(jié)點(diǎn)脫離群首處理或成員節(jié)點(diǎn)失效處理。
在上述技術(shù)方案中,還包括對(duì)網(wǎng)絡(luò)進(jìn)行初始化分群的步驟,具體為
步驟1、網(wǎng)絡(luò)中所有節(jié)點(diǎn)廣播消息,所述消息包含節(jié)點(diǎn)ID和剩余能量值;步驟2、每個(gè)節(jié)點(diǎn)根據(jù)收到消息生成一個(gè)鄰居節(jié)點(diǎn)表;步驟3、每個(gè)節(jié)點(diǎn)判斷其剩余能量值是否大于能量閾值,是則執(zhí)行步驟4,否則執(zhí)行步驟6;步驟4、所述節(jié)點(diǎn)判斷其節(jié)點(diǎn)ID是否在鄰居范圍未分群節(jié)點(diǎn)中為最小,是則執(zhí)行步驟5,否則執(zhí)行步驟7;步驟5、所述節(jié)點(diǎn)發(fā)送群首消息,宣布建立新群,所述新群ID為該節(jié)點(diǎn)的ID,穩(wěn)定節(jié)能分群完畢;步驟6、所述節(jié)點(diǎn)等待,直至收到來(lái)自鄰居節(jié)點(diǎn)的群首消息,節(jié)點(diǎn)加入該群成為成員節(jié)點(diǎn),穩(wěn)定節(jié)能分群完畢;步驟7、所述節(jié)點(diǎn)判斷是否在一設(shè)定時(shí)間內(nèi)收到來(lái)自鄰居節(jié)點(diǎn)的群首消息,收到時(shí)執(zhí)行步驟8,否則返回執(zhí)行步驟4;步驟8、節(jié)點(diǎn)加入該群成為成員節(jié)點(diǎn),穩(wěn)定節(jié)能分群完畢。
本發(fā)明穩(wěn)定節(jié)能分群方法針對(duì)節(jié)點(diǎn)移動(dòng)性對(duì)分群結(jié)構(gòu)穩(wěn)定性的劇烈影響,提出了一種通過(guò)定期輪詢(xún)方式監(jiān)視網(wǎng)絡(luò)節(jié)點(diǎn)狀態(tài)以更新分群結(jié)構(gòu)、對(duì)分群結(jié)構(gòu)進(jìn)行必要維護(hù)的穩(wěn)定節(jié)能分群維護(hù)方法,還提出了一種節(jié)能初始化分群方法。
在初始狀態(tài)下,本發(fā)明采用節(jié)能初始化分群方法對(duì)網(wǎng)絡(luò)進(jìn)行初始化分群,所有節(jié)點(diǎn)最終決定其角色,獲得一個(gè)覆蓋全網(wǎng)的分群結(jié)構(gòu)。方法中的群首節(jié)點(diǎn)選舉是基于節(jié)點(diǎn)的ID和節(jié)點(diǎn)的剩余能量值P,當(dāng)節(jié)點(diǎn)的剩余能量值P大于能量閾值Pthreshold時(shí),并且其節(jié)點(diǎn)ID在其鄰居范圍內(nèi)是最小的,那么該節(jié)點(diǎn)將被選舉為群首節(jié)點(diǎn),其鄰居節(jié)點(diǎn)都加入到其中成為成員節(jié)點(diǎn)。本發(fā)明群首節(jié)點(diǎn)選舉考慮了節(jié)點(diǎn)剩余能量值P,且作為衡量節(jié)點(diǎn)是否具備成為群首的先決條件,因此本發(fā)明不僅具有僅需兩輪控制消息的交換即可建立分群結(jié)構(gòu),分群速度較快、分群保持過(guò)程簡(jiǎn)單等優(yōu)點(diǎn),而且由于在群首選舉階段考慮了節(jié)點(diǎn)的剩余能量狀態(tài),避免了某些剩余能量低的節(jié)點(diǎn)擔(dān)當(dāng)群首以及部分節(jié)點(diǎn)長(zhǎng)期擔(dān)當(dāng)群首的可能性,確保了節(jié)點(diǎn)擔(dān)當(dāng)群首的公平性,從而均衡了能量消耗,作為群首的節(jié)點(diǎn)不會(huì)因?yàn)槟芰肯拇笫狗秩航Y(jié)構(gòu)的穩(wěn)定性在短時(shí)間內(nèi)變差,因此消除了現(xiàn)有技術(shù)群分解和重構(gòu)頻率加大、網(wǎng)絡(luò)性能惡化等技術(shù)缺陷。
在分群結(jié)構(gòu)維護(hù)階段,本發(fā)明采用通過(guò)定期輪詢(xún)方式監(jiān)視網(wǎng)絡(luò)節(jié)點(diǎn)狀態(tài)以更新分群結(jié)構(gòu)、對(duì)分群結(jié)構(gòu)進(jìn)行必要維護(hù)的穩(wěn)定節(jié)能分群維護(hù)方法,同時(shí)提出了一種選擇權(quán)值概念,作為群首更換時(shí)選舉群首的判據(jù)。定期輪詢(xún)方式是一種主動(dòng)的分群結(jié)構(gòu)維護(hù)方式,當(dāng)原群首不能承擔(dān)群首角色時(shí)迅速激活備用群首擔(dān)當(dāng)群首角色,可以及時(shí)適應(yīng)節(jié)點(diǎn)運(yùn)動(dòng)和群首能量消耗所帶來(lái)的分群結(jié)構(gòu)變化,有效的保證分群結(jié)構(gòu)的穩(wěn)定性。本發(fā)明根據(jù)節(jié)點(diǎn)的選擇權(quán)值大小為每一個(gè)群首選舉一個(gè)候選節(jié)點(diǎn)作為備用群首,選擇權(quán)值考慮了節(jié)點(diǎn)的相對(duì)移動(dòng)性、相對(duì)剩余能量狀況和局部節(jié)點(diǎn)度,并通過(guò)權(quán)重值將上述節(jié)點(diǎn)特征有機(jī)地結(jié)合起來(lái)。將選擇權(quán)值作為群首更換時(shí)選舉群首的標(biāo)準(zhǔn),使本發(fā)明可有效保證分群結(jié)構(gòu)的穩(wěn)定性,同時(shí)確保節(jié)點(diǎn)擔(dān)當(dāng)群首的公平性,從而均衡能量消耗,延長(zhǎng)網(wǎng)絡(luò)的整體壽命。
另外,本發(fā)明在采用定期輪詢(xún)方式對(duì)網(wǎng)絡(luò)狀態(tài)信息進(jìn)行更形,進(jìn)而對(duì)分群結(jié)構(gòu)進(jìn)行必要維護(hù)的同時(shí),通過(guò)對(duì)網(wǎng)絡(luò)拓?fù)渥詣?dòng)監(jiān)視和分群結(jié)構(gòu)變化探測(cè),針對(duì)群首相遇、成員節(jié)點(diǎn)脫離原群、節(jié)點(diǎn)的加入與退出等情況設(shè)計(jì)了相應(yīng)的處理程序,將分群結(jié)構(gòu)的定期輪詢(xún)和隨時(shí)維護(hù)有機(jī)地結(jié)合在一起,使得本發(fā)明具有寬廣的適應(yīng)性。
下面通過(guò)附圖和實(shí)施例,對(duì)本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
圖1為本發(fā)明穩(wěn)定節(jié)能分群方法流程圖;圖2為本發(fā)明實(shí)施例一的流程圖;圖3、圖4為本發(fā)明實(shí)施例二的流程5為本發(fā)明節(jié)點(diǎn)加入處理流程圖;
圖6為本發(fā)明節(jié)點(diǎn)退出處理流程圖;圖7為本發(fā)明群首相遇處理流程圖;圖8為本發(fā)明節(jié)點(diǎn)脫離群首處理流程圖;圖9為本發(fā)明成員節(jié)點(diǎn)失效處理流程圖;圖10為本發(fā)明初始化分群流程圖。
具體實(shí)施例方式
圖1為本發(fā)明穩(wěn)定節(jié)能分群方法流程圖,具體為步驟10、設(shè)定群首輪詢(xún)時(shí)鐘;步驟20、啟動(dòng)輪詢(xún)時(shí)鐘;步驟30、判斷輪詢(xún)時(shí)鐘是否超時(shí),是則執(zhí)行步驟40,否則執(zhí)行步驟30;步驟40、群首輪詢(xún)?nèi)簝?nèi)成員節(jié)點(diǎn),獲取成員節(jié)點(diǎn)的相對(duì)移動(dòng)性值、相對(duì)剩余能量狀況值和局部節(jié)點(diǎn)度值,計(jì)算各成員節(jié)點(diǎn)的選擇權(quán)值;步驟50、群首判斷其選擇權(quán)值是否低于選擇閾值,是則執(zhí)行步驟60,否則執(zhí)行步驟70;步驟60、群首激活群內(nèi)候選節(jié)點(diǎn),候選節(jié)點(diǎn)發(fā)送群首消息,宣布成為新群首,其他成員節(jié)點(diǎn)和原群首加入新群,新的分群結(jié)構(gòu)形成;步驟70、群首選擇候選節(jié)點(diǎn),候選節(jié)點(diǎn)監(jiān)視群首狀態(tài),執(zhí)行步驟20;上述技術(shù)方案實(shí)際上是一種穩(wěn)定節(jié)能分群維護(hù)方法,群首周期性輪詢(xún)它的成員節(jié)點(diǎn)以獲得節(jié)點(diǎn)的相對(duì)移動(dòng)性值S、相對(duì)剩余能量狀況值P和局部節(jié)點(diǎn)度值R,然后群首為自己及它的所有成員節(jié)點(diǎn)計(jì)算選擇權(quán)值W,并選舉具有最大選擇權(quán)值的成員節(jié)點(diǎn)作為它的候選節(jié)點(diǎn)。當(dāng)群首的選擇權(quán)值降低至選擇閾值Wthreshold以下,以至于它不能擔(dān)當(dāng)群首角色時(shí),原群首會(huì)發(fā)送激活消息激活候選節(jié)點(diǎn)成為新的群首節(jié)點(diǎn)。此時(shí),新群首節(jié)點(diǎn)通過(guò)廣播群首消息宣布自己的新角色,收到這個(gè)群首消息后,它的鄰居節(jié)點(diǎn),包括原來(lái)的群首節(jié)點(diǎn)都通過(guò)發(fā)送加入消息加入新群或者加入到鄰近群中,新的分群結(jié)構(gòu)形成。
本發(fā)明穩(wěn)定節(jié)能分群方法針對(duì)節(jié)點(diǎn)移動(dòng)性對(duì)分群結(jié)構(gòu)穩(wěn)定性的劇烈影響,不僅提出了一種通過(guò)定期輪詢(xún)方式監(jiān)視網(wǎng)絡(luò)節(jié)點(diǎn)狀態(tài)以更新分群結(jié)構(gòu)、對(duì)分群結(jié)構(gòu)進(jìn)行必要維護(hù)的穩(wěn)定節(jié)能分群維護(hù)方法,還提出了一種選擇權(quán)值概念,作為群首更換時(shí)選舉群首的判據(jù)。本發(fā)明穩(wěn)定節(jié)能分群維護(hù)方法是一種主動(dòng)的分群結(jié)構(gòu)維護(hù)方式,突破了現(xiàn)有技術(shù)只有在分群結(jié)構(gòu)出現(xiàn)問(wèn)題時(shí)才進(jìn)行相應(yīng)處理的被動(dòng)維護(hù)方式。在移動(dòng)自組織網(wǎng)絡(luò)中,節(jié)點(diǎn)由于充當(dāng)群首而消耗更多的能量,節(jié)點(diǎn)的高速運(yùn)動(dòng)將導(dǎo)致分群結(jié)構(gòu)穩(wěn)定性很差,因此在分群結(jié)構(gòu)穩(wěn)定性已經(jīng)惡化的情況進(jìn)行被動(dòng)維護(hù),不僅引入了大量控制開(kāi)銷(xiāo),而且很難得到穩(wěn)定的分群。本發(fā)明提出的定期輪詢(xún)方式則有效地解決了現(xiàn)有技術(shù)上述技術(shù)問(wèn)題,本發(fā)明根據(jù)節(jié)點(diǎn)選擇權(quán)值大小為每一個(gè)群首選舉一個(gè)候選節(jié)點(diǎn)作為備用群首,當(dāng)原群首不能承擔(dān)群首角色時(shí)迅速激活備用群首擔(dān)當(dāng)群首角色,可以及時(shí)適應(yīng)節(jié)點(diǎn)移動(dòng)所帶來(lái)的分群結(jié)構(gòu)變化,有效地保證分群結(jié)構(gòu)的穩(wěn)定性,同時(shí)確保節(jié)點(diǎn)擔(dān)當(dāng)群首的公平性,從而均衡能量消耗,延長(zhǎng)網(wǎng)絡(luò)的整體壽命。
本發(fā)明選擇權(quán)值定義為Wi=w1Si+w2Pi+w3Ri式中,i表示節(jié)點(diǎn)ID,Wi表示節(jié)點(diǎn)i的選擇權(quán)值,Si表示節(jié)點(diǎn)i相對(duì)于其鄰居節(jié)點(diǎn)的相對(duì)移動(dòng)性值,Pi表示節(jié)點(diǎn)i的相對(duì)剩余能量狀況值,Ri表示節(jié)點(diǎn)i的局部節(jié)點(diǎn)度值,系數(shù)w1、w2和w3是相應(yīng)參數(shù)的權(quán)重值,且∑wi=1。。
本發(fā)明選擇權(quán)值Wi考慮了節(jié)點(diǎn)的相對(duì)移動(dòng)性、相對(duì)剩余能量狀況和局部節(jié)點(diǎn)度,并通過(guò)權(quán)重值將上述節(jié)點(diǎn)特征有機(jī)地結(jié)合起來(lái),根據(jù)系統(tǒng)要求和網(wǎng)絡(luò)的實(shí)際特點(diǎn)可以動(dòng)態(tài)調(diào)節(jié)權(quán)重值以適應(yīng)不同的系統(tǒng)要求。節(jié)點(diǎn)由于充當(dāng)群首會(huì)消耗更多的能量,相對(duì)剩余能量狀況可以很好地反映節(jié)點(diǎn)的能量狀態(tài),保證在一定范圍內(nèi)選舉出具有較大能量的節(jié)點(diǎn)成為群首,避免了相對(duì)剩余能量較低的節(jié)點(diǎn)擔(dān)當(dāng)群首角色的可能性,因此均衡了網(wǎng)絡(luò)中節(jié)點(diǎn)能量的消耗,延長(zhǎng)了網(wǎng)絡(luò)壽命;節(jié)點(diǎn)的高速運(yùn)動(dòng)將導(dǎo)致節(jié)點(diǎn)連接度的頻繁變化,同時(shí)在維護(hù)過(guò)程中將會(huì)引入大量的控制開(kāi)銷(xiāo),本發(fā)明選擇權(quán)值引入節(jié)點(diǎn)的相對(duì)移動(dòng)性可以很好地保證分群結(jié)構(gòu)的穩(wěn)定性;節(jié)點(diǎn)的局部節(jié)點(diǎn)度反映該節(jié)點(diǎn)與原群中成員節(jié)點(diǎn)的連結(jié)狀況,該值越大,則表示對(duì)應(yīng)節(jié)點(diǎn)與原群中越多的成員節(jié)點(diǎn)相連結(jié),當(dāng)該節(jié)點(diǎn)成為群首節(jié)點(diǎn)時(shí)引起的分群結(jié)構(gòu)變化與原分群結(jié)構(gòu)相比最小,因此可以很好地保持原來(lái)的分群結(jié)構(gòu),提高了穩(wěn)定性,并且減少了因成員節(jié)點(diǎn)更換群首帶來(lái)的交互開(kāi)銷(xiāo)。將選擇權(quán)值作為群首更換時(shí)選舉群首的標(biāo)準(zhǔn),使本發(fā)明可有效保證分群結(jié)構(gòu)的穩(wěn)定性,同時(shí)確保節(jié)點(diǎn)擔(dān)當(dāng)群首的公平性,從而均衡能量消耗,延長(zhǎng)網(wǎng)絡(luò)的整體壽命。由于本發(fā)明中采用了一種主動(dòng)輪詢(xún)的方式監(jiān)視網(wǎng)絡(luò)節(jié)點(diǎn)狀態(tài)以便對(duì)分群結(jié)構(gòu)進(jìn)行維護(hù),所需要的信息都能夠通過(guò)定期輪詢(xún)獲得,無(wú)需通過(guò)被動(dòng)交互的方式進(jìn)行相關(guān)信息的獲取,在很大程度上減少了信息的交換,降低了開(kāi)銷(xiāo)。同時(shí),由于采用選擇權(quán)值作為群首更換時(shí)選舉群首的標(biāo)準(zhǔn),充分考慮了引起網(wǎng)絡(luò)拓?fù)渥兓囊蛩?,提高了分群結(jié)構(gòu)的穩(wěn)定性,從而減少了分群維護(hù)過(guò)程中分群結(jié)構(gòu)重建的次數(shù),也在很大程度上降低了開(kāi)銷(xiāo)。
本發(fā)明可根據(jù)系統(tǒng)要求和網(wǎng)絡(luò)的實(shí)際特點(diǎn)對(duì)權(quán)重值w1、w2和w3進(jìn)行動(dòng)態(tài)調(diào)節(jié),以適應(yīng)不同的系統(tǒng)要求。例如,對(duì)于無(wú)線傳感器網(wǎng)絡(luò),由于節(jié)點(diǎn)移動(dòng)性很低,影響分群結(jié)構(gòu)的主要因素為節(jié)點(diǎn)的能量狀態(tài),可以設(shè)置w1=0.05~0.10,w2=0.80~0.90,w3=0.05~0.10;對(duì)于高速移動(dòng)環(huán)境下的無(wú)線自組織網(wǎng)絡(luò),影響分群結(jié)構(gòu)的主要因素為節(jié)點(diǎn)的移動(dòng)性,并且節(jié)點(diǎn)的電源可以更換,能量不再是主要考慮的因素,可以設(shè)置w1=0.45~0.55,w2=0.05~0.10,w3=0.40~0.50。
下面通過(guò)具體實(shí)施例進(jìn)一步說(shuō)明本發(fā)明技術(shù)方案。
實(shí)施例一圖2為本發(fā)明實(shí)施例一的流程圖。如圖2所示,本實(shí)施例的技術(shù)方案是在圖1所示技術(shù)方案基礎(chǔ)上,所述步驟70具體為步驟71、群首選擇具有最大選擇權(quán)值的成員節(jié)點(diǎn)為候選節(jié)點(diǎn);
步驟72、群首廣播發(fā)布消息,公布候選節(jié)點(diǎn)ID和各成員節(jié)點(diǎn)選擇權(quán)值;步驟73、候選節(jié)點(diǎn)定期檢查是否收到群首節(jié)點(diǎn)廣播的周期性消息,收到時(shí)執(zhí)行步驟20,未收到時(shí)執(zhí)行步驟74;步驟74、候選節(jié)點(diǎn)向群首發(fā)送詢(xún)問(wèn)消息;步驟75、候選節(jié)點(diǎn)判斷是否收到群首返回的確認(rèn)消息,收到時(shí)執(zhí)行步驟20,否則執(zhí)行步驟76;步驟76、候選節(jié)點(diǎn)判斷詢(xún)問(wèn)計(jì)數(shù)值是否超過(guò)詢(xún)問(wèn)計(jì)數(shù)閾值,是則執(zhí)行步驟77,否則將詢(xún)問(wèn)計(jì)數(shù)值加1,返回執(zhí)行步驟74;步驟77、候選節(jié)點(diǎn)自動(dòng)激活,發(fā)送群首消息,宣布成為新群首,其他成員節(jié)點(diǎn)和原群首加入新群,新的分群結(jié)構(gòu)形成,返回執(zhí)行步驟20。
本實(shí)施例具體處理過(guò)程為在分群維護(hù)階段,群首周期性輪詢(xún)它的普通成員節(jié)點(diǎn)以獲得節(jié)點(diǎn)的相對(duì)移動(dòng)性值S,節(jié)點(diǎn)相對(duì)剩余能量狀況值P和局部節(jié)點(diǎn)度值R,然后,群首為自己及它的所有成員節(jié)點(diǎn)計(jì)算選擇權(quán)值W。當(dāng)群首節(jié)點(diǎn)選擇權(quán)值下降到選擇閾值Wthreshold以下,以至于它不能擔(dān)當(dāng)群首角色時(shí),原群首會(huì)發(fā)送激活消息激活候選節(jié)點(diǎn)成為新的群首節(jié)點(diǎn)。此時(shí)新群首節(jié)點(diǎn)通過(guò)廣播群首消息宣布自己的新角色。收到這個(gè)群首消息后,它的鄰居節(jié)點(diǎn),包括原來(lái)的群首節(jié)點(diǎn)都通過(guò)發(fā)送加入消息加入新群或者加入到鄰近群中。如果群首節(jié)點(diǎn)選擇權(quán)值在選擇閾值Wthreshold以上,說(shuō)明它仍能擔(dān)當(dāng)群首角色。無(wú)論是原群首繼續(xù)擔(dān)當(dāng)群首角色還是新群首取代原群首,原群首或新群首都選舉具有最大選擇權(quán)值的成員節(jié)點(diǎn)作為它的候選節(jié)點(diǎn),并廣播包含候選節(jié)點(diǎn)ID和所有節(jié)點(diǎn)選擇權(quán)值的候選節(jié)點(diǎn)消息,候選節(jié)點(diǎn)作為群首節(jié)點(diǎn)的備用存在。之后,候選節(jié)點(diǎn)通過(guò)檢查是否收到群首節(jié)點(diǎn)廣播的周期性消息,可以監(jiān)視群首狀態(tài),當(dāng)候選節(jié)點(diǎn)在一段時(shí)間內(nèi)不能收到群首消息時(shí),它會(huì)發(fā)送一個(gè)詢(xún)問(wèn)消息。如果群首還存在,它將會(huì)發(fā)送一個(gè)確認(rèn)消息。當(dāng)嘗試一定次數(shù)后還是不能收到確認(rèn)時(shí),候選節(jié)點(diǎn)將會(huì)認(rèn)為原群首已經(jīng)消失,因此候選節(jié)點(diǎn)廣播群首消息,宣布成為新群首。收到這個(gè)群首消息的節(jié)點(diǎn)如果不能和它的原群首通信,它們將會(huì)選擇加入到新群中或者加入到其他相鄰群中。
本實(shí)施例技術(shù)方案進(jìn)一步確保了分群結(jié)構(gòu)的穩(wěn)定性,特別是當(dāng)群首出現(xiàn)問(wèn)題時(shí),候選節(jié)點(diǎn)可以及時(shí)判斷出群首是否存在,在高速移動(dòng)環(huán)境下從根本上有效保證分群結(jié)構(gòu)的穩(wěn)定。
實(shí)施例二本實(shí)施例的技術(shù)方案是在圖1、圖2所示技術(shù)方案基礎(chǔ)上,所述步驟30中,當(dāng)判斷輪詢(xún)時(shí)鐘未超時(shí)時(shí),執(zhí)行下述步驟步驟31、網(wǎng)絡(luò)拓?fù)渥詣?dòng)監(jiān)視,探測(cè)分群結(jié)構(gòu)變化;步驟32、判斷分群結(jié)構(gòu)是否變化,當(dāng)分群結(jié)構(gòu)變化時(shí)執(zhí)行步驟33,否則執(zhí)行步驟30;步驟33、根據(jù)不同事件類(lèi)型,調(diào)用相應(yīng)處理程序進(jìn)行分群結(jié)構(gòu)更新,更新結(jié)束后執(zhí)行步驟30。
本實(shí)施例是在定期輪詢(xún)方式更新更新網(wǎng)絡(luò)狀態(tài)信息,進(jìn)而更新分群結(jié)構(gòu)、對(duì)分群結(jié)構(gòu)進(jìn)行必要維護(hù)的同時(shí),通過(guò)對(duì)網(wǎng)絡(luò)拓?fù)渥詣?dòng)監(jiān)視和分群結(jié)構(gòu)變化探測(cè),并根據(jù)監(jiān)視和探測(cè)的結(jié)果,對(duì)發(fā)生變化的分群結(jié)構(gòu)進(jìn)行調(diào)用相應(yīng)處理程序進(jìn)行分群結(jié)構(gòu)更新。該技術(shù)方案將分群結(jié)構(gòu)的定期輪詢(xún)和隨時(shí)維護(hù)有機(jī)地結(jié)合在一起,主動(dòng)輪詢(xún)可以定期獲得所需的信息,而其他較小的網(wǎng)絡(luò)拓?fù)渥兓浑S時(shí)維護(hù)及時(shí)處理掉,既提高了分群結(jié)構(gòu)的穩(wěn)定性,又減少了分群結(jié)構(gòu)重建次數(shù)。
圖3和圖4分別示意了本實(shí)施例相應(yīng)的流程圖,具體處理過(guò)程為設(shè)定群首輪詢(xún)時(shí)鐘后,群首只有在輪詢(xún)時(shí)鐘超時(shí)后才開(kāi)始輪詢(xún)操作,如果時(shí)間未到,系統(tǒng)則對(duì)網(wǎng)絡(luò)拓?fù)渥詣?dòng)監(jiān)視和分群結(jié)構(gòu)變化探測(cè),判斷分群結(jié)構(gòu)是否變化,如果有變化,則根據(jù)不同事件類(lèi)型調(diào)用相應(yīng)處理程序進(jìn)行分群結(jié)構(gòu)更新,更新結(jié)束后繼續(xù)網(wǎng)絡(luò)拓?fù)渥詣?dòng)監(jiān)視和分群結(jié)構(gòu)變化探測(cè)。其中事件是指觸發(fā)分群結(jié)構(gòu)變化的相應(yīng)事件,本發(fā)明根據(jù)導(dǎo)致分群結(jié)構(gòu)變化的事件類(lèi)型設(shè)置了相應(yīng)的處理程序,以及時(shí)對(duì)分群結(jié)構(gòu)進(jìn)行更新。
實(shí)施例三本實(shí)施例是在實(shí)施例二技術(shù)方案基礎(chǔ)上,步驟33中調(diào)用相應(yīng)處理程序進(jìn)行分群結(jié)構(gòu)更新包括節(jié)點(diǎn)加入處理。圖5為本發(fā)明節(jié)點(diǎn)加入處理流程圖,具體為步驟A1、新節(jié)點(diǎn)加入到網(wǎng)絡(luò)中;步驟A2、新節(jié)點(diǎn)交替監(jiān)聽(tīng)網(wǎng)絡(luò)中的所有信道;步驟A3、新節(jié)點(diǎn)根據(jù)監(jiān)聽(tīng)結(jié)果加入到具有最大選擇權(quán)值的群首所在的群中,成為該群的成員節(jié)點(diǎn)。
當(dāng)有節(jié)點(diǎn)加入到網(wǎng)絡(luò)中時(shí),它需要交替監(jiān)聽(tīng)網(wǎng)絡(luò)中的所有信道,基于監(jiān)聽(tīng)結(jié)果,節(jié)點(diǎn)會(huì)選擇加入到具有最大選擇權(quán)值的群首所在的群成為其普通成員節(jié)點(diǎn)。
實(shí)施例四本實(shí)施例是在實(shí)施例二技術(shù)方案基礎(chǔ)上,步驟33中調(diào)用相應(yīng)處理程序進(jìn)行分群結(jié)構(gòu)更新包括節(jié)點(diǎn)退出處理。圖6為本發(fā)明節(jié)點(diǎn)退出處理流程圖,具體為步驟B1、退出節(jié)點(diǎn)向群首節(jié)點(diǎn)發(fā)送退網(wǎng)請(qǐng)求;步驟B2、群首節(jié)點(diǎn)向該退出節(jié)點(diǎn)發(fā)送一個(gè)離開(kāi)確認(rèn)信息,并從其成員列表中刪除所述退出節(jié)點(diǎn);步驟B3、退出節(jié)點(diǎn)收到群首回復(fù)的離開(kāi)確認(rèn)信息后,正常離開(kāi)網(wǎng)絡(luò)。
當(dāng)有節(jié)點(diǎn)要退出網(wǎng)絡(luò)時(shí),它會(huì)發(fā)送退網(wǎng)請(qǐng)求通知群首節(jié)點(diǎn),群首節(jié)點(diǎn)會(huì)向該節(jié)點(diǎn)發(fā)送一個(gè)離開(kāi)確認(rèn)信息并且其從成員列表中刪除該節(jié)點(diǎn),在收到群首回復(fù)的確認(rèn)信息后,該節(jié)點(diǎn)就可以正常離開(kāi)網(wǎng)絡(luò)。
實(shí)施例五本實(shí)施例是在實(shí)施例二技術(shù)方案基礎(chǔ)上,步驟33中調(diào)用相應(yīng)處理程序進(jìn)行分群結(jié)構(gòu)更新包括群首相遇處理。圖7為本發(fā)明群首相遇處理流程圖,具體為
步驟C1、節(jié)點(diǎn)運(yùn)動(dòng)引起的網(wǎng)絡(luò)拓?fù)渥兓箖蓚€(gè)群首相遇;步驟C2、判斷一個(gè)群首是否可以包含另一群首及其成員節(jié)點(diǎn),是則執(zhí)行步驟C3,否則執(zhí)行步驟C4;步驟C3、兩個(gè)群合并,形成新群,群首相遇處理完畢;步驟C4、分群結(jié)構(gòu)保持不變,群首相遇處理完畢。
當(dāng)兩個(gè)群首相遇時(shí),如果一個(gè)群首及它的鄰居節(jié)點(diǎn)所形成的集合能夠包含另一個(gè)群首和它的普通成員節(jié)點(diǎn),那么者兩個(gè)群將會(huì)合并,能夠覆蓋原來(lái)的兩個(gè)的所有普通成員節(jié)點(diǎn)的群首成為新群首,另一個(gè)群消失。其他情況下,分群結(jié)構(gòu)保持不變。
實(shí)施例六本實(shí)施例是在實(shí)施例二技術(shù)方案基礎(chǔ)上,步驟33中調(diào)用相應(yīng)處理程序進(jìn)行分群結(jié)構(gòu)更新包括成員節(jié)點(diǎn)脫離群首處理。圖8為本發(fā)明節(jié)點(diǎn)脫離群首處理流程圖,具體為步驟D1、節(jié)點(diǎn)運(yùn)動(dòng)引起的網(wǎng)絡(luò)拓?fù)渥兓钩蓡T節(jié)點(diǎn)與其群首相距兩跳或兩跳以上;步驟D2、所述成員節(jié)點(diǎn)監(jiān)聽(tīng)其他群所用的信道;步驟D3、成員節(jié)點(diǎn)判斷是否存在群首與之相鄰,是則執(zhí)行步驟D4,否則返回執(zhí)行步驟D2;步驟D4、成員節(jié)點(diǎn)根據(jù)監(jiān)聽(tīng)結(jié)果加入到具有最大選擇權(quán)值的群首所在的群中,成為該群的新成員節(jié)點(diǎn);步驟D5、所述新成員節(jié)點(diǎn)向原群首發(fā)送加入新群消息;步驟D6、原群首從其成員列表中刪除該成員節(jié)點(diǎn)。
如果一個(gè)普通成員節(jié)點(diǎn)與它的群首相距兩跳以上(包括兩跳),那么它會(huì)監(jiān)聽(tīng)其他群所用的信道,如果發(fā)現(xiàn)有群首與自己相鄰(如存在相距一跳的新群首),該節(jié)點(diǎn)會(huì)基于監(jiān)聽(tīng)到的群首的選擇權(quán)值選擇加入到一個(gè)群。加入新群之后,該節(jié)點(diǎn)會(huì)通過(guò)原群中的相鄰普通成員節(jié)點(diǎn)作為中繼節(jié)點(diǎn)通知原群首,然后原群首將會(huì)將其從自己的成員列表中刪除。如果監(jiān)聽(tīng)結(jié)果沒(méi)有發(fā)現(xiàn)符合要求的群首存在,該節(jié)點(diǎn)會(huì)通過(guò)中繼節(jié)點(diǎn)繼續(xù)與原群首保持聯(lián)系,并繼續(xù)監(jiān)聽(tīng)其他群所用的信道,直至發(fā)現(xiàn)符合要求的群首并加入到新群。
實(shí)施例七本實(shí)施例是在實(shí)施例二技術(shù)方案基礎(chǔ)上,步驟33中調(diào)用相應(yīng)處理程序進(jìn)行分群結(jié)構(gòu)更新包括成員節(jié)點(diǎn)失效處理。圖9為本發(fā)明成員節(jié)點(diǎn)失效處理流程圖,具體為步驟E1、節(jié)點(diǎn)運(yùn)動(dòng)引起的網(wǎng)絡(luò)拓?fù)渥兓谷菏自谝欢螘r(shí)間內(nèi)未收到成員節(jié)點(diǎn)消息;步驟E2、群首向成員節(jié)點(diǎn)發(fā)送詢(xún)問(wèn)消息;步驟E3、群首判斷是否收到成員節(jié)點(diǎn)返回的確認(rèn)消息,收到時(shí)執(zhí)行步驟E4,否則將詢(xún)問(wèn)計(jì)數(shù)值加1,執(zhí)行步驟E5;步驟E4、保持原分群結(jié)構(gòu)不變,節(jié)點(diǎn)失效處理完畢;步驟E5、群首判斷詢(xún)問(wèn)計(jì)數(shù)值是否超過(guò)詢(xún)問(wèn)計(jì)數(shù)閾值,是則執(zhí)行步驟E6,否則返回執(zhí)行步驟E2;步驟E6、群首從成員列表刪除該成員節(jié)點(diǎn),節(jié)點(diǎn)失效處理完畢。
當(dāng)有節(jié)點(diǎn)失效導(dǎo)致非正常狀態(tài)下離開(kāi)網(wǎng)絡(luò)時(shí),如果群首在一段時(shí)間內(nèi)沒(méi)有收到來(lái)自該節(jié)點(diǎn)的數(shù)據(jù)或者是在向該節(jié)點(diǎn)發(fā)包后沒(méi)有收到確認(rèn)信息,群首會(huì)發(fā)送一個(gè)詢(xún)問(wèn)消息到該節(jié)點(diǎn)。如果該節(jié)點(diǎn)依然存在,它會(huì)發(fā)送確認(rèn)信息給群首。否則,在嘗試多次發(fā)送詢(xún)問(wèn)信息后群首依然沒(méi)有收到回復(fù)的確認(rèn)信息,則群首認(rèn)為該節(jié)點(diǎn)已經(jīng)消失,并將它從自己的成員列表中刪除。
實(shí)施例八本實(shí)施例的技術(shù)方案是在圖1~圖9所示技術(shù)方案基礎(chǔ)上,增加了對(duì)網(wǎng)絡(luò)進(jìn)行初始化分群的步驟。圖10為本發(fā)明初始化分群流程圖,具體為步驟1、網(wǎng)絡(luò)中所有節(jié)點(diǎn)廣播消息,所述消息包含節(jié)點(diǎn)ID和剩余能量值;步驟2、每個(gè)節(jié)點(diǎn)根據(jù)收到消息生成一個(gè)鄰居節(jié)點(diǎn)表;
步驟3、每個(gè)節(jié)點(diǎn)判斷其剩余能量值是否大于能量閾值,是則執(zhí)行步驟4,否則執(zhí)行步驟6;步驟4、所述節(jié)點(diǎn)判斷其節(jié)點(diǎn)ID是否在鄰居范圍未分群節(jié)點(diǎn)中為最小,是則執(zhí)行步驟5,否則執(zhí)行步驟7;步驟5、所述節(jié)點(diǎn)發(fā)送群首消息,宣布建立新群,所述新群ID為該節(jié)點(diǎn)的ID,初始化分群完畢;步驟6、所述節(jié)點(diǎn)等待,直至收到來(lái)自鄰居節(jié)點(diǎn)的群首消息,節(jié)點(diǎn)加入該群成為成員節(jié)點(diǎn),初始化分群完畢;步驟7、所述節(jié)點(diǎn)判斷是否在一設(shè)定時(shí)間內(nèi)收到來(lái)自鄰居節(jié)點(diǎn)的群首消息,收到時(shí)執(zhí)行步驟8,否則返回執(zhí)行步驟4;步驟8、節(jié)點(diǎn)加入該群成為成員節(jié)點(diǎn),初始化分群完畢。
本實(shí)施例技術(shù)方案實(shí)際上是一種節(jié)能初始化分群方法,方法中的群首節(jié)點(diǎn)選舉是基于節(jié)點(diǎn)ID和剩余能量值P,即當(dāng)節(jié)點(diǎn)的剩余能量值P大于能量閾值Pthreshold時(shí),并且其節(jié)點(diǎn)ID在其鄰居范圍內(nèi)是最小的,那么該節(jié)點(diǎn)將被選舉為群首節(jié)點(diǎn),其鄰居節(jié)點(diǎn)都加入到其中成為成員節(jié)點(diǎn)。具體地說(shuō),首先,網(wǎng)絡(luò)中所有節(jié)點(diǎn)廣播包含節(jié)點(diǎn)ID和剩余能量值P的消息,通過(guò)這一輪廣播每個(gè)節(jié)點(diǎn)都可以知道自己的鄰居節(jié)點(diǎn)狀況,每一個(gè)節(jié)點(diǎn)建立一個(gè)鄰居節(jié)點(diǎn)表。在初始狀態(tài)下,所有節(jié)點(diǎn)的選擇權(quán)值W都設(shè)置為-1。如果節(jié)點(diǎn)的剩余能量值P小于能量閾值Pthreshold,說(shuō)明該節(jié)點(diǎn)不具備成為群首的基本條件,最終一定會(huì)接收到來(lái)自鄰居節(jié)點(diǎn)的群首消息,節(jié)點(diǎn)加入該群成為成員節(jié)點(diǎn);如果節(jié)點(diǎn)的剩余能量值P大于能量閾值Pthreshold,并且在其鄰居范圍內(nèi)未分群節(jié)點(diǎn)中具有最小ID,該節(jié)點(diǎn)將會(huì)發(fā)送群首消息宣布建立新群,群ID為該節(jié)點(diǎn)的ID。如果節(jié)點(diǎn)發(fā)現(xiàn)自身節(jié)點(diǎn)ID并不是最小,它將面臨要么加入到其他群,要么等待一段時(shí)間直到其自身節(jié)點(diǎn)ID在鄰居范圍內(nèi)最小,建立新群。
本實(shí)施例提供的節(jié)能初始化分群方法中,每個(gè)節(jié)點(diǎn)只需要發(fā)送兩輪控制消息便可以快速形成分群結(jié)構(gòu),方法執(zhí)行完以后,所有節(jié)點(diǎn)都能夠最終決定自己的角色,因此可以獲得一個(gè)覆蓋全網(wǎng)的初始分群結(jié)構(gòu)。與現(xiàn)有相關(guān)分群方法相比,本發(fā)明節(jié)能初始化分群方法的群首節(jié)點(diǎn)選舉不僅考慮了節(jié)點(diǎn)ID,還包括剩余能量值P,而且將剩余能量值P作為衡量是否具備成為群首的先決條件。這樣一來(lái),本發(fā)明不僅具有僅需兩輪控制消息的交換即可建立分群結(jié)構(gòu),具有分群速度較快、分群保持過(guò)程簡(jiǎn)單等優(yōu)點(diǎn),而且由于在群首選舉階段考慮了節(jié)點(diǎn)的剩余能量狀態(tài),避免了某些剩余能量低的節(jié)點(diǎn)擔(dān)當(dāng)群首以及部分節(jié)點(diǎn)長(zhǎng)期擔(dān)當(dāng)群首的可能性,確保了節(jié)點(diǎn)擔(dān)當(dāng)群首的公平性,從而均衡了能量消耗,作為群首的節(jié)點(diǎn)不會(huì)因?yàn)槟芰肯拇笫狗秩航Y(jié)構(gòu)的穩(wěn)定性在短時(shí)間內(nèi)變差,因此消除了現(xiàn)有技術(shù)群分解和重構(gòu)頻率加大、網(wǎng)絡(luò)性能惡化等技術(shù)缺陷。由于在群首選舉階段考慮了節(jié)點(diǎn)的剩余能量狀態(tài),確保了節(jié)點(diǎn)擔(dān)當(dāng)群首的公平性,從而均衡了能量消耗,達(dá)到延長(zhǎng)網(wǎng)絡(luò)整體壽命的作用。
本實(shí)施例流程簡(jiǎn)單描述為采用節(jié)能初始化分群方法進(jìn)行初始化分群,直到所有節(jié)點(diǎn)都能夠最終決定自己的角色,最終獲得一個(gè)覆蓋全網(wǎng)的初始分群結(jié)構(gòu);之后,穩(wěn)定節(jié)能分群維護(hù)方法采用定期輪詢(xún)方式監(jiān)視網(wǎng)絡(luò)中節(jié)點(diǎn)的狀態(tài)以維護(hù)分群結(jié)構(gòu)。當(dāng)處于輪詢(xún)狀態(tài)時(shí),執(zhí)行穩(wěn)定節(jié)能分群維護(hù)方法,形成新的分群結(jié)構(gòu)或維持原分群結(jié)構(gòu);在相鄰兩次輪詢(xún)之間,網(wǎng)絡(luò)拓?fù)溥M(jìn)行自動(dòng)監(jiān)視,對(duì)分群結(jié)構(gòu)變化進(jìn)行探測(cè),如果出現(xiàn)分群結(jié)構(gòu)變化,可根據(jù)不同事件類(lèi)型調(diào)用相應(yīng)處理程序進(jìn)行分群結(jié)構(gòu)更新。上述實(shí)時(shí)監(jiān)視和定期維護(hù)過(guò)程可在高速移動(dòng)環(huán)境下有效保證分群結(jié)構(gòu)的穩(wěn)定性,同時(shí)確保節(jié)點(diǎn)擔(dān)當(dāng)群首的公平性,從而均衡能量消耗,延長(zhǎng)網(wǎng)絡(luò)整體壽命。上述節(jié)能初始化分群方法和穩(wěn)定節(jié)能分群維護(hù)方法的具體處理過(guò)程已在前面詳細(xì)介紹,這里不再贅述。
最后所應(yīng)說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種穩(wěn)定節(jié)能分群方法,其中,包括步驟步驟10、設(shè)定群首輪詢(xún)時(shí)鐘;步驟20、啟動(dòng)輪詢(xún)時(shí)鐘;步驟30、判斷輪詢(xún)時(shí)鐘是否超時(shí),超時(shí)時(shí)執(zhí)行步驟40,未超時(shí)則執(zhí)行步驟30;步驟40、群首輪詢(xún)?nèi)簝?nèi)成員節(jié)點(diǎn),獲取成員節(jié)點(diǎn)的相對(duì)移動(dòng)性值、相對(duì)剩余能量狀況值和局部節(jié)點(diǎn)度值,計(jì)算各成員節(jié)點(diǎn)的選擇權(quán)值;步驟50、群首判斷其選擇權(quán)值是否低于選擇閾值,是則執(zhí)行步驟60,否則執(zhí)行步驟70;步驟60、群首激活群內(nèi)候選節(jié)點(diǎn),候選節(jié)點(diǎn)發(fā)送群首消息,宣布成為新群首,其他成員節(jié)點(diǎn)和原群首加入新群,新的分群結(jié)構(gòu)形成;步驟70、群首選擇候選節(jié)點(diǎn),候選節(jié)點(diǎn)監(jiān)視群首狀態(tài),執(zhí)行步驟20。
2.如權(quán)利要求1所述的穩(wěn)定節(jié)能分群方法,其中,所述步驟40中節(jié)點(diǎn)的選擇權(quán)值為Wi=w1Si+w2Pi+w3Ri,式中,i表示節(jié)點(diǎn)ID,Wi表示節(jié)點(diǎn)i的選擇權(quán)值,Si表示節(jié)點(diǎn)i相對(duì)于其鄰居節(jié)點(diǎn)的相對(duì)移動(dòng)性值,Pi表示節(jié)點(diǎn)i的相對(duì)剩余能量狀況值,Ri表示節(jié)點(diǎn)i的局部節(jié)點(diǎn)度值,系數(shù)w1,w2和w3是相應(yīng)參數(shù)的權(quán)重值,且∑wi=1。
3.如權(quán)利要求1所述的穩(wěn)定節(jié)能分群方法,其中,所述步驟70具體為步驟71、群首選擇具有最大選擇權(quán)值的成員節(jié)點(diǎn)為候選節(jié)點(diǎn);步驟72、群首廣播發(fā)布消息,公布候選節(jié)點(diǎn)ID和各成員節(jié)點(diǎn)選擇權(quán)值;步驟73、候選節(jié)點(diǎn)定期檢查是否收到群首節(jié)點(diǎn)廣播的周期性消息,收到時(shí)執(zhí)行步驟20,未收到時(shí)執(zhí)行步驟74;步驟74、候選節(jié)點(diǎn)向群首發(fā)送詢(xún)問(wèn)消息;步驟75、候選節(jié)點(diǎn)判斷是否收到群首返回的確認(rèn)消息,收到時(shí)執(zhí)行步驟20,否則執(zhí)行步驟76;步驟76、候選節(jié)點(diǎn)判斷詢(xún)問(wèn)計(jì)數(shù)值是否超過(guò)詢(xún)問(wèn)計(jì)數(shù)閾值,是則執(zhí)行步驟77,否則將詢(xún)問(wèn)計(jì)數(shù)值加1后執(zhí)行步驟74;步驟77、候選節(jié)點(diǎn)自動(dòng)激活,發(fā)送群首消息,宣布成為新群首,其他成員節(jié)點(diǎn)和原群首加入新群,新的分群結(jié)構(gòu)形成,返回執(zhí)行步驟20。
4.如權(quán)利要求1或3所述的穩(wěn)定節(jié)能分群方法,其中,所述步驟30中,當(dāng)判斷輪詢(xún)時(shí)鐘未超時(shí)時(shí),執(zhí)行步驟步驟31、網(wǎng)絡(luò)拓?fù)渥詣?dòng)監(jiān)視,探測(cè)分群結(jié)構(gòu)變化;步驟32、判斷分群結(jié)構(gòu)是否變化,當(dāng)分群結(jié)構(gòu)變化時(shí)執(zhí)行步驟33,否則執(zhí)行步驟30;步驟33、根據(jù)不同事件類(lèi)型,調(diào)用相應(yīng)處理程序進(jìn)行分群結(jié)構(gòu)更新,更新結(jié)束后執(zhí)行步驟30。
5.如權(quán)利要求4所述的穩(wěn)定節(jié)能分群方法,其中,所述步驟33中調(diào)用相應(yīng)處理程序進(jìn)行分群結(jié)構(gòu)更新包括節(jié)點(diǎn)加入處理,具體為步驟A1、新節(jié)點(diǎn)加入到網(wǎng)絡(luò)中;步驟A2、新節(jié)點(diǎn)交替監(jiān)聽(tīng)網(wǎng)絡(luò)中的所有信道;步驟A3、新節(jié)點(diǎn)根據(jù)監(jiān)聽(tīng)結(jié)果加入到具有最大選擇權(quán)值的群首所在的群中,成為該群的成員節(jié)點(diǎn)。
6.如權(quán)利要求4所述的穩(wěn)定節(jié)能分群方法,其中,所述步驟33中調(diào)用相應(yīng)處理程序進(jìn)行分群結(jié)構(gòu)更新包括節(jié)點(diǎn)退出處理,具體為步驟B1、退出節(jié)點(diǎn)向群首節(jié)點(diǎn)發(fā)送退網(wǎng)請(qǐng)求;步驟B2、群首節(jié)點(diǎn)向該退出節(jié)點(diǎn)發(fā)送一個(gè)離開(kāi)確認(rèn)信息,并從其成員列表中刪除所述退出節(jié)點(diǎn);步驟B3、退出節(jié)點(diǎn)收到群首回復(fù)的離開(kāi)確認(rèn)信息后,正常離開(kāi)網(wǎng)絡(luò)。
7.如權(quán)利要求4所述的穩(wěn)定節(jié)能分群方法,其中,所述步驟33中調(diào)用相應(yīng)處理程序進(jìn)行分群結(jié)構(gòu)更新包括群首相遇處理,具體為步驟C1、節(jié)點(diǎn)運(yùn)動(dòng)引起的網(wǎng)絡(luò)拓?fù)渥兓箖蓚€(gè)群首相遇;步驟C2、判斷一個(gè)群首是否可以包含另一群首及其成員節(jié)點(diǎn),是則執(zhí)行步驟C3,否則執(zhí)行步驟C4;步驟C3、兩個(gè)群合并,形成新群;步驟C4、分群結(jié)構(gòu)保持不變。
8.如權(quán)利要求4所述的穩(wěn)定節(jié)能分群方法,其中,所述步驟33中調(diào)用相應(yīng)處理程序進(jìn)行分群結(jié)構(gòu)更新包括成員節(jié)點(diǎn)脫離群首處理,具體為步驟D1、節(jié)點(diǎn)運(yùn)動(dòng)引起的網(wǎng)絡(luò)拓?fù)渥兓钩蓡T節(jié)點(diǎn)與其群首相距兩跳或兩跳以上;步驟D2、所述成員節(jié)點(diǎn)監(jiān)聽(tīng)其他群所用的信道;步驟D3、成員節(jié)點(diǎn)判斷是否存在群首與之相鄰,是則執(zhí)行步驟D4,否則返回執(zhí)行步驟D2;步驟D4、成員節(jié)點(diǎn)根據(jù)監(jiān)聽(tīng)結(jié)果加入到具有最大選擇權(quán)值的群首所在的群中,成為該群的新成員節(jié)點(diǎn);步驟D5、所述新成員節(jié)點(diǎn)向原群首發(fā)送加入新群消息;步驟D6、原群首從其成員列表中刪除該成員節(jié)點(diǎn),成員節(jié)點(diǎn)脫離群首處理完畢。
9.如權(quán)利要求4所述的穩(wěn)定節(jié)能分群方法,其中,所述步驟33中調(diào)用相應(yīng)處理程序進(jìn)行分群結(jié)構(gòu)更新包括成員節(jié)點(diǎn)失效處理,具體為步驟E1、節(jié)點(diǎn)運(yùn)動(dòng)引起的網(wǎng)絡(luò)拓?fù)渥兓谷菏自谝欢螘r(shí)間內(nèi)未收到成員節(jié)點(diǎn)消息;步驟E2、群首向成員節(jié)點(diǎn)發(fā)送詢(xún)問(wèn)消息;步驟E3、群首判斷是否收到成員節(jié)點(diǎn)返回的確認(rèn)消息,收到時(shí)執(zhí)行步驟E4,否則將詢(xún)問(wèn)計(jì)數(shù)值加1,執(zhí)行步驟E5;步驟E4、保持原分群結(jié)構(gòu)不變,節(jié)點(diǎn)失效處理完畢;步驟E5、群首判斷詢(xún)問(wèn)計(jì)數(shù)值是否超過(guò)詢(xún)問(wèn)計(jì)數(shù)閾值,是則執(zhí)行步驟E6,否則返回執(zhí)行步驟E2;步驟E6、群首從成員列表刪除該成員節(jié)點(diǎn),節(jié)點(diǎn)失效處理完畢。
10.如權(quán)利要求1~9任一所述的穩(wěn)定節(jié)能分群方法,其中,還包括對(duì)網(wǎng)絡(luò)進(jìn)行初始化分群的步驟,具體為步驟1、網(wǎng)絡(luò)中所有節(jié)點(diǎn)廣播消息,所述消息包含節(jié)點(diǎn)ID和剩余能量值;步驟2、每個(gè)節(jié)點(diǎn)根據(jù)收到消息生成一個(gè)鄰居節(jié)點(diǎn)表;步驟3、每個(gè)節(jié)點(diǎn)判斷其剩余能量值是否大于能量閾值,是則執(zhí)行步驟4,否則執(zhí)行步驟6;步驟4、所述節(jié)點(diǎn)判斷其節(jié)點(diǎn)ID是否在鄰居范圍未分群節(jié)點(diǎn)中為最小,是則執(zhí)行步驟5,否則執(zhí)行步驟7;步驟5、所述節(jié)點(diǎn)發(fā)送群首消息,宣布建立新群,所述新群ID為該節(jié)點(diǎn)的ID,穩(wěn)定節(jié)能分群完畢;步驟6、所述節(jié)點(diǎn)等待,直至收到來(lái)自鄰居節(jié)點(diǎn)的群首消息,節(jié)點(diǎn)加入該群成為成員節(jié)點(diǎn),穩(wěn)定節(jié)能分群完畢;步驟7、所述節(jié)點(diǎn)判斷是否在一設(shè)定時(shí)間內(nèi)收到來(lái)自鄰居節(jié)點(diǎn)的群首消息,收到時(shí)執(zhí)行步驟8,否則返回執(zhí)行步驟4;步驟8、節(jié)點(diǎn)加入該群成為成員節(jié)點(diǎn),穩(wěn)定節(jié)能分群完畢。
全文摘要
本發(fā)明涉及一種穩(wěn)定節(jié)能分群方法,包括步驟設(shè)定群首輪詢(xún)時(shí)鐘;群首輪詢(xún)?nèi)簝?nèi)成員節(jié)點(diǎn),獲取成員節(jié)點(diǎn)的相對(duì)移動(dòng)性值、相對(duì)剩余能量狀況值和局部節(jié)點(diǎn)度值,計(jì)算各成員節(jié)點(diǎn)的選擇權(quán)值;群首判斷其選擇權(quán)值是否低于選擇閾值,是則群首激活群內(nèi)候選節(jié)點(diǎn),候選節(jié)點(diǎn)發(fā)送群首消息,宣布成為新群首,新的分群結(jié)構(gòu)形成,否則原群首保持群首角色不變;群首選擇具有最大選擇權(quán)值的成員節(jié)點(diǎn)為候選節(jié)點(diǎn)。本發(fā)明針對(duì)節(jié)點(diǎn)移動(dòng)性對(duì)分群結(jié)構(gòu)穩(wěn)定性的劇烈影響,通過(guò)定期輪詢(xún)方式監(jiān)視網(wǎng)絡(luò)中節(jié)點(diǎn)的狀態(tài),根據(jù)網(wǎng)絡(luò)拓?fù)渥兓皶r(shí)實(shí)現(xiàn)對(duì)分群結(jié)構(gòu)的維護(hù),有效保證分群結(jié)構(gòu)的穩(wěn)定性,同時(shí)確保節(jié)點(diǎn)擔(dān)當(dāng)群首的公平性,從而均衡能量消耗,延長(zhǎng)網(wǎng)絡(luò)的整體壽命。
文檔編號(hào)H04L29/06GK1921436SQ20061009944
公開(kāi)日2007年2月28日 申請(qǐng)日期2006年7月20日 優(yōu)先權(quán)日2006年7月20日
發(fā)明者劉凱, 張軍, 宋學(xué)貴 申請(qǐng)人:北京航空航天大學(xué)