一种车辆数据集成方法与流程
- 国知局
- 2024-08-08 16:57:54
本发明涉及数据库,特别涉及一种车辆数据集成方法。
背景技术:
1、在交通领域车辆数据具有更新频率快、数据量大、实时性要求高等特点,当前大部分车辆数据集成系统基于接口方式集成数据,这种同步阻塞的集成方式,单位时间能同时接收到车载设备数据受到限制,造成延时增加,无法满足秒级实时传输的要求,且接口在高并发的情况下容易瘫痪,造成车辆实时数据的丢失。
2、为了更好地感知城市车辆的运行态势,监测重要车辆运行轨迹,为管理单位指挥决策提供帮忙,本发明提出了一种车辆数据集成方法。
技术实现思路
1、本发明为了弥补现有技术的缺陷,提供了一种简单高效的车辆数据集成方法。
2、本发明是通过如下技术方案实现的:
3、一种车辆数据集成方法,其特征在于:基于长连接方式实现车辆数据的异步、非阻塞、解码与分类集成;具体如下:
4、采用多路复用选择器,结合主线程池与从线程池,实现车辆数据集成的非阻塞能力,保证数据集成的并发性;
5、针对业务逻辑处理过程耗时较大的情况,采用回调监听机制,先返回一个回调方法,待调用组件处理完成后,通过监听回调对象获取任务状态,通过状态、通知和回调来通知调用者,实现车辆数据集成的异步能力,保证数据集成的实时性;
6、使用标识头检验、特殊字符转义替换和递归解析包长度与完整性的方式,实现数据包边界划分,从而实现车辆数据集成解码能力,保证数据集成的准确性和有效性;
7、结合车辆数据业务属性分类,配置分类数据标识,判断车辆数据包中标识数值,并匹配对应工厂类方法中的处理器,实现车辆数据集成的分类处理能力,从而避免高频数据交叉带来的混乱,提升处理速度。
8、实现车辆数据集成的非阻塞能力时,先抽象出主线程池与从线程池,所述主线程池负责接收客户端连接,所述从线程池负责进行车辆数据的读取;
9、所述主线程池与从线程池为事件循环组,每个事件循环组包含若干个事件循环组件,每个事件循环组件对应一个不断循环执行处理任务的线程;
10、每个事件循环组件包含一个选择器和一个任务队列,所述选择器用于监听绑定其上的网络通信,所述任务队列用于处理事件任务;
11、所述主线程池中,每个事件循环组件执行以下三个步骤:
12、1)以负载均衡的方式轮询接收事件;
13、2)处理接收事件,与客户端建立连接,生成网络通道,并注册到从线程池的事件循环组件的选择器中;
14、3)运行任务队列中的任务。
15、所述从线程池中,每个事件循环组件执行以下三个步骤:
16、1)以负载均衡的方式轮询读取车辆数据;
17、2)网络通道关联对应管道,处理读取到的车辆数据;
18、3)运行任务队列中的任务。
19、实现车辆数据集成的异步能力时,车辆数据读取后使用管道进行业务处理,每个管道对应一个网络通道,并在管道中维护若干个处理器;
20、车辆数据经处理器进行处理后,调用者不能立刻得到结果,此时利用回调监听机制,立即返回一个回调对象;将监听器注册到回调对象,在车辆数据处理操作成功、失败或取消时回调通知调用方;
21、在所述回调对象中判断当前操作是否完成,已完成的当前操作是否成功,以及已完成的当前操作是否被取消,若未成功则获取已完成的当前操作的失败原因。
22、数据包的数据结构包括头标识、数据头、数据体、crc校验码和尾标识五部分;
23、实现车辆数据集成解码能力时,首先读取缓冲区内数据包,并将其转换为十六进制字符串;
24、采用固定字符串标识校验法校验数据包中头标识是否有效;为防止极端情况,若头标识校验不通过,则将对应的数据包丢弃,同时丢弃上一包缓存的剩余数据,防止上一包缓存的剩余数据不包含数据起始符,导致拼接后的数据包一直校验不通过;
25、基于头标识和尾标识字符规则,将数据内容中的特殊字符串进行转义替换;
26、校验数据包长度。由于头标识、数据头、crc校验码和尾标识为固定长度,故数据包存在最小长度。当数据包长度小于整包数据最小长度时,将数据包存储在临时缓存队列中;读取下一个数据包后,先与临时缓存队列中存储的数据包合并,然后重新进行解码流程;当数据包长度大于整包数据最小长度时,进行数据包完整性校验;
27、依据数据包完整性校验算法校验数据包完整性,将不符合完整性规则的非完整数据包存储在临时缓存队列中,等待与下一个数据包合并,重新进行解码流程;对于符合完整性规则的完整数据包进行数据解析操作。
28、实现车辆数据集成的分类处理能力时,依据数据频率和业务逻辑将车辆数据分为车辆静态数据、车辆动态数据和车辆告警数据三大类;
29、所述车辆静态数据为车辆从事道路运输经营活动相关的,在一定时期内固定不变的行政管理和经营管理数据,包括但不限于营运车辆、业户、从业人员、运管机构与营运线路数据;
30、所述车辆动态数据为车辆在运营行驶过程中产生的相关数据,包括但不限于车辆定位数据、运行状态、人员、货物与线路方面的数据;
31、所述车辆告警数据为车辆报警状态数据,所述报警状态包括但不限于超速报警、疲劳驾驶报警、紧急报警、进入指定区域报警、离开指定区域报警、路段堵塞报警、危险路段报警、越界报警、盗警、劫警与司机行为报警;
32、对不同类型的车辆数据进行业务类型标识,集成的车辆数据统一用up开头,静态数据业务标识为base,动态数据业务标识为exg,告警数据业务标识为warn;对于不同车辆类型下的具体数据,继续遵循原有归属业务数据类型的标识头,后面补充子业务类型标识,如车辆驾驶员数据类型标识为up_base_driver_info;
33、数据解析时,根据不同业务标识对应的十六进制数值,工厂类调用匹配的处理器完成不同类型数据处理,然后将解析后的车辆数据关联业务继续操作。
34、一种车辆数据集成设备,其特征在于:包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现如上所述的方法。
35、一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。
36、本发明的有益效果是:该车辆数据集成方法,不仅能够充分利用cpu资源,避免多线程切换开销,还能降低延迟,保证业务处理线程的使用效率、数据解码后的完整性以及整体的健壮性和容错性,可实现万级车辆数据集成任务的处理。
技术特征:1.一种车辆数据集成方法,其特征在于:基于长连接方式实现车辆数据的异步、非阻塞、解码与分类集成;具体如下:
2.根据权利要求1所述的车辆数据集成方法,其特征在于:实现车辆数据集成的非阻塞能力时,先抽象出主线程池与从线程池,所述主线程池负责接收客户端连接,
3.根据权利要求1所述的车辆数据集成方法,其特征在于:实现车辆数据集成的异步能力时,车辆数据读取后使用管道进行业务处理,每个管道对应一个网络通道,
4.根据权利要求3所述的车辆数据集成方法,其特征在于:在所述回调对象中判断当前操作是否完成,已完成的当前操作是否成功,以及已完成的当前操作是否被取消,若未成功则获取已完成的当前操作的失败原因。
5.根据权利要求1所述的车辆数据集成方法,其特征在于:数据包的数据结构包括头标识、数据头、数据体、crc校验码和尾标识五部分;
6.根据权利要求5所述的车辆数据集成方法,其特征在于:整包数据最小长度为头标识、数据头、crc校验码和尾标识的固定长度之和。
7.根据权利要求1所述的车辆数据集成方法,其特征在于:实现车辆数据集成的分类处理能力时,依据数据频率和业务逻辑将车辆数据分为车辆静态数据、车辆动态数据和车辆告警数据三大类;
8.根据权利要求7所述的车辆数据集成方法,其特征在于:所述车辆静态数据为车辆从事道路运输经营活动相关的,在固定不变的行政管理和经营管理数据,包括但不限于营运车辆、业户、从业人员、运管机构与营运线路数据;
9.一种车辆数据集成设备,其特征在于:包括存储器和处理器;所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序时实现如权利要求1至4任意一项所述的方法。
10.一种可读存储介质,其特征在于:所述可读存储介质上存储有计算机程序,
技术总结本发明特别涉及一种车辆数据集成方法。该车辆数据集成方法,基于长连接方式实现车辆数据的异步、非阻塞、解码与分类集成。该车辆数据集成方法,不仅能够充分利用CPU资源,避免多线程切换开销,还能降低延迟,保证业务处理线程的使用效率、数据解码后的完整性以及整体的健壮性和容错性,可实现万级车辆数据集成任务的处理。技术研发人员:李松,郑孝青,刘守纲,孙崇伟,王健受保护的技术使用者:浪潮智慧城市科技有限公司技术研发日:技术公布日:2024/8/5本文地址:https://www.jishuxx.com/zhuanli/20240808/271498.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表