專利名稱::一種機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸方法
技術(shù)領(lǐng)域:
:本發(fā)明屬于通信領(lǐng)域,涉及一種數(shù)據(jù)傳輸方法,具體涉及一種機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸方法。技術(shù)背景機(jī)會(huì)網(wǎng)絡(luò)(opportunisticnetworks)是近年來出現(xiàn)的一種新型網(wǎng)絡(luò)類型。在機(jī)會(huì)網(wǎng)絡(luò)中,網(wǎng)絡(luò)節(jié)點(diǎn)被分割成多個(gè)孤立的連通區(qū)域,源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間可能不存在一條端到端的路徑,節(jié)點(diǎn)移動(dòng)使得節(jié)點(diǎn)與其它節(jié)點(diǎn)相遇而形成通信機(jī)會(huì),數(shù)據(jù)隨著節(jié)點(diǎn)的移動(dòng)和在移動(dòng)節(jié)點(diǎn)之間的轉(zhuǎn)發(fā)而實(shí)現(xiàn)傳輸。這類網(wǎng)絡(luò)的特點(diǎn)是雖然傳輸延遲較大,但數(shù)據(jù)傳輸成本低,特別適用在不易架設(shè)網(wǎng)絡(luò)基礎(chǔ)設(shè)施的環(huán)境。目前有很多應(yīng)用容忍大的延遲,如非實(shí)時(shí)感知數(shù)據(jù)的收集、e-mail、圖片和文件上傳等應(yīng)用。機(jī)會(huì)網(wǎng)絡(luò)從DTN網(wǎng)絡(luò)(DelayTolerantNetwork)發(fā)展而來。DTN網(wǎng)絡(luò)是指能夠容忍較大延時(shí)的網(wǎng)絡(luò),它起源于星際互連網(wǎng)絡(luò)IPN(InterPlanetaryNetworks)。DTN網(wǎng)絡(luò)由多個(gè)獨(dú)立的互聯(lián)網(wǎng)絡(luò)組成,每個(gè)獨(dú)立的互聯(lián)網(wǎng)絡(luò)被稱為DTN域,分別運(yùn)行自己的通信協(xié)議,各個(gè)DTN域之間存在預(yù)期或隨機(jī)的通信機(jī)會(huì),由DTN網(wǎng)關(guān)負(fù)責(zé)它們之間的互連。相對(duì)于DTN網(wǎng)絡(luò),機(jī)會(huì)網(wǎng)絡(luò)更為強(qiáng)調(diào)通過節(jié)點(diǎn)移動(dòng)而形成的節(jié)點(diǎn)之間的通信機(jī)會(huì),從而能夠?yàn)樵痉沁B通的區(qū)域提供數(shù)據(jù)傳輸服務(wù)。機(jī)會(huì)網(wǎng)絡(luò)的應(yīng)用場景主要有自組車載網(wǎng)絡(luò),野生動(dòng)物監(jiān)測網(wǎng)絡(luò),農(nóng)村地區(qū)以及游牧民族的Internet接入服務(wù),軍事戰(zhàn)場網(wǎng)絡(luò)等。目前機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸算法主要分為兩種1)基于復(fù)制的傳輸策略機(jī)會(huì)網(wǎng)絡(luò)具有傳輸鏈路不穩(wěn)定的特點(diǎn),通常情況下傳輸成功率較低。這類傳輸策略利用同一份消息在網(wǎng)絡(luò)內(nèi)散布多個(gè)拷貝的方法來增大傳輸成功率,減少網(wǎng)絡(luò)傳輸延時(shí)。這類策略的代表算法有Epidemic、SprayandFocus,主要缺陷是網(wǎng)絡(luò)負(fù)載較大。2)基于感知信息的傳輸策略當(dāng)移動(dòng)設(shè)備進(jìn)入可通信范圍時(shí),該類策略通過收集和記錄一些相對(duì)位置信息、能量信息、速度信息等感知信息,來預(yù)測移動(dòng)設(shè)備和目標(biāo)移動(dòng)設(shè)備相遇的可能性。當(dāng)進(jìn)行數(shù)據(jù)傳輸時(shí),將消息轉(zhuǎn)發(fā)給和目標(biāo)移動(dòng)設(shè)備相遇概率更大的移動(dòng)設(shè)備。這種策略的典型代表是utility-based算法,它雖然從一定程度上提高了傳輸成功率和傳輸時(shí)延,伹是傳輸時(shí)延仍然較大,不能滿足大多數(shù)應(yīng)用場景的要求。
發(fā)明內(nèi)容本發(fā)明提出了一種機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸方法。在網(wǎng)絡(luò)局部區(qū)域拓?fù)漭^穩(wěn)定的情況下,本方法釆用一種由移動(dòng)設(shè)備自組建立連通域的策略輔助路由。若擁有消息的移動(dòng)設(shè)備和連通域內(nèi)任意移動(dòng)設(shè)備相遇時(shí),可以迅速將消息轉(zhuǎn)發(fā)給連通域內(nèi)最有可能和目標(biāo)設(shè)備相遇的移動(dòng)設(shè)備,從而很大程度上減少了傳輸時(shí)延。同時(shí),在數(shù)據(jù)傳輸過程中,本方法將基于復(fù)制和基于感知信息的傳輸策略結(jié)合起來,根據(jù)感知到的網(wǎng)絡(luò)狀況信息,動(dòng)態(tài)地調(diào)整數(shù)據(jù)的復(fù)制和轉(zhuǎn)發(fā)條件,在保證一定傳輸成功率的情況下,減小了數(shù)據(jù)傳輸過程中移動(dòng)設(shè)備的能耗和網(wǎng)絡(luò)負(fù)載,提高了移動(dòng)設(shè)備間的轉(zhuǎn)發(fā)效率,增強(qiáng)了機(jī)會(huì)網(wǎng)絡(luò)技術(shù)的實(shí)用性。本方法一種機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸方法,包括如下步驟步驟1:感知信息收集。每個(gè)移動(dòng)設(shè)備不斷地、周期性地發(fā)送探測包,同時(shí)接收其它移動(dòng)設(shè)備的探測包,并對(duì)接收的探測包進(jìn)行統(tǒng)計(jì)和記錄,計(jì)算設(shè)備的效用值,得到設(shè)備的感知信息表。步驟2:根據(jù)感知的網(wǎng)絡(luò)狀況信息,判斷鄰近區(qū)域內(nèi)的網(wǎng)絡(luò)拓?fù)渥兓癄顩r。當(dāng)各鄰居設(shè)備拓?fù)渥兓^穩(wěn)定時(shí),當(dāng)前設(shè)備發(fā)出連通域建立請(qǐng)求來自組連通域,其鄰居設(shè)備將計(jì)算與域頭設(shè)備的本次相遇時(shí)長來判斷是否加入連通域以及轉(zhuǎn)發(fā)建立請(qǐng)求。若鄰居設(shè)備加入連通域,則將其效用值表和路徑信息發(fā)送給域頭設(shè)備,域頭設(shè)備計(jì)算域內(nèi)效用表和域內(nèi)路徑表,并發(fā)送給域內(nèi)其余設(shè)備,以輔助數(shù)據(jù)傳輸;否則轉(zhuǎn)到步驟3。步驟3:數(shù)據(jù)源設(shè)備首先設(shè)置數(shù)據(jù)消息的拷貝上限并設(shè)置原始消息為種子消息,擁有種子消息的移動(dòng)設(shè)備根據(jù)本身的感知信息不斷調(diào)整種子消息的拷貝上限,確定消息的復(fù)制狀態(tài)。若種子消息的已拷貝數(shù)小于拷貝上限,則設(shè)置該種子消息為允許拷貝狀態(tài),否則,設(shè)置該消息為非拷貝狀態(tài)。步驟4:擁有數(shù)據(jù)消息的移動(dòng)設(shè)備周期性的發(fā)送效用值探測包,包內(nèi)包含數(shù)據(jù)消息的目標(biāo)地址。步驟5:鄰居設(shè)備收到效用值探測包,若該設(shè)備是目標(biāo)移動(dòng)設(shè)備,則設(shè)置效用值為l并回復(fù),此后擁有消息的移動(dòng)設(shè)備將發(fā)送消息給該鄰居設(shè)備,并轉(zhuǎn)到步驟7;否則,若設(shè)備屬于連通域內(nèi)移動(dòng)設(shè)備,則將連通域效用值回復(fù)給擁有消息的移動(dòng)設(shè)備;若設(shè)備不屬于連通域內(nèi)移動(dòng)設(shè)備,將感知信息表中的設(shè)備效用值打包成響應(yīng)消息,回復(fù)給擁有消息的移動(dòng)設(shè)備。步驟6:擁有消息的移動(dòng)設(shè)備查看鄰居設(shè)備的響應(yīng)消息,若設(shè)備效用值比該設(shè)備本身的效用值大一個(gè)門限值,且消息處于允許拷貝狀態(tài),則擁有消息的移動(dòng)設(shè)備將把種子消息轉(zhuǎn)發(fā)給該鄰居設(shè)備,并復(fù)制一份拷貝在原移動(dòng)設(shè)備,轉(zhuǎn)到步驟4;若消息處于非拷貝狀態(tài),則擁有消息的移動(dòng)設(shè)備將該消息轉(zhuǎn)發(fā)該鄰居設(shè)備,不進(jìn)行拷貝,并轉(zhuǎn)到步驟4;若鄰居設(shè)備預(yù)測效用值不比擁有消息的移動(dòng)設(shè)備預(yù)測效用值大,則繼續(xù)持有該消息,并不進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),并轉(zhuǎn)到步驟4。步驟7:當(dāng)目標(biāo)設(shè)備收到消息后,發(fā)送帶TTL(生存時(shí)間)的確認(rèn)消息,用來消除網(wǎng)絡(luò)中的冗余副本;否則目標(biāo)設(shè)備繼續(xù)等待,直至收到消息為止。所述步驟1的效用值計(jì)算中,當(dāng)消息目標(biāo)設(shè)備確定且利用中間設(shè)備進(jìn)行數(shù)據(jù)傳輸時(shí),移動(dòng)設(shè)備i效用值Uid計(jì)算公式為<formula>formulaseeoriginaldocumentpage6</formula>i為中間設(shè)備ID號(hào),d為目標(biāo)設(shè)備ID,T表示上次移動(dòng)設(shè)備和目標(biāo)設(shè)備的相遇時(shí)間,N表示移動(dòng)設(shè)備和目標(biāo)設(shè)備在一段時(shí)間的總相遇次數(shù),ai和&2都是權(quán)重參數(shù),F(xiàn)(")為歸一化函數(shù)。所述步驟3中,擁有種子消息的移動(dòng)設(shè)備根據(jù)本身預(yù)測效用值的變化不斷調(diào)整種子消息的拷貝上限,其拷貝上限數(shù)L-(1—U)XL。,其中L。初始拷貝上限,U為預(yù)測效用值。所述步驟6中,轉(zhuǎn)發(fā)門限隨著感知信息表中的網(wǎng)絡(luò)狀態(tài)信息以及擁有消息息移動(dòng)設(shè)備本身的效用值的變化而變化<formula>formulaseeoriginaldocumentpage6</formula>其中,bl,b2,b3為權(quán)值參數(shù),M為鄰居設(shè)備數(shù)目,V2為常數(shù)時(shí)間內(nèi)相遇設(shè)備數(shù)目,Uid為移動(dòng)設(shè)備沐身的效用值。所述步驟7中,確認(rèn)消息采用Epidemic策略進(jìn)行轉(zhuǎn)發(fā),且TTL耗盡時(shí)刪除。本發(fā)明一種機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸方法的優(yōu)點(diǎn)在于(1)本方法中,釆用自適應(yīng)組建連通域機(jī)制,充分利用短時(shí)間內(nèi)設(shè)備相對(duì)靜止的特點(diǎn),降低了消息的網(wǎng)絡(luò)傳輸時(shí)延。(2)本方法在數(shù)據(jù)傳輸過程中,采用自適應(yīng)的復(fù)制和轉(zhuǎn)發(fā)機(jī)制,利用簡單的網(wǎng)絡(luò)狀況感知信息,動(dòng)態(tài)的調(diào)整消息復(fù)制轉(zhuǎn)發(fā)條件,有效的降低了網(wǎng)絡(luò)負(fù)載和設(shè)備能耗,提高了復(fù)制轉(zhuǎn)發(fā)效率。(3)本方法在設(shè)置消息生存時(shí)間的基礎(chǔ)上,采用了由接收設(shè)備發(fā)送受限ACK消息的策略,有效的解決了消息成功轉(zhuǎn)發(fā)后的冗余副本問題,減輕了網(wǎng)絡(luò)負(fù)載。圖1為本發(fā)明一種機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸方法的連通域示意圖;圖2為本發(fā)明一種機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸方法的總體流程圖;圖3為本發(fā)明一種機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸方法的連通域建立流程圖;圖4為本發(fā)明一種機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸方法的連通域維護(hù)流程圖;圖5為本發(fā)明一種機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸方法與SprayAndFocus算法和SprayAndWait算法相對(duì)比的時(shí)延——密度直方圖;圖6為本發(fā)明一種機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸方法與SprayAndFocus算法和SprayAndWait算法相對(duì)比的時(shí)延——速度直方圖;圖7為本發(fā)明一種機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸方法與SprayAndFocus算法和SprayAndWait算法相對(duì)比的轉(zhuǎn)發(fā)次數(shù)——時(shí)間直方圖。具體實(shí)施方式下面將結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說明。一種機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸方法,如圖2所示,包括如下步驟步驟一感知信息收集。本實(shí)例中,在2000X2000米2的仿真區(qū)域內(nèi),假設(shè)設(shè)備的移動(dòng)性滿足隨機(jī)Way-Point移動(dòng)模型,設(shè)備移動(dòng)速度的取值范圍為(0~5)m/s,停止時(shí)間為20s。在進(jìn)行網(wǎng)絡(luò)傳輸之前以及整個(gè)網(wǎng)絡(luò)傳輸過程中,每個(gè)移動(dòng)設(shè)備每隔l秒發(fā)送一些探測包,同時(shí)接收其他移動(dòng)設(shè)備的探測包,并對(duì)接收的探測包進(jìn)行統(tǒng)計(jì)、記錄,同時(shí)計(jì)算該設(shè)備的效用值,得到設(shè)備的感知信息表。其中具體感知信息包括和其它移動(dòng)設(shè)備的最近一次相遇時(shí)間,與其他移動(dòng)設(shè)備的常數(shù)時(shí)間內(nèi)的總相遇次數(shù),常數(shù)時(shí)間內(nèi)相遇的總的移動(dòng)設(shè)備數(shù)目,常數(shù)時(shí)間內(nèi)遇到的新移動(dòng)設(shè)備數(shù)目以及預(yù)測的效用值。感知表樣式如表一所示。表一感知信息表<table>tableseeoriginaldocumentpage7</column></row><table>其中移動(dòng)設(shè)備效用值Uid計(jì)算公式為:Uid=F(aXT+a2xN)i為中間設(shè)備ID號(hào),d為目標(biāo)設(shè)備ID,T表示上次移動(dòng)設(shè)備和目標(biāo)設(shè)備的相遇時(shí)間,N表示移動(dòng)設(shè)備k和目標(biāo)設(shè)備d在常數(shù)C時(shí)間的總相遇次數(shù),這里C的取值和具體應(yīng)用相關(guān),本實(shí)施例中為30s,這兩個(gè)值都在步驟一中獲得,al和a2都是權(quán)重參數(shù),和具體的實(shí)際應(yīng)用相關(guān),本實(shí)施例中均為0.5,F(xiàn)W為歸一化函數(shù),保證U值在區(qū)間(O,l)內(nèi)。當(dāng)信息源或擁有消息的中間移動(dòng)設(shè)備,想要利用鄰居中間設(shè)備輔助數(shù)據(jù)傳輸?shù)臅r(shí)候,首先需要預(yù)測鄰居設(shè)備是否擁有比自己更大的概率和目標(biāo)節(jié)點(diǎn)相遇,是否更利于數(shù)據(jù)的傳輸。這里我們使用效用值來代表預(yù)測得到的中間設(shè)備在傳輸過程中的效用性。采用這種通用簡單的感知信息,來預(yù)測設(shè)備的效用值以及判斷臨近區(qū)域的網(wǎng)絡(luò)狀況,將使得整個(gè)方法擁有更加通用的網(wǎng)絡(luò)應(yīng)用場景。步驟二當(dāng)移動(dòng)設(shè)備的感知信息——常數(shù)時(shí)間內(nèi)遇到的新移動(dòng)設(shè)備數(shù)目,小于一個(gè)較小的常數(shù)時(shí),說明其鄰居節(jié)點(diǎn)拓?fù)渥兓容^穩(wěn)定。在這種情況下,本發(fā)明采用建立自組連通域的策略,將使得消息更快的到達(dá)效用大的移動(dòng)設(shè)備或者目標(biāo)設(shè)備,這樣將大大減小網(wǎng)絡(luò)傳輸時(shí)延;否則轉(zhuǎn)到步驟三。如圖2所示,為連通域的示意圖。連通域的域頭設(shè)備與連通域內(nèi)的其他的移動(dòng)設(shè)備一起建立連通域。連通域內(nèi)的域頭設(shè)備與其他設(shè)備相互發(fā)送連通域的建立請(qǐng)求和建立響應(yīng)信號(hào)來建立連通域。具體步驟如下連通域的建立過程,如圖3所示1.當(dāng)移動(dòng)設(shè)備的鄰居設(shè)備數(shù)目大于一個(gè)閥值并且其常數(shù)C時(shí)間內(nèi)遇到的新設(shè)備數(shù)目小于一個(gè)閥值時(shí),說明該移動(dòng)設(shè)備臨近區(qū)域網(wǎng)絡(luò)狀況比較穩(wěn)定,則該移動(dòng)設(shè)備將提出一個(gè)建立連通域請(qǐng)求,并標(biāo)識(shí)自己為域頭設(shè)備。2.其鄰居設(shè)備將計(jì)算與域頭設(shè)備的本次相遇時(shí)長,若相遇時(shí)長大于一個(gè)閥值,則回復(fù)一個(gè)響應(yīng)消息,響應(yīng)消息包括設(shè)備本身的ID號(hào),效用值列表,到域頭設(shè)備的下一跳地址。同時(shí)標(biāo)明自己屬于該域內(nèi)移動(dòng)設(shè)備,并轉(zhuǎn)發(fā)連通域請(qǐng)求來擴(kuò)充連通域,其它移動(dòng)設(shè)備同樣根據(jù)相遇時(shí)長判斷是否加入域,并回復(fù)響應(yīng)消息;否則鄰居設(shè)備不回復(fù)且不轉(zhuǎn)發(fā)請(qǐng)求。3.經(jīng)過一段時(shí)間后,域頭設(shè)備將根據(jù)收到的響應(yīng)消息,得到域內(nèi)所有移動(dòng)設(shè)備的ID號(hào)和效用值表,并可計(jì)算得出以域頭設(shè)備為中心的域內(nèi)路徑表,其中U為預(yù)測效用值,樣式如表二所示表二域內(nèi)效用表<table>tableseeoriginaldocumentpage9</column></row><table>然后計(jì)算U,MAX(U^,其中,d為目標(biāo)設(shè)備的ID號(hào),i為效用值最大設(shè)備的ID號(hào),p為域內(nèi)任意設(shè)備id號(hào)。同時(shí)將得出的域效用值表和域內(nèi)路徑表發(fā)送給域內(nèi)所有設(shè)備,如表三所示。表三域內(nèi)路徑表<table>tableseeoriginaldocumentpage9</column></row><table>4.各域內(nèi)移動(dòng)設(shè)備將收到的域效用表作為自己的效用表,并且得到并保存域內(nèi)路徑表,當(dāng)域內(nèi)移動(dòng)設(shè)備擁有消息時(shí),根據(jù)域效用表和路徑表將消息直接轉(zhuǎn)發(fā)給域內(nèi)效用值最大的移動(dòng)設(shè)備,建立的連通域示意圖如圖1。連通域的維護(hù)步驟,如圖4所示1連通域之間將周期性的互相發(fā)送維護(hù)的Becon信息來保持鏈路的連通性。當(dāng)探測有鏈路斷開時(shí),鏈路兩端移動(dòng)設(shè)備將分別發(fā)送一個(gè)重建消息來重建鏈路,為了限制重建消息的擴(kuò)散范圍和對(duì)網(wǎng)絡(luò)帶寬的影響,本實(shí)施例中限制轉(zhuǎn)發(fā)跳數(shù)為3。2其余設(shè)備收到重建消息后,將自己的ID號(hào)注入重建消息,并將轉(zhuǎn)發(fā)跳數(shù)減1,且繼續(xù)向鄰居設(shè)備轉(zhuǎn)發(fā)重建消息,直至轉(zhuǎn)發(fā)跳數(shù)為零。3經(jīng)過一段常數(shù)時(shí)間后,判斷鏈路斷開端是否收到對(duì)方設(shè)備的重建消息。若收到,則更新域內(nèi)路徑并將重建的路徑信息發(fā)給域頭設(shè)備;否則發(fā)出重建失敗消息給域頭設(shè)備。4域頭設(shè)備若收到重建的路徑信息,則更新路徑表并且廣播路徑信息發(fā)送給其他設(shè)備;若域頭設(shè)備若收到1個(gè)重建失敗消息,表明另一個(gè)設(shè)備巳經(jīng)脫離連通域,這時(shí)域頭設(shè)備重新計(jì)算域內(nèi)路徑表和效用表,并將更新的路徑信息和效用信息發(fā)送給其他域內(nèi)設(shè)備;若域頭設(shè)備收到2個(gè)重建失敗消息,表明兩設(shè)備依然在域內(nèi),此時(shí)域頭設(shè)備將更新路徑信息并發(fā)送給其他域內(nèi)設(shè)備。5其他域內(nèi)設(shè)備收到更新路徑信息或效用信息后,更新自己的域內(nèi)路徑表和效用表。連通域的解體當(dāng)域頭設(shè)備常數(shù)時(shí)間內(nèi)碰到新設(shè)備數(shù)目值大于一個(gè)閥值時(shí),或者收到的重建成功和失敗消息超過一個(gè)閥值時(shí),由域頭設(shè)備發(fā)送一個(gè)解體請(qǐng)求給域內(nèi)所有其他移動(dòng)設(shè)備,所有移動(dòng)設(shè)備將成為自由設(shè)備設(shè)備,并重新計(jì)算自己的效用表。在數(shù)據(jù)傳輸過程中,連通域內(nèi)的移動(dòng)設(shè)備擁有統(tǒng)一的效用值,當(dāng)消息發(fā)送給連通域內(nèi)的任意設(shè)備時(shí),將通過數(shù)據(jù)轉(zhuǎn)發(fā)發(fā)送給連通域內(nèi)對(duì)應(yīng)效用值最大的移動(dòng)設(shè)備。步驟三數(shù)據(jù)源的移動(dòng)設(shè)備首先設(shè)置數(shù)據(jù)拷貝上限并設(shè)置原始消息為種子消息,只有擁有種子消息的移動(dòng)設(shè)備才允許復(fù)制拷貝,其余拷貝消息將永遠(yuǎn)處于非拷貝狀態(tài)。在消息傳輸過程中,擁有種子消息的移動(dòng)設(shè)備根據(jù)預(yù)測效用值的變化不斷調(diào)整種子消息的拷貝上限,其拷貝上限數(shù)L-(1_U)XL。,其中L。為初始拷貝上限,若種子消息的已拷貝數(shù)小于拷貝上限數(shù)L時(shí),則消息處于允許拷貝狀態(tài),否貝IJ,則處于非拷貝狀態(tài)。數(shù)據(jù)源設(shè)備每隔T秒發(fā)送一次種子消息,其中T選取滿足(020)秒的均勻分布。步驟四擁有消息的移動(dòng)設(shè)備周期性的發(fā)送效用值探測包,探測包用來探測鄰居設(shè)備對(duì)應(yīng)的效用值,包內(nèi)包含消息的目標(biāo)地址,用來供鄰居設(shè)備輔助計(jì)箅其效用值。步驟五鄰居設(shè)備收到效用值探測包后,若該設(shè)備本身就是目標(biāo)移動(dòng)設(shè)備,則設(shè)置效用值為1并回復(fù),此后擁有消息的移動(dòng)設(shè)備將發(fā)送消息給該鄰居設(shè)備,并轉(zhuǎn)到步驟七;否則,若該移動(dòng)設(shè)備屬于連通域內(nèi)設(shè)備,則將與目標(biāo)設(shè)備對(duì)應(yīng)的連通域效用值回復(fù)給擁有消息的移動(dòng)設(shè)備。若該設(shè)備不屬于連通域內(nèi)移動(dòng)設(shè)備,將感知信息表中與消息的目標(biāo)地址對(duì)應(yīng)的設(shè)備效用值打包成響應(yīng)消息,回復(fù)給擁有消息的移動(dòng)設(shè)備。步驟六擁有消息的移動(dòng)設(shè)備i査看鄰居設(shè)備的響應(yīng)消息,若存在鄰居設(shè)備k其對(duì)應(yīng)效用值滿足Uid>Ukd+AU,其中AU為轉(zhuǎn)發(fā)門限。此時(shí),若且消息處于允許拷貝狀態(tài),則將種子消息轉(zhuǎn)發(fā)給移動(dòng)設(shè)備k,并在復(fù)制一份拷貝消息在原移動(dòng)設(shè)備i,并轉(zhuǎn)到步驟四,若消息處于非拷貝狀態(tài),則直接將消息轉(zhuǎn)發(fā)給移動(dòng)設(shè)備k,不進(jìn)行消息復(fù)制,并轉(zhuǎn)到步驟四。若Uj^-Ukd+AU,則不進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),轉(zhuǎn)到步驟四。其中,門限值A(chǔ)U將+艮據(jù)網(wǎng)絡(luò)狀況作動(dòng)態(tài)調(diào)整,其主要和以下幾個(gè)因素有關(guān)鄰居設(shè)備數(shù)目,常數(shù)時(shí)間內(nèi)相遇新設(shè)備數(shù)目,設(shè)備本身預(yù)測效用值。考慮到網(wǎng)絡(luò)的實(shí)際情況,當(dāng)區(qū)域內(nèi)設(shè)備密度稀疏且設(shè)備移動(dòng)速度較慢的情情況下,總轉(zhuǎn)發(fā)機(jī)會(huì)少,轉(zhuǎn)發(fā)門限過大容易浪費(fèi)機(jī)會(huì),從而增大總的傳輸延時(shí)。在區(qū)域內(nèi)設(shè)備密集,相對(duì)移動(dòng)速度較快的情況下,總的轉(zhuǎn)發(fā)機(jī)會(huì)比較多,轉(zhuǎn)發(fā)門限過小又會(huì)導(dǎo)致轉(zhuǎn)發(fā)次數(shù)增大,不僅會(huì)增大網(wǎng)絡(luò)帶寬的耗費(fèi)和帶寬的占用,而且在會(huì)導(dǎo)致信道競爭和信號(hào)干擾,信息負(fù)載較大的場景下,反而可能增大傳輸延時(shí)。當(dāng)本身效用值比較大的情況下,它的轉(zhuǎn)發(fā)必要性就較小,而設(shè)備本身效用值較小的情況下,它的轉(zhuǎn)發(fā)必要性就較大,故轉(zhuǎn)發(fā)門限也應(yīng)該隨著擁有信息設(shè)備的u值的變化而變化。所以本實(shí)施例中,設(shè)置轉(zhuǎn)發(fā)門限△U=AUX(b1XM+b2XV2+b3XUid)其中bl,b2,b3為權(quán)值參數(shù),M為鄰居設(shè)備數(shù)目,V2為常數(shù)時(shí)間內(nèi)相遇移動(dòng)設(shè)備的數(shù)目,Uid為移動(dòng)設(shè)備i本身的效用值。步驟七在進(jìn)行多拷貝傳輸過程中,若消息有一份拷貝已經(jīng)到達(dá)了目標(biāo)設(shè)備,則其余的拷貝消息在網(wǎng)絡(luò)中立刻變成了冗余信息。此時(shí),由目標(biāo)設(shè)備廣播一個(gè)限制TTL的ACK信息,來通知其他擁有該消息拷貝的設(shè)備,對(duì)該消息進(jìn)行刪除;否則目標(biāo)設(shè)備繼續(xù)等待,直至收到拷貝為止。ACK消息可以釆用Epidemic策略進(jìn)行轉(zhuǎn)發(fā),且TTL耗盡時(shí)刪除。如圖5所示,本方法在移動(dòng)設(shè)備較少的情況下,表現(xiàn)出類似SpmyandFocus的性能,并且隨著設(shè)備數(shù)目的增多,傳輸時(shí)延逐漸降低,時(shí)延性能總體上優(yōu)于SprayandFocus和SprayandWait算法,適合于設(shè)備數(shù)目變化的各種情況。特別是在移動(dòng)設(shè)備較多的情況下,本方法采用動(dòng)態(tài)調(diào)整復(fù)制和轉(zhuǎn)發(fā)條件的策略,解決了SprayandFocus算法設(shè)備數(shù)目較大情況下的信道競爭和干擾等問題,表現(xiàn)出了較好的時(shí)延性能。如圖6所示,本方法在移動(dòng)速度較慢情況下表現(xiàn)出最好的時(shí)延性能,解決了SprayAndWait算法此情況下的大時(shí)延問題,并且在移動(dòng)速度增大的情況下,近似最好的時(shí)延情況。這是由于在移動(dòng)速度較慢的情況下,本方法采用了自組連通域的策略,減少了傳輸時(shí)延;在移動(dòng)速度較快的情況下,本方法釆用了自適應(yīng)復(fù)制或轉(zhuǎn)發(fā)消息來提高傳輸成功率,亦表現(xiàn)出不錯(cuò)的時(shí)延性能。如圖7所示,本算法隨著仿真時(shí)間的變化,雖然總轉(zhuǎn)發(fā)次數(shù)大于SprayAndWait算法的轉(zhuǎn)發(fā)次數(shù),但明顯小于SprayandFocus算法的轉(zhuǎn)發(fā)次數(shù),在網(wǎng)絡(luò)負(fù)載和設(shè)備能耗方面表現(xiàn)出較優(yōu)的性能。權(quán)利要求1、一種機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸方法,其特征在于,本方法包括如下步驟步驟一感知信息收集;每個(gè)移動(dòng)設(shè)備不斷地、周期性地發(fā)送探測包,同時(shí)接收其它移動(dòng)設(shè)備的探測包,并對(duì)接收的探測包進(jìn)行統(tǒng)計(jì)和記錄,計(jì)算設(shè)備的效用值,得到設(shè)備的感知信息表;步驟二根據(jù)感知的網(wǎng)絡(luò)狀況信息,判斷鄰近區(qū)域內(nèi)的網(wǎng)絡(luò)拓?fù)渥兓癄顩r;當(dāng)各鄰居設(shè)備拓?fù)渥兓^穩(wěn)定時(shí),當(dāng)前設(shè)備發(fā)出連通域建立請(qǐng)求來自組連通域,其鄰居設(shè)備將計(jì)算與域頭設(shè)備的本次相遇時(shí)長來判斷是否加入連通域以及轉(zhuǎn)發(fā)建立請(qǐng)求;若鄰居設(shè)備加入連通域,則將其效用值表和路徑信息發(fā)送給域頭設(shè)備,域頭設(shè)備計(jì)算域內(nèi)效用表和域內(nèi)路徑表,并發(fā)送給域內(nèi)其余設(shè)備,以輔助數(shù)據(jù)傳輸;否則轉(zhuǎn)到步驟三;步驟三數(shù)據(jù)源設(shè)備首先設(shè)置數(shù)據(jù)消息的拷貝上限并設(shè)置原始消息為種子消息,擁有種子消息的移動(dòng)設(shè)備根據(jù)本身的感知信息不斷調(diào)整種子消息的拷貝上限,確定消息的復(fù)制狀態(tài);若種子消息的已拷貝數(shù)小于拷貝上限,則設(shè)置該種子消息為允許拷貝狀態(tài),否則,設(shè)置該消息為非拷貝狀態(tài);步驟四擁有數(shù)據(jù)消息的移動(dòng)設(shè)備周期性的發(fā)送效用值探測包,包內(nèi)包含數(shù)據(jù)消息的目標(biāo)地址;步驟五鄰居設(shè)備收到效用值探測包,若該設(shè)備是目標(biāo)移動(dòng)設(shè)備,則設(shè)置效用值為1并回復(fù),此后擁有消息的移動(dòng)設(shè)備將發(fā)送消息給該鄰居設(shè)備,并轉(zhuǎn)到步驟七;否則,若設(shè)備屬于連通域內(nèi)移動(dòng)設(shè)備,則將連通域效用值回復(fù)給擁有消息的移動(dòng)設(shè)備;若設(shè)備不屬于連通域內(nèi)移動(dòng)設(shè)備,將感知信息表中的設(shè)備效用值打包成響應(yīng)消息,回復(fù)給擁有消息的移動(dòng)設(shè)備;步驟六擁有消息的移動(dòng)設(shè)備查看鄰居設(shè)備的響應(yīng)消息,若設(shè)備效用值比該設(shè)備本身的效用值大一個(gè)門限值,且消息處于允許拷貝狀態(tài),則擁有消息的移動(dòng)設(shè)備將把種子消息轉(zhuǎn)發(fā)給該鄰居設(shè)備,并復(fù)制一份拷貝在原移動(dòng)設(shè)備,轉(zhuǎn)到步驟四;若消息處于非拷貝狀態(tài),則擁有消息的移動(dòng)設(shè)備將該消息轉(zhuǎn)發(fā)該鄰居設(shè)備,不進(jìn)行拷貝,并轉(zhuǎn)到步驟四;若鄰居設(shè)備預(yù)測效用值不比擁有消息的移動(dòng)設(shè)備預(yù)測效用值大,則繼續(xù)持有該消息,并不進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā),并轉(zhuǎn)到步驟四;步驟七當(dāng)目標(biāo)設(shè)備收到消息后,發(fā)送帶TTL(生存時(shí)間)的確認(rèn)消息,用來消除網(wǎng)絡(luò)中的冗余副本;否則目標(biāo)設(shè)備繼續(xù)等待,直至收到消息為止。2、根據(jù)權(quán)利要求1所述一種機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸方法,其特征在于所述步驟三中,擁有種子消息的移動(dòng)設(shè)備根據(jù)本身預(yù)測效用值的變化不斷調(diào)整種子消息的拷貝上限,其拷貝上限數(shù)L-(1—U)XL。,其中L。初始拷貝上限,U為預(yù)測效用值。3、根據(jù)權(quán)利要求1所述一種機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸方法,其特征在于所述步驟一的效用值計(jì)算中,當(dāng)消息目標(biāo)設(shè)備確定且利用中間設(shè)備進(jìn)行數(shù)據(jù)傳輸時(shí),移動(dòng)設(shè)備i效用值Uid計(jì)算公式為Uid=F(-a!XT+a2XN)i為中間設(shè)備ID號(hào),d為目標(biāo)設(shè)備ID,T表示上次移動(dòng)設(shè)備和目標(biāo)設(shè)備的相遇時(shí)間,N表示移動(dòng)設(shè)備和目標(biāo)設(shè)備在一段時(shí)間的總相遇次數(shù),^和a2都是權(quán)重參數(shù),F(xiàn)(")為歸一化函數(shù)。4、根據(jù)權(quán)利要求l所述一種機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸方法,其特征在于所述步驟六中,轉(zhuǎn)發(fā)門限隨著感知信息表中的網(wǎng)絡(luò)狀態(tài)信息以及擁有消息息移動(dòng)設(shè)備本身的效用值的變化而變化△U=AUX(b1XM+b2XV2+b3XUid)其中,bl,b2,b3為權(quán)值參數(shù),M為鄰居設(shè)備數(shù)目,V2為常數(shù)時(shí)間內(nèi)相遇設(shè)備數(shù)目,Uid為移動(dòng)設(shè)備沐身的效用值。5、根據(jù)權(quán)利要求1所述一種機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸方法,其特征在于所述步驟七中,確認(rèn)消息采用Epidemic策略進(jìn)行轉(zhuǎn)發(fā),且TTL耗盡時(shí)刪除。全文摘要本發(fā)明提出了一種機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸方法。在網(wǎng)絡(luò)局部區(qū)域拓?fù)漭^穩(wěn)定的情況下,本方法采用一種由移動(dòng)設(shè)備自組建立連通域的策略輔助路由。若擁有消息的移動(dòng)設(shè)備與連通域內(nèi)任意移動(dòng)設(shè)備相遇時(shí),可以將消息轉(zhuǎn)發(fā)給連通域內(nèi)最有可能和目標(biāo)設(shè)備相遇的移動(dòng)設(shè)備,以減少傳輸時(shí)延。同時(shí),在數(shù)據(jù)傳輸過程中,本方法將基于復(fù)制和基于感知信息的傳輸策略結(jié)合起來,根據(jù)感知到的網(wǎng)絡(luò)狀況信息,動(dòng)態(tài)地調(diào)整數(shù)據(jù)的復(fù)制和轉(zhuǎn)發(fā)條件,在保證一定傳輸成功率的情況下,減小了數(shù)據(jù)傳輸過程中移動(dòng)設(shè)備的能耗和網(wǎng)絡(luò)負(fù)載,提高了移動(dòng)設(shè)備間的轉(zhuǎn)發(fā)效率,增強(qiáng)了機(jī)會(huì)網(wǎng)絡(luò)下的數(shù)據(jù)傳輸?shù)膶?shí)用性,為上層的移動(dòng)P2P應(yīng)用提供了良好的網(wǎng)絡(luò)支持。文檔編號(hào)H04L12/56GK101222438SQ200810056948公開日2008年7月16日申請(qǐng)日期2008年1月28日優(yōu)先權(quán)日2008年1月28日發(fā)明者航周,孫利民,牛建偉申請(qǐng)人:北京航空航天大學(xué)