系统升级掉电保护方法、系统及移动终端的制作方法

文档序号:6382245阅读:188来源:国知局
专利名称:系统升级掉电保护方法、系统及移动终端的制作方法
技术领域
本发明属于操作系统技术领域,尤其涉及系统升级掉电保护方法、系统及移动终端。
背景技术
安卓(Android)系统是当前广泛应用在移动终端中的开放源代码操作系统。公知地,安卓系统的升级是在恢复子系统(即-Recovery子系统)中进行的,利用恢复子系统中的恢复进程(即-Recovery进程)解析升级包中的一升级脚本文件,来完成所需的更新。该升级脚本文件中的脚本是安卓系统特有的升级脚本命令行,主要包括替换文件/文件夹、格式化分区、写分区镜像等命令,通过这些命令的组合可以完成对安卓系统的存储空间内的任意文件或分区的更新,也可以更新恢复子系统本身。除此之外,现有的安卓系统的升级机制还提供了掉电保护机制。在该掉电保护机制下,在进入恢复子系统时,系统会在升级过程中将升级相关信息(如升级日志等)实时更新并保存到安卓系统的存储空间的一分区(如闪存的Misc分区)上,当升级完成时清除该分区的内容。系统上电后,在启动加载程序(即b00tl0ader程序)启动时会首先检测该分区,如果存在升级相关信息,则说明上次升级时出现了掉电,此时直接进入恢复子系统继续进行升级。这样,即便在升级过程中掉电,由于升级相关信息仍保存在存储空间的一分区中,则再次通电时,系统仍然会继续进入恢复子系统完成升级。然而,在该种掉电保护机制下,若升级对象是恢复子系统本身,在恢复子系统升级过程中如果出现掉电,而此时存储空间的一分区中存储有恢复子系统的升级相关信息,则在再次通电后,系统会首先进入恢复子系统,但由于恢复子系统本身不完整,使得系统无法正常启动;且此后系统的每次上电,均无法正常启动系统,造成系统的永久性损坏。

发明内容
本发明实施例的目的在于提供一种系统升级掉电保护方法,g在解决现有安卓系统的升级掉电保护机制下,若升级对象是恢复子系统本身,则在掉电后由于掉电保护机制本身的问题,使得系统无法正常启动,造成系统永久性损坏的问题。本发明实施例是这样实现的,一种系统升级掉电保护方法,所述方法包括以下步骤在安卓系统启动加载时,判断安卓系统的恢复子系统在上次运行时是否存在升级掉电;若所述恢复子系统在上次运行时存在升级掉电,则直接启动所述安卓系统的主系统。本发明实施例的另一目的在于提供一种系统升级掉电保护系统,所述系统包括判断単元,用于在安卓系统启动加载时,判断所述安卓系统的恢复子系统在上次运行时是否存在升级掉电;
执行单元,用于根据所述判断単元的判断结果,若所述安卓系统的恢复子系统在上次运行时存在升级掉电,则直接启动所述安卓系统的主系统。本发明实施例的另一目的在于提供一种移动終端,包括一系统升级掉电保护系统,其特征在于,所述系统是如上所述的系统升级掉电保护系统。本发明提供的系统升级掉电保护方法及系统中,由于在判断安卓系统的恢复子系统在上次运行出现升级掉电时,直接进入安卓系统的主系统,而不进入恢复子系统,因此,即便恢复子系统由于掉电而并不完整,也不会影响安卓系统的启动,避免了安卓系统由于恢复子系统的升级掉电而造成的永久性损坏。


