两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于相遇頻率的機(jī)會網(wǎng)絡(luò)路由方法與流程

文檔序號:11657326閱讀:478來源:國知局
一種基于相遇頻率的機(jī)會網(wǎng)絡(luò)路由方法與流程

本公開屬于機(jī)會網(wǎng)絡(luò)的應(yīng)用領(lǐng)域,特別涉及一種基于相遇頻率的機(jī)會網(wǎng)絡(luò)路由方法。

技術(shù)背景

如何充分利用設(shè)備的通信功能,在不需要進(jìn)行預(yù)先部署和建設(shè)基礎(chǔ)設(shè)施的情況下,快速完成這些不同設(shè)備之間的自動組網(wǎng),達(dá)到網(wǎng)內(nèi)信息傳遞以及信息共享的目的,成為當(dāng)前無線自組織網(wǎng)絡(luò)領(lǐng)域內(nèi)的熱點(diǎn)問題。另外,在救災(zāi)區(qū)域等場合,經(jīng)常會遇到無可靠的預(yù)先部署的基礎(chǔ)通訊設(shè)施的情況,如何在這些場合下進(jìn)行有效地通信是目前急需解決的一個問題。為了有效地解決上述問題,研究人員結(jié)合dtn(delay-tolerantnetwork)網(wǎng)絡(luò)和manet(mobileadhocnetwork)的特點(diǎn),提出機(jī)會網(wǎng)絡(luò)(opportunisticnetwork)的概念。

機(jī)會網(wǎng)絡(luò)是一種在源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間不需要存在完整的路徑,利用節(jié)點(diǎn)移動帶來的相遇機(jī)會,以“存儲-攜帶-轉(zhuǎn)發(fā)”模式,在網(wǎng)絡(luò)局部連通條件下,進(jìn)行數(shù)據(jù)傳輸?shù)淖越M織網(wǎng)絡(luò)。機(jī)會網(wǎng)絡(luò)的目標(biāo)是解決實(shí)際自組織網(wǎng)絡(luò)中由于網(wǎng)絡(luò)無法保持長時間連通的情況下的數(shù)據(jù)通信問題,作為一種新型網(wǎng)絡(luò),機(jī)會網(wǎng)絡(luò)能夠在無線鏈路斷開和網(wǎng)絡(luò)分裂情況下完成通信任務(wù),實(shí)現(xiàn)消息的逐跳轉(zhuǎn)發(fā),并最終傳送到目的節(jié)點(diǎn)。

機(jī)會網(wǎng)絡(luò)中的相遇是指節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸?shù)那疤?,這樣的前提條件由于節(jié)點(diǎn)的移動而存在不確定性。某一時刻,在節(jié)點(diǎn)之間的距離小于彼此的通信范圍(即相遇)時發(fā)生通信;下一時刻隨著節(jié)點(diǎn)的移動,節(jié)點(diǎn)之間的距離可能大于彼此的通信范圍(沒有相遇),此時通信將中斷。由于機(jī)會網(wǎng)絡(luò)在數(shù)據(jù)的傳輸過程中,不需要存在穩(wěn)定的一條或者多條源端到目的端的路徑,因此具有更強(qiáng)的環(huán)境適應(yīng)性。

在不同的機(jī)會網(wǎng)絡(luò)路由方法中,根據(jù)消息的副本數(shù),可以分為單副本路由方法和多副本路由方法。一般情況下,單副本路由方法具有開銷率低、網(wǎng)絡(luò)耗能少的優(yōu)點(diǎn),但投遞率較低并且時延較大,多副本路由方法往往能保證較高的投遞率和較小的時延,但通常網(wǎng)絡(luò)開銷率和耗能較大。但我們發(fā)現(xiàn),在網(wǎng)絡(luò)節(jié)點(diǎn)能量有限和被傳輸?shù)南⒌纳嫫?timetolive,以下簡稱ttl)有限的條件下,一些單副本路由方法的優(yōu)勢并不能得以發(fā)揮,往往還會因為網(wǎng)絡(luò)中的節(jié)點(diǎn)盲目地轉(zhuǎn)發(fā)數(shù)據(jù)包給鄰居節(jié)點(diǎn)造成投遞率低的情況。



技術(shù)實(shí)現(xiàn)要素:

基于此,本公開揭示一種基于相遇頻率的機(jī)會網(wǎng)絡(luò)路由方法,所述方法包括以下步驟:

s100、轉(zhuǎn)發(fā)數(shù)據(jù)包:

s1001、判斷持有數(shù)據(jù)包的節(jié)點(diǎn)vs的鄰居節(jié)點(diǎn)中是否包含數(shù)據(jù)包的目標(biāo)節(jié)點(diǎn)vd,若是,則將節(jié)點(diǎn)vs的數(shù)據(jù)包直接轉(zhuǎn)發(fā)給節(jié)點(diǎn)vd,跳轉(zhuǎn)至步驟s300;否則進(jìn)行下一步;

s1002、節(jié)點(diǎn)vs選擇其鄰居節(jié)點(diǎn)中與目標(biāo)節(jié)點(diǎn)vd的間接相遇頻率最大的節(jié)點(diǎn)作為中繼節(jié)點(diǎn),設(shè)為vt,其間接相遇頻率為節(jié)點(diǎn)vs與目標(biāo)節(jié)點(diǎn)vd的間接相遇頻率為比較是否大于若是,vs等待與新的鄰居節(jié)點(diǎn)相遇,跳轉(zhuǎn)至步驟s100;否則vs將數(shù)據(jù)包轉(zhuǎn)發(fā)給vt,進(jìn)行下一步;

s200、中繼節(jié)點(diǎn)vt接收和轉(zhuǎn)發(fā)數(shù)據(jù)包:

s2001、中繼節(jié)點(diǎn)vt收到持有數(shù)據(jù)包的鄰居節(jié)點(diǎn)vs發(fā)來的數(shù)據(jù)包的傳輸請求時,檢查其剩余緩存空間是否大于數(shù)據(jù)包的大小,若是,節(jié)點(diǎn)vt接收和存儲該數(shù)據(jù)包,并跳轉(zhuǎn)至步驟s100,節(jié)點(diǎn)vt充當(dāng)新的持有數(shù)據(jù)包的節(jié)點(diǎn)vs;否則進(jìn)行下一步;

s2002、中繼節(jié)點(diǎn)vt比較其緩存中所有數(shù)據(jù)包的ttl與來自鄰居節(jié)點(diǎn)vs的數(shù)據(jù)包的t't'l,若中繼節(jié)點(diǎn)vt中緩存的所有數(shù)據(jù)包的ttl都大于來自vs的數(shù)據(jù)包的ttl,節(jié)點(diǎn)vt則不接收來自vs的數(shù)據(jù)包,跳轉(zhuǎn)至步驟s100;否則進(jìn)行下一步;

s2003、中繼節(jié)點(diǎn)vt刪除其緩存中ttl最小的數(shù)據(jù)包,并檢查其剩余緩存空間是否大于數(shù)據(jù)包的大小,若是,中繼節(jié)點(diǎn)vt接收和存儲該數(shù)據(jù)包,并跳轉(zhuǎn)至步驟s100,節(jié)點(diǎn)vt充當(dāng)新的持有數(shù)據(jù)包的節(jié)點(diǎn)vs;否則,中繼節(jié)點(diǎn)vt不接收來自vs的數(shù)據(jù)包,vs等待與新的鄰居節(jié)點(diǎn)相遇后,跳轉(zhuǎn)至步驟s100;

s300、目標(biāo)節(jié)點(diǎn)vd接收數(shù)據(jù)包:

s3001、目標(biāo)節(jié)點(diǎn)vd收到持有數(shù)據(jù)包的鄰居節(jié)點(diǎn)vs發(fā)來的數(shù)據(jù)包的傳輸請求時,檢查其剩余緩存空間是否大于數(shù)據(jù)包的大小,若是,目標(biāo)節(jié)點(diǎn)vd接收并存儲該數(shù)據(jù)包;否則進(jìn)行下一步;

s3002、目標(biāo)節(jié)點(diǎn)vd刪除其緩存中ttl中最小的數(shù)據(jù)包,并檢查其剩余緩存空間是否大于數(shù)據(jù)包的大小,若是,目標(biāo)節(jié)點(diǎn)vd接收并存儲該數(shù)據(jù)包;否則不接收來自鄰居節(jié)點(diǎn)vs的數(shù)據(jù)包,節(jié)點(diǎn)vs等待與新的鄰居節(jié)點(diǎn)相遇后,跳轉(zhuǎn)至步驟s100。

本公開具有以下技術(shù)效果

1、相遇頻率的計算過程考慮了節(jié)點(diǎn)之間的傳遞性,增加了路由過程中下一跳節(jié)點(diǎn)選擇的準(zhǔn)確率,從而有利于選擇在全局角度上更優(yōu)的中繼節(jié)點(diǎn),增加了投遞率并減少數(shù)據(jù)傳輸時延。

2、相遇頻率計算算法的時間復(fù)雜度低,為o(n),其中n是網(wǎng)絡(luò)中節(jié)點(diǎn)的個數(shù)。

附圖說明

圖1是公開一個實(shí)施例中一種基于相遇頻率的機(jī)會網(wǎng)絡(luò)路由方法的流程圖;

圖2是本公開一個實(shí)施例中的相遇頻率計算方法流程圖;

圖3是本公開一個實(shí)施例中網(wǎng)絡(luò)初始化中的計算任意兩節(jié)點(diǎn)的間接相遇頻率的實(shí)例圖;

圖4是本公開一個實(shí)施例中網(wǎng)絡(luò)初始化中的計算任意兩節(jié)點(diǎn)的間接相遇頻率的實(shí)例圖;

圖5是本公開一個實(shí)施例中網(wǎng)絡(luò)初始化中的計算任意兩節(jié)點(diǎn)的間接相遇頻率的實(shí)例圖;

圖6是本公開一個實(shí)施例中網(wǎng)絡(luò)初始化中的計算任意兩節(jié)點(diǎn)的間接相遇頻率的實(shí)例圖;

圖7是本公開一個實(shí)施例中路由決策的實(shí)例圖;

圖8是本公開一個實(shí)施例中路由決策的實(shí)例圖;

圖9是本公開一個實(shí)施例中路由決策的實(shí)例圖;

圖10是本公開一個實(shí)施例中路由決策的實(shí)例圖;

圖11是本公開一個實(shí)施例中路由決策的實(shí)例圖。

具體實(shí)施方式

下面結(jié)合圖1到圖11和具體的實(shí)施例對本公開進(jìn)行具體的說明;

在一個實(shí)施例中,如圖1所示:本公開揭示一種基于相遇頻率的機(jī)會網(wǎng)絡(luò)路由方法,所述方法包括以下步驟:

s100、轉(zhuǎn)發(fā)數(shù)據(jù)包:

s1001、判斷持有數(shù)據(jù)包的節(jié)點(diǎn)vs的鄰居節(jié)點(diǎn)中是否包含數(shù)據(jù)包的目標(biāo)節(jié)點(diǎn)vd,若是,則將節(jié)點(diǎn)vs的數(shù)據(jù)包直接轉(zhuǎn)發(fā)給節(jié)點(diǎn)vd,跳轉(zhuǎn)至步驟s300;否則進(jìn)行下一步;

s1002、節(jié)點(diǎn)vs選擇其鄰居節(jié)點(diǎn)中與目標(biāo)節(jié)點(diǎn)vd的間接相遇頻率最大的節(jié)點(diǎn)作為中繼節(jié)點(diǎn),設(shè)為vt,其間接相遇頻率為節(jié)點(diǎn)vs與目標(biāo)節(jié)點(diǎn)vd的間接相遇頻率為比較是否大于若是,節(jié)點(diǎn)vs等待與新的鄰居節(jié)點(diǎn)相遇,跳轉(zhuǎn)至步驟s100;否則節(jié)點(diǎn)將數(shù)據(jù)包轉(zhuǎn)發(fā)給節(jié)點(diǎn)vt,進(jìn)行下一步;

s200、中繼節(jié)點(diǎn)vt接收和轉(zhuǎn)發(fā)數(shù)據(jù)包:

s2001、中繼節(jié)點(diǎn)vt收到持有數(shù)據(jù)包的鄰居節(jié)點(diǎn)vs發(fā)來的數(shù)據(jù)包的傳輸請求時,檢查其剩余緩存空間是否大于數(shù)據(jù)包的大小,若是,中繼節(jié)點(diǎn)vt接收和存儲該數(shù)據(jù)包,并跳轉(zhuǎn)至步驟s100,節(jié)點(diǎn)vt充當(dāng)新的持有數(shù)據(jù)包的節(jié)點(diǎn)vs;否則進(jìn)行下一步;

s2002、中繼節(jié)點(diǎn)vt比較其緩存中所有數(shù)據(jù)包的ttl與來自鄰居節(jié)點(diǎn)vs的數(shù)據(jù)包的t't'l,若中繼節(jié)點(diǎn)vt中緩存的所有數(shù)據(jù)包的ttl都大于來自vs的數(shù)據(jù)包的ttl,節(jié)點(diǎn)vt則不接收來自節(jié)點(diǎn)vs的數(shù)據(jù)包,跳轉(zhuǎn)至步驟s100;否則進(jìn)行下一步;

