CN108965293A - 报文解析方法和装置、电子设备 - Google Patents

报文解析方法和装置、电子设备 Download PDF

Info

Publication number
CN108965293A
CN108965293A CN201810771089.XA CN201810771089A CN108965293A CN 108965293 A CN108965293 A CN 108965293A CN 201810771089 A CN201810771089 A CN 201810771089A CN 108965293 A CN108965293 A CN 108965293A
Authority
CN
China
Prior art keywords
data
resolution file
message
signal
file
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.)
Granted
Application number
CN201810771089.XA
Other languages
English (en)
Other versions
CN108965293B (zh
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.)
Leauto Intelligent Technology Beijing Co Ltd
Original Assignee
Leauto Intelligent Technology Beijing 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 Leauto Intelligent Technology Beijing Co Ltd filed Critical Leauto Intelligent Technology Beijing Co Ltd
Priority to CN201810771089.XA priority Critical patent/CN108965293B/zh
Publication of CN108965293A publication Critical patent/CN108965293A/zh
Application granted granted Critical
Publication of CN108965293B publication Critical patent/CN108965293B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/22Header parsing or analysis
    • 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. local area networks [LAN], wide area networks [WAN]
    • 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. local area networks [LAN], wide area networks [WAN]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Abstract

本发明实施例公开了一种报文解析方法和装置、电子设备,其中,方法包括:从网络总线中获得报文数据;基于所述报文数据对应的可执行解析文件对所述报文数据进行解析,获得执行信号,并将所述执行信号发送给执行端;基于所述执行信号控制所述执行端执行相应操作。本发明实施例可实现对网络总线上的报文数据进行安全传输并能将该报文数据进行解析获得准确的执行信号,提高驾驶安全性及驾乘体验。

Description