图1是本发明实施例一提供的系统升级掉电保护方法的流程图;
图2是本发明实施例ニ提供的系统升级掉电保护方法的流程图;图3是本发明实施例三提供的系统升级掉电保护方法的流程图;图4是本发明实施例四提供的系统升级掉电保护方法的流程图;图5是本发明实施例五提供的系统升级掉电保护系统的结构图;图6是本发明实施例六提供的系统升级掉电保护系统的结构图;图7是本发明实施例七提供的系统升级掉电保护系统的结构图;图8是本发明实施例八提供的系统升级掉电保护系统的结构图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进ー步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。针对现有安卓系统掉电保护机制存在的问题,本发明中,在安卓系统上电后,若判断安卓系统的恢复子系统在上次运行出现升级掉电,则直接进入安卓系统的主系统,而不进入恢复子系统,保证了安卓系统的正常启动。本发明提出了一种系统升级掉电保护方法,包括以下步骤在安卓系统启动加载时,判断安卓系统的恢复子系统在上次运行时是否存在升级掉电;若恢复子系统在上次运行时存在升级掉电,则直接启动安卓系统的主系统。本发明还提出了一种系统升级掉电保护系统,包括判断単元,用于在安卓系统启动加载时,判断安卓系统的恢复子系统在上次运行时是否存在升级掉电;执行单元,用于根据判断単元的判断结果,若安卓系统的恢复子系统在上次运行时存在升级掉电,则直接启动安卓系统的主系统。本发明还提出了一种移动終端,包括一如上所述的系统升级掉电保护系统。以下结合具体实施例对本发明的实现方式进行详细描述实施例一本发明实施例一提出了一种系统升级掉电保护方法,如图1所示,包括以下步骤步骤SlOl :在安卓系统启动加载时,判断安卓系统的恢复子系统在上次运行时是否存在升级掉电。步骤S102 :根据判断结果,若安卓系统的恢复子系统在上次运行时存在升级掉电,则直接启动安卓系统的主系统。进ー步地,在步骤S102中,根据判断结果,若安卓系统的恢复子系统在上次运行时不存在升级掉电,而除了恢复子系统外的其它升级对象存在升级掉电,则启动恢复子系统,在恢复子系统下完成其它相应升级对象的升级;根据判断结果,若安卓系统的恢复子系统和其它升级对象在上次运行时均不存在升级掉电,则直接启动安卓系统的主系统。其中,其它升级对象是指由恢复子系统进行升级的升级对象(如安卓系统的存储空间内的任意文件或分区等)。本发明实施例一中,由于在判断安卓系统的恢复子系统在上次运行时存在升级掉电时,直接进入安卓系统的主系统,而不进入恢复子系统,因此,即便恢复子系统由于掉电而并不完整,也不会影响安卓系统的启动,避免了安卓系统由于恢复子系统的升级掉电而 造成的永久性损坏。实施例ニ本发明实施例ニ提出了一种系统升级掉电保护方法,如图2所示,包括以下步骤步骤S201 :在安卓系统上次运行吋,若恢复子系统或其它升级对象存在升级,则将升级相关信息写入一存储空间的第二分区,且若升级对象包括恢复子系统,则将升级包的绝对路径文件写入存储空间的第一分区。其中的升级相关信息包括恢复子系统的升级相关信息、和/或除恢复子系统外的其它升级对象的升级相关信息,且该升级相关信息至少包括升级包的绝对路径文件。步骤S202 :在安卓系统启动加载时,判断存储空间中第二分区是否存在升级相关信息,是则说明安卓系统在上次运行时存在升级掉电,此时执行步骤S203,否则说明安卓系统在上次运行时不存在升级掉电,此时执行步骤S205。步骤S203 :判断存储空间的第一分区是否存在绝对路径文件,是则说明安卓系统的恢复子系统在上次运行时存在升级掉电,此时为避免系统的永久性损坏而执行步骤S205,否则说明安卓系统的恢复子系统在上次运行时不存在升级掉电,而除了恢复子系统外的其它升级对象存在升级掉电,此时执行步骤S204。步骤S204:启动恢复子系统,进而在恢复子系统下继续完成安卓系统上次运行时、对其它升级对象的升级。步骤S205 :启动主系统。实施例三本发明实施例三提出了一种系统升级掉电保护方法,本实施例中步骤S301至步骤S305的执行过程和上述实施例ニ中的步骤S201至步骤S205对应相同,与本发明实施例ニ不同的是,本发明实施例三中,在启动主系统后,若安卓系统在上次运行时存在升级掉电且升级对象包括恢复子系统,则根据步骤S305进入主系统后,还包括完成对恢复子系统升级的步骤,如图3所示,该完成对恢复子系统升级的步骤包括步骤S306 :根据用户的指令或自动启动恢复子系统升级服务。在恢复子系统升级服务中,判断安卓系统上次运行时是否存在对恢复子系统的升级,并当存在吋,利用升级程序完成对恢复子系统的升级,即是说,启动恢复子系统升级服务后,执行下述步骤S307至步骤S310。步骤S307 :判断存储空间的第一分区是否存在绝对路径文件,是则说明安卓系统在上次运行时存在升级掉电且升级对象包括恢复子系统,此时执行步骤S308,否则说明安卓系统在上次运行时不存在升级掉电,此时执行步骤S311。步骤S308 :读取第一分区中的绝对路径文件和/或第二分区中的升级相关信息。步骤S309 :根据读取的绝对路径文件和/或升级相关信息调用相应的升级包,利用升级包完成对恢复子系统的升级。
本发明实施例三中,升级包至少包括一升级器(Updater-binary)文件和一升级脚本(updater-script)文件,还可以根据是否需要写入或覆盖某数据而包括一源数据。在利用升级包完成升级时,首先启动升级脚本文件并运行升级脚本中的命令,升级器完成对当前运行命令的解释,从而完成相应的升级。步骤S310 :对恢复子系统升级结束后,删除第一分区中的绝对路径文件。步骤S311 :退出恢复子系统升级服务。相对于本发明实施例ニ,本发明实施例三提供的系统升级掉电保护方法不仅避免了由于恢复子系统的升级掉电而造成的安卓系统的永久性损坏,且在进入主系统后,还可对系统上次运彳丁中未完成的恢复子系统继续完成升级过程,保证了系统的完整性。实施例四本发明实施例四提出了一种系统升级掉电保护方法,本实施例中步骤S401至步骤S411的执行过程和上述实施例三中的步骤S301至步骤S311对应相同,与本发明实施例三和本发明实施例ニ不同的是,本发明实施例四中,在启动恢复子系统后,若安卓系统在上次运行时存在升级掉电且升级对象不包括恢复子系统,则在步骤S404之后,还包括完成对除了恢复子系统外的其它升级对象升级的步骤,如图4所示,该完成对除了恢复子系统外的其它升级对象升级的步骤包括步骤S412 :读取第二分区中的升级相关信息。步骤S413 :根据读取的升级相关信息中的绝对路径文件调用相应的升级包,利用升级包对其它相关升级对象进行升级。本发明实施例四中,升级包至少包括一升级器(Updater-binary)文件和一升级脚本(updater-script)文件,还可以根据是否需要写入或覆盖某数据而包括一源数据。在利用升级包完成升级时,首先启动升级脚本文件并运行升级脚本中的命令,升级器完成对当前运行命令的解释,从而完成相应的升级。步骤S414 :删除第二分区中的升级相关信息。相对于本发明实施例三和本发明实施例ニ,本发明实施例四提供的系统升级掉电保护方法通过对除恢复子系统外其它升级对象的升级,进ー步保证了系统的完整性。实施例五本发明实施例四提出了一种系统升级掉电保护系统,如图5所示,该系统包括判断単元11,用于在安卓系统启动加载时,判断安卓系统的恢复子系统在上次运行时是否存在升级掉电;执行单元12,用于根据判断単元11的判断结果,若安卓系统的恢复子系统在上次运行时存在升级掉电,则直接启动安卓系统的主系统。进ー步地,执行单元12还用于根据判断単元11的判断结果,若安卓系统的恢复子系统在上次运行时不存在升级掉电,而除了恢复子系统外的其它升级对象存在升级掉电,则启动恢复子系统,在恢复子系统下完成其它相应升级对象的升级,对其它升级对象的定义如上所述,在此不赘述;根据判断结果,若安卓系统的恢复子系统和其它升级对象在上次运行时均不存在升级掉电,则直接启动安卓系统的主系统。实施例六本发明实施例六提出了一种系统升级掉电保护系统。详细而言,如图6所示,系统升级掉电保护系统还包括写入単元13,用于在安卓系统上次运行时,若恢复子系统或其它升级对象存在升级,则将升级相关信息写入存储器111中存储空间的第二分区,且若升级对象包括恢复子系统,则将升级包的绝对路径文件写入存储空间的第一分区,其中的升级相关信息如上所述,在此不赘述。
此时,判断単元11进ー步包括第一判断模块111,用于在安卓系统启动加载时,判断存储空间中第二分区是否存在升级相关信息;第二判断模块112,用于当第一判断模块111判断存储空间中第二分区存在升级相关信息时,判断存储空间的第一分区是否存在绝对路径文件。此时,执行単元12用于当第一判断模块111判断存储空间中第二分区不存在升级相关信息时启动主系统,当第二判断模块112判断存储空间的第一分区存在绝对路径文件时启动主系统,当第二判断模块112判断存储空间的第一分区不存在绝对路径文件时启动恢复子系统,进而在恢复子系统下继续完成安卓系统上次运行时对其它升级对象的升级。实施例七本发明实施例七提出了一种系统升级掉电保护系统,与本发明实施例六不同,如图7所示,系统升级掉电保护系统还包括服务控制単元14,用于在执行単元12启动主系统时,根据用户的指令或自动启动恢复子系统升级服务,该恢复子系统如上所述,在此不赘述;判断単元15,用于在服务控制単元14启动恢复子系统升级服务后,判断存储空间的第一分区是否存在绝对路径文件;第一读取单元16,用于当判断単元15判断存储空间的第一分区存在绝对路径文件时,读取第一分区中的绝对路径文件和/或第二分区中的升级相关信息;第一升级单元17,用于根据第一读取单元16读取的绝对路径文件和/或升级相关信息调用相应的升级包,利用升级包完成对恢复子系统的升级;第一删除单元18,用于在第一升级单元17对恢复子系统升级结束后,删除第一分区中的绝对路径文件。服务控制単元14还用于当第一删除单元18删除绝对路径文件后,以及当判断単元15判断存储空间的第一分区不存在绝对路径文件时,退出恢复子系统升级服务。其中,对升级包及利用升级包完成对恢复子系统的升级的过程如上所述,在此不赘述。实施例八本发明实施例七提出了一种系统升级掉电保护系统,与本发明实施例六和本发明实施例七不同,如图8所示,系统升级掉电保护系统还包括第二读取单元19用于在执行单元12启动恢复子系统后,读取第二分区中的升级相关信息;第二升级单元20,用于根据第ニ读取单元19读取的升级相关信息中的绝对路径文件调用相应的升级包,利用升级包对其它相关升级对象进行升级;第二删除单元21,用于删除第二分区中的升级相关信息。其中,对升级包及利用升级包完成对其它相关升级对象的升级的过程如上所述,在此不赘述。实施例九
本发明实施例九提出了一种移动終端,包括一系统升级掉电保护系统,该系统是本发明实施例五至本发明实施例八任一项所述的系统升级掉电保护系统。其中,存储器优选是移动终端自带的闪存。综上所述,本发明提供的系统升级掉电保护方法及系统中,由于在判断安卓系统的恢复子系统在上次运行出现升级掉电时,直接进入安卓系统的主系统,而不进入恢复子系统,因此,即便恢复子系统由于掉电而并不完整,也不会影响安卓系统的启动,避免了安卓系统由于恢复子系统的升级掉电而造成的永久性损坏。另外,还可在进入主系统后,完成系统上次运行时未完成升级的恢复子系统的升级,还可在进入恢复子系统后,完成系统上次运行时未完成升级的除恢复子系统外其它升级对象的升级,从而保证了系统运行的完整性。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来控制相关的硬件完成,所述的程序可以在存储于ー计算机可读取存储介质中,所述的存储介质,如R0M/RAM、磁盘、光盘等。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种系统升级掉电保护方法,其特征在于,所述方法包括以下步骤 在安卓系统启动加载时,判断安卓系统的恢复子系统在上次运行时是否存在升级掉电; 若所述恢复子系统在上次运行时存在升级掉电,则直接启动所述安卓系统的主系统。
2.如权利要求1所述的系统升级掉电保护方法,其特征在于,若所述恢复子系统在上次运行时不存在升级掉电,而除了所述恢复子系统外的其它升级对象存在升级掉电,则启动所述恢复子系统,在所述恢复子系统下完成对所述其它升级对象的升级;若所述恢复子系统和所述其它升级对象在上次运行时均不存在升级掉电,则直接启动所述安卓系统的主系统。
3.如权利要求2所述的系统升级掉电保护方法,其特征在于,所述在安卓系统启动加载时,判断安卓系统的恢复子系统在上次运行时是否存在升级掉电的步骤之前,所述方法包括 在安卓系统上次运行时,将升级相关信息写入一存储空间的第二分区,并将升级包的绝对路径文件写入所述存储空间的第一分区,所述升级相关信息至少包括升级包的绝对路径文件; 所述在安卓系统启动加载时,判断安卓系统的恢复子系统在上次运行时是否存在升级掉电的步骤进一步包括 在安卓系统启动加载时,判断所述第二分区是否存在升级相关信息,是则判断所述安卓系统在上次运行时存在升级掉电,否则判断所述安卓系统在上次运行时不存在升级掉电; 若判断所述安卓系统在上次运行时存在升级掉电,则判断所述第一分区是否存在绝对路径文件,是则判断所述恢复子系统在上次运行时存在升级掉电,否则判断所述恢复子系统在上次运行时不存在升级掉电。
4.如权利要求3所述的系统升级掉电保护方法,其特征在于,所述直接启动所述安卓系统的主系统的步骤之后,还包括 根据用户的指令或自动启动恢复子系统升级服务; 判断所述第一分区是否存在所述绝对路径文件; 若判断所述第一分区存在所述绝对路径文件,则读取所述第一分区中的所述绝对路径文件和/或所述第二分区中的所述升级相关信息,若判断所述第一分区不存在所述绝对路径文件,则退出所述恢复子系统升级服务; 根据读取的所述绝对路径文件和/或升级所述升级相关信息调用相应的升级包,利用所述升级包完成对所述恢复子系统的升级; 对所述恢复子系统升级结束后,删除所述第一分区中的所述绝对路径文件; 在删除所述第一分区中的所述绝对路径文件后,退出恢复子系统升级服务。
5.如权利要求3或4所述的系统升级掉电保护方法,其特征在于,所述启动恢复子系统的步骤之后,还包括 读取所述第二分区中的所述升级相关信息; 根据读取的所述升级相关信息中的绝对路径文件调用相应的升级包,利用所述升级包对所述其它升级对象进行升级;删除所述第二分区中的升级相关信息。
6.一种系统升级掉电保护系统,其特征在于,所述系统包括 判断单元,用于在安卓系统启动加载时,判断所述安卓系统的恢复子系统在上次运行时是否存在升级掉电; 执行单元,用于根据所述判断单元的判断结果,若所述安卓系统的恢复子系统在上次运行时存在升级掉电,则直接启动所述安卓系统的主系统。
7.如权利要求6所述的系统升级掉电保护系统,其特征在于,所述执行单元还用于根据所述判断单元的判断结果,若所述恢复子系统在上次运行时不存在升级掉电,而除了所述恢复子系统外的其它升级对象存在升级掉电,则启动所述恢复子系统,在所述恢复子系统下完成对所述其它升级对象的升级,并根据所述判断单元的判断结果,若所述恢复子系统和所述其它升级对象在上次运行时均不存在升级掉电,则直接启动所述安卓系统的主系统。
8.如权利要求7所述的系统升级掉电保护系统,其特征在于,所述系统还包括 写入单元,用于在安卓系统上次运行时,将升级相关信息写入存储器中存储空间的第二分区,并将升级包的绝对路径文件写入所述存储器的所述存储空间的第一分区,所述升级相关信息至少包括升级包的绝对路径文件; 所述判断单元包括 第一判断模块,用于在安卓系统启动加载时,判断所述第二分区是否存在升级相关信息,是则判断所述安卓系统在上次运行时存在升级掉电,否则判断所述安卓系统在上次运行时不存在升级掉电; 第二判断模块,用于当所述第一判断模块判断所述第二分区存在升级相关信息时,判断所述第一分区是否存在绝对路径文件,是则判断所述升级对象包括所述恢复子系统,否则判断所述升级对象不包括所述恢复子系统。
9.如权利要求8所述的系统升级掉电保护系统,其特征在于,所述系统还包括 服务控制单元,用于在所述执行单元启动主系统时,根据用户的指令或自动启动恢复子系统升级服务; 判断单元,用于在所述服务控制单元启动所述恢复子系统升级服务后,判断所述第一分区是否存在绝对路径文件; 第一读取单元,用于当所述判断单元判断所述第一分区存在所述绝对路径文件时,读取所述第一分区中的所述绝对路径文件和/或所述第二分区中的所述升级相关信息;第一升级单元,用于根据所述第一读取单元读取的所述绝对路径文件和/或升级相关信息调用相应的升级包,利用所述升级包完成对所述恢复子系统的升级; 第一删除单元,用于在所述第一升级单元对所述恢复子系统升级结束后,删除所述第一分区中的所述绝对路径文件。
10.如权利要求8所述的系统升级掉电保护系统,其特征在于,所述判断单元还包括 第二读取单元,用于在所述执行单元启动所述恢复子系统后,读取所述第二分区中的升级相关信息; 第二升级单元,用于根据所述第二读取单元读取的所述升级相关信息中的绝对路径文件调用相应的升级包,利用升级包对所述其它升级对象进行升级;第二删除单元,用于删除所述第二分区中的升级相关信息。
11.一种移动终端,包括一系统升级掉电保护系统,其特征在于,所述系统是如权利要求6至10任一项所述的系统升级掉电保护系统。
全文摘要
本发明属于操作系统技术领域,提供了系统升级掉电保护方法、系统及移动终端。其中方法包括在安卓系统启动加载时,判断安卓系统的恢复子系统在上次运行时是否存在升级掉电;根据判断结果,若安卓系统的恢复子系统在上次运行时存在升级掉电,则直接启动所述安卓系统的主系统。本发明提供的系统升级掉电保护方法及系统中,由于在判断安卓系统的恢复子系统在上次运行出现升级掉电时,直接进入安卓系统的主系统,而不进入恢复子系统,因此,即便恢复子系统由于掉电而并不完整,也不会影响安卓系统的启动,避免了安卓系统由于恢复子系统的升级掉电而造成的永久性损坏。
文档编号G06F9/445GK103019773SQ20121048560
公开日2013年4月3日 申请日期2012年11月23日 优先权日2012年11月23日
发明者祁成红 申请人:Tcl集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1