掌桥专利:专业的专利平台
掌桥专利
首页

网络设备系统的容错方法、装置、计算机设备和存储介质

文献发布时间:2023-06-19 09:38:30


网络设备系统的容错方法、装置、计算机设备和存储介质

技术领域

本申请涉及计算机通信技术领域,特别是涉及一种网络设备系统的容错方法、装置、计算机设备和存储介质。

背景技术

计算机通信技术是计算机技术和通信技术相结合而形成的一种新的通讯方式,可以满足数据传输的需要,将具有独立功能的计算机终端和硬件设备如路由器、交换机等用通信链路连接起来,以实现通信过程中的资源共享。现有的网络设备系统中控制器与交换机之间的通信,主要是由交换机直接向控制器上报链路变化状态信息,控制器在接收到链路变化状态信息后向交换机回复确认信息,再将链路变化状态信息下发给其他受影响的交换机。这种直接的通信方式鲁棒性不强,面对异常通信情况如数据错误、网络故障或者恶意攻击时容易发生错误,网络设备系统的容错能力低。

发明内容

基于此,有必要针对上述技术问题,提供一种能够有效提高网络设备系统的容错能力的网络设备系统的容错方法、装置和计算机设备。

第一方面,提供了一种网络设备系统,所述网络设备系统包括源交换机、第一交换机组、第二交换机组、主控制器和辅控制器;

所述源交换机在链路状态发生变化时,获取链路状态变化信息,向所述主控制器发送所述链路状态变化信息,并从所述第一交换机组或所述第二交换机组中随机选取交换机,并向所述源交换机选取的交换机发送所述链路状态变化信息的副本,所述第一交换机组为链路状态发生变化的影响范围外的各交换机,所述第二交换机组为链路状态发生变化的影响范围内的各交换机;

所述主控制器接收所述链路状态变化信息,根据所述链路状态变化信息判定链路状态有更新时,将所述链路状态变化信息转发给所述第二交换机组;

所述源交换机选取的交换机获取所述链路状态变化信息的副本,并将所述链路状态变化信息的副本发送给所述辅控制器;

所述辅控制器接收所述源交换机选取的交换机发送的所述链路状态变化信息的副本,并从所述第一交换机组中随机选取交换机,将所述链路状态变化信息的副本通过所述辅控制器选取的交换机发送给所述第二交换机组;

所述第二交换机组获取所述主控制器发送的所述链路状态变化信息,以及获取所述辅控制器选取的交换机转发的所述链路状态变化信息的副本;根据所述链路状态变化信息或所述链路状态变化信息的副本更新本地路由表,并向所述主控制器发送更新了本地路由表后的确认信息;

所述主控制器接收所述第二交换机组更新了本地路由表后的确认信息,并向所述源交换机发送确认信息;

所述源交换机接收所述主控制器发送的所述确认信息。

第二方面,提供了一种网络设备系统的容错方法,应用于源交换机,所述方法包括:

在链路状态发生变化时,获取链路状态变化信息;

向主控制器发送所述链路状态变化信息,并从第一交换机组或第二交换机组中随机选取交换机,并向所述源交换机选取的交换机发送所述链路状态变化信息的副本,由所述主控制器将所述链路变化状态信息转发给第二交换机组,由所述源交换机选取的交换机将所述链路状态变化信息的副本发送给辅控制器,由所述辅控制器将链路状态变化信息的副本发送给所述第二交换机组,所述第一交换机组为链路状态发生变化的影响范围外的各交换机,所述第二交换机组为链路状态发生变化的影响范围内的各交换机;

接收所述主控制器发送的所述第二交换机组根据所述链路变化状态信息或所述链路变化状态信息的副本更新了本地路由表后的确认信息。

在其中一个实施例中,所述由所述源交换机选取的交换机将所述链路状态变化信息的副本发送给辅控制器,由所述辅控制器将链路状态变化信息的副本发送给所述第二交换机组,包括:

所述源交换机选取的交换机将所述链路状态变化信息的副本发送给辅控制器;

由所述辅控制器从所述第一交换机组中随机选取交换机,并将所述链路状态变化信息的副本发送给所述辅控制器选取的交换机;

由所述辅控制器选取的交换机将所述链路状态变化信息的副本发送给所述第二交换机组。

在其中一个实施例中,在所述向主控制器发送所述链路状态变化信息之后,还包括:

启动源交换机定时器;

在所述源交换机定时器的定时范围内,接收所述主控制器发送的所述第二交换机组根据所述链路变化状态信息或所述链路变化状态信息的副本更新了本地路由表后的确认信息;

当超过所述源交换机定时器的定时范围未接收到所述主控制器的确认信息时,返回向所述主控制器发送所述链路状态变化信息的步骤。

第三方面,提供了一种网络设备系统的容错方法,应用于主控制器,所述方法包括:

接收源交换机发送的链路变化状态信息;

根据所述链路状态变化信息判定链路状态有更新时,将所述链路状态变化信息转发给第二交换机组,所述第二交换机组为链路状态发生变化的影响范围内的各交换机;

获取所述第二交换机组根据所述链路状态变化信息以及由所述辅控制器选取的交换机发送的所述链路状态变化信息的副本更新了本地路由表后的确认信息,并向所述源交换机发送确认信息。

在其中一个实施例中,在所述根据所述链路状态变化信息判定链路状态有更新时,将所述链路状态变化信息转发给第二交换机组之后,还包括:

启动主控制器定时器;

在所述主控制器定时器的定时范围内,获取所述第二交换机组根据所述链路状态变化信息以及由所述源交换机选取的交换机发送的所述链路状态变化信息的副本更新了本地路由表后的确认信息,并向所述源交换机发送确认信息;

当超过所述主控制器定时器的定时范围未获取到所述第二交换机组的确认信息时,不执行向所述源交换机发送确认信息的步骤。

第四方面,提供了一种网络设备系统的容错装置,应用于源交换机,所述装置包括:

链路状态变化信息获取模块,用于在链路状态发生变化时,获取链路状态变化信息;

链路状态变化信息发送模块,用于向主控制器发送所述链路状态变化信息,并从第一交换机组或第二交换机组中随机选取交换机,并向所述源交换机选取的交换机发送所述链路状态变化信息的副本,由所述主控制器将所述链路变化状态信息转发给第二交换机组,由所述源交换机选取的交换机将所述链路状态变化信息的副本发送给辅控制器,由所述辅控制器将链路状态变化信息的副本发送给所述第二交换机组,所述第一交换机组为链路状态发生变化的影响范围外的各交换机,所述第二交换机组为链路状态发生变化的影响范围内的各交换机;

确认信息接收模块,用于接收所述主控制器发送的所述第二交换机组根据所述链路变化状态信息或所述链路变化状态信息的副本更新了本地路由表后的确认信息。

第五方面,提供了一种网络设备系统的容错装置,应用于主控制器,所述装置包括:

链路变化状态信息接收模块,用于接收源交换机发送的链路变化状态信息;

链路变化状态信息转发模块,用于根据所述链路状态变化信息判定链路状态有更新时,将所述链路状态变化信息转发给第二交换机组,所述第二交换机组为链路状态发生变化的影响范围内的各交换机;

确认信息获取模块,用于获取所述第二交换机组根据所述链路状态变化信息以及由所述辅控制器选取的交换机发送的所述链路状态变化信息的副本更新了本地路由表后的确认信息,并向所述源交换机发送确认信息。

第六方面,提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述第二方面或者第三方面任一所述的网络设备系统的容错方法。

第七方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第二方面或者第三方面任一所述的网络设备系统的容错方法。

上述网络设备系统的容错方法、装置、计算机设备和存储介质,当链路状态发生变化时,源交换机获取链路状态变化信息;向主控制器发送链路状态变化信息,并从第一交换机组或第二交换机组中随机选取交换机,向选取的交换机发送链路状态变化信息的副本,由选取的交换机将链路状态变化信息的副本发送给辅控制器,再由主控制器将链路变化状态信息转发给第二交换机组,由辅控制器将链路状态变化信息的副本发送给第二交换机组;而后,源交换机接收主控制器发送的第二交换机组更新了本地路由表后的确认信息。本申请实施例中,交换机向控制器上报链路状态变化信息,控制器在接收链路状态变化信息后,除了直接转发给第二交换机,还会选择其他交换机进行转发。通过控制器和交换机之间冗余的信息传输方法,能够有效提高网络设备系统的容错能力。

附图说明

图1为一个实施例中网络设备系统的应用环境图;

图2为一个实施例中网络设备系统信息传输的流程示意图;

图3为一个实施例中网络设备系统的容错方法的流程示意图;

图4为一个实施例中辅控制器与第二交换机组信息传输的流程示意图;

图5为一个实施例中源交换机与主控制器信息传输的流程示意图;

图6为另一个实施例中网络设备系统的容错方法的流程示意图;

图7为另一个实施例中主控制器与第二交换机组信息传输的流程示意图;

图8为一个具体实施例中源交换机与主控制器信息传输的示意图;

图9为一个具体实施例中源交换机与辅控制器信息传输的示意图;

图10为一个具体实施例中主控制器与第二交换机组信息传输的示意图;

图11为一个具体实施例中辅控制器与第二交换机组信息传输的示意图;

图12为一个实施例中网络设备系统的容错装置的结构框图;

图13为另一个实施例中网络设备系统的容错装置的结构框图;

图14为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的网络设备系统的容错方法,可以应用于如图1所示的应用环境中。其中,交换机组102通过网络与控制器组104进行通信。交换机组102由各交换机组成,控制器组104由各控制器组成。例如,交换机组102由源交换机1021、第一交换机组1022和第二交换机组1023组成,控制器组104由主控制器1041和辅控制器1042组成。

需要说明的是,源交换机1021是一个获取链路状态变化信息的交换机,并不是一个特定的交换机,交换机组102中任意一个交换机都可能作为源交换机1021。第一交换机组1022是链路状态变化影响范围外的各交换机,根据网络设备系统的具体连接方式,可能存在一个或多个。第二交换机组1023是链路状态变化影响范围内的交换机,根据网络设备系统的具体连接方式,可能存在一个或多个。主控制器1041是一个接收和转发链路状态变化信息的控制器,并不是一个特定的控制器,控制器组104中任意一个控制器都可能作为主控制器1041。辅控制器1042是接收和转发链路状态变化信息的副本的控制器,由于控制器组104中的各控制器均部署了选举协议,如Raft协议,因此,辅控制器至少有三个。

源交换机1021在链路状态发生变化时,获取链路状态变化信息发送给主控制器1041,并在第一交换机组1022或第二交换机组1023中随机选取交换机,向选取的交换机发送链路状态变化信息的副本,由选取的交换机将链路变化状态信息的副本发送给辅控制器1041;辅控制器1041接收链路状态变化信息的副本后,在第一交换机组1022中随机选取交换机,再由该选取的交换机将链路状态变化信息的副本发送给第二交换机组1023;主控制器1041接收链路状态变化信息后判定链路状态有更新时,将链路状态变化信息发送给第二交换机组1023;第二交换机组1023根据链路状态变化信息和链路状态变化信息的副本更新本地路由表后,向主控制器1041发送更新了本地路由表后的确认信息;主控制器1041接收第二交换机组1023发送的确认信息后,向源交换机1021发送确认信息;源交换机1021接收由主控制器1041发送的确认信息。

第一方面,在其中一个实施例中,如图2所示,提供了一种网络设备系统,该网络设备系统包括源交换机、第一交换机组、第二交换机组、主控制器和辅控制器,该网络设备系统的信息传输过程如下:

步骤S202,源交换机在链路状态发生变化时,获取链路状态变化信息,向主控制器发送链路状态变化信息,并从第一交换机组或第二交换机组中随机选取交换机,并向源交换机选取的交换机发送链路状态变化信息的副本,第一交换机组为链路状态发生变化的影响范围外的各交换机,第二交换机组为链路状态发生变化的影响范围内的各交换机。

在其中一个实施例中,交换机和控制器通过物理链路进行连接,交换机是一种用于信息传输的网络设备,控制器是一种可以完成协调和指挥整个计算机系统的网络设备。

在其中一个实施例中,交换机可以分为源交换机、第一交换机组和第二交换机组。其中,源交换机是可以检测到链路状态变化的交换机,并不是一个特定的交换机,任意一个交换机都可能作为源交换机,源交换机只有一个。在链路状态发生变化时,影响范围外的各交换机组成第一交换机组,第一交换机组中交换机的个数由交换机和控制器所在网络设备系统的具体连接方式决定。在链路状态发生变化时,影响范围内的各受影响的交换机组成第二交换机组,第二交换机组中交换机的个数同样由交换机和控制器所在网络设备系统的具体连接方式决定。

在其中一个实施例中,控制器可以分为主控制器和辅控制器。其中,能够获取并转发链路状态变化信息的控制器称为主控制器,主控制器并不是一个特定的控制器,任意一个控制器都可能作为主控制器,主控制器只有一个。能够获取并转发链路状态变化信息的副本的控制器称为辅控制器。每个控制器均部署了选举协议,如Raft协议,因此,辅控制器至少有三个。

在其中一个实施例中,网络设备系统中的每个交换机都预先配置了控制器的静态地址,通过网络建立了到主控制器的长期双向可靠传输连接通道,例如通过传输控制协议(Transmission Control Protocol,TCP)发送和接收信息,该通道称为主信道。

在其中一个实施例中,当链路状态发生变化时,源交换机检测到链路状态变化后,获取链路状态变化信息(LS Message),并且,每一个链路状态变化信息具有一个唯一的升序ID。例如,ID是一个0-1000的整型数,每一个新的链路状态变化信息的ID是上一个链路状态变化信息的ID加1,每次递增对1000取模,即取该ID取除以1000后的余数。

具体地,源交换机在链路状态发生变化时,获取链路状态变化信息,通过主信道将链路状态变化信息发送给主控制器,并从第一交换机组或第二交换机组中随机选取交换机,向选取的交换机发送链路状态变化信息的副本。

在其中一个实施例中,源交换机根据本地路由表,可以从除源交换机之外的所有可选交换机中随机选取交换机,即从第一交换机组或第二交换机组中随机选取交换机,随机选取的交换机的个数由交换机和控制器所在网络设备系统的具体连接方式决定。为了降低传输成本,链路状态变化信息的副本可以通过用户数据报协议(User DatagramProtocol,UDP)进行传输。

步骤S204,主控制器接收链路状态变化信息,根据链路状态变化信息判定链路状态有更新时,将链路状态变化信息转发给第二交换机组。

在其中一个实施例中,主控制器预先存储了交换机和控制器所在网络设备系统中所有的链路和链路对应的ID,主控制器接收链路状态变化信息后,根据链路状态变化信息的ID是否大于存储的链路的ID以判定链路状态是否有更新。当判定链路状态有更新时,通过数据中心网络(Data Center Network)以及交换机和控制器所在网络设备系统的具体连接方式,查找链路状态变化影响范围内各受影响的交换机,并将该链路状态变化信息通过主信道转发给各受影响的交换机,即第二交换机组。

具体地,主控制器接收链路状态变化信息,根据链路状态变化信息判定链路状态有更新时,将链路状态变化信息转发给第二交换机组。

步骤S206,源交换机选取的交换机获取链路状态变化信息的副本,并将链路状态变化信息的副本发送给辅控制器。

在其中一个实施例中,源交换机根据本地路由表,从第一交换机组或第二交换机组中随机选取交换机,并向随机选取的交换机发送链路状态变化信息的副本,上述随机选取的交换机获取链路变化状态信息的副本后,立即将链路状态变化信息的副本发送给辅控制器。

步骤S208,辅控制器接收源交换机选取的交换机发送的链路状态变化信息的副本,并从第一交换机组中随机选取交换机,将链路状态变化信息的副本通过辅控制器选取的交换机发送给第二交换机组。

在其中一个实施例中,辅控制器接收到链路状态变化信息的副本后,从第一交换机组中随机选取交换机,将链路状态变化信息的副本通过辅控制器选取的交换机发送给第二交换机组。其中,源交换机选取的交换机和辅控制器选取的交换机可以相同或不同。

在其中一个实施例中,为了降低传输成本,链路状态变化信息的副本的传输可以通过用户数据报协议(User Datagram Protocol,UDP)进行传输。

步骤S210,第二交换机组获取主控制器发送的链路状态变化信息,以及获取辅控制器选取的交换机转发的链路状态变化信息的副本;根据链路状态变化信息或链路状态变化信息的副本更新本地路由表,并向主控制器发送更新了本地路由表后的确认信息。

在其中一个实施例中,第二交换机组会接收到多个相同ID的链路状态变化信息,一是由主控制器发送的链路变化状态信息,二是由辅控制器选取的交换机转发的链路状态变化信息的副本。但是,不管第二交换机组接收到的是链路状态变化信息还是链路状态变化信息的副本,第二交换机组只处理最先接收到的链路变化状态信息,并根据该链路变化状态信息更新本地路由表。第二交换机组更新完本地路由表后,不管处理的链路变化状态信息来自主控制器还是辅控制器,第二交换机组都会通过主信道向主控制器发送更新了本地路由表后的确认信息。

步骤S212,主控制器接收第二交换机组更新了本地路由表后的确认信息,并向源交换机发送确认信息。

在其中一个实施例中,主控制器接收到第二交换机组更新了本地路由表后的确认信息后,会通过主信道和其他通道向源交换机发送确认信息。

步骤S214,源交换机接收主控制器发送的确认信息。

在其中一个实施例中,源交换机接收主控制器发送的确认信息,则网络设备系统的信息传输过程结束。

上述网络设备系统中,当链路状态发生变化时,源交换机获取链路状态变化信息;向主控制器发送链路状态变化信息,并从第一交换机组或第二交换机组中随机选取交换机,向选取的交换机发送链路状态变化信息的副本,由选取的交换机将链路状态变化信息的副本发送给辅控制器,再由主控制器将链路变化状态信息转发给第二交换机组,由辅控制器将链路状态变化信息的副本发送给第二交换机组;而后,源交换机接收主控制器发送的第二交换机组根据链路变化状态信息或链路变化状态信息的副本更新了本地路由表后的确认信息。本申请实施例中,交换机向控制器上报链路状态变化信息,控制器在接收链路状态变化信息后,除了直接转发给第二交换机,还会选择其他交换机进行转发。通过控制器和交换机之间冗余的信息传输方法,能够有效提高网络设备系统的容错能力。

第二方面,在其中一个实施例中,如图3所示,提供了一种网络设备系统的容错方法,应用于源交换机,包括:

步骤S302,在链路状态发生变化时,获取链路状态变化信息。

具体地,源交换机在检测到链路状态发生变化时,获取链路状态变化信息(LSMessage)。

步骤S304,向主控制器发送链路状态变化信息,并从第一交换机组或第二交换机组中随机选取交换机,并向源交换机选取的交换机发送链路状态变化信息的副本,由主控制器将链路变化状态信息转发给第二交换机组,由源交换机选取的交换机将链路状态变化信息的副本发送给辅控制器,由辅控制器将链路状态变化信息的副本发送给第二交换机组,第一交换机组为链路状态发生变化的影响范围外的各交换机,第二交换机组为链路状态发生变化的影响范围内的各交换机。

具体地,源交换机通过主信道向主控制器发送链路状态变化信息,并根据本地路由表,从第一交换机组或第二交换机组中随机选取交换机,向该选取的交换机发送链路状态变化信息的副本。链路状态变化信息发送结束后,源交换机等待主控制器回复确认信息。

步骤S306,接收主控制器发送的第二交换机组根据链路变化状态信息或链路变化状态信息的副本更新了本地路由表后的确认信息。

具体地,第二交换机组根据链路变化状态信息或链路变化状态信息的副本更新了本地路由表后,主控制器向源交换机发送确认信息,源交换机接收主控制器发送的的确认信息。

在其中一个实施例中,如图4所示,在步骤S304中由源交换机选取的交换机将链路状态变化信息的副本发送给辅控制器,由辅控制器将链路状态变化信息的副本发送给第二交换机组,包括:

步骤S402,源交换机选取的交换机将链路状态变化信息的副本发送给辅控制器。

具体地,源交换机根据本地路由表,从第一交换机组或第二交换机组中随机选取交换机,向该选取的交换机发送链路状态变化信息的副本。选取的交换机接收到链路状态变化信息的副本后立即转发给辅控制器。

步骤S404,由辅控制器从第一交换机组中随机选取交换机,并将链路状态变化信息的副本发送给辅控制器选取的交换机。

具体地,辅控制器接收到链路状态变化信息的副本后,根据数据中心网络从第一交换机组中随机选取交换机,并向其发送链路状态变化信息的副本。

步骤S406,由辅控制器选取的交换机将链路状态变化信息的副本发送给第二交换机组。

在其中一个实施例中,如图5所示,在步骤S304中向主控制器发送链路状态变化信息之后,包括:

步骤S502,启动源交换机定时器。

在其中一个实施例中,在源交换机将链路变化状态信息发送给主控制器的同时,启动一个定时器,称为源交换机定时器。

具体地,启动源交换机定时器,等待接收主控制器返回的确认信息。

步骤S504,在源交换机定时器的定时范围内,接收主控制器发送的第二交换机组根据链路变化状态信息或链路变化状态信息的副本更新了本地路由表后的确认信息。

在其中一个实施例中,网络管理员可以根据实际情况确定源交换机定时器的定时范围。在源交换机定时器的定时范围内,源交换机接收主控制器转发的第二交换机组更新了本地路由表后的确认信息,当在定时范围内接收到所有的确认信息,则网络设备系统的信息传输过程完成。

具体地,在源交换机定时器的定时范围内,源交换机接收主控制器转发发送的第二交换机组根据链路变化状态信息或链路变化状态信息的副本更新了本地路由表后的确认信息。

步骤S506,当超过源交换机定时器的定时范围未接收到主控制器的确认信息时,返回向主控制器发送链路状态变化信息的步骤。

在其中一个实施例中,当超过源交换机定时器的定时范围,未接收到所有的确认信息,则网络设备系统的信息传输过程失败,返回源交换机向主控制器发送链路状态变化信息的步骤,重新开始信息传输。

具体地,当超过源交换机定时器的定时范围,源交换机未接收到确认信息时,返回源交换机向主控制器发送链路状态变化信息的步骤。

第三方面,在其中一个实施例中,如图6所示,提供了一种网络设备系统的容错方法,应用于主控制器,包括:

步骤S602,接收源交换机发送的链路变化状态信息。

具体地,主控制器接收源交换机发送的链路状态变化信息(LS Message)。

步骤S604,根据链路状态变化信息判定链路状态有更新时,将链路状态变化信息转发给第二交换机组,第二交换机组为链路状态发生变化的影响范围内的各交换机。

具体地,主控制器判定链路状态有更新时,将接收到的链路状态变化信息转发给链路状态发生变化的影响范围内各受影响的交换机,即第二交换机组。

步骤S606,获取第二交换机组根据链路状态变化信息以及由辅控制器选取的交换机发送的链路状态变化信息的副本更新了本地路由表后的确认信息,并向源交换机发送确认信息。

具体地,主控制器获取第二交换机组更新了本地路由表后的确认信息后,向源交换机发送确认信息。

在其中一个实施例中,如图7所示,在步骤S604中根据链路状态变化信息判定链路状态有更新时,将链路状态变化信息转发给第二交换机组之后,还包括:

步骤S702,启动主控制器定时器。

在其中一个实施例中,在主控制器将链路状态变化信息转发给第二交换机组时,记录转发的各第二交换机。同时,启动一个定时器,称为主控制器定时器。

具体地,启动主控制器定时器,等待获取第二交换机组返回的确认信息。

步骤S704,在主控制器定时器的定时范围内,获取第二交换机组根据链路状态变化信息以及由辅控制器选取的交换机发送的链路状态变化信息的副本更新了本地路由表后的确认信息,并向源交换机发送确认信息。

在其中一个实施例中,网络管理员可以根据实际情况确定主控制器定时器的定时范围。在主控制器定时器的定时范围内,主控制器获取第二交换机组更新了本地路由表后的确认信息,当在定时范围内获取到所有第二交换机的确认信息后,向源交换机发送确认信息,则网络设备系统的信息传输过程完成。

具体地,在主控制器定时器的定时范围内,主控制器获取第二交换机组更新了本地路由表后的确认信息,并向源交换机发送确认信息。

步骤S706,当超过主控制器定时器的定时范围未获取到第二交换机组的确认信息时,不执行向源交换机发送确认信息的步骤。

在其中一个实施例中,当超过主控制器定时器的定时范围,未接收到所有第二交换机的确认信息,则网络设备系统的信息传输过程失败,则主控制器不做任何操作,即不执行向源交换机发送确认信息的步骤。

在本申请实施例中,通过网络设备系统冗余的信息传输方法,能够有效提高网络设备系统的容错能力。

在其中一个实施例中,网络设备系统中的交换机还会进行主信道故障检测。

具体地,各交换机会定期向主控制器发送报文信息(Keep alive Message)以检测主信道的状态,发送间隔为分钟。当交换机检测到主信道故障时,交换机根据本地路由表,选取K个其他交换机,向选取的交换机发送建立间接主信道的请求,并选择与第一个响应的其他交换机建立可靠的数据平面的间接主信道。其中,K的大小可以由网络管理员可以根据实际情况确定,K的默认大小是可用的邻居数量。

在其中一个实施例中,网络设备系统中的控制器也会进行主信道故障检测。

具体地,主控制器会定期向各交换机发送报文信息(Keep alive Message)以检测主信道的状态,发送间隔为分钟。当主控制器检测到与某个交换机的主信道发生故障时,也会主动建立间接主信道。

在其中一个实施例中,控制器之间会进行信息同步。

具体地,主控制器和辅控制器都在后台运行了同步选举协议,例如Raft协议,其目的是检测主控制器是否发生故障并重新选择主控制器,当主控制器发送故障并且选择了新的主控制器时,能够通知各交换机。

应该理解的是,虽然上述实施例涉及的各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例涉及的各流程图的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合其中一个具体实施例,对本申请进行进一步详细说明。应当理解,此处描述的其中一个具体实施例仅仅用以解释本申请,并不用于限定本申请。

如图8-11所示,图示为一个具体实施例的网络设备系统的信息传输过程。

在一个具体实施例中,该网络设备系统可以分为数据平面和控制平面。

其中,用于生产活动的交换机组成数据平面。具体地,数据平面中的交换机150为源交换机,交换机130、140和160为第一交换机组,交换机110和120为第二交换机组,源交换机、第一交换机组和第二交换机组都属于数据平面。

其中,用于管理数据平面的管理网交换机和控制器组成控制平面,控制器可以是交换机,也可以是其他计算机设备。具体地,控制平面由管理网交换机210-260、主控制器310和辅控制器320、330组成,主控制器和辅控制器都属于控制平面。在本实施例中,管理网交换机210-260为信息传输的媒介,因此,在此不再赘述。

在一个具体实施例中,网络设备系统的信息传输过程由步骤1-7组成。

步骤1,如图8所示,源交换机150在链路状态发生变化时,获取链路状态变化信息,通过主信道发送给主控制器310。同时,启动源交换机定时器,等待接收主控制器310返回的确认信息。

步骤2,如图9所示,源交换机150根据本地路由表,从第一交换机组或第二交换机组中随机选取交换机130和140,向选取的交换机130和140发送链路状态变化信息的副本。交换机130和140接收后立即通过用户数据报协议转发给辅控制器320和330。

步骤3,如图10所示,主控制器310接收到链路状态变化信息,根据链路状态变化信息的ID判定链路状态有更新时,主控制器310通过主信道将链路状态变化信息转发给交换机110和120。

步骤4,如图11所示,辅控制器320和330从第一交换机组中随机选取交换机130和140,向选取的交换机130和140发送链路变化状态信息的副本。交换机130和140接收后立即通过用户数据报协议转发给交换机110和120。

步骤5,交换机110和120接收到主控制器310发送的链路变化状态信息和交换机130和140转发的链路状态变化信息的副本,交换机110和120根据最先到达的链路变化状态信息更新本地路由表,并通过主信道向主控制器310发送更新了本地路由表后的确认信息。

步骤6,主控制器310在主控制器定时器的定时范围内接收到交换机130和140的确认信息后,主控制器310通过主信道和其他通道向源交换机150发送确认信息。

步骤7,源交换机150在源交换机定时器的定时范围内接收到主控制器310发送的确认信息后,网络设备系统的信息传输过程结束。若源交换机150在源交换机定时器的定时范围未接收到主控制器310发送的确认信息,则返回步骤1,重新向主控制器310发送链路状态变化信息。

