CN101963911A - 补丁生成方法和装置 - Google Patents

补丁生成方法和装置 Download PDF

Info

Publication number
CN101963911A
CN101963911A CN2010102998546A CN201010299854A CN101963911A CN 101963911 A CN101963911 A CN 101963911A CN 2010102998546 A CN2010102998546 A CN 2010102998546A CN 201010299854 A CN201010299854 A CN 201010299854A CN 101963911 A CN101963911 A CN 101963911A
Authority
CN
China
Prior art keywords
patch
environment
code
integration
testing oneself
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.)
Granted
Application number
CN2010102998546A
Other languages
English (en)
Other versions
CN101963911B (zh
Inventor
李绍文
李靖和
裴旭
汪成杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yonyou Software Co Ltd
Original Assignee
Yonyou Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Yonyou Software Co Ltd filed Critical Yonyou Software Co Ltd
Priority to CN201010299854.6A priority Critical patent/CN101963911B/zh
Publication of CN101963911A publication Critical patent/CN101963911A/zh
Application granted granted Critical
Publication of CN101963911B publication Critical patent/CN101963911B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种补丁生成方法,包括:步骤202,将程序员根据自身任务编写的代码提交至自测环境,生成自测补丁并在所述自测环境中进行验证;步骤204,在所述自测补丁的验证通过后,将所述自身任务的代码提交至集成环境;步骤206,根据已提交至所述集成环境的所有任务的对应代码生成补丁并在所述集成环境中验证;步骤208,所述补丁的验证通过后,发布所述补丁。本发明还提供了一种补丁生成装置。根据本发明的技术方案,可以实现一种补丁生成方法和装置,解决了补丁互相覆盖引起二次缺陷、补丁执行效率低及增加二次缺陷的可能性的问题。

Description

补丁生成方法和装置
技术领域
本发明涉及补丁处理技术,尤其涉及补丁生成方法和装置。
背景技术
软件系统开发中,软件系统由于其本身的缺陷或者其他原因引起系统错误,或用户提出新的需求,则需要改进软件。那么此时通常需要利用补丁文件对软件系统进行升级以便解决上面的问题。
软件开发过程中,软件代码通常要进行统一管理,现有的代码管理工具有Visual Source Safe,Rational ClearCase,Apache Subversion等等,那么在补丁文件的开发过程中,也需要使用代码管理工具进行统一管理。
对于基于.Net开发的软件产品,使用DLL文件进行部署,DLL文件就是动态连接库,是Windows系统的一种文档格式。一个补丁文件由多个DLL文件组成,一个DLL文件由多个代码文组成,通常DLL文件下的代码文件可能由多人维护。
通常情况下,开发管理人员会根据系统缺陷和新增需求,给程序员分派开发任务,程序员根据任务,先从代码服务器将最新代码获取到本地,修改对应代码并生成补丁文件,补丁文件验证通过后,将修改完的代码通过代码管理工具上传到服务器。
然而,开发任务的验证时间不同,往往会引起新旧代码生成的DLL互相覆盖问题,导致缺陷的二次发生,同时DLL文件版本不同也会引起新缺陷的产生的问题。
因此,需要一种补丁生成方式,来解决补丁互相覆盖引起二次缺陷,补丁执行效率低,增加二次缺陷的可能性的问题。
发明内容
鉴于以上,本发明的实施例的技术方案所要解决的技术问题在于,提供一种补丁生成方法和装置,来解决补丁互相覆盖引起二次缺陷,补丁执行效率低,增加二次缺陷的可能性的问题。
本发明提供了一种补丁生成方法,包括:步骤202,将程序员根据自身任务编写的代码提交至自测环境,生成自测补丁并在所述自测环境中进行验证;步骤204,在所述自测补丁的验证通过后,将所述自身任务的代码提交至集成环境;步骤206,根据已提交至所述集成环境的所有任务的对应代码生成补丁并在所述集成环境中验证;步骤208,所述补丁的验证通过后,发布所述补丁。通过该技术方案,可以将经过验证的自身任务对应的代码提交至集成环境,将所有任务代码统一生成在一个补丁中,避免了覆盖的问题,也减少了补丁的数量。
在上述技术方案中,优选地,还包括:步骤201,预设置所述自测环境和所述集成环境。通过该技术方案,提供一个生成补丁的平台,有利于后面的代码的统一处理。
在上述技术方案中,优选地,还包括:步骤210,定期从所述集成环境中获取已提交的所有任务的对应代码,并生成定期补丁并在所述集成环境中验证,验证通过后发布所述定期补丁。通过该技术方案,可以定期地解决来自系统的问题。
在上述技术方案中,优选地,每个补丁包括多个DLL文件。
本发明还提供了一种补丁生成装置,包括:代码提交模块,将程序员根据自身任务编写的代码提交至自测环境;自测模块,生成自测补丁并在所述自测环境中进行验证;所述自测补丁的验证通过后,所述代码提交模块将所述自身任务的代码提交至集成环境;集成测试模块,根据已提交至所述集成环境的所有任务的对应代码生成补丁并在所述集成环境中验证;补丁发布模块,在所述补丁的验证通过后,发布所述补丁。通过该技术方案,可以将经过验证的自身任务对应的代码提交至集成环境,将所有任务代码统一生成在一个补丁中,避免了覆盖的问题,也减少了补丁的数量。
在上述技术方案中,优选地,还包括:环境设置模块,预设置所述自测环境和所述集成环境。通过该技术方案,提供一个生成补丁的平台,有利于后面的代码的统一处理。
在上述技术方案中,优选地,定期测试模块,定期从所述集成环境中获取已提交的所有任务的对应代码,并生成定期补丁并在所述集成环境中验证,验证通过后所述补丁发布模块发布所述定期补丁。通过该技术方案,可以定期地解决来自系统的问题。
在上述技术方案中,优选地,每个补丁包括多个DLL文件。
通过上述技术方案,可以实现一种补丁生成方法和装置,解决了补丁互相覆盖引起二次缺陷,补丁执行效率低,增加二次缺陷的可能性的问题。
附图说明
图1是现有技术中补丁生成方法的流程示意图;
图2是根据本发明的一个实施例的补丁生成方法的流程图;
图3是根据本发明的一个实施例的补丁生成装置的框图;
图4是根据本发明的又一实施例的补丁生成方法的流程图;以及
图5是根据本发明的又一实施例的补丁生成方法的流程示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
在此,先简单说明现有技术中有关补丁生成方法的处理流程,如图1所示。从图中可以看出,处理任务A和处理任务B是两个独立的处理过程。A任务发起之后,获取C对应的代码,修改后得到代码C.A,然后发布补丁A,对补丁A进行验证,验证通过后,提交C.A的代码,发布补丁A,B任务与A任务的处理流程一样,从图中可以看出,补丁A和补丁B都包含C的DLL文件,如果A补丁先发出,再发出C补丁,那么后发布的补丁B将会覆盖补丁A的内容,反之亦然。
图2是根据本发明的一个实施例的补丁生成方法的流程图。
如图2所示,根据本发明的实施例的补丁生成方法包括:步骤202,将程序员根据自身任务编写的代码提交至自测环境,生成自测补丁并在所述自测环境中进行验证;步骤204,在所述自测补丁的验证通过后,将所述自身任务的代码提交至集成环境;步骤206,根据已提交至所述集成环境的所有任务的对应代码生成补丁并在所述集成环境中验证;步骤208,所述补丁的验证通过后,发布所述补丁。通过这样的技术方案,可以将经过验证的自身任务对应的代码提交至集成环境,将所有任务代码统一生成在一个补丁中,避免了覆盖的问题,也减少了补丁的数量。
在上述技术方案中,还可以包括:步骤201,预设置所述自测环境和所述集成环境。通过该技术方案,提供一个生成补丁的平台,有利于后面的代码的统一处理。
在上述技术方案中,还可以包括:步骤210,定期从所述集成环境中获取已提交的所有任务的对应代码,并生成定期补丁并在所述集成环境中验证,验证通过后发布所述定期补丁。这样,就可以定期地解决来自系统的问题。
在上述技术方案中,每个补丁包括多个DLL文件。
图3是根据本发明的一个实施例的补丁生成装置的框图。
如图3所示,根据本发明的实施例的补丁生成装置300包括:代码提交模块302,将程序员根据自身任务编写的代码提交至自测环境;自测模块304,生成自测补丁并在所述自测环境中进行验证;所述自测补丁的验证通过后,所述代码提交模块将所述自身任务的代码提交至集成环境;集成测试模块306,根据已提交至所述集成环境的所有任务的对应代码生成补丁并在所述集成环境中验证;补丁发布模块308,在所述补丁的验证通过后,发布所述补丁。通过这样的技术方案,可以将经过验证的自身任务对应的代码提交至集成环境,将所有任务代码统一生成在一个补丁中,避免了覆盖的问题,也减少了补丁的数量。
在上述技术方案中,还可以包括:环境设置模块,预设置所述自测环境和所述集成环境。通过这样的技术方案,提供一个生成补丁的平台,有利于后面的代码的统一处理。
在上述技术方案中,定期测试模块,定期从所述集成环境中获取已提交的所有任务的对应代码,并生成定期补丁并在所述集成环境中验证,验证通过后所述补丁发布模块发布所述定期补丁。这样,就可以定期地解决来自系统的问题,及时发布补丁。
在上述技术方案中,每个补丁包括多个DLL文件。
通过上述技术方案,可以实现一种补丁生成方法和装置,解决了补丁互相覆盖引起二次缺陷,补丁执行效率低,增加二次缺陷的可能性的问题。
图4是根据本发明的又一实施例的补丁生成方法的流程图;以及图5是根据本发明的又一实施例的补丁生成方法的流程示意图。
如图4所示,在步骤402,开发管理部根据接收到的缺陷和需求,制定开发任务并发布。在步骤404,程序员接收到开发任务。在步骤406,程序员更新代码。在步骤408,程序员修改代码。在步骤410,程序员提交代码。这个过程与现有补丁生成的流程相同,如图1所示,没有区别。
在步骤412,新增自测环境、集成环境等补丁生成环境,根据任务更新代码。在步骤414,与之前补丁生成过程不同,新流程中自测环境、集成环境的补丁,均是由各自的统一环境生成,生成自测补丁,而不是程序员本身的环境产生。
在步骤418,验证自测补丁,验证通过则进入步骤420,不通过则进入步骤406。
在步骤420,系统自动提交代码到集成环境。在步骤422,根据集成环境的代码和任务更新原有代码。在步骤424,更新之后生成集成补丁。在步骤426,验证该集成补丁,验证通过则进入步骤428,验证不通过则进入步骤430。
在步骤428,发布集成补丁。在步骤430,回退代码,返回步骤406。
这种集中发布补丁的方法,由于将所有验证完毕的任务合成一个补丁发布,减少了补数量,一定程度上提高了补丁执行效率。
下面结合图5详细说明所解决的DLL文件互相覆盖问题。如图5所示,从图中看出,以任务A和任务B为例,C为Dll文件,任务A和任务B都各自进行图4所示的代码处理流程,如果先生成A补丁再生成B补丁,那么代码C.A在生成A时已经更新,所以再生成B补丁时,Dll文件C中已经包含了C.A的最新文件;反之亦然;这样就排除了Dll文件互相覆盖的问题。验证通过的生成的补丁A和补丁B都提交到新增的统一的集成环境,在集成环境中生成集成补丁D,验证补丁D,如果验证通过就发布集成补丁D,验证失败则回退代码。这样就确保不会将未验证通过的任务发布。
通过上述技术方案,可以实现一种补丁生成方法和装置,提高了补丁质量,解决了因补丁互相覆盖引起的缺陷,降低了引起二次缺陷的可能性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种补丁生成方法,其特征在于,包括:
步骤202,将程序员根据自身任务编写的代码提交至自测环境,生成自测补丁并在所述自测环境中进行验证;
步骤204,在所述自测补丁的验证通过后,将所述自身任务的代码提交至集成环境;
步骤206,根据已提交至所述集成环境的所有任务的对应代码生成补丁并在所述集成环境中验证;
步骤208,所述补丁的验证通过后,发布所述补丁。
2.根据权利要求1所述的补丁生成方法,其特征在于,还包括:
步骤201,预设置所述自测环境和所述集成环境。
3.根据权利要求1所述的补丁生成方法,其特征在于,还包括:
步骤210,定期从所述集成环境中获取已提交的所有任务的对应代码,并生成定期补丁并在所述集成环境中验证,验证通过后发布所述定期补丁。
4.根据权利要求1至3中任一项所述的补丁生成方法,其特征在于,每个补丁包括多个DLL文件。
5.一种补丁生成装置,其特征在于,包括:
代码提交模块,将程序员根据自身任务编写的代码提交至自测环境;
自测模块,生成自测补丁并在所述自测环境中进行验证;
所述自测补丁的验证通过后,所述代码提交模块将所述自身任务的代码提交至集成环境;
集成测试模块,根据已提交至所述集成环境的所有任务的对应代码生成补丁并在所述集成环境中验证;
补丁发布模块,在所述补丁的验证通过后,发布所述补丁。
6.根据权利要求5所述的补丁生成装置,其特征在于,还包括:
环境设置模块,预设置所述自测环境和所述集成环境。
7.根据权利要求5所述的补丁生成装置,其特征在于,定期测试模块,定期从所述集成环境中获取已提交的所有任务的对应代码,并生成定期补丁并在所述集成环境中验证,
验证通过后所述补丁发布模块发布所述定期补丁。
8.根据权利要求5至7中任一项所述的补丁生成装置,其特征在于,每个补丁包括多个DLL文件。
CN201010299854.6A 2010-09-29 2010-09-29 补丁生成方法和装置 Active CN101963911B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010299854.6A CN101963911B (zh) 2010-09-29 2010-09-29 补丁生成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010299854.6A CN101963911B (zh) 2010-09-29 2010-09-29 补丁生成方法和装置

Publications (2)

Publication Number Publication Date
CN101963911A true CN101963911A (zh) 2011-02-02
CN101963911B CN101963911B (zh) 2015-12-16

Family

ID=43516793

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010299854.6A Active CN101963911B (zh) 2010-09-29 2010-09-29 补丁生成方法和装置

Country Status (1)

Country Link
CN (1) CN101963911B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103226485A (zh) * 2013-05-21 2013-07-31 北京奇虎科技有限公司 代码发布方法、代码发布机和代码发布系统
WO2017036335A1 (zh) * 2015-09-01 2017-03-09 阿里巴巴集团控股有限公司 一种代码提交方法和设备
CN107861748A (zh) * 2017-12-04 2018-03-30 山东浪潮通软信息科技有限公司 一种补丁生成方法及装置
CN107992749A (zh) * 2017-12-11 2018-05-04 北京奇虎科技有限公司 一种检测补丁包冲突的方法及装置
CN108268272A (zh) * 2017-02-17 2018-07-10 平安科技(深圳)有限公司 基于wsus的补丁更新方法和装置
CN111142923A (zh) * 2019-12-26 2020-05-12 无锡中感微电子股份有限公司 一种补丁管理方法和系统
TWI735511B (zh) * 2017-01-19 2021-08-11 香港商斑馬智行網絡(香港)有限公司 代碼提交方法和設備

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1475909A (zh) * 2002-08-16 2004-02-18 华为技术有限公司 一种嵌入式系统软件补丁的实现和控制方法
CN101393525A (zh) * 2007-09-17 2009-03-25 赛门铁克公司 用于为计算机程序打补丁的系统和方法
CN101719074A (zh) * 2009-12-17 2010-06-02 金蝶软件(中国)有限公司 补丁实现方法及装置
CN101814026A (zh) * 2010-01-11 2010-08-25 北京世纪高通科技有限公司 软件开发的系统和方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1475909A (zh) * 2002-08-16 2004-02-18 华为技术有限公司 一种嵌入式系统软件补丁的实现和控制方法
CN101393525A (zh) * 2007-09-17 2009-03-25 赛门铁克公司 用于为计算机程序打补丁的系统和方法
CN101719074A (zh) * 2009-12-17 2010-06-02 金蝶软件(中国)有限公司 补丁实现方法及装置
CN101814026A (zh) * 2010-01-11 2010-08-25 北京世纪高通科技有限公司 软件开发的系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
时冬妮: "软件测试流程研究", 《硅谷》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103226485A (zh) * 2013-05-21 2013-07-31 北京奇虎科技有限公司 代码发布方法、代码发布机和代码发布系统
CN103226485B (zh) * 2013-05-21 2016-09-28 北京奇虎科技有限公司 代码发布方法、代码发布机和代码发布系统
WO2017036335A1 (zh) * 2015-09-01 2017-03-09 阿里巴巴集团控股有限公司 一种代码提交方法和设备
TWI735511B (zh) * 2017-01-19 2021-08-11 香港商斑馬智行網絡(香港)有限公司 代碼提交方法和設備
CN108268272A (zh) * 2017-02-17 2018-07-10 平安科技(深圳)有限公司 基于wsus的补丁更新方法和装置
CN108268272B (zh) * 2017-02-17 2021-08-31 平安科技(深圳)有限公司 基于wsus的补丁更新方法和装置
CN107861748A (zh) * 2017-12-04 2018-03-30 山东浪潮通软信息科技有限公司 一种补丁生成方法及装置
CN107992749A (zh) * 2017-12-11 2018-05-04 北京奇虎科技有限公司 一种检测补丁包冲突的方法及装置
CN111142923A (zh) * 2019-12-26 2020-05-12 无锡中感微电子股份有限公司 一种补丁管理方法和系统
CN111142923B (zh) * 2019-12-26 2023-12-05 无锡中感微电子股份有限公司 一种补丁管理方法及系统

Also Published As

Publication number Publication date
CN101963911B (zh) 2015-12-16

Similar Documents

Publication Publication Date Title
CN101963911A (zh) 补丁生成方法和装置
CN102799515B (zh) 应用程序测试方法及装置
CN102521081B (zh) 修复遭破坏的软件
CN102662701B (zh) Cpld在线升级方法、装置及业务单板
JP5535484B2 (ja) 自動ソフトウェアテストフレームワーク
CN104484169B (zh) 一种Android软件用户界面生成方法、系统及应用系统
CN106095523A (zh) 一种实现安卓编译隔离的方法和系统
US20160378458A1 (en) Method and device for system application installation package, and terminal
US9471594B1 (en) Defect remediation within a system
CN102736978A (zh) 一种检测应用程序的安装状态的方法及装置
CN103530162A (zh) 一种虚拟机在线自动软件安装的方法及系统
US9043781B2 (en) Algorithm for automated enterprise deployments
CN109086051B (zh) 应用组件部署方法、装置及计算机存储介质
CN103019722B (zh) 一种抽取Java网络应用升级包的方法及装置
CN107301070A (zh) 一种升级方法及终端
CN106610839A (zh) 发布升级包的方法、轻量升级方法、装置及系统
CN102902530A (zh) 一种基于linux嵌入式操作系统的程序校验装置
CN102262549A (zh) 补丁安装方法与系统
CN103019732A (zh) 一种基于省市县一体化软件的安装部署方法及系统
CN107169000A (zh) 静态资源发布方法及装置
CN102486749A (zh) 数据驱动测试方法及系统
US8738569B1 (en) Systematic verification of database metadata upgrade
WO2022156277A1 (zh) 一种应用程序安装方法、装置、计算设备及可读存储介质
CN105117329A (zh) 一种应用程序自动上线方法及系统
CN113515297B (zh) 一种版本更新方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100094 Haidian District North Road, Beijing, No. 68

Applicant after: Yonyou Network Technology Co., Ltd.

Address before: 100094 Beijing city Haidian District North Road No. 68, UFIDA Software Park

Applicant before: UFIDA Software Co., Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant