一种软件升级方法及装置制造方法及图纸

技术编号:19744684 阅读:15 留言:0更新日期:2018-12-12 04:38
本发明专利技术提供一种软件升级方法及装置,该方法包括:接收针对目标特性软件的不间断软件升级指令;以HA方式向目标第二类型容器同步各特性软件的运行数据;当运行数据同步完成时,通知所述目标第二类型容器切换为活跃状态,并将所述目标第一类型容器切换为备用状态。应用本发明专利技术实施例可以避免控制层面长时间不工作导致的业务震荡,提高网络设备的可靠性和可维护性。

【技术实现步骤摘要】
一种软件升级方法及装置
本专利技术涉及网络通信
,尤其涉及一种软件升级方法及装置。
技术介绍
在运营商和数据中心等关键业务使用场景的网络中,要求网络设备具备极高的业务不间断服务能力,具有高可靠性。目前,网络设备的软件复杂度越来越高,运维中解决软件bug(漏洞)和增加新功能,都需要对软件进行升级。软件升级过程往往导致业务中断,给运营商和数据中心基础设施提供商,以及最终用户带来体验下降和直接经济损失。ISSU(InServiceSoftwareUpgrade,不间断软件升级)技术是一种在线升级软件并保证业务不断的关键手段。目前,当网络设备通过ISSU技术进行软件升级时,在软件升级过程中,网络设备的转发平面保持不变,但控制平面需要进行重启,该重启过程最快也是分钟级别,将导致控制平面长时间不可用,进而可能引起业务震荡。
技术实现思路
本专利技术提供一种软件升级方法及装置,以解决网络设备通过ISSU技术进行软件升级时会出现控制平面长时间不可用的问题。根据本专利技术实施例的第一方面,应用于网络设备上的第一类型容器中的目标第一类型容器,所述网络设备上搭建有至少一个所述第一类型容器,所述第一类型容器用于运行特性软件,该方法包括:接收针对目标特性软件的不间断软件升级指令;以高可用性HA方式向目标第二类型容器同步各特性软件的运行数据;其中,所述目标第二类型容器与所述目标第一类型容器运行有相同的特性软件,且所述目标第二类型容器中运行的所述目标特性软件的版本为升级后的版本,所述目标第二类型容器的初始状态为备用状态,备用状态的容器不进行转发层面控制;当运行数据同步完成时,通知所述目标第二类型容器切换为活跃状态,并将所述目标第一类型容器切换为备用状态。根据本专利技术实施例的第二方面,应用于网络设备上的第一类型容器中的目标第一类型容器,所述网络设备上搭建有至少一个所述第一类型容器,所述第一类型容器用于运行特性软件,该装置包括:接收单元,用于接收针对目标特性软件的不间断软件升级指令;同步单元,用于以高可用性HA方式向目标第二类型容器同步各特性软件的运行数据;其中,所述目标第二类型容器与所述目标第一类型容器运行有相同的特性软件,且所述目标第二类型容器中运行的所述目标特性软件的版本为升级后的版本,所述目标第二类型容器的初始状态为备用状态,备用状态的容器不进行转发层面控制;控制单元,用于当运行数据同步完成时,通知所述目标第二类型容器切换为活跃状态,并将所述目标第一类型容器切换为备用状态。应用本专利技术实施例,通过将特性软件装入容器,当目标第一类型容器需要对目标特性进行ISSU升级时,可以以HA方式向运行有相同特性软件,且软件版本为升级后的版本的目标第二类型容器同步各特性软件的运行数据,并在运行数据同步完成后,通知目标第二类型容器切换为活跃状态,并将自身切换为备用状态,由目标第二类型容器接替目标第一类型容器进行转发层面控制,与现有ISSU过程中控制层面会出现分钟级别的不工作时间相比,本专利技术实施例提供的软件升级方案控制层面不工作的时间降低至毫秒级别,避免了控制层面长时间不工作导致的业务震荡,提高了网络设备的可靠性和可维护性。附图说明图1是本专利技术实施例提供的一种软件升级方法的流程示意图;图2是本专利技术实施例提供的一种具体应用场景的示意图;图3是本专利技术实施例提供的一种软件升级方法的流程示意图;图4A~4D是本专利技术实施例提供的软件升级过程的示意图;图5是本专利技术实施例提供的一种软件升级装置的结构示意图;图6是本专利技术实施例提供的另一种软件升级装置的结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术实施例中的技术方案,并使本专利技术实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本专利技术实施例中技术方案作进一步详细的说明。请参见图1,为本专利技术实施例提供的一种软件升级方法的流程示意图,如图1所示,该软件升级方法可以包括以下步骤:需要说明的是,在本专利技术实施例中,网络设备的软件可以分为内核态软件和用户态软件,与用户态软件相比,内核态软件相对较小,且与业务应用没用直接关联,一般无需升级,因此,网络设备进行软件升级时主要是针对用户态软件的升级。用户态软件可以划分为多个不同的特性软件,例如,用于将路由信息下发给驱动的路由软件(也可以称为路由模块)、用于将驱动中的路由下发给芯片的驱动路由软件(也可以称为驱动路由模块)等。本专利技术实施例中,为了减少软件升级过程中控制平面的中断时间,可以将网络设备上搭建至少一个用于运行特性软件的容器(本文中可以称为第一类型容器),基于容器实现软件升级,其具体实现可以参见下述步骤中的描述。步骤101、接收针对目标特性软件的不间断软件升级指令。本专利技术实施例中,目标第一类型容器并不特指某一固定的第一类型容器,而是可以指代网络设备上的任一第一类型容器;同理,目标特性软件并不特指某一固定特性软件,而是可以指代目标第一类型容器中运行的任一特性软件,本专利技术实施例后续不再复述。本专利技术实施例中,为了避免网络设备业务中断,当网络设备需要进行软件升级时,可以通过不间断软件升级(即ISSU)技术进行软件升级。相应地,当需要对目标第一类型容器中的目标特性软件进行升级时,可以向网络设备下发针对目标第一类型容器中的目标特性软件的不间断软件升级指令(下文中简称为ISSU升级指令)。步骤102、以HA方式向目标第二类型容器同步各特性软件的运行数据。本专利技术实施例中,考虑到现有ISSU升级方案中控制平面仍然会出现分钟级别的不可用,进而会引起业务震荡,降低网络设备的可靠性,因此,为了提高网络设备的可靠性,当网络设备确定第一类型容器的特性软件需要进行升级时,网络设备可以不在该第一类型容器中对该特性软件进行升级,而是直接在本地创建一个与该第一类型容器运行有相同特性软件,且特性软件的版本为升级后的版本的容器(本文中称为第二类型容器),并在第一类型容器与第二类型容器之间进行针对特性软件的运行数据的同步,并在同步完成后,由第二类型容器接替该第一类型容器进行转发层面控制,在实现件升级的同时,大大降低控制平面不可用的时间。相应地,在本专利技术实施例中,当需要对目标第一类型容器中的目标特性软件进行升级时,网络设备可以创建对应该目标第一类型容器对应的第二类型容器(本文中称为目标第二类型容器),并向目标第一类型容器下发ISSU指令。其中,目标第二类型容器与目标第一类型容器运行有相同的特性软件,且目标第二类型容器中运行的目标特性软件的版本为升级后的版本;目标第二类型容器的初始状态为备用(standby)状态,备用状态的容器不进行转发层面控制,即此时仍由活跃(Active)状态的目标第一类型容器进行转发层面控制。由于目标第一类型容器的特性软件具有完整的运行数据,而目标第二类型容器是新启动,各特性软件的运行数据基本为空,因此,目标第一类型容器接收到ISSU指令时,可以向目标第二类型容器同步各特性软件的运行数据。在本专利技术实施例中,为了提高运行数据同步的效率和效果,目标第一类型容器可以利用HA(HighAvailable)方式向目标第二类型容器同步各特性软件的运行数据。步骤103、当数据同步完成时,通知目标第二类型容器切换为活跃状态,并将目标第一类型容器切换为备用状态。本专利技术实施例中,当目标第一类型容本文档来自技高网
...

【技术保护点】
1.一种软件升级方法,应用于网络设备上的第一类型容器中的目标第一类型容器,所述网络设备上搭建有至少一个所述第一类型容器,所述第一类型容器用于运行特性软件,其特征在于,该方法包括:接收针对目标特性软件的不间断软件升级指令;以高可用性HA方式向目标第二类型容器同步各特性软件的运行数据;其中,所述目标第二类型容器与所述目标第一类型容器运行有相同的特性软件,且所述目标第二类型容器中运行的所述目标特性软件的版本为升级后的版本,所述目标第二类型容器的初始状态为备用状态,备用状态的容器不进行转发层面控制;当运行数据同步完成时,通知所述目标第二类型容器切换为活跃状态,并将所述目标第一类型容器切换为备用状态。

【技术特征摘要】
1.一种软件升级方法,应用于网络设备上的第一类型容器中的目标第一类型容器,所述网络设备上搭建有至少一个所述第一类型容器,所述第一类型容器用于运行特性软件,其特征在于,该方法包括:接收针对目标特性软件的不间断软件升级指令;以高可用性HA方式向目标第二类型容器同步各特性软件的运行数据;其中,所述目标第二类型容器与所述目标第一类型容器运行有相同的特性软件,且所述目标第二类型容器中运行的所述目标特性软件的版本为升级后的版本,所述目标第二类型容器的初始状态为备用状态,备用状态的容器不进行转发层面控制;当运行数据同步完成时,通知所述目标第二类型容器切换为活跃状态,并将所述目标第一类型容器切换为备用状态。2.根据权利要求1所述的方法,其特征在于,所述以HA方式向目标第二类型容器同步各特性软件的运行数据,包括:触发所述目标第一类型容器中各特性软件对自身的运行数据进行批量备份;在批量备份过程中,触发所述目标第一类型容器中各特性软件对自身的运行数据进行实时备份,直至批量备份完成。3.根据权利要求2所述的方法,其特征在于,所述触发所述目标第一类型容器中各特性软件对自身的运行数据进行批量备份,包括:对于所述目标第一类型容器中任一特性软件,触发该特性软件将自身在第一时刻之前的运行数据批量备份给所述目标第二类型容器中的相同特性软件;其中,所述第一时刻为所述目标第一类型容器接收到所述不间断软件升级指令的时刻;所述触发所述目标第一类型容器中各特性软件对自身的运行数据进行实时备份,包括:对于所述目标第一类型容器中的任一特性软件,触发该特性软件将第一时刻到第二时刻之间的运行数据变化实时备份给所述目标第二类型容器中的相同特性软件;其中,所述第二时刻为批量备份完成的时刻。4.根据权利要求1所述的方法,其特征在于,备用状态的容器中的上层软件禁止设置驱动,且目标线程为空转模式;其中,所述目标线程为驱动软件对应的具有硬件设置能力的线程;所述通知所述目标第二类型容器切换为活跃状态,包括:向所述目标第二类型容器的不间断软件升级进程发送状态切换通知消息,以使所述目标第二类型容器的不间断软件升级进程将所述目标第二类型容器上的上层软件设置为允许设置驱动,并将目标线程设置为工作模式;所述将所述目标第一类型容器切换为备用状态,包括:将所述目标第一类型容器的上层软件设置为禁止设置驱动,并将目标线程设置为空转模式。5.根据权利要求1所述的方法,其特征在于,所述通知所述目标第二类型容器切换为活跃状态,并将所述目标第一类型...

【专利技术属性】
技术研发人员:王明辉
申请(专利权)人:新华三技术有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1