本發(fā)明涉及一種適用于車載短距離通信網(wǎng)絡(luò)的改進(jìn)GSD服務(wù)發(fā)現(xiàn)協(xié)議的實(shí)現(xiàn)方法,屬于車載網(wǎng)技術(shù)領(lǐng)域。
背景技術(shù):
車載短距離通信(Vehicle to X:V2X)網(wǎng)絡(luò)是通過(guò)無(wú)線通信、GPS/GIS、傳感等短距離通信技術(shù)實(shí)現(xiàn)的車內(nèi)(CAN-Controller Area Network)、車路(Vehicle-2-RSU)、車間(Vehicle-2-Vehicle)、車外(vehicle-2-Infrastructure)、人車(Vehicle-2-Person)之間的通信。
服務(wù)發(fā)現(xiàn)協(xié)議可以使網(wǎng)絡(luò)節(jié)點(diǎn)在網(wǎng)絡(luò)中搜索所需服務(wù)。由于網(wǎng)絡(luò)規(guī)模不斷擴(kuò)大,網(wǎng)絡(luò)上的服務(wù)也越來(lái)越復(fù)雜化和多樣化,因此,如何從海量的網(wǎng)絡(luò)資源中尋找可用的服務(wù)成為迫切需要解決的問(wèn)題,服務(wù)發(fā)現(xiàn)協(xié)議及其實(shí)現(xiàn)方法成為網(wǎng)絡(luò)領(lǐng)域研究的一個(gè)重要部分。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明利用V2X網(wǎng)絡(luò)各個(gè)節(jié)點(diǎn)定期廣播的心跳信息,以及車輛限定在狹長(zhǎng)道路的特點(diǎn),對(duì)傳統(tǒng)GSD協(xié)議進(jìn)行改進(jìn),主要涉及到傳統(tǒng)GSD包結(jié)構(gòu)的改進(jìn)和工作方式的改進(jìn),使傳統(tǒng)GSD協(xié)議適應(yīng)V2X的特點(diǎn),提高服務(wù)發(fā)現(xiàn)的速度和效率,更好滿足V2X網(wǎng)絡(luò)中服務(wù)發(fā)現(xiàn)功能的實(shí)現(xiàn)。
本發(fā)明一種適用于車載短距離通信網(wǎng)絡(luò)的改進(jìn)GSD服務(wù)發(fā)現(xiàn)協(xié)議的實(shí)現(xiàn)方法,其特征在于,在服務(wù)廣播包傳播工作模式中,包括步驟:
S11、服務(wù)提供節(jié)點(diǎn)通過(guò)心跳信息確定轉(zhuǎn)發(fā)節(jié)點(diǎn);
S12、形成服務(wù)廣播包并將該節(jié)點(diǎn)配置到服務(wù)廣播包中;
S13、發(fā)送服務(wù)廣播包;
S14、通過(guò)心跳信息選定下一跳的轉(zhuǎn)發(fā)節(jié)點(diǎn),進(jìn)行轉(zhuǎn)發(fā),直到指定的跳數(shù);
S15、沿途各個(gè)節(jié)點(diǎn)接收服務(wù)廣播包,并保存在本地,形成服務(wù)信息緩存SIC;
S16、利用心跳信息,在SIC中確定周圍節(jié)點(diǎn)提供的服務(wù),同時(shí)維護(hù)轉(zhuǎn)發(fā)節(jié)點(diǎn)和本地SIC。
在服務(wù)需求包轉(zhuǎn)發(fā)和回復(fù)工作模式中,包括步驟:
S21、需要服務(wù)的節(jié)點(diǎn)通過(guò)心跳信息確定轉(zhuǎn)發(fā)節(jié)點(diǎn);
S22、形成服務(wù)需求包并將轉(zhuǎn)發(fā)節(jié)點(diǎn)配置到服務(wù)需求包中;
S23、服務(wù)需求包轉(zhuǎn)發(fā),并通過(guò)心跳信息確定下一跳節(jié)點(diǎn),并配置到服務(wù)需求包后轉(zhuǎn)發(fā),直到指定的跳數(shù);
S24、轉(zhuǎn)發(fā)節(jié)點(diǎn)生成回溯路徑表,并利用心跳信息對(duì)轉(zhuǎn)發(fā)節(jié)點(diǎn)進(jìn)行維護(hù);
S25、遇到提供該服務(wù)的節(jié)點(diǎn),形成服務(wù)回復(fù)包,并沿轉(zhuǎn)發(fā)節(jié)點(diǎn)的回溯路由向服務(wù)請(qǐng)求節(jié)點(diǎn)回傳。
優(yōu)選地,所述步驟S11中,服務(wù)廣播包發(fā)送或者轉(zhuǎn)發(fā)節(jié)點(diǎn),通過(guò)接收周圍車載節(jié)點(diǎn)的心跳信息,確定覆蓋范圍最遠(yuǎn)的節(jié)點(diǎn)作為轉(zhuǎn)發(fā)節(jié)點(diǎn),以便提高轉(zhuǎn)發(fā)效率。
優(yōu)選地,所述步驟S11中,服務(wù)廣播包發(fā)送或者轉(zhuǎn)發(fā)節(jié)點(diǎn),在行駛方向的前后兩個(gè)方向確定轉(zhuǎn)發(fā)節(jié)點(diǎn),使服務(wù)廣播包在兩個(gè)方向轉(zhuǎn)發(fā),提高轉(zhuǎn)發(fā)的效率。
優(yōu)選地,所述步驟S13中,服務(wù)廣播包發(fā)送或者轉(zhuǎn)發(fā)節(jié)點(diǎn),通過(guò)接收轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)的服務(wù)廣播包,以確定轉(zhuǎn)發(fā)是否成功,在規(guī)定的幾個(gè)周期內(nèi)沒(méi)有接收到轉(zhuǎn)發(fā)的服務(wù)廣播包,重新確定轉(zhuǎn)發(fā)節(jié)點(diǎn)并生成新的服務(wù)廣播包。
優(yōu)選地,所述步驟S16中,服務(wù)廣播包發(fā)送或者轉(zhuǎn)發(fā)節(jié)點(diǎn),通過(guò)接收周圍節(jié)點(diǎn)的心跳信息確定轉(zhuǎn)發(fā)節(jié)點(diǎn)是否在服務(wù)范圍內(nèi),幾個(gè)周期沒(méi)有接收到該節(jié)點(diǎn)的心跳信息后,重新確定轉(zhuǎn)發(fā)節(jié)點(diǎn)并生成新的服務(wù)廣播包。
優(yōu)選地,所述步驟S24中,各個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)形成回溯路徑表,通過(guò)接收周圍節(jié)點(diǎn)的心跳信息對(duì)回溯路由表進(jìn)行維護(hù),刪除不在覆蓋單位內(nèi)的轉(zhuǎn)發(fā)節(jié)點(diǎn),并重建轉(zhuǎn)發(fā)節(jié)點(diǎn)。
本發(fā)明的有益效果在于:利用V2X網(wǎng)絡(luò)中定期廣播的包括節(jié)點(diǎn)唯一標(biāo)識(shí)VIN和地理位置的心跳信息,對(duì)傳統(tǒng)的GSD協(xié)議進(jìn)行了改進(jìn),減少了轉(zhuǎn)發(fā)節(jié)點(diǎn)的數(shù)量,提高了服務(wù)廣播和發(fā)現(xiàn)的效率,為V2X網(wǎng)絡(luò)中服務(wù)發(fā)現(xiàn)和查找提供了一種有效的方法。
附圖說(shuō)明
圖1是根據(jù)本發(fā)明實(shí)施例的具體工作流程圖;
圖2是服務(wù)廣播包的格式;
圖3是服務(wù)需求包的格式;
圖4是轉(zhuǎn)發(fā)節(jié)點(diǎn)包的格式;
圖5是服務(wù)回復(fù)包的格式。
具體實(shí)施方式
GSD(group-based distributed service discovery protocol:基于組策略的分布式服務(wù)發(fā)現(xiàn)協(xié)議)是無(wú)線自組網(wǎng)中的一種重要的服務(wù)發(fā)現(xiàn)協(xié)議,主要包括服務(wù)描述、服務(wù)通告和服務(wù)請(qǐng)求三部分。GSD將無(wú)線自組網(wǎng)中的服務(wù)按功能分成不同的服務(wù)組。在服務(wù)通告階段,服務(wù)節(jié)點(diǎn)周期性地把自己緩存中的服務(wù)列表進(jìn)行廣播,服務(wù)通告不僅包括服務(wù)節(jié)點(diǎn)提供的服務(wù)描述,還包括d跳內(nèi)的鄰居提供的服務(wù)所屬組信息。為限制廣播通告的范圍,定義了廣播的最大跳數(shù)。收到這些廣播信息的節(jié)點(diǎn)將緩存其服務(wù)信息,并轉(zhuǎn)發(fā)至規(guī)定跳數(shù)。在服務(wù)請(qǐng)求階段,當(dāng)節(jié)點(diǎn)接收到服務(wù)請(qǐng)求時(shí),首先查看自己的服務(wù)緩存。若有匹配,則返回應(yīng)答,否則就將服務(wù)請(qǐng)求有選擇地轉(zhuǎn)發(fā)至候選節(jié)點(diǎn)。候選節(jié)點(diǎn)從當(dāng)前節(jié)點(diǎn)服務(wù)緩存中與請(qǐng)求服務(wù)具有相同服務(wù)組的鄰居節(jié)點(diǎn)中產(chǎn)生。
GSD是一種典型的無(wú)結(jié)構(gòu)協(xié)議,它采用基于組的語(yǔ)義式服務(wù)需求包路由方式,能有選擇地確定服務(wù)需求包的轉(zhuǎn)發(fā)目標(biāo)。GSD的優(yōu)勢(shì)是基于組的服務(wù)需求包轉(zhuǎn)發(fā)技術(shù),根據(jù)組別信息將服務(wù)需求包轉(zhuǎn)發(fā)給部分鄰居節(jié)點(diǎn),從而避免了泛洪式轉(zhuǎn)發(fā)策略。
在V2X網(wǎng)絡(luò)中,由于每個(gè)車載節(jié)點(diǎn)周期性廣播大量的包括車輛唯一標(biāo)識(shí)和地理位置的消息(以下稱心跳信息),一方面,GSD協(xié)議中大量發(fā)布服務(wù)消息,會(huì)對(duì)網(wǎng)絡(luò)帶來(lái)較大的負(fù)擔(dān),影響對(duì)時(shí)延要求嚴(yán)格的安全類應(yīng)用。另外一個(gè)方面,V2X大部分消息采用廣播方式傳輸,車輛又被道路限制到一個(gè)狹長(zhǎng)的區(qū)域內(nèi),所以服務(wù)通告消息和服務(wù)請(qǐng)求消息可以采用廣播的方式,提高了這類包的傳輸效率,另外,各個(gè)節(jié)點(diǎn)利用心跳信息選擇自己覆蓋范圍邊緣的節(jié)點(diǎn),所以傳統(tǒng)GSD的選擇候選節(jié)點(diǎn)的方式,在V2X中利用心跳信息,可以更加簡(jiǎn)單和有效。
本發(fā)明提供了一種適用于車載短距離通信網(wǎng)絡(luò)的改進(jìn)GSD服務(wù)發(fā)現(xiàn)協(xié)議的實(shí)現(xiàn)方法,其主要方法是利用車載短距離通信網(wǎng)絡(luò)(V2X)中各個(gè)節(jié)點(diǎn)定期廣播的心跳信息,對(duì)傳統(tǒng)GSD(group-based distributed service discovery protocol:基于組策略的分布式服務(wù)發(fā)現(xiàn)協(xié)議)進(jìn)行改進(jìn),以適應(yīng)V2X網(wǎng)絡(luò)的特點(diǎn)。
本發(fā)明的服務(wù)廣播包傳播模式的工作流程是:服務(wù)提供節(jié)點(diǎn)通過(guò)心跳信息確定轉(zhuǎn)發(fā)節(jié)點(diǎn),然后形成服務(wù)廣播包并將轉(zhuǎn)發(fā)節(jié)點(diǎn)配置其中,發(fā)送服務(wù)廣播包后,選定下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā);沿途各節(jié)點(diǎn)形成本地服務(wù)信息緩存,并利用心跳信息在本地服務(wù)信息緩存中確定周圍節(jié)點(diǎn)提供的服務(wù),同時(shí)維護(hù)轉(zhuǎn)發(fā)節(jié)點(diǎn)和本地服務(wù)信息緩存的信息。
本發(fā)明的服務(wù)需求包轉(zhuǎn)發(fā)和回復(fù)工作模式的工作流程是:需要服務(wù)的節(jié)點(diǎn)通過(guò)心跳信息確定轉(zhuǎn)發(fā)節(jié)點(diǎn),然后形成服務(wù)需求包并將轉(zhuǎn)發(fā)節(jié)點(diǎn)配置到服務(wù)需求包中,服務(wù)需求包轉(zhuǎn)發(fā)后,轉(zhuǎn)發(fā)節(jié)點(diǎn)通過(guò)心跳信息確定下一跳節(jié)點(diǎn)轉(zhuǎn)發(fā),直到指定的跳數(shù);各轉(zhuǎn)發(fā)節(jié)點(diǎn)生成回溯路徑表,并利用心跳信息對(duì)轉(zhuǎn)發(fā)節(jié)點(diǎn)進(jìn)行維護(hù),當(dāng)遇到提供該服務(wù)的節(jié)點(diǎn)時(shí),形成服務(wù)回復(fù)包,并沿轉(zhuǎn)發(fā)節(jié)點(diǎn)的回溯路由向服務(wù)請(qǐng)求節(jié)點(diǎn)回傳。
但是,應(yīng)用于V2X網(wǎng)絡(luò)時(shí),傳統(tǒng)GSD有明顯的缺點(diǎn),主要是沒(méi)有重復(fù)包發(fā)送和單播方式發(fā)送包的效率較低。
本實(shí)施例充分利用V2X的以下特點(diǎn):
1、車載節(jié)點(diǎn)周期性廣播包含各自地理位置的心跳信息;
2、車輛在道路中,被限制在狹長(zhǎng)的范圍內(nèi),同向行駛的車輛位置保持相對(duì)固定;
3、車輛位置的變動(dòng)和行駛方向可以通過(guò)心跳信息中的地理位置信息獲得,不需要專門(mén)的數(shù)據(jù)包更新,在路由失效時(shí)也可以及時(shí)重建;
GSD服務(wù)發(fā)現(xiàn)協(xié)議有三項(xiàng)基本的操作:服務(wù)廣播包傳播、服務(wù)需求包轉(zhuǎn)發(fā)、服務(wù)回復(fù)路由。服務(wù)廣播包的傳播是推方式,服務(wù)需求包轉(zhuǎn)發(fā)和回復(fù)是拉方式,因此,GSD是推拉模式的服務(wù)發(fā)現(xiàn)工作方式。
本實(shí)施例利用V2X中周期廣播的心跳信息,對(duì)傳統(tǒng)GSD服務(wù)發(fā)現(xiàn)協(xié)議進(jìn)行了改進(jìn),以適用于V2X網(wǎng)絡(luò)。本實(shí)施例的具體的工作流程如圖1所示,包括兩個(gè)部分:
推模式:服務(wù)廣播包傳播
1、服務(wù)提供節(jié)點(diǎn)通過(guò)心跳信息確定轉(zhuǎn)發(fā)節(jié)點(diǎn);
2、形成服務(wù)廣播包并將該節(jié)點(diǎn)配置到服務(wù)廣播包中;
3、發(fā)送服務(wù)廣播包;
4、通過(guò)心跳信息選定下一跳的轉(zhuǎn)發(fā)節(jié)點(diǎn),進(jìn)行轉(zhuǎn)發(fā),直到指定的跳數(shù);
5、沿途各個(gè)節(jié)點(diǎn)接收服務(wù)廣播包,并保存在本地,形成服務(wù)信息緩存SIC;
6、利用心跳信息,在SIC中確定周圍節(jié)點(diǎn)提供的服務(wù),同時(shí)維護(hù)轉(zhuǎn)發(fā)節(jié)點(diǎn)和本地SIC。
拉模式:服務(wù)需求包轉(zhuǎn)發(fā)和回復(fù)
1、需要服務(wù)的節(jié)點(diǎn)通過(guò)心跳信息確定轉(zhuǎn)發(fā)節(jié)點(diǎn);
2、形成服務(wù)需求包并將轉(zhuǎn)發(fā)節(jié)點(diǎn)配置到服務(wù)需求包中;
3、服務(wù)需求包轉(zhuǎn)發(fā),并通過(guò)心跳信息確定下一跳節(jié)點(diǎn),并配置到服務(wù)需求包后轉(zhuǎn)發(fā),直到指定的跳數(shù);
4、轉(zhuǎn)發(fā)節(jié)點(diǎn)生成回溯路徑表,并利用心跳信息對(duì)轉(zhuǎn)發(fā)節(jié)點(diǎn)進(jìn)行維護(hù);
5、遇到提供該服務(wù)的節(jié)點(diǎn),形成服務(wù)回復(fù)包,并沿轉(zhuǎn)發(fā)節(jié)點(diǎn)的回溯路由向服務(wù)請(qǐng)求節(jié)點(diǎn)回傳。
以下結(jié)合附圖和實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)的描述。
本實(shí)施例中改進(jìn)的GSD服務(wù)發(fā)現(xiàn)協(xié)議由3個(gè)部分組成。
第一部分、服務(wù)廣播包傳播
GSD協(xié)議中分為普通節(jié)點(diǎn)和服務(wù)節(jié)點(diǎn),服務(wù)節(jié)點(diǎn)提供各類服務(wù),為讓周圍的節(jié)點(diǎn)知道該節(jié)點(diǎn)提供的服務(wù),GSD需要周期性廣播服務(wù)通知包。傳統(tǒng)GSD中,收到非重復(fù)廣播包的節(jié)點(diǎn)都要繼續(xù)轉(zhuǎn)發(fā),直到達(dá)到條數(shù)限制(設(shè)最大跳數(shù)是d)。本實(shí)施例通過(guò)接收的周圍節(jié)點(diǎn)的心跳信息確定覆蓋范圍邊緣的節(jié)點(diǎn)作為候選轉(zhuǎn)發(fā)節(jié)點(diǎn),這樣就提高了轉(zhuǎn)發(fā)效率。
修改后的GSD協(xié)議中服務(wù)廣播包的包結(jié)構(gòu)和傳輸步驟如下:
1.1、確定轉(zhuǎn)發(fā)節(jié)點(diǎn);
節(jié)點(diǎn)A通過(guò)接收周圍車輛發(fā)送的心跳信息,確定周圍車輛的地理位置,并且結(jié)合周圍車載節(jié)點(diǎn)地理位置的變化,確定同本節(jié)點(diǎn)同方向行駛的車輛集合V={VH,VB},其中,VH是位于A節(jié)點(diǎn)行駛方向前方的同向行駛的車輛集合,VB是位于A節(jié)點(diǎn)行駛方向前方的同向行駛的車輛集合。然后,按照地理位置,計(jì)算出同A節(jié)點(diǎn)的距離,再按照距離遠(yuǎn)近排序,
設(shè)距離最遠(yuǎn)的車輛分別為和則選擇和為服務(wù)廣播包前向和后向的轉(zhuǎn)發(fā)節(jié)點(diǎn)
1.2、生成服務(wù)廣播包
節(jié)點(diǎn)A生成服務(wù)廣播包PacketA,服務(wù)廣播包的格式如圖2所示。其中:
Type表示該包的類型為服務(wù)廣播包;
ID表示該包的編號(hào),用于區(qū)分節(jié)點(diǎn)A發(fā)送的不同服務(wù)通知包;
Sender ID表示包的發(fā)送者,用發(fā)送節(jié)點(diǎn)的網(wǎng)內(nèi)的唯一標(biāo)識(shí)VIN(vehicle identification number)填充;
Server ID表示相應(yīng)的服務(wù)的編號(hào);
Local Service表示所提供的服務(wù)的描述信息,采用DAML(DARPA Agent Markup Language,美國(guó)國(guó)防高級(jí)設(shè)計(jì)研究署代理置標(biāo)語(yǔ)言)描述;
Local Group表示該服務(wù)的組信息,轉(zhuǎn)發(fā)中增加一跳,相應(yīng)的組信息加1;
Remain Hop表示該包還能繼續(xù)被轉(zhuǎn)發(fā)的次數(shù),每次轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)時(shí)將該部分減1;
Life Time表示該包在緩存中的有效期;
Receiver ID(H)表示行駛方向前方的下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)的編碼,這是增加的字段,用選定的轉(zhuǎn)發(fā)節(jié)點(diǎn)的VIN填充;
Receiver ID(B)表示行駛方向前方的下一跳轉(zhuǎn)發(fā)節(jié)點(diǎn)的編碼,這是增加的字段,用選定的轉(zhuǎn)發(fā)節(jié)點(diǎn)的VIN填充;
該部分基本保留了傳統(tǒng)GSD的包結(jié)構(gòu),由于改進(jìn)后的GSD采用了不同的廣播包發(fā)送機(jī)制,Other Group保存該服務(wù)節(jié)點(diǎn)的緩存中所有服務(wù)所屬的組的信息,不發(fā)送該部分信息。增加了Receiver ID(H)和Receiver ID(B)字段,用于適應(yīng)V2X車輛沿道路前后排列的特點(diǎn),使得在前向和后向兩個(gè)方向同時(shí)發(fā)送服務(wù)廣播包。
1.3、發(fā)送服務(wù)廣播包
節(jié)點(diǎn)A在選定了下一跳的轉(zhuǎn)發(fā)節(jié)點(diǎn)Vm,形成服務(wù)廣播包PacketA,然后選擇空閑的廣播信道廣播發(fā)送,在節(jié)點(diǎn)A的通信范圍內(nèi),所有的節(jié)點(diǎn)都能接收到PacketA;
1.4、轉(zhuǎn)發(fā)服務(wù)廣播包
節(jié)點(diǎn)Vm接收后檢測(cè)到A節(jié)點(diǎn)廣播的服務(wù)廣播包PacketA,檢測(cè)到包中的Receiver ID同自己的標(biāo)識(shí)VIN相同,則按照步驟1.1的方法選擇其覆蓋范圍最遠(yuǎn)的節(jié)點(diǎn),然后按照步驟1.2形成服務(wù)廣播包,其中,將Remain Hop減1Local Group加1,Receiver ID是其選擇的下一跳的轉(zhuǎn)發(fā)節(jié)點(diǎn)的VIN,然后按照1.3的步驟發(fā)送,直到Remain Hop為0,則停止轉(zhuǎn)發(fā);
1.5、轉(zhuǎn)發(fā)服務(wù)廣播包的監(jiān)測(cè)和重發(fā)
由于車輛處于快速移動(dòng)狀態(tài),以及車載節(jié)點(diǎn)無(wú)線收發(fā)設(shè)備的差異性、無(wú)線傳輸信道的復(fù)雜性,造成發(fā)送和接收的性能可能差別較大,因此,服務(wù)廣播包的發(fā)送節(jié)點(diǎn)在發(fā)送后的一定時(shí)間T(系統(tǒng)設(shè)定)沒(méi)有檢測(cè)到轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)的服務(wù)廣播包,則修改服務(wù)廣播包中的Receiver ID為V={V1,V2,V3,...,Vm-1,Vm}隊(duì)列中的前一個(gè)車載節(jié)點(diǎn),例如由Vm變?yōu)閂m-1的VIN,然后重復(fù)1.1-1.4的過(guò)程,直到T時(shí)間內(nèi)接收到轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)的服務(wù)廣播包。
1.6、服務(wù)信息緩存SIC(Service Information Cache)形成
由于V2X中大量采用廣播模式,因此,V2X中,各個(gè)節(jié)點(diǎn)通過(guò)接收周圍節(jié)點(diǎn)廣播的服務(wù)廣播包,可以形成本地的SIC,格式同1.2中定義的服務(wù)廣播包相同。這個(gè)過(guò)程利用了V2X的廣播特性,各個(gè)節(jié)點(diǎn)只接收廣播包,并不發(fā)送,因此不占用網(wǎng)絡(luò)信道資源。
1.7、服務(wù)信息緩存SIC(Service Information Cache)維護(hù)
由于車輛處于移動(dòng)狀態(tài),因此,各個(gè)車載節(jié)點(diǎn)的SIC需要進(jìn)行更新。當(dāng)接收到的服務(wù)廣播包不在本次的SIC緩存隊(duì)列中,則在本地SIC中增加該服務(wù)廣播包;由于V2X中周期廣播的心跳信息,當(dāng)超過(guò)2個(gè)周期沒(méi)有接收到服務(wù)廣播包發(fā)送節(jié)點(diǎn)或者轉(zhuǎn)發(fā)節(jié)點(diǎn)的心跳信息后,表示該節(jié)點(diǎn)已經(jīng)不在其覆蓋范圍之內(nèi),因此在SIC中刪除相關(guān)信息。
1.8、利用服務(wù)信息緩存SIC的發(fā)現(xiàn)服務(wù)
傳統(tǒng)GSD中,由于節(jié)點(diǎn)無(wú)法識(shí)別周圍節(jié)點(diǎn),需要頻繁廣播服務(wù)廣播包,造成了大量服務(wù)廣播包的發(fā)送,降低了系統(tǒng)信道的利用率。V2X中,由于每個(gè)節(jié)點(diǎn)定期廣播包含各個(gè)節(jié)點(diǎn)位移表示VIN的心跳信息,因此,在經(jīng)過(guò)1個(gè)周期的服務(wù)廣播包廣播和轉(zhuǎn)發(fā)后,設(shè)定范圍內(nèi)的各個(gè)節(jié)點(diǎn)本地都保存SIC。車載節(jié)點(diǎn)通過(guò)SIC獲得周圍節(jié)點(diǎn)服務(wù)的方式如下:
當(dāng)通過(guò)心跳信息收集到周圍的車輛VIN后,在本地SIC中查找出對(duì)應(yīng)VIN車載節(jié)點(diǎn)能提供的服務(wù)信息。
通過(guò)這種方式,能有效減少了服務(wù)廣播包的發(fā)送數(shù)量。
第二部分、服務(wù)需求包傳播
當(dāng)某車載節(jié)點(diǎn)(例如節(jié)點(diǎn)B)需要某項(xiàng)服務(wù)S2時(shí),首先查找本地SIC,如果本地SIC沒(méi)有找到提供S2服務(wù)的服務(wù)節(jié)點(diǎn)時(shí),節(jié)點(diǎn)B需要構(gòu)造服務(wù)需求包PacketB并轉(zhuǎn)發(fā)給某些選定節(jié)點(diǎn),具體步驟為:
2.1、確定轉(zhuǎn)發(fā)節(jié)點(diǎn);
方法同1.1相同
2.2、生成服務(wù)需求包
節(jié)點(diǎn)B生成服務(wù)廣播包PacketB,服務(wù)需求包的格式如圖3所示。其中:
Type表示該包的類型為服務(wù)廣播包;
ID表示該包的編號(hào),用于區(qū)分節(jié)點(diǎn)B發(fā)送的不同的服務(wù)需求包;
Sender ID表示包的發(fā)送或者轉(zhuǎn)發(fā)節(jié)點(diǎn),用節(jié)點(diǎn)唯一標(biāo)識(shí)VIN(vehicle identification number)填充;
Server ID請(qǐng)求服務(wù)編碼,用于區(qū)分同一個(gè)節(jié)點(diǎn)不同的請(qǐng)求服務(wù);
Requested Service表示所請(qǐng)求的服務(wù)的描述信息,采用DAML描述;
Receiver ID表示下一跳接收節(jié)點(diǎn)的編碼,這是增加的字段,用選定的轉(zhuǎn)發(fā)節(jié)點(diǎn)Vm的VIN填充;
Remain Hop表示該包還能繼續(xù)被轉(zhuǎn)發(fā)的次數(shù),每次轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)時(shí)將該部分減1;
該部分保留了傳統(tǒng)GSD的包結(jié)構(gòu),取消了Receiver List字段,增加了Receiver ID字段,在V2X中,只需要選擇的單個(gè)轉(zhuǎn)發(fā)節(jié)點(diǎn)轉(zhuǎn)發(fā)即可。
2.3、發(fā)送服務(wù)需求包,方法同1.3的發(fā)送服務(wù)廣播包;
2.4、轉(zhuǎn)發(fā)服務(wù)需求包,方法同1.4的轉(zhuǎn)發(fā)服務(wù)廣播包;
2.5、轉(zhuǎn)發(fā)服務(wù)需求包的監(jiān)測(cè)和重發(fā),方法同1.5的服務(wù)廣播包的監(jiān)測(cè)和重發(fā);
第三部分、回溯路徑表
參加轉(zhuǎn)發(fā)的每個(gè)節(jié)點(diǎn)都維護(hù)一個(gè)回復(fù)路徑表RRT(Reverse Route Table)。如果服務(wù)需求包找到匹配的服務(wù)提供節(jié)點(diǎn),則需要將把服務(wù)回復(fù)包轉(zhuǎn)發(fā)回對(duì)應(yīng)的服務(wù)需求包的源節(jié)點(diǎn),其結(jié)構(gòu)如圖4所示,其中,
Predecessor ID字段指示服務(wù)需求包的發(fā)送節(jié)點(diǎn)或者轉(zhuǎn)發(fā)節(jié)點(diǎn),用V2X中的發(fā)送或者轉(zhuǎn)發(fā)節(jié)點(diǎn)的VIN填充;
Predecessor Position這是新增加的字段,是服務(wù)需求包發(fā)送或者轉(zhuǎn)發(fā)節(jié)點(diǎn)的地理位置,地理位置信息在心跳信息中獲取,并不斷更新;
Packet ID服務(wù)需求包的編號(hào),以區(qū)分不同的包;
Source ID發(fā)送節(jié)點(diǎn)編碼,服務(wù)需求包的源節(jié)點(diǎn),用發(fā)送節(jié)點(diǎn)的VIN填充;
該部分保留了傳統(tǒng)GSD的包結(jié)構(gòu),增加了Predecessor Position字段,以便在上一個(gè)轉(zhuǎn)發(fā)點(diǎn)駛離該節(jié)點(diǎn)的覆蓋單位時(shí),重建回溯路時(shí)能確定轉(zhuǎn)發(fā)的方向。
第四部分、服務(wù)回復(fù)包傳播
當(dāng)節(jié)點(diǎn)(例如節(jié)點(diǎn)C)收到服務(wù)請(qǐng)求包,同自己能提供的服務(wù)匹配,則生成服務(wù)回復(fù)包,并根據(jù)回溯路徑表,按照原路徑傳播回去。
服務(wù)回復(fù)包的格式如圖5所示,其中,
Type表示該包的類型為服務(wù)回復(fù)包;
ID表示包的編號(hào),用于區(qū)分節(jié)點(diǎn)C發(fā)送的不同的服務(wù)回復(fù)包;
Source ID表示服務(wù)需求包的發(fā)送節(jié)點(diǎn),是發(fā)送節(jié)點(diǎn)的VIN;
Source Position表示服務(wù)需求包的發(fā)送節(jié)點(diǎn)的地理位置,便于在回溯路由失效后重建;
Receiver ID表示回溯轉(zhuǎn)發(fā)節(jié)點(diǎn),是轉(zhuǎn)發(fā)節(jié)點(diǎn)的VIN;
Replier ID表示服務(wù)相應(yīng)節(jié)點(diǎn),是服務(wù)提供節(jié)點(diǎn)的VIN;
Matched Service List表示服務(wù)提供節(jié)點(diǎn)提供的匹配的服務(wù)信息列表;
該部分保留了傳統(tǒng)GSD的包結(jié)構(gòu),增加了Source Position字段,以便在回溯路由失效后,重新建立時(shí)確定服務(wù)請(qǐng)求包源發(fā)送節(jié)點(diǎn)的方向,提高回溯路由重建的效率。
服務(wù)回復(fù)包沿回溯路由向服務(wù)請(qǐng)求節(jié)點(diǎn)傳輸。
以上所述是本發(fā)明的較佳實(shí)施例及其所運(yùn)用的技術(shù)原理,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),在不背離本發(fā)明的精神和范圍的情況下,任何基于本發(fā)明技術(shù)方案基礎(chǔ)上的等效變換、簡(jiǎn)單替換等顯而易見(jiàn)的改變,均屬于本發(fā)明保護(hù)范圍之內(nèi)。