一种软件打包方法和装置制造方法及图纸

技术编号:17161894 阅读:13 留言:0更新日期:2018-02-01 20:13
本发明专利技术公开了一种软件打包方法和装置。涉及云计算技术;解决了现有的软件更新打包方式消耗大量处理时间、降低升级效率的问题。该方法包括:对比软件的最新版本和上一版本,确定存在差异的部分;对所述存在差异的部分进行打包。本发明专利技术提供的技术方案适用于安装包更新,实现了在有效减少软件打包的大小的同时,提高软件打包速度,有效支撑系统自动升级。

A software packaging method and device

The invention discloses a software packaging method and device. It involves the cloud computing technology, which solves the problem that the existing software updating packaging methods consume a lot of time and reduce the efficiency of upgrading. The method includes: comparing the latest version of the software and the previous version, determining the parts of the difference, and packaging the parts of the differences. The technical proposal provided by this invention is suitable for updating the installation package, and realizes the effective reduction of the size of software package while improving the speed of software packaging and effectively supporting the automatic upgrading of the system.

【技术实现步骤摘要】
一种软件打包方法和装置
本专利技术涉及云计算技术,尤指一种软件打包方法和装置。
技术介绍
随着云计算系统软件的越来越复杂,动辄几百兆的软件安装包成为普遍现象,这不仅降低了软件自动化打包的速度,而且也不满足软件升级时对安装包的大小要求。在实际应用过程中,软件需要频繁的进行更新,涉及的更新规模或大或小。无论涉及的修改规模有多大,均需要对软件进行新的打包操作得到新的安装包,使得需要频繁重复进行对整个软件的打包操作,工作量较大,且安装包数据量也较大,消耗了大量处理时间,降低了升级效率。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种软件打包方法,包括:对比软件的最新版本和上一版本,确定存在差异的部分;对所述存在差异的部分进行打包。优选的,对比软件的最新版本和上一版本,提取存在差异的部分生成变化文件部分的步骤包括:对比软件的最新版本和上一版本,提取存在差异的部分生成变化文件;将所述变化文件存入临时文件中。优选的,对所述存在差异的部分进行打包的步骤之后,还包括:清空所述临时文件的内容。优选的,对所述存在差异的部分进行打包的步骤包括:读取所述临时文件;在检测到所述临时文件不为空、存储有变化文件时,对所述变化文件进行打包。优选的,读取所述临时文件的步骤之后,还包括:在检测到所述临时文件为空时,不执行打包操作。优选的,读取所述临时文件的步骤具体为:根据预置的打包周期循环读取所述临时文件。本专利技术还提供了一种软件打包装置,包括:差异发现模块,用于对比软件的最新版本和上一版本,确定存在差异的部分;打包模块,用于对所述存在差异的部分进行打包。优选的,所述差异发现模块包括:变化文件提取单元,用于对比软件的最新版本和上一版本,提取存在差异的部分生成变化文件;临时文件写入单元,用于将所述变化文件存入临时文件中。优选的,所述打包模块包括:临时文件读取单元,用于读取所述临时文件;在检测到所述临时文件不为空、存储有变化文件时,对所述变化文件进行打包。优选的,所述临时文件读取单元,具体用于根据预置的打包周期循环读取所述临时文件。本专利技术提供了一种软件打包方法和装置,通过对比软件的最新版本和上一版本,确定存在差异的部分,仅针对该存在差异的部分进行打包,对不存在差异即没有发生变化的部分不执行打包操作,解决了现有的软件更新打包方式消耗大量处理时间、降低升级效率的问题。减少了打包操作的工作量,提升了打包操作的速度,更好的满足了系统升级包的大小要求。本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本专利技术技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本专利技术的技术方案,并不构成对本专利技术技术方案的限制。图1为本专利技术的实施例一提供的一种软件打包方法的流程示意图;图2为本专利技术的实施例二提供的一种软件打包装置的结构示意图;图3为图2中差异发现模块201的结构示意图;图4为图2中打包模块202的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。在实际应用过程中,软件需要频繁的进行更新,涉及的更新规模或大或小。无论涉及的修改规模有多大,均需要对软件进行新的打包操作得到新的安装包,使得需要频繁重复进行对整个软件的打包操作,工作量较大,且安装包数据量也较大,消耗了大量处理时间,降低了升级效率。为了解决上述问题,本专利技术的实施例提供了一种打包方法和装置。针对两个版本之间的文件变动情况,根据文件与软件打包的模式匹配,进行增量的系统软件打包,进而实现频繁变动的部分频繁打包,低频变换的部分低频打包,减少了打包操作涉及的整体数据量,提升了系统升级效率。首先结合附图,对本专利技术的实施例一进行说明。本专利技术提供了一种软件打包方法,使用该方法完成软件更新打包的流程如图1所述,包括:步骤101、对比软件的最新版本和上一版本,确定存在差异的部分;本步骤中,对比软件的最新版本和上一版本,提取存在差异的部分生成变化文件,将所述变化文件存入临时文件中。优选的,可使用Git版本控制工具,检测两个版本之间的文件变动情况。使用Git命令判断版本之间文件变动,基于打包模式文件判断是否需打包。针对两个版本之间的文件变动情况,根据文件与软件打包的模式匹配,进行增量的系统软件打包。在基于Git版本控制工具获取版本之间的变化文件后,将变化文件存入临时文件DIFF_TMP_FILE中。本专利技术实施例中,将软件安装包逐次拆分为文档(Doc),开发(devel),核心(core),依赖库(lib),并根据软件源代码版本库中的更改,进行增量的软件打包,使得不频繁变动的依赖库(lib)较少打包和升级,而频繁变动的核心(core)得以经常的打包和升级。从而软件打包的速度得以提升,同时满足系统升级包的大小要求。步骤102、对所述存在差异的部分进行打包;本步骤中,读取临时文件,具体的根据预置的打包周期循环读取所述临时文件。在检测到所述临时文件不为空、存储有变化文件时,对所述变化文件进行打包。在检测到所述临时文件为空时,不执行打包操作。仍以步骤101中基于Git版本控制工具获取版本之间的变化文件为例,在此种场景下,循环读取文件打包的模式regex_file,并根据DIFF_TMP_FILE进行模式匹配,判断模块是否需要打包。在确定存在变化文件时,执行模块的具体打包函数,对变化部分进行打包。以下为打包函数的一种具体代码实现:步骤103、清空所述临时文件的内容;本步骤中,在完成临时文件内变化文件的打包后,可清空所述临时文件的内容,表明本次打包成功。实现了基于版本文件变动的增量软件打包,变化频繁的部分,频繁打包;变化少的部分,少打包;未曾变动部分一次打包。在有效减少软件打包的大小的同时,提高了软件打包的速度,并有效的支撑了系统的自动升级。下面结合附图,对本专利技术的实施例二进行说明。本专利技术实施例提供了一种软件打包装置,其结构如图2所示,包括:差异发现模块201,用于对比软件的最新版本和上一版本,确定存在差异的部分;打包模块202,用于对所述存在差异的部分进行打包。优选的,所述差异发现模块201的结构如图3所示,包括:变化文件提取单元2011,用于对比软件的最新版本和上一版本,提取存在差异的部分生成变化文件;临时文件写入单元2012,用于将所述变化文件存入临时文件中。优选的,所述打包模块202的结构如图4所示,包括:临时文件读取单元2021,用于读取所述临时文件;打包执行模块2022,用于在检测到所述临时文件不为空、存储有变化文件时,对所述变化文件进行打包。优选的,所述临时文件读取单元2021,具体用于根据预置的打包周期循环读取所述临时文件。本专利技术的实施例提供了一种软件打包方法和装置,通过对比软件的最新版本和上一版本,确定存在差本文档来自技高网...
一种软件打包方法和装置

【技术保护点】
一种软件打包方法,其特征在于,包括:对比软件的最新版本和上一版本,确定存在差异的部分;对所述存在差异的部分进行打包。

【技术特征摘要】
1.一种软件打包方法,其特征在于,包括:对比软件的最新版本和上一版本,确定存在差异的部分;对所述存在差异的部分进行打包。2.根据权利要求1所述的软件打包方法,其特征在于,对比软件的最新版本和上一版本,提取存在差异的部分生成变化文件部分的步骤包括:对比软件的最新版本和上一版本,提取存在差异的部分生成变化文件;将所述变化文件存入临时文件中。3.根据权利要求2所述的软件打包方法,其特征在于,对所述存在差异的部分进行打包的步骤之后,还包括:清空所述临时文件的内容。4.根据权利要求2或3所述的软件打包方法,其特征在于,对所述存在差异的部分进行打包的步骤包括:读取所述临时文件;在检测到所述临时文件不为空、存储有变化文件时,对所述变化文件进行打包。5.根据权利要求4所述的软件打包方法,其特征在于,读取所述临时文件的步骤之后,还包括:在检测到所述临时文件为空时,不执行打包操作。6.根据权利...

【专利技术属性】
技术研发人员:孟庆龙
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1