本發明涉及一種錨節點輪轉方法,特別是涉及一種移動自組織網絡中低功耗錨節點輪轉方法。
背景技術:
近年來,移動自組織網絡憑借其快速組網、不依賴于基礎設施等優點,而被廣泛應用于緊急服務、災后搜救、智能交通及工廠自動化等多個領域。移動自組織網絡的分層結構是指通過將網絡中組網節點(可以為人員、機器人、車輛等,以下簡稱為節點)進行角色劃分,使得不同角色的節點之間通過協作能夠提高網絡的服務質量,如降低網絡中節點總能耗與網絡通信負載等。移動自組織網絡中分層結構的基礎形式為兩層結構,其他的多層結構為兩層結構的擴展形式。兩層結構中將節點劃分為錨節點與用戶節點,錨節點組成網絡的上層,而用戶節點組成網絡的下層。基于兩層結構,錨節點可以實現對用戶節點中資源的合理調度,如分配計算任務給用戶節點實現負載均衡等;而用戶節點可以依靠錨節點來實現一定功能,如通過與錨節點的測距通信來定位自身等。但是移動自組織網絡的分層結構(以兩層結構進行說明)中,匯集用戶節點信息、分發信息到用戶節點及協調用戶節點資源等任務為錨節點引入了較高的通信壓力,相較于用戶節點,錨節點具有較高的能耗、更容易喪失其正常功能,這樣的情況不利于網絡長期運行時的正常功能實現,且無法保證網絡中節點之間的能耗公平性。因此,對于如何降低移動自組織網絡分層結構中錨節點能耗,并保證網絡內節點能耗公平性的問題受到了越來越多的關注。
雖然移動自組織網絡的分層結構相較平面結構更加高效,但是需要對組網節點進行角色劃分,而劃分的原則往往是高效通信,一些節點由于其在網絡拓撲中位置等因素被選為錨節點,其通信負載及計算負載均隨之增大。從而,這些錨節點能耗比用戶節點要高,而原本移動自組織網絡中組網節點之間地位對等,整個網絡中節點之間應當具有能耗公平性;若無法保證節點之間的能耗公平性,則可能導致一些節點的能量過早地全部消耗掉,而導致網絡功能的無法正常完成,不利于網絡的長時間運作。由此可見保證網絡內節點能耗公平性問題的重要性。
經對現有技術的檢索發現,目前關于移動自組織網絡中保證節點能耗公平性的方案主要是周期性地在更換節點作為錨節點。然而,在移動自組織網絡中,節點的移動具有較強的隨機性,合理的錨節點輪轉周期難以確定。若確定具體的錨節點輪轉周期,則會導致一些問題的出現:較大的輪轉周期可能導致用戶節點與關聯的錨節點之間通信距離明顯增大,從而可能導致通信失敗或通信耗能較高等情況出現;而較小的輪轉周期將導致較大的錨節點輪轉開銷,增大網絡中節點通信的總能耗。因此,需要一種能夠保證網絡內節點的能耗公平性,并可以降低網絡中節點通信總能耗的錨節點輪轉方法。
技術實現要素:
本發明所要解決的技術問題是提供一種移動自組織網絡中低功耗錨節點輪轉方法,其提出的方法在進行錨節點輪轉條件評估時,不僅考慮了各個用戶節點與關聯的錨節點之間距離情況,避免該通信距離過大時導致的通信能耗過高問題,而且考慮了錨節點與用戶節點的平均剩余能量對比情況,在錨節點能量消耗較大時及時進行錨節點輪轉保證了節點間的能耗公平性。在選擇新的錨節點過程中,對于各個候選節點剩余能量的考慮也避免了某些節點連續作為錨節點的情況,進一步地保證了節點間的能耗公平性。
本發明是通過下述技術方案來解決上述技術問題的:一種移動自組織網絡中低功耗錨節點輪轉方法,其包括如下步驟:
步驟一,在已劃分好節點角色的移動自組織網絡中,所有節點將自身的位置及剩余能量信息匯總到中心錨節點;
步驟二,中心錨節點匯總所有節點發送的信息,根據網絡中所有節點的位置及剩余能量信息對當前時刻是否需要輪轉錨節點進行評估。若不需要輪轉錨節點則轉至步驟一;否則,繼續進行步驟三;
步驟三,中心錨節點根據所有節點的位置及剩余能量信息,選擇出新的錨節點列表;
步驟四,中心錨節點通過當前網絡中其他錨節點將新的錨節點列表分發給每一個節點;不在此列表中的節點將需要選擇出合適的新錨節點建立關聯,并在下一時刻同該錨節點進行通信。
優選地,所述的步驟一包括如下步驟:
步驟十一,移動自組織網絡中節點總數為N,其中錨節點的數目為NA,用戶節點數目為Na(Na=N-NA);每一時刻用戶節點ai(i=1,2,...,Na)將自身位置信息pi=(xi,yi)T連同剩余能量信息Ei發送給其關聯的錨節點Aj(j=1,2,...,NA);
步驟十二,各個錨節點通過通信確定中心錨節點Acenter。本發明中,兩點之間距離的計算采用方法如下式所示:
其中,(xp,yp)T為點p的位置,(xq,yq)T為點q的位置。除Acenter之外的每個錨節點將他們所接收到的用戶節點信息,連同他們自身的位置及剩余能量情況發送給Acenter。
優選地,所述的步驟二包括如下步驟:
步驟二十一,中心錨節點Acenter根據網絡中每個節點(包括用戶節點與錨節點)的位置信息,計算網絡內用戶節點與錨節點之間平均通信距離并統計通信距離超出的用戶節點數目Ma,的定義如下式所示:
其中,N為網絡中節點總數,Na為錨節點數目,di表示用戶節點ai(i=1,2,...,Na)與其關聯錨節點之間的距離;
步驟二十二,中心錨節點Acenter根據網絡中每個節點的剩余能量Em(m=1,2,...,N),計算得到錨節點的平均剩余能量及用戶節點的平均剩余能量其中
步驟二十三,若當前網絡滿足且時,說明網絡中錨節點需要進行輪轉,其中,λN為通信距離超出平均通信距離的用戶節點比例閾值,λE為錨節點與用戶節點平均剩余能量比值閾值;
步驟二十四,若需要進行錨節點輪轉,則進行步驟三;否則轉至步驟一。
優選地,所述的步驟三包括如下步驟:
步驟三十一,中心錨節點Acenter根據錨節點數目NA及移動自組織網絡所在區域,確定出各個錨節點的參考位置列表Plist;
步驟三十二,針對Plist中參考位置Pj(j=1,2,...,NA),選擇出L個距離其最近的節點作為候選節點,根據這些候選節點與Pj的距離進行排序,得到升序排序列表同時根據這些候選節點的剩余能量情況進行排序,得到降序排序列表
步驟三十三,針對Plist中參考位置Pj(j=1,2,...,NA),對應的每一個候選節點njk(k=1,2,...,L),在及中所處順序值分別為與則該候選節點的權重值定義如下式所示:
其中ζ1、ζ2為權重系數,針對網絡中每一個候選節點取值均相同且ζ1+ζ2=1;針對每一個候選節點njk(k=1,2,...,L)進行權重值計算,則具有最小權重值的候選節點作為該規劃位置對應的錨節點;
步驟三十四,針對Plist中每一個參考位置Pj(j=1,2,...,NA),重復進行步驟三十一至步驟三十三,直至每一參考位置均選擇出對應的錨節點,則完成了整個網絡中錨節點的選取,獲得了下一輪錨節點列表
優選地,所述的步驟四包括如下步驟:
步驟四十一,中心錨節點Acenter將下一輪錨節點列表分發給當前網絡中的每個錨節點,各個錨節點將分發給網絡中每一個與其關聯的用戶節點;
步驟四十二,網絡中各個節點根據對自身下一輪中角色進行判定,若下一時刻自身為用戶節點,則需要根據中各個新錨節點位置得到距離自身最近的錨節點;
步驟四十三,下一時刻,各個用戶節點與距離其最近的錨節點建立關聯關系,并在下一次錨節點輪轉之前向其發送信息。
與現有技術相比,本發明具有如下有益效果:本發明提出了移動自組織網絡中低功耗錨節點輪轉方法,能夠在網絡正常運轉過程中對各個節點的位置及剩余能量等信息進行采集,并通過將這些信息匯總至中心錨節點處;中心錨節點根據各個節點的位置及剩余能量等信息,對當前時刻是否有必要進行錨節點輪轉進行評估,其中,考慮了與關聯錨節點通信距離較大的用戶節點比例情況及錨節點與用戶節點的平均剩余能量對比情況;在達到錨節點輪轉條件時,中心錨節點進行錨節點選擇過程,其中包括計算錨節點參考位置分布及新的錨節點選擇,針對新的錨節點選擇,重點考慮了各個候選節點與錨節點參考位置之間的距離及這些候選節點的剩余能量情況,從而選擇出與錨節點規劃位置的距離、剩余能量均適合的候選節點作為該參考位置對應的錨節點;在確定新的錨節點列表之后,該列表在網絡中進行分發,從而使得各個節點均獲取到該信息;網絡中每個節點都需要根據該列表對自身在下一時刻的角色進行判定,若為用戶節點,則該節點需要在新的錨節點列表中選擇出合適的錨節點并與之建立關聯,并在下一次錨節點輪轉之前與其進行通信。通過大量的計算機仿真以及實際實驗證實,由于本發明提出的方法在進行錨節點輪轉條件評估時,不僅考慮了各個用戶節點與關聯的錨節點之間距離情況,避免該通信距離過大時導致的通信能耗過高問題,而且考慮了錨節點與用戶節點的平均剩余能量對比情況,在錨節點能量消耗較大時及時進行錨節點輪轉保證了節點間的能耗公平性。在選擇新的錨節點過程中,對于各個候選節點剩余能量的考慮也避免了某些節點連續作為錨節點的情況,進一步地保證了節點間的能耗公平性。
附圖說明
圖1為本發明移動自組織網絡中低功耗錨節點輪轉方法的流程圖。
具體實施方式
下面結合具體實施例對本發明進行詳細說明。以下實施例將有助于本領域的技術人員進一步理解本發明,但不以任何形式限制本發明。應當指出的是,對本領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若干變形和改進。這些都屬于本發明的保護范圍。
如圖1所示,本發明所考慮的移動自組織網絡中,所有節點在移動過程中位置已知,網絡的主要功能為所有節點之間共享信息等。針對本發明所解決的問題,用戶節點向其關聯的錨節點發送自身的位置與剩余能量信息;各個錨節點將其關聯的用戶節點信息(包括用戶節點的位置與剩余能量信息),連同自身的位置及剩余能量信息匯總至網絡中最接近中心位置的錨節點(以下簡稱中心錨節點);中心錨節點根據所有節點剩余能量情況,對錨節點與用戶節點的平均剩余能量比值進行計算,并根據所有節點的位置信息,評估與錨節點通信距離較大的用戶節點比例;若錨節點與用戶節點的平均剩余能量比值低于設定閾值,且與錨節點通信距離較大的用戶節點比例高于設定閾值,則說明當前時刻需要進行錨節點輪轉;錨節點輪轉包括中心錨節點選擇新的錨節點(錨節點總數不變,原先的錨節點轉變為用戶節點),以及用戶節點與新的錨節點之間建立關聯關系;其中,選擇新的錨節點時,中心錨節點首先規劃出合理的錨節點參考位置列表,然后根據所有節點的位置得到每個錨節點參考位置的候選節點列表,并同時依據這些候選節點的剩余能量確定出每個參考位置對應的錨節點;新的錨節點列表被分發至每一個節點;網絡中每一個節點根據該列表對自身在錨節點輪轉之后的角色進行判定,若為用戶節點,則需要選擇合適的錨節點并與之建立關聯關系。至此,移動自組織網絡中低功耗錨節點輪轉過程完成。
更為具體地,在本發明的一個優選例中,考慮一個以位置共享作為主要業務的移動自組織網絡,本發明是通過以下技術方案實現的,本發明移動自組織網絡中低功耗錨節點輪轉方法包括以下步驟:
步驟一,移動自組織網絡中所有節點進行位置等信息共享,用戶節點向關聯的錨節點發送位置等信息時,將自身的剩余能量情況一并發送,網絡中每個節點的位置及剩余能量信息最終匯集至中心錨節點處。本優選例中所考慮的移動自組織網絡包含150個節點,其中包括16個錨節點,節點部署在100m×100m的正方形區域;中心錨節點通過網絡中錨節點之間相互通信確定;
步驟二,中心錨節點根據網絡中所有節點的位置及剩余能量信息,計算出錨節點與用戶節點的平均剩余能量比值,以及與錨節點通信距離較大的用戶節點比例;本優選例中,若錨節點與用戶節點的平均剩余能量比值小于0.8,且與錨節點通信距離較大的用戶節點比例大于0.15時,說明當前時刻需要對網絡中的錨節點進行輪轉;網絡中的錨節點的輪轉過程包括兩部分,選取出新的錨節點列表,以及建立各個用戶節點與新錨節點之間的關聯關系;
步驟三,中心錨節點負責選取出新的錨節點列表。本優選例中,首先,中心錨節點從目標區域中選擇出16個均勻分布的位置,作為選擇錨節點時的參考位置;其次,針對每一個錨節點參考位置Pj(j=1,2,...,16),中心錨節點根據各個節點的位置與該參考位置距離的遠近,確定出候選節點列表(包括8個候選節點,與該參考位置的距離值由小到大);然后,將每個參考位置對應的8個候選節點,根據這些節點的剩余能量值,獲得候選節點剩余能量列表(根據剩余能量,由大到小排序),針對每一個候選節點njk(k=1,2,...,8),計算其權重值如下式(1)所示:
其中,與為候選節點njk在及中所處順序值;ζ1、ζ2為權重系數,針對每一節點取值相同,本優選例中取值為ζ1=0.4,ζ2=0.6。針對每個參考位置對應的8個候選節點,權重值最大的候選節點將被選擇為該參考位置對應的錨節點,從而得到新的錨節點列表。
步驟四,中心錨節點通過當前的錨節點將新的錨節點列表分發給網絡中每一個節點;網絡中每一個節點需要對自身在下一時刻的角色進行判定,若為用戶節點,則需要選擇距其最近的錨節點進行關聯,并將信息發送至該錨節點,直至下一次錨節點輪轉。
所述的步驟一包括如下步驟:
步驟十一,移動自組織網絡中節點總數為N,其中錨節點的數目為NA,用戶節點數目為Na(Na=N-NA);每一時刻用戶節點ai(i=1,2,...,Na)將自身位置信息pi=(xi,yi)T連同剩余能量信息Ei發送給其關聯的錨節點Aj(j=1,2,...,NA);
步驟十二,各個錨節點通過通信確定中心錨節點Acenter。本發明中,兩點之間距離的計算采用方法如下式(2)所示:
其中,(xp,yp)T為點p的位置,(xq,yq)T為點q的位置。除Acenter之外的每個錨節點將他們所接收到的用戶節點信息(用戶節點的位置、剩余能量信息),連同他們自身的位置及剩余能量情況發送給Acenter。
所述的步驟二包括如下步驟:
步驟二十一,中心錨節點Acenter根據網絡中每個節點(包括用戶節點與錨節點)的位置信息,計算網絡內用戶節點與錨節點之間平均通信距離并統計通信距離超出的用戶節點數目Ma,的定義如下式(3)所示:
其中,N為網絡中節點總數,Na為錨節點數目,di表示用戶節點ai(i=1,2,...,Na)與其關聯錨節點之間的距離;
步驟二十二,中心錨節點Acenter根據網絡中每個節點的剩余能量Em(m=1,2,...,N),計算得到錨節點的平均剩余能量及用戶節點的平均剩余能量其中
步驟二十三,若當前網絡滿足且時,說明網絡中錨節點需要進行輪轉,其中,λN為通信距離超出平均通信距離的用戶節點比例閾值,λE為錨節點與用戶節點平均剩余能量比值閾值;
步驟二十四,若需要進行錨節點輪轉,則進行步驟三;否則轉至步驟一。
所述的步驟三包括如下步驟:
步驟三十一,中心錨節點Acenter根據錨節點數目NA及移動自組織網絡所在區域,確定出各個錨節點的參考位置列表Plist;
步驟三十二,針對Plist中參考位置Pj(j=1,2,...,NA),選擇出L個距離其最近的節點作為候選節點,根據這些候選節點與Pj的距離進行排序,得到升序排序列表同時根據這些候選節點的剩余能量情況進行排序,得到降序排序列表
步驟三十三,針對Plist中參考位置Pj(j=1,2,...,NA),對應的每一個候選節點njk(k=1,2,...,L),在及中所處順序值分別為與則該候選節點的權重值定義如下式(4)所示:
其中ζ1、ζ2為權重系數,針對網絡中每一個候選節點取值均相同且ζ1+ζ2=1;針對每一個候選節點njk(k=1,2,...,L)進行權重值計算,則具有最小權重值的候選節點作為該規劃位置對應的錨節點;
步驟三十四,針對Plist中每一個參考位置Pj(j=1,2,...,NA),重復進行步驟步驟三十一至步驟三十三,直至每一參考位置均選擇出對應的錨節點,則完成了整個網絡中錨節點的選取,獲得了下一輪錨節點列表
所述的步驟四包括如下步驟:
步驟四十一,中心錨節點Acenter將下一輪錨節點列表分發給當前網絡中的每個錨節點,各個錨節點將分發給網絡中每一個與其關聯的用戶節點;
步驟四十二,網絡中各個節點(包括錨節點與用戶節點)根據對自身下一輪中角色進行判定,若下一時刻自身為用戶節點,則需要根據中各個新錨節點位置得到距離自身最近的錨節點;
步驟四十三,下一時刻,各個用戶節點與距離其最近的錨節點建立關聯關系,并在下一次錨節點輪轉之前向其發送信息。
本發明包括在已劃分節點角色的移動自組織網絡中,用戶節點將需要發送的信息連同自身的位置、剩余能量等信息發送給關聯的錨節點;錨節點將接收到的信息連同自身位置、剩余能量情況,發送給最靠近網絡中心的錨節點;中心錨節點將接收到的所有信息匯總,根據網絡中所有節點的位置及剩余能量情況,對是否需要進行錨節點輪轉進行評估;若需要進行錨節點輪轉,則需要選擇出新的錨節點列表,首先中心錨節點對各個錨節點的參考位置進行規劃,并依據這些參考位置,以及網絡中節點的位置、剩余能量信息選擇出每個參考位置對應的錨節點;選擇出新的錨節點列表之后,當前時刻網絡中的錨節點負責將該列表分發給網絡中所有節點;在下一時刻,每個用戶節點根據新的錨節點列表,選擇出最近的錨節點進行關聯,至此完成錨節點輪轉過程。由于本發明提出的方法考慮了每個時刻網絡中錨節點與用戶節點的平均剩余能量比值情況,對當前的錨節點是否適宜繼續作為錨節點進行評估,相比于周期性地進行錨節點輪轉,更能保證網絡內節點之間能耗公平性。而且,在本發明提出的方法中,網絡中與錨節點通信距離較大的用戶節點比例也是是否需要進行錨節點輪轉時的考慮因素,有利于降低用戶節點與錨節點之間通信帶來的能耗。
以上所述的具體實施例,對本發明的解決的技術問題、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施例而已,并不用于限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。