?

機會網絡中計算節點間數據分組余弦相似度的高效轉發策略

2019-01-24 09:29劉名陽陳志剛
小型微型計算機系統 2019年1期
關鍵詞:路由閾值分組

劉名陽,陳志剛,吳 嘉

1(中南大學 軟件學院,長沙 410075)2(“移動醫療”教育部-中國移動聯合實驗室,長沙 410083)

1 引 言

機會網絡(Opportunistic networks,OPN)是一種在間歇性連通的網絡環境下,通過節點之間的相互移動帶來的接觸機會,完成網絡中的信息轉發[1].機會網絡源于早期的間歇式連通網絡(intermittently connected networks,ICN)[2]和延遲容忍網絡(delay-tolerant networks,DTN)[3].機會網絡的通信不同于傳統的無線網絡,最大的不同點就是機會網絡中的節點并不是統一部署的,其不需要發送端和接收端之間擁有完全連通的傳輸路徑[4].在機會網絡中,由于網絡鏈接時斷時續、網絡鏈接持續時間短、網絡拓撲結構動態變化[5,6],源節點和目的節點之間往往不存在可靠的通信鏈路[7].由于應用特點、環境、成本等多種因素的限制,機會網絡恰好可以滿足某些特定應用的需求.現如今,機會網絡的典型應用主要有:野外數據收集[8]、偏遠地區網絡通信[9]、車載網絡[10]以及各種環境下的自組織通訊網絡[11]等.

由于機會網絡中不存在固定的傳輸路線,所以采用“存儲—攜帶—轉發”的路由機制進行信息傳送[12].該方式不需要節點維護到網絡中其他節點的路由表,而是將信息緩存到具有存儲能力的移動節點上,借助節點的移動帶來的相遇機會,尋找合適的下一跳節點進行信息傳輸.圖1為機會網絡信息傳輸過程示意圖.假設發送端S和接收端D要進行信息傳輸,由于在t1時刻發送端S和接收端D并不在同一個連通域內,在它們之間不存一條完整的通信鏈路,因此節點S將數據發送給中繼節點A.由于節點A同樣沒有到達節點D的合適路徑,節點A攜帶該信息等待合適的轉發機會.隨著節點移動帶來的相遇機會,在t2時刻,節點A和節點C移動到同一連通域內,節點A將數據轉發給節點C.節點C在t3時刻與接收端D相遇,將攜帶的數據轉發給接收端D,完成信息傳輸.

(1) 盾構隧道常見病害之間是相互聯系的,往往表現為多種病害同時存在,且隨著地鐵運營時間的增加病害亦會隨之加劇。其中,隧道不均勻沉降是導致產生其他常見病害的重要原因之一,也是判斷隧道是否穩定的重要依據之一。

教育教學的過程十分漫長,需要不斷地發現與改良,其最終目標是給學習者帶來極大的便利與可能性。信息技術便是能夠體現該可能性的關鍵因素,因此,信息技術與教育教學的完美融合是當代教育領域中極為重要的研究項目。通過利用信息技術可以將傳統的教育教學方式做出改變,提高“教師”與“學生”的信息素養,將“教”與“學”的方式做出變革,完成信息技術與教育教學完美融合是所有從事教育工作人士不斷追求的目標。

圖1 機會網絡信息傳輸過程示意圖Fig.1 Schematic diagram of opportunistic network transmission

因為機會網絡中節點的移動性導致網絡拓撲結構呈現出動態變化的趨勢,使得傳統的路由算法很難應用于機會網絡中.因此,如何在拓撲結構中選擇合適的鄰居節點進行信息傳輸成為了機會網絡的研究熱點之一.目前,對于機會網絡路由算法的研究主要分為兩類,一種類型先驗式路由,另一種類型是后應式路由.但由于機會網絡中節點自身的移動以及無線連接的間歇性,依然存在傳輸成功率較低以及下一跳節點選擇不合理的問題.

在實際的應用場景中,機會網絡中的節點通常是處于一定社會關系的人[13],其進行信息的交互行為與移動模式都具有社會性[14].在以人作為網絡終端載體的機會網絡中,人的行為特征和社會屬性是區別于其他移動網絡模式的本質特征[15],在路由算法設計中具有舉足輕重的作用.例如,人類移動行為的小世界特性和集聚性可以幫助路由協議利用節點的影響力和社區特征輔助消息轉發;人類移動巧為的規律性和社會性可以幫助路由協議預測節點未來的相遇過程,以幫助數據選擇最佳的下一跳轉發節點.

通過分析一些傳統機會網絡路由算法存在的問題,結合機會網絡“小世界”的特點,本文從節點之間的社會屬性角度去考慮如何選擇合適的鄰居節點作為下一跳,提出了基于節點間數據分組余弦相似度的路由算法.實踐證明,余弦相似度算法可以很好的計算出兩個文本之間的相似度情況.通過計算節點間數據分組的余弦相似度來衡量節點間社會關系的強弱,以此進行路由選擇.

2 相關工作

在機會網絡,采用“存儲—攜帶—轉發”的傳輸策略進行數據轉發,由于節點的移動導致的網絡拓撲結構動態變化,使得傳統的路由算法難以適用于機會網絡中.因此,如何合理的選擇下一跳節點,高效地進行信息傳遞已成為機會網絡的一個重要研究方向[16].現如今,對于對于機會網絡路由算法的研究主要有以下一些方法.

Epidemic算法[17]基于泛洪策略,主要的思想就是相遇的節點交換彼此缺少的報文信息.該路由算法可以很好地提高網絡傳輸成功率,有效地降低傳輸延遲,但是會在網絡中產生大量的數據副本,容易導致網絡的路由開銷過高,造成網絡負載.Ren Z[18]等人在傳統的Epidemic算法的基礎上提出了一種具有自適應能力的Epidemic路由算法,通過觀察周圍節點的緩存狀態,實時調整節點向網絡中注入消息副本的數量,進而改善Epidemic算法性能,有效地降低了路由開銷.

SIM27≈0.22,SIM28≈0.18,SIM29≈0.13

由于機會網絡中節點的移動特性,網絡的拓撲機構呈現出動態變化的趨勢,整個網絡并不是全連通網絡,因此在機會網絡中隨機選取某一子網絡拓撲結構進行研究.假設選取的子網絡拓撲結構如圖2所示,共有12個節點,節點集合為V={V1,V2,…,V12},所有節點均為中繼節點,都具有移動的特性以及攜帶與轉發信息的能力.在當前時段,假設節點V1為源節點需要發送信息,并且信息在節點之間傳遞的速度遠遠大于節點的移動速度,信息在子網絡中進行傳輸時,網絡拓撲結構不會發生本質上的改變.

文獻[21]提出了基于歷史信息的路由算法(HBPR),將網絡的地理區域劃分為不同的區域單元并編號,每個節點利用GPS軟件記錄自身的位置信息,并統計訪問最頻繁的區域,源節點將一份消息傳輸給地理位置上與目的節點更近的中繼節點,不斷縮短攜帶消息的節點與目的節點的距離,達到與目的節點相遇并傳輸消息的效果.

文獻[22]從機會網絡和社交網絡相結合的角度考慮,提出了基于節點社會屬性的路由算法SNOP.該算法利用節點的社會屬性,分析網絡中存在的社團結構,并計算社團之間的相似程度與節點在社團中的活躍度,進而有目的性地選擇中繼節點.該算法并將計算節點之間的社會性與信息轉發兩項任務拆分開,分別以離線與在線的方式進行,以此實現數據分組的高效轉發.

文獻[23]提出了SRBet路由算法,在利用時空演化圖模型來準確捕捉機會網絡的動態拓撲結構的基礎上,根據節點歷史接觸記錄,提出基于中介中心性度量的社會關系,以確保消息通過具有更強社會關系的節點進行轉發.

針對機會網絡路由算法存在的一些問題,本文從網絡中節點間存在的關系進行分析,提出了基于節點間數據分組余弦相似度的高效轉發算法CSDP.在該算法下,首先計算節點間數據分組的余弦相似度,以此來定義節點之間的關系,根據節點之間的相似程度選擇下一跳進行數據轉發.

3 基于節點間余弦相似度的高效轉發策略

3.1 構建機會網絡拓撲結構

文獻[20]通過對節點存在的社會屬性進行分析,提出了一種基于節點歸屬位置感知的轉發策略.該策略首先是根據節點的社會屬性,對網絡中的節點進行社區劃分.然后在節點的移動過程中,檢測副本消息的接收端是否與相遇的節點在相同的社區.根據與相遇節點的檢測結果,進而執行社區內轉發策略或是社區間轉發策略.在相遇的同時,根據相遇節點與目的節點之間的相鄰程度,為副本信息選擇合理的轉發節點.

在機會網絡中,每個節點的鄰居節點都可以進行信息傳遞,每個鄰居節點都有可能成為下一跳節點.相對于動態變化的網絡拓撲結構,在以人為載體的機會網絡中,節點之間的社會關系則是相對比較穩定的,并不會隨著拓撲結構的變化而變化,而節點所呈現的社會性則具體表現在其自身攜帶的數據上.因此需要在眾多的鄰居節點之間選擇一些相對比較可靠、社會關系比較穩定且有效性較大的節點進行信息傳遞.本文是利用余弦相似度來計算節點間所攜帶數據分組的相似度,節點間數據分組的相似度等同于節點間的相似度,從而來定義節點之間社會關系的強弱.

“孟母三遷”的故事意在闡述環境對人成長的重要意義。以美國行為主義者華生為代表的西方學者也提出環境決定論,認為兒童是被動的個體,其成長由所處的環境決定。兒童成長為什么樣的人,教育者負有很大的責任。

圖2 子網絡拓撲結構圖Fig.2 Topology structure of sub-network

3.2 節點定義及相似度計算

定義1.節點數據分組合集Di={di1,di2,…,dij},表示任一節點i所攜帶的j個數據分組信息,并將節點i所攜帶的數據分組信息表達為向量Ci=(wi1,wi2,…,wij),其中wij為第j個數據分組信息在節點i中的權重,即該數據分組在節點i中出現的頻率,初始值為1.

實驗中,由于直接測量主軸熱變形不太方便,所以用一根鐵棒來代替主軸,把鐵棒用磁性表座固定在主軸上,間接獲得主軸徑向與軸向變形。然后通過電渦流位移傳感器測得這兩個方向上的熱誤差數據。

定義2.任意兩個節點a與b的數據分組合集的合并運算,記為D′=Da∪Db,并在合并之后的數據分組合集基礎上,重新計算各自的數據分組向量表達式.

設節點a共有n個數據分組信息,其合集為:

Da={da1,da2,…,dai,…,dan},1≤i≤n

(1)

則節點a的數據分組信息可表達為向量Ca:

Ca=(wa1,wa2,…,wai,…,wan),1≤i≤n

(2)

設節點共m有個數據分組信息,其合集為:

Db={db1,db2,…,dbj,…,dbm},1≤j≤m

(3)

則節點b的數據分組信息可表達為向量Cb:

Cb=(wb1,wb2,…,wbj,…,wbm),1≤j≤m

(4)

節點a和節點b的數據分組合并運算,記為:

(5)

(6)

2)依次訪問節點V2、V3、V4、V5、V6,計算它們與當前節點的相似度.節點V1和節點V2的相似度計算過程如下:

(7)

(8)

1)初始化一棵有向樹Tree,每個節點i都維持一個數據分組集合Di,以及數據分組向量Ci,將當前要傳送信息的節點s作為樹Tree的根節點.

(9)

定義3.節點相似度SIMab,表示節點a和節點b之間的相似程度.

已知向量Q和向量D之間余弦相似度為:

人們也將由裁判官創造的“三重告示”的時間鎖定在公元前2世紀,其因包含了三項訴權而得名:“在特有產的限度內”(actio de peculio)、“在權力擁有者獲益的限度內”(actio de in rem verso)以及“根據從權力擁有者處接收的命令”(actio quod iussu)。它們被用來給那些與處于他人權力下之人完成了交易的債權人使用,就像告示使用的話語指出的那樣,“基于與處在他人權力下的人締結了一筆交易的情況”,由烏爾比安記錄在D. 15,1,1 pr.-2(烏爾比安:《告示評注》第29卷)當中:

我告訴寢室的阿蓮我愛上了一個35歲的男人時,她不動聲色地看著我半分鐘,然后從嘴里擠出三個字兒,有病啊。

(10)

(11)

定義4.鄰居節點訪問控制數K,用來控制節點訪問其鄰居節點的個數.當一個節點的鄰居節點的數量比較多時,要把所有的鄰居節點完全遍歷一遍時會花費比較長的時間,這會造成更長時間的傳輸延遲,不利于信息在網絡中傳遞.因此,當節點的鄰居數大于訪問控制數K時,則根據該節點與其各鄰居節點的傳輸距離進行排序,優先訪問前K個傳輸距離相對比較近的鄰居節點,這樣可以有效地減少CSDP算法的計算時間,避免了隨著網絡中節點數量的增加而節點之間對比的次數顯著增加的情況.

定義5.節點相似度下閾值α,作為下一跳候選節點篩選標準.當一個節點與其鄰居節點的相似度大于下閾值時,則將該鄰居節點作為下一跳候選節點.如果求得一個節點與其所有的鄰居節點的相似度都小于下閾值α,則選擇其中相似度最大的節點進行信息傳輸.

丙組40例患者應用培美曲塞聯合順鉑治療,即給予患者靜脈滴注135 mg/m2培美曲塞+25mg/m2順鉑。

定義6.節點相似度上閾值β.在以人為載體的機會網絡中,如果一個節點與其一個鄰居節點的相似度大于上閾值β時,則表明該兩個節點的社會屬性十分相似,可能它們的移動軌跡,能接觸到的節點都沒有太大的區別,所以就沒有必要把這個鄰居節點作為下一跳的候選節點.如果一個節點與其所有鄰居節點的相似度都大于上閾值β,則選擇其中相似度最小的節點進行信息傳輸.

農民是從事農業生產的主體人員,因此農民的自身素質對于設施農業的發展有直接影響。農民對于機械的使用認識程度不高,是影響設施農業發展的重要原因之一。所以,可以向農民開展“如何致富”、“如何增加糧食產量”為主題的指導課程,通過課程向農民講解設施農業機械化的重要性,提高農民對機械的使用意識和市場競爭意識,向農民明確使用機械設施會減少人力勞動的投入、提高生產效率、科學的種植能夠提高農作物的產量、能夠提高農民的經濟效益。農民對于設施農業有正確的認識,才能積極使用設施農業機械設備,進而推動我國設施農業的發展水平。

如果求得一個節點與一部分鄰居節點的相似度小于相似度下閾值α,而與剩下一部分鄰居節點的相似度大于相似度上閾值β,則在所有相似度小于下閾值α的鄰居節點中,選擇相似度最大的鄰居節點,以及在所有相似度大于上閾值β的鄰居節點中,選擇相似度最小的鄰居節點進行信息傳輸.

3.3 節點信息遍歷過

如圖2所示的子網絡拓撲結構中每個節點維護一個緩沖區,緩沖區中存放本節點和其他節點需要本節點轉發的數據分組,每個數據分組有一個全局唯一的標識.假設該子網絡拓撲結構中每個節點的數據分組如表1所示.

4:Set:T.setRootNode(i);Ui;/*A set of neighbor nodes of node i*/

基于圖2的節點遍歷過程如下所示:

1)首先,初始化一顆有向樹Tree,把當前要發送信息的節點V1作為根節點,按照與節點V1的傳輸距離依次將前K個鄰居節點插入樹中作為節點V1的子節點,如圖3所示.

①合并節點V1與V2數據分組合集:

D12=D1∪D2={b,c,d,j,p,k}

表1 節點數據分組
Table 1 Data packet of nodes

節點數據分組合集數據分組向量V1{b,c,j,k}(1,1,2,1)V2{d,j,p}(1,1,1)V3{a,c,d}(1,1,2)V4{a,e,k,o}(2,2,1,1)V5{a,e,j,k}(1,1,1,2)V6{a,b,j,k}(1,1,2,2)V7{b,p,n,t}(2,1,1,1)V8{d,g,h,n}(1,2,2,1)V9{c,k,m,n,p}(2,3,2,1,1)V10{b,a,e,k}(1,1,1,2)V11{a,e,j,k}(1,1,1,1)V12{a,c,j,p}(1,2,1,3)

②重新計算節點V1與V2的數據分組向量:

嗜水氣單胞菌、魯氏不動桿菌、溫和氣單胞菌等均可導致腐皮病的發生,外傷、營養不良和水質惡化是該病發生的重要誘因。特別是在蛙池內無飼料或投喂量不足時,會出現大蛙殘食小蛙現象,造成小蛙掙扎逃脫后頭背部位皮膚受損,誘發腐皮病。該病流行于夏、秋兩季,8-10月份是發病的高峰期。該病具有發病快、病期長、致死率高等特點,幼蛙死亡率高達90%,且常與紅腿病并發。

