设备更新方法及装置与流程

文档序号:17298626发布日期:2019-04-03 04:41阅读:342来源:国知局
设备更新方法及装置与流程

本公开涉及通信技术领域,具体而言,涉及一种设备更新方法及装置。



背景技术:

issu(in-servicesoftwareupgrade,不中断业务升级)是一种可靠性高的升级设备启动软件的方式。通过issu升级,能够确保在升级过程中业务不中断或者中断时间较短。

irf(intelligentresilientframework,智能弹性架构)结合issu升级可以满足用户在irf环境下升级到新的版本,可以缩减各业务的丢包时间,但只有通过聚合接入才可以缩减各业务的丢包时间,实际组网中,irf下行通过聚合接入比较普遍,因为下行是用户接入,用户通过交换机走聚合接入到irf很普遍,但上行很多组网就提出了需要ecmp等价路由的方式来满足,无法通过聚合接入来满足。



技术实现要素:

本公开实施例的目的在于提供一种设备更新方法及装置,以解决在irf设备在issu升级过程中,容易丢包的问题。

为了实现上述目的,本公开实施例采用的技术方案如下:

第一方面,本公开一实施例提出一种设备更新方法,所述方法应用于通信系统,所述系统包括第一设备和第二设备,所述第一设备包括多个子设备,所述子设备与所述第二设备之间建立链路,所述方法包括:

所述第一设备根据用户更新指令,将待更新子设备的链路开销值设置为预设值,获取修改后的链路开销值并进入等待期,其中,所述待更新子设备为多个所述子设备中一个;

所述第一设备向所述第二设备发送预设链路协议的报文,所述预设链路协议的报文携带所述修改后的链路开销值,以使所述第二设备根据所述预设链路协议的报文将当前链路开销值修改为指定链路开销值;

所述等待期计时结束后,所述第一设备重启所述待更新子设备。

第二方面,本公开一实施例还提出一种设备更新方法,所述方法应用于通信系统,所述系统包括第一设备和第二设备,所述第一设备包括多个子设备,每个所述子设备与所述第二设备之间建立链路,所述方法包括:

所述第二设备接收所述第一设备发送的预设链路协议的报文,所述预设链路协议的报文携带指定链路开销值,所述指定链路开销值为所述第一设备根据用户更新指令修改后的链路开销值;

所述第二设备根据所述预设链路协议的报文,将当前链路开销值修改为所述指定链路开销值。

第三方面,本公开一实施例还提出一种设备更新装置,该装置应用于通信系统,所述系统包括第一设备和第二设备,所述第一设备包括多个子设备,所述子设备与所述第二设备之间建立链路,所述装置集成于所述第一设备,包括:获取模块、第一发送模块、重启模块;

所述获取模块,用于根据用户更新指令,将待更新子设备的链路开销值设置为预设值,获取修改后的链路开销值并进入等待期,其中,所述待更新子设备为多个所述子设备中一个;

所述第一发送模块,用于向所述第二设备发送预设链路协议的报文,所述预设链路协议的报文携带所述修改后的链路开销值,以使所述第二设备根据所述预设链路协议的报文将当前链路开销值修改为指定链路开销值;

所述重启模块,用于在所述等待期计时结束后,重启所述待更新子设备。

第四方面,本公开一实施例还提供一种设备更新装置,所述装置应用于通信系统,所述系统包括第一设备和第二设备,所述第一设备包括多个子设备,所述子设备与所述第二设备之间建立链路,所述装置集成于所述第二设备,包括:第一接收模块、修改模块;

所述第一接收模块,用于接收所述第一设备发送的预设链路协议的报文,所述预设链路协议的报文携带指定链路开销值,所述指定链路开销值为所述第一设备根据用户更新指令修改后的链路开销值;

所述修改模块,用于根据所述预设链路协议的报文,将当前链路开销值修改为所述指定链路开销值。

第五方面,本公开一实施例还提出一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如上述第一方面和第二方面所述的方法。

第六方面,本公开一实施例还提出一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述第一方面和第二方面所述的方法。

相对现有技术,本公开实施例具有以下有益效果:

在本公开实施例中,通过修改第一设备中待更新子设备的链路开销值,获取修改后的链路开销值并进入等待期,同时将修改后的链路开销值通过报文发送给第二设备,等待期结束后,再对待升级子设备进行重启操作。由于修改了待升级子设备的链路开销值,则该待升级子设备与第二设备之间的链路开销将会变大,固第二设备与该待升级子设备之间的流量交互将会非常少甚至没有,此时等待期过后再对待升级子设备进行重启操作,由于该链路上的流量交互已经非常少,就可以很大程度上减少流量丢包,甚至不会造成流量丢包。

本公开的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本公开实施例了解。本公开的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本公开一实施例所提供的报文格式的示意图;

图2示出了本公开一实施例所提供的通信系统示意图;

图3示出了本公开一实施例所提供的设备更新方法的流程示意图;

图4示出了本公开另一实施例所提供的设备更新方法的流程示意图;

图5示出了本公开另一实施例所提供的设备更新方法的流程示意图;

图6示出了本公开另一实施例所提供的设备更新方法的流程示意图;

图7示出了本公开一实施例所提供的设备更新方法的流程示意图;

图8示出了本公开另一实施例所提供的设备更新方法的流程示意图;

图9示出了本公开一实施例所提供的设备更新装置的结构示意图;

图10示出了本公开一实施例所提供的设备更新装置的结构示意图;

图11示出了本公开一实施例提供的一种电子设备结构示意图。

具体实施方式

下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

为使本公开下述实施例中的内容更容易理解,在此对部分必要的名词作出解释如下:

等价路由(equal-costmultipathrouting,ecmp):为到达同一个目的地址或者目的网段存在多条开销(cost)值相等的不同路由路径。

链路聚合(linkaggregation):指将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入流量吞吐量在各成员端口的负荷分担,交换机根据用户配置的端口负荷分担策略决定网络封包从哪个成员端口发送到对端的交换机。当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送封包,并根据负荷分担策略在剩下的链路中重新计算报文的发送端口,故障端口恢复后再次担任收发端口。链路聚合在增加链路带宽、实现链路传输弹性和工程冗余等方面是一项很重要的技术。

路径开销(pathcost):表示网桥间距离的度量,路径开销是两个网桥间路径上所有的链路开销之和。路径开销是用来衡量到达目标位置的代价,其值是两点之间某条路径上所有链路开销的总和。最小的路径开销是到达目标点的最佳路径。

请参照图1,图1示出了本公开一实施例所提供的一种报文格式的示意图,在本公开的一实施例中,以预设链路协议以协议p为例,采用协议p报文进行传输链路开销值,但不以此为限。

如图1所示,协议p报文包括:组播类型物理地址(dmac)字段、报文接口物理地址(smac)字段、报文类型(type)字段、数据(data)字段、帧检验序列(fcs)字段。

其中,dmac为p协议特有的组播类型的传媒访问控制地址(mediaaccesscontroladdress,mac),这个mac也是用来指示协议p报文的一个参考流量。

smac为发送p协议报文的接口的mac地址。

type和reserve为报文类型,假定为当前协议没有使用到的特殊的一个字段:0x5699;设备收到报文后就是以此type作为关键特征识别为p协议报文。通信设备根据收到的报文中的type字段内的内容确定是否采用协议p进行通信,例如以“0x5699”为标识,只要收到的type字段内包含“0x5699”就采用协议p进行通信。

data为数据内容,具体为p协议封装的链路开销消息,我们可以称为协议数据单元(presentationprotocoldataunit,ppdu)。

fcs为帧检验序列,用来对报文进行校验。

其中,dmac/smac/type/fcs流量都是日常协议使用频率较高的字段,而data字段里记录着本端设备根据链路接口的带宽,计算出的链路开销值icost。链路开销值icost,代表该链路上的物理开销值,一个接口的物理带宽越大,其物理开销值就越小,例如:10m的链路,icost为5000;100m的链路,icost为1000;1g的链路,icost为100;10g的链路,icost为10;40g的链路,icost为5;100g的链路,icost为2,本公开不作具体限制。

其中,icost实际仅为联动路由协议进行实际开销计算的一个因子,但icost越小,路由计算出的实际链路的开销也越小,物理带宽就越大;icost越大,链路的开销就越大,物理带宽就越小,该链路可以传输的流量就越少。

需要说明的是,icost值可以根据用户需要修改,此时,p协议的优点显而易见:即在各种双上行网络上,即通过ecmp构建等价链路的情况下,都可以通过p协议来提前更改icost来,从而让路由从等价变为非等价,然后再进行设备的重启。这样就避免了先重启设备,感知到链路接口关闭后才进行链路的切换,导致流量大量丢包的情况,巧妙地利用链路开销的提前变更来提前切换路径,减少设备升级过程中造成的丢包现象。

请参照图2,图2示出了本公开一实施例提供的通信系统示意图。以irf系统为例,设备a和irf设备b之间通过聚合接入,设备c和设备b之间通过等价路由ecmp连接,即设备b到设备c的流量,可以通过两条等价路由到达设备c,流量负载分担到x链路和y链路上。

设备b和设备c在x链路和y链路上都可以启用p协议,设备b和设备c交互彼此的icost,并且运行在设备b和设备c上的路由协议通过icost计算链路x和链路y的开销。x链路和y链路要保持ecmp等价,走的链路物理带宽相同,即正常情况下,icost值在x链路和y链路上应该相等。

需要说明的是,采用p协议在设备b和设备c上的交互过程为,对icost的协商采用简单的沟通机制:具体地,彼此将自己的icost发送给对方,对方接收到发送的icost后,根据自己端口计算自己当前的icost,并与接收到的icost进行比较,取两者中较大的值作为最终生效的icost;并将最终生效的icost传递给上层路由协议,用于计算链路cost值。

由于现有技术中设备升级后重启在前,链路开销值的计算和链路切换在后,而等价路由的链路切换相比聚合需要更多的时间,切换过程就会造成不少流量的丢包;所以本公开提供一种设备更新方法,以解决上述问题。

需要说明的是,本公开提供的方法和装置,均以启用了p协议的irf系统为例,结合issu升级的场景进行说明,但不以此为限,其他类似场景均适用,例如一端采用聚合、另一端采用等价路由的网络架构中。

请参照图3,图3示出了本公开一实施例提供的设备更新方法的流程示意图,该方法应用于通信系统,该系统包括第一设备和第二设备,其中,第一设备包括多个子设备,子设备与第二设备之间建立链路。该第一设备和第二设备可以为路由设备,其中,第一设备可以如图2中的设备b,第二设备可以如图2中的设备c。设备b以图2为例可以包括2个子设备,分别于设备c建立链路,当然子设备的数量在此不具体限制。

该具体方法包括如下步骤:

s101:第一设备根据用户更新指令,将待更新子设备的链路开销值设置为预设值,获取修改后的链路开销值并进入等待期,其中,待更新子设备为多个子设备中一个。

需要说明的是,第一设备中的多个子设备可以分为主设备和备用设备,其中,将当前的待更新子设备定义为主设备,其余设备均为备用设备;其中,第一设备的所有子设备与第二设备之间的链路都可以启用协议p通信,并交互彼此的链路开销值。

可选地,预设值为用户任意设置的一个极大值,可以为5000或6000或1000,具体根据用户需要设置,并不以此为限。

可选地,等待期也可以是用户需预先设置的值,具体可以基于切换链路所用的时间来设定,也可以根据设备b和设备c的性能进行灵活调整,例如对于高性能的路由器,等待期可以设置的较短,比如5秒;对于低性能的路由器,根据链路开销切换路由则可能需要更长时间,等待期可以设置的较长,比如15秒;具体根据用户需要设置,并不以此为限。

s102:第一设备向第二设备发送预设链路协议的报文,预设链路协议的报文携带修改后的链路开销值,以使第二设备根据预设链路协议的报文将当前链路开销值修改为指定链路开销值。

需要说明的是,第一设备获取到修改后的待升级子设备的链路开销值后,随即通过预设链路协议向第二设备发送预设链路协议的报文,预设链路协议的报文携带修改后的链路开销值。本公开实施例中,预设链路协议可以是上述p协议或具备类似功能的协议。

s103:等待期计时结束后,第一设备重启待更新子设备。

需要说明的是,等待期结束后,由于待升级子设备的链路开销值已更改为预设值,流量已经几乎不在待升级子设备与第二设备之间的链路上传输,此时再对待更新子设备进行重启,这样就避免了先重启待升级子设备,感知到待升级子设备与第二设备之间的链路接口关闭后才进行链路的切换,导致流量大量丢包的情况。

本实施例提供的设备更新方法,通过修改第一设备中待更新子设备的链路开销值,获取修改后的链路开销值并进入等待期,同时将修改后的链路开销值通过报文发送给第二设备,等待期结束后,再对待升级子设备进行重启操作。由于修改了待升级子设备的链路开销值,则该待升级子设备与第二设备之间的链路开销将会变大,固第二设备与该待升级子设备之间的流量交互将会非常少甚至没有,此时等待期过后再重启待升级子设备,由于该链路上的流量交互已经非常少,就可以很大程度上减少丢包,甚至不会造成丢包。

请参照图4,图4示出了本公开另一实施例提供的设备更新方法的流程示意图,在步骤s103之后,还包括:

s201:第一设备计算获取待更新子设备的实际链路开销值。

需要说明的是,实际链路开销值是通过待更新子设备根据链路接口的带宽计算出的实际链路开销值,待更新子设备重启完成后,第一设备需要对待更新子设备当前的实际链路开销值进行计算。

s202:第一设备将待更新子设备的链路开销值设置为实际链路开销值。

需要说明的是,待更新子设备重启后,以更新后的版本运行,待升级子设备重启后,需要将链路开销值更新至实际链路开销值,即将待更新子设备的链路开销值更新为计算得到的实际链路开销值。

请参照图5,图5示出了本公开另一实施例提供的设备更新方法的流程示意图,在步骤s202之后,还包括:

s203:第一设备向第二设备发送更新消息,更新消息用于指示第二设备更新链路开销值。

需要说明的是,待升级子设备重启后,待升级子设备的链路开销值即更新为实际链路开销值,相应地,第一设备向第二设备发送更新消息,通知第二设备也将链路开销值更新至实际链路开销值,则第二设备接收到更新消息后,随即将当前链路开销值更新为实际链路开销值,第一设备和第二设备之间的流量传输再次恢复至等价路由传输。

请参照图6,图6示出了本公开另一实施例提供的设备更新方法的流程示意图,在步骤s101之后,还包括:

s104:第一设备将待更新子设备与第二设备之间链路所传输的流量切换至其他子设备与第二设备之间的链路上传输。

需要说明的是,待更新子设备更改链路开销值以后,需要通知第一设备的上层路由协议,根据更改后的链路开销重新计算路由。

由于待更新子设备与第二设备之间的链路开销变大,此时路由从等价变为非等价,所以第一设备发往第二设备的流量经过重新计算后,会全部切至其他子设备与第二设备之间的链路上进行传输,然后再进行设备的重启,利用链路开销的提前变更来提前切换传输路径,从而减少设备升级过程中造成的丢包现象。

可选地,预设链路协议的报文中:data字段用于携带链路开销值,dmac字段用于指示采用预设链路协议通信。

在本公开的实施例中,通过修改第一设备中待更新子设备的链路开销值,获取修改后的链路开销值并进入等待期,同时将修改后的链路开销值通过报文发送给第二设备,等待期结束后,再对待升级子设备进行重启操作。由于修改了待升级子设备的链路开销值,则该待升级子设备与第二设备之间的链路开销将会变大,故第二设备与该待升级子设备之间的流量交互将会非常少甚至没有,此时等待期过后再重启待升级子设备,由于该链路上的流量交互已经非常少,就可以很大程度上减少流量丢包,甚至不会造成流量丢包。

请参照图7,图7示出了本公开一实施例提供的设备更新方法的流程示意图,该方法应用于通信系统,该系统包括第一设备和第二设备,第一设备包括多个子设备,子设备与第二设备之间建立链路。与前述实施例相应地,以第二设备为执行主体,该方法具体包括如下步骤:

s301:第二设备接收第一设备发送的预设链路协议的报文,预设链路协议的报文携带指定链路开销值,指定链路开销值为第一设备根据用户更新指令修改后的链路开销值。

需要说明的是,第一设备获取到修改后的待升级子设备的链路开销值后,向第二设备发送预设链路协议的报文,预设链路协议的报文携带修改后的链路开销值,第二设备随即接收第一设备发送的预设链路协议的报文。

s302:第二设备根据预设链路协议的报文,将当前链路开销值修改为指定链路开销值。

需要说明的是,第二设备接收到第一设备发送的预设链路协议的报文后,发现待升级子设备与第二设备之间的链路开销值为预设值,此时,第二设备也将本端的链路开销值相应修改为预设值。

请参照图8,图8示出了本公开另一实施例提供的设备更新方法的流程示意图,步骤s302之后,还包括:

s303:第二设备接收第一设备发送的更新消息,更新消息用于指示第二设备更新链路开销值。

需要说明的是,待升级子设备升级结束后,待升级子设备的链路开销值随即更新为实际链路开销值,相应地,第一设备向第二设备发送更新消息,通知第二设备将链路开销值也更新至实际链路开销值,第二设备接收到更新消息后,对当前链路开销值进行更新。

s304:第二设备根据更新消息,计算获取实际链路开销值。

需要说明的是,实际链路开销值是通过第二设备根据链路接口的带宽计算出的实际链路开销值,第二设备根据接收到更新消息后,对当前的实际链路开销值进行计算,获取当前的实际链路开销值。

s305:第二设备将指定链路开销值更新为实际链路开销值。

需要说明的是,待更新子设备重启后,以更新后的版本运行,待升级子设备重启后,即将待更新子设备的链路开销值更新为实际链路开销值,相应地,第二设备的链路开销值也更新至实际链路开销值,第一设备和第二设备之间的流量传输再次恢复至等价路由传输。

进一步地,待升级子设备的升级、重启操作均完成、同时第一设备和第二设备的所有链路开销值也都更新至实际链路开销值后,第一设备可以进行主设备和备用设备的倒换:在还未升级的备用设备中选择一个作为当前待升级子设备(即主设备),其余子设备均为备用设备,此时第一设备和第二设备的互通流量仍然为等价路由传输。

其中,第一设备中原来的备用设备,即当前待升级子设备(主设备)需要升级重启,此时,重复上述图3-图7中的所有步骤:

当前待升级子设备先将其链路开销值修改为预设值,并进入等待期,同时通知第二设备也对其链路开销值进行修改,此时所有流量交互都会切至其他备用设备与第二设备的链路上,经过等待期后,对当前待升级子设备进行重启操作;待当前待升级子设备升级重启操作完成后,待升级子设备的链路开销值恢复为实际链路开销值,同时第一设备通知第二设备也将其链路开销值恢复至实际链路开销值,恢复完成后,第一设备和第二设备的互通流量也恢复至等价路由传输。

每次待更新子设备的升级、重启操作均完成、同时第一设备和第二设备的所有链路开销值也都恢复至实际链路开销值后,重复进行主设备和备用设备的倒换,直至第一设备中所有子设备均完成升级操作。

请参照图9,图9示出了本公开一实施例提供的设备更新装置的结构示意图,如图9所示,该装置应用于通信系统,系统包括第一设备和第二设备,第一设备包括多个子设备,所述子设备与所述第二设备之间建立链路,该装置集成于第一设备,包括:获取模块401、第一发送模块402、重启模块403。

获取模块401,用于根据用户更新指令,将待更新子设备的链路开销值设置为预设值,获取修改后的链路开销值并进入等待期,其中,待更新子设备为多个子设备中一个。

第一发送模块402,用于向第二设备发送预设链路协议的报文,预设链路协议的报文携带修改后的链路开销值,以使第二设备根据预设链路协议的报文将当前链路开销值修改为指定链路开销值。

重启模块403,用于在等待期计时结束后,重启待更新子设备。

请参照图10,图10示出了本公开一实施例提供的设备更新装置的结构示意图,如图10所示,该装置应用于通信系统,系统包括第一设备和第二设备,第一设备包括多个子设备,子设备与第二设备之间建立链路,该装置集成于第二设备,包括:第一接收模块501、修改模块502。

第一接收模块501,用于接收第一设备发送的预设链路协议的报文,预设链路协议的报文携带指定链路开销值,指定链路开销值为第一设备根据用户更新指令修改后的链路开销值。

修改模块502,用于根据预设链路协议的报文,将当前链路开销值修改为指定链路开销值。

请参照图11,图11示出了本公开一实施例提供的一种电子设备结构示意图。本公开一实施例还提供了一种电子设备,包括:处理器901、存储介质902和总线903,存储介质902存储有处理器901可执行的机器可读指令,当电子设备运行时,处理器901与存储介质902之间通过总线903通信,处理器901执行机器可读指令,以执行时执行本公开实施例所提供的设备更新方法的步骤。

本公开一实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行本公开实施例所提供的设备更新方法的步骤。

需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

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