CN108984195A - 一种软件升级方法及装置 - Google Patents
一种软件升级方法及装置 Download PDFInfo
- Publication number
- CN108984195A CN108984195A CN201810682522.2A CN201810682522A CN108984195A CN 108984195 A CN108984195 A CN 108984195A CN 201810682522 A CN201810682522 A CN 201810682522A CN 108984195 A CN108984195 A CN 108984195A
- Authority
- CN
- China
- Prior art keywords
- target
- software
- container
- characteristic
- operation data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种软件升级方法及装置,该方法包括:接收针对目标特性软件的不间断软件升级指令;以HA方式向目标第二类型容器同步各特性软件的运行数据;当运行数据同步完成时,通知所述目标第二类型容器切换为活跃状态,并将所述目标第一类型容器切换为备用状态。应用本发明实施例可以避免控制层面长时间不工作导致的业务震荡,提高网络设备的可靠性和可维护性。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及一种软件升级方法及装置。
背景技术
在运营商和数据中心等关键业务使用场景的网络中,要求网络设备具备极高的业务不间断服务能力,具有高可靠性。
目前,网络设备的软件复杂度越来越高,运维中解决软件bug(漏洞)和增加新功能,都需要对软件进行升级。软件升级过程往往导致业务中断,给运营商和数据中心基础设施提供商,以及最终用户带来体验下降和直接经济损失。
ISSU(In Service Software Upgrade,不间断软件升级)技术是一种在线升级软件并保证业务不断的关键手段。
目前,当网络设备通过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(High Available)方式向目标第二类型容器同步各特性软件的运行数据。
步骤103、当数据同步完成时,通知目标第二类型容器切换为活跃状态,并将目标第一类型容器切换为备用状态。
本发明实施例中,当目标第一类型容器完成运行数据同步时,目标第一类型容器可以通知目标第二类型容器切换为活跃状态(由备用状态切换为活跃状态),并将自身切换为备用状态(由活跃状态切换为备用状态),由目标第二类型容器接替目标第一类型容器进行转发层面控制。
由于目标第二类型容器和目标第一类型容器的各特性软件具有相同的运行数据,因此,目标第二类型容器和目标第一类型容器完成状态切换后,并不会影响业务的正常运行,此外,由于目标第二类型容器中运行的为软件版本升级后的应用,即不需要再在目标第一类型容器或目标第二类型容器中进行专门的软件升级流程即可实现软件升级。
需要说明的是,在本发明实施例中,第二类型容器由备用状态切换为激活状态之后,第二类型容器可以相当于第一类型容器,相应地,第二类型容器也可以按照上述方式进行特性软件升级,其具体实现在此不做赘述。
可见,在图1所示方法流程中,当目标第一类型容器需要对目标特性进行ISSU升级时,可以以HA方式向运行有相同特性软件,且软件版本为升级后的版本的目标第二类型容器同步各特性软件的运行数据,并在运行数据同步完成后,通知目标第二类型容器切换为活跃状态,并将自身切换为备用状态,由目标第二类型容器接替目标第一类型容器进行转发层面控制,软件升级过程中仅在状态切换过程(毫秒级别)中控制平面不可用的情况,在实现软件升级的同时,大大降低了控制平面不可用的时间,提高了网络设备的可靠性和可维护性。
在本发明其中一个实施例中,上述以HA方式向目标第二类型容器同步各特性软件的运行数据,可以包括:
触发目标第一类型容器中各特性软件对自身的运行数据进行批量备份;
在批量备份过程中,触发目标第一类型容器中各特性软件对自身的运行数据进行实时备份,直至批量备份完成。
在该实施例中,可以将目标第一类型容器作为主用设备,目标第二类型容器作为备用设备,目标第一类型容器和目标第二类型容器形成双机热备。
相应地,目标第一类型容器接收到ISSU升级指令时,可以触发自身各特性软件通过批量备份+实时备份的方式向目标第二类型容器同步各特性软件的运行数据。
在一个示例中,上述触发目标第一类型容器中各特性软件对自身的运行数据进行批量备份,包括:
对于目标第一类型容器中任一特性软件,触发该特性软件将自身在第一时刻之前的运行数据批量备份给目标第二类型容器中的相同特性软件;其中,第一时刻为目标第一类型容器接收到不间断软件升级指令的时刻;
上述触发目标第一类型容器中各特性软件对自身的运行数据进行实时备份,包括:
对于目标第一类型容器中的任一特性软件,触发该特性软件将第一时刻到第二时刻之间的运行数据变化实时备份给目标第二类型容器中的相同特性软件;其中,第二时刻为批量备份完成的时刻。
具体地,当目标第一类型容器接收到ISSU指令时,目标第一类型容器可以触发各特性软件将自身在第一时刻之前的运行数据批量备份给目标第二类型容器中的相同特性软件。
考虑到进行批量备份时,需要备份的运行数据(各特性软件在第一时刻之前的运行数据)一般较多,相应地,批量备份过程持续的时间相对会较长,在该过程中,目标第一类型容器中可能会存在部分或全部特性软件的运行数据发生变化的情况。
相应地,为了保证目标第一类型容器和目标第二类型容器的运行数据的一致性,在批量备份过程中,目标第一类型容器可以监测自身各特性软件的运行数据变化,当存在特性软件的运行数据发生变化时,目标第一类型容器可以触发该特性软件将运行数据变化实时备份给目标第二类型容器中的相同特性软件。
其中,由于实时备份的数据量通常远小于批量备份的数据量,实时备份所需时间相应也远小于批量备份所需时间,因此,可以认为批量备份完成的时间记为批量备份+实时备份完成的时间。
相应地,当目标第一类型容器确定自身的各特性软件均完成批量备份时,目标第一类型容器可以确定自身与目标第二类型容器完成运行数据同步。
在本发明其中一个实施例中,由于特性软件可以包括上层软件和驱动软件,其中,上层软件可以通过设置驱动软件实现对转发层面的控制,驱动软件也可以自发对转发层面进行控制,因此,为了避免备用状态的容器对转发层面进行控制,一方面,可以将备用状态的容器的上层软件设置为禁止设置驱动软件,以避免上层软件调用驱动函数进行转发层面控制;另一方面,将驱动软件对应的具有硬件设置能力的线程(本文中称为目标线程,如定时器线程、硬件检测线程、收包线程等)设置为空转模式,以避免驱动软件进行转发层面控制。
相应地,上述通知目标第二容器切换为活跃状态,可以包括:
向目标第二类型容器的ISSU进程发送状态切换通知消息,以使目标第二类型容器的ISSU进程将目标第二类型容器上的上层软件设置为允许设置驱动,并将目标第二类型容器上的驱动软件设置为工作模式(由空转模式设置为工作模式),进而,目标第二类型容器上的上层软件可以调用驱动函数进行转发层面控制,驱动软件也可以进行转发层面控制。
进一步地,在本发明实施例中,为了节省系统资源,目标第一类型容器切换为备用状态之后,网络设备可以对目标第一类型容器进行资源释放,例如,网络设备可以向目标第一类型容器发送资源释放指令,目标第一类型容器接收到资源释放指令时,可以进行资源释放,如杀死各特性软件对应的进程。
为了使本领域技术人员更好地理解本发明实施例提供的技术方案,下面结合具体应用场景对本发明实施例提供的技术方案进行说明。
请参见图2,为本发明实施例提供的一种应用场景的示意图,如图2所示,网络设备200上搭建有第一类型容器210,其中,第一类型容器中运行有上层软件211和驱动软件212。
需要说明的是,在该实施例中,当网络设备200正常运行时,第一类型容器210处于Active(活跃)状态;其中,Active状态的第一类型容器可以对转发层面进行控制。
基于图2所示应用场景,本发明实施例提供的软件升级方案实现如下:
在该实施例中,假设上层软件211和驱动软件212需要进行升级,网络设备200通过ISSU对上层软件211和驱动软件212进行升级(简称为ISSU升级),其软件升级实现流程如图3所示,可以包括以下步骤:
步骤301、当需要对第一类型容器210中的上层软件211和驱动软件212进行软件升级时,网络设备200可以创建第二类型容器220。
在该实施例中,当需要对第一类型容器210中的上层软件211和驱动软件212进行软件升级时,网络设备200可以创建第二类型容器220,如图4A所示,该第二类型容器220中运行有上层软件221(上层软件211升级后的版本)和驱动软件222(驱动软件212升级后的版本)。
第二类型容器220的初始状态为Standby(备用)状态;当第二类型容器220的状态为Standby状态时,第二类型容器220上的上层软件221禁止对驱动软件222进行设置,且驱动软件222对应的目标线程,如定时器线程、硬件检测线程、收包线程等,均被设置为空转模式。
相应地,在该情况下,上层软件221将不会向驱动软件222发包,驱动软件222会对收包队列中的报文做丢弃处理。
步骤302、网络设备200分别在第一类型容器210和第二类型容器220中启动ISSU进程213和ISSU进程223。
步骤303、网络设备200向第一类型容器210的ISSU进程213发送ISSU指令。
步骤304、第一类型容器210的ISSU进程213向上层软件211和驱动软件212发送批量备份指令。
在该实施例中,为了使第一类型容器210和第二类型容器220中各特性软件具有相同的运行数据,第一类型容器210的ISSU进程213接收到ISSU指令时,ISSU进程213可以触发上层软件211以HA方式向第二类型容器220的上层软件221同步自身的运行数据,并触发驱动软件212以HA方式向第二类型容器220的驱动软件222同步自身的运行数据,其示意图如可以如图4B所示。
步骤305、第一类型容器210的上层软件211和驱动软件212将自身在T1时刻的运行数据批量备份给第二类型容器220的上层软件221和驱动软件222。
其中,T1时刻为第一类型容器210的ISSU进程213接收到ISSU指令的时刻。
步骤306、在批量备份过程中,第一类型容器210的ISSU进程213向运行数据发生变化的上层软件211和/或驱动软件212发送实时备份指令。
在该实施例中,在批量备份过程中,第一类型容器210的ISSU进程213可以监测上层软件211和驱动软件212的运行数据是否发生变化,并向运行数据发生变化的上层软件211和/或驱动软件212发送实时备份指令。
在该实施例中,假设上层软件211在批量备份过程中发生了运行数据变化。
步骤307、第一类型容器210的上层软件211将运行数据变化实时备份给第二类型容器220的上层软件212。
步骤308、当批量备份完成时,第一类型容器210的ISSU进程213向第二类型容器220的ISSU进程223发送状态切换指令,并将自身状态切换为备用状态。
其中,第一类型容器210切换为备用状态时,ISSU进程213可以将上层软件211设置为禁止设置驱动软件212,并将驱动软件212对应的定时器线程、硬件检测线程、收包线程等目标线程设置为空转状态,此时,第一类型容器210不再进行转发层面控制。
步骤309、第二类型容器220的ISSU进程223将第二类型容器切换为活跃状态。
在该实施例中,第二类型容器220的ISSU进程223接收到状态切换指令时,将上层软件221设置为允许设置驱动软件222,并将驱动软件222对应的目标线程设置为工作状态,进而,第二类型容器220可以进行转发层面的控制,其示意图可以如图4C所示。
其中,第二类型容器220切换为活跃状态之后,可以对ISSU进程223进行资源释放。
进一步地,在该实施例中,第一类型容器210切换为备用状态之后,网络设备200可以向第一类型容器210的ISSU进程213发送资源释放指令,ISSU进程213接收到该资源释放指令时,可以对第一类型容器210进行资源释放,其示意图可以如图4D所示。
通过以上描述可以看出,在本发明实施例提供的技术方案中,通过将特性软件装入容器,当目标第一类型容器需要对目标特性进行ISSU升级时,可以以HA方式向运行有相同特性软件,且软件版本为升级后的版本的目标第二类型容器同步各特性软件的运行数据,并在运行数据同步完成后,通知目标第二类型容器切换为活跃状态,并将自身切换为备用状态,由目标第二类型容器接替目标第一类型容器进行转发层面控制,与现有ISSU过程中控制层面会出现分钟级别的不工作时间相比,本发明实施例提供的软件升级方案控制层面不工作的时间降低至毫秒级别,避免了控制层面长时间不工作导致的业务震荡,提高了网络设备的可靠性和可维护性。
请参见图5,为本发明实施例提供的一种软件升级装置的结构示意图,其中,该软件升级装置可以应用于上述方法实施例中的网络设备,如图5所示,该软件升级装置可以包括:
接收单元510,用于接收针对目标特性软件的不间断软件升级指令;
同步单元520,用于以HA方式向目标第二类型容器同步各特性软件的运行数据;其中,目标第二类型容器与目标第一类型容器运行有相同的特性软件,且目标第二类型容器中运行的目标特性软件的版本为升级后的版本,目标第二类型容器的初始状态为备用状态,备用状态的容器不进行转发层面控制;
控制单元530,用于当运行数据同步完成时,通知目标第二类型容器切换为活跃状态,并将目标第一类型容器切换为备用状态。
在可选实施例中,同步单元520,具体用于触发目标第一类型容器中各特性软件对自身的运行数据进行批量备份;
同步单元520,还具体用于在批量备份过程中,触发目标第一类型容器中各特性软件对自身的运行数据进行实时备份,直至批量备份完成。
在可选实施例中,同步单元520,具体用于对于目标第一类型容器中任一特性软件,触发该特性软件将自身在第一时刻之前的运行数据批量备份给目标第二类型容器中的相同特性软件;其中,第一时刻为目标第一类型容器接收到不间断软件升级指令的时刻;
同步单元520,还具体用于对于目标第一类型容器中的任一特性软件,触发该特性软件将第一时刻到第二时刻之间的运行数据变化实时备份给目标第二类型容器中的相同特性软件;其中,第二时刻为批量备份完成的时刻。
在可选实施例中,备用状态的容器中的上层软件禁止设置驱动,且目标线程为空转模式;其中,目标线程为驱动软件对应的具有硬件设置能力的线程;
相应地,控制单元530,具体用于向目标第二类型容器的不间断软件升级进程发送状态切换通知消息,以使目标第二类型容器的不间断软件升级进程将目标第二类型容器上的上层软件设置为允许设置驱动,并将目标线程设置为工作模式;
控制单元530,还具体用于将目标第一类型容器的上层软件设置为禁止设置驱动,并将目标线程设置为空转模式。
请一并参见图6,为本发明实施例提供的另一种软件升级装置的结构示意图,如图6所示,在图5所示实施例的基础上,图6所示软件升级装置还包括:
资源释放单元540,用于当接收单元510接收到资源释放指令时,对目标第一类型容器进行资源释放。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,通过将特性软件装入容器,当目标第一类型容器需要对目标特性进行ISSU升级时,可以以HA方式向运行有相同特性软件,且软件版本为升级后的版本的目标第二类型容器同步各特性软件的运行数据,并在运行数据同步完成后,通知目标第二类型容器切换为活跃状态,并将自身切换为备用状态,由目标第二类型容器接替目标第一类型容器进行转发层面控制,与现有ISSU过程中控制层面会出现分钟级别的不工作时间相比,本发明实施例提供的软件升级方案控制层面不工作的时间降低至毫秒级别,避免了控制层面长时间不工作导致的业务震荡,提高了网络设备的可靠性和可维护性。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (10)
1.一种软件升级方法,应用于网络设备上的第一类型容器中的目标第一类型容器,所述网络设备上搭建有至少一个所述第一类型容器,所述第一类型容器用于运行特性软件,其特征在于,该方法包括:
接收针对目标特性软件的不间断软件升级指令;
以高可用性HA方式向目标第二类型容器同步各特性软件的运行数据;其中,所述目标第二类型容器与所述目标第一类型容器运行有相同的特性软件,且所述目标第二类型容器中运行的所述目标特性软件的版本为升级后的版本,所述目标第二类型容器的初始状态为备用状态,备用状态的容器不进行转发层面控制;
当运行数据同步完成时,通知所述目标第二类型容器切换为活跃状态,并将所述目标第一类型容器切换为备用状态。
2.根据权利要求1所述的方法,其特征在于,所述以HA方式向目标第二类型容器同步各特性软件的运行数据,包括:
触发所述目标第一类型容器中各特性软件对自身的运行数据进行批量备份;
在批量备份过程中,触发所述目标第一类型容器中各特性软件对自身的运行数据进行实时备份,直至批量备份完成。
3.根据权利要求2所述的方法,其特征在于,所述触发所述目标第一类型容器中各特性软件对自身的运行数据进行批量备份,包括:
对于所述目标第一类型容器中任一特性软件,触发该特性软件将自身在第一时刻之前的运行数据批量备份给所述目标第二类型容器中的相同特性软件;其中,所述第一时刻为所述目标第一类型容器接收到所述不间断软件升级指令的时刻;
所述触发所述目标第一类型容器中各特性软件对自身的运行数据进行实时备份,包括:
对于所述目标第一类型容器中的任一特性软件,触发该特性软件将第一时刻到第二时刻之间的运行数据变化实时备份给所述目标第二类型容器中的相同特性软件;其中,所述第二时刻为批量备份完成的时刻。
4.根据权利要求1所述的方法,其特征在于,备用状态的容器中的上层软件禁止设置驱动,且目标线程为空转模式;其中,所述目标线程为驱动软件对应的具有硬件设置能力的线程;
所述通知所述目标第二类型容器切换为活跃状态,包括:
向所述目标第二类型容器的不间断软件升级进程发送状态切换通知消息,以使所述目标第二类型容器的不间断软件升级进程将所述目标第二类型容器上的上层软件设置为允许设置驱动,并将目标线程设置为工作模式;
所述将所述目标第一类型容器切换为备用状态,包括:
将所述目标第一类型容器的上层软件设置为禁止设置驱动,并将目标线程设置为空转模式。
5.根据权利要求1所述的方法,其特征在于,所述通知所述目标第二类型容器切换为活跃状态,并将所述目标第一类型容器切换为备用状态之后,还包括:
当接收到资源释放指令时,对所述目标第一类型容器进行资源释放。
6.一种软件升级装置,应用于网络设备上的第一类型容器中的目标第一类型容器,所述网络设备上搭建有至少一个所述第一类型容器,所述第一类型容器用于运行特性软件,其特征在于,该装置包括:
接收单元,用于接收针对目标特性软件的不间断软件升级指令;
同步单元,用于以高可用性HA方式向目标第二类型容器同步各特性软件的运行数据;其中,所述目标第二类型容器与所述目标第一类型容器运行有相同的特性软件,且所述目标第二类型容器中运行的所述目标特性软件的版本为升级后的版本,所述目标第二类型容器的初始状态为备用状态,备用状态的容器不进行转发层面控制;
控制单元,用于当运行数据同步完成时,通知所述目标第二类型容器切换为活跃状态,并将所述目标第一类型容器切换为备用状态。
7.根据权利要求6所述的装置,其特征在于,
所述同步单元,具体用于触发所述目标第一类型容器中各特性软件对自身的运行数据进行批量备份;
所述同步单元,还具体用于在批量备份过程中,触发所述目标第一类型容器中各特性软件对自身的运行数据进行实时备份,直至批量备份完成。
8.根据权利要求7所述的装置,其特征在于,
所述同步单元,具体用于对于所述目标第一类型容器中任一特性软件,触发该特性软件将自身在第一时刻之前的运行数据批量备份给所述目标第二类型容器中的相同特性软件;其中,所述第一时刻为所述目标第一类型容器接收到所述不间断软件升级指令的时刻;
所述同步单元,还具体用于对于所述目标第一类型容器中的任一特性软件,触发该特性软件将第一时刻到第二时刻之间的运行数据变化实时备份给所述目标第二类型容器中的相同特性软件;其中,所述第二时刻为批量备份完成的时刻。
9.根据权利要求6所述的装置,其特征在于,备用状态的容器中的上层软件禁止设置驱动,且目标线程为空转模式;其中,所述目标线程为驱动软件对应的具有硬件设置能力的线程;
所述控制单元,具体用于向所述目标第二类型容器的不间断软件升级进程发送状态切换通知消息,以使所述目标第二类型容器的不间断软件升级进程将所述目标第二类型容器上的上层软件设置为允许设置驱动,并将目标线程设置为工作模式;
所述控制单元,还具体用于将所述目标第一类型容器的上层软件设置为禁止设置驱动,并将目标线程设置为空转模式。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
资源释放单元,用于当所述接收单元接收到资源释放指令时,对所述目标第一类型容器进行资源释放。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810682522.2A CN108984195B (zh) | 2018-06-27 | 2018-06-27 | 一种软件升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810682522.2A CN108984195B (zh) | 2018-06-27 | 2018-06-27 | 一种软件升级方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108984195A true CN108984195A (zh) | 2018-12-11 |
CN108984195B CN108984195B (zh) | 2022-05-31 |
Family
ID=64538636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810682522.2A Active CN108984195B (zh) | 2018-06-27 | 2018-06-27 | 一种软件升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108984195B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351149A (zh) * | 2019-07-26 | 2019-10-18 | 北京神州绿盟信息安全科技股份有限公司 | 一种维护网络数据转发平面的方法及装置 |
CN111835544A (zh) * | 2019-04-19 | 2020-10-27 | 厦门网宿有限公司 | 一种基于用户态协议栈的虚拟路由器的监控方法及系统 |
CN113296805A (zh) * | 2021-02-25 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 一种辅助容器实现热升级的方法及装置 |
CN113472556A (zh) * | 2020-03-31 | 2021-10-01 | 华为技术有限公司 | 一种备份方法、装置及服务器集群系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101102219A (zh) * | 2007-07-30 | 2008-01-09 | 华为技术有限公司 | 软件升级系统以及软件升级方法 |
CN103581008A (zh) * | 2012-08-07 | 2014-02-12 | 杭州华三通信技术有限公司 | 路由器及其软件升级方法 |
CN104301154A (zh) * | 2014-10-31 | 2015-01-21 | 上海斐讯数据通信技术有限公司 | 一种双主控系统主用与备用主控板间数据同步方法 |
CN104486394A (zh) * | 2014-12-10 | 2015-04-01 | 杭州华三通信技术有限公司 | 不中断业务软件升级方法及装置 |
CN106406953A (zh) * | 2016-09-21 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种存储系统软件在线升级方法 |
WO2017053810A1 (en) * | 2015-09-26 | 2017-03-30 | Cisco Technology, Inc. | In-service upgrade of kernel loadable modules |
CN107463402A (zh) * | 2017-07-31 | 2017-12-12 | 腾讯科技(深圳)有限公司 | 虚拟操作系统的运行方法和装置 |
US20180011699A1 (en) * | 2016-07-06 | 2018-01-11 | Cisco Technology, Inc. | Mechanisms for performing switch upgrades using remote containers |
CN107577475A (zh) * | 2017-08-22 | 2018-01-12 | 清华大学 | 一种数据中心集群系统的软件包管理方法及系统 |
-
2018
- 2018-06-27 CN CN201810682522.2A patent/CN108984195B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101102219A (zh) * | 2007-07-30 | 2008-01-09 | 华为技术有限公司 | 软件升级系统以及软件升级方法 |
CN103581008A (zh) * | 2012-08-07 | 2014-02-12 | 杭州华三通信技术有限公司 | 路由器及其软件升级方法 |
CN104301154A (zh) * | 2014-10-31 | 2015-01-21 | 上海斐讯数据通信技术有限公司 | 一种双主控系统主用与备用主控板间数据同步方法 |
CN104486394A (zh) * | 2014-12-10 | 2015-04-01 | 杭州华三通信技术有限公司 | 不中断业务软件升级方法及装置 |
WO2017053810A1 (en) * | 2015-09-26 | 2017-03-30 | Cisco Technology, Inc. | In-service upgrade of kernel loadable modules |
US20170090897A1 (en) * | 2015-09-26 | 2017-03-30 | Cisco Technology, Inc. | In-service upgrade of kernel loadable modules |
US20180011699A1 (en) * | 2016-07-06 | 2018-01-11 | Cisco Technology, Inc. | Mechanisms for performing switch upgrades using remote containers |
CN106406953A (zh) * | 2016-09-21 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种存储系统软件在线升级方法 |
CN107463402A (zh) * | 2017-07-31 | 2017-12-12 | 腾讯科技(深圳)有限公司 | 虚拟操作系统的运行方法和装置 |
CN107577475A (zh) * | 2017-08-22 | 2018-01-12 | 清华大学 | 一种数据中心集群系统的软件包管理方法及系统 |
Non-Patent Citations (2)
Title |
---|
COLUMSMS27884: "应用程序主备库切换方案", 《HTTPS://BLOG.CSDN.NET/COLUMSMS27884/ARTICLE/DETAILS/100444613》 * |
TIANXIAO GU 等: "Synthesizing Object Transformation for Dynamic Software Updating", 《2017 IEEE/ACM 39TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835544A (zh) * | 2019-04-19 | 2020-10-27 | 厦门网宿有限公司 | 一种基于用户态协议栈的虚拟路由器的监控方法及系统 |
CN111835544B (zh) * | 2019-04-19 | 2022-10-25 | 厦门网宿有限公司 | 一种基于用户态协议栈的虚拟路由器的监控方法及系统 |
CN110351149A (zh) * | 2019-07-26 | 2019-10-18 | 北京神州绿盟信息安全科技股份有限公司 | 一种维护网络数据转发平面的方法及装置 |
CN113472556A (zh) * | 2020-03-31 | 2021-10-01 | 华为技术有限公司 | 一种备份方法、装置及服务器集群系统 |
CN113296805A (zh) * | 2021-02-25 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 一种辅助容器实现热升级的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108984195B (zh) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108984195A (zh) | 一种软件升级方法及装置 | |
CN107305502B (zh) | 一种应用实例迁移的方法及设备 | |
US5027269A (en) | Method and apparatus for providing continuous availability of applications in a computer network | |
CN101573940B (zh) | 用于tcp高可用性的方法和装置 | |
CN101136900B (zh) | 一种面向服务的快速透明故障转移装置及实现方法 | |
CN104320475B (zh) | 一种设备升级方法及装置 | |
CN102081540B (zh) | 一种分布式双主控网络设备软件升级方法和装置 | |
CN105577408A (zh) | 一种vnfm容灾保护的方法、装置和nfvo | |
WO2014067335A1 (zh) | 一种分布式通信设备软件升级方法及系统 | |
WO2014067330A1 (zh) | 一种分布式通信设备软件升级方法及系统 | |
CN103532753A (zh) | 一种基于内存换页同步的双机热备方法 | |
CN112511326B (zh) | 一种切换方法、装置、设备和存储介质 | |
US20060282831A1 (en) | Method and hardware node for customized upgrade control | |
CN102497288A (zh) | 一种双机备份方法和双机系统实现装置 | |
CN106161086B (zh) | 主控板重启的控制方法及装置 | |
CN103338524A (zh) | 无线接入方法、装置及系统、接入控制器、接入点设备 | |
CN109802995A (zh) | 消息推送方法、装置、设备及存储介质 | |
CN108804129B (zh) | 一种软件升级方法及装置 | |
WO2013037314A1 (zh) | 用于数据处理中心容灾备份的系统及方法 | |
CN109462509A (zh) | 一种板卡的批量备份的方法和装置 | |
CN107005434B (zh) | 一种同步虚拟网络功能vnf状态的方法、装置和设备 | |
CN102983997A (zh) | 主控服务迁移方法及装置 | |
CN106209480B (zh) | 同步配置信息的方法及装置 | |
CN110351122A (zh) | 容灾方法、装置、系统与电子设备 | |
CN115640100A (zh) | 一种虚拟机信息同步方法及计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |