一种多激活检测方法和设备的制作方法

文档序号:7789161阅读:134来源:国知局
专利名称:一种多激活检测方法和设备的制作方法
技术领域
本发明涉及通信技术领域,特别涉及一种多激活检测方法和设备。
背景技术
堆叠系统(Stacking System)常常由多台配置相同的设备通过堆叠链路连接而成,对外呈现为一台虚拟的较大型的设备。参与堆叠的多台设备中,其中一台设备为主 (Master)设备,其他设备都为从(Slave)设备,其中,Master设备处于Active状态,充当管理者和控制者的角色,其配置生效,而Slave设备则处于Mandby状态,其配置不生效。参见图1,图1为典型的堆叠系统100的结构示意图。图1中堆叠系统100由四台设备构成,四台设备分别为堆叠设备101、堆叠设备102、堆叠设备103和堆叠设备104。堆叠设备101与堆叠设备102相连,堆叠设备102与堆叠设备103相连、堆叠设备103与堆叠设备104相连。假设其中堆叠设备102为Master设备,堆叠设备101、堆叠设备103和堆叠设备104均为Slave设备。当堆叠系统100中的堆叠设备102和堆叠设备103之间的链路断裂后,将产生堆叠系统分裂,即与Master设备断开连接但可以互相连通的Slave设备之间将形成一个新的堆叠系统,且这些Slave设备之间会进行选举,产生这个新的堆叠系统的Master设备。参见图2,图2为堆叠系统100中堆叠设备102和堆叠设备103之间链路断开结构示意图。图 2中堆叠系统100只包括堆叠设备101和堆叠设备102,且堆叠设备102为堆叠系统100的 Master设备;而堆叠设备103和堆叠设备104形成新的堆叠系统200,假设堆叠设备103被选举为堆叠系统200的Master设备。这样网络中同时存在两个配置完全相同的堆叠系统, 因此出现了多激活冲突,会发生IP地址重复,上、下行流量转发混乱等问题,需要通过一定的竞争和选择,将堆叠系统100或堆叠系统200两个堆叠系统中的某一个保持活动状态,而另外一个则需要关闭其所有成员设备的业务端口,即对业务端口执行amtdown。通常情况下保持哪个堆叠系统处于激活状态没有统一的标准,各个厂商的实现也不相同。如,有的厂商对原来的堆叠系统执行amtdown,保留新的堆叠系统为活动状态;而另外某些厂商以Master设备的成员编号大小即MasterID为决策依据,对Master设备的编号较大的堆叠系统执行amtdown,保留MasterID较小的Master设备所在的堆叠系统为活动状态。通常情况下,原来的堆叠系统已经运行了相当长的时间,其控制平面和数据平面均已收敛,处于稳定运行状态,而新形成的堆叠系统,其控制平面刚刚启动,且数据平面需要重新进行路由学习等过程才能收敛,所以新的堆叠系统要达到稳定状态有一个过程,需要经历一段时间。因此从网络运行角度来看,应该保留原来的堆叠系统为活动状态,而对新分裂出来的堆叠系统执行amtdown,这样更有利于网络稳定。但是现有实现中还未提供保留原堆叠系统为活动状态的实现方法,不能避免新形成的堆叠系统所需的收敛过程,网络运行不够稳定。

发明内容
有鉴于此,本发明提供一种多激活检测方法和设备,在堆叠系统分裂时,能够避免新形成的堆叠系统所需的收敛过程,使网络运行更稳定。为解决上述技术问题,本发明的技术方案是这样实现的一种多激活检测方法,应用于堆叠系统中,所述堆叠系统中的堆叠设备被选举为主设备后,记录自身的激活时间,并通过堆叠链路向所述堆叠系统中的从设备发送Active 消息;各所述从设备接收到Active消息后,记录发送Active消息的主设备的激活时间,所述方法包括所述堆叠系统分裂后,本地主设备通过分裂检测机制获取其他主设备的 MasterID,利用获取的MasterID在本地查找对应的所述其他主设备的激活时间,并将对应的所述其他主设备的激活时间与记录的自身的激活时间进行比较;若所述本地主设备判断任一对应的所述其他主设备的激活时间大于记录的自身的激活时间,则关闭本地主设备的业务端口和本地主设备所属堆叠系统的其他设备的业务端口 ;若所述本地主设备判断对应的所述其他主设备的激活时间均小于记录的自身的激活时间,则维持本地主设备所属堆叠系统正常工作。一种多激活检测设备,应用于堆叠系统中,所述设备包括所述设备包括记录收发单元、获取单元、查找单元和确定单元;所述记录收发单元,用于当自身所在设备选举为主设备后,记录自身所在设备的激活时间,并通过堆叠链路向从设备发送Active消息;当自身所在设备为从设备时,接收到自身所在设备所属堆叠系统的主设备的Active消息后,记录所述发送Active消息的主设备的激活时间;所述获取单元,用于当自身所在设备选举为主设备时,通过分裂检测机制获取其他主设备的设备标识MasterID ;所述查找单元,用于利用所述获取单元获取的MasterID在本地查找对应的所述其他主设备的激活时间;所述确定单元,用于将所述查找单元查找的对应的所述其他主设备的激活时间与所述记录收发单元记录的自身所在设备的激活时间进行比较,若判断任一对应的所述其他主设备的激活时间大于记录的自身所在设备的激活时间,则关闭自身所在设备的业务端口和自身所在设备所属的堆叠系统的其他设备的业务端口 ;若判断对应的所述其他主设备的激活时间均小于记录的自身所在设备的激活时间,则维持自身所在设备所属堆叠系统正常工作。综上所述,本发明通过各堆叠系统中主设备记录自身成为主设备的时间,并通过 Active消息通知自身所在堆叠系统中的从设备记录自身成为主设备的时间,堆叠系统分裂时,通过比较堆叠设备成为主设备的时间长短维持原有堆叠系统的正常工作,关闭新形成的堆叠系统中的各设备的业务端口,避免了新形成的堆叠系统所需的收敛过程,使网络运行更稳定。


图1为典型的堆叠系统100的结构示意图2为堆叠系统100中链路断开结构示意图;图3为本发明实施例中多激活检测方法流程图;图4为本发明具体实施例中多激活检测方法流程图;图5为本发明具体实施例中多激活检测设备结构示意图。
具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。本发明提出一种多激活检测方法,应用于堆叠系统中,堆叠系统中的堆叠设备被选举为主设备后,记录自身的激活时间,并通过堆叠链路向堆叠系统中的从设备发送 Active消息;系统中各从设备接收到Active消息后,记录发送Active消息的主设备的激活时间,接收到Active消息后,记录发送Active消息的主设备的激活时间。当堆叠系统分裂,形成新的堆叠系统时,在新的堆叠系统中被选举为主设备的堆叠设备,以及新形成的堆叠设备中的从设备也执行如上操作。堆叠系统形成,堆叠系统中主设备选举出时,主设备记录自身的激活时间为记录自身成为主设备的时间,从设备记录发来Active消息的设备成为主设备的时间。主设备的激活时间可以通过维护一个计时器来记录实现。也可通过记录设备成为主设备时间,再通过当前时间与记录的时间差值确定主设备的激活时间。参见图3,图3为本发明实施例中多激活检测方法流程图。具体步骤为步骤301,堆叠系统分裂后,本地主设备通过分裂检测机制获取其他主设备的设备标识 MasterID0本步骤中分裂检测机制为链路聚合控制协议LACP,或双向转发检测BFD协议。本发明中的MasterID为堆叠系统中主设备的ID,可以是整数,也可以是MAC地址等唯一标识一个设备的信息。步骤302,本地主设备利用获取的MasterID在本地查找对应的所述其他主设备的激活时间,并将对应的其他主设备的激活时间与记录的自身的激活时间进行比较。本步骤中利用获取的MasterID在本地查找对应的其他主设备的激活时间的方法为本地设备查找本地是否记录获取的MasterID对应的所述其他主设备的激活时间,如果是,则该记录的激活时间为对应的其他主设备的激活时间;否则,将0作为对应的所述其他主设备的激活时间。步骤303,若本地主设备判断任一对应的其他主设备的激活时间大于记录的自身的激活时间,则关闭本地主设备的业务端口和本地主设备所属堆叠系统的其他设备的业务端□。若本地主设备确定任一接收的所述MasterID所对应的激活时间大于自身的 MasterID所对应的激活时间,则关闭本设备的业务端口和本设备所属的堆叠系统的其他设备的业务端口。堆叠系统发生分裂时,可能分裂为多个堆叠系统,本地主设备会检测到多个不同 MasterlD。只要存在任一 MasterID所对应的激活时间大于自身的MasterID所对应的激活时间,则说明本设备所属的堆叠系统是分裂后形成的,因此本设备所属的堆叠系统的业务端口都应关闭。步骤304,若本地主设备判断对应的所述其他主设备的激活时间均小于记录的自身的激活时间,则维持本地主设备所属堆叠系统正常工作。当本设备中记录的自身的激活时间大于所有通过分裂机制获取的MasterID对应主设备的激活时间,则确定本设备所属的堆叠系统是最早形成的,因此维持本设备所属的堆叠系统正常工作。堆叠系统中堆叠链路断开时,可能分裂形成多个堆叠系统,下面以分裂两个堆叠系统为例,结合附图,详细说明本发明具体实施例中如何实现多激活检测方法的。图1中的堆叠设备101、堆叠设备102、堆叠设备103、和堆叠设备104的设备ID分别为1、2、3和4。堆叠系统形成时,如图1中的堆叠系统100形成时,堆叠设备102经过选举成为Master设备时,为自身维护一个计时器,记录自身成为主设备的激活时间Masterf. ActiveUpTime。该计时器初始值为0,每单位时间加1。这里只是举出的一种记录时间的方式,可以根据具体应用选择记录时间的方式堆叠设备102向堆叠设备101、堆叠设备103和堆叠设备104分别发送Active消息。堆叠设备101收到堆叠设备102发送的Active消息后,为堆叠设备102维护一个计时器,记录堆叠设备102成为主设备的激活时间Master2. ActiveUpTime。该计时器初始值设为0,每单位时间加1。堆叠设备103和堆叠设备104的操作同堆叠设备101,这里不再详细赘述。参见图2,堆叠设备102和堆叠设备103之间的堆叠链路断裂导致堆叠系统发生分裂,原堆叠系统100只剩下堆叠设备101和堆叠设备102,堆叠设备102仍然是堆叠系统100的Master设备。新形成的堆叠系统200包含堆叠设备103和堆叠设备104,假设堆叠设备103经选举成为堆叠系统200的Master设备,堆叠设备104是Slave设备, 这时堆叠设备103为其自身维护一个计时器,记录自身成为主设备的激活时间Masterf. ActiveUpTime。堆叠设备103会向堆叠设备104发送Active消息,堆叠设备104接收到该消息后,会为堆叠设备103维护一个计时器,记录堆叠设备103成为主设备的激活时间 Master3. ActiveUpTime。由于堆叠链路断裂,堆叠设备101和堆叠设备102接收不到堆叠设备103发出的Active消息。分裂检测机制检测到多激活现象后,每个堆叠系统的Master设备会得知对方堆叠系统的Master设备的编号(MasterID)。其中,分裂检测机制包括LACP协议、BFD协议寸。参见图4,图4为本发明具体实施例中多激活检测方法流程图。具体步骤为步骤401,本地主设备接收其他主设备发送的携带自身的MasterID的MAD报文。本步骤中接收MAD报文为分裂检测机制具体应用体现。步骤402,检查本地是否存在接收的MasterID所对应的ActiveUpTime ;如果是执行步骤403,否则执行步骤404。图2中,如果堆叠系统100中的堆叠设备102接收到堆叠系统200中的堆叠设备 103发来的MAD报文,则堆叠设备102在本地查找是否存在堆叠设备103的MasterID所对应的ActiveUpTime,即Masterf. ActiveUpTime,由图2可知,堆叠设备103是系统分裂后形成的堆叠系统200中的主设备,并未向堆叠设备102发送Active消息,因此本地不存在 Master3. ActiveUpTime0如果堆叠系统200中的堆叠设备103接收到堆叠系统100中的堆叠设备102发来的MAD报文,则堆叠设备103在本地查找是否存在堆叠设备102的MasterID所对应的 ActiveUpTime,即Master2. ActiveUpTime,由图2可知,堆叠设备102是系统分裂前形成的堆叠系统100中的主设备,向堆叠设备103发送Active消息,因此本地存在Master2. ActiveUpTime0步骤403,本地主设备获取接收的MasterID所对应的ActiveUpTime。执行步骤 405。步骤404,本地主设备将0作为接收的MasterID所对应的ActiveUpTime。对于不存在对应的ActiveUpTime时,赋0值作为ActiveUpTime。步骤405,本地主设备获取自身的MasterID所对应的ActiveUpTime,并确定自身的MasterID所对应的ActiveUpTime是否大于接收的MasterID所对应的ActiveUpTime,如果是,执行步骤406 ;否则,执行步骤407。如果是堆叠设备102,则确定自身的MasterID所对应的ActiveUpTime较大;如果是堆叠设备103,则确定堆叠设备102的MasterID所对应的ActiveUpTime较大。因此分裂后的各堆叠系统中各主设备的确定结果是一致的。步骤406,维持本设备所属的堆叠系统正常工作。本流程结束。由于堆叠系统100早于堆叠系统200的形成,因此最终结果是堆叠系统100维持正常工作。步骤407,关闭本设备的业务端口和本设备所属的堆叠系统的其他设备的业务端由于堆叠系统200是分裂后才形成的,因此最终结果是堆叠系统200中的各堆叠设备业务端口关闭。基于同样的发明构思,本发明还提出一种多激活检测设备,应用于堆叠系统中。参见图5,图5为本发明具体实施例中多激活检测设备结构示意图。该设备包括记录收发单元501、获取单元502、查找单元503和确定单元504。记录收发单元501,用于当自身所在设备选举为主设备后,记录自身所在设备的激活时间,并通过堆叠链路向从设备发送Active消息;当自身所在设备为从设备时,接收到自身所在设备所属堆叠系统的主设备的Active消息后,记录发送Active消息的主设备的激活时间。获取单元502,用于当自身所在设备选举为主设备时,通过分裂检测机制获取其他主设备的Master ID。查找单元503,用于利用获取单元502获取的MasterID在本地查找对应的所述其他主设备的激活时间。确定单元504,用于将查找单元503查找的对应的所述其他主设备的激活时间与记录收发单元501记录的自身所在设备的激活时间进行比较,若判断任一对应的所述其他主设备的激活时间大于记录的自身所在设备的激活时间,则关闭自身所在设备的业务端口和自身所在设备所属的堆叠系统的其他设备的业务端口 ;若判断对应的所述其他主设备的激活时间均小于记录的自身所在设备的激活时间,则维持自身所在设备所属堆叠系统正常工作。较佳地,查找单元503,用于查找本地是否记录获取的MasterID对应的所述其他主设备的激活时间,如果是,则该记录的激活时间为对应的所述其他主设备的激活时间;否则,将0 作为对应的所述其他主设备的激活时间。较佳地,所述分裂检测机制为LACP或BFD协议。较佳地,记录收发单元501,用于当自身所在设备选举为主设备后,在本地为自身所在设备维护一个计时器,记录自身所在设备的激活时间;所述计时器初始值为0,随着单位时间递增。较佳地,记录收发单元501,用于当自身所在设备为从设备时,接收到自身所在设备所属堆叠系统的主设备的Active消息后,记录该Active消息中主设备的MasterlD,并为所述主设备维护一个计时器,记录该主设备的激活时间;所述计时器初始值为0,随着单位时间递增。上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。综上所述,本发明具体实施例中通过各堆叠系统中主设备记录自身成为主设备的时间,并通过Active消息通知自身所在堆叠系统中的从设备记录自身成为主设备的时间, 堆叠系统分裂时,通过设备成为主设备的时间维持原有堆叠系统的正常工作,关闭新形成的堆叠系统中的各设备的业务端口,避免了新形成的堆叠系统所需的收敛过程,使网络运行更稳定。本发明的通用性好,无论使用哪种分裂检测机制都适用,如LACP、BFD等。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种多激活检测方法,应用于堆叠系统中,其特征在于,所述堆叠系统中的堆叠设备被选举为主设备后,记录自身的激活时间,并通过堆叠链路向所述堆叠系统中的从设备发送Active消息;各所述从设备接收到Active消息后,记录发送Active消息的主设备的激活时间,所述方法包括所述堆叠系统分裂后,本地主设备通过分裂检测机制获取其他主设备的设备标识 MasterID,利用获取的MasterID在本地查找对应的所述其他主设备的激活时间,并将对应的所述其他主设备的激活时间与记录的自身的激活时间进行比较;若所述本地主设备判断任一对应的所述其他主设备的激活时间大于记录的自身的激活时间,则关闭本地主设备的业务端口和本地主设备所属堆叠系统的其他设备的业务端口 ;若所述本地主设备判断对应的所述其他主设备的激活时间均小于记录的自身的激活时间,则维持本地主设备所属堆叠系统正常工作。
2.根据权利要求1所述的方法,其特征在于,所述利用获取的MasterID在本地查找对应的所述其他主设备的激活时间的方法为所述本地设备查找本地是否记录获取的MasterID对应的所述其他主设备的激活时间,如果是,则该记录的激活时间为对应的所述其他主设备的激活时间;否则,将0作为对应的所述其他主设备的激活时间。
3.根据权利要求1或2所述的方法,其特征在于,所述分裂检测机制为链路聚合控制协议LACP或双向转发检测BFD协议。
4.根据权利要求1或2所述的方法,其特征在于,所述堆叠系统中的堆叠设备被选举为主设备后,记录自身的激活时间的方法为被选举为主设备的堆叠设备在本地为自身维护一个计时器,记录自身成为主设备的激活时间;所述计时器初始值为0,随着单位时间递增。
5.根据权利要求1或2所述的方法,其特征在于,所述各从设备接收到Active消息后, 记录发来Active消息的主设备的激活时间的方法为各从设备接收到Active消息后,记录该Active消息中主设备的MasterID ;并为所述主设备维护一个计时器,记录所述主设备的激活时间;所述计时器初始值为0,随着单位时间递增。
6.一种多激活检测设备,应用于堆叠系统中,其特征在于,所述设备包括记录收发单元、获取单元、查找单元和确定单元;所述记录收发单元,用于当自身所在设备选举为主设备后,记录自身所在设备的激活时间,并通过堆叠链路向从设备发送Active消息;当自身所在设备为从设备时,接收到自身所在设备所属堆叠系统的主设备的Active消息后,记录发送Active消息的主设备的激活时间;所述获取单元,用于当自身所在设备选举为主设备时,通过分裂检测机制获取其他主设备的设备标识MasterID ;所述查找单元,用于利用所述获取单元获取的MasterID在本地查找对应的所述其他主设备的激活时间;所述确定单元,用于将所述查找单元查找的对应的所述其他主设备的激活时间与所述记录收发单元记录的自身所在设备的激活时间进行比较,若判断任一对应的所述其他主设备的激活时间大于记录的自身所在设备的激活时间,则关闭自身所在设备的业务端口和自身所在设备所属的堆叠系统的其他设备的业务端口 ;若判断对应的所述其他主设备的激活时间均小于记录的自身所在设备的激活时间,则维持自身所在设备所属堆叠系统正常工作。
7.根据权利要求6所述的设备,其特征在于,所述查找单元,用于查找本地是否记录获取的MasterID对应的所述其他主设备的激活时间,如果是,则该记录的激活时间为对应的所述其他主设备的激活时间;否则,将0作为对应的所述其他主设备的激活时间。
8.根据权利要求6或7所述的设备,其特征在于,所述分裂检测机制为链路聚合控制协议LACP或双向转发检测BFD协议。
9.根据权利要求6或7所述的设备,其特征在于,所述记录收发单元,用于当自身所在设备选举为主设备后,在本地为自身所在设备维护一个计时器,记录自身所在设备的激活时间;所述计时器初始值为0,随着单位时间递增。
10.根据权利要求6或7所述的设备,其特征在于,所述记录收发单元,用于当自身所在设备为从设备时,接收到自身所在设备所属堆叠系统的主设备的Active消息后,记录该Active消息中主设备的MasterlD,并为所述主设备维护一个计时器,记录该主设备的激活时间;所述计时器初始值为0,随着单位时间递增。
全文摘要
本发明公开了一种多激活检测方法,通过各堆叠系统中主设备记录自身成为主设备的时间,并通过Active消息通知自身所在堆叠系统中的从设备记录自身成为主设备的时间,堆叠系统分裂时,通过设备成为主设备的时间维持原有堆叠系统的正常工作,关闭新形成的堆叠系统中的各设备的业务端口。基于同样的发明构思本发明还提出一种设备,避免了新形成的堆叠系统所需的收敛过程,使网络运行更稳定。
文档编号H04L12/26GK102404172SQ20111043208
公开日2012年4月4日 申请日期2011年12月21日 优先权日2011年12月21日
发明者胡雅庆, 董琴 申请人:迈普通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1