官术网_书友最值得收藏!

2.2.2 基于傳感器技術的工業無線傳感器網絡

為了適應苛刻工業環境下生產系統的多變性、維護工業無線傳感器網絡的可用性,基于傳感器云技術來提出工業無線傳感器網絡的兩跳區域消息模型,設計面向節點的局部位置優化算法和全局位置優化算法,實現拓撲優化功能,從而達到維護網絡連通性的目標。研究新型監控機制來監測網絡的各項參數,基于感知到的數據特征來實時調整數據源和網絡的工作狀態,基于拓撲優化算法設計功能調控機制以自適應地判斷當前的網絡狀態,自動切換網絡的工作模式,繼而達到延長網絡生存時間的目標。如圖2-8所示,工業無線傳感器網絡針對智能工廠的生產系統和生產過程所具有的狀態數據進行采集,由監測機制提取特征參數,并通過實時反饋對數據源和網絡的工作狀態進行調整。

圖2-8 工業無線傳感器網絡

1.兩跳區域機制

對于工業無線傳感器網絡中的節點,設計一個兩跳區域機制(two-hopzone scheme),對于任意節點,其兩跳區域由兩部分組成:一跳鄰居(one-hopneighbor)和兩跳鄰居(two-hop neighbor)。節點ni的一跳鄰居節點no是指距離節點ni一跳距離的節點,盡管節點ni和節點no之間可能存在若干條路徑,但它們之間最短的路徑為一跳。節點no是節點ni的一跳鄰居的充分必要條件為:它們可以直接進行通信。節點ni的一跳鄰居個數用d(i,1)來表示,并稱其為節點ni的度(degree)。將節點ni的一跳鄰居表示為

類似地,節點ni的兩跳鄰居節點nt是指距離節點ni兩跳距離的節點,盡管節點ni和節點nt之間可能存在若干條路徑,但它們之間最短的路徑為兩跳。節點nt是節點ni的兩跳鄰居的充分必要條件為:它們不可以直接進行通信,并且節點nt是節點ni的若干個(大于或者等于一個)一跳鄰居節點的一跳鄰居節點。節點ni的兩跳鄰居個數用d(i,2)來表示,則節點ni的兩跳鄰居可以表示為

根據兩跳鄰居的定義,可以通過如下方法來計算節點ni的兩跳鄰居的個數:

需要注意的是,該節點是其一跳鄰居的一跳鄰居,即

因此,計算d(i,2)時的減一操作是將節點ni排除在外。

2.網絡連通性水平

基于本章提出的兩跳區域機制,對整個網絡的連通性水平進行建模。對于網絡中任意兩個節點ni和nj,它們之間的關系用fk(ni,nj)來表示,其中k表示兩個節點之間最短路徑的跳數。節點ni和nj之間的最短路徑被分為五種情況,中間節點用nmi來表示,詳情如圖2-9所示。

圖2-9a中,節點ni和nj能夠直接通信,它們之間的跳數為1,則

圖2-9b中,節點和ni和nj擁有共同的一跳鄰居nm1,它們之間的跳數為2,則

圖2-9 兩跳區域機制下的節點關系

圖圖2-9c中,節點ni和nj之間有兩個中間節點nm1和nm2,它們之間的跳數為3,則

圖2-9d中,節點ni和nj之間有三個中間節點nm1、nm2和nm3,它們擁有共同的兩跳鄰居節點nm2,它們之間的跳數為4,則

圖2-9e中,節點ni和nj分別擁有一個兩跳鄰居節點nm2和nm3,它們之間的跳數大于4。圖中的虛線橢圓表示節點nm2與nm3之間的關系與節點ni和nj之間類似。此時,節點ni和nj之間的關系用遞歸的形式來表示:

節點ni和nj之間更復雜的關系可以被分解,然后通過圖2-9中的五種情況進行建模。節點ni和nj之間的連通性水平用d(ni,nj)來表示,則有

當k=0時,表示節點ni和nj之間不存在路徑,令d(ni,nj)=0。當k>0時,兩個節點之間的連通性水平隨著它們之間跳數的增加而單調減小。對于k=1,2,3,4,d(ni,nj)=0的值可以用k的倒數來表示。當k>4時,d(ni,nj)=0的值無法在節點ni和nj的兩跳區域內完成,d(ni,nj)=0的值需要遞歸地確定。由于節點的兩跳區域的覆蓋范圍為兩跳,因此當k的值超過4的倍數時,就需要對連通性水平進行遞歸計算。遞歸的次數可以表示為

當k>4時,不妨令節點分別為“節點ni和nj位于它們之間的最短路徑上”的兩跳鄰居,那么節點ni和nj的連通性水平為

假設節點ni能夠通信的節點用集合Nc={n1,n2,…,nc}來表示,那么將節點ni的連通性水平定義為

對于包含N個節點的網絡來說,總共存在個不同的配對。將網絡的連通性水平定義為

從理論上說,只要網絡中不存在“孤島”(isolated part),那么不論N是什么數量級的,在R的值足夠大的情況下,總能使任意兩個節點之間都存在一條路徑。隨著R值的增加,d(N)保持增大,直到時達到拐點。這里,是d(N)的最大值。當時,有。將定義為網絡的收斂程度(degree of convergence)。的值越小,則網絡的收斂程度越高。

3.兩跳區域消息模型

對于DA節點ni,這里用dfi來表示其發起數據注冊的頻率。數據注冊包含若干條數據記錄,將數據注冊中包含的數據記錄用集合D(ni)來表示,且D(ni)≥1。在一個測量時間段內,若節點ni發起的每個數據注冊平均包含di條數據記錄,則di≥1。為了更好地闡述兩跳區域機制,做出了以下前提假設。

假設2-1:令[ta,tb]為一個測量時間段,且ta<tb。假定該時間段足夠長,以至于足以觀察節點ni與其一跳鄰居以及兩跳鄰居的行為。此外,該時間段內所有節點的行為特征都被認為是保持不變的,例如數據注冊的頻率、數據查詢的頻率、平均每個數據注冊所包含的數據記錄條數等。

節點ni從其全體一跳鄰居處接收數據注冊,根據收到的數據注冊中所包含的數據信息,節點ni對其本地數據庫進行更新。由于不同的節點具有不同的數據注冊頻率,來自節點ni一跳鄰居的數據注冊是異步到達節點ni的。另外,節點的數據注冊頻率也有可能產生變化。因此,一跳鄰居節點的數據注冊到達節點ni的時間是隨機的。為簡單起見,假定節點發起數據注冊的頻率在測量時間段[ta,tb]內是保持不變的。從根本上來說,這是由假設2-1給出的。

將節點ni收到的所有數據注冊中包含的數據記錄的條數用sd(i,r)來表示,則

對于節點ni的一跳鄰居nij來說,其發起的數據注冊中包含的數據記錄的條數是通過將平均每個數據注冊中包含的數據記錄條數與測量時間段內發起數據注冊的次數相乘得到的。前述假設2-1確保了節點ni的所有一跳鄰居在測量時間段[ta,tb]內都至少發起一次數據注冊。因此,df(ij)·(tb-ta)的結果大于或者等于1。對于發起數據注冊的次數,如果該值不是整數,那么進行向下截斷操作,即取小于df(ij)·(tb-ta)的最大整數。如果節點ni是UA節點或者CA節點,那么其會將收到的數據注冊轉發給全體一跳鄰居。當節點ni是DA節點時,除了轉發收到的數據注冊,其自身還發起數據注冊。將節點ni發送的數據記錄的條數用sd(i,s)來表示,其由兩部分構成,表示如下:

節點ni向其所有的一跳鄰居發起數據注冊,且頻率為dfi。將由節點ni發起的數據注冊所包含的數據記錄條數用sd(i)來表示,則

節點ni發起的數據注冊所包含的數據記錄條數是通過將平均每個數據注冊中包含的數據記錄條數與測量時間段內發起數據注冊的次數相乘得到的。假設2-1確保了節點ni在測量時間段[ta,tb]內至少發起一次數據注冊。因此,dfi·(tb-ta)的結果大于或者等于1。對于發起數據注冊的次數,如果該值不是整數,那么進行向下截斷操作,即取小于dfi·(tb-ta)的最大整數。

節點ni轉發從其他節點處收到的數據注冊。將節點ni轉發的所有數據注冊包含的數據記錄條數用sd(i,f)來表示。在節點ni收到的數據注冊中,生存時間(Time To Live,TTL)值大于0的應當被轉發。兩跳區域機制規定數據注冊的初始生存時間值為2,那么節點ni收到的數據注冊的生存時間值為1或者0。因此,由節點ni發起的原始數據注冊的覆蓋范圍為節點ni的一跳鄰居和兩跳鄰居。換言之,原始數據注冊的傳播范圍被限制在發起該數據注冊的節點的兩跳區域內。這個特性能夠緩解洪泛效應并減小整個網絡所承受的消息開銷。假設節點ni收到的數據注冊的生存時間值服從泊松分布(Poisson distribution):

節點ni本應將收到的數據注冊轉發給所有一跳鄰居。然而,由節點ni的一跳鄰居nij發送給節點ni的數據注冊不應當由節點ni轉發回節點nij。盡管數據注冊所對應的一跳鄰居各有不同,但可以使用通用節點niy來指代。那么,由節點ni轉發的數據注冊個數為

通用節點niy由減一操作排除在外。那么,由節點ni轉發的數據注冊中包含的數據記錄條數為

結合式(2-15)和式(2-20),由節點ni轉發的數據注冊中包含的數據記錄條數為

那么,式(2-16)可被重寫為

也就是說,節點ni的每個一跳鄰居都會收到從節點ni處發來的sd(i,s)條數據記錄。

當節點ni收到數據查詢后,其會檢查本地數據庫以確定該查詢是否能夠被應答。如果能夠應答,就沒有必要將該數據查詢再發送出去。如果不能應答,則節點ni會將該數據查詢發給自身的所有一跳鄰居。節點ni的每個一跳鄰居都會收到該數據查詢的一個復制品。當數據查詢在網絡中傳送時,所經過的中間節點會被依次記錄在一個傳送路徑(travel path)中。數據查詢內的這個路徑信息會在后續數據應答的傳輸過程中起到重要作用。將節點ni發送的數據查詢個數用ss(i,s)來表示,其由兩部分構成,表示如下:

假設節點ni向其一跳鄰居發起數據查詢的頻率為sfi,其發起的每個數據查詢中平均包含的數據請求個數為si,那么節點ni發起的數據請求的個數ss(i)

兩跳區域機制規定每個數據查詢中包含且僅包含一個數據請求。因此,si的值恒等于1。在本章余下的內容中,對數據請求和數據查詢不做區分。

對于其他節點發來的數據查詢,節點ni會檢查本地數據庫以確定該查詢是否能夠被應答。如果能夠應答,那么節點ni發起一個數據應答,該數據應答的目的地節點是最初發起該數據查詢的節點;而無法由節點ni應答的數據查詢則將根據它們的生存時間值進行處理。如果數據查詢的生存時間值為0,那么節點ni直接將其丟棄,不進行轉發。對于生存時間值大于0的數據查詢,節點ni才進行轉發。兩跳區域機制規定數據查詢的初始生存時間值為4。因此,節點ni收到的數據查詢的生存時間數值屬于集合{3,2,1,0}。同時,由節點ni發起的原始數據查詢的覆蓋范圍為兩個兩跳區域。換言之,原始數據查詢的傳播范圍被限制在發起該數據查詢的節點的兩個兩跳區域內。與數據注冊類似,數據查詢初始生存時間值的上限是為了緩解洪泛效應并減小整個網絡所承受的消息開銷。假設節點ni收到的數據查詢的生存時間值服從泊松分布:

節點ni收到的數據查詢都被看作來自其一跳鄰居;將節點ni收到的數據查詢的個數用ss(i,r)來表示,則有

假定節點ni能夠應答的數據查詢占其所收到的數據查詢的百分比為ai。與數據注冊類似,由節點ni的一跳鄰居nij發送給節點ni的數據查詢不應當由節點ni轉發回節點nij。因此,節點ni需要轉發的數據查詢的個數為

那么,式(2-23)可以被重寫為

與數據注冊和數據查詢相比,數據應答的個數本身比較少。通常來說,數據應答的出現是不可預知的,也是不定期的。因此,對數據應答的發送頻率進行限制實際上沒有意義。更重要的是,出于提升數據融合性能考慮,對數據應答的初始生存時間值不設上限。數據應答在網絡中的傳送基于包含在對應數據查詢中的路徑信息。目的地節點為節點ni的數據應答對應于由節點ni發起的數據查詢。將節點ni發送的數據應答用sr(i,s)來表示,其由兩部分構成,表示如下:

由節點ni自身進行應答的數據查詢所對應的數據應答的個數用sr(i)來表示。如前所述,節點ni能夠應答的數據查詢占其所收到的數據查詢的百分比為ai,則

除了發送自身發起的數據應答,節點ni還會轉發目的地為其他節點的數據應答。在節點ni收到的數據應答中,目的地節點為節點ni的不會被轉發。對于目的地為其他節點的,節點ni會嘗試根據數據應答中包含的路徑信息將該數據應答轉發給路徑信息中的下一跳節點。特別地,如果該下一跳節點不可達(unreachable),那么節點ni將丟棄該數據應答,不可達的原因可能是該節點失效或者不在通信范圍之內。將節點ni收到的數據應答的個數用sr(i,r)來表示,假定這些數據應答中目的地為節點ni的數據應答所占的百分比為bi。對于應當由節點ni進行轉發的數據應答,假定無法轉發給下一跳節點的數據應答所占的百分比為fi。節點ni實際轉發的數據應答的個數用sr(i,f)來表示,則

結合式(2-29)、式(2-30)和式(2-31),節點ni發送的數據應答個數可以被重寫為

4.拓撲控制

由于工業無線傳感器網絡中的節點是移動的,移動性會對由全體CA節點構成的Chord網絡的拓撲產生重大影響。此外,不可預知的節點失效同樣會對網絡拓撲產生影響。在本章提出的模型中,全體CA節點所構成的Chord網絡的拓撲控制由兩個方面構成:局部位置優化和全局位置優化。

(1)局部位置優化

局部位置優化(Local Location Optimization,LLO)是在CA節點和與該CA節點進行通信的UA節點之間進行的。對于單個的CA節點來說,將節點在二維平面內360度的通信范圍劃分為六個鄰接的區域,每個區域用αi來表示,且i=1,2,…,6。具體如圖2-10所示,其中向上的方向表示正北方向。

圖2-10 六個鄰接區域

局部位置優化的兩個突出特征是隱私保護(privacy preservation)和能量節約(energy conservation)。對于無線電信號的傳輸,較長的通信距離需要更多的能量。因此,一旦CA節點與UA節點互相取得聯系,縮短它們之間的通信距離便是有益的。由于數據查詢的結果是由接收查詢的原始CA節點發送給UA節點的,這個過程使得對通信距離的縮短更為重要。由于移動節點裝備有全方位(omni-directional)天線,CA節點并不知曉UA節點具體在什么位置,因此無法確定出正確的移動方向來縮短通信距離。出于隱私保護考慮,UA節點也不愿意以任何形式共享自身的位置信息(例如GPS坐標)。針對上述問題,可以設計方向探測(direction probing)算法來確定CA節點的移動方向。如圖2-11所示,該算法包含一個四步移動策略,每個步驟用si來表示,其中i=1,2,3,4。

圖2-11 四步移動策略

考慮一個初始位置為(x0,y0)的CA節點和一個位置未知的UA節點,CA節點依次執行以下移動:s1(N,Δy)、s2(E,Δx)、s3(S,Δy)和s4(W,Δx),其中Δx和Δy均為正值。在執行完一次四步移動后,CA節點返回初始位置(x0,y0)。在每一步移動的過程中,信號強度的變化被記錄下來。信號強度的增加和減少分別用加號(+)和減號(-)來表示,CA節點的移動方向可以根據表2-2來確定。

表2-2 移動方向確定

當同時有若干個UA節點與CA節點通信時,與不同UA節點相關的需要移動的方向很可能是不同的。一般來說,能量消耗與通信距離是成正比的。因此,為了減小總的能量消耗,CA節點到所有UA節點間的距離之和應當盡可能小。考慮兩個UA節點ua1和ua2,它們與同一個CA節點的通信距離分別用r1和r2來表示。此外,該CA節點處上述兩個UA節點的信號強度分別用s1和s2來表示。假定信號強度和通信距離遵循平方反比定律,其中δ是一個常系數,且i=1,2。等式成立的條件是r1=r2,等式r1=r2等價于s1=s2。類似地,對于n個UA節點,不等式取等的條件為r1=r2=…=rn,等式r1=r2=…=rn等價于s1=s2=…=sn。因此,該CA節點的移動方向是基于令所有UA節點的信號強度相等的原則來進行調整的。然而,當UA節點較多時,這個取等的過程會比較復雜。因此,選擇對n個UA節點的n個移動方向進行加權合成,加權值與UA節點各自的信號強度成反比。一旦確定最終的移動方向,CA節點就開始沿著該方向移動。當n個信號強度變得近似相等時,CA節點停止移動。每當有新的UA節點與CA節點取得聯系或者現有的一個會話(session)終止時,就會啟動一次新的方向探測過程。詳細的方向探測算法見算法2-1。

算法2-1 DirectionProbing(ca,ua[n])

(2)全局位置優化

全局位置優化(Global Location Optimization,GLO)是在CA節點之間進行的,其應用了局部位置優化中描述的方向探測算法。與局部位置優化不同,全局位置優化主要關注于拓撲維護(topology maintenance)。

由于CA節點的最大通信范圍有限,為了保持由CA節點構成的Chord網絡的連通性,CA節點之間的相對位置需要被謹慎地控制。Chord網絡總體的連通性可以被分解為若干組局部連通性,每個局部都包含三個CA節點。可以基于連通性維護算法(connectivity maintenance algorithm)來維護三個CA節點的局部連通性。

針對單個的CA節點ca,根據Chord協議,節點ca分別擁有一個前繼(predecessor)節點和一個后繼(successor)節點,將這兩個CA節點分別用ca.predecessor和ca.successor來表示。節點ca與節點ca.predecessor之間的信號強度用ca.predecessor.s來表示,節點ca與節點ca.successor之間的信號強度用ca.successor.s來表示。當ca.predecessor.s或者ca.successor.s持續減小時,節點ca開始意識到它的前繼節點或者后繼節點正在遠離它。一旦ca.predecessor.s或者ca.successor.s小于閾值slow,那么節點ca便可啟動方向探測過程來確定前繼節點或者后繼節點所在的方向。同時,節點ca向前繼節點或者后繼節點發送SLOW_DOWN消息來進行通知。為了避免信號強度進一步降低,在前繼節點或者后繼節點所在的方向確定后,節點ca就開始沿著該方向移動。此外,收到SLOW_DOWN消息的前繼節點或后繼節點也會調整自身的移動行為來嘗試靠近節點ca。一旦ca.predecessor.s或者ca.successor.s達到某個值,前繼節點或者后繼節點便停止靠近節點ca,這個值用snormal來表示。需要注意的是,當ca.predecessor.s和ca.successor.s均等于或者大于snormal時,節點ca停止移動。對于前繼節點和后繼節點來說,可能需要對移動方向進行折中,即節點ca需要使用一個合成的(composite)移動方向。詳細的連通性維護算法見算法2-2。由于CA節點的能量是有限的,當CA節點的剩余能量非常低時,連通性維護功能應當停止,該特性由功能調控機制來實現。

算法2-2 ConnectivityMaintenance(ca,ca.predecessor,ca.successor)

5.功能調控

由于能量節約對于構成Chord網絡的全體CA節點來說很重要,因此需要針對CA節點的剩余能量來設計功能調控(function tuning)算法。除了對CA節點的功能進行調控,該算法還能夠輔助拓撲維護。節點ca剩余的能量用E(ca)來表示,根據節點ca剩余能量的三個不同關鍵值eα>eβ>eγ,其所處的狀態為四個:正常(normal)狀態Sn、較低(low)狀態Sl、警戒(alert)狀態Sa和嚴重(serious)狀態Ss,詳情如表2-3所示。

