一种更新软件版本的方法、装置、存储介质及电子设备与流程

文档序号:31780378发布日期:2022-10-12 09:58阅读:108来源:国知局
一种更新软件版本的方法、装置、存储介质及电子设备与流程

1.本技术涉及软件处理技术领域,具体而言,涉及一种更新软件版本的方法、装置、存储介质及电子设备。


背景技术:

2.随着面向企业型业务的发展,面临着向客户提供混合云架构的软件服务。
3.目前,在混合云架构的软件服务交付的过程中主要以现场交付为主。但是,由于客户的软件系统需要在公司内网下才能使用的情况下,软件又需要经常进行调整就需要交付工程师需要频繁到客户现场进行软件调整,因此在面对海量的软件调整工作量时,交付周期大大增加,且无法确保软件交付效率,进而造成较差的客户体验。
4.因此,如何提供一种高效的更新软件版本的方法的技术方案成为亟需解决的技术问题。


技术实现要素:

5.本技术的一些实施例的目的在于提供一种更新软件版本的方法、装置、存储介质及电子设备,通过本技术的实施例的技术方案可以将软件资源包存储至内网环境中去进行安全的软件交付更新工作,实现了软件远程交付更新,提升了交付工程师的工作效率,降低了人为失误率和交付周期,提升了客户体验。
6.第一方面,本技术的一些实施例提供了一种更新软件版本的方法,包括:获取存储在外网的更新资源包,并将所述更新资源包存储至内网内,其中,所述内网在目标区域内被有权限的对象访问,所述更新资源包包括:目标软件包、更新脚本、数据库更新脚本以及回滚脚本;利用所述更新资源包对在所述内网的待更新软件的本地软件包进行更新,获取目标软件。
7.本技术的一些实施例通过将外网中的更新资源包存储到可被访问的内网中以此实现对内网中待更新软件的更新,不需要交付工程师频繁到客户现场,在安全的内网环境下,实现了软件的远程交付更新,提升了交付工程师的工作效率,降低了人为失误率和交付周期,提升了客户体验。
8.在一些实施例,所述获取存储在外网的更新资源包,包括:在所述外网中获取软件资源包列表,其中,所述软件资源包列表包括至少一个软件的目标版本号和软件资源包,所述至少一个软件中各软件之间相容;从所述软件资源包列表中选取任意一个包作为所述更新资源包。
9.本技术的一些实施例通过获取各软件相容情况下的软件资源包列表,将软件资源包列表中的任一个作为更新资源包,可以实现对软件资源包列表中所有软件的有效正常更新。
10.在一些实施例,所述在所述外网中获取软件资源包列表,包括:获取在所述内网中的多个软件的软件当前版本号;获取任一软件与其他软件之间的相容结果,其中,所述任一
软件为所述多个软件中的一个,所述其他软件为所述多个软件中除所述任一软件之外的软件;在所述相容结果为相容的情况下,从所述多个软件中获取软件当前版本号列表;获取与所述软件当前版本号列表对应的软件资源包列表,其中,一个软件当前版本号对应一个目标版本号和一个软件资源包。
11.本技术的一些实施例通过从内网中多个软件中筛选出任一软件与其他软件相容的软件当前版本号列表,进而得到对应的软件资源包列表。该实施例可以得到可更新的软件,以此可以实现对可更新软件的正常更新,避免出现因软件之间不相容导致软件无法正常使用的问题。
12.在一些实施例,在所述利用所述更新资源包对待更新软件的本地软件包进行更新之前,所述方法还包括:获取所述更新资源包在所述外网时的第一标识值;计算所述更新资源包在所述内网时的第二标识值;确认所述第一标识值和所述第二标识值相同,以确保所述更新资源包未被篡改。
13.本技术的一些实施例通过第一标识值和第二标识值判定更新资源包在从外网转到内网的过程中是否被恶意篡改,确保了更新资源包的安全性和准确性。
14.在一些实施例,所述利用所述更新资源包对待更新软件的本地软件包进行更新,获取目标软件,包括:响应于用户的选中操作,获取所述待更新软件和待更新软件版本号,以使所述更新资源包与所述待更新软件匹配;响应于所述用户的选中或输入操作,获取软件更新时间;在所述软件更新时间内,利用所述更新资源包对所述本地软件包进行更新,得到所述目标软件。
15.本技术的一些实施例通过用户选择待更新软件和设定软件更新时间,以使其与更新资源包匹配,并实现定时更新,实现了待更新软件的自动更新,灵活性较高。
16.在一些实施例,所述利用所述更新资源包对所述待更新软件的本地软件包进行更新,获取目标软件,包括:在灰度环境下或正式环境下执行如下操作:执行所述更新脚本和所述数据库更新脚本,并将所述目标软件包替换所述本地软件包,得到灰度环境下目标软件和正式环境下目标软件。
17.本技术的一些实施例通过在灰度环境或正式环境下执行对应的脚本和利用目标软件包替换本地软件包得到相应的目标软件,不需要人工参与,实现了对软件的自动更新。
18.在一些实施例,在所述获取所述目标软件之后,所述方法还包括:在灰度环境下执行如下操作:对所述灰度环境下目标软件进行测试,获取测试结果;若所述测试结果为通过,则确认所述灰度环境下目标软件正常;若所述测试结果为不通过,则确认所述灰度环境下目标软件异常,并执行回滚脚本以取消更新软件的操作。
19.本技术的一些实施例通过在灰度环境下对灰度环境下目标软件进行测试,可以有效确定灰度环境下目标软件是否运行正常,在灰度环境下目标软件异常时还可以实现快速自动回滚,提高了更新过程的稳定性,进而为后续目标软件的正常运行提供保障。
20.在一些实施例,在所述确认所述灰度环境下目标软件正常之后,所述方法还包括:在正式环境下执行如下操作:对所述正式环境下目标软件进行检测,获取检测结果;若所述检测结果为通过,则确认所述正式环境下目标软件正常;若所述检测结果为不通过,则确认所述正式环境下目标软件异常,并执行所述回滚脚本以取消更新软件的操作。
21.本技术的一些实施例除了在灰度环境下测试后还需要在正式环境中测试以确保
正式环境下目标软件可以正常运行,在正式环境下目标软件异常时还可以实现快速自动回滚,提高了更新过程的稳定性。
22.第二方面,本技术的一些实施例提供了一种更新软件版本的装置,包括:获取模块,被配置为获取存储在外网的更新资源包,并将所述更新资源包存储至内网内,其中,所述内网在目标区域内被有权限的对象访问,所述更新资源包包括:目标软件包、更新脚本、数据库更新脚本以及回滚脚本;更新模块,被配置为利用所述更新资源包对在所述内网的待更新软件的软件包进行更新,获取目标软件。
23.第三方面,本技术的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如第一方面任一实施例所述的方法。
24.第四方面,本技术的一些实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现如第一方面任一实施例所述的方法。
25.第五方面,本技术的一些实施例提供一种计算机程序产品,所述的计算机程序产品包括计算机程序,其中,所述的计算机程序被处理器执行时可实现如第一方面任一实施例所述的方法。
附图说明
26.为了更清楚地说明本技术的一些实施例的技术方案,下面将对本技术的一些实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
27.图1为本技术的一些实施例提供的更新软件版本的系统图;
28.图2为本技术的一些实施例提供的更新软件版本的方法流程图之一;
29.图3为本技术的一些实施例提供的软件架构组成示意图;
30.图4为本技术的一些实施例提供的更新软件版本的方法流程图之二;
31.图5为本技术的一些实施例提供的更新软件版本的装置组成框图;
32.图6为本技术的一些实施例提供的一种电子设备示意图。
具体实施方式
33.下面将结合本技术的一些实施例中的附图,对本技术的一些实施例中的技术方案进行描述。
34.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
35.相关技术中,现有的远程软件更新方案在同一网络环境下可以实施,但是不可以在不同的网络环境(例如,所述外网和内网)下实施。在面对医疗行业、金融行业、互联网行业和教育行业等信息安全尤其重要的行业,每个行业都有属于自身的内网或私有云,不允许外部人员随意访问。由上述相关技术可知,现有技术在不同的网络环境中无法远程实现对软件的交付更新,需要交付工程师去现场调整对应的软件,效率较低,交付周期延长,造
成客户体验较差。
36.鉴于此,本技术的一些实施例提供了一种更新软件版本的方法、装置、存储介质及电子设备,该方法通过将存储在外网的更新资源包转存至内网中,以实现对内网待更新软件的更新,得到目标软件。本技术的一些实施例不需要人工参与即可远程实现不同网络环境下的软件的交付更新,提升了交付工程师的工作效率,降低了人为失误率和交付周期,提升了客户体验。
37.如图1所示,本技术的一些实施例提供了一种更新软件版本的系统,该系统包括终端200。其中,交付工程师100可以将更新资源包存储至终端200中内网可访问的共享目录,还可以选择待更新软件、待更新软件版本号以及软件更新时间,以使终端200在软件更新时间内对待更新软件进行更新得到目标软件。本技术的一些实施例可以在不同的网络环境中实现远程对软件的更新(例如,软件的升级或降级)。
38.在本技术的一些实施例中,终端200可以是移动终端也可以是非便携的电脑设备,本技术在此不作具体限定。
39.下面结合附图2示例性阐述本技术的一些实施例提供的由终端200执行的更新软件版本的实现过程。
40.请参见附图2,图2为本技术的一些实施例提供的一种更新软件版本的方法流程图,该方法包括:s210,获取存储在外网的更新资源包,并将所述更新资源包存储至内网内,其中,所述内网在目标区域内被有权限的对象访问,所述更新资源包包括:目标软件包、更新脚本、数据库更新脚本以及回滚脚本。s220,利用所述更新资源包对在所述内网的待更新软件的本地软件包进行更新,获取目标软件。
41.由于现有技术的远程软件更新方案只能在网络通畅的环境下实施,也就是网络环境相同的时候。在网络环境存在外网和内网两种环境时无法实现对软件的远程交付更新。例如,在医疗行业、金融行业和教育行业等均有自身的公司内网,为了确保公司数据的安全,只有该公司内部人员或有权限的人可以访问公司内网,外部人员无法访问。
42.因此,在本技术的一些实施例中,可以通过将存储在外网(也可以称为公网)的更新资源包下载后,存储至可被内网访问的共享目录,以此使得内网可以将更新资源包转移存储至内网中。最后利用更新软件包可以对内网的待更新软件进行安全更新,得到目标软件。
43.下面示例性阐述上述过程。
44.在本技术的一些实施例中,s210可以包括:在所述外网中获取软件资源包列表,其中,所述软件资源包列表包括至少一个软件的目标版本号和软件资源包,所述至少一个软件中各软件之间相容;从所述软件资源包列表中选取任意一个包作为所述更新资源包。
45.例如,在本技术的一些实施例中,通过在确定各软件相容的情况下得到的软件资源包列表,从中选取任意一个作为更新资源包对待更新软件进行更新,确保了软件的有效更新。需要说明的是,软件资源包列表中的每个包对对应的软件进行更新的原理与上述更新资源包的原理相同。为了描述简洁,本技术以软件资源包列表中的任意一个作为更新资源包进行阐述。
46.在本技术的一些实施例中,混合云架构的软件服务中可能会存在多个软件,如图3所示的软件架构,其中,软件a、软件b、软件c、软件d运行在同一个软件环境中,软件a依赖于
软件b、软件c以及软件d。为了确保更新后的软件a还可以依赖于其他软件,需要在更新之前获取相容的软件资源包列表。
47.为了确保更新软件的有效性,在本技术的一些实施例中,s210还可以包括:获取在所述内网中的多个软件的软件当前版本号;获取任一软件与其他软件之间的相容结果,其中,所述任一软件为所述多个软件中的一个,所述其他软件为所述多个软件中除所述任一软件之外的软件;在所述相容结果为相容的情况下,从所述多个软件中获取软件当前版本号列表;获取与所述软件当前版本号列表对应的软件资源包列表,其中,一个软件当前版本号对应一个目标版本号和一个软件资源包。
48.例如,在本技术的一些实施例中,首先需要获取内网的本地软件环境信息,也就是获取内网环境下的所有软件的清单,该清单中包含多个软件的软件当前版本号。然后根据研发人员整理的软件版本相容信息表,得到基于任一软件与其他软件之间的相容结果,以此从多个软件中选取出相容结果为相容的软件当前版本号列表作为可更新的版本号列表。最后基于软件当前版本号列表可以在外网中查找到对应的目标版本号以及软件资源包,构建软件资源包列表。例如,软件a的软件当前版本号为1.0.0,目标版本号为1.1.0,更新资源包为1.0.0_1.1.0.zip。其中更新资源包可以是升级资源包也可以是降级资源包。
49.为了防止更新资源包在转移的过程中被恶意篡改,在本技术的一些实施例中,在执行s220之前,更新软件版本的方法还包括:获取所述更新资源包在所述外网时的第一标识值;计算所述更新资源包在所述内网时的第二标识值;确认所述第一标识值和所述第二标识值相同,以确保所述更新资源包未被篡改。
50.例如,在本技术的一些实施例中,通过hash(哈希)码的方式对更新软件包进行标识。当更新资源包在外网时计算得到第一hash码(作为第一标识值的一个具体示例)。当更新资源包被存储到内网后,计算出此时的第二hash码(作为第二标识值的一个具体示例)。若第一hash码和第二hash码相同,则表明更新资源包未被篡改。否则,表明更新资源包被篡改,为了确保内网环境的安全,需要取消对待更新软件进行更新的操作,并提醒交付工程师,使其尽快核查原因解决相应问题。可以理解的是,除了采用hash码校验,还可以采用其他校验方法,本技术并不局限于此。
51.为了实现软件的自动更新,提升更新效率,在本技术的一些实施例中,s220可以包括:响应于用户的选中操作,获取所述待更新软件和待更新软件版本号,以使所述更新资源包与所述待更新软件匹配;响应于所述用户的选中或输入操作,获取软件更新时间;在所述软件更新时间内,利用所述更新资源包对所述本地软件包进行更新,得到所述目标软件。
52.例如,在本技术的一些实施例中,用户(例如,交付工程师或者区域管理人员)可以选择好待更新软件、待更新软件版本号和软件更新时间,以使待更新软件在软件更新时间内自动更新。通过用户辅助一方面可以确保待更新软件与更新资源包匹配,确保更新的准确度和有效性。另一方面可以设定软件更新时间,可以在空闲时间更新,不会影响软件的使用。
53.在本技术的一些实施例中,s210还可以包括:在灰度环境下或正式环境下执行如下操作:执行所述更新脚本和所述数据库更新脚本,并将所述目标软件包替换所述本地软件包,得到灰度环境下目标软件和正式环境下目标软件。
54.例如,在本技术的一些实施例中在软件更新时,可以在灰度环境下或正式环境下
停止待更新软件的软件进程,然后执行相应的脚本并将资源包替换本地软件包,得到灰度环境下目标软件和正式环境下目标软件,以便于后续对目标软件进行测试。在本技术的一些实施例中可以根据需要生成灰度环境下目标软件和正式环境下目标软件,也就是需要测试哪种目标软件生成哪种目标软件。
55.为了确保目标软件可以正常运行,使得软件更新成功,在本技术的一些实施例中,在执行s220之后(图中未示出),更新软件版本的方法还包括:在灰度环境下执行如下操作:对所述灰度环境下目标软件进行测试,获取测试结果;若所述测试结果为通过,则确认所述灰度环境下目标软件正常;若所述测试结果为不通过,则确认所述灰度环境下目标软件异常,并执行回滚脚本以取消更新软件的操作。
56.例如,在本技术的一些实施例中,灰度环境也可称为线上仿真环境或者预发布环境,在上线之前发布到灰度环境,灰度环境通过测试后再上线。在灰度环境下测试时,若测试结果为通过则表明目标软件正常。否则目标软件异常,此时会关闭灰度流量,执行回滚脚本取消该操作,以此提升更新软件过程的稳定性。
57.在本技术的一些实施例中,在所述确认所述灰度环境下目标软件正常之后,所述方法还包括:在正式环境下执行如下操作:对所述正式环境下目标软件进行检测,获取检测结果;若所述检测结果为通过,则确认所述正式环境下目标软件正常;若所述检测结果为不通过,则确认所述正式环境下目标软件异常,并执行所述回滚脚本以取消更新软件的操作。
58.例如,在本技术的一些实施例中,在灰度环境下对灰度环境下目标软件测试后还需要在正式环境中,也就是软件运行环境中进行再次检测。通过测试确保正式环境下目标软件可以正常运行。若正式环境下目标软件异常也会关闭灰度流量并执行更新资源包中的回滚脚本取消更新软件操作,以此提升更新软件过程的稳定性。
59.下面结合附图4示例性阐述本技术的一些实施例提供的更新软件版本的具体实现过程。
60.请参见附图4,图4为本技术的一些实施例提供的一种更新软件版本的方法流程图。以下实施例以某互联网公司向某个医疗公司提供软件交付更新服务,医疗公司有自己的内网,只可以供公司内部人员访问,或者有权限的人员。互联网公司相对于医疗公司来说属于外网,其无法直接访问医疗公司。下面示例性阐述上述过程。
61.s410,获取在内网中的多个软件的软件当前版本号。
62.在本技术的一些实施例中,每个软件随着不断升级会产生多个历史版本,一般用版本号来进行标识,版本号一般采用gnu命名规则。
63.例如,作为本技术的一个具体示例,获取医疗公司内网中的本地软件环境信息,也就是内网下的所有的软件。本地软件环境信息中包括多个软件的软件当前版本号(以下简称“版本号”),一个软件对应一个软件当前版本号。
64.s420,获取任一软件与其他软件之间的相容结果,并在所述相容结果为相容的情况下,从所述多个软件中获取软件当前版本号列表。
65.例如,作为本技术的一个具体示例,研发人员在研发出软件的不同版本后,会对软件间的兼容性进行测试,得到相容结果,如表1所示,由表1可知,版本号为1.0.0的软件a与版本号为1.0.0、1.1.0的软件b相容,版本号为1.0.0的软件a与版本号为1.2.0的软件b不相容。版本号为1.1.0的软件a与上述提及的软件b的版本号均相容。以此,可以得到相容软件
的软件当前版本号列表,该表中的软件为可升级软件(作为可更新软件的一个具体示例)。
66.表1
[0067][0068]
s430,获取与所述软件当前版本号列表对应的软件资源包列表。
[0069]
例如,作为本技术的一个具体示例,在外网中查找并下载与软件当前版本号列表中各软件的目标版本号和软件资源包,构成软件资源包列表。
[0070]
例如,研发人员在研发时会依据软件当前版本和目标版本号生成如下信息表,如表2所示。由表中可知软件a需要从1.0.0升级到1.1.0,升级资源包为1.0.0_1.1.0.zip的压缩文件。软件b和软件c的升级信息也能读取到。
[0071]
表2
[0072]
软件当前版本号目标版本号升级资源包(软件a)1.0.01.1.01.0.0_1.1.0.zip(软件b)1.0.01.2.01.0.0_1.2.0.zip(软件c)1.1.01.2.01.1.0_1.2.0.zip
[0073]
s440,获取存储在外网的更新资源包,并将所述更新资源包存储至内网内。
[0074]
例如,作为本技术的一个具体示例,以软件资源包列表中的任意一个包作为升级资源包(作为更新资源包的一个具体示例)进行阐述。该升级资源包从外网下载之后,存储到内网可访问的共享目录,然后将更新资源包转移到内网中。每个升级资源包内包括:目标软件包、更新脚本、数据库更新脚本以及回滚脚本。
[0075]
s450,判定更新资源包是否被篡改,若否,则执行s450,若是执行s490。
[0076]
为了防止更新资源包被篡改,例如,作为本技术的一个具体示例,以哈希码为校验依据对更新资源包校验。例如,升级资源包存储在外网时的哈希码为第一码(作为第一标识值的一个具体示例),升级资源包存储在内网时重新计算得到的哈希码为第二码(作为第二标识值的一个具体示例)。若第一码和第二码相同,则确认升级资源包未被篡改,继续进行后续操作。否则确认升级资源包被篡改,此时取消升级软件操作。
[0077]
s460,响应于用户的操作,得到待更新软件、待更新软件版本号和软件更新时间,对待更新软件进行更新。
[0078]
例如,作为本技术的一个具体示例,用户可以通过选择待更新软件以及待更新软件版本号,在软件更新时间内在灰度环境下停止运行待更新软件,然后执行升级资源包中的更新脚本和数据库更新脚本,并将目标软件包替换内网中的本地软件包,得到灰度环境下目标软件。
[0079]
s470,在灰度环境下对灰度环境下目标软件进行测试,若通过测试,则执行s480,否则执行s490。
[0080]
例如,作为本技术的一个具体示例,可以对灰度环境下目标软件进行自动测试。通过测试可以检测灰度环境下目标软件的核心流程是否可以正常运行。测试方法采用传统的软件测试方法即可。若灰度环境下目标软件通过测试,则确认灰度环境下目标软件可正常运行,否则不能正常运行,存在异常。
[0081]
例如,作为本技术的另一个具体示例,用户可以点击“测试”按钮进行测试。
[0082]
s480,在正式环境下对正式环境下目标软件进行测试,若通过测试,则确认正式环境下目标软件正常,否则执行s490。
[0083]
例如,作为本技术的一个具体示例,测试灰度环境下目标软件在灰度环境下运行没问题后,可以在正式环境,也就是目标软件运行的环境中进行确认。首先在正式环境下停止运行待更新软件,然后执行升级资源包中的更新脚本和数据库更新脚本,并将目标软件包替换内网中的本地软件包,得到正式环境下目标软件,并对正式环境下目标软件进行测试。若通过测试,则确认正式环境下目标软件没有问题,可以正常使用。否则确认正式环境下目标软件存在异常。
[0084]
s490,执行回滚脚本以取消更新软件的操作。
[0085]
例如,作为本技术的一个具体示例,通过执行回滚脚本可以确保升级出现异常时可以实现快速自动回滚,提升了软件升级过程的稳定性。
[0086]
例如,作为本技术的另一个具体示例,该步骤也可以是用户点击“回退”按钮后再执行。本技术并不局限于此。
[0087]
请参考图5,图5示出了本技术的一些实施例提供的更新软件版本的装置的组成框图。应理解,该更新软件版本的装置与上述方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该更新软件版本的装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
[0088]
图5的更新软件版本的装置包括至少一个能以软件或固件的形式存储于存储器中或固化在更新软件版本的装置中的软件功能模块,该更新软件版本的装置包括:获取模块510,被配置为获取存储在外网的更新资源包,并将所述更新资源包存储至内网内,其中,所述内网在目标区域内被有权限的对象访问,所述更新资源包包括:目标软件包、更新脚本、数据库更新脚本以及回滚脚本;更新模块520,被配置为利用所述更新资源包对在所述内网的待更新软件的软件包进行更新,获取目标软件。
[0089]
在本技术的一些实施例中,获取模块510至少被配置为在所述外网中获取软件资源包列表,其中,所述软件资源包列表包括至少一个软件的目标版本号和软件资源包,所述至少一个软件中各软件之间相容;从所述软件资源包列表中选取任意一个包作为所述更新资源包。
[0090]
在本技术的一些实施例中,获取模块510至少被配置为获取在所述内网中的多个软件的软件当前版本号;获取任一软件与其他软件之间的相容结果,其中,所述任一软件为所述多个软件中的一个,所述其他软件为所述多个软件中除所述任一软件之外的软件;在所述相容结果为相容的情况下,从所述多个软件中获取软件当前版本号列表;获取与所述软件当前版本号列表对应的软件资源包列表,其中,一个软件当前版本号对应一个目标版
本号和一个软件资源包。
[0091]
在本技术的一些实施例中,在更新模块520之前,该装置还包括校验模块(图中未示出),校验模块至少被配置为获取所述更新资源包在所述外网时的第一标识值;计算所述更新资源包在所述内网时的第二标识值;确认所述第一标识值和所述第二标识值相同,以确保所述更新资源包未被篡改。
[0092]
在本技术的一些实施例中,更新模块520至少被配置为响应于用户的选中操作,获取所述待更新软件和待更新软件版本号,以使所述更新资源包与所述待更新软件匹配;响应于所述用户的选中或输入操作,获取软件更新时间;在所述软件更新时间内,利用所述更新资源包对所述本地软件包进行更新,得到所述目标软件。
[0093]
在本技术的一些实施例中,更新模块520至少被配置为在灰度环境下或正式环境下执行如下操作:执行所述更新脚本和所述数据库更新脚本,并将所述目标软件包替换所述本地软件包,得到灰度环境下目标软件和正式环境下目标软件。
[0094]
在本技术的一些实施例中,在更新模块520之后,该装置还包括测试模块(图中未示出),测试模块至少被配置为在灰度环境下执行如下操作:对所述灰度环境下目标软件进行测试,获取测试结果;若所述测试结果为通过,则确认所述灰度环境下目标软件正常;若所述测试结果为不通过,则确认所述灰度环境下目标软件异常,并执行回滚脚本以取消更新软件的操作。
[0095]
在本技术的一些实施例中,测试模块至少被配置为在所述确认所述灰度环境下目标软件正常之后,在正式环境下执行如下操作:对所述正式环境下目标软件进行检测,获取检测结果;若所述检测结果为通过,则确认所述正式环境下目标软件正常;若所述检测结果为不通过,则确认所述正式环境下目标软件异常,并执行所述回滚脚本以取消更新软件的操作。
[0096]
本技术的一些实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如上述实施例提供的上述方法中的任意实施例所对应方法的操作。
[0097]
本技术的一些实施例还提供了一种计算机程序产品,所述的计算机程序产品包括计算机程序,其中,所述的计算机程序被处理器执行时可实现如上述实施例提供的上述方法中的任意实施例所对应方法的操作。
[0098]
如图6所示,本技术的一些实施例提供一种电子设备600,该电子设备600包括:存储器610、处理器620以及存储在存储器610上并可在处理器620上运行的计算机程序,其中,处理器620通过总线630从存储器610读取程序并执行所述程序时可实现如上述任意实施例的方法。
[0099]
处理器620可以处理数字信号,可以包括各种计算结构。例如复杂指令集计算机结构、结构精简指令集计算机结构或者一种实行多种指令集组合的结构。在一些示例中,处理器620可以是微处理器。
[0100]
存储器610可以用于存储由处理器620执行的指令或指令执行过程中相关的数据。这些指令和/或数据可以包括代码,用于实现本技术实施例描述的一个或多个模块的一些功能或者全部功能。本公开实施例的处理器620可以用于执行存储器610中的指令以实现上述所示的方法。存储器610包括动态随机存取存储器、静态随机存取存储器、闪存、光存储器
或其它本领域技术人员所熟知的存储器。
[0101]
以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0102]
以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
[0103]
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1