一种基于交叉路口的分布式城市车联网路由方法与流程

文档序号:15650472发布日期:2018-10-12 23:05阅读:216来源:国知局

本发明属于车辆自组织网络技术领域,具体涉及一种基于交叉路口的分布式城市车联网路由方法的设计。



背景技术:

现如今,汽车行业正处于第二次革命的尖峰,将向新能源化、智能化和共享化方向发展。而车联网技术对于汽车行业的发展至关重要,是新能源汽车的基础配置、无人驾驶的基础,同时能提升共享汽车业务的用户体验。

车联网(vanet)是多跳、自组织、无中心的无线分布式结构网络,是manet(移动自组织网络)的一个特例。vanet是无线自组织网络的一个重要分支,主要应用在城市道路交通中,通过网络节点的自身特性,为车辆驾驶员提供安全服务和网络接入服务。vanet网络环境中,每个车辆装配有一个无线通信设备,道路周边分布固定的无线通信设备,通过这些设备,车辆驾驶员不仅可以获取城市交通信息,还可以与其他驾驶员通信,而且可以连接internet,享受各种娱乐服务。因此vanet可以应用于驾驶导航、交通事故预警、道路信息统计等交通安全领域,同时可以为驾驶员或者乘客提供各种网络服务,通过这些应用,会有新的媒体平台和广告平台应运而生。

车与一切事物的通信(v2x)是车联网研究的重要内容之一。车辆不仅与彼此进行交互,而且还与基础设施中的其他基础设施交互,以改善交通堵塞并提高安全性。车辆自组织网络主要包括车辆与车辆、车辆与路旁设备以及车辆与行人之间的直接或多跳通信,使得在现有道路网中动态、快速构建一个自组织、分布式控制的车辆专用短距离通信网络成为现实。

作为一种特殊的自组织网络,车辆自组织网络是以移动车辆为主要节点的移动自组织网络,具有其独有的特点:

(1)网络拓扑结构变化快,路径寿命短:由于车辆节点移动速度快,同一时刻对于网络会有多个车辆的离开和加入,网络链路变化快,拓扑结构也随时变化。

(2)通信信道质量不稳定:受车辆速度,通信障碍物,道路交通情况等多种因素影响,车辆间的通信质量不稳定。

(3)节点移动具有一维性:车辆只能沿着道路单向或双向行驶,因此可以根据移行驶方向,预测车辆节点的下一位置。

(4)能量和空间不受限制:车辆可以放置大容量供电装置为设备源源不断地提供电源支持,大尺寸的天线也可以安装在车上来提高无线覆盖半径。

(5)gps、电子导航等仪器设备的支持:gps能够精确定位车辆位置,提供准确时钟信息,利于进行时钟同步,配合电子地图可以为vanet提供地图等信息,导航仪可以根据实时更新的道路交通信息制定合理行驶路线。

正是由于车联网所独有的特点,传统的移动自组织网络的路由协议不能适应车联网的动态变化,如何设计适应于车联网的高效的路由协议始终是车联网面临的一大挑战。而作为车联网研究的关键技术,路由协议对车联网性能好坏起着至关重要的作用,因此设计高效、可靠、实时的车联网路由协议具有一定的实际意义和研究价值。降低端到端的延时、提高包传输率和提高qos是设计高效路由协议的目标。

从目前的研究情况来看,车联网的主要路由方式包括:根据网络拓扑进行路由、根据车辆移动预测进行路由以及根据地理位置进行路由。

根据网络拓扑信息的路由是基于车辆与车辆彼此之间连接状态,投递报文。基于拓扑路由主要包括两种:先应式和反应式。对于先应式路由,车辆之间的连接情况一旦有变化时,所维护的路由表就需要跟着变化。对于vanet网络来说,拓扑几乎每一刻都在更新,不管是采用单播还是广播的方式来通知路由消息,势必带来太大的网络负担,甚至可能导致vanet通信严重超荷而崩溃。对于反应式路由,节点只有在需要发送消息的时候,开启发现路由模式,并且车辆单单维护从源点要目的点的路由信息,当消息投递到最终的接收点时,这些路由表也会被老化。大量的研究表明,当车辆快速移动时,这两种路由不能及时收敛,路由表中存在很多不正确的路由信息,基于网络拓扑的路由对于vanet来说性能并不乐观。

