CN116954671A - 私有云软件升级方法、设备及计算机可读介质 - Google Patents

私有云软件升级方法、设备及计算机可读介质 Download PDF

Info

Publication number
CN116954671A
CN116954671A CN202311008974.XA CN202311008974A CN116954671A CN 116954671 A CN116954671 A CN 116954671A CN 202311008974 A CN202311008974 A CN 202311008974A CN 116954671 A CN116954671 A CN 116954671A
Authority
CN
China
Prior art keywords
database
software
private cloud
operating system
upgrade
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
CN202311008974.XA
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.)
Shanghai Yunzhou Information Technology Co ltd
Original Assignee
Shanghai Yunzhou Information 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 Shanghai Yunzhou Information Technology Co ltd filed Critical Shanghai Yunzhou Information Technology Co ltd
Priority to CN202311008974.XA priority Critical patent/CN116954671A/zh
Publication of CN116954671A publication Critical patent/CN116954671A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Abstract

本申请提供了一种私有云软件升级方法、设备及计算机可读介质,该方案的升级包中除了软件升级本身所需要的升级数据,还携带了关于各个预检项目的预检数据,私有云管理节点可以在获取到软件升级包之后,可以直接基于其中的预检数据进行相应预检项目的检查,在通过这些预检后,自动执行后续的软件升级,而不再需要输入节点的信息,并在下载升级包之前先进行版本的检查,实现了直接下载一键升级,使得私有云软件的升级过程更加便捷。

Description

私有云软件升级方法、设备及计算机可读介质
技术领域
本申请涉及信息技术领域,尤其涉及一种私有云软件升级方法、设备及计算机可读介质。
背景技术
私有云(Private Cloud)是为一个组织单独使用而构建的一种云计算服务形式,可以为用户提供对数据、安全性和服务质量的有效控制。对于私有云管理节点的软件进行升级时,现有的方案是使用单独的软件升级工具,把私有云管理节点的IP地址、登录的用户名、密码添加至软件升级工具中,然后选择私有云中当前软件的版本信息和待升级的版本信息,检查是否适合升级到新版本。通过检查之后,再去下载最新的升级包到私有云上进行升级。在升级过程中,用户需要提前准备单独的软件升级工具,在下载升级包之前先进行版本的检查,同时需要输入节点的信息,整个该过程较为繁琐。
发明内容
本申请的一个目的是提供一种私有云软件升级方法、设备及计算机可读介质。
为实现上述目的,本申请提供了一种私有云软件升级方法,所述方法包括:
获取软件升级包,所述软件升级包中包括关于预检项目的预检数据以及关于升级内容的升级数据;
根据所述预检数据按照预设顺序执行所述预检项目;
当所述预检项目通过后,根据所述升级数据对所述私有云软件进行升级。
进一步地,所述预检项目包括:
操作系统类型检查;
操作系统源检查;
软件版本检查;
资源检查;
数据库内容检查;
数据库语句冲突检查。
进一步地,操作系统类型检查包括:
从升级包中的操作系统版本文件获取第一操作系统类型,并从私有云管理节点中的操作系统版本文件获取第二操作系统类型;
比较所述第一操作系统类型和所述第二操作系统类型是否一致;
若两者一致,则确认通过操作系统类型检查。
进一步地,操作系统源检查包括:
比较升级包中的源版本文件的内容与私有云管理节点中的源版本文件的内容是否一致;
若两者一致,则确认通过操作系统源检查。
进一步地,软件版本检查包括:
按照从左至右的顺序,比较升级包的软件版本号与私有云管理节点的软件版本号;
若升级包的软件版本号高于私有云管理节点的软件版本号,则确认通过软件版本检查。
进一步地,资源检查包括:
获取所述私有云管理节点处理器数量、内存大小和剩余磁盘大小,判断所述处理器数量、内存大小和剩余磁盘大小是否满足预设要求;
若满足预设要求,则确认通过资源检查。
进一步地,数据库内容检查包括:
分别计算私有云的数据库文件的第一MD5值和升级包中的数据库文件的第二MD5值;
比较所述第一MD5值与所述第二MD5值是否一致;
若两者一致,则确认通过数据库内容检查。
进一步地,数据库语句冲突检查包括:
根据所述升级数据对私有云的数据库进行升级,在升级后的数据库中执行数据库语句;若执行出错,对数据库进行回滚处理,若执行未出错,确认通过数据库语句冲突检查;或者
复制私有云的数据库,根据所述升级数据对复制的数据库进行升级,在升级后的数据库中执行数据库语句,若执行未出错,确认通过数据库语句冲突检查。
基于本申请的另一方面,还提供了一种私有云软件升级设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行所述私有云软件升级方法。
本申请实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现所述私有云软件升级方法。
与现有技术相比,本申请提供了一种私有云软件升级方案,该方案首先获取软件升级包,该所述软件升级包中包括关于预检项目的预检数据以及关于升级内容的升级数据,由此可以根据升级包中的预检数据按照预设顺序执行所述预检项目,当所述预检项目通过后,可以自动根据升级包中的升级数据对所述私有云软件进行升级。由于升级包中除了软件升级本身所需要的升级数据,还携带了关于各个预检项目的预检数据,私有云管理节点可以在获取到软件升级包之后,可以直接基于其中的预检数据进行相应预检项目的检查,在通过这些预检后,自动执行后续的软件升级,而不再需要输入节点的信息,并在下载升级包之前先进行版本的检查,实现了直接下载一键升级,使得私有云软件的升级过程更加便捷。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本申请实施例中提供的一种私有云软件升级方法的处理流程图;
图2为采用本申请实施例的方案执行升级预检的流程示意图;
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请实施例提供了一种私有云软件升级方法,首先获取软件升级包,该所述软件升级包中包括关于预检项目的预检数据以及关于升级内容的升级数据,由此可以根据升级包中的预检数据按照预设顺序执行所述预检项目,当所述预检项目通过后,可以自动根据升级包中的升级数据对所述私有云软件进行升级。由于升级包中除了软件升级本身所需要的升级数据,还携带了关于各个预检项目的预检数据,私有云管理节点可以在获取到软件升级包之后,可以直接基于其中的预检数据进行相应预检项目的检查,在通过这些预检后,自动执行后续的软件升级,而不再需要输入节点的信息,并在下载升级包之前先进行版本的检查,实现了直接下载一键升级,使得私有云软件的升级过程更加便捷。
在实际场景中,所述升级方法的执行主体可以是私有云网络中的安装有私有云软件的服务器,可以其具体实现可以包括但不限于如网络主机、单个网络服务器、多个网络服务器集中的服务器,在此所述私有云网络由基于云计算(Cloud Computing)的大量主机或网络服务器构成。
图1示出了本申请实施例提供的一种私有云软件升级方法的处理流程,至少包括以下的处理步骤:
步骤S101,获取软件升级包。其中,所述软件升级包中包括了关于预检项目的预检数据以及关于升级内容的升级数据,基于其中的预检数据即可完成相关的预检项目,因此本方案中需要升级软件的私有云管理节点在下载数据包之前可以不进行任何检查,直接从提供下载服务的节点下载获得软件升级包即可,使得升级过程更加便捷。
步骤S102,根据所述预检数据按照预设顺序执行所述预检项目。其中,所述预检数据中可以提供了关于预检项目执行的相关代码,通过执行这些代码,即可按照预设顺序执行预检项目,由此可以依据升级的软件对安装环境的基本要求,对私有云当前的安装环境进行判定,判断是否能够顺利完成升级。
在本申请实施例的方案中,所述预检项目可以包括以下几项:操作系统类型检查、操作系统源检查、软件版本检查、资源检查、数据库内容检查以及数据库语句冲突检查。上述各项预检项目的检查均通过后,即可确定私有云管理节点符合软件对安装环境的基本要求,可以继续后续的升级过程。
上述的预检项目中,操作系统类型检查用于检查软件升级包中将要升级的操作系统类型与私有云管理节点中当前的操作系统类型是否一致。例如,若私有云管理节点中的软件当前所使用的操作系统类型为OS1,软件升级包中的操作系统类型为OS2,由于两者不相同,就会导致升级失败,因此退出本次升级,不再继续本次升级过程。
在实际场景中,可以从升级包中的操作系统版本文件获取第一操作系统类型,并从私有云管理节点中的操作系统版本文件获取第二操作系统类型,然后比较所述第一操作系统类型和所述第二操作系统类型是否一致,若两者一致,则确认通过操作系统类型检查。若两者不一致,则确认未通过操作系统类型检查,此时可以退出升级过程,同时生成相应的提示信息。以本实施例中的场景为例,若操作系统版本文件为xx-release文件,这个文件的功能是记录私有云管理节点的操作系统类型,由此可以执行以下的命令:
rpm-qi xx-release|awk-F':”/Version/{print$2}'|sed's///g'
通过执行该命令即可从操作系统版本文件中获取到关于操作系统类型的信息,将得到的两个操作系统类型进行比较,即可判断两者是否一致。
操作系统源检查用于检查软件升级包中将要升级的操作系统源(repo源)与私有云管理节点中当前的操作系统源是否一致。若两者不一致,也会导致升级失败,因此退出本次升级,不再继续本次升级过程。在实际场景中,可以比较升级包中的源版本文件的内容与私有云管理节点中的源版本文件的内容是否一致,若两者一致,则确认通过操作系统源检查。若两者不一致,则确认未通过操作系统源检查,此时可以退出升级过程,同时生成相应的提示信息。以本实施例中的场景为例,若源版本文件为repo_version文件,这个文件的功能是记录私有云管理节点的操作系统源的具体信息,通过比较软件升级包中的repo_version文件和私有云管理节点当前的repo_version文件中的具体内容,即可判断操作系统源是否一致。
软件版本检查用于检查软件升级包中将要升级的软件的版本是否高于私有云管理节点中当前运行的软件的版本。由于软件的版本在编号时,会有一定的规律,即新的软件的版本更高,因此若软件升级包中将要升级的软件的版本低于私有云管理节点中当前运行的软件的版本,将会导致私有云管理节点中的软件版本降低。
在实际场景中,软件的版本可以采用版本号来表示,包括从左至右以分隔符号分开的一组数字表示。在进行软件版本检查时,可以按照从左至右的顺序,比较升级包的软件版本号与私有云管理节点的软件版本号,若升级包的软件版本号高于私有云管理节点的软件版本号,则确认通过软件版本检查。若升级包的软件版本号没有高于私有云管理节点的软件版本号,则确认未通过软件版本检查,此时可以退出升级过程,同时生成相应的提示信息。
例如,本实施例中分割符号为“.”,则软件升级包中的版本号可以是:4.4.2.1,私有云管理节点中当前运行的软件的版本号可以是:3.12.4.55,比较时按照从左至右的顺序依次比较,左边起的第一位优先级最高,依次类推。首先比较优先级最高的数字,当优先级高的数字相同时,再比较优先级更低下一位数字,直至两个数字不同时,即可根据数字大小确定版本的高低。以前述的版本号4.4.2.1和3.12.4.55,首先比较左边第一位的4和3,其中4>3,则无需继续往下比较,即可确定4.4.2.1高于3.12.4.55。若以版本号4.5.2.1和4.5.8.1为例,首先比较左边第一位,由于都是4,继续比较优先级更低的下一位数字。下一位数字都是5,则继续往下比较,此时分别为2和8,2<8,此时无需继续往下比较,可以确定4.5.2.1低于4.5.8.1。
资源检查用于私有云管理节点的硬件资源是否符合软件升级的要求。若无法满足要求,也会导致升级失败,因此退出本次升级,不再继续本次升级过程。其中,资源检查时所检查的硬件资源的种类可以根据实际场景中不同软件各自不同的需求来确定。
例如,本实施例中管理节点服务的软件对于处理器数量的最低要求是4个,对于内存大小的最低要求是7168MB,对于剩余磁盘大小的最低要求是10GB,则资源检查时需要检查的资源包括处理器数量、内存大小和剩余磁盘大小。由此,可以获取所述私有云管理节点处理器数量、内存大小和剩余磁盘大小,判断所述处理器数量、内存大小和剩余磁盘大小是否满足预设要求;若满足预设要求,则确认通过资源检查。
其中,处理器数量和内存大小的要求一般是用于升级后的软件运行时对于计算资源的需求,在实际场景中,可以通过查看路径“/proc/cpuinfo”中的processor来获取有多少处理器数量,同时可以通过执行命令“free-m”查看total列的值来获取内存大小。所述剩余磁盘大小的要求一般是用于满足升级过程中备份相关数据时对于存储资源的需求,例如可以计算升级备份需要的磁盘空间,包括数据库备份,升级备份,操作系统源等,若计算结果为8GB。则可以将该计算结果的1.2倍作为资源检查时剩余磁盘小大的最低要求,如果私有云管理节点的剩余磁盘空间不满足升级备份需要的磁盘空间的1.2倍,即9.6GB,则可以提示剩余磁盘空间不足,确认未通过资源检查,此时可以退出升级过程。若上述几项资源都满足要求,则确认通过资源检查。
数据库内容检查用于判断私有云的数据库文件中的数据库表内容与软件升级包中的数据库文件的数据库表内容是否一致。若两者不一致,会导致升级后数据库无法正常使用,因此退出本次升级,不再继续本次升级过程。具体地,可以通过比较数据库文件中数据库表的校验和的方式来具体判断两者是否一致,本实施例中,校验和具体可以采用MD5(MessageDigest Algorithm 5,信息摘要算法第五版)值,即首先计算私有云的数据库文件的第一MD5值和升级包中的数据库文件的第二MD5值,然后比较所述第一MD5值与所述第二MD5值是否一致,若两者一致,则确认通过数据库内容检查。否则,确认未通过数据库内容检查,此时可以退出升级过程,同时生成相应的提示信息。
数据库语句冲突检查用于检查数据库语句能否在升级后的数据库中正确执行,若无法正确执行,则会退出本次升级,不再继续本次升级过程,以避免进行软件升级后无法正常提供服务。
本申请实施例中,提供了两种数据库语句冲突检查的方案,方案一为:复制私有云的数据库,根据所述升级数据对复制的数据库进行升级,在升级后的数据库中执行数据库语句,若执行未出错,确认通过数据库语句冲突检查。若执行未出错,不会对私有云现有的数据库产生影响,仅需要删除备份即可。该方案中,由于是在复制获得的数据库备份数据中进行的升级和语句执行操作,因此其优点在于即使出现问题也不会对实际的生产环境产生影响,但是缺点是备份的数据库需要花费一定的时间,同时会占用一定磁盘空间。
另一种方案二为:根据所述升级数据对私有云的数据库进行升级,在升级后的数据库中执行数据库语句;若执行出错,由于本方案中执行的升级和语句执行都并非是针对备份的数据库,因此在执行出错时可以对数据库进行回滚处理,使其恢复为原数据库,避免对生产环境产生影响。若执行未出错,则确认通过数据库语句冲突检查。该方案中,不需要对数据库继续备份,可以节约时间和磁盘空间,仅需要在在出错时执行额外的回滚处理,因此对于出错较少的场景,这种方案具有更好的性能。
在实际场景中,上述预检项目的顺序可以根据实际场景的需求设定,其中部分例如
步骤S103,当所述预检项目通过后,根据所述升级数据对所述私有云软件进行升级。其中,若数据库已经在预检过程中完成升级,则本步骤中可以不再重复执行。由于升级包中除了软件升级本身所需要的升级数据,还携带了关于各个预检项目的预检数据,私有云管理节点可以在获取到软件升级包之后,可以直接基于其中的预检数据进行相应预检项目的检查,在通过这些预检后,自动执行后续的软件升级,而不再需要输入节点的信息,并在下载升级包之前先进行版本的检查,实现了直接下载一键升级,使得私有云软件的升级过程更加便捷。
图2示出了采用本申请实施例的方案执行升级预检的流程,在下载软件升级包后,首先开始升级预检,升级预检包括以下的步骤:
步骤S201,操作系统类型检查,判断操作系统类型是否一致。
步骤S202,操作系统源检查,判断操作系统源是否一致。
步骤S203,软件版本检查,判断软件升级包中的软件版本是否更高。
步骤S204,处理器资源检查,判断私有云管理节点的处理器数量是否大于等于4。
步骤S205,内存资源检查,判断私有云管理节点的内存是否大于等于8GB。
步骤S206,磁盘资源检查,判断私有云管理节点的剩余磁盘空间是否满足要求。
步骤S207,数据库内容检查,判断数据库升级前后版本的文件是否一致;
步骤S208,数据库语句冲突检查,判断数据库语句能否在升级后正确执行。
在完成上述升级预检的项目后,即可开始升级。这样在升级时,通过各个预检项目检查后,最后确保在都正确符合才开始正式的升级软件,避免升级到中间过程失败,而当上述任意一项升级预检的项目检查未通过时,就退出升级过程。
基于同一发明构思,本申请实施例中还提供了一种私有云软件升级设备,该设备对应的方法是前述实施例中的私有云软件升级方法,并且其解决问题的原理与该方法相似。本申请实施例提供的用于多个云平台数据同步的平台包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备实现前述本申请的多个实施例的方法和/或技术方案。
所述设备可以是私有云网络中的安装有私有云软件的服务器,可以其具体实现可以包括但不限于如网络主机、单个网络服务器、多个网络服务器集中的服务器,在此所述私有云网络由基于云计算(Cloud Computing)的大量主机或网络服务器构成。
特别地,本申请实施例中的方法和/或实施例可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在该计算机程序被处理单元执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图或框图示出了按照本申请各种实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的针对硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个计算机程序指令,所述计算机程序指令可被处理器执行以实现前述本申请的多个实施例的方法和/或技术方案。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一些实施例中,本申请的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。步骤所对应的序号的数字顺序,并不表示任何特定执行顺序,各个步骤在符合执行逻辑的前提下可以采用任意的顺序组合执行。

Claims (10)

1.一种私有云软件升级方法,其特征在于,所述方法包括:
获取软件升级包,所述软件升级包中包括关于预检项目的预检数据以及关于升级内容的升级数据;
根据所述预检数据按照预设顺序执行所述预检项目;
当所述预检项目通过后,根据所述升级数据对所述私有云软件进行升级。
2.根据权利要求1所述的方法,其特征在于,所述预检项目包括:
操作系统类型检查;
操作系统源检查;
软件版本检查;
资源检查;
数据库内容检查;
数据库语句冲突检查。
3.根据权利要求2所述的方法,其特征在于,操作系统类型检查包括:
从升级包中的操作系统版本文件获取第一操作系统类型,并从私有云管理节点中的操作系统版本文件获取第二操作系统类型;
比较所述第一操作系统类型和所述第二操作系统类型是否一致;
若两者一致,则确认通过操作系统类型检查。
4.根据权利要求2所述的方法,其特征在于,操作系统源检查包括:
比较升级包中的源版本文件的内容与私有云管理节点中的源版本文件的内容是否一致;
若两者一致,则确认通过操作系统源检查。
5.根据权利要求2所述的方法,其特征在于,软件版本检查包括:
按照从左至右的顺序,比较升级包的软件版本号与私有云管理节点的软件版本号;
若升级包的软件版本号高于私有云管理节点的软件版本号,则确认通过软件版本检查。
6.根据权利要求2所述的方法,其特征在于,资源检查包括:
获取所述私有云管理节点处理器数量、内存大小和剩余磁盘大小,判断所述处理器数量、内存大小和剩余磁盘大小是否满足预设要求;
若满足预设要求,则确认通过资源检查。
7.根据权利要求2所述的方法,其特征在于,数据库内容检查包括:
分别计算私有云的数据库文件的第一MD5值和升级包中的数据库文件的第二MD5值;
比较所述第一MD5值与所述第二MD5值是否一致;
若两者一致,则确认通过数据库内容检查。
8.根据权利要求2所述的方法,其特征在于,数据库语句冲突检查包括:
根据所述升级数据对私有云的数据库进行升级,在升级后的数据库中执行数据库语句;若执行出错,对数据库进行回滚处理,若执行未出错,确认通过数据库语句冲突检查;或者
复制私有云的数据库,根据所述升级数据对复制的数据库进行升级,在升级后的数据库中执行数据库语句,若执行未出错,确认通过数据库语句冲突检查。
9.一种私有云软件升级设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行权利要求1至8中任一项所述的方法。
10.一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现如权利要求1至8中任一项所述的方法。
CN202311008974.XA 2023-08-10 2023-08-10 私有云软件升级方法、设备及计算机可读介质 Pending CN116954671A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311008974.XA CN116954671A (zh) 2023-08-10 2023-08-10 私有云软件升级方法、设备及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311008974.XA CN116954671A (zh) 2023-08-10 2023-08-10 私有云软件升级方法、设备及计算机可读介质

Publications (1)

Publication Number Publication Date
CN116954671A true CN116954671A (zh) 2023-10-27

Family

ID=88461917

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311008974.XA Pending CN116954671A (zh) 2023-08-10 2023-08-10 私有云软件升级方法、设备及计算机可读介质

Country Status (1)

Country Link
CN (1) CN116954671A (zh)

Similar Documents

Publication Publication Date Title
CN110058873B (zh) 应用页面更新方法、装置、设备和存储介质
US10402213B2 (en) Software appliance distribution with layer removal
US11036491B1 (en) Identifying and resolving firmware component dependencies
US9274782B2 (en) Automated computer application update analysis
US8495629B2 (en) Virtual machine relocation system and associated methods
US11599385B2 (en) System and method for distribution of dependent builds across orchestration job scheduler slaves
CN111078262A (zh) 应用的热修复方法和装置
CN112214221B (zh) 一种用于Linux系统构建的方法与设备
CN111400267A (zh) 记录日志的方法和装置
US11544050B1 (en) Software patch automation
US20210141632A1 (en) Automated software patching for versioned code
US20210124575A1 (en) Providing build avoidance without requiring local source code
CN110865829A (zh) 数据库升级方法、系统、设备及存储介质
CN112631621A (zh) 一种依赖包管理方法、装置、服务器及存储介质
CN116954671A (zh) 私有云软件升级方法、设备及计算机可读介质
US10877992B2 (en) Updating a database
CN115495286A (zh) 配置文件定时备份的测试方法、系统、设备和存储介质
CN107092671B (zh) 一种元信息管理的方法及设备
CN111629200A (zh) 一种快速检测差分包可靠性的方法、装置及可读存储介质
CN115617488A (zh) 操作系统迁移方法、装置、计算设备及存储介质
US11429537B2 (en) Method, device, and computer program product for managing storage system
CN114281798A (zh) 异构数据库的数据迁移方法、设备及计算机可读介质
CN114924742A (zh) 用于虚拟机模拟软件的热补丁制作和应用方法、装置
CN112114811A (zh) 一种编译方法、装置和设备
US10248396B1 (en) Code review with automated translation

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