CN105224326A - 一种系统代码的增量部署方法及装置 - Google Patents
一种系统代码的增量部署方法及装置 Download PDFInfo
- Publication number
- CN105224326A CN105224326A CN201510643074.1A CN201510643074A CN105224326A CN 105224326 A CN105224326 A CN 105224326A CN 201510643074 A CN201510643074 A CN 201510643074A CN 105224326 A CN105224326 A CN 105224326A
- Authority
- CN
- China
- Prior art keywords
- file
- source file
- target
- time
- compiling
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本申请公开了一种系统代码的增量部署方法及装置,所述方法包括:响应于源文件系统的代码发布指令,扫描所述源文件系统中修改时间标签在系统时间戳之后的目标源文件;其中,所述系统时间戳表示的是所述源文件系统最近一次进行增量部署的时间;获取与所述目标源文件对应的目标编译文件;打包所述目标编译文件,以生成增量压缩包;将所述增量压缩包进行上传;将所述系统时间戳表示的时间更新为所述修改时间标签表示的时间。本申请不仅能够保证系统代码增量部署的完整性与准确性,还可以大幅度节省工作人员的工作量,进一步提高部署的效率。
Description
技术领域
本申请涉及软件设计技术领域,更具体的说是涉及一种系统代码的增量部署方法及装置。
背景技术
目前,基于Java语言的应用系统在首次部署上线之后,通常需要进行多次代码的增量更新,即:将代码源文件中发生变化如修改或增加的代码文件所对应的编译文件打包重新部署上线。
而在现有的增量更新方案中,通常是依靠程序员或测试员进行手工完成,如记录发生修改的代码源文件及数据结构脚本文件,再如寻找发生变化的代码源文件对应的编译文件,等等。
由此,现有的增量更新方案会存在完整更新的可靠性较低及更新效率较低等各种问题。
发明内容
有鉴于此,本申请提供了一种系统代码的增量部署方法及装置,用以解决现有技术中手工增量更新系统代码,造成完整更新的可靠性较低及更新效率较低等各种的技术问题。
为实现上述目的,本申请提供如下技术方案:
一种系统代码的增量部署方法,所述方法包括:
响应于源文件系统的代码发布指令,扫描所述源文件系统中修改时间标签表示的时间在系统时间戳表示的时间之后的目标源文件;其中,所述系统时间戳表示的是所述源文件系统最近一次进行增量部署的时间;
获取与所述目标源文件对应的目标编译文件;
打包所述目标编译文件,以生成增量压缩包;
将所述增量压缩包进行上传;
将所述系统时间戳表示的时间更新为所述修改时间标签表示的时间。
上述方法,优选的,所述扫描所述源文件系统中修改时间标签在系统时间戳之后的目标源文件,包括:
确定所述源文件系统最近一次进行增量部署的时间,以得到系统时间戳;
将所述源文件系统中的各个源文件的修改时间标签分别与所述系统时间戳进行比对,以得到修改时间标签在所述系统时间戳之后的目标源文件。
上述方法,优选的,所述获取与所述目标源文件对应的目标编译文件,包括:
获得所述目标源文件的源文件路径;
确定与所述源文件路径相对应的编译目标路径;
在所述编译目标路径下,提取目标编译文件,其中,所述目标编译文件与所述目标源文件相对应;
根据所述源文件路径,对所述目标编译文件的路径结构进行重新组织。
上述方法,优选的,所述打包所述目标编译文件,以生成增量压缩包,包括:
获取所述目标编译文件对应的版本文件,所述版本文件包含所述修改时间标签;
将所述目标编译文件与所述版本文件进行打包,以得到增量压缩包。
上述方法,优选的,在将所述增量压缩包进行上传之后,所述方法还包括:
监测所述增量压缩包上传的上传结果,所述上传结果表征增量部署是否成功。
本申请还提供了一种系统代码的增量部署装置,所述装置包括:
源文件扫描单元,用于响应于源文件系统的代码发布指令,扫描所述源文件系统中修改时间标签表示的时间在系统时间戳表示的时间之后的目标源文件;其中,所述系统时间戳表示的是所述源文件系统最近一次进行增量部署的时间;
编译文件获取单元,用于获取与所述目标源文件对应的目标编译文件;
增量打包单元,用于打包所述目标编译文件,以生成增量压缩包;
压缩包上传单元,用于将所述增量压缩包进行上传;
时间戳更新单元,用于将所述系统时间戳表示的时间更新为所述修改时间标签表示的时间。
上述装置,优选的,所述源文件扫描单元包括:
时间戳确定子单元,用于确定所述源文件系统最近一次进行增量部署上传文件的时间戳;
时间标签比对子单元,用于将所述源文件系统中的各个源文件的修改时间标签分别与所述系统时间戳进行比对,以得到修改时间标签在所述系统时间戳之后的目标源文件。
上述装置,优选的,所述编译文件提取单元包括:
源路径获取子单元,用于获得所述目标源文件的源文件路径;
编译路径确定子单元,用于确定与所述源文件路径相对应的编译目标路径;
编译文件提取子单元,用于在所述编译目标路径下,提取目标编译文件,其中,所述目标编译文件与所述目标源文件相对应;
路径结构组织子单元,用于根据所述源文件路径,对所述目标编译文件的路径结构进行重新组织。
上述装置,优选的,所述增量打包单元包括:
版本文件获取子单元,用于获取所述目标编译文件对应的版本文件,所述版本文件包含所述修改时间标签;
文件打包子单元,用于将所述目标编译文件与所述版本文件进行打包,以得到增量压缩包。
上述装置,优选的,所述装置还包括:
上传监测单元,用于在所述压缩包上传单元将所述增量压缩包进行上传之后,监测所述增量压缩包上传的上传结果,所述上传结果表征增量部署是否成功。
由上述的技术方案可知,与现有技术相比,本申请公开提供的一种系统代码的增量部署方法及装置,在源文件系统准备进行代码发布时,通过在源文件系统中自动扫描出修改时间在源文件系统最近一次进行增量部署的时间之后的目标源文件,进而获取到该目标源文件所对应的目标编译文件,再将目标编译文件打包成增量压缩包之后进行上传,完成系统代码的增量部署。在这一过程中,程序员或测试工作人员无需对人工对代码源文件进行时间标签记录也无需进行文件查找等操作,本申请会自动对每次源文件系统进行代码发布之后更新时间戳表示的时间,并在每次进行代码发布时扫描出满足修改时间在时间戳的时间之后的目标源文件,进而提取到相应的目标编译文件,完成相应的增量压缩包的上传任务,不仅能够保证系统代码增量部署的完整性与准确性,还可以大幅度节省工作人员的工作量,进一步提高部署的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例一提供的一种系统代码的增量部署方法的实现流程图;
图2为本申请实施例二提供的一种系统代码的增量部署方法的部分流程图;
图3为本申请实施例三提供的一种系统代码的增量部署方法的部分流程图;
图4为本申请实施例四提供的一种系统代码的增量部署方法的部分流程图;
图5为本申请实施例五提供的一种系统代码的增量部署方法的实现流程图;
图6为本申请实施例六提供的一种系统代码的增量部署装置的结构示意图;
图7为本申请实施例七提供的一种系统代码的增量部署装置的部分结构示意图;
图8为本申请实施例八提供的一种系统代码的增量部署装置的部分结构示意图;
图9为本申请实施例九提供的一种系统代码的增量部署装置的部分结构示意图;
图10为本申请实施例十提供的一种系统代码的增量部署装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参考图1,为本申请实施例一提供的一种系统代码的增量部署方法的实现流程图,其中,所述方法可以适用于对Java语言的应用系统中源文件系统的系统代码的增量部署,即将发生变化的代码重新编译再上传。
具体的,本实施例中,可以通过以下步骤实现:
步骤101:响应于源文件系统的代码发布指令,扫描所述源文件系统中修改时间标签表示的时间在系统时间戳表示的时间之后的目标源文件。
其中,所述系统时间戳表示的是所述源文件系统最近一次进行增量部署的时间。而所述源文件系统是指Java语言的应用系统的工程源文件系统,所述源文件系统中包含所述应用系统的所有系统代码源文件。所述代码发布指令可以根据用户需求设置定时生成,如每隔1小时或一天生成一个代码发布指令,即每小时或每天所述源文件系统进行一次增量部署;也可以在所述源文件系统中的源文件发生变化时自动生成,以表征所述源文件系统需要进行增量更新(或部署)。
需要说明的是,在本实施例中所述源文件系统具有一系统时间戳,所述时间戳表征所述源文件系统进行系统代码的增量更新或首次部署的时间,所述系统时间戳在初始状态下(例如所述源文件系统首次部署到应用平台)可以为最小时间值,如00年00月00日00时00分00秒。而在所述源文件系统每次进行增量部署即增量更新之后,所述系统时间戳都会发生变化。本实施例中是在进行增量部署之后,将所述源文件系统中修改时间标签在所述系统时间戳之后的目标源文件进行获取。
其中,所述时间戳及所述修改时间标签可以精确到秒或者毫秒,以提高增量部署的准确性。
步骤102:获取与所述目标源文件对应的目标编译文件。
也就是说,本实施例中在找到出现增量(即存在修改)的目标源文件之后,需要找到与该目标源文件相对应的目标编译文件,本实施例的最终目标即为将所述目标编译文件进行部署。
步骤103:打包所述目标编译文件,以生成增量压缩包。
步骤104:将所述增量压缩包进行上传。
步骤105:将所述系统时间戳表示的时间更新为所述修改时间标签表示的时间。
也就是说,本实施例中会在将所述增量压缩包进行上传,完成部署任务,并更新所述源文件系统的系统时间戳所表示的时间,用以下次增量部署时使用。
由上述的技术方案可知,本申请实施例一提供的一种系统代码的增量部署方法,在源文件系统准备进行代码发布时,通过在源文件系统中自动扫描出修改时间在源文件系统最近一次进行增量部署的时间之后的目标源文件,进而获取到该目标源文件所对应的目标编译文件,再将目标编译文件打包成增量压缩包之后进行上传,完成系统代码的增量部署。在这一过程中,程序员或测试工作人员无需对人工对代码源文件进行时间标签记录也无需进行文件查找等操作,本实施例会自动对每次源文件系统进行代码发布之后更新时间戳表示的时间,并在每次进行代码发布时扫描出满足修改时间在时间戳的时间之后的目标源文件,进而提取到相应的目标编译文件,完成相应的增量压缩包的上传任务,不仅能够保证系统代码增量部署的完整性与准确性,还可以大幅度节省工作人员的工作量,进一步提高部署的效率。
参考图2,为本申请实施例二提供的一种系统代码的增量部署方法中所述步骤101的实现流程图,其中,所述步骤101可以通过以下步骤实现:
步骤111:确定所述源文件系统最近一次进行增量部署的时间,以得到系统时间戳。
其中,在所述源文件系统首次部署时,所述系统时间戳为最小时间值,此时,所述源文件系统中所有源文件的修改时间标签即当前时间标签所表示的时间均在所述系统时间戳所表示的时间之后,因此,所述源文件系统中的所有源文件均为目标源文件,在部署完成后,所述系统时间戳所表示的时间修改为当前的修改时间标签所表示的时间;在所述源文件系统非首次部署,即进行后续的增量部署时,所述系统时间戳所表示的时间即为所述源文件系统最近一次进行增量部署的修改时间标签所表示的时间,本实施例中会扫描该源文件系统中修改时间在所述系统时间戳所表示的时间之后的源文件为目标源文件,即存在增量即修改的源文件,完成增量部署之后,所述系统时间戳所表示的时间修改为该当前的修改时间标签所表示的时间。
步骤112:对所述源文件系统中的各个源文件的修改时间标签分别与所述系统时间戳进行比对,以得到修改时间标签在所述系统时间戳之后的目标源文件。
也就是说,本实施例中会确定所述源文件系统中的各个源文件的修改时间标签所表示的时间是否在所述系统时间戳所表示的时间之后,以找到需要进行增量部署的目标源文件,即修改时间标签所表示的时间在所述系统时间戳所表示的时间之后的目标源文件。
参考图3,为本申请实施例三提供的一种系统代码的增量部署方法中所述步骤102的实现流程图,其中,所述步骤102可以包括以下步骤:
步骤121:获得所述目标源文件的源文件路径。
其中,所述目标源文件中包括修改时间在所述源文件系统最近一次进行增量部署的时间戳之后的文件列表及文件的路径信息,因此,本实施例中可以在所述目标源文件中提取到所述源文件路径。
步骤122:确定与所述源文件路径相对应的编译目标路径。
步骤123:在所述编译目标路径下,提取目标编译文件。
其中,所述目标编译文件与所述目标源文件相对应。
需要说明的是,所述工程源文件具有其对应的编译文件,在本实施例中可以根据所述目标源文件中的源文件路径找到相应的编译目标路径,进而在所述编译目标路径下,提取到目标编译文件。
步骤124:根据所述源文件路径,对所述目标编译文件的路径结构进行重新组织。
其中,在前文中所提取到的目标编译文件为所述目标源文件的源文件进行编译所得到的文件代码,而由于所述目标源文件已经发生变化,相应的,其对应的编译文件的路径结构会发生一定的变化,因此,在提取到所述目标编译文件之后,需要对其路径结构重新进行组织,以得到源文件路径结构与编译文件路径结构完全一致的系统。
参考图4,为本申请实施例四提供的一种系统代码的增量部署方法中所述步骤103的实现流程图,其中,所述步骤103可以通过以下步骤实现:
步骤131:获取所述目标编译文件对应的版本文件。
其中,所述版本文件包含所述修改时间标签。也就是说,本实施例中将所述目标源文件的修改时间标签写入所述版本文件,以表征所述目标源文件的时间版本。
步骤132:将所述目标编译文件与所述版本文件进行打包,以得到增量压缩包。
具体的,本实施例中可以先将所述目标编译文件进行打包,再讲所述版本文件写入到打包得到的压缩包文件中,得到增量压缩包。
参考图5,为本申请实施例五提供的一种系统代码的增量部署方法的实现流程图,其中,在所述步骤104之后,所述方法还可以包括以下步骤:
步骤106:监测所述增量压缩包上传的上传结果,所述上传结果表征增量部署是否成功。
也就是说,本实施例在将所述增量压缩包进行上传之后,会跟踪监测所述增量压缩包的上传结果,以及时发现增量部署是否成功,可以选择在部署失败之后重新进行扫描、编译及上传操作,直到增量部署成功,或者停止当前增量部署。
参考图6,为本申请实施例六提供的一种系统代码的增量部署装置的结构示意图,其中,所述装置可以适用于对Java语言的应用系统中源文件系统的系统代码的增量部署,即将发生变化的代码重新编译再上传。
具体的,本实施例中,可以通过以下结构实现:
源文件扫描单元601,用于响应于源文件系统的代码发布指令,扫描所述源文件系统中修改时间标签表示的时间在系统时间戳表示的时间之后的目标源文件。
其中,所述系统时间戳表示的是所述源文件系统最近一次进行增量部署的时间。而所述源文件系统是指Java语言的应用系统的工程源文件系统,所述源文件系统中包含所述应用系统的所有系统代码源文件。所述代码发布指令可以根据用户需求设置定时生成,如每隔1小时或一天生成一个代码发布指令,即每小时或每天所述源文件系统进行一次增量部署;也可以在所述源文件系统中的源文件发生变化时自动生成,以表征所述源文件系统需要进行增量更新(或部署)。
需要说明的是,在本实施例中所述源文件系统具有一系统时间戳,所述时间戳表征所述源文件系统进行系统代码的增量更新或首次部署的时间,所述系统时间戳在初始状态下(例如所述源文件系统首次部署到应用平台)可以为最小时间值,如00年00月00日00时00分00秒。而在所述源文件系统每次进行增量部署即增量更新之后,所述系统时间戳都会发生变化。本实施例中是在进行增量部署之后,将所述源文件系统中修改时间标签在所述系统时间戳之后的目标源文件进行获取。
其中,所述时间戳及所述修改时间标签可以精确到秒或者毫秒,以提高增量部署的准确性。
编译文件提取单元602,用于获取与所述目标源文件对应的目标编译文件。
也就是说,本实施例中在找到出现增量(即存在修改)的目标源文件之后,需要找到与该目标源文件相对应的目标编译文件,本实施例的最终目标即为将所述目标编译文件进行部署。
增量打包单元603,用于打包所述目标编译文件,以生成增量压缩包。
压缩包上传单元604,用于将所述增量压缩包进行上传。
时间戳更新单元605,用于将所述系统时间戳表示的时间更新为所述修改时间标签表示的时间。
也就是说,本实施例中会在将所述增量压缩包进行上传,完成部署任务,并更新所述源文件系统的系统时间戳所表示的时间,用以下次增量部署时使用。
由上述的技术方案可知,本申请实施例六提供的一种系统代码的增量部署装置,在源文件系统准备进行代码发布时,通过在源文件系统中自动扫描出修改时间在源文件系统最近一次进行增量部署的时间之后的目标源文件,进而获取到该目标源文件所对应的目标编译文件,再将目标编译文件打包成增量压缩包之后进行上传,完成系统代码的增量部署。在这一过程中,程序员或测试工作人员无需对人工对代码源文件进行时间标签记录也无需进行文件查找等操作,本实施例会自动对每次源文件系统进行代码发布之后更新时间戳表示的时间,并在每次进行代码发布时扫描出满足修改时间在时间戳的时间之后的目标源文件,进而提取到相应的目标编译文件,完成相应的增量压缩包的上传任务,不仅能够保证系统代码增量部署的完整性与准确性,还可以大幅度节省工作人员的工作量,进一步提高部署的效率。
参考图7,为本申请实施例七提供的一种系统代码的增量部署装置中所述源文件扫描单元601的结构示意图,其中,所述源文件扫描单元601可以包括以下结构:
时间戳确定子单元611,用于确定所述源文件系统最近一次进行增量部署的时间,以得到系统时间戳。
其中,在所述源文件系统首次部署时,所述系统时间戳为最小时间值,此时,所述源文件系统中所有源文件的修改时间标签即当前时间标签所表示的时间均在所述系统时间戳所表示的时间之后,因此,所述源文件系统中的所有源文件均为目标源文件,在部署完成后,所述系统时间戳所表示的时间修改为当前的修改时间标签所表示的时间;在所述源文件系统非首次部署,即进行后续的增量部署时,所述系统时间戳所表示的时间即为所述源文件系统最近一次进行增量部署的修改时间标签所表示的时间,本实施例中会扫描该源文件系统中修改时间在所述系统时间戳所表示的时间之后的源文件为目标源文件,即存在增量即修改的源文件,完成增量部署之后,所述系统时间戳所表示的时间修改为该当前的修改时间标签所表示的时间。
时间标签比对子单元612,用于对所述源文件系统中的各个源文件的修改时间标签分别与所述系统时间戳进行比对,以得到修改时间标签在所述系统时间戳之后的目标源文件。
也就是说,本实施例中会确定所述源文件系统中的各个源文件的修改时间标签所表示的时间是否在所述系统时间戳所表示的时间之后,以找到需要进行增量部署的目标源文件,即修改时间标签所表示的时间在所述系统时间戳所表示的时间之后的目标源文件。
参考图8,为本申请实施例八提供的一种系统代码的增量部署装置中所述编译文件提取单元602的结构示意图,其中,所述编译文件提取单元602可以包括以下结构:
源路径获取子单元621,用于获得所述目标源文件的源文件路径。
其中,所述目标源文件中包括修改时间在所述源文件系统最近一次进行增量部署的时间戳之后的文件列表及文件的路径信息,因此,本实施例中可以在所述目标源文件中提取到所述源文件路径。
编译路径确定子单元622,用于确定与所述源文件路径相对应的编译目标路径。
编译文件提取子单元623,用于在所述编译目标路径下,提取目标编译文件。
其中,所述目标编译文件与所述目标源文件相对应。
需要说明的是,所述工程源文件具有其对应的编译文件,在本实施例中可以根据所述目标源文件中的源文件路径找到相应的编译目标路径,进而在所述编译目标路径下,提取到目标编译文件。
路径结构组织子单元624,用于根据所述源文件路径,对所述目标编译文件的路径结构进行重新组织。
其中,在前文中所提取到的目标编译文件为所述目标源文件的源文件进行编译所得到的文件代码,而由于所述目标源文件已经发生变化,相应的,其对应的编译文件的路径结构会发生一定的变化,因此,在提取到所述目标编译文件之后,需要对其路径结构重新进行组织,以得到源文件路径结构与编译文件路径结构完全一致的系统。
参考图9,为本申请实施例九提供的一种系统代码的增量部署装置中所述增量打包单元603的结构示意图,其中,所述增量打包单元603可以通过以下结构实现:
版本文件获取子单元631,用于获取所述目标编译文件对应的版本文件。
其中,所述版本文件包含所述修改时间标签。也就是说,本实施例中将所述目标源文件的修改时间标签写入所述版本文件,以表征所述目标源文件的时间版本。
文件打包子单元632,用于将所述目标编译文件与所述版本文件进行打包,以得到增量压缩包。
具体的,本实施例中可以先将所述目标编译文件进行打包,再讲所述版本文件写入到打包得到的压缩包文件中,得到增量压缩包。
参考图10,为本申请实施例十提供的一种系统代码的增量部署装置的结构示意图,其中,所述装置还可以包括以下结构单元:
上传监测单元606,用于在所述压缩包上传单元604将所述增量压缩包进行上传之后,监测所述增量压缩包上传的上传结果,所述上传结果表征增量部署是否成功。
也就是说,本实施例在将所述增量压缩包进行上传之后,会跟踪监测所述增量压缩包的上传结果,以及时发现增量部署是否成功,可以选择在部署失败之后重新进行扫描、编译及上传操作,直到增量部署成功,或者停止当前增量部署。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种系统代码的增量部署方法,其特征在于,所述方法包括:
响应于源文件系统的代码发布指令,扫描所述源文件系统中修改时间标签表示的时间在系统时间戳表示的时间之后的目标源文件;其中,所述系统时间戳表示的是所述源文件系统最近一次进行增量部署的时间;
获取与所述目标源文件对应的目标编译文件;
打包所述目标编译文件,以生成增量压缩包;
将所述增量压缩包进行上传;
将所述系统时间戳表示的时间更新为所述修改时间标签表示的时间。
2.根据权利要求1所述的方法,其特征在于,所述扫描所述源文件系统中修改时间标签在系统时间戳之后的目标源文件,包括:
确定所述源文件系统最近一次进行增量部署的时间,以得到系统时间戳;
将所述源文件系统中的各个源文件的修改时间标签分别与所述系统时间戳进行比对,以得到修改时间标签在所述系统时间戳之后的目标源文件。
3.根据权利要求1或2所述的方法,其特征在于,所述获取与所述目标源文件对应的目标编译文件,包括:
获得所述目标源文件的源文件路径;
确定与所述源文件路径相对应的编译目标路径;
在所述编译目标路径下,提取目标编译文件,其中,所述目标编译文件与所述目标源文件相对应;
根据所述源文件路径,对所述目标编译文件的路径结构进行重新组织。
4.根据权利要求1或2所述的方法,其特征在于,所述打包所述目标编译文件,以生成增量压缩包,包括:
获取所述目标编译文件对应的版本文件,所述版本文件包含所述修改时间标签;
将所述目标编译文件与所述版本文件进行打包,以得到增量压缩包。
5.根据权利要求1所述的方法,其特征在于,在将所述增量压缩包进行上传之后,所述方法还包括:
监测所述增量压缩包上传的上传结果,所述上传结果表征增量部署是否成功。
6.一种系统代码的增量部署装置,其特征在于,所述装置包括:
源文件扫描单元,用于响应于源文件系统的代码发布指令,扫描所述源文件系统中修改时间标签表示的时间在系统时间戳表示的时间之后的目标源文件;其中,所述系统时间戳表示的是所述源文件系统最近一次进行增量部署的时间;
编译文件获取单元,用于获取与所述目标源文件对应的目标编译文件;
增量打包单元,用于打包所述目标编译文件,以生成增量压缩包;
压缩包上传单元,用于将所述增量压缩包进行上传;
时间戳更新单元,用于将所述系统时间戳表示的时间更新为所述修改时间标签表示的时间。
7.根据权利要求6所述的装置,其特征在于,所述源文件扫描单元包括:
时间戳确定子单元,用于确定所述源文件系统最近一次进行增量部署上传文件的时间戳;
时间标签比对子单元,用于将所述源文件系统中的各个源文件的修改时间标签分别与所述系统时间戳进行比对,以得到修改时间标签在所述系统时间戳之后的目标源文件。
8.根据权利要求6或7所述的装置,其特征在于,所述编译文件提取单元包括:
源路径获取子单元,用于获得所述目标源文件的源文件路径;
编译路径确定子单元,用于确定与所述源文件路径相对应的编译目标路径;
编译文件提取子单元,用于在所述编译目标路径下,提取目标编译文件,其中,所述目标编译文件与所述目标源文件相对应;
路径结构组织子单元,用于根据所述源文件路径,对所述目标编译文件的路径结构进行重新组织。
9.根据权利要求6或7所述的装置,其特征在于,所述增量打包单元包括:
版本文件获取子单元,用于获取所述目标编译文件对应的版本文件,所述版本文件包含所述修改时间标签;
文件打包子单元,用于将所述目标编译文件与所述版本文件进行打包,以得到增量压缩包。
10.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
上传监测单元,用于在所述压缩包上传单元将所述增量压缩包进行上传之后,监测所述增量压缩包上传的上传结果,所述上传结果表征增量部署是否成功。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510643074.1A CN105224326A (zh) | 2015-09-30 | 2015-09-30 | 一种系统代码的增量部署方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510643074.1A CN105224326A (zh) | 2015-09-30 | 2015-09-30 | 一种系统代码的增量部署方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105224326A true CN105224326A (zh) | 2016-01-06 |
Family
ID=54993323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510643074.1A Pending CN105224326A (zh) | 2015-09-30 | 2015-09-30 | 一种系统代码的增量部署方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105224326A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808304A (zh) * | 2016-03-29 | 2016-07-27 | 北京小米移动软件有限公司 | 代码部署方法、装置及系统 |
CN106325881A (zh) * | 2016-08-30 | 2017-01-11 | 泰康保险集团股份有限公司 | 发布包自动生成方法及装置 |
CN106648784A (zh) * | 2016-12-27 | 2017-05-10 | Tcl集团股份有限公司 | 一种基于android系统的OTA升级方法及系统、android终端 |
CN106775821A (zh) * | 2016-11-21 | 2017-05-31 | 上海斐讯数据通信技术有限公司 | 一种系统升级方法和装置 |
CN107357583A (zh) * | 2017-07-13 | 2017-11-17 | 上海市共进通信技术有限公司 | 基于软件代码进行模块自动构建的系统及方法 |
CN108319854A (zh) * | 2017-12-29 | 2018-07-24 | 上海瑞家信息技术有限公司 | 一种增量代码静态扫描方法、设备及计算机可读存储介质 |
CN109167826A (zh) * | 2018-08-20 | 2019-01-08 | 中软信息系统工程有限公司 | Web应用的上架方法、装置及系统 |
CN111338643A (zh) * | 2020-02-26 | 2020-06-26 | 北京思特奇信息技术股份有限公司 | 一种跨主机跨网络同步代码的方法和系统 |
CN111897557A (zh) * | 2020-07-06 | 2020-11-06 | 北京中关村银行股份有限公司 | 一种业务系统的更新方法、装置、设备及存储介质 |
CN112559019A (zh) * | 2019-09-10 | 2021-03-26 | 联易软件有限公司 | 增量文件的更新方法及装置 |
CN113344549A (zh) * | 2021-06-30 | 2021-09-03 | 深圳市斯博科技有限公司 | 项目工程文档更新方法、装置、计算机设备及存储介质 |
CN113742736A (zh) * | 2021-09-22 | 2021-12-03 | 中国银行股份有限公司 | 一种增量代码安全扫描方法和装置 |
CN114422608A (zh) * | 2021-05-17 | 2022-04-29 | 深圳希施玛数据科技有限公司 | 一种数据传输方法、装置及设备 |
CN115756553A (zh) * | 2023-01-09 | 2023-03-07 | 傲网信息科技(厦门)有限公司 | 一种软件服务器更新方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930379A (zh) * | 2010-08-20 | 2010-12-29 | 上海普元信息技术股份有限公司 | 分布式软件系统中服务器应用程序增量部署的结构及方法 |
CN102480505A (zh) * | 2010-11-30 | 2012-05-30 | 金蝶软件(中国)有限公司 | 数据增量传输方法及装置 |
CN102736946A (zh) * | 2011-04-11 | 2012-10-17 | 阿里巴巴集团控股有限公司 | 一种应用节点的批量部署方法及装置 |
CN103530137A (zh) * | 2013-11-05 | 2014-01-22 | 中国联合网络通信集团有限公司 | 一种Java web应用部署方法及装置 |
-
2015
- 2015-09-30 CN CN201510643074.1A patent/CN105224326A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930379A (zh) * | 2010-08-20 | 2010-12-29 | 上海普元信息技术股份有限公司 | 分布式软件系统中服务器应用程序增量部署的结构及方法 |
CN102480505A (zh) * | 2010-11-30 | 2012-05-30 | 金蝶软件(中国)有限公司 | 数据增量传输方法及装置 |
CN102736946A (zh) * | 2011-04-11 | 2012-10-17 | 阿里巴巴集团控股有限公司 | 一种应用节点的批量部署方法及装置 |
CN103530137A (zh) * | 2013-11-05 | 2014-01-22 | 中国联合网络通信集团有限公司 | 一种Java web应用部署方法及装置 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808304A (zh) * | 2016-03-29 | 2016-07-27 | 北京小米移动软件有限公司 | 代码部署方法、装置及系统 |
CN106325881A (zh) * | 2016-08-30 | 2017-01-11 | 泰康保险集团股份有限公司 | 发布包自动生成方法及装置 |
CN106775821A (zh) * | 2016-11-21 | 2017-05-31 | 上海斐讯数据通信技术有限公司 | 一种系统升级方法和装置 |
CN106648784A (zh) * | 2016-12-27 | 2017-05-10 | Tcl集团股份有限公司 | 一种基于android系统的OTA升级方法及系统、android终端 |
CN106648784B (zh) * | 2016-12-27 | 2021-02-05 | Tcl科技集团股份有限公司 | 一种基于android系统的OTA升级方法及系统、android终端 |
CN107357583A (zh) * | 2017-07-13 | 2017-11-17 | 上海市共进通信技术有限公司 | 基于软件代码进行模块自动构建的系统及方法 |
CN108319854A (zh) * | 2017-12-29 | 2018-07-24 | 上海瑞家信息技术有限公司 | 一种增量代码静态扫描方法、设备及计算机可读存储介质 |
CN109167826B (zh) * | 2018-08-20 | 2021-05-07 | 中软信息系统工程有限公司 | Web应用的上架方法、装置及系统 |
CN109167826A (zh) * | 2018-08-20 | 2019-01-08 | 中软信息系统工程有限公司 | Web应用的上架方法、装置及系统 |
CN112559019A (zh) * | 2019-09-10 | 2021-03-26 | 联易软件有限公司 | 增量文件的更新方法及装置 |
CN111338643A (zh) * | 2020-02-26 | 2020-06-26 | 北京思特奇信息技术股份有限公司 | 一种跨主机跨网络同步代码的方法和系统 |
CN111897557A (zh) * | 2020-07-06 | 2020-11-06 | 北京中关村银行股份有限公司 | 一种业务系统的更新方法、装置、设备及存储介质 |
CN114422608A (zh) * | 2021-05-17 | 2022-04-29 | 深圳希施玛数据科技有限公司 | 一种数据传输方法、装置及设备 |
CN114422608B (zh) * | 2021-05-17 | 2024-01-26 | 深圳希施玛数据科技有限公司 | 一种数据传输方法、装置及设备 |
CN113344549A (zh) * | 2021-06-30 | 2021-09-03 | 深圳市斯博科技有限公司 | 项目工程文档更新方法、装置、计算机设备及存储介质 |
CN113344549B (zh) * | 2021-06-30 | 2024-03-26 | 深圳万兴软件有限公司 | 项目工程文档更新方法、装置、计算机设备及存储介质 |
CN113742736A (zh) * | 2021-09-22 | 2021-12-03 | 中国银行股份有限公司 | 一种增量代码安全扫描方法和装置 |
CN115756553A (zh) * | 2023-01-09 | 2023-03-07 | 傲网信息科技(厦门)有限公司 | 一种软件服务器更新方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105224326A (zh) | 一种系统代码的增量部署方法及装置 | |
US10540335B2 (en) | Solution to generate a scriptset for an automated database migration | |
US9898269B2 (en) | Build deployment automation for information technology mangement | |
CN103425572B (zh) | 代码分析方法及代码分析系统 | |
CN103412820B (zh) | Web系统中的页面的测试方法和装置 | |
CN112506807B (zh) | 服务于多系统的接口自动化测试系统 | |
CN112651126B (zh) | 一种基于bim的建筑工程施工优化系统、方法、终端及存储介质 | |
CN107506451A (zh) | 用于数据交互的异常信息监控方法及装置 | |
CN104423960A (zh) | 一种项目持续集成的方法及系统 | |
CN105205053A (zh) | 一种数据库增量日志解析方法及系统 | |
CN104156812A (zh) | 建设工程施工现场原始数据采集系统及采集方法 | |
CN110334326B (zh) | 一种识别配方文件并转化为xml文件的方法及系统 | |
CN105446868A (zh) | 系统兼容性测试方法、测试用例管理方法及相关装置 | |
CN112286829B (zh) | 测试脚本生成方法及装置 | |
CN104572238A (zh) | 一种高效的生成可执行软件包的方法及系统 | |
CN105095059A (zh) | 一种自动化测试的方法和装置 | |
CN104778033A (zh) | 一种积木式软件的构建方法和装置 | |
CN104657387A (zh) | 一种数据查询方法及装置 | |
CN103645900A (zh) | 软件发布方法及装置 | |
CN106648977A (zh) | 一种安卓系统文件的恢复方法及装置 | |
CN104598382B (zh) | 一种测试控制方法和装置 | |
CN104050161A (zh) | 应用和数据服务器的动态桥接 | |
US20210124575A1 (en) | Providing build avoidance without requiring local source code | |
CN106293687A (zh) | 一种打包流程的控制方法,及装置 | |
JP2012053635A (ja) | 改ざんチェック装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160106 |
|
RJ01 | Rejection of invention patent application after publication |