一种应用升级方法、装置及电子设备
文献发布时间:2024-01-17 01:27:33
技术领域
本申请涉及计算机技术领域,更具体的说是涉及一种应用升级方法、装置及电子设备。
背景技术
伴随着互联网和终端技术的发展,终端用户的需求也在不断提高。为了满足用户需求,出现了很多方便用户使用的应用(Application,APP)。伴随着这些应用在用户终端上的使用,可能会存在一些兼容性、漏洞等问题,使得应用开发者会对这些应用进行升级,以修复使用过程中存在的问题。
但是,当用户终端对应用进行升级后会存在升级后的应用不稳定、死机或者其他问题的出现,降低了用户的使用效果。
发明内容
有鉴于此,本申请提供如下技术方案:
一种应用升级方法,包括:
响应于监测到应用升级事件,获得与待升级的目标应用对应的目标应用升级数据;
基于所述目标应用升级数据,对所述目标应用执行第一模式的应用升级处理;
若所述第一模式的应用升级处理完成后所述目标应用满足目标运行条件,控制所述目标应用执行第二模式的应用升级处理;
其中,所述第一模式表征基于模拟所述目标应用的运行环境进行升级的模式,且基于所述第一模式的应用升级有效,所述第二模式表征基于所述目标应用实际运行环境进行升级的模式。
可选地,还包括:
若在所述第一模式的应用升级处理完成后的所述目标应用不满足所述目标运行条件,控制所述目标应用不进行第二模式的应用升级处理;
清除目标资源信息,所述目标资源信息表征模拟得到的所述目标应用的运行环境的资源。
可选地,所述基于所述目标应用升级数据,对所述目标应用执行第一模式的应用升级处理,包括:
获得所述待升级的目标应用的运行环境;
基于所述运行环境,创建虚拟盘;
将所述目标应用升级数据加载至所述虚拟盘并运行,以使得完成所述目标应用的应用升级处理。
可选地,还包括:
响应于控制所述目标应用执行第二模式的应用升级处理,删除所述虚拟盘。
可选地,所述若在所述第一模式的应用升级处理完成后所述目标应用满足目标运行条件,控制所述目标应用执行第二模式的应用升级处理,包括:
响应于基于所述第一模式的应用升级处理完成后,获得目标对象使用升级后的目标应用的反馈信息;
基于所述反馈信息,确定所述目标应用是否满足目标运行条件;
如果是,控制所述目标应用执行第二模式的应用升级处理。
可选地,所述若在所述第一模式的应用升级处理完成后所述目标应用满足目标运行条件,控制所述目标应用执行第二模式的应用升级处理,包括:
响应于基于所述第一模式的应用升级处理完成后,获得升级后的所述目标应用的运行数据;
若所述运行数据满足目标运行条件,控制所述目标应用执行第二模式的应用升级处理,其中,所述目标运行条件是基于所述目标应用的升级特征确定的。
可选地,还包括:
若在所述第一模式的应用升级处理完成后所述目标应用不满足所述目标运行条件,响应于重新监测到应用升级事件,对所述应用升级事件进行解析;
若解析结果与所述目标应用升级数据相匹配,控制忽略所述应用升级事件。
一种应用升级装置,包括:
获取单元,用于响应于监测到应用升级事件,获得与待升级的目标应用对应的目标应用升级数据;
第一处理单元,用于基于所述目标应用升级数据,对所述目标应用执行第一模式的应用升级处理;
第二处理单元,用于若在所述第一模式的应用升级处理完成后所述目标应用满足目标运行条件,控制所述目标应用执行第二模式的应用升级处理;
其中,所述第一模式表征基于模拟所述目标应用的运行环境进行升级的模式,且基于所述第一模式的应用升级有效,所述第二模式表征基于所述目标应用实际运行环境进行升级的模式。
一种电子设备,包括:
存储器,用于存储应用程序和所述应用程序运行所产生的数据;
处理器,用于执行所述应用程序,以实现如上述中任一项所述的应用升级方法。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述中任一项所述的应用升级方法。
经由上述的技术方案可知,本申请公开一种应用升级方法、装置及电子设备,该方法包括:响应于监测到应用升级事件,获得与待升级的目标应用对应的目标应用升级数据;基于目标应用升级数据,对目标应用执行第一模式的应用升级处理;若在第一模式的应用升级处理完成后目标应用满足目标运行条件,控制目标应用执行第二模式的应用升级处理;其中,第一模式表征基于模拟目标应用的运行环境进行升级的模式,且基于第一模式的应用升级有效,第二模式表征基于目标应用实际运行环境进行升级的模式。可以在对目标应用进行第二模式的正式升级之前,先通过第一模式进行升级,满足条件后再正式升级,提升了应用程序升级的安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种应用升级方法的流程示意图;
图2为本申请实施例提供的一种UEFI应用程序升级方法的流程示意图;
图3为本申请实施例提供的一种APP升级方法的流程示意图;
图4为本申请实施例提供的一种应用升级装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些意外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着应用程序版本的不断更新,电子设备的应用程序需要不定时的进行升级操作。目前的应用程序版本升级方式主要包括:以覆盖安装的方式进行在线升级,或者下载升级文件以替换的方式进行应用程序版本升级。但是,无论哪种升级方式,在升级过程中出现问题,或者升级后无法达到预期效果,均会影响电子设备的正常运行。因此,在本申请实施例中提供了一种应用升级方法,可以实现基于试用升级的模式先对新版本的应用程序进行试用,在试用升级没有问题后,再进行正式的升级,保证了应用程序升级的安全性。
本申请实施例提供的应用升级方法可以应用于基于电子设备的操作系统进行安装的应用程序,也可以应用于UEFI(UnifiedExtensibleFirmware Interface,统一可扩展固件接口)的应用程序升级,其中,UEFI是一种个人电脑系统规格,用来定义操作系统与系统固件之间的软件界面,作为BIOS(BasicInput/OutputSystem,基本输入输出系统)的替代方案,UEFI负责加点自检、联系操作系统以及提供连接操作系统与硬件的接口。
参见图1,为本申请实施例提供的一种应用升级方法的流程示意图,该方法可以包括以下步骤:
S101、响应于监测到应用升级事件,获得与待升级的目标应用对应的目标应用升级数据。
可以监测电子设备上的一个或多个应用的升级事件,当监测到应用升级事件时,可以获得与该应用升级事件对应的待升级的目标应用的目标应用升级数据,其中,该目标应用升级数据可以是应用升级数据包。具体的,在监测电子设备上的一个或多个应用的升级事件时,可以通过监测电子设备接收到的服务器发送的应用升级提示信息,也可以是监测该电子设备的操作者的针对已有的应用选择的升级操作信息。
S102、基于目标应用升级数据,对目标应用执行第一模式的应用升级处理。
第一模式表征基于模拟目标应用的运行环境进行升级的模式,且基于第一模式的应用升级有效。在本申请实施例中,第一模式下的应用升级为非正式的应用升级,并且该第一模式的应用升级并不会改变该目标应用所在电子设备的配置信息,如在第一模式下对目标应用进行升级,无论是否升级成功都不会影响电子设备的系统数据,即使不满意该模式的升级也不影响电子设备上升级之前的目标应用的正常运行。
其中,第一模式是基于模拟目标应用的运行环境下执行的升级,采用第一模式对目标应用进行升级后,与正常的针对目标应用升级后用户的体验效果一致,所以可以使得用户通过第一模式的应用升级来体验该目标应用升级后的应用效果。具体的,目标应用升级数据为该目标应用的升级包,在第一模式下,基于模拟的电子设备的运行环境加载该升级包并运行,完成对该目标应用在试用阶段的升级。进一步地,第一模式是试用升级的模式,所以可以设定一个第一模式升级有效的时间段,以便于用户随时退出该试用升级。例如,目标应用基于第一模式的应用升级在第一时间段内有效,该第一时间段可以为试用升级的有效时间段,用户可以在该第一时间段内体验目标应用的升级效果,用户也可以在第一时间段内结束对目标应用程序的升级试用,或者在该第一时间段内用户也可以选择进入目标应用的正式升级等。对应的,在第一时间段之后,会控制目标应用退出第一模式的升级,即目标应用的升级试用阶段结束,这样可以保证在升级试用阶段没有任何使用反馈的情况下,可以使得目标应用在一段时间的升级试用后恢复至升级前的状态,不影响其他数据的正常运行。
S103、若在第一模式的应用升级处理完成后目标应用满足目标运行条件,控制目标应用执行第二模式的应用升级处理。
第二模式表征基于目标应用实际运行环境进行升级的模式,即第二模式为目标应用的正常升级模式,如,可以是基于目标应用升级数据以覆盖安装的方式对目标应用原来的版本进行升级,也可以是下载该目标应用升级数据以替换的方式进行目标应用旧版本升级。
当在第一模式的应用升级处理完成后目标应用满足目标运行条件后,控制目标应用执行第二模式的应用升级处理。具体的,第一模式的升级为试用升级,在第一模式的应用升级处理完成后目标应用满足目标运行条件,说明对在试用阶段满意目标应用的升级效果。即升级后的目标应用试用有问题后再执行实际正常的升级,使得应用程序升级过程更加安全,避免了直接升级应用后,应用程序不稳定、死机,无法正常使用等问题。
对应的,若在第一模式下的应用升级处理完成后目标应用不满足目标运行条件,控制目标应用不进行第二模式的应用升级处理;清除目标资源信息,所述目标资源信息表征模拟得到的目标应用的运行环境的资源。在该实施方式中,若对目标应用基于第一模式升级后的使用过程不满意,则可以不对目标应用进行第二模式(即正常)的升级,避免升级后出现目标应用出现无法正常运行的问题。进一步地,在升级使用后可以清除目标资源信息,来释放相关资源,避免资源浪费和占用。
在本申请实施例中可以基于目标对象在试用阶段的反馈信息来确定是否对目标应用进行正常升级,也可以是基于在试用阶段目标应用的运行效果来确定是否对目标应用进行正常升级。在本申请实施例的一种实施方式中,所述若在第一模式的应用升级处理完成后目标应用满足目标运行条件,控制目标应用执行第二模式的应用升级,包括:响应于基于第一模式的应用升级处理完成后,获得目标对象使用升级后的目标应用的反馈信息;基于反馈信息,确定目标应用是否满足目标运行条件;如果是,控制目标应用执行第二模式的应用升级处理。其中,目标运行条件表征目标对象对升级后的目标应用的试用满意的条件。具体的,当在试用阶段通过第一模式对目标应用进行升级后,试用升级后的目标应用的目标对象会反馈试用效果信息,即生成反馈信息。例如,可以在目标对象试用过程中,系统生成提示信息以提示目标对象是否满意升级后的目标应用,如果目标对象选择是,则表明其满意当前的升级效果,会直接进入第二模式的升级,即完成目标应用的正常升级处理。
在本申请实施例的另一种实施方式中,所述若在第一模式写应用升级处理完成后目标应用满足目标运行条件,控制目标应用执行第二模式的应用升级处理,包括:响应于基于第一模式的应用升级处理完成后,获得升级后的目标应用的运行数据;若运行数据满足目标运行条件,控制目标应用执行第二模式的应用升级处理。其中,目标运行条件是基于目标应用的升级特征确定。具体的,在获得与待升级的目标应用对应的目标应用升级数据时,除了可以获得升级数据包,还可以获得本次升级的升级类型信息,以及本次升级的升级目的信息,其中,升级目的信息可以包括如对某些漏洞的修复、对网络传输效率的改进,或者对新增功能模块的应用等。可以通过这些数据确定目标应用的升级特征,即目标应用升级后的预期效果,然后根据目标应用的升级特征确定目标运行条件,如目标应用本次升级是为了修复数据传输效率低的问题,则目标运行条件为数据传输率高于第一传输速率阈值。当完成了第一模式的升级后,可以加载测试数据来测试当前的数据传输速率是否高于该第一传输速率阈值,如果是,则说明升级后的目标应用的运行数据满足该目标条件,即在目标应用升级后的试用效果较好,可以进行正常的升级,完成第二模式的应用升级处理。
进一步地,在本申请实施例中还包括:若在第一模式的应用升级处理完成后目标应用不满足目标运行条件,响应于重新监测到应用升级事件,对应用升级事件进行解析;若解析结果与目标应用升级数据相匹配,控制忽略该应用升级事件。
其中,对应用升级事件进行解析,得到解析结果的过程可以包括:对应用升级事件中包括的应用升级数据进行解析,以获得本次升级的特征描述信息,该特征描述信息可以包括本次升级的目的、升级的概要以及要解决的之前版本的问题等信息。在监测应用升级事件的过程中,可以是通过监测升级操作的方式来确定是否监测到了升级事件,也可以是通过监测查询应用升级的请求的方式来确定是否有升级需求,从而得到是否有应用升级事件,还可以是通过监测通知升级应用的消息的方式来确定是否监测到了应用升级事件。在通过监测通知升级应用的消息的方式中,通常在没有进行应用升级时,若系统监测到存在与该应用对应的新版本信息时,通常会推送应用升级的消息。在本申请实施例中若对目标应用的当前升级试用不满意,且检测到新的应用升级推送消息对应的应用升级版本与之前使用的版本信息一致,或者并且改进之前试用不满意的地方,则可以忽略当前的版本升级的推送信息。进一步地,为了保证用户不错过最新版本的升级推送信息,可以在试用结束且不满意试用效果的一段时间内进行当前应用升级事件与试用阶段的应用事件的比对,超过该预设时间段后,可以再次进行试用升级。
下面以一种UEFI应用程序升级方法为例对本申请实施例的应用升级方法进行说明。通常在对UEFI应用程序进行升级时,首先进入程序功能,选择UEFI应用程序升级包,然后将应用程序升级包写入EMMC(EmbeddedMulti MediaCard,内嵌式存储器)或其他存储设备,运行该应用程序升级包,升级UEFI应用程序。在该升级方式中,由于直接将升级包写入到设备的内嵌式存储器或者其他存储设备中,在升级过程中会替换掉原有版本信息,若升级后出现问题,将影响系统的正常运行。
在本申请实施例中首先进行第一模式的试用升级,其中,所述基于目标应用升级数据,对目标应用执行第一模式的应用升级处理,包括:获得待升级的目标应用的运行环境;基于运行环境,创建虚拟盘;将目标应用升级数据加载至虚拟片并运行,以使得完成目标应用的应用升级处理。其中,获得待升级的目标应用的运行环境可以包括获得目标应用在升级之前的配置信息,该配置可以包括存储目标应用的相关数据或者加载目标应用的存储盘信息,还可以包括支持该目标应用正常运行的系统数据,如操作系统或者应用线程数据等。然后基于上述运行环境创建虚拟盘,该虚拟盘用于加载目标应用升级数据并运行,以实现对目标应用的升级,此时升级为非正常升级,用于用户对升级后的目标应用的试用。
进一步地,响应于控制目标应用执行第二模式的应用升级处理,删除虚拟盘。在该实施方式中,为了释放设备的资源,可以在目标应用进行正常升级之后,删除虚拟盘。也可以是在试用结束后,直接删除该虚拟盘,释放相关资源。
具体的,参见图2,为本申请实施例提供的一种UEFI应用程序升级方法的流程图,在图2的左侧是通用的UEFI应用程序升级过程,包括:进入程序功能,选择UEFI应用程序升级包,升级UEFI应用程序(写入EMMC或其他存储设备)。在图2的右侧为本申请实施例提供的UEFI应用程序升级方法,该过程包括:进入程序功能;选择UEFI应用程序升级包;确定是否进入升级前试用;如果是,为运行升级包创建虚拟盘(Ramdisk),其中,RAMdisk是一种模拟的盘驱动器,其数据实际上存储在RAM内存之中。一个专用程序使操作系统可以对模拟盘读取-写入数据,就象从磁盘驱动器中读写一样。RAM盘非常快,但它要求系统内存为其所用。此外,RAM盘常使用易失性存储器。因此,当电源切断时,存储在RAM盘上的数据就消失了。然后,解析升级包,复制(COPY)升级包数据到虚拟盘;从虚拟盘加载程序,并运行;用户试用新程序;试用结束,退出程序;删除虚拟盘,释放相关资源。最后确认是否正常升级,如果是,升级UEFI应用程序(写入EMMC或其他存储设备)。如果否,则结束升级。进一步地,用户也可以选择跳过升级使用的过程,直接进行正常升级。
下面以一种应用程序(APP)的升级过程对本申请实施例的应用升级进行说明,参见图3,在通用的APP升级过程包括:进入APP,选择升级包,然后升级APP。本申请实施例对应的APP升级过程包括:选择APP,进入升级包,确定是否试用升级包,如果是,加载并运行升级包,试用升级包,退出试用,确定用户是否满意本次的升级试用,如果是,升级APP,如果否,不升级APP。
在本申请实施例中为了避免目标应用在第二模式下升级出现问题,比如,在线升级遇到网络卡顿或者电子设备出现断电等故障会影响目标应用的正常升级,若升级过程中出现失败,为了能够保证电子设备的正常运行需要回退到升级之前的版本。因此,可以在目标应用执行第二模式的应用升级处理之前对目标应用的当前版本信息进行备份,得到备份信息,响应于目标应用执行第二模式的应用升级处理失败,基于所述备份信息,控制所述目标应用退出至升级之前的版本。
在本申请的另一实施例中还提供了一种应用升级装置,参见图4,该装置可以包括:
获取单元201,用于响应于监测到应用升级事件,获得与待升级的目标应用对应的目标应用升级数据;
第一处理单元202,用于基于所述目标应用升级数据,对所述目标应用执行第一模式的应用升级处理;
第二处理单元203,用于若在所述第一模式的应用升级处理完成后所述目标应用满足目标运行条件,控制所述目标应用执行第二模式的应用升级处理;
其中,所述第一模式表征基于模拟所述目标应用的运行环境进行升级的模式,且基于所述第一模式的应用升级有效,所述第二模式表征基于所述目标应用实际运行环境进行升级的模式。
可选地,还包括:
第一控制单元,用于若在所述第一模式的应用升级处理完成后所述目标应用不满足所述目标运行条件,控制所述目标应用不进行第二模式的应用升级处理;
资源清除单元,用于清除目标资源信息,所述目标资源信息表征模拟得到的所述目标应用的运行环境的资源。
可选地,所述第一处理单元包括:
第一获取子单元,用于获得所述待升级的目标应用的运行环境;
创建子单元,用于基于所述运行环境,创建虚拟盘;
加载子单元,用于将所述目标应用升级数据加载至所述虚拟盘并运行,以使得完成所述目标应用的应用升级处理。
可选地,还包括:
删除单元,用于响应于控制所述目标应用执行第二模式的应用升级处理,删除所述虚拟盘。
可选地,所述第二处理单元包括:
第二获取子单元,用于响应于基于所述第一模式的应用升级处理完成后,获得目标对象使用升级后的目标应用的反馈信息;
第一确定子单元,用于基于所述反馈信息,确定所述目标应用是否满足目标运行条件;
第一控制子单元,用于如果是,控制所述目标应用执行第二模式的应用升级处理。
可选地,所述第二处理单元包括:
第三获取子单元,用于响应于基于所述第一模式的应用升级处理完成后,获得升级后的所述目标应用的运行数据;
第二控制子单元,用于若所述运行数据满足目标运行条件,控制所述目标应用执行第二模式的应用升级处理,其中,所述目标运行条件是基于所述目标应用的升级特征确定的。
可选地,还包括:
解析单元,用于若在所述第一模式的应用升级处理完成后所述目标应用不满足所述目标运行条件,响应于重新监测到应用升级事件,对所述应用升级事件进行解析;
第二控制单元,用于若解析结果与所述目标应用升级数据相匹配,控制忽略所述应用升级事件。
需要说明的是,本实施例中各个单元以及子单元的具体实现可以参考前文中的相应内容,此处不再详述。
在本申请的另一实施例中,还提供了一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上任一项所述的应用升级方法。
在本申请的另一实施例中,还提供了一种电子设备,所述电子设备可以包括:
存储器,用于存储应用程序和所述应用程序运行所产生的数据;
处理器,用于执行所述应用程序,以实现如上述中任一项所述应用升级方法。
需要说明的是,本实施例中处理器的具体实现可以参考前文中的相应内容,此处不再详述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
- 一种电子设备的输入方法、输入装置及电子设备
- 一种电子设备、双屏电子设备的控制方法及装置
- 一种应用程序处理方法、装置、电子设备及可读存储介质
- 一种应用程序的测试方法、装置、电子设备及存储介质
- 一种应用程序故障修复方法、装置及电子设备
- 一种应用升级方法、应用升级平台、电子设备及存储介质
- 电子设备的升级方法、升级装置、存储介质及电子设备