CN103346974B - 一种业务流程的控制方法及网络设备 - Google Patents

一种业务流程的控制方法及网络设备 Download PDF

Info

Publication number
CN103346974B
CN103346974B CN201310216184.0A CN201310216184A CN103346974B CN 103346974 B CN103346974 B CN 103346974B CN 201310216184 A CN201310216184 A CN 201310216184A CN 103346974 B CN103346974 B CN 103346974B
Authority
CN
China
Prior art keywords
message
data processing
processing module
business
information
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
Application number
CN201310216184.0A
Other languages
English (en)
Other versions
CN103346974A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310216184.0A priority Critical patent/CN103346974B/zh
Publication of CN103346974A publication Critical patent/CN103346974A/zh
Priority to RU2015156608A priority patent/RU2632152C2/ru
Priority to JP2015520816A priority patent/JP5943331B2/ja
Priority to PCT/CN2014/070910 priority patent/WO2014194677A1/zh
Priority to AU2014277525A priority patent/AU2014277525B2/en
Priority to KR1020147027100A priority patent/KR101562155B1/ko
Priority to EP16178521.7A priority patent/EP3174256B1/en
Priority to ES14755964.5T priority patent/ES2606769T3/es
Priority to EP14755964.5A priority patent/EP2835943B1/en
Priority to US14/557,701 priority patent/US9537982B2/en
Application granted granted Critical
Publication of CN103346974B publication Critical patent/CN103346974B/zh
Priority to US15/370,663 priority patent/US10425510B2/en
Priority to US16/577,117 priority patent/US11233884B2/en
Priority to US17/563,585 priority patent/US11700322B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供一种业务流程的控制方法及网络设备,其中,方法包括:根据网络设备上部署的至少一个业务的执行策略选择处理网络设备接收到的报文的M个数据处理模块,并确定选择的M个数据处理模块处理所述报文的处理顺序;调用选择的M个数据处理模块依次按照处理顺序处理所述报文,得到所述M个处理模块对所述报文的处理结果;本发明实施例通过以上技术方案,根据业务对应的策略集合动态生成处理该报文的数据处理模块的执行顺序,进而根据该顺序依次调用各个数据处理模块处理该报文,使得报文不必经过每一个数据处理模块处理,从而减少了业务执行过程中不必要的处理流程和冗余信息收集,增加业务处理的灵活性,提升设备的整体性能。

Description

一种业务流程的控制方法及网络设备
技术领域
本发明实施例涉及通信领域,尤其涉及一种业务流程的控制方法及网络设备。
背景技术
当前,网络中的设备需要借助策略来进行各种业务控制,例如,在业务执行过程中,当需要执行某个动作时都会先指定条件,当报文或数据流符合设定的条件时才执行对应的动作。典型的条件包括:用户维度、时间维度、L3-L4(IP地址+TCP端口号)维度、L7协议维度、统一资源定位符(Uniform/Universal Resource Locator,简称URL)维度等等条件。策略匹配的过程就是将数据流的每个维度的信息与该维度的设定条件进行比较的过程。
数据流中各维度的信息一般是由不同的数据处理模块来负责收集的,例如,用户维度信息是由用户识别模块区分,时间维度信息由时间模块区分,L3-L4层信息由L3-L4层处理模块区分,L7层协议信息由识别模块区分,URL信息则由解析模块识别。如果希望设备策略更加丰富,可控制的维度更多,那就需要在网络的设备中设置更多的数据处理模块来收集更多维度的信息。
通常,网络的设备中的每一个数据处理模块的功能是固定的,按照设定的逻辑负责确认该收集的信息。例如用户管理模块,会负责将用户的IP,手机号码,角色,等级等各种预先设定的需要收集的信息一一确定。故,数据流中维度信息收集的过程就变成了一个个数据处理模块执行的过程。为了在设备中逻辑清晰,通常需要先收集数据流的信息,再做策略匹配,最后执行策略对应的动作。上述过程带来的缺点是所有负责信息收集的所有模块都会执行,进而浪费设备的性能。
为此,业内人士改进上述方法,如图1所示,先收集数据流所有维度的信息,然后在信息集合中查找是否符合设定的条件,如果符合设定条件,那么执行对应的动作。也就是说,将所有负责信息收集模块串行连接,设定固有顺序。所有流的处理流程都相同,按顺序依次经过各个模块。这样,当所有模块执行完,就能收集完整各个维度的信息,可以为下一步的策略匹配提供基础。这种方法设计简单,信息完整,功能不会有遗漏。
然而,上述方法的缺点是:所有的数据流的执行顺序相同,忽略了数据流之间是有差异的。不同的数据流的信息不一样,有些数据流很明显是不需要经过特定模块的,其顺序执行会存在一定的冗余信息收集,造成额外的性能开销。
发明内容
有鉴于此,本发明实施例提供一种业务流程的控制方法及网络设备,用以优化现有技术的设备中数据流的处理流程,减少业务执行过程中不必要的处理流程和冗余信息收集,提升设备的整体性能。
第一方面,本发明实施例提供一种业务流程的控制方法,其包括:
根据网络设备上部署的至少一个业务的执行策略选择处理该网络设备接收到的报文的M个数据处理模块,并确定选择的M个数据处理模块处理该报文的处理顺序;
调用选择的M个数据处理模块依次按照该处理顺序处理该报文,以使得被调用的每一数据处理模块收集该报文的一个维度的信息;
根据M个数据处理模块收集到的该报文的所有信息对上述至少一个业务的执行策略包含的所有业务规则进行匹配,以确定出匹配成功的业务规则,并执行匹配成功的业务规则所对应的动作。
在第一方面的第一种可能的实施方式中,选择处理网络设备接收到的报文的M个数据处理模块,以及确定选择的M个数据处理模块处理该报文的处理顺序,具体包括:
提取上述至少一个业务中各个业务的执行策略所包含的所有业务规则中的条件,进而确定用于判断提取出的条件是否满足所要依赖的第一报文的所有维度的信息;
根据确定出的所有维度的信息,确定要收集所有维度的信息所需要的M个数据处理模块;
根据确定出的M个数据处理模块相互之间的依赖关系,确定该M个数据处理模块处理第一报文的处理顺序。
结合第一方面或者第一方面的第一种可能的实施方式,在第二种可能的实施方式中,该方法还包括:
生成用于表示M个数据处理模块处理该报文的处理顺序的第一列表,其中,第一列表包括该M个数据处理模块的标识,且第一列表中的M个数据处理模块的标识按照确定出的处理顺序排列;
相应地,调用选择的M个数据处理模块依次按照所述处理顺序处理该报文,包括:
依次调用第一列表中的前P个数据处理模块标识所对应的数据处理模块处理该报文,得到该报文P个维度的信息,其中,P为正整数;
依次调用第一列表中前P个数据处理模块标识之后的M-P个数据处理模块标识所对应的数据处理模块处理该报文,得到该报文的至少一个维度的信息。
结合第一方面的第二种可能的实施方式,在第三种可能的实施方式中,在依次调用该第一列表中的前P个数据处理模块处理该报文,得到该报文P个维度的信息之后,还包括:
根据该P个维度的信息重新选择处理该报文的一个或多个数据处理模块,以及确定重新选择出的数据处理模块处理该报文的处理顺序,并更新第一列表,以指示重新选择出的数据处理模块处理该报文的处理顺序;更新后的第一列表包括重新选择的数据处理模块的标识,且上述重新选择的数据处理模块的标识在更新后的第一列表中按照上述重新选择的数据处理模块处理该报文的顺序排列;
相应地,依次调用第一列表中前P个数据处理模块标识之后的M-P个数据处理模块标识所对应的数据处理模块处理该报文,得到该报文的至少一个维度的信息,包括:
根据更新后的第一列表指示的顺序,依次调用上述重新选择的数据处理模块处理该报文,得到该报文的至少一个维度的信息。
结合第一方面,或者第一方面的第一、第二或第三种可能的实施方式,在第四种可能的实施方式中,每个业务的执行策略还包括:预先设置的配置规则,该配置规则用于表示该业务的执行条件;
所述方法还包括:获取该报文的特征信息,根据该特征信息判断该网络设备上部署的每个业务的执行条件是否满足,并将执行条件满足的业务确定为需要执行的业务;
相应地,根据网络设备上部署的至少一个业务的执行策略选择处理该网络设备接收到的报文的M个数据处理模块,并确定选择的M个数据处理模块处理该报文的处理顺序,具体包括:
根据确定出的需要执行的业务的执行策略,选择处理该网络设备接收到的报文的M个数据处理模块,并确定选择的M个数据处理模块处理该报文的处理顺序。
第二方面,本发明实施例提供一种网络设备,包括:收发模块、列表生成模块、调度模块和N个数据处理模块,N为正整数,每一数据处理模块用于收集报文的一个维度的信息;其中:
收发模块,用于接收报文;
列表生成模块,用于根据该网络设备上部署的至少一个业务的执行策略选择处理收发模块接收到的报文的M个数据处理模块,并确定选择的M个数据处理模块处理该报文的处理顺序;M为正整数,且M不大于N;其中,每个业务的执行策略包括至少一个业务规则,每个业务规则包含条件和动作,且每个业务规则的匹配至少依赖于报文的一个维度的信息;
调度模块,用于调用列表生成模块选择的M个数据处理模块依次按照上述处理顺序处理该报文,得到该报文的至少一个维度的信息,并根据上述至少一个维度的信息对上述至少一个业务的执行策略包含的所有业务规则进行匹配,以确定出匹配成功的业务规则,并执行所述匹配成功的业务规则所对应的动作。
在第二方面的第一种可能的实施方式中,列表生成模块,包括:
提取单元,用于提取上述至少一个业务的执行策略中包含的所有业务规则中的条件,并确定用于判断提取出的条件是否满足所要依赖的该报文的所有维度的信息;
选择单元,用于根据提取单元确定出的所有维度的信息,选择要收集该所有维度的信息所需要的M个数据处理模块;
排序单元,用于根据选择单元选择的M个数据处理模块相互之间的依赖关系,确定M个数据处理模块处理该报文的处理顺序。
结合第二方面,或者第二方面的第一种可能的实施方式,在第二种可能的实施方式中,列表生成模块,还包括:
列表生成单元,用于生成表示排序单元确定出的M个数据处理模块处理该报文的处理顺序的第一列表,该第一列表包括上述M个数据处理模块的标识,且第一列表中的M个数据处理模块的标识按照上述处理顺序排列;
调度模块,包括:
第一调度单元,用于依次调用第一列表中的前P个数据处理模块标识所对应的数据处理模块处理该报文,得到该报文至少一个维度的信息,其中,P为正整数;
第二调度单元,用于依次调用第一列表中前P个数据处理模块标识之后的M-P个数据处理模块标识所对应的数据处理模块该报文,得到该报文至少一个维度的信息。
结合第二方面的第二种可能的实施方式,在第三种可能的实施方式中,列表生成模块,还用于在第一调度单元调用第一列表中的前P个数据处理模块标识所对应的数据处理模块处理该报文,得到该报文至少一个维度的信息之后,根据得到的该报文至少一个维度的信息重新选择处理该报文的一个或多个数据处理模块,以及确定重新选择出的数据处理模块处理该报文的处理顺序,并更新第一列表,以指示上述重新选择出的数据处理模块处理该报文的处理顺序;更新后的第一列表包括重新选择的数据处理模块的标识,且重新选择的数据处理模块的标识在更新后的第一列表中按照重新选择的数据处理模块处理该报文的顺序排列;
相应地,第二调度单元具体用于根据更新后的第一列表指示的顺序,依次调用上述重新选择的数据处理模块处理该报文,得到该报文的至少一个维度的信息。
结合第二方面,或者第二方面的第一、第二或第三种可能的实施方式,在第四种可能的实施方式中,每个业务的执行策略还包括:预先设置的配置规则;所述配置规则用于表示该业务的执行条件;
所述网络设备还包括:识别模块,用于获取该报文的特征信息,根据该特征信息判断该网络设备上部署的每个业务的执行条件是否满足,并将执行条件满足的业务确定为需要执行的业务;
列表生成模块,具体用于根据识别模块识别出的需要执行的业务的执行策略,选择处理收发模块接收到的报文的M个数据处理模块,并确定选择的M个数据处理模块处理该报文的处理顺序。
由上述技术方案可知,本发明实施例通过以上技术方案,在网络设备接收到报文之后,根据业务对应的执行策略动态生成处理该报文的数据处理模块的执行顺序,进而根据该顺序依次调用各个数据处理模块处理该报文,使得该报文不必经过每一个数据处理模块处理,从而可以减少业务执行过程中不必要的处理流程和冗余信息收集,增加业务处理的灵活性,提升设备的整体性能。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作一简单地介绍,显而易见地:下面附图只是本发明的一些实施例的附图,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得同样能实现本发明技术方案的其它附图。
图1为本发明实施例提供的基于策略进行业务处理的流程示意图;
图2为本发明实施例提供的企业私有云的网络示意图;
图3为本发明实施例提供的一种业务流程的控制方法的流程图;
图4为本发明另一实施例提供的第一列表的示意图;
图5为本发明另一实施例提供的业务流程的控制方法的流程示意图;
图6为本发明实施例提供的网络设备的示意图;
图7为本发明实施例提供的列表生成模块的示意图;
图8为本发明另一实施例提供的网络设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明的技术方案进行清楚、完整地描述。显然,下述的各个实施例都只是本发明一部分的实施例。基于本发明下述的各个实施例,本领域普通技术人员即使没有作出创造性劳动,也可以通过等效变换部分甚至全部的技术特征,而获得能够解决本发明技术问题,实现本发明技术效果的其它实施例,而这些变换而来的各个实施例显然并不脱离本发明所公开的范围。
本发明实施例主要是根据当前配置的策略集合,来决定业务流程执行时需要调度的处理模块,如果策略集合中的所有策略都没有涉及某一维度的维度条件,那么负责处理这个维度信息的执行模块就可以直接跳过,不出现在后续的执行流程中。本发明实施例提供的技术方案可应用于多应用业策略控制场景下,比如家庭网、接入网、汇聚网,骨干网、企业网、运营商网络,以及各种私有/公有云。下面以企业网作为一个典型的应用场景做一个简单说明。图2描述了常见的企业对外提供服务场景下,用户通过移动终端或固定终端接入网络请求服务,企业内部网络通常由路由器(Router),交换机(Switch)以及服务器(Sever)等网络设备组成,根据需要,一般会在一个或多个网络设备上部署IPS,带宽控制,URL过滤,WOC,ADC等业务。通常在同一设备上会部署多个业务,在这种情形下,就需要对网络设备上的多种业务进行合理的控制,来提高业务处理的效率,用户通过配置界面或特定策略脚本等方式配置多种策略,并下发到网络设备,网络设备基于策略实现设备上多种业务的处理,本发明实施例提供的技术方案可以根据网络设备上部署的业务的策略来动态控制业务流程。需要说明的是,企业网场景只是本发明技术方案的一个典型应用场景,并不对本发明的应用场景构成限制。
图3示出了本发明一实施例提供的业务流程的控制方法的流程示意图,如图3所示,本实施例中以网络设备为例来的业务流程的控制方法包括如下步骤:
101、根据网络设备上部署的至少一个业务的执行策略选择处理该网络设备接收到的报文的M个数据处理模块,并确定选择的M个数据处理模块处理该报文的处理顺序;
102、调用选择的M个数据处理模块依次按照该处理顺序处理该报文,以使得被调用的每一数据处理模块收集该报文的一个维度的信息;
103、根据M个数据处理模块收集到的该报文的所有信息对上述至少一个业务的执行策略包含的所有业务规则进行匹配,以确定出匹配成功的业务规则,并执行匹配成功的业务规则所对应的动作。
需要说明的是,本发明实施例以网络设备为执行主体,描述了本发明技术方案,但不应理解为对本发明实施例执行主体的限定,可以理解的是,只要具有多维度策略控制的设备都可以使用本发明技术方案。
其中,网络设备包含N个数据处理模块(N大于等于M,且M、N均为正整数),每一数据处理模块用于收集报文的一个维度的信息;例如,用户维度信息是由用户识别模块区分,时间维度信息由时间模块区分,L3-L4层信息由L3-L4层处理模块区分,L7层协议信息由识别模块区分,URL信息则由解析模块识别。在本发明实施例中,执行策略主要用于控制业务的运行,网络设备上部署的每一个业务都配置有对应的执行策略,多个业务的执行策略集合在一起,就构成了策略集合;每个业务的执行策略包括至少一个业务规则,业务规则,即为业务执行时遵循的规则;其中,一条业务规则包含条件和动作两部分,具体地,一条业务规则中包含的条件可以为一个或多个,动作也可以为一个或多个,且同一业务规则中的多个条件可能与不同层次或不同纬度的报文信息相关,所以,每个业务规则的匹配至少依赖于报文的一个维度的信息,或者更确切地说,如果要判断每一个业务规则是否匹配,就要判断该业务规则所包含的条件是否满足,而业务规则中条件的判断至少依赖于报文的一个维度的信息;比如规则if(IP=1.1.1.1&&HTTP.host=www.huawei.com)then drop packet中,“IP=1.1.1.1”和“HTTP.host=www.huawei.com”为两个并列的条件,其中,前者为L3层的条件,后者为L7层的条件,且两者在逻辑上为“与”的关系;“drop packet”则为条件满足(即业务规则匹配成功)时,业务需要执行的动作。
具体地,在一个实施例中,可以通过如下方式选择处理网络设备接收到的第一报文的M个数据处理模块,以及确定选择的M个数据处理模块处理第一报文的处理顺序:
步骤1,提取上述至少一个业务中各个业务的执行策略所包含的所有业务规则中的条件,进而确定用于判断提取出的条件是否满足所要依赖的第一报文的所有维度的信息;
步骤2,根据确定出的所有维度的信息,确定要收集所有维度的信息所需要的M个数据处理模块;
步骤3,根据确定出的M个数据处理模块相互之间的依赖关系,确定该M个数据处理模块处理第一报文的处理顺序。
由于每个业务的策略包括一个或多个业务规则,通过提取和收集各个业务规则包含的所有条件,即可确定出要完成对所有条件的验证,需要收集第一报文哪些纬度的信息,然后再确定要要收集第一报文的这些纬度的信息,需要哪些数据处理模块,如果某个维度的信息不需要,也就不需要负责收集该维度信息的数据处理模块;进一步的,如果某个维度的信息需要,可以确定负责收集该维度信息的模块需要收集信息的范围,比如用户管理模块可以负责收集用户的IP地址,手机号码,角色,等级等信息,而如果某个业务规则的判定,只涉及用户的IP地址,则可以确定用户管理模块需要收集信息的范围仅限于用户的IP地址,而不需要收集其他的信息。确定出需要哪些数据处理模块对第一报文做处理之后,在通过分析模块之间的依赖关系(也就是报文不同维度的信息之间的依赖关系),可以确定出这些数据处理模块的执行顺序(即处理第一报文的处理顺序)。例如,如果数据处理模块A要执行,必须先执行另一数据处理模块B,那么就必须在模块A之前执行B模块;又比如,如果C模块如果要执行,必须先执行D模块,那么只要需要用到C模块,就必须将依赖模块D也包含进来。不管策略中是否包含有D模块负责收集的维度的信息。
举例来说,上述的数据处理模块可以为:用于识别报文对应的用户信息的用户模块、用于获取报文的URL信息的URL获取模块、用于解析报文的L3-L4层信息的L3-L4层处理模块、用于负责识别L7层协议的L7层识别模块或用于解析L7层信息的L7层解析模块等相关的模块。本发明实施例中不限定数据处理模块,可以根据实际的需要配置数据处理模块。优选地,在一个实施例中,可以生成一个用于表示确定出的M个数据处理模块的执行顺序的第一列表,进而可以根据第一列表的指示来调用数据处理模块对报文做处理。具体地,第一列表包括确定出的M个数据处理模块的标识,并且这M个数据处理模块的标识在第一列表中按照上述确定出的处理顺序排列。需要说明的是,这里所说的数据处理模块的标识,是数据处理模块的一个代号,可以为每一个数据处理模块分配一个唯一的标识,来代表该数据处理模块。在具体应用中,第一列表可以为数据表、文件或者图片,如图4所示,第一列表可以为一个单项链表,该单项链表的每一个节点保存有一个数据处理模块的ID(identification,标识),并且节点之间的链接关系表示数据处理模块的执行顺序。
在M个数据处理模块执行完毕后,将M个数据处理模块收集到的该报文的所有信息与上述至少一个业务的执行策略包含的各个业务规则进行匹配,以确定出匹配成功的业务规则,进而执行匹配成功的业务规则所对应的动作,其中,业务规则的匹配过程,就是业务规则所包含的条件的验证过程,业务规则中的条件满足,也就是规则匹配成功,就可以执行该规则对应的动作,上面已经通过举例对规则匹配的过程作了阐述,此处不再赘述。
举例来说,若所述第一列表中的数据处理模块为一个,则网络设备可以调用一个数据处理模块处理网络设备接收的报文,若数据处理模块处理完,则业务流程结束,由此可避免其他多余的操作流程。
若第一列表中的数据处理模块为两个,如:模块1和模块2,且在第一列表中,模块1排在模块2之前,则,网络设备根据第一列表中的排序调用模块1处理该报文,在模块1处理该报文之后,网络设备调用模块2处理模块1处理后的报文,在模块2处理之后,业务流程结束,进而使得报文不经过设备中所有的数据处理模块,优化现有技术的设备中数据流的处理流程,增加业务处理的灵活性,提升设备的整体性能。
可选地,当网络设备调用第一列表中的第N个数据处理模块标识对应的数据处理模块时,该模块处理报文时可以在报文上设一个标号,当该模块处理完并返回时,网络设备可获知第N个数据处理模块刚执行过,可以调用第一列表中的第N+1个数据处理模块标识对应的数据处理模块对经过第N个数据处理模块处理的报文进行进一步处理了。在具体应用中,可以通过回调函数调用第一列表中的数据处理模块,使得数据处理模块处理相对应的报文,通过回调函数增加了控制的灵活性。
进一步地,在一个数据处理模块完成对报文的处理后,就会收集到该报文一个维度的信息。可以根据该信息,更新第一列表。比如,在依次调用第一列表中的前P个数据处理模块标识对应的数据处理模块处理网络设备接收的报文后,得到该报文P个维度的信息,其中,P为正整数;进而可以根据该P个维度的信息,重新选择处理该报文的一个或多个数据处理模块,并确定重新选择出的数据处理模块处理该报文的处理顺序,进而更新第一列表,以指示重新选择出的数据处理模块处理该报文的处理顺序,更新后的第一列表包括上述重新选择的数据处理模块的标识,且上述重新选择的数据处理模块的标识在更新后的第一列表中按照上述重新选择的数据处理模块处理该报文的顺序排列;这样就能在业务执行过程中动态的调整数据处理模块的执行顺序。在一个实施例中,当第一列表中前P个数据处理模块收集到报文的P个维度的信息后,可以将该P个维度的信息与网络设备上部署的各个业务的执行策略所包含的所有业务规则进行匹配,根据匹配结果重新选择后续处理该报文的一个或多个数据处理模块,并生成用于指示重新选择的数据处理模块处理该报文的顺序的第二列表。举例说明,假设模块A负责收集X维度的信息,对应条件类型有X1、X2、X3…等;模块B负责收集Y维度的信息,对应条件类型有Y1、Y2、Y3…等;模块C负责收集Z维度的信息,对应条件类型有Z1、Z2、Z3…等;模块D负责收集W维度的信息,对应条件类型有W1、W2、W3…等。假设当前有一个策略为“if((X1&Y2)|Z3)&W4)then”,可以理解为由两个业务规则组成,“if(X1&Y2&W4)then”或者“if(Z3&W4)then”。当A模块处理后,发现条件X1不符合,于是前一个业务规则肯定不会匹配,只需要考虑后一个业务规则是否匹配。这个时候,可以得出需要判断的维度为Z和W,于是经过模块列表为C->D即可。而负责Y维度的模块B可以从模块列表中排除。
可以看出,如果不根据处理模块对报文的处理结果动态刷新第一列表,则在第一列表中前P个数据处理模块标识对应的数据处理模块完成对该报文的处理之后,网络设备会继续调用前P个数据处理模块标识之后的M-P个数据处理模块标识对应的数据处理模块依次处理被前面P个数据处理模块处理过的该报文,得到该报文M-P个维度的信息;而引入了模块列表动态调整机制之后,在前P个数据处理模块完成对该报文的处理之后,则可以根据更新后的第一列表指示的顺序,依次调用上述重新选择的数据处理模块处理该报文,进而得到该报文一个或多个维度的信息。
需要说明的是,上述动态调整模块执行列表的步骤,可以在业务执行的过程中不断重复,直到业务处理完毕,如果不考虑复杂度,可以在每一个数据模块完成对该报文的处理之后,根据该模块对该报文的处理结果,动态调整后续处理该报文的模块列表。
在一种可选的应用场景中,业务的执行策略还包括:用户预先设置的配置规则,该配置规则用于表示业务的执行条件,例如,配置规则可以为:IP1地址对应的用户A允许访问,IP2地址对应的用户B不允许访问。
可选地,在步骤101之前,本实施例中的业务流程的控制方法还可包括如下的步骤100。
100、获取报文的特征信息,根据该特征信息判断网络设备上部署的每个业务的执行条件是否满足,并将执行条件满足的业务确定为需要执行的业务;
需要说明的是,报文的特征信息,可以是包含在报文头部,用于表征报文特征的一些基础信息,比如URL、五元组、传输层协议类型等信息。举例来说,报文的特征信息可包括:报文的时间戳,报文的发送软件,报文的协议,报文访问的URL地址、报文接收端的互联网协议(Internet Protocol,简称IP)地址信息,和/或报文接收端的端口信息等。而具体地,网络设备上部署有多种业务,一般情形下,对一个报文的处理过程中,并不是所有的业务都会执行,网络设备在接收到一个报文之后,将该报文的特征信息,比如:报文的时间戳、报文携带的URL,报文的协议类型、报文接收端的互联网协议(Internet Protocol,简称IP)地址,和/或报文接收端的端口信息等,与上述配置规则进行匹配,判断该配置规则所包含的条件是否满足,进而确定当前需要执行哪些业务。相应地,在确定出需要执行的业务之后,再根据确定出的需要执行的业务所对应的策略集合,选择处理该报文的M个数据处理模块,并确定选择的M个数据处理模块处理该报文的处理顺序。
可选地,上述业务的执行策略还可以有优先级。例如,数据处理模块A对应的X维度的条件:IP=10.10.*、数据处理模块B对应的Y维度的条件:Port=80、数据处理模块C对应的Z维度的条件:L7层协议=HTTP、数据处理模块D对应的Z维度的条件:URL=www.huawei.com;
配置规则可为:规则1:阻塞访问;规则2:允许访问。
第一种执行策略可为:“IP=10.10.*”并且“Port=80”&“规则1”
第二种执行策略可为:“L7层协议=HTTP”并且“URL=www.huawei.com”&“规则2”
此时,第一种策略的优先级低,第二种策略的优先级高。
在其他实施例中,为了便于网络设备根据业务的执行策略确定出哪些数据处理模块需要执行以及执行的顺序:首先,用户预先设定数据处理模块之间的默认执行顺序,即当两个或两个以上维度条件都需要验证时,各数据处理模块应该执行的顺序。(例如当策略为“if(X1&Y2&Z3&…)then”时,说明每个维度条件都需要验证,也就是每个数据处理模块都需要执行,且各个数据处理模块无关联性时,这种情况下,所设定的各数据处理模块的执行顺序就是默认执行顺序。
进而,得出默认执行顺序后,就可以得到按照默认执行顺序排列的全部数据处理模块的模块列表。进一步的地,根据策略集合,分析出每一类型的维度条件。如果某一类型的维度条件不需要验证,就可以将与该类型的维度条件对应的数据处理模块从上述模块列表中删除,得到一个新的列表,即第一列表。
由上,本实施例的业务流程的控制方法,在接收到报文之后,根据业务的执行策略确定需要处理该报文的数据处理模块,以及各个数据处理模块处理的执行顺序,进而使得报文不必经过每一个数据处理模块处理,进而可以减少业务执行过程中不必要的处理流程和冗余信息收集,按需控制数据处理模块功能范围,增加业务处理的灵活性,提升设备的整体性能。
另外,本发明实施例中的报文可为通信设备接收的报文,或者是通信设备准备发送的报文,或者是网络报文,本实施例不对报文的来源进行限定。
图5示出了本发明另一实施例提供的业务流程的控制方法的流程示意图,本实施例中的业务流程的控制方法如下所述。
201、主控模块将待处理的第一报文的特征信息发送至列表生成模块,以使所述列表生成模块根据策略集合和所述第一报文的特征信息生成第一列表,所述第一列表包括:需处理所述第一报文的至少一个数据处理模块;
202、主控模块接收所述列表生成模块发送的第一列表,所述第一列表中的各数据处理模块是根据关联性排序的;
203、主控模块调用所述第一列表中依序排列的数据处理模块处理所述第一报文。
本实施例的业务流程的控制方法,可以优化现有技术的设备中数据流的处理流程,增加业务处理的灵活性,提升设备的整体性能,增加业务的处理灵活性。
可选地,在图5所示的实施例的基础上,本实施例的业务流程的控制方法还包括如下的步骤204至步骤206,如图5所示。
204、主控模块获得第一列表中的排序靠前的至少一个数据处理模块处理第一报文之后得到的第二报文;
205、主控模块将第二报文的特征信息发送至列表生成模块,以使列表生成模块根据上述策略集合和第二报文的特征信息生成需处理第二报文的至少一个数据处理模块组成的第二列表;
206、主控模块接收所述列表生成模块发送的第二列表,调用所述第二列表中依序排列的数据处理模块处理所述第二报文。
上述的第二报文的特征信息可包括第一报文的特征信息,例如,一种场景中,第二报文的特征信息可为第一报文的特征信息和增加的报文的特征信息之和。
由上,基于当前策略集合和第一报文的特征信息来生成第一列表,并在处理过程中动态的调整上述的第一列表,如得到第二列表,从而到达动态控制业务执行流程的目的。
例如,当策略集合中的任一组合中均未配置关于URL维度的条件时,解析模块就不会被执行。特别地,在执行过程中,根据一部分已知的维度信息,从策略集合的策略中再次分析得出某些数据处理模块也不需要执行,从而达到调整第一列表,改变执行流程的目的。
本实施例不仅考虑不同的报文的特征信息对处理流程的影响,也考虑当前配置的策略对处理流程的影响,避免多余的操作步骤,提升整体性能,增加业务处理的灵活性。
对应于上述方法实施例,如图6所示,本发明实施例还提供一种网络设备,该网络设备具体可以为路由器,交换机、网关或者服务器等设备,网络设备,根据图6,网络设备60上部署有一个或多个业务应用(如图6中的业务1、业务2、业务n),网络设备60包括:收发模块610、列表生成模块620、调度模块630和N个数据处理模块(本发明实施例以图6中的640为例进行说明),N为正整数,每一数据处理模块用于收集报文的一个维度的信息;其中:
收发模块610,用于接收报文;
列表生成模块620,用于根据网络设备60上部署的至少一个业务的执行策略选择处理收发模块610接收到的报文的M个数据处理模块,并确定选择的M个数据处理模块处理该报文的处理顺序;其中,M为正整数,且M不大于N;每个业务的执行策略包括至少一个业务规则,每个业务规则包含条件和动作,且每个业务规则的匹配至少依赖于报文的一个维度的信息;
需要说明的是,在本发明实施例中,执行策略主要用于控制业务的运行状态,网络设备上部署的每一个业务都配置有对应的执行策略,多个业务的执行策略集合在一起,就构成了策略集合;每个业务的执行策略包括至少一个业务规则,业务规则,即为业务的一种执行策略,其中,一条业务规则包含条件和动作两部分,具体地,一条业务规则中包含的条件可以为一个或多个,动作也可以为一个或多个,且同一业务规则中的多个条件可能与不同层次或不同纬度的报文信息相关,就是说,如果要判断每一个业务规则所包含的条件是否满足,至少依赖于报文的一个维度的信息,即每个业务规则的匹配至少依赖于报文的一个维度的信息。
调度模块630,用于调用列表生成模块620选择的M个数据处理模块依次按照所述处理顺序处理该报文,得到所述该报文的至少一个维度的信息,并根据该至少一个维度的信息对上述至少一个业务的执行策略包含的所有业务规则进行匹配,以确定出匹配成功的业务规则,并执行匹配成功的业务规则所对应的动作。
具体地,在一个实施例中,如图7所示,列表生成模块620具体包括:
提取单元6201,用于提取网络设备60上部署的至少一个业务的执行策略中包含的所有业务规则中的条件,并确定用于判断提取出的条件是否满足所要依赖的该报文的所有维度的信息;
选择单元6202,用于根据提取单元6201确定出的所有维度的信息,选择要收集所有维度的信息所需要的M个数据处理模块;
排序单元6203,用于根据选择单元6202选择的M个数据处理模块相互之间的依赖关系,确定该M个数据处理模块处理该报文的处理顺序。
优选地,在另一个实施例中,列表生成模块620还可以包括列表生成单元6204,用于生成表示排序单元6203确定出的M个数据处理模块处理该报文的处理顺序的第一列表,然后将第一列表发送给调度模块630;其中,第一列表包括M个数据处理模块的标识,且第一列表中的M个数据处理模块的标识按照排序单元6203确定出的处理顺序排列;这样,调度模块630在接收到第一列表后,可以按照第一列表指示的顺序,调度对应的数据处理模块处理网络设备60接收到的报文。需要说明的是,这里所说的数据处理模块的标识,是数据处理模块的一个代号,可以为每一个数据处理模块分配一个唯一的标识,来代表该数据处理模块。在具体应用中,其中,第一列表可以为数据表、文件或者图片,如图4所示,第一列表可以为一个单项链表,该单项链表的每一个节点保存有一个数据处理模块的ID(identification,标识),并且节点之间的链接关系表示数据处理模块的执行顺序。具体地,当调度模块630调用第一列表中的第i个数据处理模块标识所对应的数据处理模块时,该模块处理报文时可以在报文上设一个标号,当该模块处理完并返回时,网络设备可获知第i个数据处理模块刚执行过,可以调用第一列表中的第i+1个数据处理模块标识所对应的数据处理模块对经过第i个数据处理模块标识所对应的数据处理模块处理的报文进行进一步处理了。在具体应用中,可以通过回调函数调用第一列表中的数据处理模块,使得数据处理模块处理相对应的报文,通过回调函数增加了控制的灵活性。
在另一个实施例中,调度模块630可以包括:
第一调度单元,用于依次调用第一列表中的前P个数据处理模块标识所对应的数据处理模块处理该报文,得到该报文至少一个维度的信息,其中,P为正整数;
第二调度单元,用于依次调用上述前P个数据处理模块标识之后的M-P个数据处理模块标识所对应的数据处理模块依次处理被上述前P个数据处理模块处理过的所述报文,得到该报文至少一个维度的信息。
进一步地,在一个数据处理模块完成对报文的处理后,相应地就会得到该报文相应的部分维度的信息,列表生成模块620可以根据得出的该报文的部分维度的信息,刷新第一列表。
具体地,在第一调度单元调用第一列表中的前P个数据处理模块标识所对应的数据处理模块处理该报文,得到该报文的P个维度的信息之后,列表生成模块620可以根据该P个维度的信息,重新选择处理该报文的一个或多个数据处理模块,以及确定重新选择出的数据处理模块处理该报文的处理顺序,并更新第一列表,以指示上述重新选择出的数据处理模块处理该报文的处理顺序;更新后的第一列表包括重新选择的数据处理模块的标识,且重新选择的数据处理模块的标识在更新后的第一列表中按照重新选择的数据处理模块处理该报文的顺序排列;
这时候,第二调度单元具体可以根据更新后的第一列表指示的顺序,依次调用上述重新选择的数据处理模块处理该报文,得到该报文的至少一个维度的信息。这样就能在执行过程中动态的调整数据处理模块的执行顺序,实现实时更新列表中的数据处理模块,由此可以实现动态调整的目的,进而可以优化现有技术的设备中数据流的处理流程,增加业务处理的灵活性,提升设备的整体性能。
需要说明的是,上述动态调整模块执行列表的步骤,可以在业务执行的过程中不断重复,直到业务处理完毕,如果不考虑复杂度,可以在每一个数据模块完成对该报文的处理之后,根据该模块对该报文的处理结果,动态调整后续处理该报文的模块列表。
在一种可选的应用场景中,业务的执行策略还包括:用户预先设置的配置规则,该配置规则用于表示业务的执行条件,例如,配置规则可以为:IP1地址对应的用户A允许执行业务1,IP2地址对应的用户B不允许执行业务1。
可选地,网络设备60还包括:识别模块650,用于获取报文的特征信息,将该特征信息判断所述网络设备上部署的每个业务的执行条件是否满足,并将执行条件满足的业务确定为需要执行的业务。
需要说明的是,报文的特征信息,可以是包含在报文头部,用于表征报文特征的一些基础信息,比如URL、五元组、传输层协议类型等信息。举例来说,报文的特征信息可包括:报文的时间戳,报文的发送软件,报文的协议,报文访问的URL地址、报文接收端的互联网协议(Internet Protocol,简称IP)地址信息,和/或报文接收端的端口信息等。具体地,网络设备60上部署有多种业务,一般情形下,对一个报文的处理过程中,并不是所有的业务都会执行,收发模块610在接收到一个报文之后,识别模块650将该报文的特征信息,比如:报文的时间戳、报文携带的URL,报文的协议类型、报文接收端的IP地址,和/或报文接收端的端口信息等,与各个业务的配置规则进行匹配,判断每个业务的配置规则所包含的条件是否满足,进而确定当前需要执行哪些业务。相应地,在识别模块650确定出需要执行的业务之后,列表生成模块620再根据确定出的需要执行的业务所对应的执行策略,选择处理该报文的M个数据处理模块,并确定选择的M个数据处理模块处理该报文的处理顺序。
需要说明的是,本发明实施例的收发模块610具体可以为网口、USB接口、射频单元、天线、wi-fi通信模块等可以实现数据收发功能的器件或单元;列表生成模块620和调度模块630可以是中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),此处不做特别限定。
还需要说明的是,本发明实施例提供的网络设备的具体工作原理和工作过程,可以参照前述的方法实施例,此处不再赘述
下面举例说明本发明实施例的网络设备的工作流程:
(1)收发模块接收报文,报文进入调度模块的调度入口处,调度模块会向列表生成模块索要模块列表。
(2)列表生成模块,根据配置的策略集合,首先生成一个基础模块列表;
(3)列表生成模块,根据配置的策略集合,首先生成一个基础模块列表中的模块首先获取报文的基础信息,并且确定出这些基础信息符合哪些配置条件。
(4)报文回到调度模块,发现有新的条件符合,根据新的条件从所有配置的策略中找出可能要执行的业务。
(5)调度模块把新得到的报文信息,全部发给列表生成模块,索要更新后的模块列表。
(6)列表生成模块根据新获得的信息,及新匹配到的配置条件,以及当前处理阶段,以及可能需要执行的业务,生成新的模块列表。
(7)调度模块获得新的模块列表,然后调用新的模块列表中的数据处理模块处理报文。
(8)如果新的模块列表中的最后一个数据处理模块执行完了,也没有新的模块生成,那么调度就结束了。一般而言,最后一个数据处理模块,不是将报文发出去了,就是丢弃了。
本发明实施例提供的网络设备可兼顾不同的报文的特征信息对处理流程的影响,也兼顾当前配置的策略对处理流程的影响,减少策略执行过程中不必要的处理流程和冗余信息收集,避免多余的处理过程,提升整体性能,增加业务处理的灵活性。
图8是本发明实施例提供的另一种网络设备800的结构示意图。网络设备800可包括输入设备801、输出设备804、处理器802和存储器803。
存储器803可以包括只读存储器和随机存取存储器,并向处理器802提供指令和数据。存储器803的一部分还可以包括非易失性随机存取存储器(NVRAM)。
存储器803存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,处理器802通过调用存储器803存储的操作指令(该操作指令可存储在操作系统中),执行如下操作:
根据网络设备800上部署的至少一个业务的执行策略选择处理输入设备601接收到的报文的M个数据处理模块,并确定选择的M个数据处理模块处理所述报文的处理顺序;调用选择的M个数据处理模块依次按照所述处理顺序处理该报文,使得被调用的每一数据处理模块收集所述报文的一个维度的信息;根据收集到的该报文的所有信息对上述至少一个业务的执行策略包含的所有业务规则进行匹配,以确定出匹配成功的业务规则,并执行所述匹配成功的业务规则所对应的动作。其中,网络设备800包含N个数据处理模块,N大于等于M,且M、N均为正整数;业务的执行策略用于控制业务的运行,且每个业务的执行策略包括至少一个业务规则,每个业务规则包含条件和动作,且每个业务规则的匹配至少依赖于报文的一个维度的信息。
本发明实施例中,网络设备800在接收到报文之后,根据业务的执行策略确定需要处理该报文的数据处理模块,以及各个数据处理模块处理的执行顺序,进而使得报文不必经过每一个数据处理模块处理,进而可以减少业务执行过程中不必要的处理流程和冗余信息收集,按需控制数据处理模块功能范围,增加业务处理的灵活性,提升设备的整体性能。
处理器802控制网络设备800的操作,处理器802还可以称为CPU(Central Processing Unit,中央处理单元)。存储器803可以包括只读存储器和随机存取存储器,并向处理器802提供指令和数据。存储器803的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中,网络设备800的各个组件通过总线系统805耦合在一起,其中总线系统805除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统805。
上述本发明实施例揭示的方法可以应用于处理器802中,或者由处理器802实现。处理器802可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器802中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器802可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器803,处理器802读取存储器803中的信息,结合其硬件完成上述方法的步骤。
可选地,处理器802还可以生成用于表示所述M个数据处理模块处理所述报文的处理顺序的第一列表。
可选地,处理器802还可以根据第一列表中的前P个数据处理模块收集到的该报文的信息重新选择处理该报文的一个或多个数据处理模块,并生成用于指示所述重新选择的数据处理模块处理所述报文的顺序的第二列表,并根据第二列表指示的顺序,依次调用述第二列表中的数据处理模块处理被前P个数据处理模块处理过的报文,得到该报文至少一个维度的信息。
本发明实施例提供的网络设备在接收到报文之后,根据业务对应的执行策略动态生成处理该报文的数据处理模块的执行顺序,进而根据该顺序依次调用各个数据处理模块处理该报文,使得该报文不必经过每一个数据处理模块处理,从而可以减少业务执行过程中不必要的处理流程和冗余信息收集,增加业务处理的灵活性,提升设备的整体性能。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (11)

1.一种业务流程的控制方法,其特征在于,包括:
根据网络设备上部署的至少一个业务的执行策略选择处理所述网络设备接收到的报文的M个数据处理模块,并确定选择的M个数据处理模块处理所述报文的处理顺序;其中,所述网络设备包含N个数据处理模块,N大于等于M,且M、N均为正整数;每个业务的执行策略包括至少一个业务规则,每个业务规则包含条件和动作,且每个业务规则的匹配至少依赖于所述报文的一个维度的信息;其中,选择的所述M个数据处理模块用于收集所述报文M个维度的信息,且所述M个维度的信息包括对所述至少一个业务的执行策略包含的业务规则进行匹配所依赖的所有维度的信息;
调用选择的M个数据处理模块依次按照所述处理顺序处理所述报文,以使得被调用的每一数据处理模块收集所述报文的一个维度的信息;
根据所述M个数据处理模块收集到的所述报文的所有信息对所述至少一个业务的执行策略包含的所有业务规则进行匹配,以确定出匹配成功的业务规则,并执行所述匹配成功的业务规则所对应的动作。
2.根据权利要求1所述的方法,其特征在于,所述根据网络设备上部署的至少一个业务的执行策略选择处理所述网络设备接收到的报文的M个数据处理模块,并确定选择的M个数据处理模块处理所述报文的处理顺序,包括:
提取所述至少一个业务的执行策略中包含的所有业务规则中的条件,并确定用于判断提取出的所述条件是否满足所要依赖的所述报文的所有维度的信息;
根据确定出的所述所有维度的信息,确定要收集所述所有维度的信息所需要的M个数据处理模块;
根据所述M个数据处理模块相互之间的依赖关系,确定所述M个数据处理模块处理所述报文的处理顺序。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
生成用于表示所述M个数据处理模块处理所述报文的处理顺序的第一列表,所述第一列表包括所述M个数据处理模块的标识,且所述第一列表中的所述M个数据处理模块的标识按照确定出的所述处理顺序排列;
所述调用选择的M个数据处理模块依次按照所述处理顺序处理所述报文,包括:
依次调用所述第一列表中的前P个数据处理模块标识所对应的数据处理模块处理所述报文,得到所述报文的P个维度的信息,其中,P为正整数;
依次调用所述第一列表中所述前P个数据处理模块标识之后的M-P个数据处理模块标识所对应的数据处理模块处理所述报文,得到所述报文的至少一个维度的信息。
4.根据权利要求3所述的方法,其特征在于,在依次调用所述第一列表中的前P个数据处理模块标识所对应的数据处理模块处理所述报文,得到所述报文的P个维度的信息之后,还包括:
根据所述P个维度的信息重新选择处理所述报文的一个或多个数据处理模块,以及确定重新选择出的数据处理模块处理所述报文的处理顺序,并更新所述第一列表,以指示所述重新选择出的数据处理模块处理所述报文的处理顺序;更新后的第一列表包括所述重新选择的数据处理模块的标识,且所述重新选择的数据处理模块的标识在所述更新后的第一列表中按照所述重新选择的数据处理模块处理所述报文的顺序排列;
相应地,所述依次调用所述第一列表中所述前P个数据处理模块标识之后的M-P个数据处理模块标识所对应的数据处理模块处理所述报文,得到所述报文的至少一个维度的信息,包括:
根据所述更新后的第一列表指示的顺序,依次调用所述重新选择的数据处理模块处理所述报文,得到所述报文的至少一个维度的信息。
5.根据权利要求1或2所述的方法,其特征在于,每个业务的执行策略还包括:预先设置的配置规则,所述配置规则用于表示该业务的执行条件;
所述方法还包括:获取所述报文的特征信息,根据所述特征信息判断所述网络设备上部署的每个业务的执行条件是否满足,并将执行条件满足的业务确定为需要执行的业务;
所述根据网络设备上部署的至少一个业务的执行策略选择处理所述网络设备接收到的报文的M个数据处理模块,并确定选择的M个数据处理模块处理所述报文的处理顺序,具体包括:
根据确定出的所述需要执行的业务的执行策略,选择处理所述网络设备接收到的报文的M个数据处理模块,并确定选择的M个数据处理模块处理所述报文的处理顺序。
6.根据权利要求5所述的方法,其特征在于,所述报文的特征信息包括:
所述报文的时间戳、所述报文携带的统一资源定位符URL、所述报文的接收端的互联网协议IP地址和所述报文接收端的端口信息。
7.一种网络设备,其特征在于,包括:收发模块、列表生成模块、调度模块和N个数据处理模块,N为正整数,每一数据处理模块用于收集报文的一个维度的信息;其中:
所述收发模块,用于接收报文;
所述列表生成模块,用于根据所述网络设备上部署的至少一个业务的执行策略选择处理所述收发模块接收到的报文的M个数据处理模块,并确定选择的M个数据处理模块处理所述报文的处理顺序;M为正整数,且M不大于N;其中,每个业务的执行策略包括至少一个业务规则,每个业务规则包含条件和动作,且每个业务规则的匹配至少依赖于所述报文的一个维度的信息;其中,选择的所述M个数据处理模块用于收集所述报文M个维度的信息,且所述M个维度的信息包括对所述至少一个业务的执行策略包含的业务规则进行匹配所依赖的所有维度的信息;
所述调度模块,用于调用所述列表生成模块选择的所述M个数据处理模块依次按照所述处理顺序处理所述报文,得到所述报文的至少一个维度的信息,并根据所述至少一个维度的信息对所述至少一个业务的执行策略包含的所有业务规则进行匹配,以确定出匹配成功的业务规则,并执行所述匹配成功的业务规则所对应的动作。
8.根据权利要求7所述的网络设备,其特征在于,所述列表生成模块,包括:
提取单元,用于提取所述至少一个业务的执行策略中包含的所有业务规则中的条件,并确定用于判断提取出的所述条件是否满足所要依赖的所述报文的所有维度的信息;
选择单元,用于根据所述提取单元确定出的所述所有维度的信息,选择要收集所述所有维度的信息所需要的M个数据处理模块;
排序单元,用于根据所述选择单元选择的M个数据处理模块相互之间的依赖关系,确定所述M个数据处理模块处理所述报文的处理顺序。
9.根据权利要求7或8所述的网络设备,其特征在于,所述列表生成模块,还包括:
列表生成单元,用于生成表示所述排序单元确定出的所述M个数据处理模块处理所述报文的处理顺序的第一列表,所述第一列表包括所述M个数据处理模块的标识,且所述第一列表中的所述M个数据处理模块的标识按照所述处理顺序排列;
所述调度模块,包括:
第一调度单元,用于依次调用所述第一列表中的前P个数据处理模块标识所对应的数据处理模块处理所述报文,得到所述报文至少一个维度的信息,其中,P为正整数;
第二调度单元,用于依次调用所述第一列表中所述前P个数据处理模块标识之后的M-P个数据处理模块标识所对应的数据处理模块处理所述报文,得到所述报文至少一个维度的信息。
10.根据权利要求9所述的网络设备,其特征在于,所示列表生成模块,还用于在所述第一调度单元调用所述第一列表中的前P个数据处理模块标识所对应的数据处理模块处理所述报文,得到所述报文至少一个维度的信息之后,根据得到的所述报文至少一个维度的信息重新选择处理所述报文的一个或多个数据处理模块,以及确定重新选择出的数据处理模块处理所述报文的处理顺序,并更新所述第一列表,以指示所述重新选择出的数据处理模块处理所述报文的处理顺序;更新后的第一列表包括所述重新选择的数据处理模块的标识,且所述重新选择的数据处理模块的标识在所述更新后的第一列表中按照所述重新选择的数据处理模块处理所述报文的顺序排列;
相应地,所述第二调度单元具体用于根据所述更新后的第一列表指示的顺序,依次调用所述重新选择的数据处理模块处理所述报文,得到所述报文的至少一个维度的信息。
11.根据权利要求7或8所述的网络设备,其特征在于,每个业务的执行策略还包括:预先设置的配置规则;所述配置规则用于表示该业务的执行条件;
所述网络设备还包括:识别模块,用于获取所述报文的特征信息,根据所述特征信息判断所述网络设备上部署的每个业务的执行条件是否满足,并将执行条件满足的业务确定为需要执行的业务;
所述列表生成模块,具体用于根据所述识别模块识别出的所述需要执行的业务的执行策略,选择处理所述收发模块接收到的报文的M个数据处理模块,并确定选择的M个数据处理模块处理所述报文的处理顺序。
CN201310216184.0A 2013-06-03 2013-06-03 一种业务流程的控制方法及网络设备 Active CN103346974B (zh)

Priority Applications (13)

Application Number Priority Date Filing Date Title
CN201310216184.0A CN103346974B (zh) 2013-06-03 2013-06-03 一种业务流程的控制方法及网络设备
EP16178521.7A EP3174256B1 (en) 2013-06-03 2014-01-20 Service process control method and network device
EP14755964.5A EP2835943B1 (en) 2013-06-03 2014-01-20 Service process control method and network device
PCT/CN2014/070910 WO2014194677A1 (zh) 2013-06-03 2014-01-20 一种业务流程的控制方法及网络设备
AU2014277525A AU2014277525B2 (en) 2013-06-03 2014-01-20 Service process control method and network device
KR1020147027100A KR101562155B1 (ko) 2013-06-03 2014-01-20 서비스 프로세스 제어 방법 및 네트워크 장치
RU2015156608A RU2632152C2 (ru) 2013-06-03 2014-01-20 Сетевое устройство и способ управления процессом службы
ES14755964.5T ES2606769T3 (es) 2013-06-03 2014-01-20 Método de control de proceso de servicio y dispositivo de red
JP2015520816A JP5943331B2 (ja) 2013-06-03 2014-01-20 サービスプロセス制御方法およびネットワークデバイス
US14/557,701 US9537982B2 (en) 2013-06-03 2014-12-02 Service process control method and network device
US15/370,663 US10425510B2 (en) 2013-06-03 2016-12-06 Service process control method and network device
US16/577,117 US11233884B2 (en) 2013-06-03 2019-09-20 Service process control method and network device
US17/563,585 US11700322B2 (en) 2013-06-03 2021-12-28 Service process control method and network device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310216184.0A CN103346974B (zh) 2013-06-03 2013-06-03 一种业务流程的控制方法及网络设备

Publications (2)

Publication Number Publication Date
CN103346974A CN103346974A (zh) 2013-10-09
CN103346974B true CN103346974B (zh) 2015-04-08

Family

ID=49281749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310216184.0A Active CN103346974B (zh) 2013-06-03 2013-06-03 一种业务流程的控制方法及网络设备

Country Status (9)

Country Link
US (4) US9537982B2 (zh)
EP (2) EP2835943B1 (zh)
JP (1) JP5943331B2 (zh)
KR (1) KR101562155B1 (zh)
CN (1) CN103346974B (zh)
AU (1) AU2014277525B2 (zh)
ES (1) ES2606769T3 (zh)
RU (1) RU2632152C2 (zh)
WO (1) WO2014194677A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103346974B (zh) 2013-06-03 2015-04-08 华为技术有限公司 一种业务流程的控制方法及网络设备
CN103346980B (zh) 2013-07-02 2016-08-10 华为技术有限公司 一种业务调度方法、装置及网络设备
CN103546466B (zh) * 2013-10-15 2017-03-08 华为技术有限公司 一种多业务交互处理的方法和网络设备
CN103634146B (zh) * 2013-11-27 2017-02-22 华为技术有限公司 一种网络数据处理方法及装置
WO2015100751A1 (zh) * 2014-01-06 2015-07-09 华为技术有限公司 一种转发报文的方法和装置
CN104391932B (zh) * 2014-11-21 2018-03-02 北京京东尚科信息技术有限公司 处理业务数据的方法和系统
CN104702532B (zh) * 2015-02-11 2019-03-15 新华三技术有限公司 一种业务处理方法和设备
EP3582457B1 (en) * 2017-02-08 2022-11-09 Nippon Telegraph And Telephone Corporation Communication device and communication method
CN109032704B (zh) * 2017-06-12 2022-08-09 深圳市中兴微电子技术有限公司 一种数据处理的方法和设备
CN107454016A (zh) * 2017-09-29 2017-12-08 湖南恒茂高科股份有限公司 报文处理装置及方法
CN109802864B (zh) * 2017-11-16 2023-01-10 中兴通讯股份有限公司 芯片设计验证方法、装置及芯片测试器
CN107831842A (zh) * 2017-12-10 2018-03-23 夏烬楚 基于大数据的智能信息捕获系统
KR102125607B1 (ko) 2018-03-19 2020-06-22 최병수 인쇄회로기판 적재용 박스
KR102013066B1 (ko) 2018-04-05 2019-08-21 최병수 인쇄회로기판 적재장치
CN110830278A (zh) * 2018-08-09 2020-02-21 中兴通讯股份有限公司 一种设备配置更新方法、更新装置及计算机可读存储介质
CN109510776B (zh) * 2018-10-12 2022-07-12 新华三技术有限公司合肥分公司 流量控制方法及装置
CN111371579B (zh) * 2018-12-26 2023-04-07 中兴通讯股份有限公司 云平台部署方法、装置、服务器及存储介质
CN111274019B (zh) * 2019-12-31 2023-05-12 深圳云天励飞技术有限公司 一种数据处理方法、装置及计算机可读存储介质
JP7444434B2 (ja) 2020-01-22 2024-03-06 プラスワン株式会社 包装用容器
CN115086329A (zh) * 2022-06-06 2022-09-20 上海弘积信息科技有限公司 一种应用于负载均衡系统的报文转发处理方法
CN115695549A (zh) * 2022-10-27 2023-02-03 武汉方舟拓海科技有限公司 一种软件架构、终端设备及软件架构的应用方法

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3483485B2 (ja) * 1999-01-18 2004-01-06 富士通株式会社 インバンド型snmpアクセス方式の伝送装置
JP2001168913A (ja) * 1999-12-10 2001-06-22 Hitachi Ltd ネットワークポリシー転送方法および分散ルールベースプログラム転送方法
JP3963690B2 (ja) 2001-03-27 2007-08-22 富士通株式会社 パケット中継処理装置
US7165100B2 (en) 2001-07-24 2007-01-16 At&T Corp. Method and apparatus for packet analysis in a network
JP3802464B2 (ja) * 2002-08-14 2006-07-26 日本電信電話株式会社 通信ネットワークシステム、サービス処理制御方法、プロバイダサーバおよびサービス処理装置
US7363383B2 (en) * 2003-04-23 2008-04-22 Sun Microsytems, Inc. Running a communication protocol state machine through a packet classifier
JP4365672B2 (ja) * 2003-12-04 2009-11-18 株式会社日立製作所 パケット通信ノード装置
JP4184997B2 (ja) * 2004-03-01 2008-11-19 日本電信電話株式会社 サービス提供プラットフォーム装置およびサービス提供方法
JP4107252B2 (ja) * 2004-03-11 2008-06-25 日本電気株式会社 通信中継装置、通信中継方法、および通信中継プログラム
US20060034301A1 (en) 2004-06-04 2006-02-16 Anderson Jon J High data rate interface apparatus and method
EP1978694B1 (en) * 2004-06-04 2011-05-25 QUALCOMM Incorporated High data rate interface apparatus and method
US20050289244A1 (en) 2004-06-28 2005-12-29 Himansu Sahu Method for service chaining in a communication network
AU2007269819B2 (en) * 2006-06-30 2011-09-29 Vonage Network Llc Apparatus and system for localized multi-media communications and network
US9253274B2 (en) 2007-01-19 2016-02-02 Cisco Technology, Inc. Service insertion architecture
CN101022539B (zh) * 2007-02-15 2010-08-25 华为技术有限公司 实现业务控制的方法、系统、交互式epg和业务中间件
US20080267191A1 (en) * 2007-04-27 2008-10-30 Vonage Network Inc. Apparatus and method for multiple stage media communications
CA2690850C (en) * 2007-06-18 2014-05-13 Allot Communications Ltd. A dpi matrix allocator
US20090019121A1 (en) 2007-07-10 2009-01-15 Messagelabs Limited Message processing
US7895425B2 (en) 2007-08-03 2011-02-22 Cisco Technology, Inc. Operation, administration and maintenance (OAM) in a service insertion architecture (SIA)
CN101119321B (zh) * 2007-09-29 2010-11-03 杭州华三通信技术有限公司 网络流量分类处理方法及网络流量分类处理装置
US7990974B1 (en) * 2008-09-29 2011-08-02 Sonicwall, Inc. Packet processing on a multi-core processor
US7860100B2 (en) 2008-10-01 2010-12-28 Cisco Technology, Inc. Service path selection in a service network
CN101409885A (zh) * 2008-11-18 2009-04-15 中国移动通信集团福建有限公司 基于规则引擎的异常指标分析方法
US8442043B2 (en) 2008-12-29 2013-05-14 Cisco Technology, Inc. Service selection mechanism in service insertion architecture data plane
US20100211535A1 (en) * 2009-02-17 2010-08-19 Rosenberger Mark Elliot Methods and systems for management of data
US8348980B2 (en) * 2009-10-15 2013-01-08 Biomet C.V. Method and plate for fusing the medial column bones of the foot
JP5672558B2 (ja) 2009-12-17 2015-02-18 日本電気株式会社 ネットワークシステム、ネットワーク制御装置、及び制御方法
US8826271B2 (en) * 2010-04-28 2014-09-02 Cavium, Inc. Method and apparatus for a virtual system on chip
JP5539101B2 (ja) * 2010-08-18 2014-07-02 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
US8743885B2 (en) 2011-05-03 2014-06-03 Cisco Technology, Inc. Mobile service routing in a network environment
US8780914B2 (en) * 2011-10-17 2014-07-15 Xilinx, Inc. Parallel processing of network packets
CN102665191B (zh) * 2012-04-12 2016-07-27 华为技术有限公司 一种数据业务的策略控制方法、装置及系统
US10097452B2 (en) 2012-04-16 2018-10-09 Telefonaktiebolaget Lm Ericsson (Publ) Chaining of inline services using software defined networking
US8989192B2 (en) 2012-08-15 2015-03-24 Futurewei Technologies, Inc. Method and system for creating software defined ordered service patterns in a communications network
KR101378115B1 (ko) * 2012-11-01 2014-03-27 한국전자통신연구원 Pcre 기반 패턴 매칭 기법을 이용한 네트워크 침입 탐지 장치 및 방법
JP5813252B2 (ja) * 2012-12-03 2015-11-17 ▲ホア▼▲ウェイ▼技術有限公司 ポリシー処理方法およびネットワークデバイス
US9413667B2 (en) 2013-02-15 2016-08-09 Telefonaktiebolaget Lm Ericsson (Publ) Methods and network nodes for traffic steering based on per-flow policies
US9766322B2 (en) * 2013-03-14 2017-09-19 Ensco, Inc. Geolocation with radio-frequency ranging
US9246799B2 (en) 2013-05-10 2016-01-26 Cisco Technology, Inc. Data plane learning of bi-directional service chains
US9137161B2 (en) 2013-05-29 2015-09-15 Telefonaktiebolaget L M Ericsson (Publ) Method and system of bandwidth-aware service placement for service chaining
CN103346974B (zh) * 2013-06-03 2015-04-08 华为技术有限公司 一种业务流程的控制方法及网络设备

Also Published As

Publication number Publication date
EP2835943A1 (en) 2015-02-11
US11233884B2 (en) 2022-01-25
CN103346974A (zh) 2013-10-09
US20150085866A1 (en) 2015-03-26
US11700322B2 (en) 2023-07-11
JP2015525549A (ja) 2015-09-03
US20200106865A1 (en) 2020-04-02
KR20150016207A (ko) 2015-02-11
US20220124184A1 (en) 2022-04-21
EP3174256A1 (en) 2017-05-31
US20170085684A1 (en) 2017-03-23
KR101562155B1 (ko) 2015-10-20
EP2835943B1 (en) 2016-09-21
RU2015156608A (ru) 2017-07-14
ES2606769T3 (es) 2017-03-27
US9537982B2 (en) 2017-01-03
WO2014194677A1 (zh) 2014-12-11
JP5943331B2 (ja) 2016-07-05
US10425510B2 (en) 2019-09-24
RU2632152C2 (ru) 2017-10-02
EP2835943A4 (en) 2015-05-27
EP3174256B1 (en) 2019-06-26
AU2014277525A1 (en) 2016-01-07
AU2014277525B2 (en) 2016-06-09

Similar Documents

Publication Publication Date Title
CN103346974B (zh) 一种业务流程的控制方法及网络设备
CN111865736B (zh) 一种设备控制方法及装置
CN110061871B (zh) 基站开站方法、装置、计算机存储介质及设备
EP3082304A1 (en) Service routing method, device and system
CN111885144B (zh) 一种设备绑定方法及装置
CN112532711A (zh) 边缘计算应用部署方法、终端、边缘计算节点及存储介质
CN110460668B (zh) 一种文件上传方法、装置、计算机设备和存储介质
CN110022580B (zh) 建立承载方法及装置
CN111277599B (zh) 一种远程调用处理方法及装置
CN115102804A (zh) 车载网关的数据路由方法、装置、车载网关及存储介质
CN105009097A (zh) 消息发射装置、消息发射方法和消息发射程序
CN110351193B (zh) 一种路由更新方法及装置、计算机装置及可读存储介质
CN112929283B (zh) 数据处理方法、装置、设备及存储介质
CN102811463B (zh) 一种mme网元的负荷分担方法及装置
CN117336348A (zh) 一种应用调用方法、装置、电子装置和存储介质
CN116647861A (zh) 调度共享专网内业务保障的方法及系统
CN115913960A (zh) 一种时间敏感网络验证设备、方法、装置、系统和介质
CN114327539A (zh) 关联关系的建立方法和装置、存储介质及电子装置
CN116418849A (zh) 数据传输方法、装置、系统及电子设备
CN114884941A (zh) 针对边缘计算平台的业务处理方法、装置、系统及介质
CN117407454A (zh) 一种数据处理方法、装置、计算机设备和可读存储介质
CN117234914A (zh) Ab测试方法及系统
CN116095162A (zh) 多播通信方法、电子设备及计算机可读存储介质
CN115396524A (zh) 消息处理系统、方法、设备及存储介质
CN114257973A (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