系统升级方法及装置的制造方法

文档序号:10569759阅读:309来源:国知局
系统升级方法及装置的制造方法
【专利摘要】本发明实施例提供一种系统升级方法及装置,该方法包括:终端在启动过程中查找该终端中是否存在未完成升级参数,若存在未完成升级参数,则该终端确定待完成升级包,终端采用上述待完成升级包对终端进行升级,并在完成上述待完成升级包对该终端的升级后更新上述未完成升级参数,也就是如果终端之前升级未完成则会存储有未完成升级参数,以便终端再启动时可以查找到未完成升级参数,并继续完成升级,实现了即使在升级过程中断电,当终端再重启时也可以继续完成升级,用户也无需借助其他工具或求助售后,提升了用户体验。
【专利说明】
系统升级方法及装置
技术领域
[0001]本发明涉及通信技术,尤其涉及一种系统升级方法及装置。
【背景技术】
[0002]随着手机、平板电脑等智能终端的普及,用户对智能终端的功能要求越来越高。开发者为了更好地满足用户需求,过一段时间会针对智能终端的系统做一些升级,例如修复原有系统的问题、增加一些新功能等。目前常见的多包升级,需要多个升级包连续升级,耗费的时间也相对较长,升级过程中如果由于电量不足或其它意外断电,就会导致升级失败,进而使得用户无法正常使用。
[0003]现有技术中,针对多包升级,终端会在升级前向用户显示“保持充足电量”、“升级中不能断电”等提示信息,但是如果真的发生断电,会出现由于终端未完成升级导致无法使用的问题。

【发明内容】

[0004]本发明提供一种系统升级方法及装置,用于解决多包升级过程中由于断电导致升级失败、终端无法正常使用的问题。
[0005]本发明第一方面提供一种系统升级方法,包括:
[0006]终端在启动过程中查找所述终端中是否存在未完成升级参数,其中,所述未完成升级参数为所述终端在预设分区中备份的升级参数;
[0007]若存在所述未完成升级参数,则所述终端根据所述未完成升级参数确定待完成升级包;
[0008]所述终端采用所述待完成升级包对所述终端进行升级,并在完成所述待完成升级包对所述终端的升级后更新所述未完成升级参数。
[0009]本发明第二方面提供一种系统升级装置,包括:
[0010]查找模块,用于在终端启动过程中查找所述终端中是否存在未完成升级参数,其中,所述未完成升级参数为所述终端在预设分区中备份的升级参数;
[0011 ]确定模块,用于在所述终端存在所述未完成升级参数时,根据所述未完成升级参数确定待完成升级包;
[0012]升级模块,用于采用所述待完成升级包对所述终端进行升级,并在完成所述待完成升级包对所述终端的升级后更新所述未完成升级参数。
[0013]本发明实施例提供的系统升级方法及装置中,终端在启动过程中查找该终端中是否存在未完成升级参数,即是否存在终端在预设分区中备份的升级参数,若存在则可以根据该未完成升级参数确定待完成升级包,进而根据待完成升级包继续完成升级,并更新该未完成升级参数,也就是终端会在预设分区备份未完成升级参数,当终端再启动时可以查找到未完成升级参数,并继续完成升级,实现了即使在升级过程中断电,当终端再重启时也可以继续完成升级。
【附图说明】
[0014]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0015]图1为本发明提供的系统升级方法实施例一的流程示意图;
[0016]图2为本发明提供的系统升级方法实施例二的流程示意图;
[0017]图3为本发明提供的系统升级方法实施例三的流程示意图;
[0018]图4为本发明提供的系统升级装置实施例一的结构示意图;
[0019]图5为本发明提供的系统升级装置实施例二的结构示意图。
【具体实施方式】
[0020]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0021]由于现有技术中终端的多包升级过程中一般将升级参数存储在缓存中,如果升级过程中终端断电,会将缓存中的升级参数清空,当再次开机重启后由于之前的升级未完成、升级参数也不存在,会导致终端无法正常开机使用。本发明实施例中,针对多包升级过程中由于断电导致升级失败、终端无法正常使用的问题,在升级过程中对升级参数进行备份,并对备份的升级参数进行实时更新,当终端异常断电并重启后,可获取当前待升级的升级包继续进行多包升级。
[0022]图1为本发明提供的系统升级方法实施例一的流程示意图,如图1所示,该方法包括:
[0023 ] S11、终端在启动过程中查找该终端中是否存在未完成升级参数。
[0024]上述未完成升级参数是终端在预设分区中备份的升级参数,用于获取终端在多包升级过程中当前待升级的升级包;该预设分区可以是终端的misc分区,但不以此为限。
[0025]可选地,上述未完成升级参数可以包括至少一个未完成升级包的升级方式、升级命令以及升级路径等,在此不作限制。
[0026]现有技术多包升级过程中,终端有指定的分区存储升级参数,一般可以在缓存(cache)等分区中的命令(command)文件中,当升级过程中终端发生断电关机时,终端cache中的升级参数会自动清除,从而造成终端在重启开机后无法获取升级包完成升级;而上述预设分区备份的未完成升级参数在断电关机时不清除。终端启动时可以在预设分区中查找是否存在未完成升级参数,以确认之前是否有未完成的升级,如果存在,说明之前的升级未完成。
[0027]示例性的,假设多包升级总共包含a、b、c、d、e五个升级包,终端在完成升级包a和b的升级之后发生异常断电,当终端开机重启之后查找到的未完成升级参数包括c、d、e三个升级包的相关升级参数。
[0028]S102、若存在未完成升级参数,则该终端确定待完成升级包。
[0029]具体的,终端在确定存在未完成升级参数之后,根据预设的升级顺序确定待完成升级包。其中,待完成升级包是根据预设顺序确定的当前最先进行升级的升级包。
[0030]上述未完成升级参数中包括该待完成升级包的升级方式、升级命令以及升级路径等。
[0031]示例性的,假设本次升级总共有a、b、c、d、e五个升级包,对应的升级路径分别为“/data/media/a.zip,,“/data/media/b.zip,,、“/data/media/c.zip,,、“/data/media/d.zip,,、“/ sdcard/e.zip”按照预设顺序依次升级a—b—c—d—e,断电前a和b升级完成,再启动时,预设分区中备份的升级参数包括c、d、e这3个升级包的升级路径:“/data/media/c.zip”、“/data/media/d.zip”、“/sdcard/e.zip”,根据升级路径以及当前的升级状况可以确定出当前待完成升级包为C,进而根据未完成升级参数中升级包c的升级路径“/data/media/c.zip”获取升级包C。
[0032]S103、终端采用上述待完成升级包对终端进行升级,并在完成上述待完成升级包对该终端的升级后更新上述未完成升级参数。
[0033]根据待完成升级包的升级路径后,可以获取到待完成升级包并对终端进行升级,即终端就可以按照常规的升级方式继续完成升级。
[0034]每完成一个升级包对终端进行的升级后,都对cache中的升级参数进行更新,并对预设分区中的上述未完成升级参数同步进行更新,具体的,删除上述待完成升级包的升级参数,以便于后续断电后能获取到升级的进度,继续完成升级。
[0035]示例性的,同步骤S102示例,终端完成升级包c的升级之后,对预设分区中未完成升级包的升级参数进行更新。可选地,上述更新上述未完成升级参数,可以是终端删除上述未完成升级参数中升级包c对应的升级参数。此时预设分区中未完成升级参数为升级包d和e对应的升级参数。这样在接下来采用d升级包进行升级时,如果d升级包进行升级的过程中终端断电,重启时就比较容易确定出d升级包为待完成升级包。
[0036]本实施例中,终端在启动过程中查找该终端中是否存在未完成升级参数,即是否存在终端在预设分区中备份的升级参数,若存在则可以根据该未完成升级参数确定待完成升级包,进而根据待完成升级包继续完成升级,并更新该未完成升级参数,也就是终端会在预设分区备份未完成升级参数,当终端再启动时可以查找到未完成升级参数,并继续完成升级,实现了即使在升级过程中断电,当终端再重启时也可以继续完成升级。
[0037]图2为本发明提供的系统升级方法实施例二的流程示意图,在上述实施例的基础上,上述终端根据该未完成升级参数确定待完成升级包,可以包括:
[0038]S201、终端根据上述未完成升级参数,获取至少一个当前未完成升级包的预设升级顺序。
[0039]假设预设分区中存储的未完成升级参数包括升级包c、d、e相应的升级参数,可以确定所述未完成升级包的升级顺序为c—d—e。
[0040]S202、终端根据上述预设顺序确定待完成升级包,并根据未完成升级参数获取该待完成升级包的升级路径。
[0041]如步骤S201所述示例,根据未完成升级包的升级顺序c—d—e可以确定待完成升级包为C。
[0042]未完成升级参数中包含至少一个未完成升级包的升级路径,具体可以根据升级包的标识和升级路径的映射关系来获取待完成升级包的升级路径,在此不作具体限定。
[0043]S203、终端根据待完成升级包的升级路径,获取上述待完成升级包。
[0044]例如升级包c对应的路径是“/data/media/c.zip”,根据这个路径找到升级包C,并进一步采用升级包c进行升级。
[0045]终端再次启动后继续升级即可,如果顺利完成所有升级包对上述终端的升级,终端可以删除该未完成升级参数,这样终端下次启动过程中就不会查找到未完成升级参数,进入常规开机后的界面即可。
[0046]可选地,在终端完成上述待完成升级包对终端的升级后,该终端还可以将待完成升级包删除,以节约存储空间。
[0047]可选地,终端在启动过程中查找终端中是否存在未完成升级参数之前,终端还可以在启动过程中获取上述预设分区中备份的开机原因,并根据该备份的开机原因进入修复(recovery)模式。
[0048]开机原因用于标识本次启动选择的启动模式,例如可以是修复模式、开机模式等,在此不作限定,可以根据具体地终端进行配置。
[0049]终端重启后,先在预设分区中查看备份的开机原因,如果备份的开机原因是recovery模式,则根据这个开机原因直接加载recovery镜像、进入recovery模式,进而解析预设分区中的未完成升级参数,继续完成升级。
[0050]图3为本发明提供的系统升级方法实施例三的流程示意图,以升级过程中出现一次断电为例,示出整个升级过程包括:
[0051]S301、获取多个升级包、将未完成升级参数写入cache,并备份到预设分区。
[0052]具体地,终端可以通过网络下载多个升级包,下载完成后,将未完成升级参数备份到预设分区。
[0053]可选地,升级命令中包括升级包的升级路径,终端通过升级路径依次获取升级包进行升级。假设总共有η个升级包,η为大于O的正整数。
[0054]S302、按照未完成升级参数中的预设顺序采用第i个升级包进行升级。i为大于O小于或等于η的正整数。
[0055]正常升级过程中,终端有指定的分区存储升级参数,一般可以在缓存(cache)等分区中的命令(command)文件中,在此不作限制,但是一旦断电,原指定分区中的这些升级参数都会被清除,本发明实施例中,将这些升级参数备份到预设分区,即前述未完成升级参数,这些预设分区中的未完成升级参数在断电时不被清除。每完成一个升级包对上述终端的升级后,会同步更新cache分区的升级参数、以及预设分区中的未完成升级参数。
[0056]S303、终端采用第i个升级包进行升级的过程中断电。
[0057]S304、终端重启,在预设分区中读取备份的开机原因,根据开机原因进入修复模式。
[°°58] 终端重启后,启动加载项(bootloader)会读取预设分区中的开机原因,如果开机原因是进入recovery模式,则根据这个开机原因直接加载recovery镜像、进入recovery模式,recovery模式初始化时先将本次的开机原因备份到上述预设分区中。
[0059]S305、终端在启动过程中查找到预设分区中的未完成升级参数。
[0060]进入recovery模式后,会解析预设分区中的参数来确定进入recovery模式后需要执行的操作,如果没有未完成升级参数,则再解析原存储升级参数的cache分区的command文件。如果有未完成升级参数则可以进一步完成升级。
[0061 ] S306、终端根据未完成升级参数确定第i个升级包为待完成升级包。
[0062]终端会遍历未完成升级参数中的升级路径信息,已经完成的升级包对应的升级路径信息以及被删除,根据存在的升级路径信息以及预设顺序可以确定出当前需要升级的升级包。
[0063]例如按照预设顺序依次升级a—b—c—d—e,断电前a和b升级完成,那么a和b的升级路径信息以及被删除,就可以确定出该升级c升级包。
[0064]S307、终端完成第i个升级包对上述终端的升级。
[0065]S308、终端更新上述未完成升级参数。具体可以是移除第i个升级包的升级路径信息。
[0066]S309、i = i+1。
[0067 ] S310、判断i是否小于η,若是则返回执行S305,若是则执行S310。
[0068]S311、终端完成第η个升级包对上述终端的升级。
[0069]S312、删除预设分区中的未完成升级参数。同时也删除原cache分区的升级参数,具体地可以直接删除cache分区的co_and文件。
[0070]当然,并不以上述实施方式为限。
[0071]图4为本发明提供的系统升级装置实施例一的结构示意图,该装置可以集成于手机、平板电脑等终端中,在此不作限制,该终端包括:查找模块401、确定模块402和升级模块403,其中:
[0072]查找模块401,用于在终端启动过程中查找所述终端中是否存在未完成升级参数,其中,所述未完成升级参数为所述终端在预设分区中备份的升级参数。
[0073]确定模块402,用于在所述终端存在所述未完成升级参数时,根据所述未完成升级参数确定待完成升级包。
[0074]升级模块403,用于采用所述待完成升级包对所述终端进行升级,并在完成所述待完成升级包对所述终端的升级后更新所述未完成升级参数。
[0075]本实施例中,终端在启动过程中查找该终端中是否存在未完成升级参数,即是否存在终端在预设分区中备份的升级参数,若存在则可以根据该未完成升级参数确定待完成升级包,进而根据待完成升级包继续完成升级,并更新该未完成升级参数,也就是终端会在预设分区备份未完成升级参数,当终端再启动时可以查找到未完成升级参数,并继续完成升级,实现了即使在升级过程中断电,当终端再重启时也可以继续完成升级。
[0076]可选地,升级模块403,更新所述未完成升级参数,具体为:删除所述未完成升级参数中所述待完成升级包对应的升级路径。
[0077]可选地,上述确定模块402,具体用于根据所述未完成升级参数,获取至少一个当前未完成升级包的预设升级顺序;根据所述预设升级顺序确定所述待完成升级包,并根据所述未完成升级参数获取所述待完成升级包的升级路径;根据所述待完成升级包的升级路径,获取所述待完成升级包。
[0078]图5为本发明提供的系统升级装置实施例二的结构示意图,在图4的基础上,该装置还可以包括:启动模块501,用于在启动过程中获取所述预设分区中备份的开机原因;根据所述备份的开机原因进入修复模式。
[0079]上述未完成升级参数包括:所述待完成升级包的升级方式、升级命令、以及所述升级路径。
[0080]上述装置用于执行前述方法实施例,其实现原理和技术效果类似,在此不再赘述。
[0081]在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0082]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0083]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0084]上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read_0nly Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0085]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【主权项】
1.一种系统升级方法,其特征在于,包括: 终端在启动过程中查找所述终端中是否存在未完成升级参数,其中,所述未完成升级参数为所述终端在预设分区中备份的升级参数; 若存在所述未完成升级参数,则所述终端根据所述未完成升级参数确定待完成升级包; 所述终端采用所述待完成升级包对所述终端进行升级,并在完成所述待完成升级包对所述终端的升级后更新所述未完成升级参数。2.根据权利要求1所述的方法,其特征在于,所述更新所述未完成升级参数,包括: 所述终端删除所述未完成升级参数中所述待完成升级包对应的升级路径。3.根据权利要求1所述的方法,其特征在于,所述终端根据所述未完成升级参数确定待完成升级包,包括: 所述终端根据所述未完成升级参数,获取至少一个当前未完成升级包的预设升级顺序; 所述终端根据所述预设升级顺序确定所述待完成升级包,并根据所述未完成升级参数获取所述待完成升级包的升级路径; 所述终端根据所述待完成升级包的升级路径,获取所述待完成升级包。4.根据权利要求1所述的方法,其特征在于,所述终端在启动过程中查找所述终端中是否存在未完成升级参数之前,还包括: 所述终端在启动过程中获取所述预设分区中备份的开机原因; 所述终端根据所述备份的开机原因进入修复模式。5.根据权利要求1-4任一项所述的方法,其特征在于,所述未完成升级参数包括: 所述待完成升级包的升级方式、升级命令、以及所述升级路径。6.一种系统升级装置,其特征在于,包括: 查找模块,用于在终端启动过程中查找所述终端中是否存在未完成升级参数,其中,所述未完成升级参数为所述终端在预设分区中备份的升级参数; 确定模块,用于在所述终端存在所述未完成升级参数时,根据所述未完成升级参数确定待完成升级包; 升级模块,用于采用所述待完成升级包对所述终端进行升级,并在完成所述待完成升级包对所述终端的升级后更新所述未完成升级参数。7.根据权利要求6所述的装置,其特征在于,所述升级模块更新所述未完成升级参数,具体为:删除所述未完成升级参数中所述待完成升级包对应的升级路径。8.根据权利要求6所述的装置,其特征在于,所述确定模块,具体用于根据所述未完成升级参数,获取至少一个当前未完成升级包的预设升级顺序;根据所述预设升级顺序确定所述待完成升级包,并根据所述未完成升级参数获取所述待完成升级包的升级路径;根据所述待完成升级包的升级路径,获取所述待完成升级包。9.根据权利要求6所述的装置,其特征在于,所述装置还包括: 启动模块,用于在所述查找模块在启动过程中查找所述终端中是否存在未完成升级参数之前,在启动过程中获取所述预设分区中备份的开机原因;根据所述备份的开机原因进入修复模式。10.根据权利要求6-9任一项所述的装置,其特征在于,所述未完成升级参数包括:所述待完成升级包的升级方式、升级命令、以及所述升级路径。
【文档编号】G06F9/445GK105930184SQ201610242577
【公开日】2016年9月7日
【申请日】2016年4月19日
【发明人】朱晓亮, 刘薇, 杨明明
【申请人】青岛海信移动通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1