软件平滑升级的实现方法及设备的利记博彩app

文档序号:7863162阅读:439来源:国知局
专利名称:软件平滑升级的实现方法及设备的利记博彩app
技术领域
本申请涉及软件升级技术领域,特别涉及一种软件平滑升级的实现方法及设备。
背景技术
交换机、路由器等通信设备在进行软件升级过程中,可能会导致本机中运行的所有协议进程停止工作,从而,协议进程就会长时间无法发送保活报文(Keep-alive报文),如果对端设备在一定时间内接收不到保活报文的话,就可能会认为本端设备出现了异常,从 而影响正常业务。为了实现软件的平滑升级,即,支持ISSU,目前通常采用在软件升级前与对端设备进行约定的方式,或者采用在升级过程中伪造相关的协议的保活报文对对端设备进行伪造欺骗的方式,从而达到在升级过程中对端设备上的相关协议保活不失败(即认为本端设备是正常工作的),达到本端的通信设备的软件平滑升级的目的。其中,现有的采用在软件升级前与对端设备进行约定的方式实现软件平滑升级时,通常是,每一种协议扩展自己的标准协议报文来与对端设备进行协商,实现软件平滑升级,没有通用的平滑升级机制;并且有些协议由于报文设计上的缺陷,其标准协议报文的可扩展性较差,甚至不支持扩展,因此,无法实现软件平滑升级。

发明内容
本申请提供了一种软件平滑升级的实现方法及设备,以解决现有技术中存在的缺少公共、通用的平滑升级机制,并且,有些协议由于标准协议报文的可扩展性较差,甚至不支持扩展,因此,无法实现软件平滑升级的问题。本申请的技术方案如下—方面,提供了一种软件平滑升级的实现方法,包括第一通信设备接收到相邻的第二通信设备发来的携带有ISSU开始标记的邻居发现协议报文,其中,携带有ISSU开始标记的邻居发现协议报文是在第二通信设备要进行软件升级时发送的;第一通信设备根据该ISSU开始标记,向本设备中的配合协议模块通知第二通信设备的软件升级开始,配合协议模块是与该软件升级有关的、需要配合邻居设备以实现软件平滑升级的协议模块;在接收到所述第二通信设备的软件升级开始的通知之后,配合协议模块暂停对第二通信设备对应的协议实体进行老化处理。另一方面,还提供了一种第一通信设备,包括第一邻居发现协议模块,用于运行邻居发现协议,接收第二通信设备中的第二邻居发现协议模块发来的携带有ISSU开始标记的邻居发现协议报文,其中,携带有ISSU开始标记的邻居发现协议报文是在第二通信设备要进行软件升级时发送的,以及,根据该ISSU开始标记,向本设备中的配合协议模块通知第二通信设备的软件升级开始,配合协议模块是与该软件升级有关的、需要配合邻居设备以实现软件平滑升级的协议模块;配合协议模块,用于在接收到所述第二通信设备的软件升级开始的通知之后,暂停对第二通信设备对应的协议实体进行老化处理。
本申请的技术方案中,第二通信设备在要准备进行软件升级时,向与自己直连的邻居设备发送携带有ISSU开始标记的邻居发现协议报文,第二通信设备的任一邻居设备(称为第一通信设备)在接收到该携带有ISSU开始标记的邻居发现协议报文之后,根据其中的ISSU开始标记即可知道第二通信设备要开始进行软件升级了,然后,通知本设备中的配合协议模块,配合协议模块在接收到该通知后就暂停对与第二通信设备对应的协议实体进行老化处理了,从而保证了通信设备在进行软件升级的过程中,其邻居设备仍然能够对其进行保活,认为其是正常工作的,实现了该通信设备的软件平滑升级。并且,第二通信设备通过扩展邻居发现协议报文,在邻居发现协议报文中携带ISSU开始标记来通知邻居设备自己要开始进行软件升级,从而实现了通信设备的软件平滑升级,避免了每一种协议通过扩展自己的标准协议报文来实现软件平滑升级,提供了一种公共的、通用的软件平滑升级实现方法。


图I是本申请的实施例的软件平滑升级的实现方法的流程图;
图2是本申请的实施例的通信设备的连接关系示意图;图3是本申请的实施例的软件平滑升级过程中,升级设备与配合设备的交互流程示意图;图4是本申请的实施例的第一通信设备的结构示意图。
具体实施例方式为了解决现有技术中存在的缺少公共、通用的平滑升级机制,并且,有些协议由于标准协议报文的可扩展性较差,甚至不支持扩展,因此,无法实现软件平滑升级的问题,本申请的以下实施例提供了一种软件平滑升级的实现方法以及可以应用该方法的通信设备。本申请的技术方案中,通过扩展邻居发现协议报文,提供了一种公共的、通用的实现软件(或协议)平滑升级的机制。本申请的实施例的软件平滑升级的实现方法可以由网络中的任意一个通信设备执行,该通信设备可以是路由器、交换机、网关、防火墙等,本申请对此不做限定。需要说明的是下文中的第一通信设备可以是网络中的任意一个通信设备,并不特指某一个通信设备,而第二通信设备可以是任意一个与第一通信设备直连的通信设备。如图I所示,该实现方法包括以下步骤步骤S102,第一通信设备接收到相邻的第二通信设备发来的携带有ISSU开始标记的邻居发现协议报文,其中,携带有ISSlX In-Service Software Upgrade,不中断业务升级)开始标记的邻居发现协议报文是在第二通信设备要进行软件升级时发送的;第二通信设备在要进行软件升级时,会发送携带有ISSU开始标记的邻居发现协议报文给与自己直连的邻居设备(包括第一通信设备)。这样,就需要在通信设备中运行邻居发现协议,通信设备中就需要包括有运行邻居发现协议的邻居发现协议模块,在第二通信设备要进行软件升级时,由第二通信设备中的第二邻居发现协议模块向邻居设备发送携带有ISSU开始标记的邻居发现协议报文。则,在步骤S102中,具体是由第一通信设备中的第一邻居发现协议模块接收到第二通信设备中的第二邻居发现协议模块发来的携带有ISSU开始标记的邻居发现协议报文。第一通信设备与第二通信设备通过邻居发现协议建立邻居关系。步骤S104,第一通信设备根据该ISSU开始标记,向本设备中的配合协议模块通知第二通信设备的软件升级开 始,配合协议模块是与该软件升级有关的、需要配合邻居设备以实现软件平滑升级的协议模块;具体的,第一邻居发现协议模块在步骤S102中接收到携带有ISSU开始标记的邻居发现协议报文之后,根据其中的ISSU开始标记获知第二通信设备软件升级开始,然后,向本设备中的配合协议模块通知第二通信设备的软件升级开始。其中,需要配合邻居设备实现软件平滑升级的协议模块,可以称为配合协议模块。配合协议模块可以是任意需要对邻居设备进行超时检测或老化处理,即在一定时间内接收不到邻居设备发来的保活报文,就会认为该邻居设备暂停处于活跃状态的协议模块,可以是 OAM (Operation Administration and Maintenance,操作维护管理)协议模块、CFD(Connectivity Fault Detection,连通错误检测)/CFM(Connectivity Fault Management,连通错误管理)协议模块或者生成树协议模块等。步骤S106,在接收到第二通信设备的软件升级开始的通知之后,配合协议模块暂停对第二通信设备对应的协议实体进行老化处理。暂停对第二通信设备对应的协议实体进行老化处理,即,暂停对第二通信设备对应的协议实体进行超时检测,从而,一直保持与第二通信设备的邻居关系。在实际实施过程中,在携带有ISSU开始标记的邻居发现协议报文中还可以包括第二通信设备的信息,则,上述的步骤S106具体包括以下步骤1-2 步骤I :配合协议模块根据以下信息至少之一第二通信设备的信息、接收到携带有ISSU开始标记的邻居发现协议报文的端口信息,确定本协议模块中对应于第二通信设备的协议实体;由于一个协议模块中包含有多个协议实体,不同的协议实体可能针对不同的邻居设备,即,可能某一个或某一些(多个)协议实体对应于一个邻居设备,另一个或另一些(多个)协议实体对应于另一个邻居设备,因此,需要确定出本协议模块中针对第二通信设备的协议实体是哪个或哪些。只有针对第二通信设备的协议实体才需要做特殊处理,即,暂停对与第二通信设备对应的协议实体进行老化处理,而其他的协议实体不需要做特殊处理。其中,第二通信设备的信息可以是第二通信设备的桥MAC地址,也可以是第二通信设备的名称或发送邻居发现协议报文的端口信息等基本信息,还可以是以上信息的任意组合。在实际实施过程中,配合协议模块在确定本协议模块中对应于第二通信设备的协议实体时,若需要依据第二通信设备的信息,则可以依据第二通信设备的桥MAC地址、第二通信设备的名称、发送邻居发现协议报文的端口信息等信息中的任意一个信息,也可以依据这些信息中任意多个信息的组合,本申请对此不做限定。例如,当第一通信设备中的一个配合协议模块是CFM/CFD协议模块时,CFM/CFD协议模块根据本设备接收到上述携带有ISSU开始标记的邻居发现协议报文的端口(即该报文的入端口)以及该报文中携带的第二通信设备的桥MAC地址,即可确定出本CFM/CFD协议模块中对应于第二通信设备的协议实体。
或者,当第一通信设备中的一个配合协议模块是OAM协议模块时,OAM协议模块根据本设备接收到上述携带有ISSU开始标记的邻居发现协议报文的端口(即该报文的入端口),即可确定出本OAM协议模块中对应于第二通信设备的协议实体。步骤2 :配合协议模块暂停对在步骤I中所确定的协议实体进行老化处理。本申请的上述实施例中,第二通信设备在要准备进行软件升级时,向与自己直连的邻居设备发送携带有ISSU开始标记的邻居发现协议报文,第二通信设备的任一邻居设备(称为第一通信设备)在接收到该携带有ISSU开始标记的邻居发现协议报文之后,根据其中的ISSU开始标记即可知道第二通信设备要开始进行软件升级了,然后,通知本设备中的配合协议模块,配合协议模块在接收到该通知后就暂停对与第二通信设备对应的协议实体进行老化处理,从而保证了通信设备在进行软件升级的过程中,其邻居设备仍然能够对其进行保活,认为其是正常工作的,实现了该通信设备的软件平滑升级。并且,第二通信设备通过扩展邻居发现协议报文,在邻居发现协议报文中携带ISSU开始标记来通知邻居设备自己要开始进行软件升级,从而实现了通信设备的软件平滑升级,避免了每一种协议通过扩展自己的标准协议报文来实现软件平滑升级,提供了一种公共的、通用的软件平滑升级实现方法。·为了能够实现步骤S104中第一邻居发现协议模块根据接收到的邻居发现协议报文中携带的ISSU开始标记,向本设备中配合协议模块进行通知,在步骤S104之前,还可以包括以下步骤第一通信设备中的需要配合邻居设备实现软件平滑升级的配合协议模块在启动时,向第一邻居发现协议模块进行注册,以指示自己在邻居设备进行软件升级时需要配合;第一邻居发现协议模块对向自己注册的配合协议模块的信息进行记录。这样,第一邻居发现协议模块在接收到携带有ISSU开始标记的邻居发现协议报文后,就可以根据自身记录的向自己注册的配合协议模块的信息,确定出对应的配合协议模块并向它们进行通知。后续,当第二通信设备软件升级完成之后,第二邻居发现协议模块还会向邻居设备发送携带有ISSU结束标记的邻居发现协议报文,此时,第一邻居发现协议模块还需要执行以下步骤步骤S202,在接收到第二邻居发现协议模块发来的携带有ISSU结束标记的邻居发现协议报文之后,第一邻居发现协议模块向配合协议模块通知第二通信设备的软件升级结束;其中,携带有ISSU结束标记的邻居发现协议报文是在第二通信设备完成软件升级之后发送的;步骤S204,配合协议模块恢复对在上述步骤2中所确定的协议实体的老化处理。或者,在第二通信设备升级过程中,第一通信设备在检测到自己与第二通信设备连接的链路故障后,此时,第一通信设备还需要执行以下步骤步骤S302,在检测到第一通信设备与第二通信设备之间的链路故障之后,第一邻居发现协议模块向配合协议模块通知第二通信设备的软件升级结束;导致第一通信设备与第二通信设备之间的链路故障的原因可能有多种,例如 第二通信设备在软件升级过程中发生了故障,从而导致重启,或者,第二通信设备运行正常、而第一通信设备与第二通信设备之间的物理链路中断等。步骤S304,在接收到所述第二通信设备的软件升级结束的通知之后,配合协议模块恢复对在上述步骤2中所确定的协议实体的老化处理。上述方法为第二通信设备作为升级设备,而第一通信设备作为配合设备时,第一通信设备所要执行的操作。同样,第一通信设备也可以作为升级设备,在第一通信设备要进行软件升级时,第一邻居发现协议模块也会向相邻的邻居设备(包括第二通信设备)发送携带有ISSU开始标记的邻居发现协议报文,此时,第二通信设备作为配合设备也会执行步骤S102-S106中第一通信设备所执行的操作;在第一通信设备完成软件升级之后,第一邻居发现协议模块也会向相邻的邻居设备发送携带有ISSU结束标记的邻居发现协议报文,此时,第二通信设备也会执行步骤S202-S204、步骤S302-S304中第一通信设备所执行的操作。上述方法中的邻居发现协议可以是作为邻居发现协议的典型代表的LLDP (LinkLayer Discovery Protocol,链路层发现协议)协议,也可以是其他类似的邻居发现协议,例 如,CDP(Cisco Discovery Protocol,思科发现协议)和NDP(Neighbor Discover Protocol,邻居发现协议)等,本申请对此不做限定。首先对LLDP协议进行一下简单的介绍。目前,网络通信设备的种类日益繁多且各自的配置错综复杂,为了使不同厂商的设备能够在网络中相互发现并交互各自的系统配置信息,需要有一个标准的信息交流平台。LLDP就是在这样的背景下产生的,它提供了一种标准的链路层发现方式,可以将本端设备的主要能力、管理地址、设备标识和接口标识等信息组织成不同的TLV (Type/Length/Value,类型 / 长度 / 值),并封装在 LLDF1DlKLink Layer Discovery Protocol Data Unit,链路层发现协议数据单元),即LLDP报文中发布给与自己直连(即相邻)的邻居,邻居设备接收到这些信息后将其以标准MIB (Management Information Base,管理信息库)的形式保存起来,以供网络管理系统查询及自己判断链路的通信状况。LLDP是通信设备之间的信息交互桥梁,可承载各种基本的设备信息交互及扩展信息交互,协议设计上有很大的可扩展性,基于LLDP的扩展应用有很多。LLDP通过TLV加OUISubType (组织唯一标识子类型,用于表示对应的TLV字段的类型)形式组织报文,可以方便不同的厂商对LLDP报文进行各种扩展使用。LLDP报文中的TLV的主要类型如表I所示。表I
权利要求
1.一种软件平滑升级的实现方法,其特征在于,包括 第一通信设备接收到相邻的第二通信设备发来的携带有不中断业务升级ISSU开始标记的邻居发现协议报文,其中,所述携带有ISSU开始标记的邻居发现协议报文是在所述第二通信设备要进行软件升级时发送的; 所述第一通信设备根据该ISSU开始标记,向本设备中的配合协议模块通知所述第二通信设备的软件升级开始,所述配合协议模块是与所述软件升级有关的、需要配合邻居设备以实现软件平滑升级的协议模块; 在接收到所述第二通信设备的软件升级开始的通知之后,所述配合协议模块暂停对所述第二通信设备对应的协议实体进行老化处理。
2.根据权利要求I所述的方法,其特征在于,通信设备中包括运行所述邻居发现协议的邻居发现协议模块,则 所述第一通信设备接收到相邻的第二通信设备发来的携带有ISSU开始标记的邻居发现协议报文包括所述第一通信设备中的第一邻居发现协议模块接收到所述第二通信设备中的第二邻居发现协议模块发来的携带有ISSU开始标记的邻居发现协议报文; 所述第一通信设备根据该ISSU开始标记,向本设备中的配合协议模块通知所述第二通信设备的软件升级开始包括所述第一邻居发现协议模块根据该ISSU开始标记,向本设备中的所述配合协议模块通知所述第二通信设备的软件升级开始。
3.根据权利要求2所述的方法,其特征在于,在所述第一通信设备根据该ISSU开始标记,向本设备中的配合协议模块通知所述第二通信设备的软件升级开始之前,还包括所述第一通信设备中需要配合邻居设备实现软件平滑升级的配合协议模块在启动时,向所述第一邻居发现协议模块进行注册,以指示自己在邻居设备进行软件升级时需要配合;所述第一邻居发现协议模块对向自己注册的配合协议模块的信息进行记录; 所述第一邻居发现协议模块在接收到携带有所述ISSU开始标记的邻居发现协议报文时,进一步根据记录的配合协议模块的信息,向对应的配合协议模块通知所述第二通信设备的软件升级开始。
4.根据权利要求2所述的方法,其特征在于,所述携带有ISSU开始标记的邻居发现协议报文中还包括所述第二通信设备的信息,则,所述配合协议模块暂停对所述第二通信设备对应的协议实体进行老化处理包括 所述配合协议模块根据以下信息至少之一所述第二通信设备的信息、接收到所述携带有ISSU开始标记的邻居发现协议报文的端口信息,确定本协议模块中对应于所述第二通信设备的协议实体; 所述配合协议模块暂停对所确定的协议实体进行老化处理。
5.根据权利要求4所述的方法,其特征在于,在所述配合协议模块暂停对所述第二通信设备对应的协议实体进行老化处理之后,还包括 在接收到所述第二邻居发现协议模块发来的携带有ISSU结束标记的邻居发现协议报文或者检测到所述第一通信设备与所述第二通信设备之间的链路故障之后,所述第一邻居发现协议模块向所述配合协议模块通知所述第二通信设备的软件升级结束;其中,所述携带有ISSU结束标记的邻居发现协议报文是在所述第二通信设备完成所述软件升级之后发送的;所述配合协议模块恢复对所述所确定的协议实体的老化处理。
6.根据权利要求5所述的方法,其特征在于,还包括 在所述第一通信设备要进行软件升级时,所述第一邻居发现协议模块向相邻的邻居设备发送携带有ISSU开始标记的邻居发现协议报文; 在所述第一通信设备完成所述软件升级之后,所述第一邻居发现协议模块向相邻的邻居设备发送携带有ISSU结束标记的邻居发现协议报文。
7.一种第一通信设备,其特征在于,包括 第一邻居发现协议模块,用于运行邻居发现协议,接收第二通信设备中的第二邻居发现协议模块发来的携带有不中断业务升级ISSU开始标记的邻居发现协议报文,其中,携带有ISSU开始标记的邻居发现协议报文是在所述第二通信设备要进行软件升级时发送的,以及,根据该ISSU开始标记,向本设备中的配合协议模块通知所述第二通信设备的软件升级开始,所述配合协议模块是与所述软件升级有关的、需要配合邻居设备以实现软件平滑升级的协议模块; 所述配合协议模块,用于在接收到所述第二通信设备的软件升级开始的通知之后,暂停对所述第二通信设备对应的协议实体进行老化处理。
8.根据权利要求7所述的通信设备,其特征在于, 所述配合协议模块还用于在启动时,向所述第一邻居发现协议模块进行注册,以指示自己在邻居设备进行软件升级时需要配合; 所述第一邻居发现协议模块还用于对向自己注册的配合协议模块的信息进行记录,在接收到携带有所述ISSU开始标记的邻居发现协议报文时,进一步根据记录的配合协议模块的信息,向对应的配合协议模块通知所述第二通信设备的软件升级开始。
9.根据权利要求7所述的通信设备,其特征在于,所述携带有ISSU开始标记的邻居发现协议报文中还包括所述第二通信设备的信息,则,所述配合协议模块包括 确定单元,用于在接收到所述第二通信设备的软件升级开始的通知之后,根据以下信息至少之一所述第二通信设备的信息、接收到所述携带有ISSU开始标记的邻居发现协议报文的端口信息,确定本协议模块中对应于所述第二通信设备的协议实体; 老化单元,用于对本协议模块内的各个协议实体进行老化处理,并且,在接收到所述第二通信设备的软件升级开始的通知之后,暂停对所述确定单元所确定的协议实体进行老化处理。
10.根据权利要求9所述的通信设备,其特征在于, 所述第一邻居发现协议模块还用于在接收到所述第二邻居发现协议模块发来的携带有ISSU结束标记的邻居发现协议报文、或者在检测到所述第一通信设备与所述第二通信设备之间的链路故障之后,向所述配合协议模块通知所述第二通信设备的软件升级结束; 所述配合协议模块中的所述老化单元还用于在接收到所述第二通信设备的软件升级结束的通知之后,恢复对所述确定单元所确定的协议实体的老化处理。
11.根据权利要求10所述的通信设备,其特征在于, 所述第一邻居发现协议模块还用于在本设备要进行软件升级时,向与本设备相邻的邻居设备发送携带有ISSU开始标记的邻居发现协议报文,以及,在本设备完成所述软件升级之后,向与本设备相邻的邻居设备发送携带有ISSU结束标记的邻居发现协议报文。
全文摘要
本申请公开了一种软件平滑升级的实现方法及设备,其中,该方法包括第一通信设备接收到相邻的第二通信设备发来的携带有ISSU开始标记的邻居发现协议报文,其中,携带有ISSU开始标记的邻居发现协议报文是在第二通信设备要进行软件升级时发送的;第一通信设备根据该ISSU开始标记,向本设备中的配合协议模块通知第二通信设备的软件升级开始,配合协议模块是与该软件升级有关的、需要配合邻居设备以实现软件平滑升级的协议模块;在接收到所述第二通信设备的软件升级开始的通知之后,配合协议模块暂停对第二通信设备对应的协议实体进行老化处理。本申请实现了通信设备的软件平滑升级,提供了一种公共的、通用的软件平滑升级实现方法。
文档编号H04L12/70GK102882887SQ20121039679
公开日2013年1月16日 申请日期2012年10月18日 优先权日2012年10月18日
发明者徐鹏飞 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1