一种基于分布式动态路网的路径规划方法及系统的制作方法
【专利摘要】本发明提供一种基于分布式动态路网的路径规划方法及系统。所述基于分布式动态路网的路径规划方法包括:各个路口的监控节点建立邻居表;所述监控节点分别采集路口的车辆相关信息,确定所述两个邻接路口对应的监控节点间的数据包延时时间;监控节点分别建立所述监控节点的本地路由表;接收路径查询请求,生成查询消息,向邻接的监控节点发送所述查询消息;接收到所述查询消息的监控节点如果在本地路由表中存在到达路径目的监控节点的最短路径树,则根据所述查询消息中的信息以及所述最短路径树生成查询结果消息;将所述查询结果消息发送给所述路径起始监控节点。本发明在保证查询结果正确性的同时减少了查询时间和分布式网络中数据包转发的压力。
【专利说明】
一种基于分布式动态路网的路径规划方法及系统
技术领域
[0001]本发明涉及一种城市交通领域,特别是涉及一种基于分布式动态路网的路径规划方法及系统。
【背景技术】
[0002]随着城市路网系统的日益庞大,道路拥挤、事故多发已经成为了城市交通普遍存在的问题。目前,智能交通系统中对车辆诱导的主要方法是将大量的路网数据汇聚到数据中心对路径规划请求进行集中处理。一般以路段的几何距离、道路质量等静态的信息作为路阻来规划车辆的行驶路线。对于大规模的动态路网,路段的状况随时间变化较大,所以传统的静态网络中查询得到的结果往往与实际情况将存在着很大的误差。对于大规模动态路网的路径规划问题,国内外也有着众多的解决方法。通常做法一般是统计大量的历史数据进行预处理来预测出未来最近可能出现的路况,从而实现路网的动态性。或者是将路网进行分割,将中心服务器的压力分解到分割后的各个子路网中形成一种伪分布的路网,进而减少路网数据动态更新在中心服务器上的压力和开销。而这些方式的效率在某种程度上还是相对较低,在实际工程中的应用受到很大的影响。
[0003]鉴于此,如何找到更好的通过路网信息获取最优的交通路径的方案以向道路中的行驶车辆提供及时准确的引导就成了本领域技术人员亟待解决的问题。
【发明内容】
[0004]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于分布式动态路网的路径规划方法及系统,用于解决现有技术中大规模的动态路网的处理效率较低,不能及时获取最优的交通路径的问题。
[0005]为实现上述目的及其他相关目的,本发明提供一种基于分布式动态路网的路径规划方法,所述基于分布式动态路网的路径规划方法包括:各个路口的监控节点建立邻居表,邻居表中存储与所述监控节点邻接的监控节点信息,所述邻接的监控节点与所述监控节点对应的路口彼此相邻接;所述监控节点分别采集路口的车辆相关信息,确定所述路口与所邻接路口间的通行时间并将所述通行时间存储到所述路口的监控节点中;将任一两个邻接路口间的所述通行时间按照预设策略转换成所述两个邻接路口对应的监控节点间的数据包延时时间;监控节点分别建立所述监控节点的本地路由表,所述本地路由表包括从所述监控节点到达邻接的监控节点的最短路径树,所述监控节点到达邻接的监控节点的最短路径的权值为所述监控节点间的数据包延时时间;接收路径查询请求,确定路径查询请求中的路径起始监控节点以及路径目的监控节点;所述路径起始监控节点在本地路由表中查询是否存在到达路径目的监控节点的最短路径树,如果不存在,所述路径起始监控节点生成查询消息,所述查询消息包括路径查询请求中的路径起始监控节点信息以及路径目的监控节点信息,并根据所述路径起始监控节点的邻接表向邻接的监控节点发送所述查询消息;接收到所述查询消息的监控节点在本地路由表中查询是否存在到达路径目的监控节点的最短路径树,如果接收到所述查询消息的监控节点在本地路由表中存在到达路径目的监控节点的最短路径树,则根据所述查询消息中的信息以及所述最短路径树生成查询结果消息,所述查询结果消息包括路径起始监控节点到路径目的监控节点的最短路径树;将所述查询结果消息发送给所述路径起始监控节点。
[0006]可选地,如果述路径起始监控节点在本地路由表中存在到达路径目的监控节点的最短路径树,则直接返回此最短路径树作为最优查询路径。
[0007]可选地,如果接收到所述查询消息的监控节点在本地路由表中不存在到达路径目的监控节点的最短路径树,则将所述监控节点信息加入到所述查询消息的查询路径中,跟据所述监控节点的邻接表向邻接的监控节点发送所述查询消息;当得到查询结果消息时,将所述查询结果消息根据所述查询消息的查询路径的顺序发送给当前监控节点的上一监控节点。
[0008]可选地,根据路径查询请求中的路径起始监控节点以及路径目的监控节点确定查询的地理位置范围,将根据所述路径查询请求生成的查询消息的接收监控节点限制在所述查询的地理位置范围内。
[0009 ]可选地,所述查询的地理位置范围包括根据路径查询请求中的路径起始监控节点以及路径目的监控节点生成的椭圆形状限制的地理位置范围。
[0010]可选地,监控节点生成查询消息时,或者收到查询消息且所述查询消息为第一次收到时,将所述查询消息加入到所述监控节点的本地消息查询表中;当收到查询结果消息时,在所述本地消息查询表中查找是否存在所述查询结果消息对应的查询消息,当所述本地消息查询表中存在所述查询结果消息对应的查询消息时,分别计算查询结果消息中的最短路径树的权值以及查询花费时间,当所述查询花费时间大于或等于所述查询结果消息中的最短路径树的权值时,提取所述最短路径树为最优查询结果,删除所述本地消息查询表中的查询结果消息对应的查询消息;将所述最优查询结果记录到所述监控节点的路由表中。
[0011 ]可选地,当所述查询花费时间小于所述查询结果消息中的最短路径树的权值时,计算所述查询结果消息中的最短路径树的权值与所述查询花费时间的时间差,等待所述时间差后,在所述本地消息查询表中查找是否存在所述查询结果消息对应的查询消息,当所述本地消息查询表中存在所述查询结果消息对应的查询消息时,提取所述最短路径树为最优查询结果,删除所述本地消息查询表中的查询结果消息对应的查询消息;将所述最优查询结果记录到所述监控节点的路由表中。
[0012]可选地,所述查询消息中包括GUID信息。
[0013]可选地,所述监控节点定时采集路口的车辆相关信息,重新计算任意两个邻接路口对应的监控节点间的数据包延时时间,当所述数据包延时时间超过预设延时阈值时,更新相关监控节点的路由表。
[0014]本发明提供一种基于分布式动态路网的路径规划系统,所述基于分布式动态路网的路径规划系统包括:监控节点基本信息生成模块,用于在各个路口的监控节点建立邻居表,邻居表中存储与所述监控节点邻接的监控节点信息,所述邻接的监控节点与所述监控节点对应的路口彼此相邻接;所述监控节点分别采集路口的车辆相关信息,确定所述路口与所邻接路口间的通行时间并将所述通行时间存储到所述路口的监控节点中;将任一两个邻接路口间的所述通行时间按照预设策略转换成所述两个邻接路口对应的监控节点间的数据包延时时间;监控节点分别建立所述监控节点的本地路由表,所述本地路由表包括从所述监控节点到达邻接的监控节点的最短路径树,所述监控节点到达邻接的监控节点的最短路径的权值为所述监控节点间的数据包延时时间;监控节点查询请求处理模块,用于接收路径查询请求,确定路径查询请求中的路径起始监控节点以及路径目的监控节点;所述路径起始监控节点在本地路由表中查询是否存在到达路径目的监控节点的最短路径树,如果不存在,所述路径起始监控节点生成查询消息,所述查询消息包括路径查询请求中的路径起始监控节点信息以及路径目的监控节点信息,并根据所述路径起始监控节点的邻接表向邻接的监控节点发送所述查询消息;监控节点查询消息处理模块,用于接收到所述查询消息的监控节点在本地路由表中查询是否存在到达路径目的监控节点的最短路径树,如果接收到所述查询消息的监控节点在本地路由表中存在到达路径目的监控节点的最短路径树,则根据所述查询消息中的信息以及所述最短路径树生成查询结果消息,所述查询结果消息包括路径起始监控节点到路径目的监控节点的最短路径树;将所述查询结果消息发送给所述路径起始监控节点。
[0015]可选地,所述监控节点查询请求处理模块还用于:如果述路径起始监控节点在本地路由表中存在到达路径目的监控节点的最短路径树,则直接返回此最短路径树作为最优查询路径。
[0016]可选地,所述监控节点查询消息处理模块还用于:如果接收到所述查询消息的监控节点在本地路由表中不存在到达路径目的监控节点的最短路径树,则将所述监控节点信息加入到所述查询消息的查询路径中,跟据所述监控节点的邻接表向邻接的监控节点发送所述查询消息;当得到查询结果消息时,将所述查询结果消息根据所述查询消息的查询路径的顺序发送给当前监控节点的上一监控节点。
[0017]可选地,所述监控节点查询消息处理模块还用于:根据路径查询请求中的路径起始监控节点以及路径目的监控节点确定查询的地理位置范围,将根据所述路径查询请求生成的查询消息的接收监控节点限制在所述查询的地理位置范围内。
[00?8]可选地,所述查询的地理位置范围包括根据路径查询请求中的路径起始监控节点以及路径目的监控节点生成的椭圆形状限制的地理位置范围。
[0019]可选地,所述基于分布式动态路网的路径规划系统还包括监控节点查询结果处理模块,所述监控节点查询请求处理模块还用于监控节点生成查询消息时,将所述查询消息加入到所述监控节点的本地消息查询表中;所述监控节点查询消息处理模块还用于监控节点收到查询消息且所述查询消息为第一次收到时,将所述查询消息加入到所述监控节点的本地消息查询表中;所述监控节点查询结果处理模块用于当收到查询结果消息时,在所述本地消息查询表中查找是否存在所述查询结果消息对应的查询消息,当所述本地消息查询表中存在所述查询结果消息对应的查询消息时,分别计算查询结果消息中的最短路径树的权值以及查询花费时间,当所述查询花费时间大于或等于所述查询结果消息中的最短路径树的权值时,提取所述最短路径树为最优查询结果,删除所述本地消息查询表中的查询结果消息对应的查询消息;将所述最优查询结果记录到所述监控节点的路由表中。
[0020]可选地,所述监控节点查询结果处理模块还用于:当所述查询花费时间小于所述查询结果消息中的最短路径树的权值时,计算所述查询结果消息中的最短路径树的权值与所述查询花费时间的时间差,等待所述时间差后,在所述本地消息查询表中查找是否存在所述查询结果消息对应的查询消息,当所述本地消息查询表中存在所述查询结果消息对应的查询消息时,提取所述最短路径树为最优查询结果,删除所述本地消息查询表中的查询结果消息对应的查询消息;将所述最优查询结果记录到所述监控节点的路由表中。
[0021 ] 可选地,所述查询消息中包括GUID信息。
[0022]可选地,所述监控节点基本信息生成模块还用于:所述监控节点定时采集路口的车辆相关信息,重新计算任意两个邻接路口对应的监控节点间的数据包延时时间,当所述数据包延时时间超过预设延时阈值时,更新相关监控节点的路由表。
[0023 ]可选地,所述监控节点包括智能摄像头。
[0024]如上所述,本发明的一种基于分布式动态路网的路径规划方法及系统,具有以下有益效果:在保证查询结果正确性的同时减少了查询时间和分布式网络中数据包转发的压力,使得改进后的路径规划算法更加适用于大规模的动态网络。本发明通过在原有的延时路由算法上加入了类似于网络路由器的缓存机制(本地路由表),提高算法效率。同时,还根据路网的动态性提出了路由动态更新算法;以及使用了椭圆模型限制优化路径查询过程。
【附图说明】
[0025]图1显示为本发明的基于分布式动态路网的路径规划方法的一实施例的流程示意图。
[0026]图2显示为本发明的基于分布式动态路网的路径规划方法的一实施例的监控节点分布示意图。
[0027]图3显示为本发明的基于分布式动态路网的路径规划方法的一实施例的监控节点动态路网示意图。
[0028]图4显示为本发明的基于分布式动态路网的路径规划方法的一实施例的查询请求处理流程示意图。
[0029]图5显示为本发明的基于分布式动态路网的路径规划方法的一实施例的监控节点处理流程示意图。
[0030]图6显示为本发明的基于分布式动态路网的路径规划系统的一实施例的模块示意图。
[0031]元件标号说明
[0032]I基于分布式动态路网的路径规划系统
[0033]11 监控节点基本信息生成模块
[0034]12 监控节点查询请求处理模块
[0035]13 监控节点查询消息处理模块
[0036]SI ?S3 步骤
【具体实施方式】
[0037]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
[0038]需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0039]本发明提供一种基于分布式动态路网的路径规划方法。在一个实施例中,如图1所示,所述基于分布式动态路网的路径规划方法包括:
[0040]步骤SI,各个路口的监控节点建立邻居表,邻居表中存储与所述监控节点邻接的监控节点信息,所述邻接的监控节点与所述监控节点对应的路口彼此相邻接;所述监控节点分别采集路口的车辆相关信息,确定所述路口与所邻接路口间的通行时间并将所述通行时间存储到所述路口的监控节点中;将任一两个邻接路口间的所述通行时间按照预设策略转换成所述两个邻接路口对应的监控节点间的数据包延时时间;监控节点分别建立所述监控节点的本地路由表,所述本地路由表包括从所述监控节点到达邻接的监控节点的最短路径树,所述监控节点到达邻接的监控节点的最短路径的权值为所述监控节点间的数据包延时时间。在一个实施例中,如图2所示,所述监控节点包括智能摄像头,所述监控节点分布在路口。通过如图2的智能摄像头网络周期性采集路口的车辆数据,并通过网络中邻居节点间的数据协同对路段构建出实时的交通流模型。根据交通流模型提供的数据,将路口间也就是路段的通行时间实时动态地存储在摄像头节点上。根据路口间的车辆实时通行时间,并将其按照一定比例转换成延时路由算法中数据包的延时时间。例如:在图3的路网中,通过邻接路口的监控节点采集得到了相应的路段通行时间如A到C在当前路况下的实际行驶时间为I分钟,然后通过简单的线性转换,可以得到A到C在模拟路网中的延时时间为10ms。从而构建成如图3的分布式监控节点动态路网。为了提高查询速度,所述延时时间通常为毫秒为单位。
[0041 ] 步骤S2,接收路径查询请求,确定路径查询请求中的路径起始监控节点以及路径目的监控节点;所述路径起始监控节点在本地路由表中查询是否存在到达路径目的监控节点的最短路径树,如果不存在,所述路径起始监控节点生成查询消息,所述查询消息包括路径查询请求中的路径起始监控节点信息以及路径目的监控节点信息,并根据所述路径起始监控节点的邻接表向邻接的监控节点发送所述查询消息。在一个实施例中,如图4所示,在收到查询请求后,路径源节点(路径起始监控节点)会先在本地路由表中查询是否存在到达目的节点的最短路径树。若存在则直接返回此最短路径树作为最优查询路径。若无则生成查询消息,并通过邻居表(也称邻接表)中的记录发送到相邻的节点。若起始节点(路径起始监控节点)收到回应消息(查询结果消息),则提取消息中的最优路径并缓存在本地路由表中。
[0042]步骤S3,接收到所述查询消息的监控节点在本地路由表中查询是否存在到达路径目的监控节点的最短路径树,如果接收到所述查询消息的监控节点在本地路由表中存在到达路径目的监控节点的最短路径树,则根据所述查询消息中的信息以及所述最短路径树生成查询结果消息,所述查询结果消息包括路径起始监控节点到路径目的监控节点的最短路径树;将所述查询结果消息发送给所述路径起始监控节点。如果述路径起始监控节点在本地路由表中存在到达路径目的监控节点的最短路径树,则直接返回此最短路径树作为最优查询路径。如果接收到所述查询消息的监控节点在本地路由表中不存在到达路径目的监控节点的最短路径树,则将所述监控节点信息加入到所述查询消息的查询路径中,跟据所述监控节点的邻接表向邻接的监控节点发送所述查询消息;当得到查询结果消息时,将所述查询结果消息根据所述查询消息的查询路径的顺序发送给当前监控节点的上一监控节点。在一个实施例中,如图5所示,邻居节点(监控节点)收到查询消息后,会先判断收到的消息的类型:如果是查询消息则再进一步判断该消息是否在查询消息表中有记录。若有,则直接丢弃该消息,否则判断该消息的目的节点是否是自身。若是则生成回应消息(查询结果消息)并根据该消息经过的路径返回上一跳节点,否则再判断自身路由表中是否存在到达目的节点的最短路径树,若不存在则继续广播该查询消息到邻居节点;如果是回应消息则提取消息中的最短路径树存入路由表,并继续向源节点(路径起始监控节点)的方向发送回应消息。由于采用了本地路由表来缓存到达路径目的监控节点(目的节点)的最短路径树,路径起始监控节点(源节点)最终受到的响应数据包(查询结果消息)有三种:I,源节点在本地路由表中直接找到最短路径树;2)源节点收到多条回应消息包括由实际查询路线和某个节点提供的最短路径树组成的结果;3)完全是由实际查询结果提供的结果,即不包括最短路径树的结果。
[0043]在一个实施例中,根据路径查询请求中的路径起始监控节点以及路径目的监控节点确定查询的地理位置范围,将根据所述路径查询请求生成的查询消息的接收监控节点限制在所述查询的地理位置范围内。具体地,所述查询的地理位置范围包括根据路径查询请求中的路径起始监控节点以及路径目的监控节点生成的椭圆形状限制的地理位置范围。在一个实施例中,对查询进行了进一步的优化。主要采用的方式是加入了椭圆限制,对每个节点在查询时广播的范围做了椭圆形状的限制。椭圆范围的确定主要是根据城市路网上大量路口间最优路径数据,对数据进行统计分析得到对应于该路网椭圆系数,从而建立椭圆模型。
[0044]在一个实施例中,监控节点生成查询消息时,或者收到查询消息且所述查询消息为第一次收到时,将所述查询消息加入到所述监控节点的本地消息查询表中;当收到查询结果消息时,在所述本地消息查询表中查找是否存在所述查询结果消息对应的查询消息,当所述本地消息查询表中存在所述查询结果消息对应的查询消息时,分别计算查询结果消息中的最短路径树的权值以及查询花费时间,当所述查询花费时间大于或等于所述查询结果消息中的最短路径树的权值时,提取所述最短路径树为最优查询结果,删除所述本地消息查询表中的查询结果消息对应的查询消息;将所述最优查询结果记录到所述监控节点的路由表中。当所述查询花费时间小于所述查询结果消息中的最短路径树的权值时,计算所述查询结果消息中的最短路径树的权值与所述查询花费时间的时间差,等待所述时间差后,在所述本地消息查询表中查找是否存在所述查询结果消息对应的查询消息,当所述本地消息查询表中存在所述查询结果消息对应的查询消息时,提取所述最短路径树为最优查询结果,删除所述本地消息查询表中的查询结果消息对应的查询消息;将所述最优查询结果记录到所述监控节点的路由表中。在一个实施例中,所述查询消息中包括GUID信息。本地消息查询表中记录有所述GUID信息,根据所述查询消息的GUID信息查询确认是否在本地消息查询表中存在所述查询消息。在一个实施例中,监控节点处理查询结果消息的方式包括:监控节点在收到回应数据包(查询结果消息)后提取出每个数据包的最短路径树并计算出每棵树的总权值记做T,然后根据数据包中的开始时间和收到数据包的时间计算出总的查询花费的时间(这里假设数据包返回以及网络传输延时远小于查询耗时的数量级)记做R。最后比较T和R,如果T>R则说明数据包中是带有缓存的最短路径树的,那么节点再等待T-R的时间后查看本地消息查询表中是否有该GUID的记录,若有则提取该回应消息中的最短路径树为最优查询结果并删除该条记录,否则丢弃该数据包;如果TSR则说明收到的回应消息即是通过一次完整的查询得到的结果,那么节点将直接查看本地消息查询表中是否有该GUID的记录,若有则提取该回应消息中的最短路径树为最优查询结果并删除该条记录,否则丢弃该数据包。具体的,在图3中,A节点接收到一次到K节点的查询后最终会得到之前所述的3种结果:1.由于先前的查询在本地路由表中缓存有到K的路径,则可直接返回该路径;
2.A节点收到多条响应消息,包括了从A到K的一次实际的查询返回的结果以及在查询过程中碰到某个节点缓存了到目的节点的路径信息,比如在I节点中缓存有从I到K的路径信息,则最终返回结果将是A到I的实际查询路径加上I到K的缓存路径。对于这种情况,得到的实际查询结果是31^-0-6-1-1(,得到1? = 64 3 = 64。如果有路径32:4-(:4-1加上1到1(的缓存路径1-J-K,得到R1 = 55,T1 = 92,那么A先收到的路径为S2。但这并不是最优结果,所以我们设置等待T1-Rl时间,在这段时间内SI会到达,此时,更新等待时间为T-R = O,则得到最终结果。如果有路径S3: A-C-F-G-J加上J-K缓存,R2 = 62,T2 = 75则A在SI之前会先收到S3的结果,那么,只需要更新等待时间为T2-R2即可。3.A收到的结果都是完全通过实际查询得到的结果,不包含中间节点提供的缓存,也就是T = R,那么最早到达的就是最终结果。
[0045]在一个实施例中,所述监控节点定时采集路口的车辆相关信息,重新计算任意两个邻接路口对应的监控节点间的数据包延时时间,当所述数据包延时时间超过预设延时阈值时,更新相关监控节点的路由表。在一个实施例中,在路段的权值变化超过一定阈值后,监控节点会触发更新算法来更新一定范围内所有节点的路由表。例如,路段SC是S—C的单向路段,如果SC的权值变化超过一定阈值,那么节点S则会向周围一定范围内的节点广播该消息,其它节点收到该消息后先查看本地路由表中是否包含有S-C子树,有则更新其对应的权值字段,否则丢弃该消息。如果路段SC是双向路段则节点S发送的广播消息查询S-C子树,而节点C发送的广播消息查询C-S子树。
[0046]本发明提供一种基于分布式动态路网的路径规划系统。所述基于分布式动态路网的路径规划系统可以采用如上所述的基于分布式动态路网的路径规划方法。在一个实施例中,如图6所示,所述基于分布式动态路网的路径规划系统包括监控节点基本信息生成模块
11、监控节点查询请求处理模块12以及监控节点查询消息处理模块13。其中:
[0047]监控节点基本信息生成模块11用于在各个路口的监控节点建立邻居表,邻居表中存储与所述监控节点邻接的监控节点信息,所述邻接的监控节点与所述监控节点对应的路口彼此相邻接;所述监控节点分别采集路口的车辆相关信息,确定所述路口与所邻接路口间的通行时间并将所述通行时间存储到所述路口的监控节点中;将任一两个邻接路口间的所述通行时间按照预设策略转换成所述两个邻接路口对应的监控节点间的数据包延时时间;监控节点分别建立所述监控节点的本地路由表,所述本地路由表包括从所述监控节点到达邻接的监控节点的最短路径树,所述监控节点到达邻接的监控节点的最短路径的权值为所述监控节点间的数据包延时时间。在一个实施例中,所述监控节点基本信息生成模块11还用于:所述监控节点定时采集路口的车辆相关信息,重新计算任意两个邻接路口对应的监控节点间的数据包延时时间,当所述数据包延时时间超过预设延时阈值时,更新相关监控节点的路由表。所述监控节点包括智能摄像头。
[0048]监控节点查询请求处理模块12与监控节点基本信息生成模块11相连,用于接收路径查询请求,确定路径查询请求中的路径起始监控节点以及路径目的监控节点;所述路径起始监控节点在本地路由表中查询是否存在到达路径目的监控节点的最短路径树,如果不存在,所述路径起始监控节点生成查询消息,所述查询消息包括路径查询请求中的路径起始监控节点信息以及路径目的监控节点信息,并根据所述路径起始监控节点的邻接表向邻接的监控节点发送所述查询消息。所述监控节点查询请求处理模块12还用于:如果述路径起始监控节点在本地路由表中存在到达路径目的监控节点的最短路径树,则直接返回此最短路径树作为最优查询路径。在一个实施例中,所述查询消息中包括GUID信息。
[0049]监控节点查询消息处理模块13与监控节点查询请求处理模块12相连,用于接收到所述查询消息的监控节点在本地路由表中查询是否存在到达路径目的监控节点的最短路径树,如果接收到所述查询消息的监控节点在本地路由表中存在到达路径目的监控节点的最短路径树,则根据所述查询消息中的信息以及所述最短路径树生成查询结果消息,所述查询结果消息包括路径起始监控节点到路径目的监控节点的最短路径树;将所述查询结果消息发送给所述路径起始监控节点。在一个实施例中,所述监控节点查询消息处理模块13还用于:如果接收到所述查询消息的监控节点在本地路由表中不存在到达路径目的监控节点的最短路径树,则将所述监控节点信息加入到所述查询消息的查询路径中,跟据所述监控节点的邻接表向邻接的监控节点发送所述查询消息;当得到查询结果消息时,将所述查询结果消息根据所述查询消息的查询路径的顺序发送给当前监控节点的上一监控节点。
[0050]在一个实施例中,所述监控节点查询消息处理模块13还用于:根据路径查询请求中的路径起始监控节点以及路径目的监控节点确定查询的地理位置范围,将根据所述路径查询请求生成的查询消息的接收监控节点限制在所述查询的地理位置范围内。所述查询的地理位置范围包括根据路径查询请求中的路径起始监控节点以及路径目的监控节点生成的椭圆形状限制的地理位置范围。
[0051 ]在一个实施例中,所述基于分布式动态路网的路径规划系统还包括监控节点查询结果处理模块,所述监控节点查询请求处理模块12还用于监控节点生成查询消息时,将所述查询消息加入到所述监控节点的本地消息查询表中;所述监控节点查询消息处理模块13还用于监控节点收到查询消息且所述查询消息为第一次收到时,将所述查询消息加入到所述监控节点的本地消息查询表中;所述监控节点查询结果处理模块用于当收到查询结果消息时,在所述本地消息查询表中查找是否存在所述查询结果消息对应的查询消息,当所述本地消息查询表中存在所述查询结果消息对应的查询消息时,分别计算查询结果消息中的最短路径树的权值以及查询花费时间,当所述查询花费时间大于或等于所述查询结果消息中的最短路径树的权值时,提取所述最短路径树为最优查询结果,删除所述本地消息查询表中的查询结果消息对应的查询消息;将所述最优查询结果记录到所述监控节点的路由表中。在一个实施例中,所述监控节点查询结果处理模块还用于:当所述查询花费时间小于所述查询结果消息中的最短路径树的权值时,计算所述查询结果消息中的最短路径树的权值与所述查询花费时间的时间差,等待所述时间差后,在所述本地消息查询表中查找是否存在所述查询结果消息对应的查询消息,当所述本地消息查询表中存在所述查询结果消息对应的查询消息时,提取所述最短路径树为最优查询结果,删除所述本地消息查询表中的查询结果消息对应的查询消息;将所述最优查询结果记录到所述监控节点的路由表中。
[0052]综上所述,本发明的一种基于分布式动态路网的路径规划方法及系统在分布式的动态路网环境下,改进了基于延时路由的路径查询算法,并将查询结果缓存按照一定格式缓存在分布式路网中的监控节点的本地路由表上。此外,当某个路段的路况变化超过一定阈值后将对周边受到影响的路段中节点所缓存的查询结果进行更新。这种方式在保证查询结果正确性的同时减少了查询时间和分布式网络中数据包转发的压力,使得改进后的路径规划算法更加适用于大规模的动态网络。本发明在保证查询结果正确性的同时减少了查询时间和分布式网络中数据包转发的压力,使得改进后的路径规划算法更加适用于大规模的动态网络。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0053]上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
【主权项】
1.一种基于分布式动态路网的路径规划方法,其特征在于,所述基于分布式动态路网的路径规划方法包括: 各个路口的监控节点建立邻居表,邻居表中存储与所述监控节点邻接的监控节点信息,所述邻接的监控节点与所述监控节点对应的路口彼此相邻接; 所述监控节点分别采集路口的车辆相关信息,确定所述路口与所邻接路口间的通行时间并将所述通行时间存储到所述路口的监控节点中;将任一两个邻接路口间的所述通行时间按照预设策略转换成所述两个邻接路口对应的监控节点间的数据包延时时间;监控节点分别建立所述监控节点的本地路由表,所述本地路由表包括从所述监控节点到达邻接的监控节点的最短路径树,所述监控节点到达邻接的监控节点的最短路径的权值为所述监控节点间的数据包延时时间; 接收路径查询请求,确定路径查询请求中的路径起始监控节点以及路径目的监控节点;所述路径起始监控节点在本地路由表中查询是否存在到达路径目的监控节点的最短路径树,如果不存在,所述路径起始监控节点生成查询消息,所述查询消息包括路径查询请求中的路径起始监控节点信息以及路径目的监控节点信息,并根据所述路径起始监控节点的邻接表向邻接的监控节点发送所述查询消息; 接收到所述查询消息的监控节点在本地路由表中查询是否存在到达路径目的监控节点的最短路径树,如果接收到所述查询消息的监控节点在本地路由表中存在到达路径目的监控节点的最短路径树,则根据所述查询消息中的信息以及所述最短路径树生成查询结果消息,所述查询结果消息包括路径起始监控节点到路径目的监控节点的最短路径树;将所述查询结果消息发送给所述路径起始监控节点。2.根据权利要求1所述的基于分布式动态路网的路径规划方法,其特征在于:如果述路径起始监控节点在本地路由表中存在到达路径目的监控节点的最短路径树,则直接返回此最短路径树作为最优查询路径。3.根据权利要求1所述的基于分布式动态路网的路径规划方法,其特征在于:如果接收到所述查询消息的监控节点在本地路由表中不存在到达路径目的监控节点的最短路径树,则将所述监控节点信息加入到所述查询消息的查询路径中,跟据所述监控节点的邻接表向邻接的监控节点发送所述查询消息;当得到查询结果消息时,将所述查询结果消息根据所述查询消息的查询路径的顺序发送给当前监控节点的上一监控节点。4.根据权利要求1所述的基于分布式动态路网的路径规划方法,其特征在于:根据路径查询请求中的路径起始监控节点以及路径目的监控节点确定查询的地理位置范围,将根据所述路径查询请求生成的查询消息的接收监控节点限制在所述查询的地理位置范围内。5.根据权利要求4所述的基于分布式动态路网的路径规划方法,其特征在于:所述查询的地理位置范围包括根据路径查询请求中的路径起始监控节点以及路径目的监控节点生成的椭圆形状限制的地理位置范围。6.根据权利要求1或3所述的基于分布式动态路网的路径规划方法,其特征在于:监控节点生成查询消息时,或者收到查询消息且所述查询消息为第一次收到时,将所述查询消息加入到所述监控节点的本地消息查询表中;当收到查询结果消息时,在所述本地消息查询表中查找是否存在所述查询结果消息对应的查询消息,当所述本地消息查询表中存在所述查询结果消息对应的查询消息时,分别计算查询结果消息中的最短路径树的权值以及查询花费时间,当所述查询花费时间大于或等于所述查询结果消息中的最短路径树的权值时,提取所述最短路径树为最优查询结果,删除所述本地消息查询表中的查询结果消息对应的查询消息;将所述最优查询结果记录到所述监控节点的路由表中。7.根据权利要求6所述的基于分布式动态路网的路径规划方法,其特征在于:当所述查询花费时间小于所述查询结果消息中的最短路径树的权值时,计算所述查询结果消息中的最短路径树的权值与所述查询花费时间的时间差,等待所述时间差后,在所述本地消息查询表中查找是否存在所述查询结果消息对应的查询消息,当所述本地消息查询表中存在所述查询结果消息对应的查询消息时,提取所述最短路径树为最优查询结果,删除所述本地消息查询表中的查询结果消息对应的查询消息;将所述最优查询结果记录到所述监控节点的路由表中。8.根据权利要求1或3所述的基于分布式动态路网的路径规划方法,其特征在于:所述监控节点定时采集路口的车辆相关信息,重新计算任意两个邻接路口对应的监控节点间的数据包延时时间,当所述数据包延时时间超过预设延时阈值时,更新相关监控节点的路由表。9.一种基于分布式动态路网的路径规划系统,其特征在于:所述基于分布式动态路网的路径规划系统包括: 监控节点基本信息生成模块,用于在各个路口的监控节点建立邻居表,邻居表中存储与所述监控节点邻接的监控节点信息,所述邻接的监控节点与所述监控节点对应的路口彼此相邻接;所述监控节点分别采集路口的车辆相关信息,确定所述路口与所邻接路口间的通行时间并将所述通行时间存储到所述路口的监控节点中;将任一两个邻接路口间的所述通行时间按照预设策略转换成所述两个邻接路口对应的监控节点间的数据包延时时间;监控节点分别建立所述监控节点的本地路由表,所述本地路由表包括从所述监控节点到达邻接的监控节点的最短路径树,所述监控节点到达邻接的监控节点的最短路径的权值为所述监控节点间的数据包延时时间; 监控节点查询请求处理模块,用于接收路径查询请求,确定路径查询请求中的路径起始监控节点以及路径目的监控节点;所述路径起始监控节点在本地路由表中查询是否存在到达路径目的监控节点的最短路径树,如果不存在,所述路径起始监控节点生成查询消息,所述查询消息包括路径查询请求中的路径起始监控节点信息以及路径目的监控节点信息,并根据所述路径起始监控节点的邻接表向邻接的监控节点发送所述查询消息; 监控节点查询消息处理模块,用于接收到所述查询消息的监控节点在本地路由表中查询是否存在到达路径目的监控节点的最短路径树,如果接收到所述查询消息的监控节点在本地路由表中存在到达路径目的监控节点的最短路径树,则根据所述查询消息中的信息以及所述最短路径树生成查询结果消息,所述查询结果消息包括路径起始监控节点到路径目的监控节点的最短路径树;将所述查询结果消息发送给所述路径起始监控节点。10.根据权利要求9所述的基于分布式动态路网的路径规划系统,其特征在于:所述监控节点查询请求处理模块还用于:如果述路径起始监控节点在本地路由表中存在到达路径目的监控节点的最短路径树,则直接返回此最短路径树作为最优查询路径。11.根据权利要求9所述的基于分布式动态路网的路径规划系统,其特征在于:所述监控节点查询消息处理模块还用于:如果接收到所述查询消息的监控节点在本地路由表中不存在到达路径目的监控节点的最短路径树,则将所述监控节点信息加入到所述查询消息的查询路径中,跟据所述监控节点的邻接表向邻接的监控节点发送所述查询消息;当得到查询结果消息时,将所述查询结果消息根据所述查询消息的查询路径的顺序发送给当前监控节点的上一监控节点。12.根据权利要求9所述的基于分布式动态路网的路径规划系统,其特征在于:所述监控节点查询消息处理模块还用于:根据路径查询请求中的路径起始监控节点以及路径目的监控节点确定查询的地理位置范围,将根据所述路径查询请求生成的查询消息的接收监控节点限制在所述查询的地理位置范围内。13.根据权利要求9或11所述的基于分布式动态路网的路径规划系统,其特征在于:所述基于分布式动态路网的路径规划系统还包括监控节点查询结果处理模块,所述监控节点查询请求处理模块还用于监控节点生成查询消息时,将所述查询消息加入到所述监控节点的本地消息查询表中;所述监控节点查询消息处理模块还用于监控节点收到查询消息且所述查询消息为第一次收到时,将所述查询消息加入到所述监控节点的本地消息查询表中;所述监控节点查询结果处理模块用于当收到查询结果消息时,在所述本地消息查询表中查找是否存在所述查询结果消息对应的查询消息,当所述本地消息查询表中存在所述查询结果消息对应的查询消息时,分别计算查询结果消息中的最短路径树的权值以及查询花费时间,当所述查询花费时间大于或等于所述查询结果消息中的最短路径树的权值时,提取所述最短路径树为最优查询结果,删除所述本地消息查询表中的查询结果消息对应的查询消息; 将所述最优查询结果记录到所述监控节点的路由表中。14.根据权利要求13所述的基于分布式动态路网的路径规划系统,其特征在于:所述监控节点查询结果处理模块还用于:当所述查询花费时间小于所述查询结果消息中的最短路径树的权值时,计算所述查询结果消息中的最短路径树的权值与所述查询花费时间的时间差,等待所述时间差后,在所述本地消息查询表中查找是否存在所述查询结果消息对应的查询消息,当所述本地消息查询表中存在所述查询结果消息对应的查询消息时,提取所述最短路径树为最优查询结果,删除所述本地消息查询表中的查询结果消息对应的查询消息;将所述最优查询结果记录到所述监控节点的路由表中。15.根据权利要求9或11所述的基于分布式动态路网的路径规划系统,其特征在于:所述监控节点基本信息生成模块还用于:所述监控节点定时采集路口的车辆相关信息,重新计算任意两个邻接路口对应的监控节点间的数据包延时时间,当所述数据包延时时间超过预设延时阈值时,更新相关监控节点的路由表。16.根据权利要求9或11所述的基于分布式动态路网的路径规划系统,其特征在于:所述监控节点包括智能摄像头。
【文档编号】G01C21/34GK105890609SQ201610387934
【公开日】2016年8月24日
【申请日】2016年6月2日
【发明人】蒋昌俊, 闫春钢, 陈闳中, 张亚英, 叶晨, 喻剑, 陆王延
【申请人】同济大学