CN117909132A - 一种应用软件升级方法、装置及计算机可读存储介质 - Google Patents
一种应用软件升级方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117909132A CN117909132A CN202211272002.7A CN202211272002A CN117909132A CN 117909132 A CN117909132 A CN 117909132A CN 202211272002 A CN202211272002 A CN 202211272002A CN 117909132 A CN117909132 A CN 117909132A
- Authority
- CN
- China
- Prior art keywords
- application software
- version program
- upgrade
- backup file
- installed version
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000004044 response Effects 0.000 claims abstract description 23
- 238000005096 rolling process Methods 0.000 claims abstract description 8
- 238000004590 computer program Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及计算机技术领域,具体提供一种应用软件升级方法、装置及计算机可读存储介质,旨在解决现有应用软件升级失败时退回旧版本的操作复杂的问题。为此目的,本发明的应用软件升级方法包括:生成应用软件已安装版本程序的备份文件并对备份文件进行存储,备份文件的存储路径与已安装版本程序的存储路径不同;响应于对应用软件升级失败的指令,将备份文件的存储路径修改为已安装版本程序的存储路径并且将备份文件的包名修改为已安装版本程序的包名,以及基于备份文件将升级失败的应用软件回滚至已安装版本程序。该方法在升级失败时无需重新下载已安装版本程序的相关数据,能够便捷的实现退回旧版本且提升了用户的使用体验。
Description
技术领域
本发明涉及计算机技术领域,具体提供一种应用软件升级方法、装置及计算机可读存储介质。
背景技术
随着应用软件的大量开发以及版本的不断更新,通常需要对应用软件进行版本升级。在现有技术中,当获取到应用软件的升级版本程序,利用升级版本程序对应用软件进行升级时,会将应用软件的旧版本程序删除。而一但应用软件的升级失败,用户需要卸载升级版本程序,重新下载并安装旧版本程序,操作复杂且不便于用户使用。
发明内容
本发明旨在解决上述技术问题,即,解决现有应用软件升级失败时退回旧版本的操作复杂的问题。
在第一方面,本发明提供一种应用软件升级方法,其包括:
生成应用软件已安装版本程序的备份文件并对所述备份文件进行存储,所述备份文件的存储路径与所述已安装版本程序的存储路径不同;
响应于对所述应用软件升级失败的指令,将所述备份文件的存储路径修改为所述已安装版本程序的存储路径并且将所述备份文件的包名修改为所述已安装版本程序的包名,以及基于所述备份文件将升级失败的所述应用软件回滚至所述已安装版本程序。
在一些实施例中,所述方法还包括响应于对所述应用软件升级失败的指令,向用户发送升级失败提醒信息。
在一些实施例中,所述方法还包括:
获取所述应用软件的升级版本程序;
基于所述升级版本程序对所述应用软件进行升级并判断所述应用软件的升级结果。
在一些实施例中,所述获取所述应用软件的升级版本程序包括:
获取所述应用软件的升级差分包;
将所述升级差分包和所述已安装版本程序合并,得到所述应用软件的所述升级版本程序。
在一些实施例中,所述获取所述应用软件的升级版本程序以及对所述备份文件进行存储之后,基于所述升级版本程序对所述应用软件进行升级之前,所述方法还包括卸载所述应用软件的所述已安装版本程序。
在一些实施例中,所述方法还包括响应于所述应用软件升级成功的指令,删除所述备份文件。
在第二方面,本发明提供了一种应用软件升级装置,其包括:
备份模块,其用于生成应用软件已安装版本程序的备份文件并对所述备份文件进行存储,所述备份文件的存储路径与所述已安装版本程序的存储路径不同;
回滚模块,其用于响应于对所述应用软件升级失败的指令,将所述备份文件的存储路径修改为所述已安装版本程序的存储路径并且将所述备份文件的包名修改为所述已安装版本程序的包名,以及基于所述备份文件将升级失败的所述应用软件回滚至所述已安装版本程序。
在一些实施例中,所述应用软件升级装置还包括:
升级模块,其用于获取所述应用软件的升级版本程序;基于所述升级版本程序对所述应用软件进行升级并判断所述应用软件的升级结果。
在第三方面,本发明提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的应用软件升级方法。
在第四方面,本发明提供了一种电子设备,其包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时实现上述任意一项所述的应用软件升级方法。
在采用上述技术方案的情况下,本发明能够生成应用软件已安装版本程序的备份文件并对备份文件进行存储,备份文件的存储路径与已安装版本程序的存储路径不同;响应于对应用软件升级失败的指令,将备份文件的存储路径修改为已安装版本程序的存储路径并且将备份文件的包名修改为已安装版本程序的包名,以及基于备份文件将升级失败的应用软件回滚至已安装版本程序。该方法生成并存储已安装版本程序的备份文件,在升级失败时无需重新下载已安装版本程序的相关数据,可直接基于备份文件将应用软件回滚至已安装版本程序,能够便捷的实现退回旧版本且提升了用户的使用体验。
附图说明
下面结合附图来描述本发明的优选实施方式,附图中:
图1是本发明实施例提供的一种应用软件升级方法流程示意图;
图2是本发明另一实施例提供的一种应用软件升级方法流程示意图;
图3是本申请实施例提供的一种应用软件升级装置结构示意图。
具体实施方式
下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
随着应用软件的大量开发以及版本的不断更新,通常需要对应用软件进行版本升级。在现有技术中,当获取到应用软件的升级版本程序,利用升级版本程序对应用软件进行升级时,会将应用软件的旧版本程序删除。而一但应用软件的升级失败,用户需要卸载升级版本程序,重新下载并安装旧版本程序,操作复杂且不便于用户使用。
有鉴于此,本发明提供了一种应用软件升级方法,通过生成应用软件已安装版本程序的备份文件并对备份文件进行存储,备份文件的存储路径与已安装版本程序的存储路径不同;响应于对应用软件升级失败的指令,将备份文件的存储路径修改为已安装版本程序的存储路径并且将备份文件的包名修改为已安装版本程序的包名,以及基于备份文件将升级失败的应用软件回滚至已安装版本程序。由于现有技术在升级过程中无论升级是否成功都需要删除已安装版本程序,从而导致已安装版本程序的相关数据丢失,该方法通过生成并存储已安装版本程序的备份文件,在升级失败时无需重新下载已安装版本程序的相关数据,可直接基于备份文件将应用软件回滚至已安装版本程序,能够便捷的实现退回旧版本且提升了用户的使用体验。
参见图1所示,图1是本发明实施例提供的一种应用软件升级方法流程示意图,其可以包括:
步骤S11:生成应用软件已安装版本程序的备份文件并对备份文件进行存储,备份文件的存储路径与已安装版本程序的存储路径不同;
步骤S12:响应于对应用软件升级失败的指令,将备份文件的存储路径修改为已安装版本程序的存储路径并且将备份文件的包名修改为已安装版本程序的包名,以及基于备份文件将升级失败的应用软件回滚至已安装版本程序。
在一些实施例中,步骤S11可以具体为针对应用软件的已安装版本程序,生成该已安装版本程序的备份文件并将备份文件存储至与已安装版本程序所在存储位置不同的位置,避免后续升级过程中,已安装版本程序被卸载导致的已安装版本程序的相关数据丢失。
在一些实施例中,生成已安装版本程序的备份文件,备份文件对应的包名和已安装版本程序的包名不同。其中,备份文件中至少可以包含用于启动已安装版本程序的相关数据。
作为示例,已安装版本程序的存储路径可以表示为data/app/<packageName***>,备份文件的存储路径可以表示为data/app/<packageName***_b>。
在一些实施例中,步骤S11可以为当检测到有应用软件的升级版本程序时,生成应用软件已安装版本程序的备份文件并对备份文件进行存储,以节约存储空间。
在一些实施例中,步骤S12可以具体为响应于升级版本程序启动失败的指令,将备份文件的存储路径修改为已安装版本程序的存储路径并且将备份文件的包名修改为已安装版本程序的包名,以在应用软件升级失败后能够基于备份文件将升级失败的应用软件回滚至已安装版本程序。
通过对备份文件的存储路径以及包名进行修改,可以实现与升级前的已安装版本程序相同的启动地址来启动该应用软件,并且不需要重新下载已安装版本程序的相关数据。
其中,“回滚”可理解为在当前应用软件升级失败时,将应用软件由当前待升级版本切换至升级前的已安装版本程序。
在另一写实施例中,该方法还可以包括响应于对应用软件升级失败的指令,向用户发送升级失败提醒信息。
作为示例,可以以弹框的方式向用户发送升级失败提醒信息。
在另一些实施例中,步骤S12还可以具体为响应于对应用软件升级失败的指令,接收用户对升级失败提醒信息的反馈信息,根据反馈信息将备份文件的存储路径修改为已安装版本程序的存储路径并且将备份文件的包名修改为已安装版本程序的包名,以及基于备份文件将升级失败的应用软件回滚至已安装版本程序。从而可根据用户的需求,灵活的选择是否进行应用软件的回滚。
以上为本发明实施例提供的一种应用软件升级方法,通过生成应用软件已安装版本程序的备份文件并对备份文件进行存储,备份文件的存储路径与已安装版本程序的存储路径不同;响应于对应用软件升级失败的指令,将备份文件的存储路径修改为已安装版本程序的存储路径并且将备份文件的包名修改为已安装版本程序的包名,以及基于备份文件将升级失败的应用软件回滚至已安装版本程序。该方法通过生成并存储已安装版本程序的备份文件,在升级失败时无需重新下载已安装版本程序的相关数据,可直接基于备份文件将应用软件回滚至已安装版本程序,能够便捷的实现退回旧版本且提升了用户的使用体验。
参见图2所示,图2是本发明另一实施例提供的一种应用软件升级方法流程示意图,其可以包括:
步骤S21:获取应用软件的升级版本程序;
步骤S22:生成应用软件已安装版本程序的备份文件并对备份文件进行存储,备份文件的存储路径与已安装版本程序的存储路径不同;
步骤S23:基于升级版本程序对应用软件进行升级并判断应用软件的升级结果;
步骤S24:响应于对应用软件升级失败的指令,将备份文件的存储路径修改为已安装版本程序的存储路径并且将备份文件的包名修改为已安装版本程序的包名,以及基于备份文件将升级失败的应用软件回滚至已安装版本程序;
步骤S25:响应于应用软件升级成功的指令,删除备份文件。
在一些实施例中,步骤S21可以具体为直接检索是否有相应应用软件的升级版本程序,并在检测到有相应应用软件的升级版本程序时获取并启动。
在另一些实施例中,步骤S21还可以具体为:
获取应用软件的升级差分包;
将升级差分包和已安装版本程序合并,得到应用软件的升级版本程序。
其中,升级差分包中可以有应用软件的升级版本程序和已安装版本程序的差分数据。通过获取应用软件的升级差分包,而不是直接获取升级版本程序可以节省网络传输资源。
在一些实施例中,步骤S22可以具体为针对应用软件的已安装版本程序,生成该已安装版本程序的备份文件并将备份文件存储至与已安装版本程序所在存储位置不同的位置,避免后续升级过程中,已安装版本程序被卸载导致的已安装版本程序的相关数据丢失。
在一些实施例中,生成已安装版本程序的备份文件,备份文件对应的包名和已安装版本程序的包名不同。其中,备份文件中至少可以包含用于启动已安装版本程序的相关数据。
作为示例,已安装版本程序的存储路径可以表示为data/app/<packageName***>,备份文件的存储路径可以表示为data/app/<packageName***_b>。
在一些实施例中,步骤S23启动对应软件的升级版本程序并判断升级版本程序是否启动成功;如果启动成功,则应用软件升级成功;如果启动失败,则应用软件升级失败。
在一些实施例中,步骤S24可以具体为响应于升级版本程序启动失败的指令,将备份文件的存储路径修改为已安装版本程序的存储路径并且将备份文件的包名修改为已安装版本程序的包名,以在应用软件升级失败后能够基于备份文件将升级失败的应用软件回滚至已安装版本程序。
通过对备份文件的存储路径以及包名进行修改,可以实现与升级前的已安装版本程序相同的启动地址来启动该应用软件,并且不需要重新下载已安装版本程序的相关数据。
其中,“回滚”可理解为在当前应用软件升级失败时,将应用软件由当前待升级版本切换至升级前的已安装版本程序。
在另一写实施例中,该方法还可以包括响应于对应用软件升级失败的指令,向用户发送升级失败提醒信息。
作为示例,可以以弹框的方式向用户发送升级失败提醒信息。
在另一些实施例中,步骤S24还可以具体为响应于对应用软件升级失败的指令,接收用户对升级失败提醒信息的反馈信息,根据反馈信息将备份文件的存储路径修改为已安装版本程序的存储路径并且将备份文件的包名修改为已安装版本程序的包名,以及基于备份文件将升级失败的应用软件回滚至已安装版本程序。从而可根据用户的需求,灵活的选择是否进行应用软件的回滚。
在本发明实施例中,通过执行步骤S25响应于应用软件升级成功的指令,删除备份文件,从而可释放备份文件占用的存储内存。
在一些实施例中,在步骤S21获取应用软件的升级版本程序以及步骤S22中对备份文件进行存储之后,基于升级版本程序对应用软件进行升级之前,该方法还可以包括卸载应用软件的已安装版本程序。
以上为本发明另一实施例提供的一种应用软件升级方法,获取应用软件的升级版本程序;生成应用软件已安装版本程序的备份备份文件并对备份文件进行存储,备份文件的存储路径与已安装版本程序的存储路径不同;基于升级版本程序对应用软件进行升级并判断应用软件的升级结果;一方面,当升级失败时,可将备份文件的存储路径修改为已安装版本程序的存储路径并且将备份文件的包名修改为已安装版本程序的包名,以及基于备份文件将升级失败的应用软件回滚至已安装版本程序,无需重新下载已安装版本程序的相关数据,可直接基于备份文件将应用软件回滚至已安装版本程序,能够便捷的实现退回旧版本且提升了用户的使用体验;另一方面,当升级成功时,即升级版本程序成功启动,可删除备份文件,释放占用的存储空间。
本发明的另一个方面,提供了一种应用软件升级装置,参见图3所示,图3是本申请实施例提供的一种应用软件升级装置结构示意图,其包括:
备份模块31,其用于生成应用软件已安装版本程序的备份文件并对所述备份文件进行存储,备份文件的存储路径与已安装版本程序的存储路径不同;
回滚模块32,其用于响应于对应用软件升级失败的指令,将备份文件的存储路径修改为已安装版本程序的存储路径并且将备份文件的包名修改为已安装版本程序的包名,以及基于备份文件将升级失败的应用软件回滚至已安装版本程序。
在一些实施例中,应用软件升级装置还可以包括:升级模块33,其用于获取应用软件的升级版本程序;基于升级版本程序对应用软件进行升级并判断应用软件的升级结果。
本发明提供的应用软件升级装置可用于执行上述应用软件升级方法,达到与上述实施例中应用软件升级方法相同的有益效果。进一步,应该理解的是,由于各个模块的设定仅仅是为了说明本申请的装置的功能单元,这些模块对应的物理器件可以是处理器本身,或者处理器中软件的一部分,硬件的一部分,或者软件和硬件结合的一部分。因此,图3中的各个模块的数量仅仅是示意性的。本领域技术人员能够理解的是,可以对装置中的各个模块进行适应性地拆分或合并。对具体模块的这种拆分或合并并不会导致技术方案偏离本发明的原理,因此,拆分或合并之后的技术方案都将落入本申请的保护范围内。
本领域技术人员能够理解的是,本发明实现上述实施例的方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器、随机存取存储器、电载波信号、电信信号以及软件分发介质等。
根据本申请实施例的另一个方面,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述的应用软件升级方法。该计算机可读的存储介质可以是包括各种电子设备形成的存储装置设备,可选的,本发明实施例中计算机可读的存储介质是非暂时性的计算机可读存储介质。
本发明的另一个方面,还提供了一种电子设备,其包括存储器和处理器,存储器中存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例所述的应用软件升级方法。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (10)
1.一种应用软件升级方法,其特征在于,包括:
生成应用软件已安装版本程序的备份文件并对所述备份文件进行存储,所述备份文件的存储路径与所述已安装版本程序的存储路径不同;
响应于对所述应用软件升级失败的指令,将所述备份文件的存储路径修改为所述已安装版本程序的存储路径并且将所述备份文件的包名修改为所述已安装版本程序的包名,以及基于所述备份文件将升级失败的所述应用软件回滚至所述已安装版本程序。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括响应于对所述应用软件升级失败的指令,向用户发送升级失败提醒信息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述应用软件的升级版本程序;
基于所述升级版本程序对所述应用软件进行升级并判断所述应用软件的升级结果。
4.根据权利要求3所述的方法,其特征在于,所述获取所述应用软件的升级版本程序包括:
获取所述应用软件的升级差分包;
将所述升级差分包和所述已安装版本程序合并,得到所述应用软件的所述升级版本程序。
5.根据权利要求3所述的方法,其特征在于,所述获取所述应用软件的升级版本程序以及对所述备份文件进行存储之后,基于所述升级版本程序对所述应用软件进行升级之前,所述方法还包括卸载所述应用软件的所述已安装版本程序。
6.根据权利要求3所述的方法,其特征在于,所述方法还包括响应于所述应用软件升级成功的指令,删除所述备份文件。
7.一种应用软件升级装置,其特征在于,包括:
备份模块,其用于生成应用软件已安装版本程序的备份文件并对所述备份文件进行存储,所述备份文件的存储路径与所述已安装版本程序的存储路径不同;
回滚模块,其用于响应于对所述应用软件升级失败的指令,将所述备份文件的存储路径修改为所述已安装版本程序的存储路径并且将所述备份文件的包名修改为所述已安装版本程序的包名,以及基于所述备份文件将升级失败的所述应用软件回滚至所述已安装版本程序。
8.根据权利要求7所述的应用软件升级装置,其特征在于,所述应用软件升级装置还包括:
升级模块,其用于获取所述应用软件的升级版本程序;基于所述升级版本程序对所述应用软件进行升级并判断所述应用软件的升级结果。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1至6中任意一项所述的应用软件升级方法。
10.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时实现上述权利要求1至6中任意一项所述的应用软件升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211272002.7A CN117909132A (zh) | 2022-10-18 | 2022-10-18 | 一种应用软件升级方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211272002.7A CN117909132A (zh) | 2022-10-18 | 2022-10-18 | 一种应用软件升级方法、装置及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117909132A true CN117909132A (zh) | 2024-04-19 |
Family
ID=90686522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211272002.7A Pending CN117909132A (zh) | 2022-10-18 | 2022-10-18 | 一种应用软件升级方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117909132A (zh) |
-
2022
- 2022-10-18 CN CN202211272002.7A patent/CN117909132A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110058873B (zh) | 应用页面更新方法、装置、设备和存储介质 | |
US11068252B2 (en) | System and method for dynamically determining applicable updates | |
US20110041124A1 (en) | Version Management System | |
CN102150136A (zh) | 固件更新系统、以及更新镜像生成/分发服务器装置 | |
JPWO2009078285A1 (ja) | 無線端末、無線端末の不揮発性メモリ、および診断情報のフェイルセーフ保存方法 | |
CN102742303A (zh) | 具有本地pim集成的基于消息的移动对象 | |
CN109634638B (zh) | 一种集群软件升级方法、装置、设备及介质 | |
KR20130012929A (ko) | 데이터 패키지의 효율적인 다운로드 방법 및 시스템 | |
US7818557B2 (en) | Method for re-imaging a computer system | |
CN113805965B (zh) | 一种外部插件安装的方法、装置、设备及可读介质 | |
CN111857772A (zh) | 终端边缘应用程序远程传输及动态加载方法及设备 | |
US7222338B2 (en) | Method for upgrading data | |
CN111611160B (zh) | 一种软件测试方法、装置、设备及存储介质 | |
CN117055930A (zh) | 一种系统升级部署方法和系统 | |
CN116954685A (zh) | 低代码应用系统灰度滚动升级方法、系统、设备及介质 | |
CN117909132A (zh) | 一种应用软件升级方法、装置及计算机可读存储介质 | |
KR101461319B1 (ko) | 셋탑박스의 펌웨어 업그레이드 방법 및 펌웨어 업그레이드 장치 | |
CN116069366A (zh) | 客户端应用程序更新方法及装置、存储介质及电子设备 | |
CN113282325B (zh) | 升级文件系统的方法及装置、存储介质、计算设备 | |
CN109241071A (zh) | 一种Android数据库升级方法、装置及终端 | |
CN114489711A (zh) | 终端升级方法、装置及存储介质 | |
CN113535558A (zh) | 软件版本传输方法及装置 | |
CN110825406A (zh) | 一种软件升级的方法及相关设备 | |
JP2008217202A (ja) | ディスクアレイ装置及びファームウェア更新方法 | |
CN112579113A (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 |