CN112118232A - 报文协议解析方法及装置 - Google Patents
报文协议解析方法及装置 Download PDFInfo
- Publication number
- CN112118232A CN112118232A CN202010865167.XA CN202010865167A CN112118232A CN 112118232 A CN112118232 A CN 112118232A CN 202010865167 A CN202010865167 A CN 202010865167A CN 112118232 A CN112118232 A CN 112118232A
- Authority
- CN
- China
- Prior art keywords
- configuration file
- field
- interface protocol
- message
- protocol configuration
- 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
Links
Images
Classifications
-
- 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/24—Negotiation of communication capabilities
-
- 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)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
Abstract
本发明实施例提供一种报文协议解析方法及装置,所述方法包括:通过提取待解析报文协议的类型字段,并根据类型字段在接口协议配置文件库中进行查找,确定与待解析报文协议类型相同的接口协议配置文件,从而可以根据该接口协议配置文件,对待解析报文协议进行解析。本发明实施例通过为每种类型的报文协议定义对应的接口协议配置文件,从而实现能够自动解析报文协议,并在报文协议规范更新时,只需修改配置文件,不仅能够准确获取更新规范后的报文协议内容,而且可以灵活修改配置文件,以满足不同场景的需要,可移植性高。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种报文协议解析方法及装置。
背景技术
网络协议是为计算机网络中进行数据交换而建立的规则、标准或约定的集合。其中的应用层协议定义了运行在不同端系统上的应用程序进程如何相互传递报文。二进制协议的报文字节流,需要将字节拆分成多个字段,解析出具体内容,应用程序或使用人员才可对报文数据做进一步处理和应用。由于应用层协议可以根据需求自定义,每种协议的字节序、报文长度、字段构成差异大,没有统一的解析方式,需要对比接口协议规范自行解析每个字段内容,或者使用定制的报文解析器进行解析。
自定义的应用层协议会根据通信需求进行更新和补充,但是定制的报文解析器将接口协议规则写入软件程序中,每次接口协议规范更新或补充后,需要修改程序代码,重新进行编译。并且,定制的报文解析器内置的接口协议规范无法暴露给软件使用者,若接口协议规范更新,软件使用者无法检查目前的报文解析器是否已经适配更新,可能会得到错误的报文解析内容。
发明内容
针对现有技术存在的问题,本发明实施例提供一种报文协议解析方法及装置。
具体地,本发明实施例提供了如下技术方案:
第一方面,本发明实施例提供一种报文协议解析方法,包括:
提取待解析报文协议的类型字段,并根据所述类型字段在接口协议配置文件库中进行查找,确定与待解析报文协议类型相同的接口协议配置文件;
根据接口协议配置文件,对待解析报文协议进行解析;
其中,所述接口协议配置文件库中存储有多个接口协议配置文件,且每个接口协议配置文件用于描述一种类型的报文协议。
进一步地,所述接口协议配置文件的格式为半结构化或结构化数据类型,所述接口协议配置文件中的字段是以树状结构描述,所述接口协议配置文件至少包含能够获取字段的起始字节、字段长度和字段含义的字段内容。
进一步地,接口协议配置文件根据每种类型的报文协议定义之后,还包括:
提取所述接口协议配置文件的类型作为关键字,并检查所述接口协议配置文件中是否包含可以获取字段的起始字节、字段长度和字段含义的字段内容,若否,则修改接口协议配置文件直至包含可以获取字段的起始字节、字段长度和字段含义的字段内容;
其中,所述接口协议配置文件的类型为对应报文协议的类型。
进一步地,所述根据接口协议配置文件,对待解析报文协议进行解析,包括:
根据接口协议配置文件,获取待解析报文中每个字段的取值和含义,并判断待解析报文中每个字段是否合法;
其中,所述判断待解析报文中每个字段的合法性,包括:
对于数值类型字段,若数值的取值在取值范围区间,则判断合法;
对于枚举类型字段,若取值属于枚举值之一,则判断合法。
进一步地,根据接口协议配置文件,对待解析报文协议进行解析之后,还包括:
根据待解析报文协议的解析结果,显示解析后的报文协议,且将报文协议中的不合法字段在显示的报文协议中进行提醒。
第二方面,本发明实施例提供一种报文协议解析装置,包括:
协议读取模块,用于提取待解析报文协议的类型字段,并根据所述类型字段在接口协议配置文件库中进行查找,确定与待解析报文协议类型相同的接口协议配置文件;
协议解析模块,用于根据接口协议配置文件,对待解析报文协议进行解析;
其中,所述接口协议配置文件库中存储有多个接口协议配置文件,且每个接口协议配置文件用于描述一种类型的报文协议。
进一步地,所述接口协议配置文件的格式为半结构化或结构化数据类型,所述接口协议配置文件中的字段是以树状结构描述,所述接口协议配置文件至少包含能够获取字段的起始字节、字段长度和字段含义的字段内容。
进一步地,还包括预处理模块,具体用于:
提取所述接口协议配置文件的类型作为关键字,并检查所述接口协议配置文件中是否包含可以获取字段的起始字节、字段长度和字段含义的字段内容,若否,则修改接口协议配置文件直至包含可以获取字段的起始字节、字段长度和字段含义的字段内容;
其中,所述接口协议配置文件的类型为对应报文协议的类型。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述报文协议解析方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述报文协议解析方法的步骤。
本发明实施例提供的报文协议解析方法及装置,通过提取待解析报文协议的类型字段,并根据类型字段在接口协议配置文件库中进行查找,确定与待解析报文协议类型相同的接口协议配置文件,从而可以根据该接口协议配置文件,对待解析报文协议进行解析;由于待解析报文协议是根据接口协议配置文件库存储的接口协议配置文件进行解析,从而在报文协议规范更新时,只需修改接口协议配置文件库中对应的接口协议配置文件,即可对报文进行解析,而无需修改软件程序,可移植性高。由此可见,本发明实施例通过为每种类型的报文协议定义对应的接口协议配置文件,从而实现能够自动解析报文协议,并在报文协议规范更新时,只需修改配置文件,不仅能够准确获取更新规范后的报文协议内容,而且可以灵活修改配置文件,以满足不同场景的需要,可移植性高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一个实施例提供的报文协议解析方法的流程示意图;
图2是本发明第一个实施例提供的报文协议解析操作流程示意图;
图3是本发明第一个实施例提供的接口协议配置文件示意图;
图4是本发明第一个实施例提供的报文协议解析示意图;
图5是本发明第一个实施例提供的又一接口协议配置文件示意图;
图6是本发明第二个实施例提供的报文协议解析装置的结构示意图;
图7是本发明第三个实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明第一个实施例提供的报文协议解析方法的流程示意图,如图1所示,本发明第一个实施例提供的报文协议解析方法,包括如下步骤:
步骤110、提取待解析报文协议的类型字段,并根据类型字段在接口协议配置文件库中进行查找,确定与待解析报文协议类型相同的接口协议配置文件。
其中,接口协议配置文件库中存储有多个接口协议配置文件,且每个接口协议配置文件用于描述一种类型的报文协议。
在本步骤中,需要说明的是,为了保证列车的安全运行,列车需要实时接收通信报文,通过解析通信报文协议获取列车控制的相关信息。例如,列车控制系统中区域控制中心(Zone Controller,以下简称“ZC”)和车载控制器(Vehicle On-Board Controller,以下简称“VOBC”)之间通信的行车许可报文(Movement Authority,以下简称“MA报文”),是列车安全运行的行车凭证,通过解析MA报文,可以获取行车起点位置、区段内偏移等信息,从而控制列车运行。然而,由于每种报文协议的字节序、报文长度、以及字段等信息存在较大差异,传统方法中需要对比接口协议规范自行解析每个字段内容,或者使用定制的报文解析器进行解析。但是定制的报文解析器需要将接口协议规则写入软件程序中,每次接口协议规范更新或补充后,需要修改程序代码,重新进行编译。
因此,本实施例通过为每种类型的报文协议定义对应的接口协议配置文件并存储在接口协议配置文件库中,待解析报文协议根据对应的接口协议配置文件进行解析,从而实现能够自动解析报文协议,并在报文协议规范更新时,只需修改配置文件,不仅能够准确获取更新规范后的报文协议内容,而且可以灵活修改配置文件,以满足不同场景的需要,可移植性高。
具体地,本实施例在接口协议配置文件库中存储有多个接口协议配置文件,且每个接口协议配置文件用于描述一种类型的报文协议,从而使任一类型的报文协议均可在接口协议配置文件库中找到与其类型相同的接口协议配置文件,并按照该接口协议配置文件进行解析。进一步地,当某种类型的报文协议规范更新时,只需修改接口协议配置文件库中对应的接口协议配置文件;或者当新增了某种类型的报文协议后,可以在接口协议配置文件库中为该类型的报文协议增加相应的接口协议配置文件;或者当某种类型的接口协议配置文件已不再使用时,可以在接口协议配置文件库中删除对应的接口协议配置文件。
其中,接口协议配置文件可以以数据表形式存储在数据库,通过数据库接口对协议进行读取和查找;也可以以文件形式(xml、json、EXCEL等文件)存储在软件所在相对路径的文件夹下,在软件启动后,动态读取文件内容,并存储至内存变量中,本实施例对此不作具体限定。由于两个应用程序间可以具有多个接口协议,所以接口协议配置文件可以有多个,每个协议的字段定义内容可以是有区别的,但需要包含能够获取字段起始字节、字段长度和字段含义的内容,从而保证可以准确识别出协议内容。
由此可见,本实施例通过在接口协议配置文件库中存储多个接口协议配置文件,并且可以灵活修改、增加或删除对应的接口协议配置文件,以满足不同场景的需求,相较于传统方法中的定制的报文解析器需要将接口协议规则写入软件程序中,每次接口协议规范更新或补充后,需要修改程序代码,重新进行编译,本实施例提供的方法能够根据不同场景灵活变更,可移植性较高。
相应地,在接口协议配置文件库中定义相关的接口协议配置文件后,需要在接口协议配置文件库中查找与待解析报文协议类型相同的接口协议配置文件,本实施例通过提取待解析报文协议的类型字段,并根据类型字段在接口协议配置文件库中进行查找,确定与待解析报文协议类型相同的接口协议配置文件。图2是本发明第一个实施例提供的报文协议解析操作流程示意图,如图2所示,可以通过输入待解析报文协议,该报文可以是二进制形式,也可以是已经经过转换的十六进制形式,然后对输入的报文协议类型字段进行提取,在存储的接口协议配置文件中查找出与报文协议类型相同的配置文件。需要说明的是,报文协议类型字段的字段起始字节和字段长度也可以作为配置项,但所有报文协议需要统一该字段信息的格式,便于准确在字段中提取报文协议的类型,从而能够在接口协议配置文件库中准确查找到类型相同的接口协议配置文件。
步骤120、根据接口协议配置文件,对待解析报文协议进行解析。
在本步骤中,根据上述步骤110查找到与待解析报文协议类型相同的接口协议配置文件后,按照接口协议配置文件对报文进行解析,可以解析出报文中每个字段的取值、含义,从而获取待解析报文中的信息。
其中,图3是本发明第一个实施例提供的接口协议配置文件示意图,如图3所示,接口协议配置文件描述了ZC-VOBC接口协议的字段内容,根据该内容可以解析出对应报文的具体参数信息,例如,根据配置文件中“<定义2>MA起点位置”,就可以解析出ZC-VOBC报文协议中携带的MA起点位置信息。图4是本发明第一个实施例提供的报文协议解析示意图,如图4所示,根据ZC-VOBC接口协议配置文件,解析出了对应的ZC-VOBC报文协议信息,其中,解析出的报文协议中携带“MA起点位置”、“区段内偏移”等信息。
由此可见,本实施例通过根据接口协议配置文件,可以实现自动对待解析报文协议进行解析,而且接口协议配置文件的定义与软件编码分离,在报文协议规范更新时,无需软件开发人员修改代码以及重新编译软件,只需修改配置文件,不仅能够准确获取更新规范后的报文协议内容,而且可以灵活修改配置文件,以满足不同场景的需要,可移植性高,还可作为其它软件产品的一个子模块,可扩展性高,例如实现批量解析报文、报文自动接收解析等功能。
本发明实施例提供的报文协议解析方法,通过提取待解析报文协议的类型字段,并根据类型字段在接口协议配置文件库中进行查找,确定与待解析报文协议类型相同的接口协议配置文件,从而可以根据该接口协议配置文件,对待解析报文协议进行解析;由于待解析报文协议是根据接口协议配置文件库存储的接口协议配置文件进行解析,从而在报文协议规范更新时,只需修改接口协议配置文件库中对应的接口协议配置文件,即可对报文进行解析,而无需修改软件程序,可移植性高。由此可见,本发明实施例通过为每种类型的报文协议定义对应的接口协议配置文件,从而实现能够自动解析报文协议,并在报文协议规范更新时,只需修改配置文件,不仅能够准确获取更新规范后的报文协议内容,而且可以灵活修改配置文件,以满足不同场景的需要,可移植性高。
基于上述实施例的内容,作为一种可选实施例,接口协议配置文件的格式为半结构化或结构化数据类型,接口协议配置文件中的字段是以树状结构描述,接口协议配置文件至少包含能够获取字段的起始字节、字段长度和字段含义的字段内容。
在本步骤中,需要说明的是,结构化数据类型格式固定,比如关系型数据库和EXCEL表格这种都是结构化数据类型,一般以行的形式显示,每一行的属性都是固定的。半结构化数据类型格式更灵活一些,比结构化数据类型扩展性高,比如非关系型数据库、json数据、xml数据都是半结构化数据类型,每一个字段包含的内容可以不相同。用户可以根据具体场景需求,选取对应的数据类型定义接口协议配置文件。例如,如果每个字段包含的内容都类似,且要把配置数据存在数据库,那么可以选择结构化数据类型;如果为了方便用户修改,且同一个接口协议规范中的不同字段包含的内容有差异,可以使用半结构化数据类型如json或xml文件去存储,本实施例对此不作具体限定。另外,由于半结构化或结构化数据具有一定的结构性,可以根据固定规则进行读取,适合作为软件的配置项,软件无需修改只需修改配置内容即可解析更新后的接口协议。接口协议配置文件的格式可以包括但不限于xml文本文件、json文本文件、关系型数据库、非关系型数据库、具有固定语义语法格式的文本表达、EXCEL表格等。
进一步地,本实施例中接口协议配置文件中的字段是以树状结构描述,采用树状结构描述能体现出字段间的包含关系,如图4中所示的MA信息这个属性由2个字段构成,分别是MA方向和MA起点位置,从而能体现出字段间的从属关系(如体现并列的字段)。其中,可以通过在配置文件中定义字段的层级关系来实现树状结构的方式,如图3所示的MA信息属于<定义>这个标签,MA方向和MA起点位置就属于<定义2>这个标签,程序通过这种固定规则读取出字段间层级关系,并以树状结构显示出来。
进一步地,为了能够根据接口协议配置文件准确解析出待解析的报文协议,接口协议配置文件中字段的定义内容可包括但不限于字段起始字节、字段长度、字段终止字节、字段含义、字段类型、字段取值范围、字段解释等。但需至少包含或能推断出字段的起始字节、字段长度和字段含义。例如,可以不定义字段起始字节,但可以通过各个字段排列的先后顺序和字段长度推算出本字段起始字节。其中,定义内容中的字段类型包括但不限于数值类型、枚举型。
本发明实施例提供的报文协议解析方法,接口协议配置文件的格式采用半结构化或结构化数据类型,从而能够根据不同场景定义接口协议配置文件,并且以树状结构描述接口协议配置文件中的字段,可以直观显示字段间的层级关系,通过接口协议配置文件至少包含能够获取字段的起始字节、字段长度和字段含义的字段内容,从而根据接口协议配置文件准确解析出待解析的报文协议。
基于上述实施例的内容,作为一种可选实施例,接口协议配置文件根据每种类型的报文协议定义之后,还包括:
提取接口协议配置文件的类型作为关键字,并检查接口协议配置文件中是否包含可以获取字段的起始字节、字段长度和字段含义的字段内容,若否,则修改接口协议配置文件直至包含可以获取字段的起始字节、字段长度和字段含义的字段内容;其中,接口协议配置文件的类型为对应报文协议的类型。
在本步骤中,将接口协议配置文件进行预处理,包括:对接口协议配置文件内容的审核和提取接口协议配置文件类型作为关键字,便于快速匹配至对应的待解析报文协议。对接口协议配置文件内容的审核包括检查是否能推断出字段的起始字节、字段长度和字段含义,若否,则修改接口协议配置文件直至包含可以获取字段的起始字节、字段长度和字段含义的字段内容。
需要说明的是,本实施例在对接口协议配置文件内容进行审核时,还可以检查字段字节占位是否重叠,检查字段类型和其取值范围是否矛盾等。图5是本发明第一个实施例提供的又一接口协议配置文件示意图,如图5所示,“接口信息类型”的开始字节位置是1,终止字节位置是2,发送方标识信息的开始字节位置是1,终止字节位置是3,程序在解析字节1的时候就无法判断该字节属于哪个字段,就会提示占位重叠。又如发送方标识信息这个字段是个枚举型字段,可能的取值应用<comment>标签列举出来,但是这个字段没有<comment>标签,只有<range>这种描述数值型取值范围的标签,则说明字段类型和取值范围矛盾。
本发明实施例提供的报文协议解析方法,在接口协议配置文件根据每种类型的报文协议定义之后,提取接口协议配置文件的类型作为关键字,能够保证通过关键字快速匹配至相应的待解析报文协议,同时通过检查接口协议配置文件中是否包含可以获取字段的起始字节、字段长度和字段含义的字段内容,从而保证可以准确解析出待解析报文的内容。
基于上述实施例的内容,作为一种可选实施例,根据接口协议配置文件,对待解析报文协议进行解析,包括:
根据接口协议配置文件,获取待解析报文中每个字段的取值和含义,并判断待解析报文中每个字段是否合法;
其中,判断待解析报文中每个字段的合法性,包括:
对于数值类型字段,若数值的取值在取值范围区间,则判断合法;
对于枚举类型字段,若取值属于枚举值之一,则判断合法。
在本步骤中,根据接口协议配置文件对报文进行解析,解析出每个字段的取值和含义,并判断待解析报文中每个字段是否合法。字段的合法性取决于字段类型和取值范围,数值类型字段判断取值是否在范围区间内,枚举型字段判断取值是否是特定值之一,具体包括:对于数值类型字段,若数值的取值在取值范围区间,则判断合法;对于枚举类型字段,若取值属于枚举值之一,则判断合法。
本发明实施例提供的报文协议解析方法,通过根据接口协议配置文件解析报文协议,并判断报文协议中字段的合法性,从而能够进一步确认所解析的报文协议内容是否准确。
基于上述实施例的内容,作为一种可选实施例,根据接口协议配置文件,对待解析报文协议进行解析之后,还包括:
根据待解析报文协议的解析结果,显示解析后的报文协议,且将报文协议中的不合法字段在显示的报文协议中进行提醒。
在本步骤中,需要说明的是,由于传统方法中定制的报文解析器内置的接口协议规范无法暴露给软件使用者,若接口协议规范更新,软件使用者无法检查目前的报文解析器是否已经适配更新,可能会得到错误的报文解析内容。因此,本实施例在对待解析报文协议进行解析之后,可以通过检查报文协议对应的接口协议配置文件内容,与更新后的协议规范文档进行对比,相较于传统方法中用户无法看到接口协议规范文件,本实施例提供的方法能够通过查看接口协议配置文件检查是否已经更新到最新版本,从而避免接口协议配置文件没有更新到最新版本而导致解析错误或者无法解析报文。本实施例中以树状结构显示出每个字段的内容和字段间从属关系。对于非法字段,可以高亮显示或进行消息提醒。其中字段内容包含但不限于字段含义、字段取值、字段解释、字段类型、取值范围、字段长度等。
本发明实施例提供的报文协议解析方法,在对待解析报文协议进行解析之后,可视化显示报文内容,并在显示页面提示非法字段,可以检查输入的报文协议是否有误。并且本发明实施例可以通过检查接口协议配置文件查看报文协议内容,对比更新后的协议规范文档,检查接口协议配置文件是否已更新到最新版本,避免发生报文协议已经根据新的协议规范内容修改而导致接口协议配置文件解析错误或者无法解析报文。
图6是本发明第二个实施例提供的报文协议解析装置的结构示意图,如图6所示,本发明第二个实施例提供的报文协议解析装置,包括:
协议读取模块610,用于提取待解析报文协议的类型字段,并根据类型字段在接口协议配置文件库中进行查找,确定与待解析报文协议类型相同的接口协议配置文件;
协议解析模块620,用于根据接口协议配置文件,对待解析报文协议进行解析;
其中,接口协议配置文件库中存储有多个接口协议配置文件,且每个接口协议配置文件用于描述一种类型的报文协议。
本实施例所述的报文协议解析装置可以用于执行上述第一个实施例所述的报文协议解析方法,其原理和技术效果类似,此处不再详述。
基于上述实施例的内容,作为一种可选实施例,接口协议配置文件的格式为半结构化或结构化数据类型,接口协议配置文件中的字段是以树状结构描述,接口协议配置文件至少包含能够获取字段的起始字节、字段长度和字段含义的字段内容。
本实施例所述的报文协议解析装置可以用于执行上述第一个实施例所述的报文协议解析方法,其原理和技术效果类似,此处不再详述。
基于上述实施例的内容,作为一种可选实施例,还包括预处理模块,具体用于:
提取接口协议配置文件的类型作为关键字,并检查接口协议配置文件中是否包含可以获取字段的起始字节、字段长度和字段含义的字段内容,若否,则修改接口协议配置文件直至包含可以获取字段的起始字节、字段长度和字段含义的字段内容;
其中,接口协议配置文件的类型为对应报文协议的类型。
本实施例所述的报文协议解析装置可以用于执行上述第一个实施例所述的报文协议解析方法,其原理和技术效果类似,此处不再详述。
图7是本发明第三个实施例提供的电子设备的结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(Communications Interface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行报文协议解析方法,该方法包括:提取待解析报文协议的类型字段,并根据类型字段在接口协议配置文件库中进行查找,确定与待解析报文协议类型相同的接口协议配置文件;根据接口协议配置文件,对待解析报文协议进行解析;其中,接口协议配置文件库中存储有多个接口协议配置文件,且每个接口协议配置文件用于描述一种类型的报文协议。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的报文协议解析方法,该方法包括:提取待解析报文协议的类型字段,并根据类型字段在接口协议配置文件库中进行查找,确定与待解析报文协议类型相同的接口协议配置文件;根据接口协议配置文件,对待解析报文协议进行解析;其中,接口协议配置文件库中存储有多个接口协议配置文件,且每个接口协议配置文件用于描述一种类型的报文协议。
又一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的报文协议解析方法,该方法包括:提取待解析报文协议的类型字段,并根据类型字段在接口协议配置文件库中进行查找,确定与待解析报文协议类型相同的接口协议配置文件;根据接口协议配置文件,对待解析报文协议进行解析;其中,接口协议配置文件库中存储有多个接口协议配置文件,且每个接口协议配置文件用于描述一种类型的报文协议。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种报文协议解析方法,其特征在于,包括:
提取待解析报文协议的类型字段,并根据所述类型字段在接口协议配置文件库中进行查找,确定与待解析报文协议类型相同的接口协议配置文件;
根据接口协议配置文件,对待解析报文协议进行解析;
其中,所述接口协议配置文件库中存储有多个接口协议配置文件,且每个接口协议配置文件用于描述一种类型的报文协议。
2.根据权利要求1所述的报文协议解析方法,其特征在于,所述接口协议配置文件的格式为半结构化或结构化数据类型,所述接口协议配置文件中的字段是以树状结构描述,所述接口协议配置文件至少包含能够获取字段的起始字节、字段长度和字段含义的字段内容。
3.根据权利要求2所述的报文协议解析方法,其特征在于,接口协议配置文件根据每种类型的报文协议定义之后,还包括:
提取所述接口协议配置文件的类型作为关键字,并检查所述接口协议配置文件中是否包含可以获取字段的起始字节、字段长度和字段含义的字段内容,若否,则修改接口协议配置文件直至包含可以获取字段的起始字节、字段长度和字段含义的字段内容;
其中,所述接口协议配置文件的类型为对应报文协议的类型。
4.根据权利要求1所述的报文协议解析方法,其特征在于,所述根据接口协议配置文件,对待解析报文协议进行解析,包括:
根据接口协议配置文件,获取待解析报文中每个字段的取值和含义,并判断待解析报文中每个字段是否合法;
其中,所述判断待解析报文中每个字段的合法性,包括:
对于数值类型字段,若数值的取值在取值范围区间,则判断合法;
对于枚举类型字段,若取值属于枚举值之一,则判断合法。
5.根据权利要求4所述的报文协议解析方法,其特征在于,根据接口协议配置文件,对待解析报文协议进行解析之后,还包括:
根据待解析报文协议的解析结果,显示解析后的报文协议,且将报文协议中的不合法字段在显示的报文协议中进行提醒。
6.一种报文协议解析装置,其特征在于,包括:
协议读取模块,用于提取待解析报文协议的类型字段,并根据所述类型字段在接口协议配置文件库中进行查找,确定与待解析报文协议类型相同的接口协议配置文件;
协议解析模块,用于根据接口协议配置文件,对待解析报文协议进行解析;
其中,所述接口协议配置文件库中存储有多个接口协议配置文件,且每个接口协议配置文件用于描述一种类型的报文协议。
7.根据权利要求6所述的报文协议解析装置,其特征在于,所述接口协议配置文件的格式为半结构化或结构化数据类型,所述接口协议配置文件中的字段是以树状结构描述,所述接口协议配置文件至少包含能够获取字段的起始字节、字段长度和字段含义的字段内容。
8.根据权利要求7所述的报文协议解析装置,其特征在于,还包括预处理模块,具体用于:
提取所述接口协议配置文件的类型作为关键字,并检查所述接口协议配置文件中是否包含可以获取字段的起始字节、字段长度和字段含义的字段内容,若否,则修改接口协议配置文件直至包含可以获取字段的起始字节、字段长度和字段含义的字段内容;
其中,所述接口协议配置文件的类型为对应报文协议的类型。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述报文协议解析方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一项所述报文协议解析方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010865167.XA CN112118232B (zh) | 2020-08-25 | 2020-08-25 | 报文协议解析方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010865167.XA CN112118232B (zh) | 2020-08-25 | 2020-08-25 | 报文协议解析方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112118232A true CN112118232A (zh) | 2020-12-22 |
CN112118232B CN112118232B (zh) | 2022-10-18 |
Family
ID=73805593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010865167.XA Active CN112118232B (zh) | 2020-08-25 | 2020-08-25 | 报文协议解析方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112118232B (zh) |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112866190A (zh) * | 2020-12-25 | 2021-05-28 | 宝能(广州)汽车研究院有限公司 | 数据交互方法、存储介质、电子设备、车辆 |
CN112910838A (zh) * | 2021-01-11 | 2021-06-04 | 金卡智能集团股份有限公司 | 复合协议解析方法、装置、设备、系统和存储介质 |
CN113037820A (zh) * | 2021-02-26 | 2021-06-25 | 北京方正数码有限公司 | 一种物联网设备通讯模块 |
CN113312108A (zh) * | 2021-06-18 | 2021-08-27 | 中国农业银行股份有限公司 | Swift报文的校验方法、装置、电子设备及存储介质 |
CN113364747A (zh) * | 2021-05-24 | 2021-09-07 | 深圳市航顺芯片技术研发有限公司 | 调试方法、装置、系统及数据集生成方法、装置 |
CN113364732A (zh) * | 2021-04-22 | 2021-09-07 | 东风电驱动系统有限公司 | 一种车载终端通讯协议解析方法及装置 |
CN113434437A (zh) * | 2021-08-26 | 2021-09-24 | 北京全路通信信号研究设计院集团有限公司 | 一种接口协议数据解析方法及系统 |
CN113542216A (zh) * | 2021-06-04 | 2021-10-22 | 北京机电工程研究所 | 一种接口协议自动转换方法及装置 |
CN114070761A (zh) * | 2021-11-11 | 2022-02-18 | 北京轨道交通路网管理有限公司 | 协议报文检测方法、其装置及电子设备 |
CN114125079A (zh) * | 2021-09-07 | 2022-03-01 | 北京网藤科技有限公司 | 一种火电安全模拟平台协议解析系统及其解析方法 |
CN114448685A (zh) * | 2022-01-13 | 2022-05-06 | 绿盟科技集团股份有限公司 | 一种生成网络协议报文防护策略的方法及装置 |
CN114629972A (zh) * | 2022-03-21 | 2022-06-14 | 中国科学院计算机网络信息中心 | 一种数据报文的处理方法及装置 |
CN114745455A (zh) * | 2022-04-14 | 2022-07-12 | 通号城市轨道交通技术有限公司 | 网络接口报文数据处理方法、装置、设备及介质 |
CN114765633A (zh) * | 2021-01-04 | 2022-07-19 | 株洲中车时代电气股份有限公司 | 基于列车实时以太网协议的网络报文解析方法及装置 |
CN114827304A (zh) * | 2022-03-03 | 2022-07-29 | 宁波数益工联科技有限公司 | 一种高适配性工业数据采集系统 |
CN114938401A (zh) * | 2022-03-21 | 2022-08-23 | 北京思信飞扬信息技术股份有限公司 | 可配置的网络协议数据解析方法及电子设备 |
CN114979309A (zh) * | 2022-05-18 | 2022-08-30 | 中国电子科技集团公司第二十八研究所 | 一种支持网络化目标数据随遇接入与处理的方法 |
CN114979307A (zh) * | 2022-04-19 | 2022-08-30 | 杭州涂鸦信息技术有限公司 | 通信协议的解析方法、智能终端及存储介质 |
CN115208780A (zh) * | 2021-03-24 | 2022-10-18 | 中国电信股份有限公司 | 确定最大传输单元的方法及装置、存储介质、电子设备 |
CN115314573A (zh) * | 2022-08-05 | 2022-11-08 | 中国银行股份有限公司 | 一种报文体的动态加载方法及装置、电子设备、存储介质 |
CN115412620A (zh) * | 2022-08-29 | 2022-11-29 | 广东电网有限责任公司东莞供电局 | 一种基于通信协议数据库系统的变电站数据解析方法 |
CN117472387A (zh) * | 2023-12-26 | 2024-01-30 | 深圳麦格米特电气股份有限公司 | 一种动态解析数据的方法、装置及云平台 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102217281A (zh) * | 2011-06-13 | 2011-10-12 | 华为技术有限公司 | 协议解析方法及装置 |
CN104144156A (zh) * | 2013-05-10 | 2014-11-12 | 华为技术有限公司 | 报文处理方法和装置 |
US20150127678A1 (en) * | 2013-11-05 | 2015-05-07 | Verizon Patent And Licensing Inc. | Event triggered service for the lightweight directory access protocol |
CN105553819A (zh) * | 2015-12-10 | 2016-05-04 | 北京交控科技股份有限公司 | 轨道交通维护支持系统和方法 |
CN106713357A (zh) * | 2017-01-24 | 2017-05-24 | 南京仁谷系统集成有限公司 | 一种通用的网络协议解析方法 |
-
2020
- 2020-08-25 CN CN202010865167.XA patent/CN112118232B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102217281A (zh) * | 2011-06-13 | 2011-10-12 | 华为技术有限公司 | 协议解析方法及装置 |
CN104144156A (zh) * | 2013-05-10 | 2014-11-12 | 华为技术有限公司 | 报文处理方法和装置 |
US20150127678A1 (en) * | 2013-11-05 | 2015-05-07 | Verizon Patent And Licensing Inc. | Event triggered service for the lightweight directory access protocol |
CN105553819A (zh) * | 2015-12-10 | 2016-05-04 | 北京交控科技股份有限公司 | 轨道交通维护支持系统和方法 |
CN106713357A (zh) * | 2017-01-24 | 2017-05-24 | 南京仁谷系统集成有限公司 | 一种通用的网络协议解析方法 |
Non-Patent Citations (1)
Title |
---|
张玮: ""基于协议分析的网络流量监测系统研究与开发"", 《互联网技术; 互联网技术》 * |
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112866190A (zh) * | 2020-12-25 | 2021-05-28 | 宝能(广州)汽车研究院有限公司 | 数据交互方法、存储介质、电子设备、车辆 |
CN114765633A (zh) * | 2021-01-04 | 2022-07-19 | 株洲中车时代电气股份有限公司 | 基于列车实时以太网协议的网络报文解析方法及装置 |
CN112910838A (zh) * | 2021-01-11 | 2021-06-04 | 金卡智能集团股份有限公司 | 复合协议解析方法、装置、设备、系统和存储介质 |
CN113037820A (zh) * | 2021-02-26 | 2021-06-25 | 北京方正数码有限公司 | 一种物联网设备通讯模块 |
CN113037820B (zh) * | 2021-02-26 | 2022-10-11 | 北京方正数码有限公司 | 一种物联网设备通讯模块 |
CN115208780A (zh) * | 2021-03-24 | 2022-10-18 | 中国电信股份有限公司 | 确定最大传输单元的方法及装置、存储介质、电子设备 |
CN113364732A (zh) * | 2021-04-22 | 2021-09-07 | 东风电驱动系统有限公司 | 一种车载终端通讯协议解析方法及装置 |
CN113364747A (zh) * | 2021-05-24 | 2021-09-07 | 深圳市航顺芯片技术研发有限公司 | 调试方法、装置、系统及数据集生成方法、装置 |
CN113542216A (zh) * | 2021-06-04 | 2021-10-22 | 北京机电工程研究所 | 一种接口协议自动转换方法及装置 |
CN113312108B (zh) * | 2021-06-18 | 2023-10-03 | 中国农业银行股份有限公司 | Swift报文的校验方法、装置、电子设备及存储介质 |
CN113312108A (zh) * | 2021-06-18 | 2021-08-27 | 中国农业银行股份有限公司 | Swift报文的校验方法、装置、电子设备及存储介质 |
CN113434437B (zh) * | 2021-08-26 | 2022-04-12 | 北京全路通信信号研究设计院集团有限公司 | 一种接口协议数据解析方法及系统 |
CN113434437A (zh) * | 2021-08-26 | 2021-09-24 | 北京全路通信信号研究设计院集团有限公司 | 一种接口协议数据解析方法及系统 |
CN114125079A (zh) * | 2021-09-07 | 2022-03-01 | 北京网藤科技有限公司 | 一种火电安全模拟平台协议解析系统及其解析方法 |
CN114125079B (zh) * | 2021-09-07 | 2023-09-12 | 北京网藤科技有限公司 | 一种火电安全模拟平台协议解析系统及其解析方法 |
CN114070761A (zh) * | 2021-11-11 | 2022-02-18 | 北京轨道交通路网管理有限公司 | 协议报文检测方法、其装置及电子设备 |
CN114070761B (zh) * | 2021-11-11 | 2023-09-26 | 北京轨道交通路网管理有限公司 | 协议报文检测方法、其装置及电子设备 |
CN114448685B (zh) * | 2022-01-13 | 2023-11-03 | 绿盟科技集团股份有限公司 | 一种生成网络协议报文防护策略的方法及装置 |
CN114448685A (zh) * | 2022-01-13 | 2022-05-06 | 绿盟科技集团股份有限公司 | 一种生成网络协议报文防护策略的方法及装置 |
CN114827304A (zh) * | 2022-03-03 | 2022-07-29 | 宁波数益工联科技有限公司 | 一种高适配性工业数据采集系统 |
CN114938401A (zh) * | 2022-03-21 | 2022-08-23 | 北京思信飞扬信息技术股份有限公司 | 可配置的网络协议数据解析方法及电子设备 |
CN114629972B (zh) * | 2022-03-21 | 2024-03-22 | 中国科学院计算机网络信息中心 | 一种数据报文的处理方法及装置 |
CN114938401B (zh) * | 2022-03-21 | 2023-03-10 | 北京思信飞扬信息技术股份有限公司 | 可配置的网络协议数据解析方法及电子设备 |
CN114629972A (zh) * | 2022-03-21 | 2022-06-14 | 中国科学院计算机网络信息中心 | 一种数据报文的处理方法及装置 |
CN114745455A (zh) * | 2022-04-14 | 2022-07-12 | 通号城市轨道交通技术有限公司 | 网络接口报文数据处理方法、装置、设备及介质 |
CN114979307A (zh) * | 2022-04-19 | 2022-08-30 | 杭州涂鸦信息技术有限公司 | 通信协议的解析方法、智能终端及存储介质 |
CN114979309B (zh) * | 2022-05-18 | 2023-08-18 | 中国电子科技集团公司第二十八研究所 | 一种支持网络化目标数据随遇接入与处理的方法 |
CN114979309A (zh) * | 2022-05-18 | 2022-08-30 | 中国电子科技集团公司第二十八研究所 | 一种支持网络化目标数据随遇接入与处理的方法 |
CN115314573A (zh) * | 2022-08-05 | 2022-11-08 | 中国银行股份有限公司 | 一种报文体的动态加载方法及装置、电子设备、存储介质 |
CN115314573B (zh) * | 2022-08-05 | 2024-02-23 | 中国银行股份有限公司 | 一种报文体的动态加载方法及装置、电子设备、存储介质 |
CN115412620B (zh) * | 2022-08-29 | 2024-01-09 | 广东电网有限责任公司东莞供电局 | 一种基于通信协议数据库系统的变电站数据解析方法 |
CN115412620A (zh) * | 2022-08-29 | 2022-11-29 | 广东电网有限责任公司东莞供电局 | 一种基于通信协议数据库系统的变电站数据解析方法 |
CN117472387A (zh) * | 2023-12-26 | 2024-01-30 | 深圳麦格米特电气股份有限公司 | 一种动态解析数据的方法、装置及云平台 |
CN117472387B (zh) * | 2023-12-26 | 2024-04-16 | 深圳麦格米特电气股份有限公司 | 一种动态解析数据的方法、装置及云平台 |
Also Published As
Publication number | Publication date |
---|---|
CN112118232B (zh) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112118232B (zh) | 报文协议解析方法及装置 | |
CN111522816B (zh) | 基于数据库引擎的数据处理方法、装置、终端及介质 | |
US10002128B2 (en) | System for tokenizing text in languages without inter-word separation | |
US9875319B2 (en) | Automated data parsing | |
US20240078168A1 (en) | Test Case Generation Method and Apparatus and Device | |
CN110688307B (zh) | JavaScript代码检测方法、装置、设备和存储介质 | |
van den Burg et al. | Wrangling messy CSV files by detecting row and type patterns | |
US9690690B1 (en) | Scalable transitive violation matching | |
CN108664471B (zh) | 文字识别纠错方法、装置、设备及计算机可读存储介质 | |
CN112416962A (zh) | 数据查询方法、装置以及存储介质 | |
CN115599359A (zh) | 一种代码生成方法、装置、设备及介质 | |
CN110188432B (zh) | 系统架构的验证方法、电子设备及计算机可读存储介质 | |
CN109189372B (zh) | 保险产品的开发脚本生成方法及终端设备 | |
CN116467047A (zh) | 针对容器配置合规性的检测方法、装置、存储介质及终端 | |
CN115796146A (zh) | 一种文件对比方法及装置 | |
CN112732743B (zh) | 一种基于中文自然语言的数据分析方法及装置 | |
CN111325007B (zh) | 一种pptx文件的批注解析方法及终端 | |
CN111492364A (zh) | 数据标注方法、装置及存储介质 | |
US20090217156A1 (en) | Method for Storing Localized XML Document Values | |
CN113408250B (zh) | 一种项目文件的处理方法和装置 | |
CN112836477B (zh) | 代码注释文档的生成方法、装置、电子设备及存储介质 | |
CN113505570B (zh) | 参考文献参见落空的审校方法、装置、设备及存储介质 | |
CN116483698A (zh) | 一种前端受影响功能点分析方法、装置、设备及存储介质 | |
CN111370083B (zh) | 一种文本结构化方法及装置 | |
CN115408453A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |