基于OSGi的車載網(wǎng)服務(wù)共享中間件、實(shí)現(xiàn)方法及服務(wù)共享方法
【專利摘要】本發(fā)明公開了基于OSGi的車載網(wǎng)服務(wù)共享中間件、實(shí)現(xiàn)方法及服務(wù)共享方法。本發(fā)明的中間件包含分布式服務(wù)目錄建立及維護(hù)機(jī)制以及基于分布式服務(wù)目錄的服務(wù)發(fā)現(xiàn)機(jī)制。本發(fā)明將車輛感知設(shè)備和應(yīng)用提供的各種功能虛擬抽象為網(wǎng)絡(luò)服務(wù),實(shí)現(xiàn)應(yīng)用與設(shè)備解耦,為車與車之間服務(wù)共享提供統(tǒng)一數(shù)據(jù)交換平臺(tái)。
【專利說明】基于OSGi的車載網(wǎng)服務(wù)共享中間件、實(shí)現(xiàn)方法及服務(wù)共享方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及車載自組織網(wǎng)絡(luò)服務(wù)共享領(lǐng)域,具體涉及一種基于OSGi的車載網(wǎng)服務(wù)共享中間件、實(shí)現(xiàn)方法及服務(wù)共享方法。
【背景技術(shù)】
[0002]以車輛互聯(lián)形成的車載自組織網(wǎng)絡(luò)(Vehicular Ad-hoc Network,簡(jiǎn)稱為VANET,也稱為車載網(wǎng)和車聯(lián)網(wǎng))是自組織網(wǎng)絡(luò)(Ad-hoc Network)的一種,車載網(wǎng)中,車輛配備有無線通信模塊,它們?cè)诒舜说耐ㄐ欧秶畠?nèi)可以進(jìn)行數(shù)據(jù)交換,無需借助基礎(chǔ)設(shè)施。
[0003]車載網(wǎng)有很多應(yīng)用,包括車輛碰撞提醒應(yīng)用、交通信息服務(wù)和其他娛樂或安全應(yīng)用等。在這些應(yīng)用中,車輛之間的服務(wù)共享為應(yīng)用的推廣提供了有效的幫助。每個(gè)車輛可以共享本地?cái)?shù)據(jù)(例如傳感數(shù)據(jù)和多媒體內(nèi)容)、資源(例如存儲(chǔ)空間和訪問Internet)或服務(wù)(例如一些算法的實(shí)現(xiàn)等)給網(wǎng)絡(luò)中的其它車輛。不同車輛采用的異構(gòu)網(wǎng)絡(luò)設(shè)備使得“車車相連”的實(shí)現(xiàn)變得尤為困難,而中間件的出現(xiàn)使得異構(gòu)設(shè)備能夠以統(tǒng)一通用的接口進(jìn)行信息交互,其中基于服務(wù)架構(gòu)的中間件模型由于其低耦合、可擴(kuò)展、靈活性高等特點(diǎn),受到很多研究者的關(guān)注。
[0004]面向服務(wù)的設(shè)計(jì)模型旨在通過統(tǒng)一通用的接口,將不同的功能單元以一種低耦合的方式聯(lián)系在一起,不同的功能單元可以獨(dú)立的也可以相互協(xié)作的完成各種變化的任務(wù)需求。在面向服務(wù)架構(gòu)SOA(Service-Oriented Architecture)中,服務(wù)即是應(yīng)用系統(tǒng)中各個(gè)不同的功能單元。OSGi (Open Service Gateway Initiative)是一個(gè)1999年成立的開放標(biāo)準(zhǔn)聯(lián)盟,旨在建立一個(gè)開放的服務(wù)規(guī)范,一方面,為通過網(wǎng)絡(luò)向設(shè)備提供服務(wù)建立開放的標(biāo)準(zhǔn),另一方面,為各種嵌入式設(shè)備提供通用的軟件運(yùn)行平臺(tái),以屏蔽設(shè)備操作系統(tǒng)與硬件的區(qū)別。
[0005]DssOSGi (Distributed Service Sharing OSGi)是 OSGi 的分布式擴(kuò)展,米用的是集中式服務(wù)目錄的服務(wù)發(fā)現(xiàn),在感知層的網(wǎng)關(guān)節(jié)點(diǎn)(或者SINK節(jié)點(diǎn))中設(shè)置了公共的共享服務(wù)注冊(cè)中心。嵌入式感知設(shè)備根將提供的基礎(chǔ)服務(wù)封裝在相應(yīng)的Bundle中,并注冊(cè)到公共服務(wù)注冊(cè)中心,同時(shí)也可以通過公共服務(wù)注冊(cè)中心動(dòng)態(tài)的獲取其他感知設(shè)備提供的服務(wù)并進(jìn)行服務(wù)綁定和信息交互?,F(xiàn)有研究?jī)H僅在傳統(tǒng)網(wǎng)絡(luò)中研究了基于中間件的服務(wù)共享問題,而在車載自組織網(wǎng)絡(luò)中目前還沒有現(xiàn)成的方案解決其服務(wù)共享的問題。面向服務(wù)的車載網(wǎng)中間件將車輛感知設(shè)備提供的各種功能虛擬抽象為網(wǎng)絡(luò)服務(wù),實(shí)現(xiàn)應(yīng)用與設(shè)備解耦,為車與車之間服務(wù)共享提供統(tǒng)一數(shù)據(jù)交換平臺(tái)。
[0006]因此,有必要設(shè)計(jì)一種全新的面向服務(wù)的車載網(wǎng)中間件,用于車輛間的服務(wù)共享。
【發(fā)明內(nèi)容】
[0007]本發(fā)明要解決的技術(shù)問題是,提供一種基于OSGi的車載網(wǎng)服務(wù)共享中間件、實(shí)現(xiàn)方法及服務(wù)共享方法,將車輛感知設(shè)備提供的各種功能虛擬抽象為網(wǎng)絡(luò)服務(wù),實(shí)現(xiàn)應(yīng)用與設(shè)備解耦,為車與車之間服務(wù)共享提供統(tǒng)一數(shù)據(jù)交換平臺(tái)。
[0008]本發(fā)明提供的技術(shù)方案為:
[0009]—種基于OSGi的車載網(wǎng)服務(wù)共享中間件,包括感知設(shè)備模塊、分布式服務(wù)共享模塊、應(yīng)用模塊、服務(wù)目錄選舉模塊和服務(wù)發(fā)現(xiàn)模塊;
[0010]所述感知設(shè)備模塊與車載感知設(shè)備連接,用于將異構(gòu)的車載感知設(shè)備提供的功能封裝成具有統(tǒng)一通用的外部訪問接口的服務(wù);所述應(yīng)用模塊將車載應(yīng)用封裝成具有統(tǒng)一通用的外部訪問接口的服務(wù),實(shí)現(xiàn)服務(wù)與設(shè)備解耦;
[0011]封裝是指,將函數(shù)實(shí)現(xiàn)細(xì)節(jié)包裝、隱藏起來,外界對(duì)內(nèi)部屬性的訪問只能通過提供的接口實(shí)現(xiàn)。這樣做既可以實(shí)現(xiàn)對(duì)內(nèi)部屬性的保護(hù)作用,又可以提高軟件系統(tǒng)的可維護(hù)性。只要對(duì)外提供的接口不改變,任何封裝體內(nèi)部的改變都不會(huì)對(duì)軟件系統(tǒng)的其他部分造成影響。參考文獻(xiàn):http://baike.baidu.com/view/125370.htm ? fr = aladdin。
[0012]所述服務(wù)目錄選舉模塊根據(jù)車輛的通信能力、穩(wěn)定性及連通性在其一跳通信范圍內(nèi)的鄰居車輛中選舉產(chǎn)生服務(wù)目錄車輛,該服務(wù)目錄車輛的鄰居車輛加入其成員車輛列表,該服務(wù)目錄車輛稱為其成員車輛的本地服務(wù)目錄車輛;服務(wù)目錄車輛建立服務(wù)索引表,用于存儲(chǔ)服務(wù)提供者的服務(wù)信息,服務(wù)信息包括服務(wù)提供者ID、服務(wù)有效時(shí)間和服務(wù)屬性;所述服務(wù)目錄選舉模塊還進(jìn)行服務(wù)目錄車輛的維護(hù);
[0013]所述分布式服務(wù)共享模塊用于將本車輛的感知設(shè)備模塊和應(yīng)用模塊中封裝的服務(wù)發(fā)布為遠(yuǎn)程網(wǎng)絡(luò)服務(wù);并將服務(wù)信息注冊(cè)到本地服務(wù)目錄車輛上,供其他車輛查詢;車輛之間通過分布式服務(wù)共享模塊無線連接;
[0014]當(dāng)服務(wù)請(qǐng)求者有服務(wù)請(qǐng)求時(shí),通過本地服務(wù)目錄車輛的服務(wù)發(fā)現(xiàn)模塊在服務(wù)目錄車輛間查詢所需要的服務(wù);
[0015]本地服務(wù)目錄車輛查詢到所需要的服務(wù)后,把服務(wù)信息回復(fù)給服務(wù)請(qǐng)求者,服務(wù)請(qǐng)求者將回復(fù)的服務(wù)信息中的服務(wù)提供者ID作為目的地址,通過分布式服務(wù)共享模塊調(diào)用該服務(wù)提供者的服務(wù)。
[0016]進(jìn)一步地,所述車載感知設(shè)備包括GPS、攝像頭和傳感器。
[0017]一種基于OSGi的車載網(wǎng)服務(wù)共享中間件的實(shí)現(xiàn)方法,所述基于OSGi的車載網(wǎng)服務(wù)共享中間包括感知設(shè)備模塊、分布式服務(wù)共享模塊、應(yīng)用模塊、服務(wù)目錄選舉模塊和服務(wù)發(fā)現(xiàn)模塊;
[0018]所述感知設(shè)備模塊與車載感知設(shè)備連接,用于將異構(gòu)的車載感知設(shè)備提供的功能封裝成具有統(tǒng)一通用的外部訪問接口的服務(wù);所述應(yīng)用模塊將車載應(yīng)用封裝成具有統(tǒng)一通用的外部訪問接口的服務(wù),實(shí)現(xiàn)服務(wù)與設(shè)備解耦;
[0019]所述服務(wù)目錄選舉模塊根據(jù)車輛的通信能力、穩(wěn)定性及連通性在其一跳通信范圍內(nèi)的鄰居車輛中選舉產(chǎn)生服務(wù)目錄車輛,該服務(wù)目錄車輛的鄰居車輛加入其成員車輛列表,該服務(wù)目錄車輛稱為其成員車輛的本地服務(wù)目錄車輛;服務(wù)目錄車輛建立服務(wù)索引表,用于存儲(chǔ)服務(wù)提供者的服務(wù)信息,服務(wù)信息包括服務(wù)提供者ID、服務(wù)有效時(shí)間和服務(wù)屬性;所述服務(wù)目錄選舉模塊還進(jìn)行服務(wù)目錄車輛的維護(hù);
[0020]所述分布式服務(wù)共享模塊用于將本車輛的感知設(shè)備模塊和應(yīng)用模塊中封裝的服務(wù)發(fā)布為遠(yuǎn)程網(wǎng)絡(luò)服務(wù);并將服務(wù)信息注冊(cè)到本地服務(wù)目錄車輛上,供其他車輛查詢;車輛之間通過分布式服務(wù)共享模塊無線連接;[0021 ] 當(dāng)服務(wù)請(qǐng)求者有服務(wù)請(qǐng)求時(shí),通過本地服務(wù)目錄車輛的服務(wù)發(fā)現(xiàn)模塊在服務(wù)目錄車輛間查詢所需要的服務(wù);
[0022]本地服務(wù)目錄車輛查詢到所需要的服務(wù)后,把服務(wù)信息回復(fù)給服務(wù)請(qǐng)求者,服務(wù)請(qǐng)求者將回復(fù)的服務(wù)信息中的服務(wù)提供者ID作為目的地址,通過分布式服務(wù)共享模塊調(diào)用該服務(wù)提供者的服務(wù)。
[0023]進(jìn)一步地,所述車載感知設(shè)備包括GPS、攝像頭和傳感器。
[0024]進(jìn)一步地,所述選舉產(chǎn)生服務(wù)目錄車輛具體包括:
[0025]a)鄰居發(fā)現(xiàn)過程:尋找車輛η的鄰居車輛,得到車輛η的度數(shù)dn ;車輛η的度數(shù)是指車輛η的鄰居車輛的數(shù)目;
[0026]b)計(jì)算車輛η度數(shù)差Dn= |dn-M|,其中M為理想度數(shù);理想度數(shù)的定義為:由于無線網(wǎng)絡(luò)信道特點(diǎn),為了保證MAC協(xié)議的有效性,一個(gè)服務(wù)目錄車輛所能承擔(dān)的最大成員數(shù)是有限制的,稱此限制為理想度數(shù)。參考文獻(xiàn):CHINARA S,RATH S K.A survey on one-hopclustering algorithms in mobile AdHoc networks[J].Journal of Network and SystemManagement,2009。
[0027]c)計(jì)算車輛n與其鄰居車輛的相對(duì)移動(dòng)性:Μη = Σ ^V1-VnI,其中¥?表示車輛η的速度,Vi表示車輛η的鄰居車輛i的速度;
[0028]d)計(jì)算車輛η的鄰居車輛中已被服務(wù)目錄覆蓋的車輛數(shù)與理想度數(shù)的差值Ln =In-M I,其中M為理想度數(shù);已被服務(wù)目錄覆蓋的車輛是指已經(jīng)被其他服務(wù)目錄車輛的成員車輛列表包含的車輛;
[0029]e)計(jì)算車輛η綜合權(quán)值:In = ClXDn+c2Xc4XMn+c3XLn ;其中Cl、c2、C3為權(quán)值因子,ci+c2+c3 = 1,表示服務(wù)目錄車輛的通信能力、穩(wěn)定性及連通性的相對(duì)重要程度,C4為校正因子,用以調(diào)整與其他指標(biāo)的數(shù)量級(jí)差別;
[0030]f)若車輛η的綜合權(quán)值比所有直接鄰居車輛的綜合權(quán)值都要小,則η成為服務(wù)目錄車輛,車輛η的鄰居車輛加入該服務(wù)目錄車輛的成員車輛列表;能收到兩個(gè)服務(wù)目錄車輛消息的車輛成為網(wǎng)關(guān)車輛,負(fù)責(zé)服務(wù)目錄車輛間的通信;
[0031]g)重復(fù)a)至f)步直到所有車輛都屬于某個(gè)服務(wù)目錄車輛的成員車輛或本身為服務(wù)目錄車輛;
[0032]所述服務(wù)目錄車輛的維護(hù)具體包括:
[0033]1.計(jì)算車輛V與本地服務(wù)目錄車輛η的距離d ;若d大于有效通信半徑時(shí)轉(zhuǎn)ii ;若d小于有效通信半徑,且車輛V的綜合權(quán)值Iv小于其本地服務(wù)目錄車輛的綜合權(quán)值In,則轉(zhuǎn)iii ;
[0034]i1.車輛η尋找新的服務(wù)目錄車輛:若找到新的服務(wù)目錄車輛,則加入該服務(wù)目錄車輛的成員車輛列表;否則進(jìn)行步驟a) — g)的服務(wù)目錄車輛的選舉,結(jié)束;
[0035]ii1.通過蒙特卡洛方法,計(jì)算替換服務(wù)目錄車輛的接受概率:P = e~_W,并產(chǎn)生一個(gè)[0,I)的隨機(jī)數(shù)r ;通過Java語(yǔ)言開發(fā)工具中包含的產(chǎn)生隨機(jī)數(shù)的函數(shù)Math.Random(),調(diào)用Math.Random()函數(shù)能夠返回帶正號(hào)的double值,該值大于等于0.0且小于1.0,即取值范圍是[0.0,1.0)的左閉右開區(qū)間,返回值是一個(gè)隨機(jī)選擇的數(shù),在該范圍內(nèi)(近似)均勻分布。
[0036]iv.若r大于p,則車輛V替換原服務(wù)目錄車輛η成為服務(wù)目錄車輛,原服務(wù)目錄車輛轉(zhuǎn)為成員車輛;否則,服務(wù)目錄車輛不變。
[0037]車輛V與本地服務(wù)目錄車輛η的距離d是基于車載GPS采集的數(shù)據(jù)計(jì)算,其原理為:地球是一個(gè)近乎標(biāo)準(zhǔn)的橢球體,它的赤道半徑為6378.140千米,極半徑為6356.755千米,平均半徑6371.004千米。如果我們假設(shè)地球是一個(gè)完美的球體,那么它的半徑就是地球的平均半徑,記為R。如果以O(shè)度經(jīng)線為基準(zhǔn),那么根據(jù)地球表面任意兩點(diǎn)的經(jīng)緯度就可以計(jì)算出這兩點(diǎn)間的地表距離。設(shè)第一點(diǎn)A的經(jīng)緯度為(LonA,LatA),第二點(diǎn)B的經(jīng)緯度為(LonB,LatB),按照O度經(jīng)線的基準(zhǔn),東經(jīng)取經(jīng)度的正值(Longitude),西經(jīng)取經(jīng)度負(fù)值(-Longitude),北緯取 90-緯度值(90-Latitude),南緯取 90+ 緯度值(90+Latitude),則經(jīng)過上述處理過后的兩點(diǎn)被計(jì)為(MLonA,MLatA)和(MLonB,MLatB)。假設(shè)應(yīng)用于北半球,則僅對(duì)經(jīng)度作正負(fù)的處理,而不對(duì)緯度作90-Latitude處理,那么根據(jù)三角推導(dǎo),可以得到計(jì)算兩點(diǎn)距離Distance (單位:千米)的公式:
[0038]C = sin (MLatA)*sin(MLatB)*cos(MLonA-MLonB)+cos (MLatA)*cos(MLatB)
[0039]Distance = R*arccos(C)*Pi/180。
[0040]進(jìn)一步地,所述M為10。
[0041]進(jìn)一步地,所述C1 和 C2 為 0.35,C3 為 0.3,C4 為0.1。
[0042]進(jìn)一步地,車輛之間無線連接方式為DSRC或者WLAN。
[0043]一種基于OSGi的車載網(wǎng)服務(wù)共享中間件的服務(wù)共享方法,其特征在于:包括以下步驟:
[0044]步驟一:服務(wù)注冊(cè);
[0045]步驟二:服務(wù)請(qǐng)求;
[0046]步驟三:服務(wù)回復(fù);
[0047]所述步驟一具體包括:服務(wù)提供者P將自己的服務(wù)S的服務(wù)信息注冊(cè)到本地服務(wù)目錄車輛D,D存儲(chǔ)服務(wù)信息并記錄服務(wù)提供者P的信息,存儲(chǔ)字段如下:〈服務(wù)提供者ID,有效時(shí)間,服務(wù)屬性,本地服務(wù)目錄ID> ;
[0048]其中服務(wù)提供者ID是指提供服務(wù)的車輛的ID ;有效時(shí)間是指該服務(wù)的有效時(shí)間,超過有效時(shí)間D會(huì)將該服務(wù)信息從服務(wù)索引表上刪除;服務(wù)屬性是指服務(wù)名稱和該服務(wù)是否為實(shí)時(shí)服務(wù);本地服務(wù)目錄ID是指本地服務(wù)目錄車輛的ID ;
[0049]所述步驟二具體包括:車輛Q將所需的服務(wù)描述R發(fā)送給本地服務(wù)目錄車輛D,服務(wù)描述R,即請(qǐng)求消息字段如下〈服務(wù)請(qǐng)求者ID,生存時(shí)間,服務(wù)屬性> ;
[0050]其中服務(wù)請(qǐng)求者ID是指請(qǐng)求服務(wù)的車輛ID ;生存時(shí)間是指服務(wù)請(qǐng)求的生存時(shí)間,超過生存時(shí)間該服務(wù)請(qǐng)求就不再傳播;服務(wù)屬性是指服務(wù)名稱和該服務(wù)是否為實(shí)時(shí)服務(wù);
[0051]所述步驟三具體包括,D匹配已注冊(cè)的服務(wù)信息,如果D存儲(chǔ)了相應(yīng)的未過期的服務(wù)信息,則D向Q回復(fù)該注冊(cè)信息;
[0052]如果沒有匹配到相應(yīng)的服務(wù)信息,D通過以服務(wù)目錄車輛為頂點(diǎn),目錄車輛和網(wǎng)關(guān)車輛之間的鏈路為邊,組建的多播樹將服務(wù)描述R進(jìn)行多播,服務(wù)描述是服務(wù)請(qǐng)求車輛發(fā)送給本地服務(wù)目錄車輛的消息,用于描述所需要的服務(wù)。多播消息是本地服務(wù)目錄車輛通過多播樹發(fā)送給其他服務(wù)目錄車輛的消息,不僅包含有所需要的服務(wù)描述,還加入了多播跳數(shù)用于控制消息的傳輸跳數(shù)。多播消息字段如下:〈源目錄ID,生存時(shí)間,多播跳數(shù),服務(wù)屬性> ;
[0053]其中服務(wù)請(qǐng)求者ID是指請(qǐng)求服務(wù)的車輛的ID ;生存時(shí)間是指服務(wù)請(qǐng)求的生存時(shí)間,超過生存時(shí)間該服務(wù)請(qǐng)求就不再傳播;多播跳數(shù)是指通過設(shè)定多播的跳數(shù),能控制多播消息的傳輸跳數(shù);服務(wù)屬性是指服務(wù)名稱和該服務(wù)是否為實(shí)時(shí)服務(wù);
[0054]獲得多播消息的目錄車輛對(duì)服務(wù)描述R進(jìn)行匹配,如果匹配成功則將匹配的服務(wù)信息回復(fù)給D,D存儲(chǔ)該服務(wù)信息并且向Q回復(fù)該服務(wù)信息,Q將回復(fù)的服務(wù)信息中的服務(wù)提供者ID作為目的地址,通過分布式服務(wù)共享模塊調(diào)用該服務(wù)提供者的服務(wù);
[0055]否則,D在該多播消息生命周期過期時(shí)向Q回復(fù)無請(qǐng)求服務(wù)消息,Q取消該次服務(wù)請(qǐng)求。
[0056]進(jìn)一步地,所述服務(wù)信息注冊(cè)采用租賃的形式,服務(wù)提供者P需要周期性地到本地服務(wù)目錄車輛D處進(jìn)行服務(wù)延續(xù)租賃,D更新服務(wù)索引表;如果P沒有延續(xù)租賃,那么D會(huì)將P的所有服務(wù)信息從服務(wù)索引表上刪除。
[0057]進(jìn)一步地,所述服務(wù)目錄車輛上的服務(wù)信息通過一跳內(nèi)的服務(wù)提供者的注冊(cè)獲得,還通過服務(wù)目錄車輛間搜索服務(wù)時(shí)記錄反饋信息獲得。
[0058]有益效果:
[0059](I)本發(fā)明提供的基于OSGi的車載網(wǎng)服務(wù)共享中間件、實(shí)現(xiàn)方法及服務(wù)共享方法,將車輛感知設(shè)備提供的各種功能虛擬抽象為網(wǎng)絡(luò)服務(wù),實(shí)現(xiàn)應(yīng)用與設(shè)備解耦,屏蔽不同車型底層的異構(gòu)設(shè)備,為車與車之間服務(wù)共享提供統(tǒng)一數(shù)據(jù)交換平臺(tái)。
[0060](2)分布式目錄建立及維護(hù)機(jī)制,選取車輛的通信能力、移動(dòng)性及連通性作為服務(wù)目錄選舉的重要指標(biāo),使服務(wù)目錄在動(dòng)態(tài)的車載網(wǎng)環(huán)境中保持穩(wěn)定,并實(shí)現(xiàn)大范圍服務(wù)發(fā)現(xiàn)。分布式目錄維護(hù)機(jī)制采用蒙特卡洛思想的容忍策略,對(duì)服務(wù)目錄車輛競(jìng)爭(zhēng)進(jìn)行優(yōu)化,以提聞算法的穩(wěn)定性。
[0061](3)基于分布式服務(wù)目錄的服務(wù)發(fā)現(xiàn)機(jī)制使得車輛在動(dòng)態(tài)環(huán)境中,在車輛隨時(shí)進(jìn)入或離開網(wǎng)絡(luò)的情況下仍能夠有效而及時(shí)地進(jìn)行服務(wù)發(fā)現(xiàn),尋找到服務(wù)提供者的相關(guān)信肩、O
【專利附圖】
【附圖說明】
[0062]圖1是本發(fā)明基于OSGi的車載網(wǎng)服務(wù)共享中間件(VssOSGi)的整體框架圖;
[0063]圖2為本發(fā)明基于分布式服務(wù)目錄的服務(wù)發(fā)現(xiàn)架構(gòu);
[0064]圖3為本發(fā)明服務(wù)發(fā)布和發(fā)現(xiàn)過程示意圖;
[0065]圖4是本發(fā)明的服務(wù)共享中間件應(yīng)用場(chǎng)景圖。
【具體實(shí)施方式】
[0066]以下結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明進(jìn)行進(jìn)一步說明:
[0067]實(shí)施例1:
[0068]一、基于OSGi的車載網(wǎng)服務(wù)共享中間件(VssOSGi)的整體框架
[0069]本發(fā)明基于OSGi的車載網(wǎng)服務(wù)共享中間件(VssOSGi)的整體框架設(shè)計(jì)如圖1所示:
[0070]VssOSGi中間件平臺(tái)基于OSGi框架,由下至上擴(kuò)展4層Bundle,分別是DeviceBundle、DSD Service Discovery Bundle、DssOSGi Bundle 和 App Bundle (即感知設(shè)備模塊、分布式服務(wù)目錄服務(wù)發(fā)現(xiàn)模塊、分布式服務(wù)共享模塊和應(yīng)用模塊)。
[0071]車載嵌入式感知設(shè)備如GPS、攝像頭、傳感器等,根據(jù)各自的功能或網(wǎng)絡(luò)角色將其提供的基礎(chǔ)服務(wù)封裝在相應(yīng)的Device Bundle中,中間件平臺(tái)可以通過這些Bundle直接控制相應(yīng)設(shè)備。車載應(yīng)用等業(yè)務(wù)邏輯功能封裝在App Bundle,可通過DssOSGi發(fā)布為遠(yuǎn)程服務(wù),然后注冊(cè)到本地服務(wù)目錄車輛上,共享給其他車輛。
[0072]DSD Service Discovery Bundle (Distributed Service Directory ServiceDiscovery)分布式服務(wù)目錄服務(wù)發(fā)現(xiàn)Bundle,能通過Service Directory Elect1n模塊(即服務(wù)目錄選舉模塊)選舉產(chǎn)生分布式服務(wù)目錄車輛,同時(shí)Service DiscoveryMechanism模塊(即服務(wù)發(fā)現(xiàn)模塊)負(fù)責(zé)在服務(wù)目錄車輛間進(jìn)行服務(wù)發(fā)現(xiàn)。網(wǎng)絡(luò)中的每輛車都可以作為服務(wù)目錄車輛或成員車輛,成員車輛通過上層DssOSGi把本地設(shè)備感知服務(wù)注冊(cè)到本地服務(wù)目錄車輛上,同時(shí)車載應(yīng)用也可以通過本地服務(wù)目錄車輛的DSD ServiceDiscovery Bundle獲取其他服務(wù)目錄車輛上已經(jīng)注冊(cè)的共享服務(wù),從而實(shí)現(xiàn)車輛間服務(wù)共享。
[0073]車輛之間通過DssOSGi無線連接。DssOSGi已具有遠(yuǎn)程服務(wù)調(diào)用和在本地服務(wù)目錄進(jìn)行服務(wù)發(fā)現(xiàn)的功能。因此,DssOSGi根據(jù)DSD Service Discovery Bundle服務(wù)目錄的選舉結(jié)果決定是否將本車輛設(shè)置為本地服務(wù)目錄車輛。同時(shí),車載應(yīng)用能通過DssOSGi在本地服務(wù)目錄車輛上獲取其他車輛提供的服務(wù)并進(jìn)行服務(wù)綁定和調(diào)用,從而完成車輛間服務(wù)共孚。
[0074]二、基于分布式服務(wù)目錄的服務(wù)發(fā)現(xiàn)方法:
[0075]車載網(wǎng)中某輛車提供的服務(wù)若要共享給其他的車輛,一個(gè)重要的前提是別的車輛需要知道這個(gè)服務(wù)的提供者是哪些車輛,因此服務(wù)發(fā)現(xiàn)是服務(wù)共享的重要基礎(chǔ)。
[0076]車載自組織網(wǎng)絡(luò)是自組織形成的,車輛隨時(shí)可能加入或離開網(wǎng)絡(luò),容易導(dǎo)致服務(wù)發(fā)現(xiàn)失效,降低服務(wù)發(fā)現(xiàn)的效率。為了適應(yīng)動(dòng)態(tài)的網(wǎng)絡(luò)環(huán)境,實(shí)現(xiàn)大范圍的服務(wù)發(fā)現(xiàn)并且降低通信開銷的目的,本發(fā)明所采取分布式服務(wù)目錄的服務(wù)發(fā)現(xiàn)架構(gòu)以適應(yīng)車輛在車載自組織網(wǎng)絡(luò)下的服務(wù)發(fā)現(xiàn),如圖2所示。
[0077]服務(wù)目錄即存儲(chǔ)和維護(hù)網(wǎng)絡(luò)中共享服務(wù)信息的個(gè)體。服務(wù)提供者在服務(wù)目錄上注冊(cè)自己的服務(wù)描述信息,當(dāng)服務(wù)請(qǐng)求者向服務(wù)目錄發(fā)出服務(wù)請(qǐng)求時(shí),服務(wù)目錄可以通過查找本地的服務(wù)描述信息來回答。分布式服務(wù)目錄即服務(wù)目錄節(jié)點(diǎn)散布到網(wǎng)絡(luò)的各個(gè)地方,每個(gè)服務(wù)目錄都存儲(chǔ)了網(wǎng)絡(luò)中若干服務(wù),當(dāng)一個(gè)服務(wù)目錄節(jié)點(diǎn)無法回答某個(gè)服務(wù)請(qǐng)求的時(shí)候,它會(huì)將這個(gè)服務(wù)請(qǐng)求轉(zhuǎn)發(fā)到其他的服務(wù)目錄上以完成全局的服務(wù)發(fā)現(xiàn)。
[0078]I)車輛在其一跳通信范圍內(nèi)的鄰居車輛中選舉一個(gè)車輛作為服務(wù)目錄車輛,該服務(wù)目錄車輛的鄰居車輛加入其成員車輛列表,同時(shí)收到兩個(gè)服務(wù)目錄車輛存在消息的車輛作為網(wǎng)關(guān)車輛。目錄車輛負(fù)責(zé)緩存可用的共享服務(wù)信息,服務(wù)的發(fā)現(xiàn)在服務(wù)目錄車輛間進(jìn)行,網(wǎng)關(guān)車輛負(fù)責(zé)服務(wù)目錄車輛間的通信,比起傳統(tǒng)的無服務(wù)目錄的服務(wù)發(fā)現(xiàn)方式,本專利的成員車輛不需要緩存服務(wù)信息,網(wǎng)絡(luò)中也不用洪泛服務(wù)請(qǐng)求消息,服務(wù)的發(fā)現(xiàn)也不依賴路由協(xié)議。
[0079]2)服務(wù)發(fā)布和發(fā)現(xiàn)需經(jīng)過三個(gè)過程,分別是服務(wù)注冊(cè),服務(wù)請(qǐng)求與服務(wù)回復(fù)。
[0080]首先,服務(wù)提供者P需要將自己的服務(wù)S的服務(wù)信息注冊(cè)到本地服務(wù)目錄車輛D,服務(wù)注冊(cè)采用租賃的形式,P需要周期地到D處進(jìn)行服務(wù)延續(xù)租賃,服務(wù)更新也在此刻進(jìn)行。如果P沒有對(duì)自己的服務(wù)進(jìn)行延續(xù)租賃,那么D會(huì)將P的所有服務(wù)信息從服務(wù)索引表上刪除掉。服務(wù)注冊(cè)信息既可以通過一跳內(nèi)的服務(wù)提供者的注冊(cè)獲得,又可以通過服務(wù)目錄車輛間搜索服務(wù)時(shí)記錄反饋信息獲得。D存儲(chǔ)服務(wù)信息的同時(shí)也記錄服務(wù)提供者P的信息,存儲(chǔ)字段如下:< 服務(wù)提供ID,有效時(shí)間,服務(wù)屬性,本地服務(wù)目錄ID>
[0081]另一方面,車輛Q如果有服務(wù)請(qǐng)求,請(qǐng)求消息字段如下〈服務(wù)請(qǐng)求者ID,生存時(shí)間,服務(wù)屬性 >,將所需的服務(wù)描述R發(fā)送給本地服務(wù)目錄車輛D,D匹配注冊(cè)的信息,如果D存儲(chǔ)了相應(yīng)的未過期注冊(cè)信息,則D向Q回復(fù)該注冊(cè)信息;如果,沒有匹配到相關(guān)信息,D通過以服務(wù)目錄車輛為頂點(diǎn),目錄車輛和網(wǎng)關(guān)車輛之間的鏈路為邊組建的多播樹將R多播,多播消息字段如下:〈源目錄ID,生存時(shí)間,多播跳數(shù),服務(wù)屬性〉。獲得多播信息的目錄車輛對(duì)R進(jìn)行服務(wù)描述匹配,如果匹配成功則將匹配信息回復(fù)D,D存儲(chǔ)該注冊(cè)信息并且向Q回復(fù)該信息,否則D在該多播消息生命周期過期時(shí)向Q回復(fù)無請(qǐng)求服務(wù)消息。由于目錄間都采用樹結(jié)構(gòu)進(jìn)行多播,所以避免了泛洪,同時(shí)節(jié)約了網(wǎng)絡(luò)帶寬,服務(wù)發(fā)布和發(fā)現(xiàn)過程如圖3所示。
[0082]三、分布式服務(wù)目錄建立及維護(hù)機(jī)制設(shè)計(jì):
[0083]以往的分布式服務(wù)目錄選擇算法主要針對(duì)移動(dòng)自組織網(wǎng)絡(luò)提出,沒有充分利用車載自組織網(wǎng)絡(luò)的優(yōu)勢(shì)和特點(diǎn)。針對(duì)車載自組織網(wǎng)絡(luò)中車輛移動(dòng)特性,本文提出一種面向穩(wěn)定和共享性的基于權(quán)值的分布式目錄選擇算法(Stability And Sharing-orientedWeight-based Algorithm, SSWA),將車輛相對(duì)鄰居車輛的移動(dòng)性和與其他服務(wù)目錄的連通性作為服務(wù)目錄選舉的重要指標(biāo),并設(shè)計(jì)了基于蒙特卡洛思想的容忍策略對(duì)服務(wù)目錄競(jìng)爭(zhēng)進(jìn)行優(yōu)化以提高算法的穩(wěn)定性。
[0084]I)綜合權(quán)值的計(jì)算
[0085]為保證所選服務(wù)目錄車輛的通信能力,綜合權(quán)值以車輛η的度數(shù)與理想度數(shù)的差值Idn-Ml作為一個(gè)分量。由于受交通規(guī)則限制車輛速度保持在一定范圍內(nèi),相對(duì)移動(dòng)性低的車輛擔(dān)任服務(wù)目錄車輛有利于算法的穩(wěn)定性,故引入相對(duì)移動(dòng)性指標(biāo),即車輛和所有鄰居車輛速度矢量差的模之和。另外,由于網(wǎng)關(guān)車輛是服務(wù)目錄間通信的橋梁,服務(wù)目錄擁有的網(wǎng)關(guān)車輛越多意味著連通性越強(qiáng),更利于提高服務(wù)發(fā)現(xiàn)的能力,故把車輛η的鄰居車輛中已被服務(wù)目錄覆蓋車輛數(shù)與理想度數(shù)的差值Iin-Ml作為一個(gè)分量。本文假定車輛配備有定位和導(dǎo)航裝置,可以直接獲取位置和速度矢量信息。
[0086]綜合考慮車輛的通信覆蓋能力、相對(duì)鄰居車輛的移動(dòng)性及車輛與其他服務(wù)目錄的連通性,定義車輛η的綜合權(quán)值如下:
[0087]In = C1X Dn+c2 X C4 X Mn+c3 X Ln
[0088]其中:Mn表示車輛η的相對(duì)移動(dòng)性,Mn = Σ j I V1-Vn |,i為η鄰居車輛,Dn表示車輛η的度數(shù)差,Dn = I dn-M I,Ln表示車輛η的鄰居車輛中已被服務(wù)目錄覆蓋的車輛數(shù)與理想度數(shù)的差值,Ln= I In-M |,車輛η的In值越小,越適合作為服務(wù)目錄車輛。(^、(32、(33為權(quán)值因子,ci+c2+c3= 1,表示各項(xiàng)指標(biāo)的相對(duì)重要程度,根據(jù)車載自組織網(wǎng)絡(luò)的不同狀態(tài)(車輛通信半徑、車輛速度)取不同的值。公式中C4為校正因子,用以調(diào)整與其他指標(biāo)的數(shù)量級(jí)差別。
[0089]2)服務(wù)目錄車輛的形成
[0090]在服務(wù)目錄的形成階段,主要是要進(jìn)行服務(wù)目錄車輛選舉。車輛首先進(jìn)行廣播,將自身狀態(tài)(如ID,速度,位置)告知鄰居車輛,鄰居發(fā)現(xiàn)過程之后,根據(jù)所得到的局部信息,計(jì)算每個(gè)車輛的綜合權(quán)值并告知鄰居車輛。服務(wù)目錄車輛選舉的步驟如下:
[0091]a)鄰居發(fā)現(xiàn)過程:尋找車輛η的鄰居車輛,得到車輛η的度數(shù)dn ;
[0092]b)計(jì)算每個(gè)車輛η度數(shù)差Dn = I dn-M |,M為理想度數(shù)
[0093]c)計(jì)算每個(gè)車輛η與其鄰居車輛的相對(duì)移動(dòng)性=Mn=Ei I V1-Vn |,i為η鄰居車輛
[0094]d)計(jì)算每個(gè)車輛η的鄰居車輛中已被服務(wù)目錄覆蓋的車輛數(shù)與理想度數(shù)的差值Ln= I ln-M|,M為理想度數(shù)
[0095]e)計(jì)算車輛 η 綜合權(quán)值:In = C1X Dn+c2 Xc4X Mn+c3 X Ln
[0096]f)若車輛η的綜合權(quán)值比所有直接鄰居車輛都要小,則η成為服務(wù)目錄車輛,η的鄰居車輛加入該服務(wù)目錄車輛的成員車輛列表;能收到兩個(gè)服務(wù)目錄車輛消息的車輛成為網(wǎng)關(guān)車輛,負(fù)責(zé)進(jìn)行服務(wù)目錄車輛間的通信;
[0097]g)重復(fù)a)至f)步直到服務(wù)目錄車輛建立過程完成。所有車輛都屬于某個(gè)服務(wù)目錄車輛的成員車輛或本身為服務(wù)目錄車輛。
[0098]3)服務(wù)目錄車輛的維護(hù)
[0099]服務(wù)目錄車輛的更新是由車輛移動(dòng)導(dǎo)致通信狀態(tài)變化而觸發(fā)的。成員車輛一直監(jiān)控服務(wù)目錄車輛的信號(hào)強(qiáng)度,當(dāng)車輛與服務(wù)目錄車輛之間的距離增大到超出有效通信范圍時(shí),車輛將加入一個(gè)鄰居服務(wù)目錄車輛,服務(wù)目錄車輛更新成員車輛列表。如果存在某個(gè)車輛無法被任何服務(wù)目錄車輛所覆蓋,則觸發(fā)服務(wù)目錄車輛選舉過程。
[0100]當(dāng)某個(gè)車輛移動(dòng)到服務(wù)目錄車輛的通信范圍內(nèi),且權(quán)值比服務(wù)目錄車輛要小時(shí),產(chǎn)生服務(wù)目錄車輛競(jìng)爭(zhēng)。在無線通信環(huán)境下,無線信道本身存在不穩(wěn)定性如多道衰減、干擾等,通信狀態(tài)的不穩(wěn)定導(dǎo)致車輛權(quán)值的抖動(dòng)。當(dāng)兩個(gè)車輛權(quán)值相差不大時(shí),通過蒙特卡洛優(yōu)化,按小概率選擇替換,從而避免了由于無線網(wǎng)絡(luò)信道的不穩(wěn)定因素造成服務(wù)目錄的頻繁更替,這樣可以增強(qiáng)服務(wù)目錄的穩(wěn)定性。
[0101]蒙特卡洛方法是改變局部搜索算法中下降規(guī)則所得的一種方法,其基本思想是以一定的概率接受一個(gè)相對(duì)來說較壞的狀態(tài)。在服務(wù)目錄車輛的維護(hù)階段,當(dāng)服務(wù)目錄車輛η遭遇車輛V的競(jìng)爭(zhēng)In > Iv時(shí),按照概率(1-P)進(jìn)行服務(wù)目錄替換,定義接受概率:
P =以概率P接受權(quán)值大的服務(wù)目錄車輛繼續(xù)擔(dān)任服務(wù)目錄車輛角色。指數(shù)函數(shù)
y = ex在自變量X小于O時(shí)單調(diào)遞增,且當(dāng)自變量X無限小時(shí)函數(shù)值y趨近于O。將接受概率P定義為指數(shù)函數(shù),從而滿足η與V權(quán)值相差越大,替換概率越大,當(dāng)In = Iv時(shí),P = I。服務(wù)目錄車輛維護(hù)的步驟如下:
[0102]1.計(jì)算車輛V與所屬服務(wù)目錄車輛η的距離d。若d大于有效通信半徑時(shí)轉(zhuǎn)ii ;若d小于有效通信半徑且車輛V權(quán)值Iv小于其所屬服務(wù)目錄車輛權(quán)值In轉(zhuǎn)iii ;
[0103]i1.車輛η尋找新服務(wù)目錄車輛。若找到新服務(wù)目錄,則加入該服務(wù)目錄;否則進(jìn)行服務(wù)目錄選舉,結(jié)束。
[0104]ii1.計(jì)算替換服務(wù)目錄的接受概率:p = e(Iv_In),并產(chǎn)生一個(gè)[0,I)的隨機(jī)數(shù)r ;
【Java語(yǔ)言開發(fā)工具包含產(chǎn)生隨機(jī)數(shù)的函數(shù),調(diào)用這個(gè)Math.Random ()函數(shù)能夠返回帶正號(hào)的double值,該值大于等于0.0且小于1.0,即取值范圍是[0.0, 1.0)的左閉右開區(qū)間,返回值是一個(gè)隨機(jī)選擇的數(shù),在該范圍內(nèi)(近似)均勻分布。]
[0105]iv.若r大于p,則車輛V替換原服務(wù)目錄η成為服務(wù)目錄車輛,原服務(wù)目錄車輛轉(zhuǎn)為成員車輛。
[0106]實(shí)施例2:
[0107]本發(fā)明的核心在于提供一個(gè)將車輛感知設(shè)備的各種功能虛擬抽象為網(wǎng)絡(luò)服務(wù),實(shí)現(xiàn)車輛間的服務(wù)共享的平臺(tái):
[0108]I)每臺(tái)車輛的車載嵌入式網(wǎng)關(guān)上部署VssOSGi中間件,車載嵌入式感知設(shè)備如GPS、攝像頭、傳感器等,根據(jù)各自的功能或網(wǎng)絡(luò)角色將其提供的基礎(chǔ)服務(wù)封裝在相應(yīng)的Device Bundle中,中間件平臺(tái)可以通過這些Bundle直接控制相應(yīng)設(shè)備。車載應(yīng)用等業(yè)務(wù)邏輯功能封裝在App Bundle。車輛之間通過DSRC【即Dedicated Short RangeCommunicat1ns (專用短程通信技術(shù))】或者WLAN相互連接。
[0109]2)車輛在行駛時(shí)按一定時(shí)間間隔向鄰居車輛發(fā)送地理位置及速度等信息(由具體的車載網(wǎng)路由協(xié)議決定),車輛根據(jù)所得到的局部信息,綜合權(quán)值并告知鄰居車輛,綜合權(quán)值小的自動(dòng)成為服務(wù)目錄;服務(wù)目錄的鄰居車輛加入該車輛的成員列表;收到兩個(gè)服務(wù)目錄車輛消息的車輛成為網(wǎng)關(guān)車輛,負(fù)責(zé)進(jìn)行服務(wù)目錄車輛間的通信。
[0110]3)車輛有服務(wù)請(qǐng)求時(shí),將請(qǐng)求發(fā)送到本地服務(wù)目錄車輛,通過服務(wù)目錄間的服務(wù)發(fā)現(xiàn)找到服務(wù)提供者IP地址,最后,服務(wù)請(qǐng)求者通過服務(wù)提供者的IP地址成功調(diào)用其服務(wù),實(shí)現(xiàn)車輛間的服務(wù)共享。
[0111]圖4為通過實(shí)現(xiàn)VssOSGi中間件平臺(tái)進(jìn)行車載自組網(wǎng)絡(luò)下的服務(wù)共享實(shí)例。車輛9發(fā)起一次對(duì)服務(wù)S的請(qǐng)求,首先將請(qǐng)求發(fā)送給本地服務(wù)目錄車輛1,車輛I查詢本地內(nèi)存是否有服務(wù)S,因?yàn)檐囕vI中沒有存儲(chǔ)該類服務(wù)信息,因此,車輛I通過圖中的網(wǎng)關(guān)車輛將服務(wù)請(qǐng)求消息轉(zhuǎn)發(fā)給其他服務(wù)目錄車輛2、3、4、5、6、7、8。因?yàn)檐囕v1已經(jīng)在其本地服務(wù)目錄車輛4上注冊(cè)服務(wù)S,因此4查看本地內(nèi)存發(fā)現(xiàn)有匹配的服務(wù)信息,于是將此信息反饋回車輛1,車輛I獲得該注冊(cè)信息將此信息存儲(chǔ),然后將此消息發(fā)送給9,車輛9再對(duì)車輛10的服務(wù)進(jìn)行綁定和調(diào)用,至此服務(wù)共享完成。
【權(quán)利要求】
1.一種基于OSGi的車載網(wǎng)服務(wù)共享中間件,其特征在于:包括感知設(shè)備模塊、分布式服務(wù)共享模塊、應(yīng)用模塊、服務(wù)目錄選舉模塊和服務(wù)發(fā)現(xiàn)模塊; 所述感知設(shè)備模塊與車載感知設(shè)備連接,用于將異構(gòu)的車載感知設(shè)備提供的功能封裝成具有統(tǒng)一通用的外部訪問接口的服務(wù);所述應(yīng)用模塊將車載應(yīng)用封裝成具有統(tǒng)一通用的外部訪問接口的服務(wù),實(shí)現(xiàn)服務(wù)與設(shè)備解耦; 所述服務(wù)目錄選舉模塊根據(jù)車輛的通信能力、穩(wěn)定性及連通性在其一跳通信范圍內(nèi)的鄰居車輛中選舉產(chǎn)生服務(wù)目錄車輛,該服務(wù)目錄車輛的鄰居車輛加入其成員車輛列表,該服務(wù)目錄車輛稱為其成員車輛的本地服務(wù)目錄車輛;服務(wù)目錄車輛建立服務(wù)索引表,用于存儲(chǔ)服務(wù)提供者的服務(wù)信息,服務(wù)信息包括服務(wù)提供者ID、服務(wù)有效時(shí)間和服務(wù)屬性;所述服務(wù)目錄選舉模塊還進(jìn)行服務(wù)目錄車輛的維護(hù); 所述分布式服務(wù)共享模塊用于將本車輛的感知設(shè)備模塊和應(yīng)用模塊中封裝的服務(wù)發(fā)布為遠(yuǎn)程網(wǎng)絡(luò)服務(wù);并將服務(wù)信息注冊(cè)到本地服務(wù)目錄車輛上,供其他車輛查詢;車輛之間通過分布式服務(wù)共享模塊無線連接; 當(dāng)服務(wù)請(qǐng)求者有服務(wù)請(qǐng)求時(shí),通過本地服務(wù)目錄車輛的服務(wù)發(fā)現(xiàn)模塊在服務(wù)目錄車輛間查詢所需要的服務(wù); 本地服務(wù)目錄車輛查詢到所需要的服務(wù)后,把服務(wù)信息回復(fù)給服務(wù)請(qǐng)求者,服務(wù)請(qǐng)求者將回復(fù)的服務(wù)信息中的服務(wù)提供者ID作為目的地址,通過分布式服務(wù)共享模塊調(diào)用該服務(wù)提供者的服務(wù)。
2.根據(jù)權(quán)利要求1所述的基于OSGi的車載網(wǎng)服務(wù)共享中間件,其特征在于:所述車載感知設(shè)備包括GPS、攝像頭和傳感器。
3.一種基于OSGi的車載網(wǎng)服務(wù)共享中間件的實(shí)現(xiàn)方法,其特征在于:所述基于OSGi的車載網(wǎng)服務(wù)共享中間包括感知設(shè)備模塊、分布式服務(wù)共享模塊、應(yīng)用模塊、服務(wù)目錄選舉模塊和服務(wù)發(fā)現(xiàn)模塊; 所述感知設(shè)備模塊與車載感知設(shè)備連接,用于將異構(gòu)的車載感知設(shè)備提供的功能封裝成具有統(tǒng)一通用的外部訪問接口的服務(wù);所述應(yīng)用模塊將車載應(yīng)用封裝成具有統(tǒng)一通用的外部訪問接口的服務(wù),實(shí)現(xiàn)服務(wù)與設(shè)備解耦; 所述服務(wù)目錄選舉模塊根據(jù)車輛的通信能力、穩(wěn)定性及連通性在其一跳通信范圍內(nèi)的鄰居車輛中選舉產(chǎn)生服務(wù)目錄車輛,該服務(wù)目錄車輛的鄰居車輛加入其成員車輛列表,該服務(wù)目錄車輛稱為其成員車輛的本地服務(wù)目錄車輛;服務(wù)目錄車輛建立服務(wù)索引表,用于存儲(chǔ)服務(wù)提供者的服務(wù)信息,服務(wù)信息包括服務(wù)提供者ID、服務(wù)有效時(shí)間和服務(wù)屬性;所述服務(wù)目錄選舉模塊還進(jìn)行服務(wù)目錄車輛的維護(hù); 所述分布式服務(wù)共享模塊用于將本車輛的感知設(shè)備模塊和應(yīng)用模塊中封裝的服務(wù)發(fā)布為遠(yuǎn)程網(wǎng)絡(luò)服務(wù);并將服務(wù)信息注冊(cè)到本地服務(wù)目錄車輛上,供其他車輛查詢;車輛之間通過分布式服務(wù)共享模塊無線連接; 當(dāng)服務(wù)請(qǐng)求者有服務(wù)請(qǐng)求時(shí),通過本地服務(wù)目錄車輛的服務(wù)發(fā)現(xiàn)模塊在服務(wù)目錄車輛間查詢所需要的服務(wù); 本地服務(wù)目錄車輛查詢到所需要的服務(wù)后,把服務(wù)信息回復(fù)給服務(wù)請(qǐng)求者,服務(wù)請(qǐng)求者將回復(fù)的服務(wù)信息中的服務(wù)提供者ID作為目的地址,通過分布式服務(wù)共享模塊調(diào)用該服務(wù)提供者的服務(wù)。
4.根據(jù)權(quán)利要求3所述的基于OSGi的車載網(wǎng)服務(wù)共享中間件的實(shí)現(xiàn)方法,其特征在于,所述選舉產(chǎn)生服務(wù)目錄車輛具體包括: a)鄰居發(fā)現(xiàn)過程:尋找車輛η的鄰居車輛,得到車輛η的度數(shù)dn;車輛η的度數(shù)是指車輛η的鄰居車輛的數(shù)目; b)計(jì)算車輛η度數(shù)差Dn= I dn-M I,其中M為理想度數(shù); c)計(jì)算車輛η與其鄰居車輛的相對(duì)移動(dòng)性:Μη= Σ ^V1-VnI,其中¥?表示車輛η的速度,Vi表示車輛η的鄰居車輛i的速度; d)計(jì)算車輛η的鄰居車輛中已被服務(wù)目錄覆蓋的車輛數(shù)與理想度數(shù)的差值Ln=In-M I,其中M為理想度數(shù);已被服務(wù)目錄覆蓋的車輛是指已經(jīng)被其他服務(wù)目錄車輛的成員車輛列表包含的車輛; e)計(jì)算車輛η綜合權(quán)值:In=ClXDn+C2XC4XMn+C3XLn;其中Cl、c2、c3為權(quán)值因子,表示服務(wù)目錄車輛的通信能力、穩(wěn)定性及連通性的相對(duì)重要程度,Cl+c2+c3 = 1,C4為校正因子; f)若車輛η的綜合權(quán)值比所有直接鄰居車輛的綜合權(quán)值都要小,則η成為服務(wù)目錄車輛,車輛η的鄰居車輛加入該服務(wù)目錄車輛的成員車輛列表;能收到兩個(gè)服務(wù)目錄車輛消息的車輛成為網(wǎng)關(guān)車輛,負(fù)責(zé)服務(wù)目錄車輛間的通信; g)重復(fù)a)至f)步直到所有車輛都屬于某個(gè)服務(wù)目錄車輛的成員車輛或本身為服務(wù)目錄車輛; 所述服務(wù)目錄車輛的維護(hù)具體包括: 1.計(jì)算車輛V與本地服務(wù)目錄車輛η的距離d ;若d大于有效通信半徑時(shí)轉(zhuǎn)ii ;若d小于有效通信半徑,且車輛V的綜合權(quán)值Iv小于其本地服務(wù)目錄車輛的綜合權(quán)值In,則轉(zhuǎn)iii ; ?.車輛η尋找新的服務(wù)目錄車輛:若找到新的服務(wù)目錄車輛,則加入該服務(wù)目錄車輛的成員車輛列表;否則進(jìn)行步驟a) — g)的服務(wù)目錄車輛的選舉,結(jié)束; ii1.通過蒙特卡洛方法,計(jì)算替換服務(wù)目錄車輛的接受概率:P=并產(chǎn)生一個(gè)[O, I)的隨機(jī)數(shù)r ; iv.若r大于P,則車輛V替換原服務(wù)目錄車輛η成為服務(wù)目錄車輛,原服務(wù)目錄車輛轉(zhuǎn)為成員車輛;否則,服務(wù)目錄車輛不變。
5.根據(jù)權(quán)利要求4所述的基于OSGi的車載網(wǎng)服務(wù)共享中間件的實(shí)現(xiàn)方法,其特征在于,所述M為10。
6.根據(jù)權(quán)利要求4所述的基于OSGi的車載網(wǎng)服務(wù)共享中間件的實(shí)現(xiàn)方法,其特征在于,所述 C1 和 C2 為 0.35,C3 為 0.3,C4 為 0.1。
7.根據(jù)權(quán)利要求3或4所述的基于OSGi的車載網(wǎng)服務(wù)共享中間件的服務(wù)共享方法,其特征在于,車輛之間無線連接方式為DSRC或者WLAN。
8.一種基于OSGi的車載網(wǎng)服務(wù)共享中間件的服務(wù)共享方法,其特征在于:包括以下步驟: 步驟一:服務(wù)注冊(cè); 步驟二:服務(wù)請(qǐng)求; 步驟三:服務(wù)回復(fù); 所述步驟一具體包括:服務(wù)提供者P將自己的服務(wù)S的服務(wù)信息注冊(cè)到本地服務(wù)目錄車輛D,D存儲(chǔ)服務(wù)信息并記錄服務(wù)提供者P的信息,存儲(chǔ)字段如下:〈服務(wù)提供者ID,有效時(shí)間,服務(wù)屬性,本地服務(wù)目錄ID> ; 其中服務(wù)提供者ID是指提供服務(wù)的車輛的ID ;有效時(shí)間是指該服務(wù)的有效時(shí)間,超過有效時(shí)間D會(huì)將該服務(wù)信息從服務(wù)索引表上刪除;服務(wù)屬性是指服務(wù)名稱和該服務(wù)是否為實(shí)時(shí)服務(wù);本地服務(wù)目錄ID是指本地服務(wù)目錄車輛的ID ; 所述步驟二具體包括:車輛Q將所需的服務(wù)描述R發(fā)送給本地服務(wù)目錄車輛D,服務(wù)描述R字段如下〈服務(wù)請(qǐng)求者ID,生存時(shí)間,服務(wù)屬性> ; 其中服務(wù)請(qǐng)求者ID是指請(qǐng)求服務(wù)的車輛ID ;生存時(shí)間是指服務(wù)請(qǐng)求的生存時(shí)間,超過生存時(shí)間該服務(wù)請(qǐng)求就不再傳播;服務(wù)屬性是指服務(wù)名稱和該服務(wù)是否為實(shí)時(shí)服務(wù); 所述步驟三具體包括,D匹配已注冊(cè)的服務(wù)信息,如果D存儲(chǔ)了相應(yīng)的未過期的服務(wù)信息,則D向Q回復(fù)該注冊(cè)信息; 如果沒有匹配到相應(yīng)的服務(wù)信息,D通過以服務(wù)目錄車輛為頂點(diǎn),目錄車輛和網(wǎng)關(guān)車輛之間的鏈路為邊,組建的多播樹將服務(wù)描述R進(jìn)行多播,多播消息字段如下:〈源目錄ID,生存時(shí)間,多播跳數(shù),服務(wù)屬性〉; 其中服務(wù)請(qǐng)求者ID是指請(qǐng)求服務(wù)的車輛的ID ;生存時(shí)間是指服務(wù)請(qǐng)求的生存時(shí)間,超過生存時(shí)間該服務(wù)請(qǐng)求就不再傳播;多播跳數(shù)是指通過設(shè)定多播的跳數(shù),能控制多播消息的傳輸跳數(shù);服務(wù)屬性是指服務(wù)名稱和該服務(wù)是否為實(shí)時(shí)服務(wù); 獲得多播消息的目錄車輛對(duì)服務(wù)描述R進(jìn)行匹配,如果匹配成功則將匹配的服務(wù)信息回復(fù)給D,D存儲(chǔ)該服務(wù)信息并且向Q回復(fù)該服務(wù)信息,Q將回復(fù)的服務(wù)信息中的服務(wù)提供者ID作為目的地址,通過分布式服務(wù)共享模塊調(diào)用該服務(wù)提供者的服務(wù); 否則,D在該多播消息生命周期過期時(shí)向Q回復(fù)無請(qǐng)求服務(wù)消息,Q取消該次服務(wù)請(qǐng)求。
9.根據(jù)權(quán)利要求8所述的基于OSGi的車載網(wǎng)服務(wù)共享中間件的服務(wù)共享方法,其特征在于,所述服務(wù)信息注冊(cè)采用租賃的形式,服務(wù)提供者P需要周期性地到本地服務(wù)目錄車輛D處進(jìn)行服務(wù)延續(xù)租賃,D更新服務(wù)索引表;如果P沒有延續(xù)租賃,那么D會(huì)將P的所有服務(wù)信息從服務(wù)索引表上刪除。
10.根據(jù)權(quán)利要求8所述的基于OSGi的車載網(wǎng)服務(wù)共享中間件的服務(wù)共享方法,其特征在于,所述服務(wù)目錄車輛上的服務(wù)信息通過一跳內(nèi)的服務(wù)提供者的注冊(cè)獲得,還通過服務(wù)目錄車輛間搜索服務(wù)時(shí)記錄反饋信息獲得。
【文檔編號(hào)】H04L29/08GK104135532SQ201410394699
【公開日】2014年11月5日 申請(qǐng)日期:2014年8月12日 優(yōu)先權(quán)日:2014年8月12日
【發(fā)明者】羅娟, 潘璆, 宋艷超, 何文鳳, 郭亞嶺 申請(qǐng)人:湖南大學(xué)