软件升级差量包获取方法和相应的升级方法以及装置制造方法及图纸

技术编号:11097084 阅读:127 留言:0更新日期:2015-03-04 02:47
本发明专利技术涉及一种基于差量包的软件升级方法,具体而言,本发明专利技术提供一种软件升级差量包获取方法及装置,安装包和升级包中彼此存在差异的同名文件以源数据形式进行差分,从而得到体积更小的差量包。相应地,本发明专利技术还提供一种软件更新升级方法及装置,差量包依照升级包的zip文件内部结构还原升级包。本发明专利技术方案实现通过下载更小体积的差量包,使用户更省流量地快速实现软件的更新升级。

【技术实现步骤摘要】
软件升级差量包获取方法和相应的升级方法以及装置
本专利技术涉及基于差量包的应用软件升级,具体而言,本专利技术涉及软件升级差量包 获取方法和相应的升级方法以及装置。
技术介绍
随着移动互联网行业的不断发展,移动终端的应用程序越来越多,版本不断更新, 用户需要不断进行相应的应用软件升级才能保证软件的安全性和稳定性。当应用软件有升 级版本时,就需要下载安装更高版本的升级包,高版本的升级包通常体积较大,而完整下载 升级包会使用户消耗较多流量,等待更长的下载时间,同时也会消耗更多网络资源以及本 地文件的输入输出资源。 现有技术为了解决上述问题,通常采用差分算法直接对安装包和升级包进行二进 制差分,其中常用的差分算法有xdelta3、bsdiff、courgette,生成表征两者差异的差量包, 用户通过下载较小体积的差量包完成软件升级。申请号为201310642252. X的专利技术专利公 开了一种应用软件升级的方法及装置,采用对安装包和升级包进行二进制差分的方法得到 增量升级包,客户端通过下载匹配的增量升级包还原得到升级包。然而随着软件包的不断 更新升级,更小体积的差量包能够更好地满足应用软件频繁更新升级的需求,因此本专利技术 提供了生成更小体积的差量包方法以及相应的软件升级方法,可以使用户更省流量地进行 频繁软件更新,从而缩小软件的漏洞窗口,使用户更加安全地使用应用软件,并且对于连接 不稳定的用户来说,更小体积的升级包会更有利于更新升级。
技术实现思路
本专利技术的首要目的在于解决上述的至少一个问题,从而提供一种软件升级差量包 获取方法,以便生成体积更小的升级差量包。 本专利技术的另一目的在于与前一目的相应,而提供一种升级方法,以利用该差量包 实现软件升级。 为实现本专利技术的上述目的,本专利技术采用如下技术方案: 本专利技术提供了一种软件升级差量包获取方法,所述方法包括: 解析安装包和升级包内部结构,确定彼此存在差异的同名文件及升级包相对于安 装包的新增文件,并生成记录该些文件位置信息的配置文件; 记录升级包的所有内部结构信息,生成元数据文件; 解压缩安装包和升级包的所述存在差异的同名文件,将两者的所述存在差异的同 名文件以源数据形式对应进行差分以获得差量数据文件; 压缩所述配置文件、元数据文件、差量数据文件以及所述新增文件,获得所述升级 差量包。 具体的,所述配置文件包括差量配置文件和合并配置文件,其中: 所述差量配置文件,用于记录安装包的所述存在差异的同名文件的位置信息; 所述合并配置文件,用于记录升级包的所述存在差异的同名文件和所述新增文件 的位置信息。 进一步,所述合并配置文件还包括用于记录升级包的相对于安装包无差异的同名 文件的位置信息。 进一步,所述软件差量包获取方法还包括以下步骤: 通过多次尝试获取与升级包匹配的压缩参数,并记录于所述合并配置文件中; 采用所述适配压缩参数对所述差量数据文件的差量数据压缩。 具体的,所述元数据文件包括所述升级包内部结构中的中央目录、中央目录结束 标识以及每个文件的局部文件头、数据描述符。 本专利技术提供一种软件升级差量包获取装置,包括: [0021 ] 配置文件生成单元,用于生成记录安装包和升级包彼此存在差异的同名文件以及 升级包新增文件的位置信息; 元数据文件生成单元,用于记录升级包的所有内部结构信息; 差分单元,用于计算安装包和升级包中彼此存在差异的同名文件之间的差异; 压缩单元,用于对文件数据进行压缩和解压缩。 进一步,所述装置还包括: 适配单元,用于适配与升级包匹配的压缩参数。 具体的,所述配置文件包括差量配置文件和合并配置文件,其中: 所述差量配置文件,用于记录安装包的所述存在差异的同名文件的位置信息; 所述合并配置文件,用于记录升级包的所述存在差异的同名文件和所述新增文件 的位置信息。 进一步,所述合并配置文件还包括用于记录升级包的相对于安装包无差异的同名 文件的位置信息。 进一步,所述合并配置文件还包括与升级包匹配的适配压缩参数。 具体的,所述元数据文件包括所述升级包内部结构中的中央目录、中央目录结束 标识以及每个文件的局部文件头、数据描述符。 相应地,本专利技术还提供一种软件更新升级方法,所述方法包括: 解压缩差量包,获取其所包含的配置文件、元数据文件、差量数据文件以及新增文 件; 从安装包中获取相应记录于配置文件的第一文件位置信息,将所述差量数据文件 与所述第一文件对应以源数据形式合并以获得源数据形式的升级后的第一文件; 依据配置文件所记录的文件位置信息,将所述元数据文件、新增文件、第一文件以 及所述安装包中的其余相关文件还原为升级包; 安装该升级包。 具体的,所述配置文件包括差量配置文件和合并配置文件,其中: 所述差量配置文件,用于记录安装包的所述存在差异的同名文件的位置信息; 所述合并配置文件,用于记录升级包的所述存在差异的同名文件和所述新增文件 的位置信息。 进一步,所述合并配置文件还包括用于记录升级包的相对于安装包无差异的同名 文件的位置信息。 具体的,所述第一文件具体指安装包的相对于升级包存在差异的同名文件。 具体的,所述安装包中的其余相关文件具体指安装包中相对于升级包无差异的同 名文件。 进一步,所述还原升级包过程还包括,对安装包中相对于升级包压缩方式不同的 同名文件的数据进行重压缩。 具体的,所述重压缩采用记录于所述合并配置文件中的与升级包匹配的压缩参 数。 具体的,所述元数据文件包括所述升级包内部结构中的中央目录、中央目录结束 标识以及每个文件的局部文件头、数据描述符。 本专利技术提供一种软件更新升级装置,包括: 压缩单元,用于解压缩差量包以获取其包含的配置文件、元数据文件、差量数据文 件以及新增文件; 合并单元,用于以源数据形式合并安装包中对应于升级包存在差异的同名文件和 差量数据文件; 还原升级包单元,用于依照配置文件中的合并配置文件还原升级包; [0051 ] 安装单元,用于安装还原得到的升级包。 具体的,所述配置文件包括差量配置文件和合并配置文件,其中: 所述差量配置文件,用于记录安装包的所述存在差异的同名文件的位置信息; 所述合并配置文件,用于记录升级包的所述存在差异的同名文件和所述新增文件 的位置信息。 进一步,所述合并配置文件还包括用于记录升级包的相对于安装包无差异的同名 文件的位置信息。 具体的,所述元数据文件包括所述升级包内部结构中的中央目录、中央目录结束 标识以及每个文件的局部文件头、数据描述符。 具体的,所述压缩单元对安装包中相对于升级包压缩方式不同的同名文件的数据 进行重压缩。 进一步,所述压缩单元采用记录于所述合并配置文件中的与升级包匹配的压缩参 数。 相比现有技术,本专利技术具有如下优点: 1、本专利技术的差量包获取方法,由于将安装包和升级包的彼此存在差异的同名文件 以源数据形式对应进行差分,对未编码重排的源数据差分生成较短字节的差异数据,得到 体积更小的差量包,从而使用户能够更省流量本文档来自技高网...
软件升级差量包获取方法和相应的升级方法以及装置

【技术保护点】
一种软件升级差量包获取方法,其特征在于,包括以下步骤:解析安装包和升级包内部结构,确定彼此存在差异的同名文件及升级包相对于安装包的新增文件,并生成记录该些文件位置信息的配置文件;记录升级包的所有内部结构信息,生成元数据文件;解压缩安装包和升级包的所述存在差异的同名文件,将两者的所述存在差异的同名文件以源数据形式对应进行差分以获得差量数据文件;压缩所述配置文件、元数据文件、差量数据文件以及所述新增文件,获得所述升级差量包。

【技术特征摘要】
1. 一种软件升级差量包获取方法,其特征在于,包括以下步骤: 解析安装包和升级包内部结构,确定彼此存在差异的同名文件及升级包相对于安装包 的新增文件,并生成记录该些文件位置信息的配置文件; 记录升级包的所有内部结构信息,生成元数据文件; 解压缩安装包和升级包的所述存在差异的同名文件,将两者的所述存在差异的同名文 件以源数据形式对应进行差分以获得差量数据文件; 压缩所述配置文件、元数据文件、差量数据文件以及所述新增文件,获得所述升级差量 包。2. 根据权利要求1所述的软件升级差量包获取方法,其特征在于,所述配置文件包括 差量配置文件和合并配置文件,其中: 所述差量配置文件,用于记录安装包的所述存在差异的同名文件的位置信息; 所述合并配置文件,用于记录升级包的所述存在差异的同名文件和所述新增文件的位 置信息。3. 根据权利要求2所述的软件差量包获取方法,其特征在于,所述合并配置文件还包 括用于记录升级包的相对于安装包无差异的同名文件的位置信息。4. 根据权利要求1所述的软件差量包获取方法,其特征在于,还包括以下步骤: 通过多次尝试获取与升级包匹配的压缩参数,并记录于所述合并配置文件中; 采用所述适配压缩参数对所述差量数据文件的差量数据压缩。5. 根据权利要求1所述的软件升级差量包获取方法,其特征在于,所述元数据文件包 括所述升级包内部结构中的中央目录、中央目录结束标识以及每个文件的局部文件头、数 据描述符。6. -种软件升级差量包获取装置,其特征在于,包括: 配置文件生成单元,用于生成记录安装包和升级包彼此存在差异的同...

【专利技术属性】
技术研发人员:田野李宝生韩三普李昀臻
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:北京;11

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

1