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