专利名称:一种基于车流密度的物联网组播数据传输方法
技术领域:
本发明属于物联网通信领域,涉及一种基于车流密度的物联网组播数据传输方法,用于从运动的车辆向一组固定位置的目标节点投递数据。在该技术中提出了一种基于实时车流密度量化,并基于路网拓扑的物联网数据的组播方法。应用该技术能够以低开销实现物联网中的数据组播,同时具备较低的数据投递延时。
背景技术:
本发明涉及的物联网特指由多个具有车载短距离无线通信设备的车辆自组织形成的移动自组网。在这类物联网中,节点移动速度快,拓扑变化频繁,同时车辆运动受城市道路约束,这些特点使物联网显著区别于一般的移动无线自组网络。物联网中的数据传输可以通过无线方式多跳传输,也可以通过车辆携带方式,也可以“多跳方式”、“车辆携带”两种方式交替进行。目前物联网相关的数据组播机制,可以分作三类,分别为基于组播树、基于主干节点和无结构组播。在基于组播树的组播中,数据包需要沿着由节点组成的完整的组播树发往目标节点。这一类组播机制由于需要长期维护组播树,导致开销过大,因此不适用于拓扑高度动态的物联网。基于主干节点的组播选择网络中一部分运动或位置相对稳定的节点作为网络主干接点,形成·虚拟拓扑,在主干节点上维护网络状态信息,并管理周边非主干节点。主干节点间的组播采用基于组播树的方式。基于主干接点的组播虽然不需要再全网范围维护组播树信息,但对于快速移动的物联网,仍然需要频繁更新主干节点上维护的网络状态信息,开销仍然过大。而对于节点全移动的物联网,可能并不容易找到运动相对稳定的主干节点。无结构组播将消息的目的节点信息全部放入数据包包头中,中继节点将根据这些信息为每个消息拷贝选择合适的下一跳节点。无结构组播所需控制信息最少,但当目标组成员较多时,消息包头过长,带宽有效利用率将因此降低。
发明内容
为克服上述方案缺陷与不足,本发明涉及一种基于车流密度的物联网组播数据传输方法,结合道路拓扑与量化后的道路车流状态,以路口为单位逐跳的实现数据组播。本发明涉及的技术使用双向车流转发数据,使路段上具备短距离无线通信能力的车辆可参与该路段上任意方向的数据发送。与仅依赖单向车流的数据转发机制相比较而言,车辆间有更充分的通信机会,从而提高数据投递成功率,以及缩短数据投递延时。此外,本发明假设车辆能通过某种定位技术(如装配GPS接收设备)获取其当前位置,并能通过电子地图获取城市中的道路实时车流密度情况或最近的历史统计数据信息。每个节点具有全向通信天线,所有节点的通信半径记做R。一般来说,R的取值范围50米至200米。一种基于车流密度的物联网组播数据传输方法,根据每个路段上双向车流密度及其路段长度信息计算该路段的代价,并结合组播信源S、各组播成员位置和地图构造扩展图,由该扩展图计算网络中各节点间的最短路径,组播数据包针对网络中不同的目标节点分别根据上述路径计算结果逐路段、逐跳转发。所述的传输方法,沿最短路径转发数据包时,包括数据包的路段转发阶段和路口转发阶段,路段转发中优先将数据包转发给最短路径中最接近下一跳路口的车辆;路口转发中将针对每一目标节点的组播数据优先转发到该目标节点的所有邻居路口中路径代价最小、且当前路口有车辆向该邻居路口行使的路口 ;每个组播数据包携带该数据包希望到达的组播成员集合,该集合含一个或多个成员。在本发明中,由于仅使用路段平均车流密度进行传输代价估计,并在计算过程中进行了量化处理,因此对交通流信息的精度及实时性要求较低,减少了路由开销。另一方面,由于道路车流密度变化相对网络拓扑变化更加稳定,因此基于路口逐跳转发数据会使路由过程相对稳定。
图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和从路口 I到路口 X两个方向上的所有
车辆),有 rxy=Numxy/Lxy。假设车辆密度按照从疏到密`划分为N个等级,对应密度区间集合为{[O, rj, (r1; r2],…,(rN_2, Tn^1 ], (^1, °ο )},(Kr1Cr2〈…,00,其中
=IV1-1V2,将道路上的车辆密度信息量化后并编号,记做<.,当rxy e
时,<=2;…;当rxye (^1, °ο )时=Ν。在道路密度信息量化以后,定义
网络中的每个路段(X,y)的路径代价权值如下。2)基于信源和信宿的扩展图生成方法:给定信源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), (0,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 = ru ;否则,如果信宿t正处于原图G中的某一路口,则直接将该路口记做为D ;构造扩展图完毕G’。
3)结合扩展图的最短路径计算方法:根据道路拓扑图G’和G’中每一个路段的代价,则可根据Dijkstra最短路算法计算从图中路口 i到目标路口 D的最短路径及其路径代价估计值CiD,路径计算完毕后,即可执行数据转发。4)结合上述路径计算方法的数据包转发方法:根据数据包所处位置,数据转发过程分为两阶段:当数据包处于路段上时,为路段转发阶段;当数据包处于路口处时,为路口转发阶段。在路段转发中,对于每个持有数据包的车辆来说,如果邻居节点中存在更接近下一跳路口的车辆,则将分组转发给该车辆,如果存在多个这样的邻居,则转发给最靠近下一跳路口的车辆,如果不存在这样的邻居,该车辆则自己携带该分组,直至到达下一跳路口,或遇到比自己更靠近下一跳路口的车辆;如果行进过程中遇到一个目标组播节点,则直接将分组转交给目标组播节点,如果数据包仍存在其它目标组播节点,则继续沿该路段转发,否则停止转发;路段上的中间转发节点不允许改变分组的下一跳路口方向。在路口转发中,当持有数据包m的车辆V位于路口 X时,X e V(G’),会首先确定X的邻居路口集N(X),然后根据量化后的车流密度扩展图G’和数据包m的目标组播节点集合t(m),计算当前路口的每个邻居路口 y到每个目标组播成员t的最小投递代价值Cyt,其中,y e N(x),t e t(m);随后,对于每个组播成员t根据计算得到的每个邻居路口 y的Cyt值对N(X)集合中的各个路口按到该目标节点t的最小投递代价值从 小到大的顺序进行排序,得到排序后的路口集合,从中选择优先级最高,且正有车辆行驶的路口方向作为到t的下一跳路口,记做Next*⑴;随后,V将m的目标组播节点集t(m)依据计算得到的{Next*(t) 11 e t(m)}划分为 k 个子集 It1 (m),t2(m),...,tk(m)},对于所有的 x e t^m),
k,这些组播信宿都具有相同的下一跳路口方向,并将数据包复制k份,对第i个数据拷贝,V将其数据包头中的目标节点集合t (m)更改为对应的目标节点子集\ (m),并选择所对应的下一跳路口作为分组转发方向,将该方向上另一端路口作为分组的下一跳路口存入数据包头中,并将数据包发往该方向上的最接近下一跳路口的邻居车辆。具体实施例一:I)车辆密度量化参数r” Iv1, N的选择方法示例。首先对路段长度进行归一化,路段(X,y)的长度归一化为Lxy=Lxy/R。如果rxy〈l/3,则认为车辆太稀疏,很难进行多跳传输,因此,可设定6=1,!., —^ΙΟ,Ν=^)。2)下面结合附图对数据包转发过程中的路口转发作进一步的说明。如附图1所示,假设路段长度为单位长度,路口 X处有车辆、携带数据包m需要发往目标节点h、t2、t3,路段xy上有车辆V2行驶,路段XZ上有车辆V3行驶。使用步骤4)中所述路口转发机制,可以得知目标组节点h与t2对应下一跳路口 y,t3对应下一跳路口Z0因车辆V1将数据包复制成两份,其中一份的目标节点域更改为t2,转发在路段xy上行驶的车辆v2,另外一份则更改为t3,并转发给路段XZ上行驶的车辆v3。当这两份数据拷贝分别进入下一跳路口 I和z后,则会重复上述过程,直至被最终投递给目标组节点。
权利要求
1.一种基于车流密度的物联网组播数据传输方法,其特征在于: 根据每个路段上双向车流密度及其路段长度信息计算该路段的代价,并结合组播信源s位置、各组播成员位置和地图构造扩展图,由该扩展图计算网络中各节点间的最短路径,组播数据包针对网络中不同的组播信宿分别根据上述路径计算结果逐路段、逐跳转发,每个组播成员也称为组播信宿或目标节点。
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个等级,对应密度区间集合为{
,
4.根据权利要求3所述的传输方法,其特征在于,所述组播信源s位置、各组播成员位置和地图构造道路拓扑扩展图G’,其中各组播目标成员t,t e M,M代表组播成员集合,具体包括如下步骤:
5.根据权利要求4所述的传输方法,其特征在于,所述由该扩展图计算网络中各节点间的最短路径包括: 根据道路拓扑扩展图G’和扩展图G’中每一个路段的路径代价权值,利用Dijkstra最短路算法计算拓扑图中任意路口 i到任意组播信宿所在路口 D的最小代价路径及其路径代价CiD,i将随数据包的逐路段转发而变,组播信宿路口可以是实际路口,也可以是虚拟路□。
6.根据权利要求5所述的传输方法,其特征在于,组播数据包针对网络中不同的目标节点分别根据所述路径计算结果逐路段、逐跳转发包括路段转发阶段和路口转发阶段: 在路段转发中,对于每个持有数据包的车辆来说,如果邻居节点中存在更接近下一跳路口的车辆,则将分组转发给该车辆,如果存在多个这样的邻居,则转发给最靠近下一跳路口的车辆,如果不存在这样的邻居,该车辆则自己携带该分组,直至到达下一跳路口,或遇到比自己更靠近下一跳路口的车辆;如果行进过程中遇到一个目标组播节点,则直接将分组转交给目标组播节点,如果数据包仍存在其它目标组播节点,则继续沿该路段转发,否则停止转发;路段上的中间转发节点不允许改变分组的下一跳路口方向; 在路口转发中,当持有数据包m的车辆V位于路口 X时,X e V(G’),会首先确定X的邻居路口集N(X),然后根据车流密度量化后的扩展图G’和数据包m的目标组播节点集合t(m),计算当前路口的每个邻居路口 y到每个目标组播成员t的最小投递代价值Cyt,其中,y e N(x),t e t(m);随后,对于每个组播成员t根据计算得到的每个邻居路口 y的Cyt值对N(X)集合中的各个路口按到该目标节点t的最小投递代价值从小到大的顺序进行排序,得到排序后的路口集合,从中选择优先级最高,且正有车辆行驶的路口方向作为到t的下一跳路口,记做Next*⑴;随后,V将m的目标组播节点集t(m)依据计算得到的{Next*(t) 11 e t(m)}划分为 k 个子集 It1 (m),t2(m),...,tk(m)},对于所有的 x e t^m),k,这些组播信宿都具有相同的下一跳路口方向,并将数据包复制k份,对第i个数据拷贝,V将其数据包头中的目标节点集合t (m)更改为对应的目标节点子集\ (m),并选择所对应的下一跳路口作为分组转发方向,将该方向上另一端路口作为分组的下一跳路口存入数据包头中,并将数据包发 往该方向上的最接近下一跳路口的邻居车辆。
全文摘要
本发明属于无线传感网络协议技术领域,具体涉及一种基于车流密度的物联网组播数据传输方法,根据每个路段上双向车流密度及其路段长度信息计算该路段的代价,并结合组播信源s位置、各组播成员位置和地图构造扩展图,由该扩展图计算网络中各节点间的最短路径,组播数据包针对网络中不同的目标节点分别根据上述路径计算结果逐路段、逐跳转发。
文档编号H04W84/18GK103079249SQ201210545788
公开日2013年5月1日 申请日期2012年12月16日 优先权日2012年12月16日
发明者赵壮, 贺静, 梅武钢, 尹崇禄 申请人:北京泛联至诚科技有限公司