專利名稱:一種基于車流密度的物聯網單播數據傳輸方法
技術領域:
本發明屬于物聯網通信領域,涉及一種基于車流密度的物聯網單播數據傳輸方法,用于從運動的車輛向固定目標節點投遞數據。本發明中,目標節點與信宿節點、信宿,三個術語具有相同的含義。在該技術中提出了一種基于車流密度的物聯網端到端投遞代價的計算方法,以及相應基于代價的路由選擇算法。應用該技術能夠以有限開銷有效提高物聯網中數據多跳轉發的成功率、并縮短端到端投遞延時。
背景技術:
本發明涉及的物聯網特指由多個具有車載短距離無線通信設備的車輛自組織形成的移動自組網。在物聯網中,節點移動速度快,拓撲變化頻繁,同時車輛運動受城市道路約束,這些特點使物聯網顯著區別于一般的移動無線自組網絡。物聯網中的數據傳輸可以通過無線方式多跳傳輸,也可以通過車輛攜帶方式,也可以“多跳方式”、“車輛攜帶”兩種方式交替進行。目前由車輛組成的物聯網路由算法,可以分作三類:基于地理位置的路由,基于洪泛的路由和基于交通流信息的路由。在基于地理位置的路由中,數據包一直由持有車輛發送給鄰居車輛中最接近目標位置的車輛。在這種路由方式下,道路拓撲中的局部極點,或稀疏車輛都會導致數據轉發過程中出現沒有可用鏈路的情況,數據包投遞延時因此增加,甚至是因超時而丟棄。在基于洪泛的路由中,數據包以直接擴散方式進行轉發,數據包的攜帶車輛會將數據拷貝復制 給鄰居車輛中任意尚未持有該拷貝的車輛。基于洪泛的路由能取得較高的投遞成功率與較小的投遞延時,但是由于網絡開銷大,通常不適用于繁忙網絡。基于交通流信息的路由是近年來物聯網路由領域的研究熱點,該類路由通常基于交通流量信息估算數據包沿路徑多跳轉發的代價,從而選擇具有較小轉發代價的路徑進行數據轉發。現有的基于交通流信息的路由算法中,大多要求精確的實時交通流信息用于計算道路轉發的代價,在高度動態的路面交通環境中難以取得理想效果,且一般有較高的計算復雜度。
發明內容
為克服上述方案缺陷與不足,本發明涉及一種輕量級的物聯網單播數據傳輸方法,通過量化路段車流密度,估算路段傳輸代價以及沿不同路徑轉發數據包的端到端傳輸代價,以作為數據包轉發時確定下一跳節點的選擇依據。本發明涉及的技術使用雙向車流轉發數據,使路段上具備短距離無線通信能力的車輛可參與該路段上任意方向的數據發送。與僅依賴單向車流的數據轉發機制相比較而言,車輛間有更充分的通信機會,從而提高數據投遞成功率,以及縮短數據投遞延時。此外,本發明假設車輛能通過某種定位技術(如裝配GPS接收設備)獲取其當前位置,并能通過電子地圖獲取城市中的道路實時車流密度情況或最近的歷史統計數據信息。每個節點具有全向通信天線,所有節點的通信半徑記做R。一般來說,R的取值范圍50米至200米。一種基于車流密度的物聯網單播數據傳輸方法,根據每個路段上雙向車流密度及其路段長度信息計算該路段的代價,并結合信源S位置、信宿t位置和地圖構造擴展圖;由該擴展圖得到網絡中各節點間的最短路徑;單播數據包根據所計算的路徑逐路段、逐跳端到端轉發。所述的傳輸方法,沿最短路徑轉發數據包時,包括數據包的路段轉發階段和路口轉發階段,路段轉發中優先將數據包轉發給最短路徑中最接近下一跳路口的車輛;路口轉發中優先將到所有鄰居路口路徑代價最小、且當前路口有車輛向該鄰居路口行使的路口作為數據包轉發的下一跳路口,一個路口距信宿的投遞代價為該路口到信宿的最小投遞代價。在本發明中,由于僅使用路段平均車流密度進行路徑和鏈路代價估計,并在計算過程中進行了量化處理,因此對交通流信息的精度及實時性要求較低,減少了路由開銷。另一方面,由于車輛在路口處僅需要將數據發往相對最優(相對最小的端到端路徑代價)的鄰居路口,因此本發明的量化機制在大部分情況下足夠保證車輛進行正確轉發決策。
圖1是數據包傳輸轉發實施例。
具體實施例方式I)路段代價計算方法:將城市路網拓撲建模成無向加權圖G(V,E),每個路口作為一個頂點,V(G)表示路口的集合,E (G)表示路段的集合,則當路口 X與路口 y為相鄰路口時,有(x,y) e E(G)。令rxy代表路段(X,y)上的車流密度值,Lxy代表路段(X,y)的長度,Numxy代表路段(x,y)的雙向車輛總數(包括路段(x,y)上,從路口 X到路口 y和從路口 y到路口 X兩個方向上的所有車輛),有rxy=Numxy/Lxy。假設車輛密度按照從疏到密劃分為N個等級,對應密度區間集合為{[O, rj, (r1; r2],…,(rN_2, Tn^1 ], (^1, °o ) },(Kr1Cr2〈…,00,其中
= - ,將道路上的車輛密度信息量化后并編號,記做 <,當rxy e
時,<=1;當
rxy e (Γι, r2]時,.¢=2;…;當rxye Ov1,⑴)時,< =N。在道路密度信息量化以后,定義
網絡中的每個路段(X,y)的路段代價權值如下:
—1 Twxy— ~r2)基于信源和信宿的擴展圖生成方法:給定信源s位置和信宿t位置和基于流量的拓撲圖G,構造新的擴展圖G’,具體方法如下:.V (G,) =V (G),E (G,)=E (G); 如果s處于圖G中某路段(x,y)之中,則在s所在位置加一個新的虛擬路口 0,HG’ )=V(G,) + {0},E(G,)=E(G’ ) + {(x, O), (O, y)}-{(x, y)},其中 “ + ” 代表集合的合并運算,代表集合的減運算,rx() = r0y = rxy ;否則,如果信源s正處于原圖G中的某一路口,這時,則直接將該路口記做為O ; 如果t處于圖G中某路段(i,j)之中,則在t所在位置加一個新的虛擬路口 D,V(G,)=V(G,) + {D},E(G’ )=E(G’ ) + {(i,D), (D,j)} - {(i,j)},令 riD = rDJ = r^.;否則,如果信宿t正處于原圖G中的某一路口,則直接將該路口記做為D ; 構造擴展圖完畢G’。3)結合擴展圖的最短路徑計算方法:根據道路拓撲圖G’和G’中每一個路段的代價,則可根據Dijkstra最短路算法計算從圖中任意路口 i到目標路口 D的最短路徑及其路徑代價CiD,i將隨數據包的逐路段轉發而變。4)結合上述路徑計算方法的數據包轉發方法:數據轉發過程包括兩階段:路段轉發階段和路口轉發階段。 在路段轉發中,對于每個持有數據包的車輛來說,如果鄰居節點中存在更接近下一跳路口的車輛,則將數據包轉發給該車輛,如果存在多個這樣的鄰居,則轉發給最靠近下一跳路口的車輛,如果不存在這樣的鄰居,該車輛則自己攜帶該數據包,直至到達下一跳路口,或直到遇到比自己更靠近下一跳路口的車輛,如果行進過程中遇到數據包的信宿,則直接將數據包轉交給信宿,路段上的中間轉發節點不允許改變數據包的下一跳路口方向。 在路口轉發中,當持有數據包m的車輛V位于路口 X時,X e V(G’),會首先確定X的鄰居路口集N(X),然后根據量化后的車流密度擴展圖G’計算每個鄰居路口 y到信宿t所在路口的最小投遞代價Cyt,其中y e N(X),隨后根據計算得到每個鄰居路口的Cyt值對N(X)集合中的路口按端到端最小投遞代價從小到大的順序進行排序,得到有序排序后的路口集合N*(x);在獲取N*(x)以后,車輛V將選擇N* (X)中最高優先級且當前路口正有車輛行駛的方向作為數據包轉發方向,將該方向上另一端路口作為數據包的下一跳路口存入數據包頭中,并將數據包發往該方向上的最接近下一跳路口的鄰居車輛。具體實例一:I)車輛密度量化參數r” Iv1, N的選擇方法示例。首先對路段長度進行歸一化,路段(X,y)的長度歸一化為Lxy=Lxy/R。如果rxy〈l/3,則認為車輛太稀疏,很難進行多跳傳輸,因此,一種可能的方式是設定r^lO, r2=20, r3=30, N=402)下面結合附圖及實例對本發明作進一步的說明。在附圖1中,左圖表示道路拓撲以及相應路段上的車流密度,為方便描述,設路段等長,且長度為I。設密度量化區間集合為{[O, 10], (10, 20], (20, 30], (30,⑴)},則可將路段車流密度量化為1、2、3、4四個等級。通過將量化值取倒數后,可計算得到路段代價如附圖1中右圖所示。假設有位于路口 X處的車輛有數據發往目標節點T,該車輛將會基于最短路徑算法計算鄰居路口 A、B、C向T投遞數據的最小估計代價。根據計算結果,路口 B具有最小代價估計,因此被選作下一跳路口。當下一跳路口選定后,路口 X處的車輛則會將數據包發送給在路段XB上行駛的車輛。當`數據包到達路口 B后,則會重復上述過程,直至數據包被最終投遞給目標節點T。
權利要求
1.一種基于車流密度的物聯網單播數據傳輸方法,其特征在于: 根據每個路段上雙向車流密度及其路段長度信息計算該路段的代價,并結合信源S位置、信宿t位置和地圖構造擴展圖;由該擴展圖得到網絡中各節點間的最短路徑;單播數據包根據所計算的路徑逐路段、逐跳端到端轉發。
2.根據權利要求1所述的傳輸方法,其特征在于: 沿最短路徑轉發數據包時,包括數據包的路段轉發階段和路口轉發階段,路段轉發中優先將數據包轉發給最短路徑中最接近下一跳路口的車輛;路口轉發中優先將到所有鄰居路口中距信宿投遞代價最小、且當前路口有車輛向該鄰居路口行使的路口作為數據包轉發的下一跳路口,一個路口距信宿的投遞代價為該路口到信宿的最小投遞代價。
3.根據權利要求1所述的傳輸方法,其特征在于其中根據每個路段上雙向車流密度及其路段長度信息計算該路段的代價包括如下步驟: 將城市路網拓撲建模成無向加權圖G(V,E),每個路口作為一個頂點,V(G)表示路口的集合,E(G)表示路段的集合,則當路口 X與路口 y為相鄰路口時,有(X,y) e E(G); 籲令rxy代表路段(X,y)上的車流密度值,Lxy代表路段(X,y)的長度,Numxy代表路段(X,y)的雙向車輛總數,有rxy=Numxy/Lxy ; 將車輛密度按照從疏到密劃分為N個等級,對應密度區間集合為{[O, rj, (r1; r2],…,(rN_2, Tn^1 ], (^1, °ο )},(Kr1Cr2〈…,00,其中=IV1-1V2,將道路上的車輛密度信息量化后并編號,記做4,當rxy e [O1T1]時,<=1;當rxy e (r1; r2]時,r: =2;…;當 rxy e (rN_1; )時計算每個路段(X,y) e E(G)的路徑代價權值W。
4.根據權利要求3所述的傳輸方法,其特征在于,所述結合信源s和信宿t位置和地圖構造道路拓撲擴展圖G’包括: V(G’)=V(G),E(G’ ) =E(G); 如果s處于圖G中某路段(x,y)之中,則在s所在位置加一個新的虛擬路口 O,HG’ )=V(G,) + {0},E(G,)=E(G’ ) + {(x, O), (O,y)} - {(x,y)},其中 “ + ” 代表集合的合并運算,代表集合的減運算,令rx() = r0y = rxy ;否則,如果信源s正處于原圖G中的某一路口,這時,則直接將該路口記做為O ; 如果t處于圖G中某路段(i,j)之中,則在t所在位置加一個新的虛擬路口 D,V(G,)=V(G’)+ {D},E(G’)=E(G’)+ {(i,D),(D,j)} - {(i,j)},令 riD = rDJ = 否則,如果信宿 t正處于原圖G中的某一路口,則直接將該路口記做為D ; 構造擴展圖G’完畢。
5.根據權利要求4所述的傳輸方法,其特征在于,所述由擴展圖得到網絡中各節點間的最短路徑包括: 根據道路拓撲擴展圖G’和G’中每一個路段的路徑代價權值,利用Dijkstra最短路算法計算從拓撲圖中從任意路口 i到目標路口 D的最短路徑及其路徑代價CiD,i將隨數據包的逐路段轉發而變。
6.根據權利要求5所述的傳輸方法,其特征在于,所述單播數據包根據所計算的路徑逐路段、逐跳端到端轉發包括路段轉發階段和路口轉發階段: 在路段轉發中,對于每個持有數據包的車輛來說,如果鄰居節點中存在更接近下一跳路口的車輛,則將數據包轉發給該車輛,如果存在多個這樣的鄰居,則轉發給最靠近下一跳路口的車輛,如果不存在這樣的鄰居,該車輛則自己攜帶該數據包,直至到達下一跳路口,或遇到比自己更靠近下一跳路口的車輛,如果行進過程中遇到信宿t,則直接將數據包轉交給信宿,路段上的中 間轉發節點不允許改變數據包的下一跳路口方向; 在路口轉發中,當持有數據包m的車輛V位于路口 X時,X e V(G’),會首先確定X的鄰居路口集N (X),然后根據車流密度量化后的擴展圖G’計算每個鄰居路口 y到信宿t所在路口的最小投遞代價Cyt,其中y e N(X),隨后根據計算得到每個鄰居路口的Cyt值對N(X)集合中的路口按端到端最小投遞代價從小到大的順序進行排序,得到有序排序后的路口集合N*(x);在獲取N*(x)以后,車輛V將選擇N* (X)中最高優先級且當前路口正有車輛行駛的方向作為數據包轉發方向,將該方向上另一端路口作為數據包的下一跳路口存入數據包頭中,并將數據包發往該方向上的最接近下一跳路口的鄰居車輛。
全文摘要
本發明屬于無線傳感網絡協議技術領域,具體涉及一種基于車流密度的物聯網單播數據傳輸方法,根據每個路段上雙向車流密度及其路段長度信息計算該路段的代價,并結合信源s位置、信宿t位置和地圖構造擴展圖;由該擴展圖得到網絡中各節點間的最短路徑;單播數據包根據所計算的路徑逐路段、逐跳端到端轉發。
文檔編號H04W40/18GK103079250SQ201210546689
公開日2013年5月1日 申請日期2012年12月16日 優先權日2012年12月16日
發明者趙壯, 賀靜, 梅武鋼, 尹崇祿 申請人:北京泛聯至誠科技有限公司