一种软件升级方法、装置、设备和计算机可读存储介质与流程

文档序号:24072259发布日期:2021-02-26 15:51阅读:75来源:国知局
一种软件升级方法、装置、设备和计算机可读存储介质与流程

[0001]
本申请涉及电子设备技术领域,尤其涉及一种软件升级方法、装置、设备和计算机可读存储介质。


背景技术:

[0002]
随着科技技术的进步、电子设备不断的开发和应用,电子设备中的软件也越发多样化。与此同时,软件的配置和升级可以提高用户使用的体验,因此,软件的配置和升级也成为使用电子设备必不可以少的步骤。
[0003]
现有技术中应用软件类型多样化,网络环境也不相同,部分允许访问网络,部分安全要求极高场所禁止访问网络。如此,当软件升级时流程繁琐、工作量大,导致软件升级存在很大的困扰。


技术实现要素:

[0004]
本申请提供了一种软件升级方法、装置、设备和计算机可读存储介质,解决了现有因网络环境不同,导致软件升级时流程繁琐、工作量大的技术问题。
[0005]
有鉴于此,本申请第一方面提供了一种软件升级方法,包括:
[0006]
s1、判断待升级软件对应电子设备的网络连接是否正常,若是,则执行步骤s2后执行步骤s4,若否,则执行步骤s3后执行步骤s4;
[0007]
s2、发送第一信息至第一升级设备,使得所述第一升级设备基于所述第一信息,返回升级信息,其中,所述第一信息包括:所述待升级软件的当前版本信息和所述电子设备的设备信息;
[0008]
s3、对比待升级软件的当前版本信息和第二升级设备发送的预置信息,得到升级信息,其中,所述预置信息为所述第二升级设备中保存的信息;
[0009]
s4、基于所述升级信息对所述待升级软件进行升级。
[0010]
可选地,发送第一信息至第一升级设备,使得所述第一升级设备基于所述第一信息,返回升级信息,具体包括:
[0011]
发送第一信息至第一升级设备,使得所述第一升级设备对比所述当前版本信息和第二信息,返回升级信息,其中,所述第二信息为:所述第一升级设备中保存的所述待升级软件的所有版本信息,所述所有版本信息和所述电子设备具有预置对应关系。
[0012]
可选地,步骤s2中的所述当前版本信息包括:当前软件版本号和当前补丁号,所述设备信息包括:设备类型和设备标识。
[0013]
可选地,所述步骤s2中的升级信息为通过预置加密算法加密后的加密数据;
[0014]
步骤s4具体包括:
[0015]
s41、利用所述预置加密算法对应的预置解密算法对所述升级信息进行解密;
[0016]
s42、利用解密后的所述升级信息对所述待升级软件进行升级。
[0017]
可选地,所述步骤s3中的预置信息为经过预置加密算法加密后的加密数据;
[0018]
对比待升级软件的当前版本信息和第二升级设备发送的预置信息,得到升级信息,具体包括:
[0019]
利用所述预置加密算法对应的预置解密算法对所述预置信息进行解密,并对比待升级软件的当前版本信息和解密后的所述预置信息,得到升级信息,其中,所述预置信息为第二升级设备发送的。
[0020]
可选地,步骤s4之前还包括:
[0021]
响应于数据备份请求,备份所述待升级软件的当前版本信息和所述升级信息。
[0022]
可选地,步骤s4之后还包括:
[0023]
获取软件还原请求,根据所述升级信息和所述当前版本信息,对升级后的所述待升级版本进行软件还原。
[0024]
本申请第二方面提供了一种软件升级装置,包括:
[0025]
判断单元,用于判断待升级软件对应电子设备的网络连接是否正常,若是,则触发发送单元和升级单元,若否,则触发对比单元和所述升级单元;
[0026]
所述发送单元,用于发送第一信息至第一升级设备,使得所述第一升级设备基于所述第一信息,返回升级信息,其中,所述第一信息包括:所述待升级软件的当前版本信息和所述电子设备的设备信息;
[0027]
所述对比单元,用于对比待升级软件的当前版本信息和第二升级设备发送的预置信息,得到升级信息,其中,所述预置信息为所述第二升级设备中保存的信息;
[0028]
所述升级单元,用于基于所述升级信息对所述待升级软件进行升级。
[0029]
本申请第三方面提供了一种软件升级设备,所述设备包括处理器以及存储器;
[0030]
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
[0031]
所述处理器用于根据所述程序代码中的指令执行第一方面所述的软件升级方法。
[0032]
本申请第四方面提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面所述的软件升级方法。
[0033]
从以上技术方案可以看出,本申请实施例具有以下优点:
[0034]
本申请中,首先对电子设备的网络连接进行判断,如果网络连接正常,便可以通过第一升级设备进行软件升级,由于网络连接正常,第一升级设备可以获取到待升级软件的当前版本信息和对应电子设备的设备信息,接着第一升级设备基于上述的信息便可以确定对应的升级信息,并将升级信息发送至电子设备,电子设备利用该升级信息就可以对待升级软件进行升级;如果网络连接异常,则通过第二升级设备进行软件升级,由于网络连接异常,第二升级设备无法知悉电子设备的设备信息和待升级软件的当前版本信息,故第二升级设备会将保存与本地的所有预置信息发送至电子设备,电子设备对比预置信息和软件的当前版本信息,便可以得到升级信息,最后利用该升级信息对待升级软件进行升级,此种情况下无论电子设备的网络环境如何,都可以对待升级软件进行升级,解决了现有因网络环境不同,导致软件升级时流程繁琐、工作量大的技术问题。
附图说明
[0035]
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于
本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
[0036]
图1为本申请实施例中一种软件升级方法的实施例一的流程示意图;
[0037]
图2为本申请实施例中一种软件升级方法的实施例二的流程示意图;
[0038]
图3为本申请实施例中一种软件升级方法的流程说明;
[0039]
图4为本申请实施例中一种软件升级装置的实施例的结构示意图。
具体实施方式
[0040]
本申请实施例提供了一种软件升级方法、装置、设备和计算机可读存储介质,解决了现有因网络环境不同,导致软件升级时流程繁琐、工作量大的技术问题。
[0041]
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0042]
请参阅图1,本申请实施例中一种软件升级方法的实施例一的流程示意图。
[0043]
本实施例中的一种软件升级方法,包括:
[0044]
步骤101、判断待升级软件对应电子设备的网络连接是否正常,若是,则执行步骤102后执行步骤104,若否,则执行步骤103后执行步骤104。
[0045]
需要说明的是,首先判断待升级软件对应电子设备的网络连接是否正常,若正常,则可以通过第一升级设备获取的信息进行软件升级,若不正常,则可以通过第二升级设备获取的信息进行软件升级。
[0046]
可以理解的是,对于电子设备的网络连接的判断,可以是多种方式,本实施例中对此不做限定和赘述。
[0047]
第一升级设备和第二升级设备可以是同一设备,也可以是不同的设备,具体对于网络连接正常和网络连接异常的区别在于,电子设备从第一升级设备和第二升级设备获取到的信息不相同。
[0048]
步骤102、发送第一信息至第一升级设备,使得第一升级设备基于第一信息,返回升级信息,其中,第一信息包括:待升级软件的当前版本信息和电子设备的设备信息。
[0049]
电子设备发送第一信息中第一升级设备后,第一升级设备可以基于该第一信息返回对应的升级信息,该升级信息用于升级待升级软件。
[0050]
第一升级设备可以是升级服务器,也可以是升级检查工具,本领域技术人员可以根据需要具体设置,在此不做限定。
[0051]
步骤103、对比待升级软件的当前版本信息和第二升级设备发送的预置信息,得到升级信息,其中,预置信息为第二升级设备中保存的信息。
[0052]
当电子设备的网络连接异常时,第二升级设备由于无法知悉电子设备的设备信息和待升级软件的当前版本信息,故第二升级设备会将保存与本地的所有信息(即预置信息)都会发送至电子设备,电子设备基于该预置信息和待升级软件的当前版本信息,便可得到用于升级待升级软件的升级信息。
[0053]
步骤104、基于升级信息对待升级软件进行升级。
[0054]
本实施例中,首先对电子设备的网络连接进行判断,如果网络连接正常,便可以通过第一升级设备进行软件升级,由于网络连接正常,第一升级设备可以获取到待升级软件的当前版本信息和对应电子设备的设备信息,接着第一升级设备基于上述的信息便可以确定对应的升级信息,并将升级信息发送至电子设备,电子设备利用该升级信息就可以对待升级软件进行升级;如果网络连接异常,则通过第二升级设备进行软件升级,由于网络连接异常,第二升级设备无法知悉电子设备的设备信息和待升级软件的当前版本信息,故第二升级设备会将保存与本地的所有预置信息发送至电子设备,电子设备对比预置信息和软件的当前版本信息,便可以得到升级信息,最后利用该升级信息对待升级软件进行升级,此种情况下无论电子设备的网络环境如何,都可以对待升级软件进行升级,解决了现有因网络环境不同,导致软件升级时流程繁琐、工作量大的技术问题。
[0055]
以上为本申请实施例提供的一种软件升级方法的实施例一,以下为本申请实施例提供的一种软件升级方法的实施例二。
[0056]
请参阅图2,本申请实施例中一种软件升级方法的实施例二的流程示意图。
[0057]
本实施例中的一种软件升级方法,包括:
[0058]
步骤201、判断待升级软件对应电子设备的网络连接是否正常,若是,则执行步骤202、204及后续步骤,若否,则执行步骤203、204及后续步骤。
[0059]
需要说明的是,步骤201与实施例一中步骤101的描述相同,具体可以参见上述步骤101的描述,在此不再赘述。
[0060]
步骤202、发送第一信息至第一升级设备,使得第一升级设备对比当前版本信息和第二信息,返回升级信息。
[0061]
其中,第一信息包括:待升级软件的当前版本信息和电子设备的设备信息;第二信息为:第一升级设备中保存的待升级软件的所有版本信息,所有版本信息和电子设备具有预置对应关系。
[0062]
此处的当前版本信息包括:当前软件版本号和当前补丁号,设备信息包括:设备类型和设备标识。
[0063]
还可以理解的是,本实施例中的升级信息为通过预置加密算法加密后的加密数据。
[0064]
步骤203、对比待升级软件的当前版本信息和第二升级设备发送的预置信息,得到升级信息。
[0065]
其中,预置信息为升级设备中保存的信息。可以理解的是,预置信息可以为经过预置加密算法加密后的加密数据;
[0066]
对比待升级软件的当前版本信息和第二升级设备发送的预置信息,得到升级信息,具体包括:
[0067]
利用预置加密算法对应的预置解密算法对预置信息进行解密,并对比待升级软件的当前版本信息和解密后的预置信息,得到升级信息,其中,预置信息为第二升级设备发送的。
[0068]
步骤204、响应于数据备份请求,备份待升级软件的当前版本信息和升级信息。
[0069]
在升级之前,对待升级软件的当前版本信息和升级信息进行备份,以便于在后续软件还原或者是软件追溯时使用。
[0070]
步骤205、基于升级信息对待升级软件进行升级。
[0071]
可以理解的是,当步骤202的升级信息为加密数据时,电子设备需要对升级信息进行加密,步骤205具体为:
[0072]
利用预置加密算法对应的预置解密算法对升级信息进行解密;
[0073]
利用解密后的升级信息对待升级软件进行升级。
[0074]
步骤206、获取软件还原请求,根据升级信息和当前版本信息,对升级后的待升级版本进行软件还原。
[0075]
需要说明的是,当判断到人体温度小于预置温度阈值后,在进行身份认证之前还对图像信息的图像质量进行判断,以确保后续身份认证时,身份认证结果的正确性。
[0076]
不论升级成功或失败都可以进行上一个版本的还原,前提条件是检查备份资源下是否已经存在可还原数据,当存在时可以根据生成的可还原的备份策略加密文件进行还原,保证其还原后为之前版本。
[0077]
请参阅图3,对本实施例中的软件升级方法的详细流程进行说明:
[0078]
1、采集设备及软件当前版本信息,用来进行版本检测的基础数据验证,基本的信息参数包含以下几类
[0079]
a、软件版本号(version=1.0.0-release),release版:该版本意味“最终版本”,发布版本必须是可发布的最终版本。
[0080]
b、软件当前的补丁号(patch=v0.0.1),补丁的版本号定义:
[0081]
v(version):版本;
[0082]
主版本号(1):当功能模块有较大的变动,比如增加多个模块或者整体架构发生变化;
[0083]
子版本号(1):当功能有一定的增加或变化,比如增加了对权限控制、增加自定义视图等功能;
[0084]
阶段版本号(1):一般是bug修复或是一些小的变动,要经常发布修订版,时间间隔不限,修复一个严重的bug即可发布一个修订版。
[0085]
c、电子设备类型(producttype=standard),standard为标准电子设备,custom为定制型电子设备。
[0086]
d、电子设备标志(productcode=zkapp),根据实际电子设备定义。
[0087]
e.许可id(licenseid=1)(扩展可以通过许可更加严格的控制),许可license为软件授权的唯一渠道,该地方可以更加严格的控制软件的升级和更新。
[0088]
2、通过采集软件应用的版本信息和升级服务器进行检测,升级服务器具备版本发布功能,补丁创建及发布的功能,根据不同的电子设备标志(productcode)和电子设备的类型(producttype),为不同的电子设备和定制化电子设备进行升级包及补丁包管理发布。
[0089]
检测流程,以电子设备类型为standard,电子设备标志为zkapp为例,当前的版本电子设备版本1.0.0-release及补丁版本patch-v0.0.1传到服务器上进行版本判断,如当前服务器上的版本有补丁包patch-v0.0.2、patch-v0.0.3、patch-v0.0.4,则需要该客户的软件所需要下载的补丁包为patch-v0.0.2、patch-v0.0.3、patch-v0.0.4三个补丁包。
[0090]
有两种方式处理补丁包:
[0091]
第一种,在网络异常活离线状况下,由升级服务器帮忙组装成一个增量包,可以选
择不同的运行系统环境(windows、linux),通过不同的系统环境除了生成增量包以外还能根据需要获取系统缺失系统文件。
[0092]
第二种,在网络环境正常情况下,使用者在应用软件检查工具上进行版本检查,从而获取多版本补丁包,替换需要从低版本开始替换或自主选择版本替换即可。
[0093]
3、检测版本存在版本时,升级服务器会返回可以升级的多版本列表:
[0094]
3.1、跨大版本升级(1.0.0-release升级2.0.0-release);
[0095]
3.2、小版本修复升级(1.0.0-release升级修复1.0.1-release)。
[0096]
4、根据实际需求可以选择对应的升级包或补丁包进行下载。
[0097]
5、整个升级流程过程中,需要保证升级包和补丁包的来源是来自正确的升级服务器的,保证其安全性,故将升级信息或预置信息加密。
[0098]
为了提高文件保密性使用非对称加密算法rsa采用公钥加密,私钥解密方式,使用rsa私钥在进一步使用对称加密算法aes256随机密钥加密的方式再对rsa私钥加密)的策略文件。
[0099]
解密策略规则文件后根据策略文件校验码进行文件检测,防止文件被非法篡改。
[0100]
6、备份各类资源、数据、缓存等,例如:
[0101]
6.1、应用中数据库;
[0102]
6.2、第三方缓存备份;
[0103]
6.3、资源备份图片文件等;
[0104]
6.4、升级策略的文件备份;
[0105]
6.5、生成可还原备份策略加密文件;
[0106]
以上备份内容根据策略文件对规则属性mode为delete和update对应资源进行备份,备份的目录可以自行指定,并且在在备份过程中只在本地生成可还原备份策略加密文件。同时停止软件服务或设备,备份成功后,根据解密的升级策略进行升级。
[0107]
7、升级过程中需要严格根据解密的策略文件,按照制定规则进行文件升级,当出现升级失败时,收集失败步骤日志,方便升级行为排查,当升级成功后,会更新当前软件或设备的版本信息,重启对应的软件或设备,整个升级流程完成,升级完成后将会移除升级策略文件防止二次复用。
[0108]
8、不论升级成功或失败都可以进行上一个版本的还原,前提条件是检查备份资源下是否已经存在可还原数据,当存在时可以根据生成的可还原的备份策略加密文件进行还原,保证其还原为之前版本。
[0109]
本实施例中,首先对电子设备的网络连接进行判断,如果网络连接正常,便可以通过第一升级设备进行软件升级,由于网络连接正常,第一升级设备可以获取到待升级软件的当前版本信息和对应电子设备的设备信息,接着第一升级设备基于上述的信息便可以确定对应的升级信息,并将升级信息发送至电子设备,电子设备利用该升级信息就可以对待升级软件进行升级;如果网络连接异常,则通过第二升级设备进行软件升级,由于网络连接异常,第二升级设备无法知悉电子设备的设备信息和待升级软件的当前版本信息,故第二升级设备会将保存与本地的所有预置信息发送至电子设备,电子设备对比预置信息和软件的当前版本信息,便可以得到升级信息,最后利用该升级信息对待升级软件进行升级,此种情况下无论电子设备的网络环境如何,都可以对待升级软件进行升级,解决了现有因网络
环境不同,导致软件升级时流程繁琐、工作量大的技术问题。
[0110]
以上为本申请实施例提供的一种软件升级方法的实施例二,以下为本申请实施例提供的一种软件升级装置的实施例,请参阅图4。
[0111]
请参阅图4,本申请实施例中一种软件升级装置的实施例的结构示意图,包括:
[0112]
判断单元401,用于判断待升级软件对应电子设备的网络连接是否正常,若是,则触发发送单元402和升级单元404,若否,则触发对比单元403和升级单元404;
[0113]
发送单元402,用于发送第一信息至第一升级设备,使得第一升级设备基于第一信息,返回升级信息,其中,第一信息包括:待升级软件的当前版本信息和电子设备的设备信息;
[0114]
对比单元403,用于对比待升级软件的当前版本信息和第二升级设备发送的预置信息,得到升级信息,其中,预置信息为升级设备中保存的信息;
[0115]
升级单元404,用于基于升级信息对待升级软件进行升级。
[0116]
本实施例中,首先对电子设备的网络连接进行判断,如果网络连接正常,便可以通过第一升级设备进行软件升级,由于网络连接正常,第一升级设备可以获取到待升级软件的当前版本信息和对应电子设备的设备信息,接着第一升级设备基于上述的信息便可以确定对应的升级信息,并将升级信息发送至电子设备,电子设备利用该升级信息就可以对待升级软件进行升级;如果网络连接异常,则通过第二升级设备进行软件升级,由于网络连接异常,第二升级设备无法知悉电子设备的设备信息和待升级软件的当前版本信息,故第二升级设备会将保存与本地的所有预置信息发送至电子设备,电子设备对比预置信息和软件的当前版本信息,便可以得到升级信息,最后利用该升级信息对待升级软件进行升级,此种情况下无论电子设备的网络环境如何,都可以对待升级软件进行升级,解决了现有因网络环境不同,导致软件升级时流程繁琐、工作量大的技术问题。
[0117]
本申请实施例还提供了一种软件升级设备的实施例,设备包括处理器以及存储器;存储器用于存储程序代码,并将程序代码传输给处理器;处理器用于根据程序代码中的指令执行实施例一或实施例二中的软件升级方法。
[0118]
本申请实施例还提供了一种计算机可读存储介质,其特征在于,计算机可读存储介质用于存储程序代码,程序代码用于执行实施例一或实施例二中的软件升级方法。
[0119]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0120]
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个待安装电网网络,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0121]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0122]
另外,在本申请个实施例中的功能单元可以集成在一个处理单元中,也可以是个
单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0123]
所述集成的单元如果以软件功能单元的形式实现并作为独立的电子设备销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件电子设备的形式体现出来,该计算机软件电子设备存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等种可以存储程序代码的介质。
[0124]
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1