【技术实现步骤摘要】
一种生成差分包的方法及装置
本专利技术涉及软件升级领域,尤其涉及一种生成差分包的方法及装置。
技术介绍
移动设备供应商在移动设备制作时,除组装移动设备的硬件外,还需要在硬件中安装系统软件及应用软件,移动设备才能出厂并销售。用户在购买了该移动设备后,为了解决用户已使用的移动设备存在的漏洞或者完善移动设备的功能,移动设备供应商需要对系统软件或应用软件进行及时、高效、准确的升级。 移动设备的软件升级方式通常有T(T-Flash)卡升级(主要用于生产和售后)、全包升级及差分升级。其中,差分包升级以其占用存储空间小,耗费流量少,升级速度快等优点,在软件升级方面被广泛应用。 现有技术中,进行差分升级的全过程大致分为以下步骤: 步骤一:生成原始版本。首先根据需求编写源代码,对源代码进行编译,生成原始版本的数据文件和升级所需所有文件,将数据文件转换为img格式生成数据映像文件,并将升级所需的所有文件打包、压缩生成原始版本的差分资源包,其中数据文件包括制作T卡升级包的所有文件,差分资源包中包括与数据文件用相同源代编译得到的文件。 步骤二:根据数据映像文件打包生成T卡升级包,用T卡升级包将移动设备升级至原始版本; 步骤三:在源代码的基础上,根据升级的要求,对源代码进行修改并编译,得到目标版本的差分资源包,利用目标版本的差分资源包和原始版本的差分资源包生成差分包,将差分包存储至服务器以供移动设备下载; 步骤四:移动设备从服务器中获取差分包,根据差分包对移动设备进行升级。 在生成原始版本的差分资源包的过程中,专利技术人发现现有技术存在如下问题 ...
【技术保护点】
一种生成差分包的方法,包括:获取原始版本的差分资源包以及目标版本的差分资源包,并利用所述原始版本的差分资源包和所述目标版本的差分资源包生成差分包,其特征在于,所述获取原始版本的差分资源包包括:编译原始版本的源代码生成数据文件和差分资源包;所述差分资源包中包含差分用文件,所述数据文件中包含与所述差分用文件使用相同部分源代码编译得到的备份文件;确定所述备份文件与所述差分用文件是否相同;在所述备份文件与所述差分用文件不相同的情况下,重新编译所述原始版本的源代码生成更新后的数据文件和更新后的差分资源包;或者,将所述差分用文件更新至与所述备份文件相同,得到更新后的差分资源包;所述数据文件用于生成将移动设备升级至所述原始版本所需的数据映像文件;在所述备份文件与所述差分用文件相同的情况下,将所述差分资源包确定为原始版本的差分资源包。
【技术特征摘要】
1.一种生成差分包的方法,包括:获取原始版本的差分资源包以及目标版本的差分资源包,并利用所述原始版本的差分资源包和所述目标版本的差分资源包生成差分包,其特征在于,所述获取原始版本的差分资源包包括: 编译原始版本的源代码生成数据文件和差分资源包;所述差分资源包中包含差分用文件,所述数据文件中包含与所述差分用文件使用相同部分源代码编译得到的备份文件;确定所述备份文件与所述差分用文件是否相同; 在所述备份文件与所述差分用文件不相同的情况下,重新编译所述原始版本的源代码生成更新后的数据文件和更新后的差分资源包;或者,将所述差分用文件更新至与所述备份文件相同,得到更新后的差分资源包;所述数据文件用于生成将移动设备升级至所述原始版本所需的数据映像文件; 在所述备份文件与所述差分用文件相同的情况下,将所述差分资源包确定为原始版本的差分资源包。2.根据权利要求1所述的方法,其特征在于, 所述确定所述备份文件与所述差分用文件是否相同包括: 根据哈希算法分别计算所述备份文件的哈希值以及所述差分用文件的哈希值; 在所述备份文件的哈希值与所述差分用文件的哈希值相同的情况下,确定所述备份文件与所述差分用文件相同; 在所述备份文件的哈希值与所述差分用文件的哈希值不相同的情况下,确定所述备份文件与所述差分用文件不相同。3.根据权利要求1所述的方法,其特征在于, 所述确定所述备份文件与所述差分用文件是否相同包括: 根据所述哈希算法分别计算所述备份文件中每一文件的哈希值以及所述差分用文件中每一文件的哈希值; 在所述备份文件中每一文件的哈希值与所述差分用文件中对应的文件的哈希值相同的情况下,确定所述备份文件与所述差分用文件相同; 在所述备份文件中每一文件的哈希值与所述差分用文件中对应的文件的哈希值不相同的情况下,确定所述备份文件与所述差分用文件不相同。4.根据权利要求2或3所述的方法,其特征在于,所述将所述差分用文件更新至与所述备份文件相同包括: 用拷贝的所述备份文件替换所述差分用文件。5.根据权利要求3所述的方法,其特征在于,所述将所述差分用文件更新至与所述备份文件相同包括: 用拷贝的所述备份文件中的第一文件替换所述差分用文件中与所述第一文件对应的文件;所述第一文件是所述备份文件中文件的哈希值与所述差分用文件中对应的文件的哈希值不同的文件。6.根据权利要求3或5所述的方法,其特征在于, 所述根据所述哈希算法分别计算所述备份文件中每一文件的哈希值以及所述差分用文件中每一文件的哈希值包括: 向图形处理器发送第一内核函数Kernel的调用请求;所述第一 Kernel用于指示所述图形处理器根据所述哈希算法对所述备份文件中每一文件进行哈希计算; 从所述图形处理器获取所述第一 Kernel的返回值;所述第一 Kernel的返回值包括所述备份文件中每一文件的哈希值; 向所述图形处理器发送第二 Kernel的调用请求;所述第二 Kernel用于指示所述图形处理器根据所述哈希算法对所述差分用文件中每一文件进行哈希计算; 从所述图形处理器获取所述第二 Kernel的返回值;所述第二 Kernel的返回值包括所述差分用文件中每一文件的哈希值。7.根据权利要求1)6任一项所述的方法,其特征在于,所述重新编译所述原始版本的源代码生成更新后的数据文件和更新后的差分资源包包括: 重新编译所述原始版本的源代码生成更新后的数据文件和更新后的差分资源包,确定所述更新后的数据文件中的备份文件与所述更新后的差分资源包中的差分用文件是否相同,在所述更新后的数据文件中的备份文件与所述更新后的差分资源包中的差分用文件不相同的情况下,跳转至重新编译所述原始版本的源代码生成更新后的数据文件和更新后的差分资源包,直至所述更新后的数据文件中的备份文件与所述更新后的差分资源包中的差分用文件相同。8.—种...
【专利技术属性】
技术研发人员:朱晓亮,刘薇,张景新,
申请(专利权)人:青岛海信移动通信技术股份有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。