CN106484447A - 一种更新数据包的制作方法及装置 - Google Patents
一种更新数据包的制作方法及装置 Download PDFInfo
- Publication number
- CN106484447A CN106484447A CN201510540429.4A CN201510540429A CN106484447A CN 106484447 A CN106484447 A CN 106484447A CN 201510540429 A CN201510540429 A CN 201510540429A CN 106484447 A CN106484447 A CN 106484447A
- Authority
- CN
- China
- Prior art keywords
- patch
- configuration file
- timestamp
- data package
- updated data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Abstract
本发明公开了一种更新数据包的制作方法及装置,方法包括:获取程序发布后用于更新的所有补丁的编译单元;在补丁配置文件中增加升级阶梯配置文件;其中,所述升级阶梯配置文件中标示了所述补丁适用的源版本;将所述编译单元和所述补丁配置文件合成为一个补丁集合。本发明在软件版本发布后,在已发布的补丁较多的情况下,可以减少补丁制作的时间,提高了补丁制作效率,降低了制作和打补丁的成本和风险。
Description
技术领域
本发明涉及软件技术领域,特别是涉及一种更新数据包的制作方法及装置。
背景技术
软件程序在发布之后,通常需要修复现有版本存在的故障或缺陷,或者需要增加或者改进功能,实现方式就是发布更新数据包,俗称打补丁。因此,补丁制作和打补丁是软件版本发布后不可少的操作。对于大型软件系统,如通信系统,频繁的补丁制作容易导致人工制作补丁的操作成本和失败概率高于预期,主要存在以下问题:
1、版本发布后补丁制作频繁,跨度周期长,维护成本高;
2、人工操作步骤过多,出错几率大;
3、需要和代码开发人员及代码管理人员反复沟通,以防漏合或多合文件;
4、需要和现场维护人员反复沟通确认,确保补丁能按照顺序正确打上。
发明内容
本发明要解决的技术问题是提供一种更新数据包的制作方法及装置,用以解决现有技术中补丁制作效率低下的问题。
为解决上述技术问题,一方面,本发明提供一种更新数据包的制作方法,包括:
获取程序发布后用于更新的所有补丁的编译单元;
在补丁配置文件中增加升级阶梯配置文件;其中,所述升级阶梯配置文件中标示了所述补丁适用的源版本;
将所述编译单元和所述补丁配置文件合成为一个补丁集合。
进一步,所述升级阶梯配置文件包括:
补丁集合的描述信息、补丁集合适用的唯一源版本,以及基准代码的时间戳。
进一步,所述升级阶梯配置文件还包括:执行所述补丁集合过程中需要删除的文件。
进一步,在将所述编译单元和补丁配置文件合成为一个补丁集合之前,还包括:
根据所述补丁配置文件中记录的补丁集合适用的唯一源版本、基准代码的时间戳,以及执行所述补丁集合过程中需要删除的文件,删除补丁中在所述基准代码时间戳之前的相应文件。
进一步,所述基准代码时间戳为源版本对应的源代码终结的时间戳,或所述程序演进过程中最近一个经过补丁更新后的时间戳。
进一步,所述补丁集合中包括从源版本对应的源代码终结的时间戳起至当前更新时刻,所有用于程序更新的更新内容;或者,
所述补丁集合包括至少两个按照更新顺序排列的补丁包,其中,每个补丁包包括从上一次更新至本次更新的更新内容。
另一方面,本发明还提供一种更新数据包的制作装置,包括:
编译模块,用于获取程序发布后用于更新的所有补丁的编译单元;
配置模块,用于在补丁配置文件中增加升级阶梯配置文件;其中,所述升级阶梯配置文件中标示了所述补丁适用的源版本;
合成模块,用于将所述编译单元和所述补丁配置文件合成为一个补丁集合。
进一步,所述升级阶梯配置文件包括:
补丁集合的描述信息、补丁集合适用的唯一源版本、基准代码的时间戳和执行所述补丁集合过程中需要删除的文件。
进一步,所述编译模块还用于:
根据所述补丁配置文件中记录的补丁集合适用的唯一源版本、基准代码的时间戳,以及执行所述补丁集合过程中需要删除的文件,在将所述编译单元和补丁配置文件合成为一个补丁集合之前,删除补丁中在所述基准代码时间戳之前的相应文件。
进一步,所述基准代码时间戳为源版本对应的源代码终结的时间戳;所述补丁集合中包括从源版本对应的源代码终结的时间戳起至当前更新时刻,所有用于程序更新的更新内容;或者,
所述基准代码时间戳为所述程序演进过程中最近一个经过补丁更新后的时间戳;所述补丁集合包括至少两个按照更新顺序排列的补丁包,其中,每个补丁包包括从上一次更新至本次更新的更新内容。
本发明有益效果如下:
本发明在软件版本发布后,在已发布的补丁较多的情况下,可以减少补丁制作的时间,提高了补丁制作效率,降低了制作和打补丁的成本和风险。
附图说明
图1是本发明实施例中一种更新数据包的制作方法的流程图;
图2是本发明实施例中以源版本对应的源代码终结的时间戳为基准代码的时间戳进行补丁制作的示意图;
图3是本发明实施例中以软件程序演进过程中某个特定阶段的时间戳为基准代码的时间戳进行补丁制作的示意图;
图4是本发明实施例中一种更新数据包的制作装置的结构示意图。
具体实施方式
以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
如图1所示,本发明实施例涉及一种更新数据包的制作方法,包括:
步骤S101,获取程序发布后用于更新的所有补丁的编译单元;
本步骤中,在补丁分支对应的源代码上,以修复故障为例,提交针对单个或多个故障进行修复的源代码,编译针对单个或多个故障进行修复的程序文件、数据库脚本,形成补丁的编译单元。
步骤S102,在补丁配置文件中增加升级阶梯配置文件;其中,所述升级阶梯配置文件中标示了所述补丁适用的源版本;
本步骤中,在补丁配置文件中建立升级阶梯配置文件,此升级阶梯配置文件用于标示此补丁集合适用的源版本,包含补丁集合的简要描述信息、补丁集合适用的唯一源版本、基准代码的时间戳、执行该补丁集合过程中需要删除的文件、该补丁集合包括的补丁以及需要特殊处理的配置项等。
步骤S103,将所述编译单元和所述补丁配置文件合成为一个补丁集合。
针对步骤S101的补丁编译单元,以步骤S102中的补丁配置文件中记录的源版本,以及基准代码的时间戳为基准,剔除在基准代码的时间戳之前的jar包文件、class文件、xml文件等,减少补丁集合的体积。其中,基准代码的时间戳可以是源版本对应的源代码终结的时间戳(如图2所示),也可以是补丁版本演进中某个阶段特定的时间戳(如图3所示)。
将步骤S102中的补丁配置文件和剔除冗余文件之后补丁编译单元合成补丁集合包,压缩成一个补丁集合。
该基于升级阶梯的补丁制作方法及系统,在打入补丁时,首先读取步骤S102中的补丁配置文件,匹配补丁集合适用的源版本,按照升级阶梯中配置的补丁名称,依次打入补丁。
下面以具体实例进行说明:
如图2所述,T1为源版本对应的源代码终结的时间戳,T2为补丁的第一次制作时刻,此时制作补丁,可以将T1时刻以后至T2时刻之间的更新内容合作为补丁包内容,结合补丁配置文件,生成补丁patch-001。T3为补丁的第二次制作时刻,此时制作补丁,可以将T1时刻以后至于T3时刻之间的更新内容合作为补丁包内容,结合补丁配置文件,生成补丁patch-002,并以此类推,生成补丁patch-003等。当软件进行更新时,只需要选择对应一个数据包进行更新即可,例如,针对源版本,打入补丁patch-003,则直接将源版本更新至T4时刻对应的版本,而不必安装补丁patch-001和补丁patch-002。当然,如果希望将源版本直接升级到T3时刻的版本,则直接安装补丁patch-002即可。因此,本更新方法可以选择更新的节点,适合补丁频繁制作和发布的场景。
如图3所述,T1为源版本对应的源代码终结的时间戳,T2为补丁的第一次制作时刻,此时制作补丁,将T1时刻以后至T2时刻之间的更新内容合作为补丁包内容,合并补丁配置文件,生成补丁patch-001。T3为补丁的第二次制作时刻,此时制作补丁,可以将T2时刻以后至于T3时刻之间的更新内容合作为补丁包内容,合补丁配置文件,生成补丁patch-002,并以此类推,生成补丁patch-003等。此方法软件更新时,如果需要将软件程序从源版本更新至T4时刻对应的版本,则需要按照顺序依次安装补丁patch-001、补丁patch-002和补丁patch-003。此更新方法适合补丁稳定发布的场景。
如图4所示,本发明实施例还涉及一种实现上述方法的更新数据包的制作装置,包括:
编译模块201,用于获取程序发布后用于更新的所有补丁的编译单元;
配置模块202,用于在补丁配置文件中增加升级阶梯配置文件;其中,所述升级阶梯配置文件中标示了所述补丁适用的源版本;
合成模块203,用于将所述编译单元和所述补丁配置文件合成为一个补丁集合。
其中,升级阶梯配置文件包括:
补丁集合的描述信息、补丁集合适用的唯一源版本、基准代码的时间戳和执行所述补丁集合过程中需要删除的文件。
编译模块201还用于:
根据所述补丁配置文件中记录的补丁集合适用的唯一源版本、基准代码的时间戳,以及执行所述补丁集合过程中需要删除的文件,在将所述编译单元和补丁配置文件合成为一个补丁集合之前,删除补丁中在所述基准代码时间戳之前的相应文件。
所述基准代码时间戳为源版本对应的源代码终结的时间戳;所述补丁集合中包括从源版本对应的源代码终结的时间戳起至当前更新时刻,所有用于程序更新的更新内容;或者,
所述基准代码时间戳为所述程序演进过程中最近一个经过补丁更新后的时间戳;所述补丁集合包括至少两个按照更新顺序排列的补丁包,其中,每个补丁包包括从上一次更新至本次更新的更新内容。
由上述描述可以看出,本发明实施例具有以下技术效果:
1)、通过升级阶梯配置文件标示补丁集合适用的源版本,包含的补丁等,通过累积补丁的方式,提高了补丁制作的准确率。
2)、通过时间戳的方式,剔除冗余的数据包,减少补丁集合的体积,降低冗余度。
3)、通过补丁集合的方式,便于版本构建师构建补丁和外场维护人员使用补丁。
综合来说,本发明提供的基于升级阶梯的补丁集合制作方法及装置,在版本发布后,补丁频繁制作的情况下,以升级阶梯为基础,以时间戳为保障,累积版本发布后所有已发布补丁,形成补丁集合;同时还可能合入了补丁集合制作时需要合入最新解决的故障,包括程序文件、数据库脚本、升级回退脚本等。本发明能简单有序地完成补丁制作,减少补丁制作的时间,提高了补丁制作效率;通过补丁集合的方式减少了多个补丁的冗余。每个补丁集合都在上一次补丁集合的基础上累积,仅增量增加变动的内容,这样版本构建师和外场维护人员都无须关注补丁的前后的细枝末节,只需要关注当前补丁集和已经合入的故障即可。既方便版本构建师制作补丁和代码开发人员管理代码,同时现场维护人员只需取用单个补丁集合就可以顺利完成打补丁,方便外场维护人员正确使用补丁,从而提高了补丁制作的效率,降低了打补丁的成本和风险。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
Claims (10)
1.一种更新数据包的制作方法,其特征在于,包括:
获取程序发布后用于更新的所有补丁的编译单元;
在补丁配置文件中增加升级阶梯配置文件;其中,所述升级阶梯配置文件中标示了所述补丁适用的源版本;
将所述编译单元和所述补丁配置文件合成为一个补丁集合。
2.如权利要求1所述的更新数据包的制作方法,其特征在于,所述升级阶梯配置文件包括:
补丁集合的描述信息、补丁集合适用的唯一源版本,以及基准代码的时间戳。
3.如权利要求2所述的更新数据包的制作方法,其特征在于,所述升级阶梯配置文件还包括:执行所述补丁集合过程中需要删除的文件。
4.如权利要求3所述的更新数据包的制作方法,其特征在于,在将所述编译单元和补丁配置文件合成为一个补丁集合之前,还包括:
根据所述补丁配置文件中记录的补丁集合适用的唯一源版本、基准代码的时间戳,以及执行所述补丁集合过程中需要删除的文件,删除补丁中在所述基准代码时间戳之前的相应文件。
5.如权利要求2~4任一项所述的更新数据包的制作方法,其特征在于,所述基准代码时间戳为源版本对应的源代码终结的时间戳,或所述程序演进过程中最近一个经过补丁更新后的时间戳。
6.如权利要求5所述的更新数据包的制作方法,其特征在于,
所述补丁集合中包括从源版本对应的源代码终结的时间戳起至当前更新时刻,所有用于程序更新的更新内容;或者,
所述补丁集合包括至少两个按照更新顺序排列的补丁包,其中,每个补丁包包括从上一次更新至本次更新的更新内容。
7.一种更新数据包的制作装置,其特征在于,包括:
编译模块,用于获取程序发布后用于更新的所有补丁的编译单元;
配置模块,用于在补丁配置文件中增加升级阶梯配置文件;其中,所述升级阶梯配置文件中标示了所述补丁适用的源版本;
合成模块,用于将所述编译单元和所述补丁配置文件合成为一个补丁集合。
8.如权利要求7所述的更新数据包的制作装置,其特征在于,所述升级阶梯配置文件包括:
补丁集合的描述信息、补丁集合适用的唯一源版本、基准代码的时间戳和执行所述补丁集合过程中需要删除的文件。
9.如权利要求8所述的更新数据包的制作装置,其特征在于,所述编译模块还用于:
根据所述补丁配置文件中记录的补丁集合适用的唯一源版本、基准代码的时间戳,以及执行所述补丁集合过程中需要删除的文件,在将所述编译单元和补丁配置文件合成为一个补丁集合之前,删除补丁中在所述基准代码时间戳之前的相应文件。
10.如权利要求8或9所述的更新数据包的制作装置,其特征在于,
所述基准代码时间戳为源版本对应的源代码终结的时间戳;所述补丁集合中包括从源版本对应的源代码终结的时间戳起至当前更新时刻,所有用于程序更新的更新内容;或者,
所述基准代码时间戳为所述程序演进过程中最近一个经过补丁更新后的时间戳;所述补丁集合包括至少两个按照更新顺序排列的补丁包,其中,每个补丁包包括从上一次更新至本次更新的更新内容。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510540429.4A CN106484447A (zh) | 2015-08-28 | 2015-08-28 | 一种更新数据包的制作方法及装置 |
PCT/CN2015/094831 WO2016145897A1 (zh) | 2015-08-28 | 2015-11-17 | 一种更新数据包的制作方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510540429.4A CN106484447A (zh) | 2015-08-28 | 2015-08-28 | 一种更新数据包的制作方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106484447A true CN106484447A (zh) | 2017-03-08 |
Family
ID=56918345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510540429.4A Pending CN106484447A (zh) | 2015-08-28 | 2015-08-28 | 一种更新数据包的制作方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106484447A (zh) |
WO (1) | WO2016145897A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107153540A (zh) * | 2017-04-19 | 2017-09-12 | 畅捷通信息技术股份有限公司 | 增量构建方法及装置 |
CN107908421A (zh) * | 2017-09-29 | 2018-04-13 | 北京创鑫旅程网络技术有限公司 | 软件代码版本管理与发布的方法及装置 |
CN110287202A (zh) * | 2019-05-16 | 2019-09-27 | 北京百度网讯科技有限公司 | 数据更新方法、装置、电子设备及存储介质 |
CN110502276A (zh) * | 2019-08-21 | 2019-11-26 | 深圳市钱海网络技术有限公司 | 补丁包生成方法、装置、设备及计算机可读存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078265B (zh) * | 2019-11-28 | 2024-04-02 | 上海三零卫士信息安全有限公司 | 一种基于jenkins的web项目更新补丁生成方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222743B (zh) * | 2008-01-22 | 2011-12-28 | 中兴通讯股份有限公司 | 一种无线通信系统中管理软件版本文件方法 |
CN102053844A (zh) * | 2009-10-28 | 2011-05-11 | 无锡华润上华半导体有限公司 | 软件升级方法和采用该方法的软件升级系统 |
CN102402438B (zh) * | 2010-09-16 | 2014-07-09 | 金蝶软件(中国)有限公司 | 一种补丁文件的自动合并方法、装置及通信终端 |
-
2015
- 2015-08-28 CN CN201510540429.4A patent/CN106484447A/zh active Pending
- 2015-11-17 WO PCT/CN2015/094831 patent/WO2016145897A1/zh active Application Filing
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107153540A (zh) * | 2017-04-19 | 2017-09-12 | 畅捷通信息技术股份有限公司 | 增量构建方法及装置 |
CN107908421A (zh) * | 2017-09-29 | 2018-04-13 | 北京创鑫旅程网络技术有限公司 | 软件代码版本管理与发布的方法及装置 |
CN107908421B (zh) * | 2017-09-29 | 2022-06-24 | 北京创鑫旅程网络技术有限公司 | 软件代码版本管理与发布的方法及装置 |
CN110287202A (zh) * | 2019-05-16 | 2019-09-27 | 北京百度网讯科技有限公司 | 数据更新方法、装置、电子设备及存储介质 |
CN110287202B (zh) * | 2019-05-16 | 2022-02-15 | 北京百度网讯科技有限公司 | 数据更新方法、装置、电子设备及存储介质 |
CN110502276A (zh) * | 2019-08-21 | 2019-11-26 | 深圳市钱海网络技术有限公司 | 补丁包生成方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2016145897A1 (zh) | 2016-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106484447A (zh) | 一种更新数据包的制作方法及装置 | |
CN102446303B (zh) | 工艺路线组件的分配方法及装置 | |
CN104200302A (zh) | 用于电力企业同期线损管理的技术架构和方法 | |
CN101452450A (zh) | 一种多源数据转换服务方法及其装置 | |
CN108736465A (zh) | 一种未来态电网模型构建方法和装置 | |
CN104318481A (zh) | 一种面向电网运行的全息时标量测数据萃取转换方法 | |
CN104376347A (zh) | 基于rfid的动车车辆设备信息的管理系统及方法 | |
CN107797813A (zh) | 一种软件敏捷开发方法及系统 | |
CN102546796A (zh) | 业务服务器数据更新处理系统及方法 | |
CN101963911B (zh) | 补丁生成方法和装置 | |
CN113449033A (zh) | 基于产品物料清单的制造过程技术状态同步方法和系统 | |
CN104834527A (zh) | 一种电力系统中机组数据模型化展示方法 | |
CN104156198A (zh) | 一种自动生成软件集成版本更新说明方法及装置 | |
CN103399895A (zh) | 一种基于svg的监控显示处理系统及方法 | |
CN102857949A (zh) | 一种规划数据一致性保证的方法和装置 | |
CN104748757A (zh) | 一种导航电子地图数据更新方法及装置 | |
CN101339506B (zh) | 一种实现软件产品资源与版本管理的装置 | |
CN107659629A (zh) | 一种适用于用电信息采集系统的高效电力档案同步方法 | |
CN106096835A (zh) | 基于代理服务的异构调度系统间模型中心构建方法 | |
CN113793111A (zh) | 一种电力设备资产管理方法、系统、装置及存储介质 | |
CN107730146A (zh) | 一种物资信息管理和物资信息识别方法及装置 | |
CN107665396B (zh) | 解析特征包mbom的方法和系统 | |
CN105933396A (zh) | 一种协同各渠道系统接口实现长流程的方法及系统 | |
CN108521452A (zh) | 对业务版本进行智能升级的方法及系统 | |
CN106331132A (zh) | 一种分布式数据库中节点的替换方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20171023 Address after: 201203 B, block 889, blue wave road, Zhangjiang hi tech park, Shanghai, 205 Applicant after: Shanghai Zhongxing Software Co., Ltd. Address before: 518057 Nanshan District Guangdong high tech Industrial Park, South Road, science and technology, ZTE building, Ministry of Justice Applicant before: ZTE Corporation |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20170308 |