本申请属于计算机,具体涉及一种项目拷贝方法、装置。
背景技术:
1、在相关技术中,在对大型项目数据部署时一般通过自动化脚本进行拷贝,部署过程中需要自动化脚本执行创建目录、拷贝数据等重复性工作。在大型项目中,真正占据空间大小的主要是项目数据中的中间文件、资源文件以及各种库执行文件,因此在通过自动化脚本对这些数据进行拷贝所花费的时间较长。并且,在通过自动化脚本执行的过程中,需要消耗大量时间在等待自动化脚本执行上,对于项目数据的拷贝效率不高。
技术实现思路
1、本申请的目的在于提供一种项目拷贝方法、装置,一定程度上提高了对项目进行拷贝的效率。
2、根据本申请实施例的一个方面,提供一种项目拷贝方法,该方法包括:
3、获取针对文件体积配置的体积阈值;
4、对目标项目的源目录进行递归遍历,得到待拷贝目录和待拷贝文件结构集合,所述待拷贝文件结构集合包括多个待拷贝文件;
5、基于所述待拷贝目录和所述待拷贝文件结构集合,创建拷贝任务;
6、执行所述拷贝任务,将所述待拷贝目录和所述待拷贝文件结构集合拷贝至目标目录,其中,在执行所述拷贝任务时,基于文件摘要值对比的方式确定是否跳过拷贝大于或等于所述体积阈值的第一待拷贝文件。
7、根据本申请实施例的一个方面,提供一种项目拷贝装置,该装置包括:
8、阈值定义模块,用于获取针对文件体积配置的体积阈值;
9、项目递归模块,用于对目标项目的源目录进行递归遍历,得到待拷贝目录和待拷贝文件结构集合,所述待拷贝文件结构集合包括多个待拷贝文件;
10、任务创建模块,用于基于所述待拷贝目录和所述待拷贝文件结构集合,创建拷贝任务;
11、拷贝执行模块,用于执行所述拷贝任务,将所述待拷贝目录和所述待拷贝文件结构集合拷贝至目标目录,其中,在执行所述拷贝任务时,基于文件摘要值对比的方式确定是否跳过拷贝大于或等于所述体积阈值的第一待拷贝文件。
12、在本申请的一些实施例中,基于以上技术方案,阈值定义模块配置为:
13、生成项目拷贝脚本,所述项目拷贝脚本包括体积配置接口;
14、通过所述体积配置接口,获取所述体积阈值。
15、在本申请的一些实施例中,基于以上技术方案,项目递归模块配置为:
16、通过数组对所述源目录的子目录进行存储,得到待拷贝目录;
17、对所述子目录中的文件进行递归操作,得到待拷贝文件结构集合,所述待拷贝文件结构集合包括多个待拷贝文件;
18、对体积大于所述体积阈值的所述待拷贝文件结构集合计算并存储文件摘要值。
19、在本申请的一些实施例中,基于以上技术方案,任务创建模块配置为:
20、获取处理设备的设备配置信息,根据设备配置信息中的处理器信息设置至少一个任务线程;
21、将所述待拷贝目录和所述待拷贝文件结构集合按照预设的分配方式分配至对应的所述任务线程,创建所述拷贝任务。
22、在本申请的一些实施例中,基于以上技术方案,拷贝执行模块配置为:
23、将所述待拷贝目录在所述目标目录中进行创建;
24、在对所述第一待拷贝文件进行拷贝时,若所述目标目录中存储有大于或等于所述体积阈值的第二文件,则将所述第一待拷贝文件的文件摘要值与所述第二文件的文件摘要值进行对比,并基于对比结果确定是否跳过拷贝所述第一待拷贝文件。
25、在本申请的一些实施例中,基于以上技术方案,项目拷贝装置还配置为:
26、若所述目标目录中不存储有大于或等于所述体积阈值的第二文件,则将所述第一待拷贝文件拷贝至所述目标目录中对应的位置;
27、若所述目标目录中存储有大于或等于所述体积阈值的所述第二文件,则计算所述第一待拷贝文件的第一摘要值;
28、将所述第一待拷贝文件的所述第一摘要值与所述第二文件的文件摘要值进行对比,根据对比结果确定是否对所述第一待拷贝文件进行拷贝操作。
29、在本申请的一些实施例中,基于以上技术方案,项目拷贝装置还配置为:
30、若所述对比结果为一致,则跳过拷贝所述第一待拷贝文件;
31、若所述对比结果为不一致,则将所述第一待拷贝文件拷贝至所述目标目录对应的位置。
32、在本实施例中,通过对项目文件的体积阈值进行配置;对目标项目的源目录进行递归遍历,得到待拷贝目录以及待拷贝文件结构集合,根据待拷贝目录以及待拷贝文件结构集合创建拷贝任务,在执行拷贝任务时,将待拷贝目录拷贝至目标目录,基于文件摘要值对比的方式,确定是否要跳过拷贝大于或者等于体积阈值的第一待拷贝文件,容量大于或者等于体积阈值的第一待拷贝文件在拷贝时花费的时间较长,通过跳过拷贝大于或者等于体积阈值的第一待拷贝文件,减少拷贝时间,一定程度上提高了对项目数据进行拷贝的效率。
33、本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
34、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
1.一种项目拷贝方法,其特征在于,包括:
2.根据权利要求1所述的项目拷贝方法,其特征在于,所述获取针对文件体积配置的体积阈值,包括:
3.根据权利要求1所述的项目拷贝方法,其特征在于,所述对目标项目的源目录进行递归遍历,得到待拷贝目录和待拷贝文件结构集合,包括:
4.根据权利要求1所述的项目拷贝方法,其特征在于,所述基于所述待拷贝目录和所述待拷贝文件结构集合,创建拷贝任务,包括:
5.根据权利要求1所述的项目拷贝方法,其特征在于,所述执行所述拷贝任务,将所述待拷贝目录和所述待拷贝文件结构集合拷贝至目标目录,包括:
6.根据权利要求5所述的项目拷贝方法,其特征在于,所述在对所述第一待拷贝文件进行拷贝时,若所述目标目录中存储有大于或等于所述体积阈值的第二文件,则将所述第一待拷贝文件的文件摘要值与所述第二文件的文件摘要值进行对比,并基于对比结果确定是否跳过拷贝所述第一待拷贝文件,包括:
7.根据权利要求6所述的项目拷贝方法,其特征在于,所述将所述第一待拷贝文件的所述第一摘要值与所述第二文件的文件摘要值进行对比,根据对比结果确定是否对所述第一待拷贝文件进行拷贝操作,包括:
8.一种项目拷贝装置,其特征在于,包括: