CN110858148B - 一种存储介质预置应用程序的更新方法、装置及电子设备 - Google Patents
一种存储介质预置应用程序的更新方法、装置及电子设备 Download PDFInfo
- Publication number
- CN110858148B CN110858148B CN201811560981.XA CN201811560981A CN110858148B CN 110858148 B CN110858148 B CN 110858148B CN 201811560981 A CN201811560981 A CN 201811560981A CN 110858148 B CN110858148 B CN 110858148B
- Authority
- CN
- China
- Prior art keywords
- application program
- updating
- installation package
- storage medium
- storage partition
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Abstract
本发明实施例公开一种存储介质预置应用程序的更新方法、装置及电子设备,涉及数据更新或恢复技术领域,可以解决预置应用程序更新失败的问题。所述方法包括:接收第一应用程序更新指令,获取存储介质的第一存储分区中存储的第一应用程序安装包进行更新;检测到所述第一应用程序更新失败时,激活存储介质的第二存储分区;所述第二存储分区中存储有数据修复程序;获取第二存储分区中的数据修复程序,利用所述数据修复程序对更新失败的第一应用程序进行修复,以完成第一应用程序的更新。本发明适用于存储介质或者具有存储功能的终端设备上,尤其适用于设有预置应用程序的存储介质或终端设备上,用以实现数据,包括预置应用程序的恢复或更新。
Description
技术领域
本发明涉及数据更新或恢复技术领域,尤其涉及一种存储介质预置应用程序的更新方法、装置及电子设备。
背景技术
存储介质是指存储数据的载体。目前,存储介质的生产厂商或者应用厂商会根据特定的应用目的在存储介质中设有预置的应用程序,而这些应用程序定期会需要更新。
发明人在实现本发明的过程中发现,一旦这些预置的应用程序在更新环节中出现错误致使更新失败,将可能导致存储介质不可用,需要进行返厂解决。
发明内容
有鉴于此,本发明实施例提供一种存储介质预置应用程序的更新方法、装置及电子设备,可以解决预置应用程序更新失败的问题,以提高预置应用程序更新的成功率。
第一方面,本发明实施例提供一种存储介质预置应用程序的更新方法,所述方法包括步骤:
接收第一应用程序更新指令,获取存储介质的第一存储分区中存储的第一应用程序安装包进行更新;
检测到所述第一应用程序更新失败时,激活存储介质的第二存储分区;所述第二存储分区中存储有数据修复程序;
获取第二存储分区中的数据修复程序,利用所述数据修复程序对更新失败的第一应用程序进行修复,以完成第一应用程序的更新。
结合第一方面,在第一方面的第一种实施方式中,获取第二存储分区中的数据修复程序,利用所述数据修复程序对更新失败的第一应用程序进行修复,以完成第一应用程序的更新包括:
根据所述第一应用程序的标识信息从第一存储分区中查找所述第一应用程序安装包;所述标识信息包括应用程序安装包的包名;
利用所述数据修复程序对第一存储分区存储的所述第一应用程序安装包进行数据修复或恢复;
提取修复或恢复后的第一应用程序安装包重新更新第一应用程序,以完成第一应用程序的更新。
结合第一方面及第一方面的第一种实施方式,在第一方面的第二种实施方式中,在提取修复或恢复后的第一应用程序安装包重新安装第一应用程序,以完成第一应用程序的更新之前或之后包括:
将更新失败的第一应用程序卸载或覆盖,并清除当次更新失败过程中产生的数据。
结合第一方面,第一方面的第一种及第二种实施方式,在第一方面的第三种实施方式中,所述第二存储分区中还存储有备用的第一应用程序安装包;
检测到所述第一应用程序更新失败时,激活存储介质的第二存储分区之后还包括:
获取第二存储分区中备用的第一应用程序安装包;
将所述备用的第一应用程序安装包替换第一存储分区中的第一应用程序安装包;
利用所述备用的第一应用程序安装包重新更新第一应用程序。
结合第一方面,第一方面的第一种、第二种及第三种实施方式,在第一方面的第四种实施方式中,接收第一应用程序更新指令,获取存储介质的第一存储分区中存储的第一应用程序安装包进行更新之后包括:
检测所述第一应用程序是否更新失败;
所述检测所述第一应用程序是否更新失败包括:
检测接收到的更新指令并解析;
在解析出所述更新指令为开始更新指令时,则在预定时间内判断是否接收到结束或完成更新指令;
若是,则确定更新成功;
否则,则确定更新失败。
结合第一方面,第一方面的第一种、第二种、第三及第四种实施方式,在第一方面的第五种实施方式中,在完成第一应用程序的更新之后还包括:将所述第二存储分区恢复到初始状态;所述第二存储分区的初始状态为冻结状态。
结合第一方面,第一方面的第一种、第二种、第三、第四及第五种实施方式,在第一方面的第五种实施方式中,所述存储介质包括:CF卡、SD卡、U盘、记忆棒、固态硬盘和/或移动硬盘。
第二方面,本发明实施例提供一种存储介质预置应用程序的更新装置,所述装置包括:接收获取模块,用于接收第一应用程序更新指令,获取存储介质的第一存储分区中存储的第一应用程序安装包进行更新;
检测激活模块,用于检测到所述第一应用程序更新失败时,激活存储介质的第二存储分区;所述第二存储分区中存储有数据修复程序;
获取更新模块,用于获取第二存储分区中的数据修复程序,利用所述数据修复程序对更新失败的第一应用程序进行修复,以完成第一应用程序的更新。
结合第二方面,在第二方面的第一种实施方式中,所述获取更新模块包括:
查找单元,用于根据所述第一应用程序的标识信息从第一存储分区中查找所述第一应用程序安装包;所述标识信息包括应用程序安装包的包名;
修复或恢复单元,用于利用所述数据修复程序对第一存储分区存储的所述第一应用程序安装包进行数据修复或恢复;
提取安装单元,用于提取修复或恢复后的第一应用程序安装包重新安装第一应用程序,以完成第一应用程序的更新。
结合第二方面,第二方面的第一种实施方式中,在第二方面的第二种实施方式中,所述获取更新模块还包括:
卸载清除单元,用于在提取修复或恢复后的第一应用程序安装包重新安装第一应用程序,以完成第一应用程序的更新之前或之后,将更新失败的第一应用程序卸载或覆盖,并清除当次更新失败过程中产生的数据。
结合第二方面,第二方面的第一种及第二种实施方式,在第二方面的第三种实施方式中,所述第二存储分区中还存储有备用的第一应用程序安装包;所述装置还包括:
第一获取模块,用于在检测到所述第一应用程序更新失败时,激活存储介质的第二存储分区之后,获取第二存储分区中备用的第一应用程序安装包;
替换模块,用于将所述备用的第一应用程序安装包替换第一存储分区中的第一应用程序安装包;
安装模块,用于利用所述备用的第一应用程序安装包重新更新第一应用程序。
结合第二方面,第二方面的第一种、第二种及第三种实施方式,在第二方面的第四种实施方式中,所述装置还包括:
第一检测模块,用于在接收第一应用程序更新指令,获取存储介质的第一存储分区中存储的第一应用程序安装包进行更新之后,检测所述第一应用程序是否更新失败;
所述第一检测模块包括第一检测单元,用于检测接收到的更新指令并解析;
判断单元,用于在解析出所述更新指令为开始更新指令时,则在预定时间内判断是否接收到结束或完成更新指令;
第一确定单元,用于若判断在预定时间内接收到结束或完成更新指令,则确定更新成功;
第二确定单元,用于若判断在预定时间内未接收到结束或完成更新指令,则确定更新失败。
结合第二方面,第二方面的第一至第四任一种实施方式,在第二方面的第五种实施方式中,所述装置还包括:
初始化模块,用于在完成第一应用程序的更新之后,将所述第二存储分区恢复到初始状态;所述第二存储分区的初始状态为冻结状态。
结合第二方面,第二方面的第一至第五任一种实施方式,在第二方面的第六种实施方式中,所述存储介质包括:CF卡、SD卡、U盘、记忆棒、固态硬盘和/或移动硬盘。
第三方面,本发明实施例提供一种电子设备,所述电子设备,包括:一个或者多个处理器;
存储器;
所述存储器中存储有一个或者多个可执行程序,所述一个或者多个处理器读取存储器中存储的可执行程序代码,来运行与可执行程序代码对应的程序,以用于第一方面任一所述的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现第一方面任一所述的方法
本发明实施例提供的一种存储介质预置应用程序的更新方法、装置及电子设备,通过接收第一应用程序更新指令,获取存储介质的第一存储分区中存储的第一应用程序安装包进行更新;检测到所述第一应用程序更新失败时,激活存储介质的第二存储分区;所述第二存储分区中存储有数据修复程序;获取第二存储分区中的数据修复程序,利用所述数据修复程序对更新失败的第一应用程序进行修复,以完成第一应用程序的更新。这样,在检测应用程序更新失败后,可以及时获取第二存储分区中的数据修复程序对更新失败的应用程序进行修复,在修复完成后就可以正常完成更新,可以解决预置应用程序更新失败的问题,以提高预置应用程序更新的成功率,从而避免了更新失败可能导致的返厂解决的麻烦。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明存储介质预置应用程序的更新方法一实施例的流程图;
图2为本发明存储介质预置应用程序的更新方法另一实施例的流程图;
图3为本发明存储介质预置应用程序的更新方法又一实施例的流程图
图4为本发明实施例中存储介质预置应用程序的更新装置一实施例结构框图;
图5为本发明实施例中存储介质预置应用程序的更新装置另一实施例结构框图;
图6为本发明实施例中存储介质预置应用程序的更新装置再一实施例结构框图;
图7为本发明实施例中存储介质预置应用程序的更新装置又一实施例结构框图;
图8为本发明电子设备一个实施例的结构示意图;
图9为本发明计算机可读存储介质一实施例结构示意框图;
图10为本发明的一实施例存储介质实现应用程序更新过程中的状态变化示意图。
具体实施方式
下面结合附图对本发明实施例进行详细描述。
应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明一种存储介质预置应用程序的更新方法一实施例的流程图,如图1所示,本实施例的方法可应用于存储介质中,例如,CF(Compact Flash)卡、SD卡(SecureDigital Memory Card)、U盘(全称USB闪存盘,英文名″USB flash disk″)、记忆棒(英文:Memory Stick,日本索尼公司开发的一款存储卡)、固态硬盘和/或移动硬盘等,还可应用于具有存储介质的电子设备中,例如,手机、平板电脑等,可以包括:
步骤101、接收第一应用程序更新指令,获取存储介质的第一存储分区中存储的第一应用程序安装包进行更新。
本实施例中,所述的应用程序应作最宽泛理解,可以包括单一的可执行文件或程序,例如,.EXE文件,也可以包括应用软件,例如,手机上的通讯录及电话等,根据存储介质特定的应用场景的不同会有所变化;例如,存储介质专门为计算机杀毒而定制,则其中内置的杀毒软件程序即为所述的应用程序,当存储介质为手机厂商用于手机上存储使用时,则其中可能根据不同的手机厂商,预置的应用程序也有所不同,例如,华为手机和小米手机预置的不可卸载的程序就有所不同。需要说明的是,上述举例仅仅是为了充分公开本发明实施例中的应用程序的概念,不能理解为对其所作的限定。
可以理解的是,不同生产厂商、不同应用厂商的存储介质中,预置的应用程序会有所不同,可以有一个或多个。所述第一应用程序安装包也可以称作第一应用程序更新包,其是一个第一应用程序最新版本的安装包或文件。
另外,第一存储分区为存储介质中初始状态为激活的分区,其中存储的数据在存储介质接入计算机或其他终端设备时,处于可见状态。
步骤102、检测到所述第一应用程序更新失败时,激活存储介质的第二存储分区;所述第二存储分区中存储有数据修复程序。
本实施例中,具体的,所述第二存储分区的初始状态为冻结状态,在冻结状态下,所述第二存储分区处于不可见状态。另外,在更新时可以对第一应用程序更新过程进行实时监听,当监听到更新失败时,则对第二存储分区激活,以调用第二存储分区中的数据修复程序对更新失败的第一应用程序进行修复,以使其成功完成更新。
本实施例中,具体对第二存储分区的激活方式可以通过重启存储介质或者重新插拔存储介质的方式激活。在激活之后,所述第二存储分区的状态就由用户不可见状态变成用户可见状态,从而可以对其进行操控。
步骤103、获取第二存储分区中的数据修复程序,利用所述数据修复程序对更新失败的第一应用程序进行修复,以完成第一应用程序的更新。
本实施例中,所述数据修复程序可以为360修复程序,也可以采用金山修复程序,还可以根据第一应用程序的种类,使用其他专门针对该种应用程序安装或更新失败的修复程序或软件。在第一应用程序更新失败后,通过获取第二存储分区中的数据修复程序对更新失败的第一应用程序进行修复,当修复完成后,所述第一应用程序会继续完成剩余的更新过程及步骤,以实现成功更新,进而可以提高预置应用程序更新成功率。
本发明实施例提供的一种存储介质预置应用程序的更新方法,通过接收第一应用程序更新指令,获取存储介质的第一存储分区中存储的第一应用程序安装包进行更新;检测到所述第一应用程序更新失败时,激活存储介质的第二存储分区;所述第二存储分区中存储有数据修复程序;获取第二存储分区中的数据修复程序,利用所述数据修复程序对更新失败的第一应用程序进行修复,以完成第一应用程序的更新。这样,在检测应用程序更新失败后,可以及时获取第二存储分区中的数据修复程序对更新失败的应用程序进行修复,在修复完成后就可以正常完成更新,可以解决预置应用程序更新失败的问题,以提高预置应用程序更新的成功率,从而避免了更新失败可能导致的返厂解决的麻烦。
可以理解的是,上述方法也可以适用于对存储介质中存储的非预置应用程序的更新。例如,采用U盘对手机上的微信或QQ等应用程序进行安装或更新。
本实施例中,作为一可选实施例,获取第二存储分区中的数据修复程序,利用所述数据修复程序对更新失败的第一应用程序进行修复,以完成第一应用程序的更新包括:根据所述第一应用程序的标识信息从第一存储分区中查找所述第一应用程序安装包;所述标识信息包括应用程序安装包的包名;利用所述数据修复程序对第一存储分区存储的所述第一应用程序安装包进行数据修复或恢复;提取修复或恢复后的第一应用程序安装包重新更新第一应用程序,以完成第一应用程序的更新。
可以理解的是,本实施例中,第一应用程序更新失败可能是由于更新包存在问题,于是在检测到第一应用程序更新失败后,根据第一应用程序的标识信息先确定出第一存储分区中对应的应用程序安装包或文件,在第一存储分区中存在多个应用程序时,还需要对所述第一应用程序安装包或文件进行查找;具体的可以匹配应用程序安装包名来进行匹配查找。或者,直接进行遍历算法进行查找。由于所述第一应用程序安装包或文件本身可能存在数据的缺失或错误,因此,本实施例不是对更新失败的应用程序进行修复,而是直接对第一应用程序安装包进行修复或恢复其数据,以使用修复后的第一应用程序安装包再次进行更新,由于对存在数据缺失或错误的安装包或文件进行了修复,在源头上解决了更新可能失败的问题,从而可提高更新成功率。
参看图2所示,本实施例中,作为一可选实施例,在提取修复或恢复后的第一应用程序安装包重新安装第一应用程序,以完成第一应用程序的更新之前或之后包括:
104、将更新失败的第一应用程序卸载或覆盖,并清除当次更新失败过程中产生的数据。
本实施例中,如果在完成第一应用程序的更新之前,将更新失败的第一应用程序卸载或覆盖,并清除当次更新失败过程中产生的数据。这样,可以避免先前更新过程中产生的数据对重新安装更新造成干扰或不利影响。例如,在对微软的Office软件安装更新过程中,如果前次安装失败产生的数据或文件没有彻底清除干净,会影响到本次安装更新。
如果在完成第一应用程序的更新之前,将更新失败的第一应用程序卸载或覆盖,并清除当次更新失败过程中产生的数据。这样,即使更新成功,若需要启用更新后的第一应用程序,也可能会由于先前产生的数据或文件对第一应用程序的正常使用产生影响。例如,当为.EXE文件时,可能会运行失败;当为应用软件时,可能会打不开。
图3为本发明一种存储介质预置应用程序的更新方法又一实施例的流程图,参看图3所示,本实施例中,作为一可选实施例,所述第二存储分区中还存储有备用的第一应用程序安装包;所述备用的第一应用程序安装包的数据完整无缺失,以保证可以用其完成第一应用程序的更新。
所述检测到所述第一应用程序更新失败时,激活存储介质的第二存储分区之后还包括:获取第二存储分区中备用的第一应用程序安装包;将所述备用的第一应用程序安装包替换第一存储分区中的第一应用程序安装包;利用所述备用的第一应用程序安装包重新更新第一应用程序。
可以理解的是,在第一存储分区中的数据出现问题致使用其进行的第一应用程序更新失败后,可以启用另外一份备用的第一应用程序安装包重新进行第一应用程序的更新,以保证在利用第一存储分区中的第一应用程序安装包更新失败后,能够利用第二存储分区中备用的第一应用程序安装包进行更新,从而保证第一应用程序更新成功。
所述替换可以是将原来的第一存储分区中的第一应用程序安装包删除,也可以不删除,自动创建新的命名,但是其命名要利于第一应用程序的识别,不能更改其基本的包名,可以在包名之后加阿拉伯数字后缀,例如-(1)等。
本实施例中,所述第二存储分区中存储的修复数据程序和备用的第一应用程序安装包,也可以以超文本链接的方式存储,需要获取修复数据程序和备用的第一应用程序安装包时,可以向服务器发送请求命令,跳转到所述超文本链接指向的网页;从所述网页上获取需要的资源,即修复数据程序和备用的第一应用程序安装包。也可以是在激活第二存储分区时,向云端服务器发送获取修复数据程序和备用的第一应用程序安装包资源的请求;第二存储分区接收云端服务器基于所述请求返回的资源。这样通过建立虚拟的第二存储分区,在有资源需要时,从云端服务器获取资源,第二存储分区作为临时的寄存器,可以节省存储介质的内存容量。
继续参看图3所示,本实施例中,作为一可选实施例,在接收第一应用程序更新指令,获取存储介质的第一存储分区中存储的第一应用程序安装包进行更新之后包括:
检测所述第一应用程序是否更新失败;
所述检测所述第一应用程序是否更新失败包括:
检测接收到的更新指令并解析;
本实施例中,具体的,可以预设一指令解析库,所述指令解析库中包括更新开始指令和结束或完成指令对应的代码或符号。在检测接收到的更新指令之后,将接收到的更新指令与所述指令解析库中的指令进行匹配;根据匹配结果确定接收到的更新指令是否为开始更新指令。
在解析出所述更新指令为开始更新指令时,则在预定时间内判断是否接收到结束或完成更新指令;
本实施例中,所述预定时间可以根据曾经成功更新该应用程序的历史记录确定,所述历史记录中记录有该应用程序从更新开始到更新完成所用的时间。当然,也可以根据情况自行设置。
若是,则确定更新成功;否则,则确定更新失败。
本实施例通过上述技术特征,提供了一种具体的检测应用程序更新失败的方案,能够及时检测到应用程序更新失败,以获取相应的解决方案。
继续参看图3所示,本实施例中,作为一可选实施例,在完成第一应用程序的更新之后还包括:将所述第二存储分区恢复到初始状态;所述第二存储分区的初始状态为冻结状态。在冻结状态下第二存储分区为不可见或灰色不可操作状态。
本实施例提供的存储介质预置应用程序的更新方法,在检测应用程序更新失败后,可以及时获取第二存储分区中的数据修复程序对更新失败的应用程序进行修复,在修复完成后就可以正常完成更新,可以解决预置应用程序更新失败的问题,从而避免了更新失败可能导致的返厂解决的麻烦。该方案也可以用于对存储介质中存储的数据的修复。
实施例二
图4为本发明一种存储介质预置应用程序的更新装置一实施例的结构示意图,如图4所示,本实施例的存储介质预置应用程序的更新装置应用于存储介质中,或者应用于具有存储功能的终端设备上,尤其适用于设有预置应用程序的存储介质或终端设备上,用以实现数据,包括预置应用程序的恢复或更新。所述装置包括:接收获取模块21,用于接收第一应用程序更新指令,获取存储介质的第一存储分区中存储的第一应用程序安装包进行更新;检测激活模块22,用于检测到所述第一应用程序更新失败时,激活存储介质的第二存储分区;所述第二存储分区中存储有数据修复程序;获取更新模块23,用于获取第二存储分区中的数据修复程序,利用所述数据修复程序对更新失败的第一应用程序进行修复,以完成第一应用程序的更新。
本发明实施例提供的一种存储介质预置应用程序的更新装置,通过接收获取模块接收第一应用程序更新指令,获取存储介质的第一存储分区中存储的第一应用程序安装包进行更新;通过检测激活模块检测到所述第一应用程序更新失败时,激活存储介质的第二存储分区;所述第二存储分区中存储有数据修复程序;通过获取更新模块,获取第二存储分区中的数据修复程序,利用所述数据修复程序对更新失败的第一应用程序进行修复,以完成第一应用程序的更新。这样,在检测应用程序更新失败后,可以及时获取第二存储分区中的数据修复程序对更新失败的应用程序进行修复,在修复完成后就可以正常完成更新,可以解决预置应用程序更新失败的问题,以提高预置应用程序更新的成功率,从而可以避免更新失败可能导致的返厂解决的麻烦。
本实施例的装置可以用于执行图1所示方法实施例的技术方案,本实施例的装置,其实现原理和技术效果类似,此处不再多赘述,可相互参看。
参看图5所示,本实施例中,作为一可选实施例,提供的装置与前述实施例所述的装置类似,不同之处在于所述获取更新模块23包括:
查找单元231,用于根据所述第一应用程序的标识信息从第一存储分区中查找所述第一应用程序安装包;所述标识信息包括应用程序安装包的包名;当所述第一应用程序为一单一的可执行文件时,其安装包的包名即为文件名。
修复或恢复单元232,用于利用所述数据修复程序对第一存储分区存储的所述第一应用程序安装包进行数据修复或恢复;
提取安装单元233,用于提取修复或恢复后的第一应用程序安装包重新安装第一应用程序,以完成第一应用程序的更新。
作为另一可选实施例,所述获取更新模块还包括:
卸载清除单元,用于在提取修复或恢复后的第一应用程序安装包重新安装第一应用程序,以完成第一应用程序的更新之前或之后,将更新失败的第一应用程序卸载或覆盖,并清除当次更新失败过程中产生的数据。
作为又一可选实施例,所述第二存储分区中还存储有备用的第一应用程序安装包;所述装置还包括:
第一获取模块,用于在检测到所述第一应用程序更新失败时,激活存储介质的第二存储分区之后,获取第二存储分区中备用的第一应用程序安装包;
替换模块,用于将所述备用的第一应用程序安装包替换第一存储分区中的第一应用程序安装包;
安装模块,用于利用所述备用的第一应用程序安装包重新更新第一应用程序。
所述第一监听策略包括进程守护策略;
参看图6所示,作为一可选实施例,所述装置还包括:
第一检测模块25,用于在接收第一应用程序更新指令,获取存储介质的第一存储分区中存储的第一应用程序安装包进行更新之后,检测所述第一应用程序是否更新失败;
所述第一检测模块包括第一检测单元,用于检测接收到的更新指令并解析;
判断单元,用于在解析出所述更新指令为开始更新指令时,则在预定时间内判断是否接收到结束或完成更新指令;
第一确定单元,用于若判断在预定时间内接收到结束或完成更新指令,则确定更新成功;
第二确定单元,用于若判断在预定时间内未接收到结束或完成更新指令,则确定更新失败。
参看图7所示,作为再一可选实施例,所述装置还包括:初始化模块26,用于在完成第一应用程序的更新之后,将所述第二存储分区恢复到初始状态;所述第二存储分区的初始状态为冻结状态。
对于本发明提供的存储介质预置应用程序的更新装置的各实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明还实施例提供了一种电子设备,包括一个或者多个处理器;存储器;所述存储器中存储有一个或者多个可执行程序,所述一个或者多个处理器读取存储器中存储的可执行程序代码,来运行与可执行程序代码对应的程序,以用于执行实施例一任一所述的方法。
图8为本发明电子设备一个实施例的结构示意图,其可以实现本发明实施例一任一所述的方法,如图8所示,作为一可选实施例,上述电子设备可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述电子设备的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述是实施例一任一所述的存储介质预置应用程序的更新方法。
处理器42对上述步骤的具体执行过程以及处理器42通过运行可执行程序代码来进一步执行的步骤,可以参见本发明存储介质预置应用程序的更新方法实施例一的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放模块(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(5)其他具有数据交互功能的电子设备。
本发明还实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例一任一所述的方法。
图9为本发明计算机可读存储介质一实施例结构示意框图,图10为本发明的一实施例存储介质实现应用程序更新过程中的状态变化示意图。
参看图9及图10所示,所述存储介质包括第一存储分区及第二存储分区,所述第一存储分区初始状态为激活状态,所述第二存储分区初始状态为冻结状态,所述第一存储分区初始状态下为用户可见状态,所述第二存储分区初始状态为用户不可见状态(图中虚线表示不可见),在激活后为用户可见状态;所述第一存储分区及第二存储分区中存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例一任一所述的方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
为了描述的方便,描述以上装置是以功能分为各种单元/模块分别描述。当然,在实施本发明时可以把各单元/模块的功能在同一个或多个软件和/或硬件中实现。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质还可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种存储介质预置应用程序的更新方法,其特征在于,所述方法包括:
接收第一应用程序更新指令,获取存储介质的第一存储分区中存储的第一应用程序安装包进行更新;
检测到所述第一应用程序更新失败时,激活存储介质的第二存储分区;所述第二存储分区中存储有数据修复程序;所述第二存储分区的初始状态为冻结状态,在冻结状态下,所述第二存储分区处于不可见状态;第二存储分区通过重启存储介质或者重新插拔存储介质的方式激活;
获取第二存储分区中的数据修复程序,利用所述数据修复程序对更新失败的第一应用程序进行修复,以完成第一应用程序的更新;
获取第二存储分区中的数据修复程序,利用所述数据修复程序对更新失败的第一应用程序进行修复,以完成第一应用程序的更新包括:
根据所述第一应用程序的标识信息从第一存储分区中查找所述第一应用程序安装包;所述标识信息包括应用程序安装包的包名;
利用所述数据修复程序对第一存储分区存储的所述第一应用程序安装包进行数据修复或恢复;
提取修复或恢复后的第一应用程序安装包重新更新第一应用程序,以完成第一应用程序的更新;
在完成第一应用程序的更新之后,还包括:将所述第二存储分区恢复到初始状态。
2.根据权利要求1所述的方法,其特征在于,在提取修复或恢复后的第一应用程序安装包重新安装第一应用程序,以完成第一应用程序的更新之前或之后包括:
将更新失败的第一应用程序卸载或覆盖,并清除当次更新失败过程中产生的数据。
3.根据权利要求1所述的方法,其特征在于,所述第二存储分区中还存储有备用的第一应用程序安装包;
检测到所述第一应用程序更新失败时,激活存储介质的第二存储分区之后还包括:
获取第二存储分区中备用的第一应用程序安装包;
将所述备用的第一应用程序安装包替换第一存储分区中的第一应用程序安装包;
利用所述备用的第一应用程序安装包重新更新第一应用程序。
4.根据权利要求1所述的方法,其特征在于,接收第一应用程序更新指令,获取存储介质的第一存储分区中存储的第一应用程序安装包进行更新之后包括:
检测所述第一应用程序是否更新失败;
所述检测所述第一应用程序是否更新失败包括:
检测接收到的更新指令并解析;
在解析出所述更新指令为开始更新指令时,则在预定时间内判断是否接收到结束或完成更新指令;
若是,则确定更新成功;
否则,则确定更新失败。
5.根据权利要求1或2所述的方法,其特征在于,所述存储介质包括:CF卡、SD卡、U盘、记忆棒、固态硬盘和/或移动硬盘。
6.一种存储介质预置应用程序的更新装置,其特征在于,所述装置包括:
接收获取模块,用于接收第一应用程序更新指令,获取存储介质的第一存储分区中存储的第一应用程序安装包进行更新;
检测激活模块,用于检测到所述第一应用程序更新失败时,激活存储介质的第二存储分区;所述第二存储分区中存储有数据修复程序;所述第二存储分区的初始状态为冻结状态,在冻结状态下,所述第二存储分区处于不可见状态;第二存储分区通过重启存储介质或者重新插拔存储介质的方式激活;
获取更新模块,用于获取第二存储分区中的数据修复程序,利用所述数据修复程序对更新失败的第一应用程序进行修复,以完成第一应用程序的更新;
所述获取更新模块包括:
查找单元,用于根据所述第一应用程序的标识信息从第一存储分区中查找所述第一应用程序安装包;所述标识信息包括应用程序安装包的包名;
修复或恢复单元,用于利用所述数据修复程序对第一存储分区存储的所述第一应用程序安装包进行数据修复或恢复;
提取安装单元,用于提取修复或恢复后的第一应用程序安装包重新安装第一应用程序,以完成第一应用程序的更新;
所述装置还包括:
初始化模块,用于在完成第一应用程序的更新之后,将所述第二存储分区恢复到初始状态。
7.根据权利要求6所述的装置,其特征在于,所述获取更新模块还包括:
卸载清除单元,用于在提取修复或恢复后的第一应用程序安装包重新安装第一应用程序,以完成第一应用程序的更新之前或之后,将更新失败的第一应用程序卸载或覆盖,并清除当次更新失败过程中产生的数据。
8.根据权利要求6所述的装置,其特征在于,所述第二存储分区中还存储有备用的第一应用程序安装包;所述装置还包括:
第一获取模块,用于在检测到所述第一应用程序更新失败时,激活存储介质的第二存储分区之后,获取第二存储分区中备用的第一应用程序安装包;
替换模块,用于将所述备用的第一应用程序安装包替换第一存储分区中的第一应用程序安装包;
安装模块,用于利用所述备用的第一应用程序安装包重新更新第一应用程序。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一检测模块,用于在接收第一应用程序更新指令,获取存储介质的第一存储分区中存储的第一应用程序安装包进行更新之后,检测所述第一应用程序是否更新失败;
所述第一检测模块包括第一检测单元,用于检测接收到的更新指令并解析;
判断单元,用于在解析出所述更新指令为开始更新指令时,则在预定时间内判断是否接收到结束或完成更新指令;
第一确定单元,用于若判断在预定时间内接收到结束或完成更新指令,则确定更新成功;
第二确定单元,用于若判断在预定时间内未接收到结束或完成更新指令,则确定更新失败。
10.根据权利要求8或9所述的装置,其特征在于,所述存储介质包括:CF卡、SD卡、U盘、记忆棒、固态硬盘和/或移动硬盘。
11.一种电子设备,其特征在于,包括:
一个或者多个处理器;
存储器;
所述存储器中存储有一个或者多个可执行程序,所述一个或者多个处理器读取存储器中存储的可执行程序代码,来运行与可执行程序代码对应的程序,以用于执行权利要求1至5任一所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述权利要求1至5任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811560981.XA CN110858148B (zh) | 2018-12-18 | 2018-12-18 | 一种存储介质预置应用程序的更新方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811560981.XA CN110858148B (zh) | 2018-12-18 | 2018-12-18 | 一种存储介质预置应用程序的更新方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110858148A CN110858148A (zh) | 2020-03-03 |
CN110858148B true CN110858148B (zh) | 2023-02-17 |
Family
ID=69635776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811560981.XA Active CN110858148B (zh) | 2018-12-18 | 2018-12-18 | 一种存储介质预置应用程序的更新方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110858148B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6928521B1 (en) * | 2000-08-01 | 2005-08-09 | International Business Machines Corporation | Method, system, and data structures for using metadata in updating data in a storage device |
CN1885270A (zh) * | 2005-06-24 | 2006-12-27 | 株式会社东芝 | 信息处理设备,存储媒体,和数据挽救方法 |
CN1940887A (zh) * | 2005-09-28 | 2007-04-04 | 联想(北京)有限公司 | 自行修复嵌入式设备的主控应用程序的方法及设备 |
CN102681915A (zh) * | 2011-01-17 | 2012-09-19 | 三星电子株式会社 | 计算机系统及其程序恢复方法 |
CN104090796A (zh) * | 2014-07-08 | 2014-10-08 | 成都万维图新信息技术有限公司 | 一种嵌入式设备程序更新方法和系统 |
-
2018
- 2018-12-18 CN CN201811560981.XA patent/CN110858148B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6928521B1 (en) * | 2000-08-01 | 2005-08-09 | International Business Machines Corporation | Method, system, and data structures for using metadata in updating data in a storage device |
CN1885270A (zh) * | 2005-06-24 | 2006-12-27 | 株式会社东芝 | 信息处理设备,存储媒体,和数据挽救方法 |
CN1940887A (zh) * | 2005-09-28 | 2007-04-04 | 联想(北京)有限公司 | 自行修复嵌入式设备的主控应用程序的方法及设备 |
CN102681915A (zh) * | 2011-01-17 | 2012-09-19 | 三星电子株式会社 | 计算机系统及其程序恢复方法 |
CN104090796A (zh) * | 2014-07-08 | 2014-10-08 | 成都万维图新信息技术有限公司 | 一种嵌入式设备程序更新方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110858148A (zh) | 2020-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110825563B (zh) | 系统恢复方法、装置以及电子设备 | |
CN109947449B (zh) | 系统升级方法、装置、存储介质及电子设备 | |
CN105094927A (zh) | 一种设备固件升级方法和装置 | |
CN108241550B (zh) | 一种操作系统备份还原方法 | |
CN103428333B (zh) | 移动终端、服务器和错误修复方法 | |
CN106203092B (zh) | 一种拦截恶意程序关机的方法、装置及电子设备 | |
US20170068585A1 (en) | Method and Apparatus for Recovering System Software of Intelligent Terminal | |
CN106843947B (zh) | 代码缺陷的处理方法和装置 | |
CN105335195A (zh) | 一种设备驱动升级方法、装置及电子设备 | |
CN105824649A (zh) | 确定驱动应用程序安装是否成功的方法、装置及电子设备 | |
CN114064216A (zh) | 一种虚拟机初始化方法、装置、终端设备及存储介质 | |
CN112433739B (zh) | 一种固件升级方法 | |
CN113032183A (zh) | 系统管理方法、装置、计算机设备和存储介质 | |
CN110908722B (zh) | 应用于操作系统启动的方法、装置、电子设备及存储介质 | |
CN110858148B (zh) | 一种存储介质预置应用程序的更新方法、装置及电子设备 | |
CN106933604B (zh) | 一种系统升级方法及装置 | |
CN104765631A (zh) | 一种移动终端的应用程序恢复方法及装置 | |
EP2835737A1 (en) | Data terminal running mode switching method, device, and data terminal | |
CN102184115B (zh) | 升级系统软件的方法及终端设备 | |
CN113396391B (zh) | 应用程序启动的方法、装置、电子设备及存储介质 | |
CN109634782B (zh) | 一种系统健壮性的检测方法、装置、存储介质及终端 | |
CN111782236A (zh) | 系统软件升级方法、装置、存储介质及一体机设备 | |
US20170277528A1 (en) | Application installation system and method for handheld devices | |
CN113778485A (zh) | 电子芯片的系统运行方法、装置、电子芯片和存储介质 | |
CN114153503A (zh) | 一种bios控制方法、装置、介质 |
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 | ||
CB02 | Change of applicant information |
Address after: 150028 building 7, innovation and entrepreneurship square, science and technology innovation city, Harbin high tech Industrial Development Zone, Harbin, Heilongjiang Province (No. 838, Shikun Road) Applicant after: Antan Technology Group Co.,Ltd. Address before: 150028 building 7, innovation and entrepreneurship square, science and technology innovation city, Harbin high tech Industrial Development Zone, Harbin, Heilongjiang Province (No. 838, Shikun Road) Applicant before: Harbin Antian Science and Technology Group Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |