CN101533356B - 一种实现软件在线升级的方法、装置及系统 - Google Patents

一种实现软件在线升级的方法、装置及系统 Download PDF

Info

Publication number
CN101533356B
CN101533356B CN 200910130998 CN200910130998A CN101533356B CN 101533356 B CN101533356 B CN 101533356B CN 200910130998 CN200910130998 CN 200910130998 CN 200910130998 A CN200910130998 A CN 200910130998A CN 101533356 B CN101533356 B CN 101533356B
Authority
CN
China
Prior art keywords
upgrading
upgraded
upgrade
escalation policy
information
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.)
Expired - Fee Related
Application number
CN 200910130998
Other languages
English (en)
Other versions
CN101533356A (zh
Inventor
孙昊
赵亚明
岳常智
何建成
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 200910130998 priority Critical patent/CN101533356B/zh
Publication of CN101533356A publication Critical patent/CN101533356A/zh
Application granted granted Critical
Publication of CN101533356B publication Critical patent/CN101533356B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

一种实现软件在线升级的方法,包括:解析预先生成的升级策略,所述升级策略包括待升级对象和升级方式;根据所述升级策略执行软件在线升级操作。本发明实施例还提供了一种实现软件在线升级的装置及系统,由于本发明实施例中通过根据预先生成的升级策略完成软件升级,避免了由于用户对升级过程中进行的错误操作导致的升级错误,并提高了升级效率,降低了操作复杂度。另外,由于升级策略是预先生成的,因此可以对所述升级策略进行修改,增强了系统升级的灵活性。

Description

一种实现软件在线升级的方法、装置及系统
技术领域
本发明涉及通信技术领域,尤其涉及一种实现软件在线升级的方法、装置及系统。
背景技术
ISSU(In Service Software Update,在线软件升级)在软件升级过程中不中断正在升级的业务,能够实现软件的无损升级,并在软件升级失败时支持回退。ISSU是通信设备进行软件升级时通常采用的升级方式。
主备进程倒换是ISSU的一种实现方式。所述主备进程倒换是通过主进程内所有的组件同备进程内所有的组件进行主备倒换实现软件在线升级。在软件在线升级过程中,用户与系统进行交互,人工对升级过程中组件升级的顺序、版本确认等等软件升级策略进行操作控制。
发明人在实现本发明的过程中,发现现有技术中至少存在如下问题:
软件升级过程中用户和系统多次交互,人工对升级过程进行操作,增加了操作的复杂度,影响软件升级效率。另外,由用户人工对升级过程进行操作控制,可能导致人为操作错误,从而影响软件升级进程。
发明内容
本发明的实施例提供了一种实现软件在线升级的方法、装置及系统,从而避免由于用户和系统多次交互对软件升级造成的影响。
本发明的目的是通过以下技术方案实现的:
一种实现软件在线升级的方法,包括:
解析预先生成的升级策略,所述升级策略包括待升级对象和升级方式;
根据所述升级策略执行软件在线升级操作;
该方法还包括生成升级策略的操作:
通过设备的接口获取系统当前配置信息,所述系统当前配置信息包括当前组件版本信息;
通过解析升级业务包获取待升级对象信息,所述待升级对象信息包括新发布的组件版本信息;
通过对比系统当前配置信息和待升级对象信息,确定待升级对象和升级方式,其中,所述待升级对象是指组件版本发生变化的待升级组件和升级单元,所述升级单元由需要一同升级的待升级组件对应的进程组成,所述升级方式是指升级单元之间的升级顺序和升级步骤。
一种实现软件在线升级的系统,包括实现软件在线升级的装置,和与所述实现软件在线升级的装置进行通信的生成升级策略的装置;
所述实现软件在线升级的装置包括:
策略解析模块,用于解析预先生成的升级策略,所述升级策略包括待升级对象和升级方式;
软件升级模块,用于根据所述策略解析模块解析的升级策略执行软件在线升级操作;
所述生成升级策略的装置包括:
信息获取模块,用于通过设备的接口获取系统当前配置信息,所述系统当前配置信息包括当前组件版本信息;通过解析升级业务包获取待升级对象信息,所述待升级对象信息包括新发布的组件版本信息;
策略生成模块,用于通过对比系统当前配置信息和待升级对象信息,确定待升级对象和升级方式,其中,所述待升级对象是指组件版本发生变化的待升级组件和升级单元,所述升级单元由需要同时升级的待升级组件对应的进程组成,所述升级方式是指升级单元之间的升级顺序和升级步骤。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例中,由于本发明实施例中通过预先生成的升级策略完成软件升级,提高了升级效率,降低了操作复杂度,同时避免了由于用户对升级过程中进行的错误操作导致的升级错误。另外,由于生成升级策略的操作是独立于软件在线升级过程的,用户可以对升级策略进行修改,增强了系统升级的灵活性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的系统当前配置信息表;
图2为本发明实施例提供的待升级对象信息表;
图3为本发明实施例提供的待升级组件及其配置信息表;
图4为本发明实施例提供的一种升级步骤示意图;
图5为本发明实施例提供的主备进程倒换处理过程示意图;
图6为本发明实施例提供的一种处理过程示意图;
图7为本发明实施例提供的装置结构示意图;
图8为本发明实施例提供的另一种装置结构示意图;
图9为本发明实施例提供的系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,软件在线升级的实现方案具体包括如下操作:
解析预先生成的升级策略,所述升级策略包括待升级对象和升级方式;根据所述升级策略执行软件在线升级操作。所述软件在线升级的操作是指通过主备进程倒换实现软件在线升级。
上述解析并根据升级策略进行软件在线升级的操作具体可以在需要升级的设备上进行,也可以在制作升级策略的设备(例如PC机Personal Computer个人计算机)上进行。
本发明实施例中,由于预先制定了升级策略,在升级过程中可根据所述升级策略进行自动升级,从而减少了升级过程中用户与系统的交互,避免了由于人为操作失误导致的软件升级失败;同时也提高了升级效率。另外,现有技术的升级过程是执行固定的升级代码,而本发明实施例中,由于预先生成升级策略,用户可以对升级策略进行修改,升级过程中按照策略执行升级,因此本发明实施例提供的技术方案增强了软件升级的灵活性。
上述本发明实施例提供的技术方案中,所述升级策略是在通信设备外部生成的,例如在PC机上生成升级策略。本发明实施例还包括生成升级策略的操作:通过设备的接口获取系统当前配置信息;通过解析升级业务包获取待升级对象信息;通过比较所述系统当前配置信息和所述待升级对象信息,生成升级策略。其中,所述的设备是指待升级的通信设备,所述系统是指待升级的通信设备的系统,所述升级业务包的存放在设备,或者PC机等存储单元中。所述生成升级策略的操作可由软件自动完成。
其中,所述系统当前配置信息是指生成升级策略时系统组件和进程当前的静态信息和动态信息,包括当前组件版本信息,还可以包括组件类型信息、进程组索引信息、进程标识信息、组件PID(Process Identity,进程标识符)、VR(Virtual Route,虚路由)索引、节点标识,和/或是否支持主备冗余模式等信息。所述通过设备的接口获取系统当前配置信息的操作具体是指,与设备的接口进行通信,从所述设备接口获取系统组件和进程当前的静态和动态信息,作为举例而非限定,还可以将获取的信息构成系统当前配置信息表,所述系统当前配置信息表如图1所示。
图1中列举的系统配置信息仅作为举例而非限定。获取的系统当前配置信息根据组件版本不同会有所不同。
所述的待升级对象信息包括新发布的组件版本信息,还可以包括业务类型、组件类型、服务、组件的依赖关系、组件的水平兼容性信息,和/或组件的垂直兼容性信息等等。所述通过解析升级业务包获取待升级对象信息的操作是指,解析新版本业务包,从中获取升级需要的信息,作为举例而非限定,还可以将获取的信息构成待升级对象信息表,所述的待升级对象信息表如图2所示。
图2中列举的待升级对象信息仅作为举例而非限定。获取的待升级对象信息根据组件版本不同会有所不同。
其中,水平兼容性是指同一组件的是指主备进程之间的信息版本是否兼容,图2中所示的“>1.1.0”,是指对大于版本1.1.0的同一组件兼容。垂直兼容性是指相关联的不同组件的新旧版本之间是否兼容,以及组件和它的运行环境之间的配合关系,图2中所示的“RM>1.1.0”是指对大于版本1.1.0的“RM”组件兼容,“RM”为组件名称。当相关联的组件垂直不兼容时,必须将不兼容的多个组件同时升级。
本发明实施例中,所述根据系统当前配置信息和所述待升级对象信息,生成升级策略的过程具体包括:通过对比系统当前配置信息和待升级对象信息,确定待升级对象和升级方式,其中,所述待升级对象是指组件版本发生变化的待升级组件和升级单元,所述升级单元由需要同时升级的待升级组件对应的进程组成,所述升级方式是指升级单元之间的升级顺序和升级步骤。下面将对生成升级策略的具体操作过程进行详细描述:
(一)确定待升级组件及其配置信息
根据系统当前配置信息以及待升级对象信息确定待升级组件及其配置信息,以图2列举的待升级对象信息为例,BGP(Border Gate Protocol编辑网关协议)服务和OSPF(Open Shortest Path First开放式最短路径优先)服务中的组件版本均发生了变化,因此所述BGP服务和OSPF服务均需要升级,进而确定待升级的组件为BRM_IPV4、BRM_MIPV4、BNM和ONM,及其配置信息,所述配置信息如图3所示,包括,当前组件版本信息(升级前版本)、新发布组件版本信息(升级后版本)、主部署信息,和备部署信息等等,其中,所述的主部署信息是指组件在主进程中的进程组索引信息,备部署信息是指组件在备进程中的进程组索引信息。(二)确定升级单元
根据组件的兼容关系和部署依赖关系确定升级单元。由于系统支持进程级的主备倒换,所以升级的最小单位是进程,升级单元由需要同时升级的待升级组件对应的进程组成。如果多个待升级组件之间垂直兼容,且多个待升级组件之间没有强依赖关系,则确定每个待升级组件对应的进程为一个升级单元;如果关联的多个待升级组件之间不垂直兼容,则所述多个相关联的组件需要一同升级,确定所述多个相关联的组件对应的进程为一个升级单元;如果多个组件在部署上有强依赖关系,需要一同升级,则确定所述多个组件对应的进程为一个升级单元。所述部署依赖关系是指多个组件在部署上是否必须同时存在方能正常工作,如果多个组件必须同时存在,则称组件间具有强部署依赖关系,否则,组件间没有部署依赖关系。
例如,上述举例的待升级组件中,假设组件BRM_IPV4、BRM_MIPV4和BNM在部署上存在强依赖关系,需要一同升级,则将BRM_IPV4、BRM_MIPV4和BNM对应的进程确定为一个升级单元。
(三)确定升级单元之间的升级顺序
为升级单元分配升级顺序号,其中:为需要串行升级的升级单元分配递增的升级顺序;为不需要串行升级的升级单元分配相同的升级顺序号,以便并行对多个升级单元进行升级,提高升级效率。其中,如果两个升级单元之间有存在主备关系的进程,则这两个升级单元不需要串行升级;如果多个升级单元支持并行升级,则不需要串行升级;如果未规定多个升级单元需要串行升级,则所述多个升级单元也不需要串行升级。例如有升级单元A、B、C、D、E和F。其中,升级单元A和B之间有存在主备关系的进程,升级单元A、B、E、F可并行升级,升级单元C、D需要串行依次升级,则为所述升级单元确定升级顺序为:
1:A、B、E、F、C
2:D
也可以是:
1:C
2:A、B、E、F、D
(四)确定升级步骤
确定升级步骤,以便在软件升级过程中,系统按照确定的步骤对升级单元进行升级,所述升级步骤具体包括:
导入升级业务包后,对待升级对象进行锁配置,并对系统状态进行检查,所述系统状态包括内存和硬盘空间是否充足、组件状态是否正常等等;
完成对系统状态的检查后,对待升级的组件进行备份,以便回退时使用;
根据升级策略确定的升级顺序,分别对升级单元进行升级,所述对升级单元进行升级的操作是指,将所述升级业务包中的程序文件复制到目标单板的指定目录下;对所述程序文件进行升级,具体是通过主备进程倒换的方式实现软件在线升级,当没有备进程时,直接以新版本组件启动进程;
当升级完成后,对所述待升级对象进行解锁配置。
其中,所述导入升级业务包是指从MMB(Master Main Board,主主控板)板的软件仓库中解压缩所述升级业务包;所述锁配置是为了禁止用户在升级过程中对所述升级单元的组件进行配置,保证升级能够顺利进行。
所述升级步骤还可以包括:当升级完成后,发送升级验证提示,以便提示用户进行升级校验;完成升级校验后,清除软件升级过程中产生的无用数据。
本发明实施例中,用户可以查看并修改、编辑生成的升级策略。
本发明实施例中,根据所述升级策略执行软件在线升级操作之前,还包括对预先生成的升级策略进行检查的操作:对所述升级策略的语法进行检查,防止由于用户编辑升级策略导致的语法错误;对所述升级策略中的新发布的组件版本信息的垂直兼容性进行检查,防止由于用户编辑升级策略导致的升级后组件间不兼容;和/或,对用于生成所述生成策略的系统当前配置信息的时效性进行检查,具体是指,将生成所述升级策略时系统配置信息与进行检查时系统的配置信息进行比较,判断系统配置信息是否发生变化。如果检查出所述升级策略存在语法错误、存在版本不兼容的问题,和/或系统配置信息发生了变化,则发送错误提示信息,以便用户对升级策略进行修改,如果检查通过,则可以根据所述升级策略执行软件在线升级操作。其中,如果在生成所述升级策略的设备(例如PC机)上执行软件在线升级,则所述对升级策略的检查是在该设备上完成的,并在检查通过后对所述生成的升级策略进行解析,生成系统可执行的命令,通过执行所述命令实现软件在线升级。如果在待升级的通信设备上执行软件在线升级,则将所述升级策略上传到通信设备的系统上,当收到用户输入的升级启动命令后,对所述升级策略进行检查,如果检查通过,解析所述升级策略并根据所述升级策略执行软件在线升级操作。在通信设备上根据升级策略执行软件在线升级时,具体实现方式是解析所述升级策略获得升级命令集,执行所述升级命令集中的升级命令实现软件在线升级。本发明实施例中,由于在升级之前对升级策略进行检查,以保证升级策略的正确,进而提高了软件在线升级过程的可靠性。
本发明实施例中,所述升级策略中还包括软件升级过程中出现异常情况时的处理策略,所述处理策略包括:升级重试策略、升级回滚策略、升级回退策略,或者升级忽略策略等等。其中:
升级重试用于升级原子操作,当升级原子操作返回错误时,进行升级原子操作重试,当重试次数超过升级策略规定的最大重试次数时,上报操作失败提示;所述的原子操作是指不能被中断的操作,即组件在升级过程中,如果执行原子操作,则不能被中断;
升级回滚是指当升级操作发生错误时,根据系统记录的升级操作执行路径,按反方向逐步回滚到上一阶段处理点的处理策略;
升级回退是指升级操作发生错误时,直接回退到升级最初的执行起点;
升级忽略是指忽略当前的异常情况,继续执行升级操作。
下面将对本发明实施例在实际应用过程中的具体实现方式进行详细的说明。
应用实施例一
在本发明应用实施例一中,在与通信设备进行通信的PC机上预先生成升级策略,并由所述PC机对所述升级策略进行检查,在检查通过后,将所述升级策略解析成系统可执行的升级命令,通过执行所述升级命令完成对通信设备软件在线升级。其中,所述的升级策略包括:待升级组件及其配置信息,升级单元信息,升级单元之间的升级顺序信息,和升级步骤信息。所述升级策略还可以包括升级出现异常情况时的处理策略。
本发明应用实施例一中,PC机执行升级命令,自动完成软件在线升级的操作如图4所示,具体包括:
11、导入新版本的升级业务包,具体实现方式可以是,从MMB板的软件仓库中解压缩所述新版本的升级业务包;
12、对待升级对象进行锁配置,通过锁配置禁止用户在升级过程中对待升级的组件进行配置,保证升级能够顺利进行;
13、对系统状态进行检查,所述系统状态包括内存和硬盘空间是否充足、组件状态是否正常等等;
14、对待升级的组件进行备份,以便回退时使用;
15、根据升级策略确定的升级顺序,分别对升级单元进行升级,每个升级单元进行升级的操作具体是指,将所述新版本的升级业务包中该升级单元的程序文件复制到目标单板的指定目录下,对所述程序文件进行软件升级,具体是通过主备进程倒换的方式实现软件在线升级,当没有备进程时,直接以新版本组件启动进程;
16、对所述待升级对象进行解锁配置,以便用户进行升级校验;
17、发送升级验证提示,以便提示用户进行升级校验;
18、清除软件升级过程中产生的无用数据。
上述的主备进程倒换过程如图5所示,包括:当用户发起升级时,重启备进程,将主进程中的所有组件的数据备份到备进程中继续运行;进行主备倒换,保证软件升级过程不影响系统正常运行,此时,原来的备进程为当前的主进程,原来的主进程为当前的备进程;软件升级操作结束后,以新版本组件重启当前备进程,系统继续运行。
在上述软件在线升级过程中,如果发生异常情况,系统判断升级策略中是否制定了异常情况的处理策略,具体是检测是否存在异常情况处理命令;如果升级策略制定了异常情况的处理策略,则执行相关的升级命令,对异常情况进行处理;否则,发送异常提示,并接收反馈信息,根据反馈信息中携带的异常情况处理方式进行操作。
现有技术的升级过程是执行固定的升级代码,且策略在通信设备内部,对用户而言是不可见的。而本发明应用实施例一中,由于预先生成升级策略,用户可以对升级策略进行修改,升级过程中按照策略执行升级,因此本发明应用实施例一提供的技术方案增强了软件升级的灵活性;由于系统根据解析升级策略生成的升级命令自动完成软件在线升级,从而提高了升级效率;另外,由于在软件升级之前对升级策略进行检查,避免了由于人为操作失误导致的升级操作失败。
应用实施例二
本发明应用实施例二的处理过程如图6所示,包括:
21、在通信设备外部预先生成升级策略,并将所述升级策略上传给通信设备;
22、用户输入升级启动命令,发起软件在线升级;
23、通信设备的系统在收到所述升级启动命令后,对所述升级策略进行检查;
24、在检查通过后,系统根据所述升级策略完成软件在线升级。
其中,所述的升级策略包括:待升级组件及其配置信息,升级单元信息,升级单元之间的升级顺序信息,和升级单元的执行步骤信息。所述升级策略还可以包括升级出现异常情况时的处理策略。
在上述软件在线升级过程中,如果发生异常情况,系统判断升级策略中是否制定了异常情况的处理策略,具体是检测是否存在异常情况处理命令;如果升级策略制定了异常情况的处理策略,则执行相关的升级命令,对异常情况进行处理;否则,发送异常提示,并接收反馈信息,根据反馈信息中携带的异常情况处理方式进行操作。
本发明应用实施例二中,为了方便用户对软件升级过程的控制,当系统根据所述升级策略执行软件在线升级过程中时,每执行一条命令之前,发送命令确认提示,提示用户对命令进行确认。当接收到命令确认反馈信息后,执行该条命令。
实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供了一种实现软件在线升级的装置,该装置结构如图7所示,具体实现结构包括:
策略解析模块101,用于解析预先生成的升级策略,所述升级策略包括待升级对象和升级方式;软件升级模块102,用于根据所述升级策略执行软件在线升级操作。所述执行软件在线升级的操作是指通过主备进程倒换实现软件在线升级。
上述本发明实施例提供的装置还包括策略检查模块103,用于在所述软件升级模块102执行软件在线升级操作之前,对所述升级策略的语法进行检查,防止由于用户编辑升级策略导致的语法错误;对所述升级策略中的新发布的组件版本信息的垂直兼容性进行检查,防止由于用户编辑升级策略导致的升级后组件间不兼容;和/或,对用于生成所述生成策略的系统当前配置信息的时效性进行检查。如果检查出所述升级策略存在语法错误、存在版本不兼容的问题,和/或系统配置信息发生了变化,则发送错误提示信息,以便用户对升级策略进行修改,如果检查通过,则所述软件升级模块102可以执行软件在线升级操作。
本发明实施例还提供一种生成升级策略的装置,其结构如图8所示,具体实现结构包括:
信息获取模块201,用于通过设备的接口获取系统当前配置信息;通过解析升级业务包获取待升级对象信息;策略生成模块202,用于根据所述信息获取模块201获取的系统当前配置信息和所述待升级对象信息,生成升级策略。
本发明实施例中,所述系统当前配置信息包括当前组件版本信息,所述待升级对象信息包括新发布的组件版本信息,所述升级策略生成模块4具体用于通过对比系统当前配置信息和待升级对象信息,确定待升级对象和升级方式,其中,所述待升级对象是指组件版本发生变化的待升级组件和升级单元,所述升级单元由需要同时升级的待升级组件对应的进程组成,所述升级方式是指升级单元之间的升级顺序和升级步骤。所述系统当前配置信息还可以包括,当前版本信息、主部署信息,和备部署信息。
其中,所述策略生成模块202具体包括升级顺序确定子模块2021和升级步骤确定子模块2022。所述升级顺序确定子模块2021用于确定升级单元之间的升级顺序,具体是为需要串行升级的升级单元分配递增的升级顺序号;为不需要串行升级的升级单元分配相同的升级顺序号。所述升级步骤确定子模块2022用于确定升级步骤,所述升级步骤包括:导入新发布业务包后,对待升级对象进行锁配置,并对系统状态进行检查;完成对系统状态的检查后,对待升级的组件进行备份;根据升级策略确定的升级顺序,分别对升级单元进行升级;当升级完成后,对所述待升级对象进行解锁配置。
其中,所述升级步骤确定子模块2022确定的升级步骤还可以包括:当升级完成后,发送升级验证提示;完成升级校验后,清除软件升级过程中产生的无用数据。
上述本发明实施例提供的装置中,所述升级策略中还包括软件升级过程中出现异常情况时的处理策略,包括:升级重试策略、升级回滚策略、升级回退策略,或者升级忽略策略;所述策略生成模块202还包括异常情况处理策略生成子模块2023。
所述的生成升级策略的装置设置在通信设备外部。所述实现软件在线升级的装置可以设置在通信设备中,也可以与所述生成升级策略的装置设置在同一设备当中。
本发明实施例还提供一种实现软件在线升级的系统,其结构如图9所示,具体实现结构包括上述实现软件在线升级的装置,以及与所述实现软件在线升级的装置进行通信的上述的生成升级策略的装置。例如,一种包含通信设备以及与所述通信设备进行通信的PC机,所述PC机用于生成针对所述通信设备的升级策略。
现有技术的升级过程是执行固定的升级代码,而本发明应用实施例提供的装置及系统,由于预先生成升级策略,用户可以对升级策略进行修改,升级过程中按照策略执行升级,因此本发明实施例提供的装置及系统增强了软件升级的灵活性;由于系统根据升级策略自动完成软件在线升级,从而提高了升级效率;另外,由于在软件升级之前对升级策略进行检查,避免了由于人为操作失误导致的升级操作失败。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (11)

1.一种实现软件在线升级的方法,其特征在于,包括:
解析预先生成的升级策略,所述升级策略包括待升级对象和升级方式;
根据所述升级策略执行软件在线升级操作;
该方法还包括生成升级策略的操作:
通过设备的接口获取系统当前配置信息,所述系统当前配置信息包括当前组件版本信息;
通过解析升级业务包获取待升级对象信息,所述待升级对象信息包括新发布的组件版本信息;
通过对比系统当前配置信息和待升级对象信息,确定待升级对象和升级方式,其中,所述待升级对象是指组件版本发生变化的待升级组件和升级单元,所述升级单元由需要一同升级的待升级组件对应的进程组成,所述升级方式是指升级单元之间的升级顺序和升级步骤。
2.根据权利要求1所述的方法,其特征在于,所述升级单元之间的升级顺序的确定过程包括:
为需要串行升级的升级单元分配递增的升级顺序号;
为不需要串行升级的升级单元分配相同的升级顺序号。
3.根据权利要求1所述的方法,其特征在于,所述升级步骤包括:
导入升级业务包后,对待升级对象进行锁配置,并对系统状态进行检查;
完成对系统状态的检查后,对待升级的组件进行备份;
根据升级策略确定的升级顺序,分别对升级单元进行升级;
当升级完成后,对所述待升级对象进行解锁配置。
4.根据权利要求3所述的方法,其特征在于,所述升级步骤还包括:
当升级完成后,发送升级验证提示;
完成升级校验后,清除软件升级过程中产生的无用数据。
5.根据权利要求1-4任意一项所述的方法,其特征在于,根据所述升级策略执行软件在线升级操作之前,该方法还包括对所述升级策略进行检查:
对所述升级策略的语法进行检查,并对所述升级策略中新发布的组件版本信息的垂直兼容性进行检查;
和/或,对用于生成所述升级策略的系统当前配置信息的时效性进行检查。
6.根据权利要求1所述的方法,其特征在于,所述升级策略中还包括软件升级过程中出现异常情况时的处理策略,包括:升级重试策略、升级回滚策略、升级回退策略,或者升级忽略策略。
7.一种实现软件在线升级的系统,其特征在于,包括:
策略解析模块,用于解析预先生成的升级策略,所述升级策略包括待升级对象和升级方式;
软件升级模块,用于根据所述策略解析模块解析的升级策略执行软件在线升级操作;
信息获取模块,用于通过设备的接口获取系统当前配置信息,所述系统当前配置信息包括当前组件版本信息;通过解析升级业务包获取待升级对象信息,所述待升级对象信息包括新发布的组件版本信息;
策略生成模块,用于通过对比系统当前配置信息和待升级对象信息,确定待升级对象和升级方式,其中,所述待升级对象是指组件版本发生变化的待升级组件和升级单元,所述升级单元由需要同时升级的待升级组件对应的进程组成,所述升级方式是指升级单元之间的升级顺序和升级步骤。
8.根据权利要求7所述的系统,其特征在于,所述实现软件在线升级的系统还包括:
策略检查模块,用于在所述软件升级模块执行软件在线升级操作之前,对所述升级策略的语法进行检查,并对所述升级策略中的新发布的组件版本信息的垂直兼容性进行检查;和/或,对用于生成所述升级策略的系统当前配置信息的时效性进行检查。
9.根据权利要求7所述的系统,其特征在于,策略生成模块具体包括升级顺序确定子模块:
所述升级顺序确定子模块用于为需要串行升级的升级单元分配递增的升级顺序号,为不需要串行升级的升级单元分配相同的升级顺序号。
10.根据权利要求7所述的系统,其特征在于,策略生成模块具体包括升级步骤确定子模块:
所述升级步骤确定子模块用于确定升级步骤,所述升级步骤包括:导入新发布业务包后,对待升级对象进行锁配置,并对系统状态进行检查;完成对系统状态的检查后,对待升级的组件进行备份;根据升级策略确定的升级顺序,分别对升级单元进行升级;当升级完成后,对所述待升级对象进行解锁配置。
11.根据权利要求10所述的系统,其特征在于,所述升级步骤确定子模块确定的升级步骤还包括:当升级完成后,发送升级验证提示;完成升级校验后,清除软件升级过程中产生的无用数据。
CN 200910130998 2009-04-21 2009-04-21 一种实现软件在线升级的方法、装置及系统 Expired - Fee Related CN101533356B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910130998 CN101533356B (zh) 2009-04-21 2009-04-21 一种实现软件在线升级的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910130998 CN101533356B (zh) 2009-04-21 2009-04-21 一种实现软件在线升级的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN101533356A CN101533356A (zh) 2009-09-16
CN101533356B true CN101533356B (zh) 2013-02-27

Family

ID=41103976

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910130998 Expired - Fee Related CN101533356B (zh) 2009-04-21 2009-04-21 一种实现软件在线升级的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN101533356B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110162322A (zh) * 2019-05-27 2019-08-23 网宿科技股份有限公司 一种升级方法及装置

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101778023A (zh) * 2009-01-12 2010-07-14 华为终端有限公司 通用即插即用设备的执行及控制方法、装置和系统
CN102006332B (zh) * 2010-12-03 2013-12-11 杭州华三通信技术有限公司 一种软件升级的方法和系统
CN102023881B (zh) * 2010-12-14 2013-06-05 福建星网锐捷网络有限公司 一种软件升级方法、装置及嵌入式设备
CN102156649B (zh) * 2011-03-01 2017-05-24 奇智软件(北京)有限公司 一种补丁安装方法及装置
CN102262549B (zh) * 2011-03-02 2014-10-15 奇智软件(北京)有限公司 补丁安装方法与系统
CN102663298B (zh) * 2012-04-06 2014-12-17 北京空间飞行器总体设计部 面向终端计算机的安全在线检查系统
CN102902579B (zh) * 2012-10-09 2015-04-15 北京奇虎科技有限公司 一种功能组件的处理系统
CN102937906B (zh) * 2012-10-31 2015-09-16 中兴通讯股份有限公司 一种补丁软件升级方法及系统
CN103150181B (zh) * 2013-02-20 2017-02-08 大唐移动通信设备有限公司 一种进程启动的方法及装置
CN104035799A (zh) * 2014-06-19 2014-09-10 浪潮电子信息产业股份有限公司 一种软件可定制升级的方法
CN106325901A (zh) * 2015-06-24 2017-01-11 南宁富桂精密工业有限公司 软件版本管理方法及系统
CN106790330A (zh) * 2015-11-23 2017-05-31 上海汽车集团股份有限公司 车载ecu的远程更新方法、车载ecu及车辆
CN107305497A (zh) * 2016-04-21 2017-10-31 中兴通讯股份有限公司 版本升级方法及装置
CN107463390B (zh) * 2016-06-02 2020-12-01 阿里巴巴集团控股有限公司 一种软件升级方法及升级服务器
CN106648802A (zh) * 2016-12-30 2017-05-10 上海浦东软件园汇智软件发展有限公司 一种组件更新的方法及设备
CN106886410B (zh) * 2017-01-06 2018-06-19 深圳云天励飞技术有限公司 一种软件版本管理系统
CN106933616A (zh) * 2017-01-17 2017-07-07 成都华立达电力信息系统有限公司 基于宽带载波的远程升级方法
CN107463400B (zh) * 2017-07-31 2019-12-13 深圳壹账通智能科技有限公司 移动应用的热更新方法及终端设备
CN111052071B (zh) * 2017-09-01 2023-08-01 株式会社日立制作所 软件引入系统、软件引入方法及存储介质
CN107832062B (zh) * 2017-09-08 2020-04-21 深圳壹账通智能科技有限公司 一种程序更新方法及终端设备
CN107832068A (zh) * 2017-10-27 2018-03-23 努比亚技术有限公司 一种应用升级方法、移动终端以及计算机可读存储介质
CN108958772A (zh) * 2018-07-03 2018-12-07 武汉精测电子集团股份有限公司 一种多板卡设备的批量升级方法及系统
CN109491665A (zh) * 2018-11-12 2019-03-19 郑州云海信息技术有限公司 一种数据解析方法及相关装置
CN110309128B (zh) * 2019-07-05 2020-07-17 广东铭太信息科技有限公司 Oracle备份文件自动导入装置及其实现方法、利用该装置进行备份文件导入的方法
CN113127257B (zh) * 2019-12-30 2024-01-16 华为云计算技术有限公司 一种软件升级方法
CN112015098A (zh) * 2020-08-14 2020-12-01 深圳市欧瑞博科技股份有限公司 智能家居设备的系统升级方法、装置及电子设备
CN112462671A (zh) * 2020-12-02 2021-03-09 杭州和利时自动化有限公司 一种配置修改的方法、系统、设备及可读存储介质
CN113872812B (zh) * 2021-09-29 2023-06-23 联想(北京)有限公司 一种信息处理方法、网络设备和终端设备
CN116302006B (zh) * 2023-05-18 2023-08-18 珠海星云智联科技有限公司 模拟器的热升级方法及相关装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859180A (zh) * 2005-12-13 2006-11-08 华为技术有限公司 一种实现网络终端设备配置自动更新的方法及系统
CN101135641A (zh) * 2007-07-19 2008-03-05 天津大学 用于在线或远程测量的荧光分光光度计
CN101183361A (zh) * 2006-11-13 2008-05-21 中兴通讯股份有限公司 一种关系数据库应用自动升级的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1859180A (zh) * 2005-12-13 2006-11-08 华为技术有限公司 一种实现网络终端设备配置自动更新的方法及系统
CN101183361A (zh) * 2006-11-13 2008-05-21 中兴通讯股份有限公司 一种关系数据库应用自动升级的方法
CN101135641A (zh) * 2007-07-19 2008-03-05 天津大学 用于在线或远程测量的荧光分光光度计

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110162322A (zh) * 2019-05-27 2019-08-23 网宿科技股份有限公司 一种升级方法及装置

Also Published As

Publication number Publication date
CN101533356A (zh) 2009-09-16

Similar Documents

Publication Publication Date Title
CN101533356B (zh) 一种实现软件在线升级的方法、装置及系统
US20030051235A1 (en) Method and apparatus for verifying and analyzing computer software installation
US20230137493A1 (en) Automated network change system
US7032218B2 (en) Updating method of firmware of hard disk unit mounted on disk array device and disk array device with function for performing updating method
US6681389B1 (en) Method for providing scaleable restart and backout of software upgrades for clustered computing
EP2274673B9 (en) Methods and systems for embedding upgrade steps for layered architectures
US7636868B2 (en) Data replication in a distributed system
CN111694760B (zh) 服务器系统、快闪存储器模块及更新固件映像文件的方法
US8117434B2 (en) Component configuration mechanism for rebooting
CN101356499A (zh) 用于确保使用中的软件升级的方法
CN105487924A (zh) 一种批处理控制方法及装置
CN112477919B (zh) 一种适用于列车控制系统平台的动态冗余备份方法及系统
CN112434008A (zh) 分布式数据库升级方法、设备及介质
CN110188004A (zh) 一种终端设备的双备份软件系统管理方法及系统
CN101996083A (zh) 一种镜像升级的方法和装置
JP2013508839A5 (zh)
US11544076B2 (en) Online reconfiguration of a node in a process control system
CN110633174A (zh) 容灾切换方法、设备以及计算机可读存储介质
US20060225035A1 (en) Redundant system using object-oriented program and method for rescuing object-oriented program
US8990619B1 (en) Method and systems to perform a rolling stack upgrade
CN112506539A (zh) 一种固件更新方法、装置及电子设备和存储介质
CN100499496C (zh) 一种实现配置事务和试运行机制的方法和装置
US20200278856A1 (en) Online Firmware Upgrade Of A Node In A Process Control System
CN113885926A (zh) 一种基于安全芯片的操作系统在线升级方法
CN111399869A (zh) 控制直写式曝光机软件升级的方法、控制单元和曝光机

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170718

Address after: 510640 Guangdong City, Tianhe District Province, No. five, road, public education building, unit 371-1, unit 2401

Patentee after: Guangdong Gaohang Intellectual Property Operation Co., Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: Huawei Technologies Co., Ltd.

CB03 Change of inventor or designer information

Inventor after: Cui Jian

Inventor after: Zhu Mingfang

Inventor before: Sun Hao

Inventor before: Zhao Yaming

Inventor before: Yue Changzhi

Inventor before: He Jiancheng

CB03 Change of inventor or designer information
TR01 Transfer of patent right

Effective date of registration: 20170825

Address after: 902 room 1, unit 4, modern city, seaport District, Hebei, Qinhuangdao 066000, China

Co-patentee after: Zhu Mingfang

Patentee after: Cui Jian

Address before: 510640 Guangdong City, Tianhe District Province, No. five, road, public education building, unit 371-1, unit 2401

Patentee before: Guangdong Gaohang Intellectual Property Operation Co., Ltd.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130227

Termination date: 20180421

CF01 Termination of patent right due to non-payment of annual fee