报文解析方法、装置、计算机可读介质及终端设备与流程

未命名 07-22 阅读:110 评论:0


1.本发明涉及通信技术领域,具体涉及一种报文解析方法、一种报文解析装置、一种计算机可读介质以及一种终端设备。


背景技术:

2.canfd是一种新一代的can总线标准,它提供了更高的速度和更多的数据。随着电动智能汽车车身的控制器和传感器越来越多,导致在canfd中数据量也出现暴增,传统的canfd数据包解析算法无法满足海量数据的快速解析。现有的canfd数据包的解析方法通常为对canfd数据包进行串行解析,即通过同一线程对数据包的传输数据和用户数据依次进行解析,但是,在数据量较大的情况下,传统的数据包解析方法存在cpu占用过高、解析时间长、解析效率低的问题。


技术实现要素:

3.本发明的目的之一在于提供一种报文解析方法,以解决现有技术中数据包解析方法存在cpu占用过高、解析时间长、解析效率低的问题;目的之二在于提供一种报文解析装置;目的之三在于提供一种计算机可读介质;目的之四在于提供一种终端设备。
4.为了实现上述目的,本发明采用的技术方案如下:
5.一种报文解析方法,包括:
6.获取待解析报文,所述待解析报文包括至少一个数据帧;
7.对所述数据帧的第一参数进行解析,得到第一解析结果,所述第一参数用于描述所述数据帧的结构信息;
8.获取所述数据帧中净荷的第二参数,从指定缓存空间的指定缓存位置读取与所述第二参数匹配的参数解析配置项,依据所述参数解析配置项对所述净荷进行解析,得到第二解析结果,所述第二参数用于描述所述净荷的结构信息,所述参数解析配置项用于描述所述第二参数对应的解析规则;
9.依据所述第一解析结果及第二解析结果得到所述待解析报文的目标解析结果。
10.可选地,从指定缓存位置读取与所述第二参数匹配的参数解析配置项之前,所述方法还包括:
11.获取预设的参数解析配置表,所述参数解析配置表至少包括不同待解析报文的净荷对应的参数解析配置项;
12.从所述参数解析配置表中读取若干参数解析配置项,将读取到的参数解析配置项按预设顺序存储至所述指定缓存空间的对应指定缓存位置中。
13.可选地,依据所述第一解析结果及第二解析结果得到所述待解析报文的目标解析结果之后,所述方法还包括:
14.在确定所述指定缓存空间中的任一指定缓存位置中的参数解析配置项未被读取的时间达到时间阈值的情况下,将该参数解析配置项从该指定缓存位置中删除,并从所述
参数解析配置表中读取另一参数解析配置项存储至该指定缓存位置。
15.可选地,所述方法还包括:
16.在不能从所述指定缓存空间的指定缓存位置中读取到与所述第二参数匹配的参数解析配置项的情况下,从所述参数解析配置表中读取与所述第二参数匹配的参数解析配置项;以及
17.标记当前参数解析配置项的读取结果为缓存未命中。
18.可选地,依据所述第一解析结果及第二解析结果得到所述待解析报文的目标解析结果之后,所述方法还包括:
19.确定在预设时间段内,参数解析配置项的读取结果为缓存未命中的未命中数量,以及确定在所述预设时间段内,参数解析配置项的读取总数量;
20.在所述未命中数量与所述读取总数量的比值低于第一缓存命中率阈值的情况下,在所述指定缓存空间中增加新的指定缓存位置,并从所述参数解析配置表中读取一新的参数解析配置项存储至该新的指定缓存位置。
21.可选地,依据所述第一解析结果及第二解析结果得到所述待解析报文的目标解析结果之后,所述方法还包括:
22.在所述未命中数量与所述读取总数量的比值高于第二缓存命中率阈值的情况下,若确定所述指定缓存空间中存在未被读取的时间达到所述时间阈值的参数解析配置项的情况下,将该参数解析配置项从对应指定缓存位置中删除,并从所述指定缓存空间中删除该指定缓存位置,所述第二缓存命中率阈值不小于所述第一缓存命中率阈值。
23.可选地,所述第一参数至少包括:
24.所述数据帧的标识符、控制段、校验码、起始位置及数据长度;
25.所述第二参数至少包括:
26.所述净荷中的原始信号的名称、起始位置、数据长度及编码方式。
27.一种报文解析装置,包括:
28.报文获取模块,被配置为获取待解析报文,所述待解析报文包括至少一个数据帧;
29.第一参数解析模块,被配置为对所述数据帧的第一参数进行解析,得到第一解析结果,所述第一参数用于描述所述数据帧的结构信息;
30.第二参数解析模块,被配置为获取所述数据帧中净荷的第二参数,从指定缓存空间的指定缓存位置读取与所述第二参数匹配的参数解析配置项,依据所述参数解析配置项对所述净荷进行解析,得到第二解析结果,所述第二参数用于描述所述净荷的结构信息,所述参数解析配置项用于描述所述第二参数对应的解析规则;以及
31.解析结果计算模块,被配置为依据所述第一解析结果及第二解析结果得到所述待解析报文的目标解析结果。
32.一种计算机可读介质,所述计算机可读介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的报文解析方法。
33.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的报文解析方法。
34.本发明的有益效果:
35.1、本技术通过将待解析报文的数据帧进行分层,分别对数据帧的结构信息和数据
内容进行同步并行解析,能够有效降低处理器的占用,减少报文的解析时间,提高解析效率;
36.2、通过预先将数据内容解析对应的解析规则存储至指定缓存空间的指定缓存位置中,在对数据帧的数据内容进行解析时,能够直接从缓存中读取预先缓存的对应解析规则,而无需访问解析规则对应的原始配置文件,从而有效提高了对数据内容的解析速度。
附图说明
37.图1为本发明的报文解析方法的方法流程图;
38.图2为本发明的报文解析结构示意图;
39.图3为本发明的报文解析流程示意图;
40.图4为本发明的报文解析逻辑示意图;
41.图5为本发明的报文解析装置的示意框图;
42.图6为一种终端设备结构示意图。
43.其中,10-终端设备,100-处理器,101-存储器,102-计算机程序。
具体实施方式
44.以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
45.如图1所示,本实施例提出了一种报文解析方法,包括:
46.s100、获取待解析报文,待解析报文包括至少一个数据帧;
47.s200、对数据帧的第一参数进行解析,得到第一解析结果,第一参数用于描述数据帧的结构信息;
48.s300、获取数据帧中净荷的第二参数,从指定缓存空间的指定缓存位置读取与第二参数匹配的参数解析配置项,依据参数解析配置项对净荷进行解析,得到第二解析结果,第二参数用于描述净荷的结构信息,参数解析配置项用于描述第二参数对应的解析规则;
49.s400、依据第一解析结果及第二解析结果得到待解析报文的目标解析结果。
50.如此,本技术通过将待解析报文的数据帧进行分层,分别对数据帧的结构信息和净荷进行同步并行解析,能够有效降低处理器的占用,减少报文的解析时间,提高解析效率;同时,通过预先将净荷解析对应的解析规则存储至指定缓存空间的指定缓存位置中,在对数据帧的净荷进行解析时,能够直接从缓存中读取预先缓存的对应解析规则,而无需访问解析规则对应的原始配置文件,从而有效提高了对净荷的解析速度。
51.可以理解的,本技术的方法可以应用于车辆的adas控制器以实现对can/canfd数据的快速解析,或者应用于工业控制器如plc中,以实现对现场数据的快速解析,此处对此不作限定。步骤s100中,待解析报文可以是实时采集的现场数据,以本技术的方法应用于车辆的adas控制器的解析器模块为例,待解析报文为canfd报文,其可以为实时采集的车辆运行过程中的相关参数,如电流、电压、温度等参数的原始信号经canfd协议封装得到的数据
包。其中,一个待解析报文中通常可以包括多个数据帧。以本技术的待解析报文为canfd报文为例,每个数据帧至少包括该数据帧的标识符、控制段、数据段、校验码及起始位置等字段,用于表示该数据帧的id、在报文中的位置、数据长度等数据的传输信息。例如,标识符用于表示数据帧的id,控制段用于表示数据的传输控制参数及传输数据的字节数,起始位置用于表示该数据帧在报文的起始位置和结束位置,校验码用于对数据帧进行校验,其中,数据段即为数据帧的净荷,用于记载采集到的原始信号数据,其通常包括该原始信号的名称、起始位置、数据长度及编码方式等。
52.为了提高解析效率,减少cpu占用,本技术将数据帧的解析划分为消息传输层和用户层的解析两个部分,在对数据帧进行解析时,同时对消息传输层和用户层进行并行解析。其中,消息传输层包括数据帧的标识符、控制段、数据段、校验码及起始位置字段,用户层包括数据帧的数据段。则,本技术的步骤s200中,第一参数至少包括:数据帧的标识符、控制段、校验码、起始位置及数据长度;步骤s300中,第二参数至少包括:净荷中的原始信号的名称或id、起始位置、数据长度及编码方式。
53.如图2所示,通过对消息传输层进行数据帧解析、数据长度解析及头部解析,才能正确有效的读取出数据帧中的数据,确保数据传输的安全性和正确性;通过对用户层进行原始信号的解析,并对解析结果进行检查,如校验和、数据的完整性、各字段的正确性,以及对数据进行有效性检查,如验证数据是否超出了定义的范围等,从而能够保证数据的完整性、正确性和安全性。
54.步骤s300中,从指定缓存位置读取与第二参数匹配的参数解析配置项之前,方法还包括:
55.s301、获取预设的参数解析配置表,参数解析配置表至少包括不同待解析报文的净荷对应的参数解析配置项。其中,参数解析配置项用于描述该净荷的数据内容对应的解析规则,参数解析配置表用于记录不同的参数解析配置项与不同净荷的对应关系。例如,净荷可以为电流信号或电压信号,表示电流信号的id为a,表示电压信号的id为b,则,在参数解析配置表中,预先存储电流信号的参数解析配置项为(a,解析规则a;b,解析规则b),其中,解析规则a可以是将原始的电流信号转化为具体电流值的计算规则,解析规则b可以是将原始的电压信号转化为具体电压值的计算规则;或者,可以根据数据帧的标识符建立数据帧与解析规则的对应关系,例如,数据帧的标识符为a,表示其为电流信号,则从参数解析配置表中查询id为a的参数解析配置项即可。可以理解的,参数解析配置项可以包括多条解析规则,此处对此不作限定;又例如,参数解析配置表可以采用现有的dbc文件,每一参数解析配置项可以为dbc文件中对应的can信号信息,该信号信息可以描述对某原始信号的解析规则。可以理解的,dbc即database can,表示can数据库,dbc文件即为can的数据库文件,其中,dbc文件为现有技术,此处对此不再赘述。
56.s302、从参数解析配置表中读取若干参数解析配置项,将读取到的参数解析配置项按预设顺序存储至指定缓存空间的对应指定缓存位置中。第一次对解析配置项进行读取时,可以根据车辆的运行状况直接指定若干参数解析配置项,如指定n个参数解析配置项写入指定缓存空间中;或者,随机从参数解析配置表中读取n个不重复的参数解析配置项写入指定缓存空间中。其中,指定缓存空间中包括n个指定缓存位置,在读取到n个参数解析配置项后,可以将各参数解析配置项的id由小至大或由大至小依次排列,并根据排列顺序将n个
参数解析配置项依次写入指定缓存空间中的n个指定缓存位置,这样,在对数据帧进行解析时,根据各参数解析配置项的id号进行二分查询即可快速查找到对应的参数解析配置项。这样,如图3所示,通过将参数解析配置项如dbc文件写入缓存,在对实时接收到的报文如传感器数据进行解析时,adas控制器的解析器模块能够直接从缓存对解析规则进行读取并对原始信号进行解析,而无需再去访问参数解析配置表,能够有效提高对原始信号的解析速度,从而能够有效提高对数据的抽象处理和应用速度。
57.本技术中,步骤s400还包括,在得到待解析报文的目标解析结果之后,将解析后的数据例如解析得到的原始信号的信号值缓存至消息队列中,以便于后续直接对解析结果进行读取调用。
58.如图4所示,为了进一步提高数据解析速度,本技术的步骤s400得到待解析报文的目标解析结果之后,方法还包括:
59.s500、在确定指定缓存空间中的任一指定缓存位置中的参数解析配置项未被读取的时间达到时间阈值的情况下,将该参数解析配置项从该指定缓存位置中删除,并从参数解析配置表中读取另一参数解析配置项存储至该指定缓存位置。由于车辆在运行过程中其运行环境和使用环境是变化的,因此,需要解析的数据类型往往是随车辆运行环境的变化而变化的。例如,若某一参数解析配置项在上一次被读取后,在达到时间阈值t后即未被读取过,则表示该参数解析配置项已不适于当前车辆的运行环境,但该参数解析配置项仍需占用对应的指定缓存位置,而当前车辆运行环境下需要频繁解析的数据对应的参数解析配置项并未存储在指定缓存空间中,在进行数据解析时,仍需要通过访问参数解析配置表来读取对应的解析规则,将导致解析速度下降,因此,在此情况下,本技术通过将该参数解析配置项从指定缓存位置中删除,并从参数解析配置表中读取新的参数解析配置项存储至该指定缓存位置中,以对其进行更新,从而能够对缓存空间中的参数解析配置项进行动态调整,以使其适应车辆的运行环境。可以理解的,新的参数解析配置项可以根据参数解析配置表中各参数解析配置项在一定时间内被读取的次数确定,例如,以在时间阈值t内,参数解析配置表中参数解析配置项被读取次数最多的参数解析配置项作为新的参数解析配置项。
60.步骤s300中,在不能从指定缓存空间的指定缓存位置中读取到与第二参数匹配的参数解析配置项的情况下,本技术还标记当前参数解析配置项的读取结果为缓存未命中。则步骤s400之后,本技术的方法还包括:
61.s600、确定在预设时间段内,参数解析配置项的读取结果为缓存未命中的未命中数量,以及确定在预设时间段内,参数解析配置项的读取总数量。例如,确定在当前时刻之前的时间段t内,指定缓存空间中的所有参数解析配置项被读取的读取总数量以及在时间段t内被记录的所有读取结果为缓存未命中的未命中数量。计算未命中数量与读取总数量的比值,即缓存命中率,在得到的缓存命中率低于第一缓存命中率阈值的情况下,在指定缓存空间中增加新的指定缓存位置,并从参数解析配置表中读取一新的参数解析配置项存储至该新的指定缓存位置。例如,当计算得到的缓存命中率低于第一缓存命中率阈值时,表示当前缓存空间中的参数解析配置项不能满足当前车辆运行环境下的数据解析要求,则可在指定缓存空间中增加新的指定缓存位置,以增大缓存,并增加指定缓存空间中的参数解析配置项,从而提高缓存命中率。
62.若计算得到的缓存命中率高于第二缓存命中率阈值,则表示当前缓存空间中的参
数解析配置项能够很好的满足当前车辆运行环境下的数据解析要求,因此,可以减小对缓存空间的占用。则,在此情况下,若指定缓存空间中存在未被读取的时间达到时间阈值t的参数解析配置项,则将该参数解析配置项从对应指定缓存位置中删除,并从指定缓存空间中删除该指定缓存位置,从而减小对缓存的占用,同时不影响对数据的解析速度。若指定缓存空间中不存在未被读取的时间达到时间阈值t的参数解析配置项,则可以将在时间阈值t内被读取的次数最少的参数解析配置项从对应指定缓存位置中删除。其中,所述第二缓存命中率阈值不小于所述第一缓存命中率阈值,本技术中,第二缓存命中率阈值大于第一缓存命中率阈值。
63.本技术通过哈希表或者lru算法对指定缓存空间进行管理。其中,哈希表的优点是查找速度快,缺点是空间占用较大;lru算法的优点是节省空间,缺点是查找速度相对较慢。实际使用时,可以根据实际情况选择适合的缓存数据结构,此处对此不作限定。本技术通过对指定缓存空间中的参数解析配置项的被读取次数进行监测,根据被读取次数对指定缓存空间中的参数解析配置项进行更新,以及对指定缓存空间的缓存大小进行动态、自适应的调整,能够使得缓存空间不会被无效占用,有利于提高车辆控制系统的数据处理效率。
64.如图5所示,一种报文解析装置,包括:
65.报文获取模块,被配置为获取待解析报文,待解析报文包括至少一个数据帧;
66.第一参数解析模块,被配置为对数据帧的第一参数进行解析,得到第一解析结果,第一参数用于描述数据帧的结构信息;
67.第二参数解析模块,被配置为获取数据帧中净荷的第二参数,从指定缓存空间的指定缓存位置读取与第二参数匹配的参数解析配置项,依据参数解析配置项对净荷进行解析,得到第二解析结果,第二参数用于描述净荷的结构信息,参数解析配置项用于描述第二参数对应的解析规则;以及
68.解析结果计算模块,被配置为依据第一解析结果及第二解析结果得到待解析报文的目标解析结果。
69.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
70.一种计算机可读介质,计算机可读介质存储有计算机程序,计算机程序被处理器执行时实现上述的报文解析方法。
71.一种终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述的报文解析方法。
72.如图6所示是本技术实施方式提供的终端设备的示意图。如图6所示,该实施例的终端设备10包括:处理器100、存储器101以及存储在存储器101中并可在处理器100上运行的计算机程序102。处理器100执行计算机程序102时实现上述方法实施例中的步骤。或者,
处理器100执行计算机程序102时实现上述各装置实施例中各模块/单元的功能。
73.示例性的,计算机程序102可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器101中,并由处理器100执行,以完成本技术。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序102在终端设备10中的执行过程。
74.终端设备10可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。终端设备10可包括,但不仅限于,处理器100、存储器101。本领域技术人员可以理解,图6仅仅是终端设备10的示例,并不构成对终端设备10的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备还可以包括输入输出设备、网络接入设备、总线等。
75.处理器100可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
76.存储器101可以是终端设备10的内部存储单元,例如终端设备10的硬盘或内存。存储器101也可以是终端设备10的外部存储设备,例如终端设备10上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器101还可以既包括终端设备10的内部存储单元也包括外部存储设备。存储器101用于存储计算机程序以及终端设备10所需的其他程序和数据。存储器101还可以用于暂时地存储已经输出或者将要输出的数据。
77.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
78.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
79.以上实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。

技术特征:
1.一种报文解析方法,其特征在于,包括:获取待解析报文,所述待解析报文包括至少一个数据帧;对所述数据帧的第一参数进行解析,得到第一解析结果,所述第一参数用于描述所述数据帧的结构信息;获取所述数据帧中净荷的第二参数,从指定缓存空间的指定缓存位置读取与所述第二参数匹配的参数解析配置项,依据所述参数解析配置项对所述净荷进行解析,得到第二解析结果,所述第二参数用于描述所述净荷的结构信息,所述参数解析配置项用于描述所述第二参数对应的解析规则;依据所述第一解析结果及第二解析结果得到所述待解析报文的目标解析结果。2.根据权利要求1所述的报文解析方法,其特征在于,从指定缓存位置读取与所述第二参数匹配的参数解析配置项之前,所述方法还包括:获取预设的参数解析配置表,所述参数解析配置表至少包括不同待解析报文的净荷对应的参数解析配置项;从所述参数解析配置表中读取若干参数解析配置项,将读取到的参数解析配置项按预设顺序存储至所述指定缓存空间的对应指定缓存位置中。3.根据权利要求2所述的报文解析方法,其特征在于,依据所述第一解析结果及第二解析结果得到所述待解析报文的目标解析结果之后,所述方法还包括:在确定所述指定缓存空间中的任一指定缓存位置中的参数解析配置项未被读取的时间达到时间阈值的情况下,将该参数解析配置项从该指定缓存位置中删除,并从所述参数解析配置表中读取另一参数解析配置项存储至该指定缓存位置。4.根据权利要求3所述的报文解析方法,其特征在于,所述方法还包括:在不能从所述指定缓存空间的指定缓存位置中读取到与所述第二参数匹配的参数解析配置项的情况下,从所述参数解析配置表中读取与所述第二参数匹配的参数解析配置项;以及标记当前参数解析配置项的读取结果为缓存未命中。5.根据权利要求4所述的报文解析方法,其特征在于,依据所述第一解析结果及第二解析结果得到所述待解析报文的目标解析结果之后,所述方法还包括:确定在预设时间段内,参数解析配置项的读取结果为缓存未命中的未命中数量,以及确定在所述预设时间段内,参数解析配置项的读取总数量;在所述未命中数量与所述读取总数量的比值低于第一缓存命中率阈值的情况下,在所述指定缓存空间中增加新的指定缓存位置,并从所述参数解析配置表中读取一新的参数解析配置项存储至该新的指定缓存位置。6.根据权利要求5所述的报文解析方法,其特征在于,依据所述第一解析结果及第二解析结果得到所述待解析报文的目标解析结果之后,所述方法还包括:在所述未命中数量与所述读取总数量的比值高于第二缓存命中率阈值的情况下,若确定所述指定缓存空间中存在未被读取的时间达到所述时间阈值的参数解析配置项的情况下,将该参数解析配置项从对应指定缓存位置中删除,并从所述指定缓存空间中删除该指定缓存位置,所述第二缓存命中率阈值不小于所述第一缓存命中率阈值。7.根据权利要求1所述的报文解析方法,其特征在于,所述第一参数至少包括:
所述数据帧的标识符、控制段、校验码、起始位置及数据长度;所述第二参数至少包括:所述净荷中的原始信号的名称、起始位置、数据长度及编码方式。8.一种报文解析装置,其特征在于,包括:报文获取模块,被配置为获取待解析报文,所述待解析报文包括至少一个数据帧;第一参数解析模块,被配置为对所述数据帧的第一参数进行解析,得到第一解析结果,所述第一参数用于描述所述数据帧的结构信息;第二参数解析模块,被配置为获取所述数据帧中净荷的第二参数,从指定缓存空间的指定缓存位置读取与所述第二参数匹配的参数解析配置项,依据所述参数解析配置项对所述净荷进行解析,得到第二解析结果,所述第二参数用于描述所述净荷的结构信息,所述参数解析配置项用于描述所述第二参数对应的解析规则;以及解析结果计算模块,被配置为依据所述第一解析结果及第二解析结果得到所述待解析报文的目标解析结果。9.一种计算机可读介质,所述计算机可读介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~7中任一项权利要求所述的报文解析方法。10.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1~7中任一项权利要求所述的报文解析方法。

技术总结
本发明涉及一种报文解析方法、装置、计算机可读介质以及终端设备,属于通信技术领域,方法包括:获取待解析报文,待解析报文包括数据帧;对数据帧的第一参数进行解析,得到第一解析结果,第一参数用于描述数据帧的结构信息;获取数据帧中净荷的第二参数,从指定缓存空间的指定缓存位置读取与第二参数匹配的参数解析配置项,依据参数解析配置项对净荷进行解析,得到第二解析结果,第二参数用于描述净荷的结构信息,参数解析配置项用于描述第二参数对应的解析规则;依据第一解析结果及第二解析结果得到待解析报文的目标解析结果。本申请通过分别对报文的数据帧的结构信息和数据内容进行同步并行解析,能够有效降低处理器的占用,提高解析效率。提高解析效率。提高解析效率。


技术研发人员:蔡可杰
受保护的技术使用者:重庆长安汽车股份有限公司
技术研发日:2023.04.26
技术公布日:2023/7/21
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