一种基于路径探索的车联网贪婪路由方法与流程

文档序号:19222096发布日期:2019-11-26 02:13阅读:467来源:国知局
一种基于路径探索的车联网贪婪路由方法与流程

本发明涉及智能交通领域,特别涉及一种基于路径探索的车联网贪婪路由方法。



背景技术:

在构建和发展新型城市需求下,智能交通系统作为智慧城市的重要项目,对城镇环境再发展、重布局提供了一定指向。智能交通系统将确定未来交通的发展趋势,它将较成熟的数据通讯传输理念、交通管理方式、无线传感器网络、车辆控制理论及新一代计算机网络技术等有效并集成应用于整个地面交通管理系统而建立的一种在大区域内、全方位发挥作用的,实时、准确、高效的综合交通运输管理系统,跨领域合作正成为整个产业的趋势。

车载自组网(vehicularad-hocnetworks,vanet)是一种新兴技术,它将新一代无线网络集成到车辆中,旨在实现车辆之间的通信,以改善道路安全和提供必要的服务。车载自组网作为一种特殊的移动自组网,在智能交通和智慧城市的发展中发挥着重要的作用。车载自组网主要包含两种类型的应用,安全预警和娱乐服务。安全预警消息,比如碰撞警告、前车变速预警等,是以广播的形式进行传播,对时延有很高的要求。而娱乐服务,比如文件共享、对特定路段的视频请求等,是通过多跳单播路由来实现的,具有一定的时延容忍特性。本发明所提出的方法是应用于车辆间娱乐服务的多跳单播路由算法。

对于目前已经提出的车联网路由算法,可以从不同的角度进行分类。根据寻址方式的不同可以将算法分为基于拓扑的路由算法,基于地理位置的路由算法和基于地图的路由算法。而在车联网多跳单播路由中,基于地理位置的路由算法,如贪婪周边无状态路由协议(greedyperimeterstatelessrouting,gpsr)等,具有路由开销小,适应性强的特点,非常适合应用于高度动态的车联网路由环境中。但基于地理位置的路由协议没有考虑城市场景的特殊性,以及道路车流量的动态性,在快速变化的车辆拓扑结构中容易将数据包转发到路由空洞的区域并产生很多冗余转发,造成较长的数据传输时延和较高的丢包率的问题。



技术实现要素:

为了解决上述现有技术中问题,本发明提出一种基于路径探索的车联网贪婪路由方法,具体包括以下步骤:

s1:车辆监听其他车辆的数据请求;将响应数据请求的车辆称为源车辆,发起数据请求的车辆称为目的车辆;

s2:当源车辆响应数据请求时,源车辆查找本地路由表中是否有到达目的车辆的路由路段序列,如果有就转至s8,否则转至s3;

s3:根据数字地图规划多条路由路径,作为备选路径;

s4:源车辆向每一条备选路径发送一个探测包;

s5:当目的车辆收到探测包,根据探测包中的数据信息计算各个路径的数据传输时延,并根据路段连通模型计算各路段的连通性;

s6:综合考虑数据传输时延和路段的连通性,选出最优路由路径,并按选择的路由路径回复源车辆一个回复包;

s7:判断源车辆在发出探测包t个时间内是否收到回复消息,如果收到就转至s8;如果没收到,则返回步骤s4;

s8:源车辆将选择的路由路径所经过的路段序列id写入数据包头部,源车辆使用贪婪算法依照路由路径将数据包转发给目的车辆。

进一步的,综合考虑数据传输时延和路段的连通性,选出路由路径包括:

其中,m(is,id)为源车辆到目的车辆备选路径集合;r为车辆备选路径集合中的最优路径;g(r)为综合考虑数据传输时延和路段的连通性的目标函数;d(r)为路径时延;pc(ei)为路径上路段的连通概率;n是路径上的路段个数。

进一步的,源车辆使用贪婪算法依照路由路径将数据包转发给目的车辆包括:

s81、制定车辆间交换的信标消息;当前车辆是否有数据包需要转发,若有则在当前车辆的邻居表中是否有目的车辆,如果有就直接将数据包发送给目的车辆;

s82、若当前车辆的邻居表中没有目的车辆,则判断当前车辆的邻居表中是否有在交叉路口的车辆,若有则进行步骤s83;否则进行步骤s84;

s83、判断当前车辆的邻居表中是否有路径中下一个路段的车辆,如果有就转发给下个路径的车辆,否则转发给交叉路口的车辆,完成数据转发;

s84、根据当前道路最高限速和转发车辆速度确定贪婪查找半径,并根据邻居表中邻居车辆的位置信息计算邻居车辆与目的车辆的距离;

s85、根据邻居车辆与目的车辆的距离升序排列,并按照该排列对邻居车辆进行筛选;

s86、在筛选过程中,若当前车辆与邻居车辆的距离小于查找半径,则向该邻居车辆发送探寻包确定该邻居车辆是否有下一跳;

s87、若该邻居车辆有下一跳,则当前车辆将数据包发送给该邻居车辆;

s88、若筛选完所有邻居车辆均未发现符合筛选条件的邻居车辆则等待t1个时刻,返回s84重新计算贪婪查找半径。

本发明对于普通的基于地理位置的路由协议中,每次转发都选择局部最优的转发车辆,可能造成路由空洞的问题,本方法提出多跳贪婪探寻机制来避免数据被转发到陷入路由空洞的车辆;另一方面对于在车联网中,因为车辆的高速移动性,在使用基于地理位置的路由协议传输数据时容易发生链路中断的问题,本方法提出可变贪婪查找半径的机制来减少链路中断情况的发生。

附图说明

图1为本发明中源车辆在发送数据包前探索路由路径并发送数据包的流程图;

图2为路段连通模型中不稳定连通示意图;

图3为路段连通模型中稳定连通示意图;

图4为确定的路由路径中某一转发车辆转发数据包的流程图;

图5为贪婪探寻转发示意图;

图6为可变贪婪查找示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提出一种基于路径探索的车联网贪婪路由方法,如图1,具体包括以下步骤:

s1:车辆监听其他车辆的数据请求;将响应数据请求的车辆称为源车辆,发起数据请求的车辆称为目的车辆;

s2:当源车辆收到数据请求响应时,源车辆查找本地路由表中是否有到达目的车辆的路由路段序列,如果有就转至s8,否则转至s3;

s3:根据数字地图规划多条路由路径,作为备选路径;

s4:源车辆向每一条备选路径发送一个探测包;

s5:当目的车辆收到探测包,根据探测包中的数据信息计算各个路径的数据传输时延,并根据路段连通模型计算各路段的连通性;

s6:综合考虑数据传输时延和路段的连通性,选出最优路由路径,并按选择的路由路径回复源车辆一个回复包;

s7:判断源车辆在发出探测包t个时间内是否收到回复消息,如果收到就转至s8;如果没收到,则返回步骤s4;优选的,t=2s;

s8:源车辆将选择的路由路径所经过的路段序列id写入数据包头部,源车辆使用贪婪算法依照路由路径将数据包转发给目的车辆。

当源车辆不能直接将数据包发送给目的车辆时,需要根据数字地图规划从源车辆到目的车辆的路由路径作为备选路径集,备选路径集包括根据数字地图找到从源车辆到目的车辆经过最少交叉路口的路径作为最短路径,以及源车辆到目的车辆的路径中交叉路口数小于等于最短路径交叉路口数两倍的路径。

在本发明中需要发送3种类型的包,包括源车辆发送给目的车辆的探测包、目的车辆收到探测包后回复源车辆的回复包以及源车辆收到回复包后发送的数据包,其中源车辆向目的车辆发送的探索包如表1所示,包括32个字节,其中第1~2个字节为探索包的类型;第3~5个字节为备选路径的数量,即源车辆发送的探索包的数量;第6~8个字节为探索包所探索的路由路径号;第9~16个字节为探索包所要经过路段的id序列,包括源车辆和目的车辆所在路段;第17~24个字节记录探索包发送时间;第25~32个字节记录探索包从源车辆到目的车辆被转发的跳数;并将目的车辆的ip地址、目的车辆的id号、源车辆的ip地址以及源车辆的id号的信息写在回复包的头部。

表1探测包的格式

其中类型表示包的类型,当类型的值为1时,表示探测包;当值为2时,表示回复包;当值为3时,表示数据包;

路径条数为记录源车辆的备选路径集中的路径条数,即根据数字地图规划路由路径数量,也是发送的探测包的数量;

路径编号为记录探索包所探索的路由路径的编号,即每一个备选路径有一个路径编号;

所要经过路段的id序列为规定路径探索包所要经过路段的id序列,包括源车辆和目的车辆所在路段;

