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