根据车辆移动预测的路由是根据当前车辆和道路的基本信息,估算出潜在的一些链路信息,在投递数据包时就可以避免选择那些即将失效的链路,提高报文的投递率。但是它的信息开销量很大,当节点高速运动时,车辆的位置以及相关数据都是瞬息万变的,车辆需要实时获取并且统计信息,并且快速计算,此解决方案不适用于道路拥堵的情况,所以移动预测路由的适用性不是很好。

根据地理位置进行路由是基于节点地理位置信息进行路由判决。每辆车辆通过配备gps,能够实时得到自己的地理位置坐标,节点不需要提前建立、存储和维护路由表,减少了很多网络开销,因此地理路由在车联网中应用最为广泛。然而车联网节点分布不均匀、运动轨迹受限等特性造成部分网络稀疏,而在稀疏的网络中很难找到下一跳中继从而造成路由性能差。



技术实现要素:

本发明的目的是为了解决城市车联网环境中的路由问题,提出了一种基于交叉路口的分布式城市车联网路由方法,旨在降低端到端的延时并提高包传输率。

本发明的技术方案为:一种基于交叉路口的分布式城市车联网路由方法,包括以下步骤:

s1、根据城市交通路段的交叉路口构建交叉路口模型。

s2、在交叉路口模型中建立车辆雾并对车辆雾进行维护。

s3、建立交叉路口的车辆雾与相邻交叉路口的多跳链路。

s4、利用交叉路口的车辆雾对相邻路段进行质量评估。

s5、根据步骤s3建立的多跳链路以及步骤s4得到的质量评估结果,为数据包路由制定路由线路并完成数据传递。

本发明的有益效果是:

(1)对基础设施的依赖性低:本发明利用等待在交叉路口的车辆形成车辆雾,以用来代替基础设施,充分利用了交叉路口等待车辆的计算、存储资源,减少了建立基础设施的开销,降低了车联网对基础设施的依赖。

(2)对动态变化的城市车联网适应性强:本发明采用了分布式的路由策略,根据目的车辆的实时位置信息和道路上的路况制定路由线路,使得数据包的传输方向能够适应目的车辆位置的动态变化和网络拓扑的动态变化。

(3)低延时性:本发明先应式地建立两个相邻交叉路口的多跳链路,并在制定路由策略时使用蚁群优化算法搜索一条低延时多跳链路。由于数据包在多跳链路上传递过程中,中继车辆节点只需转发数据包,减少了数据包的携带时间,大大降低了路由延时。

(4)高传输率:本发明在数据路由过程中采用了两种方式传递数据包:只转发过程和携带-转发过程。当交叉路口车辆雾搜索最优路由路径成功时,这时的路由路径是一条多跳链路,因而沿着路由路径传递过程中只有转发过程。当最优路由路径搜索失败时,交叉路口车辆雾利用相邻路段上的车辆以携带-转发的方式将数据包传递至下个交叉路口,两种传递方式的配合使用大大提高了数据传输率。

附图说明

图1所示为本发明实施例提供的一种基于交叉路口的分布式城市车联网路由方法流程图。

图2所示为本发明实施例提供的步骤s1的分步骤流程图。

图3所示为本发明实施例提供的交叉路口模型示意图。

图4所示为本发明实施例提供的建立车辆雾的方法流程图。

图5所示为本发明实施例提供的对车辆雾进行维护的方法流程图。

图6所示为本发明实施例提供的多跳链路构建过程流程图。

图7所示为本发明实施例提供的多跳链路返回过程流程图。

图8所示为本发明实施例提供的多跳链路存储过程流程图。

图9所示为本发明实施例提供的步骤s4的分步骤流程图。

图10所示为本发明实施例提供的路段密度三角形隶属函数示意图。

图11所示为本发明实施例提供的密度变化量三角形隶属函数示意图。

图12所示为本发明实施例提供的路段质量三角形隶属函数示意图。

图13所示为本发明实施例提供的步骤s5的分步骤流程图。

图14所示为本发明实施例提供的蚁群优化算法请求阶段流程图。

图15所示为本发明实施例提供的蚁群优化算法搜索及响应阶段流程图。

图16所示为本发明实施例提供的距离更近搜索原则示意图。

图17所示为本发明实施例提供的夹角小于搜索原则示意图。

图18所示为本发明实施例提供的蚁群优化算法选择阶段流程图。

具体实施方式

现在将参考附图来详细描述本发明的示例性实施方式。应当理解,附图中示出和描述的实施方式仅仅是示例性的,意在阐释本发明的原理和精神,而并非限制本发明的范围。

本发明实施例提供了一种基于交叉路口的分布式城市车联网路由方法,如图1所示,包括以下步骤s1-s5:

s1、根据城市交通路段的交叉路口构建交叉路口模型。

如图2所示,步骤s1包括以下分步骤s11-s13:

s11、将交叉路口的车道分为进入车道和离开车道:若车道上的车辆驶入交叉路口,则该车道为进入车道,否则该车道为离开车道。

本发明实施例中,只有进入车道上车辆的移动才会受到该交叉路口的信号灯控制。

s12、在每个进入车道上设置入界线(el)、停止线(sl)和出界线(ol)3条传感线。

其中,停止线为位于人行道前的车辆停止标志线,根据交通法规,红灯信号时车辆必须等待在停止线前;入界线设置于停止线前r米处(本发明实施例中,r介于20至50之间),出界线为进入车道和离开车道的分界线。

s13、根据入界线、停止线和出界线划分进入域和离开域,完成交叉路口模型的构建。

其中,入界线和停止线之间的区域为进入域,停止线和出界线之间的区域为离开域。

最终构建的交叉路口模型如图3所示,若车辆所在车道处于停止信号周期时,则车辆不能超过停止线并等待在进入区域内;当车辆所在车道处于通行信号周期时,则车辆进入离开区域;当车辆完全驶离了离开区域时,表示车辆完全通过了交叉路口进入了交叉路口的离开车道。

s2、在交叉路口模型中建立车辆雾并对车辆雾进行维护。

本发明实施例中,等待在交叉路口的车辆群形成车辆雾,用于存储和搜集交叉路口信息。从等待在交叉路口的车辆群中选取在交叉路口停留时间最长的车辆作为核心节点,核心节点及其所有邻居节点构成一个交叉路口车辆雾。随着信号灯周期性地变化,交叉路口的车辆来来往往,因而交叉路口车辆雾是动态更新的。每个交叉路口车辆雾核心节点在离开交叉路口前需要选取新的核心节点并将其存储的交叉路口信息转发给新的核心节点,使得交叉路口信息得以维持。若核心节点在离开交叉路口前未找到新的核心节点,随着核心节点的离开,交叉路口车辆雾将在一段时间内无法形成,直到有新的车辆到达交叉路口才重新形成交叉路口车辆雾。

其中,如图4所示,建立车辆雾的方法具体为:

a1、当有车辆进入交叉路口的进入域时,判断该车辆的邻居节点中是否存在该交叉路口的核心节点,若是则进入步骤a8,否则进入步骤a2。

a2、判断该车辆所在车道是否处于红灯信号,若是则进入步骤a3,否则无法找到核心节点,车辆雾建立结束。

a3、通过该车辆向所有邻居节点发送核心节点消息cbeacon。

a4、当交叉路口内的车辆收到核心节点消息cbeacon时,判断其是否收到多个来自不同车辆发出的核心节点消息cbeacon,若是则进入步骤a6,否则进入步骤a5。

a5、将发送核心节点消息cbeacon的车辆作为核心节点,进入步骤a8。

a6、为每个发送核心节点消息cbeacon的车辆计算核心节点候选分值,计算公式为:

其中score(i)表示车辆节点vi的核心节点候选分值,dd(vi,sl)表示车辆节点vi与停止线间的驾驶距离,vi表示车辆节点vi的行驶速度,χ表示阻塞车道和通行车道的区分系数。由于阻塞车道上的车辆分数是用其到停止线的距离来衡量的,而通行车道上的车辆是用行驶到停止线的驾驶时间来衡量的,因此很难将处于不同状态车道上的车辆分数进行比较。位于阻塞车道上的车辆比处于通行车道上的车辆在进入区域待的时间更长,因此使用χ系数以保证阻塞车道上的车辆分数比通行车道上的分数更高。

a7、选择核心节点候选分值最高的车辆作为核心节点,进入步骤a8。

