一种生成差分包的方法及装置制造方法及图纸

技术编号:10868837 阅读:127 留言:0更新日期:2015-01-07 10:18
本发明专利技术提供了一种生成差分包的方法及装置,涉及升级领域,用以降低因原始版本的差分资源包发生改变造成的差分包与移动设备使用的原始版本不匹配导致的移动设备差分升级失败的概率。该方法包括:获取原始版本的差分资源包以及目标版本的差分资源包,并利用原始版本的差分资源包和目标版本的差分资源包生成差分包,其中,获取原始版本的差分资源包包括:编译原始版本的源代码生成数据文件和差分资源包;确定数据文件中的备份文件与差分资源包中的差分用文件是否相同;在两者不相同的情况下,重新编译源代码生成更新后的数据文件和更新后的差分资源包;或者,将差分用文件更新至与备份文件相同,得到更新后的差分资源包。

【技术实现步骤摘要】
一种生成差分包的方法及装置
本专利技术涉及软件升级领域,尤其涉及一种生成差分包的方法及装置。
技术介绍
移动设备供应商在移动设备制作时,除组装移动设备的硬件外,还需要在硬件中安装系统软件及应用软件,移动设备才能出厂并销售。用户在购买了该移动设备后,为了解决用户已使用的移动设备存在的漏洞或者完善移动设备的功能,移动设备供应商需要对系统软件或应用软件进行及时、高效、准确的升级。 移动设备的软件升级方式通常有T(T-Flash)卡升级(主要用于生产和售后)、全包升级及差分升级。其中,差分包升级以其占用存储空间小,耗费流量少,升级速度快等优点,在软件升级方面被广泛应用。 现有技术中,进行差分升级的全过程大致分为以下步骤: 步骤一:生成原始版本。首先根据需求编写源代码,对源代码进行编译,生成原始版本的数据文件和升级所需所有文件,将数据文件转换为img格式生成数据映像文件,并将升级所需的所有文件打包、压缩生成原始版本的差分资源包,其中数据文件包括制作T卡升级包的所有文件,差分资源包中包括与数据文件用相同源代编译得到的文件。 步骤二:根据数据映像文件打包生成T卡升级包,用T卡升级包将移动设备升级至原始版本; 步骤三:在源代码的基础上,根据升级的要求,对源代码进行修改并编译,得到目标版本的差分资源包,利用目标版本的差分资源包和原始版本的差分资源包生成差分包,将差分包存储至服务器以供移动设备下载; 步骤四:移动设备从服务器中获取差分包,根据差分包对移动设备进行升级。 在生成原始版本的差分资源包的过程中,专利技术人发现现有技术存在如下问题:数据文件在根据源代码编译后不会改变,而差分资源包中包含的与数据文件对应的文件在打包、压缩等过程中可能导致文件发生改变,例如,文件包含的长度发生变化,或者文件包含的内容发生改变,或者文件的签名改变等。这样会导致数据文件与差分资源包中与数据文件对应的文件不同,也就是说,将数据文件进行格式转换后的数据映像文件与差分资源包中与数据文件对应的文件不同,即数据映像文件与差分资源包不匹配。若继续根据数据映像文件将移动设备升级至原始版本,并根据该差分资源包与目标版本的差分资源包生成差分包,那么移动设备在根据该差分包升级至目标版本的过程中,可能由于差分包与移动设备使用的原始版本不匹配,最终导致移动设备差分升级失败。
技术实现思路
本专利技术的实施例提供一种生成差分包的方法及装置,用以降低因原始版本的差分资源包发生改变造成的差分包与移动设备使用的原始版本不匹配导致的移动设备差分升级失败的概率。 为达到上述目的,本专利技术的实施例采用如下技术方案: 第一方面,本专利技术实施例提供了一种生成差分包的方法,包括:获取原始版本的差分资源包以及目标版本的差分资源包,并利用所述原始版本的差分资源包和所述目标版本的差分资源包生成差分包,其中,所述获取原始版本的差分资源包包括:编译原始版本的源代码生成数据文件和差分资源包;所述差分资源包中包含差分用文件,所述数据文件中包含与所述差分用文件使用相同部分源代码编译得到的备份文件;确定所述备份文件与所述差分用文件是否相同;在所述备份文件与所述差分用文件不相同的情况下,重新编译所述原始版本的源代码生成更新后的数据文件和更新后的差分资源包;或者,将所述差分用文件更新至与所述备份文件相同,得到更新后的差分资源包;所述数据文件用于生成将移动设备升级至所述原始版本所需的数据映像文件;在所述备份文件与所述差分用文件相同的情况下,将所述差分资源包确定为原始版本的差分资源包。 第二方面,本专利技术实施例提供了一种生成差分包的装置,包括:获取单元和生成单元,所述获取单元,用于获取原始版本的差分资源包以及目标版本的差分资源包,所述生成单元,用于利用所述原始版本的差分资源包和所述目标版本的差分资源包生成差分包,其中,所述获取单元包括:处理模块和确定模块;所述处理模块,用于编译原始版本的源代码生成数据文件和差分资源包;所述差分资源包中包含差分用文件,所述数据文件中包含与所述差分用文件使用相同部分源代码编译得到的备份文件;所述确定模块,用于确定所述备份文件与所述差分用文件是否相同;所述处理模块,还用于在所述备份文件与所述差分用文件不相同的情况下,重新编译所述原始版本的源代码生成更新后的数据文件和更新后的差分资源包;或者,将所述差分用文件更新至与所述备份文件相同,得到更新后的差分资源包;所述数据文件用于生成将移动设备升级至所述原始版本所需的数据映像文件;所述处理模块,还用于在所述备份文件与所述差分用文件相同的情况下,将所述差分资源包确定为原始版本的差分资源包。 本专利技术实施例提供一种生成差分包的方法及装置,编译原始版本的源代码生成数据文件和差分资源包;确定数据文件中的备份文件与差分资源包中的差分用文件是否相同;在两者不相同的情况下,重新编译原始版本的源代码生成更新后的数据文件和更新后的差分资源包;或者,将差分用文件更新至与备份文件相同,得到更新后的差分资源包;数据文件用于生成将所述移动设备升级至所述原始版本所需的数据映像文。 对于第一种处理方式,在编译源代码后,需要判断差分资源包中制作差分包时需要进行差分的文件(即差分用文件)与数据文件中对应的文件(即备份文件)是否相同,在两者不相同的情况下,对源代码重新编译得到更新后的数据文件和差分资源包,然后根据更新后的数据文件制作的数据映像文件对移动设备进行升级,并根据更新后的差分资源包与目标版本的差分资源包生成差分包,这样,相对于现有技术,能够减小原始版本的数据文件中备份文件与差分资源包中差分用文件不相同的概率,继而根据原始版本的数据文件转换格式后的数据映像文件将移动设备升级至原始版本与根据原始版本的差分资源包和目标版本的差分资源包生成的差分包匹配成功的可能性增大,最终降低了移动设备差分升级失败的概率。 对于第二种处理方式,在编译源代码后,需要判断差分资源包中制作差分包时需要进行差分的文件(即差分用文件)与数据文件中对应的文件(即备份文件)是否相同,在两者不相同的情况下,将差分用文件更新至与备份文件相同,得到更新后的差分资源包,这样,就能保证差分用文件与备份文件相同,即保证了差分资源包与数据文件匹配,进一步保证了根据原始版本的数据文件转换格式后的数据映像文件将移动设备升级至原始版本与根据原始版本的差分资源包和目标版本的差分资源包生成的差分包匹配,最终降低了移动设备差分升级失败的概率。 【附图说明】 为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 图1为本专利技术实施例提供的一种生成差分包的方法的流程示意图; 图2为本专利技术实施例提供的一种差分资源包的示意图; 图3为本专利技术实施例提供的一种获取原始版本的差分资源包的方法的流程示意图; 图4为本专利技术实施例提供的另一种获取原始版本的差分资源包的方法的流程示意图; 图5为本专利技术实施例提供的一种根据所述哈希算法分别计算所述备份文件中每一文件的哈希值以及所述差分用文件中每一文件的本文档来自技高网
...
一种生成差分包的方法及装置

【技术保护点】
一种生成差分包的方法,包括:获取原始版本的差分资源包以及目标版本的差分资源包,并利用所述原始版本的差分资源包和所述目标版本的差分资源包生成差分包,其特征在于,所述获取原始版本的差分资源包包括:编译原始版本的源代码生成数据文件和差分资源包;所述差分资源包中包含差分用文件,所述数据文件中包含与所述差分用文件使用相同部分源代码编译得到的备份文件;确定所述备份文件与所述差分用文件是否相同;在所述备份文件与所述差分用文件不相同的情况下,重新编译所述原始版本的源代码生成更新后的数据文件和更新后的差分资源包;或者,将所述差分用文件更新至与所述备份文件相同,得到更新后的差分资源包;所述数据文件用于生成将移动设备升级至所述原始版本所需的数据映像文件;在所述备份文件与所述差分用文件相同的情况下,将所述差分资源包确定为原始版本的差分资源包。

【技术特征摘要】
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

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

1