亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

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

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

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

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