车辆限行信息发布服务方法及系统与流程

文档序号:24561213发布日期:2021-04-06 12:10阅读:162来源:国知局
车辆限行信息发布服务方法及系统与流程
本发明涉及智能交通
技术领域
,尤其涉及一种车辆限行信息发布服务方法及系统。
背景技术
:随着交通拥堵的加重和环保要求的提升,国内各个城市逐渐推出了各类的限行措施,包括针对区域的、针对尾号的、针对车辆归属地、针对车辆类型、和针对车辆环保标准等。限行政策越来越灵活,对于限行措施的描述也越来越复杂,往往同一时段对不同车辆有不同的限行要求。对于驾车出行的用户,需要事先查询具体的限行信息以确定是否能够出行以及出行的具体线路和区域,十分不便。传统的限行信息发布,采用定期发布静态数据办法,由各个应用方针对限行数据进行二次处理和数据编译,然后进行应用。但这种方法周期长,往往以月或者季度为更新发布周期,对于一些变化没法做到及时响应;并且每个应用方都要对限行数据进行编译和抽象,数据中要保留时间、日期、星期和节假日的特性,并且要针对时间进行处理和判断,极大的影响了应用方系统的运行效率,加重了应用方系统的负担。技术实现要素:本发明提供了一种车辆限行信息发布服务方法及系统,以解决现有的系统应用因处理限行数据而导致运行效率低、负担重的问题。为了解决上述问题,本发明提供了一种车辆限行信息发布服务方法,包括:s1、第一数据处理引擎读取限行文本信息,预处理后构建以第一预设时间为单元的限行数据片结构化数据;限行数据片包括限行日期、限行内容、限行车型以及限行路段id;s2、至少一个第二数据处理引擎,读取目标日期的限行数据片,新建目标日期即时限行数据片结构化数据。作为本申请的进一步改进,第二数据处理引擎基于路网数据进行限行道路数据运算;步骤s1步骤之后还包括步骤:s11、将限行数据片中限行路段id与路网数据进行对应,重建以限行道路id替换限行路段id后的限行数据片结构化数据。作为本申请的进一步改进,步骤s2之前还包括步骤:s20、第一数据处理引擎将更新的限行数据片结构化数据以二进制格式写入redis存储,并更新已存储的索引信息;索引信息包括更新时间戳。作为本申请的进一步改进,步骤s2读取目标日期的限行数据片之前:第二数据处理引擎实时读取redis中的索引信息,判断目标日期的限行数据片是否存在更新;若是,则进行读取。作为本申请的进一步改进,步骤s2中读取目标日期的限行数据片,新建目标日期即时限行数据片结构化数据,包括:读取目标日期的限行数据片,用其对目标日期历史的限行数据片进行替换;等待第二预设时间,清除目标日期历史的限行数据片,完成目标日期即时限行数据片结构化数据新建。为了解决上述问题,本申请还提供了一种车辆限行信息发布服务系统,包括:第一数据处理引擎,包括构建模块,用于读取限行文本信息,预处理后构建以第一预设时间为单元的限行数据片结构化数据;限行数据片包括限行日期、限行内容、限行车型以及限行路段id;至少一个第二数据处理引擎,包括新建模块,用于读取目标日期的限行数据片,新建目标日期即时限行数据片结构化数据。作为本申请的进一步改进,第二数据处理引擎基于路网数据进行限行道路数据运算;第一数据处理引擎还包括:重建模块,用于将限行数据片中限行路段id与路网数据进行对应,重建以限行道路id替换限行路段id后的限行数据片结构化数据。作为本申请的进一步改进,其还包括:redis存储模块,用于将更新的限行数据片结构化数据以二进制格式写入redis存储,并更新已存储的索引信息;索引信息包括更新时间戳。作为本申请的进一步改进,第二数据处理引擎还包括:判断模块,用于实时读取redis中的索引信息,判断目标日期的限行数据片是否存在更新;若是,则进行读取。作为本申请的进一步改进,新建模块包括:读取单元,用于读取目标日期的限行数据片,用其对目标日期历史的限行数据片进行替换;新建单元,用于等待第二预设时间,清除目标日期历史的限行数据片,完成目标日期即时限行数据片结构化数据新建。相比于现有技术,本发明的车辆限行信息发布服务方法通过第一数据处理引擎读取限行文本信息,预处理后构建以第一预设时间为单元的限行数据片结构化数据,然后将限行数据片结构化数据发布给至少一个第二数据处理引擎,以供第二数据处理引擎直接读取和调用,第二数据处理引擎不再需要自身来处理和数据编译限行数据,从而提升第二数据处理引擎的运行效率,并且,一个第一数据处理引擎生成的限行数据片结构化数据可以提供给多个第二数据处理引擎使用,进一步节省了多个第二数据处理引擎的运算资源。附图说明图1为本发明车辆限行信息发布服务方法第一个实施例的流程示意图;图2为本发明车辆限行信息发布服务方法第二个实施例的流程示意图;图3为本发明车辆限行信息发布服务方法第三个实施例的流程示意图;图4为本发明车辆限行信息发布服务方法第四个实施例的流程示意图;图5为本发明车辆限行信息发布服务系统第一个实施例的功能模块示意图;图6为本发明车辆限行信息发布服务系统第二个实施例的功能模块示意图;图7为本发明车辆限行信息发布服务系统第三个实施例的功能模块示意图;图8为本发明车辆限行信息发布服务系统第四个实施例的功能模块示意图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用来限定本发明。图1展示了本发明车辆限行信息发布服务方法一个实施例的流程示意图。该车辆限行信息发布服务方法应用于车辆限行信息发布服务系统,该车辆限行信息发布服务系统包括第一数据处理引擎和至少一个第二数据处理引擎,如图1所示,该车辆限行信息发布服务方法包括以下步骤:步骤s1、第一数据处理引擎读取限行文本信息,预处理后构建以第一预设时间为单元的限行数据片结构化数据;限行数据片包括限行日期、限行内容、限行车型以及限行路段id。具体地,限行文本信息是预先从网络上拉取的限行信息。需要说明的是,从网络上拉取下来的限行文本信息存储在数据库中,并作为原始数据,这个原始数据相当于限行的描述信息,以供第一数据处理引擎读取、处理。另外,该数据库中存储的原始数据较容易看懂,修改起来比较容易,由于第一数据处理引擎处理后的限行文本信息无法直接看懂,如后续第一数据处理引擎和第二处理引擎在处理时出现数据错误,以便从该数据库中的原始限行文本数据进行验证。并且,还需通过网络对限行文本信息进行监控,当发现限行文本信息更新时,则通过网络拉取更新的限行文本信息并存储至数据库中。在步骤s1中,通过第一数据处理引擎读取到限行文本信息后,对限行文本信息进行处理,从而构建以第一预设时间为单元的限行数据片结构化数据。具体地,该第一预设时间预先设定,在本发明实施例中,是以天为单位构建限行数据片结构化数据。需要说明的是,限行数据片包括限行日期、限行内容、限行车型以及限行路段id,其中,本实施例中,对限行文本信息进行处理具体包括:1、从限行文本信息中获取限行的时间,并转换为限行日期表达式,具体为:通过限行文本信息读取到限行的时间后,将限行的时间转换为一个时间表达式,用于表示限行时间,具体地,限行的时间与表达式的映射关系请参阅下表1:表1时间前缀范围注释年yy2000…y9999从2000年到9999年范围月mm01….m12从1月到12月日dd01…d28/29/30/31从1号到每个月的最大天数时hh00…h23从0点到23点分mm00…m59从0分到59分星期ww1…w7从周一到周日例如,通过限行文本信息读取到的限行时间为:2008年1月1日0时起到2009年1月2日0时,转换为限行日期的表达式为:[(y2008m01d01)(y2009m01d01)]。2、从限行文本信息中获取限行内容,构建限行内容表达式。具体地,限行内容可以分为限高、限宽、限重,其中,在表示限行内容时,可通过利用符号“[”表示大于等于;“]”表示小于等于,“(”表示大于,“)”表示小于,如:限行内容为限高4米(含)以上货车表达式为:限高“[4”;限宽3米(不含)以上货车表达式为:限宽“(3”;限重50吨(含)以上货车表达式为“[50”。3、从限行文本信息中获取限行车型,构建限行车型表达式。具体地,用0、1组成的8位字符串表示限行车型,以字符串从右至左,1表示车辆限行,0表示车辆不限行的规则进行表示,具体的,第一位字符,如果为1表示全部车型均限行;如果为0则需要由后续的字符决定限行车型;第二位字符至第八位字符依次为1则代表不同限行车型,第二位字符至第八位字符依次对应低速货车(第2位表示为1)、微型货车(第3位表示为1)、轻型货车(第4位表示为1)、中型货车(第5位表示为1)、重型货车(第6位表示为1)、牵引车(第7位表示为1)、挂车(第8位表示为1),例如,当需要限行全部货车时,其表达式为:00000001,按照从右至左的规则,第一位为1,表示全部货车均限行,又如:表达式00000010,其第二位为1,表示低速货车限行。需要说明的是,小型货车无特指的话一般为低速货车、微型货车、轻型货车三种车型,大型货车无特指的话一般为中型货车,重型货车。例如,限行小型货车可以表示为:00001110。通常情况下,在将限行车辆数据表达式处理之后,会将8位字符数据使用整形表示,即8位字符中从左至右遇到的第一个“1”及以后的字符进行表示,例如,全部货车00000001,最终表示为“1”。4、从限行文本信息中获取限行范围,确认限行路段id。具体地,从限行文本信息中获取限行范围后,获取该限行范围的限行路段id。需要说明的是,路段即为两个交叉路口之间的道路。限行路段id采用两种方式进行获取:(1)根据限行范围直接在地图中进行范围划分,这个范围选取的路段即为限行范围,并根据该选取的路段获取到该路段的路段id(路段id是地图数据提供商预先设定),比如,航城四路由两个路段组成(同一条道路以交叉路口进行切分,划分为多个路段),该两个路段的路段id分别是:id-124444444444,id-12344556y67ggggggggg,路段id的设定一般用32位uuid表示,路段id是每个路段的唯一标识。(2)将限行范围输入到地图中即可直接根据输入内容圈定范围,找到对应的路段,然后获取到该路段的路段id。基于上述四个步骤即可获取到限行日期、限行内容、限行车型以及限行路段id,再以第一预设时间为单元,构建限行数据片结构化数据。本实施例中,该第一预设时间为天,通过建立以天为单元的限行数据片结构化数据,对于以节假日、星期为时间单位的限行,都统一归纳到自然日,从而去除节假日和星期限行的繁杂运算。进一步的,第二数据处理引擎基于路网数据进行限行道路数据运算,如图2所示,步骤s1之后,还包括:步骤s11、将限行数据片中限行路段id与路网数据进行对应,重建以限行道路id替换限行路段id后的限行数据片结构化数据。在步骤s11中,因为第二数据处理引擎基于路网数据进行限行道路数据运算,因此,本实施例中,第一数据处理引擎需要提前构建限行数据片中限行路段id与路网数据之间的映射关系。具体地,映射关系主要指路段映射,路段id是一个32位的字符串,这个数据量很大,在第一数据处理引擎中,每一条道路可以划分为一个或多个路段,对应有一个或多个路段id,而在第二数据处理引擎中基于路网数据进行限行道路数据运算时,通常是按照整条道路来进行的,因此,需要构建路段id与道路的映射关系。例如,航城四路有两个路段,在第一数据处理引擎中是按照两个路段的路段id进行处理的,该两个路段id分别是:id-124444444444,id-12344556y67ggggggggg,而在第二数据处理引擎中,是按照“航城四路”进行计算,即需要将两个路段的合并,所以需要第一数据处理引擎重建该两个路段id与第二数据处理引擎的“航城四路”的映射关系。步骤s2、至少一个第二数据处理引擎,读取目标日期的限行数据片,新建目标日期即时限行数据片结构化数据。在步骤s2中,在第一数据处理引擎以第一预设时间为单元构建限行数据片结构化数据之后,至少一个第二数据处理引擎读取指定的目标日期的限行数据片,新建目标日期即时数据片结构化数据,从而获取到目标日期即时的限行信息。需要说明的是,该新建的目标日期即时数据片结构化数据,可以是首次读取的目标日期的限行数据后建立的对象,也可以是非首次读取的目标日期的限行数据后建立的对象。进一步的,如图3所示,在步骤s2之前,还包括:步骤s20、第一数据处理引擎将更新的限行数据片结构化数据以二进制格式写入redis存储,并更新已存储的索引信息;索引信息包括更新时间戳。本实施例中,从解耦、异步、削峰和稳定性考虑,采用生产者和消费者模式,利用redis存储实现生产者和消费者之间的数据交换,其中生产者为第一数据处理引擎,消费者为第二数据处理引擎,一个第一数据处理引擎服务至少一个第二数据处理引擎。具体地,第一数据处理引擎在构建限行数据片结构化数据之后,将该限行数据片结构化数据以二进制格式写入redis存储,并且,后续若新增或更新已存储的限行数据片结构化数据时,则同时更新已存储的索引信息,该索引信息则是限行数据片结构化数据的目录信息,其中,索引信息包括更新时间戳,更新时间戳根据更新索引信息的当前时间得到。通过使用redis存储,可使第一数据处理引擎和第二处理引擎之间不相互依赖和影响,第一数据处理引擎和第二数据处理引擎一方出现崩溃或异常,都不会造成另一方的正常运行。进一步的,如图4所示,步骤s2中,在读取目标日期的限行数据片之前,还包括:步骤s21、第二数据处理引擎实时读取redis中的索引信息,判断目标日期的限行数据片是否存在更新;若是,则进行读取。具体地,第二数据处理引擎通过实时读取redis中的索引信息,并将该索引信息,从索引信息中获取到新的更新时间戳,将该新的更新时间戳与本地保存的索引信息中的更新时间戳进行比对,当新的更新时间戳与本地保存的更新时间戳不同时,说明限行数据片结构化数据发生了更新。其中,本地保存的索引信息为每次进行限行数据片结构化数据更新后保存的索引信息。进一步的,步骤s2具体包括:1、读取目标日期的限行数据片,用其对目标日期历史的限行数据片进行替换。2、等待第二预设时间,清除目标日期历史的限行数据片,完成目标日期即时限行数据片结构化数据新建。需要说明的是,该第二预设时间预设设置,例如,1分钟。具体地,第二数据处理引擎在读取目标日期的限行数据片之后,对读取的限行数据片进行新建限行数据片副本,然后使用该目标日期的限行数据片副本替换掉目标日期历史的限行数据片,在等待第二预设时间之后,删除目标日期历史的限行数据片,从而实现对限行数据片的无缝切换。例如,现一第二数据处理引擎的工作目标日期限行数据片为2020年9月11日、2020年9月12日、2020年9月13日的限行数据片,这三天的限行数据均按照“天”构建的限行数据片,此三天的限行数据片此时正在第二数据处理引擎中进行工作执行,当第二数据处理引擎检测到redis的索引信息中关于2020年9月11日的数据的更新时间戳发生更新,则读取redis里面更新的关于2020年9月11日的限行时间片,并新建限行数据片副本,然后使用该2020年9月11日的限行数据片副本替换掉2020年9月11日历史的限行数据片,并直接执行新的2020年9月11日的限行数据片,待预设时间后,删除2020年9月11日历史的限行数据片,从而实现对限行数据片的无缝切换。本发明的车辆限行信息发布服务方法通过第一数据处理引擎读取限行文本信息,预处理后构建以第一预设时间为单元的限行数据片结构化数据,然后将限行数据片结构化数据发布给至少一个第二数据处理引擎,以供第二数据处理引擎直接读取和调用,第二数据处理引擎不再需要自身来处理和数据编译限行数据,从而提升第二数据处理引擎的运行效率,并且,一个第一数据处理引擎生成的限行数据片结构化数据可以提供给多个第二数据处理引擎使用,进一步节省了多个第二数据处理引擎的运算资源。图5展示了本发明车辆限行信息发布服务系统一个实施例的功能模块示意图。如图5所示,该车辆限行信息发布服务系统1包括第一数据处理引擎11和至少一个第二数据处理引擎12。第一数据处理引擎11,包括构建模块111,用于读取限行文本信息,预处理后构建以第一预设时间为单元的限行数据片结构化数据;限行数据片包括限行日期、限行内容、限行车型以及限行路段id。至少一个第二数据处理引擎12,包括新建模块121,用于读取目标日期的限行数据片,新建目标日期即时限行数据片结构化数据。上述实施例的基础上,其他实施例中,如图6所示,第二数据处理引擎12基于路网数据进行限行道路数据运算;第一数据处理引擎11还包括重建模块112,用于将限行数据片中限行路段id与路网数据进行对应,重建以限行道路id替换限行路段id后的限行数据片结构化数据。上述实施例的基础上,其他实施例中,如图7所示,其还包括redis存储模块13,用于将更新的限行数据片结构化数据以二进制格式写入redis存储,并更新已存储的索引信息;索引信息包括更新时间戳。上述实施例的基础上,其他实施例中,如图8所示,第二数据处理引擎12还包括:判断模块122,用于实时读取redis中的索引信息,判断目标日期的限行数据片是否存在更新;若是,则进行读取。上述实施例的基础上,其他实施例中,新建模块121包括:读取单元1211,用于读取目标日期的限行数据片,用其对目标日期历史的限行数据片进行替换;新建单元1212,用于等待第二预设时间,清除目标日期历史的限行数据片,完成目标日期即时限行数据片结构化数据新建。关于上述实施例车辆限行信息发布服务系统中各模块实现技术方案的其他细节,可参见上述实施例中的车辆限行信息发布服务方法中的描述,此处不再赘述。需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于系统类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上对发明的具体实施方式进行了详细说明,但其只作为范例,本发明并不限制于以上描述的具体实施方式。对于本领域的技术人员而言,任何对该发明进行的等同修改或替代也都在本发明的范畴之中,因此,在不脱离本发明的精神和原则范围下所作的均等变换和修改、改进等,都应涵盖在本发明的范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1