一种策略处理的方法及网络设备的制作方法

文档序号:7988992阅读:159来源:国知局
一种策略处理的方法及网络设备的制作方法
【专利摘要】本发明实施例提供一种策略处理的方法及网络设备,包括:将多个业务对应的所有业务规则进行混合编排,以构建多个条件数据集;根据构建的多个条件数据集,对接收到的网络数据包的报文特征信息进行统一条件匹配,输出条件匹配结果集;根据条件匹配结果集,调用业务应用执行所述条件匹配结果集中各个条件标识对应的策略动作。本发明实施例的方案,通过对多业务规则进行混合编排,将所有业务规则统一组织,在一次报文数据扫描过程中抽取所有业务所需的信息,且只需进行一次匹配和规则验证过程,减少了多业务之间冗余操作,促进单一设备上的多业务融合,提升设备集成度与性能。
【专利说明】一种策略处理的方法及网络设备
【技术领域】
[0001]本发明涉及通信【技术领域】,尤其涉及无一种策略处理的方法及网络设备。
【背景技术】
[0002]在通信系统中,策略控制是各种核心网络设备(如路由器、交换机、网关等)必不可少的功能,如图1所示,用户通过配置界面或特定策略脚本等方式配置多种策略规则,并下发到设备,设备基于策略规则实现设备上多种业务的处理。
[0003]当前网络设备,尤其是路由器、交换机、网关等设备上,应用业务不断增多,如应用交付控制(Application Delivery Controller, ADC)、广域网优化控制(WAN OptimizationController, W0C)、深度包检测(Deep Packet Inspection, DPI )、入侵预防系统(IntrusionPrevention System, IPS)、统一资源定位符过滤(Uniform/Universal Resource LocatorFilter,URLF)等应用业务等。各种业务应用对应的策略规则类型及数量也在不断增多。随着业务规则复杂度的提升,使得策略处理方法在设备高性能及可靠性方面面临挑战。
[0004]如图2所示,现有技术中策略规则的执行包括以下四个步骤:报文数据处理(策略相关信息收集)、条件匹配、规则验证、动作执行。当设备收到报文数据后,首先进行1-7层数据的处理,通常包括解包、抽取各层报文头信息、抽取7层协议字段信息等;然后对收集到的信息进行策略条件的验证,若某些条件得到满足,则进入规则验证模块进行规则匹配;对于匹配到的策略规则则会执行相对应的业务动作。不同业务如果对报文处理过程不同的话,则有可能需要包含一部分报文特殊处理过程。
[0005]现有技术中,当各个业务所需要的报文信息存在重复时,业务处理流程存在重复。t匕如,IPS、URLF、ADC 都需要对 URL (Uniform/Universal Resource Locator,统一资源定位符)信息进行条件匹配,此时,每个业务内部的条件匹配过程是重复的,同样,规则验证过程也存在重复。另外,报文的处理有时也存在重复和多余过程,比如当IPS需要扫描整个报文数据,而 URLF 只需要扫描 URL 字段,ADC 只需要 HTTP (Hyper Text Transfer Protocol,超文本传输协议)报文头域数据时,现有技术中通常会在IPS、URLF、ADC业务中独立对报文进行处理,也就意味着报文会被扫描多次。即使用现有技术,重复操作在报文处理、条件匹配、规则匹配各环节中都可能存在。这种大量重复操作的存在,在拥有复杂策略及多业务的设备上会导致业务性能的下降。

【发明内容】

[0006]本发明实施例提供一种策略处理的方法及网络设备,用以减少策略执行过程中的冗余和重复操作,提高网络设备的策略执行性能。
[0007]第一方面,本发明实施例提供一种网络设备,包括:混合编排器、条件匹配器和规则匹配器,其中:
[0008]所述混合编排器,用于将所述网络设备上运行的多个业务应用所对应的所有业务规则进行混合编排,每个业务规则包含条件和动作,以提取所述所有业务规则的条件,并利用提取的所述条件构建至少一个条件集,并且生成用于记录每个业务规则与所述条件集中的条件之间的映射关系的映射关系数据;
[0009]所述条件匹配器,用于根据所述混合编排器构建的各个条件集,对所述网络设备接收到的网络数据包的报文特征信息进行条件匹配,并输出条件匹配结果集;所述条件匹配结果集用于记录匹配成功的条件;
[0010]所述规则匹配器,用于根据所述条件匹配结果集,以及所述混合编排器生成的所述映射关系数据,确定出匹配成功的业务规则,并触发所述匹配成功的业务规则所对应的业务应用执行所述匹配成功的业务规则对应的动作。
[0011]在第一方面的第一种可能的实施方式中,所述混合编排器,具体包括:
[0012]规则拆分单元,用于将所述所有业务规则中的每个业务规则拆分成条件和动作;
[0013]条件筛选去重单元,用于提取所述拆分单元拆分成的所述条件,,并去除重复的条件;
[0014]条件分类单元,用于将所述条件筛选去重单元去重之后的条件进行分类,得到至少一种类型的条件集;
[0015]映射单元,用于生成用于记录每个业务规则与所述条件集中的条件之间的映射关系的映射关系数据。
[0016]结合第一方面的第一种可能的实施方式,在第二种可能的实施方式中,所述映射单元具体用于:将所述条件集中每个条件映射到包含所述条件的所有业务规则上,以建立每个业务规则与所述条件集中的条件之间的映射关系,并生成用于记录所述映射关系的映射关系数据;或者,所述映射单元具体用于:在规则拆分单元将所述所有业务规则中的每个业务规则拆分成条件和动作时,记录所述每个业务规则与所述业务规则中的条件之间的映射关系,并在所述所述条件筛选去重单元去除重复的条件之后,调整记录的所述映射关系,以使所述条件集中的每个条件映射到包含所述条件的所有业务规则上,并生成用于记录所述调整后的映射关系的映射关系数据。
[0017]结合第一方面,或者第一方面的第一、第二种可能的实施方式,在第三种可能的实施方式中,所述条件匹配器具体用于:将所述网络设备接收到的网络数据包的报文特征信息,同时与所述各个条件集中的条件进行匹配,并将匹配成功的条件的标识记录到所述条件匹配结果集。
[0018]结合第一方面,或者第一方面的第一、第二或第三种可能的实施方式,在第四种可能的实施方式中,该网络设备还包括:检测器,用于对所述网络设备接收到的网络数据包进行报文检测,以收集所述网络数据包的报文特征信息;所述所述条件匹配器,具体用于根据所述混合编排器构建的各个条件集,对所述检测器收集到的网络数据包的报文特征信息进行条件匹配,并输出条件匹配结果集。
[0019]结合第一方面,或者第一方面的第一、第二、第三或第四种可能的实施方式,在第五种可能的实施方式中,所述网络设备的所有业务规则中,至少有一个业务规则为复合型规则,所述复合型规则为包含多个条件的业务规则;
[0020]所述混合编排器,还用于,记录每个所述复合型规则中,各个条件之间的逻辑关系;
[0021]所述规则匹配器,具体用于,根据所述条件匹配结果集、所述混合编排器生成的所述映射关系数据,以及所述各个条件之间的逻辑关系,确定出匹配成功的业务规则,并调用所述匹配成功的业务规则所属的业务应用执行所述匹配成功的业务规则对应的动作,或者发送规则命中消息到所述匹配成功的业务规则所对应的业务应用,以使所述业务应用根据所述规则命中消息,执行所述匹配成功的业务规则对应的动作。
[0022]第二方面,本发明实施例还提供一种多业务的策略处理方法,包括:
[0023]将多个业务应用所对应的所有业务规则进行混合编排,每个业务规则包含条件和动作,以提取所述所有业务规则的条件,并利用提取的所述条件构建至少一个条件集,并且生成用于记录每个业务规则与所述条件集中的条件之间的映射关系的映射关系数据;
[0024]根据构建的各个条件集,对接收到的网络数据包的报文特征信息进行条件匹配,以输出条件匹配结果集;所述条件匹配结果集用于记录匹配成功的条件;
[0025]根据所述条件匹配结果集,以及生成的所述映射关系数据,确定出匹配成功的业务规则,并触发所述匹配成功的业务规则所对应的业务应用执行所述匹配成功的业务规则对应的动作。
[0026]在第二方面的第一种可能的实施方式中,所述将多个业务应用所对应的所有业务规则进行混合编排,包括:
[0027]将所述所有业务规则中的每个业务规则拆分成条件和动作,并生成用于记录所述每个业务规则与所述业务规则中的条件之间的映射关系的映射关系数据;
[0028]提取拆分成的条件,并去除重复的条件;
[0029]将去重之后的条件分类,得到至少一种类型的条件集;
[0030]调整所述映射关系数据,以将所述条件集中的每个条件映射到包含所述条件的一个或多个业务规则上,从而得到述条件集中的条件与各个业务规则之间的映射关系数据。
[0031]在第二方面的第二种可能的实施方式中,所述将多个业务应用所对应的所有业务规则进行混合编排,包括:
[0032]将所述所有业务规则中的每个业务规则拆分成条件和动作;
[0033]提取拆分成的所述条件,并去除重复的条件;
[0034]将去重之后的条件进行分类,得到至少一种类型的条件集;
[0035]将所述条件集中每个条件映射到包含所述条件的所有业务规则上,以得到所述条件集中的条件与各个业务规则之间的映射关系数据。
[0036]结合第二方面,或者第二方面的第一或第二种可能的实施方式,在第三种可能的实施方式中,所述所有业务规则中,至少有一个业务规则为复合型规则,所述复合型规则为包含多个条件的业务规则;
[0037]在将所述所有业务规则中的每个业务规则拆分成条件和动作之后,所述方法还包括:记录每个所述复合型规则中,各个条件之间的逻辑关系;
[0038]所述根据所述条件匹配结果集,以及生成的所述映射关系数据,确定出匹配成功的业务规则,具体包括:根据所述条件匹配结果集、所述条件集中的条件与到各个业务规则之间的映射关系数据,以及所述各个条件之间的逻辑关系,确定出匹配成功的业务规则,并调用所述匹配成功的业务规则所属的业务应用执行相应的动作。
[0039]由上述技术方案可知,本发明实施例的策略处理的方法及网络设备,通过对多业务应用策略规则进行混合编排,在一次报文数据扫描过程中抽取所有业务所需的信息,同时对多业务进行统一的条件匹配和规则匹配,从而减少了多业务之间冗余操作,促进单一设备上的多业务融合,提升设备集成度与性能,同时也降低业务部署和设备硬件成本,提升了网络设备的竞争力。
【专利附图】

【附图说明】
[0040]为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作一简单地介绍,显而易见地,下面附图只是本发明的一些实施例的附图,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得同样能实现本发明技术方案的其它附图。
[0041]图1为本发明提供的多业务策略控制的层级部署方式示意图;
[0042]图2为本发明实施例提供的策略规则执行流程示意图;
[0043]图3为本发明实施例提供的企业私有云的网络示意图;
[0044]图4为本发明实施例提供的策略处理方法的流程示意图;
[0045]图5为本发明实施例提供的策略处理方法的流程图;
[0046]图6为本发明实施例提供的多业务规则混合编排方法示意图;
[0047]图7为本发明实施例提供的网络设备示意图;
[0048]图8为本发明实施例提供的混合编排器示意图;
[0049]图9为本发明实施例提供的条件匹配器的处理流程示意图;
[0050]图10为本发明实施例提供的条件匹配器的处理流程示意图;
[0051]图11为本发明实施例提供的规则匹配器处理流程示意图;
[0052]图12为本发明实施例提供的策略处理方法流程示意图;
[0053]图13为本发明实施例提供的网络设备示意图。
【具体实施方式】
[0054]为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述。显然,下述的各个实施例都只是本发明一部分的实施例。基于本发明下述的各个实施例,本领域普通技术人员即使没有作出创造性劳动,也可以通过等效变换部分甚至全部的技术特征,而获得能够解决本发明技术问题,实现本发明技术效果的其它实施例,而这些变换而来的各个实施例显然并不脱离本发明所公开的范围。
[0055]为使本领域一般技术人员更好的了解本发明实施例提供的技术方案,首先对本发明实施例技术方案的应用场景做一些简单的介绍,本发明实施例提供的技术方案可应用于多应用业策略控制场景下,比如家庭网、接入网、汇聚网,骨干网、企业网、运营商网络,以及各种私有/公有云。下面以企业网私有云作为一个典型的应用场景做一个简单说明。
[0056]图3示出了本发明实施例提供的企业私有云场景的网络示意图,如图3所示,在企业私有云场景下,各个办公区(Branch Office)通过局域网网关(LAN SW)以及路由器(Router)组建成局域网,同时,各个办公区构成的局域网通过WAN (Wide Area Network,广域网)与数据中心(Data Center)互联,数据中心也部署有多个路由器、网关以及多种服务器(如Web服务器、数据库服务器等);其中,各个办公区的路由器和交换机设备上通常会集成防火墙、WOC、IPS、URLF等业务,数据中心的路由器和交换机设备上通常也会集成防火墙、WOC、ADC、IPS等多种业务应用,在这种情形下,路由器和交换机都需要进行多种类型的策略处理。
[0057]需要说明的是,企业私有云场景只是本发明技术方案的一个典型应用场景,并不对本发明的应用场景构成限制,在其它的应用场景中,只要涉及多种类的策略处理,本发明实施例的技术方案均适用。
[0058]下面先总体介绍本发明实施例提供的策略处理方法,如图4所示,该方法主要包括:报文扫描、混合编排、统一条件匹配,以及统一规则验证这几个处理环节。
[0059]其中,报文扫描主要是通过报文检测手段,比如从2-7层的DPI (Deep PacketInspection,深度报文检测),从接收到的网络数据包中抽取多业务所需的所有报文特征信息,比如URL、五元组、协议类型等信息。而且,在报文扫描过程中,不做多余操作,只抽取当前网络设备运行的业务应用(如WOC、ADC、IPS等)所需的报文特征信息。
[0060]混合编排具体是指对所有业务应用的业务规则进行混合编排,其主要包括:(I)仅针对相关报文信息的差异,抽取同类条件,构建多个类型的条件集;(2)生成条件和规则之间的映射关系;
[0061]需要说明的是,在本发明实施例所指的业务规则,即为业务应用的一种执行策略,其中,一条规则包含条件和动作两部分,具体地,一条规则中包含的条件可以为一个或多个,动作也可以为一个或多个,且同一业务规则中的多个条件可能来源于不同层次的报文信息,比如规则 if (IP=1.1.1.1&&HTTP.host=www.huawe1.com) then drop packet 中,“IP=1.1.1.1”和“HTTP.host=www.huawe1.com”为两个并列的条件,其中,前者为L3层的条件,后者为L7层的条件,且两者在逻辑上为“与”的关系;“drop packet”则为条件匹配时,业务应用需要执行的动作。
[0062]统一条件匹配是指对混合编排后的多个条件集进行统一条件匹配;
[0063]统一规则验证是指对混合编排后的规则集进行统一的规则匹配,验证哪些业务规则匹配成功。
[0064]统一条件匹配和统一验证的目的是,不再对单个的条件和规则做逐个匹配的动作,而是将经过报文扫描后收集的多种报文特征信息,与混合编排后的多个条件集进行统一的条件验证和规则匹配;比如,还是以上面的规则if (IP=1.1.1.1&&HTTP.host=www.huawe1.com) then drop packet为例,通过报文识别先收集各层次的报文特征信息,然后分别上传至各个对应的条件数据集进行条件验证,然后将条件验证的结果上报给规则匹配模块进行统一的规则匹配,得出已经命中的规则,最后再执行命中规则对应的业务动作。
[0065]基于上述方法原理,下面介绍一个具体实施例,如图5所示,本发明实施例提供的多业务的策略处理方法,包括:
[0066]S501,将多个业务对应的所有业务规则进行混合编排,以提取所述所有业务规则的条件,并利用提取的所述条件构建至少一个条件集,并且生成用于记录每个业务规则与所述条件集中的条件之间的映射关系的映射关系数据;
[0067]需要说明的是,业务规则通常包含条件、动作两部分,可简单描述为:
[0068]规则:if (条件集)then(动作集);其中,条件集包括条件及条件间的逻辑关系,通常有AND、OR ;动作集包括对应到一条规则的多个串行或并行的业务动作,通常可顺序表示,比如:动作I ;动作2 ;本发明实施例中为了简单起见,以仅包含了一个条件和动作的规则1:1f (条件l)then动作I,来说明;该规则I表示当条件I满足时,就执行对应的动作I。
[0069]具体地,在一个实施例中,对多个业务对应的所有业务规则进行混合编排,具体包括:
[0070]S5011,将每个业务规则拆分成条件和动作两部分,并生成用于记录所述每个业务规则与所述业务规则中的条件之间的映射关系的映射关系数据;
[0071]需要说明的是,当所有业务规则都是如规则I 一样的“单条件规则”时,只需要在映射关系数据中记录每条业务规则中的条件与该业务规则的映射关系即可,对于这样的业务规则,条件如果验证成功,也就代表其对应的业务规则已经匹配,该业务规则中包含的动作也可被触发执行;在一个实施例中,如果所有业务规则中存在包含有多个条件的复合型规则时,仅仅记录每个业务规则与该业务规则的条件之间的映射关系是不够的,因为此时条件并不能唯一对应到规则,这就需要在记录每条规则与该规则的条件的映射关系的同时,还记录同一规则中各个条件之间的逻辑关系,即这种情形下,需要根据同一规则中包含的每个条件的匹配结果,以及各个条件的逻辑关系,才能确定出规则是否匹配成功。最后需要说明的是,映射关系数据仅仅是一个功能性的名词,在具体实现中,其可以为数据表、数据文件等等可存储数据的载体。
[0072]S5012,提取上述拆分成的所有业务规则的条件,并去除重复的条件。
[0073]S5013,对去除重复之后的条件进行分类,以得到至少一种类型的条件集;
[0074]具体地,对去除重复之后的条件进行分类,是将具有相同特点的条件分为一类,例如将进行IP地址匹配的条件分为一类,将进行URL匹配的条件分为一类。当然也可以按匹配方式进行分类,例如按正则表达式方式匹配的条件分为一类等,还可以按照报文信息层次进行分类,比如L3的条件分为一类,L7的条件分为一类等。另外,需要说明的是,在另外一种实施方式中,业务规则中包含的条件不仅可以是与L1-L7报文数据的特征信息相关的条件,还可以包括业务事件、协议类型、业务结果等可以用于判断某一类业务动作是否执行的策略条件。
[0075]S5014,调整上述映射关系数据,以将上述条件集中的每个条件映射到包含所述条件的所有业务规则上,从而得到述条件集中的条件与到各个业务规则之间的映射关系数据。
[0076]由于步骤S5022对提取出的所有条件,进行了去重,因此分类后得到的各个条件集中的条件均是唯一的,但是去重的同时也破坏了之前建立的映射关系数据,故需要对映射关系数据进行调整,调整之后,包含相同条件的业务规则,均会被映射到条件集中对应的同一条件上,即条件集中的每一个条件,均映射到包含该条件的一个或多个业务规则上。
[0077]当然可以理解的是,在另一个实施例中,可以对上述步骤做进一步简化,不采用先生成映射关系数据,去重之后再调整的方式,而是在提取所有业务规则的条件,去重并分类形成条件集之后,直接将各个条件集中每个条件映射到包含所述条件的所有业务规则上,以得到所述条件集中的条件与各个业务规则之间的映射关系数据。
[0078]进一步地,在另一个实施例中,在上述步骤S5014之后,还可以包括:
[0079]S5015,将分类之后得到的各个条件集编译成统一的格式;
[0080]具体地,根据对去重后的条件分类的结果,将分类后的条件集按类别分别编译,编译成条件匹配引擎所支持的格式。进一步地,还可以将记录业务规则与业务规则的条件的映射关系的映射关系数据,编译成规则匹配引擎所需的格式;另外,如果存在如上所述的复合型规则时,还需要将每个复合型规则中各个条件之间的逻辑关系保存到规则匹配引擎内(或者编译成规则匹配引擎所支持的格式后再保存)。需要说明的是,条件匹配引擎主要负责各种条件的统一验证,即验证哪些业务规则中的条件数据匹配成功,本领域技术人员可以理解的是,条件匹配引擎既可由软件实现,也可以用硬件逻辑来实现,此处不再赘述。
[0081]下面通过一个具体的实例对上述步骤做一个说明,如图6所示,当前网络设备具有的业务规则如下(此处以上述的“单条件”规则为例进行说明):
[0082]IPS-rulel:if (URL= “url_l ”)alert threat I (告警进程 I);
[0083]IPS-rule2:if (IP= “128.1.1.1”)alert threat2 (告警进程 2);
[0084]URLF-rulel:if (URL= “url_2”)block;
[0085]WOC-rulel:if (IP= “128.1.1.1”)read cache (读缓存);
[0086]ADC-rulel:if (URL= “url_2”)block;
[0087]首先,对各个业务规则进行拆分,将每个业务规则拆分成条件部分和动作部分,同时记录规则、条件之间的映射关系;图6中的URL=“url-l”、URL=“url-2”、IP=“128.1.1.1”等均为条件;alert threatl、block、alert threat2均为动作;然后,对拆分出的所有条件进行去重,去重的目的是为了去除重复的条件,比如IPS-rule2与WOC-rulel的条件是重复的,URLF-rulel与ADC-rulel的条件重复,将重复的条件去除后,还需要对条件、规则的映射关系进行调整,比如图6中所示的条件IP= “128.1.1.1”,经过去重操作后,就需要同时映射到IPS-rule2和WOC-rulel这两个规则上,条件URL= “url_2”,就需要同时映射到URLF-ruI e I和ADC_ruI e I ;然后,对去重之后的条件进行分类,如图6所示的,将URL有关的条件归为一类,将IP有关的条件归为一类,形成URL条件集和IP条件集。
[0088]S502,根据构建的各个条件集,对接收到的网络数据包的报文特征信息进行条件匹配,输出条件匹配结果集;所述条件匹配结果集用于记录匹配成功的条件;
[0089]具体地,所述网络数据包的报文特征信息具体包括与各个业务应用的业务规则相关的所有报文特征,也即在验证各个业务规则中的条件是否匹配时,必须用到的报文特征信息,其具体可以为该网络数据包的L1-L7的信息,比如与URLF规则的条件相关的URL信息、与IPS规则的条件相关的五元组信息等,网络数据包的报文特征信息还可以包括业务事件、协议类型、业务结果等可以用于判断某一类业务动作是否执行的条件相关的报文特征信息。
[0090]假设将各个业务规则的条件进行分类、去重和编译后,形成了多个条件集,比如URL条件集、IP条件集、应用层协议类型条件集,则对抽取出的报文特征信息进行统一条件匹配,具体包括:将网络数据包的URL输入URL条件集进行匹配,同时将网络数据包的IP输入到IP地址条件集进行匹配,同时将网络数据包的应用层协议类型输入到应用层协议类型条件集进行匹配,匹配的具体过程就是比较网络数据包的特征信息是否与各个条件集中的条件相匹配或是否符合条件要求。将各个条件集的匹配结果汇总成“条件匹配结果集”,最后上报至规则匹配引擎,其中,条件匹配结果集主要用于指示哪些条件已经匹配成功(命中),具体地,可以将匹配成功的条件,以标识的方式,包含在条件匹配结果集中。
[0091]在一种具体的实现方式中,S502具体包括:[0092]S5021,对接收到的网络数据包进行报文检测,以提取所述多个业务应用所需的所有报文特征信息;
[0093]其中,可以通过报文检测手段,比如从2-7层的DPI(Deep Packet Inspection,深度报文检测),从接收到的网络数据包中抽取多业务所需的所有报文特征信息,比如URL、五元组、协议类型等信息。而且,在报文扫描过程中,不做多余操作,只抽取当前网络设备运行的业务应用(如W0C、ADC、IPS等)所需的报文特征信息。需要说明的是,业务应用所需的报文特征信息,具体是指业务应用所对应的业务规则相关的报文特征信息,或者更确切的说,是该业务规则中的条件对应的报文特征信息,也即在验证该业务规则包含的条件是否满足时,必须要用到的报文特征信息。
[0094]S5022将提取的所述报文特征信息,同时与各个条件集中的条件进行匹配,并将匹配成功的条件的标识记录到所述条件匹配结果集中。
[0095]S503,根据条件匹配结果集,以及生成的所述映射关系数据,确定出匹配成功的业务规则,并触发所述匹配成功的业务规则所对应的业务应用执行所述匹配成功的业务规则对应的动作。
[0096]在具体的实施例中,如果业务规则为仅包含一个条件的“单条件规则”时,规则匹配引擎会根据映射关系数据中记录的条件与业务规则之间的映射关系,即可确定哪些业务规则匹配成功,即规则被命中;如果业务规则为包含多个条件的复合型规则时,规则匹配引擎需要根据每个业务规则与条件的映射关系,以及每个业务规则中条件间的逻辑关系,来确定规则是否被命中;最后,触发匹配成功的业务规则所对应的业务应用执行该业务规则对应的动作。可以理解的是,上述触发动作执行的过程,具体可以为:调用所述匹配成功的业务规则所属的业务应用执行所述匹配成功的业务规则对应的动作;或者发送规则命中消息到匹配成功的业务规则所对应的业务应用,以使所述业务应用根据所述规则命中消息,执行所述匹配成功的业务规则对应的动作;或者将每个业务规则的匹配结果上报至对应的业务应用,以使业务根据根据自身的业务规则的匹配情况,来决定是否执行规则对应的动作。
[0097]由上述技术方案可知,本发明实施例的策略处理的方法,通过对多业务规则进行混合编排,将所有业务规则统一组织,在一次报文数据扫描过程中抽取所有业务所需的信息,且只需进行一次条件匹配和规则验证过程,减少了多业务之间冗余操作,促进单一设备上的多业务融合,提升设备集成度与性能,同时也降低业务部署和设备硬件成本,提升了网络设备的竞争力。
[0098]下面介绍实现上述方法的一个装置实施例,如图7所示,本发明实施例提供一种网络设备,根据图7,该网络设备70包括:混合编排器720、条件匹配器730和规则匹配器740,其中,每个业务规则包含条件和动作;
[0099]混合编排器720,用于将网络设备70上运行的多个业务所对应的所有业务规则进行混合编排,以提取所述所有业务规则的条件,并利用提取的所述条件构建至少一个条件集,并且生成用于记录每个业务规则与所述条件集中的条件之间的映射关系的映射关系数据;其中,
[0100]条件匹配器730,用于根据混合编排器720构建的各个条件集,对网络设备70接收到的网络数据包的报文特征信息进行条件匹配,并输出条件匹配结果集;所述条件匹配结果集用于记录匹配成功的条件;
[0101]规则匹配器740,用于根据条件匹配器730输出的条件匹配结果集,以及混合编排器720生成的映射关系数据,确定出匹配成功的业务规则,并触发所述匹配成功的业务规则所对应的业务应用执行所述匹配成功的业务规则对应的动作。
[0102]具体地,在一种实施方式中,如图8所示,混合编排器720具体包括:规则拆分单元7201、条件筛选去重单元7202、条件分类单元7203,以及映射单元7204 ;其中:
[0103]规则拆分单元7201,主要用于将多业务规则集中的每个业务规则拆分成条件和动作;其中,多业务规则集包含了网络设备70上运行或部署的一个或多个业务应用所对应的所有业务规则;
[0104]条件筛选去重单元7202,用于提取规则拆分单元7201拆分出的条件,并去除重复的条件;
[0105]条件分类单元7203,用于将条件筛选去重单元7202去重之后的条件分类,得到至少一种类型的条件集;
[0106]具体地,条件分类单元7203将具有相同特点的条件分为一类,例如将进行IP地址匹配的条件分为一类,将进行URL匹配的条件分为一类。当然也可以按匹配方式进行分类,例如按正则表达式方式匹配的条件分为一类等,还可以按照报文信息层次进行分类,比如L3的条件分为一类,L7的条件分为一类等。另外,需要说明的是,在另外一种实施方式中,业务规则中包含的条件不仅可以是与L1-L7报文数据的特征信息相关的条件,还可以包括业务事件、协议类型、业务结果等可以用于判断某一类业务动作是否执行的策略条件。
[0107]映射单元7204,用于生成所述条件集中的条件与各个业务规则之间的映射关系数据。
[0108]具体地,映射单元7204可以直接将所述条件集中每个条件映射到包含所述条件的所有业务规则上,以得到所述条件集中的条件与各个业务规则之间的映射关系数据;在另一个实施例中,映射单元7204也可以在规则拆分单元7201将所述所有业务规则中的每个业务规则拆分成条件和动作时,生成用于记录所述每个业务规则与所述业务规则中的条件之间的映射关系的映射关系数据,并在所述条件筛选去重单元7202去除重复的条件之后,调整所述映射关系数据,以将所述条件集中的每个条件映射到包含所述条件的一个或多个业务规则上,从而得到述条件集中的条件与各个业务规则之间的映射关系数据。
[0109]进一步地,在一个实施例中,混合编排器720还包括:编译单元7205,用于将分类后得到的各种类型的条件集按类别分别编译成统一的格式;其中,所述统一的格式为条件匹配器730所支持的格式;相应地,条件匹配器730,具体用于根据编译单元7205编译成的统一格式的条件集,对网络设备70接收到的网络数据包的报文特征信息进行条件匹配,并输出条件匹配结果集。
[0110]进一步地,编译单元7205同时还可以将映射单元7204生成的映射关系数据,编译成规则匹配器740所支持的格式;另外,如果存在如上所述的复合型规则时,还需要将每个业务规则中各个条件之间的逻辑关系保存到规则匹配器740内(或者编译成规则匹配器所支持的格式后再保存)。
[0111]在一种具体的实现方式中,条件匹配器730具体用于将网络设备70接收到的网络数据包的报文特征信息,同时与所述各个条件集中的条件进行匹配,并将匹配成功的条件的标识记录到所述条件匹配结果集;其中,这里用于匹配的网络数据包的特征信息,具体包括与网络设备70上运行的业务应用的业务规则相关的所有报文特征信息,即各个业务规则包含的条件所对应的报文特征信息;条件的标识用于唯一地表示条件,其具体可以为数
字、字母或字符串等。
[0112]条件匹配器730具体根据条件所对应的特征类型、报文特征信息等,在每个类别的条件集内进行统一的条件匹配。需要说明的是,条件集并不限于与L1-L7报文数据的特征信息相关的条件集,还可以包括业务事件、协议类型、业务结果等可以用于判断某一类业务动作是否执行的其他条件集。
[0113]在一种实施方式中,如图9所示,条件匹配器730的处理流程如下:
[0114]首先,网络数据包经过一个或多个处理单元的处理和解析(如图9中的L3-L7处理,其他处理),将多业务所需的所有报文特征信息抽取出来,提交给条件匹配器进行统一匹配,然后,条件匹配器根据混合编排器生成的各个条件集,对抽取出的报文特征信息进行相应的多模匹配,这种匹配方式是一种集中式的条件匹配,条件匹配器的输出结果是条件匹配结果集,即已经匹配成功的条件的标识集合,其中每个条件标识唯一表示一个条件。
[0115]在另一个实施例中,网络设备70还可以包括:检测器710,用于对接收到的网络数据包进行报文检测,以收集所述网络设备上运行的多个业务所需的所有报文特征信息;相应地,条件匹配器730具体用于,根据混合编排器720构建的各个条件集,对检测器710收集到的网络数据包的报文特征信息进行条件匹配,并输出条件匹配结果集。
[0116]需要说明的是,在实际应用中,检测器710可以是多个报文处理单元,其中每个报文处理单元单独负责一种类型的报文扫描,比如专门负责L3处理的处理单元,专门负责L7处理的处理单元等;各个报文处理单元共同抽取出所述多个业务所需的所有报文特征信息;需要说明的是,业务所需的报文特征信息,具体是指网络设备上的业务应用所对应的所有业务规则相关的报文特征信息,或者更确切的说,是在验证业务规则包含的各个条件是否匹配时,必须要用到的报文特征信息。在另一种实现方式中,检测器也可以是一个集成了L3-L7处理,甚至其它类型报文处理功能的多功能处理器,如DPI模块。另外,本领域技术人员可以理解的是,在实际应用中,检测器710既可以部署在网络设备内部,也可以作为一个单独的业务模块,部署在网络设备外部,与网络设备间通过总线或其他通信方式对接。
[0117]在一种应用场景中,条件匹配器可以为一个单独的匹配引擎,该匹配引擎可由软件算法来实现,也可由硬件逻辑来实现。
[0118]在另一种应用场景中,如图10所示,如果监测器710包含多个报文处理单元,则条件匹配器也可以分为多个逻辑功能单元,以分布式的方式部署到各个报文处理单元中;在这种场景下,混合编排器将分类后得到的条件集,按照特征分类分别下放到对应的报文处理单元,条件匹配器部署在各报文处理单元内部,当报文处理单元抽取出报文特征信息后,直接上报至该报文处理单元中的条件匹配器,如果条件匹配成功时,则将结果上报至条件匹配结果集。
[0119]如图11所示,规则匹配器740,具体根据条件匹配结果集和映射关系数据中记录的每个业务规则与该业务规则中的条件之间的映射关系,确定出已经匹配成功的业务规贝U,然后调用业务应用执行该业务规则对应的动作,需要说明的是,如果业务规则为仅包一个条件的“单条件规则”时,规则匹配器740具体会根据条件匹配结果集,以及映射关系数据中记录的每个业务规则与该业务规则中的条件之间的映射关系,确定哪些业务规则匹配成功,即规则被命中,然后触发业务应用执行命中的规则所对应的动作;如果业务规则中存在包含有多个条件的复合型规则时,规则匹配器740具体会根据条件匹配结果集、映射关系数据中记录的每个业务规则与该业务规则中的条件之间的映射关系,以及每个业务规则中的各个条件之间的逻辑关系,来确定规则是否被命中,最后,触发匹配成功的业务规则所对应的业务应用执行该业务规则对应的动作。具体地,规则匹配器740可以采用进程/函数调用的方式,直接调用所述匹配成功的业务规则所属的业务应用执行所述匹配成功的业务规则对应的动作;或者发送规则命中消息到匹配成功的业务规则所对应的业务应用,以使所述业务应用根据所述规则命中消息,执行所述匹配成功的业务规则对应的动作;其中,该规则命中消息用于指示业务规则已匹配成功。
[0120]下面通过一个具体的实例,来描述上述网络设备进行策略执行的过程。图12是基于本发明实施例的网络设备,针对HTTP报文URL信息的多业务策略执行方法。根据图12,首先通过混合编排器对所有业务规则进行混合编排(图11示出了 3条业务规则),然后,抽取出所有的URL匹配条件下发至URL条件匹配器,并将条件与策略规则及策略动作的对应关系下发至规则匹配器;在策略执行时,报文经过DPI处理后得到的URL信息发送给URL条件匹配器,进行统一的条件匹配,得到的匹配结果发送给规则匹配器,假设此时命中了 ADC的规则,则直接调用ADC业务单元执行对应动作即可。可见,在本发明方法实施例中,URL只需进行一次匹配过程,规则验证也只需一次,而业务单元的调用也只需一次,去除了多业务之间的冗余操作。
[0121]最后需要说明的是,本发明实施例提供的网络设备的具体工作原理和工作过程,可以参照前述的方法实施例,此处不再赘述。
[0122]本发明实施例的网络设备,通过对多业务规则进行混合编排,将所有业务规则统一组织,在一次报文数据扫描过程中抽取所有业务所需的信息,且只需进行一次条件匹配和规则验证过程,减少了多业务之间冗余操作,促进单一设备上的多业务融合,提升设备集成度与性能,同时也降低业务部署和设备硬件成本,提升了网络设备的竞争力。
[0123]图13示出了本发明实施例提供的另一网络设备示意图,如图13所示,网络设备包括:至少一个处理器1001、存储器1002、通信接口 1003和总线。处理器1001、存储器1002和通信接口 1003通过总线连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry Standard Architecture,简称为 ISA)总线、外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
[0124]存储器1002用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器1002可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
[0125]在一个实施例中,处理器1001通过读取存储器1002中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:
[0126]将多个业务应用所对应的所有业务规则进行混合编排,每个业务规则包含条件和动作,以提取所述所有业务规则的条件,并利用提取的所述条件构建至少一个条件集,并且生成用于记录每个业务规则与所述条件集中的条件之间的映射关系的映射关系数据;
[0127]根据构建的各个条件集,对接收到的网络数据包的报文特征信息进行条件匹配,以输出条件匹配结果集;所述条件匹配结果集用于记录匹配成功的条件;
[0128]根据所述条件匹配结果集,以及生成的所述映射关系数据,确定出匹配成功的业务规则,并触发所述匹配成功的业务规则所对应的业务应用执行所述匹配成功的业务规则对应的动作。
[0129]其中,上述流程的具体细节,可以参照上述方法及装置实施例,此处不再赘述。
[0130]处理器1001可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0131]需说明的是,上述处理器1001除了具有上述功能之外,还可用于执行上述方法实施例中的其他流程,在此不再赘述。
[0132]通信接口 1003主要用于实现本实施例的流量来源确定设备与其他设备或装置之间的通信。在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。
[0133]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0134]另外,在本发明各个实施例提供的网络设备中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0135]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0136]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【权利要求】
1.一种网络设备,其特征在于,包括:混合编排器、条件匹配器和规则匹配器,其中: 所述混合编排器,用于将所述网络设备上运行的多个业务应用所对应的所有业务规则进行混合编排,每个业务规则包含条件和动作,以提取所述所有业务规则的条件,并利用提取的所述条件构建至少一个条件集,并且生成用于记录每个业务规则与所述条件集中的条件之间的映射关系的映射关系数据; 所述条件匹配器,用于根据所述混合编排器构建的各个条件集,对所述网络设备接收到的网络数据包的报文特征信息进行条件匹配,并输出条件匹配结果集;所述条件匹配结果集用于记录匹配成功的条件; 所述规则匹配器,用于根据所述条件匹配结果集,以及所述混合编排器生成的所述映射关系数据,确定出匹配成功的业务规则,并触发所述匹配成功的业务规则所对应的业务应用执行所述匹配成功的业务规则对应的动作。
2.根据权利要求1所述的网络设备,其特征在于,所述混合编排器,具体包括: 规则拆分单元,用于将所述所有业务规则中的每个业务规则拆分成条件和动作; 条件筛选去重单元,用于提取所述拆分单元拆分成的所述条件,,并去除重复的条件; 条件分类单元,用于将所述条件筛选去重单元去除重复之后的条件进行分类,得到至少一种类型的条件集; 映射单元,用于生成用于记录每个业务规则与所述条件集中的条件之间的映射关系的映射关系数据。
3.根据权利要求2所述的网络设备,其特征在于,所述映射单元具体用于:将所述条件集中每个条件映射到包含所述条件的所有业务规则上,以建立每个业务规则与所述条件集中的条件之间的映射关系,并生成用于记录所述映射关系的映射关系数据; 或者,所述映射单元具体用于:在规则拆分单元将所述所有业务规则中的每个业务规则拆分成条件和动作时,记录所述每个业务规则与所述业务规则中的条件之间的映射关系,并在所述所述条件筛选去重单元去除重复的条件之后,调整记录的所述映射关系,以使所述条件集中的每个条件映射到包含所述条件的所有业务规则上,并生成用于记录所述调整后的映射关系的映射关系数据。
4.根据权利要求2或3所述的网络设备,其特征在于,所述混合编排器还包括:编译单元,用于将所述条件分类单元分类后形成的各个类型的条件集,分别编译成统一的格式,所述统一的格式为所述条件匹配器所支持的格式;所述条件匹配器,具体用于根据所述编译单元编译成的统一格式的条件集,对所述网络设备接收到的网络数据包的报文特征信息进行条件匹配,并输出条件匹配结果集。
5.根据权利要求1-4任一项所述的网络设备,其特征在于,所述条件匹配器具体用于: 将所述网络设备接收到的网络数据包的报文特征信息,同时与所述各个条件集中的条件进行匹配,并将匹配成功的条件的标识记录到所述条件匹配结果集。
6.根据权利要求5所述的网络设备,其特征在于,还包括: 检测器,用于对所述网络设备接收到的网络数据包进行报文检测,以收集所述网络数据包的报文特征信息;所述条件匹配器,具体用于根据所述混合编排器构建的各个条件集,对所述检测器收集到的网络数据包的报文特征信息进行条件匹配,并输出条件匹配结果集。
7.根据权利要求6所述的网络设备,其特征在于,所述检测器包括多个报文处理单元,所述多个报文处理单元共同收集得到所述网络数据包中,所述多个业务应用所需的所有报文特征信息。
8.根据权利要求7所述的网络设备,其特征在于,所述条件匹配器以分布式的方式部署在所述多个报文处理单元中。
9.根据权利要求1-8任一项所述的网络设备,其特征在于,所述所有业务规则中,至少有一个业务规则为复合型规则,所述复合型规则为包含多个条件的业务规则; 所述混合编排器,还用于,记录每个所述复合型规则中,各个条件之间的逻辑关系; 所述规则匹配器,具体用于,根据所述条件匹配结果集、所述混合编排器记录的所述映射关系,以及所述各个条件之间的逻辑关系,确定出匹配成功的业务规则,并调用所述匹配成功的业务规则所属的业务应用执行所述匹配成功的业务规则对应的动作,或者发送规则命中消息到所述匹配成功的业务规则所对应的业务应用,以使所述业务应用根据所述规则命中消息,执行所述匹配成功的业务规则对应的动作。
10.一种多业务的策略处理方法,其特征在于,包括: 将多个业务应用所对应的所有业务规则进行混合编排,每个业务规则包含条件和动作,以提取所述所有业务规则的条件,并利用提取的所述条件构建至少一个条件集,并且生成用于记录每个业务规则与所述条件集中的条件之间的映射关系的映射关系数据; 根据构建的各个条件集,对接收到的网络数据包的报文特征信息进行条件匹配,输出条件匹配结果集;所述条件匹配结果集用于记录匹配成功的条件; 根据所述条件匹配结果集,以及生成的所述映射关系数据,确定出匹配成功的业务规贝U,并触发所述匹配成功的业务规则所对应的业务应用执行所述匹配成功的业务规则对应的动作。
11.根据权利要求10所述的方法,其特征在于,所述将多个业务应用所对应的所有业务规则进行混合编排,包括: 将所述所有业务规则中的每个业务规则拆分成条件和动作,并生成用于记录所述每个业务规则与所述业务规则中的条件之间的映射关系的映射关系数据; 提取拆分成的条件,并去除重复的条件; 将去除重复之后的条件分类,得到至少一种类型的条件集; 调整所述映射关系数据,以将所述条件集中的每个条件映射到包含所述条件的所有业务规则上,从而得到述条件集中的条件与各个业务规则之间的映射关系数据。
12.根据权利要求10所述的方法,其特征在于,所述将多个业务应用所对应的所有业务规则进行混合编排,包括: 将所述所有业务规则中的每个业务规则拆分成条件和动作; 提取拆分成的所述条件,并去除重复的条件; 将去除重复之后的条件进行分类,得到至少一种类型的条件集; 将所述条件集中的每个条件映射到包含所述条件的所有业务规则上,以得到所述条件集中的条件与各个业务规则之间的映射关系数据。
13.根据权利要求10-12任一项所述的方法,其特征在于,所述根据构建的各个条件集,对接收到的网络数据包的报文特征信息进行条件匹配,以输出条件匹配结果集,包括:对接收到的网络数据包进行报文检测,以提取所述多个业务应用所需的所有报文特征信息; 将提取的所述报文特征信息,同时与各个条件集中的条件进行匹配,并将匹配成功的条件的标识记录到所述条件匹配结果集中。
14.根据权利要求10-13任一项所述的方法,其特征在于,所述所有业务规则中,至少有一个业务规则为复合型规则,所述复合型规则为包含多个条件的业务规则; 在将所述所有业务规则中的每个业务规则拆分成条件和动作之后,所述方法还包括:记录每个所述复合型规则中,各个条件之间的逻辑关系; 所述根据所述条件匹配结果集,以及生成的所述映射关系数据,确定出匹配成功的业务规则,具体包括:根据所述条件匹配结果集、所述映射关系,以及所述各个条件之间的逻辑关系,确定出匹配成功的业务规则,并调用所述匹配成功的业务规则所属的业务应用执行相应的动作。
15.根据权利要求10-13任一项所述的方法,其特征在于,所述触发所述匹配成功的业务规则所对应的业务应用执行所述匹配成功的业务规则对应的动作,包括: 调用所述匹配成功的业务规则所属的业务应用执行所述匹配成功的业务规则对应的动作;或者发送规则命中消息到所述匹配成功的业务规则所对应的业务应用,以使所述业务应用根据所述规则命中消息,执行所述匹`配成功的业务规则对应的动作。
【文档编号】H04L12/24GK103688489SQ201280003466
【公开日】2014年3月26日 申请日期:2012年12月3日 优先权日:2012年12月3日
【发明者】刘赫伟, 史云龙 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1