圖3 樹Tree結構圖Fig.3 Structure of the Tree

③計算節點V1與V2的相似度:

(12)

根據上述節點V1與V2的計算過程,計算節點V1與V3、V4、V5、V6的相似度.結果如下:

SIM13≈0.15,SIM14≈0.12,SIM15≈0.57,SIM16≈0.84.

假設其中SIM13和SIM14都小于下閾值α;SIM16大于上閾值β;SIM12和SIM15的值位于下閾值和上閾值之間.

所以,將節點V3、V4和V6從樹Tree中刪除,留下節點V2與V5作為節點V1的下一跳,并把節點V2與V5的鄰居節點按照傳輸距離優先將前K個節點插入樹中,作為相應節點的子節點.此時,樹Tree的結構圖如圖4所示.

一般說來,學者在進入村落進行調查的時候,多會尋找合適的合作者。他們不僅能夠提供豐富的鄉村生活資料,還能為學者搭建更多的田野關系提供便利。正如勞格文所言:

3)依次訪問節點V2的鄰居節點V7、V8與V9,以及節點V5的鄰居節點V10、V11、與V12,計算相應節點之間的相似度.結果如下:

文獻[19]提出了噴灑等待(Spray and Wait)算法,該算法分為兩個階段:Spray階段,發送端將自身攜帶的報文信息按照一定的數量轉發出去,若沒有發送到接收端則進入Wait階段;Wait階段,攜帶該報文信息的節點通過直接傳遞的策略把信息傳輸到接收端.Spray and Wait算法的主要優點就是路由開銷顯著地小于Epidemic算法,有更好的擴展性,能夠很好地適應各種規模的機會網絡.

SIM5,10≈0.86,SIM5,11≈0.96,SIM5,12≈0.20.

假設SIM27、SIM28和SIM29都小于下閾值α,此時將其中與節點V2相似度最大的節點V7保留,刪除剩余的節點V8與V9.

假設SIM5,10與SIM5,11均大于上閾值β,而SIM5,12小于下閾值α,則在小于下閾值的節點中保留相似度最大的節點V12,在大于上閾值的節點中保留相似度最小的節點V10,刪除剩余節點V11.

圖4 樹Tree結構圖Fig.4 Structure of the Tree

此時,子網絡拓撲結構已經遍歷完畢,得到最終的有向樹Tree,如圖5所示,即為該子網絡的傳輸路徑圖.

圖5 傳輸路徑圖Fig.5 Transmission paths

3.4 算法設計

根據上一小節的節點在子網絡拓撲結構中的遍歷過程推導出基于節點間數據分組余弦相似度的路由算法,具體的算法執行過程如下:

2)創建當前節點s的鄰居節點集合Us,若是在樹Tree中存在當前節點s的父節點p,則創建父節點的鄰居節點集合Up,并作如下運算:Us=Us-(Us∩Up).

3)判斷集合Us中節點的個數是否大于K,若集合Us中的節點個數大于訪問控制數K,則對集合Us中的節點按照與當前節點的傳輸距離由近至遠排序,將前K個節點一次插入樹Tree中,作為當前節點s的子節點.

5)判斷當前節點與各鄰居節點之間的相似度大小,選擇SIMsk值大小在下閾值α和上閾值β之間的節點作為下一跳,并將其余節點從樹中刪除.

如果與所有的鄰居節點的相似度都小于下閾值,即max(SIMsk)<α,則從中選擇相似度最大的鄰居節點,即max(SIMsk),作為下一跳,并將其余節點從樹中刪除;

如果min(SIMsk)>β,則選擇相似度最小的鄰居節點,即min(SIMsk),作為下一跳,并將其余節點從樹中刪除;

如果與一部分鄰居節點的相似度小于下閾值α,與剩余鄰居節點的相似度大于上閾值β,則在所有相似度小于下閾值α的鄰居節點中,選擇相似度最大的鄰居節點,以及在所有相似度大于上閾值β的鄰居節點中,選擇相似度最小的鄰居節點作為下一跳,并將其余節點從樹中刪除.

6)依次把當前節點s在樹Tree中的所有子節點作為當前節點,重復2)、3)、4)、5)、6),直至訪問完子網絡拓撲結構.

7)根據上述過程,最終可以得到一個樹Tree,可以得到一條或多條傳輸路徑,將當前要發送信息的節點通過復制轉發策略在這些路徑上進行轉發.

根據上述算法的推導過程,可以設計相似度算法,如下所示:

算法1.Opportunistic Network Routing Algorithm Based on Cosine similarity of data packets between nodes

1:Input:A graph G(V,E),a source S,Dz:Data packet aggregation of node z,Cz:Data packet weight vector of node z collection of z(z∈V);

2:Output:A or more paths.

3:Init:InitTree(T),CurrentNode(i,s);/*set the node s as the current node i*/

當上述曲面為球面時,設球面為Sβ,如圖4所示,其中oimmobile-ximmobileyimmobilezimmobile為實驗室坐標系.此時,(10)式中的Gauss曲率K為球面半徑平方的倒數.若沿Sβ上的一條閉曲線平移矢量一周后,與平移前相比的角度差別為:

5:if(Node p=T.getParentNode(i));Up;Ui=Ui-(Ui∩Up);

我一個很好的同事經常和我抱怨類似的事情,他是一個對熟悉的人很隨和的人,但是卻很容易與其他專業的人員發生矛盾。在一次他在電話中的激烈爭吵后,我問其原因,他說,是由于對方人員提供的設計資料不夠規范,雖然資料已經進行多次修改,但是還是沒有符合要求,于是對方人員誤以為是我方進行故意刁難,所以發生了激烈的爭吵。

/*if the node i has parent node p in the tree T,set the node sets of p,and delete the same part from the Uias Up*/

采用SPSS 20.0統計學軟件對數據進行處理,計量資料以“±s”表示;計數資料以百分數(%)表示,以P<0.05為差異有統計學意義。

6:SortbyDistance(Us);Us.Delete(K);/*Sorting neighbor nodes in Uiaccording to the transmission distance,and delete the neighbor nodes after K*/

7:while(! Empty(Ui))

8:for(Neighbor j:Ui)

11:end for;

12:SelectSim(SIMij);T.setChildNode(i,j)/*select the similarity between r and R*/

13:If(all(SIMij)<αor all(SIMij)>β)selectNode(max(SIMij)or min(SIMij));

T.setChildNode(i,j);

14:If(onePart(SIMij)<αand theRest(SIMij)>β)selectNode(max(onePart)and min(theRest));T.setChildNode(i,j);

15:for(ChildNode k:T.getChildNode(i))

16:CurrentNode(i,k),continue;

17:end for;

18:Node p=T.getParentNode(i);Up;

Ui= Ui- Up;Sort(Ui);Ui.Delete(K);

19:end while;

20:getPath(T);/*Gets the transmission paths based on the tree T*/

上述算法的執行主體是一個雙層嵌套循環,用來計算當前節點和鄰居節點之間的相似程度,并對其作一定規則的篩選,選擇出合適的下一跳節點.整個算法的時間復雜度為O(n2),算法的復雜度相對較高,整個計算過程會占用大量的時間,容易造成高的傳輸延遲,但是由于定義了鄰居節點訪問控制數K,將要訪問的鄰居節點控制在一定的范圍內,有效地降低了計算過程需要消耗的時間.

4 實驗結果與分析

針對上述過程提出的CSDP路由算法,本文將采用機會網絡仿真平臺ONE,并于傳統的路由算法Spray and Wait(S&W)算法和Epidemic算法進行方針實驗對比.文中將選用傳輸成功率、傳輸延遲和路由開銷這三個指標對上述的三個算法進行比較分析.仿真場景設置如表2所示.

表2 仿真場景設置
Table 2 Simulation parameter setting

參數值模擬時間15h模擬區域范圍4500m*3000m節點移動速度2~10(m/s)節點傳輸速率300kb/s最大傳輸范圍10m傳輸方式廣播通信方式藍牙節點緩存大小15MB數據分組大小25kb~100kb數據分組生成頻度25~35s

表3為算法參數設置,通過多次的仿真實驗表明,當下閾值α=0.26,上閾值β=0.83時,CSDP算法的綜合性能相對較好,且鄰居節點訪問控制數K位6或7時,不會顯著地增加節點之間的比較次數,可以有效地降低算法的執行時間.

表3 算法參數設置
Table 3 Algorithm parameter setting

參數值α0.26β0.83K6、7

下面是CSDP算法、S&W算法和Epidemic算法在不同情況下的分析比較.圖6為三種路由算法在不同的節點緩存的情況下傳輸成功率.

圖6 傳輸成功率(節點緩存)Fig.6 Deliver ratio(node cache)

根據圖6可知,節點緩存大小對CSDP算法傳輸成功率的影響最為顯著.在節點緩存非常小的情況下,三種算法的傳輸成功率都很低,隨著節點緩存的不斷增大,三種算法的傳輸成功率都呈現出了不同程度的增長趨勢.S&W算法和Epidemic算法的傳輸成功率呈現出了緩慢的增長趨勢,當節點緩存在50M時,S&W算法和Epidemic算法的傳輸成功率分別維持在60%和50%左右.而CSDP算法的傳輸成功率的增長趨勢比較快速,當節點緩存在25M時,CSDP算法的傳輸成功率就已經達到了S&W算法和Epidemic算法的最高水平,最終,CSDP算法的傳輸成功率可以達到85%左右.

圖7為節點數量對三種算法傳輸成功率的影響.整體趨勢和節點緩存比較相似,不同的是,在節點緩存不斷變大的情況下,Epidemic算法的傳輸成功率一直高于S&W算法,而在節點數量不斷增多時,S&W算法的傳輸成功率一直高于Epidemic算法.這說明Epidemic算法比較依賴節點的緩存大小,而S&W算法比較依賴網絡中的節點數量.當網絡中的節點數量達到600時,Epidemic算法和S&W算法和的傳輸成功率分別為45%和55%,而CSDP算法的傳輸成功率高達80%左右.

圖7 傳輸成功率Fig.7 Deliver ratio

圖8為三種算法的傳輸延遲在節點數不同情況下的表現.CSDP算法的傳輸延遲受節點變化的影響最小,S&W算法和Epidemic算法的傳輸延遲呈現出相同的增長趨勢.在節點數為600的情況下,Epidemic算法和S&W算法的傳輸延遲分別高達6500和5500左右.而CSDP算法傳輸延遲的增長速度比較緩慢,在節點數大于400以后,CSDP算法的傳輸延遲一直維持在3000上下,要比S&W算法低2500,還不到Epidemic算法的二分之一.

圖8 傳輸延遲Fig.8 Delivery delay

圖9為節點數對三種算法路由開銷的影響.隨著節點數不斷增加,三種算法的路由開銷呈現出不同的增長趨勢.其中,Epidemic算法的路由開銷增長速率最快,約為Epidemic算法的兩倍,約為CSDP算法的三倍.當網絡中的節點數高達600時,S&W算法在2500左右,Epidemic算法的路由開銷在4500左右,而CSDP算法的路由開銷最低,在1500左右.因為Epidemic算法是基于泛洪策略,會在網絡中產生大量的副本消息,造成網絡的路由開銷過大,而CSDP算法則是基于節點之間的關系進行信息轉發,不會在網絡中產生過多的副本消息.

圖9 路由開銷Fig.9 Routing overhead

上述的仿真結果表明,相對于傳統的路由算法,S&W算法和Epidemic算法,CSDP算法更加適應機會網絡數據轉發,可以有效地提高傳輸成功率,并降低網絡的傳輸延遲以及路由開銷.

5 結束語

對于機會網絡數據轉發過程中存在的問題,本文從節點間關系進行分析,提出了基于節點間數據分組余弦相似度的轉發策略,通過計算節點間數據分組的余弦相似度來定義節點間社會關系的強弱,并通過一系列閾值的定義,用來篩選鄰居節點,最終可以在子網中得到多條有效的傳輸路徑.通過仿真實驗表明,CSDP算法要比傳統的路由算法S&W 和Epidemic效果好很多,CSDP算法在提高機會網絡傳輸成功率的同時,可以有效地減少傳輸延遲,降低路由開銷.實際上,節點的社會屬性是十分復雜的,消息在節點間的傳播過程會受到各種因素的影響,如節點的移動模型,以及節點所在的社群等等,對上述因素進行綜合分析是下一步工作的重點.

猜你喜歡
路由閾值分組
土石壩壩體失穩破壞降水閾值的確定方法
基于小波變換閾值去噪算法的改進
采用紅細胞沉降率和C-反應蛋白作為假體周圍感染的閾值
數據通信中路由策略的匹配模式
OSPF外部路由引起的環路問題
分組搭配
路由重分發時需要考慮的問題
怎么分組
分組
遼寧強對流天氣物理量閾值探索統計分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合