本發(fā)明涉及車載網(wǎng)絡(luò),特別涉及一種車輛間點(diǎn)對點(diǎn)通信方法。
背景技術(shù):
為了讓交通運(yùn)輸?shù)男实靡蕴嵘瑴p緩資源的消耗速度,車輛研發(fā)環(huán)節(jié)中不可避免地采用智能交通系統(tǒng),而車輛間網(wǎng)絡(luò)也已成為優(yōu)化現(xiàn)代交通的熱點(diǎn)課題。人們可利用配備在車輛上的無線通信設(shè)備,完成車輛節(jié)點(diǎn)之間的直接或間接通信,同時,車輛節(jié)點(diǎn)也可以同路邊固定通信設(shè)備在其相對應(yīng)的無線通信信道上實(shí)現(xiàn)無線通訊,以此來達(dá)到車輛間網(wǎng)絡(luò)在智能交通系統(tǒng)中對各種傳輸信息完成傳輸、處理及交互過程的目的。從提高服務(wù)便捷性方面來看,駕駛員能夠?qū)⑵渌囕v廣播出來的各種信息搜集起來,從而很方便的找到附近的一些服務(wù)點(diǎn)。同時采用電子不停車收費(fèi)系統(tǒng),可以大大縮短車輛在支付等待時間。安裝在道路兩旁的設(shè)備與車輛自身攜帶的信息公共作用之后,相關(guān)部門能夠充分利用這些信息對交通進(jìn)行智能的調(diào)度。
然而車輛本身是高速移動中的,并且由于城市道路對其限制較大,網(wǎng)絡(luò)的拓?fù)浞矫嬉彩撬蚕⑷f變的,各個節(jié)點(diǎn)之間進(jìn)行通訊的時間較短,現(xiàn)有的車輛間通信方法不能很好地實(shí)時適應(yīng)車載網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)頻繁變換的動態(tài)特性,因此提高網(wǎng)絡(luò)的吞吐量等網(wǎng)絡(luò)特性方面沒有發(fā)揮出較為優(yōu)質(zhì)的表現(xiàn)。在車載節(jié)點(diǎn)過多時常常造成網(wǎng)絡(luò)堵塞。
技術(shù)實(shí)現(xiàn)要素:
為解決上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明提出了一種車輛間點(diǎn)對點(diǎn)通信方法,包括:
車載節(jié)點(diǎn)應(yīng)用層管理模塊采集無線網(wǎng)絡(luò)中的數(shù)據(jù),分析數(shù)據(jù)的來源和類型,實(shí)現(xiàn)對上層報文信息的收發(fā)管理,編碼規(guī)則設(shè)置和偵聽;路由管理模塊進(jìn)行路由機(jī)制的選擇,路由請求以及偵聽?wèi)?yīng)答;接入管理模塊在路由層獲得數(shù)據(jù)同時對其分配隨機(jī)的目標(biāo)地址,然后將這些地址信息送到MAC層中;無線傳輸模塊用于發(fā)射天線和接收天線管理,使用模擬的方式對其數(shù)據(jù)的編碼結(jié)果進(jìn)行相應(yīng)的處理,通過天線將數(shù)據(jù)在對應(yīng)的傳輸信道中傳輸。
優(yōu)選地,所述應(yīng)用層管理模塊擴(kuò)展中繼節(jié)點(diǎn)的選擇范圍,執(zhí)行基于位置估計的消息分發(fā);車輛向鄰接節(jié)點(diǎn)發(fā)送信標(biāo)消息,通過信標(biāo)消息獲取鄰接節(jié)點(diǎn)的位置信息,不斷更新鄰接表,當(dāng)車輛的估計位置與實(shí)際位置之間的差超出設(shè)定的誤差閾值時,同時采用周期性發(fā)送和條件驅(qū)動的發(fā)送方式;
車輛通過GPS獲取自身位置信息,結(jié)合車輛移動的歷史記錄和當(dāng)前位置信息,計算出車輛當(dāng)前的行駛速度s和方向θ;
提取信標(biāo)消息中的車輛節(jié)點(diǎn)ID,并判斷發(fā)送該信標(biāo)的車輛是否在當(dāng)前車輛的鄰接表中;如果是當(dāng)前車輛的鄰接節(jié)點(diǎn),則更新鄰接表;否則,將發(fā)送信標(biāo)消息的車輛加入鄰接表中;
提取信標(biāo)消息中的車輛位置信息、車輛方向信息、車輛速度信息和時間戳信息;估計鄰接節(jié)點(diǎn)的當(dāng)前時刻t2的位置(Xp,Yp):
Xp=X+s×(t2-t1)×cos(θ)
Yp=Y(jié)+s×(t2-t1)×sin(θ)
其中(X,Y)和t1是對鄰接車輛進(jìn)行估計前最后一次接收的信標(biāo)攜帶的位置信息和時間戳;而s和θ是車輛進(jìn)行估計前最后一次接收到的信標(biāo)中的車輛速度和方向信息;當(dāng)前車輛根據(jù)對鄰接車輛的估計位置,計算出當(dāng)前節(jié)點(diǎn)與其鄰接節(jié)點(diǎn)間的通信鏈路的有效時間;
車輛將鄰接點(diǎn)的估計位置與自身位置進(jìn)行比較,并將位置關(guān)系歸為下面四類之一:前方同向、后方同向、前方反向、后方反向;
當(dāng)前車輛計算自己與其鄰接節(jié)點(diǎn)之間的距離D:
D=((Xv-Xp)2+(Yv-Yp)2)1/2
這里的(Xv,Yv)表示當(dāng)前車輛的坐標(biāo)位置,(Xp和Yp)是鄰接節(jié)點(diǎn)位置的估計坐標(biāo)值;位置估計過程停止,直到當(dāng)前車輛收到新的信標(biāo)消息再重新開始;
當(dāng)某一車輛發(fā)生異常事件時,異常車輛立刻生成異常消息,選定轉(zhuǎn)發(fā)節(jié)點(diǎn)進(jìn)行廣播;當(dāng)其他車輛節(jié)點(diǎn)收到異常消息后,判斷是否需要對異常消息進(jìn)行廣播;如果其他車輛節(jié)點(diǎn)中的節(jié)點(diǎn)之一被選中為轉(zhuǎn)發(fā)節(jié)點(diǎn),則需要轉(zhuǎn)發(fā)消息。
本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點(diǎn):
本發(fā)明提出了一種車輛間點(diǎn)對點(diǎn)通信方法,適用于車載網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)頻繁變換的條件,提高網(wǎng)絡(luò)的吞吐量,降低網(wǎng)絡(luò)擁塞。
附圖說明
圖1是根據(jù)本發(fā)明實(shí)施例的車輛間點(diǎn)對點(diǎn)通信方法的流程圖。
具體實(shí)施方式
下文與圖示本發(fā)明原理的附圖一起提供對本發(fā)明一個或者多個實(shí)施例的詳細(xì)描述。結(jié)合這樣的實(shí)施例描述本發(fā)明,但是本發(fā)明不限于任何實(shí)施例。本發(fā)明的范圍僅由權(quán)利要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細(xì)節(jié)以便提供對本發(fā)明的透徹理解。出于示例的目的而提供這些細(xì)節(jié),并且無這些具體細(xì)節(jié)中的一些或者所有細(xì)節(jié)也可以根據(jù)權(quán)利要求書實(shí)現(xiàn)本發(fā)明。
本發(fā)明的一方面提供了一種車輛間點(diǎn)對點(diǎn)通信方法。圖1是根據(jù)本發(fā)明實(shí)施例的車輛間點(diǎn)對點(diǎn)通信方法流程圖。
車載節(jié)點(diǎn)應(yīng)用層管理模塊采集無線網(wǎng)絡(luò)中的數(shù)據(jù),分析數(shù)據(jù)的來源和類型,實(shí)現(xiàn)對上層報文信息的收發(fā)管理,編碼規(guī)則設(shè)置和偵聽。路由管理模塊負(fù)責(zé)路由機(jī)制的選擇,路由請求以及偵聽?wèi)?yīng)答和維護(hù)等。接入管理模塊存在于路由層與MAC層之間,負(fù)責(zé)在路由層處獲得數(shù)據(jù)同時對其分配隨機(jī)的目標(biāo)地址,然后將這些地址信息送到MAC層之中。無線傳輸模塊用于發(fā)射天線和接收天線管理,根據(jù)數(shù)據(jù)的編碼結(jié)果,使用模擬的方式對其進(jìn)行相應(yīng)的處理,通過天線將隊列中的數(shù)據(jù)在對應(yīng)的傳輸信道中傳輸,通過其傳輸性能進(jìn)行控制和管理。
對于應(yīng)用層管理模塊的消息分發(fā),本發(fā)明的實(shí)施例擴(kuò)展中繼節(jié)點(diǎn)的選擇范圍,同時采用位置估計,獲得消息廣播的低時延、低負(fù)載特性。
車輛向鄰接節(jié)點(diǎn)發(fā)送信標(biāo)消息,當(dāng)車輛的估計位置與實(shí)際位置之間的差超出設(shè)定的誤差閾值時,同時采用周期性發(fā)送和條件驅(qū)動的發(fā)送方式。通過信標(biāo)消息,網(wǎng)絡(luò)中的車輛可以獲取鄰接節(jié)點(diǎn)的位置信息,不斷更新鄰接表。
車輛通過GPS獲取自身位置信息,結(jié)合車輛移動的歷史記錄和當(dāng)前位置信息,計算出車輛當(dāng)前的行駛速度s和方向θ。
提取信標(biāo)消息中的車輛節(jié)點(diǎn)ID,并判斷發(fā)送該信標(biāo)的車輛是否在當(dāng)前車輛的鄰接表中。如果是當(dāng)前車輛的鄰接節(jié)點(diǎn),則更新鄰接表;否則,將發(fā)送信標(biāo)消息的車輛加入鄰接表中。
提取信標(biāo)消息中的車輛位置信息、車輛方向信息、車輛速度信息和時間戳信息。估計鄰接節(jié)點(diǎn)的當(dāng)前時刻t2的位置(Xp,Yp)。
Xp=X+s×(t2-t1)×cos(θ)
Yp=Y(jié)+s×(t2-t1)×sin(θ)
其中(X,Y)和t1是對鄰接車輛進(jìn)行估計前最后一次接收的信標(biāo)攜帶的位置信息和時間戳。而s和θ是車輛進(jìn)行估計前最后一次接收到的信標(biāo)中的車輛速度和方向信息。
當(dāng)前車輛根據(jù)對鄰接車輛的估計位置,計算出當(dāng)前節(jié)點(diǎn)與其鄰接節(jié)點(diǎn)間的通信鏈路的有效時間。
車輛將鄰接點(diǎn)的估計位置與自身位置進(jìn)行比較,并將位置關(guān)系歸為下面四類之一:前方同向、后方同向、前方反向、后方反向。
當(dāng)前車輛計算自己與其鄰接節(jié)點(diǎn)之間的距離D:
D=((Xv-Xp)2+((Yv-Yp))2)1/2
這里的(Xv,Yv)表示當(dāng)前車輛的坐標(biāo)位置,(Xp和Yp)是鄰接節(jié)點(diǎn)位置的估計坐標(biāo)值。
位置估計過程停止,直到當(dāng)前車輛收到新的信標(biāo)消息再重新開始。
當(dāng)某一車輛發(fā)生高優(yōu)先級的異常事件時,異常車輛立刻生成異常消息,選定轉(zhuǎn)發(fā)節(jié)點(diǎn)進(jìn)行廣播。當(dāng)其他車輛節(jié)點(diǎn)收到異常消息后,判斷是否需要對異常消息進(jìn)行廣播。如果其他車輛節(jié)點(diǎn)中的節(jié)點(diǎn)之一被選中為轉(zhuǎn)發(fā)節(jié)點(diǎn),則需要轉(zhuǎn)發(fā)消息。
如果異常車輛的同向后方存在車輛節(jié)點(diǎn),異常車輛選擇最遠(yuǎn)的車輛作為直接后繼節(jié)點(diǎn),選擇次遠(yuǎn)的車輛作為第二后繼節(jié)點(diǎn)。如果異常車輛后方反向上存在車輛,選擇最遠(yuǎn)的車輛作為直接后繼節(jié)點(diǎn),選擇次遠(yuǎn)的車輛作為第二后繼節(jié)點(diǎn)。如果在異常車輛反向前方存在車輛,選擇最近的車輛作為直接后繼節(jié)點(diǎn),選擇次近的車輛作為第二后繼節(jié)點(diǎn)。如果以上情況都不滿足,則異常車輛存儲異常消息,直到新的車輛進(jìn)入其無線信息覆蓋范圍內(nèi),然后重新按照上述情況選擇轉(zhuǎn)發(fā)。
在異常車輛選定轉(zhuǎn)發(fā)節(jié)點(diǎn)后,根據(jù)轉(zhuǎn)發(fā)節(jié)點(diǎn)與異常車輛節(jié)點(diǎn)的位置關(guān)系,分兩種情況從轉(zhuǎn)發(fā)節(jié)點(diǎn)R向其他節(jié)點(diǎn)分發(fā)異常消息。當(dāng)前車輛同向的車輛R被選為轉(zhuǎn)發(fā)節(jié)點(diǎn),在收到異常消息后,R檢測自身的位置,如果自身的位置超出異常車輛所在區(qū)域的邊界,則廣播復(fù)制的異常消息作為確認(rèn)信息。如果自身的位置仍然位于異常車輛所在區(qū)域邊界內(nèi),則轉(zhuǎn)發(fā)節(jié)點(diǎn)R通過判斷選擇最優(yōu)的后繼節(jié)點(diǎn)。
(a)如果在轉(zhuǎn)發(fā)節(jié)點(diǎn)的行駛方向后方存在同向行駛車輛,轉(zhuǎn)發(fā)節(jié)點(diǎn)R選擇最遠(yuǎn)車輛作為首選的下一節(jié)點(diǎn),選取次遠(yuǎn)的車輛作為轉(zhuǎn)發(fā)節(jié)點(diǎn)的第二選擇。
(b)如果在相反的行駛方向上存在車輛節(jié)點(diǎn),則當(dāng)前的轉(zhuǎn)發(fā)節(jié)點(diǎn)選擇最遠(yuǎn)的車輛作為直接后繼節(jié)點(diǎn),選擇次遠(yuǎn)的節(jié)點(diǎn)作為第二后繼節(jié)點(diǎn)。
(c)如果兩種情況都不滿足,轉(zhuǎn)發(fā)節(jié)點(diǎn)廣播一次異常消息作為確認(rèn),然后使用存儲轉(zhuǎn)發(fā)機(jī)制對異常消息進(jìn)行緩存,同時檢測轉(zhuǎn)發(fā)節(jié)點(diǎn)的當(dāng)前位置。如果發(fā)現(xiàn)轉(zhuǎn)發(fā)節(jié)點(diǎn)正在路過異常車輛,則轉(zhuǎn)發(fā)節(jié)點(diǎn)終止轉(zhuǎn)發(fā)過程,否則,轉(zhuǎn)發(fā)節(jié)點(diǎn)在遇到其他車輛時,選取下一轉(zhuǎn)發(fā)節(jié)點(diǎn),轉(zhuǎn)發(fā)異常消息。
當(dāng)反向的車輛R被選為轉(zhuǎn)發(fā)節(jié)點(diǎn)時,在收到異常消息后,轉(zhuǎn)發(fā)節(jié)點(diǎn)檢測自身的位置,如果超出異常車輛所在區(qū)域的邊界,轉(zhuǎn)發(fā)節(jié)點(diǎn)R只需廣播重復(fù)的異常消息進(jìn)行確認(rèn);否則,轉(zhuǎn)發(fā)節(jié)點(diǎn)按照以下過程選擇下一節(jié)點(diǎn)。
(a)如果轉(zhuǎn)發(fā)節(jié)點(diǎn)R的反向后方不存在任何車輛節(jié)點(diǎn),則它選擇反向前方最遠(yuǎn)的車輛節(jié)點(diǎn)和次遠(yuǎn)的車輛節(jié)點(diǎn)作為后繼中繼的第一選擇和第二選擇。
(b)如果在R的同向前方存在車輛節(jié)點(diǎn),則選定最遠(yuǎn)車輛和次遠(yuǎn)車輛將分別作為直接后繼節(jié)點(diǎn)和第二后繼節(jié)點(diǎn)。
(c)如果兩種情況都不滿足,轉(zhuǎn)發(fā)節(jié)點(diǎn)廣播復(fù)制的異常消息作為確認(rèn)信息,然后切換到存儲轉(zhuǎn)發(fā)模式,并進(jìn)行位置檢測。如果中繼車輛超出異常車輛所在區(qū)域的邊界,則終止轉(zhuǎn)發(fā),否則,轉(zhuǎn)發(fā)節(jié)點(diǎn)繼續(xù)選擇下一節(jié)點(diǎn)。當(dāng)轉(zhuǎn)發(fā)節(jié)點(diǎn)或者后繼轉(zhuǎn)發(fā)節(jié)點(diǎn)接收到異常消息后,選擇不同的車輛作為下一轉(zhuǎn)發(fā)節(jié)點(diǎn)。
在上述轉(zhuǎn)發(fā)方式的基礎(chǔ)上,本發(fā)明利用具有預(yù)定路線的巡游車載節(jié)點(diǎn)的幫助進(jìn)一步實(shí)現(xiàn)數(shù)據(jù)傳輸,有助于車輛節(jié)點(diǎn)向一個或多個目標(biāo)節(jié)點(diǎn)分發(fā)數(shù)據(jù)。巡游車載節(jié)點(diǎn)沿預(yù)定義路線行駛,在行駛過程中不斷發(fā)送消息,路側(cè)節(jié)點(diǎn)廣播所接收的消息,車輛節(jié)點(diǎn)在經(jīng)過巡游節(jié)點(diǎn)覆蓋范圍時,接收到相應(yīng)消息。網(wǎng)絡(luò)中的消息都有唯一的消息id號,當(dāng)目標(biāo)節(jié)點(diǎn)R收到消息后,如果判定之前未曾收到過該消息,則將消息的id號存儲在廣播表中。如果目標(biāo)節(jié)點(diǎn)R在其廣播表中查找接收信息的相同的id號,表示該消息已收到過,確定為冗余消息,直接丟棄,否則目標(biāo)節(jié)點(diǎn)R對數(shù)據(jù)進(jìn)行下一步處理。
根據(jù)GPS獲取的位置信息,車輛節(jié)點(diǎn)判斷自身是否位于車輛節(jié)點(diǎn)密集區(qū)。如果目標(biāo)節(jié)點(diǎn)R位于車輛節(jié)點(diǎn)密集區(qū)或者R屬于路側(cè)節(jié)點(diǎn),則R在延遲WD1后,轉(zhuǎn)發(fā)收到的消息。如果接收節(jié)點(diǎn)R的位置不在車輛節(jié)點(diǎn)密集區(qū)但是源節(jié)點(diǎn)S位于車輛節(jié)點(diǎn)密集區(qū),則R丟棄消息。如果源節(jié)點(diǎn)S不是車輛節(jié)點(diǎn)密集區(qū)節(jié)點(diǎn),則R將自己的方向DR與最后一跳源節(jié)點(diǎn)S的方向DS繼續(xù)比較,如果它們的移動方向相同,在延遲WD2后,發(fā)送消息。如果判定它們的方向相反,則放棄轉(zhuǎn)發(fā)。
其中WD1=(1-Pd)×Tp
WD2=(1-Pd)×2Tp
Tp代表一跳廣播之間的最小時長。
Pd=ds-r/dmax為與距離相關(guān)的概率,ds-r為最后一次轉(zhuǎn)發(fā)的源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)的距離,dmax為節(jié)點(diǎn)覆蓋范圍內(nèi)的最大值。
本發(fā)明的路由管理模塊將源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)之間的通信過程分成路由請求,接收應(yīng)答以及編碼偵聽。
當(dāng)一個節(jié)點(diǎn)接收到路由請求消息時,首先創(chuàng)建或更新路由表項。然后查看在預(yù)定義間隔內(nèi)是否收到相同的源IP地址和路由請求ID消息的路由請求分組,如果有,忽略目前收到的路由請求分組。當(dāng)收到的路由請求不被忽略時,首先將路由請求中的跳數(shù)增1,然后在路由表中搜尋到源節(jié)點(diǎn)的反向路徑,使用最長匹配原則,創(chuàng)建新的逆向路由表項,或者用路由請求中的源節(jié)點(diǎn)ID更新原有路由表項。當(dāng)反向路徑被創(chuàng)建或更新時,執(zhí)行下面的操作:
(1)將路由請求消息源節(jié)點(diǎn)ID和對應(yīng)的反向路由中的目標(biāo)節(jié)點(diǎn)ID作比較,如果前者比后者大,將前者取代后者。
(2)路由項的有效ID值被設(shè)為真。
(3)路由項的下一條設(shè)為向該節(jié)點(diǎn)傳送路由請求的節(jié)點(diǎn)。
當(dāng)一個節(jié)點(diǎn)收到路由響應(yīng)時,首先在路由表中搜尋到前驅(qū)的路由項,創(chuàng)建不包含有效的ID的新的表項。然后節(jié)點(diǎn)將路由響應(yīng)中的跳數(shù)增1。將路由響應(yīng)中的目標(biāo)節(jié)點(diǎn)ID和已有ID相比較。如果當(dāng)前節(jié)點(diǎn)不是路由響應(yīng)中的源節(jié)點(diǎn),則查詢路由表以決定路由響應(yīng)的后繼。如果節(jié)點(diǎn)發(fā)送的路由響應(yīng)的鏈路有錯誤或是單向的,節(jié)點(diǎn)使路由響應(yīng)的接收方回復(fù)一個應(yīng)答信號。
任何轉(zhuǎn)發(fā)路由響應(yīng)的節(jié)點(diǎn),均將發(fā)送路由響應(yīng)的后繼加入到去往目標(biāo)節(jié)點(diǎn)的路由項前驅(qū)表中,在同一時間,修改源節(jié)點(diǎn)路徑的生存期為現(xiàn)有的生存時間的較大值。路由響應(yīng)是通過路由響應(yīng)的廣播包,進(jìn)行偵聽判斷,如果有則存儲路由響應(yīng)中當(dāng)前流的路徑及偵聽節(jié)點(diǎn)信息。通過路由層中報文請求以及控制層中相關(guān)判斷條件的判斷,進(jìn)行是否下一步操作。
編碼偵聽的判斷條件為:
節(jié)點(diǎn)隊列中的k個待發(fā)送的報文p1,p2,…,pk,相應(yīng)的后繼節(jié)點(diǎn)為v1,v2,…,vk,經(jīng)過編碼得到編碼報文廣播該編碼報文p至上述節(jié)點(diǎn)集v1,v2,…,vk。如果在v1,v2,…,vk中,準(zhǔn)備接收報文pi的節(jié)點(diǎn)vi已經(jīng)偵聽到除pi外其它所有的報文,并且滿足兩個條件之一:
節(jié)點(diǎn)vi是報文Pj的前驅(qū)節(jié)點(diǎn),j≠i,或者
節(jié)點(diǎn)vi已偵聽到報文Pj,j≠i;
則節(jié)點(diǎn)vi將在一定時間內(nèi)緩存報文pj以獲得更多的編碼。
編碼過程中,當(dāng)無線信道有效時,節(jié)點(diǎn)則從輸出隊列中取出頭部報文,并檢查頭部報文能否與隊列中的其他初始報文進(jìn)行編碼。如果能夠進(jìn)行編碼,則將這些初始報文進(jìn)行相與運(yùn)算后,廣播到各鄰接節(jié)點(diǎn)。如果無法編碼,節(jié)點(diǎn)則直接廣播該初始報文而不等待可匹配的初始報文。如果轉(zhuǎn)發(fā)節(jié)點(diǎn)沒有收到鄰接節(jié)點(diǎn)發(fā)來的接收報告,則該節(jié)點(diǎn)使用路由協(xié)議來計算后繼節(jié)點(diǎn)間鏈路的到達(dá)率,并依據(jù)到達(dá)率來估計后繼節(jié)點(diǎn)存儲某初始報文的可能性,并據(jù)此決定是否進(jìn)行網(wǎng)絡(luò)編碼。
若某轉(zhuǎn)發(fā)節(jié)點(diǎn)一次將n個報文進(jìn)行相與的編碼,第n個報文的后繼接收節(jié)點(diǎn)偵聽到其他某一個報文i的概率為Pi,則該接收節(jié)點(diǎn)能正確解碼的概率PD等于這節(jié)點(diǎn)能偵聽參與編碼的其他n-1個初始報文的概率:
PD=P1×P2×…×Pn-1
此時判斷這n個初始報文的后繼節(jié)點(diǎn)集可解碼的概率PD是否滿足大于一個閾值PG。如果滿足閾值約束,則節(jié)點(diǎn)發(fā)起路由請求過程,向網(wǎng)絡(luò)中廣播路由請求報文,該報文中含有目標(biāo)節(jié)點(diǎn)ID,編碼ID,源節(jié)點(diǎn)地址和目標(biāo)節(jié)點(diǎn)地址。當(dāng)中間節(jié)點(diǎn)接收到路由請求報文,時,中間節(jié)點(diǎn)首先廣播源節(jié)點(diǎn)發(fā)送來的路由請求報文,然后遞增修改分組中的編碼ID,將報文廣播給具有編碼的后繼節(jié)點(diǎn)集,在包頭中加入節(jié)點(diǎn)集的地址列表。如果在一個節(jié)點(diǎn)上收到不同的路由請求,首先判斷目標(biāo)節(jié)點(diǎn)ID的大小,用來更新路由;如果目標(biāo)節(jié)點(diǎn)ID相同,則根據(jù)編碼ID來判斷具有編碼的路徑。在目標(biāo)節(jié)點(diǎn)接收到的路由請求分組后,直接按原路反饋路由響應(yīng)給源節(jié)點(diǎn),建立從源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的具有編碼的路由。
在車載網(wǎng)絡(luò)中,由于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)時刻發(fā)生變化致使通信鏈路的不確定及時常間斷,存在兩種狀態(tài):當(dāng)節(jié)點(diǎn)u,v處于彼此通信范圍時,鏈路是連通并可傳輸;若不在通信范圍內(nèi)鏈路不通。
(1)網(wǎng)絡(luò)中每個節(jié)點(diǎn)u初始化各自本地群體集Cu、頻繁訪問集Fu、節(jié)點(diǎn)u和v的相遇時長W(u,v)和局部群體頻繁訪問集Lu。
(2)當(dāng)節(jié)點(diǎn)u和v相遇時,節(jié)點(diǎn)相互交換本地信息,包括群體集、頻繁訪問集和局部群體頻繁訪問集。判斷節(jié)點(diǎn)v是否屬于Cu,若屬于跳轉(zhuǎn)7,若不屬于轉(zhuǎn)3。
(3)統(tǒng)計節(jié)點(diǎn)v頻繁訪問集Fv和u群體集共同的節(jié)點(diǎn)個數(shù)num,如果共同節(jié)點(diǎn)個數(shù)num>K-1,K為預(yù)設(shè)閾值,將節(jié)點(diǎn)v加入u群體集,v頻繁訪問集Fv加入u局部群體頻繁訪問集Lu。如果num<K-1轉(zhuǎn)6。
(4)取出節(jié)點(diǎn)v群體集中的第i個節(jié)點(diǎn)vi,統(tǒng)計節(jié)點(diǎn)i頻繁訪問集Fvi和u群體集Cu共同節(jié)點(diǎn)Inum,如果Inum≥K-1,將節(jié)點(diǎn)vi加入u群體集,vi頻繁訪問集Fvi加入u局部群體頻繁訪問集Lu。如果Inum<K-1則轉(zhuǎn)5。
(5)判斷i是否大于節(jié)點(diǎn)v群體集的大小,如果是則轉(zhuǎn)7;如果不是則轉(zhuǎn)4。
(6)計算節(jié)點(diǎn)u和v累計相遇時長W(u,v),判斷是否W(u,v)>T,T為預(yù)設(shè)閾值,如果是則將節(jié)點(diǎn)v加入u群體集,v頻繁訪問集Fv加入u局部群體頻繁訪問集Lu。如果不是則轉(zhuǎn)7。
(7)群體更新結(jié)束。
在建立群體之后,群體內(nèi)和群體間的傳輸模式中分別采用不同的數(shù)據(jù)轉(zhuǎn)發(fā)策略實(shí)現(xiàn)。
節(jié)點(diǎn)u中所攜帶的報文遇到節(jié)點(diǎn)v時:
(1)若報文的目標(biāo)節(jié)點(diǎn)D、所攜帶報文的u和所遇節(jié)點(diǎn)v,三個節(jié)點(diǎn)屬于同一群體,使用本地活躍度衡量數(shù)據(jù)是否轉(zhuǎn)發(fā);若u的本地活躍度比v的大則被轉(zhuǎn)發(fā)報文,否則將報文轉(zhuǎn)發(fā)給v。
(2)若目標(biāo)節(jié)點(diǎn)D和節(jié)點(diǎn)u和v不在相同群體,使用全局活躍度衡量報文是否轉(zhuǎn)發(fā)。如果所攜帶報文的當(dāng)前u節(jié)點(diǎn)全局活躍度大于遇到節(jié)點(diǎn)v則不轉(zhuǎn)發(fā),否則將報文轉(zhuǎn)發(fā)給v。
(3)若目標(biāo)節(jié)點(diǎn)D和節(jié)點(diǎn)u不在同一群體,卻和節(jié)點(diǎn)v屬于同一群體,則u將報文轉(zhuǎn)發(fā)給v。
(4)若目標(biāo)節(jié)點(diǎn)和所攜帶報文的u節(jié)點(diǎn)是同一群體,和遇到的節(jié)點(diǎn)v在不同群體,則u不轉(zhuǎn)發(fā)報文。
根據(jù)上面幾種情況轉(zhuǎn)發(fā)報文,直到遇到目標(biāo)節(jié)點(diǎn),將報文遞交。
綜上所述,本發(fā)明提出了一種車輛間點(diǎn)對點(diǎn)通信方法,適用于車載網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)頻繁變換的條件,提高網(wǎng)絡(luò)的吞吐量,降低網(wǎng)絡(luò)擁塞。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該理解,上述的本發(fā)明的各模塊或各步驟可以用通用的計算系統(tǒng)來實(shí)現(xiàn),它們可以集中在單個的計算系統(tǒng)上,或者分布在多個計算系統(tǒng)所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算系統(tǒng)可執(zhí)行的程序代碼來實(shí)現(xiàn),從而,可以將它們存儲在存儲系統(tǒng)中由計算系統(tǒng)來執(zhí)行。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
應(yīng)當(dāng)理解的是,本發(fā)明的上述具體實(shí)施方式僅僅用于示例性說明或解釋本發(fā)明的原理,而不構(gòu)成對本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。此外,本發(fā)明所附權(quán)利要求旨在涵蓋落入所附權(quán)利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。