第四方面,在其中一个实施例中,如图12所示,提供了一种网络设备系统的容错装置,应用于源交换机,该装置包括:链路状态变化信息获取模块1210、链路状态变化信息发送模块1220和确认信息接收模块1230,其中:

链路状态变化信息获取模块1210,用于在链路状态发生变化时,获取链路状态变化信息。

链路状态变化信息发送模块1220,用于向主控制器发送链路状态变化信息,并从第一交换机组或第二交换机组中随机选取交换机,并向源交换机选取的交换机发送链路状态变化信息的副本,由主控制器将链路变化状态信息转发给第二交换机组,由源交换机选取的交换机将链路状态变化信息的副本发送给辅控制器,由辅控制器将链路状态变化信息的副本发送给第二交换机组,第一交换机组为链路状态发生变化的影响范围外的各交换机,第二交换机组为链路状态发生变化的影响范围内的各交换机。

确认信息接收模块1230,用于接收主控制器发送的第二交换机组根据链路变化状态信息或链路变化状态信息的副本更新了本地路由表后的确认信息。

在其中一个实施例中,链路状态变化信息发送模块1220,包括以下单元:

链路变化状态信息副本第一发送单元,用于源交换机选取的交换机将链路状态变化信息的副本发送给辅控制器。

链路变化状态信息副本第二发送单元,用于由辅控制器从第一交换机组中随机选取交换机,并将链路状态变化信息的副本发送给辅控制器选取的交换机。

链路变化状态信息副本第三发送单元,用于由辅控制器选取的交换机将链路状态变化信息的副本发送给第二交换机组。

在其中一个实施例中,该网络设备系统的容错装置还包括源交换机定时器模块1240,源交换机定时器模块1240包括以下单元:

源交换机定时器启动单元,用于启动源交换机定时器。

源交换机确认信息接收单元,用于在源交换机定时器的定时范围内,接收主控制器发送的第二交换机组根据链路变化状态信息或链路变化状态信息的副本更新了本地路由表后的确认信息。

源交换机步骤返回单元,用于当超过源交换机定时器的定时范围未接收到主控制器的确认信息时,返回向主控制器发送链路状态变化信息的步骤。

第五方面,在其中一个实施例中,如图13所示,提供了一种网络设备系统的容错装置,应用于主控制器,该装置包括:链路状态变化信息接收模块1310、链路状态变化信息转发模块1320和确认信息获取模块1330,其中:

链路变化状态信息接收模块1310,用于接收源交换机发送的链路变化状态信息。

链路变化状态信息转发模块1320,用于根据链路状态变化信息判定链路状态有更新时,将链路状态变化信息转发给第二交换机组,第二交换机组为链路状态发生变化的影响范围内的各交换机。

确认信息获取模块1330,用于获取第二交换机组根据链路状态变化信息以及由辅控制器选取的交换机发送的链路状态变化信息的副本更新了本地路由表后的确认信息,并向源交换机发送确认信息。

在其中一个实施例中,该网络设备系统的容错装置还包括主控制器定时器模块1340,主控制器定时器模块1340包括以下单元:

主控制器定时器启动单元,用于启动主控制器定时器。

主控制器确认信息发送单元,用于在主控制器定时器的定时范围内,获取第二交换机组根据链路状态变化信息以及由辅控制器选取的交换机发送的链路状态变化信息的副本更新了本地路由表后的确认信息,并向源交换机发送确认信息。

主控制器步骤返回单元,用于当超过主控制器定时器的定时范围未获取到第二交换机组的确认信息时,不执行向源交换机发送确认信息的步骤。

关于网络设备系统的容错装置的具体限定可以参见上文中对于网络设备系统的容错方法的限定,在此不再赘述。上述网络设备系统的容错装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在其中一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图14所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储网络设备系统的容错数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种网络设备系统的容错方法。

本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在其中一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现如上述第二方面或者第三方面任一所述的网络设备系统的容错方法。

在其中一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述第二方面或者第三方面任一所述的网络设备系统的容错方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

相关技术
  • 网络设备系统的容错方法、装置、计算机设备和存储介质
  • 网络设备系统、网络设备系统的实现方法以及计算机可读存储介质
技术分类

06120112244510