一种控制器故障备份方法和系统与流程

文档序号:18373380发布日期:2019-08-07 01:54阅读:217来源:国知局
一种控制器故障备份方法和系统与流程

本发明涉及控制领域,尤其涉及一种控制器故障备份方法和系统。



背景技术:

SDN控制器是SDN的核心系统组件,一旦出现问题,如果未能及时处理,则会无法及时响应新的业务需求,引起拥堵,乃至瘫痪。目前解决办法是在父域设立主、备控制器,并通过父域控制器实现对子域控制器的备份保护,但此种方式也存在以下问题:

父域主、备控制器一般人为预先指定,但当指定的主、备控制器同时故障,则网络无法自动应对,造成网络瘫痪;

另外,由于控制器性能限制,并不是所有的控制器都能作为备份,硬性备份,不仅会降低对原有控制子域内业务的响应能力,同时限制故障子域内业务处理;

当故障范围较大时,并没有优先考虑等级较高业务的响应,降低客户感知。



技术实现要素:

本发明要解决的技术问题是现有控制器故障时,网络安全性和可靠性差。

根据本发明一方面,提出一种控制器故障备份方法,包括:

当主控制器和备用控制器正常时,将故障控制器的优先级从大到小进行排序,并核定各故障控制器的当前处理能力;

将正常控制器的冗余处理能力从大到小进行排序,并根据排序后的正常控制器依次接管排序后的故障控制器。

进一步,判断冗余处理能力最大的正常控制器处理能力是否大于优先级最高的故障控制器当前处理能力,若是,所述冗余处理能力最大的正常控制器接管所述优先级最高的故障控制器的交换机,所述优先级最高的故障控制器备份处理结束,并重新对正常控制器冗余处理能力排序,开始第二优先级的故障控制器备份处理,直到接管完所有的故障控制器;

否则,所述冗余处理能力最大的正常控制器接管所述优先级最高的故障控制器的部分交换机,冗余处理能力第二大的正常控制器接管优先级最高的故障控制器的剩余交换机,依次类推,直到接管完优先级最高的故障控制器的交换机完成备份处理,并重新对正常控制器冗余处理能力排序,开始第二优先级的故障控制器备份处理,直到接管完所有的故障控制器。

进一步,如果冗余处理能力最小的正常控制器处理能力小于故障控制器当前处理能力,所述正常控制器接管故障控制器的部分交换机,备份处理结束。

进一步,判断主控制器是否故障,若是,则判断备用控制器是否正常,若是,则将所述备用控制器修改为主控制器,将其它正常控制器中冗余处理能力最大的控制器修改为备用控制器,否则,将其它正常控制器中冗余处理能力最大的控制器修改为主控制器,冗余处理能力第二大的控制器修改为备用控制器;

如果所述主控制器正常,但备用控制器故障,则其它正常控制器中冗余处理能力最大的控制器修改为备用控制器。

进一步,主控制器定期维护日常维护信息表,并将所述日常维护信息表发给其它各个控制器,其它各个控制器将涉及本域主控制器和备用控制器的信息发给所属交换机;

其中,所述日常维护信息表的内容包括控制器类型、状态、地址信息、优先级、核定处理能力、当前处理能力、所属交换机信息和/或交换机类型。

进一步,当主控制器正常时,故障控制器的交换机会将业务请求发送给主控制器,主控制器将收到的交换机信息与日常维护信息表中控制器所属的交换机信息进行匹配,判断出故障控制器,或者,主控制器通过判断与该控制器不连接确定该控制器故障;

当主控制器故障而备用控制器正常时,主控制器所属交换机会将业务请求发送给备用控制器,所述备用控制器根据所收到的交换机信息,通过日常维护信息表中各个控制器所属交换机信息判断主控制器故障,或者,备用控制器通过判断与各个其它控制器的连接关系确定主控制器故障;或者

其它控制器在没有收到主控制器和备用控制器消息时,则按照日常维护信息表相互进行连接申请,如果连接正常,则可确认主控制器和备用控制器故障。

进一步,当主控制器判断故障控制器恢复正常,则将该故障控制器信息下发给各个控制器,各个控制器通过查看自己内部的托管信息,判断是否有该控制器业务,如果有,则将信息发送给该控制器,并重构所有信息。

根据本发明的另一方面,还提出一种控制器故障备份方法,包括:

判断主控制器是否故障,若是,则判断备用控制器是否正常,若是,则将所述备用控制器修改为主控制器,将其它正常控制器中冗余处理能力最大的控制器修改为备用控制器,否则,将其它正常控制器中冗余处理能力最大的控制器修改为主控制器,冗余处理能力第二大的控制器修改为备用控制器;

如果所述主控制器正常,但备用控制器故障,则其它正常控制器中冗余处理能力最大的控制器修改为备用控制器。

进一步,当主控制器和备用控制器正常时,将故障控制器的优先级从大到小进行排序,并核定各故障控制器的当前处理能力;

将正常控制器的冗余处理能力从大到小进行排序,并根据排序后的正常控制器依次接管排序后的故障控制器。

进一步,判断冗余处理能力最大的正常控制器处理能力是否大于优先级最高的故障控制器当前处理能力,若是,所述冗余处理能力最大的正常控制器接管所述优先级最高的故障控制器的交换机,所述优先级最高的故障控制器备份处理结束,并重新对正常控制器冗余处理能力排序,开始第二优先级的故障控制器备份处理,直到接管完所有的故障控制器;

否则,所述冗余处理能力最大的正常控制器接管所述优先级最高的故障控制器的部分交换机,冗余处理能力第二大的正常控制器接管优先级最高的故障控制器的剩余交换机,依次类推,直到接管完优先级最高的故障控制器的交换机完成备份处理,并重新对正常控制器冗余处理能力排序,开始第二优先级的故障控制器备份处理,直到接管完所有的故障控制器。

进一步,如果冗余处理能力最小的正常控制器处理能力小于故障控制器当前处理能力,所述正常控制器接管故障控制器的部分交换机,备份处理结束。

进一步,主控制器定期维护日常维护信息表,并将所述日常维护信息表发给其它各个控制器,其它各个控制器将涉及本域主控制器和备用控制器的信息发给所属交换机;

其中,所述日常维护信息表的内容包括控制器类型、状态、地址信息、优先级、核定处理能力、当前处理能力、所属交换机信息和/或交换机类型。

进一步,当主控制器正常时,故障控制器的交换机会将业务请求发送给主控制器,主控制器将收到的交换机信息与日常维护信息表中控制器所属的交换机信息进行匹配,判断出故障控制器,或者,主控制器通过判断与该控制器不连接确定该控制器故障;

当主控制器故障而备用控制器正常时,主控制器所属交换机会将业务请求发送给备用控制器,所述备用控制器根据所收到的交换机信息,通过日常维护信息表中各个控制器所属交换机信息判断主控制器故障,或者,备用控制器通过判断与各个其它控制器的连接关系确定主控制器故障;或者

其它控制器在没有收到主控制器和备用控制器消息时,则按照日常维护信息表相互进行连接申请,如果连接正常,则可确认主控制器和备用控制器故障。

进一步,当主控制器判断故障控制器恢复正常,则将该故障控制器信息下发给各个控制器,各个控制器通过查看自己内部的托管信息,判断是否有该控制器业务,如果有,则将信息发送给该控制器,并重构所有信息。

根据本发明的另一方面,还提出一种控制器故障备份系统,包括:

故障恢复优先级排序模块,用于当主控制器和备用控制器正常时,将故障控制器的优先级从大到小进行排序,并核定各故障控制器的当前处理能力;

故障处理模块,用于将正常控制器的冗余处理能力从大到小进行排序,并根据排序后的正常控制器依次接管排序后的故障控制器。

进一步,所述故障处理模块用于判断冗余处理能力最大的正常控制器处理能力是否大于优先级最高的故障控制器当前处理能力,若是,所述冗余处理能力最大的正常控制器接管所述优先级最高的故障控制器的交换机,所述优先级最高的故障控制器备份处理结束,并重新对正常控制器冗余处理能力排序,开始第二优先级的故障控制器备份处理,直到接管完所有的故障控制器;

否则,所述冗余处理能力最大的正常控制器接管所述优先级最高的故障控制器的部分交换机,冗余处理能力第二大的正常控制器接管优先级最高的故障控制器的剩余交换机,依次类推,直到接管完优先级最高的故障控制器的交换机完成备份处理,并重新对正常控制器冗余处理能力排序,开始第二优先级的故障控制器备份处理,直到接管完所有的故障控制器。

进一步,所述故障处理模块用于如果冗余处理能力最小的正常控制器处理能力小于故障控制器当前处理能力,所述正常控制器接管故障控制器的部分交换机,备份处理结束。

进一步,故障判断模块,用于判断主控制器和/或备用控制器是否故障;

故障分析模块,用于如果主控制器故障而备用控制器正常,则将所述备用控制器修改为主控制器,将其它正常控制器中冗余处理能力最大的控制器修改为备用控制器;如果主控制器和备用控制器都故障,则将其它正常控制器中冗余处理能力最大的控制器修改为主控制器,冗余处理能力第二大的控制器修改为备用控制器;如果所述主控制器正常,但备用控制器故障,则其它正常控制器中冗余处理能力最大的控制器修改为备用控制器。

进一步,信息维护模块,用于主控制器定期维护日常维护信息表,并将所述日常维护信息表发给其它各个控制器,其它各个控制器将涉及本域主控制器和备用控制器的信息发给所属交换机;

其中,所述日常维护信息表的内容包括控制器类型、状态、地址信息、优先级、核定处理能力、当前处理能力、所属交换机信息和/或交换机类型。

进一步,所述故障判断模块用于当主控制器正常时,故障控制器的交换机会将业务请求发送给主控制器,主控制器将收到的交换机信息与日常维护信息表中控制器所属的交换机信息进行匹配,判断出故障控制器,或者,主控制器通过判断与该控制器不连接确定该控制器故障;

当主控制器故障而备用控制器正常时,主控制器所属交换机会将业务请求发送给备用控制器,所述备用控制器根据所收到的交换机信息,通过日常维护信息表中各个控制器所属交换机信息判断主控制器故障,或者,备用控制器通过判断与各个其它控制器的连接关系确定主控制器故障;或者

其它控制器在没有收到主控制器和备用控制器消息时,则按照日常维护信息表相互进行连接申请,如果连接正常,则可确认主控制器和备用控制器故障。

进一步,故障恢复模块,用于当主控制器判断故障控制器恢复正常,则将该故障控制器信息下发给各个控制器,各个控制器通过查看自己内部的托管信息,判断是否有该控制器业务,如果有,则将信息发送给该控制器,并重构所有信息。

根据本发明的另一方面,还提出一种控制器故障备份系统,包括:

故障判断模块,用于判断主控制器和/或备用控制器是否故障;

故障分析模块,用于如果主控制器故障而备用控制器正常,则将所述备用控制器修改为主控制器,将其它正常控制器中冗余处理能力最大的控制器修改为备用控制器;如果主控制器和备用控制器都故障,则将其它正常控制器中冗余处理能力最大的控制器修改为主控制器,冗余处理能力第二大的控制器修改为备用控制器;如果所述主控制器正常,但备用控制器故障,则其它正常控制器中冗余处理能力最大的控制器修改为备用控制器。

进一步,故障恢复优先级排序模块,用于当主控制器和备用控制器正常时,将故障控制器的优先级从大到小进行排序,并核定各故障控制器的当前处理能力;

故障处理模块,用于将正常控制器的冗余处理能力从大到小进行排序,并根据排序后的正常控制器依次接管排序后的故障控制器。

进一步,所述故障处理模块用于判断冗余处理能力最大的正常控制器处理能力是否大于优先级最高的故障控制器当前处理能力,若是,所述冗余处理能力最大的正常控制器接管所述优先级最高的故障控制器的交换机,所述优先级最高的故障控制器备份处理结束,并重新对正常控制器冗余处理能力排序,开始第二优先级的故障控制器备份处理,直到接管完所有的故障控制器;

否则,所述冗余处理能力最大的正常控制器接管所述优先级最高的故障控制器的部分交换机,冗余处理能力第二大的正常控制器接管优先级最高的故障控制器的剩余交换机,依次类推,直到接管完优先级最高的故障控制器的交换机完成备份处理,并重新对正常控制器冗余处理能力排序,开始第二优先级的故障控制器备份处理,直到接管完所有的故障控制器。

进一步,所述故障处理模块用于如果冗余处理能力最小的正常控制器处理能力小于故障控制器当前处理能力,所述正常控制器接管故障控制器的部分交换机,备份处理结束。

进一步,信息维护模块,用于主控制器定期维护日常维护信息表,并将所述日常维护信息表发给其它各个控制器,其它各个控制器将涉及本域主控制器和备用控制器的信息发给所属交换机;

其中,所述日常维护信息表的内容包括控制器类型、状态、地址信息、优先级、核定处理能力、当前处理能力、所属交换机信息和/或交换机类型。

进一步,所述故障判断模块用于当主控制器正常时,故障控制器的交换机会将业务请求发送给主控制器,主控制器将收到的交换机信息与日常维护信息表中控制器所属的交换机信息进行匹配,判断出故障控制器,或者,主控制器通过判断与该控制器不连接确定该控制器故障;

当主控制器故障而备用控制器正常时,主控制器所属交换机会将业务请求发送给备用控制器,所述备用控制器根据所收到的交换机信息,通过日常维护信息表中各个控制器所属交换机信息判断主控制器故障,或者,备用控制器通过判断与各个其它控制器的连接关系确定主控制器故障;或者

其它控制器在没有收到主控制器和备用控制器消息时,则按照日常维护信息表相互进行连接申请,如果连接正常,则可确认主控制器和备用控制器故障。

进一步,故障恢复模块,用于当主控制器判断故障控制器恢复正常,则将该故障控制器信息下发给各个控制器,各个控制器通过查看自己内部的托管信息,判断是否有该控制器业务,如果有,则将信息发送给该控制器,并重构所有信息。

本发明中,当主控制器和备用控制器正常时,将故障控制器的优先级从大到小进行排序,并核定各故障控制器的当前处理能力;将正常控制器的冗余处理能力从大到小进行排序,并根据排序后的正常控制器依次接管排序后的故障控制器。因此,能够优先保障高等级网络业务响应,给客户提供差异化服务,提升客户感知,进而提升了网络安全性和可靠性。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

构成说明书的一部分的附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:

图1为本发明控制器故障备份方法的一个实施例的流程示意图。

图2为本发明控制器故障备份方法的另一个实施例的流程示意图。

图3为本发明控制器故障备份系统的一个实施例的结构示意图。

图4为本发明控制器组成的网络的一个实施例的结构图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

图1为本发明控制器故障备份方法的一个实施例的流程示意图。该方法包括以下步骤:

在步骤110,当主控制器和备用控制器正常时,将故障控制器的优先级从大到小进行排序,并核定各故障控制器的当前处理能力。

在步骤120,将正常控制器的冗余处理能力从大到小进行排序。

其中,冗余处理能力为控制器设计处理能力减去已使用的处理能力。

在步骤130,根据排序后的正常控制器依次接管排序后的故障控制器。

其中,判断冗余处理能力最大的正常控制器处理能力是否大于优先级最高的故障控制器当前处理能力,若是,所述冗余处理能力最大的正常控制器接管所述优先级最高的故障控制器的交换机,所述优先级最高的故障控制器备份处理结束,并重新对正常控制器冗余处理能力排序,开始第二优先级的故障控制器备份处理,直到接管完所有的故障控制器。

否则,所述冗余处理能力最大的正常控制器接管所述优先级最高的故障控制器的部分交换机,冗余处理能力第二大的正常控制器接管优先级最高的故障控制器的剩余交换机,依次类推,直到接管完优先级最高的故障控制器的交换机完成备份处理,并重新对正常控制器冗余处理能力排序,开始第二优先级的故障控制器备份处理,直到接管完所有的故障控制器。

如果处理到最后,冗余处理能力最小的正常控制器处理能力小于故障控制器当前处理能力,所述正常控制器接管故障控制器的部分交换机,备份处理结束。

在该实施例中,当主控制器和备用控制器正常时,将故障控制器的优先级从大到小进行排序,并核定各故障控制器的当前处理能力;将正常控制器的冗余处理能力从大到小进行排序,并根据排序后的正常控制器依次接管排序后的故障控制器。因此,能够按照故障优先级,处理能力,优先保障高等级网络业务响应,给客户提供差异化服务,提升客户感知,进而提升了网络安全性和可靠性。

另外,为了使故障控制器所属交换机尽量备份至尽可能少的域,因此采取了将其分配至处理能力冗余度最大的控制器内,减少跨域计算的出现。如果出现原为一个域,但备份后变为跨域计算的情况时,也可按照托管信息,查找出同域的节点信息,从而使其尽可能限定在原来同一个故障控制器管理的域内完成,较少信息交互量。

图2为本发明控制器故障备份方法的另一个实施例的流程示意图。

在步骤210,判断主控制器是否故障,若是,则执行步骤220,否则,执行步骤230。

在步骤220,判断备用控制器是否正常,若是,则执行步骤240,否则,执行步骤250。

在步骤230,判断备用控制器是否故障,若是,则执行步骤260,否则,执行步骤210。

在步骤240,将所述备用控制器修改为主控制器,将其它正常控制器中冗余处理能力最大的控制器修改为备用控制器。

在步骤250,将其它正常控制器中冗余处理能力最大的控制器修改为主控制器,冗余处理能力第二大的控制器修改为备用控制器。

在步骤260,其它正常控制器中冗余处理能力最大的控制器修改为备用控制器。

