本發(fā)明涉及無線傳感
技術(shù)領(lǐng)域:
,尤其是涉及一種無線傳感器網(wǎng)絡(luò)節(jié)點的部署修復(fù)方法及系統(tǒng)。
背景技術(shù):
:當無線傳感器網(wǎng)絡(luò)發(fā)生單個節(jié)點故障時,可以采取移動網(wǎng)絡(luò)中的其他節(jié)點的方法進行修復(fù)。但在網(wǎng)絡(luò)因遭到大規(guī)模破壞而被分割成多個子塊,且每個子塊之間距離較遠的情況下,一般采用部署新節(jié)點的方法進行修復(fù)。在制定修復(fù)算法時,一般情況下將各個無法通信的子塊看成是一個一個的節(jié)點。修復(fù)算法的目標便是通過在這些節(jié)點之間建立連通路徑來達到修復(fù)目的。在不考慮網(wǎng)絡(luò)的容錯性的情況下,在建立連通的路徑時,一般結(jié)合斯坦納樹原理來設(shè)計修復(fù)算法。Lin等人證明了SMT-MSP問題是NP困難問題,同時提出了一個簡單的最小生成樹算法來修復(fù)網(wǎng)絡(luò)連接。Lloyd等人提出了MST_1TRNP算法,該算法首先通過Kruskal算法或Prim算法生成一棵最小生成樹,其次在最小生成樹的每條邊部署一定數(shù)量的中繼節(jié)點來修復(fù)網(wǎng)絡(luò)連接。但MST_1TRNP算法并非最優(yōu)算法,該算法所用的中繼節(jié)點數(shù)目相對較多。Senel等人提出了FeSTA算法,該算法將網(wǎng)絡(luò)中的各個子塊看成是一個一個的節(jié)點。首先找到平面內(nèi)的所有三角形,并將這些三角形的周長從小到大進行排列。其次,該算法從周長最小的三角形開始,判斷組成這個三角形的3個點是否已經(jīng)有邊。若這3點中至少有2個點沒有邊,則判斷這3個點組成的三角形是否存在斯坦納點。若有,則將這3個點與斯坦納點連接;若沒有,則將這3個點按照最小生成樹方式連接。當所有三角形都判斷過之后,可能整個網(wǎng)絡(luò)依然處于分塊狀態(tài),便將每個分塊與最近的分塊相連,使得整個網(wǎng)絡(luò)形成一個整體。當網(wǎng)絡(luò)中不再有分塊之后,該算法遍歷整個網(wǎng)絡(luò),判斷網(wǎng)絡(luò)中是否存在需要優(yōu)化的路徑。若有,則將最小生成樹方式連接的路徑改為斯坦納樹方式連接。該算法在所需的中繼節(jié)點數(shù)目、修復(fù)之后的平均節(jié)點度等方面均比其他算法更優(yōu),但該算法的時間復(fù)雜度較高。技術(shù)實現(xiàn)要素:本發(fā)明所要解決的技術(shù)問題是:提供了一種無線傳感器網(wǎng)絡(luò)節(jié)點部署修復(fù)方法,以平衡節(jié)點能耗,延長網(wǎng)絡(luò)生存周期。為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:提供一種無線傳感器網(wǎng)絡(luò)節(jié)點的部署修復(fù)方法,包括:在無線傳感器網(wǎng)絡(luò)子塊間生成最小生成樹;在最小生成樹上獲取斯坦納點,并與節(jié)點連接,形成部署邊;在部署邊上部署中繼節(jié)點,實現(xiàn)網(wǎng)絡(luò)連接修復(fù)。為解決上述問題,本發(fā)明還提供一種無線傳感器網(wǎng)絡(luò)節(jié)點的部署修復(fù)系統(tǒng),包括:生成樹模塊,用于在無線傳感器網(wǎng)絡(luò)子塊間生成最小生成樹;部署邊模塊,用于在最小生成樹上獲取斯坦納點,并與節(jié)點連接,形成部署邊;部署模塊,用于在部署邊上部署中繼節(jié)點,實現(xiàn)網(wǎng)絡(luò)連接修復(fù)。本發(fā)明的有益效果在于:區(qū)別于現(xiàn)有技術(shù),本發(fā)明在各子塊間生成最小生成樹;并從樹上獲取斯坦納點,與節(jié)點連接,形成部署中繼節(jié)點的部署邊。通過上述方式,本發(fā)明不僅有效地節(jié)約了修復(fù)成本,而且該方法所構(gòu)建的網(wǎng)絡(luò)拓撲具有較高的平均節(jié)點度,使得修復(fù)之后的網(wǎng)絡(luò)具有較好的性能。附圖說明圖1為本發(fā)明方法實施例一的流程示意圖;圖2為本發(fā)明具體實施例中IMST算法與現(xiàn)有的MST_1TRNP算法和FeSTA算法的總移動距離對比直方圖;圖3為本發(fā)明具體實施例中IMST算法與現(xiàn)有的MST_1TRNP算法和FeSTA算法的中繼節(jié)點個數(shù)對比直方圖;圖4為本發(fā)明具體實施例中IMST算法與現(xiàn)有的MST_1TRNP算法和FeSTA算法的中繼節(jié)點個數(shù)對比直方圖;圖5為本發(fā)明具體實施例中IMST算法與現(xiàn)有的MST_1TRNP算法和FeSTA算法的所有節(jié)點的平均節(jié)點度對比直方圖;圖6為本發(fā)明具體實施例中IMST算法與現(xiàn)有的MST_1TRNP算法和FeSTA算法的內(nèi)部中繼節(jié)點的平均節(jié)點度對比直方圖;圖7為本發(fā)明具體實施例中IMST算法與現(xiàn)有的MST_1TRNP算法和FeSTA算法的所有節(jié)點的平均節(jié)點度對比直方圖;圖8為本發(fā)明具體實施例中IMST算法與現(xiàn)有的MST_1TRNP算法和FeSTA算法的內(nèi)部中繼節(jié)點的平均節(jié)點度對比直方圖。具體實施方式為詳細說明本發(fā)明的技術(shù)內(nèi)容、所實現(xiàn)目的及效果,以下結(jié)合實施方式并配合附圖予以說明。本發(fā)明最關(guān)鍵的構(gòu)思在于:在各子塊中生成最小生成樹,并從最小生成樹上獲取斯坦納點,并連接節(jié)點,作為需要部署中繼節(jié)點的邊。請參照圖1,本發(fā)明實施例一提供一種無線傳感器網(wǎng)絡(luò)節(jié)點的部署修復(fù)方法,包括:S1:在無線傳感器網(wǎng)絡(luò)子塊間生成最小生成樹;S2:在最小生成樹上獲取斯坦納點,并與節(jié)點連接,形成部署邊;S3:在部署邊上部署中繼節(jié)點,實現(xiàn)網(wǎng)絡(luò)連接修復(fù)。區(qū)別于現(xiàn)有技術(shù),本發(fā)明在各子塊間生成最小生成樹;并從樹上獲取斯坦納點,與節(jié)點連接,形成部署中繼節(jié)點的部署邊。通過上述方式,本發(fā)明不僅有效地節(jié)約了修復(fù)成本,而且該方法所構(gòu)建的網(wǎng)絡(luò)拓撲具有較高的平均節(jié)點度,使得修復(fù)之后的網(wǎng)絡(luò)具有較好的性能。本發(fā)明是將每個子塊看成是單個獨立的節(jié)點。因為修復(fù)一個故障網(wǎng)絡(luò)需要耗費一定的成本,部署的節(jié)點越多,所需的成本就越高。因此,本發(fā)明考慮的是:如何在完成網(wǎng)絡(luò)連接修復(fù)目標的同時,最小化所用的節(jié)點數(shù)目。首先對本發(fā)明所涉及的相關(guān)術(shù)語進行定義:定義1,斯坦納點:給定ΔABC,若ΔABC的內(nèi)角均不大于120°,則該三角形內(nèi)存在一點Ps到A,B,C三個點的距離之和不大于其他點到這三點的距離之和,則點Ps稱為斯坦納點。假設(shè)Ps到A,B,C三個點的距離分別為||PsA||、||PsB||、||PsC||,則有||PsA||+||PsB||+||PsC||≤min{||AB||+||AC||,||AB||+||BC||,||AC||+||BC||};即斯坦納點與三點相連接形成的路徑長度≤三點以最小生成樹方式連接所形成的總路徑長度。定義2,兩個子塊之間所需部署的中繼節(jié)點數(shù)目:給定兩個點A和B,坐標分別為(x1,y1)、(x2,y2),在A,B之間部署通信半徑為R的中繼節(jié)點,則所需部署的個數(shù)為具體計算方法為:其中為A,B之間的歐幾里德距離。定義3,以斯坦納樹方式連接的三個子塊之間所需的中繼節(jié)點數(shù)目:給定三個點A,B,C,坐標分別為(x1,y1)、(x2,y2)、(x3,y3),并且三個點組成的ΔABC中存在斯坦納點Ps,坐標為(x,y),則在A、B、C與Ps之間需部署的中繼節(jié)點個數(shù)分別為和則四個點之間部署的中繼節(jié)點總個數(shù)為具體計算方法為((x1-x)2+(y1-y)2R-1)+((x2-x)2+(y2-y)2R-1)+((x3-x)2+(y3-y)2R-1)+1=(x1-x)2+(y1-y)2R+(x2-x)2+(y2-y)2R(x3-x)2+(y3-y)2R-2]]>其中,表示上取整,如N=16時,則表示下取整,如N=16時,則本發(fā)明在實際操作中,包括如下步驟:步驟1.初始化。假設(shè)平面上有n個節(jié)點(子塊),所有節(jié)點的坐標與所要部署的節(jié)點的通信半徑為已知。步驟2.生成最小生成樹。采用Kruskal算法在所有點中生成一棵最小生成樹,并將所有點標記為未搜索過。應(yīng)當說明的是,初始化的時候,因為所有節(jié)點都未被搜索過,所以就全部標記為“未搜索過”(假設(shè)未被搜索過標記為0,搜索過標記為1)。搜索指的是算法的遍歷查找。在一個數(shù)組中儲存所有節(jié)點,每個節(jié)點在一個時刻只能具有一個狀態(tài)(如設(shè)初始狀態(tài)值為0)。當算法開始執(zhí)行時,從第一個節(jié)點開始遍歷,每遍歷一個節(jié)點,如果這個節(jié)點滿足要求,則這個節(jié)點的狀態(tài)就從0變成1。狀態(tài)變成1的節(jié)點就是搜索過的節(jié)點。狀態(tài)為0的節(jié)點就是未被搜索過的節(jié)點。步驟3.查找滿足條件的斯坦納點。從最小生成樹最長的邊對應(yīng)的點vi開始,判斷該點是否被搜索過。若該點未被搜索過,則判斷該點是否至少有2條邊。若該點的邊數(shù)大于或等于2,則找出該點的邊中最長的兩條邊,并找出這兩條邊對應(yīng)的另外兩個點vj和vk。判斷vi、vj和vk這三個點是否都被搜索過。若這三個點中至多只有一個點被搜索過,則判斷這三點組成的三角形是否存在斯坦納點。若存在,則找到斯坦納點,并刪除這三點原有的邊,將這三個點與斯坦納點連接,形成新的邊,并將這三點vi、vj和vk標記為已搜索過。當所有點均被搜索過之后,執(zhí)行下一個步驟。步驟3中“判斷是否被搜索過”是針對全局來說明的。指的是每搜索到一個節(jié)點的時候,都進行判斷是否標記為0(第一次搜索到的節(jié)點均標記為0,第二次開始搜索到的節(jié)點就可能標記為0,也可能標記為1)。舉個例子:假設(shè)有五個點A、B、C、D、E,連接方式為:A—B—C—D—E。并假設(shè)每條邊的長度關(guān)系為AB邊長>BC邊長>CD邊長>DE邊長。A、B、C、D、E全部標記為0。因為AB邊最長,本發(fā)明從A開始搜索,判斷A是否標記為0,若是,再判斷A是否有2條邊,反之,則搜索B。此時B為0,且B有兩條邊。這兩條邊對應(yīng)的點分別為A和C。判斷A、B、C這3點是否至少2個為0,若是,則判斷△ABC是否存在斯坦納點,假如存在,則找到這個斯坦納點Q,將AB之間的邊刪除,將BC之間的邊刪除,將A、B、C與Q連接,并將ABC這三點標記為1。若上述中的點對應(yīng)的邊小于2,則搜索下一個點。而對于B來說,其對應(yīng)兩邊的頂點A、C可通過下述方式確定:假設(shè)上述五個點A、B、C、D、E中,最小生成樹的連接方式為:A—B—C—D—E。在最小生成樹的點集中存儲的內(nèi)容為{ABBCCDDE}。當搜索到B時,若B為偶數(shù),則前一個點(A)為它對應(yīng)的邊的點;若B為奇數(shù),則后一個點(C)為它對應(yīng)的邊的點,這樣就找到了B對應(yīng)的另外兩個點A和C了。所以,若確定某個點的對應(yīng)的另外兩個點,只需知道該點在集合中的位置即可。步驟4.沿著所有邊部署新的節(jié)點,完成網(wǎng)絡(luò)連接修復(fù)。具體地,上述步驟可通過下述數(shù)理進行說明:S1.生成最小生成樹以及對應(yīng)的點集Vmt,Vmt={v1,v2,…,v(n-1)×2},|Vmt|=(n-1)×2,其中,n表示子塊數(shù)。S2.初始化中繼節(jié)點個數(shù)m=0,并將每個節(jié)點st都標記為未被搜索,st∈S。每個vi∈Vmt都對應(yīng)一個st。每個st都對應(yīng)多個vi。vi對應(yīng)的st未被搜索過,則說明vi未被搜索過。本發(fā)明中,若vi未被搜索過,則表示vi對應(yīng)的st未被搜索過。S3.從Vmt的最后一個節(jié)點開始,對于每個vi∈Vmt執(zhí)行以下步驟:如果vi未被搜索過,且vi至少有兩條邊;則找出vi的兩條最長的邊對應(yīng)的兩個頂點vj,vk;如果vi,vj,vk三個點中最多只有一個點被搜索過,且vi,vj,vk三點組成的三角形有斯坦納點Ps;則在vi與Ps之間部署個中繼節(jié)點,分別為{pm+1,pm+2,…,pm+m′},并更新m=m+m′;在vj與Ps之間部署個中繼節(jié)點,分別為{pm+1,pm+2,…,pm+m′},并更新m=m+m′;在vk與Ps之間部署個中繼節(jié)點,分別為{pm+1,pm+2,…,pm+m′,Ps},并更新m=m+m′+1S4.對于每個vi∈Vmt,執(zhí)行以下步驟:如果vi對應(yīng)的st未被搜索過,則找出vi的邊對應(yīng)的頂點vj;并在vi與vj之間部署個中繼節(jié)點,分別為{pm+1,pm+2,…,pm+m′}同時更新m=m+m′。執(zhí)行上述S1~S3的步驟后,只有符合要求的子塊的狀態(tài)才會從0變成1,不符合要求的子塊的狀態(tài)依舊保持0。所以,在所有的節(jié)點遍歷一遍之后,可能存在個別子塊狀態(tài)還是0的情況。所以步驟S4獲取未被搜索過的子塊,并在該子塊中最小生成樹的邊上部署中繼節(jié)點。為方便理解上述步驟,以下通過具體的定理證明來輔助描述。定理1:算法的時間復(fù)雜度為O(n2),n為子塊的個數(shù)。證明:Step1中生成一棵最小生成樹最壞情況下的時間復(fù)雜度為O(n2)。Step2中標記st,其時間復(fù)雜度取決于S的大小,而|S|=n,所以Step2的時間復(fù)雜度為O(n)。Step3的時間復(fù)雜度取決于Vmt的大小,而|Vmt|=(n-1)×2,所以Step3的時間復(fù)雜度為O(n)。類似地,Step4的時間復(fù)雜度也為O(n),所以本發(fā)明的IMST算法的時間復(fù)雜度為O(n2)。(FeSTA算法的時間復(fù)雜度為O(n4))定理2:從最長的邊開始搜索,修復(fù)之后所需部署的節(jié)點數(shù)目更少。證明:假設(shè)現(xiàn)有A,B,C和A′,B′,C′6個點,A,B,C三個點所組成的三角形ΔABC是周長最小的三角形,邊長分別為||AB||、||AC||、||BC||,A′,B′,C′三個點所組成的三角形ΔA′B′C′是周長最大的三角形,邊長分別為α×||AB||、β×||AC||、γ×||BC||,其中,α≥1、β≥1、γ≥1。假設(shè)最小三角形ΔABC和最大三角形ΔA′B′C′都存在斯坦納點,并且斯坦納樹的總路徑長度/最小生成樹的總路徑長度=δ、0<δ≤1。A,B,C三個點的最小生成樹路徑長度為L=min{||AB||+||AC||,||AB||+||BC||,||AC||+||BC||}(4-1)假設(shè)Lmin=||AB||+||AC||,形成斯坦納樹之后的總路徑長度為δ×(||AB||+||AC||),減少的長度為(1-δ)×(||AB||+||AC||)(4-2)A′,B′,C′三個點的最小生成樹路徑長度為L′=min{α×||AB||+β×||AC||,α×||AB||+γ×||BC||,β×||AC||+γ×||BC||}(4-3)假設(shè)L′min=α×||AB||+β×||AC||,形成斯坦納樹之后的距離為δ×(α×||AB||+β×||AC||)(4-4)減少的長度為(1-δ)×(α×||AB||+β×||AC||)(4-5)假設(shè)α≤β,則有(1-δ)×(α×||AB||+β×||AC||)≥α×(1-δ)×(||AB||+||AC||)(4-6)因為α≥1,所以(1-δ)×(α×||AB||+β×||AC||)≥α×(1-δ)×(||AB||+||AC||)≥(1-δ)×(||AB||+||AC||)(4-7)綜上所述,從最長的邊開始搜索,比從最短的邊開始搜索,可以更好地減少總路徑的長度。總路徑長度越短,修復(fù)所需的節(jié)點數(shù)目就越少。定理3:本發(fā)明的IMST算法一定是收斂的,即最終可以將所有子塊連接起來。證明:本發(fā)明的IMST算法首先生成一棵最小生成樹,并存下最小生成樹對應(yīng)的點集Vmt={v1,v2,…,v(n-1)×2},子塊對應(yīng)的集合為S={s1,s2,…,sn},n為子塊個數(shù),則最小生成樹對應(yīng)的邊集為Emt={vi,vi+1},imod2=1{vi,vi-1},imod2=0,vi,vi+1,vi-1∈Vmt---(4-8)]]>生成的最小生成樹將所有子塊連接起來之后,算法在搜索斯坦納點的過程中,首先判斷vi,vi+1,vj(i+1≠j,imod2=1)(imod2=0的情況類似)三點組成的三角形是否存在斯坦納點,若存在斯坦納點Ps,則刪除現(xiàn)有的連接E′mt=Emt-{vi,vi+1}-{vi,vj}(4-9)將vi,vi+1,vj三點與Ps相連,修改之后的連接方式為Emt={{vi,Ps},{vi+1,Ps},{vj,Ps}Emt′,vi,vi+1,vj∈Vmt---(4-10)]]>此時vi,vi+1,vj三點之間依舊保持連通,除了vi,vi+1,vj三點之外的其他點的連接并不受影響,也就是說,本發(fā)明的IMST算法并沒有影響所有節(jié)點的連通性。因此,在算法運行結(jié)束之后,所有子塊之間依舊是連通的。定理4:在子塊個數(shù)n一定的情況下,部署的中繼節(jié)點個數(shù)m越小(或中繼節(jié)點的通信半徑R越大),則所有節(jié)點的平均節(jié)點度Dall-nodes越小,而網(wǎng)絡(luò)內(nèi)部中繼節(jié)點的平均節(jié)點度Dinter-relay-nodes越大,且滿足2≤Dinter-relay-nodes≤3。證明:(1)修復(fù)之前有n個子塊,修復(fù)之后所有點的平均節(jié)點度Dall-nodes為Dall-nodes=2(m+n-1)m+n=2-2m+n---(4-11)]]>所以,當n的值固定時,m越小,越大,越小,即Dall-nodes越小。因為L為修復(fù)之后的總路徑長度,所以當給定子塊的分布情況時(即n的值固定時),修復(fù)之后的總路徑長度L隨即確定,此時,若R越大,則m越小,而Dall-nodes越小。(2)修復(fù)之前有n個子塊,假設(shè)修復(fù)之后的網(wǎng)絡(luò)中有ms個斯坦納點,則修復(fù)之后內(nèi)部所有節(jié)點的平均節(jié)點度Dinter-relay-nodes為Dinter-relay-nodes=3×ms+2×(m-ms)m=ms+2×mm=2+msm---(4-12)]]>因為0≤ms≤m,所以有即2≤Dinter-relay-nodes≤3其中,ms滿足當給定子塊的分布情況時(n的值固定),ms和總路徑長度L也隨即固定,若中繼節(jié)點的覆蓋半徑R越大,則修復(fù)所用的中繼節(jié)點的個數(shù)m越小,則越大。從仿真分析角度來看,修復(fù)之后的總路徑長度、修復(fù)所需的節(jié)點個數(shù)以及平均節(jié)點度三個方面對本發(fā)明的IMST算法與現(xiàn)有的MST_1TRNP算法和FeSTA算法進行對比與分析。1、總路徑與總節(jié)點個數(shù)圖2是三個算法在不同分塊個數(shù)的情況下的拓撲總路徑長度的比較。從橫向上來看,三個算法的總路徑長度大致都隨著分塊個數(shù)的增加而增加。這是因為當區(qū)域中分塊個數(shù)增加時,連接各個分塊的邊增加,所有邊相加的總和變大,因此總路徑變長。從縱向上來看,不管區(qū)域中的分塊個數(shù)是多少,本發(fā)明的IMST算法都比另外兩種算法的總路徑更短。這是因為MST_1TRNP算法直接生成最小生成樹,而最小生成樹的總路徑長度大于斯坦納樹,所以MST_1TRNP算法的路徑總長度大于FeSTA算法和IMST算法。又因為FeSTA算法是從周長最小的三角形開始查找斯坦納點,而定理2已經(jīng)證明了從最長的邊開始搜索將會有更短的路徑長度。因此,本發(fā)明的IMST算法優(yōu)于另外兩種算法。圖3跟圖2基本類似,因為每條邊所需的節(jié)點個數(shù)等于也就是圖3跟圖2基本成正比。而圖3并不完全跟圖2相同,因為在計算每條邊所需部署的節(jié)點個數(shù)時,需要減去1。從圖3中可以看到,隨著分塊個數(shù)的增加,修復(fù)所需要的中繼節(jié)點個數(shù)也隨之增加。與另外兩個算法相比,本發(fā)明的IMST算法在不同的分塊個數(shù)的情況下,都使用了較少的中繼節(jié)點個數(shù),所以本發(fā)明的IMST算法在所需中繼節(jié)點個數(shù)方面優(yōu)于其他兩種算法。圖4是從通信半徑與所需的中繼節(jié)點個數(shù)進行對比。當兩點之間的距離固定時,通信半徑越大,所需的中繼節(jié)點個數(shù)就越少。因此,從圖4中可以看出,當中繼節(jié)點的通信半徑增大時,三個算法所需的中繼節(jié)點個數(shù)都減少。從縱向上來看,本發(fā)明的IMST算法隨著通信半徑的增大,所需的中繼節(jié)點個數(shù)都比其他兩種算法少??傊?,不管從哪個方面進行對比,都說明了本發(fā)明的IMST算法所用的節(jié)點數(shù)目均比其他算法更少,更能節(jié)約故障修復(fù)的成本。2、平均節(jié)點度平均節(jié)點度可以反映出網(wǎng)絡(luò)拓撲的生存性能。當拓撲的平均節(jié)點度越大,每個節(jié)點具有的邊越多,拓撲的魯棒性越好。因此,這部分從平均節(jié)點度方面對所提出的算法進行評估,并且通過與另外兩種算法的對比,證明本發(fā)明的IMST算法所形成的拓撲結(jié)構(gòu)有更好的魯棒性。圖5和圖6中中繼節(jié)點的通信半徑為固定值。從圖5和圖6可以看出,隨著分區(qū)個數(shù)的增加,平均節(jié)點度也隨之增大。這是由于隨著分區(qū)個數(shù)的增加,網(wǎng)絡(luò)拓撲結(jié)構(gòu)變得復(fù)雜,平均每個節(jié)點具有的邊更多,所以平均節(jié)點度隨著分區(qū)個數(shù)的增加而增大。而本發(fā)明的IMST算法在分區(qū)個數(shù)相同的情況下,比其他算法具有更大的平均節(jié)點度,說明本發(fā)明的IMST算法所形成的網(wǎng)絡(luò)拓撲魯棒性能更好。圖7和圖8描述的是通信半徑和平均節(jié)點度的關(guān)系??梢钥闯觯诜謪^(qū)個數(shù)一定的情況下,隨著通信半徑的增大,所有節(jié)點的平均節(jié)點度均降低(圖7),而內(nèi)部中繼節(jié)點的平均節(jié)點度均增大(圖8),與定理4的證明結(jié)果相符。不管是從所有節(jié)點的平均節(jié)點度方面,還是從內(nèi)部節(jié)點的平均節(jié)點度方面進行對比,都可以看出本發(fā)明的IMST算法明顯優(yōu)于其他兩種算法的平均節(jié)點度,說明了在不同通信半徑的情況下,IMST算法也具有更好的魯棒性。對應(yīng)地,本發(fā)明實施例二還提供一種無線傳感器網(wǎng)絡(luò)節(jié)點的部署修復(fù)系統(tǒng),包括:生成樹模塊,用于在無線傳感器網(wǎng)絡(luò)子塊間生成最小生成樹;部署邊模塊,用于在最小生成樹上獲取斯坦納點,并與節(jié)點連接,形成部署邊;部署模塊,用于在部署邊上部署中繼節(jié)點,實現(xiàn)網(wǎng)絡(luò)連接修復(fù)。其中,所述系統(tǒng)還包括初始化模塊,用于:獲取無線傳感器節(jié)點及其坐標,以及中繼節(jié)點的通信半徑;將所有無線傳感器節(jié)點標記為未被搜索過;根據(jù)節(jié)點坐標將無線傳感器網(wǎng)絡(luò)劃分成若干個子塊。所述子塊包含至少一個節(jié)點,當子塊未被搜索過,則子塊內(nèi)包含的節(jié)點標記為未被搜索過。所述部署邊模塊具體用于:獲取最小生成樹的邊,并按邊長進行排序從最長邊開始,依序擇取最長邊一端的節(jié)點;判斷該節(jié)點是否被搜索過,若是,則忽略該節(jié)點,并擇取最長邊另一端的節(jié)點;反之,則判斷經(jīng)過該節(jié)點的邊是否小于2條,若是,則忽略該節(jié)點,并擇取最長邊另一端的節(jié)點;反之,則擇取經(jīng)過該節(jié)點的最長兩條邊上的兩個節(jié)點;判斷上述三個節(jié)點是否至少有兩個節(jié)點被搜索過,若是,則忽略該節(jié)點,并擇取最長邊另一端的節(jié)點反之,則判斷上述三個節(jié)點組成的三角形是否存在斯坦納點,若是,則去除該三角形原有的邊,并將上述三個節(jié)點與所述斯坦納點連接,生成部署邊,并將三個節(jié)點標記為被搜索過;反之,則忽略該節(jié)點,并擇取最長邊另一端的節(jié)點。所述部署模塊具體用于:根據(jù)中繼節(jié)點的通信半徑,從三個節(jié)點開始沿著部署邊部署中繼節(jié)點;獲取未被搜索過的子塊,并在該子塊中最小生成樹的邊上部署中繼節(jié)點。以上所述僅為本發(fā)明的實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等同變換,或直接或間接運用在相關(guān)的
技術(shù)領(lǐng)域:
,均同理包括在本發(fā)明的專利保護范圍內(nèi)。當前第1頁1 2 3