报文解析方法和装置、电子设备
技术领域
[0001] 本发明涉及数据解析领域,尤其是涉及一种报文解析方法和装置、电子设备。
背景技术
[0002] 随着计算机技术、网络通信技术、集成电路技术的飞速发展,以全数字式现场总线 为代表的现场控制仪表、设备大量应用,使得繁琐的现场连线被单一简洁的现场总线网络 所代替,为工业现场控制用户带来了巨大好处。计算机控制技术在汽车控制上的应用中, CAN协议用于汽车中各种不同设备之间的通信,以此取代了昂贵而笨重的配电线束,通过对 车身各个零部件的网络化智能控制,提高了车辆的安全性能以及使用者的体验效果。车辆 中CAN报文数据在CAN总线上传输的过程中可能引起CAN报文传输故障,造成对车辆的故障 造成错误判断。
发明内容
[0003] 本发明实施例提供一种报文解析技术。
[0004] 本发明实施例的一方面,提供一种报文解析方法,包括:
[0005] 从网络总线中获得报文数据;
[0006] 基于所述报文数据对应的可执行解析文件对所述报文数据进行解析,获得执行信 号,并将所述执行信号发送给执行端;
[0007] 基于所述执行信号控制所述执行端执行相应操作。
[0008] 可选地,上述报文解析方法实施例中,所述基于所述报文数据对应的可执行解析 文件对所述报文数据进行解析,获得执行信号之前,还包括:
[0009] 基于协议信号格式化数据,获得所述可执行解析文件。
[0010] 可选地,上述任一报文解析方法实施例中,所述执行信号包括与所述执行端匹配 的地址信息;
[0011] 所述将所述执行信号发送到执行端,包括:
[0012] 基于所述地址信息从所述执行端确定所述执行信号对应的响应结构,将所述执行 信号发送给所述响应结构;
[0013] 所述基于所述执行信号控制所述执行端执行相应操作,包括:
[0014] 通过所述响应结构执行所述执行信号相应的操作。
[0015] 可选地,上述任一报文解析方法实施例中,所述基于协议信号格式化数据,获得所 述可执行解析文件,包括:
[0016] 对接收的协议信号格式化数据进行解析,得到所述格式化数据的详细信息;
[0017] 对所述格式化数据的详细信息进行编译,获得第一中间解析文件;
[0018] 基于所述第一中间解析文件,获得所述可执行解析文件。
[0019] 可选地,上述任一报文解析方法实施例中,所述基于所述第一中间解析文件,获得 所述可执行解析文件,包括:
[0020]将所述第一中间解析文件输入与其匹配的预设协议模板,得到所述预设协议模板 对应文件格式的第二中间解析文件,每种所述预设协议模板对应一种所述文件格式;
[0021]基于所述第二中间解析文件,获得所述可执行解析文件。
[°022]可选地,上述任一报文解析方法实施例中,所述第一中间解析文件包括索引数据; [0023]所述将所述第一中间解析文件输入与其匹配的预设协议模板,得到所述预设协议 模板对应的格式的第二中间解析文件之前,还包括:
[0024]基于所述第一中间解析文件的所述索引数据与模板库中预存的所述预设协议模 板对应的标识数据进行匹配,获得与所述索引数据匹配的至少一个所述标识数据,所述模 板库中包括至少一个预设协议模板,每个所述预设协议模板对应一个标识数据;
[0025] 基于所述匹配的标识数据获得与所述第一中间解析文件匹配的预设协议模板。 [0026]可选地,上述任一报文解析方法实施例中,所述第一中间解析文件还包括第一数 据,所述预设协议模板的设定位置包括第二数据,
[0027]所述将所述第一中间解析文件输入与其匹配的预设协议模板,得到所述预设协议 模板对应的格式的第二中间解析文件,包括:
[0028]将所述与第一中间解析文件匹配的预设协议模板中的所述第二数据替换为所述 第一中间解析文件的所述第一数据,得到替换后的预设协议模板;
[0029]将所述替换后的预设协议模板作为所述第二中间解析文件。
[0030] 可选地,上述任一报文解析方法实施例中,所述基于所述第二中间解析文件,获得 所述可执行解析文件,包括:
[0031] 将所述第二中间解析文件与对应的预设工具进行组合,得到第三中间解析文件; [0032]基于编译器对所述第三中间解析文件进行编译,生成所述可执行解析文件。
[0033]可选地,上述任一报文解析方法实施例中,所述预设工具包括以下至少一种:
[0034] 接收工具、分发工具、解析工具、通知工具。
[0035] 可选地,上述任一报文解析方法实施例中,所述编译器包括如下中的一种:
[0036] C++编译器、CTC编译器、MM编译器、CEC编译器、Android sleep编译器、Eel ipse编 译器。
[0037] 可选地,上述任一报文解析方法实施例中,所述格式化数据的详细信息包括以下 至少一种:数据起始位、数据结束位、数据长度、数据精度、数据偏移量、数据地址、数据解析 方式。
[0038] 本发明实施例的另一方面,提供一种报文解析装置,包括:
[0039] 第一获取单元,用于从网络总线中获得报文数据;
[0040] 数据解析单元,用于基于所述报文数据对应的可执行解析文件对所述报文数据进 行解析,获得执行信号,并将所述执行信号发送给执行端;
[0041] 控制单元,用于基于所述执行信号控制所述执行端执行相应操作。
[0042] 可选地,上述报文解析装置实施例中,还包括:
[0043] 第二获取单元,用于基于协议信号格式化数据,获得所述可执行解析文件。
[0044] 可选地,上述任一报文解析装置实施例中,所述执行信号包括与所述执行端匹配 的地址信息;
[0045] 所述数据解析单元包括:
[0046] 确定模块,用于基于所述地址信息从所述执行端确定所述执行信号对应的响应结 构;
[0047] 发送模块,用于将所述执行信号发送给所述响应结构;
[0048] 所述控制单元具体用于通过所述响应结构执行所述执行信号的相应操作。
[0049] 可选地,上述任一报文解析装置实施例中,所述第二获取单元,具体用于对接收的 协议信号格式化数据进行解析,得到所述格式化数据的详细信息;
[0050] 对所述格式化数据的详细信息进行编译,获得第一中间解析文件;
[0051] 基于所述第一中间解析文件,获得所述可执行解析文件。
[0052] 可选地,上述任一报文解析装置实施例中,所述第二获取单元包括:
[0053] 输入模块,用于将所述第一中间解析文件输入与其匹配的预设协议模板,得到所 述预设协议模板对应文件格式的第二中间解析文件,每种所述预设协议模板对应一种所述 文件格式;
[0054] 解析模块,用于基于所述第二中间解析文件,获得所述可执行解析文件。
[0055] 可选地,上述任一报文解析装置实施例中,所述第一中间解析文件包括索引数据;
[0056] 所述第二获取单元还包括:
[0057] 匹配模块,用于基于所述第一中间解析文件的所述索引数据与模板库中预存的所 述预设协议模板对应的标识数据进行匹配,获得与所述索引数据匹配的至少一个所述标识 数据,所述模板库中包括至少一个预设协议模板,每个所述预设协议模板对应一个标识数 据;基于所述匹配的标识数据获得与所述第一中间解析文件匹配的预设协议模板。
[0058] 可选地,上述任一报文解析装置实施例中,所述第一中间解析文件还包括第一数 据,所述预设协议模板的设定位置包括第二数据;
[0059] 所述输入模块用于将所述与第一中间解析文件匹配的预设协议模板中的所述第 二数据替换为所述第一中间解析文件的所述第一数据,得到替换后的预设协议模板;将所 述替换后的预设协议模板作为所述第二中间解析文件。
[0060] 可选地,上述任一报文解析装置实施例中,所述解析模块,具体用于将所述第二中 间解析文件与对应的预设工具进行组合,得到第三中间解析文件,对所述第三中间解析文 件进行编译,生成所述可执行解析文件。
[0061] 可选地,上述任一报文解析装置实施例中,所述预设工具包括以下至少一种:
[0062] 接收工具、分发工具、解析工具、通知工具。
[0063]可选地,上述任一报文解析装置实施例中,所述编译器包括如下中的一种:
[0064] C++编译器、CTC编译器、MM编译器、CEC编译器、Android sleep编译器、Eclipse编 译器。
[0065]可选地,上述任一报文解析装置实施例中,所述格式化数据的详细信息包括以下 至少一种:数据起始位、数据结束位、数据长度、数据精度、数据偏移量、数据地址、数据解析 方式。
[0066]本发明实施例的再一方面,提供一种电子设备,包括处理器,所述处理器包括上述 实施例中涉及的所述的报文解析装置。
[0067]本发明实施例的再一方面,提供一种电子设备,包括:
[0068]存储器,用于存储可执行指令;以及处理器,用于与所述存储器通信以执行所述可 执行指令从而完成上述本发明实施例所述的报文解析方法。
[0069]基于本发明上述实施例提供的报文解析方法和装置、电子设备,通过从网络总线 中获得报文数据;基于报文数据对应的可执行解析文件对报文数据进行解析,获得执行信 号,并将执行信号发送给执行端;基于执行信号控制执行端执行相应操作,可实现对网络总 线上的报文数据进行安全传输并能将该报文数据进行解析获得准确的执行信号,提高驾驶 安全性及驾乘体验。
[0070]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
[0071]构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释 本发明的原理。
[0072]参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
[0073]图1为本发明报文解析方法的一个实施例的流程示意图;
[0074]图2为应用本发明报文解析方法对CAN报文进行协议解析的一个示例的流程示意 图;
[0075]图3为本发明报文解析方法一个示例中CAN报文协议解析代码生成的流程示意图; [0076]图4为本发明报文解析装置的一个实施例的结构示意图。
具体实施方式
[0077]现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具 体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本 发明的范围。
[0078]同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际 的比例关系绘制的。
[0079]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明 及其应用或使用的任何限制。
[0080]对于相关领域普通技术人员己知的技术和设备可能不作详细讨论,但在适当情况 下,所述技术和设备应当被视为说明书的一部分。
[0081] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一 个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0082]图1是本发明实施例报文解析方法的一个实施例的流程示意图,参照图丨,本实施 例的方法包括:
[0083]步骤110,从网络总线中获得报文数据。
[0084]本实施例中涉及的网络总线可以包括但不限于:可用于报文数据传输的网络总 线,可选地,网络总线可以包括车身网总线(CAN总线)、现场总线(FIELD BUS)以及其他类型 的网络总线。
[0085]本实施例中可用于实现上述步骤的主体必须能够与网络总线能够进行连接,能够 读取并获得网络总线上的数据。与网络总线连接的方式可以有多种,可以是通过有线数据 插口的连接实现与网络总线的连接,也可以是通过无线网络连接的方式实现与网络总线的 连接,本发明实施例对网络总线的具体连接方式不做限定。
[0086]上述本实施例中所涉及的报文数据可以是从网络总线上直接获得的实时传输的 报文数据,也可以是存储在网络总线上的报文数据,本实施例对报文数据的类型不做限定, 只要是可从网络总线上获得的报文数据即可。并且,本实施例中对网络总线中的报文数据 获取的方式不做限定,可以是上述的有线数据接口连接的方式,也可以是无线网络连接的 方式,还可以是本领域技术人员可以想到的其他可实施的方式。
[0087]可选地,上述报文数据可以是电信号、数字信号、模拟信号等其他可以用数据线连 接进行传输或者通过无线网络连接进行传输的信号。本实施例中报文数据还可以是代码文 本,但在网络总线上传输的过程中是以电信号的形式进行传输的,这样既可以方便报文数 据在网络总线上的传输,还可以适用于多种的报文数据形式的转换,例如,电信号转蓝牙信 号、电信号转光信号、电信号转数字模拟信号等。
[0088] 在一个可选的示例中,步骤110可通过第一获取单元实现。
[0089]步骤120,基于报文数据对应的可执行解析文件对报文数据进行解析,获得执行信 号,并将执行信号发送给执行端。
[0090] 在步骤110获得报文数据之后,步骤120基于报文数据对应的可执行解析文件对报 文数据进行解析。本实施例中,对应于不同的报文数据都存储有相应的可执行解析文件,通 过可执行解析文件可对对应的报文数据进行解析。同一可执行解析文件可以对同类的报文 数据进行解析,如从同一地址获得的不同数值范围的报文数据;也可以对其他具有共同信 息的报文数据进行解析,例如具有相同时间标识信息的报文数据等其他的本领域技术人员 可以预知与可实施的报文数据。在对报文数据进行解析之后获得执行信号。实现某种操作 时,网络总线会进行记录以及逻辑分析,基于上述操作在网络总线上形成报文数据以包括 整个操作的数据记录。在执行端获得执行信号之后,将该执行信号发送给能够接收执行信 息号且能够实现执行信号所包含动作的执行端进行执行。在汽车领域中,车身的各个零部 件会把自身的状态实时反馈到CAN总线上并且也可以实时从总线上获取其他零部件的信息 或控制命令,上述零部件的信息以CAN报文的形式在CAN总线上进行传输。通过对CAN报文的 快速解析,可使零部件能够及时接收控制器的控制命令,使控制器能够及时收到车身零部 件反馈的自身的状态的信息,在智能汽车的中控大屏上实时显示当前车门是否打开,当前 哪个灯光是处于打开状态,哪一个零部件出现故障灯等,这些信息都是通过对CAN报文的解 析获取到的。通过解析得到包括上述信息的车身零件信息,以方便车辆使用者能够及时作 出应对措施,提高驾驶的安全性与舒适性。
[0091] 在一个可选的实施例中,步骤120可通过解析单元与发送单元协同作用完成。
[0092] 步骤130,基于执行信号控制执行端执行相应操作。
[0093] 执行端获得执行信号后,执行端解析执行信号所携带的动作指令信息,执行端进 行逻辑分析,并在执行端实现执行信号所携带的动作指令信息。
[0094] 在一个可选实施例中,步骤130可以通过控制单元实现。
[0095] 上述本实施例提供的报文解析方法通过全自动化的方式进行,可实现对网络总线 上的报文数据进行安全传输并能将该报文数据进行解析获得准确的执行信号,提高驾驶安 全性及驾乘体验。 _
[0096] 可选地,步骤120之前,还可以包括:基于协议信号格式化数据,获得可执行解析文 件。
[0097] 本实施例中在获得执行信号之前还需对协议信号格式化数据进行处理,获得与从 网络总线上获得的报文数据相对应的可执行解析文件。其中,协议信号格式化数据是与从 网络总线上获得的报文数据相对应的基本数据。由于与从网络总线上获得的报文数据相对 应的可执行解析文件的种类繁多且占用空间较大,所以,为避免占用空间以及运行空间较 大,在从网络总线获得某一报文数据之后,调取与报文数据相匹配的可执行解析文件。获得 报文数据之后确定报文数据的类型,基于相应的协议信号格式化数据进而获得相应的可执 行解析文件,即可执行解析文件的生成的种类是根据获取的报文数据的类型而确定的。通 过该种方式生成可执行解析文件,对报文数据具有针对性,且占用空间以及运行空间小。
[0098] 在一个或多个可选的实施例中,执行信号包括与执行端匹配的地址信息,执行信 息通过该地址信息在执行端搜索该地址并在该地址所处的设备执行该执行信息。
[0099] 上述步骤120中,将执行信号发送到执行端,包括:基于地址信息从执行端确定执 行信号对应的响应结构,将执行信号发送给响应结构。执行端有多种结构构成,为使执行信 号能够更加精细、准确地将其所携带的指令信息下达到准确的结构上,执行信号基于地址 信息从执行端确定执行信号对应的响应结构,使每一执行信号具有针对性,提高执行信号 动作指令实施的时效性以及准确性。
[0100] 将执行信号发送给响应结构,避免了执行信号被发送到其他执行端的结构中,弓丨 起错误发送导致其他结构在接收到该执行指令后产生错误动作或者功能异常的现象。本实 施例中将执行信号发送给响应结构的目的在于执行信号只发送至与其地址信息相匹配的 响应结构。述基于执行信号控制执行端执行相应操作,包括:通过响应结构执行该执行信号 相应的操作。
[0101] 在一个可选的实施例中,参照图2,图2为本发明报文解析方法一个示例中CAN报文 协议解析代码生成的流程示意图,具体包括如下步骤:
[0102] 步骤S001: CAN总线接收各个零部件自身状态的CAN报文,各个零部件会把自身的 状态实时反馈到CAN总线上并且也可以实时从CAN总线上获取其他零部件的信息或控制命 令。本实施例中CAN报文是CAN报文的具体一帧数据,其格式包括ID字节以及8个字节的数 据。一个CAN报文可以包括多个CAN信号,每个信号占用8个字节中不同的位,以此来分割同 一个CAN报文不同的信号,CAN信号代表的具体含义由CAN协议文档约束。
[0103]步骤SO〇2:从总线上实时获取各种CAN报文。本实施例中,从CAN总线接收各个零部 件自身状态的CAN报文这一动作是通过CAN报文接收工具类实现的,CAN报文接收工具类的 主要功能是从汽车总线上获取需要的CAN报文。
[0104]步骤SO〇3:获取从步骤SO〇2获取的CAN报文,并根据CAN报文的ID分发到不同的CAN 信号解析模块上,如果找不到对应的解析模块则不处理。本实施例中该步骤是通过CAN报文 分发工具类实现的,其中,CAN报文分发工具类主要功能是对获取的CAN报文根据CAN地址 (ID)分发到对应的CAN报文解析类。
[0105]步骤S004:对步骤S003获取的CAN报文数据进行解析,如果解析成功则通知步骤 S005,如果解析失败则不做处理。本实施例中该步骤是通过CAN报文解析基础类实现的,该 类主要提供根据传入的参数对CAN报文解析的基础工具。传入的参数主要包含CAN报文的数 据:CAN信号的起始位,CAN信号的结束位,CAN信号的长度,CAN信号的精度,CAN信号的偏移 量,CAN信号的解析方式及CAN信号的地址信息。
[0106] 步骤S005:其他应用收到解析后的CAN信号后根据具体的业务逻辑,做出对应的响 应。本实施例中该步骤是通过CAN信号数值通知类实现的,该类的主要功能是把解析获取的 CAN报文的数据和CAN信号ID通知到对应的使用者,便于使用者进行业务逻辑的处理。该使 用者可以是控制器也可以是通过直观看到经转换的CAN信号的直观信息的驾乘人员。
[0107] 可选地,基于协议信号格式化数据,获得可执行解析文件,包括:对接收的协议信 号格式化数据进行解析,得到格式化数据的详细信息;对格式化数据的详细信息进行编译, 获得第一中间解析文件;基于第一中间解析文件,获得可执行解析文件。替代了现有技术中 以人工手动操作的形式,降低了人工操作的工作量,以及人工手动操作的出错率,进而降低 了人工进行维护的成本。
[0108] 本实施例是由协议信号格式化数据生成可执行解析文件的中间过程,该过程中主 要对协议信号格式化数据,提取协议信号格式化数据中的详细信息,该详细信息中包括上 述地址信息。并对该详细信息进行编译获得第一中间解析文件,该第一中间解析文件并非 是可执行解析文件。通过对获得的第一中间解析文件再进行处理才可获得可执行解析文 件。通过多次处理后的协议信号格式化数据获得可执行解析文件,可提高可执行解析文件 的准确性以及功能的完整性,并且确保了可执行解析文件生成的安全性。
[0109] 可选地,基于第一中间解析文件,获得可执行解析文件,包括:将第一中间解析文 件输入与其匹配的预设协议模板,得到预设协议模板对应文件格式的第二中间解析文件, 每种预设协议模板对应一种文件格式;基于第二中间解析文件,获得可执行解析文件。该过 程在生成第一中间解析文件之后对第一中间解析文件进行再处理,输入与其匹配的预设协 议模板,得到预设协议模板对应文件格式的第二中间解析文件。预设协议模板中包括构成 所有类型可执行解析文件的共用的数据,将这些共用的数据作为预设协议模板,可节省人 工手动对第一中间解析文件添加这些共用的数据造成的人工消耗量大以及出错率高的缺 陷。既可以节约人工成本,还可以提高可执行解析文件的准确性。
[0110] 在一个或多个可选的实施例中,第一中间解析文件包括索引数据;将第一中间解 析文件输入与其匹配的预设协议模板,得到预设协议模板对应的格式的第二中间解析文件 之前,还包括:基于第一中间解析文件的索引数据与模板库中预存的预设协议模板对应的 标识数据进行匹配,获得与索引数据匹配的至少一个标识数据,模板库中包括至少一个预 设协议模板,每个预设协议模板对应一个标识数据;基于匹配的标识数据获得与第一中间 解析文件匹配的预设协议模板。
[0111] 通过在第一中间解析文件中设置索引数据,可通过该索引数据对模板库中预存的 预设协议模板进行匹配,不必需要将第一中间解析文件以及预设协议模板中携带的所有数 据信息进行匹配才能确定某一第一中间解析文件对应的预设协议模板,提高了可执行解析 文件生成的效率。
[0112] 可选地,将第一中间解析文件的索引信息与模板库中预设协议模板对应的标识数 据进行匹配,获得与索引数据匹配的至少一个标识数据。由于模板库中的预设协议模板较 多,所以,对应的与索引数据匹配的标识数据可能不止一个,进而与第一中间解析文件对应 的预设协议模板的数量也可能不止一个。在出现上述状况时,还可以通过增加第一中间解 析文件索引数据的数量对预设协议模板进行进一步筛选,最终确定与第一中间解析文件相 匹配的唯一的预设协议模板。进而进行第一中间解析文件第一中间解析文件输入与其匹配 的预设协议模板,得到预设协议模板对应的格式的第二中间解析文件。
[0113] 在一个或多个可选的实施例中,第一中间解析文件还包括第一数据,预设协议模 板的设定位置包括第二数据,将第一中间解析文件输入与其匹配的预设协议模板,得到预 设协议模板对应的格式的第二中间解析文件,包括:将与第一中间解析文件匹配的预设协 议模板中的第二数据替换为第一中间解析文件的第一数据,得到替换后的预设协议模板; 将替换后的预设协议模板作为第二中间解析文件。通过将第一中间解析文件中的第一数据 替换预设协议解析模板中的第二数据,得到第二中间解析文件,省去了人工将第二数据删 除并重新写入第一数据过程的时间,并通过自动化生成的方式避免了人工手动操作容易出 错的缺陷。提高了效率以及第二中间解析文件生成的准确性。
[0114] 可选地,基于第二中间解析文件,获得可执行解析文件,包括:将第二中间解析文 件与对应的预设工具进行组合,得到第三中间解析文件;基于编译器对第三中间解析文件 进行编译,生成可执行解析文件。
[0115] 上述实施例中得到的第二中间解析文件仍不能成为可执行文件,在设备中无法运 行对报文数据进行解析,所以,在获得第二中间解析文件之后还需与预设的工具进行组合, 得到第三中间解析文件,通过对第三中间解析文件进行编译即可生成可执行解析文件对报 文数据进行解析的操作。
[0116] 通过上述协议信号格式化数据到可执行解析文件的生成过程,提高了数据的安全 性,该过程全部自动化处理,节约了人工操作的成本,降低了人工操作容易出错的缺陷。
[0117] 在一个或多个可选的实施例中,预设工具包括以下至少一种:接收工具、分发工 具、解析工具、通知工具。上述预设工具为动作指令数据,通过将上述预设工具与第二中间 解析文件组合后可使第二中间解析文件具备执行多种动作的条件,使第二中间解析文件更 完善,具备一定的动作执行条件。
[0118] 可选地,编译器包括如下中的一种:C++编译器、CTC编译器、MM编译器、CEC编译器、 Android sleep编译器、Eclipse编译器。第三解析文件可以是C语言编码生成的文件,也可 以是JAVA语言编码生成的文件或者其他语言编码生成的文件,对应地,将第三中间解析文 件编译成可执行解析文件所采用的编译器可以包括但不限于上述几种编译器,提高了可执 行解析文件生成的多样性,以适用于不同的执行端。其中,C++是C语言的继承,它既可以进 行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还 可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时, 还可以进行基于过程的程序设计.C++不仅拥有计算机高效运行的实用性特征,同时还致力 于提高大规模程序的编程质量与程序设计语言的问题描述能力。CTC同样为C语言编程的一 个分类。Android sleep、Eclipse为基于JAVA编程开发过程中的语言。
[0119]可选地,格式化数据的详细信息包括以下至少一种:数据起始位、数据结束位、数 据长度、数据精度、数据偏移量、数据地址、数据解析方式。通过对上述多种详细信息进行编 译后获得的第一中间解析文件,可使第一中间解析文件的索引数据种类较多,能够更精确 地匹配模板库中的预设协议模板。
[0120]图3为本发明报文解析方法一个示例中CAN报文协议解析代码生成的流程示意图, 参照图3,可包括如下步骤:
[0121]步骤S001:接收用户传入的CAN协议格式化文档,调用CAN协议文档解析工具,获取 CAN信号的详细信息,例如:CAN报文ID,CAN信号名,CAN信号起始位,CAN信号结束位,CAN信 号长度,CAN信号精度,CAN信号偏移量,CAN信号ID等信息,如果解析失败则提醒用户对应的 错误原因。
[0122]步骤S002:根据步骤S001获取的CAN信号信息,生成对应的CAN解析代码,即第一中 间解析文件。并读取提供的代码模板与CAN协议解析代码组合成完整的CAN报文解析类,gp 第二中间解析文件,如果代码生成失败则提示用户。
[0123]步骤S003:把步骤S002生成的代码和提供的基础工具包合并生成完整的CAN协议 解析工程,即第三中间解析文件。
[0124]步骤S004:调用编译系统,编译步骤S003生成的CAN协议解析工程,生成可执行文 件。
[0125]上述步骤中CAN报文解析类同样为代码文件,CAN协议解析工程为CAN协议解析类 (代码)与上述预设工具共同构成的第三中间解析文件。
[0126]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光 盘等各种可以存储程序代码的介质。
[0127]本发明实施例的另一方面在于提供一种报文解析装置,图4为本发明报文解析装 置一个实施例的结构示意图。该实施例的装置可用于实现本发明上述各方法实施例。如图4 所示,该实施例的装置包括:
[0128]第一获取单元,用于从网络总线中获得报文数据。
[0129]数据解析单元,用于基于报文数据对应的可执行解析文件对报文数据进行解析, 获得执行信号,将执行信号发送给执行端。
[0130] 控制单元,用于基于执行信号控制执行端执行相应操作。
[0131] 上述本实施例提供的报文解析装置通过全自动化的方式进行,可实现对网络总线 上的报文数据进行安全传输并能将该报文数据进行解析获得准确的执行信号,提高驾驶安 全性及驾乘体验。
[0132] 在一个或多个可选的实施例中,本实施例装置还可以包括第二获取单元,该第二 获取单元用于基于协议信号格式化数据,获得可执行解析文件。本实施例提供的报文解析 装置通过第二获取单元得到可执行解析文件后,通过可执行解析文件对报文数据进行解 析,报文数据与可执行解析文件对应,某一可执行解析文件只能解析某一个或者某一类的 报文数据。
[0133] 为避免占用的空间以及占用的运行空间较大,在从网络总线获得某一报文数据之 后,数据解析单元调取与报文数据相匹配的可执行解析文件。获得报文数据之后确定报文 数据的类型,基于相应的协议信号格式化数据进而获得相应的可执行解析文件,即可执行 解析文件的生成的种类是根据获取的报文数据的类型而确定的。
[0134] 本实施例通过设置第二获取单元,可针对报文数据具进行调取与报文数据相匹配 的可执行解析文件,避免了对某一报文数据进行解析时轮询每一可执行解析文件过程所占 用空间较大的缺陷。 L〇135」n」选地,执仃佶5包括与执行端匹配的地址信息;本实施例中数据解析单元还包 括确定模块与发送模块,其中,确定模块用于基于地址信息从执行端确定执行信号对应的 响应结构;发送模块将执行信号发送给响应结构;控制单元可用于通过响应结构执行上述 执行信号的相应操作。
[0136]在一个或多个实施例中,第二获取单元具体用于对接收的协议信号格式化数据进 行解析,得到格式化数据的详细信息;对格式化数据的详细信息进行编译,获得第一中间解 析文件;基于第一中间解析文件,获得可执行解析文件。
[0137]通过在本实施例的报文解析装置中设置第二单元获取可执行解析文件,降低了人 工操作的工作量,以及人工手动操作的出错率,进而降低了人工进行维护的成本。
[01%]可选地,本实施例的第二获取单元还包括输入模块与解析模块,其中,输入模块可 用于将第一中间解析文件输入与其匹配的预设协议模板,得到预设协议模板对应文件格式 的第二中间解析文件;每种预设协议模板对应一种文件格式;解析模块可用于基于第二中 间解析文件,获得可执行解析文件。
[0139]通过设置输入模块可避免人工操作输入造成的成本高、准确率低的缺陷,设置解 析模块提高可执行解析文件的准确性。
[0140]可选地,第一中间解析文件包括索引数据;第二获取单元还包括:匹配模块,该匹 配模块可用于基于第一中间解析文件的索引数据与模板库中预存的预设协议模板对应的 标识数据进行匹配,获得与索引数据匹配的至少一个标识数据;模板库中包括至少一个预 设协议模板,每个预设协议模板对应一个标识数据;匹配单元还可用于基于匹配的标识数 据获得与第一中间解析文件匹配的预设协议模板。
[0141] 通过匹配模块将第一中间解析文件的索引数据与预设模板中的标识数据进行匹 配,避免将第一中间解析文件与预设模板中的所有数据进行匹配,提高了可执行解析文件 生成的效率
[0142] 在一个或多个实施例中,第一中间解析文件还包括第一数据,预设协议模板的设 定位置包括第二数据;输入模块可用于将与第一中间解析文件匹配的预设协议模板中的第 二数据替换为第一中间解析文件的第一数据,得到替换后的预设协议模板;将替换后的预 设协议模板作为第二中间解析文件。
[0143]输入模块的设置省去了人工将第二数据删除并重新写入第一数据过程的时间,并 通过自动化生成的方式避免了人工手动操作容易出错的缺陷。
[0144] 可选地,本实施例的解析模块可用于将第二中间解析文件与对应的预设工具进行 组合,得到第三中间解析文件,对第三中间解析文件进行编译,生成可执行解析文件。
[0145] 解析模块提高了效率以及第二中间解析文件生成的准确性。提高了数据的安全 性,自动化处理节约了人工操作的成本,降低了人工操作容易出错的缺陷。
[0146] 在一个或多个实施例中,预设工具包括以下至少一种:接收工具、分发工具、解析 工具、通知工具。
[0147] 可选地,编译器包括如下中的一种:C++编译器、CTC编译器、MM编译器、CEC编译器、 Android sleep编译器、Eclipse编译器。
[0148] 可选地,格式化数据的详细信息包括以下至少一种:数据起始位、数据结束位、数 据长度、数据精度、数据偏移量、数据地址、数据解析方式。
[0149] 根据本申请实施例的再一个方面,提供的一种电子设备,设置有上述头施例所莎 及的报文解析装置。 ^
[0150] 根据本申请实施例的又一个方面,提供的一种电子设备,包括:存储器,用于存储 可执行指令;以及处理器,用于与存储器通信以执行上述可执行指令从而完成上述实施例 中涉及的报文解析方法的操作。
[0151] 本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其 它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。
[0152] 本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明 限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描 述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理 解本发明从而设计适于特定用途的带有各种修改的各种实施例。

Claims (10)

1. 一种报文解析方法,其特征在于,包括: 从网络总线中获得报文数据; _ 基于所述报文数据对应的可执行解析文件对所述报文数据进行解析,获得执彳于信号, 并将所述执行信号发送给执行端; 基于所述执行信号控制所述执行端执行相应操作。 _
2. 根据权利要求1所述的方法,其特征在于,所述基于所述报文数据对应的可执行解析 文件对所述报文数据进行解析,获得执行信号之前,还包括: 基于协议信号格式化数据,获得所述可执行解析文件。 _
3. 根据权利要求1或2所述的方法,其特征在于,所述执行信号包括与所述执行端匹配 的地址信息; 所述将所述执行信号发送到执行端,包括: _ 基于所述地址信息从所述执行端确定所述执行信号对应的响应结构,将所述执行信号 发送给所述响应结构; 所述基于所述执行信号控制所述执行端执行相应操作,包括: 通过所述响应结构执行所述执行信号相应的操作。
4. 根据权利要求2或3所述的方法,其特征在于,所述基于协议信号格式化数据,获得所 述可执行解析文件,包括: 对接收的协议信号格式化数据进行解析,得到所述格式化数据的详细信息; 对所述格式化数据的详细信息进行编译,获得第一中间解析文件; 基于所述第一中间解析文件,获得所述可执行解析文件。
5. 根据权利要求4所述的方法,其特征在于,所述基于所述第一中间解析文件,获得所 述可执行解析文件,包括: 将所述第一中间解析文件输入与其匹配的预设协议模板,得到所述预设协议模板对应 文件格式的第二中间解析文件,每种所述预设协议模板对应一种所述文件格式; 基于所述第二中间解析文件,获得所述可执行解析文件。
6. 根据权利要求5所述的方法,其特征在于,所述第一中间解析文件包括索引数据; 所述将所述第一中间解析文件输入与其匹配的预设协议模板,得到所述预设协议模板 对应的格式的第二中间解析文件之前,还包括: 基于所述第一中间解析文件的所述索引数据与模板库中预存的所述预设协议模板对 应的标识数据进行匹配,获得与所述索引数据匹配的至少一个所述标识数据,所述模板库 中包括至少一个预设协议模板,每个所述预设协议模板对应一个标识数据; 基于所述匹配的标识数据获得与所述第一中间解析文件匹配的预设协议模板。
7. 根据权利要求6所述的方法,其特征在于,所述第一中间解析文件还包括第一数据, 所述预设协议模板的设定位置包括第二数据, 所述将所述第一中间解析文件输入与其匹配的预设协议模板,得到所述预设协议模板 对应的格式的第二中间解析文件,包括: 将所述与第一中间解析文件匹配的预设协议模板中的所述第二数据替换为所述第一 中间解析文件的所述第一数据,得到替换后的预设协议模板; 将所述替换后的预设协议模板作为所述第二中间解析文件。
8.—种报又解析装置,其特征在于,包括: 第一获取单元,用于从网络总线中获得报文数据; 数据解析单元,用于基于所述报文数据对应的可执行解析文件对所述报文数据进行解 析,获得执行信号,并将所述执行信号发送给执行端; 控制单元,用于基于所述执行信号控制所述执行端执行相应操作。
9. 一种电子设备,其特征在于,包括处理器,所述处理器包括权利要求8所述的报文解 析装置。
10. —种电子设备,其特征在于,包括: 1 存储器,用于存储可执行指令;以及处理器,用于与所述存储器通信以执行所述可执行 指令从而完成权利要求1至7任意一项所述的报文解析方法。
CN201810771089.XA 2018-07-13 2018-07-13 报文解析方法和装置、电子设备 Active CN108965293B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810771089.XA CN108965293B (zh) 2018-07-13 2018-07-13 报文解析方法和装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810771089.XA CN108965293B (zh) 2018-07-13 2018-07-13 报文解析方法和装置、电子设备

Publications (2)

Publication Number Publication Date
CN108965293A true CN108965293A (zh) 2018-12-07
CN108965293B CN108965293B (zh) 2021-06-11

Family

ID=64483850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810771089.XA Active CN108965293B (zh) 2018-07-13 2018-07-13 报文解析方法和装置、电子设备

Country Status (1)

Country Link
CN (1) CN108965293B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743310A (zh) * 2018-12-28 2019-05-10 百度在线网络技术(北京)有限公司 用于解析报文的方法和装置
CN110661688A (zh) * 2019-08-23 2020-01-07 中国兵器装备集团上海电控研究所 Can指令实时控制的多功能场景切换方法及系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442792A (en) * 1992-08-07 1995-08-15 Hughes Aircraft Company Expert system compilation method
CN103870262A (zh) * 2012-12-14 2014-06-18 北汽福田汽车股份有限公司 一种基于shell脚本的变量自动生成方法及装置
CN204946332U (zh) * 2015-08-17 2016-01-06 马荣军 一种总线传输控制系统
CN105703990A (zh) * 2014-11-28 2016-06-22 联创汽车电子有限公司 车载控制器can通信报文解析方法和构建方法
CN106096036A (zh) * 2016-06-27 2016-11-09 厦门中云创电子科技有限公司 一种can‑bus总线的数据解析方法和系统
CN107132832A (zh) * 2016-02-29 2017-09-05 株洲南车时代电气股份有限公司 一种基于can通讯的dbc文件解析及其程序设计方法
CN107220138A (zh) * 2017-05-27 2017-09-29 云蜂出行智能科技有限公司 一种通过can总线消息解析系统、方法及其函数存取方法
CN107499258A (zh) * 2017-09-05 2017-12-22 百度在线网络技术(北京)有限公司 应用于自动驾驶汽车的控制方法和装置
CN107547441A (zh) * 2017-08-25 2018-01-05 山东省科学院自动化研究所 Can报文滤波解析方法、系统及电子控制单元
CN107656520A (zh) * 2017-10-24 2018-02-02 厦门市福工动力技术有限公司 Can总线数据解析方法及计算机可读存储介质
CN108040040A (zh) * 2017-11-30 2018-05-15 北京锐安科技有限公司 一种应用协议报文的自动化解析方法和装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442792A (en) * 1992-08-07 1995-08-15 Hughes Aircraft Company Expert system compilation method
CN103870262A (zh) * 2012-12-14 2014-06-18 北汽福田汽车股份有限公司 一种基于shell脚本的变量自动生成方法及装置
CN105703990A (zh) * 2014-11-28 2016-06-22 联创汽车电子有限公司 车载控制器can通信报文解析方法和构建方法
CN204946332U (zh) * 2015-08-17 2016-01-06 马荣军 一种总线传输控制系统
CN107132832A (zh) * 2016-02-29 2017-09-05 株洲南车时代电气股份有限公司 一种基于can通讯的dbc文件解析及其程序设计方法
CN106096036A (zh) * 2016-06-27 2016-11-09 厦门中云创电子科技有限公司 一种can‑bus总线的数据解析方法和系统
CN107220138A (zh) * 2017-05-27 2017-09-29 云蜂出行智能科技有限公司 一种通过can总线消息解析系统、方法及其函数存取方法
CN107547441A (zh) * 2017-08-25 2018-01-05 山东省科学院自动化研究所 Can报文滤波解析方法、系统及电子控制单元
CN107499258A (zh) * 2017-09-05 2017-12-22 百度在线网络技术(北京)有限公司 应用于自动驾驶汽车的控制方法和装置
CN107656520A (zh) * 2017-10-24 2018-02-02 厦门市福工动力技术有限公司 Can总线数据解析方法及计算机可读存储介质
CN108040040A (zh) * 2017-11-30 2018-05-15 北京锐安科技有限公司 一种应用协议报文的自动化解析方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王量: "某自动变速器车型CAN信号解析研究", 《第十三届沈阳科学学术年会》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109743310A (zh) * 2018-12-28 2019-05-10 百度在线网络技术(北京)有限公司 用于解析报文的方法和装置
CN109743310B (zh) * 2018-12-28 2021-11-16 阿波罗智联(北京)科技有限公司 用于解析报文的方法和装置
CN110661688A (zh) * 2019-08-23 2020-01-07 中国兵器装备集团上海电控研究所 Can指令实时控制的多功能场景切换方法及系统

Also Published As

Publication number Publication date
CN108965293B (zh) 2021-06-11

Similar Documents

Publication Publication Date Title
CN104331292B (zh) 一种车联网中间件协议转换的配置生成方法
US6697967B1 (en) Software for executing automated tests by server based XML
CN108965293A (zh) 报文解析方法和装置、电子设备
US20100095159A1 (en) Apparatus and method for automatic testing of software or digital devices
CN106021102B (zh) 自动化测试文件的生成方法及装置
CN101150463B (zh) 测试方法和系统
CN103019939A (zh) 一种测试驱动程序的方法及系统
CN104503429A (zh) 轨道交通车辆静态试验数据自动化处理方法及装置
CN102821211A (zh) 通信网元自动化测试方法及装置
CN103378994A (zh) 一种通信设备的测试方法及终端
CN104063227A (zh) 一种基于物联网的指令学习方法
EP2631793B1 (en) Method for generating a technical document of functional specifications of a control unit of a vehicle to be programmed while the control unit is programmed
CN208401882U (zh) 教育机器人教学系统
CN208174736U (zh) 教育机器人编程系统
CN103488477A (zh) Java接口的可视化编辑系统和可视化编辑方法
KR20130114245A (ko) 통신 장치
CN101299683B (zh) 一种离线数据的配置设备和方法
CN205121274U (zh) 串口规约报文信号试验端子排
KR20080093117A (ko) 커맨드-라인 쉘 처리 세션 확립 방법과 이를 구현하는컴퓨터 프로그램 제품, 및 커맨드용 원격 처리 세션을확립하는 방법
CN108664240A (zh) 一种应用于智能眼镜工作流程的实现方法及系统
JP2007280026A (ja) 無線基地局装置
CN105530288B (zh) 一种数据交互的方法
KR20160080391A (ko) 실시간 데이터 전송 처리 시스템의 메시지 자동 생성 장치 및 방법
CN107733743B (zh) 实现以太网总线数据自动测试的方法及系统
Dinulescu et al. Web based Telematics Application using Open-Source technologies

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
GR01 Patent grant
GR01 Patent grant