A method and a device manufacturing method and device for the upgrade package, upgrade file, making the upgrade package, the original source file compression format and original object files were pretreatment, the pretreatment including separation, decompression and merge; obtained after pretreatment of the new source and new target file making upgrade package based on. The upgrade file, pretreatment of separating, decompression and merge the original upgrade file to be compressed, get a new file to be upgraded; using differential upgrade package to upgrade the new file to be upgraded, the compression part of decompression after the upgrade of the compression, then rise after decompression and non the compression part of the merger, to complete the upgrade process. A corresponding device is also provided for the application. This application can reduce the size of the upgrade package, simplify processing, and enhance user experience.
【技术实现步骤摘要】
升级包制作方法及装置、升级文件的方法及装置
本专利技术涉及软件升级,更具体地,涉及升级包制作方法及装置,以及升级文件的方法及装置。
技术介绍
目前,在制作固件(Firmware)差分升级包时,如果固件镜像文件采用了某种压缩算法进行压缩,那么,使用现有类BSDIFF(BinaryDiff,二进制差异)算法制作生成的固件差分包尺寸会非常大。以目前主流的gzip(GNUzip,GNU自由软件的文件压缩程序)压缩为例,如果需要制作差分升级包的固件镜像文件经过了gzip压缩,那么通常情况下制作出的升级包尺寸为固件源文件尺寸的80%-90%,完全违背了差分升级包与源版本尺寸相比,比例要求尽量小的初衷。如果设备版本中存在多个这种类型的固件镜像文件,最终合并生成的完整固件差分升级包尺寸会非常大,这样的结果将会导致用户下载升级包时间变长,出错的概率和升级的时间相对升高,流量消耗增大,为用户带来了极其不好的体验。在相关技术中,比较常用的制作差分升级包的算法是BSDIFF差分算法,而行业内比较著名的有Redbend的FOTA(FirmwareOverTheAir,空口固件升级)差分升级 ...
【技术保护点】
一种升级包制作方法,包括:对压缩格式的原始源文件和压缩格式的原始目标文件分别进行预处理,所述预处理包括:将压缩格式的文件分离为非解压部分和待解压部分,对所述待解压部分解压得到解压部分,将所述非解压部分与解压部分合并为新的文件;基于预处理后得到的新的源文件和新的目标文件制作差分升级包。
【技术特征摘要】
1.一种升级包制作方法,包括:对压缩格式的原始源文件和压缩格式的原始目标文件分别进行预处理,所述预处理包括:将压缩格式的文件分离为非解压部分和待解压部分,对所述待解压部分解压得到解压部分,将所述非解压部分与解压部分合并为新的文件;基于预处理后得到的新的源文件和新的目标文件制作差分升级包。2.如权利要求1所述的方法,其特征在于:所述对压缩格式的原始源文件和压缩格式的原始目标文件分别进行预处理之前,所述方法还包括:分别查找所述原始源文件和原始目标文件中用于标识压缩格式的特征字符串,如果均查找到,确定所述原始源文件和原始目标文件为压缩格式的文件,需要进行预处理;所述将压缩格式的文件分离为非解压部分和待解压部分,包括:将所述文件中查找到的特征字符串之前的部分作为所述非解压部分,所述特征字符串之后的部分作为所述待解压部分,所述特征字符串归入所述非解压部分或待解压部分。3.如权利要求1所述的方法,其特征在于:所述基于预处理后得到的新的源文件和新的目标文件制作差分升级包,包括:将以下至少一种信息写入到所述差分升级包的头部:文件是否压缩格式文件的指示信息;原始目标文件的非解压部分的长度信息。4.如权利要求1-3任意一项所述的方法,其特征在于:所述原始源文件和原始目标文件均为固件镜像文件;所述基于预处理后得到的新的源文件和新的目标文件制作差分升级,包括:基于预处理后得到的新的源文件和新的目标文件制作空中下载固件FOTA差分升级包。5.如权利要求1所述的方法,其特征在于:所述预处理还包括:在为非解压部分和待解压部分之前,先判断是否需要分离:如果需要,再为非解压部分和待解压部分,对所述待解压部分解压得到解压部分,将所述非解压部分与解压部分合并为新的文件;如果不需要,则对文件整体进行解压缩,直接得到新的文件。6.一种升级包制作装置,其特征在于,包括:预处理模块,用于对压缩格式的原始源文件和压缩格式的原始目标文件分别进行预处理,所述预处理包括:将压缩格式的文件分离为非解压部分和待解压部分,对所述待解压部分解压得到解压部分,将所述非解压部分与解压部分合并为新的文件;升级包制作模块,用于基于预处理后得到的新的源文件和新的目标文件制作差分升级包。7.如权利要求6所述的装置,其特征在于:所述升级包制作模块基于预处理后得到的新的源文件和新的目标文件制作差分升级包,包括:将以下至少一种信息写入到所述差分升级包的头部:文件是否压缩格式文件的指示信息;及,原始目标文件的非解压部分的长度信息。8.一种升级包制作装置,包括存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-5中任一项的所述方法的处理。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项的所述方法的处理。10.一种升级文件的方法,包括:对压缩格式的原始待升级文件进行预处理,所述预处理包括:将原始待升级文件分离为非解压部分和待解压部分,对所述待解压部分解压得到解压部分,再将所述非解压部分与解压部分合并为新的待升级文件;利用差分升级包对包含非解压部分和解压部分的所述新的待升级文件进行升级,对升级后的解压部分进行压缩得到压缩部分,再将升级后的非解压部分和所述压缩部分合并,得到压缩格式的完成升级的文件。11.如权利要求10的方法,其特征在于,包括:所述差分升级包的头部携带升级后文件的非解压部分...
【专利技术属性】
技术研发人员:邱炯,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。