汽车报文存储方法及装置、汽车报文存储系统与流程

文档序号:27375391发布日期:2021-11-15 17:37阅读:303来源:国知局
汽车报文存储方法及装置、汽车报文存储系统与流程

1.本技术涉及大数据技术领域,具体涉及一种汽车报文存储方法及装置、汽车报文存储系统。


背景技术:

2.随着汽车智能网联的发展,汽车内ecu(electronic control unit,电子控制器)的数量显著增多,汽车内的控制器局域网络也越来越复杂。汽车内绝大部分ecu是通过车内can(controller area network,控制器局域网络)总线进行信息交互的。汽车总线数据的存储和查询在汽车智能网联场景下十分重要,如何得到更加完善的汽车总线数据存储及查询方案是本领域技术人员需要不断研究的问题。


技术实现要素:

3.为解决上述技术问题,本技术的实施例分别提供了一种汽车报文存储方法、汽车报文存储装置、汽车报文存储设备、计算机可读存储介质以及汽车报文存储系统。
4.根据本技术实施例的一个方面,提供了一种汽车报文存储方法,包括:接收车辆上报的汇总报文;根据适配于所述车辆的汽车信号报文配置文件解析所述汇总报文,得到解析后的汽车报文信号,其中,所述汽车信号报文配置文件定义了所述车辆内控制器局域网络总线的通讯格式;对所述解析后的汽车报文信号进行持久化存储,以在接收到针对于所述车辆的总线数据查询请求时,直接查询持久化存储的汽车报文信号。
5.根据本技术实施例的一个方面,提供了一种汽车报文存储装置,包括:报文接收模块,配置为接收车辆上报的汇总报文;报文解析模块,配置为根据适配于所述车辆的汽车信号报文配置文件解析所述汇总报文,得到解析后的汽车报文信号,其中,所述汽车信号报文配置文件定义了所述车辆内控制器局域网络总线的通讯格式;持久化存储模块,配置为对所述解析后的汽车报文信号进行持久化存储,以在接收到针对于所述车辆的总线数据查询请求时,直接查询持久化存储的汽车报文信号。
6.根据本技术实施例的一个方面,提供了一种汽车报文存储系统,包括:第一存储组件,用于存储汽车报文信号,所述汽车报文信号是对车辆上报的汇总报文进行解析所得到的,所述第一存储组件支持所述汽车报文信号的实时查询;第二存储组件,用于存储定期从所述第一存储组件中迁移的汽车报文信号,所述第二存储组件对应的数据存储成本低于所述第一存储组件对应的数据存储成本;第三存储组件,用于存储定期从所述第二存储组件中迁移的冷数据,所述冷数据包括在第一时间长度内未被查询的汽车报文信号;离线数据查询引擎,其中建立有外部表,所述外部表用于支持进行所述第二存储组件和所述第三存储组件中存储的汽车报文信号的离线查询。
7.根据本技术实施例的一个方面,提供了一种汽车报文存储设备,包括处理器及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上所述的汽车报文存储方法。
8.根据本技术实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的汽车报文存储方法。
9.根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的汽车报文存储方法。
10.在本技术的实施例提供的技术方案中,在接收到车辆上报的汇总报文之后,先将汇总报文解析成汽车报文信号,再对解析得到的汽车报文信号进行持久化存储,若接收到针对车辆的总线数据查询请求,直接查询持久化存储的汽车报文信号即可,而无需将汇总报文全部加载至内存中进行解析后查询,由此能够降低车辆总线数据查询所需的计算资源,同时节省查询所需时间。
11.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
12.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
13.图1是本技术涉及的一种实施环境的示意图;
14.图2是本技术的一示例性实施例示出的汽车报文存储方法的流程图;
15.图3是图2所示实施例中的步骤s250在一示例性实施例中的流程图;
16.图4是在图3所示实施例的基础上示出的汽车报文存储方法的流程图;
17.图5是图2所示实施例中的步骤s250在另一示例性实施例中的流程图;
18.图6是本技术的一示例性实施例示出的汽车报文存储系统的结构示意图;
19.图7是本技术的一示例性实施例示出的汽车报文存储装置的框图;
20.图8示出了适于用来实现本技术实施例的汽车报文存储设备的计算机系统的结构示意图。
具体实施方式
21.这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
22.附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
23.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也
不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
24.还需要说明的是:在本技术中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
25.首先请参阅图1,图1是本技术涉及的一种实施环境的示意图。该实施环境具体提供了一种基于车联网应用场景的汽车报文的存储及查询系统。
26.车联网也称为车辆物联网,是以车内网、车际网和车载移动互联网为基础,按照约定的通信协议和数据交互标准,在车与x(x包括车、路、行人及互联网等)之间进行无线通讯和信息交换的大系统网络,能够实现智能化交通管理、智能动态信息服务和车辆智能化控制的一体化网络。例如,车内设备之间的通信是指车辆内部各设备间的信息数据传输,可用于对设备状态的实时检测与运行控制,建立数字化的车内控制系统。车与云平台之间的通信是指车辆通过无线通信技术实现与车联网服务平台的信息传输,车辆能够向云平台实时共享车辆数据,还能够接收平台下达的控制指令。车与车之间的通信是指车辆与车辆之间实现信息交流与信息共享,包括车辆位置、行驶速度等车辆状态信息,可用于判断道路车流状况。车与路之间的通信是指借助地面道路固定通信设施实现车辆与道路间的信息交流,可用于监测道路路面状况,引导车辆选择最佳行驶路径。车与人之间的通信是指用户可以通过无线通信手段与车辆进行信息沟通,使得用户能够通过对应的移动终端设备监测并控制车辆,在此均不作详细介绍。
27.本实施环境所提出的汽车报文的存储及查询系统即用于实现车联网场景下车辆通过无线通信技术向云台上报的汽车报文的存储和查询。如图1所示,该示例性的汽车报文的存储及查询系统包括多个车辆110、数据服务器120以及多个查询终端130。
28.车辆110基于自身所配置的无线通信模块与数据服务器120进行通信,例如车辆110每隔固定频率向数据服务器120上报一次汇总报文,以在数据服务器120中进行汽车报文的持久化存储。查询终端130预先与数据服务器120建立有线或者无线通信连接,用于向用户提供数据服务器120中所存储汽车报文的查询入口。
29.示例性的,数据服务器120接收到车辆110上报的汇总报文之后,根据适配于车辆110的汽车信号报文配置文件解析汇总报文,并对解析得到的汽车报文信号进行持久化存储。而当查询终端130发起针对于车辆110的总线数据查询请求时,则直接在数据服务器120中进行相应汽车报文信号的查询。其中,汽车信号报文配置文件也称为dbc(database can)文件,其定义了车辆110内控制器局域网络(can)总线的通讯格式,由于车辆110上报的汇总报文通常包括一些车辆总线数据,因此根据适配于车辆110的汽车信号报文配置文件能够解析相应的汇总报文。
30.需要说明的是,图1所示实施环境中的车辆110可以是具有车联网功能的智能车辆;数据服务器120可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供大数据和人工智能平台等基础云计算服务的云服务器;若数据服务器120包括多个物理服务器,多个物理服务器则可组成一区块链,每个物理服务器为区块链上的节点;查询终端130可以是智能手机、平板、笔记本电脑、计算机等汽车报文存储设备,本处均不进行限制。
31.图2是本技术的一示例性实施例示出的汽车报文存储方法的流程图。该方法可以应用于图1所示的实施环境,并由图1所示实施例环境中的数据服务器120具体执行。在其它的实施环境中,该方法也可以有其它的设备具体执行,本处不对此进行限制。
32.以下将以数据服务器作为示例性的执行主体对本实施例提出的汽车报文存储方法进行介绍。如图2所示,在一示例性实施例中,该汽车报文存储方法可以包括步骤s210至步骤s250,详细介绍如下:
33.步骤s210,接收车辆上报的汇总报文。
34.在本实施例中,车辆每隔固定频率会向数据服务器上报一次汇总报文,汇总报文包括车辆内生成的一些车辆总线数据,例如,车辆内配置的ecu单元会通过车内can总线上报自身车辆的汽车故障诊断数据,这些汽车故障诊断数据则为车辆总线数据。
35.车辆总线数据通常包含有不同频率的汽车报文信号,例如包括1s、5s、30s、60s等频率的汽车报文信号。不同频率的汽车报文信号经汇总后一般采用base64编码方式进行加密,并将得到的加密数据存储为json格式的文件,以得到汇总报文。
36.步骤s230,根据适配于车辆的汽车信号报文配置文件解析汇总报文,得到解析后的汽车报文信号,其中,汽车信号报文配置文件定义了车辆内控制器局域网络总线的通讯格式。
37.由于车辆上报的汇总报文通常是将不同频率的汽车报文信号经汇总后采用base64编码方式进行加密,并将得到的加密数据另存为的json格式文件,如果直接存储汇总报文,当需要查询车辆上报的车辆总线数据时,例如汽车故障诊断场景下需查询车辆上报的汽车故障诊断数据时,需将对应的汇总报文加载至内存中进行解析处理,再从解析结果中查找到相应的汽车报文信号,会消耗大量的计算资源和查询时间。
38.为避免出现以上问题,本实施例采用先对车辆上报的汇总报文进行解析,再对解析后的汽车报文信号进行持久化存储的策略来进行车辆上报的车辆总线数据的存储。
39.如前所述的,汽车信号报文配置文件也称为dbc文件,其定义了车辆内can总线的通讯格式。通常而言,不同车型的车辆对于车内can总线的通讯格式的定义方式可能不同,因此不同车型的车辆可能配置不同的dbc文件,因此需根据适配于相应车辆的dbc文件来进行该车辆上报的汇总文件的解析处理。
40.dbc文件也可理解为是车内can总线的数据库文件,其中包含有汽车报文信号的信号名、信号频率、信号id(identity document,身份标识号)、所属euc组件名称等格式信息,基于这些格式信息则可对车辆上报的汇总报文进行解析,以得到不同频率的汽车报文信号。
41.由于车辆上报的汇总报文通常是由车辆中不同频率的汽车报文信号经汇总后采用base64编码方式进行加密,并将得到的加密数据存储为json格式的文件所得到的,因此在对汇总文件的解析过程中,需先对汇总报文进行反序列化处理和解码处理以得到待解析数据,再根据适配于车辆的dbc文件来从待解析数据中解析出不同频率的汽车报文信号。
42.步骤s250,对解析后的汽车报文信号进行持久化存储,以在接收到针对于车辆的总线数据查询请求时,直接查询持久化存储的汽车报文信号。
43.本实施例在得到解析后的汽车报文信号之后,通过对这些汽车报文信号进行持久化存储,则可基于这些持久化存储的汽车报文信号实现汽车报文信号的查询。示例性来说,
当接收到针对于车辆的总线数据查询请求时,则可直接查询持久化存储的汽车报文信号。
44.而在直接对车辆上报的汇总报文进行持久化存储的方式下,当接收到针对于车辆的总线数据查询请求时,需先查询包含有待查询的车辆总线数据的汇总报文,并将拆查询到的汇总报文加载至内存中进行解析处理,然后再从解析得到的多个汽车报文信号中查询得到目标汽车报文信号。可以看出,该查询过程需要耗费较多的计算资源,当查询量较大时容易造成计算资源缺乏的问题,影响用户体验,并且繁杂的数据查询过程也会耗费较多的查询时间,进一步影响用户体验。
45.而本实施例所提供的技术方案是先对车辆上报的汇总报文进行解析,再对解析后的汽车报文信号进行持久化存储,一方面在数据存储阶段进行汇总报文的解析不会影响用户的查询体验,另一方面在数据查询阶段避免进行汇总报文的解析,能够在较大程度地上提升用户的查询体验。举例来说,在汽车故障诊断场景下,基于本实施例提供的方法进行车辆上报的汽车报文信号的存储,用户通过汽车故障诊断终端可以迅速地查询与待诊断车辆有关的汽车报文信号,从而根据这些汽车报文信号对诊断车辆进行更加准确的故障诊断,用户体验良好。
46.图3是图2所示实施例中的步骤s250在一示例性实施例中的流程图。如图3所示,图2所示步骤s250中对解析后的汽车报文信号进行持久化存储的过程可以包括步骤s2501至步骤s2502,详细介绍如下:
47.步骤s2501,将解析后的汽车报文信号存储至第一存储组件中,其中,第一存储组件支持汽车报文信号的实时查询。
48.考虑到在大多数情况下汽车报文的存储需用于支持实现汽车报文的实时查询,本实施例中提供用于支持汽车报文信号的实时查询的第一存储组件,优先将解析后的汽车报文信号存储至第一存储组件中。
49.由于第一存储组件支持汽车报文信号的实时查询,第一存储组件需至少具有数据批量写入与查询性能较好的特点,基于此,第一存储组件可具体实现为hbase数据库,这是一种大数据列式存储数据库,其中设置有多个存储单元,不同的存储单元可用于存储不同频率的汽车报文数据,由此具有数据批量写入与查询性能较好的优点。需要说明的是,本实施例也可以采用其它能够支持汽车报文信号的实时查询的存储组件,第一存储组件并不限于如上提及的hbase数据库。
50.在一些实施例中,解析后的汽车报文数据可以通过消息队列传输至第一存储组件中,该消息队列可设有不同的主题(topic,可支持数据消费方的订阅),不同的主题分别用于传输不同频率的汽车报文信号,也即不同频率的汽车报文信号将通过不同的主题传输至第一存储组件的不同存储单元中,以实现汽车报文数据的快速写入。示例性的,消息队列可采用卡夫卡(kafka)等类型的消息队列,本实施例不对此进行限制。
51.步骤s2502,定期将第一存储组件中的汽车报文信号备份至第二存储组件中进行存储,其中,第二存储组件对应的数据存储成本低于第一存储组件对应的数据存储成本。
52.本实施例还考虑到用于支持实现汽车报文信号的实时查询的第一存储组件的数据存储成本通常较大,而实际应用场景中随着智能车辆数量的增多,需存储的汽车报文信号的数据量将越来越大,仅采用第一存储组件进行汽车报文信号的存储会导致企业成本负担较高的问题,不利于车联网技术的发展。基于此,本实施例还定期将第一存储组件中的汽
车报文信号备份至第二存储组件中进行存储,例如每日凌晨进行汽车报文信号的备份,第二存储组件对应的数据存储成本低于第一存储组件对应的数据存储成本,对应而言,第二存储组件的数据写入性能以及数据查询性能通常低于第一存储组件。
53.示例性的,第二存储组件可采用hdfs(hadoop distributed file system,分布式文件系统),这是一种大数据文件系统,具有高吞吐的数据传输性能,但数据传输的延时较高。第二存储组件也可以采用其它的存储系统,在此不进行限制,需要说明的是,第二存储组件通常具有更大的存储空间,不仅能够支持实际应用场景下的汽车报文信号对于存储容量的需求,同时降低数据存储成本。
54.基于第二存储组件所进行的数据备份,第一存储组件中存储的汽车报文信号则可在存储时间长度到达指定长度内自行清理,例如存储至第一存储组件中的汽车报文数据将在7日后过期被自动清理,以节约第一存储组件的存储空间,也能够减小第一存储组件的使用成本。
55.基于本实施例提出的汽车报文存储架构,不仅基于第一存储组件实现了汽车报文信号的实时查询,还针对汽车报文信号实现了热数据在第二存储组件中的备份,由此能够在较大程度降低了针对汽车报文信号进行持久化存储的存储成本。
56.还需要说明的是,示例性的,可通过定期对第一存储组件中存储的汽车报文信号进行压缩处理,得到压缩数据,再将压缩数据存储为第二存储组件中的数据文件,并在第二存储组件所提供的索引表中更新该数据文件在第二存储组件中的存储地址,以实现定期将第一存储组件中的汽车报文信号备份至第二存储组件中进行存储,相当于实现了汽车报文信号对应的热数据备份。例如以第二存储组件为hdfs文件系统为示例,通过定期将第一存储组件中存储的汽车报文信号压缩为parquet(一种按列压缩存储格式)格式的压缩数据,并将此压缩数据存储为hdfs文件系统中的一个parquet文件,在hdfs文件系统中的mariadb(基于事务的maria存储引擎)索引表中存储parquet文件对应的hdfs存储地址,即可将实现定期将第一存储组件中的汽车报文信号迁移至hdfs文件系统中进行存储。
57.在另一示例性的实施例中,在将第一存储组件中的汽车报文信号迁移至第二存储组件中进行存储之后,还在离线数据查询引擎中建立外部表,外部表用于支持进行第二存储组件中存储的汽车报文信号的离线查询。其中,离线数据查询引擎部署在数据服务器中,例如可以是hive(一种大数据存储与查询引擎)引擎,本处不进行限制。
58.所建立的外部表中含有第二存储组件中存储的汽车报文信号的元数据,因此离线查询任务可基于外部表进行第二存储组件中存储的汽车报文信号的查询聚合,从而支持实现第二存储组件中数据的离线查询,满足实际应用场景中对于汽车报文数据的离线查询需求。
59.外部表的表结构还可参照dbc文件的文件结构进行设置,例如,外部表所描述的汽车报文信号的格式与dbc文件所定义的汽车报文信号的格式相对对应,在建立外部表之后,还可以监听外部表的表结构与dbc文件的文件结构之间的异同,若监听到存在异同,则确定dbc文件的文件结构存在更新,并根据更新后的dbc文件结构对应更新外部表的表结构,由此实现数据服务器自动根据dbc文件更新离线数据查询引擎中外部表的表结构,能够保证汽车报文信号在离线查询过程中的可靠性。
60.在另一示例性的实施例中,如图4所示,在图3所示实施例的基础上,步骤s250中对
解析后的汽车报文信号进行持久化存储的过程还包括步骤s2503至步骤s2504,详细介绍如下:
61.步骤s2503,定期检测第二存储组件中含有的冷数据,冷数据包括在第一时间长度内未被查询的汽车报文信号。
62.首先说明的是,本实施例定期检测第二存储组件中存储的冷数据,并将检测到的冷数据迁移至第三存储组件中进行存储,目的在于减轻第二存储组件中的数据量,同时进一步降低数据存储成本。
63.冷数据是指在较长时间段内未被查询的汽车报文信号,通过检测第二存储组件中在第一时间长度内未被查询的汽车报文信号,则可将检测到的汽车报文信号作为冷数据。示例性的,第一时间长度可以是180日,也可以根据实际的应用场景进行设置,本实施例不进行限制。
64.步骤s2504,将检测到的冷数据迁移至第三存储组件中进行存储,其中,第三存储组件对应的数据存储成本低于第二存储组件对应的数据存储成本。
65.由于第三存储组件对应的数据存储成本低于第二存储组件对应的数据存储成本,通常而言,第三存储组件所具备的数据写入以及查询性能相比于第二存储组件会更低,但由于冷数据几乎没有查询需求,因此将冷数据迁移至第三存储组件中不会对实际的应用场景产生影响。示例性的,第三存储组件可采用cos存储系统,这是腾讯公司自行开发的云对象存储系统,因此可以降低冷数据的存储成本。
66.此外为了支持所有汽车报文信号的查询,即使是冷数据也仍需具有离线查询的功能,因此在一个示例性的实施例中,在将检测到的冷数据迁移至第三存储组件中之后,还根据冷数据在第三存储组件中的存储地址,在离线数据查询引擎所建立的外部表中更新冷数据对应的数据查询地址,以便于进行冷数据的离线查询。
67.由此可知,本实施例所提供的汽车报文存储系统同时支持热数据备份和冷数据迁移,从而动态地进行汽车报文信号的存储,能够降低将汽车报文存储所需的数据存储成本,进而能够为车联网技术的不断发展提供较好的数据存储服务。
68.在另一示例性的实施例中,如图5所示,图2所示实施例中的步骤s250中对解析后的汽车报文信号进行持久化存储的过程还可以包括步骤s510和步骤s530,详细介绍如下:
69.步骤s510,周期性获取在第二时间长度内解析得到的汽车报文信号。
70.在本实施例中,考虑到在汽车报文信号查询的实时性需求不高的情况下,可以周期性获取在第二时间长度内解析得到的汽车报文信号,将周期性获取到的汽车报文信号存储至第二存储组件中,以实现汽车报文信号的离线查询。示例性的,第二时间长度用于表征汽车报文的存储频率,例如可以是每小时,也可以根据实际的应用场景进行设置,本处也不对此进行限制。
71.步骤s530,将获取到的汽车报文信号存储至第二存储组件中,并在离线数据查询引擎中建立外部表,以基于第二存储组件提供汽车报文信号的离线查询。
72.为实现汽车报文信号的离线查询,仍可按照前述实施例中记载的过程将周期性获取到的汽车报文信号存储至第二存储组件中,并在离线数据查询引擎中建立外部表,本处不再赘述。
73.还需要说明的是,在实际的应用场景下,查询汽车报文信号的实时性等级可以预
先设定。因此在进行解析后的汽车报文信号的存储之前,还可获取预先设置的实时性查询等级,其中第一查询等级所表征的实时性大于第二查询等级所表征的实时性,因此当获取到第一查询等级时执行图3所示实施例中的步骤,而在获取到第二查询等级时执行图5所示实施例中的步骤,由此进一步降低汽车报文存储成本。
74.图6是本技术的一示例性实施例示出的汽车报文存储系统的结构示意图。如图6所示,基于汽车报文的信号流向可以看出该汽车报文存储系统包括消息队列组件610、数据存储处理组件620、第一存储组件630、数据备份处理组件640、第二存储组件650、第三存储组件660、离线数据查询引擎670等组件。
75.其中,消息队列组件610用于接收车辆通过消息队列上报的汇总报文,并针对汇总报文解析base64编码并进行json反序列化处理,得到待解析数据,以及根据适配于车辆的dbc文件将待解析数据拆分为不同频率的汽车报文信号,并通过消息队列将不同频率的汽车报文信号传输至数据存储处理组件620。
76.数据存储处理组件620接收到消息队列组件610发送的不同频率的汽车报文信号之后,自动将不同频率的汽车报文信号存储至第一存储组件630中。因此,第一存储组件630用于存储汽车报文信号,该汽车报文信号是对车辆上报的汇总报文进行解析所得到的。第一存储组件630具有较好的数据批量写入和查询性能,可以满足实时查询与大量数据写入的需求,因此第一存储组件630支持汽车报文信号的实时查询。
77.数据备份处理组件640用于定期将第一存储组件630中的汽车报文信号备份至第二存储组件650中进行存储,因此第二存储组件650用于存储定期从第一存储组件630中迁移的汽车报文信号。并且,第二存储组件650对应的数据存储成本低于第一存储组件630对应的数据存储成本。
78.数据备份处理组件640还用于定期检测第二存储组件650中含有的冷数据,并将检测到的冷数据迁移至第三存储组件660中进行存储,因此第三存储组件660用于存储定期从第二存储组件650中迁移的冷数据。第三存储组件660对应的数据存储成本低于第二存储组件650对应的数据存储成本。
79.离线数据查询引擎670用于提供离线数据查询功能,其中建立有外部表,外部表用于支持进行第二存储组件650和第三存储组件660中存储的汽车报文信号的离线查询。
80.在图6所提供的车辆报文存储系统中,通过设置第一存储组件630、第二存储组件650和第三存储组件660所形成的汽车报文信号存储架构,不仅能够提供汽车报文信号的实时查询和离线查询,还能够节省数据存储成本。并且,车辆报文存储系统所存储的是车辆汇总报文经由解析后的汽车报文信号,从车辆报文存储系统中实时查询或离线查询的并不是汇总报文,而是预先经由解析的汽车报文信号,在查询过程中从而无需将汇总报文全部加载至内存中进行解析后查询,由此能够降低车辆总线数据查询所需的计算资源,同时节省了查询所需时间。
81.图7是本技术的一示例性实施例示出的汽车报文存储装置的框图。该装置可以适用于图1所示的实施环境,例如部署在图1所示的数据服务器120中,针对车辆110上报的汇总报文进行存储。
82.如图7所示,该汽车报文存储装置包括:
83.报文接收模块710,配置为接收车辆上报的汇总报文;报文解析模块730,配置为根
据适配于车辆的汽车信号报文配置文件解析汇总报文,得到解析后的汽车报文信号,其中,汽车信号报文配置文件定义了车辆内控制器局域网络总线的通讯格式;持久化存储模块750,配置为对解析后的汽车报文信号进行持久化存储,以在接收到针对于车辆的总线数据查询请求时,直接查询持久化存储的汽车报文信号。
84.本实施例提供的装置是先对车辆上报的汇总报文进行解析,再对解析后的汽车报文信号进行持久化存储,一方面在数据存储阶段进行汇总报文的解析不会影响用户的查询体验,另一方面在数据查询阶段避免进行汇总报文的解析,能够在较大程度地上提升用户的查询体验。
85.在另一示例性的实施例中,持久化存储模块750包括:
86.第一存储单元,配置为将解析后的汽车报文信号存储至第一存储组件中,其中,第一存储组件支持汽车报文信号的实时查询;第二存储单元,配置于定期将第一存储组件中的汽车报文信号备份至第二存储组件中进行存储,其中,第二存储组件对应的数据存储成本低于第一存储组件对应的数据存储成本。
87.在另一示例性的实施例中,第二存储单元包括:
88.报文压缩子单元,配置为定期复制第一存储组件中存储的汽车报文信号,并对复制的汽车报文信号进行压缩处理,得到压缩数据;压缩数据存储子单元,配置为将压缩数据存储为第二存储组件中的数据文件,并在第二存储组件所提供的索引表中更新数据文件在第二存储组件中的存储地址。
89.在另一示例性的实施例中,第二存储单元还包括:
90.外部表建立子单元,配置为在离线数据查询引擎中建立外部表,外部表用于支持进行第二存储组件中存储的汽车报文信号的离线查询。
91.在另一示例性的实施例中,第二存储单元还包括:
92.异同监听子单元,配置为监听外部表的表结构与汽车信号报文配置文件的文件结构之间的异同,若监听到异同,则确定汽车信号报文配置文件的文件结构存在更新,并根据更新后的文件结构对应更新外部表的表结构。
93.在另一示例性的实施例中,持久化存储模块750还包括:
94.冷数据检测单元,配置为定期检测第二存储组件中含有的冷数据,冷数据包括在第一时间长度内未被查询的汽车报文信号;第三存储单元,配置为将检测到的冷数据迁移至第三存储组件中进行存储,其中,第三存储组件对应的数据存储成本低于第二存储组件对应的数据存储成本。
95.在另一示例性的实施例中,持久化存储模块750还包括:
96.查询地址更新单元,配置为根据冷数据在第三存储组件中的存储地址,在离线数据查询引擎所建立的外部表中更新冷数据对应的数据查询地址。
97.在另一示例性的实施例中,持久化存储模块750还包括:
98.报文信号获取单元,配置为周期性获取在第二时间长度内解析得到的汽车报文信号;第四存储单元,配置为将获取到的汽车报文信号存储至第二存储组件中,并在离线数据查询引擎中建立外部表,以基于第二存储组件提供汽车报文信号的离线查询。
99.在另一示例性的实施例中,报文解析模块730包括:
100.预处理单元,配置为对汇总报文进行反序列化处理和解码处理,得到待解析数据;
数据拆分单元,配置为根据汽车信号报文配置文件所定义的通讯格式,从待解析数据中获取不同频率的汽车报文信号,以将不同频率的汽车报文信号作为解析后的汽车报文信号。
101.在另一示例性的实施例中,报文解析模块730还包括:
102.报文传输单元,配置为将解析后的汽车报文信号发送至消息队列,以基于消息队列将解析后的汽车报文信号传输至数据存储组件中进行持久化存储,其中,消息队列设有不同的主题,不同的主题分别用于传输不同频率的汽车报文信号。
103.需要说明的是,上述实施例所提供的装置与上述实施例所提供的方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
104.本技术的实施例还提供了一种汽车报文存储设备,包括处理器和存储器,其中,存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时实现如前所述的汽车报文存储方法。
105.图8示出了适于用来实现本技术实施例的汽车报文存储设备的计算机系统的结构示意图。
106.需要说明的是,图8示出的汽车报文存储设备的计算机系统800仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
107.如图8所示,计算机系统800包括中央处理单元(central processing unit,cpu)801,其可以根据存储在只读存储器(read

only memory,rom)802中的程序或者从储存部分808加载到随机访问存储器(random access memory,ram)803中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在ram 803中,还存储有系统操作所需的各种程序和数据。cpu 801、rom 802以及ram 803通过总线804彼此相连。输入/输出(input /output,i/o)接口805也连接至总线804。
108.以下部件连接至i/o接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(cathode ray tube,crt)、液晶显示器(liquid crystal display,lcd)等以及扬声器等的输出部分807;包括硬盘等的储存部分808;以及包括诸如lan(local area network,局域网)卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至i/o接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入储存部分808。
109.特别地,根据本技术的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(cpu)801执行时,执行本技术的系统中限定的各种功能。
110.需要说明的是,本技术实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算
机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read

only memory,cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
111.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
112.描述于本技术实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
113.本技术的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的汽车报文存储方法。该计算机可读存储介质可以是上述实施例中描述的汽车报文存储设备中所包含的,也可以是单独存在,而未装配入该汽车报文存储设备中。
114.本技术的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的汽车报文存储方法。
115.上述内容,仅为本技术的较佳示例性实施例,并非用于限制本技术的实施方案,本领域普通技术人员根据本技术的主要构思和精神,可以十分方便地进行相应的变通或修改,故本技术的保护范围应以权利要求书所要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1