本發(fā)明涉及交通信息發(fā)布技術(shù)領(lǐng)域,具體是一種基于數(shù)據(jù)命名網(wǎng)絡(luò)的交通信息發(fā)布與檢索的方法。
背景技術(shù):
隨著現(xiàn)代交通和汽車(chē)工業(yè)的飛速發(fā)展,我國(guó)的汽車(chē)持有量急劇增加,頻發(fā)的交通事故、日益嚴(yán)重的交通堵塞,以及用戶強(qiáng)烈的internet接入需求共同推進(jìn)了智能交通系統(tǒng)its(intelligenttransportationsystem)的發(fā)展。為了可提供諸如提高道路安全、提升交通效率等方面的應(yīng)用,滿足司機(jī)對(duì)交通信息的需求,交通信息發(fā)布與檢索應(yīng)用應(yīng)運(yùn)而生。
在當(dāng)前tcp/ip網(wǎng)絡(luò)體系架構(gòu)下,車(chē)輛需要裝備傳感器和通信設(shè)備,這就形成一個(gè)通信網(wǎng)絡(luò),即車(chē)載自組網(wǎng)vanet(vehicularad-hocnetwork)。在vanet中,車(chē)輛與rsu(roadsideunit)、基站、gps衛(wèi)星或其它車(chē)輛交換信息,這些信息用來(lái)完成諸如防止車(chē)輛碰撞、優(yōu)化車(chē)輛行駛路徑、為駕駛?cè)藛T提供道路信息以及用戶的娛樂(lè)等應(yīng)用。但是,在當(dāng)前網(wǎng)絡(luò)體系結(jié)構(gòu)下,交通信息發(fā)布與檢索應(yīng)用需要借助于中心服務(wù)器,所有車(chē)輛將自己的位置、速度等信息上傳至服務(wù)器,其它車(chē)輛需要獲取交通信息時(shí)要通過(guò)ip地址與服務(wù)器進(jìn)行通信。服務(wù)器配置大容量數(shù)據(jù)庫(kù),不斷存儲(chǔ)各個(gè)車(chē)輛發(fā)來(lái)的實(shí)時(shí)交通信息,如果有緊急情況時(shí),可根據(jù)事發(fā)地點(diǎn)向周?chē)?chē)輛用戶主動(dòng)推送消息;當(dāng)車(chē)輛用戶需要知道某一位置的交通信息時(shí),通過(guò)ip網(wǎng)絡(luò)建立端到端的連接,向服務(wù)器發(fā)送請(qǐng)求,服務(wù)器處理用戶請(qǐng)求,將相關(guān)數(shù)據(jù)信息通過(guò)剛才獲知的請(qǐng)求用戶的ip地址發(fā)送出去。概括地來(lái)說(shuō),這樣的模式即為一個(gè)中心服務(wù)器向各車(chē)輛發(fā)送交通信息與各車(chē)輛向服務(wù)器發(fā)送請(qǐng)求檢索交通信息。
ip網(wǎng)絡(luò)基于終端位置建立鏈路來(lái)提供信息交互功能,而vanet的移動(dòng)性使其無(wú)法在ip網(wǎng)絡(luò)中良好運(yùn)作,存在著移動(dòng)性差、靈活性差、可靠性差等問(wèn)題。例如,當(dāng)一個(gè)車(chē)輛向服務(wù)器發(fā)送請(qǐng)求獲取數(shù)據(jù)時(shí),ip地址為10.1.1.158,而當(dāng)它在快速移動(dòng)時(shí)ip地址可能變?yōu)榱?0.1.1.159,那么之前的連接就已經(jīng)斷開(kāi),此車(chē)輛之前請(qǐng)求的數(shù)據(jù)就獲取不到,想要獲取數(shù)據(jù)就需要通過(guò)新的ip地址重新與服務(wù)器建立連接。另外,如果較多車(chē)輛用戶同時(shí)請(qǐng)求數(shù)據(jù),會(huì)致使服務(wù)器壓力過(guò)大甚至癱瘓,獲取數(shù)據(jù)延遲時(shí)間較長(zhǎng)。
總的來(lái)說(shuō),在當(dāng)前tcp/ip網(wǎng)絡(luò)體系架構(gòu)下的vanet網(wǎng)絡(luò)存在以下問(wèn)題:
(1)信息的發(fā)布訂閱系統(tǒng)效率非常低。因?yàn)楝F(xiàn)在的internet是主機(jī)-主機(jī)模式,任何信息的獲取都必須要定位到某個(gè)確定的物理主機(jī);
(2)移動(dòng)問(wèn)題。在internet中ip具有雙重語(yǔ)義,既表示主機(jī),又表示在網(wǎng)絡(luò)所處的物理位置,如果節(jié)點(diǎn)移動(dòng)距離范圍較大,可能要改變ip地址,因此不利于網(wǎng)絡(luò)中車(chē)輛節(jié)點(diǎn)移動(dòng);
(3)需要使用中心服務(wù)器。所有車(chē)輛將自己的位置、速度等信息上傳至服務(wù)器,其它車(chē)輛需要獲取交通信息時(shí)要通過(guò)服務(wù)器ip地址進(jìn)行通信請(qǐng)求數(shù)據(jù)。
但命名數(shù)據(jù)網(wǎng)絡(luò)(nameddatanetworking,以下簡(jiǎn)稱ndn)能很好地解決vanet在ip網(wǎng)絡(luò)下的問(wèn)題。ndn是由美國(guó)國(guó)家科學(xué)基金會(huì)(nationalsciencefoundation,nsf)在2010年所發(fā)起的未來(lái)網(wǎng)絡(luò)架構(gòu)研究方案之一,主旨為開(kāi)發(fā)全新的網(wǎng)絡(luò)架構(gòu),以符合新興的通訊需求,并取代現(xiàn)有的tcp/ip協(xié)議。它不考慮內(nèi)容存儲(chǔ)所在的物理位置,直接建立命名數(shù)據(jù)網(wǎng)絡(luò)體系。
ndn的核心對(duì)象是數(shù)據(jù)本身,而不是網(wǎng)絡(luò)中的主機(jī),這是數(shù)據(jù)命名網(wǎng)絡(luò)與ip網(wǎng)絡(luò)最大的區(qū)別,也是其最大的特點(diǎn)和優(yōu)點(diǎn)。由于ndn以數(shù)據(jù)內(nèi)容為中心,而不是以終端位置為中心,能夠很自然的解決vanet在ip網(wǎng)絡(luò)中存在的問(wèn)題:
(1)交通信息的共享不需要使用中心服務(wù)器。整個(gè)網(wǎng)絡(luò)完全自治,無(wú)需車(chē)輛去中心服務(wù)器請(qǐng)求數(shù)據(jù),減緩了數(shù)據(jù)延遲的可能,提高了信息檢索的效率。
(2)信息緩存。每一個(gè)車(chē)輛節(jié)點(diǎn)都扮演著生產(chǎn)者、消費(fèi)者和數(shù)據(jù)轉(zhuǎn)發(fā)者的角色,尤其在車(chē)輛不在網(wǎng)絡(luò)內(nèi)時(shí)還能作為數(shù)據(jù)騾子攜帶數(shù)據(jù)。
(3)命名結(jié)構(gòu)。由于ndn網(wǎng)絡(luò)不同于現(xiàn)行的ip網(wǎng)絡(luò),最大不同之處在于ndn以內(nèi)容為中心構(gòu)建,因此設(shè)計(jì)一個(gè)合適的命名結(jié)構(gòu)是完成該算法的關(guān)鍵問(wèn)題之一。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種使用方便的基于數(shù)據(jù)命名網(wǎng)絡(luò)的交通信息發(fā)布與檢索的方法,以解決上述背景技術(shù)中提出的問(wèn)題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種基于數(shù)據(jù)命名網(wǎng)絡(luò)的交通信息發(fā)布與檢索的方法,具體步驟如下:
(1)建議數(shù)據(jù)命名機(jī)制:將名字劃分為五個(gè)基本層,所述的五個(gè)基本層分別為城市區(qū)名、路名段位、信息種類(lèi)、時(shí)間段、用戶id;
(2)交通信息發(fā)布的方法:源車(chē)輛節(jié)點(diǎn)將產(chǎn)生的數(shù)據(jù)包向周?chē)D(zhuǎn)發(fā)以后,收到的車(chē)輛節(jié)點(diǎn)緩存此數(shù)據(jù)包后繼續(xù)向外廣播轉(zhuǎn)發(fā);
(3)交通信息檢索機(jī)制:當(dāng)司機(jī)要查詢某一地理位置的交通信息時(shí),向周?chē)従榆?chē)輛節(jié)點(diǎn)發(fā)送興趣包請(qǐng)求數(shù)據(jù),其它車(chē)輛收到興趣包后先去查詢本地緩存中有無(wú)符合的數(shù)據(jù),如果有則返回,如果沒(méi)有則將內(nèi)容名稱和接收興趣包的接口記錄到pit表項(xiàng)中,以使數(shù)據(jù)能原路返回,然后繼續(xù)將興趣包向鄰居車(chē)輛節(jié)點(diǎn)轉(zhuǎn)發(fā);當(dāng)有數(shù)據(jù)包返回時(shí),先緩存在本地,然后根據(jù)pit表項(xiàng)中的接口號(hào)發(fā)送給前一個(gè)請(qǐng)求者,再將此pit表項(xiàng)刪除。
作為本發(fā)明進(jìn)一步的方案:所述用戶id是在搭建vanet網(wǎng)絡(luò)之時(shí),將進(jìn)入該網(wǎng)絡(luò)下的車(chē)輛用戶在vanet安全認(rèn)證中心下實(shí)名注冊(cè)賬號(hào)。
作為本發(fā)明進(jìn)一步的方案:所述步驟(2)中的數(shù)據(jù)包上加設(shè)有源數(shù)據(jù)產(chǎn)生時(shí)地理位置字段、上一節(jié)點(diǎn)地理位置字段和標(biāo)志字段。
作為本發(fā)明再進(jìn)一步的方案:所述步驟(2)中進(jìn)行數(shù)據(jù)包轉(zhuǎn)發(fā)的轉(zhuǎn)發(fā)機(jī)制如下:當(dāng)數(shù)據(jù)流向轉(zhuǎn)發(fā)層時(shí),首先判斷接收到的數(shù)據(jù)是否為主動(dòng)產(chǎn)生的數(shù)據(jù),如果不是則按照pit表項(xiàng)記錄進(jìn)行轉(zhuǎn)發(fā)和緩存,否則進(jìn)一步判斷是否為當(dāng)前車(chē)輛產(chǎn)生的數(shù)據(jù),當(dāng)是當(dāng)前車(chē)輛節(jié)點(diǎn)產(chǎn)生的數(shù)據(jù)時(shí)就要先把數(shù)據(jù)緩存在本地緩存中,然后向外廣播轉(zhuǎn)發(fā);當(dāng)不是當(dāng)前車(chē)輛產(chǎn)生的數(shù)據(jù)時(shí),則認(rèn)為是被動(dòng)接收了該數(shù)據(jù),此時(shí)就要檢查其在pit表中是否有對(duì)應(yīng)項(xiàng),如果有,則先緩存在本地,然后按照pit表項(xiàng)中記錄的接口集全部轉(zhuǎn)發(fā)數(shù)據(jù)包;如果在pit表中沒(méi)有匹配項(xiàng),則先緩存,然后從數(shù)據(jù)包中取出源數(shù)據(jù)產(chǎn)生時(shí)地理位置字段,計(jì)算當(dāng)前節(jié)點(diǎn)與源數(shù)據(jù)產(chǎn)生時(shí)地理位置的距離值記作disa,如果小于6km再取出上一節(jié)點(diǎn)地理位置字段的值,計(jì)算當(dāng)前位置與上一節(jié)點(diǎn)地理位置字段的距離記作disb,當(dāng)disa<6km并且disb>100m時(shí)才將此條數(shù)據(jù)廣播轉(zhuǎn)發(fā)出去,否則處理結(jié)束。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
本發(fā)明在vanet網(wǎng)絡(luò)中不使用中心服務(wù)器的基于ndn機(jī)制的交通信息發(fā)布與檢索方法,整個(gè)網(wǎng)絡(luò)車(chē)輛自組,每一個(gè)車(chē)輛節(jié)點(diǎn)都充當(dāng)生產(chǎn)者、消費(fèi)者和轉(zhuǎn)發(fā)者多種角色,車(chē)輛可以通過(guò)ndn機(jī)制進(jìn)行信息的轉(zhuǎn)發(fā)與緩存,并使得車(chē)輛司機(jī)可以通過(guò)其它車(chē)輛快速高效查詢某一地理位置的相關(guān)交通信息,而無(wú)需借助傳統(tǒng)模式下使用的中心服務(wù)器。
附圖說(shuō)明
圖1為本發(fā)明中數(shù)據(jù)包轉(zhuǎn)發(fā)的流程示意圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施方式對(duì)本專利的技術(shù)方案作進(jìn)一步詳細(xì)地說(shuō)明。
請(qǐng)參閱圖1,一種基于數(shù)據(jù)命名網(wǎng)絡(luò)的交通信息發(fā)布與檢索的方法,具體步驟如下:
(1)建議數(shù)據(jù)命名機(jī)制:將名字劃分為五個(gè)基本層,所述的五個(gè)基本層分別為城市區(qū)名、路名段位、信息種類(lèi)、時(shí)間段、用戶id;對(duì)于數(shù)據(jù)命名網(wǎng)絡(luò)來(lái)說(shuō),一套合理的數(shù)據(jù)命名機(jī)制是其信息高效轉(zhuǎn)發(fā)與檢索的基礎(chǔ)。例如五個(gè)基本層為“北京市朝陽(yáng)區(qū)/西大望路南段/修路/8:00—9:00/京vndn0368”,其中時(shí)間段位是數(shù)據(jù)產(chǎn)生時(shí)的時(shí)間;前四層為了方便用戶檢索信息而設(shè)計(jì),而用戶id是為了保障信息安全而設(shè)計(jì),同時(shí)在此也保證了數(shù)據(jù)的唯一性;這樣分層次命名一方面可以定位數(shù)據(jù),做到唯一數(shù)據(jù)命名;另一方面還可以根據(jù)不同的檢索粒度去查詢數(shù)據(jù),達(dá)到滿足用戶不同需求的效果,例如:
(1)興趣包名為“北京市朝陽(yáng)區(qū)/西大望路南段/”,則表示查詢北京市朝陽(yáng)區(qū)的西大望路南段所有種類(lèi)以及所有時(shí)間段下的數(shù)據(jù)信息;
(2)興趣包名為“北京市朝陽(yáng)區(qū)/西大望路南段/修路/”,則表示查詢北京市朝陽(yáng)區(qū)西大望路南段僅為修路種類(lèi)下所有時(shí)間段內(nèi)的數(shù)據(jù)信息;
(3)興趣包名為“北京市朝陽(yáng)區(qū)/西大望路南段/修路/8:00—9:00/”,則表示查詢北京市朝陽(yáng)區(qū)西大望路南段在8:00—9:00時(shí)間段內(nèi)的修路種類(lèi)的數(shù)據(jù)信息。
所述用戶id是在搭建vanet網(wǎng)絡(luò)之時(shí),將進(jìn)入該網(wǎng)絡(luò)下的車(chē)輛用戶在vanet安全認(rèn)證中心下實(shí)名注冊(cè)賬號(hào),以便于后期安全維護(hù),例如有人發(fā)布虛假信息時(shí),其它車(chē)輛可以舉報(bào),vanet管理中心對(duì)其進(jìn)行相應(yīng)的懲罰。
(2)交通信息發(fā)布的方法:源車(chē)輛節(jié)點(diǎn)將產(chǎn)生的數(shù)據(jù)包向周?chē)D(zhuǎn)發(fā)以后,收到的車(chē)輛節(jié)點(diǎn)緩存此數(shù)據(jù)包后繼續(xù)向外廣播轉(zhuǎn)發(fā);當(dāng)一輛車(chē)發(fā)現(xiàn)交通意外(車(chē)禍、施工等)時(shí)發(fā)布信息,之后將此條信息轉(zhuǎn)發(fā)給周?chē)?chē)輛,使該信息盡可能多的覆蓋在以信息產(chǎn)生地為中心的范圍內(nèi),提高其它車(chē)輛節(jié)點(diǎn)的檢索效率與數(shù)據(jù)應(yīng)答率。
源車(chē)輛節(jié)點(diǎn)將產(chǎn)生的數(shù)據(jù)包向周?chē)D(zhuǎn)發(fā)以后,收到的車(chē)輛節(jié)點(diǎn)緩存此數(shù)據(jù)包后繼續(xù)向外廣播轉(zhuǎn)發(fā),以擴(kuò)大信息擴(kuò)展的范圍。但是為了防止此數(shù)據(jù)包一直向外擴(kuò)散,到達(dá)的位置距離源節(jié)點(diǎn)很遠(yuǎn),此時(shí)周?chē)墓?jié)點(diǎn)可能不需要源節(jié)點(diǎn)位置的數(shù)據(jù),這樣的擴(kuò)散不僅毫無(wú)目的地占用信道傳播以及緩存空間等資源。所以本算法設(shè)計(jì)在數(shù)據(jù)包加一個(gè)location地理位置字段,存儲(chǔ)該數(shù)據(jù)產(chǎn)生時(shí)所處地理位置的信息,以便其它車(chē)輛接收到此數(shù)據(jù)包時(shí)知道距此事發(fā)點(diǎn)的距離,由此便可以通過(guò)控制數(shù)據(jù)包以源節(jié)點(diǎn)為中心的半徑值來(lái)控制擴(kuò)散范圍。另一方面由于數(shù)據(jù)包是持續(xù)向外轉(zhuǎn)發(fā)擴(kuò)散的,此時(shí)可能會(huì)出現(xiàn)在一個(gè)車(chē)輛密度較大的地方,信息在這些車(chē)輛中來(lái)回轉(zhuǎn)發(fā),這樣廣播的干擾比較大、丟包率高,于是在數(shù)據(jù)包再加一個(gè)上一節(jié)點(diǎn)地理位置字段,存儲(chǔ)上一個(gè)節(jié)點(diǎn)的地理位置信息,以便其它車(chē)輛接收到此數(shù)據(jù)包時(shí)知道距上一個(gè)車(chē)輛節(jié)點(diǎn)的距離,由此可以通過(guò)該距離值去確定繼續(xù)再轉(zhuǎn)發(fā)的結(jié)點(diǎn)。另外要分清數(shù)據(jù)包是源節(jié)點(diǎn)產(chǎn)生的主動(dòng)向外轉(zhuǎn)發(fā)的數(shù)據(jù)還是有了請(qǐng)求以后的應(yīng)答數(shù)據(jù),因?yàn)閷?duì)這兩者的轉(zhuǎn)發(fā)機(jī)制是不同的,所以數(shù)據(jù)包再增加一個(gè)標(biāo)志字段,值為1標(biāo)明是該轉(zhuǎn)發(fā)機(jī)制下下主動(dòng)產(chǎn)生的數(shù)據(jù)。
所述步驟(2)中的數(shù)據(jù)包上加設(shè)有源數(shù)據(jù)產(chǎn)生時(shí)地理位置字段、上一節(jié)點(diǎn)地理位置字段和標(biāo)志字段。
(3)轉(zhuǎn)發(fā)機(jī)制:當(dāng)數(shù)據(jù)流向轉(zhuǎn)發(fā)層時(shí),首先判斷接收到的數(shù)據(jù)是否為主動(dòng)產(chǎn)生的數(shù)據(jù),如果不是則按照pit表項(xiàng)記錄進(jìn)行轉(zhuǎn)發(fā)和緩存,否則進(jìn)一步判斷是否為當(dāng)前車(chē)輛產(chǎn)生的數(shù)據(jù),當(dāng)是當(dāng)前車(chē)輛節(jié)點(diǎn)產(chǎn)生的數(shù)據(jù)時(shí)就要先把數(shù)據(jù)緩存在本地緩存中,然后向外廣播轉(zhuǎn)發(fā);當(dāng)不是當(dāng)前車(chē)輛產(chǎn)生的數(shù)據(jù)時(shí),則認(rèn)為是被動(dòng)接收了該數(shù)據(jù),此時(shí)就要檢查其在pit表中是否有對(duì)應(yīng)項(xiàng),如果有,則先緩存在本地,然后按照pit表項(xiàng)中記錄的接口集全部轉(zhuǎn)發(fā)數(shù)據(jù)包;如果在pit表中沒(méi)有匹配項(xiàng),則先緩存,然后從數(shù)據(jù)包中取出源數(shù)據(jù)產(chǎn)生時(shí)地理位置字段,計(jì)算當(dāng)前節(jié)點(diǎn)與源數(shù)據(jù)產(chǎn)生時(shí)地理位置的距離值記作disa,如果小于6km再取出上一節(jié)點(diǎn)地理位置字段的值,計(jì)算當(dāng)前位置與上一節(jié)點(diǎn)地理位置字段的距離記作disb,當(dāng)disa<6km并且disb>100m時(shí)才將此條數(shù)據(jù)廣播轉(zhuǎn)發(fā)出去,否則處理結(jié)束。
(4)交通信息檢索機(jī)制:當(dāng)司機(jī)要查詢某一地理位置的交通信息時(shí),向周?chē)従榆?chē)輛節(jié)點(diǎn)發(fā)送興趣包請(qǐng)求數(shù)據(jù),其它車(chē)輛收到興趣包后先去查詢本地緩存中有無(wú)符合的數(shù)據(jù),如果有則返回,如果沒(méi)有則將內(nèi)容名稱和接收興趣包的接口記錄到pit表項(xiàng)中,以使數(shù)據(jù)能原路返回,然后繼續(xù)將興趣包向鄰居車(chē)輛節(jié)點(diǎn)轉(zhuǎn)發(fā);當(dāng)有數(shù)據(jù)包返回時(shí),先緩存在本地,然后根據(jù)pit表項(xiàng)中的接口號(hào)發(fā)送給前一個(gè)請(qǐng)求者,再將此pit表項(xiàng)刪除。
在移動(dòng)網(wǎng)絡(luò)中,ndn對(duì)移動(dòng)性有天生的支持優(yōu)勢(shì)。移動(dòng)車(chē)輛用戶離開(kāi)原來(lái)位置,只要重新申請(qǐng)獲取數(shù)據(jù)就可以,而且可能從新位置附近重新獲得數(shù)據(jù),而不需要和原來(lái)的數(shù)據(jù)源保持連接及重新建立連接。ndn沒(méi)有中心、沒(méi)有層次的模式更適合支持沒(méi)有結(jié)構(gòu)的vanet網(wǎng)絡(luò)。
本發(fā)明在vanet網(wǎng)絡(luò)中不使用中心服務(wù)器的基于ndn機(jī)制的交通信息發(fā)布與檢索方法,整個(gè)網(wǎng)絡(luò)車(chē)輛自組,每一個(gè)車(chē)輛節(jié)點(diǎn)都充當(dāng)生產(chǎn)者、消費(fèi)者和轉(zhuǎn)發(fā)者多種角色,車(chē)輛可以通過(guò)ndn機(jī)制進(jìn)行信息的轉(zhuǎn)發(fā)與緩存,并使得車(chē)輛司機(jī)可以通過(guò)其它車(chē)輛快速高效查詢某一地理位置的相關(guān)交通信息,而無(wú)需借助傳統(tǒng)模式下使用的中心服務(wù)器。
上面對(duì)本專利的較佳實(shí)施方式作了詳細(xì)說(shuō)明,但是本專利并不限于上述實(shí)施方式,在本領(lǐng)域的普通技術(shù)人員所具備的知識(shí)范圍內(nèi),還可以在不脫離本專利宗旨的前提下做出各種變化。