本發(fā)明涉及一種數(shù)據(jù)通信方法,尤其涉及的是一種基于車載云的網(wǎng)絡(luò)數(shù)據(jù)通信方法。
背景技術(shù):
:車載云是建立在車載網(wǎng)之上且能提供本地服務(wù)的一種服務(wù)模式。近年來,很多研究工作致力于車載云,以便使車輛駕駛?cè)四軌蚩焖佾@取網(wǎng)絡(luò)服務(wù)。隨著車載網(wǎng)技術(shù)的發(fā)展,車載云會成為未來提供服務(wù)的一種模式。目前,車載云的實(shí)現(xiàn)模式是通過廣播來實(shí)現(xiàn),因此延遲和代價(jià)都比較大,降低了網(wǎng)絡(luò)服務(wù)性能。因此,如何降低車載云提供服務(wù)的延遲和代價(jià)成為近年來研究的熱點(diǎn)問題。技術(shù)實(shí)現(xiàn)要素:發(fā)明目的:本發(fā)明所要解決的技術(shù)問題是針對現(xiàn)有技術(shù)的不足,提供一種基于車載云的網(wǎng)絡(luò)數(shù)據(jù)通信方法。本發(fā)明通過單播取代廣播的方式來實(shí)現(xiàn)車載云,從而降低車載云提供服務(wù)的延遲和代價(jià),從而有效提高網(wǎng)絡(luò)服務(wù)性能。技術(shù)方案:本發(fā)明公開了一種基于車載云的數(shù)據(jù)通信方法,所述車載云建立在車載網(wǎng)之上,所述車載網(wǎng)包括接入節(jié)點(diǎn)和車輛節(jié)點(diǎn)兩種節(jié)點(diǎn);車輛節(jié)點(diǎn)通過距離自己最近的接入節(jié)點(diǎn)實(shí)現(xiàn)通信,一個(gè)接入節(jié)點(diǎn)以及通過該接入節(jié)點(diǎn)實(shí)現(xiàn)通信的所有車輛節(jié)點(diǎn)構(gòu)成一個(gè)子網(wǎng);一個(gè)車輛節(jié)點(diǎn)既能夠作為數(shù)據(jù)的提供者,也能夠作為數(shù)據(jù)的消費(fèi)者;一種類型的數(shù)據(jù)由一個(gè)數(shù)據(jù)名稱來定義,一種數(shù)據(jù)類型的數(shù)據(jù)被劃分為兩個(gè)以上的數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊由一個(gè)數(shù)據(jù)塊id唯一標(biāo)識;一個(gè)子網(wǎng)內(nèi)能提供一種類型數(shù)據(jù)的所有車輛節(jié)點(diǎn)構(gòu)建成一個(gè)簇,該簇由定義該類數(shù)據(jù)的數(shù)據(jù)名稱唯一標(biāo)識;車輛節(jié)點(diǎn)使用數(shù)據(jù)地址獲取數(shù)據(jù),數(shù)據(jù)地址由數(shù)據(jù)名稱和數(shù)據(jù)塊id集合構(gòu)成;車輛節(jié)點(diǎn)或者接入節(jié)點(diǎn)由定位地址唯一標(biāo)識,一個(gè)定位地址由定位橫坐標(biāo),定位縱坐標(biāo)和車輛節(jié)點(diǎn)id構(gòu)成,接入節(jié)點(diǎn)的定位地址的車輛節(jié)點(diǎn)id為0,車輛節(jié)點(diǎn)的車輛節(jié)點(diǎn)id可以是其硬件id,例如mac地址;車輛節(jié)點(diǎn)或者接入節(jié)點(diǎn)發(fā)送的消息格式由4個(gè)部分構(gòu)成:源地址、目的地址、消息類型和負(fù)載;消息類型如下表所示:消息類型消息類型域值數(shù)據(jù)創(chuàng)建消息1數(shù)據(jù)創(chuàng)建響應(yīng)消息2數(shù)據(jù)共享3注冊消息4數(shù)據(jù)請求消息5數(shù)據(jù)響應(yīng)消息6在一個(gè)簇中,所有簇成員保存一個(gè)數(shù)據(jù)表,該數(shù)據(jù)表的表名稱為該簇的簇名稱;一個(gè)數(shù)據(jù)表表項(xiàng)由三個(gè)域構(gòu)成,數(shù)據(jù)塊id域,數(shù)據(jù)塊域和數(shù)據(jù)生命周期域;一個(gè)數(shù)據(jù)表中所有表項(xiàng)的數(shù)據(jù)生命周期都相同;如果一個(gè)數(shù)據(jù)表中的表項(xiàng)的數(shù)據(jù)生命周期衰減為0,則將該數(shù)據(jù)表項(xiàng)從該數(shù)據(jù)表中刪除;如果數(shù)據(jù)表為空,則刪除該數(shù)據(jù)表;數(shù)據(jù)消費(fèi)者采用數(shù)據(jù)索引表和數(shù)據(jù)請求表獲取數(shù)據(jù);數(shù)據(jù)索引表用于保存簇成員的信息,數(shù)據(jù)請求表用于實(shí)現(xiàn)數(shù)據(jù)請求的聚合;數(shù)據(jù)索引表中,一個(gè)數(shù)據(jù)索引表項(xiàng)包括數(shù)據(jù)名稱域、數(shù)據(jù)塊id集合域值、定位地址域值、數(shù)據(jù)生命周期和簇成員生命周期域;數(shù)據(jù)請求表中,一個(gè)數(shù)據(jù)請求表項(xiàng)包括數(shù)據(jù)地址域、定位地址域和接口域;在數(shù)據(jù)c1由數(shù)據(jù)名稱n1定義,數(shù)據(jù)c1由n個(gè)數(shù)據(jù)塊構(gòu)成,每個(gè)數(shù)據(jù)塊由數(shù)據(jù)塊idci標(biāo)識,i取值1~n,接入節(jié)點(diǎn)ap1位于子網(wǎng)s1中的條件下;車輛節(jié)點(diǎn)v1的地理坐標(biāo)為(x1,y1),車輛節(jié)點(diǎn)v1創(chuàng)建數(shù)據(jù)c1的過程包括如下步驟:步驟101:開始;步驟102:車輛節(jié)點(diǎn)v1創(chuàng)建一個(gè)數(shù)據(jù)地址和一個(gè)定位地址,數(shù)據(jù)地址中數(shù)據(jù)名稱域值為n1,數(shù)據(jù)塊id集合有n個(gè)數(shù)據(jù)塊idci構(gòu)成;定位地址中的定位橫坐標(biāo)為x1,定位縱坐標(biāo)為y1,車輛節(jié)點(diǎn)id為車輛節(jié)點(diǎn)v1的車輛節(jié)點(diǎn)id;車輛節(jié)點(diǎn)v1發(fā)送數(shù)據(jù)創(chuàng)建消息,該數(shù)據(jù)創(chuàng)建消息的源地址為構(gòu)建的定位地址,目的地址為構(gòu)建的數(shù)據(jù)地址,消息類型為1,負(fù)載為距離參數(shù),其值為初始值;步驟103:如果接收到數(shù)據(jù)創(chuàng)建消息的車輛節(jié)點(diǎn)位于子網(wǎng)s1中,則執(zhí)行步驟105,否則執(zhí)行步驟104;步驟104:車輛節(jié)點(diǎn)丟棄該數(shù)據(jù)創(chuàng)建消息,執(zhí)行步驟108;步驟105:接收到數(shù)據(jù)創(chuàng)建消息的車輛節(jié)點(diǎn)將數(shù)據(jù)創(chuàng)建消息的距離參數(shù)遞減1,如果距離參數(shù)值大于0,則轉(zhuǎn)發(fā)該數(shù)據(jù)創(chuàng)建消息;步驟106:如果接收到數(shù)據(jù)創(chuàng)建消息的車輛節(jié)點(diǎn)能夠提供數(shù)據(jù)c1的部分?jǐn)?shù)據(jù)塊,則執(zhí)行步驟107,否則執(zhí)行步驟108;步驟107:車輛節(jié)點(diǎn)構(gòu)建數(shù)據(jù)創(chuàng)建響應(yīng)消息,該數(shù)據(jù)創(chuàng)建響應(yīng)消息的源地址為自己的定位地址,目的地址為數(shù)據(jù)創(chuàng)建消息中的源地址,消息類型域值為2,負(fù)載為能夠提供的部分?jǐn)?shù)據(jù)塊,然后車輛節(jié)點(diǎn)將該數(shù)據(jù)創(chuàng)建響應(yīng)消息發(fā)送到距離該消息的目的地址中的坐標(biāo)距離最近的鄰居節(jié)點(diǎn);步驟108:如果與車輛節(jié)點(diǎn)v1距離大于一跳的車輛節(jié)點(diǎn)接收到數(shù)據(jù)創(chuàng)建響應(yīng)消息,則執(zhí)行步驟109,否則執(zhí)行步驟110;步驟109:接收到數(shù)據(jù)創(chuàng)建響應(yīng)消息的車輛節(jié)點(diǎn)將該數(shù)據(jù)創(chuàng)建響應(yīng)消息轉(zhuǎn)發(fā)給距離該數(shù)據(jù)創(chuàng)建響應(yīng)消息的目的地址中的坐標(biāo)距離最近的鄰居節(jié)點(diǎn),執(zhí)行步驟108;步驟110:如果與車輛節(jié)點(diǎn)v1距離一跳的車輛節(jié)點(diǎn)接收到數(shù)據(jù)創(chuàng)建響應(yīng)消息,則執(zhí)行步驟111,否則執(zhí)行步驟112;步驟111:接收到數(shù)據(jù)創(chuàng)建響應(yīng)消息的車輛節(jié)點(diǎn)在一跳范圍內(nèi)廣播該消息,執(zhí)行步驟108;步驟112:車輛節(jié)點(diǎn)v1判斷所有接收到的數(shù)據(jù)創(chuàng)建響應(yīng)消息中的數(shù)據(jù)塊是否能構(gòu)建成c1,如果能,則執(zhí)行步驟114,否則執(zhí)行步驟113;步驟113:車輛節(jié)點(diǎn)v1將距離參數(shù)的初始值遞增1,然后執(zhí)行步驟102;步驟114:車輛節(jié)點(diǎn)v1創(chuàng)建一個(gè)數(shù)據(jù)表,表名為n1,該數(shù)據(jù)表包括n個(gè)數(shù)據(jù)表項(xiàng),每個(gè)數(shù)據(jù)表項(xiàng)中,數(shù)據(jù)塊id為ci,數(shù)據(jù)塊域值為數(shù)據(jù)創(chuàng)建響應(yīng)消息中的數(shù)據(jù)塊域值,數(shù)據(jù)生命周期為預(yù)先設(shè)置的生命周期,例如100min;n個(gè)數(shù)據(jù)表項(xiàng)的數(shù)據(jù)生命周期值都相同;車輛節(jié)點(diǎn)v1轉(zhuǎn)換為簇首節(jié)點(diǎn),對于每個(gè)返回?cái)?shù)據(jù)創(chuàng)建響應(yīng)消息的車輛節(jié)點(diǎn),車輛節(jié)點(diǎn)v1發(fā)送一個(gè)數(shù)據(jù)共享消息,數(shù)據(jù)共享消息源地址為車輛節(jié)點(diǎn)v1的定位地址,目的地址為返回?cái)?shù)據(jù)創(chuàng)建響應(yīng)消息的車輛節(jié)點(diǎn)的定位地址,數(shù)據(jù)類型為3,負(fù)載為創(chuàng)建的數(shù)據(jù)表;步驟115:車輛節(jié)點(diǎn)v1向接入節(jié)點(diǎn)ap1發(fā)送注冊消息,該注冊消息的源地址為車輛節(jié)點(diǎn)v1的定位地址,目的地址為接入節(jié)點(diǎn)ap1的定位地址,消息類型為4,負(fù)載為返回?cái)?shù)據(jù)創(chuàng)建響應(yīng)消息的所有車輛節(jié)點(diǎn)的定位地址,數(shù)據(jù)名稱n1和數(shù)據(jù)生存時(shí)間;步驟116:車輛節(jié)點(diǎn)收到數(shù)據(jù)共享消息后,變成簇成員同時(shí)保存數(shù)據(jù)共享消息中的數(shù)據(jù)表;接入節(jié)點(diǎn)ap1收到注冊消息后,對于注冊消息負(fù)載中的每個(gè)定位地址,接入節(jié)點(diǎn)ap1創(chuàng)建一個(gè)數(shù)據(jù)索引表項(xiàng),該數(shù)據(jù)索引表項(xiàng)的數(shù)據(jù)名稱域值為n1,數(shù)據(jù)塊id集合為ci,,定位地址域值為消息負(fù)載中的定位地址域值,數(shù)據(jù)生命周期域值為消息負(fù)載中數(shù)據(jù)生命周期域值,簇成員生命周期域值設(shè)置為最大初始值,該初始值大于兩個(gè)信標(biāo)幀的時(shí)間間隔,例如200ms;步驟117:接入節(jié)點(diǎn)ap1廣播注冊消息,該注冊消息的源地址為接入節(jié)點(diǎn)ap1自己的定位地址,目的地址為廣播地址,即定位地址中的橫坐標(biāo)、縱坐標(biāo)和車輛節(jié)點(diǎn)id的比特值均為1,消息類型為4,負(fù)載為數(shù)據(jù)名稱n1,數(shù)據(jù)塊id集合ci數(shù)據(jù)生命周期值;步驟118:車輛節(jié)點(diǎn)收到注冊消息后,丟棄該注冊消息,接入節(jié)點(diǎn)收到該注冊消息后,創(chuàng)建一個(gè)數(shù)據(jù)檢索表項(xiàng),該數(shù)據(jù)檢索表項(xiàng)的數(shù)據(jù)名稱域值為n1,數(shù)據(jù)塊id集合域值為注冊消息負(fù)載中的數(shù)據(jù)塊id集合域值,數(shù)據(jù)生命周期域值為注冊消息負(fù)載中的數(shù)據(jù)生命周期域值,定位地址域值為注冊消息中的源地址,簇成員生命周期域值設(shè)置為最大初始值,該初始值大于兩個(gè)信標(biāo)幀的時(shí)間間隔,例如200ms;步驟119:結(jié)束。上述算法可以快速創(chuàng)建數(shù)據(jù)從而車輛節(jié)點(diǎn)能夠快速獲取所需數(shù)據(jù)。本發(fā)明所述方法中,在車輛節(jié)點(diǎn)v6是一個(gè)簇成員,車輛節(jié)點(diǎn)v6能提供數(shù)據(jù)c1中的部分?jǐn)?shù)據(jù)塊或者全部數(shù)據(jù)塊,數(shù)據(jù)c1由名稱地址n1定義的條件下,如果車輛節(jié)點(diǎn)v6從子網(wǎng)s1移動(dòng)到子網(wǎng)s2,子網(wǎng)s2的接入節(jié)點(diǎn)為ap2,那么執(zhí)行下述移動(dòng)切換操作:步驟201:開始;步驟202:車輛節(jié)點(diǎn)v6向接入節(jié)點(diǎn)ap2發(fā)送注冊消息,該注冊消息的源地址為車輛節(jié)點(diǎn)v6的定位地址,目的地址為接入節(jié)點(diǎn)ap2的定位地址,消息類型為4,負(fù)載為數(shù)據(jù)名稱n1、表名稱為n1的數(shù)據(jù)表中所有表項(xiàng)的數(shù)據(jù)塊id域值集合以及數(shù)據(jù)生存時(shí)間;步驟203:接入節(jié)點(diǎn)ap2收到注冊消息后,創(chuàng)建一個(gè)數(shù)據(jù)索引表項(xiàng),該數(shù)據(jù)索引表項(xiàng)的數(shù)據(jù)名稱域值為n1,數(shù)據(jù)塊id集合為消息負(fù)載中的數(shù)據(jù)塊id集合域值,數(shù)據(jù)生命周期域值為消息負(fù)載中的數(shù)據(jù)生命周期域值,定位地址域值為注冊消息的源地址,簇成員生命周期域值設(shè)置為最大初始值,該初始值大于兩個(gè)信標(biāo)幀的時(shí)間間隔,例如200ms;步驟204:判斷接入節(jié)點(diǎn)ap2是否只有一個(gè)數(shù)據(jù)名稱域值為n1的表項(xiàng),如果是,執(zhí)行步驟205,否則執(zhí)行步驟207;步驟205:接入節(jié)點(diǎn)ap2廣播一個(gè)注冊消息,該注冊消息的源地址為自己的定位地址,目的地址為廣播地址,即定位地址中的橫坐標(biāo)、縱坐標(biāo)和車輛節(jié)點(diǎn)id的比特值均為1,消息類型為4,負(fù)載為數(shù)據(jù)名稱域值為n1的表項(xiàng)中的數(shù)據(jù)名稱、數(shù)據(jù)塊id集合以及數(shù)據(jù)生命周期值,;步驟206:車輛節(jié)點(diǎn)收到注冊消息后,丟棄該注冊消息,接入節(jié)點(diǎn)收到該注冊消息后,創(chuàng)建一個(gè)數(shù)據(jù)檢索表項(xiàng),該數(shù)據(jù)檢索表項(xiàng)的數(shù)據(jù)名稱域值、數(shù)據(jù)塊id集合域值和數(shù)據(jù)生命周期域值分別為注冊消息負(fù)載中的數(shù)據(jù)名稱域值、數(shù)據(jù)塊id集合域值和數(shù)據(jù)生命周期域值,定位地址域值為注冊消息中的源地址,簇成員生命周期域值設(shè)置為最大初始值,該初始值大于兩個(gè)信標(biāo)幀的時(shí)間間隔,例如200ms;步驟207:結(jié)束;上述移動(dòng)切換過程結(jié)束后,子網(wǎng)s2中的車輛節(jié)點(diǎn)能夠直接從車輛節(jié)點(diǎn)v6獲取數(shù)據(jù)c1的數(shù)據(jù)塊;車輛節(jié)點(diǎn)v6完成移動(dòng)切換后,定期向接入節(jié)點(diǎn)ap2發(fā)送信標(biāo)消息,該信標(biāo)消息的源地址為車輛節(jié)點(diǎn)v6的定位地址,該定位地址中的地理橫坐標(biāo)和地理縱坐標(biāo)為車輛節(jié)點(diǎn)v6當(dāng)前的地理橫坐標(biāo)和地理縱坐標(biāo);接入節(jié)點(diǎn)ap2收到來自車輛節(jié)點(diǎn)v6的信標(biāo)消息后,查找數(shù)據(jù)索引表中定位地址域值中的車輛節(jié)點(diǎn)id等于信標(biāo)消息中源地址的車輛節(jié)點(diǎn)id的數(shù)據(jù)索引表項(xiàng),然后接入節(jié)點(diǎn)ap2用信標(biāo)消息中的源地址更新所述數(shù)據(jù)索引表項(xiàng)中的定位地址域值,同時(shí)將所述數(shù)據(jù)索引表項(xiàng)中的簇成員生命周期設(shè)置為最大值;如果車輛節(jié)點(diǎn)v6檢測到表名稱為n1的數(shù)據(jù)索引表項(xiàng)中的數(shù)據(jù)生命周期到期,則刪除該數(shù)據(jù)索引表項(xiàng),同時(shí)車輛節(jié)點(diǎn)v6不再向接入節(jié)點(diǎn)ap2定期發(fā)送信標(biāo)消息;如果一個(gè)數(shù)據(jù)索引表項(xiàng)中數(shù)據(jù)生命周期域值或者簇成員生命周期域值過期,則將該數(shù)據(jù)索引表項(xiàng)從數(shù)據(jù)索引表中刪除;接入節(jié)點(diǎn)ap1廣播負(fù)載為數(shù)據(jù)名稱n1的注冊消息后,定期向每個(gè)接入節(jié)點(diǎn)發(fā)送信標(biāo)消息;其他接入節(jié)點(diǎn)收到來自接入節(jié)點(diǎn)ap1的信標(biāo)消息后,查找數(shù)據(jù)索引表中定位地址域值等于信標(biāo)消息中源地址的數(shù)據(jù)索引表項(xiàng),然后其他接入節(jié)點(diǎn)將所述數(shù)據(jù)索引表項(xiàng)中的簇成員生命周期設(shè)置為最大值;如果接入節(jié)點(diǎn)ap1檢測到表名稱為n1的數(shù)據(jù)索引表項(xiàng)中的數(shù)據(jù)生命周期到期,則刪除該表,同時(shí)不再向每個(gè)接入節(jié)點(diǎn)定期發(fā)送信標(biāo)消息。上述算法可以快速實(shí)現(xiàn)移動(dòng)切換從而確保車輛節(jié)點(diǎn)在移動(dòng)過程中的通信正確性。本發(fā)明所述方法中,車輛節(jié)點(diǎn)v6位于子網(wǎng)s1中,子網(wǎng)s1中的接入節(jié)點(diǎn)為ap1,數(shù)據(jù)c1由數(shù)據(jù)名稱n1定義,車輛節(jié)點(diǎn)v6需要獲取數(shù)據(jù)c1的數(shù)據(jù)塊,該數(shù)據(jù)塊的數(shù)據(jù)塊id集合為u,接入節(jié)點(diǎn)ap1查看數(shù)據(jù)索引表中數(shù)據(jù)名稱域值為n1的數(shù)據(jù)索引表項(xiàng),如果所述數(shù)據(jù)索引表項(xiàng)的數(shù)據(jù)塊id集合域值的并集是數(shù)據(jù)塊id集合u的超集,那么車輛節(jié)點(diǎn)v6則根據(jù)下述過程獲取數(shù)據(jù):步驟301:開始;步驟302:車輛節(jié)點(diǎn)v6構(gòu)建一個(gè)數(shù)據(jù)地址,同時(shí)構(gòu)建自己的定位地址和接入節(jié)點(diǎn)ap1的定位地址,在數(shù)據(jù)地址中,數(shù)據(jù)名稱域值為n1,數(shù)據(jù)塊id集合為u,在車輛節(jié)點(diǎn)v6自己的定位地址中,橫坐標(biāo)和縱坐標(biāo)為車輛節(jié)點(diǎn)v6的地理橫坐標(biāo)和地理縱坐標(biāo),車輛節(jié)點(diǎn)id為車輛節(jié)點(diǎn)v6的車輛節(jié)點(diǎn)id,在接入節(jié)點(diǎn)ap1的定位地址中,橫坐標(biāo)和縱坐標(biāo)為接入節(jié)點(diǎn)ap1的地理橫坐標(biāo)和地理縱坐標(biāo),車輛節(jié)點(diǎn)id為0;車輛節(jié)點(diǎn)v6創(chuàng)建一個(gè)數(shù)據(jù)請求消息,該數(shù)據(jù)請求消息的源地址為車輛節(jié)點(diǎn)v6自己的定位地址,目的地址為接入節(jié)點(diǎn)ap1的定位地址,負(fù)載為構(gòu)建的數(shù)據(jù)地址,消息類型為5;車輛節(jié)點(diǎn)v6將數(shù)據(jù)請求消息轉(zhuǎn)發(fā)到距離接入節(jié)點(diǎn)ap1最近的鄰居車輛節(jié)點(diǎn);步驟303:如果能提供數(shù)據(jù)c1的簇成員節(jié)點(diǎn)接收到數(shù)據(jù)請求消息,那么執(zhí)行步驟304,否則執(zhí)行步驟307;步驟304:如果該簇成員節(jié)點(diǎn)能提供數(shù)據(jù)請求消息負(fù)載的數(shù)據(jù)地址中的數(shù)據(jù)塊id集合所定義的所有數(shù)據(jù)塊,那么執(zhí)行步驟305,否則執(zhí)行步驟306;步驟305:簇成員節(jié)點(diǎn)返回一個(gè)數(shù)據(jù)響應(yīng)消息,該數(shù)據(jù)響應(yīng)消息的源地址為簇成員節(jié)點(diǎn)自己的定位地址,目的地址為車輛節(jié)點(diǎn)v6的定位地址,消息類型為6,負(fù)載為數(shù)據(jù)表中數(shù)據(jù)塊id域值等于數(shù)據(jù)請求消息負(fù)載的數(shù)據(jù)地址中的數(shù)據(jù)塊id集合中每一個(gè)元素的所有表項(xiàng),然后執(zhí)行步驟311;步驟306:簇成員節(jié)點(diǎn)返回一個(gè)數(shù)據(jù)響應(yīng)消息,該數(shù)據(jù)響應(yīng)消息的源地址為自己的定位地址,目的地址為車輛節(jié)點(diǎn)v6的定位地址,消息類型為6,負(fù)載為數(shù)據(jù)表中數(shù)據(jù)塊id域值等于數(shù)據(jù)請求消息負(fù)載中數(shù)據(jù)地址中的數(shù)據(jù)塊id集合中任一個(gè)元素的所有表項(xiàng);從數(shù)據(jù)請求消息的數(shù)據(jù)地址的數(shù)據(jù)塊id集合中減去數(shù)據(jù)響應(yīng)消息中所有數(shù)據(jù)表項(xiàng)中的數(shù)據(jù)塊id集合;將數(shù)據(jù)請求消息轉(zhuǎn)發(fā)到距離接入節(jié)點(diǎn)ap1最近的鄰居車輛節(jié)點(diǎn)或者接入節(jié)點(diǎn),執(zhí)行步驟303;步驟307:如果接入節(jié)點(diǎn)ap1接收到數(shù)據(jù)請求消息,那么執(zhí)行步驟308,否則執(zhí)行步驟310;步驟308:接入節(jié)點(diǎn)ap1從數(shù)據(jù)索引表中選擇滿足下述兩個(gè)條件的數(shù)據(jù)索引表項(xiàng),對于每個(gè)選擇的每一個(gè)數(shù)據(jù)索引表項(xiàng)創(chuàng)建一個(gè)數(shù)據(jù)地址,該數(shù)據(jù)地址的數(shù)據(jù)名稱域值為n1,數(shù)據(jù)塊id集合為該數(shù)據(jù)索引表項(xiàng)中的數(shù)據(jù)塊id集合;接入節(jié)點(diǎn)ap1發(fā)送一個(gè)數(shù)據(jù)請求消息,該數(shù)據(jù)請求消息的源地址為車輛節(jié)點(diǎn)v6的定位地址,目的地址為該表項(xiàng)中的定位地址,負(fù)載為構(gòu)建的數(shù)據(jù)地址;條件1:數(shù)據(jù)名稱域值為n1;條件2:所述數(shù)據(jù)索引表項(xiàng)中的數(shù)據(jù)塊id集合的并集是數(shù)據(jù)塊id集合u的超集;步驟309:目的簇成員節(jié)點(diǎn)收到數(shù)據(jù)請求消息后,返回一個(gè)數(shù)據(jù)響應(yīng)消息,該數(shù)據(jù)響應(yīng)消息的源地址為自己的定位地址,目的地址為車輛節(jié)點(diǎn)v6的定位地址,負(fù)載為數(shù)據(jù)表中數(shù)據(jù)塊id域值等于數(shù)據(jù)請求消息負(fù)載中數(shù)據(jù)地址的數(shù)據(jù)塊id集合中每一個(gè)元素的所有表項(xiàng),執(zhí)行步驟311;步驟310:車輛節(jié)點(diǎn)接收到數(shù)據(jù)請求消息后,將該數(shù)據(jù)請求消息轉(zhuǎn)發(fā)到距離接入節(jié)點(diǎn)ap1最近的鄰居車輛節(jié)點(diǎn)或者接入節(jié)點(diǎn),執(zhí)行步驟303;步驟311:如果車輛節(jié)點(diǎn)v6收到數(shù)據(jù)響應(yīng)消息,則執(zhí)行步驟313,否則執(zhí)行步驟312;步驟312:如果車輛節(jié)點(diǎn)在距離數(shù)據(jù)響應(yīng)消息的目的地址的橫坐標(biāo)和縱坐標(biāo)所確定的位置的一跳范圍內(nèi),則廣播該數(shù)據(jù)響應(yīng)消息,執(zhí)行步驟311,否則將該數(shù)據(jù)響應(yīng)消息轉(zhuǎn)發(fā)到與數(shù)據(jù)響應(yīng)消息目的地址中橫坐標(biāo)和縱坐標(biāo)所確定的位置距離最近的鄰居車輛節(jié)點(diǎn),執(zhí)行步驟311;步驟313:車輛節(jié)點(diǎn)v6接收到所有數(shù)據(jù)響應(yīng)消息后,創(chuàng)建一個(gè)數(shù)據(jù)表,該數(shù)據(jù)表的表名為n1;車輛節(jié)點(diǎn)v6將數(shù)據(jù)響應(yīng)消息中的所有數(shù)據(jù)表項(xiàng)添加到數(shù)據(jù)表,同時(shí)自己轉(zhuǎn)換為簇成員節(jié)點(diǎn);步驟314:車輛節(jié)點(diǎn)v6執(zhí)行步驟201~207實(shí)現(xiàn)移動(dòng)切換;步驟315:結(jié)束。上述算法能夠確保車輛節(jié)點(diǎn)快速獲取所需數(shù)據(jù),提高了數(shù)據(jù)服務(wù)質(zhì)量。本發(fā)明所述方法中,車輛節(jié)點(diǎn)v6位于子網(wǎng)s3中,子網(wǎng)s3中的接入節(jié)點(diǎn)為ap3,數(shù)據(jù)c1由數(shù)據(jù)名稱n1定義,車輛節(jié)點(diǎn)v6需要獲取數(shù)據(jù)c1的數(shù)據(jù)塊,所述數(shù)據(jù)塊的數(shù)據(jù)塊id集合為u,接入節(jié)點(diǎn)ap3查看數(shù)據(jù)索引表中數(shù)據(jù)名稱域值為n1的數(shù)據(jù)索引表項(xiàng),如果所述數(shù)據(jù)索引表項(xiàng)的數(shù)據(jù)塊id集合域值的并集是數(shù)據(jù)塊id集合u的子集,那么車輛節(jié)點(diǎn)v6則根據(jù)下述過程獲取數(shù)據(jù):步驟401:開始;步驟402:車輛節(jié)點(diǎn)v6構(gòu)建一個(gè)數(shù)據(jù)地址,同時(shí)構(gòu)建自己的定位地址和接入節(jié)點(diǎn)ap3的定位地址,在數(shù)據(jù)地址中,數(shù)據(jù)名稱域值為n1,數(shù)據(jù)塊id集合為u,在車輛節(jié)點(diǎn)v6自己的定位地址中,橫坐標(biāo)和縱坐標(biāo)為車輛節(jié)點(diǎn)v6的地理橫坐標(biāo)和地理縱坐標(biāo),車輛節(jié)點(diǎn)id為車輛節(jié)點(diǎn)v6的車輛節(jié)點(diǎn)id,在接入節(jié)點(diǎn)ap3的定位地址中,橫坐標(biāo)和縱坐標(biāo)為接入節(jié)點(diǎn)ap3的地理橫坐標(biāo)和地理縱坐標(biāo),車輛節(jié)點(diǎn)id為0;車輛節(jié)點(diǎn)v6創(chuàng)建一個(gè)數(shù)據(jù)請求消息,該數(shù)據(jù)請求消息的源地址為車輛節(jié)點(diǎn)v6自己的定位地址,目的地址為接入節(jié)點(diǎn)ap3的定位自己,負(fù)載為構(gòu)建的數(shù)據(jù)地址,消息類型為5;車輛節(jié)點(diǎn)v6將數(shù)據(jù)請求消息轉(zhuǎn)發(fā)到距離所在子網(wǎng)s3的接入節(jié)點(diǎn)ap3最近的鄰居車輛節(jié)點(diǎn);步驟403:接入節(jié)點(diǎn)從自己的接口f接收到數(shù)據(jù)請求消息后,在數(shù)據(jù)請求表中創(chuàng)建一個(gè)數(shù)據(jù)請求表項(xiàng),該數(shù)據(jù)請求表項(xiàng)的數(shù)據(jù)地址為數(shù)據(jù)請求消息負(fù)載中的數(shù)據(jù)地址,定位地址為數(shù)據(jù)請求消息的源地址,接口域值為f;步驟404:如果接入節(jié)點(diǎn)在數(shù)據(jù)請求表中只有一項(xiàng)數(shù)據(jù)地址等于數(shù)據(jù)請求消息負(fù)載中的數(shù)據(jù)地址的數(shù)據(jù)請求表項(xiàng),則執(zhí)行步驟405,否則執(zhí)行步驟409;步驟405:如果接入節(jié)點(diǎn)在數(shù)據(jù)索引表中存在數(shù)據(jù)名稱為n1且定位地址為車輛節(jié)點(diǎn)的定位地址,即定位地址的車輛節(jié)點(diǎn)id不為0,那么執(zhí)行步驟406,否則執(zhí)行步驟408;步驟406:接入節(jié)點(diǎn)從數(shù)據(jù)索引表中選擇滿足下述條件3和條件4的表項(xiàng),對于選擇的每一個(gè)數(shù)據(jù)索引表項(xiàng)創(chuàng)建一個(gè)數(shù)據(jù)地址,該數(shù)據(jù)地址的數(shù)據(jù)名稱域值為n1,數(shù)據(jù)塊id集合為該數(shù)據(jù)索引表項(xiàng)中的數(shù)據(jù)塊id集合;接入節(jié)點(diǎn)發(fā)送一個(gè)數(shù)據(jù)請求消息,該數(shù)據(jù)請求消息的源地址為車輛節(jié)點(diǎn)v6的定位地址,目的地址為該數(shù)據(jù)索引表項(xiàng)中的定位地址,負(fù)載為構(gòu)建的數(shù)據(jù)地址;目的簇成員節(jié)點(diǎn)收到數(shù)據(jù)請求消息后,發(fā)送一個(gè)數(shù)據(jù)響應(yīng)消息,該數(shù)據(jù)響應(yīng)消息的源地址為數(shù)據(jù)請求消息中的數(shù)據(jù)地址,目的地址為接入節(jié)點(diǎn)的定位地址,負(fù)載為數(shù)據(jù)表中數(shù)據(jù)塊id域值等于數(shù)據(jù)請求消息負(fù)載中的數(shù)據(jù)地址中的數(shù)據(jù)塊id集合中每一個(gè)元素的表項(xiàng),接入節(jié)點(diǎn)收到所有目的簇成員節(jié)點(diǎn)的數(shù)據(jù)響應(yīng)消息后,構(gòu)建一個(gè)數(shù)據(jù)響應(yīng)消息,該數(shù)據(jù)響應(yīng)消息的源地址為接收到的數(shù)據(jù)請求消息中的目的地址,負(fù)載為所接收到的數(shù)據(jù)響應(yīng)消息中的所有負(fù)載的集合;條件3:數(shù)據(jù)名稱域值為n1且定位地址的車輛節(jié)點(diǎn)id不為0;條件4:所述數(shù)據(jù)索引表項(xiàng)中的數(shù)據(jù)塊id集合的并集是數(shù)據(jù)請求消息的目的地址中的數(shù)據(jù)塊id集合的最大子集或者超集;步驟407:如果接入節(jié)點(diǎn)選擇的所有表項(xiàng)中的數(shù)據(jù)塊id集合的并集是數(shù)據(jù)請求消息的目的地址中的數(shù)據(jù)塊id集合的超集,那么執(zhí)行步驟409,否則執(zhí)行步驟408;步驟408:接入節(jié)點(diǎn)從數(shù)據(jù)請求消息負(fù)載中的數(shù)據(jù)地址的數(shù)據(jù)塊id集合中減去所選擇的所有索引表項(xiàng)中的數(shù)據(jù)塊id集合的并集;接入節(jié)點(diǎn)從數(shù)據(jù)檢索表中選擇符合條件5和6的數(shù)據(jù)檢索表項(xiàng),將數(shù)據(jù)請求消息的目的地址更新為該數(shù)據(jù)檢索表項(xiàng)的定位地址,然后轉(zhuǎn)發(fā)數(shù)據(jù)請求消息,執(zhí)行步驟403;條件5:數(shù)據(jù)名稱域值為n1且定位地址的車輛節(jié)點(diǎn)id為0;條件6:定位地址的橫坐標(biāo)和縱坐標(biāo)距離最近;步驟409:如果接入節(jié)點(diǎn)構(gòu)建或者收到數(shù)據(jù)響應(yīng)消息,則執(zhí)行步驟410,否則執(zhí)行步驟411;步驟410:接入節(jié)點(diǎn)查看數(shù)據(jù)請求表,選擇數(shù)據(jù)地址為數(shù)據(jù)響應(yīng)消息源地址的數(shù)據(jù)請求表項(xiàng),對于每個(gè)數(shù)據(jù)請求表項(xiàng),進(jìn)行如下操作:接入節(jié)點(diǎn)用該數(shù)據(jù)請求表項(xiàng)的定位地址更新數(shù)據(jù)響應(yīng)消息的目的地址,從該數(shù)據(jù)請求表項(xiàng)的接口域轉(zhuǎn)發(fā)該數(shù)據(jù)響應(yīng)消息,如果數(shù)據(jù)響應(yīng)消息負(fù)載中的數(shù)據(jù)塊id集合是數(shù)據(jù)響應(yīng)消息的源地址中的數(shù)據(jù)塊id集合的超集,接入節(jié)點(diǎn)則刪除該數(shù)據(jù)請求表項(xiàng);返回執(zhí)行步驟409;步驟411:如果車輛節(jié)點(diǎn)收到數(shù)據(jù)響應(yīng)消息且該車輛節(jié)點(diǎn)不位于子網(wǎng)s3內(nèi),那么執(zhí)行步驟412,否則執(zhí)行步驟413;步驟412:車輛節(jié)點(diǎn)將該數(shù)據(jù)響應(yīng)消息轉(zhuǎn)發(fā)到與所在子網(wǎng)的接入節(jié)點(diǎn)距離最近的鄰居車輛節(jié)點(diǎn)或者接入節(jié)點(diǎn),執(zhí)行步驟409;步驟413:如果車輛節(jié)點(diǎn)v6收到數(shù)據(jù)響應(yīng)消息,則執(zhí)行步驟415,否則執(zhí)行步驟414;步驟414:如果接收到數(shù)據(jù)響應(yīng)消息的車輛節(jié)點(diǎn)在數(shù)據(jù)響應(yīng)消息的目的地址的橫坐標(biāo)和縱坐標(biāo)所確定的位置的一跳范圍內(nèi),則廣播該數(shù)據(jù)響應(yīng)消息,執(zhí)行步驟409,否則將該數(shù)據(jù)響應(yīng)消息轉(zhuǎn)發(fā)到與數(shù)據(jù)響應(yīng)消息目的地址中橫坐標(biāo)和縱坐標(biāo)所確定的位置距離最近的鄰居車輛節(jié)點(diǎn),執(zhí)行步驟409;步驟415:車輛節(jié)點(diǎn)v6接收到所有數(shù)據(jù)響應(yīng)消息后,創(chuàng)建一個(gè)數(shù)據(jù)表,該數(shù)據(jù)表的表名為n1,車輛節(jié)點(diǎn)v6將數(shù)據(jù)響應(yīng)消息中的所有數(shù)據(jù)表項(xiàng)添加到數(shù)據(jù)表,同時(shí)自己轉(zhuǎn)換為簇成員節(jié)點(diǎn);步驟416:車輛節(jié)點(diǎn)v6執(zhí)行步驟201~207實(shí)現(xiàn)移動(dòng)切換;步驟417:結(jié)束。上述算法能夠確保車輛節(jié)點(diǎn)快速獲取所需數(shù)據(jù),提高了數(shù)據(jù)服務(wù)質(zhì)量。有益效果:本發(fā)明提供了一種基于車載云的網(wǎng)絡(luò)數(shù)據(jù)通信方法,車輛節(jié)點(diǎn)通過本發(fā)明所提供的車載云實(shí)現(xiàn)方法能夠從距離最近的云成員以單播方式獲取服務(wù)數(shù)據(jù),縮短了獲取服務(wù)數(shù)據(jù)的延遲和代價(jià),提高了服務(wù)質(zhì)量,本發(fā)明可應(yīng)用于道路路況監(jiān)測、車輛管理等領(lǐng)域,具有廣泛的應(yīng)用前景。附圖說明下面結(jié)合附圖和具體實(shí)施方式對本發(fā)明做更進(jìn)一步的具體說明,本發(fā)明的上述和/或其他方面的優(yōu)點(diǎn)將會變得更加清楚。圖1為本發(fā)明所述的數(shù)據(jù)創(chuàng)建流程示意圖。圖2為本發(fā)明所述的移動(dòng)切換流程示意圖。圖3為本發(fā)明所述的本地獲取數(shù)據(jù)流程示意圖。圖4為本發(fā)明所述的遠(yuǎn)程獲取數(shù)據(jù)流程示意圖。具體實(shí)施方式:本發(fā)明提供了一種基于車載云的網(wǎng)絡(luò)數(shù)據(jù)通信方法,車輛節(jié)點(diǎn)通過本發(fā)明所提供的車載云實(shí)現(xiàn)方法能夠從距離最近的云成員以單播方式獲取服務(wù)數(shù)據(jù),縮短了獲取服務(wù)數(shù)據(jù)的延遲和代價(jià),提高了服務(wù)質(zhì)量,本發(fā)明可應(yīng)用于道路路況監(jiān)測、車輛管理等領(lǐng)域,具有廣泛的應(yīng)用前景。圖1為本發(fā)明所述的數(shù)據(jù)創(chuàng)建流程示意圖。所述車載云建立在車載網(wǎng)之上,所述車載網(wǎng)包括接入節(jié)點(diǎn)和車輛節(jié)點(diǎn)兩種節(jié)點(diǎn);車輛節(jié)點(diǎn)通過距離自己最近的接入節(jié)點(diǎn)實(shí)現(xiàn)通信,一個(gè)接入節(jié)點(diǎn)以及通過該接入節(jié)點(diǎn)實(shí)現(xiàn)通信的所有車輛節(jié)點(diǎn)構(gòu)成一個(gè)子網(wǎng);一個(gè)車輛節(jié)點(diǎn)既能夠作為數(shù)據(jù)的提供者,也能夠作為數(shù)據(jù)的消費(fèi)者;一種類型的數(shù)據(jù)由一個(gè)數(shù)據(jù)名稱來定義,一種數(shù)據(jù)類型的數(shù)據(jù)被劃分為兩個(gè)以上的數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊由一個(gè)數(shù)據(jù)塊id唯一標(biāo)識;一個(gè)子網(wǎng)內(nèi)能提供一種類型數(shù)據(jù)的所有車輛節(jié)點(diǎn)構(gòu)建成一個(gè)簇,該簇由定義該類數(shù)據(jù)的數(shù)據(jù)名稱唯一標(biāo)識;車輛節(jié)點(diǎn)使用數(shù)據(jù)地址獲取數(shù)據(jù),數(shù)據(jù)地址由數(shù)據(jù)名稱和數(shù)據(jù)塊id集合構(gòu)成;車輛節(jié)點(diǎn)或者接入節(jié)點(diǎn)由定位地址唯一標(biāo)識,一個(gè)定位地址由定位橫坐標(biāo),定位縱坐標(biāo)和車輛節(jié)點(diǎn)id構(gòu)成,接入節(jié)點(diǎn)的定位地址的車輛節(jié)點(diǎn)id為0,車輛節(jié)點(diǎn)的車輛節(jié)點(diǎn)id可以是其硬件id,例如mac地址;車輛節(jié)點(diǎn)或者接入節(jié)點(diǎn)發(fā)送的消息格式由4個(gè)部分構(gòu)成:源地址、目的地址、消息類型和負(fù)載;消息類型如下表所示:在一個(gè)簇中,所有簇成員保存一個(gè)數(shù)據(jù)表,該數(shù)據(jù)表的表名稱為該簇的簇名稱;一個(gè)數(shù)據(jù)表表項(xiàng)由三個(gè)域構(gòu)成,數(shù)據(jù)塊id域,數(shù)據(jù)塊域和數(shù)據(jù)生命周期域;一個(gè)數(shù)據(jù)表中所有表項(xiàng)的數(shù)據(jù)生命周期都相同;如果一個(gè)數(shù)據(jù)表中的表項(xiàng)的數(shù)據(jù)生命周期衰減為0,則將該數(shù)據(jù)表項(xiàng)從該數(shù)據(jù)表中刪除;如果數(shù)據(jù)表為空,則刪除該數(shù)據(jù)表;數(shù)據(jù)消費(fèi)者采用數(shù)據(jù)索引表和數(shù)據(jù)請求表獲取數(shù)據(jù);數(shù)據(jù)索引表用于保存簇成員的信息,數(shù)據(jù)請求表用于實(shí)現(xiàn)數(shù)據(jù)請求的聚合;數(shù)據(jù)索引表中,一個(gè)數(shù)據(jù)索引表項(xiàng)包括數(shù)據(jù)名稱域、數(shù)據(jù)塊id集合域值、定位地址域值、數(shù)據(jù)生命周期和簇成員生命周期域;數(shù)據(jù)請求表中,一個(gè)數(shù)據(jù)請求表項(xiàng)包括數(shù)據(jù)地址域、定位地址域和接口域;在數(shù)據(jù)c1由數(shù)據(jù)名稱n1定義,數(shù)據(jù)c1由n個(gè)數(shù)據(jù)塊構(gòu)成,每個(gè)數(shù)據(jù)塊由數(shù)據(jù)塊idci標(biāo)識,i取值1~n,接入節(jié)點(diǎn)ap1位于子網(wǎng)s1中的條件下;車輛節(jié)點(diǎn)v1的地理坐標(biāo)為(x1,y1),車輛節(jié)點(diǎn)v1創(chuàng)建數(shù)據(jù)c1的過程包括如下步驟:步驟101:開始;步驟102:車輛節(jié)點(diǎn)v1創(chuàng)建一個(gè)數(shù)據(jù)地址和一個(gè)定位地址,數(shù)據(jù)地址中數(shù)據(jù)名稱域值為n1,數(shù)據(jù)塊id集合有n個(gè)數(shù)據(jù)塊idci構(gòu)成;定位地址中的定位橫坐標(biāo)為x1,定位縱坐標(biāo)為y1,車輛節(jié)點(diǎn)id為車輛節(jié)點(diǎn)v1的車輛節(jié)點(diǎn)id;車輛節(jié)點(diǎn)v1發(fā)送數(shù)據(jù)創(chuàng)建消息,該數(shù)據(jù)創(chuàng)建消息的源地址為構(gòu)建的定位地址,目的地址為構(gòu)建的數(shù)據(jù)地址,消息類型為1,負(fù)載為距離參數(shù),其值為初始值;步驟103:如果接收到數(shù)據(jù)創(chuàng)建消息的車輛節(jié)點(diǎn)位于子網(wǎng)s1中,則執(zhí)行步驟105,否則執(zhí)行步驟104;步驟104:車輛節(jié)點(diǎn)丟棄該數(shù)據(jù)創(chuàng)建消息,執(zhí)行步驟108;步驟105:接收到數(shù)據(jù)創(chuàng)建消息的車輛節(jié)點(diǎn)將數(shù)據(jù)創(chuàng)建消息的距離參數(shù)遞減1,如果距離參數(shù)值大于0,則轉(zhuǎn)發(fā)該數(shù)據(jù)創(chuàng)建消息;步驟106:如果接收到數(shù)據(jù)創(chuàng)建消息的車輛節(jié)點(diǎn)能夠提供數(shù)據(jù)c1的部分?jǐn)?shù)據(jù)塊,則執(zhí)行步驟107,否則執(zhí)行步驟108;步驟107:車輛節(jié)點(diǎn)構(gòu)建數(shù)據(jù)創(chuàng)建響應(yīng)消息,該數(shù)據(jù)創(chuàng)建響應(yīng)消息的源地址為自己的定位地址,目的地址為數(shù)據(jù)創(chuàng)建消息中的源地址,消息類型域值為2,負(fù)載為能夠提供的部分?jǐn)?shù)據(jù)塊,然后車輛節(jié)點(diǎn)將該數(shù)據(jù)創(chuàng)建響應(yīng)消息發(fā)送到距離該消息的目的地址中的坐標(biāo)距離最近的鄰居節(jié)點(diǎn);步驟108:如果與車輛節(jié)點(diǎn)v1距離大于一跳的車輛節(jié)點(diǎn)接收到數(shù)據(jù)創(chuàng)建響應(yīng)消息,則執(zhí)行步驟109,否則執(zhí)行步驟110;步驟109:接收到數(shù)據(jù)創(chuàng)建響應(yīng)消息的車輛節(jié)點(diǎn)將該數(shù)據(jù)創(chuàng)建響應(yīng)消息轉(zhuǎn)發(fā)給距離該數(shù)據(jù)創(chuàng)建響應(yīng)消息的目的地址中的坐標(biāo)距離最近的鄰居節(jié)點(diǎn),執(zhí)行步驟108;步驟110:如果與車輛節(jié)點(diǎn)v1距離一跳的車輛節(jié)點(diǎn)接收到數(shù)據(jù)創(chuàng)建響應(yīng)消息,則執(zhí)行步驟111,否則執(zhí)行步驟112;步驟111:接收到數(shù)據(jù)創(chuàng)建響應(yīng)消息的車輛節(jié)點(diǎn)在一跳范圍內(nèi)廣播該消息,執(zhí)行步驟108;步驟112:車輛節(jié)點(diǎn)v1判斷所有接收到的數(shù)據(jù)創(chuàng)建響應(yīng)消息中的數(shù)據(jù)塊是否能構(gòu)建成c1,如果能,則執(zhí)行步驟114,否則執(zhí)行步驟113;步驟113:車輛節(jié)點(diǎn)v1將距離參數(shù)的初始值遞增1,然后執(zhí)行步驟102;步驟114:車輛節(jié)點(diǎn)v1創(chuàng)建一個(gè)數(shù)據(jù)表,表名為n1,該數(shù)據(jù)表包括n個(gè)數(shù)據(jù)表項(xiàng),每個(gè)數(shù)據(jù)表項(xiàng)中,數(shù)據(jù)塊id為ci,數(shù)據(jù)塊域值為數(shù)據(jù)創(chuàng)建響應(yīng)消息中的數(shù)據(jù)塊域值,數(shù)據(jù)生命周期為預(yù)先設(shè)置的生命周期,例如100min;n個(gè)數(shù)據(jù)表項(xiàng)的數(shù)據(jù)生命周期值都相同;車輛節(jié)點(diǎn)v1轉(zhuǎn)換為簇首節(jié)點(diǎn),對于每個(gè)返回?cái)?shù)據(jù)創(chuàng)建響應(yīng)消息的車輛節(jié)點(diǎn),車輛節(jié)點(diǎn)v1發(fā)送一個(gè)數(shù)據(jù)共享消息,數(shù)據(jù)共享消息源地址為車輛節(jié)點(diǎn)v1的定位地址,目的地址為返回?cái)?shù)據(jù)創(chuàng)建響應(yīng)消息的車輛節(jié)點(diǎn)的定位地址,數(shù)據(jù)類型為3,負(fù)載為創(chuàng)建的數(shù)據(jù)表;步驟115:車輛節(jié)點(diǎn)v1向接入節(jié)點(diǎn)ap1發(fā)送注冊消息,該注冊消息的源地址為車輛節(jié)點(diǎn)v1的定位地址,目的地址為接入節(jié)點(diǎn)ap1的定位地址,消息類型為4,負(fù)載為返回?cái)?shù)據(jù)創(chuàng)建響應(yīng)消息的所有車輛節(jié)點(diǎn)的定位地址,數(shù)據(jù)名稱n1和數(shù)據(jù)生存時(shí)間;步驟116:車輛節(jié)點(diǎn)收到數(shù)據(jù)共享消息后,變成簇成員同時(shí)保存數(shù)據(jù)共享消息中的數(shù)據(jù)表;接入節(jié)點(diǎn)ap1收到注冊消息后,對于注冊消息負(fù)載中的每個(gè)定位地址,接入節(jié)點(diǎn)ap1創(chuàng)建一個(gè)數(shù)據(jù)索引表項(xiàng),該數(shù)據(jù)索引表項(xiàng)的數(shù)據(jù)名稱域值為n1,數(shù)據(jù)塊id集合為ci,,定位地址域值為消息負(fù)載中的定位地址域值,數(shù)據(jù)生命周期域值為消息負(fù)載中數(shù)據(jù)生命周期域值,簇成員生命周期域值設(shè)置為最大初始值,該初始值大于兩個(gè)信標(biāo)幀的時(shí)間間隔,例如200ms;步驟117:接入節(jié)點(diǎn)ap1廣播注冊消息,該注冊消息的源地址為接入節(jié)點(diǎn)ap1自己的定位地址,目的地址為廣播地址,即定位地址中的橫坐標(biāo)、縱坐標(biāo)和車輛節(jié)點(diǎn)id的比特值均為1,消息類型為4,負(fù)載為數(shù)據(jù)名稱n1,數(shù)據(jù)塊id集合ci數(shù)據(jù)生命周期值;步驟118:車輛節(jié)點(diǎn)收到注冊消息后,丟棄該注冊消息,接入節(jié)點(diǎn)收到該注冊消息后,創(chuàng)建一個(gè)數(shù)據(jù)檢索表項(xiàng),該數(shù)據(jù)檢索表項(xiàng)的數(shù)據(jù)名稱域值為n1,數(shù)據(jù)塊id集合域值為注冊消息負(fù)載中的數(shù)據(jù)塊id集合域值,數(shù)據(jù)生命周期域值為注冊消息負(fù)載中的數(shù)據(jù)生命周期域值,定位地址域值為注冊消息中的源地址,簇成員生命周期域值設(shè)置為最大初始值,該初始值大于兩個(gè)信標(biāo)幀的時(shí)間間隔,例如200ms;步驟119:結(jié)束。上述算法可以快速創(chuàng)建數(shù)據(jù)從而車輛節(jié)點(diǎn)能夠快速獲取所需數(shù)據(jù)。圖2為本發(fā)明所述的移動(dòng)切換流程示意圖。在車輛節(jié)點(diǎn)v6是一個(gè)簇成員,車輛節(jié)點(diǎn)v6能提供數(shù)據(jù)c1中的部分?jǐn)?shù)據(jù)塊或者全部數(shù)據(jù)塊,數(shù)據(jù)c1由名稱地址n1定義的條件下,如果車輛節(jié)點(diǎn)v6從子網(wǎng)s1移動(dòng)到子網(wǎng)s2,子網(wǎng)s2的接入節(jié)點(diǎn)為ap2,那么執(zhí)行下述移動(dòng)切換操作:步驟201:開始;步驟202:車輛節(jié)點(diǎn)v6向接入節(jié)點(diǎn)ap2發(fā)送注冊消息,該注冊消息的源地址為車輛節(jié)點(diǎn)v6的定位地址,目的地址為接入節(jié)點(diǎn)ap2的定位地址,消息類型為4,負(fù)載為數(shù)據(jù)名稱n1、表名稱為n1的數(shù)據(jù)表中所有表項(xiàng)的數(shù)據(jù)塊id域值集合以及數(shù)據(jù)生存時(shí)間;步驟203:接入節(jié)點(diǎn)ap2收到注冊消息后,創(chuàng)建一個(gè)數(shù)據(jù)索引表項(xiàng),該數(shù)據(jù)索引表項(xiàng)的數(shù)據(jù)名稱域值為n1,數(shù)據(jù)塊id集合為消息負(fù)載中的數(shù)據(jù)塊id集合域值,數(shù)據(jù)生命周期域值為消息負(fù)載中的數(shù)據(jù)生命周期域值,定位地址域值為注冊消息的源地址,簇成員生命周期域值設(shè)置為最大初始值,該初始值大于兩個(gè)信標(biāo)幀的時(shí)間間隔,例如200ms;步驟204:判斷接入節(jié)點(diǎn)ap2是否只有一個(gè)數(shù)據(jù)名稱域值為n1的表項(xiàng),如果是,執(zhí)行步驟205,否則執(zhí)行步驟207;步驟205:接入節(jié)點(diǎn)ap2廣播一個(gè)注冊消息,該注冊消息的源地址為自己的定位地址,目的地址為廣播地址,即定位地址中的橫坐標(biāo)、縱坐標(biāo)和車輛節(jié)點(diǎn)id的比特值均為1,消息類型為4,負(fù)載為數(shù)據(jù)名稱域值為n1的表項(xiàng)中的數(shù)據(jù)名稱、數(shù)據(jù)塊id集合以及數(shù)據(jù)生命周期值,;步驟206:車輛節(jié)點(diǎn)收到注冊消息后,丟棄該注冊消息,接入節(jié)點(diǎn)收到該注冊消息后,創(chuàng)建一個(gè)數(shù)據(jù)檢索表項(xiàng),該數(shù)據(jù)檢索表項(xiàng)的數(shù)據(jù)名稱域值、數(shù)據(jù)塊id集合域值和數(shù)據(jù)生命周期域值分別為注冊消息負(fù)載中的數(shù)據(jù)名稱域值、數(shù)據(jù)塊id集合域值和數(shù)據(jù)生命周期域值,定位地址域值為注冊消息中的源地址,簇成員生命周期域值設(shè)置為最大初始值,該初始值大于兩個(gè)信標(biāo)幀的時(shí)間間隔,例如200ms;步驟207:結(jié)束;上述移動(dòng)切換過程結(jié)束后,子網(wǎng)s2中的車輛節(jié)點(diǎn)能夠直接從車輛節(jié)點(diǎn)v6獲取數(shù)據(jù)c1的數(shù)據(jù)塊;車輛節(jié)點(diǎn)v6完成移動(dòng)切換后,定期向接入節(jié)點(diǎn)ap2發(fā)送信標(biāo)消息,該信標(biāo)消息的源地址為車輛節(jié)點(diǎn)v6的定位地址,該定位地址中的地理橫坐標(biāo)和地理縱坐標(biāo)為車輛節(jié)點(diǎn)v6當(dāng)前的地理橫坐標(biāo)和地理縱坐標(biāo);接入節(jié)點(diǎn)ap2收到來自車輛節(jié)點(diǎn)v6的信標(biāo)消息后,查找數(shù)據(jù)索引表中定位地址域值中的車輛節(jié)點(diǎn)id等于信標(biāo)消息中源地址的車輛節(jié)點(diǎn)id的數(shù)據(jù)索引表項(xiàng),然后接入節(jié)點(diǎn)ap2用信標(biāo)消息中的源地址更新所述數(shù)據(jù)索引表項(xiàng)中的定位地址域值,同時(shí)將所述數(shù)據(jù)索引表項(xiàng)中的簇成員生命周期設(shè)置為最大值;如果車輛節(jié)點(diǎn)v6檢測到表名稱為n1的數(shù)據(jù)索引表項(xiàng)中的數(shù)據(jù)生命周期到期,則刪除該數(shù)據(jù)索引表項(xiàng),同時(shí)車輛節(jié)點(diǎn)v6不再向接入節(jié)點(diǎn)ap2定期發(fā)送信標(biāo)消息;如果一個(gè)數(shù)據(jù)索引表項(xiàng)中數(shù)據(jù)生命周期域值或者簇成員生命周期域值過期,則將該數(shù)據(jù)索引表項(xiàng)從數(shù)據(jù)索引表中刪除;接入節(jié)點(diǎn)ap1廣播負(fù)載為數(shù)據(jù)名稱n1的注冊消息后,定期向每個(gè)接入節(jié)點(diǎn)發(fā)送信標(biāo)消息;其他接入節(jié)點(diǎn)收到來自接入節(jié)點(diǎn)ap1的信標(biāo)消息后,查找數(shù)據(jù)索引表中定位地址域值等于信標(biāo)消息中源地址的數(shù)據(jù)索引表項(xiàng),然后其他接入節(jié)點(diǎn)將所述數(shù)據(jù)索引表項(xiàng)中的簇成員生命周期設(shè)置為最大值;如果接入節(jié)點(diǎn)ap1檢測到表名稱為n1的數(shù)據(jù)索引表項(xiàng)中的數(shù)據(jù)生命周期到期,則刪除該表,同時(shí)不再向每個(gè)接入節(jié)點(diǎn)定期發(fā)送信標(biāo)消息。上述算法可以快速實(shí)現(xiàn)移動(dòng)切換從而確保車輛節(jié)點(diǎn)在移動(dòng)過程中的通信正確性。圖3為本發(fā)明所述的本地獲取數(shù)據(jù)流程示意圖。車輛節(jié)點(diǎn)v6位于子網(wǎng)s1中,子網(wǎng)s1中的接入節(jié)點(diǎn)為ap1,數(shù)據(jù)c1由數(shù)據(jù)名稱n1定義,車輛節(jié)點(diǎn)v6需要獲取數(shù)據(jù)c1的數(shù)據(jù)塊,該數(shù)據(jù)塊的數(shù)據(jù)塊id集合為u,接入節(jié)點(diǎn)ap1查看數(shù)據(jù)索引表中數(shù)據(jù)名稱域值為n1的數(shù)據(jù)索引表項(xiàng),如果所述數(shù)據(jù)索引表項(xiàng)的數(shù)據(jù)塊id集合域值的并集是數(shù)據(jù)塊id集合u的超集,那么車輛節(jié)點(diǎn)v6則根據(jù)下述過程獲取數(shù)據(jù):步驟301:開始;步驟302:車輛節(jié)點(diǎn)v6構(gòu)建一個(gè)數(shù)據(jù)地址,同時(shí)構(gòu)建自己的定位地址和接入節(jié)點(diǎn)ap1的定位地址,在數(shù)據(jù)地址中,數(shù)據(jù)名稱域值為n1,數(shù)據(jù)塊id集合為u,在車輛節(jié)點(diǎn)v6自己的定位地址中,橫坐標(biāo)和縱坐標(biāo)為車輛節(jié)點(diǎn)v6的地理橫坐標(biāo)和地理縱坐標(biāo),車輛節(jié)點(diǎn)id為車輛節(jié)點(diǎn)v6的車輛節(jié)點(diǎn)id,在接入節(jié)點(diǎn)ap1的定位地址中,橫坐標(biāo)和縱坐標(biāo)為接入節(jié)點(diǎn)ap1的地理橫坐標(biāo)和地理縱坐標(biāo),車輛節(jié)點(diǎn)id為0;車輛節(jié)點(diǎn)v6創(chuàng)建一個(gè)數(shù)據(jù)請求消息,該數(shù)據(jù)請求消息的源地址為車輛節(jié)點(diǎn)v6自己的定位地址,目的地址為接入節(jié)點(diǎn)ap1的定位地址,負(fù)載為構(gòu)建的數(shù)據(jù)地址,消息類型為5;車輛節(jié)點(diǎn)v6將數(shù)據(jù)請求消息轉(zhuǎn)發(fā)到距離接入節(jié)點(diǎn)ap1最近的鄰居車輛節(jié)點(diǎn);步驟303:如果能提供數(shù)據(jù)c1的簇成員節(jié)點(diǎn)接收到數(shù)據(jù)請求消息,那么執(zhí)行步驟304,否則執(zhí)行步驟307;步驟304:如果該簇成員節(jié)點(diǎn)能提供數(shù)據(jù)請求消息負(fù)載的數(shù)據(jù)地址中的數(shù)據(jù)塊id集合所定義的所有數(shù)據(jù)塊,那么執(zhí)行步驟305,否則執(zhí)行步驟306;步驟305:簇成員節(jié)點(diǎn)返回一個(gè)數(shù)據(jù)響應(yīng)消息,該數(shù)據(jù)響應(yīng)消息的源地址為簇成員節(jié)點(diǎn)自己的定位地址,目的地址為車輛節(jié)點(diǎn)v6的定位地址,消息類型為6,負(fù)載為數(shù)據(jù)表中數(shù)據(jù)塊id域值等于數(shù)據(jù)請求消息負(fù)載的數(shù)據(jù)地址中的數(shù)據(jù)塊id集合中每一個(gè)元素的所有表項(xiàng),然后執(zhí)行步驟311;步驟306:簇成員節(jié)點(diǎn)返回一個(gè)數(shù)據(jù)響應(yīng)消息,該數(shù)據(jù)響應(yīng)消息的源地址為自己的定位地址,目的地址為車輛節(jié)點(diǎn)v6的定位地址,消息類型為6,負(fù)載為數(shù)據(jù)表中數(shù)據(jù)塊id域值等于數(shù)據(jù)請求消息負(fù)載中數(shù)據(jù)地址中的數(shù)據(jù)塊id集合中任一個(gè)元素的所有表項(xiàng);從數(shù)據(jù)請求消息的數(shù)據(jù)地址的數(shù)據(jù)塊id集合中減去數(shù)據(jù)響應(yīng)消息中所有數(shù)據(jù)表項(xiàng)中的數(shù)據(jù)塊id集合;將數(shù)據(jù)請求消息轉(zhuǎn)發(fā)到距離接入節(jié)點(diǎn)ap1最近的鄰居車輛節(jié)點(diǎn)或者接入節(jié)點(diǎn),執(zhí)行步驟303;步驟307:如果接入節(jié)點(diǎn)ap1接收到數(shù)據(jù)請求消息,那么執(zhí)行步驟308,否則執(zhí)行步驟310;步驟308:接入節(jié)點(diǎn)ap1從數(shù)據(jù)索引表中選擇滿足下述兩個(gè)條件的數(shù)據(jù)索引表項(xiàng),對于每個(gè)選擇的每一個(gè)數(shù)據(jù)索引表項(xiàng)創(chuàng)建一個(gè)數(shù)據(jù)地址,該數(shù)據(jù)地址的數(shù)據(jù)名稱域值為n1,數(shù)據(jù)塊id集合為該數(shù)據(jù)索引表項(xiàng)中的數(shù)據(jù)塊id集合;接入節(jié)點(diǎn)ap1發(fā)送一個(gè)數(shù)據(jù)請求消息,該數(shù)據(jù)請求消息的源地址為車輛節(jié)點(diǎn)v6的定位地址,目的地址為該表項(xiàng)中的定位地址,負(fù)載為構(gòu)建的數(shù)據(jù)地址;條件1:數(shù)據(jù)名稱域值為n1;條件2:所述數(shù)據(jù)索引表項(xiàng)中的數(shù)據(jù)塊id集合的并集是數(shù)據(jù)塊id集合u的超集;步驟309:目的簇成員節(jié)點(diǎn)收到數(shù)據(jù)請求消息后,返回一個(gè)數(shù)據(jù)響應(yīng)消息,該數(shù)據(jù)響應(yīng)消息的源地址為自己的定位地址,目的地址為車輛節(jié)點(diǎn)v6的定位地址,負(fù)載為數(shù)據(jù)表中數(shù)據(jù)塊id域值等于數(shù)據(jù)請求消息負(fù)載中數(shù)據(jù)地址的數(shù)據(jù)塊id集合中每一個(gè)元素的所有表項(xiàng),執(zhí)行步驟311;步驟310:車輛節(jié)點(diǎn)接收到數(shù)據(jù)請求消息后,將該數(shù)據(jù)請求消息轉(zhuǎn)發(fā)到距離接入節(jié)點(diǎn)ap1最近的鄰居車輛節(jié)點(diǎn)或者接入節(jié)點(diǎn),執(zhí)行步驟303;步驟311:如果車輛節(jié)點(diǎn)v6收到數(shù)據(jù)響應(yīng)消息,則執(zhí)行步驟313,否則執(zhí)行步驟312;步驟312:如果車輛節(jié)點(diǎn)在距離數(shù)據(jù)響應(yīng)消息的目的地址的橫坐標(biāo)和縱坐標(biāo)所確定的位置的一跳范圍內(nèi),則廣播該數(shù)據(jù)響應(yīng)消息,執(zhí)行步驟311,否則將該數(shù)據(jù)響應(yīng)消息轉(zhuǎn)發(fā)到與數(shù)據(jù)響應(yīng)消息目的地址中橫坐標(biāo)和縱坐標(biāo)所確定的位置距離最近的鄰居車輛節(jié)點(diǎn),執(zhí)行步驟311;步驟313:車輛節(jié)點(diǎn)v6接收到所有數(shù)據(jù)響應(yīng)消息后,創(chuàng)建一個(gè)數(shù)據(jù)表,該數(shù)據(jù)表的表名為n1;車輛節(jié)點(diǎn)v6將數(shù)據(jù)響應(yīng)消息中的所有數(shù)據(jù)表項(xiàng)添加到數(shù)據(jù)表,同時(shí)自己轉(zhuǎn)換為簇成員節(jié)點(diǎn);步驟314:車輛節(jié)點(diǎn)v6執(zhí)行步驟201~207實(shí)現(xiàn)移動(dòng)切換;步驟315:結(jié)束。上述算法能夠確保車輛節(jié)點(diǎn)快速獲取所需數(shù)據(jù),提高了數(shù)據(jù)服務(wù)質(zhì)量。圖4為本發(fā)明所述的遠(yuǎn)程獲取數(shù)據(jù)流程示意圖。車輛節(jié)點(diǎn)v6位于子網(wǎng)s3中,子網(wǎng)s3中的接入節(jié)點(diǎn)為ap3,數(shù)據(jù)c1由數(shù)據(jù)名稱n1定義,車輛節(jié)點(diǎn)v6需要獲取數(shù)據(jù)c1的數(shù)據(jù)塊,所述數(shù)據(jù)塊的數(shù)據(jù)塊id集合為u,接入節(jié)點(diǎn)ap3查看數(shù)據(jù)索引表中數(shù)據(jù)名稱域值為n1的數(shù)據(jù)索引表項(xiàng),如果所述數(shù)據(jù)索引表項(xiàng)的數(shù)據(jù)塊id集合域值的并集是數(shù)據(jù)塊id集合u的子集,那么車輛節(jié)點(diǎn)v6則根據(jù)下述過程獲取數(shù)據(jù):步驟401:開始;步驟402:車輛節(jié)點(diǎn)v6構(gòu)建一個(gè)數(shù)據(jù)地址,同時(shí)構(gòu)建自己的定位地址和接入節(jié)點(diǎn)ap3的定位地址,在數(shù)據(jù)地址中,數(shù)據(jù)名稱域值為n1,數(shù)據(jù)塊id集合為u,在車輛節(jié)點(diǎn)v6自己的定位地址中,橫坐標(biāo)和縱坐標(biāo)為車輛節(jié)點(diǎn)v6的地理橫坐標(biāo)和地理縱坐標(biāo),車輛節(jié)點(diǎn)id為車輛節(jié)點(diǎn)v6的車輛節(jié)點(diǎn)id,在接入節(jié)點(diǎn)ap3的定位地址中,橫坐標(biāo)和縱坐標(biāo)為接入節(jié)點(diǎn)ap3的地理橫坐標(biāo)和地理縱坐標(biāo),車輛節(jié)點(diǎn)id為0;車輛節(jié)點(diǎn)v6創(chuàng)建一個(gè)數(shù)據(jù)請求消息,該數(shù)據(jù)請求消息的源地址為車輛節(jié)點(diǎn)v6自己的定位地址,目的地址為接入節(jié)點(diǎn)ap3的定位自己,負(fù)載為構(gòu)建的數(shù)據(jù)地址,消息類型為5;車輛節(jié)點(diǎn)v6將數(shù)據(jù)請求消息轉(zhuǎn)發(fā)到距離所在子網(wǎng)s3的接入節(jié)點(diǎn)ap3最近的鄰居車輛節(jié)點(diǎn);步驟403:接入節(jié)點(diǎn)從自己的接口f接收到數(shù)據(jù)請求消息后,在數(shù)據(jù)請求表中創(chuàng)建一個(gè)數(shù)據(jù)請求表項(xiàng),該數(shù)據(jù)請求表項(xiàng)的數(shù)據(jù)地址為數(shù)據(jù)請求消息負(fù)載中的數(shù)據(jù)地址,定位地址為數(shù)據(jù)請求消息的源地址,接口域值為f;步驟404:如果接入節(jié)點(diǎn)在數(shù)據(jù)請求表中只有一項(xiàng)數(shù)據(jù)地址等于數(shù)據(jù)請求消息負(fù)載中的數(shù)據(jù)地址的數(shù)據(jù)請求表項(xiàng),則執(zhí)行步驟405,否則執(zhí)行步驟409;步驟405:如果接入節(jié)點(diǎn)在數(shù)據(jù)索引表中存在數(shù)據(jù)名稱為n1且定位地址為車輛節(jié)點(diǎn)的定位地址,即定位地址的車輛節(jié)點(diǎn)id不為0,那么執(zhí)行步驟406,否則執(zhí)行步驟408;步驟406:接入節(jié)點(diǎn)從數(shù)據(jù)索引表中選擇滿足下述條件3和條件4的表項(xiàng),對于選擇的每一個(gè)數(shù)據(jù)索引表項(xiàng)創(chuàng)建一個(gè)數(shù)據(jù)地址,該數(shù)據(jù)地址的數(shù)據(jù)名稱域值為n1,數(shù)據(jù)塊id集合為該數(shù)據(jù)索引表項(xiàng)中的數(shù)據(jù)塊id集合;接入節(jié)點(diǎn)發(fā)送一個(gè)數(shù)據(jù)請求消息,該數(shù)據(jù)請求消息的源地址為車輛節(jié)點(diǎn)v6的定位地址,目的地址為該數(shù)據(jù)索引表項(xiàng)中的定位地址,負(fù)載為構(gòu)建的數(shù)據(jù)地址;目的簇成員節(jié)點(diǎn)收到數(shù)據(jù)請求消息后,發(fā)送一個(gè)數(shù)據(jù)響應(yīng)消息,該數(shù)據(jù)響應(yīng)消息的源地址為數(shù)據(jù)請求消息中的數(shù)據(jù)地址,目的地址為接入節(jié)點(diǎn)的定位地址,負(fù)載為數(shù)據(jù)表中數(shù)據(jù)塊id域值等于數(shù)據(jù)請求消息負(fù)載中的數(shù)據(jù)地址中的數(shù)據(jù)塊id集合中每一個(gè)元素的表項(xiàng),接入節(jié)點(diǎn)收到所有目的簇成員節(jié)點(diǎn)的數(shù)據(jù)響應(yīng)消息后,構(gòu)建一個(gè)數(shù)據(jù)響應(yīng)消息,該數(shù)據(jù)響應(yīng)消息的源地址為接收到的數(shù)據(jù)請求消息中的目的地址,負(fù)載為所接收到的數(shù)據(jù)響應(yīng)消息中的所有負(fù)載的集合;條件3:數(shù)據(jù)名稱域值為n1且定位地址的車輛節(jié)點(diǎn)id不為0;條件4:所述數(shù)據(jù)索引表項(xiàng)中的數(shù)據(jù)塊id集合的并集是數(shù)據(jù)請求消息的目的地址中的數(shù)據(jù)塊id集合的最大子集或者超集;步驟407:如果接入節(jié)點(diǎn)選擇的所有表項(xiàng)中的數(shù)據(jù)塊id集合的并集是數(shù)據(jù)請求消息的目的地址中的數(shù)據(jù)塊id集合的超集,那么執(zhí)行步驟409,否則執(zhí)行步驟408;步驟408:接入節(jié)點(diǎn)從數(shù)據(jù)請求消息負(fù)載中的數(shù)據(jù)地址的數(shù)據(jù)塊id集合中減去所選擇的所有索引表項(xiàng)中的數(shù)據(jù)塊id集合的并集;接入節(jié)點(diǎn)從數(shù)據(jù)檢索表中選擇符合條件5和6的數(shù)據(jù)檢索表項(xiàng),將數(shù)據(jù)請求消息的目的地址更新為該數(shù)據(jù)檢索表項(xiàng)的定位地址,然后轉(zhuǎn)發(fā)數(shù)據(jù)請求消息,執(zhí)行步驟403;條件5:數(shù)據(jù)名稱域值為n1且定位地址的車輛節(jié)點(diǎn)id為0;條件6:定位地址的橫坐標(biāo)和縱坐標(biāo)距離最近;步驟409:如果接入節(jié)點(diǎn)構(gòu)建或者收到數(shù)據(jù)響應(yīng)消息,則執(zhí)行步驟410,否則執(zhí)行步驟411;步驟410:接入節(jié)點(diǎn)查看數(shù)據(jù)請求表,選擇數(shù)據(jù)地址為數(shù)據(jù)響應(yīng)消息源地址的數(shù)據(jù)請求表項(xiàng),對于每個(gè)數(shù)據(jù)請求表項(xiàng),進(jìn)行如下操作:接入節(jié)點(diǎn)用該數(shù)據(jù)請求表項(xiàng)的定位地址更新數(shù)據(jù)響應(yīng)消息的目的地址,從該數(shù)據(jù)請求表項(xiàng)的接口域轉(zhuǎn)發(fā)該數(shù)據(jù)響應(yīng)消息,如果數(shù)據(jù)響應(yīng)消息負(fù)載中的數(shù)據(jù)塊id集合是數(shù)據(jù)響應(yīng)消息的源地址中的數(shù)據(jù)塊id集合的超集,接入節(jié)點(diǎn)則刪除該數(shù)據(jù)請求表項(xiàng);返回執(zhí)行步驟409;步驟411:如果車輛節(jié)點(diǎn)收到數(shù)據(jù)響應(yīng)消息且該車輛節(jié)點(diǎn)不位于子網(wǎng)s3內(nèi),那么執(zhí)行步驟412,否則執(zhí)行步驟413;步驟412:車輛節(jié)點(diǎn)將該數(shù)據(jù)響應(yīng)消息轉(zhuǎn)發(fā)到與所在子網(wǎng)的接入節(jié)點(diǎn)距離最近的鄰居車輛節(jié)點(diǎn)或者接入節(jié)點(diǎn),執(zhí)行步驟409;步驟413:如果車輛節(jié)點(diǎn)v6收到數(shù)據(jù)響應(yīng)消息,則執(zhí)行步驟415,否則執(zhí)行步驟414;步驟414:如果接收到數(shù)據(jù)響應(yīng)消息的車輛節(jié)點(diǎn)在數(shù)據(jù)響應(yīng)消息的目的地址的橫坐標(biāo)和縱坐標(biāo)所確定的位置的一跳范圍內(nèi),則廣播該數(shù)據(jù)響應(yīng)消息,執(zhí)行步驟409,否則將該數(shù)據(jù)響應(yīng)消息轉(zhuǎn)發(fā)到與數(shù)據(jù)響應(yīng)消息目的地址中橫坐標(biāo)和縱坐標(biāo)所確定的位置距離最近的鄰居車輛節(jié)點(diǎn),執(zhí)行步驟409;步驟415:車輛節(jié)點(diǎn)v6接收到所有數(shù)據(jù)響應(yīng)消息后,創(chuàng)建一個(gè)數(shù)據(jù)表,該數(shù)據(jù)表的表名為n1,車輛節(jié)點(diǎn)v6將數(shù)據(jù)響應(yīng)消息中的所有數(shù)據(jù)表項(xiàng)添加到數(shù)據(jù)表,同時(shí)自己轉(zhuǎn)換為簇成員節(jié)點(diǎn);步驟416:車輛節(jié)點(diǎn)v6執(zhí)行步驟201~207實(shí)現(xiàn)移動(dòng)切換;步驟417:結(jié)束。上述算法能夠確保車輛節(jié)點(diǎn)快速獲取所需數(shù)據(jù),提高了數(shù)據(jù)服務(wù)質(zhì)量。實(shí)施例1基于表1的仿真參數(shù),本實(shí)施例模擬了本發(fā)明中基于車載云的網(wǎng)絡(luò)數(shù)據(jù)通信方法,性能分析如下:當(dāng)車輛節(jié)點(diǎn)速度不變,隨著車輛節(jié)點(diǎn)數(shù)量的增加,云成員的數(shù)量也隨之增加,分布面積更廣泛,因此獲取服務(wù)數(shù)據(jù)的延遲和代價(jià)都隨之下降。車輛節(jié)點(diǎn)獲取服務(wù)數(shù)據(jù)的平均延遲為60ms,平均代價(jià)為8。表1仿真參數(shù)本發(fā)明提供了一種基于車載云的網(wǎng)絡(luò)數(shù)據(jù)通信方法的思路,具體實(shí)現(xiàn)該技術(shù)方案的方法和途徑很多,以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本
技術(shù)領(lǐng)域:
的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。本實(shí)施例中未明確的各組成部份均可用現(xiàn)有技術(shù)加以實(shí)現(xiàn)。當(dāng)前第1頁12