一種基于無線有損網(wǎng)絡(luò)降低構(gòu)建開銷的拓?fù)淇刂品椒?br>
【專利摘要】本發(fā)明公開了一種基于無線有損網(wǎng)絡(luò)有效降低構(gòu)建開銷的拓?fù)淇刂品椒?,無線有損網(wǎng)絡(luò)中任一網(wǎng)絡(luò)節(jié)點(diǎn)u均執(zhí)行如下步驟:1)根據(jù)用戶要求設(shè)定無線有損網(wǎng)絡(luò)的伸展因子t;2)獲取節(jié)點(diǎn)u的最大發(fā)射功率鏈路數(shù)據(jù)集TABmaxu;3)更改節(jié)點(diǎn)u的發(fā)射功率廣播探測包;4)將節(jié)點(diǎn)u的鄰接鏈路數(shù)據(jù)集H和最短路徑集合PATH初始化為空;5)獲得當(dāng)前發(fā)射功率鏈路數(shù)據(jù)集TABku;6)更新鄰接鏈路數(shù)據(jù)集H;7)更新最短路徑集合PATH;8)從步驟7獲得的最短路徑集合中依次為每條鏈路找到替代路徑,從而確定節(jié)點(diǎn)u在無線有損網(wǎng)絡(luò)中的發(fā)射功率;有效降低無線有損網(wǎng)絡(luò)環(huán)境下拓?fù)錁?gòu)建的通信開銷與時(shí)間開銷;同時(shí)有效降低網(wǎng)絡(luò)節(jié)點(diǎn)平均發(fā)射功率等級(jí)。
【專利說明】一種基于無線有損網(wǎng)絡(luò)降低構(gòu)建開銷的拓?fù)淇刂品椒?br>
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用和無線網(wǎng)絡(luò)拓?fù)淇刂萍夹g(shù),涉及一種無線有損網(wǎng)絡(luò)的拓?fù)淇刂萍夹g(shù),特別涉及一種基于無線有損網(wǎng)絡(luò)有效降低構(gòu)建開銷的拓?fù)淇刂品椒ā?br>
【背景技術(shù)】
[0002]隨著無線網(wǎng)絡(luò)技術(shù)的發(fā)展以及具有感知和通信能力的微電子器件成本的大幅降低,萬物互聯(lián)正在悄然形成。無線節(jié)點(diǎn)間的通信在“通”和“斷”之間,通常存在一個(gè)“過渡”區(qū)。在這個(gè)區(qū)域,無線節(jié)點(diǎn)間的通信以一定的概率連通。直觀表現(xiàn)在發(fā)射源對(duì)同一數(shù)據(jù)包要發(fā)送多次才能成功,這將額外消耗節(jié)點(diǎn)的能量。拓?fù)淇刂剖窃噲D降低節(jié)點(diǎn)發(fā)射功率而同時(shí)能維持所期望的拓?fù)鋵傩缘年P(guān)鍵技術(shù),簡單地說,它能為節(jié)點(diǎn)確定一個(gè)合適的發(fā)射功率。無線網(wǎng)絡(luò)中的有損鏈路普遍存在,而考慮有損鏈路的拓?fù)淇刂品椒▍s不多見。傳統(tǒng)的基于“通”與“斷”條件下的拓?fù)淇刂品椒ㄓ糜跓o線有損鏈路環(huán)境下,會(huì)使得對(duì)“通”與“斷”的定義很不統(tǒng)一,如連通概率多大算“通”;相反,直接使用連通概率作為鏈路權(quán)值則比較方便。
[0003]CTC算法(參見參考文獻(xiàn)[I])屬于典型的無線有損網(wǎng)絡(luò)拓?fù)淇刂品椒?,該算法將鏈路連通概率轉(zhuǎn)換成在鏈路上成功傳輸特定長度數(shù)據(jù)包所需要的最少傳輸次數(shù),并將其作為鏈路權(quán)值。在此基礎(chǔ)上,給出了傳輸次數(shù)伸展因子DTC(Dilation of TransmissionCount)的概念,即網(wǎng)絡(luò)中任意一對(duì)節(jié)點(diǎn)在拓?fù)淇刂品椒▓?zhí)行后形成的拓?fù)渖系淖疃搪窂綑?quán)值與原始拓?fù)?即網(wǎng)絡(luò)中所有節(jié)點(diǎn)都采用最大發(fā)射功率等級(jí)時(shí)形成的拓?fù)?上同一對(duì)節(jié)點(diǎn)間的最短路徑權(quán)值之間都有一個(gè)比值,而在這些比值中,最大的那個(gè)比值即為DTC。DTC給出了該鏈路權(quán)值作為拓?fù)湫阅苤笜?biāo),其性能與最優(yōu)值之間的最大差距。
[0004]CTC算法是一組局部搜索算法,其基本思想是,網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)都獨(dú)立運(yùn)行CTC,而運(yùn)行該算法的節(jié)點(diǎn)以其I跳鄰域內(nèi)的每個(gè)節(jié)點(diǎn)為參數(shù),依次調(diào)用函數(shù)LabelSet(V)(該函數(shù)的參數(shù)V為執(zhí)行節(jié)點(diǎn)的I跳鄰域內(nèi)的一個(gè)節(jié)點(diǎn))來確定其該采用的發(fā)射功率級(jí)別,最終確定的發(fā)射功率要能滿足其I跳鄰域內(nèi)所有節(jié)點(diǎn)的要求。節(jié)點(diǎn)的I跳鄰域是指該節(jié)點(diǎn)與其鄰居節(jié)點(diǎn)以及這些節(jié)點(diǎn)間存在的通信鏈路所形成的區(qū)域。
[0005]LabelSet (v)基本思想是,調(diào)用該函數(shù)的節(jié)點(diǎn),對(duì)節(jié)點(diǎn)V在最大發(fā)射功率級(jí)別下的每條鏈路,在其2跳鄰域內(nèi)搜索DTC值不超過預(yù)先給定的DTC上界值的替代路徑,并在滿足要求的替代路徑中,選擇具有最小發(fā)射功率度量值的替代路徑以替換該鏈路,然后通過檢查自身是否在替代路徑上以及該路徑對(duì)其功率的要求是否大于當(dāng)前采用功率來決定是否需要更新其發(fā)射功率,若大于,則更新其當(dāng)前采用的發(fā)射功率。節(jié)點(diǎn)的2跳鄰域是指該節(jié)點(diǎn)和其所有鄰居節(jié)點(diǎn)的I跳鄰域所組成的區(qū)域。
[0006]CTC算法能夠通過調(diào)整DTC上界值、替代路徑長度等參數(shù)來取得替代路徑質(zhì)量與搜索開銷之間的折中。然而CTC算法需要將其2跳范圍內(nèi)所有功率等級(jí)下的鏈路權(quán)值作為其輸入?yún)?shù)之一,這顯然增大了其搜索到合適發(fā)射功率的時(shí)間開銷,而2跳范圍內(nèi)所有發(fā)射功率等級(jí)下的鏈路權(quán)值的取得也需要很大的通信開銷。CTC算法存在的具體問題如下:
[0007](I )CTC算法假設(shè)存在某種算法,能為每個(gè)節(jié)點(diǎn)求得其2跳范圍內(nèi)所有發(fā)射功率等級(jí)下的鏈路權(quán)值。但實(shí)際上,尚未發(fā)現(xiàn)這樣一種算法的具體描述。另外,簡單地對(duì)重傳次數(shù)進(jìn)行統(tǒng)計(jì)可以很容易獲得鏈路(例如U — V)所采用的Rl^i (即含義是節(jié)點(diǎn)U采用第i級(jí)功率向節(jié)點(diǎn)V發(fā)送同一數(shù)據(jù)包,被節(jié)點(diǎn)V成功收到時(shí)所需最少傳輸次數(shù)),而用這個(gè)指標(biāo)來度量該鏈路傳輸質(zhì)量并不總是合理的。例如,Ru,v,i=3,可能是前2次數(shù)據(jù)包在從u到V的傳輸過程中出錯(cuò),第3次成功;也可能是前2次數(shù)據(jù)包的確認(rèn)包在從V到u的傳輸過程中出錯(cuò),第3次成功。盡管兩種情況下Rl^i的值相同,但顯然前者的鏈路質(zhì)量比后者差。有些研究將鏈路正反方向的傳輸成功率乘積的倒數(shù)作為鏈路質(zhì)量的度量,這顯然忽略了鏈路正反方向存在的傳輸質(zhì)量差異。
[0008](2)節(jié)點(diǎn)的發(fā)射功率等級(jí)很多,一些產(chǎn)品達(dá)30余級(jí),估算全部發(fā)射功率等級(jí)下的鏈路質(zhì)量,計(jì)算代價(jià)、消息開銷、存儲(chǔ)代價(jià)等過大,而且也會(huì)增大求解合適發(fā)射功率的搜索空間、增加時(shí)間開銷。
[0009](3)采用被動(dòng)監(jiān)聽的方式,雖然可以節(jié)省開銷,但是實(shí)際未必可行。一是難以保證及時(shí)估算動(dòng)態(tài)變化的鏈路質(zhì)量;二是難以得到所有發(fā)射功率等級(jí)下的鏈路質(zhì)量,因?yàn)楣?jié)點(diǎn)不太可能對(duì)其所有發(fā)射功率等級(jí)都使用一遍。
[0010]因此,急需提出一種應(yīng)對(duì)上述問題的新拓?fù)淇刂品椒ā?br>
【發(fā)明內(nèi)容】
[0011]本發(fā)明提出的一種基于無線有損網(wǎng)絡(luò)有效降低構(gòu)建開銷的拓?fù)淇刂品椒?,其目的在于克服現(xiàn)有技術(shù)搜索空間大、拓?fù)錁?gòu)建時(shí)間長以及通信開銷大等問題。
[0012]一種基于無線有損網(wǎng)絡(luò)降低構(gòu)建開銷的拓?fù)淇刂品椒?,無線有損網(wǎng)絡(luò)中任一網(wǎng)絡(luò)節(jié)點(diǎn)U均執(zhí)行如下步驟:
[0013]步驟1:根據(jù)用戶要求設(shè)定無線有損網(wǎng)絡(luò)的伸展因子t,t的取值范圍是大于I且小于6的整數(shù);`
[0014]步驟2:獲取節(jié)點(diǎn)u的最大發(fā)射功率鏈路數(shù)據(jù)集TABmaxu ;
[0015]以節(jié)點(diǎn)u的最大發(fā)射功率Pmaxu廣播探測包,節(jié)點(diǎn)u接收該探測包的響應(yīng)包獲得節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)ID以及節(jié)點(diǎn)u與鄰居節(jié)點(diǎn)之間的鏈路權(quán)值,同時(shí)將節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)ID以及節(jié)點(diǎn)u與鄰居節(jié)點(diǎn)之間的鏈路權(quán)值保存于節(jié)點(diǎn)u的最大發(fā)射功率鏈路數(shù)據(jù)集TABmaxu中,鄰居節(jié)點(diǎn)ID為鄰居節(jié)點(diǎn)的唯一標(biāo)識(shí)符,表示節(jié)點(diǎn)身份;
[0016]步驟3:更改節(jié)點(diǎn)u的發(fā)射功率廣播探測包;
[0017]即更換節(jié)點(diǎn)u的發(fā)射功率,與上一次的發(fā)射功率不同;
[0018]步驟4:將節(jié)點(diǎn)u的鄰接鏈路數(shù)據(jù)集H和最短路徑集合PATH初始化為空;
[0019]其中,節(jié)點(diǎn)u的鄰接鏈路數(shù)據(jù)集H用于保存節(jié)點(diǎn)u的ID、節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)ID以及所有保存的鄰居節(jié)點(diǎn)之間的鏈路權(quán)值;
[0020]即保存了任意兩個(gè)鄰居節(jié)點(diǎn)之間的鏈路權(quán)值;
[0021 ] 節(jié)點(diǎn)u的最短路徑集合PATH是指用于保存節(jié)點(diǎn)u到鄰接鏈路數(shù)據(jù)集H中除節(jié)點(diǎn)u本身之外的每個(gè)節(jié)點(diǎn)的最短路徑;
[0022]步驟5:獲得當(dāng)前發(fā)射功率鏈路數(shù)據(jù)集TABku ;
[0023]節(jié)點(diǎn)u接收步驟3廣播探測包的響應(yīng)包,獲得節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)ID以及鄰居節(jié)點(diǎn)之間的鏈路權(quán)值,并保存于節(jié)點(diǎn)u的當(dāng)前發(fā)射功率鏈路數(shù)據(jù)集TABku中,其中,k表示節(jié)點(diǎn)u使用第k級(jí)發(fā)射功率廣播探測包;
[0024]步驟6:更新鄰接鏈路數(shù)據(jù)集H ;
[0025]節(jié)點(diǎn)u與在節(jié)點(diǎn)u的I跳鄰域內(nèi)的鄰居節(jié)點(diǎn)通過交換進(jìn)行信息共享,將節(jié)點(diǎn)u所在的I跳鄰域內(nèi)的所有節(jié)點(diǎn)之間的鏈路權(quán)值保存在鄰接鏈路數(shù)據(jù)集H中;
[0026]步驟7:更新最短路徑集合PATH ;
[0027]依據(jù)步驟6獲得的鄰接鏈路數(shù)據(jù)集H構(gòu)建鏈路結(jié)構(gòu)圖,利用Dijkstra算法將求得的節(jié)點(diǎn)u到鏈路結(jié)構(gòu)圖上的其他每個(gè)節(jié)點(diǎn)的最短路徑保存在最短路徑集合PATH中;
[0028]步驟8:針對(duì)最大發(fā)射功率鏈路數(shù)據(jù)集TABmaxu中的每條鏈路,依次從步驟7獲得的最短路徑集合PATH中尋找路徑起始節(jié)點(diǎn)與該鏈路起始節(jié)點(diǎn)相同的路徑作為其替代路徑;
[0029]若該替代路徑上的鏈路權(quán)值之和大于當(dāng)前鏈路的鏈路權(quán)值的t倍,則返回步驟3 ;
[0030]若該替代路徑上的鏈路權(quán)值之和小于或等于當(dāng)前鏈路的鏈路權(quán)值的t倍,則以步驟3確定的節(jié)點(diǎn)發(fā)射功率作為節(jié)點(diǎn)u在無線有損網(wǎng)絡(luò)中的發(fā)射功率。
[0031]網(wǎng)絡(luò)中所有節(jié)點(diǎn)通過上述步驟可以較快地從其可選的眾多發(fā)射功率級(jí)別中確定其合適的發(fā)射功率,從而形成了整個(gè)網(wǎng)絡(luò)拓?fù)洹?br>
[0032]所述節(jié)點(diǎn)先廣播探測包,然后通過接收該探測包的響應(yīng)包來獲得節(jié)點(diǎn)U的鄰居節(jié)點(diǎn)以及與鄰居節(jié)點(diǎn)之間的鏈路權(quán)值的具體步驟如下:
[0033]步驟a:設(shè)定網(wǎng)絡(luò)應(yīng)用中所能容忍的節(jié)點(diǎn)數(shù)據(jù)重傳次數(shù)T,并將用于計(jì)算鏈路權(quán)值的變量R和記錄循環(huán)體執(zhí)行次數(shù)的變量i初始化為0,接收數(shù)據(jù)集Su,當(dāng)前發(fā)射功率鏈路數(shù)據(jù)集TABku,鄰居節(jié)點(diǎn)列表NEIulist分別初始化為空;
[0034]其中,R用于記錄節(jié)點(diǎn)u以廣播方式發(fā)送鄰居發(fā)現(xiàn)消息包的輪次,i表示節(jié)點(diǎn)u執(zhí)行循環(huán)體的次數(shù),Su用于記錄節(jié)點(diǎn)u成功收到的鄰居節(jié)點(diǎn)發(fā)送的同一個(gè)發(fā)現(xiàn)消息包的次數(shù)以及該鄰居節(jié)點(diǎn)ID, NEIulist為節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)列表,用于記錄節(jié)點(diǎn)u已經(jīng)發(fā)現(xiàn)的相鄰居點(diǎn)名稱,數(shù)據(jù)集TABku用于記錄節(jié)點(diǎn)u選用發(fā)射功率k廣播探測包獲得的與鄰居節(jié)點(diǎn)之間的鏈路權(quán)值;
[0035]步驟b:判斷計(jì)算變量i是否等于T,如果是,則結(jié)束所有操作;否則,進(jìn)入步驟c ;
[0036]步驟c:節(jié)點(diǎn)u將變量R增大1,并使用發(fā)射功率Pku以廣播方式發(fā)送發(fā)現(xiàn)消息包[TYPEndm, IDu, NEIulist],同時(shí)啟動(dòng)定時(shí)器 th ;
[0037]R用于記錄節(jié)點(diǎn)u以廣播方式發(fā)送鄰居發(fā)現(xiàn)消息包的輪次即指用來計(jì)算節(jié)點(diǎn)u與鄰居節(jié)點(diǎn)之間的鏈路權(quán)值,比如,在響應(yīng)包不出錯(cuò)的情況下,當(dāng)R=I時(shí),若節(jié)點(diǎn)u成功收到鄰居節(jié)點(diǎn)對(duì)它探測包的響應(yīng)包,則節(jié)點(diǎn)u認(rèn)為與鄰居節(jié)點(diǎn)的鏈路權(quán)值是I ;然后,在變量i的值未超過T時(shí),節(jié)點(diǎn)u會(huì)繼續(xù)發(fā)同樣的探測包,因此R就會(huì)增加到2,這時(shí)若又有鄰居節(jié)點(diǎn)的響應(yīng)包被節(jié)點(diǎn)u成功收到,則節(jié)點(diǎn)u認(rèn)為與這個(gè)或這些鄰居間的鏈路權(quán)值是2 ;
[0038]步驟d:判斷定時(shí)器th是否超時(shí),若未超時(shí),則進(jìn)入步驟e,否則,將變量i的值加I后返回步驟b ;
[0039]定時(shí)器th是網(wǎng)絡(luò)節(jié)點(diǎn)從廣播發(fā)現(xiàn)消息包開始到正常接收相應(yīng)響應(yīng)包的時(shí)間,為每個(gè)節(jié)點(diǎn)的固有屬性;
[0040]步驟e:若節(jié)點(diǎn)u成功接收到來自節(jié)點(diǎn)V廣播的發(fā)現(xiàn)消息包[TYPEndm, IDv, NEIvlisJ且節(jié)點(diǎn)u尚不在節(jié)點(diǎn)V的相鄰節(jié)點(diǎn)列表NEIvlist中,則執(zhí)行步驟f,否則,進(jìn)入步驟g ;
[0041]步驟f:判斷節(jié)點(diǎn)V是否存在于節(jié)點(diǎn)u的接收數(shù)據(jù)集Su中;[0042]若節(jié)點(diǎn)V不存在于節(jié)點(diǎn)U的接收數(shù)據(jù)集Su中:
[0043]將節(jié)點(diǎn)u對(duì)節(jié)點(diǎn)V的響應(yīng)次數(shù)COUv置為1,并將[IDV,COUv]加入Su中;接著節(jié)點(diǎn)U使用發(fā)射功率Pku向節(jié)點(diǎn)V發(fā)送響應(yīng)消息包[TYPEmm,IDv, IDu, COUJ ;
[0044]否則,若節(jié)點(diǎn)V已存在接收節(jié)點(diǎn)u的接收數(shù)據(jù)集Su中:
[0045]將節(jié)點(diǎn)u對(duì)節(jié)點(diǎn)V的響應(yīng)次數(shù)COUv增大I ;接著節(jié)點(diǎn)u使用發(fā)射功率Pku向節(jié)點(diǎn)V發(fā)送響應(yīng)消息包[TYPEnrm, IDv, IDu, COUJ ;
[0046]COUv是一個(gè)記錄響應(yīng)次數(shù)的變量,下標(biāo)V表示被響應(yīng)的對(duì)象,指節(jié)點(diǎn)u對(duì)節(jié)點(diǎn)V發(fā)送的同一個(gè)發(fā)現(xiàn)消息包的響應(yīng)次數(shù);
[0047]步驟g:若節(jié)點(diǎn)U成功收到來自節(jié)點(diǎn)V發(fā)送的鄰居響應(yīng)消息包[TYPEnrm, IDu, IDv, COUJ,則將鏈路權(quán)值變量賦值為R_C0UU+1,并將鏈路[u,v, Ru;v;k]和節(jié)點(diǎn)v分別加入到數(shù)據(jù)集TABku和NEIulist中;
[0048]其中,所述發(fā)現(xiàn)消息包[TYPEndm, IDu, NEIulisJ中三個(gè)字段的含義分別是包類型為發(fā)現(xiàn)消息包、發(fā)送節(jié)點(diǎn)標(biāo)識(shí)、發(fā)送節(jié)點(diǎn)已知的相鄰節(jié)點(diǎn)列表;
[0049]所述響應(yīng)消息包[TYPE_ IDu, IDv, COUu]中四個(gè)字段的含義分別是包類型為響應(yīng)消息包、接收節(jié)點(diǎn)U標(biāo)識(shí)、發(fā)送節(jié)點(diǎn)V標(biāo)識(shí)、節(jié)點(diǎn)V對(duì)節(jié)點(diǎn)U發(fā)送的同一個(gè)發(fā)現(xiàn)消息包的響應(yīng)次數(shù),其中被響應(yīng)對(duì)象為節(jié)點(diǎn)U。
[0050]所述步驟3中更改節(jié)點(diǎn)u的發(fā)射功率廣播探測包的更改方法包括以下三種:
[0051]I)逐級(jí)更改發(fā)射功率廣播探測包:
[0052]從最低發(fā)射功率開始廣播探測包,往后每次增加一級(jí)發(fā)射功率;
[0053]2)加倍更改發(fā)射功率廣播探測包:
[0054]首先從最低發(fā)射功率開始廣播探測包,往后以前一次發(fā)射功率的兩倍廣播探測包,當(dāng)發(fā)射功率到達(dá)設(shè)定的閾值時(shí),接著逐級(jí)增加發(fā)射功率廣播探測包;
[0055]所述閾值為發(fā)射功率的中間等級(jí)發(fā)射功率;
[0056]3)折半更改發(fā)射功率廣播探測包:
[0057]首先,從節(jié)點(diǎn)的發(fā)射功率等級(jí)范圍的中間級(jí)別發(fā)射功率開始廣播探測包,若每條鏈路滿足預(yù)定約束條件,則尋找是否存在更小的節(jié)點(diǎn)發(fā)射功率,如果不存在,則以前一個(gè)滿足預(yù)定約束條件下的節(jié)點(diǎn)發(fā)射功率作為待確定的節(jié)點(diǎn)發(fā)射功率;否則,則繼續(xù)在高一半的搜索范圍內(nèi)以相同的方式折半搜索;
[0058]所述預(yù)定約束是指,對(duì)每條鏈路,其替代路徑上鏈路權(quán)值之和都小于或等于該鏈路的鏈路權(quán)值的t倍,t是指伸展因子。
[0059]有益效果
[0060]本發(fā)明提出的一種基于無線有損網(wǎng)絡(luò)有效降低構(gòu)建開銷的拓?fù)淇刂品椒ǎ煌诂F(xiàn)有方法采用的局部窮盡搜索方式來確定合適的節(jié)點(diǎn)發(fā)射功率,我們采用逐級(jí)增大(或翻倍逐級(jí)增大、或折半確定)發(fā)射功率的搜索方式,若滿足約束條件,則停止搜索,因此,不必窮盡局部范圍的所有可能結(jié)果,更不必事先求得節(jié)點(diǎn)所有功率等級(jí)下的鏈路權(quán)值。
[0061]本發(fā)明的有益效果具體體現(xiàn)在以下幾個(gè)方面:
[0062]I)本發(fā)明能夠有效降低無線有損網(wǎng)絡(luò)環(huán)境下拓?fù)錁?gòu)建的通信開銷與時(shí)間開銷;
[0063]2)本發(fā)明能夠有效降低網(wǎng)絡(luò)節(jié)點(diǎn)平均發(fā)射功率等級(jí);
[0064]3)本發(fā)明構(gòu)建的網(wǎng)絡(luò)拓?fù)湓诔R娛褂脳l件下的平均剩余能量偏差更小,因而網(wǎng)絡(luò) 壽命更長。
【專利附圖】
【附圖說明】
[0065]圖1為3種方法的平均發(fā)射功率隨應(yīng)用要求的伸展因子改變的變化趨勢圖;
[0066]圖2為3種方法的平均端到端延時(shí)隨應(yīng)用要求的伸展因子改變的變化趨勢圖;
[0067]圖3為3種方法的平均投遞成功率隨應(yīng)用要求的伸展因子改變的變化趨勢圖;
[0068]圖4為3種方法的總能量消耗隨應(yīng)用要求的伸展因子改變的變化趨勢圖;
[0069]圖5為3種方法的剩余能量均方差隨應(yīng)用要求的伸展因子改變的變化趨勢圖;
[0070]圖6為3種方法的平均測量的伸展因子隨應(yīng)用要求的伸展因子改變的變化趨勢圖;
[0071]圖7為3種方法的平均發(fā)射功率隨節(jié)點(diǎn)密度改變的變化趨勢圖;
[0072]圖8為3種方法的平均端到端延時(shí)隨節(jié)點(diǎn)密度改變的變化趨勢圖;
[0073]圖9為3種方法的平均投遞成功率隨節(jié)點(diǎn)密度改變的變化趨勢圖;
[0074]圖10為3種方法的總能量消耗隨節(jié)點(diǎn)密度改變的變化趨勢圖;
[0075]圖11為3種方法的剩余能量均方差隨節(jié)點(diǎn)密度改變的變化趨勢圖;
[0076]圖12為3種方法的平均測量的伸展因子隨節(jié)點(diǎn)密度改變的變化趨勢圖;
[0077]圖13為3種方法的總能量消耗隨發(fā)射源節(jié)點(diǎn)數(shù)量改變的變化趨勢圖;
[0078]圖14為3種方法的剩余能量均方差隨發(fā)射源節(jié)點(diǎn)數(shù)量改變的變化趨勢圖;
[0079]其中,所述3種方法分別為本發(fā)明提出的LTCAL-node以及參考文獻(xiàn)[I]中的兩種典型方法 CTC-node-ms 與 CTC-node-mm。
【具體實(shí)施方式】
[0080]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說明。
[0081]一種基于無線有損網(wǎng)絡(luò)降低構(gòu)建開銷的拓?fù)淇刂品椒ǎ瑹o線有損網(wǎng)絡(luò)中任一網(wǎng)絡(luò)節(jié)點(diǎn)u均執(zhí)行如下步驟:
[0082]步驟1:根據(jù)用戶要求設(shè)定無線有損網(wǎng)絡(luò)的伸展因子t,t的取值范圍是大于I且小于6的整數(shù);
[0083]步驟2:獲取節(jié)點(diǎn)u的最大發(fā)射功率鏈路數(shù)據(jù)集TABmaxu ;
[0084]以節(jié)點(diǎn)u的最大發(fā)射功率Pmaxu廣播探測包,節(jié)點(diǎn)u接收該探測包的響應(yīng)包獲得節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)ID以及節(jié)點(diǎn)u與鄰居節(jié)點(diǎn)之間的鏈路權(quán)值,同時(shí)將節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)ID以及節(jié)點(diǎn)u與鄰居節(jié)點(diǎn)之間的鏈路權(quán)值保存于節(jié)點(diǎn)u的最大發(fā)射功率鏈路數(shù)據(jù)集TABmaxu中,鄰居節(jié)點(diǎn)ID為鄰居節(jié)點(diǎn)的唯一標(biāo)識(shí)符,表示節(jié)點(diǎn)身份;
[0085]步驟3:更改節(jié)點(diǎn)u的發(fā)射功率廣播探測包;
[0086]即更換節(jié)點(diǎn)u的發(fā)射功率,與上一次的發(fā)射功率不同;
[0087]步驟4:將節(jié)點(diǎn)u的鄰接鏈路數(shù)據(jù)集H和最短路徑集合PATH初始化為空;
[0088]其中,節(jié)點(diǎn)u的鄰接鏈路數(shù)據(jù)集H用于保存節(jié)點(diǎn)u的ID、節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)ID以及所有保存的鄰居節(jié)點(diǎn)之間的鏈路權(quán)值;
[0089]即保存了任意兩個(gè)鄰居節(jié)點(diǎn)之間的鏈路權(quán)值;
[0090]節(jié)點(diǎn)u的最短路徑集合PATH是指用于保存節(jié)點(diǎn)u到鄰接鏈路數(shù)據(jù)集H中除節(jié)點(diǎn)U本身之外的每個(gè)節(jié)點(diǎn)的最短路徑;
[0091]步驟5:獲得當(dāng)前發(fā)射功率鏈路數(shù)據(jù)集TABku ;
[0092]節(jié)點(diǎn)u接收步驟3廣播探測包的響應(yīng)包,獲得節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)ID以及鄰居節(jié)點(diǎn)之間的鏈路權(quán)值,并保存于節(jié)點(diǎn)u的當(dāng)前發(fā)射功率鏈路數(shù)據(jù)集TABku中,其中,k表示節(jié)點(diǎn)u使用第k級(jí)發(fā)射功率廣播探測包;
[0093]步驟6:更新鄰接鏈路數(shù)據(jù)集H ;
[0094]節(jié)點(diǎn)u與在節(jié)點(diǎn)u的I跳鄰域內(nèi)的鄰居節(jié)點(diǎn)通過交換進(jìn)行信息共享,將節(jié)點(diǎn)u所在的I跳鄰域內(nèi)的所有節(jié)點(diǎn)之間的鏈路權(quán)值保存在鄰接鏈路數(shù)據(jù)集H中;
[0095]步驟7:更新最短路徑集合PATH ;
[0096]依據(jù)步驟6獲得的鄰接鏈路數(shù)據(jù)集H構(gòu)建鏈路結(jié)構(gòu)圖,利用Dijkstra算法將求得的節(jié)點(diǎn)u到鏈路結(jié)構(gòu)圖上的其他每個(gè)節(jié)點(diǎn)的最短路徑保存在最短路徑集合PATH中;
[0097]步驟8:針對(duì)最大發(fā)射功率鏈路數(shù)據(jù)集TABmaxu中的每條鏈路,依次從步驟7獲得的最短路徑集合PATH中尋找路徑起始節(jié)點(diǎn)與該鏈路起始節(jié)點(diǎn)相同的路徑作為其替代路徑;
[0098]若該替代路徑上的鏈路權(quán)值之和大于當(dāng)前鏈路的鏈路權(quán)值的t倍,則返回步驟3 ;
[0099]若該替代路徑上的鏈路權(quán)值之和小于或等于當(dāng)前鏈路的鏈路權(quán)值的t倍,則以步驟3確定的節(jié)點(diǎn)發(fā)射功率作為節(jié)點(diǎn)u在無線有損網(wǎng)絡(luò)中的發(fā)射功率。
[0100]網(wǎng)絡(luò)中所有節(jié)點(diǎn)通過上述步驟可以較快地從其可選的眾多發(fā)射功率級(jí)別中確定其合適的發(fā)射功率,從而形成了整個(gè)網(wǎng)絡(luò)拓?fù)洹?br>
[0101]所述節(jié)點(diǎn)先廣播探測包,然后通過接收該探測包的響應(yīng)包來獲得節(jié)點(diǎn)U的鄰居節(jié)點(diǎn)以及與鄰居節(jié)點(diǎn)之間的鏈路權(quán)值的具體步驟如下:
[0102]步驟a:設(shè)定網(wǎng)絡(luò)應(yīng)用中所能容忍的節(jié)點(diǎn)數(shù)據(jù)重傳次數(shù)T,并將用于計(jì)算鏈路權(quán)值的變量R和記錄循環(huán)體執(zhí)行次數(shù)的變量i初始化為0,接收數(shù)據(jù)集Su,當(dāng)前發(fā)射功率鏈路數(shù)據(jù)集TABku,鄰居節(jié)點(diǎn)列表NEIulist分別初始化為空;
[0103]其中,R用于記錄節(jié)點(diǎn)u以廣播方式發(fā)送鄰居發(fā)現(xiàn)消息包的輪次,i表示節(jié)點(diǎn)u執(zhí)行循環(huán)體的次數(shù),Su用于記錄節(jié)點(diǎn)u成功收到的鄰居節(jié)點(diǎn)發(fā)送的同一個(gè)發(fā)現(xiàn)消息包的次數(shù)以及該鄰居節(jié)點(diǎn)ID, NEIulist為節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)列表,用于記錄節(jié)點(diǎn)u已經(jīng)發(fā)現(xiàn)的相鄰居點(diǎn)名稱,數(shù)據(jù)集TABku用于記錄節(jié)點(diǎn)u選用發(fā)射功率k廣播探測包獲得的與鄰居節(jié)點(diǎn)之間的鏈路權(quán)值;
[0104]步驟b:判斷計(jì)算變量i是否等于T,如果是,則結(jié)束所有操作;否則,進(jìn)入步驟c ;
[0105]步驟c:節(jié)點(diǎn)u將變量R增大1,并使用發(fā)射功率Pku以廣播方式發(fā)送發(fā)現(xiàn)消息包[TYPEndm, IDu, NEIulist],同時(shí)啟動(dòng)定時(shí)器 th ;
[0106]R用于記錄節(jié)點(diǎn)u以廣播方式發(fā)送鄰居發(fā)現(xiàn)消息包的輪次即指用來計(jì)算節(jié)點(diǎn)u與鄰居節(jié)點(diǎn)之間的鏈路權(quán)值,比如,在響應(yīng)包不出錯(cuò)的情況下,當(dāng)R=I時(shí),若節(jié)點(diǎn)u成功收到鄰居節(jié)點(diǎn)對(duì)它探測包的響應(yīng)包,則節(jié)點(diǎn)u認(rèn)為與鄰居節(jié)點(diǎn)的鏈路權(quán)值是I ;然后,在變量i的值未超過T時(shí),節(jié)點(diǎn)u會(huì)繼續(xù)發(fā)同樣的探測包,因此R就會(huì)增加到2,這時(shí)若又有鄰居節(jié)點(diǎn)的響應(yīng)包被節(jié)點(diǎn)u成功收到,則節(jié)點(diǎn)u認(rèn)為與這個(gè)或這些鄰居間的鏈路權(quán)值是2 ;
[0107]步驟d:判斷定時(shí)器th是否超時(shí),若未超時(shí),則進(jìn)入步驟e,否則,將變量i的值加I后返回步驟b ;
[0108]定時(shí)器th是網(wǎng)絡(luò)節(jié)點(diǎn)從廣播發(fā)現(xiàn)消息包開始到正常接收相應(yīng)響應(yīng)包的時(shí)間,為每個(gè)節(jié)點(diǎn)的固有屬性;
[0109]步驟e:若節(jié)點(diǎn)u成功接收到來自節(jié)點(diǎn)V廣播的發(fā)現(xiàn)消息包[TYPEndm, IDv, NEIvlisJ且節(jié)點(diǎn)u尚不在節(jié)點(diǎn)V的相鄰節(jié)點(diǎn)列表NEIvlist中,則執(zhí)行步驟f,否則,進(jìn)入步驟g ;
[0110]步驟f:判斷節(jié)點(diǎn)V是否存在于節(jié)點(diǎn)u的接收數(shù)據(jù)集Su中;
[0111]若節(jié)點(diǎn)V不存在于節(jié)點(diǎn)u的接收數(shù)據(jù)集Su中:
[0112]將節(jié)點(diǎn)u對(duì)節(jié)點(diǎn)V的響應(yīng)次數(shù)COUv置為1,并將[IDV,COUv]加入Su中;接著節(jié)點(diǎn)U使用發(fā)射功率Pku向節(jié)點(diǎn)V發(fā)送響應(yīng)消息包[TYPEmm,IDv, IDu, COUJ ;
[0113]否則,若節(jié)點(diǎn)V已存在接收節(jié)點(diǎn)u的接收數(shù)據(jù)集Su中:
[0114]將節(jié)點(diǎn)U對(duì)節(jié)點(diǎn)V的響應(yīng)次數(shù)COUv增大I ;接著節(jié)點(diǎn)u使用發(fā)射功率Pku向節(jié)點(diǎn)V發(fā)送響應(yīng)消息包[TYPEnrm, IDv, IDu, COUJ ;
[0115]COUv是一個(gè)記錄響應(yīng)次數(shù)的變量,下標(biāo)V表示被響應(yīng)的對(duì)象,指節(jié)點(diǎn)u對(duì)節(jié)點(diǎn)V發(fā)送的同一個(gè)發(fā)現(xiàn)消息包的響應(yīng)次數(shù);
[0116]步驟g:若節(jié)點(diǎn)U成功收到來自節(jié)點(diǎn)V發(fā)送的鄰居響應(yīng)消息包[TYPEnrm, IDu, IDv, COUJ,則將鏈路權(quán)值變量賦值為R_C0UU+1,并將鏈路[u,v, Ru;v;k]和節(jié)點(diǎn)v分別加入到數(shù)據(jù)集TABku和NEIulist中;
[0117]其中,所述發(fā)現(xiàn)消息包[TYPEndm, IDu, NEIulisJ中三個(gè)字段的含義分別是包類型為發(fā)現(xiàn)消息包、發(fā)送節(jié)點(diǎn)標(biāo)識(shí)、發(fā)送節(jié)點(diǎn)已知的相鄰節(jié)點(diǎn)列表;
[0118]所述響應(yīng)消息包[TYPE_ IDu, IDv, COUu]中四個(gè)字段的含義分別是包類型為響應(yīng)消息包、接收節(jié)點(diǎn)U標(biāo)識(shí)、發(fā)送節(jié)點(diǎn)V標(biāo)識(shí)、節(jié)點(diǎn)V對(duì)節(jié)點(diǎn)U發(fā)送的同一個(gè)發(fā)現(xiàn)消息包的響應(yīng)次數(shù),其中被響應(yīng)對(duì)象為節(jié)點(diǎn)U。
[0119]所述步驟3中更改節(jié)點(diǎn)u的發(fā)射功率廣播探測包的更改方法包括以下三種:
[0120]I)逐級(jí)更改發(fā)射功率廣播探測包:
[0121]從最低發(fā)射功率開始廣播探測包,往后每次增加一級(jí)發(fā)射功率;
[0122]2)加倍更改發(fā)射功率廣播探測包:
[0123]首先從最低發(fā)射功率開始廣播探測包,往后以前一次發(fā)射功率的兩倍廣播探測包,當(dāng)發(fā)射功率到達(dá)設(shè)定的閾值時(shí),接著逐級(jí)增加發(fā)射功率廣播探測包;
[0124]所述閾值為發(fā)射功率的中間等級(jí)發(fā)射功率;
[0125]3)折半更改發(fā)射功率廣播探測包:
[0126]首先,從節(jié)點(diǎn)的發(fā)射功率等級(jí)范圍的中間級(jí)別發(fā)射功率開始廣播探測包,若每條鏈路滿足預(yù)定約束條件,則尋找是否存在更小的節(jié)點(diǎn)發(fā)射功率,如果不存在,則以前一個(gè)滿足預(yù)定約束條件下的節(jié)點(diǎn)發(fā)射功率作為待確定的節(jié)點(diǎn)發(fā)射功率;否則,則繼續(xù)在高一半的搜索范圍內(nèi)以相同的方式折半搜索;
[0127]所述預(yù)定約束是指,對(duì)每條鏈路,其替代路徑上鏈路權(quán)值之和都小于或等于該鏈路的鏈路權(quán)值的t倍,t是指伸展因子。
[0128]首先簡單介紹一下進(jìn)行比較的3種基于無線有損網(wǎng)絡(luò)的拓?fù)淇刂品椒?
[0129]l)LTCAL-node:該方法僅為每個(gè)節(jié)點(diǎn)維持一個(gè)能夠覆蓋其最遠(yuǎn)鄰居且滿足應(yīng)用要求的伸展因子約束的發(fā)射功率。任一節(jié)點(diǎn)在其I跳鄰域范圍內(nèi)構(gòu)建到其它所有鄰域節(jié)點(diǎn)的最短路徑,并將路徑上與自己相鄰的節(jié)點(diǎn)作為拓?fù)淇刂坪蟮泥従?。路徑?quán)值是路徑上所有鏈路權(quán)值的累加。該方法采取逐級(jí)增大(或翻倍逐級(jí)增大、或折半確定)發(fā)射功率的方式確定滿足伸展因子約束條件的適合發(fā)射功率。若存在不滿足應(yīng)用要求的伸展因子約束的最短路徑,則增大一級(jí)發(fā)射功率,依次類推,直至滿足約束要求。具體算法描述見前述。
[0130]2) CTC-node-ms:該方法的基本思想是,運(yùn)行該方法的節(jié)點(diǎn)在其2跳鄰域內(nèi),為其每個(gè)鄰域節(jié)點(diǎn)計(jì)算能替換其每條最大功率鏈路的替換路徑,要求替換路徑長度不超過d跳(在實(shí)施例中d取3)且滿足應(yīng)用要求的伸展因子約束。在滿足這些要求的替換路徑中,選擇路徑上鏈路起始節(jié)點(diǎn)發(fā)射功率累加和最小的替換路徑。若運(yùn)行該方法的節(jié)點(diǎn)被包括在替換路徑上,則根據(jù)該路徑對(duì)該節(jié)點(diǎn)的功率要求更新其發(fā)射功率。若要求的功率值大于當(dāng)前功率,則更新。
[0131]3) CTC-node-mm:除了采用路徑上最大權(quán)值鏈路的權(quán)值作為路徑權(quán)值外,其它與CTC-node-ms 相同。
[0132]比較的性能參數(shù)描述如下:
[0133]I)平均發(fā)射功率:是指在拓?fù)淇刂扑惴▓?zhí)行后,網(wǎng)絡(luò)中所有節(jié)點(diǎn)確定采納的發(fā)射功率的均值。對(duì)任一節(jié)點(diǎn)u來說,其確定采納的發(fā)射功率記作Pu。全網(wǎng)均值由
【權(quán)利要求】
1.一種基于無線有損網(wǎng)絡(luò)降低構(gòu)建開銷的拓?fù)淇刂品椒?,其特征在于,無線有損網(wǎng)絡(luò)中任一網(wǎng)絡(luò)節(jié)點(diǎn)U均執(zhí)行如下步驟: 步驟1:根據(jù)用戶要求設(shè)定無線有損網(wǎng)絡(luò)的伸展因子t,t的取值范圍是大于I且小于6的整數(shù); 步驟2:獲取節(jié)點(diǎn)u的最大發(fā)射功率鏈路數(shù)據(jù)集TABmaxu ; 以節(jié)點(diǎn)u的最大發(fā)射功率Pmaxu廣播探測包,節(jié)點(diǎn)u接收該探測包的響應(yīng)包獲得節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)ID以及節(jié)點(diǎn)u與鄰居節(jié)點(diǎn)之間的鏈路權(quán)值,同時(shí)將節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)ID以及節(jié)點(diǎn)u與鄰居節(jié)點(diǎn)之間的鏈路權(quán)值保存于節(jié)點(diǎn)u的最大發(fā)射功率鏈路數(shù)據(jù)集TABmaxu中,鄰居節(jié)點(diǎn)ID為鄰居節(jié)點(diǎn)的唯一標(biāo)識(shí)符,表示節(jié)點(diǎn)身份; 步驟3:更改節(jié)點(diǎn)u的發(fā)射功率廣播探測包; 步驟4:將節(jié)點(diǎn)u的鄰接鏈路數(shù)據(jù)集H和最短路徑集合PATH初始化為空; 其中,節(jié)點(diǎn)u的鄰接鏈路數(shù)據(jù)集H用于保存節(jié)點(diǎn)u的ID、節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)ID以及所有保存的鄰居節(jié)點(diǎn)之間的鏈路權(quán)值; 節(jié)點(diǎn)u的最短路徑集合PATH是指用于保存節(jié)點(diǎn)u到鄰接鏈路數(shù)據(jù)集H中除節(jié)點(diǎn)u本身之外的每個(gè)節(jié)點(diǎn)的最短路徑; 步驟5:獲得當(dāng)前發(fā)射功率鏈路數(shù)據(jù)集TABku ; 節(jié)點(diǎn)u接收步驟3廣播探測包的響應(yīng)包,獲得節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)ID以及鄰居節(jié)點(diǎn)之間的鏈路權(quán)值,并保存于節(jié)點(diǎn)`u的當(dāng)前發(fā)射功率鏈路數(shù)據(jù)集TABku中,其中,k表示節(jié)點(diǎn)u使用第k級(jí)發(fā)射功率廣播探測包; 步驟6:更新鄰接鏈路數(shù)據(jù)集H ; 節(jié)點(diǎn)u與在節(jié)點(diǎn)u的I跳鄰域內(nèi)的鄰居節(jié)點(diǎn)通過交換進(jìn)行信息共享,將節(jié)點(diǎn)u所在的I跳鄰域內(nèi)的所有節(jié)點(diǎn)之間的鏈路權(quán)值保存在鄰接鏈路數(shù)據(jù)集H中; 步驟7:更新最短路徑集合PATH ; 依據(jù)步驟6獲得的鄰接鏈路數(shù)據(jù)集H構(gòu)建鏈路結(jié)構(gòu)圖,利用Dijkstra算法將求得的節(jié)點(diǎn)u到鏈路結(jié)構(gòu)圖上的其他每個(gè)節(jié)點(diǎn)的最短路徑保存在最短路徑集合PATH中; 步驟8:針對(duì)最大發(fā)射功率鏈路數(shù)據(jù)集TABmaxu中的每條鏈路,依次從步驟7獲得的最短路徑集合PATH中尋找路徑起始節(jié)點(diǎn)與該鏈路起始節(jié)點(diǎn)相同的路徑作為其替代路徑; 若該替代路徑上的鏈路權(quán)值之和大于當(dāng)前鏈路的鏈路權(quán)值的t倍,則返回步驟3 ;若該替代路徑上的鏈路權(quán)值之和小于或等于當(dāng)前鏈路的鏈路權(quán)值的t倍,則以步驟3確定的節(jié)點(diǎn)發(fā)射功率作為節(jié)點(diǎn)u在無線有損網(wǎng)絡(luò)中的發(fā)射功率。
2.根據(jù)權(quán)利要求1所述的基于無線有損網(wǎng)絡(luò)降低構(gòu)建開銷的拓?fù)淇刂品椒?,其特征在于,所述?jié)點(diǎn)先廣播探測包,然后通過接收該探測包的響應(yīng)包來獲得節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)以及與鄰居節(jié)點(diǎn)之間的鏈路權(quán)值的具體步驟如下: 步驟a:設(shè)定網(wǎng)絡(luò)應(yīng)用中所能容忍的節(jié)點(diǎn)數(shù)據(jù)重傳次數(shù)T,并將用于計(jì)算鏈路權(quán)值的變量R和記錄循環(huán)體執(zhí)行次數(shù)的變量i初始化為O,接收數(shù)據(jù)集Su,當(dāng)前發(fā)射功率鏈路數(shù)據(jù)集TABku,鄰居節(jié)點(diǎn)列表NEIulist分別初始化為空; 其中,R用于記錄節(jié)點(diǎn)u以廣播方式發(fā)送鄰居發(fā)現(xiàn)消息包的輪次,i表示節(jié)點(diǎn)u執(zhí)行循環(huán)體的次數(shù),Su用于記錄節(jié)點(diǎn)u成功收到的鄰居節(jié)點(diǎn)發(fā)送的同一個(gè)發(fā)現(xiàn)消息包的次數(shù)以及該鄰居節(jié)點(diǎn)ID, NEIulist為節(jié)點(diǎn)u的鄰居節(jié)點(diǎn)列表,用于記錄節(jié)點(diǎn)u已經(jīng)發(fā)現(xiàn)的相鄰居點(diǎn)名稱,數(shù)據(jù)集TABku用于記錄節(jié)點(diǎn)u選用發(fā)射功率k廣播探測包獲得的與鄰居節(jié)點(diǎn)之間的鏈路權(quán)值; 步驟b:判斷計(jì)算變量i是否等于T,如果是,則結(jié)束所有操作;否則,進(jìn)入步驟c ; 步驟c:節(jié)點(diǎn)u將變量R增大1,并使用發(fā)射功率Pku以廣播方式發(fā)送發(fā)現(xiàn)消息包[TYPEndm, IDu, NEIulisJ,同時(shí)啟動(dòng)定時(shí)器 th ; 步驟d:判斷定時(shí)器th是否超時(shí),若未超時(shí),則進(jìn)入步驟e,否則,將變量i的值加I后返回步驟b; 步驟e:若節(jié)點(diǎn)u成功接收到來自節(jié)點(diǎn)V廣播的發(fā)現(xiàn)消息包[TYPEndm, IDv, NEIvlisJ且節(jié)點(diǎn)u尚不在節(jié)點(diǎn)V的相鄰節(jié)點(diǎn)列表NEIvlist中,則執(zhí)行步驟f,否則,進(jìn)入步驟g ; 步驟f:判斷節(jié)點(diǎn)V是否存在于節(jié)點(diǎn)u的接收數(shù)據(jù)集Su中; 若節(jié)點(diǎn)V不存在于節(jié)點(diǎn)u的接收數(shù)據(jù)集Su中: 將節(jié)點(diǎn)u對(duì)節(jié)點(diǎn)V的響應(yīng)次數(shù)COUv置為1,并將[IDV,COUJ加入Su中;接著節(jié)點(diǎn)u使用發(fā)射功率Pku向節(jié)點(diǎn)V發(fā)送響應(yīng)消息包[TYPE_ IDv, IDu, COUJ ; 否則,若節(jié)點(diǎn)V已存在接收節(jié)點(diǎn)u的接收數(shù)據(jù)集Su中: 將節(jié)點(diǎn)u對(duì)節(jié)點(diǎn)V的響應(yīng)次數(shù)COUv增大I ;接著節(jié)點(diǎn)u使用發(fā)射功率pku向節(jié)點(diǎn)V發(fā)送響應(yīng)消息包[TYPEnrm, IDv, IDu, COUJ ; COUv是一個(gè)記錄響應(yīng)次數(shù)的變量,下標(biāo)V表示被響應(yīng)的對(duì)象,指節(jié)點(diǎn)U對(duì)節(jié)點(diǎn)V發(fā)送的同一個(gè)發(fā)現(xiàn)消息包的響應(yīng)次數(shù);` 步驟g:若節(jié)點(diǎn)u成功收到來自節(jié)點(diǎn)V發(fā)送的鄰居響應(yīng)消息包[TYPEnrm, IDu, IDv, COUJ,則將鏈路權(quán)值變量賦值為R-C0UU+1,并將鏈路[U,V, Ru;v;k]和節(jié)點(diǎn)V分別加入到數(shù)據(jù)集TABku和 NEIulist 中; 其中,所述發(fā)現(xiàn)消息包[TYPEndffl, IDu, NEIulisJ中三個(gè)字段的含義分別是包類型為發(fā)現(xiàn)消息包、發(fā)送節(jié)點(diǎn)標(biāo)識(shí)、發(fā)送節(jié)點(diǎn)已知的相鄰節(jié)點(diǎn)列表; 所述響應(yīng)消息包[TYPEmm,IDu, IDv, COUJ中四個(gè)字段的含義分別是包類型為響應(yīng)消息包、接收節(jié)點(diǎn)U標(biāo)識(shí)、發(fā)送節(jié)點(diǎn)V標(biāo)識(shí)、節(jié)點(diǎn)V對(duì)節(jié)點(diǎn)U發(fā)送的同一個(gè)發(fā)現(xiàn)消息包的響應(yīng)次數(shù),其中被響應(yīng)對(duì)象為節(jié)點(diǎn)U。
3.根據(jù)權(quán)利要求1或2所述的基于無線有損網(wǎng)絡(luò)降低構(gòu)建開銷的拓?fù)淇刂品椒ǎ涮卣髟谟?,所述步驟3中更改節(jié)點(diǎn)u的發(fā)射功率廣播探測包的更改方法包括以下三種: 1)逐級(jí)更改發(fā)射功率廣播探測包: 從最低發(fā)射功率開始廣播探測包,往后每次增加一級(jí)發(fā)射功率; 2)加倍更改發(fā)射功率廣播探測包: 首先從最低發(fā)射功率開始廣播探測包,往后以前一次發(fā)射功率的兩倍廣播探測包,當(dāng)發(fā)射功率到達(dá)設(shè)定的閾值時(shí),接著逐級(jí)增加發(fā)射功率廣播探測包; 所述閾值為發(fā)射功率的中間等級(jí)發(fā)射功率; 3)折半更改發(fā)射功率廣播探測包: 首先,從節(jié)點(diǎn)的發(fā)射功率等級(jí)范圍的中間級(jí)別發(fā)射功率開始廣播探測包,若每條鏈路滿足預(yù)定約束條件,則尋找是否存在更小的節(jié)點(diǎn)發(fā)射功率,如果不存在,則以前一個(gè)滿足預(yù)定約束條件下的節(jié)點(diǎn)發(fā)射功率作為待確定的節(jié)點(diǎn)發(fā)射功率;否則,則繼續(xù)在高一半的搜索范圍內(nèi)以相同的方式折半搜索;所述預(yù)定約束是指,對(duì)每條鏈路,其替代路徑上鏈路權(quán)值之和都小于或等于該鏈路的鏈路權(quán)值的t倍,t是指伸展因子。`
【文檔編號(hào)】H04W28/16GK103826266SQ201410114402
【公開日】2014年5月28日 申請(qǐng)日期:2014年3月25日 優(yōu)先權(quán)日:2014年3月25日
【發(fā)明者】桂勁松 申請(qǐng)人:中南大學(xué)