一种车辆自组织网络混合型路由生成算法的制作方法

文档序号:11234557阅读:700来源:国知局
一种车辆自组织网络混合型路由生成算法的制造方法与工艺

技术领域:

本发明涉及一种车辆自组织网络混合型路由搜索算法(或可称为路由算法、路由协议或路由方法),根据车辆所在的不同路况动态地调整路由策略,最大程度的增强路由效率。



背景技术:
:

普适性问题:理论上,一般vanet的应用场景可分为市区vanet和高速公路vanet,绝大部分现有路由算法只针对其中一种网络环境的vanet实施单一搜索策略。这样的做法很难兼容于动态变化的vanet。即便使用多种路由算法相互切换,现有技术也无法通过准确地感知网络环境来确定切换时机。

现有路由算法普遍默认,在固定区域内网络环境是相对稳定的。其中,市区vanet中,节点相对密集,受限于交通法规、拥堵、交通灯及城区街道等外部条件,节点移动速度较慢,移动方向选择多,外部环境较为复杂、市区内建筑物较多;高速公路vanet中,遮挡少,节点较为分散且沿高速隔离带的双方向快速移动。

但是,在实际应用中,市区vanet中车辆节点在高峰时段移动慢,在错峰时段节点移动速度却可以很快(如凌晨),但在某些天气(如雨雪)或特殊路段(如在维修的路段)等情况下,即使在凌晨时段移动速度也会很慢;高速vanet中,虽然在畅通情况下,节点移动快,但在高峰时段(节假日等)出现车辆节点多,甚至拥堵密集的情况,当然这种情况也可能发生在交通事故等情况出现时。另外,随着一台车辆的行驶,途径的vanet的网络拓扑和物理环境变化速度快且复杂,如车辆从北京北三环公路科学院行驶到北苑会途径市区高速及郊区等多种区域。

另外,公知技术cn104135436a中,提出了一种车辆自组织网络路由选择方法,其特征在于:若源车辆需转发数据包至目的车辆,则源车辆发送路由请求消息至路由管理中心,路由管理中心根据车辆及网络状态信息为源车辆确定候选路由集合,并计算各候选路由的数据传输时间,进而选择总传输时延最短路径作为目标路由;其中,源车辆发送的路由请求消息包括源车辆及目的车辆的车辆标识、源车辆的位置及移动方向、源车辆拟传输数据包的长度信息等。其缺点在于需要向管理中心发送消息,浪费传输时间,此外,没有针对不同的vant环境切换路由算法,缺少适应性。



技术实现要素:

为了克服现有技术上的缺陷,本发明提供一种针对不同路况实时调整搜索策略的混合型车辆自组织网络路由搜索算法。

确立搜索策略切换时机,绝大多数路由算法使用单一的搜索策略,为特定的地理区域所服务,例如市区或高速公路。但是,实际情况中,地理位置仅是网络环境动态变化的影响要素之一。因此,改进的路由算法中,各搜索策略不应局限仅为莫中特定的地理区域而服务,而需要根据节点密度、节点移动速度(或可视为节点间的连结性)等因素来搜索策略。这样就需要对策略的切换时间进行研究,在搜索策略实施过程中对节点网络环境进行实时评估,以便动态调整路由搜索策略。

为了实现上述目的,提出了一种针对不同路况实时调整搜索策略的混合型车辆自组织网络路由搜索算法,主要分为两个步骤:1、探索期贪婪转发策略2、稳定期局部快传和记忆转发策略;节点之间进行消息转发时首先会进入探索期进行贪婪转发;利用特殊的贪婪度量进行贪婪转发。源节点需要向目的节点转发数据包时,当前节点(从源节点开始)在选取下一跳的过程中需要利用贪婪转发找到自己的下一跳。其中特殊的贪婪度量利用车辆的行驶速度v、当前加速度a、车辆行驶方向d1d2(当前节点和可能作为下一跳的节点的行驶方向)、两车之间的行驶距离d、辆车的相对速度v等进行拟合。等到公式k=vadvd1d2(仅为示例)满足公式k的节点可以作为下一跳,如果满足公式的节点过多则选取最优解作为下一跳。然后此下一跳节点作为新节点用公式k进行贪婪转发,直到数据包能够从源节点转发到目的节点。每个节点再选取下一跳完成后记录自己的下一跳节点用作记忆转发使用。

当进行贪婪转发的过程中,同时源节点s使用泛洪rreq的方式对稳定路由端进行搜索,用于查找包含一致向d行驶的车辆节点的路由段(以下简成为局部稳定路由段)。稳定路由段包含3个或3个几点且能节点间链路可维持一段时间。在目的节点d处对所有路由段进行打分。如公式(1)所示,tdrtotal表示一路由段的总质量,tdri表示路由中相邻两点间链路的路由度量值,t表示链路的可维持时间。假设车辆节点上有可用的导航仪和导航信息,通过对比未来形势路线的相似性,来预估链路可维持的时间t。

由于使用rrep回传的方法无法适应动态变化的vanet,我们将最终的稳定路由段通过lsp(locationserviceprovider)回传到数据包到s。此处公式(2)用于衡量公式(1)中所使用的传输代价p,p表示着潜在的路由中每条链路的时间维持tn是否满足使用需求,也就是说当一个路由段的某条链路的维持时间大于我们预设的路由段期望维持时间时,此路由段将被视为不可用。tlsp表示通过lsp传回s所需的时间,w是表示局部快传中传输最短时长的可调参数,也就是局部快传策略维持的时间。这里我们通过导航仪获取车辆行驶路径,得到每一对相邻车辆节点间链路可维持的时间tn。最后,以tdr为代价,使用dijkstra算法计算,找到稳定路由段。在稳定路由段存在时间段内进行局部快传转发。

当使用局部快传策略无法找到包括大于等于三个节点的稳定路由段时,本路由算法将自动转为使用记忆转发策略。这个策略的使用需要局部快传或普通转发策略的配合,在执行局部快传或普通转发策略的过程中,每一个节点c转发时,该节点需记录其下一跳节点m及路由度量值val。数据每到达一个节点,首先,判断c是否曾作为中间节点m为源节点s和目的节点d进行过数据包的转发。如存在此种(c,m,s,d)关系,则通过计算m相应的路由度量值val’。当val’≦val时,则继续选取m作为下一跳节点,否则执行贪婪转发。此种做法的一个好处是省去了贪婪转发过程中,与所有邻居节点间交换路由信息的时间,降低延迟。

本发明的有益效果为:

作为多学科交叉的研究,采用机器学习算法对路由算法进行优化是一个新兴的研究方向。目前,国内外针对此方面的研究还处于起步阶段。本专利重点公开了具有普适性的混合型路由算法,其创新之处是:现有路由算法仅适用于特殊的网络环境,实施某种固定的搜索策略,无法高效地适应动态变化的vanet。相比之下,本专利提出一种混合式路由算法,设计三种适用于不同网络环境的路由搜索策略,以实际应用角度出发,实现通过评估网络环境来动态调整搜索策略,在提高算法普适性的基础上,满足vanet在真实应用中的可靠传输需求。

一种车辆自组织网络混合型路由生成算法,使得各搜索策略不局限仅为莫中特定的地理区域而服务,而是根据节点密度、节点移动速度(或可视为节点间的连结性)等因素来搜索策略。

能够根据车辆所在的不同路况(节点密度高、节点移动快的vanet,例如城区交通路况;节点密度低、节点移动快的vanet,例如高速公路交通路况;节点密度低、节点移动慢的vanet,例如市区交通路况)使用不同的路由搜索策略(包括普通转发、局部快传、记忆转发)动态地调整路由策略,最大程度的增强路由效率。

附图说明

图1是本发明的整体流程图;

图2是实施例2中所述节点通过贪婪协议寻找最优下一跳的实例示意图;

图3是实施例3中探索初期实例示意图;

首先贪婪转发进行数据包的转发,与此同时通过发送rreq包进行探索获得稳定路由段。

图4是实施例4中局部快传实例示意图;

节点s利用稳定路由段node_1->node_6->node_7->node_8进行转发过程。从稳定路由段转发结束后进行贪婪转发或记忆转发(此处图中只出示了贪婪转发);

图5是路由维护实例,当稳定路由段某个节点失效之后直接进行贪婪转发或记忆转发(此处图中只出示了贪婪转发),节点s利用稳定路由node_1->node_6->node_7进行转发过程,节点node_8失效通过贪婪转发或记忆转发(此处图中只出示了贪婪转发)寻找到node_12继续进行转发;

图6是记忆转发实例,通过上次贪婪转发的记录,节点记录了自己的下一跳节点,并且本次转发时,上一次的下一跳节点存在且满足继续成为下一跳的条件,部分节点进行记忆转发,node_s->node_1、node_3->node_4进行记忆转发。

具体实施方式

下面将参考附图来描述本发明的优选实施例

实施例1

如图1所示为本发明示例性实施方案的系统流程图;本路由协议开始使用时,首先进入100阶段,判断本次数据包是否转发完成,如果本次转发完成则进入170阶段,判断所有数据包是否转发完成,如果全部完成,通信完成,协议使用结束,如果在100阶段本次数据包未转发完成,则进入110阶段。

在110阶段进行判定,是否存在稳定路由段,如果存在稳定路由段,则进入120阶段,执行局部快传进行数据包的转发。待局部快传阶段完成则回到100阶段,继续判断本次数据包是否完成,如果本次数据包转发完成,则进行下一次的数据包转发。如果本次数据包尚未转发完成,则从100阶段进入110阶段,判定是否存在稳定路由段,如果存在则重复以上动作,如果不存在则进入130阶段。同时,进入160阶段,通过泛洪rreq得到稳定路由段,待此动作完成后回到100阶段,根据100阶段的指示,完成之后所有动作。

在130阶段进行判定,是否存有介意转发节点,如果存有记忆转发节点则进入140阶段,进行记忆转发。待记忆转发阶段完成后,进入110阶段,通过110阶段进行判定,根据结果执行110阶段需要完成的动作。如果不存在记忆转发节点,则进入150阶段,进行贪婪转发并记录下一跳节点(用于下次记忆转发使用),完成动作后回到110阶段,通过110阶段的指示,完成之后进行的所有动作。

实施例2

如图2所示是节点通过贪婪转发寻找最优的下一跳的实例。当源节点s需要使用贪婪转发方式向d发送数据包时,由于s到d的距离大于s传输距离所以只能从s的传输范围内选取一个节点当做下一跳,假设范围内只有三个节点(a、b、c且节点上方的方向为当前节点的运动方向),每个节点拥有速度、方向、与上一节点的距离等特征,通过对各种特征综合整理评估。从图2中明显的可以看出a节点最适合作为本次贪婪转发的下一跳节点。

实施例3

首先直接执行普通转发策略进行数据传输,并在贪婪转发的每一次转发过程中都需要记录自己的下一跳节点,用作记忆转发使用。与此同时,源节点s使用洪泛rreq的方式对稳定路由段进行搜索。如图3所示,s首先使用贪婪转发方式(仅在没有合适邻居节点时执行存储转发)向d发送数据包,并记录沿途的下一跳转发节点数据;同时,s发出洪泛rreq请求,用于查找包含一致向d行驶的车辆节点的路由段(稳定路由段)。

实施例4

图4是局部快传实例实例示意图。当合适的稳定路由段回传到s后,s将以路由段的进入点node_6为目的节点执行贪婪转发(或记忆转发),当数据进入node_1时,将使用稳定路由段node_1->node_6->node_7->node_8进行转发;当数据到达稳定路由段出口node_8时,再将数据以贪婪转发(或记忆转发图中仅示例贪婪转发)找到贪婪路径node_8->node_4->node_d,最终将数据包转发至目的节点d。

实施例5

图5是稳定路由段维护实例示意图;在稳定路由段node_1->node_6->node_7->node_8进行转发的过程中,当node_7->node_8断开时,node_1->node_6->node_7部分仍执行局部快传,而node_7出口处直接执行贪婪转发,找到最优下一跳node_12,执行node_7->node_12,同理node_12通过贪婪转发依次寻找找到贪婪路径node_12->node_4->node_d,最终将数据包转发至目的节点d。

实施例6

图6是记忆转发实例示意图;通过实施例3贪婪转发的记录,节点记录了自己的下一跳节点,并且本次转发时,上一次的下一跳节点存在且满足继续成为下一跳的条件,部分节点进行记忆转发,node_s->node_1进行记忆转发,node_1不存在记忆转发节点,执行贪婪转发找到最优下一跳node_6,执行node_1->node_6,node_6不存在记忆转发节点,执行贪婪转发找到最优下一跳node_3,执行node_7->node_3,node_3存在记忆转发,执行node_3->node_4,node_4不存在记忆转发节点,执行贪婪转发找到最优下一跳node_9,执行node_4->node_9,最终node_9通过贪婪转发寻找到目的节点直接将数据包转发至目的节点d,node_9->node_d。

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