分布式集群处理系统及其报文处理方法

文档序号:7748039阅读:195来源:国知局
专利名称:分布式集群处理系统及其报文处理方法
技术领域
本发明涉及网络技术,具体地,涉及分布式集群处理系统及其报文处理方法。
背景技术
在传统的网络拓扑中,末梢网络最为复杂,计算资源集中在企业的内部。近来,随着云计算、大型数据中心等的出现,使得企业的IT应用逐步汇聚,形成超大型的计算节点。 现有的基于单机节点的网络安全产品已经无法在云计算中心、大型数据中心、运营商骨干网上部署。在这些情况下,对于性能、功能、可靠性的要求都远远地超过了传统的安全产品的水平。运营商当前正在转型,从单一管道向智能管道转型,在这个转型过程中,要求运营商能够智能地感知管道内容,并且智能地感知业务,提供安全、QoS (Quality of Service ; 服务质量)、增值业务的服务,并在数据分析的基础上,为客户提供差异化的服务。在这种背景下,在安全与增值业务领域中产生了对分布式处理、集群处理等技术的需求。借助于分布式和集群处理,能够在单一节点处理性能无法显著提升的情况下,利用多节点堆叠,来满足云计算、数据中心和运营商对安全和增值业务的需求。图1所示为现有的采用串行处理技术的安全和增值处理系统的示意图。如图1所示,为了同时满足性能和功能的需要,目前在运营商网络、大型数据中心等节点中,普遍都采购功能单一、性能超强的安全产品,串行部署在网络出口处。由于运营商网络或大型数据中心的出口带宽在不远的将来将会达到数百(ibps 的水平,目前的解决办法就是,安全与增值业务产品都选择高性能的、功能单一的产品, 并组成图1所示的结构,其中,防火墙、VPN(Virtual Private Network,虚拟专用网络)、 DPI (Deep packet inspection,即深度报文检测)设备、URL 过滤(URL Filtering)设备、 防毒墙、负载均衡设备等产品以串联方式连接。这种方案存在的问题在于1、计算能力浪费在安全与增值业务领域,很多处理工作属于重复劳动。例如几乎每个安全与增值业务产品,都有异常报文检测机制,都会对每个报文进行分析。在串联的情况下,实际上只需要处理一次即可。但是实际上每个厂商的每个产品都会执行异常报文检测,使得在系统中重复地执行异常报文检测,造成计算资源的大量浪费,降低了处理性能。2、网络时延增加每个报文都要经历所有设备的处理,而每增加一个设备就增加一个节点,相应地,使端到端处理的时延增加,造成网络性能下降。3、单点故障增加由于各个设备是串联连接的,因此每个设备都成为单点故障点。 在对可靠性要求极高的运营商、数据中心网络的情况下,这种组网模式会带来巨大的隐患。 同时,如果采取热备份、主备份等方案,势必带来系统复杂度的急剧上升和投资成本的大幅度上升。4、在串联组网模式下,整个系统的处理性能由处理能力最低的节点决定。在串联模式下,诸如杀毒、内容安全等设备的处理能力通常只能达到传统网络防火墙的1/10左
右ο因此,在高性能计算领域,尤其是在云计算时代对系统的容量和可靠性要求极其苛刻的情况下,串联模式并不适合。本技术领域中的另一个思路是,在无法提升单个设备的处理性能的情况下,可以采用并行负荷分担的方法,将每个节点功能做得很全,利用负载分担设备,来实现端到端的高性能。图2所示为现有技术中采用负载分担技术的安全和增值处理系统的示意图。在图 2中,每个节点都是一台融合了多种安全功能的设备(在本领域中通常称为统一威胁管理 (UTM,Unified Threat Management))。在这种系统中,利用一台负载均衡器,将流量负载分担到每个设备上。这种方案存在的问题在于1、软件复杂度太高由于负载均衡器不能感知业务类型,因此其报文分发只能以流量为依据,必然要求每个负荷分担的节点的软件功能都是完整的。这样会带来一个严重的问题,即当一台设备需要完成非常多的复杂的安全和增值业务功能的时候,其性能、可靠性、稳定性都会急剧下降。众所周知,大型软件的特点是,越复杂就越难做到性能优化和可靠性优化,因此,把所有功能都集中在一个设备上,其架构本身就存在缺陷。因此,这种方案只能满足低端市场的需求,高端产品很难满足要求。2、升级复杂每个子功能的升级都会带来整个系统的升级,不利于平滑过渡扩容。3、内部功能的耦合性强由于每个设备都要完成全部安全与增值业务的功能,因此,功能模块之间互相耦合,一旦出现故障,整个系统都会受到影响。从产品工程的角度来说,也难以做到高质量和高可靠性,对运营商、数据中心这种应用场景来说,非常受限。4、功能扩展困难任何UTM产品其实都不能把所有安全与增值业务功能做全,当用户需要扩展功能的时候,几乎无法在一个厂商的设备上实现,而负荷分担的组网模式要求每个节点都必须能够完整实现全部功能。这从工程上几乎是不可能的。因此,本领域存在实现高性能处理、计算能力的复用与性能优化、网络弹性扩容、 以及业务灵活部署的需求。

发明内容
针对现有技术中存在的上述问题,本发明提出一种分布式集群处理系统及其报文处理方法,可以同时实现高性能处理、计算能力的复用与性能优化、网络弹性扩容、以及业务灵活部署。根据本发明实施例的一个方面,一种分布式集群处理系统,包括至少一个对外接口单元,多个处理单元,以及至少一个交换单元,其中,每个所述对外接口单元连接在所述多个处理单元中的相应的一个处理单元与外部网元之间,并被配置为接收来自外部网元的报文,并将接收的报文转发给与该对外接口单元直接连接的处理单元,以及将处理完毕的报文发送给所述外部网元;所述多个处理单元中的每个执行规定的业务处理,并分别与所述交换单元相连接,使得所述多个处理单元与所述交换单元组成星形拓扑结构,所述多个处理单元中的每个被配置为接收来自所述交换单元或来自所直接连接的所述对外接口单元的报文,对报文进行处理,根据会话处理策略确定下一级的业务处理并确定下一级的处理单元,并在处理后的报文附加包含关于下一级的处理单元的信息的标签并发送给所述交换单元,并且如果确认已经完成了对报文的所有处理,则将报文发送给所述至少一个对外接口单元中的一个;以及所述交换单元,用于接收来自所述多个处理单元的报文,并根据所接收的报文中所附加的包含关于下一级的处理单元的信息的标签来将报文转发给所述多个处理单元中由所述关于下一级的处理单元的信息所指定的处理单元。根据本发明的另一个实施方式,一种用于分布式集群处理系统的报文处理方法, 所述分布式集群处理系统包括至少一个对外接口单元、多个处理单元、以及至少一个交换单元,其中,所述至少一个对外接口单元的每个连接在所述多个处理单元中的相应的一个处理单元与外部网元之间;所述多个处理单元中的每个执行规定的业务处理,并分别与所述交换单元相连接,使得所述多个处理单元与所述交换单元组成星形拓扑结构;所述方法包括以下步骤第一步骤所述至少一个对外接口单元中的一个接收来自外部网元的报文并转发给与该对外接口单元直接连接的一个处理单元;第二步骤所述多个处理单元中的一个或多个接收来自所述交换单元或所直接连接的所述对外接口单元的报文,对报文进行处理,根据会话处理策略确定下一级的业务处理并确定下一级的处理单元,如果确认已经完成了对报文的所有处理,则将报文发送给所述至少一个对外接口单元中的一个,否则在处理后的报文附加包含关于下一级的处理单元的信息的标签并发送给所述交换单元,并且;第三步骤所述交换单元接收来自每个所述多个处理单元的报文,并根据所接收的报文中所附加的包含关于下一级的处理单元的信息的标签来将报文转发给所述多个处理单元中由所述关于下一级的处理单元的信息所指定的处理单元;以及第四步骤所述所述至少一个对外接口单元中的一个接收来自直接连接的处理单元报文并转发给外部网元。根据本发明的分布式集群处理系统以及报文处理方法,通过在处理单元间的逻辑组合,实现端到端的高性能,满足运营商、云计算、大型数据中心的需求。根据本发明的分布式集群处理系统以及报文处理方法,上一级处理单元处理的结果(已经建立的流表、已经识别的业务等信息)通过会话表拷贝随同报文下发给下一级的处理单元,下一级处理单元仅仅需要在前一级的基础上进行后续处理,能够极大地过滤掉无需处理的报文,降低后向复杂处理单元的报文吞吐量,提高效率避免了计算资源的浪费。根据本发明的分布式集群处理系统以及报文处理方法,通过处理单元的动态注册和注销,可以根据用户的网络发展规划,在网络升级扩容的时候,增加某一种类型的处理单元的个数增强处理性能;当业务升级扩容的时候,添加处理单元的种类,即可实现一种新的业务能力,实现业务的灵括升级和部署。


为了更清楚地说明本发明的具体实施方式
的技术方案,下面将对本发明的具体实施方式
所使用的附图作简单的说明。但是,下述附图是本发明的一些实施例,而对于本领域技术人员来说显而易见的是,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施方式。图1所示为现有的采用串行处理技术的安全和增值处理系统的示意图。图2所示为现有技术中采用负载分担技术的安全和增值处理系统的示意图。图3是根据本发明的一个实施方式的分布式集群处理系统的拓扑结构。图4是根据本发明的一个实施方式的报文结构。图5是根据本发明的一个实施方式的报文处理方法的流程图。图6是根据本发明的一个实施方式的HTTP文件下载处理的示意图。图7是用于说明根据本发明的一个实施方式的处理单元的注册(性能扩容)的示意图。图8是用于说明根据本发明的一个实施方式的处理单元的注册(功能扩展)的示意图。
具体实施例方式下面结合附图,对本发明的优选实施方式进行说明。然而,本领域技术人员应理解的是,本发明可以以不同的形式来实施,而不应该被解释为局限于本文所描述的实施例。更确切地说,提供这些实施例是使得本说明书对于本领域的技术人员来说是清楚且完整的, 并且将完全传达本发明的范围。图3是根据本发明的一个实施方式的分布式集群处理系统的拓扑结构。在图3中,分布式集群处理系统300包括第一对外接口单元30 、第二对外接口单元302b、第三对外接口单元302c、第四对外接口单元302d、第一处理单元30 、第二处理单元304b、第三处理单元3(Mc、第四处理单元304d以及交换单元306。要说明的是,图3中的对外接口单元和处理单元的数量仅是实例,本发明并不限于此。对外接口单元的数量可以大于等于1,处理单元的数量可以大于1。对外接口单元30 302d是用于将分布式集群处理系统300与其他网元相连接的接口。另外,每个对外接口单元通过对应的处理单元与交换单元306相连。比如,第一接口单元30 通过第一处理单元30 与交换单元306相连,第二接口单元302b通过第三处理单元3(Mc与交换单元306相连,第三接口单元302c通过第四处理单元304d与交换单元 306相连,第四接口单元302d通过第六处理单元304f与交换单元306相连。在分布式集群处理系统300中可以包括一个或更多个对外接口单元。对外接口单元30 302d可以是路由器的线路处理单元(LPU,Line Processing Unit),也可以是带路由功能的网关设备。每个处理单元是分布式集群处理系统的处理单元,完成规定的专门的业务处理。 专门的业务处理可以包括安全与增值业务处理。每个处理单元可以是一台独立的服务器, 也可以是路由器的一块单板、一个子卡等等。在分布式集群处理系统300中可以包括多个处理单元304a 304f。在每个处理单元30 304f中,包含第一处理单元列表,该第一处理单元列表中
9存储有关于系统中的有效的处理单元30 304f的信息,以及同一类处理单元的处理能力、数量、负载水平等信息。在完成报文处理后,处理单元30 304f要根据会话策略和自身的第一处理单元列表来确定下一级的处理单元。另外,处理单元,比如30 ,在确定将会话交给下一级的处理单元,比如304b,处理时,首先要将该处理单元30 的本地会话信息发送给所确定的下一级处理单元304b ;而下一级处理单元304b在收到来自上一级处理单元30 的会话信息时,根据该会话信息在该下一级处理单元304b的本地创建一个会话表。利用本地的会话表,处理单元304b可以获知已经对报文作过何种处理而不必在本级再进行相同的处理。交换单元306是所有处理单元的汇聚中心,可以是一个独立的交换框,也可以是路由器的交换网板。交换单元306接收来自某个处理单元的报文,并根据报文中的包含用于识别下一级处理单元的身份的令牌(以下,将识别第k处理单元304k的身份的令牌简称为“第k处理单元304k的令牌”)的标签将报文转发给下一级的处理单元。另外,当在系统中增加新的第七处理单元304g时,新增的第七处理单元304g要向交换单元306注册,交换单元306为新增的第七处理单元304g分配令牌,并且在注册成功后将有关于新增的处理单元节点的信息向其它的所有处理单元30 304f广播。另外,交换单元306还定时地对系统中的处理单元30 304f进行检测,例如, 当发现某个处理单元,比如第五处理单元3(Me失去连接时,将有关失效的处理单元3(Me的信息向其它的处理单元30 304d以及304f广播,其它的处理单元30 304d以及 304f更新自身的第一处理单元列表,将失效的处理单元3(Me从自身的第一处理单元列表中删除。另外,当在系统中增加新的第七处理单元304g时,如果新增的第七处理单元304g 与系统内既存的某个处理单元(例如第二处理单元304b)的功能相同时,交换单元306要根据同一类处理单元的节点处理能力、数量、负载水平等情况进行综合分析,为每个此类节点确定一个权重,并将有关信息提供给其它处理单元。为此,交换单元306包含第二处理单元列表,该第二处理单元列表中存储有关于系统中的有效的处理单元30 304g的信息、 以及同一类处理单元的处理能力、数量、负载水平等信息。在分布式集群处理系统300中,对外接口单元30 302d中的每个与处理单元 304a 304f中相应的一个相连接,每个处理单元30 304f与交换单元306相连接,组成星形拓扑结构。每个处理单元30 304f或者对外接口单元30 302d与交换单元 306组成点对点连接。每个处理单元30 304f仅通过交换单元306与其他处理单元交换数据。所有的处理单元30 304f都向交换单元306注册或注销,由交换单元306向所有其他处理单元广播注册和注销事件。下面说明本发明的分布式集群处理系统300的报文处理流程。在本发明的分布式集群处理系统300中,报文在系统内部的处理是以简单标签交换为核心的。所谓简单标签交换,是指发送前在报文中添加一个标签tag,在收到报文时只需要查看报文携带的tag就可以知道报文应该被发往哪里。比查路由表要简单很多,比多协议标签交换MPLS (Multi-Protocol Label Switching)的标签交换也简单,因为这个tag 定长、无特殊携带信息需要处理。当处理单元30 304f中的某个处理单元完成报文处理之后,查找报文所属的会话策略,并根据自身存储的第一处理单元列表判断下一级的处理单元(可以是一个,也可以是多个),将会话信息及有关信息附加在报文中,并将处理后的报文转发给交换单元306。一个处理单元处理完本单元的功能后,根据配置的策略,查看该会话是否需要后续处理;例如对于Telnet这种会话,防火墙处理完后,就可以决定后续不要再处理了,比如说肯定不需要送往杀毒处理单元。如果不需要后续处理,就查找路由信息,根据这个会话的目的地址决定这个会话的出接口,根据出接口找到对应的接口处理单元。报文的目的tag 就是对应这个接口处理单元的tag ;把报文发回交换单元,交换单元查看报文目的tag就知道送往接口处理单元。如果需要后续处理,就根据策略,查找到下一级的处理单元的tag,在报文前面加上该下一级处理单元的tag,发往交换单元,交换单元根据tag把报文送往下一级处理单元。当交换单元306收到报文后,把报文转发给每个目的处理单元,即下一级处理单元。每个目的处理单元在完成有关的报文处理后,查找会话处理策略,判断该会话还需要进行处理的下一个环节是什么。参照图5说明本发明的本实施例的报文处理方法。该方法包括步骤501 对外接口单元中的一个,比如第一对外接口单元30 接收来自外部网元的报文并转发给与该对外接口单元30 直接连接的一个处理单元,比如第一处理单元 304ao步骤502 处理单元30 接收来自交换单元306的报文或所直接连接的对外接口单元30 在上述步骤501中所收到的报文,对报文进行处理,根据会话处理策略确定下一级的业务处理并确定下一级的处理单元。如果确认已经完成了对报文的所有处理,则将报文发送给所述至少一个对外接口单元中的一个,否则在处理后的报文附加包含关于下一级的处理单元的信息的标签并发送给所述交换单元。步骤503 交换单元接收来自每个处理单元的报文,并根据所接收的报文中所附加的包含关于下一级的处理单元的信息的标签来将报文转发给下一级处理单元,该下一级处理单元是上一级处理单元中关于下一级处理单元的信息所指定的处理单元。步骤504 对外接口单元中的一个,比如第二对外接口单元302b,接收来自直接连接的处理单元报文并转发给外部网元。在上述步骤502中,在收到报文时,处理单元对报文进行处理,根据会话策略和第一处理单元列表来确定下一级的处理单元,将本地的会话信息经由交换单元发送给第二处理单元,并在处理后的报文中附加标签并转发给交换单元。此处,所述标签包括本级的处理单元(例如第一处理单元304a)的令牌(即源令牌)和下一级的处理单元(例如第二处理单元304b)的令牌(即目的令牌)。另外,根据下一级处理的需要,目的令牌可以是多个。 图4表示了根据本发明的一个实施方式的附加了标签的报文结构,其中示出了标签包括两个目的令牌Dest_token#l和Dest_token#2以及源令牌Source-token,但根据会话处理的需要,目的令牌也可以是一个或三个或更多个。报文处理流程有两个关键环节1、会话信息拷贝当本级的处理单元决定要把这个会话交给下一级处理单元处理的时候,首先要把自己本地的会话信息拷贝发送给下一级处理单元。下一级处理单元收到这个消息后,会根据会话信息在本地创建一个会话表。
通过会话表拷贝,前级处理过的工作(例如,报文合法性检查、流表创建等工作), 在下一级处理单元就不必再进行处理,这样就节省了下一级处理单元的计算资源,提升了整个系统的端到端处理效率。同时,由于会话的信息都有先后顺序的依赖关系,通常在处理前面几个报文的时候,还不能判断后面需要哪些单元来处理(例如收到SYN报文,并不能判断这个会话是否应该执行DPI (Deep Packet Inspection,深度报文检测)或者杀毒),而当发现需要后面处理单元处理的时候,前面的报文已经发出去了,此时,下一级处理单元就必须知道处理过的会话信息,否则下一级单元无法得到前面这些报文相关的信息,也就无法正确的处理后续的事件。2、分级调度策略前一级处理单元在完成会话处理之后,会根据业务类型和预先配置的安全与增值业务处理策略,决定下一级的处理单元。如果不需要对会话进行更进一步的处理,直接通过交换单元及与相应的对外接口单元相连接的处理单元把报文转发出去;如果同时有多个处理单元需要处理该会话,就把会话表拷贝给多个处理单元,并把报文进行组播复制,转发给后续的处理单元。下面,参照图5和图6,以HTTP文件下载会话为例对会话处理的流程进行进一步说明。图6是根据本发明的一个实施方式的HTTP文件下载处理的示意图。其中,以第一处理单元30 完成防火墙处理、第二处理单元304b完成DPI处理、而第三处理单元3(Mc完成杀毒处理为例进行说明。在步骤501,第一对外接口单元30 接收到来自外部网元的报文并转发给第一处理单元304a。接着,在步骤502,第一处理单元30 接收到报文并执行以下操作对接收到的报文完成防火墙处理,建立流表,查找ACL (访问控制列表;Access Control List)访问控制策略,以及建立会话表。由于第一处理单元30 是最初的处理单元,因此此时第一处理单元30 的会话表中只包含第一处理单元30 的会话处理信息(建立流表、查找ACL策略); 如果处理后允许放行且需要DPI处理,则查找自身存储的第一处理单元列表,确定下一个环节所涉及的第二处理单元304b的令牌,将包含作为目的令牌的第二处理单元304b的令牌的标签和作为源令牌的第一处理单元30 的令牌的标签附加在处理后的报文中;将会话表和附加了标签的报文转发给交换单元306。接着,在步骤503,交换单元306收到来自第一处理单元30 的会话表和报文,检查其中的下一级处理单元的信息(即第二处理单元304b),并将第一处理单元30 的会话表和报文发送给第二处理单元304b。处理流程返回到步骤502。在步骤502 第二处理单元304b接收到来自交换单元306的会话表和报文,并执行以下操作检查收到的来自第一处理单元30 的会话表(包含建立流表、查找ACL策略等信息);根据接收到的会话表,确定无需再执行建立流表和查找ACL策略等操作。因此, 第二处理单元304b直接进行业务类型识别,根据业务类型查找QoS (Quality of Service, 服务质量)策略并执行策略;建立第二处理单元304b的本地会话表。此时,第二处理单元 304b的本地会话表包含建立流表、查找ACL策略、业务类型识别、QoS策略等信息。第二处理单元304b检查文档类型是否感染病毒。如果需要杀毒,则确定下一级处理为杀毒处理, 并查找第二处理单元304b自身的第一处理单元列表,确定下一个杀毒环节所涉及的第三
12处理单元3(Mc的令牌,将包含作为目的令牌的第三处理单元3(Mc的令牌的标签和作为源令牌的第二处理单元304b的令牌的标签附加在处理后的报文中;将第二处理单元304b的本地会话表和附加了标签的报文转发给交换单元306。处理流程返回到步骤503。接着,在步骤503 交换单元306收到来自第二处理单元304b的会话表和报文,检查其中的下一级处理单元的信息(即第三处理单元3(Mc),并将第二处理单元304b的本地会话表和报文发送给第三处理单元3(Mc。处理流程返回到步骤502。接着,在步骤502 第三处理单元3(Mc接收到来自交换单元306的会话表和报文, 并执行以下操作检查收到的来自第二处理单元304b的会话表。该来自第二处理单元304b 的会话表包含建立流表、查找ACL策略、业务类型识别、QoS策略等信息。根据接收到的会话表,第三处理单元3(Mc确定无需再执行建立流表、查找ACL策略、业务类型识别、QoS策略等操作,因此,第三处理单元3(Mc直接进行应用层的协议还原、杀毒的操作;建立第三处理单元3(Mc本地的会话表。此时,第三处理单元3(Mc本地会话表包含建立流表、查找ACL 策略、业务类型识别、QoS策略、文档类型、扫描结果等信息。第三处理单元3(Mc确定报文已完成了全部处理,将包含作为目的令牌的第四处理单元304d的令牌的标签和作为源令牌的第三处理单元3(Mc的令牌的标签附加在处理后的报文中;将第三处理单元3(Mc本地的会话表和附加了标签的报文转发给交换单元306。由于第三处理单元3(Mc处理完本单元的功能后,根据配置的策略,确定该会话不需要后续处理,就查找路由信息,根据这个会话的目的地址决定这个会话的出接口,根据出接口找到对应的对外接口单元,比如第三对外接口单元302c。报文的目的tag就是对应第三对外接口单元302c的tag ;第三处理单元 304c把报文发回交换单元306,交换单元306查看报文目的tag就知道送往第三对外接口单元302c ;如果需要后续处理,那就根据策略,查找到下一级的处理单元的tag,在报文前面加上该tag,发往交换单元,交换单元根据tag把报文送往下一级处理单元。处理流程再次返回到步骤503。在步骤503 交换单元306收到来自第三处理单元3(Mc的会话表和报文,检查其中的下一级处理单元的信息,根据报文中的tag发现该报文应该经由第四处理单元304d发给第三对外接口单元302c,交换单元306将会话表和报文发送给第四处理单元304d。处理流程再次返回到步骤502。在步骤502 第四处理单元304d检查会话表,确认报文已完成所有处理,将报文路由转发给该路由对应的对外接口单元,即第三对外接口单元302c。在步骤504 第三对外接口单元302c将报文转发至外部网元。下面说明处理单元的注册和注销过程。当需要进行性能扩容的时候,对于处理能力不足的处理单元,例如执行杀毒的处理单元,可以增加具有相同功能的处理单元的节点数量。另外,当需要进行功能扩展的时候,需要新增某种新的处理单元,例如安全审计、内容过滤设备的处理单元,这种类型的设备在之前的分布式集群系统300里面并不存在。在上述情况下,增加的处理单元节点向交换单元注册,交换单元为其分配节点令牌ID。注册成功后,由交换单元向所有其他单元进行广播,告知新增加的节点。在增加具有相同功能的处理单元的情况下,交换单元会根据同一类处理单元的节点处理能力、数量、负载水平等情况进行综合分析,为每个此类节点确定一个权重,并将有关信息提供给其它处理单元。这样,当上一级的处理单元确定要由多个功能相同的处理单元来执行下一级的处理时,可以根据有关权重信息把会话均勻的负载分担到这些处理单元,从而实现了整个系统的性能、容量的扩容处理。图7是用于说明根据本发明的一个实施方式的处理单元的注册,即性能扩容的示意图。图8是用于说明根据本发明的一个实施方式的处理单元的注册(功能扩展)的示意图。当需要进行性能扩容的时候,对于处理能力不足的处理单元,即例如用于杀毒的处理单元,可以增加同类功能的处理单元的节点数量。下面参照图7说明性能扩容情况下的注册过程。首先,向系统中增加新的第七处理单元304g。第七处理单元304g将自己的设备类型、处理能力等通知交换单元306并向交换单元306注册,并申请令牌。第七处理单元304g 从交换单元306获取系统内其他处理单元的类型、能力、令牌ID等信息,建立自己的第一处理单元列表。其次,交换单元306向所有已注册的处理单元30 304f广播第七处理单元 304g的设备类型、处理能力、令牌ID等,其他处理单元30 304f记录该新的第七处理单元304g。另外,交换单元306对第二处理单元304b和第七处理单元304g的处理能力、负载水平等,进行综合分析并对第二处理单元304b和第七处理单元304g分配权重,并将有关权重信息广播给其它的处理单元,以便于其它的处理单元在将会话发送给这种处理单元时根据权重进行均勻的负载分担,满足扩容要求。另外,原有的第一至第六处理单元30 304f更新自身存储的第一处理单元列表。在需要进行功能扩展的情况下,需要新增某一种新的处理单元,例如安全审计、内容过滤设备,这种类型的设备在之前的分布式集群系统里面并不存在。下面说明功能扩展的情况下的注册流程。首先,在根据用户的规划,需要增加一个具有新的功能的处理单元,例如,内容过滤系统,的情况下,由于在目前的系统中不存在能够完成内容过滤功能的处理单元,为此, 增加一个新的支持内容过滤的第七处理单元304g’。在此情况下,第七处理单元304g’将自己的设备类型、处理能力等通知交换单元306并向交换单元306注册,并申请令牌。另外, 第七处理单元304g’从交换单元306获取系统内其他处理单元的类型、能力、令牌ID等信息,建立自己的第一处理单元列表。其次,交换单元306向所有已注册的处理单元30 304f广播第七处理单元 304g,的设备类型、处理能力、令牌ID等,其他处理单元30 304f记录该新的第七处理单元304g,。另外,原有的第一至第六处理单元30 304f更新自身存储的第一处理单元列表,并更新会话处理策略,设置需要进行内容过滤的会话的类型和自己的处理能力。另外,在从系统中删除某个处理单元(例如第五处理单元304e)节点的情况下,要被删除的第五处理单元3(Me向包括交换单元306在内的其他所有单元广播自身的注销信息,其他单元将第五处理单元304d的信息从各自的处理单元列表中删除。此外,交换单元306还定时地对系统中的所有的处理单元306a 306f进行检测,当发现某个处理单元(例如第五处理单元3(Me)已经失去连接时,向系统中其余的处理单元广播第五处理单元3(Me单元已经失效的信息,其他单元将第五处理单元3(Me的信息从各自的第一处理单元列表中删除,并根据第五处理单元3(Me的功能来更新所述会话处理策略。另外,当所删除的第五处理单元3(Me是功能相同的多个处理单元中的一个时,交换单元306还要重新计算权重并向系统中的其他处理单元广播。应说明的是,以上实施方式和实施例仅是出于说明本发明的技术方案的目的而给出的,而本发明并不限于此。尽管参照前述的实施方式和实施例对本发明进行了详细的说明,但本领域技术人员应当理解的是,可以对前述各个实施方式和实施例所记载的技术方案进行各种修改、或对其中的部分技术特征进行各种等同替换;而进行了这些修改或替换的相应的技术方案在本质上并不脱离本发明所记载的各个实施方式和实施例的技术方案的精神和范围。
权利要求
1.一种分布式集群处理系统,包括至少一个对外接口单元,多个处理单元,以及至少一个交换单元,其中,每个所述对外接口单元连接在所述多个处理单元中的相应的一个处理单元与外部网元之间,并被配置为接收来自外部网元的报文,并将接收的报文转发给与该对外接口单元直接连接的处理单元,以及将处理完毕的报文发送给所述外部网元;所述多个处理单元中的每个被配置为执行规定的业务处理,并分别与所述交换单元相连接,使得所述多个处理单元与所述交换单元组成星形拓扑结构;所述多个处理单元中的每个还被配置为接收来自所述交换单元或来自所直接连接的所述对外接口单元的报文,对报文进行处理,根据会话处理策略确定下一级的业务处理并确定下一级的处理单元,并在处理后的报文附加包含关于下一级的处理单元的信息的标签并发送给所述交换单元,并且如果确认已经完成了对报文的所有处理,则将报文发送给所述至少一个对外接口单元中的一个;所述交换单元,用于接收来自所述多个处理单元的报文,并根据所接收的报文中所附加的包含关于下一级的处理单元的信息的标签来将报文转发给所述多个处理单元中由所述关于下一级的处理单元的信息所指定的处理单元。
2.如权利要求1所述的分布式集群处理系统,其中,所述包含关于下一级的处理单元的信息的标签包括表示下一级处理单元的身份的目的令牌,和表示本级处理单元的身份的源令牌。
3.如权利要求2所述的分布式集群处理系统,其中,所述目的令牌的数量可以是一个或更多个。
4.如权利要求1所述的分布式集群处理系统,其中,所述多个处理单元中的每个还被配置为当从接收到报文时建立包含关于该处理单元已经执行了的处理的信息的本地会话表,在接收到了与报文相关的来自上一级处理单元的会话表的情况下,不再重复执行所接收到得会话表中所记载的处理,并且还将所述来自上一级处理单元的会话表中的信息复制在本地会话表中。
5.如权利要求1所述的分布式集群处理系统,其中,所述交换单元还被配置为,包含第二处理单元列表,该第二处理单元列表存储有关于系统中的每个处理单元的信息、以及同一功能的处理单元的权重信息;所述多个处理单元中的每个还被配置为包含第一处理单元列表,该第一处理单元列表存储有关于系统中的其它处理单元的信息、以及同一功能的处理单元的权重信息,并且根据该处理单元的第一处理单元列表来确定下一级的处理单元。
6.如权利要求5所述的分布式集群处理系统,其中,所述交换单元还被配置为,当在所述分布式集群处理系统中增加新的处理单元时,接收来自所述新的处理单元的注册信息和令牌申请,向所述新的处理单元分配令牌,向所述分布式集群处理系统内的其它所述处理单元广播关于新的处理单元的所述注册信息和令牌,并将所述分布式集群处理系统内的其它所述处理单元的注册信息和令牌提供给新的处理单元。
7.如权利要求6所述的分布式集群处理系统,其中,所述交换单元还被配置为,当所述新的处理单元的功能与所述多个处理单元中的一个或更多个处理单元相同时,所述交换单元根据同一功能的处理单元的处理能力、数量以及负载水平的信息进行综合分析并针对所述同一功能的处理单元中的每个给出权重,并将所述权重向其它的处理单元广播。
8.如权利要求6所述的分布式集群处理系统,其中,所述处理单元的每个还被配置为,当接收到来自所述交换单元的关于新的处理单元的注册信息和令牌时,根据所述新的处理单元的功能来更新所述会话处理策略。
9.如权利要求5所述的分布式集群处理系统,其中,所述交换单元还被配置为对所述分布式集群处理系统中的各个所述处理单元定时地进行检查,当从所述分布式集群处理系统中删除某个处理单元、或在检查时发现某个处理单元失去连接时,向所述分布式集群处理系统中其余的处理单元广播所述失去连接的处理单元已经失效的信息,其他单元将所述失效的处理单元的信息从各自的第一处理单元列表中删除,并根据所述失效的处理单元的功能来更新所述会话处理策略。
10.如权利要求9所述的分布式集群处理系统,其中,当所述失效的处理单元属于所述多个处理单元中同一功能的多个处理单元时,所述交换单元还根据删除后同一功能的处理单元的处理能力、数量以及负载水平的信息进行综合分析并针对所述同一功能的处理单元中的每个给出权重,并将所述权重向其它的处理单元广播。
11.如权利要求1所述的分布式集群处理系统,其中,所述至少一个对外接口单元是路由器的线路处理单元或带路由功能的网关设备,所述多个处理单元是独立的服务器、路由器的单板或子卡,所述交换单元是独立的交换框或路由器的交换网板。
12.一种用于分布式集群处理系统的报文处理方法,所述分布式集群处理系统包括至少一个对外接口单元、多个处理单元、以及至少一个交换单元,其中,所述至少一个对外接口单元的每个连接在所述多个处理单元中的相应的一个处理单元与外部网元之间;所述多个处理单元中的每个执行规定的业务处理,并分别与所述交换单元相连接,使得所述多个处理单元与所述交换单元组成星形拓扑结构;所述方法包括以下步骤第一步骤所述至少一个对外接口单元中的一个接收来自外部网元的报文并转发给与该对外接口单元直接连接的一个处理单元;第二步骤所述多个处理单元中的一个或多个接收来自所述交换单元或所直接连接的所述对外接口单元的报文,对报文进行处理,根据会话处理策略确定下一级的业务处理并确定下一级的处理单元,如果确认已经完成了对报文的所有处理,则将报文发送给所述至少一个对外接口单元中的一个,否则在处理后的报文附加包含关于下一级的处理单元的信息的标签并发送给所述交换单元,并且;第三步骤所述交换单元接收来自每个所述多个处理单元的报文,并根据所接收的报文中所附加的包含关于下一级的处理单元的信息的标签来将报文转发给所述多个处理单元中由所述关于下一级的处理单元的信息所指定的处理单元;以及第四步骤所述所述至少一个对外接口单元中的一个接收来自直接连接的处理单元报文并转发给外部网元。
13.如权利要求12所述的方法,其中,所述包含关于下一级的处理单元的信息的标签包括表示下一级的处理单元的身份的目的令牌和表示本级的处理单元的身份的源令牌。
14.如权利要求13所述的分布式集群处理系统,其中,所述目的令牌的数量可以是一个或更多个。
15.如权利要求12所述的方法,其中,在所述第二步骤中,所述处理单元在从接收到报文时建立包含关于该处理单元已经执行了的处理的信息的本地会话表,在接收到了与报文相关的来自上一级的处理单元的会话表的情况下,不再重复执行所接收到得会话表中所记载的处理,并且还将所述来自上一级的处理单元的会话表中的信息复制在本地会话表中。
16.如权利要求12所述的方法,其中,所述交换单元将所述分布式集群处理系统中的每个处理单元的信息、以及同一功能的处理单元的权重信息储存在所述交换单元中的第二处理单元列表中;所述多个处理单元的每个将关于所述分布式集群处理系统中的其它处理单元的信息、 以及同一功能的处理单元的权重信息储存在各自的第一处理单元列表中,并且在所述第四步骤中,所述多个处理单元的每个根据各自的第一处理单元列表来确定下一级的处理单元。
17.如权利要求16所述的方法,还包括以下步骤第五步骤当在系统中增加新的处理单元时,所述交换单元接收来自所述新的处理单元的注册信息和令牌申请,向所述新的处理单元分配令牌,向所述系统内的其它所述处理单元广播关于新的处理单元的所述注册信息和令牌,并将所述系统内的其它所述处理单元的注册信息和令牌提供给新的处理单元。
18.如权利要求17所述的方法,其中,在所述第五步骤中,当所述新的处理单元的功能与所述多个处理单元中的一个或更多个处理单元相同时,所述交换单元根据同一功能的处理单元的处理能力、数量以及负载水平的信息进行综合分析并针对所述同一功能的处理单元中的每个给出权重,并将所述权重向其它的处理单元广播。
19.如权利要求17所述的方法,其中,在所述第五步骤中,当接收到来自所述交换单元的关于新的处理单元的注册信息和令牌时,所述处理单元的每个根据所述新的处理单元的功能来更新所述会话处理策略。
20.如权利要求16所述的方法,还包括以下步骤第六步骤所述交换单元还对系统中的各个所述处理单元定时地进行检查,当从所述分布式集群处理系统中删除某个处理单元、或在检查时发现某个处理单元失去连接时,向所述分布式集群处理系统中其余的处理单元广播所述失去连接的处理单元已经失效的信息,其他处理单元将所述失效的处理单元的信息从各自的第一处理单元列表中删除,并根据所述失效的处理单元的功能来更新所述会话处理策略。
21.如权利要求20所述的方法,其中,在所述第六步骤中,当所述失效的处理单元属于所述多个处理单元中同一功能的多个处理单元时,所述交换单元还根据删除后同一功能的处理单元的处理能力、数量以及负载水平的信息进行综合分析并针对所述同一功能的处理单元中的每个给出权重,并将所述权重向其它的处理单元广播。
22.如权利要求12-21中任一所述的方法,其中,所述至少一个对外接口单元的每个是路由器的线路处理单元或带路由功能的网关设备,所述多个处理单元的每个是独立的服务器、路由器的单板或子卡,所述交换单元是独立的交换框或路由器的交换网板。
全文摘要
本发明提供一种分布式集群处理系统及其报文处理方法。所述分布式集群处理系统包括至少一个对外接口单元,多个处理单元,以及交换单元,其中,至少一个外部接口单元的每个连接在多个处理单元中的相应的一个与外部网元之间,并被配置为接收来自外部网元的报文并转发给所直接连接的多个处理单元中的相应的一个以及将处理完毕的报文发送给外部网元;多个处理单元的每个执行规定的业务处理,并分别与交换单元相连接,使得多个处理单元与交换单元组成星形拓扑结构。根据本发明的分布式集群处理系统及其报文处理方法,通过处理单元间的逻辑组合,可以实现端到端的高性能,满足运营商、云计算、大型数据中心的需求。
文档编号H04L12/56GK102291455SQ20111022867
公开日2011年12月21日 申请日期2011年8月10日 优先权日2011年8月10日
发明者付天福 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1