CN109753299A - 一种系统升级方法、装置以及计算机存储介质 - Google Patents
一种系统升级方法、装置以及计算机存储介质 Download PDFInfo
- Publication number
- CN109753299A CN109753299A CN201910041029.7A CN201910041029A CN109753299A CN 109753299 A CN109753299 A CN 109753299A CN 201910041029 A CN201910041029 A CN 201910041029A CN 109753299 A CN109753299 A CN 109753299A
- Authority
- CN
- China
- Prior art keywords
- ota
- recovery
- upgrade
- upgrading
- data
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种系统升级方法、装置以及计算机存储介质,该方法应用于终端设备,该方法包括:获取包含有恢复recovery镜像文件的空中下载技术OTA升级包;在所述OTA升级包对终端设备的系统数据进行OTA升级过程中,清除所述OTA升级过程中生成的启动控制信息块BCB信息;根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种系统升级方法、装置以及计算机存储介质。
背景技术
随着通信技术的不断发展,电脑、智能手机等终端设备已经越来越普及。终端设备内置的系统通常为开源系统,由于使用需求的不断变化,同一终端设备内置的系统往往需要不断升级。
系统升级有很多种形式,通常采用空中下载技术(Over-the-Air Technology,OTA)升级。对于终端设备而言,一般都安装有Android系统、IOS系统或者其他操作系统。其中,Android系统具有recovery(恢复)升级功能,Android系统OTA升级可以在recovery模式下进行系统数据的升级,而Recovery分区自身数据的升级是在开机过程中基于install-recovery.sh来实现。这时候,如果在Recovery模式下,当OTA升级过程中出现掉电或程序异常而导致重启系统来重新执行OTA升级时,此时可能会出现部分已升级的分区与旧版本recovery分区不相兼容,从而造成终端设备在重启中出现卡死或者无法开机等异常现象。
发明内容
本发明的主要目的在于提出一种系统升级方法、装置以及计算机存储介质,在对系统数据进行OTA升级时实现Recovery分区的自动升级,从而避免了终端设备重启时出现卡死或者无法开机等异常现象,增加了OTA升级的稳定性。
为达到上述目的,本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种系统升级方法,所述方法应用于终端设备,所述方法包括:
获取包含有恢复recovery镜像文件的空中下载技术OTA升级包;
在所述OTA升级包对终端设备的系统数据进行OTA升级过程中,清除所述OTA升级过程中生成的启动控制信息块BCB信息;
根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级。
在上述方案中,所述获取包含有recovery镜像文件的OTA升级包,包括:
接收服务器通过OTA技术发送的所述OTA升级包;或者,
接收服务器通过OTA技术发送的OTA升级包地址,从所述OTA升级包地址下载得到所述OTA升级包。
在上述方案中,所述在所述OTA升级包对终端设备的系统数据进行OTA升级过程中,清除所述OTA升级过程中生成的BCB信息,包括:
基于所述OTA升级包,对终端设备的系统数据进行OTA升级;其中,所述系统数据包括原生分区数据和除原生分区数据之外的剩余分区数据,所述剩余分区数据至少包含有recovery分区数据;
在所述OTA升级过程中,当所述OTA升级满足第一预设条件时,清除所述BCB信息,对所述系统数据中剩余分区数据进行OTA升级;其中,所述第一预设条件表示所述原生分区数据已经完成OTA升级但所述剩余分区数据还未进行OTA升级。
在上述方案中,在所述根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级之前,所述方法还包括:
在所述OTA升级过程中,判断所述OTA升级是否满足第二预设条件;其中,所述第二预设条件表示所述系统数据中除recovery分区数据之外的其他剩余分区数据已经完成OTA升级。
在上述方案中,所述根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级,包括:
当所述OTA升级满足第二预设条件时,通过运行脚本从所述OTA升级包中读取所述recovery镜像文件;
将读取到的所述recovery镜像文件升级至recovery分区中。
在上述方案中,在所述根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级之前,所述方法还包括:
生成intent文件;其中,所述intent文件包括OTA升级结果的记录信息。
在上述方案中,在所述根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级之前,所述方法还包括:
执行所述OTA升级包中的定制化功能。
第二方面,本发明实施例提供了一种系统升级装置,所述系统升级装置应用于终端设备,所述系统升级装置包括:获取单元和升级单元,其中,
所述获取单元,配置为获取包含有recovery镜像文件的OTA升级包;
所述升级单元,配置为在所述OTA升级包对终端设备的系统数据进行OTA升级过程中,清除所述OTA升级过程中生成的BCB信息;
所述升级单元,还配置为根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级。
在上述方案中,所述系统升级装置还包括接收单元,配置为接收服务器通过OTA技术发送的所述OTA升级包;或者,接收服务器通过OTA技术发送的OTA升级包地址,从所述OTA升级包地址下载得到所述OTA升级包。
在上述方案中,所述升级单元,具体配置为基于所述OTA升级包,对终端设备的系统数据进行OTA升级;其中,所述系统数据包括原生分区数据和除原生分区数据之外的剩余分区数据,所述剩余分区数据至少包含有recovery分区数据;以及在所述OTA升级过程中,当所述OTA升级满足第一预设条件时,清除所述BCB信息,对所述系统数据中剩余分区数据进行OTA升级;其中,所述第一预设条件表示所述原生分区数据已经完成OTA升级但所述剩余分区数据还未进行OTA升级。
在上述方案中,所述升级单元,还配置为在所述OTA升级过程中,判断所述OTA升级是否满足第二预设条件;其中,所述第二预设条件表示所述系统数据中除recovery分区数据之外的其他剩余分区数据已经完成OTA升级。
在上述方案中,所述系统升级装置还包括读取单元,配置为当所述OTA升级满足第二预设条件时,通过运行脚本从所述OTA升级包中读取所述recovery镜像文件;
所述升级单元,具体配置为将读取到的所述recovery镜像文件升级至recovery分区中。
在上述方案中,所述系统升级装置还包括生成单元,配置为生成intent文件;其中,所述intent文件包括OTA升级结果的记录信息。
在上述方案中,所述升级单元,还配置为执行所述OTA升级包中的定制化功能。
第三方面,本发明实施例提供了一种系统升级装置,所述系统升级装置包括存储器和处理器;
所述存储器,用于存储能够在所述处理器上运行的计算机程序;
所述处理器,用于在运行所述计算机程序时,执行如第一方面中任一项所述方法的步骤。
第四方面,本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有系统升级程序,所述系统升级程序被至少一个处理器执行时实现如第一方面中任一项所述方法的步骤。
本发明实施例所提供的一种系统升级方法、装置以及计算机存储介质,首先获取包含有recovery镜像文件的OTA升级包;然后在所述OTA升级包对终端设备的系统数据进行OTA升级过程中,清除所述OTA升级过程中生成的启动控制信息块BCB信息;最后根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级;这样,在OTA升级过程中,一方面由于清除了BCB信息,可以保证终端设备重启时能够直接进入Android系统的正常开机模式;另一方面根据recovery镜像文件对recovery分区数据进行升级,可以进一步保证在recovery模式下终端设备重启时不会出现卡死或者无法开机等异常现象;从而增加了OTA升级的稳定性。
附图说明
图1为本发明实施例提供的一种系统升级方法的流程示意图;
图2为本发明实施例提供的一种系统升级方法的详细流程示意图;
图3为本发明实施例提供的另一种系统升级方法的详细流程示意图;
图4为本发明实施例提供的一种系统升级装置的组成结构示意图;
图5为本发明实施例提供的另一种系统升级装置的组成结构示意图;
图6为本发明实施例提供的又一种系统升级装置的组成结构示意图;
图7为本发明实施例提供的再一种系统升级装置的组成结构示意图;
图8为本发明实施例提供的一种系统升级装置的具体硬件结构示意图;
图9为本发明实施例提供的一种终端设备的组成结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供了一种基于OTA升级包的系统升级方法,该方法应用于系统升级装置中,该装置可以设置在诸如智能手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、便捷式媒体播放器(Portable Media Player,PMP)、可穿戴设备、导航装置等移动式终端设备中,也可以设置在诸如数字TV、台式计算机等固定式终端设备中,本发明实施例不作具体限定。另外,适用于本发明实施例的终端设备内置的操作系统(Operating System,OS),包括但不限于Android、IOS、Windows和BlackBerry OS等,下面将仅以Android系统为例进行详细说明。
参见图1,其示出了本发明实施例提供的一种系统升级方法,该方法应用于终端设备,该方法可以包括:
S101:获取包含有recovery镜像文件的OTA升级包;
S102:在所述OTA升级包对终端设备的系统数据进行OTA升级过程中,清除所述OTA升级过程中生成的BCB信息;
S103:根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级。
需要说明的是,终端设备的系统数据包括原生分区数据和除原生分区数据之外的剩余分区数据,而原生分区数据表示Android系统自身配置的分区所对应的数据,比如boot、cache、data、system等原生分区数据;剩余分区数据表示自定义的扩展分区所对应的数据,比如recovery分区数据等;本发明实施例对此不作具体限定。另外,启动控制信息块(Bootloader Control Block,BCB)是一个结构体,它是Bootloader与recovery之间的通信接口,也是Bootloader与Main system之间的通信接口。BCB信息是在OTA升级过程中写入BCB中的信息,用于通知Bootloader重启之后是否进入recovery模式;也就是说,如果不清除BCB信息,那么终端设备重启时则会进入recovery模式;而如果清除BCB信息,那么可以保证终端设备重启时能够直接进入Android系统的正常开机模式(即Main system模式),不会再进入recovery模式,从而避免了终端设备重启时出现卡死或者无法开机等异常现象。
还需要说明的是,recovery是Android系统的备份功能,具体是指一种可以对Android系统内部的数据或者系统进行修改的模式(类似于Windows PE或者DOS)。在recovery模式下,可以对已经具有的系统进行备份或者升级,也可以进行恢复出厂设置,本发明实施例不作具体限定;下面将仅以终端设备的系统数据升级为例进行描述。
在本发明实施例中,通过获取包含有recovery镜像文件的OTA升级包;在所述OTA升级包对终端设备的系统数据进行OTA升级过程中,清除所述OTA升级过程中生成的BCB信息;根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级;从而在OTA升级过程中实现了Recovery分区数据的自动升级,避免了终端设备重启时出现卡死或者无法开机等异常现象,进而增加了OTA升级的稳定性;另外,经过OTA升级之后,终端设备的系统数据也会由当前使用的系统版本升级到OTA升级包所对应的系统版本。
在一些实施例中,所述获取包含有recovery镜像文件的OTA升级包,包括:
接收服务器通过OTA技术发送的所述OTA升级包;或者,
接收服务器通过OTA技术发送的OTA升级包地址,从所述OTA升级包地址下载得到所述OTA升级包。
需要说明的是,OTA升级包的编译过程是在服务器侧执行的。服务器在获取到recovery镜像文件(recovery.img)之后,会将recovery镜像文件添加到OTA升级包的编译过程中,通过该编译过程可以得到包含有recovery镜像文件的OTA升级包。当服务器得到OTA升级包之后,可以通过服务器和终端设备之间的OTA技术将OTA升级包发送给终端设备,也可以通过服务器所提供的OTA升级包地址,从该OTA升级包地址下载得到OTA升级包;甚至还可以由本地终端设备通过蓝牙连接方式连接到另一终端设备,从而通过另一终端设备根据本地终端设备的系统版本信息下载而获得OTA升级包;在本发明实施例中,对此不作具体限定。
在一些实施例中,所述在所述OTA升级包对终端设备的系统数据进行OTA升级过程中,清除所述OTA升级过程中生成的BCB信息,包括:
基于所述OTA升级包,对终端设备的系统数据进行OTA升级;其中,所述系统数据包括原生分区数据和除原生分区数据之外的剩余分区数据,所述剩余分区数据至少包含有recovery分区数据;
在所述OTA升级过程中,当所述OTA升级满足第一预设条件时,清除所述BCB信息,对所述系统数据中剩余分区数据进行OTA升级;其中,所述第一预设条件表示所述原生分区数据已经完成OTA升级但所述剩余分区数据还未进行OTA升级。
进一步地,在一些实施例中,在所述根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级之前,所述方法还包括:
在所述OTA升级过程中,判断所述OTA升级是否满足第二预设条件;其中,所述第二预设条件表示所述系统数据中除recovery分区数据之外的其他剩余分区数据已经完成OTA升级。
进一步地,在一些实施例中,所述根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级,包括:
当所述OTA升级满足第二预设条件时,通过运行脚本从所述OTA升级包中读取所述recovery镜像文件;
将读取到的所述recovery镜像文件升级至recovery分区中。
进一步地,在一些实施例中,所述方法还包括:
在所述OTA升级过程中,当所述OTA升级不满足第一预设条件时,继续对所述系统数据中原生分区数据进行OTA升级;
在所述OTA升级过程中,当所述OTA升级不满足第二预设条件时,继续对所述系统数据中剩余分区数据进行OTA升级。
需要说明的是,第一预设条件和第二预设条件均是终端设备中预先设定的判断策略;其中,第一预设条件表示原生分区数据已经完成OTA升级而剩余分区数据还未进行OTA升级,第二预设条件表示除recovery分区数据之外的其他剩余分区数据都已经完成OTA升级;也就是说,第一预设条件和第二预设条件也可以用于判断OTA升级过程所达到的不同阶段;这样,在不同阶段可以执行不同的升级动作,比如清除BCB信息,或者根据recovery镜像文件对recovery分区数据进行OTA升级等。还需要说明的是,BCB信息是在OTA升级过程中生成的,当不清除BCB信息时,那么终端设备重启时会进入recovery模式;当清除BCB信息时,那么可以保证终端设备重启时能够直接进入Android系统的正常开机模式,而不会再进入recovery模式,从而避免了终端设备重启时出现卡死或者无法开机等异常现象;而根据recovery镜像文件对recovery分区数据进行OTA升级,可以进一步避免了终端设备重启时出现卡死或者无法开机等异常现象。
具体地,在获取到OTA升级包之后,可以对终端设备的系统数据进行OTA升级。其中,在该OTA升级过程中,首先判断所述OTA升级是否满足第一预设条件;当所述OTA升级不满足第一预设条件时,继续对系统数据中原生分区数据进行OTA升级;当所述OTA升级满足第一预设条件时,表明了原生分区数据已经完成OTA升级,此时需要清除BCB信息,然后对剩余分区数据进行OTA升级;再判断所述OTA升级是否满足第二预设条件;当所述OTA升级不满足第二预设条件时,继续对剩余分区数据进行OTA升级;当所述OTA升级满足第二预设条件时,表明了除recovery分区数据之外的其他剩余分区数据已经完成OTA升级,此时可以通过运行脚本从所述OTA升级包中读取所述recovery镜像文件,然后将读取到的所述recovery镜像文件更新至recovery分区中,实现了recovery分区数据自动进行OTA升级;这样,在recovery分区数据进行OTA升级之后,表明了整个OTA升级流程已经结束,终端设备的系统数据已经由当前使用的系统版本升级至所述OTA升级包对应的系统版本。
在一些实施例中,在所述根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级之前,所述方法还包括:
生成intent文件;其中,所述intent文件包括OTA升级结果的记录信息。
在一些实施例中,在所述根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级之前,所述方法还包括:
执行所述OTA升级包中的定制化功能。
需要说明的是,intent文件用于向终端设备的上层系统(比如Android系统)反馈OTA升级结果。也就是说,在生成intent文件之前,此时除了recovery分区数据以外的其他所有分区数据都已经完成OTA升级,因而可以在intent文件中添加OTA升级结果的记录信息;一般来说,intent文件存储在cache分区内。另外,针对不同的厂商,OTA升级包中还包括该厂商对应的定制化功能;那么在OTA升级过程中,还需要同时执行OTA升级包中的定制化功能,以满足该厂商的定制化需求。这样,在OTA升级结束之前,通过运行脚本以读取recovery镜像文件,从而将读取到的所述recovery镜像文件更新至recovery分区中,也就实现了在OTA升级过程中recovery分区的自动升级,完全避免了终端设备掉电或程序异常而导致重启系统来重新执行OTA升级时可能会出现部分已升级的分区与旧版本recovery分区不相兼容的异常现象,进而增加了OTA升级的稳定性。
上述实施例提供了一种系统升级方法,该方法应用于终端设备,通过获取包含有recovery镜像文件的OTA升级包;在所述OTA升级包对终端设备的系统数据进行OTA升级过程中,清除所述OTA升级过程中生成的启动控制信息块BCB信息;根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级;从而在OTA升级过程中实现了Recovery分区数据的自动升级,避免了终端设备重启时出现卡死或者无法开机等异常现象,进而增加了OTA升级的稳定性。
基于前述实施例相同的发明构思,参见图2,其示出了本发明实施例提供的一种系统升级方法的详细流程示意图;如图2所示,该详细流程可以包括:
S201:获取包含有recovery镜像文件的OTA升级包;
S202:基于所述OTA升级包,对终端设备的系统数据进行OTA升级;其中,所述系统数据包括原生分区数据和除原生分区数据之外的剩余分区数据,所述剩余分区数据至少包含有recovery分区数据;
S203:在所述OTA升级过程中,判断所述OTA升级是否满足第一预设条件;
S204:当所述OTA升级不满足第一预设条件时,继续对系统数据中原生分区数据进行OTA升级;
S205:当所述OTA升级满足第一预设条件时,清除所述BCB信息,对系统数据中剩余分区数据进行OTA升级;
S206:判断所述OTA升级是否满足第二预设条件;
S207:当所述OTA升级不满足第二预设条件时,继续对系统数据中剩余分区数据进行OTA升级;
S208:当所述OTA升级满足第二预设条件时,通过运行脚本从所述OTA升级包中读取recovery镜像文件;
S209:根据所述recovery镜像文件对系统数据中recovery分区数据进行OTA升级,控制所述系统数据升级至所述OTA升级包对应的系统版本。
需要说明的是,在步骤S203之后,根据所述OTA升级是否满足第一预设条件的判断结果,当所述OTA升级不满足第一预设条件时,执行步骤S204;当所述OTA升级满足第一预设条件时,执行步骤S205;在步骤S206之后,根据所述OTA升级是否满足第二预设条件的判断结果,当所述OTA升级不满足第二预设条件时,执行步骤S207;当所述OTA升级满足第二预设条件时,执行步骤S208和步骤S209。
在所述OTA升级过程中,不仅可以清除BCB信息,而且还可以生成intent文件以及执行OTA升级包中的定制化功能。也就是说,在步骤S208之前,还可以执行步骤S208A和S208B;参见图3,其示出了本发明实施例提供的另一种系统升级方法的详细流程示意图;如图3所示,该详细流程可以包括:
S208A:在OTA升级过程中,生成intent文件;其中,所述intent文件包括OTA升级结果的记录信息;
S208B:执行OTA升级包中的定制化功能。
其中,在步骤S208之前,执行步骤S208A,即生成intent文件,该intent文件可以用于向终端设备的上层系统(比如Android系统)反馈OTA升级结果。另外,由于针对不同的厂商,OTA升级包中还包括该厂商对应的定制化功能;在步骤S208之前,还可以执行步骤S208B,即执行OTA升级包中的定制化功能,从而满足该厂商的定制化需求。
还需要说明的是,第一预设条件和第二预设条件均是终端设备中预先设定的判断策略;其中,第一预设条件表示原生分区数据已经完成OTA升级而剩余分区数据还未进行OTA升级,第二预设条件表示除recovery分区数据之外的其他剩余分区数据都已经完成OTA升级;也就是说,第一预设条件和第二预设条件也可以用于判断OTA升级过程所达到的不同阶段;这样,在不同阶段可以执行不同的升级动作,比如清除BCB信息,或者根据recovery镜像文件对recovery分区数据进行OTA升级等。还需要说明的是,清除BCB信息,可以保证终端设备重启时能够直接进入Android系统的正常开机模式,而不会再进入recovery模式,从而避免了终端设备重启时出现卡死或者无法开机等异常现象;而根据recovery镜像文件对recovery分区数据进行OTA升级,可以进一步保证在recovery模式下终端设备重启时也不会出现卡死或者无法开机等异常现象。
通过上述实施例,对前述实施例的具体实现进行了详细阐述,从中可以看出,通过前述实施例的技术方案,从而在OTA升级过程中实现了Recovery分区的自动升级,避免了终端设备重启时出现卡死或者无法开机等异常现象,从而增加了OTA升级的稳定性。
基于前述实施例相同的发明构思,参见图4,其示出了本发明实施例提供的一种系统升级装置40的组成,所述系统升级装置40可以包括:获取单元401和升级单元402,其中,
所述获取单元401,配置为获取包含有recovery镜像文件的OTA升级包;
所述升级单元402,配置为在所述OTA升级包对终端设备的系统数据进行OTA升级过程中,清除所述OTA升级过程中生成的BCB信息;
所述升级单元402,还配置为根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级。
在上述方案中,参见图5,所述系统升级装置40还包括接收单元403,配置为接收服务器通过OTA技术发送的所述OTA升级包;或者,接收服务器通过OTA技术发送的OTA升级包地址,从所述OTA升级包地址下载得到所述OTA升级包。
在上述方案中,所述升级单元402,具体配置为基于所述OTA升级包,对终端设备的系统数据进行OTA升级;其中,所述系统数据包括原生分区数据和除原生分区数据之外的剩余分区数据,所述剩余分区数据至少包含有recovery分区数据;以及在所述OTA升级过程中,当所述OTA升级满足第一预设条件时,清除所述BCB信息,对所述系统数据中剩余分区数据进行OTA升级;其中,所述第一预设条件表示所述原生分区数据已经完成OTA升级但所述剩余分区数据还未进行OTA升级。
在上述方案中,所述升级单元402,还配置为在所述OTA升级过程中,判断所述OTA升级是否满足第二预设条件;其中,所述第二预设条件表示所述系统数据中除recovery分区数据之外的其他剩余分区数据已经完成OTA升级。
在上述方案中,参见图6,所述系统升级装置40还包括读取单元404,配置为当所述OTA升级满足第二预设条件时,通过运行脚本从所述OTA升级包中读取所述recovery镜像文件;
所述升级单元402,具体配置为将读取到的所述recovery镜像文件升级至recovery分区中。
在上述方案中,参见图7,所述系统升级装置40还包括生成单元405,配置为生成intent文件;其中,所述intent文件包括OTA升级结果的记录信息。
在上述方案中,所述升级单元402,还配置为执行所述OTA升级包中的定制化功能。
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本实施例提供了一种计算机存储介质,该计算机存储介质存储有系统升级程序,所述系统升级程序被至少一个处理器执行时实现前述实施例中所述方法的步骤。
基于上述系统升级装置40的组成以及计算机存储介质,参见图8,其示出了本发明实施例提供的系统升级装置40的具体硬件结构,可以包括:网络接口801、存储器802和处理器803;各个组件通过总线系统804耦合在一起。可理解,总线系统804用于实现这些组件之间的连接通信。总线系统804除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线系统804。其中,网络接口801,用于在与其他外部网元之间进行收发信息过程中,信号的接收和发送;
存储器802,用于存储能够在处理器803上运行的计算机程序;
处理器803,用于在运行所述计算机程序时,执行:
获取包含有recovery镜像文件的OTA升级包;
在所述OTA升级包对终端设备的系统数据进行OTA升级过程中,清除所述OTA升级过程中生成的BCB信息;
根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级。
可以理解,本发明实施例中的存储器802可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本文描述的系统和方法的存储器802旨在包括但不限于这些和任意其它适合类型的存储器。
而处理器803可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器803中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器803可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器802,处理器803读取存储器802中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本发明所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
可选地,作为另一个实施例,处理器803还配置为在运行所述计算机程序时,执行前述实施例中所述方法的步骤。
参见图9,其示出了本发明实施例提供的一种终端设备90的组成结构示意图;其中,所述终端设备90至少包括如前述实施例中所涉及的任意一种系统升级装置40。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。
Claims (16)
1.一种系统升级方法,所述方法应用于终端设备,所述方法包括:
获取包含有恢复recovery镜像文件的空中下载技术OTA升级包;
在所述OTA升级包对终端设备的系统数据进行OTA升级过程中,清除所述OTA升级过程中生成的启动控制信息块BCB信息;
根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级。
2.根据权利要求1所述的方法,其特征在于,所述获取包含有recovery镜像文件的OTA升级包,包括:
接收服务器通过OTA技术发送的所述OTA升级包;或者,
接收服务器通过OTA技术发送的OTA升级包地址,从所述OTA升级包地址下载得到所述OTA升级包。
3.根据权利要求1所述的方法,其特征在于,所述在所述OTA升级包对终端设备的系统数据进行OTA升级过程中,清除所述OTA升级过程中生成的BCB信息,包括:
基于所述OTA升级包,对终端设备的系统数据进行OTA升级;其中,所述系统数据包括原生分区数据和除原生分区数据之外的剩余分区数据,所述剩余分区数据至少包含有recovery分区数据;
在所述OTA升级过程中,当所述OTA升级满足第一预设条件时,清除所述BCB信息,对所述系统数据中剩余分区数据进行OTA升级;其中,所述第一预设条件表示所述原生分区数据已经完成OTA升级但所述剩余分区数据还未进行OTA升级。
4.根据权利要求3所述的方法,其特征在于,在所述根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级之前,所述方法还包括:
在所述OTA升级过程中,判断所述OTA升级是否满足第二预设条件;其中,所述第二预设条件表示所述系统数据中除recovery分区数据之外的其他剩余分区数据已经完成OTA升级。
5.根据权利要求4所述的方法,其特征在于,所述根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级,包括:
当所述OTA升级满足第二预设条件时,通过运行脚本从所述OTA升级包中读取所述recovery镜像文件;
将读取到的所述recovery镜像文件升级至recovery分区中。
6.根据权利要求1所述的方法,其特征在于,在所述根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级之前,所述方法还包括:
生成intent文件;其中,所述intent文件包括OTA升级结果的记录信息。
7.根据权利要求1至6任一项所述的方法,其特征在于,在所述根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级之前,所述方法还包括:
执行所述OTA升级包中的定制化功能。
8.一种系统升级装置,所述系统升级装置应用于终端设备,所述系统升级装置包括:获取单元和升级单元,其中,
所述获取单元,配置为获取包含有recovery镜像文件的OTA升级包;
所述升级单元,配置为在所述OTA升级包对终端设备的系统数据进行OTA升级过程中,清除所述OTA升级过程中生成的BCB信息;
所述升级单元,还配置为根据所述OTA升级包中的recovery镜像文件,对所述系统数据中的recovery分区数据进行OTA升级。
9.根据权利要求8所述的系统升级装置,其特征在于,所述系统升级装置还包括接收单元,配置为接收服务器通过OTA技术发送的所述OTA升级包;或者,接收服务器通过OTA技术发送的OTA升级包地址,从所述OTA升级包地址下载得到所述OTA升级包。
10.根据权利要求8所述的系统升级装置,其特征在于,所述升级单元,具体配置为基于所述OTA升级包,对终端设备的系统数据进行OTA升级;其中,所述系统数据包括原生分区数据和除原生分区数据之外的剩余分区数据,所述剩余分区数据至少包含有recovery分区数据;以及在所述OTA升级过程中,当所述OTA升级满足第一预设条件时,清除所述BCB信息,对所述系统数据中剩余分区数据进行OTA升级;其中,所述第一预设条件表示所述原生分区数据已经完成OTA升级但所述剩余分区数据还未进行OTA升级。
11.根据权利要求10所述的系统升级装置,其特征在于,所述升级单元,还配置为在所述OTA升级过程中,判断所述OTA升级是否满足第二预设条件;其中,所述第二预设条件表示所述系统数据中除recovery分区数据之外的其他剩余分区数据已经完成OTA升级。
12.根据权利要求11所述的系统升级装置,其特征在于,所述系统升级装置还包括读取单元,配置为当所述OTA升级满足第二预设条件时,通过运行脚本从所述OTA升级包中读取所述recovery镜像文件;
所述升级单元,具体配置为将读取到的所述recovery镜像文件升级至recovery分区中。
13.根据权利要求8所述的系统升级装置,其特征在于,所述系统升级装置还包括生成单元,配置为生成intent文件;其中,所述intent文件包括OTA升级结果的记录信息。
14.根据权利要求8至13任一项所述的系统升级装置,其特征在于,所述升级单元,还配置为执行所述OTA升级包中的定制化功能。
15.一种系统升级装置,其特征在于,所述系统升级装置包括存储器和处理器;
所述存储器,用于存储能够在所述处理器上运行的计算机程序;
所述处理器,用于在运行所述计算机程序时,执行如权利要求1至7任一项所述方法的步骤。
16.一种计算机存储介质,其特征在于,所述计算机存储介质存储有系统升级程序,所述系统升级程序被至少一个处理器执行时实现如权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910041029.7A CN109753299A (zh) | 2019-01-16 | 2019-01-16 | 一种系统升级方法、装置以及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910041029.7A CN109753299A (zh) | 2019-01-16 | 2019-01-16 | 一种系统升级方法、装置以及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109753299A true CN109753299A (zh) | 2019-05-14 |
Family
ID=66404744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910041029.7A Pending CN109753299A (zh) | 2019-01-16 | 2019-01-16 | 一种系统升级方法、装置以及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109753299A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569058A (zh) * | 2019-09-09 | 2019-12-13 | Oppo(重庆)智能科技有限公司 | 系统升级方法、装置、终端及计算机可读存储介质 |
CN110597542A (zh) * | 2019-09-17 | 2019-12-20 | Oppo(重庆)智能科技有限公司 | 软件自动ota升级方法及装置、电子设备 |
CN110716735A (zh) * | 2019-10-11 | 2020-01-21 | 东莞市小精灵教育软件有限公司 | 系统升级方法及装置、智能终端、计算机可读存储介质 |
CN110825563A (zh) * | 2019-10-22 | 2020-02-21 | RealMe重庆移动通信有限公司 | 系统恢复方法、装置以及电子设备 |
CN111625254A (zh) * | 2020-05-06 | 2020-09-04 | Oppo(重庆)智能科技有限公司 | 文件处理方法、装置、终端及存储介质 |
CN113254030A (zh) * | 2021-04-09 | 2021-08-13 | 联合汽车电子有限公司 | 车载微处理器软件应急刷新方法、装置、存储介质及系统 |
CN113821234A (zh) * | 2021-06-15 | 2021-12-21 | 荣耀终端有限公司 | 操作系统升级方法、设备、存储介质及计算机程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104636171A (zh) * | 2015-03-04 | 2015-05-20 | 深圳市欧珀通信软件有限公司 | 升级的方法、装置及移动终端 |
CN105930184A (zh) * | 2016-04-19 | 2016-09-07 | 青岛海信移动通信技术股份有限公司 | 系统升级方法及装置 |
CN106484448A (zh) * | 2015-08-28 | 2017-03-08 | 青岛海信移动通信技术股份有限公司 | 一种软件升级方法及装置 |
CN106708543A (zh) * | 2015-07-22 | 2017-05-24 | Tcl集团股份有限公司 | 一种操作系统的ota升级方法及装置 |
US20170206079A1 (en) * | 2014-05-19 | 2017-07-20 | Zte Corporation | Method and Device for Upgrading Software |
CN108984198A (zh) * | 2018-07-16 | 2018-12-11 | 深圳市茁壮网络股份有限公司 | 一种Android系统的升级方法及装置 |
-
2019
- 2019-01-16 CN CN201910041029.7A patent/CN109753299A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170206079A1 (en) * | 2014-05-19 | 2017-07-20 | Zte Corporation | Method and Device for Upgrading Software |
CN104636171A (zh) * | 2015-03-04 | 2015-05-20 | 深圳市欧珀通信软件有限公司 | 升级的方法、装置及移动终端 |
CN106708543A (zh) * | 2015-07-22 | 2017-05-24 | Tcl集团股份有限公司 | 一种操作系统的ota升级方法及装置 |
CN106484448A (zh) * | 2015-08-28 | 2017-03-08 | 青岛海信移动通信技术股份有限公司 | 一种软件升级方法及装置 |
CN105930184A (zh) * | 2016-04-19 | 2016-09-07 | 青岛海信移动通信技术股份有限公司 | 系统升级方法及装置 |
CN108984198A (zh) * | 2018-07-16 | 2018-12-11 | 深圳市茁壮网络股份有限公司 | 一种Android系统的升级方法及装置 |
Non-Patent Citations (1)
Title |
---|
包老头子: "Android Recovery升级原理", 《CSDN:HTTPS://BLOG.CSDN.NET/LUZHENRONG45/ARTICLE/DETAILS/60968458》, 9 March 2017 (2017-03-09), pages 1 - 18 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569058A (zh) * | 2019-09-09 | 2019-12-13 | Oppo(重庆)智能科技有限公司 | 系统升级方法、装置、终端及计算机可读存储介质 |
CN110569058B (zh) * | 2019-09-09 | 2023-06-30 | Oppo(重庆)智能科技有限公司 | 系统升级方法、装置、终端及计算机可读存储介质 |
CN110597542A (zh) * | 2019-09-17 | 2019-12-20 | Oppo(重庆)智能科技有限公司 | 软件自动ota升级方法及装置、电子设备 |
CN110597542B (zh) * | 2019-09-17 | 2023-01-31 | Oppo(重庆)智能科技有限公司 | 软件自动ota升级方法及装置、电子设备 |
CN110716735A (zh) * | 2019-10-11 | 2020-01-21 | 东莞市小精灵教育软件有限公司 | 系统升级方法及装置、智能终端、计算机可读存储介质 |
CN110825563A (zh) * | 2019-10-22 | 2020-02-21 | RealMe重庆移动通信有限公司 | 系统恢复方法、装置以及电子设备 |
CN110825563B (zh) * | 2019-10-22 | 2022-12-06 | RealMe重庆移动通信有限公司 | 系统恢复方法、装置以及电子设备 |
CN111625254A (zh) * | 2020-05-06 | 2020-09-04 | Oppo(重庆)智能科技有限公司 | 文件处理方法、装置、终端及存储介质 |
CN111625254B (zh) * | 2020-05-06 | 2023-09-08 | Oppo(重庆)智能科技有限公司 | 文件处理方法、装置、终端及存储介质 |
CN113254030A (zh) * | 2021-04-09 | 2021-08-13 | 联合汽车电子有限公司 | 车载微处理器软件应急刷新方法、装置、存储介质及系统 |
CN113254030B (zh) * | 2021-04-09 | 2024-04-16 | 联合汽车电子有限公司 | 车载微处理器软件应急刷新方法、装置、存储介质及系统 |
CN113821234A (zh) * | 2021-06-15 | 2021-12-21 | 荣耀终端有限公司 | 操作系统升级方法、设备、存储介质及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109753299A (zh) | 一种系统升级方法、装置以及计算机存储介质 | |
US9507604B2 (en) | Boot method and boot system | |
CN109358882B (zh) | 一种电视终端进行固件升级的方法及装置 | |
US20050114852A1 (en) | Tri-phase boot process in electronic devices | |
KR20050028173A (ko) | 소프트웨어 업데이트 방법 및 시스템 | |
CN110825563B (zh) | 系统恢复方法、装置以及电子设备 | |
CN110597542B (zh) | 软件自动ota升级方法及装置、电子设备 | |
CN105745617A (zh) | 用于预启动固件更新的选择性功率管理 | |
CN109558160A (zh) | 升级方法、嵌入式系统 | |
WO2009074444A2 (en) | Updating firmware of an electronic device | |
US20140258699A1 (en) | Boot fault tolerant device and method thereof | |
CN106775874B (zh) | 终端设备的系统升级方法 | |
CN112860291B (zh) | 固件升级方法及装置 | |
CN110908722B (zh) | 应用于操作系统启动的方法、装置、电子设备及存储介质 | |
CN117130672A (zh) | 服务器启动流程控制方法、系统、终端及存储介质 | |
CN116954674A (zh) | eMMC固件升级方法、固件升级设备和存储装置 | |
US20200104112A1 (en) | Information extraction apparatus, and automatic firmware update system and method for embedded system | |
CN106528114A (zh) | 安卓固件应用、安卓固件和固件升级方法 | |
CN115951920A (zh) | 移动设备升级方法、装置、存储单元和移动设备 | |
CN114995852A (zh) | 一种设备升级方法、设备及计算机可读存储介质 | |
CN115756561A (zh) | 软件升级方法、装置、计算机设备以及存储介质 | |
KR20080023064A (ko) | 무선 통신 단말의 프로그램 갱신 방법 및 시스템 | |
JP2011175352A (ja) | ファームウエア更新装置、通信装置、電子機器、ファームウエア更新システム、ファームウエア更新方法及びプログラム | |
CN113721959A (zh) | 一种信息处理方法、装置及电子设备 | |
CN109428936B (zh) | App的升级方法、装置、系统、电子设备及存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190514 |
|
RJ01 | Rejection of invention patent application after publication |