CN110569058B - 系统升级方法、装置、终端及计算机可读存储介质 - Google Patents

系统升级方法、装置、终端及计算机可读存储介质 Download PDF

Info

Publication number
CN110569058B
CN110569058B CN201910868044.9A CN201910868044A CN110569058B CN 110569058 B CN110569058 B CN 110569058B CN 201910868044 A CN201910868044 A CN 201910868044A CN 110569058 B CN110569058 B CN 110569058B
Authority
CN
China
Prior art keywords
upgrade
partition
terminal
recovery
upgrading
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
Application number
CN201910868044.9A
Other languages
English (en)
Other versions
CN110569058A (zh
Inventor
李杨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oppo Chongqing Intelligent Technology Co Ltd
Original Assignee
Oppo Chongqing Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Oppo Chongqing Intelligent Technology Co Ltd filed Critical Oppo Chongqing Intelligent Technology Co Ltd
Priority to CN201910868044.9A priority Critical patent/CN110569058B/zh
Publication of CN110569058A publication Critical patent/CN110569058A/zh
Application granted granted Critical
Publication of CN110569058B publication Critical patent/CN110569058B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Abstract

本申请属于通信技术领域,尤其涉及一种系统升级方法、装置、终端及计算机可读存储介质,其中,所述系统升级方法包括:获取升级包;在系统升级过程中,利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级;降低了终端升级失败后,无法重新启动的概率,提高了系统升级的安全性。

Description

系统升级方法、装置、终端及计算机可读存储介质
技术领域
本申请属于通信技术领域,尤其涉及一种系统升级方法、装置、终端及计算机可读存储介质。
背景技术
系统升级是指通过一定的方法对终端的系统进行更新或替换的操作。
然而,在对终端的系统进行升级时,常常会出现终端升级失败后,无法重新启动的现象,极大地影响了终端的使用。
发明内容
本申请实施例提供一种系统升级方法、装置、终端及计算机可读存储介质,可以降低终端升级失败后,无法重新启动的概率。
本申请实施例第一方面提供一种系统升级方法,包括:
获取升级包;
在系统升级过程中,利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级。
本申请实施例第二方面提供一种系统升级装置,包括:
获取单元,用于获取升级包;
升级单元,用于在系统升级过程中,利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级。
本申请实施例第三方面提供一种终端,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法的步骤。
本申请实施例第四方面提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。
第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时实现方法的步骤。
本申请实施例中,通过在获取升级包之后,利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级,保证了引导分区和recovery分区升级的连贯性,并使得引导分区和recovery分区的数据版本能够保持一致,即,终端的引导分区完成升级,则终端的recovery分区也完成升级;或者,终端的引导分区未完成升级,则终端的recovery分区也未完成升级。使得在对终端进行系统升级过程中,不会因异常掉电或者其他原因导致的终端升级失败,出现终端的引导分区已经升级完成,而终端的recovery分区因迟迟未进行升级出现未升级完成的情况;更不会出现在终端升级失败后,因终端的引导分区已经升级完成,而终端的recovery分区因未升级完成,造成升级后的引导分区与升级前的recovery分区不兼容,导致终端发生无法重新启动的问题;降低了终端升级失败后,无法重新启动的概率;提高了终端系统升级的安全性。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,还可以根据这些附图获得其他相关的附图。
图1是本申请实施例提供的一种系统升级方法的第一实现流程示意图;
图2是传统系统升级方法的实现流程示意图;
图3是本申请实施例提供的一种系统升级方法的第二实现流程示意图;
图4是是本申请实施例提供的终端各个分区的升级顺序示意图;
图5是是本申请实施例提供的一种系统升级方法的第三实现流程示意图;
图6是本申请实施例提供的系统升级装置的结构示意图;
图7是本申请实施例提供的终端的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“或者”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
目前,终端的系统升级是通过对各个分区进行升级来实现的。
具体的,在对终端进行系统升级时,一般会涉及引导分区、recovery分区以及系统分区的升级;其中,引导分区位于磁盘的第一个扇区,用于磁盘引导进入操作系统,即,进入正常开机模式,或者用于磁盘引导进入recovery分区,即,进入recovery模式。recovery分区是用于恢复/升级系统使用的分区,当终端进行系统升级时,引导分区引导系统进入recovery分区,具体的升级功能由recovery分区完成。
目前,在利用空间下载技术(Over-the-Air,OTA)等升级方法对终端系统进行升级时,若终端的引导分区和recovery分区均需要进行升级,并且,当引导分区已完成升级,而终端的recovery分区未完成升级时,终端被强制关机断电,造成终端升级失败,则可能会出现升级后的引导分区与升级前的recovery分区不兼容情况,使得终端无法正常重启,极大地影响了终端的使用。
基于上述问题,本申请实施例提供一种系统升级方法、装置、终端及计算机可读存储介质,可以降低终端升级失败后,无法正常开机的概率,为了说明本申请的技术方案,下面通过具体实施例来进行说明。
如图1示出了本申请实施例提供的一种系统升级方法的第一实现流程示意图,该方法应用于终端,可以由终端上配置的系统升级装置执行,适用于需提高系统升级安全性的情形。其中,上述终端可以为手机、平板电脑、可穿戴设备等智能终端,上述系统升级方法可以包括步骤101至步骤102。
步骤101,获取升级包。
本申请实施例中,上述升级包是指已编译完成的升级包。
在目前的系统升级方法中,已编译完成的升级包一般不包含recovery分区的升级数据,但是,在本申请的实施方式中,为了避免终端升级失败后,因升级后的引导分区与升级前的recovery分区不兼容,导致终端发生无法正常重启的问题,需要对终端的引导分区和recovery分区依次进行升级,或者同时进行升级,因此,本申请实施例中,已编译完成的升级包包含recovery分区的升级数据。例如,已编译完成的OTA升级包中包含了用于升级recovery分区的镜像文件recovery.img。
步骤102,在系统升级过程中,利用上述升级包对终端的引导分区和recovery分区依次进行升级。
在目前的系统升级方法中,如图2所示,当终端的recovery分区需要进行升级时,终端一般需要进行两次升级,即,终端需要先进入recovery模式,根据分区表发生的变化,对系统分区进行升级,再对引导分区进行升级并进行其他升级流程,例如,删除升级信息,写入升级完成标志等,接着,再进入正常开机模式,对recovery分区进行升级。这种情况下,引导分区和recovery分区的升级是不连贯的,因此,当引导分区已经升级完成时,终端的recovery分区有可能还迟迟未进行升级。所以,在对终端进行系统升级过程中,有可能会因为异常掉电等原因升级失败,并出现终端的引导分区已经升级完成,而终端的recovery分区未升级出现未升级完成的情况,进而有可能在升级后的引导分区与升级前的recovery分区不兼容时,终端发生无法重新启动的问题。
本申请的实施方式中,终端在获取升级包之后,只需要进行一次升级,即,直接进入recovery模式,对终端的引导分区和recovery分区依次进行升级,保证了引导分区和recovery分区升级的连贯性,并使得引导分区和recovery分区的数据版本能够保持一致,即,终端的引导分区完成升级,则终端的recovery分区也完成升级;或者,终端的引导分区未完成升级,则终端的recovery分区也未完成升级。使得在对终端进行系统升级过程中,不会因异常掉电或者其他原因,出现终端的引导分区已经升级完成,而终端的recovery分区因迟迟未进行升级出现未升级完成的情况;更不会因为异常掉电或者其他原因,出现终端的引导分区已经升级完成,而终端的recovery分区因未升级完成时,升级后的引导分区与升级前的recovery分区不兼容,造成终端发生无法重新启动的问题;降低了终端升级失败后,无法重新启动的概率;提高了终端系统升级的安全性。
需要说明的是,上述对终端的引导分区和recovery分区依次进行升级,是指在完成对引导分区的升级之后,立刻升级recovery分区,或者,在完成对recovery分区的升级之后,立刻升级引导分区。
具体的,在本申请的一些实施方式中,上述利用升级包对终端的引导分区和recovery分区依次进行升级,可以包括:在利用升级包对终端的引导分区升级完成之后,利用升级包对终端的recovery分区进行升级;或者,在利用升级包对终端的recovery分区升级完成之后,利用升级包对终端的引导分区进行升级。
例如,在获取升级包后,提取用于升级引导分区的镜像文件dt.img与用于升级recovery分区的镜像文件recovery.img,并在终端进入recovery模式,根据镜像文件dt.img完成对引导分区的升级之后,立刻根据镜像文件recovery.img完成对recovery分区的升级。
又例如,在获取升级包后,提取用于升级引导分区的镜像文件dt.img与用于升级recovery分区的镜像文件recovery.img,并在终端进入recovery模式,根据镜像文件recovery.img完成对recovery分区的升级之后,立刻根据镜像文件dt.img完成对引导分区的升级。
为了提高系统升级的速度,在本申请的另外一些实施方式中,如图3所示,上述系统升级方法还可以包括:步骤301至步骤302。
步骤301,获取升级包。
本申请实施例中,上述步骤301的具体实现与上述步骤101中的具体实现方式相同,此处不再赘述。
步骤302,利用上述升级包对上述终端的引导分区和recovery分区同时进行升级。
例如,获取升级包之后,提取用于升级引导分区的镜像文件dt.img与用于升级recovery分区的镜像文件recovery.img,根据镜像文件recovery.img完成对recovery分区的升级的同时,根据镜像文件dt.img完成对引导分区的升级。也就是说,上述引导分区和recovery分区的升级是并列进行的,recovery分区可以不用在引导分区升级完成之后再升级,引导分区也可以不用在recovery分区升级完成之后再升级。
本申请实施方式中,通过在获取升级包之后,利用上述升级包对上述终端的引导分区和recovery分区同时进行升级,保证了引导分区和recovery分区升级的连贯性,并使得引导分区和recovery分区的数据版本能够保持一致,即,终端的引导分区完成升级,则终端的recovery分区也完成升级;或者,终端的引导分区未完成升级,则终端的recovery分区也未完成升级。使得在对终端进行系统升级过程中,不会因异常掉电或者其他原因,出现终端的引导分区已经升级完成,而终端的recovery分区因迟迟未进行升级出现未升级完成的情况;更不会因为异常掉电或者其他原因,出现终端的引导分区已经升级完成,而终端的recovery分区因未升级完成时,升级后的引导分区与升级前的recovery分区不兼容,造成终端发生无法重新启动的问题;降低了终端升级失败后,无法重新启动的概率;提高了终端系统升级的安全性。
目前,在利用升级包对终端系统进行升级时,升级包中引导分区的升级数据一般可以与终端升级前的recovery分区的数据兼容,也就是说,大部分情况下,终端升级后的引导分区的数据可以兼容升级前的recovery分区的数据。而只有小部分情况下,终端升级后的引导分区的升级数据不能与终端升级前的recovery分区的升级数据兼容。
因此,在利用上述升级包对终端的引导分区和recovery分区依次进行升级,或者利用上述升级包对终端的引导分区和recovery分区同时进行升级之前,还可以包括:检测上述升级包中引导分区的升级数据是否与终端升级前的recovery分区的数据兼容。
本申请实施例中,在上述升级包中引导分区的升级数据与终端未升级时的recovery分区的数据不兼容时,利用升级包对终端的引导分区和recovery分区依次进行升级,或者利用上述升级包对终端的引导分区和recovery分区同时进行升级。而在上述升级包中引导分区的升级数据与终端未升级时的recovery分区的数据兼容时,则可以使用图2所示的目前的系统升级方式或者使用上述图1或图3所示的系统升级方式对终端进行系统升级。
也就是说,若引导分区的升级数据与终端升级前的recovery分区的数据兼容,则需要利用上述升级包对终端的引导分区和recovery分区依次进行升级,或者利用上述升级包对终端的引导分区和recovery分区同时进行升级,才能保证不会因为引导分区和recovery分区之间兼容性问题,出现终端无法重启的情况。
若引导分区的升级数据与终端升级前的recovery分区的数据兼容,则可以采用目前分两次进行系统升级方法对终端进行系统升级,即,引导分区可以与recovery分区的升级过程可以不连贯。并且,在引导分区已升级完成后,recovery分区的未升级完成时,终端强制关机断电,终端仍可以在升级后的引导分区的引导下进入recovery模式重新进行系统升级,不会出现终端无法重新启动的问题。
在本申请的一些实施方式中,在检测上述升级包中引导分区的升级数据是否与终端升级前的recovery分区的数据兼容之前,可以先对上述升级包进行兼容性测试,得到可以与升级包中引导分区的数据兼容的系统版本,然后在检测上述升级包中引导分区的升级数据是否与终端升级前的recovery分区的数据兼容时,获取终端升级前的系统版本,判断该系统版本是否为与升级包中引导分区的数据兼容的系统版本,若该系统版本为与升级包中引导分区的数据兼容的系统版本,则确定上述升级包中引导分区的升级数据与终端升级前的recovery分区的数据兼容,若该系统版本不是与升级包中引导分区的数据兼容的系统版本,则确定上述升级包中引导分区的升级数据与终端升级前的recovery分区的数据不兼容。
需要说明的是,上述各个实施例的实施基础是,终端的recovery分区需要进行升级的情况,当终端的recovery分区不需要进行升级时,则不会出现升级包中的引导分区的数据与终端升级前的recovery分区的数据不兼容的情况,因此,在本申请的一些实施方式中,在上述检测升级包中引导分区的升级数据是否与终端升级前的recovery分区的数据兼容之前,还可以包括:检测上述升级包中recovery分区的升级数据是否与终端升级前的recovery分区的数据相同。
当上述升级包中recovery分区的升级数据是否与终端升级前的引导分区和recovery分区的数据相同时,表示recovery分区不需要进行升级,而当升级包中recovery分区的升级数据是否与终端升级前的引导分区和recovery分区的数据不相同时,表示recovery分区存在更新,需要进行升级。
具体的,本申请的一些实施方式中,上述检测上述升级包中recovery分区的升级数据是否与终端升级前的recovery分区的数据相同,可以包括:先将升级包中recovery分区的升级数据与终端升级前的recovery分区的数据进行比对,判断上述升级包中recovery分区的升级数据与终端升级前的引导分区和recovery分区的数据是否一致。
例如,可以采用循环冗余校验法(Cyclic Redundancy Check,CRC)验证升级包中recovery分区的升级数据与终端升级前的recovery分区的数据是否一致;或者,采用直接比较法、奇偶校验法、异或校验法、海明码校验等数据校验方法来验证升级包中recovery分区的升级数据与终端升级前的recovery分区的数据是否一致。
若升级包中recovery分区的升级数据与终端升级前的recovery分区的数据相同,则表明recovery分区不需要升级,因而可以采用上述图1至图3任意一种方式对终端进行系统升级。
若升级包中recovery分区的升级数据与终端升级前的引导分区和recovery分区的数据不相同,则表明recovery分区需要升级,此时,则可以检测所述升级包中引导分区的升级数据是否与所述终端升级前的recovery分区的数据兼容;并在所述升级包中引导分区的升级数据与所述终端未升级时的recovery分区的数据不兼容时,利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级;避免了终端的引导分区完成升级而recovery分区未完成升级的情况下,终端升级失败,出现无法重新启动的问题,提高了终端系统升级的安全性。
在本申请的一些实施方式中,还可以通过判断recovery分区是否需要升级,并在recovery分区不需要升级时,不对recovery分区进行升级,只对除recovery分区以外的分区进行升级,提高了系统升级的速度。
在实际应用中,系统分区数据量较大,相比对引导分区和/或recovery分区的升级,需要花费更多的时间,若在完成对引导分区的升级后,完成对系统分区的升级前,终端被强制关机断电,导致终端升级失败,则有可能会出现终端重新启动时,由于终端升级后的引导分区的数据与终端升级前的系统分区的数据不兼容,造成终端无法重新启动。
因此,在系统升级过程中,在利用升级包对终端的引导分区和recovery分区依次进行升级,或者利用升级包对终端的引导分区和recovery分区同时进行升级之前,还可以包括:对终端的系统分区进行升级。避免系统分区升级失败时,升级后的引导分区的数据与终端升级前的系统分区的数据不兼容,造成终端无法重新启动的问题。
例如,如图4所示,假设分区1、分区2、分区3为系统分区,分区4为引导分区,分区5为recovery分区,则此时,可以在进行分区4与分区5的升级之前,升级分区1至分区3。
在本申请的一些实施方式中,如图5所示,在上述对终端的系统分区进行升级的过程中,可以包括步骤501至步骤503。
步骤501,检测系统的升级类型。
目前,系统的升级类型通常包括增量升级类型与全量升级类型。其中,全量升级类型是指对所有分区进行替换的升级类型,而增量升级类型是指仅对数据存在更新的分区进行升级的升级类型。
具体的,用于实现全量升级的升级包,其包含所有分区的数据,因此,其数据量一般较大,而用于实现增量升级的升级包,其有可能仅包含部分分区的部分数据,因此,在检测系统的升级类型时,可以根据升级包对应的数据量大小确定系统的升级类型,当升级包的数据量大于数据量阈值时,则确定系统的升级类型为全量升级类型;当升级包的数据量小于或等于数据量阈值时,则确定系统的升级类型为增量升级类型。
步骤502,若系统升级的类型为增量升级类型,则在所述在系统升级过程中,利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级之前,对所述终端的系统分区进行升级。
对于全量升级类型来说,由于在系统升级过程中,会进行所有分区的替换,因此,在系统升级过程中,可以先对所有分区进行格式化,然后再对各个分区重新写入数据。因此,在系统的升级类型为全量升级类型时,对系统分区的升级可以在引导分区与recovery分区之后进行,也可以在引导分区与recovery分区之前进行,并且,在对系统分区进行升级时,即使终端发生异常掉电,造成终端升级失败,也不会出现升级后的引导分区的数据与终端升级前的系统分区的数据不兼容,造成终端无法重新启动的问题。
然而,对于增量升级类型来说,由于终端升级前的系统分区的数据不会被全部覆盖,因此,当引导分区的升级在系统分区的升级之前时,若终端升级失败,则有可能会出现升级后的引导分区的数据与终端升级前的系统分区的数据不兼容,造成终端无法重新启动的问题。所以,在系统升级的类型为增量升级类型时,需要在利用升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级之前,对终端的系统分区进行升级。使得在系统分区的升级未完成时,若用户强制关机断电,在重新启动时,可以通过旧的引导分区引导进入正常开机模式,或者进入recovery模式,重新进行系统升级,避免终端无法重新启动,提高终端系统升级安全性。
在本申请的一些实施方式中,上述步骤502的具体实现过程还可以包括:若系统升级的类型为增量升级类型,则校验升级包的版本与所述终端升级前的系统版本是否匹配;若所述升级包的版本与所述终端升级前的系统版本匹配,则在所述在系统升级过程中,利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级之前,对所述终端的系统分区进行升级。
也就是说,若系统升级的类型为增量升级类型,则在对系统分区进行升级之前,需要校验升级包的版本与终端升级前的系统版本是否匹配,以便在升级包的版本与终端升级前的系统版本不匹配时,退出终端的系统升级;并在升级包的版本与所述终端升级前的系统版本匹配时,才对终端进行系统升级,避免终端的系统升级出现错误。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为根据本发明,某些步骤可以采用其它顺序进行。
图6示出了本申请实施例提供的一种系统升级装置600的结构示意图,该系统升级装置600配置于终端,包括获取单元601以及升级单元602。
获取单元601,用于获取升级包;
升级单元602,用于在系统升级过程中,利用升级包对终端的引导分区和recovery分区依次进行升级,或者利用升级包对终端的引导分区和recovery分区同时进行升级。
在本申请的一些实施方式中,上述升级单元602,还用于在利用升级包对终端的引导分区升级完成之后,利用升级包对终端的recovery分区进行升级;或者,在利用升级包对终端的recovery分区升级完成之后,利用升级包对终端的引导分区进行升级。
在本申请的一些实施方式中,上述升级单元602,还用于在利用升级包对终端的引导分区升级完成之后,利用升级包对终端的recovery分区进行升级;或者,在利用升级包对终端的recovery分区升级完成之后,利用升级包对终端的引导分区进行升级。
在本申请的一些实施方式中,上述系统升级装置还包括检测单元,用于在利用升级包对终端的引导分区和recovery分区依次进行升级,或者利用升级包对终端的引导分区和recovery分区同时进行升级之前,检测升级包中引导分区的升级数据是否与终端升级前的recovery分区的数据兼容。
在本申请的一些实施方式中,上述升级单元602,还用于若升级包中引导分区的升级数据与终端未升级时的recovery分区的数据不兼容,则利用升级包对终端的引导分区和recovery分区依次进行升级,或者利用升级包对终端的引导分区和recovery分区同时进行升级。
在本申请的一些实施方式中,上述检测单元,还用于在检测升级包中引导分区的升级数据是否与终端升级前的recovery分区的数据兼容之前,检测升级包中recovery分区的升级数据是否与终端升级前的引导分区和recovery分区的数据相同。
在本申请的一些实施方式中,上述检测单元,还用于若升级包中recovery分区的升级数据与终端升级前的recovery分区的数据不相同,则检测升级包中引导分区的升级数据是否与终端升级前的recovery分区的数据兼容。
在本申请的一些实施方式中,上述升级单元602,还用于在在系统升级过程中,利用升级包对终端的引导分区和recovery分区依次进行升级,或者利用升级包对终端的引导分区和recovery分区同时进行升级之前,对终端的系统分区进行升级。
在本申请的一些实施方式中,上述升级单元602,还用于检测系统的升级类型;若系统升级的类型为增量升级类型,则在所述在系统升级过程中,利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级之前,对所述终端的系统分区进行升级。
在本申请的一些实施方式中,上述升级单元602,还用于若系统升级的类型为增量升级类型,则校验升级包的版本与所述终端升级前的系统版本是否匹配;若所述升级包的版本与所述终端升级前的系统版本匹配,则在所述在系统升级过程中,利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级之前,对所述终端的系统分区进行升级。
需要说明的是,为描述的方便和简洁,上述描述的系统升级装置600的具体工作过程,可以参考上述图1至图5中描述的方法的对应过程,在此不再赘述。
如图7所示,本申请提供一种用于实现上述系统升级方法的终端,该终端可以包括:处理器71、存储器72、一个或多个输入设备73(图7中仅示出一个)和一个或多个输出设备74(图7中仅示出一个)。处理器71、存储器72、输入设备73和输出设备74通过总线75连接。
应当理解,在本申请实施例中,所称处理器71可以是中央处理单元(CentralProcessing Unit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
输入设备73可以包括虚拟键盘、触控板、指纹采传感器(用于采集用户的指纹信息和指纹的方向信息)、麦克风等,输出设备74可以包括显示器、扬声器等。
存储器72可以包括只读存储器和随机存取存储器,并向处理器71提供指令和数据。存储器72的一部分或全部还可以包括非易失性随机存取存储器。例如,存储器72还可以存储设备类型的信息。
上述存储器72存储有计算机程序,上述计算机程序可在上述处理器71上运行,例如,上述计算机程序为系统升级方法的程序。上述处理器71执行上述计算机程序时实现上述系统升级方法实施例中的步骤,例如图1所示的步骤101至步骤102。或者,上述处理器71执行上述计算机程序时实现上述装置实施例中各单元的功能,例如图6所示单元601至602的功能。
上述计算机程序可以被分割成一个或多个模块/单元,上述一个或者多个模块/单元被存储在上述存储器72中,并由上述处理器71执行,以完成本申请。上述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述上述计算机程序在上述进行系统升级的第一终端中的执行过程。例如,上述计算机程序可以被分割成获取单元和升级单元,各单元具体功能如下:
获取单元,用于获取升级包;
升级单元,用于在系统升级过程中,利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端实施例仅仅是示意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,上述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括:能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,上述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上上述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (8)

1.一种系统升级方法,应用于终端,其特征在于,所述系统升级方法包括:
获取升级包,所述升级包包含recovery分区的升级数据;
在系统升级过程中,直接进入recovery模式,利用所述升级包提取的用于升级引导分区的镜像文件dt.img和用于升级recovery分区的镜像文件recovery.img对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包提取的用于升级引导分区的镜像文件dt.img和用于升级recovery分区的镜像文件recovery.img对所述终端的引导分区和recovery分区同时进行升级;
其中,在所述在系统升级过程中,利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级之前,包括:检测系统的升级类型;
若系统升级的类型为增量升级类型,则在所述在系统升级过程中,利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级之前,对所述终端的系统分区进行升级;
若系统的升级类型为全量升级类型,则所述系统分区的升级在引导分区与recovery分区之前或之后进行。
2.如权利要求1所述的系统升级方法,其特征在于,所述利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,包括:
在利用所述升级包对所述终端的引导分区升级完成之后,利用所述升级包对所述终端的recovery分区进行升级;
或者,
在利用所述升级包对所述终端的recovery分区升级完成之后,利用所述升级包对所述终端的引导分区进行升级。
3.如权利要求1所述的系统升级方法,其特征在于,在所述利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级之前,包括:
检测所述升级包中引导分区的升级数据是否与所述终端升级前的recovery分区的数据兼容;
所述利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级,包括:
若所述升级包中引导分区的升级数据与所述终端未升级时的recovery分区的数据不兼容,则利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级。
4.如权利要求3所述的系统升级方法,其特征在于,在所述检测所述升级包中引导分区的升级数据是否与所述终端升级前的recovery分区的数据兼容之前,包括:
检测所述升级包中recovery分区的升级数据是否与所述终端升级前的recovery分区的数据相同;
所述检测所述升级包中引导分区的升级数据是否与所述终端升级前的recovery分区的数据兼容,包括:
若所述升级包中recovery分区的升级数据与所述终端升级前的recovery分区的数据不相同,则检测所述升级包中引导分区的升级数据是否与所述终端升级前的recovery分区的数据兼容。
5.如权利要求1所述的系统升级方法,其特征在于,所述若系统升级的类型为增量升级类型,则在所述在系统升级过程中,利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级之前,对所述终端的系统分区进行升级,包括:
若系统升级的类型为增量升级类型,则校验升级包的版本与所述终端升级前的系统版本是否匹配;
若所述升级包的版本与所述终端升级前的系统版本匹配,则在所述在系统升级过程中,利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级之前,对所述终端的系统分区进行升级。
6.一种系统升级装置,配置于终端,其特征在于,所述系统升级装置包括:
获取单元,用于获取升级包,所述升级包包含recovery分区的升级数据;
升级单元,用于在系统升级过程中,直接进入recovery模式,利用所述升级包提取的用于升级引导分区的镜像文件dt.img和用于升级recovery分区的镜像文件recovery.img对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包提取的用于升级引导分区的镜像文件dt.img和用于升级recovery分区的镜像文件recovery.img对所述终端的引导分区和recovery分区同时进行升级;
其中,在所述在系统升级过程中,利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级之前,包括:检测系统的升级类型;
若系统升级的类型为增量升级类型,则在所述在系统升级过程中,利用所述升级包对所述终端的引导分区和recovery分区依次进行升级,或者利用所述升级包对所述终端的引导分区和recovery分区同时进行升级之前,对所述终端的系统分区进行升级;
若系统的升级类型为全量升级类型,则所述系统分区的升级在引导分区与recovery分区之前或之后进行。
7.一种终端,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任意一项所述方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任意一项所述方法的步骤。
CN201910868044.9A 2019-09-09 2019-09-09 系统升级方法、装置、终端及计算机可读存储介质 Active CN110569058B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910868044.9A CN110569058B (zh) 2019-09-09 2019-09-09 系统升级方法、装置、终端及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910868044.9A CN110569058B (zh) 2019-09-09 2019-09-09 系统升级方法、装置、终端及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110569058A CN110569058A (zh) 2019-12-13
CN110569058B true CN110569058B (zh) 2023-06-30

Family

ID=68779944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910868044.9A Active CN110569058B (zh) 2019-09-09 2019-09-09 系统升级方法、装置、终端及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110569058B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111522571B (zh) * 2020-03-12 2024-02-09 深圳英飞拓仁用信息有限公司 设备升级方法、装置、终端设备及存储介质
CN111694608B (zh) * 2020-06-08 2023-06-20 阿波罗智联(北京)科技有限公司 终端设备的系统升级方法和装置、电子设备和终端设备
CN111694589B (zh) * 2020-06-15 2023-09-29 Oppo(重庆)智能科技有限公司 升级包生成方法、装置、服务器及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508686A (zh) * 2011-11-30 2012-06-20 苏州希图视鼎微电子有限公司 一种系统安全升级的实现方法及其系统
CN104991796A (zh) * 2015-06-19 2015-10-21 青岛海信移动通信技术股份有限公司 一种连续升级的方法及装置
CN106201586A (zh) * 2016-06-28 2016-12-07 青岛海信移动通信技术股份有限公司 一种基于ota的系统升级方法及终端、系统
CN109358864A (zh) * 2018-12-13 2019-02-19 晶晨半导体(上海)股份有限公司 系统升级方法及装置
CN109753299A (zh) * 2019-01-16 2019-05-14 Oppo广东移动通信有限公司 一种系统升级方法、装置以及计算机存储介质
CN109766119A (zh) * 2019-01-24 2019-05-17 努比亚技术有限公司 恢复分区升级方法、终端和计算机可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104899066B (zh) * 2015-06-19 2017-12-05 青岛海信移动通信技术股份有限公司 一种连续升级的方法及装置
CN106610840A (zh) * 2015-10-22 2017-05-03 深圳市中兴微电子技术有限公司 一种无线固件升级方法及系统
CN109298873B (zh) * 2017-07-18 2023-05-09 中兴通讯股份有限公司 一种系统升级方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508686A (zh) * 2011-11-30 2012-06-20 苏州希图视鼎微电子有限公司 一种系统安全升级的实现方法及其系统
CN104991796A (zh) * 2015-06-19 2015-10-21 青岛海信移动通信技术股份有限公司 一种连续升级的方法及装置
CN106201586A (zh) * 2016-06-28 2016-12-07 青岛海信移动通信技术股份有限公司 一种基于ota的系统升级方法及终端、系统
CN109358864A (zh) * 2018-12-13 2019-02-19 晶晨半导体(上海)股份有限公司 系统升级方法及装置
CN109753299A (zh) * 2019-01-16 2019-05-14 Oppo广东移动通信有限公司 一种系统升级方法、装置以及计算机存储介质
CN109766119A (zh) * 2019-01-24 2019-05-17 努比亚技术有限公司 恢复分区升级方法、终端和计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
双模机顶盒在线升级方案设计与实现;韩洪波;倪宏;孙鹏;;微计算机信息(第24期);11-13 *

Also Published As

Publication number Publication date
CN110569058A (zh) 2019-12-13

Similar Documents

Publication Publication Date Title
CN110569058B (zh) 系统升级方法、装置、终端及计算机可读存储介质
US9286164B2 (en) Electronic device to restore MBR, method thereof, and computer-readable medium
CN110399153B (zh) 系统升级方法、装置、终端及计算机可读存储介质
CN109814524B (zh) 一种车辆诊断方法、装置及系统
CN110442473B (zh) 一种非易失性数据存储方法、装置、电子设备及介质
CN105094927A (zh) 一种设备固件升级方法和装置
CN104850427B (zh) 一种代码升级方法及装置
CN111104246B (zh) 提升dram的错误检测与纠错的验证效率的方法、装置、计算机设备及存储介质
CN110119280A (zh) 多固件升级的方法及装置
US20190042399A1 (en) Test run control method and apparatus
CN110716735A (zh) 系统升级方法及装置、智能终端、计算机可读存储介质
US9218249B2 (en) Electronic apparatus, method of restoring guid partition table (GPT) and computer-readable recording medium
CN108984200A (zh) 一种定时更新固件的方法及装置
CN102184115B (zh) 升级系统软件的方法及终端设备
CN113396391B (zh) 应用程序启动的方法、装置、电子设备及存储介质
CN109491951B (zh) 一种配置数据的方法以及计算设备
CN116820528A (zh) 固件版本升级方法、装置、芯片和电子设备
US20220188221A1 (en) Regression testing method and regression testing apparatus
CN106933604A (zh) 一种系统升级方法及装置
CN111857785B (zh) 一种mcu的启动方法、装置及终端设备
CN105278993A (zh) 一种基于Linux系统的驱动模块升级方法及装置
CN109240990B (zh) 一种文件系统的保护方法及装置
CN112346786B (zh) 应用于开机阶段及开机后运行阶段的除错信息纪录方法
CN111562956B (zh) 终端的主题切换方法、装置、存储介质与电子设备
CN115827020A (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
GR01 Patent grant
GR01 Patent grant