一种实现OTA升级的方法和终端技术

技术编号:12886039 阅读:42 留言:0更新日期:2016-02-17 17:07
本发明专利技术公开了一种实现OTA升级的方法和终端,所述方法中,待升级终端的系统镜像文件以数据块的形式存储;具体地,所述方法包括:获取并解析OTA升级包,得到面向于系统镜像文件的各差分升级文件;从系统镜像文件中读取与各差分升级文件对应的数据块,对相应的数据块进行升级操作,以实现对系统镜像文件的升级。本发明专利技术使用拆分后的系统镜像文件作为差分比较的数据而不是使用文件系统中的文件,这样文件系统的元数据也被包含在差分数据包中,升级过程不会修改文件系统的元数据,升级后终端中的镜像与生产过程中的镜像完全一致,不会与系统校验机制冲突,实现了OTA升级机制与系统镜像校验机制的有效结合。

【技术实现步骤摘要】

本专利技术涉及通信
,尤其涉及一种实现OTA (Over The Air,空中下载技术)升级的方法和终端。
技术介绍
随着智能手机愈来愈广泛的普及,人们对智能手机的要求也越来越高,尤其是手机的信息安全更是备受重视。系统开发者以及设备制造商也在从各个方面尝试加强手机的安全性。Android智能手机系统开发商Google在最新版本中推出了系统镜像完整性校验功能,该功能通过每次开机对系统镜像进行完整性校验的方法确保其没有被攻击者进行恶意篡改,但是这一机制不能与目前Android系统广泛应用的OTA升级机制兼容工作。具体地,Android智能平台目前广泛应用OTA升级机制原理如图1所示,该升级方法是通过在生产过程中比较系统中对应文件的差别,计算出相应的差分数据,打包成OTA升级包;然后在手机侧通过该升级包将系统中对应文件升级至新版本,达到整个系统升级的目的。然后,该机制的问题是,虽然升级后系统文件的内容保持与新版本一致,但是由于升级过程中每个具体文件的修改顺序,修改方法都不同,所以导致从系统层面的角度上看,文件系统的元数据被修改了,所以当这种方式与Android的系统完整性校验一起工作的时候,就会导致升级后系统镜像校验失败。所以,如何既可以实现OTA升级,又可以兼容系统镜像校验机制,成为目前亟待解决的技术问题。
技术实现思路
本专利技术提供一种实现OTA升级的方法和终端,用以解决现有技术中的OTA升级技术无法兼容系统镜像校验机制的问题。依据本专利技术的一个方面,提供一种实现OTA升级的方法,所述方法中,待升级终端的系统镜像文件以数据块的形式存储;具体地,所述方法包括:获取并解析OTA升级包,得到面向于系统镜像文件的各差分升级文件;从系统镜像文件中读取与各差分升级文件对应的数据块,对相应的数据块进行升级操作,以实现对系统镜像文件的升级。可选地,本专利技术所述方法中,所述差分升级文件的文件头中包含有用以指示该差分升级文件对应的数据块在系统镜像文件中的偏移量字段、以及用以指示数据块大小的Size字段;所述从系统镜像文件中读取与各差分升级文件对应的数据块,具体包括:根据各差分升级文件头中的偏移量字段和Size字段,在所述系统镜像文件中读取与各差分升级文件对应的数据块。可选地,本专利技术所述方法中,所述差分升级文件的文件头中还包括用以判定差分升级文件是否有效的魔术字符串字段;所述方法还包括:当得到面向于系统镜像文件的各差分升级文件时,根据各差分升级文件的魔术字符串字段,检测各差分升级文件的有效性,并在各差分升级文件有效时,触发读取对应数据块的操作。可选地,本专利技术所述方法中,所述对相应的数据块进行升级操作,以实现对系统镜像文件的升级,具体包括:将与各差分升级文件对应的数据块读入内存;针对内存中的各数据块,将各差分升级文件补丁应用到对应的数据块中;将升级后的数据块写入待升级终端设备,实现对系统镜像文件的升级。可选地,本专利技术所述方法中,所述从系统镜像文件中读取与各差分升级文件对应的数据块,对相应的数据块进行升级操作,具体包括:调用系统函数,为每个差分升级文件分别创建一个处理进程,每个处理进程调取对应的差分升级文件,并从系统镜像文件中读取与该差分升级文件对应的数据块进行升级操作,以实现对各待升级数据块的并发升级。依据本专利技术的另一个方面,提供一种实现OAT升级的终端,所述终端中的系统镜像文件以数据块的形式存储;所述终端具体包括:信息获取模块,用于获取并解析OTA升级包,得到面向于系统镜像文件的各差分升级文件;升级模块,用于从系统镜像文件中读取与各差分升级文件对应的数据块,对相应的数据块进行升级操作,以实现对系统镜像文件的升级。可选地,本专利技术所述终端中,所述差分升级文件的文件头中包含有用以指示该差分升级文件对应的数据块在系统镜像文件中的偏移量字段、以及用以指示数据块大小的Size字段;所述升级模块,具体用于根据各差分升级文件头中的偏移量字段和Size字段,在所述系统镜像文件中读取与各差分升级文件对应的数据块。可选地,本专利技术所述终端中,所述差分升级文件的文件头中还包括用以判定差分升级文件是否有效的魔术字符串字段;所述信息获取模块,还用于当所述信息获取模块得到面向于系统镜像文件的各差分升级文件时,根据各差分升级文件的魔术字符串字段,检测各差分升级文件的有效性,并在各差分升级文件有效时,触发所述升级模块。可选地,本专利技术所述终端中,所述升级模块,具体用于将与各差分升级文件对应的数据块读入内存,针对内存中的各数据块,将各差分升级文件补丁应用到对应的数据块中,将升级后的数据块写入终端设备,实现对系统镜像文件的升级。可选地,本专利技术所述终端中,所述升级模块,进一步用于调用系统函数,为每个差分升级文件分别创建一个处理进程,利用每个处理进程调取对应的差分升级文件,并从系统镜像文件中读取与对应差分升级文件对应的数据块进行升级操作,以实现对各待升级数据块的并发升级。本专利技术有益效果如下:首先,本专利技术使用拆分后的系统镜像文件作为差分比较的数据而不是使用文件系统中的文件,这样文件系统的元数据也被包含在差分数据包中,升级过程不会修改文件系统的元数据,升级后终端中的镜像与生产过程中的镜像完全一致,不会与系统校验机制冲突,实现了 OTA升级机制与系统镜像校验机制的有效结合;其次,本专利技术所使用的OTA升级可以实现对系统镜像的并发升级,极大的提高了升级效率。【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为现有技术中Android平台OTA升级机制的示意图;图2为本专利技术实施例提供的一种实现OTA升级的方法的流程图;图3为本专利技术实施例中OTA升级包中差分升级文件的结构图;图4为本专利技术实施例中提供的实现OTA升级的方法的又一流程图;图5为本专利技术实施例中OTA升级机制的示意图;图6为本专利技术实施例提供的一种实现OTA升级的终端的结构框图。【具体实施方式】下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。为了解决现有技术中OTA升级技术无法兼容系统镜像校验机制的问题,本专利技术提供一种实现OTA升级的方法和终端,该方法是一种有效可行的面向块设备的Android平台OTA升级方式,其能够使Android系统的OTA升级机制与系统校验机制有效的结合工作。下面就通过几个具体实施例对本专利技术的详细实施过程进行阐述。实施例一本专利技术实施例提供一种实现OTA升级的方法,所述方法中,待升级终端的系统镜像文件以数据块的形式存储。具体的,如图2所示,所述方法包括:步骤S201,获取并解析OTA升级包,得到面向于系统镜像文件的各差分升级文件;其中,差分升级文件的文件头中至少包含有用以指示该差分升级文件对应的数据块在系统镜像文件中的偏移量字段、以及用以指示数据块大小的S本文档来自技高网...

【技术保护点】
一种实现OTA升级的方法,其特征在于,所述方法中,待升级终端的系统镜像文件以数据块的形式存储;所述方法包括:获取并解析OTA升级包,得到面向于系统镜像文件的各差分升级文件;从系统镜像文件中读取与各差分升级文件对应的数据块,对相应的数据块进行升级操作,以实现对系统镜像文件的升级。

【技术特征摘要】

【专利技术属性】
技术研发人员:宋沈阳双丹
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1