上述判断过程为循环操作,即实时监控主、备用控制器是否故障。如果判断出主控制器和备用控制器都正常,而其它控制器出现故障时,则继续执行步骤110,即根据故障控制器的优先级,优先保障高等级网络业务响应。

在该实施例中,采用灵活的控制器备份方案,自动推选主、备用控制器,保证全网同时存在主用控制器和备用控制器,减少主备控制器同时故障导致全网信息丢失和网络瘫痪的概率,进一步提升了网络安全性和可靠性。

本发明的另一个实施例,主控制器定期维护日常维护信息表,并将所述日常维护信息表发给其它各个控制器,其它各个控制器将涉及本域主控制器和备用控制器的信息发给所属交换机。

其中,所述日常维护信息表的内容包括控制器类型、状态、地址信息、优先级、核定处理能力、当前处理能力、所属交换机信息和/或交换机类型,如下表所示:

如果设定为本地,则指本控制器控制范围,具体指每个控制器控制的交换机的详细信息。如果设置为主控制器,则指所属交换机故障时联系的主控制器地址。主控制器完成故障判断和故障发生时备用控制器分配;如果设置为备用控制器,指主控制器的备用控制器,也是本子域内交换机联系的第二备用地址;如果设置为其它,则指其它控制器内管理范围。

状态信息,指各控制器运行状态;地址信息指各控制器地址;优先级,指所属子域业务处理优先级;核定处理能力,指各个控制器设计处理能力;当前处理能力,指各个控制器当前已使用的处理能力;所属交换机信息,指各个控制器控制的交换机地址;交换机类型如果设置为本域,指原来本域的交换机(本域或托管),如果设置为托管,则指为其他域管理的交换机。

当主控制器正常时,故障控制器的交换机会将业务请求发送给主控制器,主控制器将收到的交换机信息与日常维护信息表中控制器所属的交换机信息进行匹配,判断出故障控制器,或者,主控制器通过判断与该控制器不连接确定该控制器故障。

当主控制器故障而备用控制器正常时,主控制器所属交换机会将业务请求发送给备用控制器,所述备用控制器根据所收到的交换机信息,通过日常维护信息表中各个控制器所属交换机信息判断主控制器故障,或者,备用控制器通过判断与各个其它控制器的连接关系确定主控制器故障。或者

其它控制器在没有收到主控制器和备用控制器消息时,则按照日常维护信息表相互进行连接申请,如果连接正常,则可确认主控制器和备用控制器故障。

在该实施例中,通过设置日常维护信息表,主控制器定期维护,并将表发给其它控制器。其它控制器将涉及本域主、备用控制器信息发给所属交换机,各控制器根据日常维护信息表,能够判断出故障控制器。

本发明的另一个实施例,当主控制器判断故障控制器恢复正常,则将该故障控制器信息下发给各个控制器,各个控制器通过查看自己内部的托管信息,判断是否有该控制器业务,如果有,则将信息发送给该控制器,并重构所有信息。

例如,故障控制器C恢复正常,此时主控制器向所有控制器通知控制器C正常,各个控制器查看自己的信息表,此时某个控制器发现在自身信息表中,有控制器C的托管交换机,因此通过主控制器直接涉及控制器C的交换机交还控制器C管理,然后再更新信息表。

在该实施例中,当故障控制器故障结束时,主控制器通过日常维护信息表中的交换机托管关系将故障期间的网络资源和业务建立信息重新同步至其它控制器,进一步,提升了网络安全性和可靠性。并且,本发明对现网设备的影响很小,很容易在现网部署。

本发明还提供了一种控制器故障备份方法,即对应图2的流程,通过该方法实施例,采用灵活的控制器备份方案,自动推选主、备用控制器,保证全网同时存在主用控制器和备用控制器,减少主备控制器同时故障导致全网信息丢失和网络瘫痪的概率,进一步提升了网络安全性和可靠性。具体流程如图2所示,在此不再详细说明。

上述判断过程为循环操作,即实时监控主、备用控制器是否故障。如果判断出主控制器和备用控制器都正常,而其它控制器出现故障时,则继续执行图1的流程,即根据故障控制器的优先级,优先保障高等级网络业务响应。具体流程如图1所示,在此不再详细说明。

在该实施例中,当主控制器和备用控制器正常时,将故障控制器的优先级从大到小进行排序,并核定各故障控制器的当前处理能力;将正常控制器的冗余处理能力从大到小进行排序,并根据排序后的正常控制器依次接管排序后的故障控制器。因此,能够按照故障优先级,处理能力,优先保障高等级网络业务响应,给客户提供差异化服务,提升客户感知,进而提升了网络安全性和可靠性。

另外,为了使故障控制器所属交换机尽量备份至尽可能少的域,因此采取了将其分配至处理能力冗余度最大的控制器内,减少跨域计算的出现。如果出现原为一个域,但备份后变为跨域计算的情况时,也可按照托管信息,查找出同域的节点信息,从而使其尽可能限定在原来同一个故障控制器管理的域内完成,较少信息交互量。

其中,主控制器定期维护日常维护信息表,并将所述日常维护信息表发给其它各个控制器,其它各个控制器将涉及本域主控制器和备用控制器的信息发给所属交换机。通过设置日常维护信息表,主控制器定期维护,并将表发给其它控制器。其它控制器将涉及本域主、备用控制器信息发给所属交换机,各控制器根据日常维护信息表,能够判断出故障控制器。

如果主控制器和备用控制器都正常,其它控制器出现故障,则根据故障控制器的优先级,优先保障高等级网络业务响应,给客户提供差异化服务,提升客户感知,进而提升了网络安全性和可靠性。

当故障控制器故障结束时,主控制器通过日常维护信息表中的交换机托管关系将故障期间的网络资源和业务建立信息重新同步至其它控制器,进一步,提升了网络安全性和可靠性。并且,本发明对现网设备的影响很小,很容易在现网部署。

该实施例的具体操作过程均在以上各个实施例中予以体现,此处不再做详细说明。

图3为本发明控制器故障备份系统的一个实施例的结构示意图。该系统包括故障恢复优先级排序模块310和故障处理模块320,其中:

故障恢复优先级排序模块310,用于当主控制器和备用控制器正常时,将故障控制器的优先级从大到小进行排序,并核定各故障控制器的当前处理能力。

故障处理模块320,用于将正常控制器的冗余处理能力从大到小进行排序,并根据排序后的正常控制器依次接管排序后的故障控制器。

其中,冗余处理能力为控制器设计处理能力减去已使用的处理能力。

所述故障处理模块320用于判断冗余处理能力最大的正常控制器处理能力是否大于优先级最高的故障控制器当前处理能力,若是,所述冗余处理能力最大的正常控制器接管所述优先级最高的故障控制器的交换机,所述优先级最高的故障控制器备份处理结束,并重新对正常控制器冗余处理能力排序,开始第二优先级的故障控制器备份处理,直到接管完所有的故障控制器。

否则,所述冗余处理能力最大的正常控制器接管所述优先级最高的故障控制器的部分交换机,冗余处理能力第二大的正常控制器接管优先级最高的故障控制器的剩余交换机,依次类推,直到接管完优先级最高的故障控制器的交换机完成备份处理,并重新对正常控制器冗余处理能力排序,开始第二优先级的故障控制器备份处理,直到接管完所有的故障控制器。

如果处理到最后,冗余处理能力最小的正常控制器处理能力小于故障控制器当前处理能力,所述正常控制器接管故障控制器的部分交换机,备份处理结束。

在该实施例中,当主控制器和备用控制器正常时,将故障控制器的优先级从大到小进行排序,并核定各故障控制器的当前处理能力;将正常控制器的冗余处理能力从大到小进行排序,并根据排序后的正常控制器依次接管排序后的故障控制器。因此,能够按照故障优先级,处理能力,优先保障高等级网络业务响应,给客户提供差异化服务,提升客户感知,进而提升了网络安全性和可靠性。

另外,为了使故障控制器所属交换机尽量备份至尽可能少的域,因此采取了将其分配至处理能力冗余度最大的备用控制器内,减少跨域计算的出现。如果出现原为一个域,但备份后变为跨域计算的情况时,也可按照托管信息,查找出同域的节点信息,从而使其尽可能限定在原来同一个故障控制器管理的域内完成,较少信息交互量。

本发明的另一个实施例,本系统还包括故障判断模块330和故障分析模块340。其中:

故障判断模块330,用于判断主控制器和/或备用控制器是否故障。

故障分析模块340,用于如果主控制器故障而备用控制器正常,则将所述备用控制器修改为主控制器,将其它正常控制器中冗余处理能力最大的控制器修改为备用控制器;如果主控制器和备用控制器都故障,则将其它正常控制器中冗余处理能力最大的控制器修改为主控制器,冗余处理能力第二大的控制器修改为备用控制器;如果所述主控制器正常,但备用控制器故障,则其它正常控制器中冗余处理能力最大的控制器修改为备用控制器。

在该实施例中,采用灵活的控制器备份方案,自动推选主、备用控制器,减少主备控制器同时故障导致全网信息丢失和网络瘫痪的概率,进一步提升了网络安全性和可靠性。

本发明的另一个实施例,本系统还包括信息维护模块350,用于主控制器定期维护日常维护信息表,并将所述日常维护信息表发给其它各个控制器,其它各个控制器将涉及本域主控制器和备用控制器的信息发给所属交换机。

其中,所述日常维护信息表的内容包括控制器类型、状态、地址信息、优先级、核定处理能力、当前处理能力、所属交换机信息和/或交换机类型,如下表所示:

如果设定为本地,则指本控制器控制范围,具体指每个控制器控制的交换机的详细信息。如果设置为主控制器,则指所属交换机故障时联系的主控制器地址。主控制器完成故障判断和故障发生时备用控制器分配;如果设置为备用控制器,指主控制器的备用控制器,也是本子域内交换机联系的第二备用地址;如果设置为其它,则指其它控制器内管理范围。

状态信息,指各控制器运行状态;地址信息指各控制器地址;优先级,指所属子域业务处理优先级;核定处理能力,指各个控制器设计处理能力;当前处理能力,指各个控制器当前已使用的处理能力;所属交换机信息,指各个控制器控制的交换机地址;交换机类型如果设置为本域,指原来本域的交换机(本域或托管),如果设置为托管,则指为其他域管理的交换机。

信息维护模块350完成日常维护信息表的维护,及时与主控制器的信息互通,确保信息的准确性和及时性。

当主控制器正常时,故障控制器的交换机会将业务请求发送给主控制器,主控制器将收到的交换机信息与日常维护信息表中控制器所属的交换机信息进行匹配,判断出故障控制器,或者,主控制器通过判断与该控制器不连接确定该控制器故障。

当主控制器故障而备用控制器正常时,主控制器所属交换机会将业务请求发送给备用控制器,所述备用控制器根据所收到的交换机信息,通过日常维护信息表中各个控制器所属交换机信息判断主控制器故障,或者,备用控制器通过判断与各个其它控制器的连接关系确定主控制器故障。或者

其它控制器在没有收到主控制器和备用控制器消息时,则按照日常维护信息表相互进行连接申请,如果连接正常,则可确认主控制器和备用控制器故障。

在该实施例中,通过设置日常维护信息表,主控制器定期维护,并将表发给其它控制器。其它控制器将涉及本域主、备用控制器信息发给所属交换机,各控制器根据日常维护信息表,能够判断出故障控制器。

本发明的另一个实施例,该系统还包括故障恢复模块360,用于当主控制器判断故障控制器恢复正常,则将该故障控制器信息下发给各个控制器,各个控制器通过查看自己内部的托管信息,判断是否有该控制器业务,如果有,则将信息发送给该控制器,并重构所有信息。

例如,故障控制器C恢复正常,此时主控制器向所有控制器通知控制器C正常,各个控制器查看自己的信息表,此时某个控制器发现在自身信息表中,有控制器C的托管交换机,因此通过主控制器直接涉及控制器C的交换机交还控制器C管理,然后再更新信息表。

在该实施例中,当故障控制器故障结束时,主控制器通过日常维护信息表中的交换机托管关系将故障期间的网络资源和业务建立信息重新同步至其它控制器,进一步,提升了网络安全性和可靠性。并且,本发明对现网设备的影响很小,很容易在现网部署。

本发明还提供了一种控制器故障备份系统,该系统实施例可以如图3所示。在该系统中,故障判断模块330和故障分析模块340自动推选主、备用控制器,保证全网同时存在主用控制器和备用控制器,减少主备控制器同时故障导致全网信息丢失和网络瘫痪的概率,进一步提升了网络安全性和可靠性。具体实施例如上所述,在此不再详细说明。

上述判断过程为循环操作,即实时监控主、备用控制器是否故障。如果判断出主控制器和备用控制器都正常,而其它控制器出现故障时,则继续根据故障控制器的优先级,优先保障高等级网络业务响应。具体实施例如上所述,在此不再详细说明。

在该实施例中,当主控制器和备用控制器正常时,将故障控制器的优先级从大到小进行排序,并核定各故障控制器的当前处理能力;将正常控制器的冗余处理能力从大到小进行排序,并根据排序后的正常控制器依次接管排序后的故障控制器。因此,能够按照故障优先级,处理能力,优先保障高等级网络业务响应,给客户提供差异化服务,提升客户感知,进而提升了网络安全性和可靠性。

另外,为了使故障控制器所属交换机尽量备份至尽可能少的域,因此采取了将其分配至处理能力冗余度最大的控制器内,减少跨域计算的出现。如果出现原为一个域,但备份后变为跨域计算的情况时,也可按照托管信息,查找出同域的节点信息,从而使其尽可能限定在原来同一个故障控制器管理的域内完成,较少信息交互量。

其中,信息维护模块350用于主控制器定期维护日常维护信息表,并将所述日常维护信息表发给其它各个控制器,其它各个控制器将涉及本域主控制器和备用控制器的信息发给所属交换机。通过设置日常维护信息表,主控制器定期维护,并将表发给其它控制器。其它控制器将涉及本域主、备用控制器信息发给所属交换机,各控制器根据日常维护信息表,能够判断出故障控制器。

如果主控制器和备用控制器都正常,其它控制器出现故障,则故障处理模块320根据故障恢复优先级排序模块310对故障控制器的优先级排序,优先保障高等级网络业务响应,给客户提供差异化服务,提升客户感知,进而提升了网络安全性和可靠性。

当故障控制器故障结束时,故障恢复模块360用于主控制器通过日常维护信息表中的交换机托管关系将故障期间的网络资源和业务建立信息重新同步至其它控制器,进一步,提升了网络安全性和可靠性。并且,本发明对现网设备的影响很小,很容易在现网部署。

该实施例的具体操作过程均在以上各个实施例中予以体现,此处不再做详细说明。

下面将以一个具体实施例,对本发明做进一步介绍。

如图4所示,在控制器A-F组成的网络中,其中控制器A被推选为主控制器,控制器B被推选为备用控制器,则在各个控制器中日常维护信息表分别为以下内容:

1)、控制器A(主):

2)、控制器B(备用)

3)、控制器C

4)、控制器D

5)、控制器E

6)、控制器F

当主控制器和备用主控制器正常,其它控制器故障时,主控制器首先恢复优先级高的故障控制器,获取其当前处理能力;主控制器通过状态正常的所有控制器核定处理能力和当前处理能力,获得各备选控制器冗余处理能力;并将冗余处理能力最大的控制器与故障控制器当前处理能力比较匹配,获取备份控制器列表,并将备份控制器地址发给故障控制器子域所属交换机,完成接管。

如控制器C/D/F同时故障,先比较优先级,发现控制器优先级D>C>F,则先考虑备份控制器D。

1)控制器D的备份

控制器A为10,B为15,E为10,按照冗余备份能力将准备做备份的控制器排列为:B/A/E,即优先考虑B为备份控制器。

而此时故障控制器的当前处理能力分别为:D为8,因此具备备份方案为:B接管D中的8个交换机,因此D的备份处理结束。

此时,控制器B的信息变为:

2)控制器C的备份

为了准备对控制器C的备份,可以发现此时控制器冗余备份能力为A为10,B为7,E为10,按照冗余备份能力将准备做备份的控制器排列为:A/E/B,即优先考虑A为备份控制器。

而此时故障控制器的当前处理能力分别为:C为15,因此备份方案为:A接管C中的10个交换机,E接管C中的5个交换机,此控制器C的备份处理结束。

此时控制器A和E的信息变为:

控制器A信息为:

控制器E信息为:

3)控制器F的备份

为了准备对控制器F的备份,可以发现此时控制器冗余备份能力为E为5,B为7,此时故障控制器F的当前处理能力为6,因此B接管F中的6个交换机,此控制器F的备份处理结束。

此时控制器B信息为:

当主控制器和备用控制器同时故障时,其它各控制器相互交互核定和当前处理能力,冗余度最大的控制器宣布自身为主控制器,此时,经过选举结束后的主控制器重构日常维护信息表,宣布除自身外的冗余处理能力最大的为备用控制器,并获取备份控制器,备份过程如上所述。

当故障控制器故障结束时,主控制器通过日常维护信息表中的交换机托管关系将故障期间的网络资源和业务建立信息重新同步至其它控制器。如故障控制器C恢复正常,此时主控制器向所有控制器通知控制器C正常,各个控制器查看自己的日常维护信息表,此时控制器A和E发现在自身信息表中,有控制器C的托管交换机,因此通过主控制器直接涉及控制器C的交换机交还控制器C管理,然后再更新信息表。

至此,已经详细描述了本发明。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

可能以许多方式来实现本发明的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。

虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1