DTN中繼節點候選集選擇方法與流程
2023-07-20 13:56:06
本發明涉及無線網絡通信技術領域,具體地指時延容忍網絡(DTN)技術中,一種DTN中繼節點候選集選擇方法。
背景技術:
DTN主要應用在軍事、航空、動物行跡研究等領域。DTN通信中不存在端到端的路徑、鏈路時斷時續、網絡拓撲結構時刻變化,並且節點具有移動性、節點的資源嚴重受限,因此,DTN中數據通信具有一定的挑戰。研究表明,DTN通信中95%以上的信息都需經由中繼節點的轉發才能最終傳送到目的節點,中繼節點的選擇問題一直是研究的重點與難點。
DTN中,通信設備節點受自身硬體、成本、體積、環境等因素影響,節點的能量一般都是有限的。在通信過程中,節點的能量會在信息的轉發與接收和發現鄰居節點的過程中大量的消耗,若節點的剩餘能量不足,信息就不能繼續被傳遞;如果有大量的節點能量匱乏會直接導致網絡癱瘓,影響正常的通信。節點的能量是DTN通信過程中不可忽略的一個因素。
技術實現要素:
本發明所提出的一種基於動態能量閾值的DTN中繼節點候選集選擇方法,充分考慮鄰居節點接收並轉發信息過程的能耗及剩餘能量,為選擇更優的中繼節點提供一種解決方案,進而在保持相同遞交率和延時的基礎上減小網絡開銷。
為實現上述目的,本發明所設計的一種DTN中繼節點候選集選擇方法,包括如下步驟:
1)節點掃描確定其鄰居節點集;
2)所述節點與所述鄰居節點集中的其中一個鄰居節點交換元數據,所述元數據包括節點ID、節點剩餘能量和節點信息列表;
3)所述節點根據鄰居節點元數據中的節點信息列表確定是否需要轉發信息給鄰居節點,若需要轉發信息到該鄰居節點,轉步驟4),否則,轉步驟6);
4)所述節點根據即將轉發的信息的大小計算該鄰居節點接收並轉發該信息需要消耗的能量,再加上該鄰居節點完成一次掃描需要消耗的能量,得到能量閾值;
5)所述節點將鄰居節點的剩餘能量與計算的能量閾值進行比較,若鄰居節點的剩餘能量不小於能量閾值,轉步驟7),否則,轉步驟6);
6)該鄰居節點不被選作中繼節點;
7)將該鄰居節點加入中繼節點的候選集。
優選地,所述步驟2)元數據中節點剩餘能量的計算公式為:
Eor(n′)=Eor(n′-1)-Ec(Δt)
其中;Eor(n′)表示節點第n′次轉發前的剩餘能量,Eor(n′-1)表示節點在完成第n′-1次轉發前剩餘能量值,Ec(Δt)為Δt間隔期間節點能量消耗值,Δt為距離上一次轉發的時間,Ec(Δt)包括節點完成第n′-1次信息轉發消耗的能量和Δt內節點掃描鄰居節點消耗的能量,n′為表示次數的自然數。
優選地,所述步驟3)中所述節點將自有的信息列表與獲取的鄰居節點元數據中的節點信息列表相比較,判斷鄰居節點的節點信息列表中的信息是否包含自身信息列表中所包含的所有信息,若存在自身節點信息列表中包含而鄰居節點的節點信息列表不包含的信息,則說明所述節點需要轉發該信息到該鄰居節點,若不存在則說明不需要轉發信息到該鄰居節點。
優選地,所述步驟4)中能量閾值為動態值。所述步驟4)中能量閾值的計算公式為:
δth=δth_em+b
其中:δth為鄰居節點協助將信息成功遞交需要的最小能量值,b為固定值,表示鄰居節點完成一次掃描需要消耗的能量值,δth_em為根據轉發的信息大小進行預估的接收信息並完成這次轉發節點需要消耗的能量值,計算公式為:
δth_em=δr+δf=(k1+k2)Pmin,size
其中:k1為固定值,表述所述鄰居節點轉發單位信息所消耗的能量,k2為固定值,表述鄰居節點接收單位信息所消耗的能量,Pmin,size表示節點自身節點信息列表中存在,但該鄰居節點信息列表中不存在的信息集中最小信息的大小。
優選地,所述步驟7)中是將該鄰居節點選作候選中繼節點,具體是否選作中繼節點是根據路由策略來決定,不在本發明描述範圍。
本發明的原理如下:
1、節點能量模型
根據DTN網絡通信原理,DTN通信過程主要包括發現階段和通信階段,如圖1所示。而節點的狀態可以簡單描述成搜索狀態(SS,Search State)、轉發狀態(FS,Forward State)和接收狀態(RS,Receive State)。在發現階段,節點對周圍可以通信的鄰居節點進行掃描,節點狀態為SS。通信階段中實現信息交互,包括信息的轉發和信息接收,節點轉態分別為FS和RS。當節點掃描到鄰居節點後進入通信階段,完成數據通信後節點繼續進入發現階段。
DTN通信中,節點的能量會不斷地被消耗,並且經常出現節點因能量不足而失去通信能力,降低通信效率的情況。依據DTN通信過程,節點的能量消耗主要包括數據通信過程消耗和搜索過程消耗兩個方面。節點能量消耗值Ec可以用如下表達式表示:
Ec=Ess+Efs+Ers (1)
其中,表示節點搜索過程的能耗,與搜索次數成正比,T表示完成一次搜索需要的時間,t為網絡運行時間,b為固定值。Efs=k1Pf,size代表節點轉發信息消耗的能量,表示與轉發的數據包的大小成正比,k1為固定值,表示節點轉發單位信息所消耗的能量,Pf,size表示節點轉發信息的大小。Ers=k2Pr,size為節點接收信息所消耗的能量,k2為固定值,表示節點接收單位信息所消耗的能量,Pr,size為節點接收的信息的大小。因此,公式(1)可以改寫成:
而通信節點的能量來源主要由初始電量值和收集能量值組成。在不考慮能量搜集過程的基礎上節點的能量來源E可表示為:
E=Einit (3)
Einit表示節點初始化的能量。
2、中繼節點候選集選擇
節點在選擇中繼節點前分別對接收信息和完成一次信息轉發需要消耗的最小能量進行預估。其中,接收其他節點轉發的信息需要消耗的最小能量δr可以表示為:
δr=k2Pmin,size (4)
Pmin,size表示節點信息列表中存在,但該鄰居節點信息列表中不存在的信息集中最小信息的大小。
完成節點的信息轉發需要消耗的最小能量δf可以表示為:
δf=k1Pmin,size (5)
則接收節點信息並完成一次轉發所需要消耗的能量值δth_em為:
δth_em=δr+δf=(k1+k2)Pmin,size (6)
節點被選作中繼節點的前提是節點的剩餘能量必須足夠完成一次掃描、信息的接收和轉發,也就是說節點的剩餘能量必須不小於接收信息並完成一次信息轉發所消耗的能量和節點掃描一次消耗的能量,該能量被稱為能量閾值δth。節點每次需要轉發到鄰居節點的信息不同,所以能量閾值為動態值。
能量閾值δth的計算公式如下:
δth=δth_em+b (7)
所以,當節點A搜索到鄰居節點集{A1,A2,…,An}時,鄰居節點可被選做中心節點的前提是鄰居節點的剩餘能量Eor必須不小於完成節點A轉發的信息的接收、完成一次掃描和一次信息轉發所需要消耗的能量δth,這裡考慮鄰居節點一次遞交到目的節點的情況,是所需能量的最小值。即鄰居節點剩餘能量Eor需滿足:
Eor≥δth (8)
節點第n′次轉發前能量的剩餘值:
Eor(n′)=Eor(n′-1)-Ec(Δt) (9)
Eor(n′-1)表示節點在完成第n′-1次轉發前剩餘能量值,Ec(Δt)為Δt時間內節點能量消耗值,具體的,根據式(2)來計算,Δt為距離上一次轉發的時間,包括節點完成第n′-1次信息轉發消耗的能量和Δt內節點掃描鄰居節點消耗的能量。
本發明的優點在於:首先,充分考慮了DTN通信過程中節點在搜索階段和信息通信階段的能量消耗,對能量消耗過程進行了建模;其次,考慮了信息大小不同通信過程能耗不等的情況;再者,節點每次選擇中繼節點轉發信息之前,對此次接收信息並完成一次信息轉發的能耗和進行了預估,再加上節點完成一次掃描的能量消耗得到能量閾值,並與鄰居節點的剩餘能量進行了比較,排除了能量不足的節點作為中繼節點的可能,更精準地確定了中繼節點的候選集;最後,本發明是在路徑選擇之前根據節點剩餘能量對鄰居節點做了預處理,能夠在實現相同的網絡遞交率和延時的基礎上大大降低網絡開銷,同時提高網絡的生命周期。
附圖說明
圖1為DTN節點的狀態圖。
圖2為DTN網絡通信圖。
圖3為本發明DTN中繼節點候選集選擇方法實施例的流程圖。
具體實施方式
為了更清楚本發明的方案及實現效果,以下結合附圖和具體實施例對本發明作進一步地詳細描述。
圖2所示為DTN網絡通信的一部分,圖中字母A、B、S、C均為節點標識符(節點ID),實心圓點代表通信節點,包圍在節點外的圓形虛線表示節點的通信範圍。如圖2所示,t1時刻節點S掃描到鄰居節點A、鄰居節點B和鄰居節點C。
如圖3所示,本發明一種DTN中繼節點候選集選擇方法,包括如下步驟:
1)節點掃描確定其鄰居節點集。
2)節點與鄰居節點集中的其中一個鄰居節點交換元數據,元數據包括節點ID、節點剩餘能量和節點信息列表。
節點S首先與鄰居節點A交互元信息,包括節點ID、節點的信息列表、節點的剩餘能量等。例如節點S的信息列表為MS={m1,m3,m4,m5,m9,m10,m12},鄰居節點A的信息列表為MA={m2,m3,m5,m6},鄰居節點A的剩餘能量為單位為J。
3)節點根據鄰居節點元數據中的節點信息列表確定是否需要轉發信息給鄰居節點,若需要轉發信息到該鄰居節點,轉步驟4),否則,轉步驟6)。
節點S根據交換的元信息可以確定存在信息列表M={m1,m4,m9,m10,m12}中的信息在節點S中,而鄰居節點A中不存在。這說明需要將M中的信息或一部分信息轉發到鄰居節點A中,也就是節點S需要轉發信息到鄰居節點A中。
4)節點根據即將轉發的信息的大小計算該鄰居節點接收並轉發該信息需要消耗的能量,再加上該鄰居節點完成一次掃描需要消耗的能量,得到能量閾值。
節點S依據M中的信息對接收該信息並完成信息一次轉發需要的最小能量δth_em進行預估,δth_em與鄰居節點A完成一次掃描消耗的能量的和,為能量閾值δth,單位為J。節點每次需要轉發到鄰居節點的信息不同(信息大小和信息數目都會不同),所以能量閾值為動態值。計算公式為:
δth_em=δr+δf=(k1+k2)Pmin,size
δth=δth_em+b
其中,Pmin,size等於MA={m2,m3,m5,m6}中最小信息大小,單位為Byte,k1為固定值,表示節點轉發單位字節信息所消耗的能量,單位為J/Byte,k2為固定值,表示節點接收單位字節信息所消耗的能量,單位為J/Byte,b表示節點掃描一次需要的能量,單位為J/次,鄰居節點A能夠協助成功遞交信息需要的最小能量δth包括鄰居節點A接收信息消耗的能量、鄰居節點A掃描鄰居節點消耗的能量和鄰居節點A將信息轉發給目的節點需要消耗的能量。
5)節點將鄰居節點的剩餘能量與計算的能量閾值進行比較,若鄰居節點的剩餘能量不小於能量閾值,轉步驟7),否則,轉步驟6)。
節點S將鄰居節點A的剩餘能量與計算的能量閾值δth進行比較。如果說明鄰居節點A的剩餘能量足夠接收節點S轉發的信息並完成接收信息的一次轉發,鄰居節點A可被選作中繼節點候選集,轉轉步驟7);如果說明鄰居節點A的剩餘能量不足,此次不能作為中繼節點協助轉發信息,轉步驟6)。
6)該鄰居節點不被選作中繼節點。
7)將該鄰居節點加入中繼節點的候選集。
節點S與節點A完成信息轉發後,會繼續對下一個鄰居節點按照步驟2)~步驟7)的描述方案進行判斷,確定該鄰居節點是否能夠作為中繼節點候選集。
本發明一種DTN中繼節點候選集選擇方法,是在DTN通信中中繼節點確定之前根據動態能量閾值選擇合適的中繼節點候選集,本發明根據鄰居節點的剩餘能量是否足夠接收並完成一次掃描和一次轉發消耗的能量確定中繼候選節點。由於節點每次需要轉發到鄰居節點的信息大小和數目不同,接收並轉發這些信息需要消耗的能量也不同,因此能量閾值為動態值。將加入中繼節點候選集的鄰居節點選作候選中繼節點,具體是否選作中繼節點是根據路由策略來決定,不在本發明描述範圍。DTN通信中,凡是根據節點需要轉發的信息來預估接收並轉發這些信息需要消耗的能量,以及根據預估的能量和鄰居節點剩餘能量大小來確定中繼候選節點的思想都與本方案相牴觸。
本說明書中未作詳細描述的內容屬於本領域專業技術人員公知的現有技術。