国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于車載Adhoc網(wǎng)絡中的數(shù)據(jù)包貪婪轉(zhuǎn)發(fā)的方法

      文檔序號:7927297閱讀:176來源:國知局
      專利名稱:用于車載Ad hoc網(wǎng)絡中的數(shù)據(jù)包貪婪轉(zhuǎn)發(fā)的方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種新型網(wǎng)絡架構(gòu)中的數(shù)據(jù)傳輸方法,確切地說,涉及一種用 于城市道路環(huán)境的車載Adhoc網(wǎng)絡中數(shù)據(jù)包貪婪轉(zhuǎn)發(fā)的方法,屬于移動通信中 移動自組織網(wǎng)絡應用的技術(shù)領(lǐng)域。
      背景技術(shù)
      車載Ad Hoc網(wǎng)絡VANET ( vehicle ad hoc networks )是一種特殊的自組織 移動Ad Hoc網(wǎng)絡,該網(wǎng)絡的節(jié)點是由裝備無線收發(fā)裝置的機動車輛所組成。 近年來,由于城市車輛的迅速增加造成交通堵塞的現(xiàn)象日趨嚴重,甚至交通事 故頻頻發(fā)生。因此,使用車載網(wǎng)絡進行車輛之間或控制臺與各個車輛之間的通 信,以疏通交通流量或提高物流企業(yè)的功效而對該車載Ad Hoc網(wǎng)絡開展研究 和應用已經(jīng)逐漸成為一個研究熱點。由于車輛的高速移動以及街道障礙物阻擋 等多種原因,車載Ad hoc網(wǎng)絡具有不同于普通Ad hoc網(wǎng)絡的顯著特點,其 中之一是網(wǎng)絡分割現(xiàn)象特別嚴重,在一個高速移動、且各個節(jié)點的趨向不確定 的環(huán)境中,要想隨時隨地維持網(wǎng)絡結(jié)構(gòu)的拓樸信息勢必導致網(wǎng)絡負載顯著增加, 使得路由問題更加復雜。
      但是,由于車載通信設(shè)備可以通過其發(fā)動機獲得電力支持,能源供應比較充 足,而且車輛的承載空間可以確保天線的尺寸和裝載其他額外的通信設(shè)備不會受 到限制,這樣就能夠確保車載AdHoc網(wǎng)絡的節(jié)點具有強大的信息處理和海量存 儲等多種功能。再者,由于在城市環(huán)境中,車輛必須沿著既定的道路前進或后退, 這就使得其運動軌跡具有一定的規(guī)律性和可預測性,即人們能夠預測車載Ad Hoc網(wǎng)絡節(jié)點的下一時刻位置。再者,發(fā)展迅速的全球定位服務GPS (global positioningsystem)系統(tǒng)能夠為車載AdHoc網(wǎng)絡節(jié)點提供精確定位和精準的時鐘 信息,有利于獲取車載Ad Hoc網(wǎng)絡各節(jié)點獲取自身的位置信息和實現(xiàn)時鐘同步。
      目前,如何結(jié)合車載AdHoc網(wǎng)絡的上述特點,找到一種適應于城市環(huán)境 的車載Ad hoc網(wǎng)絡中數(shù)據(jù)包轉(zhuǎn)發(fā)的方法是一個需要解決的重要的技術(shù)問題。

      發(fā)明內(nèi)容
      有鑒于此,本發(fā)明的目的是提供一種適應于城市道^各環(huán)境的車載Ad hoc網(wǎng) 絡中數(shù)據(jù)包貪婪轉(zhuǎn)發(fā)的方法,該方法充分利用車載Ad Hoc網(wǎng)絡節(jié)點的特性, 在數(shù)據(jù)包的遞交率、時延、平均跳數(shù)、物理層發(fā)送的總數(shù)據(jù)量等指標上都優(yōu) 于目前使用的其他算法,且操作步驟簡單、易行,計算工作的復雜度低,能 夠滿足實時傳輸?shù)囊蟆?br> 為了達到上述目的,本發(fā)明提供了一種適應于城市環(huán)境的車載Adhoc網(wǎng)絡 中數(shù)據(jù)包貪婪轉(zhuǎn)發(fā)的方法,其特征在于,包括下列操作步驟
      (1 )把城市的道路環(huán)境建模為具有權(quán)重值的無向圖在該無向圖中,端點 集是道路的岔路口的集合,邊集是兩個岔路口之間的街道的集合;車輛在該 無向圖中的移動是沿著邊從一個端點移動到另一個端點,街道的權(quán)重值取決于 街道交通流量信息和街道的物理長度;
      (2)對數(shù)據(jù)包轉(zhuǎn)發(fā)路徑中的岔路口進行動態(tài)選擇和更新根據(jù)目的節(jié)點 的位置信息和城市道路環(huán)境的實時建模信息,對數(shù)據(jù)包轉(zhuǎn)發(fā)路徑中的岔路口進 行動態(tài)選擇和更新,持有數(shù)據(jù)包的節(jié)點在岔路口區(qū)域更新數(shù)據(jù)包中的岔路口 序列;
      (3 )每個節(jié)點維持一個鄰居列表,并預測車輛節(jié)點位置和維護鄰居列表 利用街道上移動的車輛所在地理位置具有可預測性的特點和預測車輛節(jié)點 位置的方法,每個節(jié)點預測其鄰居節(jié)點的當前位置,并及時更新其鄰居列表, 以便減少信息維護工作量,并提高鄰居列表信息的有效性;
      (4)目的節(jié)點更新其位置消息當目的節(jié)點移動到新的街道上后,向中間 節(jié)點廣播其位置更新消息;中間節(jié)點緩存該位置更新消息或用該位置更新消息
      更新原有記錄后,轉(zhuǎn)發(fā)該位置更新消息;當需要時,中間節(jié)點利用目的節(jié)點的 最新位置信息和實時建模信息進行岔路口的動態(tài)選擇和數(shù)據(jù)包的轉(zhuǎn)發(fā);
      (5 )基于貪婪轉(zhuǎn)發(fā)策略對數(shù)據(jù)包進行轉(zhuǎn)發(fā)中間節(jié)點在轉(zhuǎn)發(fā)數(shù)據(jù)包而進 行下一跳選擇之前,先利用位置預測算法查看目的節(jié)點是否為其鄰居節(jié)點,如 果是,則直接把數(shù)據(jù)包發(fā)給目的節(jié)點;否則,根據(jù)中間節(jié)點位于岔路口區(qū)域還 是兩個岔路口之間的道路上,分別執(zhí)行相應的貪婪轉(zhuǎn)發(fā)策略轉(zhuǎn)發(fā)數(shù)據(jù)包
      所述步驟(1)的無向圖中,分別采用/e"g決(w,")和," 爐c(w,")表示盆^各口 m 和n之間的街道物理長度及其交通流量信息,后者的量綱是單位時間內(nèi)經(jīng)過該 街道的車輛數(shù)量;設(shè)置岔^各口 m和n之間的雄f道權(quán)值為 w/g似(w,w) = /e"gAaO,")〃ra」^^0,"),式中,兩個調(diào)整系數(shù)a和/ 都大于或等于 零,該兩個數(shù)值分別決定街道的物理長度和交通流量信息在選擇中間轉(zhuǎn)發(fā)節(jié)點 時所考慮的因素的份量大小,a = 0時表示街道的權(quán)值只取決于交通流量信息, / = 0時表示街道的權(quán)值僅取決于街道的物理長度。
      所述步驟(2)中,由源節(jié)點到目的節(jié)點的轉(zhuǎn)發(fā)數(shù)據(jù)包過程中,所經(jīng)歷的
      多個岔路口組成一個盆路口序列;且為適應城市道路環(huán)境的實時建模信息, 對轉(zhuǎn)發(fā)數(shù)據(jù)包路徑中的每個岔路口都要逐個計算和動態(tài)選擇;每個數(shù)據(jù)包的 包頭中含有兩個岔路口標識當前岔路口 CJ和前一岔i 各口 PJ,前者是數(shù)據(jù) 包正在走向的岔路口標識,后者為該數(shù)據(jù)包剛剛離開的岔路口標識。
      所述對數(shù)據(jù)包轉(zhuǎn)發(fā)路徑中的岔路口進行動態(tài)選擇和更新的方法是當產(chǎn)生 數(shù)據(jù)包的源節(jié)點或持有數(shù)據(jù)包的中間節(jié)點走進某個岔路口區(qū)域時,要根據(jù) 目的節(jié)點的位置信息,按照圖論中的最小花費算法動態(tài)選擇下一個岔路口 作為其前進方向;優(yōu)先選擇的原則是距離短和車輛流量密度大的街道;完
      成選擇后,持有數(shù)據(jù)包的節(jié)點要更新其岔路口序列把剛剛選擇的岔路口 更新為當前盆路口 CJ,而把該數(shù)據(jù)包剛經(jīng)過的岔路口更新為前一岔路口 PJ。
      所述岔路口區(qū)域是指車載Ad Hoc網(wǎng)絡中的節(jié)點到達某個岔路口的距離 長度小于設(shè)定數(shù)值的地域范圍。
      所述鄰居節(jié)點是指兩個節(jié)點之間相互在對方的通信范圍之內(nèi),且沒有被建 筑物阻擋時,則稱該兩個節(jié)點具有鄰居關(guān)系,或者說其中一個節(jié)點是另外一個
      節(jié)點的鄰居節(jié)點。
      所述鄰居列表的信息是通過相鄰的節(jié)點間廣播問候消息HELLO完成交互 的,該HELLO消息包括節(jié)點標識ID、節(jié)點當前所在的地理位置、時間戳、 節(jié)點的當前速度及其移動方向;收到鄰居節(jié)點發(fā)送來的HELLO消息后, 節(jié)點對鄰居列表中的相關(guān)信息進行更新;為減少HELLO消息發(fā)送頻率和 提高鄰居列表信息的有效性,節(jié)點利用位置預測方法對鄰居列表中的各個鄰 居節(jié)點的當前位置進行預測,并從鄰居列表中刪除已經(jīng)走出當前街道的節(jié)點; 同時任何一個節(jié)點離開岔路口區(qū)域時,都要立即廣播發(fā)送一個聲明該節(jié)點的最 新位置信息的HELLO消息,以便讓其他節(jié)點更新其鄰居列表中該離開岔路口 的節(jié)點的信息;
      所述車輛節(jié)點的位置預測方法是假設(shè)當前時間為"節(jié)點/的位置是 (x,,y,),其速度是v,,走向岔路口 B的位置坐標是(&,力),前一個岔路口 A
      位置坐標是(x^,:o; cfo(A萬)是兩個岔路口 ^到萬的距離;則在?+&,其中
      A"cfo(/,s)/v,時刻,該節(jié)點仍然在該雍f道上移動的位置坐標是
      (x,+A"v,x(xs—x》/cfoCS,爿),y,+A"v,xOs-^)/flfe(5,), 而在"Af , 其中 A,〉^(/,5)/v,時刻,該節(jié)點/可能已經(jīng)走出當前街道而進入另一條街道上。
      當中間節(jié)點位于岔路口區(qū)域時,所述貪婪轉(zhuǎn)發(fā)策略轉(zhuǎn)發(fā)數(shù)據(jù)包的方法是 根據(jù)中間節(jié)點的鄰居列表進行位置預測,從走向當前岔路口的鄰居節(jié)點中選擇 其中距離當前岔路口最近的節(jié)點作為下一跳節(jié)點;如果沒有找到相應的節(jié)點, 則把數(shù)據(jù)包暫存到緩存中,再使用探尋算法周期性地尋找是否有新的節(jié)點走進 其通信范圍;如果該中間節(jié)點離開岔路口區(qū)域但仍然沒有找到一個合適的鄰居 節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)時,則用該中間節(jié)點離開的岔路口和走向的岔路口分別替換數(shù)據(jù) 包中的當前岔路口和前一岔路口;該方法的具體操作步驟如下
      (5A)更新鄰居列表計算鄰居列表中各個鄰居節(jié)點的當前地理位置,并 從鄰居列表中刪除與本節(jié)點不再具有鄰居關(guān)系的節(jié)點;
      (5B)從鄰居列表中走向當前岔路口的各鄰居節(jié)點中,查找距離當前盆路
      口最近的節(jié)點作為下一跳節(jié)點,若能夠找到,則跳轉(zhuǎn)執(zhí)行步驟(5D),否則, 順序執(zhí)行步驟(5C);
      (5C)把數(shù)據(jù)包暫存于緩存,再循環(huán)執(zhí)行探尋算法,尋找是否有新的節(jié)點 走進其通信范圍;若探尋成功,則返回執(zhí)行步驟(5A),否則,結(jié)束本跳操作;
      (5D)把數(shù)據(jù)包轉(zhuǎn)發(fā)給該找到的下一跳節(jié)點,結(jié)束本跳操作。
      當中間節(jié)點位于兩個岔路口之間的道路上時,所述貪婪轉(zhuǎn)發(fā)策略轉(zhuǎn)發(fā)數(shù)
      據(jù)包的方法是根據(jù)中間節(jié)點的鄰居列表選擇距離當前岔路口最近的節(jié)點作
      為下一跳節(jié)點;如杲?jīng)]有找到相應的節(jié)點,就把數(shù)據(jù)包暫存到緩存中,使用
      探尋算法周期性地探尋是否有新的節(jié)點走進它的通信范圍;該方法的具體操 作步驟如下
      (5a)更新鄰居列表計算鄰居列表中各個鄰居節(jié)點的當前地理位置, 并從鄰居列表中刪除與本節(jié)點不再具有鄰居關(guān)系的節(jié)點;
      (5b )從鄰居列表中查找距離當前岔路口最近的節(jié)點作為下一跳節(jié)點, 若能夠找到,則跳轉(zhuǎn)執(zhí)行步驟(5d),否則,順序執(zhí)行步驟(5c);
      (5c)把數(shù)據(jù)包暫存于緩存,再循環(huán)執(zhí)行探尋算法,尋找是否有新的節(jié) 點走進其通信范圍;若探尋成功,則返回執(zhí)行步驟(5a),否則,結(jié)束本跳操作;
      (5d)把數(shù)據(jù)包轉(zhuǎn)發(fā)給該找到的下一跳節(jié)點,結(jié)束本跳操作。 所述探尋算法的具體操作內(nèi)容是
      A、 持有數(shù)據(jù)包的節(jié)點廣播一個探尋請求消息,該探尋請求消息中包含該 節(jié)點的當前位置信息和當前盆路口 ,并設(shè)置一個定時器;
      B、 在定時器超時之前,如果有節(jié)點接收到該探尋請求,并且其位置位于 持有數(shù)據(jù)包的節(jié)點和當前岔路口之間,則該節(jié)點立即返回探尋響應消息,該響 應消息中包含收到探尋請求節(jié)點的ID、該收到探尋請求節(jié)點的地理位置信息、 當前速度及其移動方向;持有數(shù)據(jù)包的節(jié)點接收到探尋響應消息后,提取探 尋響應消息中的相關(guān)數(shù)據(jù)并更新鄰居列表;并在定時器到達設(shè)定時間后,結(jié)束 本次探尋操作,探尋成功;
      C、 在定時器超時之前,如果沒有任何響應消息,這時持有數(shù)據(jù)包的節(jié)點
      可能走到一個網(wǎng)絡的邊緣,即出現(xiàn)網(wǎng)絡分割現(xiàn)象;此時,該持有數(shù)據(jù)包的節(jié) 點將延遲一段時間后重新返回執(zhí)行步驟A的操作;若重復執(zhí)行步驟A的操作達 到設(shè)定的次數(shù),仍未探尋成功,則該持有數(shù)據(jù)包的節(jié)點丟棄數(shù)據(jù)包,探尋失敗。 本發(fā)明的優(yōu)點和效果是采用仿真工具NS2對本發(fā)明方法進行的大量仿 真實施試驗結(jié)果表明,本發(fā)明方法在遞交率、時延、平均跳數(shù)、物理層發(fā)送 的總數(shù)據(jù)量等指標上都優(yōu)于目前使用的其他算法,且操作步驟簡單、易行,計 算工作復雜度低,能夠滿足實時傳輸?shù)囊蟆?br>

      圖1是本發(fā)明適應于城市環(huán)境的車載Ad hoc網(wǎng)絡中數(shù)據(jù)包貪婪轉(zhuǎn)發(fā)的方法 操作步驟流程圖。
      具體實施例方式
      為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖對本發(fā)明作 進一步的詳細描述。
      本發(fā)明是一種適應于城市環(huán)境的車載Ad hoc網(wǎng)絡對數(shù)據(jù)包采用貪婪轉(zhuǎn)發(fā) 的路由實現(xiàn)方法,該方法包括下列操作步驟
      步驟1、把城市的道路環(huán)境建模為具有權(quán)重值的無向圖在該無向圖中, 端點集是道路的岔路口的集合,邊集是兩個岔路口之間的街道的集合。車輛 在該無向圖中的移動是沿著邊從一個端點移動到另一個端點,街道的權(quán)重值取 決于街道交通流量信息和街道的物理長度。
      在該無向圖中,分別采用/e"gAO,")和rra^ c(w,")表示兩個盆路口 m和n之
      間的街道物理長度及其交通流量信息,前者的量綱是米和千米,后者的量綱是
      單位時間內(nèi)經(jīng)過該街道的車輛數(shù)量;再設(shè)置盆路口 m和n之間的街道權(quán)值為
      ,ig/z"附,")=/e"g決"O,") / fr^#c" (w,"),式中,兩個調(diào)整系數(shù)a和"都大于或等于
      零,該兩個數(shù)值分別決定街道的物理長度和交通流量信息在進行轉(zhuǎn)發(fā)節(jié)點選擇
      時所考慮的因素的份量大小,"=0時表示街道的權(quán)值只取決于交通流量信息,
      / = 0時表示街道的權(quán)值僅取決于街道的物理長度。
      步驟2、對數(shù)據(jù)包轉(zhuǎn)發(fā)路徑中的岔路口進行動態(tài)選擇和更新根據(jù)目的節(jié) 點的位置信息和城市道路環(huán)境的實時建模信息,對數(shù)據(jù)包轉(zhuǎn)發(fā)路徑中的岔路口 進行動態(tài)選擇和更新,持有數(shù)據(jù)包的節(jié)點在岔路口區(qū)域更新數(shù)據(jù)包中的岔路 口序列。
      在由源節(jié)點到目的節(jié)點的轉(zhuǎn)發(fā)過程中,數(shù)據(jù)包要經(jīng)歷許多個岔路口; 這些盆路口組成一個盆路口序列。而且,為了適應城市道路交通的實時建模 信息,本發(fā)明對數(shù)據(jù)包轉(zhuǎn)發(fā)路徑中的每個盆路口都是逐個計算和動態(tài)選擇 的。被轉(zhuǎn)發(fā)的每個數(shù)據(jù)包的包頭中含有兩個岔路口標識 一個是數(shù)據(jù)包正 在走向的岔路口的標識,稱為當前岔路口 CJ;另一個是數(shù)據(jù)包剛剛離開的 盆3各口的標識,稱為前一岔if各口 PJ。
      本發(fā)明的數(shù)據(jù)包在轉(zhuǎn)發(fā)路徑中對岔路口進行動態(tài)選擇和更新的方法是當 產(chǎn)生數(shù)據(jù)包的源節(jié)點或持有數(shù)據(jù)包的中間節(jié)點走進某個岔路口區(qū)域(即車載 Ad Hoc網(wǎng)絡中的節(jié)點到達某個盆路口的距離長度小于設(shè)定數(shù)值的地域范圍) 時,要根據(jù)目的節(jié)點的位置信息,按照圖論中的Dijkstra最小花費算法動態(tài) 選擇下一個盆路口作為其前進方向;優(yōu)先選擇的原則是距離短和車輛流量
      密度大的街道。完成選擇后,持有數(shù)據(jù)包的節(jié)點在岔路口區(qū)域要更新數(shù)據(jù) 包中的岔路口序列把剛剛選擇的岔路口更新為當前岔路口 CJ,而把該數(shù) 據(jù)包剛經(jīng)過的岔路口更新為前一岔路口 PJ。
      步驟3、每個節(jié)點維持一個鄰居列表,并預測車輛節(jié)點位置和維護鄰居列 表利用街道上移動的車輛所在地理位置具有可預測性的特點和預測車輛 節(jié)點位置的方法,每個節(jié)點預測其鄰居節(jié)點(鄰居節(jié)點是指當兩個節(jié)點之間相 互都在對方的通信范圍之內(nèi),且沒有被建筑物阻擋時,該兩個節(jié)點被稱為有鄰 居關(guān)系,或者說其中一個節(jié)點是另一個節(jié)點的鄰居節(jié)點)的當前位置,并及時 更新其鄰居列表,以便減少信息維護工作量,并提高鄰居列表信息的有效性。
      在車載AdHoc網(wǎng)絡中,因為車輛是在城市設(shè)定的街道上移動,因此
      可以預測其地理位置。本發(fā)明使用的預測車輛節(jié)點的位置的計算方法如下 假設(shè)當前時間為"節(jié)點/的位置是(x,,力,其速度是v,.,走向岔路口 B
      的位置坐標是(&,"),前一個岔路口 A的位置坐標是Oc,,h); ^(AB)是兩
      個盆路口 j到5的3巨離;
      貝'j在"Ar,其中A"cfo(/,5)/v,時刻,該節(jié)點仍然在該雄f道上移動的位置坐
      才示是(jc,十Afxv, x(>s — j^)/(i&(J5,^), 少,+ Af xv,. x(少s—3^)/d&(5,v4)); 而在Z + A/, 其
      中Af > cfo(/,S)/v,時刻,該節(jié)點/可能已經(jīng)走出當前潛f道而進入另 一條潛f道上了 。
      本發(fā)明中,每個節(jié)點都維持的鄰居列表的信息是通過相鄰的節(jié)點間廣播問 候消息HELLO完成交互的。該HELLO消息包括節(jié)點標識ID 、節(jié)點當前所 在的地理位置、時間戳、節(jié)點的當前速度及其移動方向。節(jié)點收到鄰居節(jié) 點發(fā)送來的HELLO消息后,對鄰居列表中的上述信息進行更新。
      因為車輛通常處于高速移動中,導致網(wǎng)絡拓樸結(jié)構(gòu)變化迅速。在節(jié)點 高速運動的情況下,鄰居列表有時并不能真實、有效地反映網(wǎng)絡的實際情 況;但是,提高HELLO消息的發(fā)送頻率又會增加網(wǎng)絡負載。本發(fā)明是利 用上述位置預測計算方法來提高鄰居列表信息的有效性和降低HELLO消 息發(fā)送的頻率。節(jié)點z'是利用位置預測方法對鄰居列表中的鄰居節(jié)點的當前位 置進行預測,并從鄰居列表中刪除已經(jīng)走出當前街道的節(jié)點;同時,任何一個 節(jié)點離開岔路口區(qū)域時,都要立即廣播發(fā)送一個聲明該節(jié)點的最新位置信息的 HELLO消息,以便讓其他節(jié)點更新其鄰居列表中該離開岔路口的節(jié)點的信息。
      步驟4、目的節(jié)點更新其位置消息當目的節(jié)點移動到新的街道上后,向 中間節(jié)點廣播其位置更新消息;該位置更新消息包括消息ID、目的節(jié)點的IP地 址、當前速度、位置信息及其運動方向,即目的節(jié)點剛剛離開的岔路口 ID和走 向的盆路口 ID。中間節(jié)點緩存該位置更新消息或用該位置更新消息更新原有記 錄后,轉(zhuǎn)發(fā)該位置更新消息;當需要時,中間節(jié)點利用目的節(jié)點的最新位置信 息和實時建模信息進行岔路口的動態(tài)選擇和數(shù)據(jù)包的轉(zhuǎn)發(fā)。
      步驟5、基于貪婪轉(zhuǎn)發(fā)策略對數(shù)據(jù)包進行轉(zhuǎn)發(fā)中間節(jié)點在轉(zhuǎn)發(fā)數(shù)據(jù)包
      而選擇下一跳節(jié)點之前,先利用位置預測算法查看目的節(jié)點是否為其鄰居節(jié)點,
      如果是,則直接把數(shù)據(jù)包發(fā)給目的節(jié)點;否則,根據(jù)中間節(jié)點位于岔路口區(qū)域 或兩個岔路口之間的道路上的不同,分別執(zhí)行相應的貪婪轉(zhuǎn)發(fā)策略轉(zhuǎn)發(fā)數(shù)據(jù) 包。
      下面分別介紹上述兩種貪婪轉(zhuǎn)發(fā)策略的具體操作過程
      (一) 當中間節(jié)點位于岔路口區(qū)域時,貪婪轉(zhuǎn)發(fā)策略轉(zhuǎn)發(fā)數(shù)據(jù)包的方法 是根據(jù)中間節(jié)點的鄰居列表進行位置預測,從走向當前岔路口的鄰居節(jié)點中 選擇其中距離當前盆路口最近的節(jié)點作為下一跳節(jié)點;如果沒有找到相應的節(jié)
      點,則把數(shù)據(jù)包暫存到緩存中,再使用探尋算法周期性地尋找是否有新的節(jié)點 走進其通信范圍;如果該中間節(jié)點離開岔路口區(qū)域但仍然沒有找到一個合適的 鄰居節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)時,則用該中間節(jié)點離開的岔路口和走向的岔路口分別替換 數(shù)據(jù)包中的當前岔路口和前一岔路口 。該方法的具體操作步驟如下
      (5A)更新鄰居列表計算鄰居列表中各個鄰居節(jié)點的當前地理位置,并 從鄰居列表中刪除與本節(jié)點不再具有鄰居關(guān)系的節(jié)點;
      (5B )從鄰居列表中走向當前岔路口的各個鄰居節(jié)點中,查找距離當前岔 路口最近的節(jié)點作為下一跳節(jié)點,若能夠找到,則跳轉(zhuǎn)執(zhí)行步驟(5D),否貝'J, 順序執(zhí)行步驟(5C);
      (5C)把數(shù)據(jù)包暫存于緩存,再循環(huán)執(zhí)行探尋算法,尋找是否有新的節(jié)點 走進其通信范圍;若探尋成功,則返回執(zhí)行步驟(5A),否則,結(jié)束本跳操作;
      (5D)把數(shù)據(jù)包轉(zhuǎn)發(fā)給該找到的下一跳節(jié)點,結(jié)束本跳操作。
      (二) 當中間節(jié)點位于兩個盆路口之間的道路上時,貪婪轉(zhuǎn)發(fā)策略轉(zhuǎn)發(fā) 數(shù)據(jù)包的方法是根據(jù)中間節(jié)點的鄰居列表選擇距離當前岔路口最近的節(jié)點 作為下一跳節(jié)點;如果沒有找到相應的節(jié)點,就把數(shù)據(jù)包暫存到緩存中,使 用探尋算法周期性地探尋是否有新的節(jié)點走進它的通信范圍。該方法的具體 操作步驟如下
      (5a)更新鄰居列表計算鄰居列表中各個鄰居節(jié)點的當前地理位置, 并從鄰居列表中刪除與本節(jié)點不再具有鄰居關(guān)系的節(jié)點; (5b )從鄰居列表中查找距離當前盆路口最近的節(jié)點作為下一跳節(jié)點, 若能夠找到,則跳轉(zhuǎn)執(zhí)行步驟(5d),否則,順序執(zhí)行步驟(5c);
      (5c)把數(shù)據(jù)包暫存于緩存,再循環(huán)執(zhí)行探尋算法,尋找是否有新的節(jié) 點走進其通信范圍;若探尋成功,則返回執(zhí)行步驟(5a),否則,結(jié)束本跳操作;
      (5d)把數(shù)據(jù)包轉(zhuǎn)發(fā)給該找到的下一跳節(jié)點,結(jié)束本跳操作。 在步驟5中,探尋算法的具體操作內(nèi)容如下
      A、 持有數(shù)據(jù)包的節(jié)點先廣播一個探尋請求消息,該探尋請求消息中包含 該節(jié)點的當前位置信息和當前岔路口 ,并設(shè)置一個定時器;
      B、 在定時器超時之前,如果有節(jié)點接收到該探尋請求,并且其位置位于 持有數(shù)據(jù)包的節(jié)點和當前岔路口之間,則該節(jié)點立即返回探尋響應消息,該響 應消息中包含收到探尋請求節(jié)點的ID、該收到探尋請求節(jié)點的地理位置信息、 當前速度及其移動方向;持有數(shù)據(jù)包的節(jié)點接收到探尋響應消息后,提取探 尋響應消息中的相關(guān)數(shù)據(jù)并更新鄰居列表;并在定時器到達設(shè)定時間后,結(jié)束 本次探尋操作,探尋成功;
      C、 在定時器超時之前,如果沒有任何響應消息,這時持有數(shù)據(jù)包的節(jié)點 可能走到一個網(wǎng)絡的邊緣,即出現(xiàn)網(wǎng)絡分割現(xiàn)象;此時,該定時器將延遲一 段時間后重新返回執(zhí)行步驟A的操作;若重復執(zhí)行步驟A的操作達到設(shè)定的次 數(shù)后,仍未探尋成功,則持有數(shù)據(jù)包的節(jié)點丟棄數(shù)據(jù)包,探尋失敗。
      申請人對本發(fā)明方法進行了仿真實施試驗,通過理論分析和仿真實施例的 實驗論證,證明本發(fā)明的方法是有效的,能夠?qū)崿F(xiàn)發(fā)明目的。
      權(quán)利要求
      1.一種適應于城市環(huán)境的車載Ad hoc網(wǎng)絡中數(shù)據(jù)包貪婪轉(zhuǎn)發(fā)的方法,其特征在于,包括下列操作步驟(1)把城市的道路環(huán)境建模為具有權(quán)重值的無向圖在該無向圖中,端點集是道路的岔路口的集合,邊集是兩個岔路口之間的街道的集合;車輛在該無向圖中的移動是沿著邊從一個端點移動到另一個端點,街道的權(quán)重值取決于街道交通流量信息和街道的物理長度;(2)對數(shù)據(jù)包轉(zhuǎn)發(fā)路徑中的岔路口進行動態(tài)選擇和更新根據(jù)目的節(jié)點的位置信息和城市道路環(huán)境的實時建模信息,對數(shù)據(jù)包轉(zhuǎn)發(fā)路徑中的岔路口進行動態(tài)選擇和更新,持有數(shù)據(jù)包的節(jié)點在岔路口區(qū)域更新數(shù)據(jù)包中的岔路口序列;(3)每個節(jié)點維持一個鄰居列表,并預測車輛節(jié)點位置和維護鄰居列表利用街道上移動的車輛所在地理位置具有可預測性的特點和預測車輛節(jié)點位置的方法,每個節(jié)點預測其鄰居節(jié)點的當前位置,并及時更新其鄰居列表,以便減少信息維護工作量,并提高鄰居列表信息的有效性;(4)目的節(jié)點更新其位置消息當目的節(jié)點移動到新的街道上后,向中間節(jié)點廣播其位置更新消息;中間節(jié)點緩存該位置更新消息或用該位置更新消息更新原有記錄后,轉(zhuǎn)發(fā)該位置更新消息;當需要時,中間節(jié)點利用目的節(jié)點的最新位置信息和實時建模信息進行岔路口的動態(tài)選擇和數(shù)據(jù)包的轉(zhuǎn)發(fā);(5)基于貪婪轉(zhuǎn)發(fā)策略對數(shù)據(jù)包進行轉(zhuǎn)發(fā)中間節(jié)點在轉(zhuǎn)發(fā)數(shù)據(jù)包而進行下一跳選擇之前,先利用位置預測算法查看目的節(jié)點是否為其鄰居節(jié)點,如果是,則直接把數(shù)據(jù)包發(fā)給目的節(jié)點;否則,根據(jù)中間節(jié)點位于岔路口區(qū)域還是兩個岔路口之間的道路上,分別執(zhí)行相應的貪婪轉(zhuǎn)發(fā)策略轉(zhuǎn)發(fā)數(shù)據(jù)包
      2、 根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟(1)的無向圖中, 分別采用/ewg晰w,")和w)表示盆^各口 m和n之間的雍f道物理長度及其交 通流量信息,后者的量綱是單位時間內(nèi)經(jīng)過該街道的車輛數(shù)量;設(shè)置岔路口 m和n之間的雀f道斥又值為weZg似(附,w) = /e"g^" O, ") / ^ ^ 一 (w,"),式中,兩個調(diào)整系 數(shù)《和/ 都大于或等于零,該兩個數(shù)值分別決定街道的物理長度和交通流量信 息在選擇中間轉(zhuǎn)發(fā)節(jié)點時所考慮的因素的份量大小,"=0時表示街道的權(quán)值只 取決于交通流量信息,- = 0時表示街道的權(quán)值僅取決于街道的物理長度。
      3、 根據(jù)權(quán)利要求1所述的方法,其特征在于所述步驟(2)中,由源節(jié) 點到目的節(jié)點的轉(zhuǎn)發(fā)數(shù)據(jù)包過程中,所經(jīng)歷的多個岔路口組成一個岔路口 序列;且為適應城市道路環(huán)境的實時建模信息,對轉(zhuǎn)發(fā)數(shù)據(jù)包路徑中的每個 盆路口都要逐個計算和動態(tài)選擇;每個數(shù)據(jù)包的包頭中含有兩個岔路口標 識當前盆路口 CJ和前一岔路口 PJ,前者是數(shù)據(jù)包正在走向的岔路口標識, 后者為該數(shù)據(jù)包剛剛離開的岔路口標識。
      4、 根據(jù)權(quán)利要求1所述的方法,其特征在于所述對數(shù)據(jù)包轉(zhuǎn)發(fā)路徑中的岔路口進行動態(tài)選擇和更新的方法是當產(chǎn)生數(shù)據(jù)包的源節(jié)點或持有數(shù)據(jù)包 的中間節(jié)點走進某個盆路口區(qū)域時,要根據(jù)目的節(jié)點的位置信息,按照圖論中的最小花費算法動態(tài)選擇下一個岔路口作為其前進方向;優(yōu)先選擇的 原則是距離短和車輛流量密度大的街道;完成選擇后,持有數(shù)據(jù)包的節(jié)點 要更新其盆路口序列把剛剛選擇的岔路口更新為當前岔路口 CJ,而把該 數(shù)據(jù)包剛經(jīng)過的岔路口更新為前一岔路口 PJ。
      5、 根據(jù)權(quán)利要求4所述的方法,其特征在于所述岔路口區(qū)域是指車載 Ad Hoc網(wǎng)絡中的節(jié)點到達某個岔路口的距離長度小于設(shè)定數(shù)值的地域范圍。
      6、 才艮據(jù)權(quán)利要求1所述的方法,其特征在于所述鄰居節(jié)點是指兩個節(jié)點 之間相互在對方的通信范圍之內(nèi),且沒有被建筑物阻擋時,則稱該兩個節(jié)點具 有鄰居關(guān)系,或者說其中一個節(jié)點是另外一個節(jié)點的鄰居節(jié)點。
      7、 根據(jù)權(quán)利要求1所述的方法,其特征在于所述鄰居列表的信息是通過 相鄰的節(jié)點間廣播問候消息HELLO完成交互的,該HELLO消息包括節(jié)點標 識ID、節(jié)點當前所在的地理位置、時間戳、節(jié)點的當前速度及其移動方向; 收到鄰居節(jié)點發(fā)送來的HELLO消息后,節(jié)點對鄰居列表中的相關(guān)信息進 行更新;為減少HELLO消息發(fā)送頻率和提高鄰居列表信息的有效性,節(jié) 點利用位置預測方法對鄰居列表中的各個鄰居節(jié)點的當前位置進行預測,并從 鄰居列表中刪除已經(jīng)走出當前街道的節(jié)點;同時任何一個節(jié)點離開岔路口區(qū)域 時,都要立即廣播發(fā)送一個聲明該節(jié)點最新位置信息的HELLO消息,以便讓 其他節(jié)點更新其鄰居列表中該離開岔路口的節(jié)點的信息;所述車輛節(jié)點的位置預測方法是假設(shè)當前時間為z,節(jié)點/的位置是 (jc,,y,),其速度是v,,走向岔路口 B的位置坐標是(^,&),前一個岔路口 A 位置坐標是(^,力);cfo(AB)是兩個岔路口 ^到S的距離;則在,+ ",其中 〈^fo(i,B)/v,日十刻,該節(jié)點仍然在該凝f道上移動的位置坐標是(x,+A"v,x(xs-jc》/必(5,, y,+A"v,x(;;「:^)/ifoC8,爿)),而在,+ A,, 其中 Ab必(/,^/v,時刻,該節(jié)點/可能已經(jīng)走出當前街道而進入另一條街道上。
      8、根據(jù)權(quán)利要求1所述的方法,其特征在于當中間節(jié)點位于岔路口區(qū)域 時,所述貪婪轉(zhuǎn)發(fā)策略轉(zhuǎn)發(fā)數(shù)據(jù)包的方法是根據(jù)中間節(jié)點的鄰居列表進行 位置預測,從走向當前岔路口的鄰居節(jié)點中選擇其中距離當前岔路口最近的節(jié) 點作為下一跳節(jié)點;如果沒有找到相應的節(jié)點,則把數(shù)據(jù)包暫存到緩存中,再 使用探尋算法周期性地尋找是否有新的節(jié)點走進其通信范圍;如果該中間節(jié)點 離開岔路口區(qū)域但仍然沒有找到一個合適的鄰居節(jié)點轉(zhuǎn)發(fā)數(shù)據(jù)時,則用該中間 節(jié)點離開的盆路口和走向的岔路口分別替換數(shù)據(jù)包中的當前岔路口和前一岔路 口;該方法的具體梯:作步驟如下(5A)更新鄰居列表計算鄰居列表中各個鄰居節(jié)點的當前地理位置,并 從鄰居列表中刪除與本節(jié)點不再具有鄰居關(guān)系的節(jié)點;(5B)從鄰居列表中走向當前岔路口的各鄰居節(jié)點中,查找距離當前岔路 口最近的節(jié)點作為下一跳節(jié)點,若能夠找到,則跳轉(zhuǎn)執(zhí)行步驟(5D),否則, 順序執(zhí)行步驟(5C );(5C)把數(shù)據(jù)包暫存于緩存,再循環(huán)執(zhí)行探尋算法,尋找是否有新的節(jié)點 走進其通信范圍;若探尋成功,則返回執(zhí)行步驟(5A),否則,結(jié)束本跳操作;(5D)把數(shù)據(jù)包轉(zhuǎn)發(fā)給該找到的下一跳節(jié)點,結(jié)束本跳操作。
      9、 根據(jù)權(quán)利要求1所述的方法,其特征在于當中間節(jié)點位于兩個岔路 口之間的道路上時,所述貪婪轉(zhuǎn)發(fā)策略轉(zhuǎn)發(fā)數(shù)據(jù)包的方法是根據(jù)中間節(jié)點 的鄰居列表選擇距離當前岔路口最近的節(jié)點作為下 一跳節(jié)點;如果沒有找 到相應的節(jié)點,就把數(shù)據(jù)包暫存到緩存中,使用探尋算法周期性地探尋是否 有新的節(jié)點走進它的通信范圍;該方法的具體操作步驟如下(5a)更新鄰居列表計算鄰居列表中各個鄰居節(jié)點的當前地理位置, 并從鄰居列表中刪除與本節(jié)點不再具有鄰居關(guān)系的節(jié)點;(5b )從鄰居列表中查找距離當前盆路口最近的節(jié)點作為下一跳節(jié)點, 若能夠找到,則跳轉(zhuǎn)執(zhí)行步驟(5d),否則,順序執(zhí)行步驟(5c);(5c)把數(shù)據(jù)包暫存于緩存,再循環(huán)執(zhí)行探尋算法,尋找是否有新的節(jié) 點走進其通信范圍;若探尋成功,則返回執(zhí)行步驟(5a),否則,結(jié)束本跳操作;(5d)把數(shù)據(jù)包轉(zhuǎn)發(fā)給該找到的下一跳節(jié)點,結(jié)束本跳操作。
      10、 根據(jù)權(quán)利要求8或9所述的方法,其特征在于所述探尋算法的具體 操作內(nèi)容是A、 持有數(shù)據(jù)包的節(jié)點廣播一個探尋請求消息,該探尋請求消息中包含該 節(jié)點的當前位置信息和當前盆路口,并設(shè)置一個定時器;B、 在定時器超時之前,如果有節(jié)點接收到該探尋請求,并且其位置位于 持有數(shù)據(jù)包的節(jié)點和當前岔路口之間,則該節(jié)點立即返回探尋響應消息,該響 應消息中包含收到探尋請求節(jié)點的ID、該收到探尋請求節(jié)點的地理位置信息、 當前速度及其移動方向;持有數(shù)據(jù)包的節(jié)點接收到探尋響應消息后,提取探 尋響應消息中的相關(guān)數(shù)據(jù)并更新鄰居列表;并在定時器到達設(shè)定時間后,結(jié)束 本次探尋操作,探尋成功;C、 在定時器超時之前,如果沒有任何響應消息,這時持有數(shù)據(jù)包的節(jié)點 可能走到一個網(wǎng)絡的邊緣,即出現(xiàn)網(wǎng)絡分割現(xiàn)象;此時,該持有數(shù)據(jù)包的節(jié) 點將延遲一段時間后重新返回執(zhí)行步驟A的操作;若重復執(zhí)行步驟A的操作達 到設(shè)定的次數(shù),仍未探尋成功,則該持有數(shù)據(jù)包的節(jié)點丟棄數(shù)據(jù)包,探尋失敗。
      全文摘要
      一種適應于城市環(huán)境的車載Ad hoc網(wǎng)絡中數(shù)據(jù)包貪婪轉(zhuǎn)發(fā)的方法,包括下列操作步驟(1)把城市的道路環(huán)境建模為具有權(quán)重值的無向圖,(2)對數(shù)據(jù)包轉(zhuǎn)發(fā)路徑中的岔路口進行動態(tài)選擇和更新,(3)每個節(jié)點維持一個鄰居列表,并預測車輛節(jié)點位置和維護鄰居列表,(4)目的節(jié)點更新其位置消息,(5)基于貪婪轉(zhuǎn)發(fā)策略對數(shù)據(jù)包進行轉(zhuǎn)發(fā)。該方法充分利用車載Ad Hoc網(wǎng)絡節(jié)點的特性,在數(shù)據(jù)包的遞交率、時延、平均跳數(shù)、物理層發(fā)送的總數(shù)據(jù)量等指標上都優(yōu)于目前使用的其他算法,且操作步驟簡單、易行,計算工作復雜度低,能夠滿足實時傳輸?shù)囊蟆?br> 文檔編號H04L12/28GK101369982SQ20081022440
      公開日2009年2月18日 申請日期2008年10月13日 優(yōu)先權(quán)日2008年10月13日
      發(fā)明者廖建新, 磊 張, 張樂劍, 童 徐, 朱曉民, 煒 李, 李元振, 李彤紅, 樊利民, 沈奇威, 晶 王, 純 王, 莉 程 申請人:北京郵電大學
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1