CN104219238A - 报文处理方法和装置 - Google Patents
报文处理方法和装置 Download PDFInfo
- Publication number
- CN104219238A CN104219238A CN201410438693.2A CN201410438693A CN104219238A CN 104219238 A CN104219238 A CN 104219238A CN 201410438693 A CN201410438693 A CN 201410438693A CN 104219238 A CN104219238 A CN 104219238A
- Authority
- CN
- China
- Prior art keywords
- message
- message segment
- business
- segment
- pending
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种报文处理方法和装置,应用于网元设备中,所述网元设备用于针对多个业务,对报文进行处理,所述方法包括:所述网元设备获取数据流中的第一报文;根据所述多个业务的执行策略,确定所述多个业务中需要处理所述第一报文的一个或多个待处理业务;根据业务与报文段的映射关系,确定每个待处理业务需要处理的报文段;所述报文段是按照报文结构划分得到的,所述业务与报文段的映射关系用于表征每个业务所需要处理的报文段;对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理。本发明降低了报文处理负担,提升了系统性能。
Description
技术领域
本申请涉及数据处理技术领域,更具体的说是涉及一种深度报文处理方法和装置。
背景技术
随着互联网的不断发展,网络精细化控制和运行的需求日益增强,DPI(Deep Packet Inspection,深度报文识别)技术应运而生,并在安全、业务控制等方面得到了广泛应用。
DPI是指通过深入分析报文来获得报文应用层信息,以用于网络优化、应用流量控制、异常检测等业务。
现有技术中,在进行报文处理时,每一业务按照业务处理需求定制对应的DPI处理流程,而在存在多个业务时,同一个报文可能需要进行不同的DPI处理流程,以满足不同业务的业务需求,但是由于不同业务对同一报文的报文处理可能相同,因此同一报文就要进行多次相同的操作,这就增加了处理负担,影响系统的整体性能。
发明内容
有鉴于此,本申请提供了一种报文处理方法及装置,用于降低报文处理负担,提升系统的整体性能。
为实现上述目的,本申请提供如下技术方案:
本申请的第一方面提供了一种报文处理方法,应用于网元设备中,所述网元设备用于对接收到的报文进行处理,以提供多个业务执行所需的信息,所述方法包括:
所述网元设备获取数据流中的第一报文;
根据所述多个业务的执行策略,确定所述多个业务中需要处理所述第一报文的一个或多个待处理业务;
根据业务与报文段的映射关系,确定每个待处理业务需要处理的报文段;所述报文段是按照报文结构划分得到的,所述业务与报文段的映射关系用于表征每个业务所需要处理的报文段;
对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理。
在所述第一方面的第一种可能实现方式中,所述确定所述多个业务中需要处理所述第一报文的一个或多个待处理业务之后,所述方法还包括:
采用动态标记标识多个业务中需要处理所述第一报文的一个或多个待处理业务;
所述业务与报文段的映射关系按照下述方式设置的静态标记进行表示:
对于每一报文段,根据所述多个业务的执行策略,确定需要处理该报文段的一个或多个业务,并采用静态标记标识需要处理该报文段的所述一个或多个业务;
则所述根据预设的不同业务与报文段的映射关系,确定每个待处理业务需要处理的包括:
根据所述动态标记以及所述静态标记,确定每个待处理业务需要处理的报文段。
结合所述第一方面或所述第一方面的第一种可能实现方式,在所述第一方面的第二种可能实现方式中,所述对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理包括:
调用第三方设备对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理。
结合所述第一方面或所述第一方面的上述任一种可能实现方式,在所述第一方面的第三种可能实现方式中,在对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理之后,所述方法还包括:
获取每一待处理业务需要处理的报文段对应的报文处理结果。
结合所述第一方面的上述任一种可能实现方式,在所述第一方面的第四种可能实现方式中,所述静态标记以及所述动态标记采用N位二进制数表示,每一位对应一个业务,N为正整数;
在每一个报文段的静态标记中,若N位二进制的任一位为1,表明该位对应的业务需要处理所述报文段;
在所述动态标记中,若N位二进制的任一位为1,表明该位对应的业务需要处理该第一报文。
结合所述第一方面的第四种可能实现方式,在所述第一方面的第五种可能实现方式中,所述根据所述动态标记以及所述静态标记,确定每个待处理业务需要处理的报文段包括:
将所述动态标记与每个报文段的静态标记进行按位与操作;
对于每一个报文段,当该报文段的静态标记中任一位进行按位与操作之后的结果为1,确定该位对应的待处理业务需要处理所述报文段。
第二方面,提供了一种报文处理装置,用于对接收到的报文进行处理,以提供多个业务执行所需的信息,所述装置包括:
报文获取模块,用于获取数据流中的第一报文;
业务确定模块,用于根据所述多个业务的执行策略,确定所述多个业务中需要处理所述第一报文的一个或多个待处理业务;
报文段确定模块,用于根据业务与报文段的映射关系,确定每个待处理业务需要处理的报文段;所述报文段是按照报文结构划分得到的,所述业务与报文段的映射关系用于表征每个业务所需要处理的报文段;
报文处理模块,用于对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理。
在所述第二方面第一种可能实现方式中,所述装置还包括:
动态标记设置模块,采用动态标记标识采用动态标记标识所述多个业务中需要处理所述第一报文的一个或多个待处理业务;
静态标记设置模块,用于对于每一报文段,根据所述多个业务的执行策略,确定需要处理该报文段的一个或多个业务,并采用静态标记标识需要处理该报文段的所述一个或多个业务;
所述报文段确定模块具体用于:
根据所述动态标记以及所述静态标记,确定每个待处理业务需要处理的报文段。
结合所述第二方面或所述第二方面的第一种可能实现方式,在所述第二方面的第二种可能实现方式中,所述报文处理模块具体用于:
调用第三方设备对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理。
结合所述第二方面或所述第二方面的上述任一种可能实现方式,在所述第二方面的第三种可能实现方式中,还包括:
结果确定模块,用于获取每一待处理业务需要处理的报文段对应的报文处理结果。
结合所述第二方面的上述任一种可能实现方式,在所述第二方面的第四种可能实现方式中,所述静态标记以及所述动态标记采用N位二进制数表示,每一位对应一个待处理业务,N为正整数;
在每一个报文段的所述静态标记中,若N位二进制的任一位为1,表明该位对应的待处理业务需要执行处理所述报文段;
在所述动态标记中,若N位二进制的任一位为1,表明该位对应的业务需要处理该第一报文。
结合所述第二方面的第四种可能实现方式,在所述第二方面的第五种可能实现方式中,所述报文段确定模块具体用于:
将所述动态标记与静态标记进行按位与操作;
对于每一个报文段,当该报文段的静态标记中任一位进行按位与操作之后的结果为1,确定该位对应的待处理业务需要处理所述报文段。
经由上述的技术方案可知,与现有技术相比,本申请提供了一种报文处理方法和装置,对于数据流中的第一报文,首先确定需要处理该第一报文的一个或多个待处理业务,对于该一个或多个待处理业务,根据预设的不同业务与报文段的映射关系,可以确定出每个待处理业务需要处理的所述第一报文中的报文段,从而处理该第一报文中各个待处理业务需要处理的报文段即可,通过本发明实施例,对于每一个报文,可以跳过无需处理的报文段,且仅需处理一次,即可满足不同的待处理业务,每个待处理业务只需从第一报文的DPI处理结果中,获取其需要的报文段的处理结果即可,从而减少重复操作,可以降低处理负担,提升系统性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种报文处理方法一个实施例的流程图;
图2为本发明实施例提供的一种报文处理方法另一个实施例的流程图;
图3为本发明实施例提供的报文处理过程一种示意图;
图4为本发明实施例提供的报文处理过程另一种示意图;
图5为本发明实施例提供的报文处理装置一个实施例的结构示意图;
图6为本发明实施例提供的报文处理装置另一个实施例的结构示意图;
图7为本发明实施例提供的一种网元设备一个实施例的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请技术方案,可以应用于具有DPI(Deep Packet Inspection,深度报文识别)需求的应用场景中。
网元设备可以是指网络侧设备,例如GGSN(Gateway GPRS SupportNode,网关GPRS支持节点)等核心网设备等。
业务是指可以通过软件或硬件功能提供的一类服务。例如ADC(Application Delivery Controller,应用交付控制器)业务、WOC(WANOptimization Controller,广域网优化控制器)业务、IPS(Intrusion PreventionSystem,入侵防御系统)业务等。
在本发明实施例中,对于数据流中的第一报文,首先确定需要处理该第一报文的一个或多个待处理业务,对于该一个或多个待处理业务,根据预设的不同业务与报文段的映射关系,可以确定出每个待处理业务需要处理的所述第一报文中的报文段,从而处理该第一报文中各个待处理业务需要处理的报文段即可,通过本发明实施例,对于每一个报文,可以跳过无需处理的报文段,且仅需处理一次,即可满足不同的待处理业务,每个待处理业务只需从第一报文的DPI处理结果中,获取其需要的报文段的处理结果即可,从而减少重复操作,可以降低处理负担,提升系统性能。
图1为本发明实施例提供的一种报文处理方法一个实施例的流程图,所述方法具体应用于网元设备中,所述网元设备用于针对多个业务,对报文进行处理,以获取多个业务执行所需的信息,该方法可以包括以下几个步骤:
101:所述网元设备获取数据流中的第一报文。
102:根据所述多个业务的执行策略,确定多个业务中需要处理所述第一报文的一个或多个待处理业务。
103:根据业务与报文段的映射关系,确定每个待处理业务需要处理的报文段。
其中,所述报文段是按照报文结构划分得到的,所述业务与报文段的映射关系用于表征每个业务所需要处理的报文段。
以HTTP(Hypertext transfer protocol,超文本传输协议)报文为例,报文结构划分标准包括但不限于协议;Section部分,如首行、头域、消息体;Field部分,如URL、Host、User-Agent等。
104:对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理。
第一报文可以是指数据流中当前获取的任一个报文。
针对第一报文,根据业务的执行策略,可以确定出多个业务中需要处理该第一报文的待处理业务,该待处理业务可以有一个或多个。
执行策略表明了业务的业务处理需求。
本发明实施例中可以预先设置业务与报文段的映射关系,该映射关系表明了需要对某个报文段进行处理的都有哪些业务。从而根据该映射关系,可以确定出每个待处理业务需要处理的报文段,进而针对每个待处理业务,只对其需要处理的报文段进行处理即可。
其中,对于每一个报文段还可以预设DPI处理操作,对于需要处理的报文段,即可按照预设的DPI处理操作进行处理即可。
DPI处理操作可以包括扫描、检测、解析等操作。
在本实施例中,对于同一个第一报文,只需根据不同业务与报文段的映射关系,将每个待处理业务对应的报文段进行处理即可,而对于每个待处理业务未对应的报文段,则无需进行处理,直接跳过,且仅需处理一次,即可满足不同的待处理业务,每个待处理业务只需从第一报文的处理结果中,获取其需要的报文段的处理结果即可,从而可以减少重复操作,提高报文处理效率,降低处理负担,以提升系统性能。
其中,作为另一个实施例,可以采用动态标记对需要处理第一报文的一个或多个待处理业务进行标识。采用静态标记表示映射关系,用于对需要处理某一报文段的业务进行标识。
从而根据动态标记以及静态标记,即可以确定出每个待处理业务需要处理的所述第一报文中的报文段。因此如图2所示,为本发明实施例提供的一种报文处理方法另一个实施例的流程图,该方法可以包括:
201:所述网元设备获取数据流中的第一报文。
202:根据多个业务的执行策略,确定所述多个业务中需要处理所述第一报文的一个或多个待处理业务。
203:采用动态标记标识多个业务中需要处理所述第一报文的一个或多个待处理业务。
204:根据所述动态标记以及预设的静态标记,确定每个待处理业务需要处理的报文段。
其中,静态标记可以按照下述方式预先设定:
对于每一报文段,根据所述多个业务的执行策略,确定需要处理该报文段的一个或多个业务,并采用静态标记标识需要处理该报文段的所述一个或多个业务。
报文段是是按照报文结构划分得到的。
205:对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理。
本实施例中,通过静态标记以及动态标记可以快速确定出待处理业务需要处理的报文段,动态标记和静态标记均用于对业务进行标识,因此动态标记和静态标记中存在标识的相同的业务时,即表明该业务需要对第一报文的该静态标记对应的报文段进行处理。因此通过本实施例,可以进一步提高报文处理效率。
该动态标记以及静态标记的一种可能的实现方式为:采用N位二进制数表示,N位二进制数的每一位对应一个业务,N为正整数;
在每一个报文段的静态标记中,若N位二进制的任一位为1,表明该位对应的业务需要处理所述报文段;
在所述动态标记中,若N位二进制的任一位为1,表明该位对应的业务需要处理该第一报文。
从而在根据静态标记以及动态标记,确定每个待处理业务需要处理的报文段可以具体是:
将所述动态标记与每个报文段的静态标记进行按位与操作;
对于每一个报文段,当该报文段的静态标记中任一位进行按位与操作之后的结果为1,确定该位对应的待处理业务需要处理所述报文段。
对于每一个报文段,按位与操作之后结果为1,表明该位对应的待处理业务既需要对第一报文进行处理,且需要对该第一报文的该报文段进行处理。
为了方便理解,下面举一个简单的例子:
假设存在两个待处理业务,第一业务以及第二业务。假设N位二进制数表示为:XXXXXX。第一业务对应第0位,第二业务对应第1位。
划分得到的报文段假设包括R0、R1、R2…Rn,n为整数。同时可以为每一个报文段设置DPI处理操作。
根据第一业务和第二业务的执行策略,假设第一业务需要对R1以及R2进行处理,第二业务需要对R2和R3进行处理,则R1的DPI处理操作的静态标记为:000001,R2的DPI处理操作的静态标记为:000011,R3的DPI处理操作的静态标记为:000010。
同样,根据第一业务和第二业务的执行策略,待处理报文确定是否需要进行处理。假设第一业务和第二业务均需要对待处理报文进行处理,则该待处理报文的动态标记即为:000011。
在进行动态标记与静态标记匹配时,将动态标记与静态标记进行按位与操作,若结果不为0,即可确定动态标记与静态标记匹配,若结果为0,则表明动态标记与静态标记不匹配。
如图3所示,示出了第一业务以及第二业务在进行报文处理时的一种示意图,箭头即表示了流程走向。
其中,当不存在与动态标记匹配的静态标记时,或者动态标记表明没有需要处理的待处理业务时,例如当采用N位二进制数表示静态标记以及动态标记时,动态标记的每一位均为0,则直接转发该待处理报文,不进行任何处理。
下面再以一个实例进行介绍。
针对ADC业务以及WOC业务,通过一次报文处理即可以满足这两个业务的需求,并能够跳过报文中无需深度解析的字段,从而可以简化报文的处理,提高系统性能。
以N位二进制数表示动态标记及静态标记,假设ADC业务对应第0位,WOC业务对应第1位,ADC业务和WOC业务需求分别关联到HTTP报文的首行URI字段和头域HOST字段,网元设备预先为不同报文段生成静态标记以及对应静态标记的DPI处理操作。
假设报文段“URI”的静态标记为XXXXX001,报文段“HOST”的静态标记为XXXXX010。表明ADC业务需要处理“URI”,WOC业务需要处理“HOST”。
第一报文如下所述:
POST/abc_huawei.jsp\r\n
Host:www.sina.com\r\n
Content-Length:10\r\n
\r\n
Example!!!
ADC业务的执行策略为:if(HTTP URI matches“a.*huawei”)thenADC_ACTION(如果HTTP报文中URI字段包括“huawei”,则需要处理该报文);
WOC业务的执行策略为:if(HTTP HOST matches“.*sina”)thenWOC_ACTION(如果HTTP报文中HOST字段包括“huawei”,则需要处理该报文)
报文处理流程示意图如图4所示。该处理流程包括:
对报文进行前处理,设置第一报文动态标记为“XXXXX011;
将动态标记与静态标记做“&(与)”操作,以确定当前报文段是否需要处理,图中,由于“Method”、“Body”或其他头域的掩码为“XXXXX000”,所以运行阶段,只会对“URI”和“HOST”两个字段进行处理,只会进入这两个字段的DPI处理逻辑。一个报文段DPI处理完后,即将继续对下一个报文段,执行动态标记与静态标记的“&”操作,以确定是否需要处理该报文段。
报文处理完成之后,根据静态标记以及动态标记进行规则匹配,确定不同业务需要的报文处理结果。
对于其他报文,若根据执行策略确定不需要对其进行处理,则可以直接进行转发。
另外,本发明实施例中,对于同一个数据流中可能并不是所有的报文均进行处理,比如,对于某一个数据流,某一个业务可能只需要处理第一个报文。因此还可以设置报文的配置策略。所述配置策略规定了数据流中业务需要处理的报文个数及位置,所述执行策略规定了所述数据数据流中需要处理的报文中满足业务处理要求的报文。
因此,根据每个业务的配置策略以及执行策略,即可以确定是否对第一报文进行处理,以及对第一报文进行处理的一个或多个待处理业务。
在现有技术中,对于一个数据流中的所有报文均需要进行处理,而有些报文并不需要进行处理,因此通过配置策略的设置,可以进一步减少冗余操作。
其中,对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理可以是在网元设备中执行,也可以调用第三方设备执行,以加快处理速率,不影响网元设备的执行操作,因此该对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理可以具体是:
调用第三方设备对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理。
当然,在网元设备中执行的不同DPI处理操作也可以在不同线程中执行,以加快处理速率。
其中,在对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理之后,所述方法还包括:
获取每一待处理业务需要处理的报文段对应的报文处理结果。
具体的,可以根据业务与报文段的映射关系,来确定每一待处理业务需要处理的报文段对应的报文处理结果。仍以图3所示为例,报文处理结果中包括R1、R2以及R3的处理结果,而第一业务仅需要R1和R2的处理结果,第二业务仅需要R2和R3的处理结果。
因此,本发明实施例中,在多业务场景下,对于同一个报文只需进行一次处理,即可以满足多个业务的处理需求。每个业务只需在报文处理结果获取自己需要的报文段处理结果即可。从而可以减少重复操作,提高报文处理效率,降低处理负担,提升系统性能。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
基于上述方法实施例,本发明实施例还提供一种用于实现上述方法的报文处理装置。图5为本发明实施例提供的一种报文处理装置一个实施例的结构示意图,该报文处理装置用于对接收到的报文进行处理,以提供多个业务执行所需的信息,该报文处理装置可以为一个独立的网元,也可以集成个到其它网元设备中,为该网元设备上部署的多个业务提供报文解析功能,所述报文处理装置可以包括:
报文获取模块501,用于获取数据流中的第一报。
业务确定模块502,用于根据所述多个业务的执行策略,确定所述多个业务中需要处理所述第一报文的一个或多个待处理业务。
报文段确定模块503,用于根据业务与报文段的映射关系,确定每个待处理业务需要处理的报文段;所述报文段是按照报文结构划分得到的,所述业务与报文段的映射关系用于表征每个业务所需要处理的报文段。
报文处理模块504,用于对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理。
本发明实施例中可以预先设置业务与报文段的映射关系,该映射关系表明了需要对某个报文段进行处理的都有哪些业务。从而根据该映射关系,可以确定出每个待处理业务需要处理的报文段,进而针对每个待处理业务,只对其需要处理的报文段进行处理即可。
其中,对于每一个报文段还可以预设DPI处理操作,对于需要处理的报文段,即可按照预设的DPI处理操作进行处理即可。
DPI处理操作可以包括扫描、检测、解析等操作。
在本实施例中,对于同一个第一报文,只需根据不同业务与报文段的映射关系,将每个待处理业务对应的报文段进行处理即可,而对于每个待处理业务未对应的报文段,则无需进行处理,直接跳过,且仅需处理一次,即可满足不同的待处理业务,每个待处理业务只需从第一报文的处理结果中,获取其需要的报文段的处理结果即可,从而可以减少重复操作,提高报文处理效率,降低处理负担,以提升系统性能。
其中,作为另一个实施例,可以采用动态标记对需要处理第一报文的一个或多个待处理业务进行标识。采用静态标记表示映射关系,用于对需要处理某一报文段的业务进行标识。
从而根据动态标记以及静态标记,即可以确定出每个待处理业务需要处理的所述第一报文中的报文段。因此如图6所示,为本发明实施例提供的一种报文处理装置另一个实施例的结构示意图,该装置可以包括:
报文获取模块601,用于获取数据流中的第一报。
业务确定模块602,用于根据所述多个业务的执行策略,确定所述多个业务中需要处理所述第一报文的一个或多个待处理业务。
动态标记设置模块603,采用动态标记标识采用动态标记标识多个业务中需要处理所述第一报文的一个或多个待处理业务。
静态标记设置模块604,用于对于每一报文段,根据所述多个业务的执行策略,确定需要处理该报文段的一个或多个业务,并采用静态标记标识需要处理该报文段的所述一个或多个业务。
报文段确定模块605,用于根据所述动态标记以及所述静态标记,确定每个待处理业务需要处理的报文段。
其中,所述报文段是按照报文结构划分得到的,所述业务与报文段的映射关系用于表征每个业务所需要处理的报文段。
报文处理模块606,用于对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理。
本实施例中,通过静态标记以及动态标记可以快速确定出待处理业务需要处理的报文段,动态标记和静态标记均用于对业务进行标识,因此动态标记和静态标记中存在标识的相同的业务时,即表明该业务需要对第一报文的该静态标记对应的报文段进行处理。因此通过本实施例,可以进一步提高报文处理效率。
该动态标记以及静态标记的一种可能的实现方式为:采用N位二进制数表示,N位二进制数的每一位对应一个业务,N为正整数;
在每一个报文段的静态标记中,若N位二进制的任一位为1,表明该位对应的业务需要处理所述报文段;
在所述动态标记中,若N位二进制的任一位为1,表明该位对应的业务需要处理该第一报文。
从而该报文段确定模块可以具体用于:
将所述动态标记与每个报文段的静态标记进行按位与操作;
对于每一个报文段,当任一位进行按位与操作之后的结果为1,确定该位对应的待处理业务需要处理所述报文段。
对于每一个报文段,按位与操作之后结果为1,表明该位对应的待处理业务既需要对第一报文进行处理,且需要对该第一报文的该报文段进行处理。
另外,本发明实施例中,对于同一个数据流中可能并不是所有的报文均进行处理,比如,对于某一个数据流,某一个业务可能只需要处理第一个报文。因此还可以设置报文的配置策略。所述配置策略规定了数据流中业务需要处理的报文个数及位置,所述执行策略规定了所述数据数据流中需要处理的报文中满足业务处理要求的报文。
因此,根据每个业务的配置策略以及执行策略,即可以确定是否对第一报文进行处理,以及对第一报文进行处理的一个或多个待处理业务。
在现有技术中,对于一个数据流中的所有报文均需要进行处理,而有些报文并不需要进行处理,因此通过配置策略的设置,可以进一步减少冗余操作。
其中,对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理可以是在网元设备中执行,也可以调用第三方设备执行,以加快处理速率,不影响网元设备的执行操作,因此本发明实施例,报文处理模块可以具体用于:
调用第三方设备对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理。
当然,在网元设备中执行的不同DPI处理操作也可以在不同线程中执行,以加快处理速率。
其中,所述装置还可以包括:
结果确定模块,用于获取每一待处理业务需要处理的报文段对应的报文处理结果。
具体的,可以根据业务与报文段的映射关系,来确定每一待处理业务需要处理的报文段对应的报文处理结果。
因此,本发明实施例中,在多业务场景下,对于同一个报文只需进行一次处理,即可以满足多个业务的处理需求。每个业务只需在报文处理结果获取自己需要的报文段处理结果即可。从而可以减少重复操作,提高报文处理效率,降低处理负担,提升系统性能。
通过以上描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。因此,参见图7本发明实施例还提供了一种网元设备,该网元设备至少包括接收器701、存储器702以及处理器702,接收器和存储器分别与和处理器通过总线连接。
该存储器702存储一组程序指令,该存储器可以是是高速RAM存储器,也可能是非易失性存储器(non-volatile memory),例如至少一个磁盘存储器等。
该处理器703,用于调用该存储器702存储的程序指令,执行如下操作:
触发接收器701获取数据流中的第一报文;
根据所述多个业务的执行策略,确定所述多个业务中需要处理所述第一报文的一个或多个待处理业务;
根据业务与报文段的映射关系,确定每个待处理业务需要处理的报文段;所述报文段是按照报文结构划分得到的,所述业务与报文段的映射关系用于表征每个业务所需要处理的报文段;
对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理。
其中,该处理器可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
可选地,该网元设备可以用于执行本发明实施例提供的图1-图2所示的任一控制方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请保护范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种报文处理方法,应用于网元设备中,所述网元设备用于对接收到的报文进行处理,以提供多个业务执行所需的信息,其特征在于,所述方法包括:
所述网元设备获取数据流中的第一报文;
根据所述多个业务的执行策略,确定所述多个业务中需要处理所述第一报文的一个或多个待处理业务;
根据业务与报文段的映射关系,确定每个待处理业务需要处理的报文段;所述报文段是按照报文结构划分得到的,所述业务与报文段的映射关系用于表征每个业务所需要处理的报文段;
对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理。
2.根据权利要求1所述的方法,其特征在于,
所述确定所述多个业务中需要处理所述第一报文的一个或多个待处理业务之后,所述方法还包括:
采用动态标记标识需要处理所述第一报文的一个或多个待处理业务;
所述业务与报文段的映射关系按照下述方式设置的静态标记进行表示:
对于每一报文段,根据所述多个业务的执行策略,确定需要处理该报文段的一个或多个业务,并采用静态标记标识需要处理该报文段的所述一个或多个业务;
则所述根据业务与报文段的映射关系,确定每个待处理业务需要处理的报文段包括:
根据所述动态标记以及所述静态标记,确定每个待处理业务需要处理的报文段。
3.根据权利要求1或2所述的方法,其特征在于,所述对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理包括:
调用第三方设备对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理。
4.根据权利要求1~3任一项所述的方法,其特征在于,在对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理之后,所述方法还包括:
获取每一待处理业务需要处理的报文段对应的报文处理结果。
5.根据权利要求2~4任一项所述的方法,其特征在于,所述静态标记以及所述动态标记采用N位二进制数表示,每一位对应一个业务,N为正整数;
在每一个报文段的静态标记中,若N位二进制的任一位为1,表明该位对应的业务需要处理所述报文段;
在所述动态标记中,若N位二进制的任一位为1,表明该位对应的业务需要处理该第一报文。
6.根据权利要求5所述的方法,其特征在于,所述根据所述动态标记以及所述静态标记,确定每个待处理业务需要处理的报文段包括:
将所述动态标记与每个报文段的静态标记进行按位与操作;
对于每一个报文段,当该报文段的静态标记中任一位进行按位与操作之后的结果为1,确定该位对应的待处理业务需要处理所述报文段。
7.一种报文处理装置,用于对接收到的报文进行处理,以提供多个业务执行所需的信息,其特征在于,所述装置包括:
报文获取模块,用于获取数据流中的第一报文;
业务确定模块,用于根据所述多个业务的执行策略,确定所述多个业务中需要处理所述第一报文的一个或多个待处理业务;
报文段确定模块,用于根据业务与报文段的映射关系,确定每个待处理业务需要处理的报文段;所述报文段是按照报文结构划分得到的,所述业务与报文段的映射关系用于表征每个业务所需要处理的报文段;
报文处理模块,用于对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
动态标记设置模块,采用动态标记标识采用动态标记标识所述多个业务中需要处理所述第一报文的一个或多个待处理业务;
静态标记设置模块,用于对于每一报文段,根据所述多个业务的执行策略,确定需要处理该报文段的一个或多个业务,并采用静态标记标识需要处理该报文段的所述一个或多个业务;
所述报文段确定模块具体用于:
根据所述动态标记以及所述静态标记,确定每个待处理业务需要处理的报文段。
9.根据权利要求7或8所述的装置,其特征在于,所述报文处理模块具体用于:
调用第三方设备对所述第一报文中,与所述待处理业务需要处理的报文段对应的报文段进行处理。
10.根据权利要求7~9任一项所述的装置,其特征在于,还包括:
结果确定模块,用于获取每一待处理业务需要处理的报文段对应的报文处理结果。
11.根据权利要求8~10任一项所述的装置,其特征在于,所述静态标记以及所述动态标记采用N位二进制数表示,每一位对应一个待处理业务,N为正整数;
在每一个报文段的所述静态标记中,若N位二进制的任一位为1,表明该位对应的待处理业务需要执行处理所述报文段;
在所述动态标记中,若N位二进制的任一位为1,表明该位对应的业务需要处理该第一报文。
12.根据权利要求11所述的装置,其特征在于,所述报文段确定模块具体用于:
将所述动态标记与静态标记进行按位与操作;
对于每一个报文段,当该报文段的静态标记中任一位进行按位与操作之后的结果为1,确定该位对应的待处理业务需要处理所述报文段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410438693.2A CN104219238B (zh) | 2014-08-30 | 2014-08-30 | 报文处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410438693.2A CN104219238B (zh) | 2014-08-30 | 2014-08-30 | 报文处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104219238A true CN104219238A (zh) | 2014-12-17 |
CN104219238B CN104219238B (zh) | 2018-05-29 |
Family
ID=52100372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410438693.2A Active CN104219238B (zh) | 2014-08-30 | 2014-08-30 | 报文处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104219238B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070156919A1 (en) * | 2005-06-21 | 2007-07-05 | Sunil Potti | Enforcing network service level agreements in a network element |
CN101534248A (zh) * | 2009-04-14 | 2009-09-16 | 华为技术有限公司 | 深度报文识别方法和系统及业务板 |
CN101582897A (zh) * | 2009-06-02 | 2009-11-18 | 中兴通讯股份有限公司 | 一种深度报文检测方法和装置 |
CN103688489A (zh) * | 2012-12-03 | 2014-03-26 | 华为技术有限公司 | 一种策略处理的方法及网络设备 |
CN103684886A (zh) * | 2013-12-30 | 2014-03-26 | 杭州华为数字技术有限公司 | 一种报文处理方法及设备 |
CN103973553A (zh) * | 2013-01-24 | 2014-08-06 | 华为技术有限公司 | 数据包的处理方法与网络设备 |
-
2014
- 2014-08-30 CN CN201410438693.2A patent/CN104219238B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070156919A1 (en) * | 2005-06-21 | 2007-07-05 | Sunil Potti | Enforcing network service level agreements in a network element |
CN101534248A (zh) * | 2009-04-14 | 2009-09-16 | 华为技术有限公司 | 深度报文识别方法和系统及业务板 |
CN101582897A (zh) * | 2009-06-02 | 2009-11-18 | 中兴通讯股份有限公司 | 一种深度报文检测方法和装置 |
CN103688489A (zh) * | 2012-12-03 | 2014-03-26 | 华为技术有限公司 | 一种策略处理的方法及网络设备 |
CN103973553A (zh) * | 2013-01-24 | 2014-08-06 | 华为技术有限公司 | 数据包的处理方法与网络设备 |
CN103684886A (zh) * | 2013-12-30 | 2014-03-26 | 杭州华为数字技术有限公司 | 一种报文处理方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104219238B (zh) | 2018-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111201754B (zh) | 用于提供区块链的环节的密码学保护的和经过滤的以及经排序的交易数据集的集合的设备 | |
US10630671B2 (en) | Dynamic web services server | |
CN104219316A (zh) | 一种分布式系统中的调用请求处理方法及装置 | |
TWI672027B (zh) | 網頁中的資料處理方法、裝置及系統 | |
CN103246667A (zh) | 数据跨域传递的方法及装置 | |
CN103365654A (zh) | 基于硬件的包编辑器 | |
CN105554094B (zh) | 数据交互方法及装置 | |
CN109582289B (zh) | 规则引擎中规则流的处理方法、系统、存储介质和处理器 | |
US20180075049A1 (en) | Schema to schema converter | |
CN109254854A (zh) | 异步调用方法、计算机装置及存储介质 | |
CN110909083A (zh) | 区块链上可验证随机函数的共识方法及其系统 | |
CN105468709A (zh) | 基于HBase的数据查询装置及数据查询方法 | |
US11064052B2 (en) | Page insertion method and device | |
US8132182B2 (en) | Parallel processing of triggering rules in SIP event notification filters | |
CN104954894A (zh) | 一种视频流量引导方法、装置及一种电子设备 | |
CN105099803A (zh) | 一种流量识别方法、应用服务器及网元设备 | |
CN108153803A (zh) | 一种数据获取方法、装置及电子设备 | |
CN103577180A (zh) | 数据处理方法及装置 | |
CN103514026A (zh) | 一种通过javascript直接调用java api的方法 | |
CN105630927A (zh) | 链接生成方法和装置 | |
WO2016109508A1 (en) | System and method for programmatically creating resource locators | |
CN104317819A (zh) | 基于浏览器页面间跨域通信的方法和系统 | |
CN106161075A (zh) | 业务处理方法、装置及系统 | |
US11656608B2 (en) | Rule-based communicating of equipment data from an industrial system to an analysis system using uni-directional interfaces | |
CN105099802A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |