CN116634042A - 大数据报文解析方法、装置及存储介质 - Google Patents

大数据报文解析方法、装置及存储介质 Download PDF

Info

Publication number
CN116634042A
CN116634042A CN202310587448.7A CN202310587448A CN116634042A CN 116634042 A CN116634042 A CN 116634042A CN 202310587448 A CN202310587448 A CN 202310587448A CN 116634042 A CN116634042 A CN 116634042A
Authority
CN
China
Prior art keywords
message
configuration
frame
big data
header
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.)
Pending
Application number
CN202310587448.7A
Other languages
English (en)
Inventor
李伟
唐如意
叶松林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing Selis Phoenix Intelligent Innovation Technology Co ltd
Original Assignee
Chengdu Seres Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Seres Technology Co Ltd filed Critical Chengdu Seres Technology Co Ltd
Priority to CN202310587448.7A priority Critical patent/CN116634042A/zh
Publication of CN116634042A publication Critical patent/CN116634042A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请提供一种大数据报文解析方法、装置及存储介质。该方法包括:获取通过前端配置的报文头信息和报文矩阵信息,将报文头信息及报文矩阵信息分别存储到报文头配置信息表和报文矩阵配置信息表中;读取报文头配置,利用报文头配置的值对大数据报文头和大数据报文内容进行解析,得到大数据报文版本号以及帧标识符;利用大数据报文版本号以及帧标识符,对报文矩阵配置信息表中的报文矩阵配置进行匹配,确定大数据报文帧对应的帧解析配置;利用帧解析配置对帧标识符对应的大数据报文帧进行解析,得到解析信号值,利用解析信号值以及帧解析配置对应的精度和偏移量计算最终信号值。本申请提高了报文解析的效率和准确性,提高了系统的通用性和兼容性。

Description