由于核心节点在停留在交叉路口的期间内要完成存储交叉路口信息的搜集(包括建立与相邻交叉路口的多跳链路和对相邻路段的路况预测和评估等)、数据包的路由以及交叉路口车辆雾的维护,因此核心节点在交叉路口停留的时间越长车辆雾的性能越好。每个等待在交叉路口的车辆都是一个核心节点候选,根据车辆的位置等信息利用公式(1)为每个候选车辆计算一个分数,分数最高的车辆即为停留在交叉路口时间最长的车辆将被选为核心节点。

a8、将核心节点及其所有邻居节点构成该交叉路口的车辆雾。

核心节点选取成功后将重新获取交叉路口信息,包括建立与相邻交叉路口的多跳链路、分析预测相邻路段的交通状况,并为请求路由的数据包制定路由计划。本发明实施例中假设车辆的通信半径大于交叉路口半径,因此位于交叉路口的车辆的通信半径能够覆盖整个交叉路口。

如图5所示,对车辆雾进行维护的方法具体为:

b1、当交叉路口的核心节点进入离开域时,判断核心节点是否存在处于进入车道的邻居车辆,若是则进入步骤b2,否则无法找到核心节点继承人,核心节点离开交叉路口后,该交叉路口不能维持交叉路口信息(与邻交叉路口的多跳链路、相邻路段的交通状况等信息),维护结束。

b2、根据公式(1)计算每个处于进入车道的邻居车辆的核心节点候选分值。

b3、选择核心节点候选分值最高的邻居车辆作为核心节点继承人。

b4、向核心节点继承人转发交叉路口信息;

b5、核心节点继承人收到交叉路口信息后,成为新的核心节点,向其所有的邻居节点发送核心节点消息cbeacon,维护结束。

s3、建立交叉路口的车辆雾与相邻交叉路口的多跳链路。

本发明实施例中,每个交叉路口车辆雾核心节点需要搜索、保存到相邻交叉路口的多跳链路和该多跳链路的生命期。当多跳链路失效时,核心节点需要建立新的多跳链路。除非道路车辆密度过低使得相邻交叉路口间不存在这样的多跳链路,相邻的交叉路口间始终保持着“连接”状态。值得注意的是,若多跳链路的生命期过短,核心节点需要频繁地建立到相邻交叉路口的多跳链路。由于过于频繁地建立多跳链路会造成大量额外的开销和网络负担,因此车辆雾核心节点在每次建立多跳链路时都要选择生命期最长的多跳链路进行保存,这样能够减少多跳链路建立的次数。

步骤s3包括多跳链路的构建过程、返回过程和存储过程。

其中,如图6所示,构建过程具体为:

c1、通过交叉路口i的核心节点cni生成目标为交叉路口j的多跳链路搜索消息mlsmessage,并将cni的id加入到mlsmessage的多跳链路表中。

c2、判断cni的邻居节点中是否存在满足下一个中继节点选取原则的车辆节点,若是则进入步骤c3,否则多跳链路构建失败,构建过程结束。

下一个中继节点选取原则包括“距离更近”原则和“连接时间最长”原则,“距离更近”原则指下一个中继节点到目的交叉路口的距离比当前中继节点到目的交叉路口的距离更近;“连接时间最长”原则指在当前中继节点的所有满足“距离更近”原则的邻居节点中与当前中继节点的连接时间最长的那个节点将作为下一个中继节点。

c3、将mlsmessage消息转发给下一个中继节点。

c4、若交叉路口i和交叉路口j之间道路上的车辆节点收到mlsmessage消息,则将自己的id加入到mlsmessage的多跳链路表中。

c5、判断每个车辆节点的邻居节点中是否存在目的交叉路口j的核心节点,若是则进入步骤c8,否则进入步骤c6。

c6、判断每个车辆节点的邻居节点中是否存在满足下一个中继节点选取原则的车辆节点,若是则返回步骤c3,否则进入步骤c7。

c7、生成失败响应消息frmessage,将mlsmessage中的路由表封装在frmessage的路由表中,并将frmessage转发给路由表中的上个中继节点,构建过程结束。

c8、将mlsmessage消息转发给目的交叉路口j的核心节点。

c9、若目的交叉路口j的核心节点收到mlsmessage消息,则将自己的id加入到mlsmessage的多跳链路表中。

c10、生成成功响应消息srmessage,将mlsmessage中的路由表封装在srmessage的路由表中,并将srmessage转发给路由表中的上个中继节点,构建过程结束。

如图7所示,返回过程具体为:

d1、通过交叉路口i和交叉路口j之间道路上的车辆节点接收多跳链路构建响应消息。多跳链路构建响应消息分为失败响应消息frmessage和成功消息srmessage两种。

d2、判断该响应消息是否为成功响应消息srmessage,若是则进入步骤d3,否则进入步骤d4。

d3、将与上个转发节点间的单跳链路连接生命期记录在srmessage中,并将srmessage转发给路由表中的上个中继节点,返回过程结束。

d4、将frmessage转发给路由表中的上个中继节点,返回过程结束。

如图8所示,存储过程具体为:

e1、通过交叉路口i的核心节点cni接收多跳链路构建响应消息。

e2、判断该响应消息是否为成功响应消息srmessage,若是则进入步骤e3,否则存储过程结束。

e3、计算srmessage中保存的多跳链路的生命期。

多跳链路的生命期的计算公式为:

其中mlt(p)表示由节点v1,v2,...,vq组成的多跳链路p={l1,2,l2,3,...,lq-1,q}的生命期,lt(li,i+1)表示车辆vi、vi+1之间单跳链路li,i+1的连接生命期;

任意两个车辆vi、vj之间单跳链路li,j的连接生命期lt(li,j)为:

lt(li,j)=rt(li,j)×t(li,j)(3)

其中t(li,j)表示任意两个车辆vi、vj之间的连接时间,其计算公式为:

公式(4)中:

其中r为车辆之间的通信半径,矢量δd和δv分别表示t时刻车辆vi、vj之间的距离和速度差。

rt(li,j)表示t时刻车辆vi、vj之间的单跳通信将会在接下来的t(li,j)内连续可用的概率,其计算公式为:

公式(6)中:

其中车辆vi、vj的速度差服从高斯分布,μ为高斯分布的均值,σ为高斯分布的标准差,t表示车辆vi、vj间的连接时间,即t(li,j)。

e4、将该多跳链路及其生命期保存到本地多跳链路表中,存储过程结束。

s4、利用交叉路口的车辆雾对相邻路段进行质量评估。

本发明实施例中,每个交叉路口车辆雾核心节点根据道路上的车辆密度对相邻路段进行质量评估,路段质量为一个介于0到10之间的分值,分值越高表示路段上的车辆密度越高。本发明实施例中采用模糊逻辑来对路段质量进行粗略估计。

模糊逻辑的输入为当前路段密度和密度变化量输出为路段质量

定义路段质量的论域为[0,10],在论域上定义很低、低、一般、高、很高五个模糊子集,构成其模糊集为q={verylow,low,medium,high,veryhigh}。

定义路段密度的论域为[0,0.1],在论域上定义了低、中、高三个模糊子集构成其模糊集d={low,mediam,high}。

定义路段的密度变化量的论域为[-0.1,0.1],在论域上定义了很坏、坏、一般、好、很好五个模糊子集构成其模糊集δd={worse,bad,medium,good,verygood}。

如图9所示,步骤s4包括以下分步骤s41-s45:

s41、通过交叉路口的核心节点收集路段信息;路段信息包括当前路段车数即将离开路段的车辆数和即将进入路段的车辆数

s42、根据路段信息计算当前路段密度和密度变化量并将其作为模糊逻辑输入值。

当前路段密度的计算公式为:

其中表示当前路段的长度。

当前路段密度变化量的计算公式为:

s43、对模糊逻辑输入值进行模糊化处理,计算得到路段密度的隶属度集合μd(d)=[αlow(d),αmediam(d),αhigh(d)]和密度变化量的隶属度集合μδd(δd)=[αworse(δd),αbad(δd),αmedium(δd),αgood(δd),αverygood(δd)]。

模糊化是将模糊逻辑输入值的确定值转换为相应模糊语言变量值的过程,本发明实施例中,路段密度d和密度变化量δd的三角形隶属函数分别如图10和图11所示。

其中:

其中,d表示当前路段密度对应的输入参数值,δd表示当前路段密度变化量对应的输入参数值。

例如,对于d=0.03,δd=0.03的输入参数值,路段密度和密度变化水平的模糊化后隶属度集合分别为μd(0.03)=[0.5,0.5,0]、μδd(0.03)=[0,0,0,1,0]。

s44、根据模糊规则和“极大极小”原则对路段密度的隶属度集合μd(d)和密度变化量的隶属度集合μδd(δd)进行推理,得到路段质量的隶属度集合μq=[αverylow,αlow,αmedium,αhigh,αveryhigh]。

本发明实施例中,模糊规则如表1所示。

表1

“极大极小”原则为:

某条规则(di,δdj)->qk对其输入参数隶属度为(αi(d),αj(δd))的密度的路段质量的隶属度遵循极小原则,即:

αk=αi(d)∧αj(δd)=min{αi(d),αj(δd)}(18)

其中αi(d)表示路段密度隶属度,αj(δd)表示路段密度变化量的隶属度,αk表示路段质量的隶属度。

例如,对于表1中的规则1:(dlow,δdworse)->qverylow,若输入αlow(d)=0.5,αworse(δd)=0.3,则推理所得的路段质量的隶属度为αverylow=min{0.5,0.3}=0.3。

若存在p条输入对应的输出路段质量的模糊子集,其隶属度分别为αk(1),αk(2),...,αk(p),则路段质量隶属度遵循极大原则,即:

αk=αk(1)∨αk(2)∨...∨αk(p)=max{αk(1),αk(2),...,αk(p)}(19)

例如,若输入参数隶属集μd(d)和μδd(δd)在规则1下产生的路段质量的隶属度为αverylow(1)=0.3,在规则2下产生的路段质量的隶属度为αverylow(2)=0.2,则αverylow=max{αverylow(1),αverylow(2)}=max{0.3,0.2}=0.3。

s45、采用中心法将路段质量的隶属度集合μq转换为具体的路段质量数值。

路段质量的三角形隶属度函数如图12所示,步骤s45即是将推理所得到的路段质量的模糊值(即隶属度)转换为明确的数值。本发明实施例中,采用中心法来进行去模糊化,路段质量的输出值为路段质量隶属度集合对应图形的中心值。例如,对于推理得到的路段质量的隶属集μq=[0,0,0,0.5,0.3],其对应的路段质量图形如图12中的阴影部分,计算阴影部分的中心即可将路段质量的模糊值转换为具体的数值。

s5、根据步骤s3建立的多跳链路以及步骤s4得到的质量评估结果,为数据包路由制定路由线路并完成数据传递。

本发明实施例中,路由路线的选择依赖于交叉路口和道路质量信息,因此分布式路由决策由交叉路口车辆雾来实现。当车辆生成数据包且需要通过多跳链路才能传送到目的地时,需要借助交叉路口车辆雾进行路由决策和数据传输。车辆生成数据包后首先将其发送给某个交叉路口车辆雾核心节点,核心节点收到数据包后会根据数据包接收节点的位置信息和当前道路信息,确定数据包的传输方向和传输路径。

如图13所示,步骤s5包括以下分步骤s51-s59:

s51、通过交叉路口的核心节点接收数据包。

s52、判断该交叉路口是否为数据包的目的交叉路口,若是则进入步骤s53,否则进入步骤s54。

其中,数据包的目的交叉路口的确定方法为:

若当前时间距离上次更新目的车辆位置信息的时间未超过目的交叉路口的有效期t,则仍使用当前的目的交叉路口信息来选择路由线路,否则通过位置服务重新获取目的节点位置信息并确定新的目的交叉路口及其有效期。

在分布式路由机制中,每一次路由决策和数据传输都将使的数据包更加靠近目的节点,经过多次路由决策和传输后,数据包到达目的节点。因此,数据包路由方向和路由线路的选择应该考虑到目的节点实时位置,以保证数据包是朝着目的节点传输,从而降低路由延时和由于目的节点移动造成的数据包重传概率。记在每一次路由决策时数据包所在交叉路口为源交叉路口,源交叉路口核心节点需要使用位置服务获取目的车辆位置信息。为了减少获取目的车辆位置信息的次数,核心节点在每次获取车辆位置信息后将预测目的车辆将要到达的交叉路口并将其作为数据包的目的交叉路口id。由于目的节点的移动,目的交叉路口也会变化。因此本发明实施例中为目的交叉路口id设置一个有效期t,该有效期为目的车辆到达该目的交叉路口所需时间,其计算公式为:

其中dd(vd,id)表示目的车辆vd与交叉路口id之间的驾驶距离,表示目的车辆vd驶向交叉路口id过程中的平均速度。

s53、将数据包发送至目的车辆,路由传递结束。

s54、判断数据包中是否已有路由线路信息,若是则进入步骤s55,否则进入步骤s56。

