CN113204359A - 一种服务器在线升级方法及装置 - Google Patents

一种服务器在线升级方法及装置 Download PDF

Info

Publication number
CN113204359A
CN113204359A CN202110400703.3A CN202110400703A CN113204359A CN 113204359 A CN113204359 A CN 113204359A CN 202110400703 A CN202110400703 A CN 202110400703A CN 113204359 A CN113204359 A CN 113204359A
Authority
CN
China
Prior art keywords
upgrading
upgrade
version
target
file
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.)
Pending
Application number
CN202110400703.3A
Other languages
English (en)
Inventor
龙恒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Wanxiang Electronics Technology Co Ltd
Original Assignee
Xian Wanxiang Electronics Technology 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 Xian Wanxiang Electronics Technology Co Ltd filed Critical Xian Wanxiang Electronics Technology Co Ltd
Priority to CN202110400703.3A priority Critical patent/CN113204359A/zh
Publication of CN113204359A publication Critical patent/CN113204359A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/62Uninstallation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本公开提供一种服务器在线升级方法及装置,涉及计算机技术领域,能够解决现有技术中对服务器批量升级效率低下的问题。具体技术方案为:首先获取升级文件,目标升级版本升级文件包括版本校验文件、升级脚本和目标升级版本的程序;然后接收用户设置的升级策略,目标升级版本升级策略包括目标升级版本目标升级版本的版本号,升级开始时间和至少一个升级目标用户;最后根据目标升级版本升级策略,将目标升级版本升级文件发送给目标升级版本至少一个升级目标用户对应的至少一个虚拟机,并启动目标升级版本升级脚本进行升级。本公开用于服务器的升级。

Description

一种服务器在线升级方法及装置
技术领域
本公开涉及计算机技术领域,尤其涉及一种服务器在线升级方法及装置。
背景技术
随着互联网应用技术的快速发展,云服务应用的范围越来越广泛。为了实现新的功能及解决应用中遇到的问题,不可避免地要对系统进行升级。
传统的人工升级方法需要对平台逐个进行升级,其效率非常低,出错的概率较高。如果少量的勉强可以进行,如果数量达到成千上万台,甚至更多,则该方法不具备可操作性。
发明内容
本公开实施例提供一种服务器在线升级方法及装置,能够解决现有技术中对服务器批量升级效率低下的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供一种服务器在线升级方法,该方法包括:
获取升级文件,所述升级文件包括版本校验文件、升级脚本和目标升级版本的程序;
接收用户设置的升级策略,所述升级策略包括所述目标升级版本的版本号,升级开始时间和至少一个升级目标用户;
根据所述升级策略,将所述升级文件发送给所述至少一个升级目标用户对应的至少一个虚拟机,并启动所述升级脚本进行升级。
本公开实施例提供的服务器在线升级方法,首先获取升级文件,目标升级版本升级文件包括版本校验文件、升级脚本和目标升级版本的程序;然后接收用户设置的升级策略,目标升级版本升级策略包括目标升级版本目标升级版本的版本号,升级开始时间和至少一个升级目标用户;最后根据目标升级版本升级策略,将目标升级版本升级文件发送给目标升级版本至少一个升级目标用户对应的至少一个虚拟机,并启动目标升级版本升级脚本进行升级。本公开提供的服务器在线升级方法,通过在线批量升级的方式,减少维护工程师的工作量以及出错的概率,节约管理成本。
在一个实施例中,在所述启动所述升级脚本进行升级之前,上述方法还包括:
检查所述至少一个升级目标用户是否有现有版本软件安装目录下的校验文件生成软件;
在检查结果为是时,检查所述校验文件生成软件得到的校验文件是否与所述版本校验文件相同;
在检查结果为是时,检查所述至少一个升级目标用户的操作系统类型是否与所述目标升级版本的程序所需的操作系统类型相符;
在检查结果为是时,检查所述至少一个升级目标用户的操作系统版本是否高于或等于所述目标升级版本的程序所需的操作系统版本的最低要求;
在检查结果为是时,检查所述至少一个升级目标用户的运行库是否是所述目标升级版本的程序需要的运行库;
在检查结果为是时,启动所述升级脚本进行升级。
本公开实施例通过上述方法,在升级之前对升级目标用户进行检查,保证了升级能够正常顺利进行。
在一个实施例中,在所述检查所述至少一个升级目标用户是否有现有版本软件安装目录下的校验文件生成软件之后,上述方法还包括:
在检查结果为否时,显示升级失败信息;
在所述检查所述校验文件生成软件得到的校验文件是否与所述版本校验文件相同之后,上述方法还包括:
在检查结果为否时,显示升级失败信息;
在所述检查所述至少一个升级目标用户的操作系统类型是否与所述目标升级版本的程序所需的操作系统类型相符之后,上述方法还包括:
在检查结果为否时,显示升级失败信息;
在所述检查所述至少一个升级目标用户的操作系统版本是否高于或等于所述目标升级版本的程序所需的操作系统版本的最低要求之后,上述方法还包括:
在检查结果为否时,显示升级失败信息。
本公开实施例通过上述方法,在检查中出现异常情况时,给出显示信息,方便用户及时获取升级失败的原因。
在一个实施例中,所述检查所述至少一个升级目标用户的运行库是否是所述目标升级版本的程序需要的运行库包括:
检查所述至少一个升级目标用户是否有运行库;
在检查结果为是时,检查所述至少一个升级目标用户的运行库是否符合所述目标升级版本;
在检查结果为否时,安装所述目标升级版本的程序需要的运行库;
在所述检查所述至少一个升级目标用户的运行库是否符合所述目标升级版本之后,上述方法还包括:
在检查结果为否时,卸载所述至少一个升级目标用户的运行库;
安装所述目标升级版本的程序需要的运行库。
在一个实施例中,在所述启动所述升级脚本进行升级之前,上述方法还包括:
对所述至少一个升级目标用户的业务数据进行备份,所述业务数据包括配置文件和数据库文件;
其中,对所述至少一个升级目标用户的配置文件进行备份包括:
获取所述至少一个升级目标用户的现有版本和所述目标升级版本的版本号;
根据所述目标升级版本的版本号创建目标文件;
获取所述至少一个升级目标用户的现有版本的配置文件;
将所述至少一个升级目标用户的现有版本的配置文件字段写入所述目标升级版本的配置文件的相应字段。
本公开实施例通过以上方法,对升级目标用户的现有版本的业务数据进行备份,以确保升级后保留用户的所有数据,不影响用户使用。
在一个实施例中,将所述至少一个升级目标用户的现有版本的配置文件字段写入所述目标升级版本的配置文件的相应字段包括:
判断所述至少一个升级目标用户的现有版本的配置文件中相对于所述目标升级版本是否有新增字段;
在判断结果为是时,将所述新增字段的值写入所述目标文件;
在判断结果为否时,判断所述至少一个升级目标用户的现有版本的配置文件中相对于所述目标升级版本是否有拆分字段;
在判断结果为是时,获取所述拆分字段的值,对所述拆分字段的值进行拆分,将拆分后的值写入所述目标文件;
在判断结果为否时,判断所述至少一个升级目标用户的现有版本的配置文件中相对于所述目标升级版本是否有合并字段;
在判断结果为是时,获取所述合并字段的值,对所述合并字段的值进行合并,将合并后的值写入所述目标文件;
在判断结果为否时,获取所述至少一个升级目标用户的现有版本的配置文件字段,将所述至少一个升级目标用户的现有版本的配置文件字段写入所述目标文件。
本公开实施例通过以上方法,可以在目标升级版本不兼容现有版本的配置文件时,通过判断合并字段、拆分字段、新增字段的情况,将现有版本格式转化为目标升级版本格式。
在一个实施例中,上述方法还包括:
判断所述至少一个升级目标用户的现有版本的配置文件字段是否全部写入所述目标文件;
在判断结果为是时,启动所述升级脚本进行升级;
在判断结果为否时,对所述至少一个升级目标用户的业务数据重新进行备份。
本公开实施例通过以上方法,进一步对配置文件备份的完整性进行检查,进一步保证了用户数据备份的完整性。
在一个实施例中,在所述目标升级版本高于所述至少一个升级目标用户的现有版本两级及以上时,所述启动所述升级脚本进行升级包括:
启动所述升级脚本对所述至少一个升级目标用户进行逐级升级。
本公开实施例通过以上方法,通过逐级升级的方式,减少了升级的复杂度,提高了升级的成功率。
在一个实施例中,根据所述升级策略,将所述升级文件发送给所述至少一个升级目标用户对应的至少一个虚拟机,并启动所述升级脚本进行升级包括:
将所述升级策略发送给代理服务器,以使所述代理服务器将所述升级文件发送给所述至少一个升级目标用户对应的至少一个虚拟机,并启动所述升级脚本进行升级。
根据本公开实施例的第二方面,提供一种服务器在线升级装置,包括:获取模块、接收模块和处理模块;
所述获取模块,用于获取升级文件,所述升级文件包括版本校验文件、升级脚本和目标升级版本的程序;
所述接收模块,用于接收用户设置的升级策略,所述升级策略包括所述目标升级版本的版本号,升级开始时间和至少一个升级目标用户;
所述处理模块,用于根据所述升级策略,将所述升级文件发送给所述至少一个升级目标用户对应的至少一个虚拟机,并启动所述升级脚本进行升级。
本公开实施例提供的服务器在线升级装置,包括获取模块、接收模块和处理模块;获取模块获取升级文件,升级文件包括版本校验文件、升级脚本和目标升级版本的程序;接收模块接收用户设置的升级策略,升级策略包括目标升级版本的版本号,升级开始时间和至少一个升级目标用户;处理模块根据升级策略,将升级文件发送给至少一个升级目标用户对应的至少一个虚拟机,并启动升级脚本进行升级。本公开提供的服务器在线升级装置,通过在线批量升级的方式,减少维护工程师的工作量以及出错的概率,节约管理成本。
根据本公开实施例的第三方面,提供一种服务器在线升级设备,所述服务器在线升级设备包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述指令由所述处理器加载并执行以实现上述任一项所述的服务器在线升级方法中所执行的步骤。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述存储介质中存储有至少一条计算机指令,所述指令由处理器加载并执行以实现上述任一项所述的服务器在线升级方法中所执行的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例提供的一种服务器在线升级方法的流程图;
图2是本公开实施例提供的服务器在线升级方法的流程示意图;
图3是本公开实施例提供的一种服务器在线升级方法中升级脚本执行的流程图;
图4是本公开实施例提供的一种服务器在线升级方法中检查升级文件的流程图;
图5是本公开实施例提供的一种服务器在线升级方法中配置文件备份的流程图;
图6是本公开实施例提供的一种服务器在线升级装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供一种服务器在线升级方法,如图1所示,该服务器在线升级方法包括以下步骤:
步骤101、获取升级文件,升级文件包括版本校验文件、升级脚本和目标升级版本的程序;
具体的,本公开服务器可以是CloudAccess云服务器;管理员上传升级所需的文件,升级所需文件主要包括版本校验文件,升级脚本和新版本的程序。
步骤102、接收用户设置的升级策略,升级策略包括目标升级版本的版本号,升级开始时间和至少一个升级目标用户;
实际使用中,管理员配置升级策略,主要包括升级的目标版本,升级开始时间,升级的目标用户,默认可选择对全部用户,提供选择部分用户的功能。
步骤103、根据升级策略,将升级文件发送给至少一个升级目标用户对应的至少一个虚拟机,并启动升级脚本进行升级。
具体的,根据升级策略,在到达升级开始时间时,启动升级。升级脚本执行业务数据升级,主要包括配置文件和数据库文件,先对数据进行备份,程序升级完成后,将业务数据还原,从用户的角度讲,如果不关心版本间的细节差异或者不去查看版本号,无法直观地感觉到版本的升级;
升级脚本执行升级程序升级,先卸载原版本程序,再安装新版本的程序,由程序的开发者来保证新旧版本的兼容性。
在一个实施例中,在启动升级脚本进行升级之前,上述方法还包括:
检查至少一个升级目标用户是否有现有版本软件安装目录下的校验文件生成软件;
在检查结果为是时,检查校验文件生成软件得到的校验文件是否与版本校验文件相同;
在检查结果为是时,检查至少一个升级目标用户的操作系统类型是否与目标升级版本的程序所需的操作系统类型相符;
在检查结果为是时,检查至少一个升级目标用户的操作系统版本是否高于或等于目标升级版本的程序所需的操作系统版本的最低要求;
在检查结果为是时,检查至少一个升级目标用户的运行库是否是目标升级版本的程序需要的运行库;
在检查结果为是时,启动升级脚本进行升级。
本公开实施例通过上述方法,在升级之前对升级目标用户进行检查,保证了升级能够正常顺利进行。
在一个实施例中,在检查至少一个升级目标用户是否有现有版本软件安装目录下的校验文件生成软件之后,上述方法还包括:
在检查结果为否时,显示升级失败信息;
在检查校验文件生成软件得到的校验文件是否与版本校验文件相同之后,上述方法还包括:
在检查结果为否时,显示升级失败信息;
在检查至少一个升级目标用户的操作系统类型是否与目标升级版本的程序所需的操作系统类型相符之后,上述方法还包括:
在检查结果为否时,显示升级失败信息;
在检查至少一个升级目标用户的操作系统版本是否高于或等于目标升级版本的程序所需的操作系统版本的最低要求之后,上述方法还包括:
在检查结果为否时,显示升级失败信息。
本公开实施例通过上述方法,在检查中出现异常情况时,给出显示信息,方便用户及时获取升级失败的原因。
在一个实施例中,检查至少一个升级目标用户的运行库是否是目标升级版本的程序需要的运行库包括:
检查至少一个升级目标用户是否有运行库;
在检查结果为是时,检查至少一个升级目标用户的运行库是否符合目标升级版本;
在检查结果为否时,安装目标升级版本的程序需要的运行库;
在检查至少一个升级目标用户的运行库是否符合目标升级版本之后,上述方法还包括:
在检查结果为否时,卸载至少一个升级目标用户的运行库;
安装目标升级版本的程序需要的运行库。
在一个实施例中,在启动升级脚本进行升级之前,上述方法还包括:
对至少一个升级目标用户的业务数据进行备份,业务数据包括配置文件和数据库文件;
其中,对至少一个升级目标用户的配置文件进行备份包括:
获取至少一个升级目标用户的现有版本和目标升级版本的版本号;
根据目标升级版本的版本号创建目标文件;
获取至少一个升级目标用户的现有版本的配置文件;
将至少一个升级目标用户的现有版本的配置文件字段写入目标升级版本的配置文件的相应字段。
本公开实施例通过以上方法,对升级目标用户的现有版本的业务数据进行备份,以确保升级后保留用户的所有数据,不影响用户使用。
在一个实施例中,将至少一个升级目标用户的现有版本的配置文件字段写入目标升级版本的配置文件的相应字段包括:
判断至少一个升级目标用户的现有版本的配置文件中相对于目标升级版本是否有新增字段;
在判断结果为是时,将新增字段的值写入目标文件;
在判断结果为否时,判断至少一个升级目标用户的现有版本的配置文件中相对于目标升级版本是否有拆分字段;
在判断结果为是时,获取拆分字段的值,对拆分字段的值进行拆分,将拆分后的值写入目标文件;
在判断结果为否时,判断至少一个升级目标用户的现有版本的配置文件中相对于目标升级版本是否有合并字段;
在判断结果为是时,获取合并字段的值,对合并字段的值进行合并,将合并后的值写入目标文件;
在判断结果为否时,获取至少一个升级目标用户的现有版本的配置文件字段,将至少一个升级目标用户的现有版本的配置文件字段写入目标文件。
本公开实施例通过以上方法,可以在目标升级版本不兼容现有版本的配置文件时,通过判断合并字段、拆分字段、新增字段的情况,将现有版本格式转化为目标升级版本格式。
在一个实施例中,上述方法还包括:
判断至少一个升级目标用户的现有版本的配置文件字段是否全部写入目标文件;
在判断结果为是时,启动升级脚本进行升级;
在判断结果为否时,对至少一个升级目标用户的业务数据重新进行备份。
本公开实施例通过以上方法,进一步对配置文件备份的完整性进行检查,进一步保证了用户数据备份的完整性。
在一个实施例中,在目标升级版本高于至少一个升级目标用户的现有版本两级及以上时,启动升级脚本进行升级包括:
启动升级脚本对至少一个升级目标用户进行逐级升级。
本公开实施例通过以上方法,通过逐级升级的方式,减少了升级的复杂度,提高了升级的成功率。
在一个实施例中,根据升级策略,将升级文件发送给至少一个升级目标用户对应的至少一个虚拟机,并启动升级脚本进行升级包括:
将升级策略发送给代理服务器,以使代理服务器将升级文件发送给至少一个升级目标用户对应的至少一个虚拟机,并启动升级脚本进行升级。
本公开实施例提供的服务器在线升级方法,首先获取升级文件,目标升级版本升级文件包括版本校验文件、升级脚本和目标升级版本的程序;然后接收用户设置的升级策略,目标升级版本升级策略包括目标升级版本目标升级版本的版本号,升级开始时间和至少一个升级目标用户;最后根据目标升级版本升级策略,将目标升级版本升级文件发送给目标升级版本至少一个升级目标用户对应的至少一个虚拟机,并启动目标升级版本升级脚本进行升级。本公开提供的服务器在线升级方法,通过在线批量升级的方式,减少维护工程师的工作量以及出错的概率,节约管理成本。
基于上述图1对应的实施例提供的服务器在线升级方法,本公开另一实施例提出了一种服务器在线升级方法,如图2所示,包括以下步骤:
步骤1、管理员将升级所需的文件上传到文件服务器,升级所需文件主要包括版本校验文件,升级脚本和新版本的程序;
具体的,文件服务器一般为版本服务器。
步骤2、管理员在管理平台上配置升级策略,主要包括升级的目标版本,升级开始时间,升级,升级的目标用户;
实际使用中,默认可选择对全部用户进行升级,同时也提供选择部分用户的功能。
步骤3、管理平台读取用户设置的升级策略,在升级开始时间到时,管理平台通知管理代理启动升级;
步骤4、管理代理根据配置升级策略下载升级所需的文件到服务器本地;
步骤5、管理代理根据配置升级策略启动升级脚本;
步骤6、升级脚本执行业务数据升级,主要包括配置文件和数据库文件,先对业务数据进行备份,程序升级完成后,将业务数据还原;
从用户的角度讲,如果不关心版本间的细节差异或者不去查看版本号,无法直观地感觉到版本的升级;
步骤7、升级脚本执行升级程序升级,先卸载原版本程序,再安装新版本的程序;
本步骤中,新旧版本的兼容性由程序的开发者来进行保证。
步骤6和步骤7合起来是升级脚本的任务,整个升级过程中,升级脚本最为关键,升级脚本执行的流程如图3所示。
其中,升级前检查升级文件,主要包含以下步骤,如图4所示:
(1)检查是否有旧版本的软件:主要是要用到旧版软件安装目录下的校验文件生成软件,如果有,则进行校验,否则升级失败,在日志信息中记录升级失败原因:没有检查到旧版本软件(也就是说,要升级软件,必须有原版本,全新的操作系统上不能进行升级软件,需要手动安装软件);
(2)检查升级文件的完整性:升级脚本通过运行校验文件生成软件得到校验文件,将得到的校验文件同服务器下载的版本校验文件比较,如果相同,则校验成功,进行升级,否则升级失败,在日志信息中记录升级失败原因:升级文件校验失败;
(3)检查操作系统类型:获取操作系统类型,如果当前操作系统类型同软件安装包所需的操作类型相符,则继续升级,否则升级失败,在日志信息中记录升级失败原因:操作系统类型不符合要求;
(4)检查操作系统版本:获取操作系统版本号,如果当前版本号符合安装包所需版本的最低要求,则继续升级,否则升级失败,在日志信息中记录升级失败原因:操作系统版本不符合要求;
(5)检查依赖运行库的版本:检查软件运行依赖的版本库是否安装,如果已经安装,则需要检查版本是否是所需要的版本,如果没有安装,则需要运行脚本进行安装。
升级文件检查无误后,将用户的业务数据进行备份,业务数据主要包括配置文件和数据库文件;
卸载旧版本并安装新版本程序,一般情况下,卸载和安装由软件安装包自动实现,安装包会自动检测是否存在旧版本,如果存在,则先执行卸载操作,再执行安装操作,如果不存在,则直接执行安装操作;
其中,业务数据恢复有三种情况:
(1)新版本兼容旧版本的配置文件,这种情况下数据恢复比较简单,直接进行文件替换即可,这种情况一般通过脚本文件对数据进行恢复。原则上要求新版本对旧版本配置文件的兼容性,但在实际操作中,极有可能由于需求变化很大,或者对配置文件进行整合精简,会出现配置文件不兼容的情况。
(2)新版本不兼容老版本的配置文件,比如配置项有拆分或者合并的操作,再比如数据库的某张表增加了一列属性的操作,这种情况下需要读取配置文件或者数据库的数据,从老版本格式转换为新版本的格式。数据的格式与程序密切相关,数据的备份与恢复方法有软件开发者直接负责实施,这种情况一般通过可执行文件恢复数据。
具体做法是:如图5所示,可执行文件分配了一块存储区域,存储配置文件格式列表,该表记录了所有版本的配置文件格式。程序获取到新版本号和旧版本号后,根据新版本的文件格式创建好文件,然后读取旧版本的配置文件,将旧版本配置文件字段的值写入到新版本配置文件的相应字段,对于新版本中新增的字段取默认值即可,对于拆分出来的字段要分别读取原值,然后写入到新版本配置文件的相应字段。
(3)特殊情况下,如果要跨版本进行升级,则按照逐级升级的方法进行,例如从1.0升级到4.0,不是数据的直接转化,而是按1.0->2.0->3.0->4.0方式升级,这种方案会减少升级复杂度,增加升级时间,但业务数据的数据量通常不是特别大,用户体验差别不大。
最后,升级完成后,根据实际需要对服务器或操作系统进行重启。
本公开实施例提供的服务器在线升级方法,可以对不同操作系统上的软件进行升级,可以跨版本升级,还可以在虚拟机关机的状态下自动启动虚拟机,再进行升级。另外,还可对升级过程进行限制,在某个用户正在使用的时候先对属于该用户的系统跳过升级,等到系统闲置的时候对系统进行升级,升级的过程中保留用户的所有数据,升级完成后保留用户的状态。本公开整个升级结果只能出现两种结果,一是升级成功,二是升级失败,如果升级失败,能够保证系统还原到升级前的状态,不影响用户的正常使用。
基于上述图1和图2对应的实施例中所描述的服务器在线升级方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。
本公开实施例提供一种服务器在线升级装置20,如图6所示,包括:获取模块201、接收模块202和处理模块203;
获取模块201,用于获取升级文件,升级文件包括版本校验文件、升级脚本和目标升级版本的程序;
接收模块202,用于接收用户设置的升级策略,升级策略包括目标升级版本的版本号,升级开始时间和至少一个升级目标用户;
处理模块203,用于根据升级策略,将升级文件发送给至少一个升级目标用户对应的至少一个虚拟机,并启动升级脚本进行升级。
本公开实施例提供的服务器在线升级装置,包括获取模块201、接收模块202和处理模块203;获取模块201获取升级文件,升级文件包括版本校验文件、升级脚本和目标升级版本的程序;接收模块202接收用户设置的升级策略,升级策略包括目标升级版本的版本号,升级开始时间和至少一个升级目标用户;处理模块203根据升级策略,将升级文件发送给至少一个升级目标用户对应的至少一个虚拟机,并启动升级脚本进行升级。本公开提供的服务器在线升级装置,通过在线批量升级的方式,减少维护工程师的工作量以及出错的概率,节约管理成本。
基于上述图1和图2对应的实施例中描述的服务器在线升级方法,本公开另一实施例还提供一种服务器在线升级设备,该服务器在线升级设备包括处理器和存储器,存储器中存储有至少一条计算机指令,该指令由处理器加载并执行以实现上述图1和图2对应的实施例中所描述的服务器在线升级方法。
基于上述图1和图2对应的实施例中所描述的服务器在线升级方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:Read Only Memory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有至少一条计算机指令,用于执行上述图1和图2对应的实施例中所描述的服务器在线升级方法,此处不再赘述。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种服务器在线升级方法,其特征在于,所述方法包括:
获取升级文件,所述升级文件包括版本校验文件、升级脚本和目标升级版本的程序;
接收用户设置的升级策略,所述升级策略包括所述目标升级版本的版本号,升级开始时间和至少一个升级目标用户;
根据所述升级策略,将所述升级文件发送给所述至少一个升级目标用户对应的至少一个虚拟机,并启动所述升级脚本进行升级。
2.根据权利要求1所述的服务器在线升级方法,其特征在于,在所述启动所述升级脚本进行升级之前,所述方法还包括:
检查所述至少一个升级目标用户是否有现有版本软件安装目录下的校验文件生成软件;
在检查结果为是时,检查所述校验文件生成软件得到的校验文件是否与所述版本校验文件相同;
在检查结果为是时,检查所述至少一个升级目标用户的操作系统类型是否与所述目标升级版本的程序所需的操作系统类型相符;
在检查结果为是时,检查所述至少一个升级目标用户的操作系统版本是否高于或等于所述目标升级版本的程序所需的操作系统版本的最低要求;
在检查结果为是时,检查所述至少一个升级目标用户的运行库是否是所述目标升级版本的程序需要的运行库;
在检查结果为是时,启动所述升级脚本进行升级。
3.根据权利要求2所述的服务器在线升级方法,其特征在于,在所述检查所述至少一个升级目标用户是否有现有版本软件安装目录下的校验文件生成软件之后,所述方法还包括:
在检查结果为否时,显示升级失败信息;
在所述检查所述校验文件生成软件得到的校验文件是否与所述版本校验文件相同之后,所述方法还包括:
在检查结果为否时,显示升级失败信息;
在所述检查所述至少一个升级目标用户的操作系统类型是否与所述目标升级版本的程序所需的操作系统类型相符之后,所述方法还包括:
在检查结果为否时,显示升级失败信息;
在所述检查所述至少一个升级目标用户的操作系统版本是否高于或等于所述目标升级版本的程序所需的操作系统版本的最低要求之后,所述方法还包括:
在检查结果为否时,显示升级失败信息。
4.根据权利要求2所述的服务器在线升级方法,其特征在于,所述检查所述至少一个升级目标用户的运行库是否是所述目标升级版本的程序需要的运行库包括:
检查所述至少一个升级目标用户是否有运行库;
在检查结果为是时,检查所述至少一个升级目标用户的运行库是否符合所述目标升级版本;
在检查结果为否时,安装所述目标升级版本的程序需要的运行库;
在所述检查所述至少一个升级目标用户的运行库是否符合所述目标升级版本之后,所述方法还包括:
在检查结果为否时,卸载所述至少一个升级目标用户的运行库;
安装所述目标升级版本的程序需要的运行库。
5.根据权利要求1所述的服务器在线升级方法,其特征在于,在所述启动所述升级脚本进行升级之前,所述方法还包括:
对所述至少一个升级目标用户的业务数据进行备份,所述业务数据包括配置文件和数据库文件;
其中,对所述至少一个升级目标用户的配置文件进行备份包括:
获取所述至少一个升级目标用户的现有版本和所述目标升级版本的版本号;
根据所述目标升级版本的版本号创建目标文件;
获取所述至少一个升级目标用户的现有版本的配置文件;
将所述至少一个升级目标用户的现有版本的配置文件字段写入所述目标升级版本的配置文件的相应字段。
6.根据权利要求5所述的服务器在线升级方法,其特征在于,所述将所述至少一个升级目标用户的现有版本的配置文件字段写入所述目标升级版本的配置文件的相应字段包括:
判断所述至少一个升级目标用户的现有版本的配置文件中相对于所述目标升级版本是否有新增字段;
在判断结果为是时,将所述新增字段的值写入所述目标文件;
在判断结果为否时,判断所述至少一个升级目标用户的现有版本的配置文件中相对于所述目标升级版本是否有拆分字段;
在判断结果为是时,获取所述拆分字段的值,对所述拆分字段的值进行拆分,将拆分后的值写入所述目标文件;
在判断结果为否时,判断所述至少一个升级目标用户的现有版本的配置文件中相对于所述目标升级版本是否有合并字段;
在判断结果为是时,获取所述合并字段的值,对所述合并字段的值进行合并,将合并后的值写入所述目标文件;
在判断结果为否时,获取所述至少一个升级目标用户的现有版本的配置文件字段,将所述至少一个升级目标用户的现有版本的配置文件字段写入所述目标文件。
7.根据权利要求6所述的服务器在线升级方法,其特征在于,所述方法还包括:
判断所述至少一个升级目标用户的现有版本的配置文件字段是否全部写入所述目标文件;
在判断结果为是时,启动所述升级脚本进行升级;
在判断结果为否时,对所述至少一个升级目标用户的业务数据重新进行备份。
8.根据权利要求1所述的服务器在线升级方法,其特征在于,在所述目标升级版本高于所述至少一个升级目标用户的现有版本两级及以上时,所述启动所述升级脚本进行升级包括:
启动所述升级脚本对所述至少一个升级目标用户进行逐级升级。
9.根据权利要求1所述的服务器在线升级方法,其特征在于,所述根据所述升级策略,将所述升级文件发送给所述至少一个升级目标用户对应的至少一个虚拟机,并启动所述升级脚本进行升级包括:
将所述升级策略发送给代理服务器,以使所述代理服务器将所述升级文件发送给所述至少一个升级目标用户对应的至少一个虚拟机,并启动所述升级脚本进行升级。
10.一种服务器在线升级装置,其特征在于,包括:获取模块、接收模块和处理模块;
所述获取模块,用于获取升级文件,所述升级文件包括版本校验文件、升级脚本和目标升级版本的程序;
所述接收模块,用于接收用户设置的升级策略,所述升级策略包括所述目标升级版本的版本号,升级开始时间和至少一个升级目标用户;
所述处理模块,用于根据所述升级策略,将所述升级文件发送给所述至少一个升级目标用户对应的至少一个虚拟机,并启动所述升级脚本进行升级。
CN202110400703.3A 2021-04-14 2021-04-14 一种服务器在线升级方法及装置 Pending CN113204359A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110400703.3A CN113204359A (zh) 2021-04-14 2021-04-14 一种服务器在线升级方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110400703.3A CN113204359A (zh) 2021-04-14 2021-04-14 一种服务器在线升级方法及装置

Publications (1)

Publication Number Publication Date
CN113204359A true CN113204359A (zh) 2021-08-03

Family

ID=77026832

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110400703.3A Pending CN113204359A (zh) 2021-04-14 2021-04-14 一种服务器在线升级方法及装置

Country Status (1)

Country Link
CN (1) CN113204359A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113934443A (zh) * 2021-10-11 2022-01-14 西安万像电子科技有限公司 软件升级系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113934443A (zh) * 2021-10-11 2022-01-14 西安万像电子科技有限公司 软件升级系统

Similar Documents

Publication Publication Date Title
US6353928B1 (en) First run installer
US7334157B1 (en) Restore of data to a computer system having different hardware
US20040117414A1 (en) Method and system for automatically updating operating systems
US7509544B2 (en) Data repair and synchronization method of dual flash read only memory
US20050235281A1 (en) Combined software installation package
CN109634638B (zh) 一种集群软件升级方法、装置、设备及介质
CN113032032B (zh) 一种系统管理方法、装置、计算设备及可读存储介质
CN112764766B (zh) 一种k8s集群与存储的对接方法、装置、设备及存储介质
CN110780942A (zh) 系统启动方法、装置、节点设备及计算机可读存储介质
US7818557B2 (en) Method for re-imaging a computer system
CN112527354A (zh) 一种监控软件升级方法、装置、设备及可读存储介质
US20050144617A1 (en) Automatic configuration of reinstall information
CN113204359A (zh) 一种服务器在线升级方法及装置
CN114741096A (zh) 升级处理方法、设备及存储介质
CN117056115B (zh) 应用程序的修复方法和装置、存储介质及电子设备
CN112286543B (zh) 一种应用服务部署方法及装置
CN113032183A (zh) 系统管理方法、装置、计算机设备和存储介质
CN110032387B (zh) 具有高可靠性机载设备映像加载处理功能的通用处理模块
CN116028084A (zh) 一种基于OpenStack云平台跨版本热升级的方法、系统及终端
CN113934443A (zh) 软件升级系统
CN114510375A (zh) 一种Flash芯片数据区域动态共享系统及方法
CN113703823A (zh) 一种bmc固件升级方法、装置、电子设备及存储介质
US20160004607A1 (en) Information processing apparatus and information processing method
CN112579113A (zh) 应用程序的升级方法、装置、存储介质及终端
CN113900765A (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