大数据报文解析方法、装置及存储介质
技术领域
本申请涉及新能源汽车技术领域,尤其涉及一种大数据报文解析方法、装置及存储介质。
背景技术
车联网技术通过连接汽车和网络,实现了对车辆信息的实时监控和分析,这对于提高驾驶安全性,实现智能交通系统,以及优化车辆性能等方面具有重要意义。车联网系统主要通过控制器局域网(CAN)协议将传感器数据上报至云端,这些数据包括但不限于车速、发动机转速、充放电状态、总里程、车辆位置等。CAN报文是这种数据传输的载体。
然而,现有的车联网系统中,CAN报文的解析主要是基于预定义的解析协议进行的。这种协议往往针对特定车型的特定CAN配置而制定,导致在处理不同车型或者不同CAN配置的数据时,需要重新设计和开发解析协议,效率低下,且易导致错误。此外,由于CAN报文的解析需要专门的硬件和软件支持,且需要针对每种车型和CAN配置进行专门设计和开发,这无疑增加了系统的复杂性和成本。因此,现有的CAN报文解析方法无法满足车联网系统对于高效、灵活和低成本的需求。
发明内容
有鉴于此,本申请实施例提供了一种大数据报文解析方法、装置及存储介质,以解决现有技术存在的CAN报文解析方法效率低下,容易导致错误,通用性和兼容性较差,导致系统效率降低,成本提高的问题。
本申请实施例的第一方面,提供了一种大数据报文解析方法,包括:获取通过前端配置的报文头信息和报文矩阵信息,将报文头信息及报文矩阵信息分别存储到报文头配置信息表和报文矩阵配置信息表中;读取报文头配置信息表中的报文头配置,利用报文头配置的值对大数据报文头和大数据报文内容进行解析,得到大数据报文版本号以及大数据报文帧对应的帧标识符;利用大数据报文版本号以及帧标识符,对报文矩阵配置信息表中的报文矩阵配置进行匹配,确定大数据报文帧对应的帧解析配置;利用帧解析配置对帧标识符对应的大数据报文帧进行解析,得到解析信号值,利用解析信号值以及帧解析配置对应的精度和偏移量计算最终信号值。
本申请实施例的第二方面,提供了一种大数据报文解析装置,包括:获取模块,被配置为获取通过前端配置的报文头信息和报文矩阵信息,将报文头信息及报文矩阵信息分别存储到报文头配置信息表和报文矩阵配置信息表中;解析模块,被配置为读取报文头配置信息表中的报文头配置,利用报文头配置的值对大数据报文头和大数据报文内容进行解析,得到大数据报文版本号以及大数据报文帧对应的帧标识符;匹配模块,被配置为利用大数据报文版本号以及帧标识符,对报文矩阵配置信息表中的报文矩阵配置进行匹配,确定大数据报文帧对应的帧解析配置;计算模块,被配置为利用帧解析配置对帧标识符对应的大数据报文帧进行解析,得到解析信号值,利用解析信号值以及帧解析配置对应的精度和偏移量计算最终信号值。
本申请实施例的第三方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
通过获取通过前端配置的报文头信息和报文矩阵信息,将报文头信息及报文矩阵信息分别存储到报文头配置信息表和报文矩阵配置信息表中;读取报文头配置信息表中的报文头配置,利用报文头配置的值对大数据报文头和大数据报文内容进行解析,得到大数据报文版本号以及大数据报文帧对应的帧标识符;利用大数据报文版本号以及帧标识符,对报文矩阵配置信息表中的报文矩阵配置进行匹配,确定大数据报文帧对应的帧解析配置;利用帧解析配置对帧标识符对应的大数据报文帧进行解析,得到解析信号值,利用解析信号值以及帧解析配置对应的精度和偏移量计算最终信号值。本申请能够实现多种车型的接入与解析,避开各车型CAN配置的差异,实现所需解析信号的可配置化,并能够基于CAN版本范围来配置解析信号,因此,提高了报文解析效率,提高了系统的通用性和兼容性,提高了系统的效率和降低了成本。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例提供的大数据报文解析方法的流程示意图;
图2是本申请实施例提供的可支持解析的CAN报文结构示意图;
图3是本申请实施例提供的大数据报文解析装置的结构示意图;
图4是本申请实施例提供的电子设备的结构示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
现有的CAN报文解析方法无法满足车联网系统对于高效、灵活和低成本的需求。因此,针对现有技术中存在的问题,本申请提供了一种新的大数据报文解析方法。本申请通过用户自定义的方式获取报文头和报文矩阵的配置信息,并将这些信息分别存储在报文头配置信息表和报文矩阵配置信息表中。用户可在web前端页面配置解析大数据报文的规则和包含CAN通信矩阵的自定义配置文件,实现了报文解析的可配置化,从而避免了多车型重复开发的问题。本申请通过读取报文头配置信息表中的配置值,解析大数据报文头和大数据报文内容,得到大数据报文版本号和大数据报文帧对应的帧标识符。实现了统一的云端CAN报文解析流程,提高了解析效率。本申请通过CAN版本范围自定义配置所需解析的CAN信号矩阵,实现了对各种车型和CAN配置的快速接入和解析,提高了系统的通用性和兼容性。最后,本申请根据帧解析配置,解析帧标识符对应的大数据报文帧,得到解析信号值,然后利用解析信号值以及帧解析配置对应的精度和偏移量计算最终信号值。从而进一步提高了报文解析的准确性和效率。
下面结合附图以及具体实施例对本申请技术方案的内容进行详细描述。
图1是本申请实施例提供的大数据报文解析方法的流程示意图。图1的大数据报文解析方法可以由云端来执行。如图1所示,该大数据报文解析方法具体可以包括:
S101,获取通过前端配置的报文头信息和报文矩阵信息,将报文头信息及报文矩阵信息分别存储到报文头配置信息表和报文矩阵配置信息表中;
S102,读取报文头配置信息表中的报文头配置,利用报文头配置的值对大数据报文头和大数据报文内容进行解析,得到大数据报文版本号以及大数据报文帧对应的帧标识符;
S103,利用大数据报文版本号以及帧标识符,对报文矩阵配置信息表中的报文矩阵配置进行匹配,确定大数据报文帧对应的帧解析配置;
S104,利用帧解析配置对帧标识符对应的大数据报文帧进行解析,得到解析信号值,利用解析信号值以及帧解析配置对应的精度和偏移量计算最终信号值。
车联网传感器数据以周期性采集上报的方式通过CAN信号发送给云端,云端在接收到车端发送的CAN报文数据之后,利用自定义的CAN报文数据解析方法对CAN报文数据进行实时解析,从而得到可用于后台运营人员分析的信号数据。因此,本申请实施例应用于云端,原始CAN报文数据通过消息队列依次传递给报文实时解析服务,报文实时解析服务对用户通过前端配置的自定义解析规则生成的报文解析配置表(即报文头配置信息表和报文矩阵配置信息表)进行监听及读取,利用读取到的配置对原始CAN报文数据进行解析,并将解析后的信号传递给消息队列进行分析和处理。
需要说明的是,本申请实施例提供的大数据报文解析方法将针对特定结构的CAN报文进行实时解析,首先对本申请实施例所规定的CAN报文结构的内容进行解释说明。图2是本申请实施例提供的可支持解析的CAN报文结构示意图。如图2所示,该CAN报文结构具体可以包括:
本申请的CAN报文结构由五层结构组成,第一层结构包括大数据报文头和大数据报文内容;第二层结构包括快照数据头和快照数据区;第三层结构中的CAN版本、数据区格式、文件类型以及数据长度组成了第二层结构中的快照数据头,第三层结构中的1个或n个周期CAN报文序列组成了第二层结构中的快照数据区;第四层结构包括组成周期CAN报文序列的起始符、周期类型、时间戳、数据长度和CAN帧序列;第五层结构包括由帧ID、帧长及帧内容组成的1个或n个CAN帧。
以上实施例对CAN报文结构的基本组成做了简要说明,下面结合表格对CAN报文结构中的每层结构的具体内容进行详细说明,具体可以包括以下内容:
第一层结构数据由大数据报文头和大数据报文内容组成,如表1所示。
表1第一层结构数据的内容
第二层结构数据由快照数据头和快照数据区组成,如表2所示。
表2第二层结构数据的内容
第三层结构数据由周期CAN报文序列组成,如表3所示。
表3第三层结构数据的内容
第四层结构数据由CAN帧序列组成,如表4所示。
表4第四层结构数据的内容
第五层结构数据由1个或n个CAN帧组成,如表5所示。
表5第五层结构数据的内容
在一些实施例中,获取通过前端配置的报文头信息,将报文头信息存储到报文头配置信息表中,包括:
获取用户通过web前端页面配置的用于解析大数据报文的报文头信息,将报文头信息存储到报文头配置信息表中;
其中,报文头信息中包含针对大数据报文配置的自定义解析规则。
具体地,本申请实施例通过开发web前端应用来支持用户配置用于解析大数据报文(即CAN报文)的报文头信息,在实际应用中,报文头信息包括但不限于以下信息:采集版本号、报文类型、补发标识、时间戳、数据体长度、CAN版本、数据区格式、文件类型等。云端接收用户配置的报文头信息之后,利用安装在云端的后端程序将报文头信息存储至报文头配置信息表中。
在一个示例中,报文头配置信息表中的数据可以由两部分组成,即name(配置项)和value(字段值)。其中,字段值也由两部分组成,第一部分为字节长度(如mqtt_header_collect_version为2,则表示数据采集版本号占用2字节长度);第二部分为数据类型,L表示整形,S表示字符串;这两部分内容通过分隔符“|”拼接组成此配置表字段值。
在一些实施例中,获取通过前端配置的报文矩阵信息,将报文矩阵信息存储到报文矩阵配置信息表中,包括:
获取用户通过web前端页面配置的包含CAN通信矩阵的自定义配置文件,对自定义配置文件适配的CAN版本范围进行设置;
对自定义配置文件的内容进行解析,以获取报文矩阵信息,并将报文矩阵信息存储到报文矩阵配置信息表中;
其中,报文矩阵信息中包含报文矩阵配置以及报文矩阵配置对应的自定义解析规则。
具体地,本申请实施例开发的web前端应用还支持用户上传包含CAN通信矩阵的DBC文件(即自定义配置文件),DBC文件可以认为是用户在做CAN报文设计时定义的文件,利用云端的后端程序配置该DBC文件支持的CAN版本范围。
进一步地,利用后端程序对上传的DBC文件执行解析操作,以获取用于存储至报文矩阵配置信息表中的字段,在实际应用中,报文矩阵配置信息表中的字段包括但不限于以下字段:报文标识符、信号名称、信号描述、排列格式、起始字节、起始位、信号长度、数据类型、精度、偏移量、信号值描述等。将解析DBC文件后得到的上述字段信息存储至报文矩阵配置信息表中。
根据本申请实施例提供的技术方案,通过获取用户自定义的报文头信息以及自定义配置文件中的字段,并将这些信息分别存储在报文头配置信息表和报文矩阵配置信息表中。实现通过web前端页面配置用于解析大数据报文的自定义解析规则和自定义解析配置,实现了报文解析的可配置化,从而避免了多车型重复开发的问题。
在一些实施例中,读取报文头配置信息表中的报文头配置,利用报文头配置的值对大数据报文头和大数据报文内容进行解析,包括:
读取报文头配置信息表中的采集版本号配置、报文类型配置、补发标识配置、时间戳配置以及数据体长度配置;
利用采集版本号配置的值、报文类型配置的值、补发标识配置的值、时间戳配置的值以及数据体长度配置的值,对大数据报文头进行解析,得到报文内容数据。
具体地,云端的后端程序对报文头配置信息表和报文矩阵配置信息表进行监听,并利用开发的实时数据处理程序对报文解析配置表(报文头配置信息表和报文矩阵配置信息表)进行读取,以获取报文解析配置表中的配置项以及配置项对应的值,按照原始CAN报文的数据结构,利用前后读取到的配置项的值依次对数据结构中的每一层数据进行解析。
在一个示例中,首先,读取报文头配置信息表中的mqtt_header_collect_version(采集版本号配置),mqtt_header_msg_type(报文类型配置),mqtt_heade r_reissue_flag(补发标识配置),mqtt_header_timestamp(时间戳配置),mqtt_header_msg_length(数据体长度配置)。报文头配置信息表中的配置项以字段的形式存储,每个配置项对应具体的值。
利用上述读取出来的各个配置项对应的值来解析大数据报文头,以获取报文内容数据。在本申请实施例的CAN报文结构中,报文内容数据包括以下内容:采集版本号、报文类型、补发标志、时间戳和数据体长度。在获取解析后的报文内容数据之后,还可以使用GZIP对该报文内容数据进行解压。
在一些实施例中,在得到报文内容数据之后,该方法还包括:
读取报文头配置信息表中的CAN版本配置,利用CAN版本配置的值对大数据报文内容中的快照数据头进行解析,得到大数据报文版本号;
读取报文头配置信息表中的数据区格式配置、文件类型配置以及数据长度配置,利用数据区格式配置的值、文件类型配置的值以及数据长度配置的值,对大数据报文内容进行解析,得到快照数据区。
具体地,后端程序将继续读取报文头配置信息表中的CAN版本配置(sna pshot_data_can_version)。这个配置项的值用于解析大数据报文内容中的快照数据头。通过解析,即可得到大数据报文的CAN版本号,以及快照数据头的数据区格式、文件类型和数据长度。
进一步地,后端程序继续读取报文头配置信息表中的其他配置项,例如数据区格式配置(snapshot_data_format)、文件类型配置(snapshot_data_file_typ e)以及数据长度配置(snapshot_data_length)。利用这些配置项的值对大数据报文内容做进一步的解析,得到快照数据区。在本申请实施例的CAN报文结构中,快照数据区下面包括若干个周期CAN报文序列。
通过以上实施例描述了如何使用报文头配置信息表中的配置项对大数据报文进行解析,从而获取更多的报文内容数据。这种方法的优点是可以根据实际需求自定义报文头配置信息,从而灵活地处理各种格式和类型的大数据报文。
在一些实施例中,该方法还包括:
读取报文头配置信息表中的CAN报文起始符配置、CAN报文周期类型配置、CAN报文时间戳配置以及CAN报文数据长度配置;
利用CAN报文起始符配置的值、CAN报文周期类型配置的值、CAN报文时间戳配置的值以及CAN报文数据长度配置的值,对快照数据区中的周期CAN报文序列进行解析,得到CAN帧序列。
具体地,为了对周期CAN报文序列进行解析,首先需要读取报文头配置信息表中的几个关键配置项。这些配置项包括CAN报文起始符配置(can_msg_start_char)、CAN报文周期类型配置(can_msg_cycle_type)、CAN报文时间戳配置(can_msg_timestamp)以及CAN报文数据长度配置(can_msg_data_len gth)。每一个配置项都存储在报文头配置信息表中,且与特定的CAN报文数据字段对应。
在一个示例中,后端程序首先读取这些配置项的值。然后,利用这些值,对快照数据区中的周期CAN报文序列进行解析。解析的过程是按照CAN报文的数据结构进行的,依次利用前面读取到的配置项的值对每一层数据进行解析。通过这个解析过程,后端程序可以从周期CAN报文序列中提取出CAN帧序列。在实际应用中,CAN帧序列可能包括一系列的CAN帧,每个CAN帧包含一个或多个CAN数据包。
通过预先配置的解析规则,可以高效地对周期CAN报文序列进行解析,避免了解析过程中的不确定性和复杂性。同时,由于这些配置项可以根据实际需求进行自定义,因此本申请的解析方法具有很高的灵活性和可扩展性。
在一些实施例中,在得到CAN帧序列之后,该方法还包括:
读取报文头配置信息表中的CAN帧标识符配置以及CAN帧报文长度配置,利用CAN帧标识符配置的值以及CAN帧报文长度配置的值,对CAN帧序列中的CAN帧进行解析,得到CAN帧对应的帧标识符、帧长度和帧内容。
具体地,获取到CAN帧序列后,将进一步解析CAN帧以获取更多的详细信息。首先,从报文头配置信息表中读取CAN帧标识符配置(can_id)和CAN帧报文长度配置(can_length)。这些配置项也存储在报文头配置信息表中,并且每个配置项都与特定的CAN帧字段相对应。
进一步地,利用读取到的CAN帧标识符配置的值以及CAN帧报文长度配置的值,对CAN帧序列中的CAN帧进行解析。例如,依次使用读取到的配置项的值对CAN帧的每一层数据进行解析。在这个解析过程结束后,可以得到每个CAN帧的帧标识符(即帧ID)、帧长度和帧内容。其中,帧标识符是一个唯一标识CAN帧的编码,帧长度表示CAN帧中数据的长度,帧内容则是CAN帧中实际传输的数据。
进一步地,在一些实施例中,通过以上解析得到CAN版本号(即大数据报文版本号)以及帧ID之后,利用CAN版本号和帧ID对报文矩阵配置信息表中的报文矩阵配置进行匹配,获取该CAN帧(即大数据报文帧)对应的帧解析配置;之后,利用帧解析配置对该帧ID对应的CAN帧进行解析,得到解析信号值,利用解析信号值、精度以及偏移量计算最终信号值。
在一个示例中,本申请进一步优化了大数据报文的解析过程。具体来说,通过使用CAN版本号和帧ID对报文矩阵配置信息表中的报文矩阵配置进行匹配,这样可以获取到对应CAN帧的帧解析配置。其中,报文矩阵配置信息表中包含了各种CAN帧及其对应的解析配置信息,通过CAN版本号和帧ID的匹配,可以准确地找到当前CAN帧对应的帧解析配置。
可选地,利用找到的帧解析配置对当前帧ID对应的CAN帧进行解析,得到解析信号值。解析信号值是CAN帧中某一特定信号的原始数值,需要进一步处理才能得到实际的信号值。即利用解析信号值、精度以及偏移量计算最终信号值。其中,精度和偏移量是预先设定的参数,用于将解析信号值转换为实际的信号值。具体的计算方法是:最终信号值=解析信号值*精度+偏移量。
根据本申请实施例提供的技术方案,通过预先配置的报文矩阵配置信息表,可以准确查找出每个CAN帧对应的解析配置,大大提高了解析的效率和准确性。同时,通过精度和偏移量的计算,能够将原始的解析信号值转换为实际的信号值,从而更准确地反映CAN帧中的数据信息。
需要说明的是,报文矩阵配置信息表中的配置项对应CAN版本号,通过配置项对应的CAN版本号确定读取到的当前配置项支持哪些版本的CAN报文的解析,从而实现基于CAN版本范围来配置解析信号。
在一些实施例中,在对CAN帧序列中的CAN帧进行解析,得到CAN帧对应的帧标识符、帧长度和帧内容之后,该方法包括:
判断CAN帧序列中是否包含未解析的CAN帧,当包含未解析的CAN帧时,则继续确定未解析的CAN帧对应的帧解析配置,利用帧解析配置对未解析的CAN帧进行解析;
当不包含未解析的CAN帧时,判断是否还有下一个CAN帧序列,当还有下一个CAN帧序列时,继续对下一个CAN帧序列中的CAN帧进行解析;
将全部的最终信号值按照预定的数据结构进行封装,并将封装后的数据发送至消息队列中。
具体地,在得到CAN帧序列中的CAN帧的帧标识符、帧长度和帧内容之后,本申请实施例将进行一系列的判断操作。首先,判断当前的CAN帧序列中是否还包含未解析的CAN帧。如果还有未解析的CAN帧存在,确定这些未解析CAN帧对应的帧解析配置(帧解析配置的查询方式参见前述实施例的内容),然后利用这些帧解析配置对未解析的CAN帧进行解析。通过这种方式,可以确保CAN帧序列中的每一个CAN帧都得到了正确的解析。
如果当前的CAN帧序列中已经没有未解析的CAN帧,将判断是否还存在下一个CAN帧序列。如果存在下一个CAN帧序列,进入下一个CAN帧序列,继续对其中的CAN帧进行解析。这样,按照上述循环一直解析下去,直到所有的CAN帧序列都被解析完毕。
在解析结束后,将全部的最终信号值按照预定的数据结构进行封装。这些数据结构可能会因为不同的应用场景而有所不同,但是都可以确保信号值的有效传输和使用。最后,将封装后的数据转换为json格式,并发送至消息队列中。消息队列是一种常用的数据传输方式,可以确保数据的顺序和完整性。
可选地,本申请将CAN报文解析后的最终信号值封装成如下数据对象,具体的数据结构如表6所示。
表6CAN报文解析后对象
通过上述循环判断及解析过程,本申请将进行多次判断和解析,确保每一个CAN帧都得到了正确的处理,同时,对得到的所有最终信号值进行统一的封装和发送,从而提高了数据的可用性和有效性。
根据本申请实施例提供的技术方案,本申请针对大数据报文的解析,包括报文头和报文内容的解析,特别是对于复杂的CAN报文。本申请通过预设的报文头配置信息表和报文矩阵配置信息表,对大数据报文进行结构化的解析,有效地提取出报文中的各种关键信息,如CAN版本号、报文类型、补发标识、时间戳、数据长度、帧标识符等。在解析过程中,本申请针对性地读取配置信息,对报文头和报文内容进行逐层解析,从而获取到报文内容数据、快照数据头、快照数据区、周期性CAN报文序列、CAN帧序列等重要信息。其中,CAN帧序列的解析使用了帧解析配置,使得每个CAN帧都能被有效解析,提取出帧标识符、帧长度和帧内容。此外,本申请还包括对未解析CAN帧的处理以及对多个CAN帧序列的处理,确保所有报文数据都能被有效解析。本申请的技术方案能够有效地提取大数据报文中的关键信息,且有良好的扩展性和通用性,能够应对各种复杂的大数据报文解析需求,显著提高了报文解析的效率和准确性。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图3是本申请实施例提供的大数据报文解析装置的结构示意图。如图3所示,该大数据报文解析装置包括:
获取模块301,被配置为获取通过前端配置的报文头信息和报文矩阵信息,将报文头信息及报文矩阵信息分别存储到报文头配置信息表和报文矩阵配置信息表中;
解析模块302,被配置为读取报文头配置信息表中的报文头配置,利用报文头配置的值对大数据报文头和大数据报文内容进行解析,得到大数据报文版本号以及大数据报文帧对应的帧标识符;
匹配模块303,被配置为利用大数据报文版本号以及帧标识符,对报文矩阵配置信息表中的报文矩阵配置进行匹配,确定大数据报文帧对应的帧解析配置;
计算模块304,被配置为利用帧解析配置对帧标识符对应的大数据报文帧进行解析,得到解析信号值,利用解析信号值以及帧解析配置对应的精度和偏移量计算最终信号值。
在一些实施例中,图3的获取模块301获取用户通过web前端页面配置的用于解析大数据报文的报文头信息,将报文头信息存储到报文头配置信息表中;其中,报文头信息中包含针对大数据报文配置的自定义解析规则。
在一些实施例中,图3的获取模块301获取用户通过web前端页面配置的包含CAN通信矩阵的自定义配置文件,对自定义配置文件适配的CAN版本范围进行设置;对自定义配置文件的内容进行解析,以获取报文矩阵信息,并将报文矩阵信息存储到报文矩阵配置信息表中;其中,报文矩阵信息中包含报文矩阵配置以及报文矩阵配置对应的自定义解析规则。
在一些实施例中,图3的解析模块302读取报文头配置信息表中的采集版本号配置、报文类型配置、补发标识配置、时间戳配置以及数据体长度配置;利用采集版本号配置的值、报文类型配置的值、补发标识配置的值、时间戳配置的值以及数据体长度配置的值,对大数据报文头进行解析,得到报文内容数据。
在一些实施例中,图3的解析模块302在得到报文内容数据之后,读取报文头配置信息表中的CAN版本配置,利用CAN版本配置的值对大数据报文内容中的快照数据头进行解析,得到大数据报文版本号;读取报文头配置信息表中的数据区格式配置、文件类型配置以及数据长度配置,利用数据区格式配置的值、文件类型配置的值以及数据长度配置的值,对大数据报文内容进行解析,得到快照数据区。
在一些实施例中,图3的解析模块302读取报文头配置信息表中的CAN报文起始符配置、CAN报文周期类型配置、CAN报文时间戳配置以及CAN报文数据长度配置;利用CAN报文起始符配置的值、CAN报文周期类型配置的值、CAN报文时间戳配置的值以及CAN报文数据长度配置的值,对快照数据区中的周期CAN报文序列进行解析,得到CAN帧序列。
在一些实施例中,图3的解析模块302在得到CAN帧序列之后,读取报文头配置信息表中的CAN帧标识符配置以及CAN帧报文长度配置,利用CAN帧标识符配置的值以及CAN帧报文长度配置的值,对CAN帧序列中的CAN帧进行解析,得到CAN帧对应的帧标识符、帧长度和帧内容。
在一些实施例中,图3的解析模块302在对CAN帧序列中的CAN帧进行解析,得到CAN帧对应的帧标识符、帧长度和帧内容之后,判断CAN帧序列中是否包含未解析的CAN帧,当包含未解析的CAN帧时,则继续确定未解析的CAN帧对应的帧解析配置,利用帧解析配置对未解析的CAN帧进行解析;当不包含未解析的CAN帧时,判断是否还有下一个CAN帧序列,当还有下一个CAN帧序列时,继续对下一个CAN帧序列中的CAN帧进行解析;将全部的最终信号值按照预定的数据结构进行封装,并将封装后的数据发送至消息队列中。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图4是本申请实施例提供的电子设备4的结构示意图。如图4所示,该实施例的电子设备4包括:处理器401、存储器402以及存储在该存储器402中并且可以在处理器401上运行的计算机程序403。处理器401执行计算机程序403时实现上述各个方法实施例中的步骤。或者,处理器401执行计算机程序403时实现上述各装置实施例中各模块/单元的功能。
示例性地,计算机程序403可以被分割成一个或多个模块/单元,一个或多个模块/单元被存储在存储器402中,并由处理器401执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序403在电子设备4中的执行过程。
电子设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备4可以包括但不仅限于处理器401和存储器402。本领域技术人员可以理解,图4仅仅是电子设备4的示例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如,电子设备还可以包括输入输出设备、网络接入设备、总线等。
处理器401可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器402可以是电子设备4的内部存储单元,例如,电子设备4的硬盘或内存。存储器402也可以是电子设备4的外部存储设备,例如,电子设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器402还可以既包括电子设备4的内部存储单元也包括外部存储设备。存储器402用于存储计算机程序以及电子设备所需的其它程序和数据。存储器402还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/计算机设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/计算机设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种大数据报文解析方法,其特征在于,包括:
获取通过前端配置的报文头信息和报文矩阵信息,将所述报文头信息及所述报文矩阵信息分别存储到报文头配置信息表和报文矩阵配置信息表中;
读取所述报文头配置信息表中的报文头配置,利用所述报文头配置的值对大数据报文头和大数据报文内容进行解析,得到大数据报文版本号以及大数据报文帧对应的帧标识符;
利用所述大数据报文版本号以及所述帧标识符,对所述报文矩阵配置信息表中的报文矩阵配置进行匹配,确定所述大数据报文帧对应的帧解析配置;
利用所述帧解析配置对所述帧标识符对应的大数据报文帧进行解析,得到解析信号值,利用所述解析信号值以及所述帧解析配置对应的精度和偏移量计算最终信号值。
2.根据权利要求1所述的方法,其特征在于,获取通过前端配置的报文头信息,将所述报文头信息存储到报文头配置信息表中,包括:
获取用户通过web前端页面配置的用于解析大数据报文的所述报文头信息,将所述报文头信息存储到所述报文头配置信息表中;
其中,所述报文头信息中包含针对所述大数据报文配置的自定义解析规则。
3.根据权利要求1所述的方法,其特征在于,获取通过前端配置的报文矩阵信息,将所述报文矩阵信息存储到报文矩阵配置信息表中,包括:
获取用户通过web前端页面配置的包含CAN通信矩阵的自定义配置文件,对所述自定义配置文件适配的CAN版本范围进行设置;
对所述自定义配置文件的内容进行解析,以获取所述报文矩阵信息,并将所述报文矩阵信息存储到所述报文矩阵配置信息表中;
其中,所述报文矩阵信息中包含所述报文矩阵配置以及所述报文矩阵配置对应的自定义解析规则。
4.根据权利要求1所述的方法,其特征在于,所述读取所述报文头配置信息表中的报文头配置,利用所述报文头配置的值对大数据报文头和大数据报文内容进行解析,包括:
读取所述报文头配置信息表中的采集版本号配置、报文类型配置、补发标识配置、时间戳配置以及数据体长度配置;
利用所述采集版本号配置的值、所述报文类型配置的值、所述补发标识配置的值、所述时间戳配置的值以及所述数据体长度配置的值,对所述大数据报文头进行解析,得到报文内容数据。
5.根据权利要求4所述的方法,其特征在于,在所述得到报文内容数据之后,所述方法还包括:
读取所述报文头配置信息表中的CAN版本配置,利用所述CAN版本配置的值对所述大数据报文内容中的快照数据头进行解析,得到所述大数据报文版本号;
读取所述报文头配置信息表中的数据区格式配置、文件类型配置以及数据长度配置,利用所述数据区格式配置的值、所述文件类型配置的值以及所述数据长度配置的值,对所述大数据报文内容进行解析,得到快照数据区。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
读取所述报文头配置信息表中的CAN报文起始符配置、CAN报文周期类型配置、CAN报文时间戳配置以及CAN报文数据长度配置;
利用所述CAN报文起始符配置的值、所述CAN报文周期类型配置的值、所述CAN报文时间戳配置的值以及所述CAN报文数据长度配置的值,对所述快照数据区中的周期CAN报文序列进行解析,得到CAN帧序列。
7.根据权利要求6所述的方法,其特征在于,在所述得到CAN帧序列之后,所述方法还包括:
读取所述报文头配置信息表中的CAN帧标识符配置以及CAN帧报文长度配置,利用所述CAN帧标识符配置的值以及所述CAN帧报文长度配置的值,对所述CAN帧序列中的CAN帧进行解析,得到所述CAN帧对应的帧标识符、帧长度和帧内容。
8.根据权利要求7所述的方法,其特征在于,在所述对所述CAN帧序列中的CAN帧进行解析,得到所述CAN帧对应的帧标识符、帧长度和帧内容之后,所述方法包括:
判断所述CAN帧序列中是否包含未解析的CAN帧,当包含未解析的CAN帧时,则继续确定未解析的CAN帧对应的帧解析配置,利用帧解析配置对未解析的CAN帧进行解析;
当不包含未解析的CAN帧时,判断是否还有下一个CAN帧序列,当还有下一个CAN帧序列时,继续对下一个CAN帧序列中的CAN帧进行解析;
将全部的最终信号值按照预定的数据结构进行封装,并将封装后的数据发送至消息队列中。
9.一种大数据报文解析装置,其特征在于,包括:
获取模块,被配置为获取通过前端配置的报文头信息和报文矩阵信息,将所述报文头信息及所述报文矩阵信息分别存储到报文头配置信息表和报文矩阵配置信息表中;
解析模块,被配置为读取所述报文头配置信息表中的报文头配置,利用所述报文头配置的值对大数据报文头和大数据报文内容进行解析,得到大数据报文版本号以及大数据报文帧对应的帧标识符;
匹配模块,被配置为利用所述大数据报文版本号以及所述帧标识符,对所述报文矩阵配置信息表中的报文矩阵配置进行匹配,确定所述大数据报文帧对应的帧解析配置;
计算模块,被配置为利用所述帧解析配置对所述帧标识符对应的大数据报文帧进行解析,得到解析信号值,利用所述解析信号值以及所述帧解析配置对应的精度和偏移量计算最终信号值。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的方法。
CN202310587448.7A 2023-05-23 2023-05-23 大数据报文解析方法、装置及存储介质 Pending CN116634042A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310587448.7A CN116634042A (zh) 2023-05-23 2023-05-23 大数据报文解析方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310587448.7A CN116634042A (zh) 2023-05-23 2023-05-23 大数据报文解析方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN116634042A true CN116634042A (zh) 2023-08-22

Family

ID=87620785

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310587448.7A Pending CN116634042A (zh) 2023-05-23 2023-05-23 大数据报文解析方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN116634042A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117319529A (zh) * 2023-11-29 2023-12-29 成都赛力斯科技有限公司 应用于车端的报文解析方法、装置、电子设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117319529A (zh) * 2023-11-29 2023-12-29 成都赛力斯科技有限公司 应用于车端的报文解析方法、装置、电子设备及存储介质
CN117319529B (zh) * 2023-11-29 2024-02-02 成都赛力斯科技有限公司 应用于车端的报文解析方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN108600192B (zh) 一种基于正则表达式的dbc文件解析及报文分析方法
CN113079072B (zh) 一种车辆数据采集方法及其系统、计算机设备、存储介质
CN111447128A (zh) 可远程动态配置的整车数据采集上传方法及存储介质
CN111294235B (zh) 数据处理方法、装置、网关及可读存储介质
CN116634042A (zh) 大数据报文解析方法、装置及存储介质
CN109446157B (zh) 一种基于格式化数据的数据格式校查系统及其方法
CN111131231A (zh) 一种将车载终端数据接入车联网监控平台的方法和设备
CN109861998B (zh) 一种基于北斗短报文协议的插件式动态解析系统及方法
CN112347047A (zh) 一种车辆数据文件生成方法及装置
CN112055027B (zh) 一种基于协议接口适配的用户用电信息采集系统
CN111813622B (zh) 一种设备监控方法及装置
CN111552268A (zh) 一种车辆远程诊断方法、设备连接器及车辆连接器
CN115827928A (zh) 车辆数据处理方法、装置、设备、介质及产品
CN114860437A (zh) 数据采集方法、边缘计算主机及计算机可读存储介质
CN113985854B (zh) 数据处理方法、装置及电子设备
CN116155720A (zh) 一种t-box中can数据采集远程配置方法
CN114567682B (zh) 设备状态监测方法和信号维护支持系统
CN115801927A (zh) 报文解析方法及装置
CN114756585A (zh) 车辆数据获取方法、装置、电子设备及存储介质
CN108322331B (zh) 一种可动态调整交互测点的通信方法及系统
CN114070863B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN115529244B (zh) 车辆终端的数据采传规则配置方法、装置、服务器及介质
CN116401146B (zh) 一种数据交互方法、装置、存储介质、服务器及车辆
CN117668090B (zh) 数据交换方法、装置、电子设备和计算机可读存储介质
CN115314553B (zh) 数据处理的方法、装置、设备、系统及可读存储介质

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
TA01 Transfer of patent application right

Effective date of registration: 20240117

Address after: No. 13 Xingxiang Road, Zengjia Town, High tech Zone, Shapingba District, Chongqing, 400039

Applicant after: Chongqing Selis Phoenix Intelligent Innovation Technology Co.,Ltd.

Address before: 610095 No. 2901, floor 29, unit 1, building 1, No. 151, Tianfu Second Street, high tech Zone, China (Sichuan) pilot Free Trade Zone, Chengdu, Sichuan Province

Applicant before: Chengdu Thalys Technology Co.,Ltd.

TA01 Transfer of patent application right