s55、判断该交叉路口是否为数据包中路由线路的中间目的交叉路口,若是则进入步骤s56,否则进入步骤s59;中间目的交叉路口为路由路径上非目的交叉路口的终点交叉路口。

路由决策旨在选出一组起点为源交叉路口、方向朝着目的交叉路口的交叉路口序列作为路由路径。在该序列中任意两个相邻交叉路口间存在着多跳链接,因此该路由路径能够通过多跳链接的方式连接源交叉路口和路由路径上的终点交叉路口,保证了路由路径上数据传输的低延时性和高传输率。路由路径上的终点交叉路口可能不是目的交叉路口,因为大多数情况下不存在源交叉路口到目的交叉路口的多跳链路。但是,该路由路径的方向一定是朝着目的交叉路口,多次的路由决策使得数据包越来越靠近目的交叉路口直至到达目的交叉路口。最优路由路径搜索旨在找到一条低延时、高路段质量的路由路径,且该路由路径上的终点交叉路口是源交叉路口能够通过多跳链接到达的所有交叉路口中与目的交叉路口的距离最短的。记路由路径上的终点交叉路口为中间目的交叉路口iid,源交叉路口is和中间目标交叉路口iid间的路径为p={is,i1,i2,…ik,iid},路径p上的相邻交叉路口间存在着多跳链接,因而搜索路径p的过程只有转发过程没有携带过程,从而降低了搜索延迟、保证了搜索路径的可用性。

s56、采用蚁群优化算法搜索最优路由路径。

本发明实施例中,采用蚁群优化算法来用于搜索最优路径。每个交叉路口保存有与相邻交叉路口的启发函数值和信息素,以便找到最优路径。在蚁群优化算法中,每个收到蚂蚁数据包的交叉路口根据所存储的启发函数和信息素,按概率从相邻交叉路口中选择蚂蚁搜索方向,记收到蚂蚁数据包的交叉路口为搜索交叉路口。事实上,搜索交叉路口的所有相邻交叉路口方向并不都是朝着目的交叉路口的。因此,搜索交叉路口在搜索路由路径时并不像其所有相邻交叉路口转发蚂蚁数据包,以便提高搜索效率和减少搜索过程中的开销。

s57、判断最优路由路径是否搜索成功,若是则进入步骤s59,否则进入步骤s58。

s58、从满足搜索条件的相邻交叉路口中选择距离目的交叉路口最近的交叉路口作为中间目的交叉路口,并利用中间目的交叉路口间路段上的车辆作为中继,以携带-转发的方式将数据包传递至中间目的交叉路口,返回步骤s51,进入下一个交叉路口的路由。

s59、获取路由线路中的下一个交叉路口,并沿着本地多跳链路表中保存的与下一个交叉路口间的多跳链路将数据包转发给下一个交叉路口核心节点,返回步骤s51,进入下一个交叉路口的路由。

步骤s56中采用蚁群优化算法搜索最优路由路径的过程包括请求阶段、搜索及响应阶段和选择阶段。

其中,如图14所示,请求阶段具体为:

f1、通过源交叉路口核心节点接收需要制定路由线路的数据包。

f2、判断数据包的目的交叉路口是否有效,若是则进入步骤f4,否则进入步骤f3。

f3、利用位置服务获得目的车辆的位置信息,并更新目的交叉路口及目的交叉路口的有效期。

f4、生成带有目的交叉路口位置信息的搜索蚂蚁sant。

本发明实施例中,搜索蚂蚁sant的个数为nant,生命期为delayth为传输延迟门限。

f5、判断是否存在满足搜索条件的相邻交叉路口,若是则进入步骤f7,否则进入步骤f6。

f6、最优路由路径搜索失败,请求阶段结束。

f7、按照概率pi,j(t)随机选择满足搜索条件的相邻交叉路口作为下个搜索交叉路口;概率pi,j(t)的计算公式为:

其中α、β分别表示信息素因子和启发函数因子,反映了残留信息素的相对重要程度和启发函数期望值的相对重要程度。c(i)表示交叉路口i中满足搜索条件的相邻交叉路口构成的集合,τij(t)、ηij(t)分别表示t时刻交叉路口i存储的与相邻交叉路口j的信息素强度和启发式函数值,τik(t)、ηik(t)分别表示t时刻交叉路口i存储的与相邻交叉路口k的信息素强度和启发式函数值;启发函数的计算公式为:

其中q(ri,j)表示交叉路口i与相邻交叉路口j之间的路径ri,j的质量,delay(ri,j)表示路径ri,j的多跳链路传输延迟,dis(ij,id)表示相邻交叉路口j与目的交叉路口之间的距离,a、b、c分别为路段质量权重系数、路径延时权重系数以及距离权重系数。

f8、沿着本地多跳链路表中保存的与下一个搜索交叉路口间的多跳链路将数据包转发给下一个搜索交叉路口,并等待响应蚂蚁rant,请求阶段结束。

如图15所示,搜索及响应阶段具体为:

g1、通过中间目的交叉路口的核心节点接收蚂蚁数据包(搜索蚂蚁sant或响应蚂蚁rant)。

g2、判断蚂蚁数据包是否为搜索蚂蚁sant,若是则进入步骤g4,否则进入步骤g3。

g3、更新信息素和启发函数,进入步骤g7。

信息素的更新公式为:

其中τ0表示信息素的初值,ρij∈(0,1)表示信息素挥发系数;τij(t)表示t时刻信息素强度,τij(t+δt)表示(t+δt)时刻信息素强度。

启发函数的更新公式如公式(22)所示。

g4、将中间目的交叉路口的id加入到sant的路由表中。

g5、判断是否满足搜索结束条件,若是则进入步骤g6,否则进入步骤g8。

其中,搜索结束条件为:

(1)当前搜索交叉路口的相邻交叉路口中不存在满足搜索原则的交叉路口;

(2)当前搜索交叉路口不存在与满足搜索原则的相邻交叉路口间的多跳链路;

(3)到达目的交叉路口;

(4)搜索蚂蚁sant的生命期结束。

搜索原则为:

(1)距离更近:下一个搜索交叉路口到目的交叉路口的距离比当前搜索交叉路口到目的交叉路口的距离更近。若当前搜索蚂蚁到达的交叉路口为ii,其邻居节点ii+1满足dis(ii+1,id)≤dis(ii,id),则ii+1可作为下一个搜索交叉路口,如图16所示。

(2)夹角小于若不存在符合(1)的相邻交叉路口,则根据夹角来确定搜索方向,即目的交叉路口、当前搜索交叉路口和下一搜索交叉路口三点所确定的夹角不超过如图17所示。

g6、生成响应蚂蚁rant,并将搜索蚂蚁sant中的路由表封装到响应蚂蚁rant的路由表中,进入步骤g7。

g7、沿着交叉路口间的多跳链路,将响应蚂蚁rant转发给路由表中的上一个交叉路口的核心节点,返回步骤g1。

g8、按照概率pi,j(t)随机选择满足搜索条件的相邻交叉路口作为下个搜索交叉路口,进入步骤g9;概率pi,j(t)的计算公式如公式(21)所示。

g9、沿着本地多跳链路表中保存的与下一个搜索交叉路口间的多跳链路将数据包转发给下一个搜索交叉路口,返回步骤g1。

如图18所示,选择阶段具体为:

h1、通过源交叉路口的核心节点在有效时间内接收响应蚂蚁rant。

h2、计算每个响应蚂蚁rant中路由线路的目标函数;目标函数为:

其中:

f(p)为路径p的目标函数值,q(p)为路径p的路径质量,q(rs,1)为源交叉路口和第一个交叉路口之间的路段质量,q(ri,i+1)为交叉路口i与为交叉路口(i+1)之间的路段质量,q(rk,id)为第k个交叉路口和中间目的交叉路口之间的路段质量,delay(p)为路径p上的多跳链路传输延迟,delay(is,i1)为源交叉路口和第一个交叉路口之间的多跳链路传输延迟,delay(ii,ii+1)为交叉路口i与为交叉路口(i+1)之间的多跳链路传输延迟,delay(ik,iid)为第k个交叉路口和中间目的交叉路口之间的多跳链路传输延迟,k为源交叉路口和中间目的交叉路口之间的交叉路口数量,dis(iid,id)为中间目的交叉路口与目的交叉路口间的距离,delayth为传输延迟门限,a、b、c分别为路段质量权重系数、路径延时权重系数以及距离权重系数。

h3、选择目标函数最大的路由线路作为数据包路由的路由线路。

h4、将路由线路封装在待传数据包的路由表中。

h5、得到最优路由路径。

本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。

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