[发明专利]软件升级差量包获取方法和相应的升级方法以及装置有效
| 申请号: | 201410773855.8 | 申请日: | 2014-12-12 |
| 公开(公告)号: | CN104391728B | 公开(公告)日: | 2018-01-16 |
| 发明(设计)人: | 田野;李宝生;韩三普;李昀臻 | 申请(专利权)人: | 北京奇虎科技有限公司;奇智软件(北京)有限公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445;H04L29/08 |
| 代理公司: | 北京市立方律师事务所11330 | 代理人: | 王增鑫 |
| 地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 软件 升级 差量包 获取 方法 相应 以及 装置 | ||
技术领域
本发明涉及基于差量包的应用软件升级,具体而言,本发明涉及软件升级差量包获取方法和相应的升级方法以及装置。
背景技术
随着移动互联网行业的不断发展,移动终端的应用程序越来越多,版本不断更新,用户需要不断进行相应的应用软件升级才能保证软件的安全性和稳定性。当应用软件有升级版本时,就需要下载安装更高版本的升级包,高版本的升级包通常体积较大,而完整下载升级包会使用户消耗较多流量,等待更长的下载时间,同时也会消耗更多网络资源以及本地文件的输入输出资源。
现有技术为了解决上述问题,通常采用差分算法直接对安装包和升级包进行二进制差分,其中常用的差分算法有xdelta3、bsdiff、courgette,生成表征两者差异的差量包,用户通过下载较小体积的差量包完成软件升级。申请号为201310642252.X的发明专利公开了一种应用软件升级的方法及装置,采用对安装包和升级包进行二进制差分的方法得到增量升级包,客户端通过下载匹配的增量升级包还原得到升级包。然而随着软件包的不断更新升级,更小体积的差量包能够更好地满足应用软件频繁更新升级的需求,因此本发明提供了生成更小体积的差量包方法以及相应的软件升级方法,可以使用户更省流量地进行频繁软件更新,从而缩小软件的漏洞窗口,使用户更加安全地使用应用软件,并且对于连接不稳定的用户来说,更小体积的升级包会更有利于更新升级。
发明内容
本发明的首要目的在于解决上述的至少一个问题,从而提供一种软件升级差量包获取方法,以便生成体积更小的升级差量包。
本发明的另一目的在于与前一目的相应,而提供一种升级方法,以利用该差量包实现软件升级。
为实现本发明的上述目的,本发明采用如下技术方案:
本发明提供了一种软件升级差量包获取方法,所述方法包括:
解析安装包和升级包内部结构,确定彼此存在差异的同名文件及升级包相对于安装包的新增文件,并生成记录该些文件位置信息的配置文件;
记录升级包的所有内部结构信息,生成元数据文件;
解压缩安装包和升级包的所述存在差异的同名文件,将两者的所述存在差异的同名文件以源数据形式对应进行差分以获得差量数据文件;
压缩所述配置文件、元数据文件、差量数据文件以及所述新增文件,获得所述升级差量包。
具体的,所述配置文件包括差量配置文件和合并配置文件,其中:
所述差量配置文件,用于记录安装包的所述存在差异的同名文件的位置信息;
所述合并配置文件,用于记录升级包的所述存在差异的同名文件和所述新增文件的位置信息。
进一步,所述合并配置文件还包括用于记录升级包的相对于安装包无差异的同名文件的位置信息。
进一步,所述软件差量包获取方法还包括以下步骤:
通过多次尝试获取与升级包匹配的压缩参数,并记录于所述合并配置文件中;
采用所述适配压缩参数对所述差量数据文件的差量数据压缩。
具体的,所述元数据文件包括所述升级包内部结构中的中央目录、中央目录结束标识以及每个文件的局部文件头、数据描述符。
本发明提供一种软件升级差量包获取装置,包括:
配置文件生成单元,用于生成记录安装包和升级包彼此存在差异的同名文件以及升级包新增文件的位置信息;
元数据文件生成单元,用于记录升级包的所有内部结构信息;
差分单元,用于计算安装包和升级包中彼此存在差异的同名文件之间的差异;
压缩单元,用于对文件数据进行压缩和解压缩。
进一步,所述装置还包括:
适配单元,用于适配与升级包匹配的压缩参数。
具体的,所述配置文件包括差量配置文件和合并配置文件,其中:
所述差量配置文件,用于记录安装包的所述存在差异的同名文件的位置信息;
所述合并配置文件,用于记录升级包的所述存在差异的同名文件和所述新增文件的位置信息。
进一步,所述合并配置文件还包括用于记录升级包的相对于安装包无差异的同名文件的位置信息。
进一步,所述合并配置文件还包括与升级包匹配的适配压缩参数。
具体的,所述元数据文件包括所述升级包内部结构中的中央目录、中央目录结束标识以及每个文件的局部文件头、数据描述符。
相应地,本发明还提供一种软件更新升级方法,所述方法包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;奇智软件(北京)有限公司,未经北京奇虎科技有限公司;奇智软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410773855.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于Root权限的程序升级方法及装置
- 下一篇:一种调试时代码动态更新方法





