1.本技术涉及软件升级领域,具体而言,涉及一种软件升级系统。
背景技术:2.桌面虚拟化(vdi)是指将计算机的终端系统(也称作桌面)进行虚拟化,以达到桌面使用的安全性和灵活性。可以通过任何设备,在任何地点,任何时间通过网络访问属于我们个人的桌面系统。利用虚拟技术,对各种物理设备进行虚拟化处理,从而使资源的利用率得到有效提升,以此节约成本、提高应用质量。在虚拟化技术的支持下,网络软件和硬件设备之间的联系会更加灵活,可拓展性也会大大提升。云桌面利用虚拟化技术本质上是对各项用户信息进行统一储存和管理,通过简单的网络接入设备,用户端就能够进入云桌面实现集中管理,并且实现高效率的资源共享。
3.随着云计算的发展和成熟,云桌面的使用场景越来越广泛,高校、医疗、政府等多个行业开始渐渐普及云桌面办公,云桌面也会是以后的一个整体趋势。
4.为了提高算力,通常服务器端会将多个主机(虚拟机/物理机)互相连接在一起构成一个并行或分布式系统,也就是集群服务器。但是,如果vdi系统需要升级服务器的配置,那么就需要运维人员针对于每一台主机进行逐个升级,这个操作是很繁琐且有大量的重复工作。
5.针对上述的问题,目前尚未提出有效的解决方案。
技术实现要素:6.本技术实施例提供了一种软件升级系统,以至少解决由于相关技术中基于人工手动的方式对每一台主机逐个升级造成的操作繁琐、工作效率低下的技术问题。
7.根据本技术实施例的一个方面,提供了一种软件升级系统,包括:升级管理代理服务器,接收第一服务器的升级触发指令,升级触发指令用于从第二服务器获取目标软件包,第一服务器连接有多个主机,主机中设置有升级管理代理服务器,主机与升级管理代理服务器一一对应;第一服务器,用于向升级管理代理服务器发送升级触发指令;第二服务器,用于接收升级管理代理服务器转发的升级触发指令,将目标软件包文件发送至升级管理代理服务器,其中,目标软件包用于完成对主机中的数据库与软件程序的升级,其中,数据库用于存储用户配置的数据。
8.可选地,升级管理代理服务器,还用于根据升级脚本确定目标版本号对应的目标数据库,并获取主机中当前数据库的当前版本号,确定目标版本号与当前版本号之间相差的多个版本号,依据相差的版本号逐个版本进行升级;升级管理代理服务器,还用于根据升级脚本确定目标版本号对应的目标软件程序,卸载主机中的当前软件程序,将目标软件程序安装在主机中,其中,目标软件包对应的版本号为目标版本号。
9.可选地,第一服务器,还用于自动配置第一升级策略,其中,第一升级策略包括:预设升级时间,以及预设升级范围,预设升级范围至少用于指示待升级的系统类型。
10.可选地,第一服务器,还用于接收目标对象输入的升级指令,其中,升级指令用于指示目标软件包的目标版本号。
11.可选地,升级管理代理服务器,用于执行第一升级策略,在预设升级时间触发对预设升级范围内的待升级软件包的升级,将待升级软件包升级为目标软件包。
12.可选地,第二服务器用于在接收升级管理代理服务器转发的升级触发指令之前,接收目标对象上传的目标软件包。
13.根据本技术实施例的另一方面,还提供了一种软件升级方法,软件升级方法应用在升级管理代理服务器中,包括:接收第一服务器的升级触发指令,其中,第一服务器连接有多个主机,主机中设置有升级管理代理服务器,主机与升级管理代理服务器一一对应;将升级触发指令转发至第二服务器,获取目标软件包;其中,目标软件包用于完成对主机中数据库与软件程序的升级,其中,数据库用于存储用户配置的数据;基于目标软件包对数据库与软件程序进行升级。
14.可选地,基于目标软件包对数据库与软件程序进行升级,包括:根据目标软件包中的预设参数启动升级脚本;根据升级脚本确定目标版本号对应的目标数据库,并获取当前数据库的当前版本号,确定目标版本号与当前版本号之间相差的多个版本号,依据相差的版本号逐个版本进行升级,其中,目标软件包对应的版本号为目标版本号;根据升级脚本确定目标版本号对应的目标软件程序,卸载主机中的当前软件程序,将目标软件程序安装在主机中。
15.根据本技术实施例的另一方面,还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行任意一种软件升级方法。
16.根据本技术实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行任意一种软件升级方法。
17.在本技术实施例中,采用升级管理代理服务器统一管理的方式,通过升级管理代理服务器,接收第一服务器的升级触发指令,升级触发指令用于从第二服务器获取目标软件包,第一服务器连接有多个主机,主机中设置有升级管理代理服务器,主机与升级管理代理服务器一一对应;第一服务器,用于向升级管理代理服务器发送升级触发指令;第二服务器,用于接收升级管理代理服务器转发的升级触发指令,将目标软件包文件发送至升级管理代理服务器,其中,目标软件包用于完成对主机中的数据库与软件程序的升级,其中,数据库用于存储用户配置的数据,达到了基于升级管理代理服务器对主机的数据库与软件程序进行升级的目的,从而实现了基于升级管理代理服务器对主机中的数据库与软件程序升级进行自动控制及管理的技术效果,进而解决了由于相关技术中基于人工手动的方式对每一台主机逐个升级造成的操作繁琐、工作效率低下的技术问题。
附图说明
18.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
19.图1是一种云办公系统的结构示意图;
20.图2是根据本技术实施例的一种软件升级系统的结构示意图;
21.图3是本技术实施例的一种可选的软件升级架构的示意图;
22.图4本技术实施例的一种可选的在线升级模型的示意图;
23.图5是本技术实施例的一种可选的新版本升级流程示意图;
24.图6是本技术实施例一种可选的老版本回滚流程示意图;
25.图7是本技术实施例一种可选的windows升级流程的示意图;
26.图8是一种软件升级的基本流程示意图;
27.图9是根据本技术实施例一种软件升级方法的流程示意图。
具体实施方式
28.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。
29.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
30.根据本技术实施例,提供了一种软件升级系统的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
31.图1是一种云办公系统,如图1所示,该系统主要包括:零终端,与主机,其中,主机包括:vm/pm,vm/pm设置在集群服务器中,简单来说,就是通过在数据中心的集群服务器运行对应的操作系统(比如,windows系统、linux系统等等),来将桌面进行虚拟化。其基本结构可参照图1。用户通过来自客户端设备(零终端)的客户计算协议与云桌面(通常是指虚拟机(vm)/物理机(pm))进行连接,用户通过零终端访问他们的桌面就像是访问传统的本地安装桌面一样,只要有网络,用户就可以在任何时间任何地点连接到自己想要连接的桌面,it人员可以更易于管理桌面用户和数据,因为所有数据都在服务商,客户的数据更安全。用户可以通过零终端访问集群服务器上为其分配的虚拟机/物理机,从而获取桌面图像,并通过反向控制方式对获取的云桌面进行控制。
32.图2是根据本技术实施例的一种软件升级系统,如图2所示,该软件升级系统包括:
33.升级管理代理服务器01,接收第一服务器02的升级触发指令,升级触发指令用于从第二服务器03获取目标软件包,第一服务器02连接有多个主机1,主机1中设置有升级管理代理服务器01,主机1与升级管理代理服务器01一一对应;
34.第一服务器02,用于向升级管理代理服务器01发送升级触发指令;
35.第二服务器03,用于接收升级管理代理服务器01转发的升级触发指令,将目标软件包文件发送至升级管理代理服务器01,其中,目标软件包用于完成对主机1中的数据库与软件程序的升级,其中,数据库用于存储用户配置的数据。
36.该软件升级系统中,升级管理代理服务器01,接收第一服务器02的升级触发指令,升级触发指令用于从第二服务器03获取目标软件包,第一服务器02连接有多个主机1,主机1中设置有升级管理代理服务器01,主机1与升级管理代理服务器01一一对应;第一服务器02,用于向升级管理代理服务器01发送升级触发指令;第二服务器03,用于接收升级管理代理服务器01转发的升级触发指令,将目标软件包文件发送至升级管理代理服务器01,其中,目标软件包用于完成对主机1中的数据库与软件程序的升级,其中,数据库用于存储用户配置的数据,达到了基于升级管理代理服务器对主机的数据库与软件程序进行升级的目的,从而实现了基于升级管理代理服务器对主机中的数据库与软件程序升级进行自动控制及管理的技术效果,进而解决了由于相关技术中基于人工手动的方式对每一台主机逐个升级造成的操作繁琐、工作效率低下的技术问题。
37.本技术一些实施例中,升级管理代理服务器,还用于根据升级脚本确定目标版本号对应的目标数据库,并获取主机中当前数据库的当前版本号,确定目标版本号与当前版本号之间相差的多个版本号,依据相差的版本号逐个版本进行升级;升级管理代理服务器,还用于根据升级脚本确定目标版本号对应的目标软件程序,卸载主机中的当前软件程序,将目标软件程序安装在主机中,其中,目标软件包对应的版本号为目标版本号,即对于数据库的升级采用逐级升级的方法,而对于软件程序的升级则采用卸载当前软件程序,安装最新软件程序的方式,需要说明的是,对于数据库之所以采用逐级升级的方式是为了继承前一次升级的结果,例如,将数据库从v升级至v4,具体地,升级的方式可以采用逐级升级的方式,即从v1升级至v2,由v2升级至v3,再从v3升级至v4,也可以采用直接升级的方式,直接从v1升级到v4,需要说明的是,采用逐级升级的方式在升级时比直接升级的逻辑要多,因此,时间较长一些,但是对于开发效率却大有提升,例如,有一个新版本v5,采用直接升级直接的方式,由于不清楚当前的版本号,则就需要映射四种升级逻辑,即,v1-v5,v2-v5,v3-v5,v4-v5,而若采用逐级升级的方法,由于可以继承前一次升级的版本,在前一次升级的基础上升级,即在v4上升级,则对于开发人员来说,只需开发v4-v5这一种升级逻辑即可,且版本演进多年后,对于早期版本的配置项的理解容易出现偏差,从而引入错误。
38.本技术一些可选的实施例中,第一服务器,还用于自动配置第一升级策略,需要说明的是,第一升级策略包括:预设升级时间,以及预设升级范围,预设升级范围至少用于指示待升级的系统类型,其中待升级的系统类型包括但不限于:windows、linux以及mac系统,例如,预设升级时间可以是在晚间的22:00点,则可以在22:00对主机进行升级,又例如,预设升级范围设置为对windows系统进行升级,则仅对windows进行升级即可。
39.本技术一些可选的实施例中,第一服务器,还用于接收目标对象输入的升级指令,其中,升级指令用于指示目标软件包的目标版本号,例如,当前软件包的版本号为v1,目标对象输入的升级指令指示目标软件的目标版本号为v4,则将当前版本v1升级至v4。
40.可以理解的,升级管理代理服务器,还用于执行第一升级策略,在预设升级时间触发对预设升级范围内的待升级软件包的升级,将待升级软件包升级为目标软件包。
41.需要说明的是,第二服务器用于在接收升级管理代理服务器转发的升级触发指令
之前,接收目标对象上传的目标软件包。
42.图3是本技术一种可选的软件升级架构,如图3所示,该升级架构中集群服务器中设置有软件升级管理平台,软件升级管理平台与各个vm/pm相连接,同时可连接外部的文件服务器。每一个vm/pm中设置有升级管理代理,用于在软件升级管理平台的控制下执行升级处理。
43.以下结合一种可选的具体的实施例进行说明:
44.图4本技术一种可选的在线升级模型,如图4所示,该模型主要包括:升级管理平台(即第一服务器),文件服务器(即第二服务器),升级管理代理(升级管理代理服务器),升级脚本,业务数据(即数据库),业务程序(即软件程序),其中虚线框代表vm/pm。示例性的,上图只示出了代表一个vm/pm的虚框,本领域技术人员可以理解的是,实际实现时,每一个集群服务器中包含多个vm/pm,每一个vm/pm可以通过与上述虚线框中的部件相同的处理来进行软件升级。
45.本技术的在线升级流程大体分为三大环节:
46.1.升级包管理。包括上传和下载。
47.2.升级策略管理。包括升级的范围,升级的时间,目标版本等等。
48.3.本地升级流程。
49.参考流程如下:
50.1、管理员将升级所需的相关文件上传到文件服务器;
51.2、管理员配置升级策略,需要说明的是,管理员可配置全部升级策略,即对升级的范围,升级的时间以及目标版本进行配置,优选的,为了节省了人力成本,可仅由管理员配置目标版本,其他升级策略交由升级管理平台自动进行配置;
52.3、升级时机触发,管理平台通知(升级)管理代理启动升级;
53.4、升级管理代理根据配置的相关参数下载升级相关文件;
54.5、升级管理代理根据配置的相关参数启动升级脚本;
55.6、升级脚本执行版本升级。
56.二、升级包管理
57.上述示意图中的文件服务器同管理平台可以是分离式的,实际实现可以按如下两种方案:
58.1、管理平台作为管理员与文件服务器的中介,以客户端的角色对文件服务器进行管理;管理员与文件服务器无直接交互;
59.2、文件服务作为管理平台的子服务,通过管理通道直接获取相关升级文件。
60.三、升级策略
61.升级策略要考虑如下因素:
62.1、升级时间。是立即升级还是定时升级,考虑到业务的可持续性,系统升级往往在夜间进行。如果已经有连接是否终止。
63.2、升级范围。即哪些server需要升级,不同单位的server升级策略有可能不一致;不同的平台的版本可能不一致,比如只有windows平台有缺陷,而linux平台没有,可以不用升级,在大范围升级之前,可以选择小批量升级测试是升级可用性。(即灰度升级)
64.3、目标版本。
65.四、升级流程框架
66.升级约束:
67.1、在线升级包方式只允许升级,不允许降级。
68.2、降级可以通过版本回滚的方式执行,且可回滚的版本必须有备份
69.3、升级日志路径&文件名和格式各版本保持一致
70.4、应用备份路径各版本保持一致。路径下各版本备份按版本号新建目录。
71.对于升级脚本,windows环境下要求提供命令行批处理脚本,linux环境下要求提供bash shell脚本。参数要求支持校验和文件名和校验算法。实际处理各平台的升级流程依赖具体的实现,不做强制要求。
72.4.1日志记录
73.日志记录需包含如下项:
74.1.时间;
75.2.版本,包括原版本和目标版本;
76.3.升级结果;
77.4.失败原因。
78.4.2升级主体流程
79.升级包可包括三个文件:
80.1.软件包。需要包含如下部分:
81.a.可执行程序和依赖的库
82.b.默认数据配置
83.c.备份脚本backup,用于将本版本相关所有文件打包放入特定的备份路径中。
84.d.恢复脚本restore,用于获取备份文件恢复应用程序和数据。要求恢复脚本执行后与未卸载时的状态保持一致。
85.e.安装脚本install,安装当前版本应用,如果是升级场景包括配置数据升级。同时包括安装后的状态检查。
86.f.卸载脚本uninstall,用于卸载应用(不包括备份文件和日志文件)
87.g.回滚脚本rollback,用于强制版本回滚。
88.2.校验和文件。用于校验软件包的完整性和一致性。
89.3.升级脚本。用于静默升级,在线升级时由管理代理启动执行,直接本地升级时可以由工程师手工执行。
90.图5是本技术一种可选的新版本升级流程(old表示当前版本,new表示目标版本,后接该版本对应脚本),如图5所示,主要流程包括:启动升级,升级前检查,若检查成功,则对当前版本进行备份,卸载当前版本,安装最新版本,升级成功则记录日志,或者升级失败,则卸载新安装的版本,将旧版本安装回去;若检查失败,则也记录在日志中。
91.图6是本技术一种可选的老版本回滚流程(无前缀表示当前版本,backup表示回滚的目标版本,后接该版本对应脚本),如图6所示,主要流程包括:回滚(rollback),备份版本检查,若检查成功,则卸载当前版本,恢复之前的目标版本,记录到日志中;若检查失败,则也将失败信息记录到日志中。
92.本技术一些实施例中,对于数据库升级而言,为了业务的可持续性,升级前后需要
保持业务的体验一致,可以有两种方式实现:
93.1.新版本程序兼容老版本配置文件。
94.2.对业务数据进行升级,从老版本格式转换为新版本格式。
95.3.随着版本的不断迭代,业务数据的版本业务不断增多。逻辑会越来越复杂,从应用内程序逻辑复杂性角度,采用第二种方式更为合理。就数据升级实现来说,方法如下:
96.1.每个业务数据文件需要有版本号标识。
97.2.升级脚本确定目标版本。
98.3.升级程序从原版本升级到目标版本,按照逐版本升级的方式,例如从1.0升级到4.0,不是数据的直接转化,而是按1.0-》2.0-》3.0-》4.0方式升级。这种方案会减少升级复杂度,但是会增加升级时间,但是由于server数据很少,因此,对用户体验差别不大。
99.具体地,配置(即数据库)的升级是为了保证升级前后业务体验的一致性。比如一个配置值默认是1,用户改成了2,不能升级后又变回了1。同时程序版本的迭代,配置项数目和取值含义都可能发生变化,配置升级同时也要保证这些变化对用户无感知。那么就要做到针对源版本和目标版本不同的配置项做相应的合并,拆分,映射等处理逻辑。
100.实现逻辑有两种:第一种是直接升级,支持所有版本到目标版本的直接处理逻辑。
101.比如有4个版本v1 v2 v3 v4。如果目标版本为4,要先看当前版本的版本号,如果是v1,则执行v1-》v4的升级逻辑,如果是v2,则执行v2的升级逻辑,以此类推。由于无法预知当前版本是哪一个,因此需要对每一个支持的版本做相应的升级逻辑,例如,目标版本为v4,则要做出v1-》v4、v2-》v4、v3-》v4这三种映射逻辑。
102.第二种是逐版本升级,每个版本只支持前一个版本到本版本的处理逻辑。即v1-》v2、v2-》v3、v3-》v4。同样以前一个例子为例,也需要先看当前版本的版本号,如果是v1,则需要执行v1-》v2、v2-》v3、v3-》v4三个逻辑,如果是v2,则需要执行v2-》v3、v3-》v4两个逻辑。
103.对比而言,第二种升级方法由于升级时的逻辑比第一种多,因此时间要长一些。但是对开发效率有大提升,比如有个新版本v5,前一种方式就需要开发从v1到v4映射到v5四种映射逻辑,而第二种只开发v4到v5一种逻辑了,而且一般版本演进多年以后,对早期版本的配置项的理解容易出现偏差,从而引入新的错误。
104.图7是本技术一种可选的windows升级流程方法,如图7所示,该流程包括:
105.1.检查是否有旧版本的软件,具体地,可以为用旧版软件安装目录下的校验文件生成软件,如果有,则进行校验,否则升级失败,在日志信息中记录升级失败原因:没有检查到旧版本软件(也就是说,要升级软件,必须有原版本,全新的操作系统上不能进行升级软件,需要手动安装软件);
106.2.检查升级文件的完整性,具体地,升级脚本可通过运行校验文件生成软件得到校验文件,将得到的校验文件同服务器下载的校验文件比较,如果相同,则校验成功,进行升级,否则升级失败,在日志信息中记录升级失败原因:升级文件校验失败;
107.3.检查操作系统类型,具体地,可获取操作系统类型,如果当前操作系统类型同软件安装包所需的操作类型相符,则继续升级,否则升级失败,在日志信息中记录升级失败原因:操作系统类型不符合要求;
108.4.检查操作系统版本,具体地,可以获取操作系统版本号,如果当前版本号符合安
装包所需版本的最低要求,则继续升级,否则升级失败,在日志信息中记录升级失败原因:操作系统版本不符合要求;
109.5.检查依赖运行库的版本,具体地,可检查软件运行依赖的版本库是否安装,如果已经安装,则需要检查版本是否是所需要的版本,若是则对数据进行备份;如果检查到运行库版本不符合要求,则卸载当前运行库,,则需要运行脚本进行安装符合要求的运行库。
110.需要说明的是,备份业务数据可以通过以下步骤实现:
111.先执行脚本,将所有的业务数据文件拷贝出来,恢复数据的时候,再拷贝到安装目录,但考虑到文件内容可能变化较大,如果是数据库文件还可能出现多列合并成一列或者一列分割成多列的情况,并不是简单的复制粘贴就能完成数据的备份与恢复;可选的,每个软件开发人员对自己软件业务数据的备份负责,提供备份脚本或者可执行文件供升级脚本调用;如果软件能做到新版本与旧版本完全兼容,那备份脚本或可执行文件就比较简单,否则,要做的事情比较复杂。
112.图8是一种软件升级的基本流程,如图8所示,该流程主要包括以下步骤:
113.检测是否有旧版本软件,若是,则停止服务,然后卸载旧版本软件,再安装新版本,最后恢复数据;若无旧版本软件,则直接安装新版本。
114.需要说明的是,1.上述停止服务,卸载旧版本软件和安装新版本软件的操作可一并进行;2.通过脚本运行安装包,进行静默安装,安装包自己会检测是否已经存在旧版本软件,如果存在则先将旧版本卸载,卸载之前会自动停止服务,杀死相关进程,卸载完成后自动安装新版本软件;3.静默安装完成后,下一步将进行数据恢复,所以自动重启操作系统不能在这一步进行,同理,启动服务也不能在这一步进行。
115.还需要说明的是,对于业务数据恢复而言,同备份数据一样,每个软件开发人员对自己软件业务数据的恢复负责,提供备份脚本或者可执行文件供升级脚本调用;升级脚本无需关注数据备份和数据恢复具体做了哪些事情,如同agent不关心升级脚本具体做了哪些事情一样。在服务(设备)重启时,可根据需要启动相关服务,如有必要,可重启操作系统;
116.图9是根据本技术实施例一种软件升级方法,软件升级方法应用在升级管理代理服务器中,该软件升级方法包括:
117.s102,接收第一服务器的升级触发指令,其中,第一服务器连接有多个主机,主机中设置有升级管理代理服务器,主机与升级管理代理服务器一一对应;
118.s104,将升级触发指令转发至第二服务器,获取目标软件包;其中,目标软件包用于完成对主机中数据库与软件程序的升级,其中,数据库用于存储用户配置的数据;
119.s106,基于目标软件包对数据库与软件程序进行升级。
120.该软件升级方法中,接收第一服务器的升级触发指令,其中,第一服务器连接有多个主机,主机中设置有升级管理代理服务器,主机与升级管理代理服务器一一对应;将升级触发指令转发至第二服务器,获取目标软件包;其中,目标软件包用于完成对主机中数据库与软件程序的升级,其中,数据库用于存储用户配置的数据;基于目标软件包对数据库与软件程序进行升级,达到了基于升级管理代理服务器对主机的数据库与软件程序进行升级的目的,从而实现了基于升级管理代理服务器对主机中的数据库与软件程序升级进行自动控制及管理的技术效果,进而解决了由于相关技术中基于人工手动的方式对每一台主机逐个升级造成的操作繁琐、工作效率低下的技术问题。
121.可选地,基于目标软件包对数据库与软件程序进行升级,包括:根据目标软件包中的预设参数启动升级脚本;根据升级脚本确定目标版本号对应的目标数据库,并获取当前数据库的当前版本号,确定目标版本号与当前版本号之间相差的多个版本号,依据相差的版本号逐个版本进行升级,其中,目标软件包对应的版本号为目标版本号;根据升级脚本确定目标版本号对应的目标软件程序,卸载主机中的当前软件程序,将目标软件程序安装在主机中。
122.根据本技术实施例的另一方面,还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行任意一种软件升级方法。
123.具体地,上述存储介质用于存储执行以下功能的程序指令,实现以下功能:
124.接收第一服务器的升级触发指令,其中,第一服务器连接有多个主机,主机中设置有升级管理代理服务器,主机与升级管理代理服务器一一对应;将升级触发指令转发至第二服务器,获取目标软件包;其中,目标软件包用于完成对主机中数据库与软件程序的升级,其中,数据库用于存储用户配置的数据;基于目标软件包对数据库与软件程序进行升级。
125.根据本技术实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行任意一种软件升级方法。
126.具体地,上述处理器用于调用存储器中的程序指令,实现以下功能:
127.接收第一服务器的升级触发指令,其中,第一服务器连接有多个主机,主机中设置有升级管理代理服务器,主机与升级管理代理服务器一一对应;将升级触发指令转发至第二服务器,获取目标软件包;其中,目标软件包用于完成对主机中数据库与软件程序的升级,其中,数据库用于存储用户配置的数据;基于目标软件包对数据库与软件程序进行升级。
128.上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
129.在本技术的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
130.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
131.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
132.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
133.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用
时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
134.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。