
本發明涉及水聲通信領域,特別是一種節點發送順序優化的競爭信道水聲網絡并行通信方法。
背景技術:
:水聲通信網絡在水下勘探、水下石油開采、戰術監控、污染監測、海嘯預警、輔助導航、生態監控等方面有著廣泛的用途,隨著海洋的探索和資源開發利用等活動的增加,對高性能水聲通信網絡的需求將越來越大。按信道使用方式的不同,現有水聲通信網絡大致可以分為兩類,一類是固定分配信道,即將整個通信的頻譜資源劃分為多個信道,固定分配給節點單獨使用。這種信道的使用方式可以避免沖突的發生,但對于突發數據的傳輸效率不高。另一類是競爭使用信道,即用戶通過競爭獲取信道的使用權,并在一定時間內獨占所有的帶寬,可以較好地滿足突發數據傳輸的要求,但在多個節點同時有數據要發送時,需要使用專門的技術來決定信道的使用權,以避免沖突的發生。在競爭使用信道的水聲網絡中,握手是最常用的一種沖突避免技術,例如,CSMA、MACA和FAMA等常用的水聲網絡媒體接入控制協議中均采用了握手機制,但由于水聲信道的時延很長,現有技術存在著以下的不足:(1)信道利用率低?,F有基于握手的水聲網絡媒體接入控制協議中每個傳輸周期只允許一對節點通信,由于聲波在水中的傳播速度低,握手階段中節點間的信息交互通常需要較長的時間才能完成,使得握手階段耗時在整個傳輸周期中占有較大的比例,有效數據傳輸時間所占比例小,降低了信道的利用率。(2)多節點通信時平均時延長。在現有基于握手的水聲媒體接入控制協議中,由于每個傳輸周期只允許一對節點通信,因此多對節點需要輪流進入各自的傳輸周期才能完成傳輸,通信時間長。針對現有技術的上述問題,中國發明專利CN201410714302中提供了一種適用于競爭信道水聲網絡的多節點快速通信方法,可以讓水聲網絡中的多個節點在同一個傳輸周期內并行批量傳輸數據而不發生沖突,能有效地提高信道的利用效率,減少通信的平均時延。但在該方法中,節點發送信息的順序未做優化處理。由于該方法是利用水下節點間信息傳輸存在較大時延的特點,采用讓節點提前發送信息的方法來實現互不干擾的并行傳輸,以達到提高傳輸效率、減少時間的目的,因此不同的節點發送順序將會顯著影響節點發送數據的時間,從而影響到整個傳輸的效率,而中國發明專利CN201410714302中僅提供了一種按預定優先級來安排節點發送數據順序的方法,未能對節點的發送順序進行進一步的優化,限制了其性能的提高。技術實現要素:針對現有技術的不足,本發明提供了一種節點發送順序優化的競爭信道水聲網絡并行通信方法,該方法通過優化一個傳輸周期中多個節點的發送順序及發送時間,能在實現節點數據無沖突地并行傳輸的前提下,有效地減少一個傳輸周期所需的時間,提高信道利用效率,可以廣泛用于各種基于競爭協議的水聲通信網、水聲傳感網等場合。本發明提供的一種節點發送順序優化的競爭信道水聲網絡并行通信方法,具體步驟如下:步驟1:當信道空閑且有至少1個節點需要發送數據時,需要發起通信的源節點廣播RTS信令,相應的目的節點若同意通信,則廣播回復CTS信令,直至在預設的時間內再無新的RTS和CTS信令發出,握手階段結束。每個節點偵聽并記錄本次傳輸周期中所有成功握手的通信請求。步驟2:每個源節點采用相同的非隨機算法,計算本節點在本傳輸周期中發送數據的順序及時刻,計時至該時刻后,向相應目的節點發送數據。步驟3:當所有源節點的數據發送完畢后,每個目的節點采用相同的非隨機算法,計算本節點在本傳輸周期中發送ACK或NACK信令的順序及時刻,計時至該時刻后,接收數據正確的目的節點向相應的源節點發送ACK(表示發來的數據已確認接收無誤)信令,接收數據有錯誤的目的節點向相應的源節點發送NACK(表示發來的數據接收有誤)信令。上述步驟2和3中,需要發送數據的源節點或需要發送ACK/NACK的目的節點,采用以下方法計算本節點在傳輸周期中發送信息的順序:步驟A:設置一個具有N+2個狀態的狀態機,其中N為需要發送信息(數據或ACK/NACK信令)的節點的數目。上述N+2個狀態包括與N個需要發送信息的節點一一對應的狀態ST1~STN、起始狀態和結束狀態,狀態ST1~STN之間可以相互轉移,起始狀態可以轉移至狀態ST1~STN,狀態ST1~STN可以轉移至結束狀態。步驟B:創建從起始狀態轉移至狀態ST1~STN的N條轉移路徑,初始化上述N條路徑的累積權重為0,設置迭代次數r=0。步驟C:對當前的每條幸存路徑(幸存路徑為待進入狀態STi(i=1~N)的路徑中,累計權重最小的路徑。剛開始迭代(r=0)時,為從起始狀態到狀態STi(i=1~N)的路徑),在狀態集合Q={ST1,ST2,…,STN}中刪除該路徑中已包含的狀態,得到狀態集合Qk,r,其中k為幸存路徑的序號,計算該路徑從當前狀態轉移至Qk,r中所有狀態的累積權重。步驟D:對有路徑轉入的狀態STi(i=1~N),選擇路徑累積權重最小的m路徑為幸存路徑,并將所述的m幸存路徑的當前狀態設置為狀態STi,刪除其他進入該狀態的路徑,其中1≤m≤Mi,Mi為轉入狀態STi的路徑數目。步驟E:若r<N,則r=r+1,并轉至步驟C,否則所有幸存路徑從當前狀態轉移至結束狀態,記錄下累積權重最小的幸存路徑所經過狀態的順序,即為網絡中節點發送數據的順序。上述步驟C中,源節點發送的數據具有相同的長度,對于發送數據的源節點,路徑的累積權重及路徑中所包含的狀態對應的源節點的數據發送時刻采用以下方法計算:以最后一個CTS信令中的時間標簽為0時刻,第k條幸存路徑中包含的狀態所對應的節點的發送數據時刻為其中skl和dkl分別為第k條幸存路徑中發送順序為l的源節點和相應的目的節點,為第k條幸存路徑中發送順序為l的源節點發送數據的時刻,為數據從ski傳輸到dkj的時延,為第k條幸存路徑中發送順序為j的源節點發送數據的時刻,為數據從skj傳輸到dkl的時延,為數據從skl傳輸到dkl的時延,為數據從skj傳輸到dkj的時延,為數據從skl傳輸到dkj的時延,Pdata為發送數據包的持續時間,C為預設的保護時間,D為大于水聲網絡任意兩節點間數據傳播最大延時的常數;在第r步的累積權重為上述步驟C中,目的節點發送的ACK/NACK信令具有相同的長度,對于發送ACK/NACK信令的目的節點,路徑的累積權重及路徑中所包含的狀態對應的目的節點的ACK/NACK信令發送時刻采用以下方法計算:以最后一個數據包中的時間標簽為0時刻,第k條幸存路徑中所包含的狀態所對應的目的節點的發送ACK/NACK信令時刻為其中dkl和skl分別為第k條幸存路徑中發送順序為l的目的節點和相應的源節點,為第k條幸存路徑中發送順序為l的目的節點發送ACK/NACK信令的時刻,,為第k條幸存路徑中發送順序為j的目的節點發送ACK/NACK的時刻,為數據從dkj傳輸到skl的時延,為數據從dkl傳輸到skl的時延,為數據從dkj傳輸到skj的時延,為數據從dkl傳輸到skj的時延,Pack為發送ACK/NACK信令的持續時間,C為預設的保護時間,D為大于水聲網絡任意兩節點間數據傳播最大延時的常數;在第r步的累積權重為與現有技術相比,本發明的有益之處有:1、減少了一個傳輸周期所需的時間。本發明以一個傳輸周期從開始到結束所需的總時間為優化目標,優化源節點的發送順序及發送時間,與中國發明專利申請CN201410714302相比,能有效地減少一個傳輸周期所需的時間。2、提高了信道的利用效率。與中國發明專利申請CN201410714302相比,本發明能在更短的時間內傳輸相同數量的數據,有效地提高了信道的利用效率。附圖說明圖1為本發明實例中的主流程圖。圖2為實例中計算節點發送信息順序的流程圖。圖3為本發明實施例中最優源節點發送順序路徑選取示意圖。圖4為本發明實施例中最優目的節點發送順序路徑選取示意圖。具體實施方式下面結合附圖和實施例對本發明的具體實施步驟作進一步的說明,但本發明的實施方式不限于此,需指出的是,以下若有未特別詳細說明之過程或者符號,均是本領域的常規表達或者根據本申請已經寫出的內容可以毫無疑義得出的,在此不再贅述。本發明實施例為一個具有8個節點的水聲通信網絡,以節點的水平位置和深度為X、Y、Z軸建立坐標系,三個坐標軸均以米為單位,節點1~8的坐標分別為(50,60,70)、(200,60,80)、(150,150,150)、(100,100,100)、(500,500,500)、(0,0,0)、(1000,1000,1000)、(210,220,400)。每個節點均能監聽到其他節點的信號,各個節點的通信方式為全方向、半雙工,聲速為1500m/s。所有節點的采用相同長度的數據包和相同長度的ACK/NACK信令。本發明實施例中,采用以下步驟來實現多節點的通信,其流程如圖1所示:步驟1:當信道空閑且有至少1個節點需要發送數據時,需要發起通信的源節點廣播RTS信令,相應的目的節點若同意通信,則廣播回復CTS信令,直至在預設的時間內再無新的RTS和CTS信令發出,握手階段結束。每個節點偵聽并記錄本次傳輸周期中所有成功握手的通信請求。上述實施例中,節點1、2、3、4分別需要向節點5、6、7、8發送數據,則在檢測到信道空閑時,節點1、2、3、4分別廣播RTS信令,節點5、6、7、8接收相應的RTS信令后,分別向節點1、2、3、4廣播回復CTS信令。每個節點偵聽并記錄下本次傳輸周期中成功握手的通信請求(1,5)、(2,6)、(3,7)、(4,8)。步驟2:每個源節點采用相同的非隨機算法,計算本節點在本傳輸周期中發送數據的順序及時刻,計時至該時刻后,向相應目的節點發送數據。上述實施案例中,計算源節點發送數據的步驟如下:步驟2.1:設置一個具有N+2個狀態的狀態機,其中N為需要發送數據的節點數目。上述N+2個狀態包括與N個需要發送信息的節點一一對應的狀態ST1~STN、起始狀態和結束狀態,狀態ST1~STN之間可以相互轉移,起始狀態可以轉移至狀態ST1~STN,狀態ST1~STN可以轉移至結束狀態。上述實施例中,設置一個具有6個狀態的狀態機,其中包括起始狀態、結束狀態以及與4個需要發送信息的節點1、2、3、4一一對應的狀態:狀態1、狀態2、狀態3、狀態4。其中狀態1~4之間可以相互轉移,起始狀態可以轉移至狀態1~4,狀態1~4可以轉移至結束狀態。步驟2.2:創建從起始狀態轉移至狀態ST1~STN的N條轉移路徑,初始化上述N條路徑的累積權重為0,設置迭代次數r=0。上述實施例中,創建從起始狀態轉移至狀態1~4的4條轉移路徑并初始化其權值為0。步驟2.3:對當前的每條幸存路徑,在狀態集合Q={ST1,ST2,…,STN}中刪除該路徑中已包含的狀態,得到狀態集合Qk,r,其中k為幸存路徑的序號,計算該路徑從當前狀態轉移至Qk,r中所有狀態的累積權重。上述實施例中,對當前的每條幸存路徑,在狀態集合Q={1,2,3,4}中刪除該路徑中已包含的狀態,得到狀態集合Qk,r,其中k為幸存路徑序號。上述實施例中,源節點1、2、3、4發送的數據具有相同的長度,對于發送數據的源節點,路徑的累積權重及路徑中所包含的狀態對應的源節點的數據發送時刻采用以下方法計算:以最后一個CTS信令中的時間標簽為0時刻,第k條幸存路徑中包含的狀態所對應的節點的發送數據時刻為其中skl和dkl(l=1~r)分別為第k條幸存路徑中發送順序為l的源節點和相應的目的節點,為第k條幸存路徑中發送順序為l的源節點發送數據的時刻,為第k條幸存路徑中發送順序為j的源節點發送數據的時刻,為數據從skj傳輸到dkl的時延,為數據從skl傳輸到dkl的時延,為數據從skj傳輸到dkj的時延,為數據從skl傳輸到dkj的時延,Pdata為發送數據包的持續時間,C為預設的保護時間,D為大于水聲網絡任意兩節點間數據傳播最大延時的常數;在第r步的累積權重為步驟2.4:對有路徑轉入的狀態STi(i=1~4),選擇路徑累積權重最小的m路徑為幸存路徑,并將所述的m幸存路徑的當前狀態設置為狀態STi,刪除其他進入該狀態的路徑,其中1≤m≤Mi,Mi為轉入狀態STi的路徑數目。上述實施例中,對有路徑轉入的狀態i(i=1~4),選擇路徑累積權重最小的一條路徑為幸存路徑,并將該幸存路徑的當前狀態設置為狀態i,刪除其他進入該狀態的路徑。在其他一些實施例中,選擇路徑累積權重最小的m(1<m≤Mi)路徑為幸存路徑,并將所述的m幸存路徑的當前狀態設置為狀態i,刪除其他進入該狀態的路徑,其中Mi為轉入狀態i的路徑數目。步驟2.5:若r<N,則r=r+1,并轉至步驟2.3,否則所有幸存路徑從當前狀態轉移至結束狀態,記錄下累積權重最小的幸存路徑所經過狀態的順序,即為網絡中節點發送數據的順序。上述實施例中,N=4。上述實施例中,最優源節點發送順序的路徑選擇過程如圖3所示,其中預設的保護時間C為1S,常數D為2S,數據包的長度Pdata為1S,每步迭代的計算結果如下:迭代初始化(r=0):創建從起始狀態轉移至狀態1~4的4條路徑,分別為路徑1,2,3,4,每條路徑的累積權值均為0。第一次迭代(r=1):對于狀態i(i=1~4),均有從起始狀態進入該狀態的路徑i,每條路徑對應的狀態集合為Qi,1={1,2,3,4},累積權重為:第二次迭代(r=2):第一次迭代的幸存路徑為路徑1~4,對應的狀態集合分別為Q1,2={2,3,4},Q2,2={1,3,4},Q3,2={1,2,4},Q4,2={1,2,3}。對于狀態1,有路徑2,3,4可以進入該狀態,每條路徑的累積權重為:路徑2:路徑3:路徑4:其中路徑3-1的權重最小,幸存路徑記為:3-1。對于狀態2,有路徑1,3,4可以進入該狀態,每條路徑的累積權重為:路徑1:路徑3:路徑4:其中路徑4-2的權重最小,幸存路徑記為:4-2。對于狀態3,有路徑1,2,4可以進入該狀態,每條路徑的累積權重為:路徑1:路徑2:路徑4:其中路徑2-3的權重最小,幸存路徑記為:2-3。對于狀態4,有路徑1,2,3可以進入該狀態,每條路徑的累積權重為:路徑1:路徑2:路徑3:其中路徑3-4的權重最小,幸存路徑記為:3-4。第三次迭代(r=3):第二次迭代后,幸存路徑為3-1,4-2,2-3,3-4,對應的狀態集為Q3-1,3={2,4},Q4-2,3={1,3},Q2-3,3={1,4},Q3-4,3={1,2}。對于狀態1,有路徑4-2,2-3,3-4可以進入該狀態,每條路徑的累積權重為:路徑4-2:路徑2-3:路徑3-4:其中路徑3-4-1的權重最小,幸存路徑記為:3-4-1。對于狀態2,有路徑3-1,3-4可以進入該狀態,每條路徑的累積權重為:路徑3-1:路徑3-4:其中路徑3-4-2的權重最小,幸存路徑記為:3-4-2。對于狀態3,有路徑4-2可以進入該狀態,每條路徑的累積權重為:路徑4-2:其中路徑4-2-3的權重最小,幸存路徑記為:4-2-3。對于狀態4,有路徑2-3,3-1可以進入該狀態,每條路徑的累積權重為:路徑2-3:路徑3-1:其中路徑3-1-4的權重最小,幸存路徑記為:3-1-4。第四次迭代(r=4):第三次迭代后,幸存路徑為3-1-4,4-2-3,3-4-1,3-4-2,對應的狀態集為Q3-1-4,4={2},Q4-2-3,4={1},Q3-4-1,4={2},Q3-4-2,4={1}。對于狀態1,有路徑4-2-3,3-4-2可以進入該狀態,每條路徑的累積權重為:路徑4-2-3:路徑3-4-2:其中路徑4-2-3-1的權重最小,幸存路徑記為:4-2-3-1。對于狀態2,有路徑3-4-1,3-1-4可以進入該狀態,每條路徑的累積權重為:路徑3-4-1:路徑3-1-4:其中路徑3-1-4-2的權重最小,幸存路徑記為:3-1-4-2。對于狀態3,無路徑可以進入該狀態。對于狀態4,無路徑可以進入該狀態。迭代結束:第四次迭代過后,幸存路徑為4-2-3-1以及3-1-4-2,所有幸存路徑從當前狀態轉移至結束狀態,比較幸存路徑4-2-3-1,3-1-4-2權重,可選得最優路徑為4-2-3-1。迭代次數r從0~4時狀態1~4對應的幸存路徑如下表:迭代次數r狀態1狀態2狀態3狀態40123413-14-22-33-423-4-13-4-24-2-33-1-434-2-3-13-1-4-244-2-3-1上述實施例中,最后的幸存路徑為4-2-3-1,因此節點發送數據包的順序為4、2、3、1。令(s1,d1)、(s2,d2)、(s3,d3)、(s4,d4)分別表示節點(1,5)、(2,6)、(3,7)、(4,8),以最后一個CTS信令中的時間標簽為0時刻,則路徑4-2-3-1中每個源節點發送數據的時刻采用以下方法計算:源節點4發送數據的時刻為源節點2發送數據的時刻為源節點3發送數據的時刻為:源節點1發送數據的時刻為:步驟3:當所有源節點的數據發送完畢后,每個目的節點采用相同的非隨機算法,計算本節點在本傳輸周期中發送ACK或NACK信令的順序及時刻,計時至該時刻后,接收數據正確的目的節點向相應的源節點發送ACK信令,接收數據有錯誤的目的節點向相應的源節點發送NACK信令。步驟3.1:設置一個具有N+2個狀態的狀態機,其中N為需要發送ACK/NACK信令的節點數目。上述N+2個狀態包括與N個需要發送信息的節點一一對應的狀態ST1~STN、起始狀態和結束狀態,狀態ST1~STN之間可以相互轉移,起始狀態可以轉移至狀態ST1~STN,狀態ST1~STN可以轉移至結束狀態。上述實施例中,設置一個具有6個狀態的狀態機,其中包括起始狀態、結束狀態以及與4個需要發送信息的節點5、6、7、8一一對應的狀態:狀態5、狀態6、狀態7、狀態8。其中狀態5~8之間可以相互轉移,起始狀態可以轉移至狀態5~8,狀態5~8可以轉移至結束狀態。步驟3.2:創建從起始狀態轉移至狀態ST1~STN的N條轉移路徑,初始化上述N條路徑的累積權重為0,設置迭代次數r=0。上述實施例中,創建從起始狀態轉移至狀態5~8的4條轉移路徑并初始化其權值為0。步驟3.3:對當前的每條幸存路徑,在狀態集合Q={ST1,ST2,…,STN}中刪除該路徑中已包含的狀態,得到狀態集合Qk,r,其中k為幸存路徑的序號,計算該路徑從當前狀態轉移至Qk,r中所有狀態的累積權重。上述實施例中,對當前的每條幸存路徑,在狀態集合Q={5,6,7,8}中刪除該路徑中已包含的狀態,得到狀態集合Qk,r,其中k為幸存路徑序號。上述實施例中,目的節點5、6、7、8發送的ACK/NACK信令具有相同的長度,對于發送ACK/NACK信令的目的節點,路徑的累積權重及路徑中所包含的狀態對應的目的節點的ACK/NACK信令發送時刻采用以下方法計算:以最后一個數據包中的時間標簽為0時刻,第k條幸存路徑中所包含的狀態所對應的目的節點的發送ACK/NACK信令時刻為其中dkl和skl(l=1~r)分別為第k條幸存路徑中發送順序為l的目的節點和相應的源節點,為第k條幸存路徑中發送順序為l的目的節點發送ACK/NACK信令的時刻,為第k條幸存路徑中發送順序為j的目的節點發送ACK/NACK的時刻,為數據從dkj傳輸到skl的時延,為數據從dkl傳輸到skl的時延,為數據從dkj傳輸到skj的時延,為數據從dkl傳輸到skj的時延,Pack為發送ACK/NACK信令的持續時間,C為預設的保護時間,D為大于水聲網絡任意兩節點間數據傳播最大延時的常數;在第r步的累積權重為步驟3.4:對有路徑轉入的狀態STi,選擇路徑累積權重最小的m路徑為幸存路徑,并將所述的m幸存路徑的當前狀態設置為狀態STi,刪除其他進入該狀態的路徑,其中1≤m≤Mi,Mi為轉入狀態STi的路徑數目。上述實施例中,對有路徑轉入的狀態i(i=5~8),選擇路徑累積權重最小的一條路徑為幸存路徑,并將該幸存路徑的當前狀態設置為狀態i,刪除其他進入該狀態的路徑。在其他一些實施例中,選擇路徑累積權重最小的m(1<m<Mi)條路徑為幸存路徑,并將所述的m條幸存路徑的當前狀態設置為狀態i,刪除其他進入該狀態的路徑,其中Mi為轉入狀態i的路徑數目。步驟3.5:若r<N,則r=r+1,并轉至步驟2.3,否則所有幸存路徑從當前狀態轉移至結束狀態,記錄下累積權重最小的幸存路徑所經過狀態的順序,即為網絡中節點發送數據的順序。上述實施例中,N=4。上述實施例中,路徑的選擇過程如圖4所示,其中預設的保護時間C為1S,常數D為2S,數據包的長度Pack為0.01S,每步迭代的計算結果如下:迭代初始化(r=0):創建從起始狀態轉移至狀態5~8的4條路徑,分別為路徑5,6,7,8,每條路徑的累積權值均為2。第一次迭代(r=1):對于狀態i(i=5~8),均有從起始狀態進入該狀態的路徑i,每條路徑對應的狀態集合均為Qi,1={5,6,7,8},累積權重為:第二次迭代(r=2):第一次迭代的幸存路徑為路徑5~8,對應的狀態集合分別為:Q5,2={6,7,8},Q6,2={5,7,8},Q7,2={5,6,8},Q8,2={5,6,7}。對于狀態5,有路徑6,7,8可以進入該狀態,每條路徑的累積權重為:路徑6:路徑7:路徑8:其中路徑6-5的權重最小,幸存路徑記為:6-5。對于狀態6,有路徑5,7,8可以進入該狀態,每條路徑的累積權重為:路徑5:路徑7:路徑8:其中路徑8-6的權重最小,幸存路徑記為:8-6。對于狀態7,有路徑5,6,8可以進入該狀態,每條路徑的累積權重為:路徑5:路徑6:路徑8:其中路徑6-7的權重最小,幸存路徑記為:6-7。對于狀態8,有路徑5,6,7可以進入該狀態,每條路徑的累積權重為:路徑5:路徑6:路徑7:其中路徑6-8的權重最小,幸存路徑記為:6-8。第三次迭代(r=3):第二次迭代過后,幸存路徑為6-5,8-6,6-7,6-8,對應的狀態集為Q6-5,3={7,8},Q8-6,3={5,7},Q6-7,3={5,8},Q6-8,3={5,7}。對于狀態5,有路徑8-6,6-7,6-8可以進入該狀態,每條路徑的累積權重為:路徑8-6:路徑6-7:路徑6-8:其中路徑6-8-5的權重最小,幸存路徑記為:6-8-5。對于狀態6,無路徑可以進入該狀態。對于狀態7,有路徑6-5,8-6,6-8可以進入該狀態,每條路徑的累積權重為:路徑6-5:路徑8-6:路徑6-8:其中路徑6-5-7的權重最小,幸存路徑記為:6-5-7。對于狀態8,有路徑6-5,6-7可以進入該狀態,每條路徑的累積權重為:路徑6-5:路徑6-7:其中路徑6-5-8的權重最小,幸存路徑記為:6-5-8。第四次迭代r=4:第三次迭代過后,幸存路徑為6-8-5,6-5-7,6-5-8,對應的狀態集為Q6-8-5,4={7},Q6-5-7,3={8},Q6-5-8,3={7}。對于狀態5,無路徑進入該狀態。對于狀態6,無路徑進入該狀態。對于狀態7,有路徑6-5-8,6-8-5可以進入該狀態,每條路徑的累積權重為:路徑6-5-8:路徑6-8-5:其中路徑6-8-5-7的權重最小,幸存路徑記為:6-8-5-7。對于狀態8,有路徑6-5-7可以進入該狀態,路徑的累積權重為:路徑6-5-7:迭代結束:第4次迭代過后,幸存路徑為6-8-7-5以及6-8-5-7,所有幸存路徑從當前狀態轉移至結束狀態,比較幸存路徑6-8-7-5以及6-8-5-7權重,可選得最優路徑為6-8-5-7。迭代次數r從0~4時狀態5~8對應的幸存路徑如表1.表1迭代次數r狀態5狀態6狀態7狀態80567816-58-66-76-826-8-56-5-76-5-836-8-5-76-5-7-846-8-5-7上述實施例中,最后的幸存路徑為6-8-5-7,因此節點發送數據包的順序為6、8、5、7。令(s1,d1)、(s2,d2)、(s3,d3)、(s4,d4)分別表示節點(1,5)、(2,6)、(3,7)、(4,8),以最后一個數據包中的時間標簽為0時刻,則路徑6-8-5-7中每個源節點發送數據的時刻采用以下方法計算:目的節點6發送ACK/NACK信令的時刻為目的節點8發送ACK/NACK信令的時刻為目的節點5發送ACK/NACK信令的時刻為目的節點7發送ACK/NACK信令的時刻為當前第1頁1 2 3