CN111797098B - 一种报文解析方法、装置及车载终端 - Google Patents
一种报文解析方法、装置及车载终端 Download PDFInfo
- Publication number
- CN111797098B CN111797098B CN202010622247.2A CN202010622247A CN111797098B CN 111797098 B CN111797098 B CN 111797098B CN 202010622247 A CN202010622247 A CN 202010622247A CN 111797098 B CN111797098 B CN 111797098B
- Authority
- CN
- China
- Prior art keywords
- message
- dbc
- description information
- index file
- storage position
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000004891 communication Methods 0.000 claims description 9
- 238000011161 development Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种报文解析方法、装置及车载终端,接收待解析报文和其报文标识;将报文标识作为查询索引,从DBC索引文件中查询与报文标识对应的报文描述信息的存储位置,依据存储位置在DBC索引文件中查询与待解析报文对应的报文描述信息,利用查询到的报文描述信息对待解析报文进行解析。由于DBC索引文件中预先将报文描述信息以索引的方式进行存储,在查询的过程中,利用报文标识作为查询索引,直接查询报文描述信息,无需对整个DBC索引文件中的内容都进行遍历,直接利用索引,便可准确、快速定位到报文描述信息,能够尽快利用查询到的报文描述信息对待解析报文进行解析,提高报文解析速度。
Description
技术领域
本发明涉及数据处理技术领域,更具体的说,是涉及一种报文解析方法、装置及车载终端。
背景技术
在整车开发过程中,车厂通常会根据通信矩阵生成DBC(Database ControllerArea Network,控制器局域网络数据库)文件,DBC文件是汽车业界内通用的一种标准文件,DBC文件描述了整车中CAN(Controller Area Network,控制器局域网络)信号网络中的报文结构、格式等相关信息。整车中的ECU(Electronic Control Unit电子控制单元)主要是利用DBC文件对从CAN总线上接收到的报文进行解析。
如果直接利用DBC文件进行报文的解析,解析过程复杂,解析速度慢。
发明内容
有鉴于此,本发明提供了一种报文解析方法、装置及车载终端,以克服现有技术中直接利用DBC文件进行报文的解析,解析过程复杂,解析速度慢的问题。
为实现上述目的,本发明提供如下技术方案:
一种报文解析方法,应用于车载电子控制单元ECU,包括:
接收待解析报文和其报文标识;
将所述报文标识作为查询索引,从预先加载的DBC索引文件中查询与所述报文标识对应的报文描述信息的存储位置,并依据所述存储位置在所述DBC索引文件中查询与所述待解析报文对应的报文描述信息,所述DBC索引文件至少包括:报文标识、报文描述信息的存储位置以及报文描述信息;
利用查询到的报文描述信息对所述待解析报文进行解析。
优选的,所述DBC索引文件的建立过程包括:
获取DBC文件;
在所述DBC文件中确定不同类型的报文对应的报文描述信息;
将所述报文描述信息至少以报文标识以及报文描述信息的存储位置为索引进行分类存储,生成DBC索引文件。
优选的,所述将所述报文描述信息至少以报文标识以及报文描述信息的存储位置为索引进行分类存储,生成DBC索引文件包括:
依据报文标识、报文描述信息的起始存储位置以及每种报文类型对应的信号个数,建立一级索引文件;
依据所述一级索引文件,确定每种类型的报文中每个信号在所述DBC索引文件中的存储位置;
依据所述每个信号在所述DBC索引文件中的存储位置,将每个信号的信号内容存储在二级索引文件中,生成DBC索引文件。
优选的,所述将所述报文标识作为查询索引,从预先加载的DBC索引文件中查询与所述报文标识对应的报文描述信息的存储位置,并依据所述存储位置在所述DBC索引文件中查询与所述待解析报文对应的报文描述信息包括:
将所述报文标识作为查询索引,从所述一级索引文件中查询与所述报文标识对应的报文描述信息的起始存储位置以及信号个数;
依据查询到的与所述报文标识对应的报文描述信息的起始存储位置以及信号个数,从所述二级索引文件中查询所述待解析报文包含的所有信号的信号内容。
优选的,所述DBC索引文件的加载过程包括:
读取DBC索引文件中的内容,并将读取的内容加载到链表中。
优选的,在利用查询到的报文描述信息对所述待解析报文进行解析之后,还包括:
利用socket通信方式将对所述待解析报文进行解析后得到的解析结果输出。
一种报文解析装置,应用于ECU,包括:
接收单元,用于接收待解析报文和其报文标识;
查询单元,用于将所述报文标识作为查询索引,从预先加载的DBC索引文件中查询与所述报文标识对应的报文描述信息的存储位置,并依据所述存储位置在所述DBC索引文件中查询与所述待解析报文对应的报文描述信息,所述DBC索引文件至少包括:报文标识、报文描述信息的存储位置以及报文描述信息;
解析单元,用于利用查询到的报文描述信息对所述待解析报文进行解析。
优选的,还包括:索引文件建立单元,所述索引文件建立单元包括:
DBC文件获取单元,用于获取DBC文件;
报文描述信息确定单元,用于在所述DBC文件中确定不同类型的报文对应的报文描述信息;
分类存储单元,用于将所述报文描述信息至少以报文标识以及报文描述信息的存储位置为索引进行分类存储,生成DBC索引文件。
优选的,所述分类存储单元具体用于:
依据报文标识、报文描述信息的起始存储位置以及每种报文类型对应的信号个数,建立一级索引文件;
依据所述一级索引文件,确定每种类型的报文中每个信号在所述DBC索引文件中的存储位置;
依据所述每个信号在所述DBC索引文件中的存储位置,将每个信号的信号内容存储在二级索引文件中,生成DBC索引文件。
一种车载终端,所述车载终端至少包括:处理器以及存储器;
所述处理器,用于调用并执行所述存储器中存储的程序;
所述存储器用于存储所述程序,所述程序至少用于:执行如上所述的报文解析方法。
经由上述的技术方案可知,与现有技术相比,本发明提供了一种报文解析方法、装置及车载终端,通过接收待解析报文和其报文标识;从而将报文标识作为查询索引,从预先加载的DBC索引文件中首先查询与报文标识对应的报文描述信息的存储位置,然后依据存储位置在DBC索引文件中查询与待解析报文对应的报文描述信息,最后利用查询到的报文描述信息对所述待解析报文进行解析。由于DBC索引文件中预先将报文描述信息以索引的方式进行存储,从而在查询的过程中,可以利用报文标识作为查询索引,直接查询到与报文标识对应的报文描述信息的存储位置,从而在该存储位置上直接获取报文描述信息,可见本发明实施例上述方法在查找待解析报文对应的报文描述信息的时候,无需对整个DBC索引文件中的内容都进行遍历,直接利用索引,便可准确、快速定位到与报文标识对应的报文描述信息的存储位置,进而在该存储位置上直接获取报文描述信息,最终能够尽快利用查询到的报文描述信息对待解析报文进行解析,提高报文解析速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的报文解析方法流程图;
图2为本发明实施例提供的DBC索引文件建立的方法流程图;
图3为本发明实施例提供的DBC索引文件的具体结构示意图;
图4为本发明实施例提供的查询报文描述信息的方法流程图;
图5为本发明实施例提供的报文解析装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在整车开发过程中,车厂通常会根据通信矩阵生成DBC文件,DBC文件是汽车业界内通用的一种标准文件,DBC文件描述了整车中CAN信号网络中的报文结构、格式等相关信息。整车中的ECU主要是利用DBC文件对从CAN总线上接收到的报文进行解析。
由于不同厂商或不同的车型等,都会对应不同的通信矩阵,如果通信矩阵需要进行更新的话,相应的DBC文件也会进行更新,如果直接利用DBC文件进行报文的解析的话,受DBC文件格式的限定,需要改动ECU嵌入式程序中报文解析相关软件代码,会导致解析过程复杂,解析速度慢,需要在服务器一端将更新的通信矩阵转化成DBC文件,然后通过人工的方式将DBC文件转化成整车能够方便识别的格式,然后再将转化后的DBC文件传输到整车中,进行报文的解析。然而人工转化的过程需要技术员不断反复进行修正、测试以及验证,增加大量繁琐、重复的工作,效率低,同时也增加了出错的几率,增加了相应的开发成本。
发明人为了解决上述技术问题,通过进一步研究,提出了一种报文解析方法、装置及车载终端,通过接收待解析报文和其报文标识;从而将报文标识作为查询索引,从预先加载的DBC索引文件中首先查询与报文标识对应的报文描述信息的存储位置,然后依据查询到的存储位置在DBC索引文件中查询与待解析报文对应的报文描述信息,最后利用报文描述信息对所述待解析报文进行解析。由于DBC索引文件中预先将报文描述信息以索引的方式进行存储,从而在查询的过程中,可以利用报文标识作为查询索引,直接查询到与报文标识对应的报文描述信息的存储位置,从而在该存储位置上直接获取报文描述信息,可见本发明实施例上述方法在查找待解析报文对应的报文描述信息的时候,无需对整个DBC索引文件中的内容都进行遍历,直接利用索引,便可准确、快速定位到与报文标识对应的报文描述信息的存储位置,进而在该存储位置上直接获取报文描述信息,最终能够尽快利用查询到的报文描述信息对待解析报文进行解析,提高报文解析速度。并且本发明实施例中利用车载ECU自动将DBC文件转化成DBC索引文件,无需人工的参与,便可快速、准确的实现转化,效率高,降低开发成本。
下面对本发明实施例提供的报文解析方法进行介绍。图1为本发明实施例提供的报文解析方法的流程图,该方法可应用于ECU,参照图1,所述方法可以包括:
步骤S100、接收待解析报文和其报文标识;
待解析报文为从总线中接收到的报文,报文标识用于唯一标识一种报文类型,不同类型的报文具有不同的报文标识,报文标识随同待解析报文一起通过总线发送过来。
步骤S110、将报文标识作为查询索引,从预先加载的DBC索引文件中查询与报文标识对应的报文描述信息的存储位置,并依据存储位置在DBC索引文件中查询与待解析报文对应的报文描述信息;
所述DBC索引文件至少包括:报文标识、报文描述信息的存储位置以及报文描述信息。
DBC索引文件是将DBC文件中不同类型的报文与其所对应的报文描述信息建立对应关系,并按照预设顺序分类存储。不同类型的报文对应的报文描述信息的索引为对应类型的报文的报文标识以及与报文类型对应的报文描述信息的存储位置。
报文描述信息指的是与报文内容、报文属性等相关内容的描述。
存储位置指的是报文类型对应的报文描述信息在DBC索引文件中的存储位置。
本发明实施例通过以报文标识作为查询索引,首先从DBC索引文件中查询与报文标识对应的报文描述信息的存储位置,然后依据查询到的存储位置,在DBC索引文件中相应的存储位置上查询与待解析报文对应的报文描述信息。
步骤S120、利用查询到的报文描述信息对所述待解析报文进行解析。
由于报文描述信息主要是与报文内容、报文属性等相关的描述信息,本发明实施例可以利用报文描述信息从待解析报文中将报文的具体内容解析出来。
可选的,本发明实施例在利用查询到的报文描述信息对所述待解析报文进行解析之后,还包括:
利用socket通信方式将对所述待解析报文进行解析后得到的解析结果输出。业务逻辑的进程只需要通过监听socket接口的方式,就能够从socket接口中获得解析结果。
本发明实施例通过接收待解析报文和其报文标识;从而将报文标识作为查询索引,从预先加载的DBC索引文件中首先查询与报文标识对应的报文描述信息的存储位置,然后依据存储位置在DBC索引文件中查询与待解析报文对应的报文描述信息,最后利用查询到的报文描述信息对所述待解析报文进行解析。由于DBC索引文件中预先将报文描述信息以索引的方式进行存储,从而在查询的过程中,可以利用报文标识作为查询索引,直接查询到与报文标识对应的报文描述信息的存储位置,从而在该存储位置上直接获取报文描述信息,可见本发明实施例上述方法在查找待解析报文对应的报文描述信息的时候,无需对整个DBC索引文件中的内容都进行遍历,直接利用索引,便可准确、快速定位到与报文标识对应的报文描述信息的存储位置,进而在该存储位置上直接获取报文描述信息,最终能够尽快利用查询到的报文描述信息对待解析报文进行解析,提高报文解析速度。
由上述技术方案可知,本发明实施例主要是利用DBC索引文件进行报文解析,才会提高报文解析速度,下面本发明以一个具体的实施例详细说明DBC索引文件的建立过程,DBC索引文件的建立过程可以是在ECU上电之后执行的,图2为本发明实施例提供的DBC索引文件的建立方法的流程图,该方法可应用于ECU,参照图2,所述方法可以包括:
步骤S200、获取DBC文件;
步骤S212、在DBC文件中确定不同类型的报文对应的报文描述信息;
步骤S220、将报文描述信息至少以报文标识以及报文描述信息的存储位置为索引进行分类存储,生成DBC索引文件。
本发明实施例主要是将DBC文件转化为DBC索引文件,将报文描述信息至少以报文标识以及报文描述信息的存储位置为索引进行分类存储,这种存储方式能够加快信息的查找速度。
具体的,本发明实施例首先依据报文标识、报文描述信息的起始存储位置以及每种报文类型对应的信号个数,建立一级索引文件;然后依据所述一级索引文件,确定每种类型的报文中每个信号在所述DBC索引文件中的存储位置;最后依据每个信号在所述DBC索引文件中的存储位置,将每个信号的信号内容存储在二级索引文件中,生成DBC索引文件。
可选的,本发明实施例可以在DBC文件中寻找“BO_”关键字,通过“BO_”关键字找到报文的ID,并将报文的ID的值进行哈希(例如利用MD4哈希算法或MD5哈希算法等),生成唯一的Key,该Key为报文标识,与接收到的报文标识一致。进而在DBC文件中进一步寻找“SG_”关键字,找到每种报文类型对应的信号个数以及每种报文包含的信号的信号内容,并进行记录。
具体的,每种报文类型对应的报文描述信息的起始存储位置为报文描述信息在二级索引文件中的起始存储位置,具体可以用起始存储位置的行数表示,本发明实施例并不做具体限定。
具体的,由于一种报文包含多个信号,报文描述信息主要指的是信号的信号内容。需要说明的是,信号内容至少包括:信号起始位、信号长度、信号排列格式、信号表示的值有无符号;信号的因子、信号的偏移量、信号的最大值以及信号的最小值。其中,信号的因子与信号的偏移量之间的关系为:信号的物理值=信号的原始值*信号的因子+信号的偏移量。
本发明实施例中的一级索引文件主要用来存储索引信息,二级索引文件主要用来存储报文描述信息的具体内容。
下面图3给出了一种DBC索引文件的具体结构,图3中的Key1值、Key2值...KeyN值为不同的报文标识;key1二级索引起始行、key2二级索引起始行...KeyN二级索引起始行为每种报文类型对应的报文描述信息的起始存储位置;二级索引个数为每种报文类型对应的信号个数。
通过上述方式,能够将DBC文件中不同类型的报文对应的报文描述信息至少以报文标识以及报文描述信息的存储位置为索引进行分类存储,生成DBC索引文件,从而在报文解析的过程中,可以利用索引查找的方式,在DBC索引文件中准确、快速定位到与报文标识对应的报文描述信息的存储位置,进而在该存储位置上直接获取报文描述信息,最终能够尽快利用查询到的报文描述信息对待解析报文进行解析,提高报文解析速度。也就是说,DBC索引文件中的数据存储方式能够加快信息的查找速度。
结合上述实施例中的DBC索引文件的建立过程,下面本发明以一个查询报文描述信息的过程,图4为本发明实施例提供的该方法的流程图,该方法可应用于ECU,参照图4,所述方法可以包括:
步骤S300、将报文标识作为查询索引,从一级索引文件中查询与报文标识对应的报文描述信息的起始存储位置以及信号个数;
需要说明的是,本发明实施例在对报文进行解析之前,预先将DBC索引文件加载到内存中,从而在需要对报文进行解析的时候,能够快速从内存中调用预先加载的DBC索引文件。
具体的,DBC索引文件的加载过程包括:读取DBC索引文件中的内容,并将读取的内容加载到链表中。
具体的,本发明实施例是按照DBC索引文件的结构进行加载的,主要过程为:按照一级索引文件中内容的排列顺序,读取一级索引文件中的内容,并将读取到的一级索引文件中的内容加载到链表中;在一级索引文件中每读取到一种报文标识、报文类型对应的报文描述信息的起始存储位置以及报文类型对应的信号个数的对应关系的情况下,则依据读取到的所述对应关系,在二级索引文件中读取与所述对应关系对应的信号内容,并将读取到的所述信号内容加载到链表中,最终通过循环读取的方式,将DBC索引文件中的内容全部加载到链表中。
步骤S310、依据查询到的与报文标识对应的报文描述信息的起始存储位置以及信号个数,从二级索引文件中查询待解析报文包含的所有信号的信号内容。
下面以图3给出的DBC索引文件的结构为例,详细说明本发明实施例公开的具体查询过程:
1、将所述报文标识Key2值作为查询索引,从链表查询到报文标识Key2对应的索引文件,然后将所述报文标识Key2值作为查询索引,在所述索引文件中的一级索引文件中查询与报文标识对应的报文描述信息的起始存储位置第(Key2二级索引起始)行以及信号个数;
本发明实施例还根据报文标识的检索频率不同,对报文标识对应的索引文件进行排序,检索频率更高的索引文件会排序在前,会被作为热记录,被检索到的速度更快,因此,对索引文件进行排序能够优先检索到检索频率高的索引文件,从而在从链表查询到待解析报文标识Key2对应的索引文件的过程中,提高检索效率。
2、依据查询到的与所述报文标识对应的报文描述信息的起始存储位置以及信号个数,从所述二级索引文件中查询所述待解析报文包含的所有信号的信号内容如:[Key2]的第一个信号、[Key2]的第二个信号…[Key2]的第N个信号。
本发明实施例通过将所述报文标识作为查询索引,从一级索引文件中查询与所述报文标识对应的报文描述信息的起始存储位置以及信号个数,然后依据查询到的与所述报文标识对应的报文描述信息的起始存储位置以及信号个数,从二级索引文件中查询所述待解析报文包含的所有信号的信号内容,可见,本发明实施例能够利用索引查找的方式,在DBC索引文件中准确、快速定位到与报文标识对应的报文描述信息的起始存储位置以及信号个数,进而在该存储位置上直接获取待解析报文包含的所有信号的信号内容,最终能够尽快利用查询到的报文描述信息对待解析报文进行解析,提高报文解析速度。并且,本发明实施例并不是直接利用DBC文件进行报文的解析,不需要改动ECU嵌入式程序中报文解析相关软件代码,会导致解析过程简单,解析速度快,减少开发成本。
DBC文件转化成DBC索引文件的过程以及查询的过程可以进行单独的OTA(Overthe Air,空中下载技术)升级以及进行加密,对于整车开发过程中更加的便利与安全。
图5为本发明实施例提供的报文解析装置的结构框图,该报文解析装置具体可以应用于ECU,参照图5,该报文解析装置可以包括:
接收单元400,用于接收待解析报文和其报文标识;
查询单元410,用于将所述报文标识作为查询索引,从预先加载的DBC索引文件中查询与所述报文标识对应的报文描述信息的存储位置,并依据所述存储位置在所述DBC索引文件中查询与所述待解析报文对应的报文描述信息,所述DBC索引文件至少包括:报文标识、报文描述信息的存储位置以及报文描述信息;
解析单元420,用于利用查询到的报文描述信息对所述待解析报文进行解析。
可选的,所述装置还包括:索引文件建立单元,所述索引文件建立单元包括:
DBC文件获取单元,用于获取DBC文件;
报文描述信息确定单元,用于在所述DBC文件中确定不同类型的报文对应的报文描述信息;
分类存储单元,用于将所述报文描述信息至少以报文标识以及报文描述信息的存储位置为索引进行分类存储,生成DBC索引文件。
所述分类存储单元具体用于:
依据报文标识、每种报文类型对应的报文描述信息的起始存储位置以及每种报文类型对应的信号个数,建立一级索引文件;
依据所述一级索引文件,确定每种类型的报文中每个信号在所述DBC索引文件中的存储位置;
依据每个信号在所述DBC索引文件中的存储位置,将每个信号的信号内容存储在二级索引文件中,生成DBC索引文件。
所述分类存储单元具体还用于:
将所述报文标识作为查询索引,从所述一级索引文件中查询与所述报文标识对应的报文描述信息的起始存储位置以及信号个数;
依据查询到的与所述报文标识对应的报文描述信息的起始存储位置以及信号个数,从二级索引文件中查询所述待解析报文包含的所有信号的信号内容。
可选的,所述装置还包括:索引文件加载单元,用于读取DBC索引文件中的内容,并将读取的内容加载到链表中。
可选的,所述装置还包括:解析结果输出单元,用于利用socket通信方式将对所述待解析报文进行解析后得到的解析结果输出。
本发明实施例还公开一种车载终端,所述车载终端至少包括:处理器以及存储器;
所述处理器,用于调用并执行所述存储器中存储的程序;
所述存储器用于存储所述程序,所述程序至少用于:执行如上所述的报文解析方法。
本说明书中各个实施例中记载的技术特征可以相互替换或组合,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (6)
1.一种报文解析方法,应用于车载电子控制单元ECU,其特征在于,包括:
接收待解析报文和其报文标识;
将所述报文标识作为查询索引,从预先加载的DBC索引文件中查询与所述报文标识对应的报文描述信息的存储位置,并依据所述存储位置在所述DBC索引文件中查询与所述待解析报文对应的报文描述信息,所述DBC索引文件至少包括:报文标识、报文描述信息的存储位置以及报文描述信息;
利用查询到的报文描述信息对所述待解析报文进行解析;
所述DBC索引文件的建立过程包括:
获取DBC文件;
在所述DBC文件中确定不同类型的报文对应的报文描述信息;
将所述报文描述信息至少以报文标识以及报文描述信息的存储位置为索引进行分类存储,生成DBC索引文件;
所述将所述报文描述信息至少以报文标识以及报文描述信息的存储位置为索引进行分类存储,生成DBC索引文件包括:
依据报文标识、报文描述信息的起始存储位置以及每种报文类型对应的信号个数,建立一级索引文件;
依据所述一级索引文件,确定每种类型的报文中每个信号在所述DBC索引文件中的存储位置;
依据所述每个信号在所述DBC索引文件中的存储位置,将每个信号的信号内容存储在二级索引文件中,生成DBC索引文件。
2.根据权利要求1所述的方法,其特征在于,所述将所述报文标识作为查询索引,从预先加载的DBC索引文件中查询与所述报文标识对应的报文描述信息的存储位置,并依据所述存储位置在所述DBC索引文件中查询与所述待解析报文对应的报文描述信息包括:
将所述报文标识作为查询索引,从所述一级索引文件中查询与所述报文标识对应的报文描述信息的起始存储位置以及信号个数;
依据查询到的与所述报文标识对应的报文描述信息的起始存储位置以及信号个数,从所述二级索引文件中查询所述待解析报文包含的所有信号的信号内容。
3.根据权利要求1所述的方法,其特征在于,所述DBC索引文件的加载过程包括:
读取DBC索引文件中的内容,并将读取的内容加载到链表中。
4.根据权利要求1-3任意一项所述的方法,其特征在于,在利用查询到的报文描述信息对所述待解析报文进行解析之后,还包括:
利用socket通信方式将对所述待解析报文进行解析后得到的解析结果进行输出。
5.一种报文解析装置,应用于ECU,其特征在于,包括:
接收单元,用于接收待解析报文和其报文标识;
查询单元,用于将所述报文标识作为查询索引,从预先加载的DBC索引文件中查询与所述报文标识对应的报文描述信息的存储位置,并依据所述存储位置在所述DBC索引文件中查询与所述待解析报文对应的报文描述信息,所述DBC索引文件至少包括:报文标识、报文描述信息的存储位置以及报文描述信息;
解析单元,用于利用查询到的报文描述信息对所述待解析报文进行解析;
还包括:索引文件建立单元,所述索引文件建立单元包括:
DBC文件获取单元,用于获取DBC文件;
报文描述信息确定单元,用于在所述DBC文件中确定不同类型的报文对应的报文描述信息;
分类存储单元,用于将所述报文描述信息至少以报文标识以及报文描述信息的存储位置为索引进行分类存储,生成DBC索引文件;
所述分类存储单元具体用于:
依据报文标识、报文描述信息的起始存储位置以及每种报文类型对应的信号个数,建立一级索引文件;
依据所述一级索引文件,确定每种类型的报文中每个信号在所述DBC索引文件中的存储位置;
依据所述每个信号在所述DBC索引文件中的存储位置,将每个信号的信号内容存储在二级索引文件中,生成DBC索引文件。
6.一种车载终端,其特征在于,所述车载终端至少包括:处理器以及存储器;
所述处理器,用于调用并执行所述存储器中存储的程序;
所述存储器用于存储所述程序,所述程序至少用于:执行如上权利要求1-4任意一项所述的报文解析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010622247.2A CN111797098B (zh) | 2020-06-30 | 2020-06-30 | 一种报文解析方法、装置及车载终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010622247.2A CN111797098B (zh) | 2020-06-30 | 2020-06-30 | 一种报文解析方法、装置及车载终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111797098A CN111797098A (zh) | 2020-10-20 |
CN111797098B true CN111797098B (zh) | 2024-01-19 |
Family
ID=72811060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010622247.2A Active CN111797098B (zh) | 2020-06-30 | 2020-06-30 | 一种报文解析方法、装置及车载终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111797098B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112379883A (zh) * | 2020-11-10 | 2021-02-19 | 上海拿森汽车电子有限公司 | 一种代码文件生成方法、装置、设备及存储介质 |
CN112511441A (zh) * | 2020-11-18 | 2021-03-16 | 潍柴动力股份有限公司 | 报文的处理方法及装置 |
CN114633781A (zh) * | 2022-03-07 | 2022-06-17 | 湖南中车时代通信信号有限公司 | 一种高速磁浮列车车载数据控车的方法及相关组件 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000082066A (ja) * | 1998-09-04 | 2000-03-21 | Recruit Co Ltd | ユーザ毎にスクラップ機能を備えたネットワーク上のデータベース検索システム |
WO2009070994A1 (fr) * | 2007-11-30 | 2009-06-11 | Hangzhou H3C Technologies Co., Ltd. | Procédé et dispositif d'appariement de règle de messagerie |
CN102419752A (zh) * | 2010-09-28 | 2012-04-18 | 上海可鲁系统软件有限公司 | 一种工业数据库报文存储方法 |
CN103458039A (zh) * | 2013-09-06 | 2013-12-18 | 北京经纬恒润科技有限公司 | 报文生成方法、移动终端、通信服务器及报文生成系统 |
CN103761251A (zh) * | 2013-12-26 | 2014-04-30 | 无锡冠云信息科技有限公司 | 大数据量客户信息的存储与查找方法 |
CN108255958A (zh) * | 2017-12-21 | 2018-07-06 | 百度在线网络技术(北京)有限公司 | 数据查询方法、装置和存储介质 |
CN110769002A (zh) * | 2019-11-01 | 2020-02-07 | 上海电气集团股份有限公司 | 基于LabVIEW的报文解析方法、系统、电子设备和介质 |
CN111078657A (zh) * | 2019-12-26 | 2020-04-28 | 北京思特奇信息技术股份有限公司 | 一种分布式系统的业务日志查询方法、系统、介质及设备 |
CN111107042A (zh) * | 2018-10-26 | 2020-05-05 | 广州汽车集团股份有限公司 | 报文解析方法、装置、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11003699B2 (en) * | 2018-01-24 | 2021-05-11 | Walmart Apollo, Llc | Systems and methods for high efficiency data querying |
-
2020
- 2020-06-30 CN CN202010622247.2A patent/CN111797098B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000082066A (ja) * | 1998-09-04 | 2000-03-21 | Recruit Co Ltd | ユーザ毎にスクラップ機能を備えたネットワーク上のデータベース検索システム |
WO2009070994A1 (fr) * | 2007-11-30 | 2009-06-11 | Hangzhou H3C Technologies Co., Ltd. | Procédé et dispositif d'appariement de règle de messagerie |
CN102419752A (zh) * | 2010-09-28 | 2012-04-18 | 上海可鲁系统软件有限公司 | 一种工业数据库报文存储方法 |
CN103458039A (zh) * | 2013-09-06 | 2013-12-18 | 北京经纬恒润科技有限公司 | 报文生成方法、移动终端、通信服务器及报文生成系统 |
CN103761251A (zh) * | 2013-12-26 | 2014-04-30 | 无锡冠云信息科技有限公司 | 大数据量客户信息的存储与查找方法 |
CN108255958A (zh) * | 2017-12-21 | 2018-07-06 | 百度在线网络技术(北京)有限公司 | 数据查询方法、装置和存储介质 |
CN111107042A (zh) * | 2018-10-26 | 2020-05-05 | 广州汽车集团股份有限公司 | 报文解析方法、装置、计算机设备和存储介质 |
CN110769002A (zh) * | 2019-11-01 | 2020-02-07 | 上海电气集团股份有限公司 | 基于LabVIEW的报文解析方法、系统、电子设备和介质 |
CN111078657A (zh) * | 2019-12-26 | 2020-04-28 | 北京思特奇信息技术股份有限公司 | 一种分布式系统的业务日志查询方法、系统、介质及设备 |
Non-Patent Citations (7)
Title |
---|
Mayur A Bhosekar ; V.V. Khatavkar.Design and development of automotive IVN concept proto model for vehicle parameter monitoring and control.2017 International Conference on Trends in Electronics and Informatics (ICEI).2018,第[607-612]页. * |
Ryo Nishimaki ; Daniel Wichs ; Mark Zhandry ; .Anonymous Traitor Tracing: How to Embed Arbitrary Information in a Key.35th Annual International Conference on the Theory and Applications of Cryptographic Techniques (EUROCRYPT).2017,第[1-41]页. * |
一种UDP报文数据的搜索方法;张剑;黄坤;姚晋;;计算机与数字工程(第01期);第[89-91]页 * |
基于 USB-CAN 适配器 ECU 测试系统的设计;涂小芳;中国优秀硕士学位论文全文数据库 (工程科技Ⅱ辑);第[C035-249]页 * |
基于LabVIEW的车身电子模块自动化测试系统研究;刘铁山;中国优秀硕士学位论文全文数据库工程科技Ⅱ辑;第[C035-94]页 * |
基于XML的多协议报文解析的方法与实现;吴建斌;邹佩江;;电子测量技术;第40卷(第03期);第[168-172]页 * |
基于协处理器的HBase内存索引机制的研究;朱松杰;娄渊胜;叶枫;李凌;陈勇;;计算机工程与应用;第56卷(第01期);第[98-105]页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111797098A (zh) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111797098B (zh) | 一种报文解析方法、装置及车载终端 | |
CN112540923B (zh) | 接口参数校验与转换方法、装置、设备及存储介质 | |
CN108509658B (zh) | 一种xml文件的解析方法和装置 | |
CN111385365B (zh) | 上报数据的处理方法、装置、计算机设备和存储介质 | |
CN110263222B (zh) | 一种数据获取方法、装置、设备及介质 | |
CN107797823B (zh) | 业务规则管理方法、装置、存储介质和计算机设备 | |
CN113946546B (zh) | 异常检测方法、计算机存储介质及程序产品 | |
CN115576905A (zh) | 档案文件管理方法、装置、电子设备和存储介质 | |
CN111464515A (zh) | 一种数据转换方法、装置、设备及存储介质 | |
CN109947715B (zh) | 日志告警方法及装置 | |
CN117240943A (zh) | 接口数据解析方法和装置 | |
CN113448847B (zh) | 一种测试方法及系统 | |
CN107734010B (zh) | 基于记录仪管理的升级系统及升级方法 | |
CN115225654A (zh) | 基于可配置化通讯协议的通信方法及设备 | |
CN111259121A (zh) | 日志处理方法、装置、设备及计算机可读存储介质 | |
CN116431677B (zh) | 基于内存数据库的数据路由方法、系统和可读存储介质 | |
CN117472674B (zh) | 一种基于资源池的软件无线电测试方法 | |
CN115168305A (zh) | 日志压缩存储方法及装置 | |
US20230254322A1 (en) | Verification of message patterns for vehicle ecus | |
CN115834275A (zh) | 车辆通信路由关系生成方法、系统、程序及介质 | |
CN113204379B (zh) | 测试资源动态加载方法、系统、设备及介质 | |
CN117194718A (zh) | 开放式诊断数据交换文件的处理方法、装置及相关设备 | |
CN115438064A (zh) | 数据库访问方法、装置及存储介质 | |
AU2023285924A1 (en) | Data processing method and apparatus, communication device, storage medium, and vehicle | |
CN116932074A (zh) | 中心化java代码运行配置方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020 Applicant after: Beijing Jingwei Hengrun Technology Co.,Ltd. Address before: 8 / F, block B, No. 11, Anxiang Beili, Chaoyang District, Beijing 100101 Applicant before: Beijing Jingwei HiRain Technologies Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |