本發(fā)明屬于通信技術(shù)領(lǐng)域,涉及一種基于錨節(jié)點的可靠的路由協(xié)議技術(shù),具體涉及預(yù)測候選中繼節(jié)點的選擇方法。
背景技術(shù):
隨著我國國民經(jīng)濟的快速增長,帶動了汽車制造業(yè)的蓬勃發(fā)展,車輛的增多導(dǎo)致了道路交通擁堵、交通事故頻繁發(fā)生,使得交通管理面臨越來越嚴(yán)重的難題。為了解決這些問題,智能交通系統(tǒng)(intelligenttransportationsystem,its)概念應(yīng)運而生。its系統(tǒng)將檢測、衛(wèi)星通信、智能控制、gps等現(xiàn)代高新技術(shù)運用于傳統(tǒng)的交通運輸管理系統(tǒng),以改善道路擁堵的狀況、提高能源利用率、預(yù)防交通事故的發(fā)生。
車聯(lián)網(wǎng)(internetofvehicles,iov)是物聯(lián)網(wǎng)(internetofthings,iot)在its中的典型應(yīng)用,它基于車域網(wǎng)(vehicularareanetwork,van)和車輛自組織網(wǎng)絡(luò)(vehicularadhocnetworks,vanets)技術(shù),實現(xiàn)車輛內(nèi)、車輛間以及車輛與外部通信設(shè)備的組網(wǎng)和通信。其中vanets是一種以車輛為節(jié)點的多跳自組織系統(tǒng),是移動自組織網(wǎng)絡(luò)(mobileadhocnetwork,manet)在真實交通環(huán)境下的應(yīng)用。其基本思想是在一定通信范圍內(nèi)的車輛可以相互交換各自的車速、位置等信息以及車載傳感器感知的數(shù)據(jù),并自動連接建立一個移動的網(wǎng)絡(luò)。
vanets具有高移動性和不斷變化的拓?fù)?,因此vanets將會經(jīng)歷頻繁的網(wǎng)絡(luò)碎片,從而導(dǎo)致通信持續(xù)時間非常短。目前為止,對vanets的大部分研究主要集中在分析路由協(xié)議以及處理高密度網(wǎng)絡(luò)拓?fù)渲械膹V播風(fēng)暴問題。目前vanets中的路由協(xié)議主要可以分為三類:(1)基于拓?fù)涞穆酚蓞f(xié)議(topologybasedrouting,tbr);(2)基于位置的路由協(xié)議(positionbasedrouting,pbr);(3)基于地圖的路由協(xié)議(mapbasedpouting,mbr)。由于基于位置的路由協(xié)議對網(wǎng)絡(luò)拓?fù)涞念l繁改變有較強的適應(yīng)性,相對于基于拓?fù)浣Y(jié)構(gòu)的路由協(xié)議,不需要維護路由表信息,也不需要存儲相關(guān)的路由信息,所以更適合用于車載自組織網(wǎng)絡(luò)中,而其中基于貪婪周邊無狀態(tài)路由(gpsr)協(xié)議算法雖然較為簡單,不需要維護路由表,網(wǎng)絡(luò)開銷小,但存在路由空洞、自適應(yīng)性差、無法感知障礙物、鏈路頻繁斷裂等缺陷。
然而,對于開發(fā)可以支持高度多樣化的網(wǎng)絡(luò)拓?fù)涠?,上述幾種路由協(xié)議并不能解決網(wǎng)絡(luò)中斷的問題,因此如何獲得更可靠和有效的路由協(xié)議是至關(guān)重要的。鑒于現(xiàn)實情況,為降低路由故障和數(shù)據(jù)丟失的頻率,同時保持較低的路由開銷,客觀上需要在源節(jié)點和目的節(jié)點之間建立更穩(wěn)固的路由。
技術(shù)實現(xiàn)要素:
本發(fā)明目的在于解決上述現(xiàn)有的技術(shù)中網(wǎng)絡(luò)中斷問題,提出了一種預(yù)測候選中繼節(jié)點的方法,當(dāng)前轉(zhuǎn)發(fā)車輛能夠通過預(yù)測鏈路生命期之后的候選中繼節(jié)點的存在來識別更可靠的鏈路。
為實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是提出基于錨節(jié)點的可靠路由協(xié)議中預(yù)測候選中繼節(jié)點的選擇方法,具體包括如下步驟:
步驟1:當(dāng)前中繼節(jié)點將最接近目的地的車輛確定為下一個中繼節(jié)點,并計算出此鏈路的生命期;
步驟2:對當(dāng)前中繼節(jié)點的鄰居節(jié)點進行位置預(yù)測;
步驟3:判斷該鄰居節(jié)點在鏈路生命期內(nèi)是否離開了當(dāng)前中繼節(jié)點的通信范圍,若未離開,則當(dāng)前中繼節(jié)點發(fā)送未阻塞的消息給起始錨節(jié)點;若已離開,則當(dāng)前中繼節(jié)點發(fā)送阻塞的消息給起始錨節(jié)點,錨節(jié)點立刻選擇另一條最短路徑;
步驟4:在鏈路的生命期到期前,對起始錨節(jié)點進行維護,一旦當(dāng)前中繼節(jié)點不再阻塞,便恢復(fù)其在錨節(jié)點里的非阻塞狀態(tài)。
進一步,上述步驟1中,所述鏈路的生命期的計算方法為:設(shè)pn和pc分別表示新選擇的中繼節(jié)點和當(dāng)前中繼節(jié)點,每個車輛保持記錄其鄰居表中車輛的位置,速度和移動方向,該路由表由所有相鄰車輛交換的hello信標(biāo)更新,使用鄰居表中的信息,pc將最接近目的地的車輛確定為下一個中繼節(jié)點pn,根據(jù)pc和pn的位置及速度信息可以通過下面的式子估計出此鏈路的生命期lt_expire:
上述步驟2中,所述對鄰居節(jié)點進行位置預(yù)測的方法為:
通過式(1)對pc的鄰居節(jié)點i的位置進行預(yù)測,通過式(2)計算此時鄰居節(jié)點i與pc的位置之間的距離,若d<r,說明節(jié)點pc的鄰居節(jié)點i依然在r的范圍內(nèi)活動,所選擇的這條街道并無阻塞;若d≥r,說明節(jié)點pc的鄰居節(jié)點i不在r的范圍內(nèi)活動。
上述步驟3中,所述最短路徑不包含存在阻塞的路徑。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果:
1、本發(fā)明通過改進gpsr的基于貪婪算法的選擇,優(yōu)化了基于貪婪算法在鏈路質(zhì)量上的缺點,增加了鏈路的穩(wěn)定性。
2、本發(fā)明利用提前預(yù)測路徑發(fā)生阻塞的可能,降低了路由故障和數(shù)據(jù)丟失的概率,并保持了較低的路由開銷。
附圖說明
圖1是阻塞發(fā)生情況模型圖;
圖2是預(yù)測節(jié)點算法的流程圖。
具體實施方式
下面結(jié)合說明書附圖對本發(fā)明創(chuàng)造作進一步的詳細(xì)說明。
假設(shè)路邊單元(roadsideunit,rsu)僅安裝在道路段的交點處,稱rsu安裝在一個錨定區(qū)域的交叉路口,并將rsu稱為錨節(jié)點。定義兩個錨節(jié)點之間的路段為街道,此路由協(xié)議需要選擇通過哪些街道傳遞數(shù)據(jù)塊,以便從源節(jié)點到達目的節(jié)點。具體來說,從沒有阻塞的街道集中選取最短的那條路徑。
假設(shè)在道路場景中,每個路口都存在一個錨節(jié)點,并且所有車輛和錨點都配備了自己的全球定位系統(tǒng)(gps)和數(shù)字地圖。錨節(jié)點接收到數(shù)據(jù)分組,利用dijkstra算法生成最靠近目的地的街道,將分組轉(zhuǎn)發(fā)給此街道上的車輛。如果錨節(jié)點發(fā)現(xiàn)所選擇的街道阻塞,則選擇最接近目的地的下一個街道。圖1所示是一個具體的例子:
在最接近目的地的街道(即街道1)上出現(xiàn)阻塞的示例場景。在這種情況下,錨點節(jié)點a在從中繼節(jié)點接收阻塞消息之后,將重新規(guī)劃路由到的下一個最接近目的地的街道2。
以下是候選中繼節(jié)點的預(yù)測算法,算法的流程圖如圖2所示:
算法中的主要變量說明如表1所示:
表1
1)鏈路生命期估測
pn和pc分別表示新選擇的中繼節(jié)點和當(dāng)前中繼節(jié)點。每個車輛保持記錄其鄰居表中車輛的位置,速度和移動方向。該路由表由所有相鄰車輛交換的hello信標(biāo)更新。使用鄰居表中的信息,pc將最接近目的地的車輛確定為下一個中繼節(jié)點pn,根據(jù)pc和pn的位置及速度信息可以估計出此鏈路的生命期lt_expire。
2)鄰居預(yù)測:
通過式(2)對pc的鄰居節(jié)點i的位置進行預(yù)測:通過式(3)計算此時鄰居節(jié)點i與pc的位置之間的距離。
若d<r,說明節(jié)點pc的鄰居節(jié)點i依然在r的范圍內(nèi)活動,所選擇的這條街道并無阻塞,因此節(jié)點pc發(fā)送一個無鏈路斷裂的消息給起始錨點,pc繼續(xù)正常接收數(shù)據(jù)和發(fā)送數(shù)據(jù);
若d≥r,說明節(jié)點pc的鄰居節(jié)點i不在r的范圍內(nèi)活動,所選擇的這條街道并有阻塞,則表示當(dāng)鏈路生命期結(jié)束時,在所選的街道上有鏈路斷裂。即鄰居節(jié)點i其發(fā)送的數(shù)據(jù)在沒有被pn接收到的情況下,鄰居節(jié)點i本身已經(jīng)駛離了車輛發(fā)送半徑r的覆蓋范圍。節(jié)點pc接收到這樣的信息后,立刻發(fā)送包含的阻塞消息以及pn的位置給起始錨節(jié)點,起始錨節(jié)點在高速緩沖區(qū)中保存lt_expire的信息,并選擇另一條最短的街道來傳遞信息(不包含有阻塞的街道)。
3)錨節(jié)點維護
在lt_expire到期前,定義一個預(yù)定間隔,每過一次預(yù)定間隔,pc便重新檢測阻塞的街道上是否依舊是d≥r,若發(fā)現(xiàn)d<r,則向起始錨節(jié)點發(fā)送無阻塞消息,此時起始錨節(jié)點可從高速緩沖中去掉pc的lt_expire消息,并恢復(fù)該阻塞街道的非阻塞狀態(tài)。
需要說明的是,以上實施方式僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管通過上述優(yōu)選實施例已經(jīng)對本發(fā)明進行了詳細(xì)的描述,但本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,可以在形式上和細(xì)節(jié)上對其作出各種各樣的改變,而不偏離本發(fā)明所限定的范圍。