探索包发送时间为记录探索包发送时间,以便在探索包到达目的车辆后计算路径的传输时延;

多跳转发跳数计数器为记录探索包从源车辆到目的车辆被转发的跳数。

路段连通模型将车辆在双向车道的行驶过程中的连通情况分为稳定连接和不稳定连接,若在携带数据车辆的通信范围内只有反向车道上有车辆,则为不稳定连接,否则为稳定连接;在双向车道路段中,路段连通模型将车辆在双向车道的行驶过程中的连通情况分为稳定连接和不稳定连接,下面以这两种情形分别求取路段连通概率如图2~3中,同向道路是指与但前车辆行驶方向一致的道路,即图2~3中的道路1,反向道路是指与当前车辆行驶方向不一致的道路,即图2~3中的道路2。

情形1:不稳定连通

如图2,探测包传输的方向为从i到j,车辆ni在道路1上行驶并需要传输探索包,并且在车辆ni可通信范围r内道路1上没有可进行通信的车辆,此时为不稳定连接,此时需要借助反向的道路2上的车辆(例如车辆nj)进行包的传输。

若k表示一段道路上车辆数的随机变量,k遵循泊松分布,分布律为:

其中,p(k=k)表示在r范围内有k辆车的概率,ρ(t)是时刻t路段上车辆的密度,n(t)是时刻t路段上的车辆数量,l为两个交叉路口间路段的长度。

任何两个连续车辆之间的距离服从指数分布,在道路1上车辆ni和车辆ni+1之间的距离大于车辆ni的最大通信范围r的概率为:

其中,ρ1(t)是道路1上在时刻t的车辆密度;i为道路1中车辆间距大于r的个数。

当这种情况发生,则车辆ni需要借助道路2上的车辆转发包的概率为:

其中,ρ2(t)是道路2在时刻t的车辆密度,表示向下取整,xi表示第i个在通信范围内没有同向车辆的车辆与在数据包传输方向上同它最近的同向车辆的距离。

设变量m表示道路1上断开的链路数,则具有m个断开的链路,每条断开的链路都通过道路2来连通的概率为:

其中,n1(t)表示道路1在时刻t时的车辆数,n1(t)-1为道路1上的链路数,则有m个断开链路的概率为:

在道路1上至少存在一条断开链路的情况下,路段在时刻t的连通概率,即不稳定连通的连通概率表示为:

情形2:稳定连通

如图3,在车辆的通信范围内,道路1上至少有一辆车为数据转发提供中继,即如图车辆ni+1与车辆ni+2的距离x小于车辆ni+1的可通信范围r,则为稳定连接,即稳定连通的连通概率表示为:

综上两种情形,车辆在t时刻的连通率表示为:

现在已经根据探测包得知每条路由路径的传输时延,即目的车辆通过探索包发送时间以及目的车辆接收到该探索包的时间计算获得该路径的数据传输时延,以及路段的连通性,综合路段的连通性和路由路径的传输时延这两个因素选出最优的路由路径,表示为:

其中,m(is,id)为源车辆is到目的车辆id备选路径的集合;r为车辆备选路径集合中的最优路径;g(r)为综合考虑数据传输时延和路段的连通性的目标函数;d(r)为路径时延;pc(ei)为路径上路段的连通概率;n是路径上的路段个数。

表2回复包的格式

目的车辆需要将选择的路由路径通过回复包告知源车辆,目的车辆收到探测包后回复源车辆的回复包的格式如表2所示,包括32个字节,其中第1~2个字节为探索包的类型;第3~5个字节为所选路径编号;第6~8个字节为收到路径编号;第9~16个字节为回复包所要经过路段的id序列,包括源车辆和目的车辆所在路段,在回复包中所要经过路段的id序列为选出的最优路由路径经所要经过路段的id序列;第17~24个字节记录各个路径传输时延;第25~32个字节记录回复包从目的车辆到源车辆被转发的跳数;并将目的车辆的ip地址、目的车辆的id号、源车辆的ip地址以及源车辆的id号的信息写在回复包的头部。

其中,所选路径编号是记录的是所选择路径的编号,即综合每条路由路径的传输时延以及路段的连通性选出的最优路由路径;

收到路径编号是当目的车辆准备向源车辆发送回复消息时,将收到的来自同一个源车辆的所有路径探索包编号写入该字段;

各个路径传输时延记录的是对应各个路径的传输时延,格式为(路径编号,传输时延)。

如图4,源车辆使用贪婪算法依照路由路径将数据包转发给目的车辆包括:

s81、制定车辆间交换的信标消息;当前车辆是否有数据包需要转发,若有则在当前车辆的邻居表中是否有目的车辆,如果有就直接将数据包发送给目的车辆;

s82、若当前车辆的邻居表中没有目的车辆,则判断当前车辆的邻居表中是否有在交叉路口的车辆,若有则进行步骤s83;否则进行步骤s84;

s83、判断当前车辆的邻居表中是否有路径中下一个路段的车辆,如果有就转发给下个路径的车辆,否则转发给交叉路口的车辆,完成数据转发;

s84、根据当前道路最高限速和转发车辆速度确定贪婪查找半径,并根据邻居表中邻居车辆的位置信息计算邻居车辆与目的车辆的距离;

s85、根据邻居车辆与目的车辆的距离升序排列,并按照该排列对邻居车辆进行筛选;

s86、在筛选过程中,若当前车辆与邻居车辆的距离小于查找半径,则向该邻居车辆发送探寻包确定该邻居车辆是否有下一跳;

s87、若该邻居车辆有下一跳,则当前车辆将数据包发送给该邻居车辆;

s88、若筛选完所有邻居车辆均未发现符合筛选条件的邻居车辆则等待t1个时刻,返回s84重新计算贪婪查找半径;优选的,本发明选择等待的时间为t1=1s;

其中,将车辆查找范围内的车辆称为该车辆的邻居车辆。

信标消息是在车辆之间周期性广播的消息,在本发明中,信标消息的格式如表3所示,包括车辆速度大小、车辆行驶方向、车辆所在路段的id号、车辆位于交叉路口的判断标志位以及车辆的位置坐标;并将该车辆的的ip地址以及该车辆的车辆的id号写在信标消息的头部。

表3车辆信标消息格式

其中,车辆的行驶方向表示为一个路口号对,(车辆驶离的路口号,车辆驶向的路口号);

车辆所在路段的id:可以结合车辆上的数字地图和gps定位来获得,如果车辆在交叉路口上,则车辆所在路段的id就是车辆所在交叉路口的编号;

车辆位于交叉路口的判断标志位,若位于交叉路口则该标志位置1,否则为0;当车辆在路段上行驶时,由于城市两边建筑的限制,车辆不能接收到其他路段上车辆的信标消息,当车辆接收到的信标消息中,路段id数大于等于3个时,说明车辆处在交叉路口上,将信标消息的这个字段置为1;

车辆的位置坐标根据数字地图和gps定位来获得,可以为经度纬度坐标。

如图5,在根据gpsr的贪婪路由算法,在s结点的通信范围内,因为结点c与目的结点d的距离比结点b与目的结点d距离更近,所以会选择c作为下一跳转发结点,但在c的通信范围内没有结点与d的距离比c与d的距离更近,所以gpsr协议会使用右手转发准则将数据转发给b,再由b转发,但这样增加了转发跳数和时延;所以在本发明中,结点将是否有下一跳车辆作为一个字段写进信标信息中,结点s先根据距离远近选择结点c,但通过c的信标信息知道c没有下一跳,所以查看第二近的结点b,结点b有下一跳,所以将数据发送给b。

本发明为了减小在传输数据时车辆驶离发送车辆的通信范围的概率,重新定义两车之间的通信距离,如图6,rmax是s的最大通信范围,按照贪婪算法,s要在rmax的范围内查找下一跳车辆,但本发明通过制定查找半径缩小s的查找范围,使得s不转发给e而转发给更小查找范围的b,本发明的查找半径表示为:

其中,ri为当前车辆i的贪婪查找半径;vmax为道路上车辆的最大速度;vi为当前车辆i的速度;trb为发送数据后下一跳车辆收到数据所花费的时间;mb为车辆传输的数据包的大小;rb为数据包发送速率;xb为两辆车之间数据传输时间,一般xb→0,可忽略不计。

对于普通的基于地理位置的路由协议中,每次转发都选择局部最优的转发车辆,可能造成路由空洞的问题,本方法提出多跳贪婪探寻机制来避免数据被转发到陷入路由空洞的车辆。

对于在车联网中,因为车辆的高速移动性,在使用基于地理位置的路由协议传输数据时容易发生链路中断的问题,本方法提出可变贪婪查找半径的机制来减少链路中断情况的发生。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1