CN103139207B - 解码方法和装置、报文解析方法和装置以及解析设备 - Google Patents
解码方法和装置、报文解析方法和装置以及解析设备 Download PDFInfo
- Publication number
- CN103139207B CN103139207B CN201310038481.0A CN201310038481A CN103139207B CN 103139207 B CN103139207 B CN 103139207B CN 201310038481 A CN201310038481 A CN 201310038481A CN 103139207 B CN103139207 B CN 103139207B
- Authority
- CN
- China
- Prior art keywords
- rule
- customization
- field
- decision point
- perform
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提出了解码方法和装置、报文解析方法和装置以及解析设备。其中,解码方法,包括:加载用户定制规则,其中所述用户定制规则是用户定制的解码规则;编译所述用户定制规则,以便将所述用户定制规则与规则执行动作建立关联;解析报文,并根据所述用户定制规则,执行对应的规则执行动作。本发明实施例在解析器中加载可编程的规则,通过动态改变解析逻辑,定制解析行为,提高解析的通用性和灵活度。
Description
技术领域
本发明涉及解码技术,特别涉及,可编程的解码方法和装置、报文解析方法和装置以及解析设备。
背景技术
随着宽带网络的不断普及,宽带数据处理业务种类越来越庞杂,如统一资源定位符过滤(URLF,UniformResourceLocatorFilter),入侵防御系统(IPS,IntrusionPreventionSystem),计费业务等。这些业务都需要对报文数据进行解码,以支持其业务处理。
目前,解析过程一般采用黑盒方式,即输入报文、输出解析结果,因此用户无法定制处理逻辑。
例如,在多业务解析的情况下,每个业务会有自己独立的解码模块,报文处理以流水线的方式在每个业务模块中顺序处理。报文需要走过每个业务自己的解析模块。由于解析模块部署到不同业务上,只能针对特定业务进行解析,因此同一报文被多次编解码,效率较低。或者,解析模块负责为所有的业务模块解析报文,解析结果可以被多个业务模块使用。由于解析模块需要解析所有的字段,因此无法及时对报文进行处理。
由此可见,现有的解析方法由于解析模块的封闭性而导致报文的重复扫描和不必要的业务处理,这些都降低了报文处理的效率。并且,多业务需要配备多个解析模块或单个解析模块来扫描所有字段,也导致解析不够灵活。
发明内容
本发明提出了解码方法和装置、报文解析方法和装置以及解析设备,旨在解决多业务解析效率低且不够灵活的问题。
第一方面,提出了一种解码方法,包括:加载用户定制规则,其中所述用户定制规则是用户定制的解码规则;编译所述用户定制规则,以便将所述用户定制规则与规则执行动作建立关联;解析报文,并根据所述用户定制规则,执行对应的规则执行动作。
结合第一方面,在第一方面的第一实施方式中,所述编译所述用户定制规则包括:设置与所述报文的字段相对应的决策点,其中所述决策点用于指示是否按照正常逻辑解析,或者执行所述规则执行动作;按照所述决策点,将所述用户定制规则中的字段匹配到所述用户定制规则中的规则条件;将所述规则条件与所述规则执行动作建立关联。
结合第一方面的第一实施方式,在第一方面的第二实施方式中,所述按照所述决策点,将所述用户定制规则中的字段匹配到所述用户定制规则中的规则条件包括:对所述用户定制规则进行拆分;提取对应所述决策点的用户定制规则中的字段;将所述对应所述决策点的用户定制规则中的字段与所述规则条件进行匹配。
结合第一方面及其各实施方式,在第一方面的第三实施方式中,所述解析报文,并根据所述用户定制规则,执行对应的规则执行动作,包括:解析当前报文;确定所述当前报文的字段是否与所述决策点相对应;当所述当前报文的字段与所述决策点相对应时,确定所述当前报文的字段匹配的用户定制规则中的规则条件;根据所述匹配的用户定制规则,执行对应的规则执行动作。
结合第一方面的第三实施方式,在第一方面的第四实施方式中,所述方法还包括:解析后续报文,并确定所述后续报文的字段是否与所述决策点相对应,以便根据匹配的用户定制规则执行对应的规则执行动作。
结合第一方面及其各实施方式,在第一方面的第五实施方式中,所述规则执行动作包括以下中的一种或多种:中断解析、增加业务需求字段、调度业务和更改字段解析逻辑。
第二方面,提出了一种报文解析方法,包括:解析当前报文;确定所述当前报文的字段是否与决策点相对应;当所述当前报文的字段与决策点相对应,确定所述当前报文的字段匹配的用户定制规则中的规则条件;根据所述用户定制规则中的规则条件,执行对应的规则执行动作。
结合第二方面,在第二方面的第一实施方式中,所述方法还包括:当所述当前报文的字段不与决策点相对应,根据默认解析逻辑处理当前报文。
结合第二方面及其第一实施方式,在第二方面的第二实施方式中,所述方法还包括:解析后续报文,并确定所述后续报文的字段是否与所述决策点相对应,以便根据匹配的用户定制规则执行对应的规则执行动作。
结合第二方面及其第一、第二实施方式,在第二方面的第三实施方式中,所述规则执行动作包括以下中的一种或多种:中断解析、增加业务需求字段、调度业务和更改字段解析逻辑。
第三方面,提出了一种解码装置,包括:加载单元,用于加载用户定制规则,其中所述用户定制规则是用户定制的解码规则;编译单元,用于编译所述用户定制规则,以便将所述用户定制规则与规则执行动作建立关联;解析单元,用于解析报文,并根据所述用户定制规则,执行对应的规则执行动作。
结合第三方面,在第三方面的第一实施方式中,所述编译单元包括:设置子单元,用于设置与所述报文的字段相对应的决策点,其中所述决策点用于指示是否按照正常逻辑解析,或者执行所述规则执行动作;匹配子单元,用于按照所述决策点,将所述用户定制规则中的字段匹配到所述用户定制规则中的规则条件;关联子单元,用于将所述规则条件与所述规则执行动作建立关联。
结合第三方面的第一实施方式,在第三方面的第二实施方式中,所述匹配子单元具体用于:对所述用户定制规则进行拆分;提取对应所述决策点的用户定制规则中的字段;将所述对应所述决策点的用户定制规则中的字段与所述规则条件进行匹配。
结合第三方面的第二实施方式,在第三方面的第三实施方式中,所述解析单元包括:解析子单元,用于解析当前报文;第一确定子单元,用于确定所述当前报文的字段是否与所述决策点相对应;第二确定子单元,用于当所述当前报文的字段与所述决策点相对应时,确定所述当前报文的字段匹配的用户定制规则中的规则条件;执行子单元,用于根据所述匹配的用户定制规则中的规则条件,执行对应的规则执行动作。
结合第三方面的第三实施方式,在第三方面的第四实施方式中,所述解析单元还用于:解析后续报文,并确定所述后续报文的字段是否与所述决策点相对应,以便根据匹配的用户定制规则执行对应的规则执行动作。
结合第三方面及其各实施方式,在第三方面的第五实施方式中,所述规则执行动作包括以下中的一种或多种:中断解析、增加业务需求字段、调度业务和更改字段解析逻辑。
第四方面,提出了一种报文解析装置,包括:解析模块,用于解析当前报文;第一确定模块,用于确定所述当前报文的字段是否与决策点相对应;第二确定模块,用于当所述当前报文的字段与决策点相对应,确定所述当前报文的字段匹配的用户定制规则中的规则条件;执行模块,用于根据所述用户定制规则中的规则条件,执行对应的规则执行动作。
结合第四方面,在第四方面的第一实施方式中,所述解析模块还用于:当所述当前报文的字段不与决策点相对应,根据默认解析逻辑处理当前报文。
结合第四方面和第四方面的第一实施方式,在第四方面的第二实施方式中,所述解析模块还用于:解析后续报文。
结合第四方面以及第四方面的第一、第二实施方式,在第四方面的第三实施方式中,所述规则执行动作包括以下中的一种或多种:中断解析、增加业务需求字段、调度业务和更改字段解析逻辑。
第五方面,提出了一种解析设备,包括:处理器,用于加载用户定制规则,其中所述用户定制规则是用户定制的解码规则;编译器,用于编译所述用户定制规则,以便将所述用户定制规则与规则执行动作建立关联;解析器,与所述编译器连接,用于:解析当前报文;确定所述当前报文的字段是否与决策点相对应;当所述当前报文的字段与决策点相对应,确定所述当前报文匹配的用户定制规则;根据所述用户定制规则,执行对应的规则执行动作。
本发明实施例在解析设备中加载可编程的规则,通过动态改变解析逻辑,定制解析行为,提高解析的通用性和灵活度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的解码方法的流程图。
图2是根据本发明实施例的报文解析方法的流程图。
图3是根据本发明实施例的解析技术的整体流程图。
图4是根据本发明实施例的解码方法的条件列表与规则执行动作的关联图。
图5是根据本发明具体实施例的报文解析方法的流程图。
图6是根据本发明实施例的解码装置的结构示意图。
图7是根据本发明实施例的解码装置中编译单元的结构示意图。
图8是根据本发明实施例的报文解析装置的结构示意图。
图9是根据本发明实施例的解析设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
本发明实施例是通过可编程的概念,动态改变解析逻辑,定制解析行为(Action),提高解析的通用性和灵活度,来丰富解析能力以及提升报文在多业务或单业务场景下的处理效率。
下面,结合图1描述根据本发明实施例的解码方法。如图1所示,包括如下步骤。
S11,解码器加载用户定制规则,其中所述用户定制规则是用户定制的解码规则;
S12,解码器编译所述用户定制规则,以便将所述用户定制规则与规则执行动作建立关联;
S13,解码器解析报文,并根据所述用户定制规则,执行对应的规则执行动作。
这里,规则执行动作可以是以下中的一种或多种:中断解析、增加业务需求字段、调度业务和更改字段解析逻辑等。
具体而言,解码器编译所述用户定制规则包括:设置与报文的字段相对应的决策点,其中所述决策点用于指示是否按照正常逻辑解析,或者执行所述规则执行动作;按照所述决策点,将所述用户定制规则中的字段匹配到用户定制规则中的规则条件;将所述规则条件与所述规则执行动作建立关联。
进一步地,解码器按照所述决策点,将所述用户定制规则中的字段匹配到用户定制规则中的规则条件包括:对所述用户定制规则进行拆分;提取对应所述决策点的用户定制规则中的字段;将所述对应所述决策点的用户定制规则中的字段与所述规则条件进行匹配。
具体地,解析器解析报文,并根据所述用户定制规则,执行对应的规则执行动作,包括:解析当前报文;确定所述当前报文的字段是否与所述决策点相对应;当所述当前报文的字段与所述决策点相对应时,确定所述当前报文的字段匹配的用户定制规则中的规则条件;根据所述匹配的用户定制规则中的规则条件,执行对应的规则执行动作。然后,解析后续报文,并确定所述后续报文的字段是否与所述决策点相对应,以便根据匹配的用户定制规则执行对应的规则执行动作。
应理解,上述用户定制规则可以是一条用户定制规则或多条用户定制规则,并且每条用户定制规则可以包括一个或多个规则条件。还应理解,上述决策点可以是一个决策点或多个决策点,并且每个决策点可以对应于报文的一个字段。还应理解,上述规则执行动作可以对应于一个或多个规则条件。
由此可见,本发明实施例在解析器中加载可编程的规则,通过动态改变解析逻辑,定制解析行为,提高解析的通用性和灵活度。
在处理报文过程中,当协议识别完成,就会对报文进行字段解析。在多业务场景下,在“关键点”增加决策功能,实现边解析边做业务处理的操作,因此提高报文处理的效率。此处“关键点”用于判断该字段解析是否能够满足业务处理的需求。
参照图2描述根据本发明实施例的采用上述解析方法的报文解析方法,包括如下步骤。
S21,解析器解析当前报文;
S22,解析器确定所述当前报文的字段是否与决策点相对应;
S23,当所述当前报文的字段与决策点相对应,解析器确定所述当前报文的字段匹配的用户定制规则中的规则条件;
S24,根据所述用户定制规则中的规则条件,解析器执行对应的规则执行动作。
进一步地,若所述当前报文的字段不与决策点相对应,则解析器根据默认解析逻辑处理当前报文。
接着,解析后续报文,并确定所述后续报文的字段是否与所述决策点相对应,以便根据匹配的用户定制规则执行对应的规则执行动作。例如,当后续报文的字段与所述决策点相对应时,确定所述后续报文匹配的用户定制规则,根据所述匹配的用户定制规则,执行对应的规则执行动作。当后续报文的字段不与决策点相对应,根据默认解析逻辑处理后续报文。
其中,规则执行动作包括以下中的一种或多种:中断解析、增加业务需求字段、调度业务和更改字段解析逻辑。
由此可见,本发明实施例在解析器中加载可编程的规则,通过动态改变解析逻辑,定制解析行为,提高解析的通用性和灵活度,从而丰富解析能力以及提升报文在多业务或单业务场景下的处理效率。
下面结合具体实施例,说明本发明实施例的解码方法以及报文解析方法。
以下三条用户定制规则列举了不同条件对应的不用规则执行动作。此处列举的三条用户定制规则仅仅是示例性的,用户还可以根据需要定制其他的规则。
规则一(R1):
If(HTTP.URLcontains“index.html”||HTTP.Header.Hostcontains"www.youtube.com")dodrop
如果解析到HTTPURL字段包含index.html或者HTTP的头域的Host字段包含www.youtube.com,则放弃解析,丢弃报文(即dodrop)。
规则二(R2):
if(HTTP.Header.Method=="GET"&&HTTP.User-Agent=="Mozilla/4.0")dodo_IPS
如果解析到HTTP头域Method字段等于GET,并且HTTP的User-Agent字段等于Mozilla/4.0,则字段满足IPS业务,转去做IPS业务(即dodo_IPS)。实现边解析边进行业务处理及多业务调度的操作。
规则三(R3):
if(HTTP.cookie=="lang=en")dodo_ADC
如果解析到HTTP的cookie字段等于lang=en,则去做ADC业务(即dodo_ADC)。
为实现对用户定制规则的识别以及处理相应的规则执行动作,解析器需要支持用户定制规则的加载和编译,同时也要支持在运行用户定制规则时的用户定制规则的命中和规则执行动作的处理。规则编译可以分为决策点(DecisionPoint)的设置,下发规则条件到决策点,以及将从规则分解出来的规则条件与规则执行动作重新关联;运行时要在对应的决策点做规则匹配,再根据匹配结果做相应的规则执行动作,如图3所示。
下面,图4描述了规则编译的实施例,图5示出了解析器运行时的流程。
以上述三个用户定制规则为例,当这三个用户定制规则被加载到解析器中,解析器对上述用户定制规则进行规则编译。
首先,设置决策点。由于解析主要针对字段进行,如果有新的处理逻辑,那么相应字段处理逻辑需要重新编排。例如,在URL字段、User-Agent字段、Cookie字段和Header字段中增加决策点。
由于实现了规则及业务处理的决策点的定制,因此解析器不用等到报文解析完再做业务处理,从而能够更好的支持多个业务调度。
接着,分析每条用户定制规则,将用户定制规则对应的规则条件与相应的字段做匹配。比如,条件列表中,条件1是URL==“index.html”;条件2是Header.Host==www.youtube.com;条件3是User-Agent==“Mozilla/4.0”;条件4是Header.Method==“GET”;条件5是cookie==“lang=en”。
最后,将规则条件与规则执行动作建立关联。这里,由于规则执行动作是定制的解析行为,因此使得解析过程更加灵活。
条件列表中的条件与规则执行动作的关联关系如图4所示。由图4可知,当满足条件1或条件2时,执行放弃解析的操作;当同时满足条件3和条件4时,执行IPS业务;在满足条件5时,执行ADC业务。
图5进一步说明解析器运行时的报文解析方法。
如图5所示,例如当解析器接收到以下报文后对其进行逐行解析:
GETwww.youtube.comHTTP/1.1\r\n
Accept-Language:zh-cn\r\n
UserAgent:Mozilla/4.0\r\n
Host:www.xxx.com\r\n
Connection:Keepp-Alive\r\n
Cookie:lang=en\r\n
\r\n
解析器首先解析第一行报文“GETwww.youtube.comHTTP/1.1”,发现其可以解析为Method:GET以及URL:www.youtube.com,即含有决策点。于是,针对每个决策点,对照图4所示的关系图表中的条件列表进行条件匹配,发现该行报文可以匹配条件2和条件4。根据该条件匹配的结果,根据图4示出的条件列表与规则执行动作之间的关系,该行报文命中用户定制规则一(R1)。最后,由于确定命中了R1,因此执行R1对应的规则执行动作“丢弃报文”,即第一行报文被丢弃。
由此可见,由于本发明实施例在解析器中加载可编程的规则,因此通过动态改变解析逻辑,定制解析行为,不需要等到全部报文都解析完再执行相应的操作,能够提高解析的通用性和灵活度。
然后,解析第二行报文“Accept-Language:zh-cn”,注意到其不含决策点,于是按照解析器默认的解析逻辑进行解析。
接着,解析第三行报文“UserAgent:Mozilla/4.0”,发现其可以解析为User-Agent:Mozilla/4.0,即含有决策点。于是,针对该决策点,对照图4所示的关系图表中的条件列表进行条件匹配,发现该行报文可以匹配条件3。根据该条件匹配的结果,根据图4示出的条件列表与规则执行动作之间的关系,该行报文没有命中任何用户定制规则(同时满足条件3和条件4才能命中用户定制规则二(R2))。最后,由于确定没有命中用户定制规则,因此按照解析器默认的解析逻辑进行解析。
继续解析第四行报文“Host:www.xxx.com”,注意到其不含决策点,于是按照解析器默认的解析逻辑进行解析。
然后,解析第五行报文“Connection:Keepp-Alive”,注意到其不含决策点,于是按照解析器默认的解析逻辑进行解析。
再解析第六行报文“Cookie:lang=en”,发现其可以解析为Cookie:lang=en,即含有决策点。于是,针对该决策点,对照图4所示的关系图表中的条件列表进行条件匹配,发现该行报文可以匹配条件5。根据该条件匹配的结果,根据图4示出的条件列表与规则执行动作之间的关系,该行报文命中用户定制规则三(R3)。最后,由于确定命中了R3,因此执行R3对应的规则执行动作“转ADC业务”。
如此继续,解析器逐行解析各行报文,一旦解析出当前报文含有决策点,就对决策点进行条件匹配,根据匹配出的条件判断是否命中用户定制规则,如果命中,则执行该用户定制规则对应的规则执行动作,如果没有命中,则按照默认解析逻辑进行解析。或者,一旦解析出当前报文不含有决策点,则按照默认解析逻辑进行解析。由此,本发明实施例的解码方法以及报文解析方法不需要报文经过全部的业务解析模块,也不需要等待全部报文均解析完再执行相应的操作,从而提高了解析的通用性和灵活度。
以下将结合图6至图8具体描述根据本发明实施例的解码装置的结构。
如图6所示,解码装置60包括加载单元61、编译单元62和解析单元63。其中,加载单元61用于加载用户定制规则,其中所述用户定制规则是用户定制的解码规则。编译单元62用于编译所述用户定制规则,以便将所述用户定制规则与规则执行动作建立关联。解析单元63用于解析报文,并根据所述用户定制规则,执行对应的规则执行动作。
进一步地,如图7所示,编译单元62包括:设置子单元621、匹配子单元622和关联子单元623。其中,设置子单元621用于设置与报文的字段相对应的决策点,其中所述决策点用于指示是否按照正常逻辑解析,或者执行所述规则执行动作。匹配子单元622用于按照所述决策点,将所述用户定制规则中的字段匹配到用户定制规则中的规则条件。关联子单元623用于将所述规则条件与所述规则执行动作建立关联。
具体地,匹配子单元622用于对所述用户定制规则进行拆分;提取对应所述决策点的用户定制规则中的字段;将所述对应所述决策点的用户定制规则中的字段与所述规则条件进行匹配。
进一步地,解析单元63可以用于解析当前报文;确定所述当前报文的字段是否与所述决策点相对应;当所述当前报文的字段与所述决策点相对应时,确定所述当前报文的字段匹配的用户定制规则中的规则条件;用于根据所述匹配的用户定制规则中的规则条件,执行对应的规则执行动作。
应理解,解析单元63还用于解析后续报文,并确定所述后续报文的字段是否与所述决策点相对应,以便根据匹配的用户定制规则执行对应的规则执行动作。
可以理解,上述规则执行动作包括以下中的一种或多种:中断解析、增加业务需求字段、调度业务和更改字段解析逻辑。
本发明实施例在解析器中加载可编程的规则,通过动态改变解析逻辑,定制解析行为,提高解析的通用性和灵活度。
在图8中,报文解析装置80包括解析模块81、第一确定模块82、第二确定模块83和执行模块84。其中,解析模块81用于解析当前报文。第一确定模块82用于确定所述当前报文的字段是否与决策点相对应。第二确定模块83用于当所述当前报文的字段与决策点相对应,确定所述当前报文的字段匹配的用户定制规则中的规则条件。执行模块84用于根据所述用户定制规则中的规则条件,执行对应的规则执行动作。
其中,解析模块82还用于当所述当前报文的字段不与决策点相对应,根据默认解析逻辑解析和处理当前报文;以及解析后续报文。
可以理解,上述规则执行动作包括以下中的一种或多种:中断解析、增加业务需求字段、调度业务和更改字段解析逻辑。
本发明实施例在解析器中加载可编程的规则,通过动态改变解析逻辑,定制解析行为,提高解析的通用性和灵活度。
图9示出了根据本发明实施例的解析设备的实体结构。如图9所示,解析设备90包括处理器91、编译器92和解析器93。其中,处理器91用于加载用户定制规则,其中所述用户定制规则是用户定制的解码规则。编译器92与处理器91连接,用于编译所述用户定制规则,以便将所述用户定制规则与规则执行动作建立关联。
解析器93与编译器92连接,并且用于解析当前报文;确定所述当前报文的字段是否与决策点相对应;当所述当前报文的字段与决策点相对应,确定所述当前报文匹配的用户定制规则;根据所述用户定制规则,执行对应的规则执行动作。
本发明实施例在解析器中加载可编程的规则,通过动态改变解析逻辑,定制解析行为,提高解析的通用性和灵活度。
应理解,本发明的每个权利要求所叙述的方案也应看作是一个实施例,并且是权利要求中的特征是可以结合的,如本发明中的判断步骤后的执行的不同分支的步骤可以作为不同的实施例。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (19)
1.一种解码方法,其特征在于,包括:
加载用户定制规则,其中所述用户定制规则是用户定制的解码规则;
设置与报文的字段相对应的决策点,其中所述决策点用于指示是否按照正常逻辑解析,或者执行所述规则执行动作;
按照所述决策点,将所述用户定制规则中的字段匹配到所述用户定制规则中的规则条件;
将所述规则条件与所述规则执行动作建立关联;
解析所述报文,并根据所述用户定制规则,执行对应的规则执行动作。
2.根据权利要求1所述的方法,其特征在于,所述按照所述决策点,将所述用户定制规则中的字段匹配到所述用户定制规则中的规则条件包括:
对所述用户定制规则进行拆分;
提取对应所述决策点的用户定制规则中的字段;
将所述对应所述决策点的用户定制规则中的字段与所述规则条件进行匹配。
3.根据权利要求2所述的方法,所述解析报文,并根据所述用户定制规则,执行对应的规则执行动作,包括:
解析当前报文;
确定所述当前报文的字段是否与所述决策点相对应;
当所述当前报文的字段与所述决策点相对应时,确定所述当前报文的字段匹配的用户定制规则中的规则条件;
根据所述匹配的用户定制规则中的规则条件,执行对应的规则执行动作。
4.根据权利要求3所述的方法,其特征在于,还包括:
解析后续报文,并确定所述后续报文的字段是否与所述决策点相对应,以便根据匹配的用户定制规则执行对应的规则执行动作。
5.根据权利要求1至4中的任一项所述的方法,其特征在于,所述规则执行动作包括以下中的一种或多种:
中断解析、增加业务需求字段、调度业务和更改字段解析逻辑。
6.一种报文解析方法,其特征在于,包括:
解析当前报文;
确定所述当前报文的字段是否与决策点相对应;
当所述当前报文的字段与所述决策点相对应时,确定所述当前报文的字段匹配的用户定制规则中的规则条件;
根据所述匹配的用户定制规则中的规则条件,执行对应的规则执行动作。
7.根据权利要求6所述的方法,其特征在于,还包括:
当所述当前报文的字段不与决策点相对应,根据默认解析逻辑处理当前报文。
8.根据权利要求6或7所述的方法,其特征在于,还包括:
解析后续报文,并确定所述后续报文的字段是否与所述决策点相对应,以便根据匹配的用户定制规则执行对应的规则执行动作。
9.根据权利要求6或7中的任一项所述的方法,其特征在于,所述规则执行动作包括以下中的一种或多种:
中断解析、增加业务需求字段、调度业务和更改字段解析逻辑。
10.一种解码装置,其特征在于,包括:
加载单元,用于加载用户定制规则,其中所述用户定制规则是用户定制的解码规则;
设置单元,用于设置与报文的字段相对应的决策点,其中所述决策点用于指示是否按照正常逻辑解析,或者执行所述规则执行动作;
匹配单元,用于按照所述决策点,将所述用户定制规则中的字段匹配到所述用户定制规则中的规则条件;
关联单元,用于将所述规则条件与所述规则执行动作建立关联;
解析单元,用于解析所述报文,并根据所述用户定制规则,执行对应的规则执行动作。
11.根据权利要求10所述的装置,其特征在于,所述匹配单元具体用于:
对所述用户定制规则进行拆分;
提取对应所述决策点的用户定制规则中的字段;
将所述对应所述决策点的用户定制规则中的字段与所述规则条件进行匹配。
12.根据权利要求11所述的装置,所述解析单元具体用于:
解析当前报文;
确定所述当前报文的字段是否与所述决策点相对应;
当所述当前报文的字段与所述决策点相对应时,确定所述当前报文的字段匹配的用户定制规则中的规则条件;
根据所述匹配的用户定制规则中的规则条件,执行对应的规则执行动作。
13.根据权利要求12所述的装置,其特征在于,所述解析单元还用于:
解析后续报文,并确定所述后续报文的字段是否与所述决策点相对应,以便根据匹配的用户定制规则执行对应的规则执行动作。
14.根据权利要求10至13中的任一项所述的装置,其特征在于,所述规则执行动作包括以下中的一种或多种:
中断解析、增加业务需求字段、调度业务和更改字段解析逻辑。
15.一种报文解析装置,其特征在于,包括:
解析模块,用于解析当前报文;
第一确定模块,用于确定所述当前报文的字段是否与决策点相对应;
第二确定模块,用于当所述当前报文的字段与决策点相对应,确定所述当前报文的字段匹配的用户定制规则中的规则条件;
执行模块,用于根据所述用户定制规则中的规则条件,执行对应的规则执行动作。
16.根据权利要求15所述的装置,其特征在于,所述解析模块还用于:
当所述当前报文的字段不与决策点相对应,根据默认解析逻辑处理当前报文。
17.根据权利要求15或16所述的装置,其特征在于,所述解析模块还用于:
解析后续报文。
18.根据权利要求15或16中的任一项所述的装置,其特征在于,所述规则执行动作包括以下中的一种或多种:
中断解析、增加业务需求字段、调度业务和更改字段解析逻辑。
19.一种解析设备,其特征在于,包括:
处理器,用于加载用户定制规则,其中所述用户定制规则是用户定制的解码规则;
编译器,与所述处理器连接,用于编译所述用户定制规则,以便将所述用户定制规则与规则执行动作建立关联;
解析器,与所述编译器连接,用于:
解析当前报文;
确定所述当前报文的字段是否与决策点相对应;
当所述当前报文的字段与决策点相对应,确定所述当前报文匹配的用户定制规则;
根据所述用户定制规则,执行对应的规则执行动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310038481.0A CN103139207B (zh) | 2013-01-31 | 2013-01-31 | 解码方法和装置、报文解析方法和装置以及解析设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310038481.0A CN103139207B (zh) | 2013-01-31 | 2013-01-31 | 解码方法和装置、报文解析方法和装置以及解析设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103139207A CN103139207A (zh) | 2013-06-05 |
CN103139207B true CN103139207B (zh) | 2016-01-06 |
Family
ID=48498513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310038481.0A Active CN103139207B (zh) | 2013-01-31 | 2013-01-31 | 解码方法和装置、报文解析方法和装置以及解析设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103139207B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103546466B (zh) * | 2013-10-15 | 2017-03-08 | 华为技术有限公司 | 一种多业务交互处理的方法和网络设备 |
CN110381054B (zh) * | 2019-07-16 | 2022-02-22 | 广东省新一代通信与网络创新研究院 | 报文解析方法、装置、设备及计算机可读存储介质 |
CN117472387B (zh) * | 2023-12-26 | 2024-04-16 | 深圳麦格米特电气股份有限公司 | 一种动态解析数据的方法、装置及云平台 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179449A (zh) * | 2007-11-27 | 2008-05-14 | 华为技术有限公司 | 一种ip网络中的监听系统、设备及方法 |
CN101409677A (zh) * | 2008-11-27 | 2009-04-15 | 福建星网锐捷网络有限公司 | 一种接入控制方法及装置 |
CN101902484A (zh) * | 2009-05-25 | 2010-12-01 | 北京启明星辰信息技术股份有限公司 | 局域网http应用业务分类方法及系统 |
CN102014065A (zh) * | 2010-12-10 | 2011-04-13 | 中兴通讯股份有限公司 | 报文包头的解析方法、包头解析预处理装置和网络处理器 |
CN102098331A (zh) * | 2010-12-29 | 2011-06-15 | 北京锐安科技有限公司 | 一种还原web类应用内容的方法及其系统 |
CN102143148A (zh) * | 2010-11-29 | 2011-08-03 | 华为技术有限公司 | 用于通用协议解析的参数获取和通用协议解析方法及装置 |
WO2012031259A1 (en) * | 2010-09-03 | 2012-03-08 | Loglogic, Inc. | Dynamic parsing rules |
-
2013
- 2013-01-31 CN CN201310038481.0A patent/CN103139207B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101179449A (zh) * | 2007-11-27 | 2008-05-14 | 华为技术有限公司 | 一种ip网络中的监听系统、设备及方法 |
CN101409677A (zh) * | 2008-11-27 | 2009-04-15 | 福建星网锐捷网络有限公司 | 一种接入控制方法及装置 |
CN101902484A (zh) * | 2009-05-25 | 2010-12-01 | 北京启明星辰信息技术股份有限公司 | 局域网http应用业务分类方法及系统 |
WO2012031259A1 (en) * | 2010-09-03 | 2012-03-08 | Loglogic, Inc. | Dynamic parsing rules |
CN102143148A (zh) * | 2010-11-29 | 2011-08-03 | 华为技术有限公司 | 用于通用协议解析的参数获取和通用协议解析方法及装置 |
CN102014065A (zh) * | 2010-12-10 | 2011-04-13 | 中兴通讯股份有限公司 | 报文包头的解析方法、包头解析预处理装置和网络处理器 |
CN102098331A (zh) * | 2010-12-29 | 2011-06-15 | 北京锐安科技有限公司 | 一种还原web类应用内容的方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103139207A (zh) | 2013-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10558447B2 (en) | Application push method, and a service device | |
CN103678091A (zh) | 应用软件崩溃数据的处理方法和装置 | |
CN110445860A (zh) | 一种报文发送方法、装置、终端设备及存储介质 | |
CN105095367B (zh) | 一种客户端数据的采集方法和装置 | |
CN103139207B (zh) | 解码方法和装置、报文解析方法和装置以及解析设备 | |
CN109309736A (zh) | 全局唯一id的生成方法和生成装置 | |
CN111246406A (zh) | 一种短信发送方法、系统、存储介质及终端设备 | |
CN110895503B (zh) | 一种应用的性能监控方法及客户端 | |
CN103577180A (zh) | 数据处理方法及装置 | |
CN101727505B (zh) | 一种高效的数据处理方法及装置 | |
CN110554877A (zh) | 一种json数据解析方法、装置、设备及储存介质 | |
CN107426211B (zh) | 网络攻击的检测方法及装置、终端设备和计算机存储介质 | |
CN106373571A (zh) | 一种语音控制方法及装置 | |
CN110034979A (zh) | 一种代理资源监测方法、装置、电子设备及存储介质 | |
CN111130828A (zh) | 一种智能配网方法、装置及终端设备 | |
CN106681852B (zh) | 一种浏览器兼容性的调整方法及装置 | |
EP3438818A1 (en) | Method and device for compiling computer language | |
CN108984221B (zh) | 一种多平台用户行为日志的采集方法和装置 | |
US9235639B2 (en) | Filter regular expression | |
CN105408896A (zh) | 信息管理装置和信息管理方法 | |
CN104104788A (zh) | 通过移动终端浏览器页面进行语音通话的实现方法及装置 | |
CN112799797A (zh) | 一种任务管理的方法和装置 | |
CN103973716B (zh) | 互联网应用实现方法和相关装置及通信系统 | |
CN109218838A (zh) | 一种提高弹幕信息安全性的方法、服务器及计算机设备 | |
CN111064727B (zh) | 一种帧格式流式信号数据高性能软件解析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |