本發(fā)明涉及一種機會網(wǎng)絡的路由轉(zhuǎn)發(fā)方法,特別是涉及一種機會網(wǎng)絡的相遇預測和距離感知的路由轉(zhuǎn)發(fā)方法及系統(tǒng)。
背景技術(shù):
目前,伴隨著移動通信、物聯(lián)網(wǎng)、分布式計算、互聯(lián)網(wǎng)、云計算等技術(shù)的蓬勃發(fā)展,移動計算也成為當前興起的一種新技術(shù)。它可以通過無線網(wǎng)絡,把一定范圍內(nèi)的計算機或智能終端聯(lián)系起來,實現(xiàn)數(shù)據(jù)傳輸和信息資源的共享。隨著移動計算技術(shù)的快速發(fā)展,學術(shù)界和工業(yè)界對于自組織網(wǎng)絡的研究也不斷深入。首先是大量低成本、具備短距離無線通信能力的智能設備的出現(xiàn)推動了無線自組織網(wǎng)絡(adhoc)應用的迅速發(fā)展。隨著節(jié)點移動能力的增強,移動adhoc(manet)網(wǎng)絡,也稱無線自組網(wǎng)或自組網(wǎng),如車載網(wǎng)絡,攜帶藍牙或wifi接口的手持設備網(wǎng)絡也大量地應用于實際生活中。在實際的移動自組織網(wǎng)絡中,節(jié)點移動、節(jié)點稀疏或障礙物造成信號衰減等多種原因都可能導致網(wǎng)絡大多數(shù)時候不能連通。這種網(wǎng)絡環(huán)境中,在一個特定時刻源節(jié)點和目標節(jié)點位于不同的連通域而導致manet路由協(xié)議不能發(fā)現(xiàn)去往目標節(jié)點的路由,因此傳統(tǒng)的manet通信模式無法有效運行。然而,通信源和目標不存在完整連通路徑并不意味著不能實現(xiàn)通信,由于節(jié)點的移動,兩個節(jié)點可以進入相互通信范圍而交換數(shù)據(jù),機會網(wǎng)絡就是利用這種節(jié)點對之間的逐跳轉(zhuǎn)發(fā),將數(shù)據(jù)從源節(jié)點傳輸?shù)侥繕斯?jié)點。轉(zhuǎn)發(fā)和路由是任何組網(wǎng)技術(shù)的首要問題。針對每個消息確定最好的下一跳轉(zhuǎn)發(fā)節(jié)點和選擇合適的轉(zhuǎn)發(fā)時機是設計高效機會網(wǎng)絡路由協(xié)議的關(guān)鍵問題。因而,在機會網(wǎng)絡中,傳統(tǒng)網(wǎng)絡中的依據(jù)網(wǎng)絡狀態(tài)信息建立和維護路由的功能就退化成了下一跳轉(zhuǎn)發(fā)節(jié)點的單跳決策問題。
在現(xiàn)有的機會網(wǎng)路的研究技術(shù),主要提出了以下幾種主要的路由轉(zhuǎn)發(fā)策略:1directdeliveryrouting,2epidemicrouting,3sprayandwaitrouting,4firstcontactrouting,5maxproprouting,6encouter-basedrouting。每一種的路由方法的思想都不盡相同。directdelivery路由策略很簡單,每個節(jié)點攜帶自創(chuàng)建的消息,不斷移動,直到遇到目的節(jié)點,才把消息傳遞出去,整個通信過程從不借助其他節(jié)點。epidemic是另一個極端,采用泛洪(flooding)機制,只要有機會,就將消息傳遞給鄰居節(jié)點,正如其名,類似于病毒的“接觸-感染”,是一種多復制的方法。sprayandwait降低消息在網(wǎng)絡中的份數(shù),即對復制次數(shù)做一些限制。firstcontact路由策略最直接,每個節(jié)點攜帶自創(chuàng)建的消息,不斷移動,遇到第一個傳輸范圍內(nèi)的節(jié)點,就把消息傳遞出去,因此,消息傳輸?shù)某晒β什皇呛芨撸訒r也比較明顯。maxprop是針對基于車載dtn設計的,但maxprop的一些設計策略還是很有借鑒價值,maxprop設計了一些策略對消息隊列的消息進行重新排列,這樣發(fā)送消息就有了優(yōu)先級,刪除消息(當緩沖區(qū)滿時)也有了優(yōu)先級。encouter-basedrouting利用節(jié)點間之前的相遇情況為每個節(jié)點對求得投遞預測值deliverypredictabilities,若轉(zhuǎn)發(fā)節(jié)點的deliverypredictabilities高于發(fā)送節(jié)點,那么就將消息復制轉(zhuǎn)發(fā)。這些路由算法要么是消息單復制的傳輸,要么是多復制的傳輸,要么直接轉(zhuǎn)發(fā),要么基于一定的效用值轉(zhuǎn)發(fā)。這些技術(shù)的性能都不是特別良好,有些成功率高但是延時高,有些延時低,但是成功率低,目前并沒有一種相對均衡的解決方案。
綜上,現(xiàn)有技術(shù)中的路由轉(zhuǎn)發(fā)方法存在無法兼顧延時和轉(zhuǎn)發(fā)成功率,以及轉(zhuǎn)發(fā)效率及成功率較低的技術(shù)問題。
技術(shù)實現(xiàn)要素:
鑒于以上現(xiàn)有技術(shù)的缺點,本發(fā)明的目的在于提供一種機會網(wǎng)絡的相遇預測和距離感知的路由轉(zhuǎn)發(fā)方法及系統(tǒng),用于解決現(xiàn)有技術(shù)中的路由轉(zhuǎn)發(fā)方法存在無法兼顧延時和轉(zhuǎn)發(fā)成功率,以及轉(zhuǎn)發(fā)效率及成功率較低的技術(shù)問題。為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種機會網(wǎng)絡的相遇預測和距離感知的路由轉(zhuǎn)發(fā)方法,包括:
機會網(wǎng)絡中節(jié)點之間交換信息,構(gòu)成節(jié)點網(wǎng)絡關(guān)聯(lián)圖;
每一節(jié)點收集相鄰節(jié)點的轉(zhuǎn)發(fā)條件信息;
機會網(wǎng)絡中的源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點根據(jù)轉(zhuǎn)發(fā)條件信息對相鄰節(jié)點進行轉(zhuǎn)發(fā)節(jié)點判斷及目標節(jié)點判斷,其中,轉(zhuǎn)發(fā)節(jié)點判斷包括:判斷相鄰節(jié)點是否為后轉(zhuǎn)發(fā)節(jié)點;
在轉(zhuǎn)發(fā)節(jié)點判斷結(jié)果為是時,將服務請求發(fā)送至后轉(zhuǎn)發(fā)節(jié)點;
對后轉(zhuǎn)發(fā)節(jié)點進行目標節(jié)點判斷,其中,目標節(jié)點判斷包括:判斷后轉(zhuǎn)發(fā)節(jié)點是否為目標節(jié)點;
在目標節(jié)點判斷結(jié)果為是時,則判定完成服務請求轉(zhuǎn)發(fā);
在目標節(jié)點判斷結(jié)果為否時,則將該后轉(zhuǎn)發(fā)節(jié)點類型置為前轉(zhuǎn)發(fā)節(jié)點并對其重復執(zhí)行轉(zhuǎn)發(fā)節(jié)點判斷及目標節(jié)點判斷。
于本發(fā)明的一實施方式中,機會網(wǎng)絡中的各節(jié)點之間兩兩交換信息,構(gòu)成節(jié)點網(wǎng)絡關(guān)聯(lián)圖,包括:
每一節(jié)點相互識別形成相遇概率圖;
每一節(jié)點存儲相遇概率圖。
于本發(fā)明的一實施方式中,每一節(jié)點收集相鄰節(jié)點的轉(zhuǎn)發(fā)條件信息,包括:
機會網(wǎng)絡中的每一節(jié)點收集與周圍節(jié)點的距離值;
節(jié)點對周圍節(jié)點的數(shù)量計數(shù),生成相遇概率信息;
節(jié)點根據(jù)距離值和相遇概率信息生成轉(zhuǎn)發(fā)條件信息;
節(jié)點收集相鄰節(jié)點的轉(zhuǎn)發(fā)條件信息并存儲。
于本發(fā)明的一實施方式中,機會網(wǎng)絡中的源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點根據(jù)轉(zhuǎn)發(fā)條件信息對相鄰節(jié)點進行轉(zhuǎn)發(fā)節(jié)點判斷及目標節(jié)點判斷,其中,轉(zhuǎn)發(fā)節(jié)點判斷包括:判斷相鄰節(jié)點是否為后轉(zhuǎn)發(fā)節(jié)點,包括:
源節(jié)點定位所有相鄰節(jié)點;
根據(jù)相鄰節(jié)點的轉(zhuǎn)發(fā)條件信息中的相遇概率信息及距離值確定轉(zhuǎn)發(fā)節(jié)點。
于本發(fā)明的一實施方式中,源節(jié)點定位所有相鄰節(jié)點,包括:
獲取當前節(jié)點與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點的距離值;
判斷節(jié)點與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點的距離值是否小于預設閾值;
在節(jié)點與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點的距離值是小于預設閾值時,則判定當前節(jié)點為源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點的鄰近節(jié)點;
判斷鄰近節(jié)點是否與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點存在連接;
在鄰近節(jié)點與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點存在連接時,則判斷節(jié)點為相鄰節(jié)點。
于本發(fā)明的一實施方式中,根據(jù)相鄰節(jié)點的轉(zhuǎn)發(fā)條件信息確定后轉(zhuǎn)發(fā)節(jié)點,包括:
獲取相鄰節(jié)點與目標節(jié)點的距離值;
判斷是否相鄰節(jié)點與目標節(jié)點的距離值小于前轉(zhuǎn)發(fā)節(jié)點或源節(jié)點與目標節(jié)點的距離值;
若是,則比較滿足條件的相鄰節(jié)點的相遇概率;
將相遇概率最大的所示相鄰節(jié)點確認為后轉(zhuǎn)發(fā)節(jié)點。
于本發(fā)明的一實施方式中,一種機會網(wǎng)絡的相遇預測和距離感知的路由轉(zhuǎn)發(fā)系統(tǒng),機會網(wǎng)絡的相遇預測和距離感知的路由轉(zhuǎn)發(fā)系統(tǒng)設置于每一節(jié)點中,其特征在于,包括:關(guān)聯(lián)交換模塊、判斷信息收集模塊、轉(zhuǎn)發(fā)尋點模塊、請求轉(zhuǎn)發(fā)模塊、目標確認模塊、轉(zhuǎn)發(fā)到達模塊和循環(huán)轉(zhuǎn)發(fā)模塊;關(guān)聯(lián)交換模塊,用于供各節(jié)點之間兩兩交換信息,構(gòu)成節(jié)點網(wǎng)絡關(guān)聯(lián)圖;判斷信息收集模塊,用于供每一節(jié)點收集相鄰節(jié)點的轉(zhuǎn)發(fā)條件信息判斷信息收集模塊與關(guān)聯(lián)交換模塊連接;轉(zhuǎn)發(fā)尋點模塊,用于供機會網(wǎng)絡中的源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點根據(jù)轉(zhuǎn)發(fā)條件信息對相鄰節(jié)點進行轉(zhuǎn)發(fā)節(jié)點判斷及目標節(jié)點判斷,其中,轉(zhuǎn)發(fā)節(jié)點判斷包括:判斷相鄰節(jié)點是否為后轉(zhuǎn)發(fā)節(jié)點,轉(zhuǎn)發(fā)尋點模塊與判斷信息收集模塊連接;請求轉(zhuǎn)發(fā)模塊,用于供在轉(zhuǎn)發(fā)節(jié)點判斷結(jié)果為是時,將服務請求發(fā)送至后轉(zhuǎn)發(fā)節(jié)點,請求轉(zhuǎn)發(fā)模塊與轉(zhuǎn)發(fā)尋點模塊連接;目標確認模塊,用于供對轉(zhuǎn)發(fā)節(jié)點進行目標節(jié)點判斷,其中,目標節(jié)點判斷包括:判斷后轉(zhuǎn)發(fā)節(jié)點是否為目標節(jié)點,目標確認模塊與請求轉(zhuǎn)發(fā)模塊連接;轉(zhuǎn)發(fā)到達模塊,用于供在目標節(jié)點判斷結(jié)果為是時,則判定完成服務組合,轉(zhuǎn)發(fā)到達模塊與目標確認模塊連接;循環(huán)轉(zhuǎn)發(fā)模塊,用于供在目標節(jié)點判斷結(jié)果為否時,則將該后轉(zhuǎn)發(fā)節(jié)點類型置為前轉(zhuǎn)發(fā)節(jié)點并對其重復執(zhí)行轉(zhuǎn)發(fā)節(jié)點判斷及目標節(jié)點判斷。循環(huán)轉(zhuǎn)發(fā)模塊與目標確認模塊連接。
于本發(fā)明的一實施方式中,關(guān)聯(lián)交換模塊,包括:概率圖模塊和概率信息存儲模塊;概率圖模塊,用于供每一節(jié)點相互識別形成相遇概率圖;概率信息存儲模塊,用于供每一節(jié)點存儲相遇概率圖,概率信息存儲模塊與概率圖模塊連接。
于本發(fā)明的一實施方式中,判斷信息收集模塊,包括:距離值收集模塊、相遇概率模塊、鄰節(jié)點概率收集模塊、轉(zhuǎn)發(fā)條件模塊和條件信息存儲模塊;距離值收集模塊,用于供機會網(wǎng)絡中的每一節(jié)點收集與周圍節(jié)點的距離值;相遇概率模塊,用于供每一節(jié)點對周圍節(jié)點的數(shù)量計數(shù),生成相遇概率信息;鄰節(jié)點概率收集模塊,用于供每一節(jié)點收集相鄰節(jié)點的相遇概率信息,鄰節(jié)點概率收集模塊與相遇概率模塊連接;轉(zhuǎn)發(fā)條件模塊,用于供每一節(jié)點根據(jù)距離值和相遇概率信息生成組合條件信息,轉(zhuǎn)發(fā)條件模塊與相遇概率模塊連接,轉(zhuǎn)發(fā)條件模塊與距離值收集模塊連接;條件信息存儲模塊,用于供每一節(jié)點收集相鄰節(jié)點的組合條件信息并存儲,條件信息存儲模塊與轉(zhuǎn)發(fā)條件模塊連接,條件信息存儲模塊與鄰節(jié)點概率收集模塊連接。
于本發(fā)明的一實施方式中,轉(zhuǎn)發(fā)尋點模塊,包括:鄰節(jié)點確認模塊和轉(zhuǎn)發(fā)節(jié)點確認模塊;鄰節(jié)點確認模塊,用于供源節(jié)點確認相鄰節(jié)點;轉(zhuǎn)發(fā)節(jié)點確認模塊,用于根據(jù)相鄰節(jié)點的轉(zhuǎn)發(fā)條件信息確定后轉(zhuǎn)發(fā)節(jié)點,轉(zhuǎn)發(fā)節(jié)點確認模塊與鄰節(jié)點確認模塊連接。
于本發(fā)明的一實施方式中,鄰節(jié)點確認模塊,包括:距離值獲取模塊、鄰近節(jié)點判斷模塊、鄰近節(jié)點確認模塊、相鄰節(jié)點判定模塊和相鄰節(jié)點尋找模塊;距離值獲取模塊,獲取當前節(jié)點與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點的距離值;鄰近節(jié)點判斷模塊,用于判斷節(jié)點與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點的距離值是否小于預設閾值,鄰近節(jié)點判斷模塊與距離值獲取模塊連接;鄰近節(jié)點確認模塊,用于在節(jié)點與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點的距離值是小于預設閾值時,則判定當前節(jié)點為源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點的鄰近節(jié)點,鄰近節(jié)點確認模塊與鄰近節(jié)點判斷模塊連接;相鄰節(jié)點判定模塊,用于判斷鄰近節(jié)點是否與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點存在連接,相鄰節(jié)點判斷模塊與鄰近節(jié)點確認模塊連接;相鄰節(jié)點尋找模塊,用于在鄰近節(jié)點與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點存在連接時,則判斷節(jié)點為相鄰節(jié)點,相鄰節(jié)點尋找模塊與相鄰節(jié)點判定模塊連接。
于本發(fā)明的一實施方式中,轉(zhuǎn)發(fā)節(jié)點確認模塊,包括:對比距離值獲取模塊、距離判斷模塊、相遇概率比較模塊和后節(jié)點確認模塊;對比距離值獲取模塊,用于獲取相鄰節(jié)點與目標節(jié)點的距離值;距離判斷模塊,判斷是否優(yōu)先結(jié)合節(jié)點與目標節(jié)點的距離值小于前轉(zhuǎn)發(fā)節(jié)點或源節(jié)點與目標節(jié)點的距離值,距離判斷模塊與對比距離值獲取模塊連接;相遇概率比較模塊,用于在優(yōu)先結(jié)合節(jié)點與目標節(jié)點的距離值小于前轉(zhuǎn)發(fā)節(jié)點或源節(jié)點與目標節(jié)點的距離值時,比較滿足條件的相鄰節(jié)點的相遇概率,相遇概率比較模塊與距離判斷模塊連接;后節(jié)點確認模塊,用于將相遇概率最大的所示相鄰節(jié)點確認為后轉(zhuǎn)發(fā)節(jié)點,距離判斷模塊與相遇概率比較模塊連接。
如上所述,本發(fā)明提供的一種機會網(wǎng)絡的相遇預測和距離感知的路由轉(zhuǎn)發(fā)方法及系統(tǒng),具有以下有益效果:
本發(fā)明所提供的一種機會網(wǎng)絡的相遇預測和距離感知的路由轉(zhuǎn)發(fā)方法及系統(tǒng)中加入了對相遇預測概率和距離的考慮。實驗證明,該方法可以提高機會網(wǎng)絡的消息傳輸?shù)某晒β?,明顯減少請求的延時,解決了現(xiàn)有路由轉(zhuǎn)換算法中的無法兼顧延時和轉(zhuǎn)發(fā)成功率,以及轉(zhuǎn)發(fā)效率及成功率較低的技術(shù)問題。
附圖說明
圖1顯示為本發(fā)明的一種機會網(wǎng)絡的相遇預測和距離感知的路由轉(zhuǎn)發(fā)方法示意圖。
圖2顯示為本發(fā)明的機會網(wǎng)絡的相遇預測和距離感知的路由轉(zhuǎn)發(fā)節(jié)點示意圖。
圖3顯示為本發(fā)明機會網(wǎng)絡關(guān)聯(lián)圖生成模塊示意圖。
圖4顯示為本發(fā)明轉(zhuǎn)發(fā)條件收集步驟示意圖。
圖5顯示為本發(fā)明轉(zhuǎn)發(fā)節(jié)點選擇判斷示意圖。
圖6顯示為本發(fā)明相鄰節(jié)點判斷步驟示意圖。
圖7顯示為本發(fā)明的轉(zhuǎn)發(fā)選擇步驟示意圖。
圖8顯示為本發(fā)明的一種機會網(wǎng)絡的相遇預測和距離感知的路由轉(zhuǎn)發(fā)系統(tǒng)模塊示意圖。
圖9顯示為本發(fā)明的關(guān)聯(lián)交換模塊示意圖。
圖10顯示為本發(fā)明的判斷信息收集模塊示意圖。
圖11顯示為本發(fā)明的轉(zhuǎn)發(fā)尋點模塊示意圖。
圖12顯示為本發(fā)明的鄰節(jié)點確認模塊示意圖。
圖13顯示為本發(fā)明的轉(zhuǎn)發(fā)節(jié)點確認模塊示意圖。
元件標號說明
1關(guān)聯(lián)交換模塊
2判斷信息收集模塊
3轉(zhuǎn)發(fā)尋點模塊
4請求轉(zhuǎn)發(fā)模塊
5目標確認模塊
6轉(zhuǎn)發(fā)到達模塊
7循環(huán)轉(zhuǎn)發(fā)模塊
11概率圖模塊
12概率信息存儲模塊
21距離值收集模塊
22相遇概率模塊
23鄰節(jié)點概率收集模塊
24轉(zhuǎn)發(fā)條件模塊
25條件信息存儲模塊
31鄰節(jié)點確認模塊
32轉(zhuǎn)發(fā)節(jié)點確認模塊
311距離值獲取模塊
312鄰近節(jié)點判斷模塊
313鄰近節(jié)點確認模塊
314相鄰節(jié)點判定模塊
315相鄰節(jié)點尋找模塊
321對比距離值獲取模塊
322距離判斷模塊
323相遇概率比較模塊
324后節(jié)點確認模塊
步驟標號說明
圖1s1~s7
圖2s11~s12
圖3s21~s24
圖4s31~s32
圖5s311~s315
圖6s321~s324
具體實施方式
以下由特定的具體實施例說明本發(fā)明的實施方式,熟悉此技術(shù)的人士可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點及功效。
請參閱圖1至圖13,須知,本說明書所附圖式所繪示的結(jié)構(gòu),均僅用以配合說明書所揭示的內(nèi)容,以供熟悉此技術(shù)的人士了解與閱讀,并非用以限定本發(fā)明可實施的限定條件,故不具技術(shù)上的實質(zhì)意義,任何結(jié)構(gòu)的修飾、比例關(guān)系的改變或大小的調(diào)整,在不影響本發(fā)明所能產(chǎn)生的功效及所能達成的目的下,均應仍落在本發(fā)明所揭示的技術(shù)內(nèi)容所能涵蓋的范圍內(nèi)。同時,本說明書中所引用的如”上”、”下”、”左”、”右”、”中間”及”一”等的用語,亦僅為便于敘述的明了,而非用以限定本發(fā)明可實施的范圍,其相對關(guān)系的改變或調(diào)整,在無實質(zhì)變更技術(shù)內(nèi)容下,當亦視為本發(fā)明可實施的范疇。
請參閱圖1及圖2,顯示為一種機會網(wǎng)絡的相遇預測和距離感知的路由轉(zhuǎn)發(fā)方法示意圖及機會網(wǎng)絡的相遇預測和距離感知的路由轉(zhuǎn)發(fā)節(jié)點示意圖,如圖1及圖2所示,一種機會網(wǎng)絡的相遇預測和距離感知的路由轉(zhuǎn)發(fā)方法,節(jié)點的類型有源節(jié)點、前轉(zhuǎn)發(fā)節(jié)點、后轉(zhuǎn)發(fā)節(jié)點和后轉(zhuǎn)發(fā)節(jié)點,機會網(wǎng)絡中的節(jié)點為手機、平板及手提電腦等移動設備,包括:
s1、機會網(wǎng)絡中節(jié)點之間交換信息,構(gòu)成節(jié)點網(wǎng)絡關(guān)聯(lián)圖,使得在機會網(wǎng)絡中的每一節(jié)點獲得這個機會網(wǎng)絡的節(jié)點關(guān)聯(lián)架構(gòu)圖,該機會網(wǎng)絡是基于移動計算技術(shù)的網(wǎng)絡架構(gòu),在隨機網(wǎng)絡中的不同的設備節(jié)點(a-->h)上攜帶著不同的服務,開始節(jié)點a攜帶s1服務,請求s4服務,需要通過中間的其他節(jié)點組合完成整個過程,如s1-->s12-->s23-->s34-->s4,或s1-->s13--s34-->s4,或s1-->s14-->s4不同組合方案;
s2、每一節(jié)點收集相鄰節(jié)點的轉(zhuǎn)發(fā)條件信息,節(jié)點收集周圍節(jié)點的相遇概率及距離值等信息,初始情況形成服務圖,a節(jié)點周圍有3個鄰近節(jié)點,鄰近的b,c,d節(jié)點分別有1,3,2個節(jié)點,節(jié)點收集的相遇概率由節(jié)點周圍可轉(zhuǎn)發(fā)節(jié)點的數(shù)目直接決定;
s3、機會網(wǎng)絡中的源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點根據(jù)轉(zhuǎn)發(fā)條件信息對相鄰節(jié)點進行轉(zhuǎn)發(fā)節(jié)點判斷及目標節(jié)點判斷,其中,轉(zhuǎn)發(fā)節(jié)點判斷包括:判斷相鄰節(jié)點是否為后轉(zhuǎn)發(fā)節(jié)點,轉(zhuǎn)發(fā)節(jié)點判斷用于尋找下一轉(zhuǎn)發(fā)服務請求的節(jié)點;
s4、在轉(zhuǎn)發(fā)節(jié)點判斷結(jié)果為是時,將服務請求發(fā)送至后轉(zhuǎn)發(fā)節(jié)點,實現(xiàn)服務請求的一次兩轉(zhuǎn)發(fā)節(jié)點之間的路由轉(zhuǎn)發(fā)過程,在隨機網(wǎng)絡中的源節(jié)點通過網(wǎng)絡中的各轉(zhuǎn)發(fā)節(jié)點的多次轉(zhuǎn)發(fā),完成服務組合路由轉(zhuǎn)發(fā)過程;
s5、對后轉(zhuǎn)發(fā)節(jié)點進行目標節(jié)點判斷,其中,目標節(jié)點判斷包括:判斷后轉(zhuǎn)發(fā)節(jié)點是否為目標節(jié)點,目標節(jié)點判斷用于確認服務請求是否被轉(zhuǎn)發(fā)至目標節(jié)點,假設初始節(jié)點s需要將消息傳送給目標節(jié)點e,s節(jié)點的鄰居節(jié)點的集合記為ns,當s和下一跳的節(jié)點c發(fā)生信息傳遞需考慮兩個條件:(1)將消息傳輸給相遇概率值大的節(jié)點(2)將消息傳輸給距離目標節(jié)點近的節(jié)點,輸入:機會網(wǎng)路的移動節(jié)點,包括源節(jié)點,目標節(jié)點和中間節(jié)點,輸出:從源節(jié)點到目標節(jié)點的一個轉(zhuǎn)發(fā)方案
s6、在目標節(jié)點判斷結(jié)果為是時,則判定完成服務請求轉(zhuǎn)發(fā),在下一轉(zhuǎn)發(fā)節(jié)點,如智能手機和移動電腦等設備被判定為此次服務組合轉(zhuǎn)發(fā)的目標節(jié)點時,確認完成服務組合;
s7、在目標節(jié)點判斷結(jié)果為否時,則將該后轉(zhuǎn)發(fā)節(jié)點類型置為前轉(zhuǎn)發(fā)節(jié)點并對其重復執(zhí)行轉(zhuǎn)發(fā)節(jié)點判斷及目標節(jié)點判斷,在一次兩節(jié)點間的轉(zhuǎn)發(fā)后,后轉(zhuǎn)發(fā)節(jié)點非目標節(jié)點,則需繼續(xù)循環(huán)判斷和尋找下一轉(zhuǎn)發(fā)節(jié)點,直至下一轉(zhuǎn)發(fā)節(jié)點為目標節(jié)點,完成服務請求轉(zhuǎn)發(fā)過程。
請參閱圖3,顯示為本發(fā)明的機會網(wǎng)絡關(guān)聯(lián)圖生成模塊示意圖,如圖3所示,s1、機會網(wǎng)絡中的各節(jié)點之間兩兩交換信息,構(gòu)成節(jié)點網(wǎng)絡關(guān)聯(lián)圖,包括:
s11、每一節(jié)點相互識別形成相遇概率圖,機會網(wǎng)絡中的每一節(jié)點通過對相互交換的路由表進行解析取得整個轉(zhuǎn)發(fā)關(guān)聯(lián)架構(gòu)圖;
s12、每一節(jié)點存儲相遇概率圖,每一節(jié)點存儲轉(zhuǎn)發(fā)關(guān)聯(lián)架構(gòu)圖作供轉(zhuǎn)發(fā),,網(wǎng)絡中的每一節(jié)點存儲該網(wǎng)絡的含有其他節(jié)點的架構(gòu)圖,有利在服務組合過過程中的轉(zhuǎn)發(fā)節(jié)點的遍歷尋找和判斷。
請參閱圖4,顯示為本發(fā)明的轉(zhuǎn)發(fā)條件收集步驟示意圖,如圖4所示,s2、每一節(jié)點收集相鄰節(jié)點的轉(zhuǎn)發(fā)條件信息,包括:
s21、機會網(wǎng)絡中的每一節(jié)點收集與周圍節(jié)點的距離值,由在節(jié)點的傳輸范圍之內(nèi)均可以獲得的節(jié)點間通信時間確定;
s22、節(jié)點對周圍節(jié)點的數(shù)量計數(shù),生成相遇概率信息,周圍的節(jié)點越多,該節(jié)點的相遇概率信息越大;
s23、節(jié)點根據(jù)距離值和相遇概率信息生成轉(zhuǎn)發(fā)條件信息,轉(zhuǎn)發(fā)條件用于尋找轉(zhuǎn)發(fā)節(jié)點的判斷和選?。?/p>
s24、節(jié)點收集相鄰節(jié)點的轉(zhuǎn)發(fā)條件信息并存儲。
請參閱圖5,顯示為本發(fā)明的轉(zhuǎn)發(fā)節(jié)點選擇判斷示意圖,如圖5所示,s3、機會網(wǎng)絡中的源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點根據(jù)轉(zhuǎn)發(fā)條件信息對相鄰節(jié)點進行轉(zhuǎn)發(fā)節(jié)點判斷及目標節(jié)點判斷,其中,轉(zhuǎn)發(fā)節(jié)點判斷包括:判斷相鄰節(jié)點是否為后轉(zhuǎn)發(fā)節(jié)點,包括:
s31、源節(jié)點定位所有相鄰節(jié)點,兩節(jié)點間的一次轉(zhuǎn)發(fā)過程中,源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點從周圍節(jié)點中找到相鄰節(jié)點;
s32、根據(jù)相鄰節(jié)點的轉(zhuǎn)發(fā)條件信息中的相遇概率信息及距離值確定轉(zhuǎn)發(fā)節(jié)點,源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點從相鄰節(jié)點中選取后轉(zhuǎn)發(fā)節(jié)點。
請參閱圖6,顯示為本發(fā)明的相鄰節(jié)點判斷步驟示意圖,如圖6所示,s31、源節(jié)點定位所有相鄰節(jié)點,包括:
s311、獲取當前節(jié)點與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點的距離值,獲取轉(zhuǎn)發(fā)節(jié)點和源節(jié)點的距離值供對比判斷距離;
s312、判斷節(jié)點與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點的距離值是否小于預設閾值,節(jié)點為圓心,預設閾值為半徑,形成一區(qū)域;
s313、在節(jié)點與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點的距離值是小于預設閾值時,則判定當前節(jié)點為源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點的鄰近節(jié)點;
s314、判斷鄰近節(jié)點是否與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點存在連接;
s315、在鄰近節(jié)點與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點存在連接時,則判斷節(jié)點為相鄰節(jié)點。
請參閱圖7,顯示為本發(fā)明的轉(zhuǎn)發(fā)選擇步驟示意圖,如圖7所示,s32、根據(jù)相鄰節(jié)點的轉(zhuǎn)發(fā)條件信息確定后轉(zhuǎn)發(fā)節(jié)點,包括:
s321、獲取相鄰節(jié)點與目標節(jié)點的距離值,獲取各個相鄰節(jié)點與目標節(jié)點距離值供對比,隨機網(wǎng)絡中兩節(jié)點之間的距離值由兩節(jié)點之間的傳輸時間決定;
s322、判斷是否相鄰節(jié)點與目標節(jié)點的距離值小于前轉(zhuǎn)發(fā)節(jié)點或源節(jié)點與目標節(jié)點的距離值,該判斷過程對比鄰節(jié)點與目標節(jié)點之間的傳輸時間與前轉(zhuǎn)發(fā)節(jié)點代表的轉(zhuǎn)發(fā)與目標節(jié)點代表的轉(zhuǎn)發(fā)設備間的傳輸時間對比;
s323、若是,則比較滿足條件的相鄰節(jié)點的相遇概率,b,c到目標節(jié)點的距離均小于a節(jié)點到目標節(jié)點的距離(可計算得到),最后,由ev(c)>ev(b),因此選擇c作為下一個轉(zhuǎn)發(fā)節(jié)點;
s324、將相遇概率最大的所示相鄰節(jié)點確認為后轉(zhuǎn)發(fā)節(jié)點,將相鄰節(jié)點中,周圍節(jié)點最多的相鄰節(jié)點確定為后轉(zhuǎn)發(fā)節(jié)點,選擇相遇概率高的節(jié)點作為后轉(zhuǎn)發(fā)節(jié)點,提高單次轉(zhuǎn)發(fā)的效率,從而提高整個服務組合的效率
請參閱圖8,顯示為本發(fā)明的一種機會網(wǎng)絡的相遇預測和距離感知的路由轉(zhuǎn)發(fā)系統(tǒng)模塊示意圖,如圖8所示,一種機會網(wǎng)絡的相遇預測和距離感知的路由轉(zhuǎn)發(fā)系統(tǒng),機會網(wǎng)絡的相遇預測和距離感知的路由轉(zhuǎn)發(fā)系統(tǒng)設置于每一節(jié)點中,其特征在于,包括:關(guān)聯(lián)交換模塊1、判斷信息收集模塊2、轉(zhuǎn)發(fā)尋點模塊3、請求轉(zhuǎn)發(fā)模塊4、目標確認模塊5、轉(zhuǎn)發(fā)到達模塊6和循環(huán)轉(zhuǎn)發(fā)模塊7;關(guān)聯(lián)交換模塊1,用于供各節(jié)點之間兩兩交換信息,構(gòu)成節(jié)點網(wǎng)絡關(guān)聯(lián)圖;判斷信息收集模塊2,用于供每一節(jié)點收集相鄰節(jié)點的轉(zhuǎn)發(fā)條件信息判斷信息收集模塊2與關(guān)聯(lián)交換模塊1連接;轉(zhuǎn)發(fā)尋點模塊3,用于供機會網(wǎng)絡中的源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點根據(jù)轉(zhuǎn)發(fā)條件信息對相鄰節(jié)點進行轉(zhuǎn)發(fā)節(jié)點判斷及目標節(jié)點判斷,其中,轉(zhuǎn)發(fā)節(jié)點判斷包括:判斷相鄰節(jié)點是否為后轉(zhuǎn)發(fā)節(jié)點,轉(zhuǎn)發(fā)尋點模塊3與判斷信息收集模塊2連接;請求轉(zhuǎn)發(fā)模塊4,用于供在轉(zhuǎn)發(fā)節(jié)點判斷結(jié)果為是時,將服務請求發(fā)送至后轉(zhuǎn)發(fā)節(jié)點,請求轉(zhuǎn)發(fā)模塊4與轉(zhuǎn)發(fā)尋點模塊3連接;目標確認模塊5,用于供對轉(zhuǎn)發(fā)節(jié)點進行目標節(jié)點判斷,其中,目標節(jié)點判斷包括:判斷后轉(zhuǎn)發(fā)節(jié)點是否為目標節(jié)點,目標確認模塊5與請求轉(zhuǎn)發(fā)模塊4連接;轉(zhuǎn)發(fā)到達模塊6,用于供在目標節(jié)點判斷結(jié)果為是時,則判定完成服務組合,轉(zhuǎn)發(fā)到達模塊6與目標確認模塊5連接;循環(huán)轉(zhuǎn)發(fā)模塊7,用于供在目標節(jié)點判斷結(jié)果為否時,則將該后轉(zhuǎn)發(fā)節(jié)點類型置為前轉(zhuǎn)發(fā)節(jié)點并對其重復執(zhí)行轉(zhuǎn)發(fā)節(jié)點判斷及目標節(jié)點判斷。循環(huán)轉(zhuǎn)發(fā)模塊7與目標確認模塊5連接,我們將一個節(jié)點周圍的節(jié)點數(shù)量定義為該節(jié)點的相遇預測概率值(ev)。有更多鄰居節(jié)點的節(jié)點更有可能將消息成功轉(zhuǎn)發(fā)。其次,我們考慮距離的含義。由于在節(jié)點的傳輸范圍之內(nèi)我們均可以獲得節(jié)點之間的通信時間。因此,我們可以將節(jié)點之間傳輸時間的總和作為節(jié)點之間距離的估量。
請參閱圖9,顯示為本發(fā)明的關(guān)聯(lián)交換模塊示意圖,如圖9所示,關(guān)聯(lián)交換模塊1,包括:概率圖模塊11和概率信息存儲模塊12;概率圖模塊11,用于供每一節(jié)點相互識別形成相遇概率圖;概率信息存儲模塊12,用于供每一節(jié)點存儲相遇概率圖,概率信息存儲模塊12與概率圖模塊11連接,下一個轉(zhuǎn)發(fā)節(jié)點的確定就是選擇到目標節(jié)點距離小于某個閾值的幾個節(jié)點中選擇相遇概率值最大的節(jié)點作為轉(zhuǎn)發(fā)節(jié)點。理論上講,鄰近節(jié)點的更多的節(jié)點有更大的可能性可以將消息轉(zhuǎn)發(fā)到目標節(jié)點。
請參閱圖10,顯示為本發(fā)明的判斷信息收集模塊示意圖,如圖10所示,判斷信息收集模塊2,包括:距離值收集模塊21、相遇概率模塊22、鄰節(jié)點概率收集模塊23、轉(zhuǎn)發(fā)條件模塊24和條件信息存儲模塊25;距離值收集模塊21,用于供機會網(wǎng)絡中的每一節(jié)點收集與周圍節(jié)點的距離值;相遇概率模塊22,用于供每一節(jié)點對周圍節(jié)點的數(shù)量計數(shù),生成相遇概率信息;鄰節(jié)點概率收集模塊23,用于供每一節(jié)點收集相鄰節(jié)點的相遇概率信息,鄰節(jié)點概率收集模塊23與相遇概率模塊22連接;轉(zhuǎn)發(fā)條件模塊24,用于供每一節(jié)點根據(jù)距離值和相遇概率信息生成組合條件信息,轉(zhuǎn)發(fā)條件模塊24與相遇概率模塊22連接,轉(zhuǎn)發(fā)條件模塊24與距離值收集模塊21連接;條件信息存儲模塊25,用于供每一節(jié)點收集相鄰節(jié)點的組合條件信息并存儲,條件信息存儲模塊25與轉(zhuǎn)發(fā)條件模塊24連接。條件信息存儲模塊25與鄰節(jié)點概率收集模塊23連接,信息傳遞需考慮兩個條件:(1)將消息傳輸給相遇概率值大的節(jié)點(2)將消息傳輸給距離目標節(jié)點近的節(jié)點。
請參閱圖11,顯示為本發(fā)明的轉(zhuǎn)發(fā)尋點模塊示意圖,如圖11所示,轉(zhuǎn)發(fā)尋點模塊3,包括:鄰節(jié)點確認模塊31和轉(zhuǎn)發(fā)節(jié)點確認模塊32;鄰節(jié)點確認模塊31,用于供源節(jié)點確認相鄰節(jié)點;轉(zhuǎn)發(fā)節(jié)點確認模塊32,用于根據(jù)相鄰節(jié)點的轉(zhuǎn)發(fā)條件信息確定后轉(zhuǎn)發(fā)節(jié)點,轉(zhuǎn)發(fā)節(jié)點確認模塊32與鄰節(jié)點確認模塊31連接。
請參閱圖12,顯示為本發(fā)明的鄰節(jié)點確認模塊示意圖,如圖12所示,鄰節(jié)點確認模塊31,包括:距離值獲取模塊311、鄰近節(jié)點判斷模塊312、鄰近節(jié)點確認模塊313、相鄰節(jié)點判定模塊314和相鄰節(jié)點尋找模塊315;距離值獲取模塊311,獲取當前節(jié)點與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點的距離值;鄰近節(jié)點判斷模塊312,用于判斷節(jié)點與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點的距離值是否小于預設閾值,鄰近節(jié)點判斷模塊312與距離值獲取模塊311連接;鄰近節(jié)點確認模塊313,用于在節(jié)點與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點的距離值是小于預設閾值時,則判定當前節(jié)點為源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點的鄰近節(jié)點,鄰近節(jié)點確認模塊313與鄰近節(jié)點判斷模塊312連接;相鄰節(jié)點判定模塊314,用于判斷鄰近節(jié)點是否與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點存在連接,相鄰節(jié)點判斷模塊314與鄰近節(jié)點確認模塊313連接;相鄰節(jié)點尋找模塊315,用于在鄰近節(jié)點與源節(jié)點或前轉(zhuǎn)發(fā)節(jié)點存在連接時,則判斷節(jié)點為相鄰節(jié)點,相鄰節(jié)點尋找模塊315與相鄰節(jié)點判定模塊314連接。
請參閱圖13,顯示為本發(fā)明的轉(zhuǎn)發(fā)節(jié)點確認模塊示意圖,如圖13所示,轉(zhuǎn)發(fā)節(jié)點確認模塊32,包括:對比距離值獲取模塊321、距離判斷模塊322、相遇概率比較模塊323和后節(jié)點確認模塊324;對比距離值獲取模塊321,用于獲取相鄰節(jié)點與目標節(jié)點的距離值;距離判斷模塊322,判斷是否優(yōu)先結(jié)合節(jié)點與目標節(jié)點的距離值小于前轉(zhuǎn)發(fā)節(jié)點或源節(jié)點與目標節(jié)點的距離值,距離判斷模塊322與對比距離值獲取模塊321連接;相遇概率比較模塊323,用于在優(yōu)先結(jié)合節(jié)點與目標節(jié)點的距離值小于前轉(zhuǎn)發(fā)節(jié)點或源節(jié)點與目標節(jié)點的距離值時,比較滿足條件的相鄰節(jié)點的相遇概率,相遇概率比較模塊323與距離判斷模塊322連接;后節(jié)點確認模塊324,用于將相遇概率最大的所示相鄰節(jié)點確認為后轉(zhuǎn)發(fā)節(jié)點,距離判斷模塊324與相遇概率比較模塊323連接,加上距離的考慮,消息總是往靠近目標節(jié)點的方向傳播,因此,這里提出的算法可以取得較高的消息傳輸成功率和較少的延時。
綜上,本發(fā)明提出一種機會網(wǎng)絡的相遇預測和距離感知的路由轉(zhuǎn)發(fā)方法及系統(tǒng)。其基本原理如下。
相遇預測概率表示為節(jié)點周圍的節(jié)點數(shù)量,并且這是一種消息多復制的方法。算法的核心思想在于:經(jīng)歷更多相遇節(jié)點的這樣的節(jié)點,也就是相遇預測概率高的節(jié)點,有更大的成功率可以將消息傳送給最終的目標節(jié)點。同時,為了避免節(jié)點往背離目標節(jié)點的方向傳輸,這里加入了距離的考慮,每次傳輸都必須更接近目標節(jié)點,解決了現(xiàn)有路由轉(zhuǎn)換算法中的無法兼顧延時和轉(zhuǎn)發(fā)成功率,以及轉(zhuǎn)發(fā)效率及成功率較低的技術(shù)問題,具有很高的商業(yè)價值和實用性。