基于文件夹的补丁升级包生成及差分升级方法和装置制造方法及图纸

技术编号:15329194 阅读:57 留言:0更新日期:2017-05-16 12:55
本发明专利技术提供一种基于文件夹的差分升级方法和装置,所述方法包括步骤:获取补丁升级包;读取补丁升级包中的补丁文件名称和文件夹名称;解差分补丁升级包中的补丁文件和文件夹中的特定文件的二进制文件;创建用于存放解差分补丁升级包所获得的目标升级包的第一压缩包;将所述解差分补丁升级包所获得的目标升级包拷贝到所述第一压缩包;将所述第一压缩包替换原备份目录中的第二压缩包,以完成差分升级。还提供一种基于文件夹的补丁升级包生成方法及装置。本发明专利技术所述方法在现有差分升级技术的基础上增加对文件夹的升级,不仅实现了设备对文件夹的同步升级,而且大大减小了升级包的大小,减小了计算复杂度,增加了升级效率,进一步提高用户的体验度。

Folder based patch update package generation and differential updating method and apparatus

The invention provides a folder based differential upgrade method and device. The method includes the steps of: obtaining patch upgrade package; read the patch upgrade package in the patch file names and folder names; the difference of solutions specific article patch upgrade package patch files and folders in a binary file to create storage solutions; differential patch upgrade package for the first target upgrade package package; the solution of difference patch upgrade package from the target to the first copy of the upgrade package package; the first package to replace the original backup directory in second compression package, in order to complete the upgrade of difference. A folder based patch upgrade packet generation method and device are also provided. Add folder on upgrade of the method of the invention is based on the existing technology upgrading difference, not only to achieve the synchronization of folders to upgrade equipment, but also greatly reduces the upgrade package size, reduce the computational complexity, increase the efficiency upgrade, to further improve the user experience.

【技术实现步骤摘要】
基于文件夹的补丁升级包生成及差分升级方法和装置
本专利技术涉及移动通信领域,具体而言,本专利技术涉及一种基于文件夹的补丁升级包生成及差分升级方法及其装置。
技术介绍
在现有Linux设备软件功能不断增加,软件升级的升级包也越来越大,并且外场的网络环境也是不稳定的,所以对设备升级过程中,解决出现升级包过大或网络传输速度的限制导致设备升级时长过大的问题时,通常会使用差分升级对设备进行升级,软件升级包发生数量级变化,由原有的50MByte减少到几百Kbyte,大大减少升级时间和维护成本。但是现有的差分升级几乎都是只能对镜像文件进行升级,通常情况下升级包里会存在一些文件夹,比如本地网页用的web文件夹,必要时这些文件夹里的文件需要更换,这就造成不能使用差分升级对设备进行升级,只能使用整包升级,升级包过大或网络传输速度的限制等问题就会出现,因此需要提供一种能够在差分升级中对指定的文件夹也一同升级的方法,综合整包升级和差分升级的优点,提高对设备升级的效率。
技术实现思路
本专利技术的目的旨在解决文件夹的差分升级问题,提供一种文件夹的补丁升级包生成及差分升级方法和装置。为了实现上述目的,本专利技术提供一种基于文件夹的差分升级方法,包括以下步骤:获取补丁升级包;读取补丁升级包中的补丁文件名称和文件夹名称;解差分补丁升级包中的补丁文件和文件夹中的特定文件的二进制文件;创建用于存放解差分补丁升级包所获得的目标升级包的第一压缩包;将所述解差分补丁升级包所获得的目标升级包拷贝到所述第一压缩包;将所述第一压缩包替换原备份目录中的第二压缩包,以完成差分升级。具体的,所述解差分补丁升级包所获得的目标升级包,具体包括:解差分补丁文件所获得的镜像文件、解差分文件夹中的特定文件的二进制文件所获得的特定文件、文件夹中未经处理的文件。进一步,在将所述第一压缩包替换原备份目录中的第二压缩包之前,还包括步骤:将所述原备份目录中的第二压缩包中存在而所述目标升级包中不存在的文件或文件夹拷贝入所述第一压缩包。更进一步,将所述解差分补丁升级包所获得的目标升级包拷贝到所述第一压缩包,具体包括以下步骤:将文件夹名称和生成补丁文件的镜像文件名称保存于同一个关联容器中;遍历所述关联容器中的所有文件夹名称和文件名称;若为文件夹名称则遍历该文件夹中的所有文件,并将所有文件拷贝至所述第一压缩包;若为文件名称则将该文件直接拷贝至所述第一压缩包。具体的,所述文件夹中的特定文件为文件夹中文件大小大于预设阈值的文件。一种基于文件夹的补丁升级包生成方法,包括以下步骤:将需要升级的镜像文件通过差分工具处理生成补丁文件;将需要升级的文件夹中的特定文件通过差分工具处理生成二进制文件;将所述生成的补丁文件、特定文件的二进制文件和文件夹中未经过处理的文件压缩打包生成所述补丁升级包。具体的,所述文件夹中的特定文件为文件夹中文件大小大于预设阈值的文件。优选的,所述差分工具为bsdiff工具。一种基于文件夹的差分升级装置,包括:获取模块:用于获取补丁升级包;读取模块:用于读取补丁升级包中的补丁文件名称和文件夹名称;解差分模块:用于解差分补丁升级包中的补丁文件和文件夹中的特定文件的二进制文件;创建模块:用于创建用于存放解差分补丁升级包所获得的目标升级包的第一压缩包;第一拷贝模块:用于将所述解差分补丁升级包所获得的目标升级包拷贝到所述第一压缩包;差分升级模块:用于将所述第一压缩包替换原备份目录中的第二压缩包,以完成差分升级。具体的,所述解差分补丁升级包所获得的目标升级包,具体包括:解差分补丁文件所获得的镜像文件、解差分文件夹中的特定文件的二进制文件所获得的特定文件、文件夹中未经处理的文件。进一步,还包括第二拷贝模块,用于将所述原备份目录中的第二压缩包中存在而所述目标升级包中不存在的文件或文件夹拷贝入所述第一压缩包。更进一步,所述第一拷贝模块包括以下子模块:保存模块:用于将文件夹名称和生成补丁文件的镜像文件名称保存于同一个关联容器中;遍历模块:用于遍历所述关联容器中的所有文件夹名称和文件名称;第三拷贝模块:若为文件夹名称则遍历该文件夹中的所有文件,并将所有文件拷贝至所述第一压缩包;第四拷贝模块:若为文件名称则将该文件直接拷贝至所述第一压缩包。具体的,所述文件夹中的特定文件为文件夹中文件大小大于预设阈值的文件。一种基于文件夹的补丁升级包生成装置,包括:第一生成模块:用于将需要升级的镜像文件通过差分工具处理生成补丁文件;第二生成模块:用于将需要升级的文件夹中的特定文件通过差分工具处理生成二进制文件;补丁升级包生成模块:用于将所述生成的补丁文件、特定文件的二进制文件和文件夹中未经过处理的文件压缩打包生成所述补丁升级包。具体的,所述文件夹中的特定文件为文件夹中文件大小大于预设阈值的文件。优选的,所述差分工具为bsdiff工具。相比现有技术,本专利技术的方案具有以下优点:本专利技术所述方法在现有差分升级技术的基础上增加对文件夹的升级,不仅实现了设备对文件夹的同步升级,而且大大减小了升级包的大小,减小了计算复杂度,增加了升级效率,进一步提高了用户的体验度。本专利技术附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明本专利技术上述的和/或附加的优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:图1为本专利技术所述基于文件夹的差分升级方法的流程示意图;图2为基站与网管中心系统进行交互下载补丁升级包的流程图;图3为本专利技术所述差分升级的补丁升级包结构示意图;图4为基于补丁升级包的升级流程示意图;图5为本专利技术所述基于文件夹的补丁升级包生成方法流程示意图;图6为本专利技术所述基于文件夹的差分升级装置的结构框图;图7为本专利技术所述基于文件夹的补丁升级包生成装置的结构框图;图8为本专利技术所述补丁升级包描述文件UpgaradDesc.xml结构描述示例图。具体实施方式下面详细描述本专利技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本专利技术,而不能解释为对本专利技术的限制。由于传统的Linux设备远程升级存在升级包过大或者受网络传输速度的限制等问题,造成设备在运维成本上越来越不具备竞争优势。现通过对差分升级的优化创新,提供一种支持对文件夹升级的差分升级方案,通过巧妙的软件设计,实现对减小升级包的大小的同时,支持多文件夹的升级,解决设备升级耗时过长的问题,提高对设备的升级效率,减少设备因升级过程中对设备业务工作造成的影响,减低设备的运维和管理成本,提高用户体验。基于上述目的,参看图1所示,本专利技术一实施例提供一种基于文件夹的差分升级方法,包括以下步骤:步骤101、获取补丁升级包;具体地,所述补丁升级包由一个包含了所有补丁文件和待升级全包文件夹的补丁压缩文件替代,由基站与网管中心系统交互后,下载到基站的相应设备。如图2所示,所述补丁升级包由基站与网管中心系统进行交互下载获取,基站以get方式获取网管中心系统数据,网管中心系统以post方式获取基站的反馈信息。通过相互交互先建立连接请求,然后将补丁升级包以及其他可能信息下载至基站的相应设备。其中,为了使补丁文件和待升级文件夹支持生成压缩包pa本文档来自技高网...
基于文件夹的补丁升级包生成及差分升级方法和装置

【技术保护点】
一种基于文件夹的差分升级方法,其特征在于,包括以下步骤:获取补丁升级包;读取补丁升级包中的补丁文件名称和文件夹名称;解差分补丁升级包中的补丁文件和文件夹中的特定文件的二进制文件;创建用于存放解差分补丁升级包所获得的目标升级包的第一压缩包;将所述解差分补丁升级包所获得的目标升级包拷贝到所述第一压缩包;将所述第一压缩包替换原备份目录中的第二压缩包,以完成差分升级。

【技术特征摘要】
1.一种基于文件夹的差分升级方法,其特征在于,包括以下步骤:获取补丁升级包;读取补丁升级包中的补丁文件名称和文件夹名称;解差分补丁升级包中的补丁文件和文件夹中的特定文件的二进制文件;创建用于存放解差分补丁升级包所获得的目标升级包的第一压缩包;将所述解差分补丁升级包所获得的目标升级包拷贝到所述第一压缩包;将所述第一压缩包替换原备份目录中的第二压缩包,以完成差分升级。2.根据权利要求1所述的方法,其特征在于,所述解差分补丁升级包所获得的目标升级包,具体包括:解差分补丁文件所获得的镜像文件、解差分文件夹中的特定文件的二进制文件所获得的特定文件、文件夹中未经处理的文件。3.根据权利要求1所述的方法,其特征在于,在将所述第一压缩包替换原备份目录中的第二压缩包之前,还包括步骤:将所述原备份目录中的第二压缩包中存在而所述目标升级包中不存在的文件或文件夹拷贝入所述第一压缩包。4.根据权利要求2所述的方法,其特征在于,将所述解差分补丁升级包所获得的目标升级包拷贝到所述第一压缩包,具体包括以下步骤:将文件夹名称和生成补丁文件的镜像文件名称保存于同一个关联容器中;遍历所述关联容器中的所有文件夹名称和文件名称;若为文件夹名称则遍历该文件夹中的所有文件,并将所有文件拷贝至所述第一压缩包;若为文件名称则将该文件直接拷贝至所述第一压缩包。5.根据权利要求1或2所述的方法,其特征在于,所述文件夹中的特定文件为文件夹中文件大小大于预设阈值的文件。6.一种基于文件夹的补丁升级包生成方法,其特征在于,包括以下步骤:将需要升级的镜像文件通过差分工具处理生成补丁文件;将需要升级的文件夹中的特定文件通过差分工具处理生成二进制文件;将所述生成的补丁文件、特定文件的二进制文件和文件夹中未经过处理的文件压缩打包生成所述补丁升级包。7.根据权利要求6所述的方法,其特征在于,所述文件夹中的特定文件为文件夹中文件大小大于预设阈值的文件。8.根据权利要求6所述的方法,其特征在于,所述差分工具为bsdiff工具。9.一种基于文件夹的差分升级装置,其特征在于,包括:获取模块:...

【专利技术属性】
技术研发人员:龚海锋
申请(专利权)人:京信通信系统中国有限公司
类型:发明
国别省市:广东,44

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

1