[发明专利]一种实现升级包制作的方法及装置在审
申请号: | 201410385176.3 | 申请日: | 2014-08-06 |
公开(公告)号: | CN105335182A | 公开(公告)日: | 2016-02-17 |
发明(设计)人: | 宋沈阳 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 张建秀;李丹 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 升级 制作 方法 装置 | ||
技术领域
本申请涉及软件升级技术,尤指一种基于块设备的实现升级包制作的方法及装置。
背景技术
随着智能手机愈来愈普及,人们对智能手机的要求也越来越高,尤其是手机的信息安全更是备受重视。系统开发者以及设备制造商也在从各个方面尝试加强手机的安全性。Android智能手机系统开发商Google在最新版本中推出了系统镜像完整性校验功能,该功能通过每次开机对系统镜像进行完整性校验的方法确保智能手机系统没有被攻击者进行恶意篡改,但是这一机制不能与目前android系统广泛应用的空中下载技术(OTA)升级机制兼容工作。
图1为现有的升级机制示意图,如图1所示,现有Android终端系统升级的方法大致包括:在生产过程中比较系统中对应文件的差别,通过计算出相应的二进制差分数据,根据二进制差分数据将升级文件打包成OTA升级包;移动终端根据升级包将系统中对应文件升级至新版本,达到整个系统升级的目的。
虽然升级后系统文件的内容保持与新版本一致,但是由于升级过程中每个具体文件的修改顺序,修改方法都不同。即,在升级过程中将系统文件的镜像文件由旧版本更新至新版本,每个文件更新的顺序是由升级程序决定。旧的系统的镜像文件的升级顺序与重新构建一个完整的新的系统的镜像文件是完全不同的,并且更新后的文件具体写入物理存储设备的位置、也是由文件系统根据自己的算法以及当前设备可用空间位置计算出来的。这些都会导致由旧版本到新构建的系统镜像文件在文件系统底层是不相同的,即导致关于系统文件的元数据被修改了。这样,是不满足系统镜像完整性校验功能的规范的,会导致升级后系统镜像校验失败。为解决这一问题,Android提出的方法主要是将整个升级的镜像文件作为一个单独的文件,从块设备层面上进行二进制差分比较。这样虽然可以满足系统镜像完整性校验功能的规范,但是,android系统镜像非常大(一般大约在600M-1G字节左右),将整个升级的镜像文件与升级前的镜像文件作为整体进行二进制差分,整个升级过程对资源和时间消耗巨大,通过验证确定,采用一般个人电脑完成上述过程大约需要几天的时间。也就是说,将升级文件作为单独文件进行二进制差分的方法,虽然能满足系统镜像完整性校验功能的规范,但并不具备可生产性即不可行。
发明内容
为了解决上述问题,本发明提供一种实现升级包制作的方法及装置,能够满足系统镜像完整性校验功能的规范,同时减少升级包制作时长,适用于生产。
为了达到本发明的目的,本申请提供一种升级包制作的方法;包括:
根据确定的用于制作升级包的数据块的大小,分别对升级前的镜像文件和升级的镜像文件进行数据块划分,并按照相同的排序方式对划分的数据块进行排序;
对排序位置相同的升级的镜像文件的数据块和升级前的镜像文件的数据块,分别计算各对应数据块的偏移量;
根据计算出的偏移量对发生偏移的升级的镜像文件的数据块进行调整,以制作升级包。
进一步地,该方法之前还包括:根据升级的镜像文件大小确定用于制作升级包的数据块的大小。
进一步地,根据升级的镜像文件大小确定用于制作升级包的数据块的大小具体包括:
当升级的镜像文件小于600兆M时,确定所述用于制作升级包的数据块的大小为4M;
当升级的镜像文件大于等于600M且小于1.2G时,确定所述用于制作升级包的数据块的大小为8M;
当升级的镜像文件大于等于1.2G且小于1.8G时,确定所述用于制作升级包的数据块的大小为12M;
当升级的镜像文件大于等于1.8G且小于2.4G时,确定所述用于制作升级包的数据块的大小为16M;
当升级的镜像文件大于等于2.4G且小于3G时,确定所述用于制作升级包的数据块的大小为20M;
当升级的镜像文件大于等于3G时,确定所述用于制作升级包的数据块的大小为24M。
进一步地,分别对升级前的镜像文件和升级的镜像文件进行数据块划分,并按照相同的排序方式对划分的数据块进行排序具体包括:
分别对所述升级前的镜像文件和升级的镜像文件划分的若干个大小相同的数据块,按照递增排序的排序方式对所述划分的数据块进行排序。
进一步地,计算各对应数据块的偏移量包括:
对排序位置相同的升级的镜像文件的数据块和升级前的镜像文件的数据块,分别计算各对应数据块相对应的偏移量。
进一步地,根据计算出的偏移量对发生偏移的升级的镜像文件的数据块进行调整,以制作升级包包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410385176.3/2.html,转载请声明来源钻瓜专利网。