s2003、中繼節(jié)點(diǎn)vt刪除其緩存中ttl最小的數(shù)據(jù)包,并檢查其剩余緩存空間是否大于數(shù)據(jù)包的大小,若是,中繼節(jié)點(diǎn)vt接收和存儲該數(shù)據(jù)包,并跳轉(zhuǎn)至步驟s100,節(jié)點(diǎn)vt充當(dāng)新的持有數(shù)據(jù)包的節(jié)點(diǎn)vs;否則,中繼節(jié)點(diǎn)vt不接收來自節(jié)點(diǎn)vs的數(shù)據(jù)包,節(jié)點(diǎn)vs等待與新的鄰居節(jié)點(diǎn)相遇后,跳轉(zhuǎn)至步驟s100;

s300、目標(biāo)節(jié)點(diǎn)vd接收數(shù)據(jù)包:

s3001、目標(biāo)節(jié)點(diǎn)vd收到持有數(shù)據(jù)包的鄰居節(jié)點(diǎn)vs發(fā)來的數(shù)據(jù)包的傳輸請求時,檢查其剩余緩存空間是否大于數(shù)據(jù)包的大小,若是,目標(biāo)節(jié)點(diǎn)vd接收并存儲該數(shù)據(jù)包;否則進(jìn)行下一步;

s3002、目標(biāo)節(jié)點(diǎn)vd刪除其緩存中ttl中最小的數(shù)據(jù)包,并檢查其剩余緩存空間是否大于數(shù)據(jù)包的大小,若是,目標(biāo)節(jié)點(diǎn)vd接收并存儲該數(shù)據(jù)包;否則不接收來自鄰居節(jié)點(diǎn)vs的數(shù)據(jù)包,節(jié)點(diǎn)vs等待與新的鄰居節(jié)點(diǎn)相遇后,跳轉(zhuǎn)至步驟s100。

在一個實(shí)施例中,步驟s2001中所述數(shù)據(jù)包的傳輸請求包括數(shù)據(jù)包的大小和ttl信息。

在一個實(shí)施例中,在步驟s100之前還包括機(jī)會網(wǎng)絡(luò)的初始化,所述初始化具體為:

初始化機(jī)會網(wǎng)絡(luò)為g(v,e,w),其中v代表節(jié)點(diǎn)的集合,每個v∈v代表一個節(jié)點(diǎn),v的元素個數(shù)為n,表示網(wǎng)絡(luò)中移動節(jié)點(diǎn)個數(shù),eij∈e是節(jié)點(diǎn)vi和節(jié)點(diǎn)vj的連接邊,機(jī)會網(wǎng)絡(luò)中任意一對節(jié)點(diǎn)vi和節(jié)點(diǎn)vj之間的相遇時間間隔服從參數(shù)為的指數(shù)分布,其中λij∈w,機(jī)會網(wǎng)絡(luò)中的每個節(jié)點(diǎn)vk隨機(jī)產(chǎn)生數(shù)據(jù)包,每個產(chǎn)生的數(shù)據(jù)包mk的副本數(shù)為1,剩余生存時間為ttlk。

在本實(shí)施例中,在機(jī)會網(wǎng)絡(luò)中,每個節(jié)點(diǎn)都是移動的,每個節(jié)點(diǎn)的鄰居節(jié)點(diǎn)隨時間不斷變化,在相遇過程中每個節(jié)點(diǎn)保存其與網(wǎng)絡(luò)中所有其他節(jié)點(diǎn)之間的歷史相遇時間間隔。經(jīng)過統(tǒng)計求取平均值,每個節(jié)點(diǎn)vi可以計算其與任意一個節(jié)點(diǎn)vj的平均相遇間隔時間,該相遇間隔時間服從指數(shù)分布,其參數(shù)λij為間隔的平均時間的倒數(shù)。

機(jī)會網(wǎng)絡(luò)中,每個節(jié)點(diǎn)周期性的廣播其存儲的與其他節(jié)點(diǎn)相遇的參數(shù)λij,并維護(hù)一個n*n的節(jié)點(diǎn)相遇時間間隔矩陣m,其中mi,j∈m,表示節(jié)點(diǎn)vi與節(jié)點(diǎn)vj的相遇頻率,mi,j表示節(jié)點(diǎn)vi與節(jié)點(diǎn)vj的相遇時間間隔。

在一個實(shí)施例中,如圖2所示:在步驟s100之前,初始化機(jī)會網(wǎng)絡(luò)之后還包括計算機(jī)會網(wǎng)絡(luò)中任意一個節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)的間接相遇頻率,具體包括以下步驟:

s001.將節(jié)點(diǎn)集合v分成兩組,s為已求出與目標(biāo)節(jié)點(diǎn)vd的間接相遇頻率的節(jié)點(diǎn)構(gòu)成的集合,t為尚未求出與目標(biāo)節(jié)點(diǎn)vd的間接相遇頻率的節(jié)點(diǎn)的集合,s={vd},t={v|v∈v,v≠vd};

s002、從t中選取與s中的節(jié)點(diǎn)有連接邊的所有節(jié)點(diǎn),設(shè)為s’,根據(jù)s’中的節(jié)點(diǎn)數(shù)量,分為以下三種情況:

c1:|s’|=0,結(jié)束;

c2:|s’|=1,則集合s’中只包含1個節(jié)點(diǎn)vp,計算節(jié)點(diǎn)vp與節(jié)點(diǎn)vd的相遇頻率;

c3:|s’|>1,計算s’中所有節(jié)點(diǎn)與節(jié)點(diǎn)vd的相遇頻率;

s003、將集合s’中的所有元素并入集合s中并清空集合s',從集合t中刪除所有包含于集合s’中的節(jié)點(diǎn);若集合s中含有持有數(shù)據(jù)包的節(jié)點(diǎn)vs,則結(jié)束;否則跳轉(zhuǎn)至步驟s002。

在一個實(shí)施例中,所述情況c2中計算節(jié)點(diǎn)vp與節(jié)點(diǎn)vd的相遇頻率具體為:

設(shè)與節(jié)點(diǎn)vp關(guān)聯(lián)的并包含于s的節(jié)點(diǎn)構(gòu)成集合

v'={vli|vli∈s,i=1,2,...,k},其中k為與vp節(jié)點(diǎn)相關(guān)聯(lián)的鄰接節(jié)點(diǎn)的個數(shù),與λli,p分別表示節(jié)點(diǎn)vd與vli及節(jié)點(diǎn)vp與vli的相遇頻率,若v’為空,則vp與vd的間接相遇頻率為其中為更新后的vp與vd間接相遇頻率值;若v’不為空,按公式(1)計算vp與vd的間接相遇頻率;

在一個實(shí)施例中,所述情況c3具體包括以下步驟:

s0021、設(shè)s’中的節(jié)點(diǎn)為vph,其中h=1,2,...,|s'|,若s中只包含一個節(jié)點(diǎn)vd,則vph與vd的間接相遇頻率為若s中還包含除vd以外的其他節(jié)點(diǎn),則分別按公式(1)計算vph與節(jié)點(diǎn)vd的間接相遇頻率;

s0022、選取集合s’中相互有關(guān)聯(lián)邊的節(jié)點(diǎn)構(gòu)成集合v″,并從集合s’中刪除這些節(jié)點(diǎn);若v″為空,則跳轉(zhuǎn)至步驟s003;否則跳轉(zhuǎn)至步驟s0023;

s0023、在集合v”中選取與vd具有最大間接相遇頻率的節(jié)點(diǎn),設(shè)為vc,其與節(jié)點(diǎn)vd的間接相遇頻率設(shè)為若有與vc關(guān)聯(lián)的節(jié)點(diǎn),則對所有與節(jié)點(diǎn)vc關(guān)聯(lián)的vrm∈v”,其中m為與節(jié)點(diǎn)vc關(guān)聯(lián)的個數(shù),按照公式(2)分別更新節(jié)點(diǎn)vrm與節(jié)點(diǎn)vd的間接相遇頻率;否則跳轉(zhuǎn)至步驟s0024;

上式中的λ'rm,d為節(jié)點(diǎn)vrm與vd的相遇頻率;

s0024、從集合v”中刪除節(jié)點(diǎn)vc,并加入到s中,從t中刪除vc,若集合v”不為空,則轉(zhuǎn)入步驟s0023,否則跳轉(zhuǎn)至步驟s003。

在一個實(shí)施例中,計算網(wǎng)絡(luò)中任意兩個節(jié)點(diǎn)之間的間接相遇頻率。

一種基于相遇頻率的機(jī)會網(wǎng)絡(luò)路由方法是利用節(jié)點(diǎn)間的相遇頻率來進(jìn)行轉(zhuǎn)發(fā)決策的,計算任意一個節(jié)點(diǎn)vs到特定節(jié)點(diǎn)vd的相遇頻率的基本思想是以節(jié)點(diǎn)vd為起點(diǎn)(設(shè)初始集合為s={vd}t=v-s),沿著與vs連接的所有邊逐漸向其他節(jié)點(diǎn)擴(kuò)展,并向集合s中加入邊所連接的節(jié)點(diǎn),計算和更新所加入的節(jié)點(diǎn)vs與節(jié)點(diǎn)vd的相遇頻率。以此類推,不斷將新的邊和節(jié)點(diǎn)加入進(jìn)來,直至t為空。具體算法如下:

201.把節(jié)點(diǎn)集合v分成兩組,s為已求出與節(jié)點(diǎn)vd的相遇頻率的節(jié)點(diǎn)構(gòu)成的集合,t為尚未求出與節(jié)點(diǎn)vd的相遇頻率的節(jié)點(diǎn)的集合。因此,s={vd},t={v|v∈v,v≠vd}。

202.從t中選取與s中的節(jié)點(diǎn)有關(guān)聯(lián)邊的所有節(jié)點(diǎn),設(shè)為s’。根據(jù)s’中的節(jié)點(diǎn)數(shù)量,分為以下三種情況:

情況1:|s’|=0,則結(jié)束。

情況2:|s’|=1,則集合s’中只包含1個節(jié)點(diǎn),不妨設(shè)該節(jié)點(diǎn)為vp,計算節(jié)點(diǎn)vp與節(jié)點(diǎn)vd的相遇頻率。計算過程如下,設(shè)與vp關(guān)聯(lián)的并包含于s的節(jié)點(diǎn)(不包含vd)構(gòu)成集合v'={vli|vli∈s,i=1,2,...,k},其中k為與vp節(jié)點(diǎn)相關(guān)聯(lián)的鄰接節(jié)點(diǎn)的個數(shù),若v’為空,則vp與vd的間接相遇頻率為其中為更新后的值。若v’不為空,按下列公式計算vp與vd的間接相遇頻率。

情況3:|s’|>1,則集合s’中的節(jié)點(diǎn)數(shù)目大于1個,進(jìn)一步分為以下步驟:

步驟2301.對s’中的所有節(jié)點(diǎn)vph∈s',其中h=1,2,...,|s'|,若s中只包含一個節(jié)點(diǎn)vd,則vph與vd的間接相遇頻率為若s中還包含除vd以外的其他節(jié)點(diǎn),則分別按公式(1)計算vph與節(jié)點(diǎn)vd的間接相遇頻率。

步驟2302.選取集合s’中相互有關(guān)聯(lián)邊的節(jié)點(diǎn)構(gòu)成集合v″,并從集合s’中刪除這些節(jié)點(diǎn)。在集合v”中選取與vd具有最大間接相遇頻率的節(jié)點(diǎn),設(shè)為vc,其與節(jié)點(diǎn)vd的間接相遇頻率設(shè)為對所有與節(jié)點(diǎn)vc關(guān)聯(lián)的vrm∈v”,其中m=1,2,...,|v”|,按照以下公式更新節(jié)點(diǎn)vrm與節(jié)點(diǎn)vd的間接相遇頻率。

其中:等號右側(cè)的表示在步驟2301中計算出的值,等號左側(cè)為更新后的值。從集合v”中刪除節(jié)點(diǎn)vc,并加入到s中,從t中刪除vc,若集合v”不為空,則轉(zhuǎn)入步驟302,否則跳轉(zhuǎn)至步驟3。

203.將集合s’中的所有元素并入集合s中并清空集合s',從集合t中刪除所有包含于集合s’中的節(jié)點(diǎn)。若集合s中含有節(jié)點(diǎn)vs,則結(jié)束;否則跳轉(zhuǎn)至步驟202。

計算后產(chǎn)生的集合s中包含了攜帶數(shù)據(jù)包的節(jié)點(diǎn)vs及其鄰居節(jié)點(diǎn),并且每個節(jié)點(diǎn)的緩存中存儲了與目標(biāo)節(jié)點(diǎn)vd的間接相遇頻率值。

網(wǎng)絡(luò)初始化后可以得知每個節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)(設(shè)為vd)的間接相遇頻率,這些相遇頻率為之后路由過程的轉(zhuǎn)發(fā)決策提供依據(jù)。

下面結(jié)合附圖對技術(shù)方案中策略的實(shí)施做進(jìn)一步的詳細(xì)描述:

如圖3,在某一時刻的機(jī)會網(wǎng)絡(luò)拓?fù)?,攜帶數(shù)據(jù)包d(大小為500k,ttl為5min)的節(jié)點(diǎn)為v1,節(jié)點(diǎn)為v10為其目標(biāo)節(jié)點(diǎn),圖中邊上的值表示邊所連接的兩個節(jié)點(diǎn)vi和vj的直接相遇頻率即λi,j,例如節(jié)點(diǎn)v1和v2的直接相遇頻率為λ1,2。

根據(jù)上述網(wǎng)絡(luò)初始化方法計算圖中任意兩個節(jié)點(diǎn)的相遇頻率的過程如下:

初始化。把節(jié)點(diǎn)集合v分成兩組,s:已求出與節(jié)點(diǎn)vj的相遇頻率的節(jié)點(diǎn)的集合(初始時只含有節(jié)點(diǎn)vj),t:尚未求出與節(jié)點(diǎn)vj的相遇頻率的節(jié)點(diǎn)的集合。因此,初始時,s={v10},t={vi∈v,i=1,2,3,4,5,6,8,9,11}。

如圖4,從t中選取與s中的節(jié)點(diǎn)有關(guān)聯(lián)邊的所有節(jié)點(diǎn)(v8,v9和v11),設(shè)為s’。因為

|s’|>1,所以初步的根據(jù)算法的步驟202中的情況3可得:

并把節(jié)點(diǎn)v8與v9以及v11加入s,記錄更新此時s={v10,v11,v8,v9},t={vi∈v,i=1,2,3,4,5,6},集合s’為空,則轉(zhuǎn)入步驟2。如圖5,即在t中選擇節(jié)點(diǎn)v5和v6。根據(jù)步驟2的情況3可以分別計算

由公式(1)可得

再由公式(2)可得

把節(jié)點(diǎn)v5和v6加入s中,記錄更新并在t中刪除節(jié)點(diǎn)v5和v6,集合s’為空,則轉(zhuǎn)入步驟2。在t中選擇節(jié)點(diǎn)v2,v3和v4,根據(jù)v5以及v6和v10的間接相遇頻率可以分別計算出v2,v3以及v4和v10的間接相遇頻率,即如圖6所示。根據(jù)步驟2中的情況2可計算出以及

把節(jié)點(diǎn)v2,v4和v3加入s中,記錄更新并在t中刪除節(jié)點(diǎn)v2,v3和v4,集合s’為空,則轉(zhuǎn)入步驟2。在t中選擇節(jié)點(diǎn)v1,根據(jù)v2,v4以及v3和v10的間接相遇頻率可以分別計算出v1和v10的間接相遇頻率,即如圖7所示。根據(jù)步驟202中的情況2,v1加入s中,可計算出

把節(jié)點(diǎn)v1加入s中,記錄更新并在t中刪除節(jié)點(diǎn)v1,集合s’為空,則轉(zhuǎn)入步驟2。即在t中選擇節(jié)點(diǎn),而此時集合t為空,即集合s’為空,此時網(wǎng)絡(luò)初始化結(jié)束。

在一個實(shí)施例中,如圖8,在某一時刻節(jié)點(diǎn)v1與v10相遇。假設(shè)節(jié)點(diǎn)v10的剩余緩存空間為2m。

具體路由過程如下:

1.當(dāng)攜帶數(shù)據(jù)包d的節(jié)點(diǎn)v1與節(jié)點(diǎn)v10相遇時,節(jié)點(diǎn)v1進(jìn)行轉(zhuǎn)發(fā)數(shù)據(jù)包。具體包括以下步驟:

101.節(jié)點(diǎn)v1的鄰居節(jié)點(diǎn)中包含數(shù)據(jù)包d的目標(biāo)節(jié)點(diǎn)v10,則v1把數(shù)據(jù)包直接轉(zhuǎn)發(fā)給v10。

2.節(jié)點(diǎn)v1接收數(shù)據(jù)包d,具體包括以下步驟;

201.節(jié)點(diǎn)v10收到其鄰居節(jié)點(diǎn)v1發(fā)來的數(shù)據(jù)包的傳輸請求時,其緩存空間為2m,大于數(shù)據(jù)包的大小500k,所以v10接收并緩存該數(shù)據(jù)包。

在一個實(shí)施例中,如圖9,在某一時刻節(jié)點(diǎn)v1與節(jié)點(diǎn)v2和v3相遇,節(jié)點(diǎn)v10也與節(jié)點(diǎn)v2和v3相遇。

具體路由過程如下:

1.當(dāng)攜帶數(shù)據(jù)包d的節(jié)點(diǎn)v1與v2和v3相遇時,進(jìn)行轉(zhuǎn)發(fā)數(shù)據(jù)包。具體包括以下步驟:

101.節(jié)點(diǎn)v1的鄰居節(jié)點(diǎn)中不包含數(shù)據(jù)包d的目標(biāo)節(jié)點(diǎn)v10,則跳轉(zhuǎn)至步驟102。

102.選擇節(jié)點(diǎn)v1及其鄰居節(jié)點(diǎn)中與目標(biāo)節(jié)點(diǎn)v10的間接相遇頻率最大的節(jié)點(diǎn)v1,則v1等待與新的鄰居節(jié)點(diǎn)相遇時再進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā)。

在一個實(shí)施例中,如圖10,在某一時刻節(jié)點(diǎn)v1與節(jié)點(diǎn)v5和v6相遇,節(jié)點(diǎn)v10也與節(jié)點(diǎn)v5和v6相遇。假設(shè)節(jié)點(diǎn)v6的剩余緩存空間為200k,v6的緩存中包含數(shù)據(jù)包d1(ttl為6min)、數(shù)據(jù)包d2(ttl為7min)和數(shù)據(jù)包d3(ttl為8)。

具體路由過程如下:

1.當(dāng)攜帶數(shù)據(jù)包d的節(jié)點(diǎn)v1與v5和v6相遇時,進(jìn)行轉(zhuǎn)發(fā)數(shù)據(jù)包。具體包括以下步驟:

101.節(jié)點(diǎn)v1的鄰居節(jié)點(diǎn)中不包含數(shù)據(jù)包d的目標(biāo)節(jié)點(diǎn)v10,則跳轉(zhuǎn)至步驟102。

102.選擇節(jié)點(diǎn)v1及其鄰居節(jié)點(diǎn)中與目標(biāo)節(jié)點(diǎn)v10的間接相遇頻率最大的節(jié)點(diǎn)v6,則v1選擇節(jié)點(diǎn)v6作為中繼節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā)數(shù)據(jù)包。

2.節(jié)點(diǎn)v6接收數(shù)據(jù)包d,具體包括以下步驟;

201.節(jié)點(diǎn)v6收到其鄰居節(jié)點(diǎn)v1發(fā)來的數(shù)據(jù)包d的傳輸請求時,因為其緩存空間小于數(shù)據(jù)包的大小所以跳轉(zhuǎn)至步驟202。

202.節(jié)點(diǎn)v6緩存的所有數(shù)據(jù)包的ttl都大于該數(shù)據(jù)包的ttl,所以不緩存該數(shù)據(jù)包。

在一個實(shí)施例中,如圖11,在某一時刻節(jié)點(diǎn)v1與節(jié)點(diǎn)v5和v6相遇,節(jié)點(diǎn)v10也與節(jié)點(diǎn)v5和v6相遇。假設(shè)節(jié)點(diǎn)v6的剩余緩存空間為200k,v6的緩存中包含數(shù)據(jù)包d1(ttl為6min)、數(shù)據(jù)包d2(ttl為7min)和數(shù)據(jù)包d3(ttl為3)。

具體路由過程如下:

1.當(dāng)攜帶數(shù)據(jù)包d的節(jié)點(diǎn)v1與v5和v6相遇時,進(jìn)行轉(zhuǎn)發(fā)數(shù)據(jù)包。具體包括以下步驟:

101.節(jié)點(diǎn)v1的鄰居節(jié)點(diǎn)中不包含數(shù)據(jù)包d的目標(biāo)節(jié)點(diǎn)v10,則跳轉(zhuǎn)至步驟102。

102.選擇節(jié)點(diǎn)v1及其鄰居節(jié)點(diǎn)中與目標(biāo)節(jié)點(diǎn)v10的間接相遇頻率最大的節(jié)點(diǎn)v6,則v1選擇節(jié)點(diǎn)v6作為中繼節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā)數(shù)據(jù)包。

2.節(jié)點(diǎn)v6接收數(shù)據(jù)包d,具體包括以下步驟;

201.節(jié)點(diǎn)v6收到其鄰居節(jié)點(diǎn)v1發(fā)來的數(shù)據(jù)包d的傳輸請求時,因為其緩存空間小于數(shù)據(jù)包的大小所以跳轉(zhuǎn)至步驟202。

202.節(jié)點(diǎn)v6緩存數(shù)據(jù)包d3的ttl小于該數(shù)據(jù)包的ttl,所以刪除數(shù)據(jù)包d3,再接收緩存該數(shù)據(jù)包。

以上實(shí)施例僅用以說明本公開的技術(shù)方案,而非對其限制;盡管參照上述實(shí)施例對本公開進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解;其依然可以對上述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替代;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本公開各實(shí)施例技術(shù)所述的精神范圍。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
呼伦贝尔市| 福海县| 阳西县| 会理县| 阆中市| 巴东县| 沛县| 栾川县| 册亨县| 海晏县| 望城县| 盐城市| 康马县| 同江市| 长岛县| 安徽省| 苍南县| 富源县| 扶余县| 德化县| 合肥市| 石渠县| 彰化市| 临漳县| 图片| 东阳市| 宁远县| 肇州县| 汕尾市| 富平县| 绥滨县| 盈江县| 峨眉山市| 荥阳市| 股票| 临潭县| 加查县| 大田县| 平远县| 鲜城| 塔城市|