表2-3 能量狀態

當節點ca處于正常狀態時,它是全功能的(fully-functional),即節點ca接收數據注冊、處理數據查詢、發起數據應答、執行局部位置優化和全局位置優化等。而一旦進入較低狀態,節點ca便會停止執行局部位置優化。當節點ca進入警戒狀態后,其會同時給前繼節點和后繼節點發送ALERT消息。節點ca的前繼節點和后繼節點在收到ALERT消息后立刻停止執行局部位置優化(即使前繼節點和后繼節點處于正常狀態)。換言之,此時節點ca及其前繼節點和后繼節點均為其在未來進入嚴重狀態做好了準備。一旦進入嚴重狀態,節點ca便會立刻停止其余所有功能,僅保留數據轉移(data transfer)功能。依據Chord協議,節點ca在即將離開網絡時應當將自身所負責的<key,value>轉移給它的后繼節點。當轉移結束后,節點ca通知它的前繼節點將其后繼節點修改為節點ca的后繼節點。類似地,節點ca通知它的后繼節點將其前繼節點修改為節點ca的前繼節點。最后,節點ca被完全從Chord網絡中分離出來,其原前繼節點的后繼節點現在為其原后繼節點,其原后繼節點的前繼節點現在為其原前繼節點。然后,節點ca的原前繼節點在監測令牌中將節點ca的可獲得性設置為LOGOUT。監測令牌的細節可參見本章的后續內容。如前所述,當節點ca的狀態由正常變成較低時,僅有局部位置優化一項功能被終止。其余所有功能在正常、較低和警戒狀態下均保持運行。全局位置優化在節點ca進入嚴重狀態后被終止。因此,上述功能調控算法對拓撲維護有很大幫助。詳細的功能調控算法見算法2-3。

算法2-3 FunctionTuning(ca,eα,eβ,eγ)

6.自主的工作模式切換

為了使由全體CA節點構成的Chord網絡中的信息更新(information updating)和網絡狀態收集(network status gathering)能夠便捷高效地進行,這里引入了監測令牌(monitoring token)的概念。

監測令牌按照Chord環的邏輯結構在Chord網絡中保持順時針傳送。工業無線傳感器網絡中基于目錄的模式和無目錄的模式之間自主的模式切換是基于網絡狀態收集的。將“一圈”定義為監測令牌的傳送經過了所有CA節點一次。數據融合體系結構的當前模式由模式標志(flag)變量MODE來表示,其取值為CA-BASED或CA-LESS。監測令牌的結構如圖2-12所示,其包含兩個列表:DA節點列表和CA節點列表。

圖2-12 監測令牌

(1)信息更新與網絡狀態收集

盡管統一的數據描述和管理機制規定網絡中的所有節點都知曉數據的屬性和可能的屬性值,但是CA節點在最初并不知曉任何DA節點。因此,需要使用監測令牌來執行與DA節點相關的信息更新。一般來說,新的DA節點的出現伴隨著由該DA節點發起的數據注冊。對于收到數據注冊的CA節點來說,其會根據數據注冊中包含的信息來對本地數據庫進行更新。當監測令牌到達該CA節點時,CA節點檢查監測令牌的DA節點列表中是否包含發起該數據注冊的DA節點。如果該DA節點已經存在,那么CA節點不做任何操作。如果該DA節點不存在,那么CA節點將該DA節點添加進監測令牌的DA節點列表中。與此同時,CA節點檢查監測令牌的DA節點列表中是否有自身未知的DA節點,如果有,則對本地數據庫進行更新。換言之,當監測令牌到達CA節點時,CA節點針對DA節點的信息進行雙向更新(two-way update)。當現有的DA節點想要離開網絡時,該DA節點向其通信范圍內的任意一個CA節點發送退出(LOGOUT)消息,收到退出消息的CA節點在本地數據庫中移除與該DA節點相關的所有信息。當監測令牌到達該CA節點時,其在監測令牌的DA節點列表中為該DA節點標識一個退出標志。在監測令牌的傳送過程中,其他CA節點通過雙向更新過程得知該DA節點即將退出網絡,故而在本地數據庫中移除與之相關的所有信息。當監測令牌下一次到達對該DA節點標識退出標志的CA節點時,該CA節點向該DA節點發起退出確認消息。只要該DA節點收到退出確認消息,它就可以自由地離開網絡,不需要再做退出操作。盡管在無目錄模式下,Chord網絡中不存在拓撲控制和鍵的查找,但是監測令牌的傳送依然保持運轉。因此,雙向更新、數據注冊、SA節點退出等也正常進行。除了信息更新以外,監測令牌還具有另一個重要功能:網絡狀態收集。Chord網絡中的CA節點對其鄰近的局部網絡狀態進行感知,監測令牌收集所有CA節點的局部網絡狀態,進而展示出整個網絡狀態的概貌。詳細的信息更新算法見算法2-4。

算法2-4 InformationUpdating(ca,DReg[n],token,DA.logout[m],round(0))

(2)自主模式切換

工業無線傳感器網絡中基于目錄的模式和無目錄的模式之間的自主模式切換正是基于整個網絡狀態的概貌。假設數據融合的體系結構處在無目錄模式下,如果數據查詢的頻率略微降低,那么相應地數據注冊的頻率也應該隨之降低。然而,如果數據查詢的頻率持續并且顯著地降低,那么就有必要將模式切換為基于目錄的模式。現在,假設數據融合的體系結構處在基于目錄的模式下,如果數據查詢的頻率略微增加,那么相應地數據注冊的頻率也應該隨之增加。然而,如果數據查詢的頻率持續并且顯著地增加,那么就有必要將模式切換為無目錄的模式。具體來說,當監測令牌到達CA節點時,如果CA節點在其局部所感知到的數據查詢頻率大于或者等于一個閾值qf0,那么該CA節點就會在監測令牌的CA節點列表中的對應表項內添加一個加號。如果CA節點在其局部所感知到的數據查詢頻率小于閾值qf0,那么該CA節點會檢查監測令牌的CA節點列表中的對應表項內是否存在加號。如果存在加號,那么該CA節點就移除一個加號。假設數據融合的體系結構處在基于目錄的模式下,當某個CA持續若干圈都添加加號時,則表示發生了局部過載(local overload)。如果一定數量的CA節點都遇到了局部過載現象,那么應當將工作模式切換為無目錄的模式。當遇到局部過載現象的CA節點的個數較小時,應當繼續使用基于目錄的模式。將代表發生局部過載的加號個數用lo來表示。當發生局部過載的CA節點占所有CA節點的百分比大于或等于某個數值時,則表示發生了全局過載(global overload),該數值用go來表示。假設數據融合的體系結構在基于目錄的模式下,當監測令牌到達CA節點時,該CA節點首先更新監測令牌的CA節點列表中自身表項內的加號個數,然后檢查所有CA節點的表項。如果發生局部過載的CA節點比例大于或者等于go,那么該CA節點會將監測令牌中的模式標志變量MODE的值由CA-BASED修改為CA-LESS。隨著監測令牌的傳送,其他CA節點會相應地切換自身的工作模式。類似地,如果數據融合的體系結構處在無目錄的模式下,當發生局部過載的CA節點的比例小于go時,數據融合的體系結構會由無目錄的模式切換至基于目錄的模式。詳細的自主模式切換算法見算法2-5。

算法2-5 AutonomicModeSwitch(ca[n],qf,lo,go,token)

主站蜘蛛池模板: 乐安县| 沁水县| 东乡县| 新昌县| 青海省| 利川市| 湘乡市| 泰宁县| 修武县| 建水县| 松潘县| 察雅县| 南投市| 延庆县| 静乐县| 高平市| 神木县| 玛沁县| 广元市| 桂阳县| 金坛市| 葵青区| 盐亭县| 龙门县| 静海县| 五家渠市| 磐安县| 景宁| 南川市| 德惠市| 蒙山县| 平乡县| 镇平县| 务川| 驻马店市| 高陵县| 光泽县| 彝良县| 肥城市| 卓尼县| 大城县|