一种分布式文件系统文件的拷贝方法及装置制造方法及图纸

技术编号:23445607 阅读:19 留言:0更新日期:2020-02-28 19:50
本发明专利技术公开了一种分布式文件系统文件的拷贝方法及装置,该方法包括:根据接收到的跨网络的文件拷贝请求生成对应的拷贝任务,并记录至拷贝任务表,文件拷贝请求包括待拷贝文件信息、待拷贝文件所在的原集群信息以及目标集群信息,任务表包括拷贝任务对应的任务完成状态;根据拷贝任务表采用多线程方式将原集群中任务完成状态为未读取的待拷贝文件读进中间服务器;根据拷贝任务表采用异步方式将中间服务器上任务完成状态为未完成的待拷贝文件复制到目标集群,并更新拷贝任务表中任务完成状态。本发明专利技术通过采用中间服务器将跨网络的原集群与目标集群打通,自动将待拷贝文件从原集群拷贝到目标集群,减少开发人员的工作量,并且提升了文件拷贝的效率。

A copy method and device of distributed file system

【技术实现步骤摘要】
一种分布式文件系统文件的拷贝方法及装置
本专利技术涉及大数据
,特别涉及一种分布式文件系统文件的拷贝方法及装置。
技术介绍
传统的大数据集群之间文件拷贝工具,存在以下几个问题:1、跨环境拷贝,不能直接用hdfs(指分布式文件系统)的拷贝命令直接将集群a的文件拷贝到另外一个集群b,而是需要先手动将集群a的文件先下载到指定的可以上传到集群b的服务器上,然后再从服务器将文件复制到集群b。此种方案既增加了开发人员的工作量,又降低了文件拷贝效率;2、传统的拷贝基本是全覆盖文件模式拷贝,即无论原来文件存在与否,直接覆盖,这样会导致用户原来不想复制的文件也会被覆盖;3、如果拷贝期间出现集群宕机,剩余还未拷贝的文件不会重新拉起拷贝。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种分布式文件系统文件的拷贝方法及装置,以克服现有技术中文件不能自动地从原集群复制到跨网络的目标集群中、文件只能采用全部覆盖的方式进行复制以及服务器宕机时文件不能续传等问题。为解决上述一个或多个技术问题,本专利技术采用的技术方案是:一方面,提供了一种分布式文件系统文件的拷贝方法,该方法包括如下步骤:根据接收到的跨网络的文件拷贝请求生成对应的拷贝任务,并记录至拷贝任务表中,所述文件拷贝请求包括待拷贝文件信息、所述待拷贝文件所在的原集群信息以及目标集群信息,所述任务表包括所述拷贝任务对应的任务完成状态;根据所述拷贝任务表采用多线程方式将所述原集群中所述任务完成状态为未读取的待拷贝文件读进中间服务器;根据所述拷贝任务表采用异步方式将所述中间服务器上所述任务完成状态为未完成的待拷贝文件复制到所述目标集群,并更新所述拷贝任务表中任务完成状态。进一步的,根据接收到的跨网络的文件拷贝请求生成对应的拷贝任务前,所述方法还包括对所述文件拷贝请求进行校验的过程,包括:对所述文件拷贝请求进行解析,获取所述文件拷贝请求中的所述待拷贝文件所在的原集群信息以及目标集群信息;根据所述原集群信息校验所述原集群是否在预先生成的网络白名单上,以及根据所述目标集群信息校验所述目标集群是否在所述网络白名单上。进一步的,所述根据所述拷贝任务表采用异步方式将所述中间服务器上所述任务完成状态为未完成的待拷贝文件复制到所述目标集群包括:获取所述待拷贝文件的覆盖方式,采用异步方式将所述中间服务器上所述任务完成状态为未完成的待拷贝文件按照所述覆盖方式复制到所述目标集群。进一步的,所述方法还包括:按照设定时间定时查询所述拷贝任务表中所述拷贝任务对应的任务完成状态,若所述任务完成状态为未完成,则继续将所述拷贝任务对应的待拷贝文件从所述中间服务器上复制到所述目标集群。进一步的,根据所述拷贝任务表采用多线程方式将所述原集群中的所述待拷贝文件读进中间服务器前,所述方法还包括:根据所述待拷贝文件的数量设置线程的数量以及设置单个线程最大文件拷贝数。另一方面,提供了一种分布式文件系统文件的拷贝装置,所述装置包括:任务生成模块,用于根据接收到的跨网络的文件拷贝请求生成对应的拷贝任务,并记录至拷贝任务表中,所述文件拷贝请求包括待拷贝文件信息、所述待拷贝文件所在的原集群信息以及目标集群信息,所述任务表包括所述拷贝任务对应的任务完成状态;文件读取模块,用于根据所述拷贝任务表采用多线程方式将所述原集群中所述任务完成状态为未读取的待拷贝文件读进中间服务器;文件复制模块,用于根据所述拷贝任务表采用异步方式将所述中间服务器上所述任务完成状态为未完成的待拷贝文件复制到所述目标集群;状态更新模块,用于更新所述拷贝任务表中的任务完成状态。进一步的,所述装置还包括:数据校验模块,用于对所述文件拷贝请求进行校验;所述数据校验模块包括:数据解析单元,用于对所述文件拷贝请求进行解析,获取所述文件拷贝请求中的所述待拷贝文件所在的原集群信息以及目标集群信息;信息校验单元,用于根据所述原集群信息校验所述原集群是否在预先生成的网络白名单上,以及根据所述目标集群信息校验所述目标集群是否在所述网络白名单上。进一步的,所述文件复制模块包括:覆盖方式获取单元,用于获取所述待拷贝文件的覆盖方式;文件复制单元,用于采用异步方式将所述中间服务器上所述任务完成状态为未完成的待拷贝文件按照所述覆盖方式复制到所述目标集群。进一步的,所述装置还包括:定时查询模块,用于按照设定时间定时查询所述拷贝任务表中任务对应的任务完成状态;所述文件复制模块还用于若所述任务完成状态为未完成,则继续将所述任务对应的所述中间服务器上的所述待拷贝文件复制到所述目标集群。进一步的,所述装置还包括:线程设置模块,用于根据所述待拷贝文件的数量设置线程的数量以及设置单个线程最大文件拷贝数。本专利技术实施例提供的技术方案带来的有益效果是:1、本专利技术实施例提供的分布式文件系统文件的拷贝方法及装置,通过采用中间服务器将跨网络的原集群与目标集群打通,自动将待拷贝文件从原集群拷贝到目标集群,既省去了开发人员手动下载文件的工作量,同时又大大提升了文件拷贝的效率;2、本专利技术实施例提供的分布式文件系统文件的拷贝方法及装置,通过设置每个待拷贝文件的覆盖方式,支持在文件拷贝过程中,根据覆盖方式进行文件拷贝,使得拷贝方式更加灵活;3、本专利技术实施例提供的分布式文件系统文件的拷贝方法及装置,通过按照设定时间定时查询所述拷贝任务表中所述拷贝任务对应的任务完成状态,对还没有完成的文件拷贝任务,会继续进行拷贝,解决了服务器宕机出现的不能续传等问题。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是根据一示例性实施例示出的分布式文件系统文件的拷贝方法的流程图;图2是根据一示例性实施例示出的对所述文件拷贝请求进行校验的过程的流程图;图3是根据一示例性实施例示出的分布式文件系统文件的拷贝装置的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1是根据一示例性实施例示出的分布式文件系统文件的拷贝方法的流程图,参照图1所示,该方法包括如下步骤:S1:根据接收到的跨网络的文件拷贝请求生成对应的拷贝任务,并记录至拷贝任务表中,所述文件拷贝请求包括待拷贝文件信息、所述待拷贝文件所在的原集群信息以及目标集群信本文档来自技高网...

【技术保护点】
1.一种分布式文件系统文件的拷贝方法,其特征在于,所述方法包括如下步骤:/n根据接收到的跨网络的文件拷贝请求生成对应的拷贝任务,并记录至拷贝任务表中,所述文件拷贝请求包括待拷贝文件信息、所述待拷贝文件所在的原集群信息以及目标集群信息,所述任务表包括所述拷贝任务对应的任务完成状态;/n根据所述拷贝任务表采用多线程方式将所述原集群中所述任务完成状态为未读取的待拷贝文件读进中间服务器;/n根据所述拷贝任务表采用异步方式将所述中间服务器上所述任务完成状态为未完成的待拷贝文件复制到所述目标集群,并更新所述拷贝任务表中任务完成状态。/n

【技术特征摘要】
1.一种分布式文件系统文件的拷贝方法,其特征在于,所述方法包括如下步骤:
根据接收到的跨网络的文件拷贝请求生成对应的拷贝任务,并记录至拷贝任务表中,所述文件拷贝请求包括待拷贝文件信息、所述待拷贝文件所在的原集群信息以及目标集群信息,所述任务表包括所述拷贝任务对应的任务完成状态;
根据所述拷贝任务表采用多线程方式将所述原集群中所述任务完成状态为未读取的待拷贝文件读进中间服务器;
根据所述拷贝任务表采用异步方式将所述中间服务器上所述任务完成状态为未完成的待拷贝文件复制到所述目标集群,并更新所述拷贝任务表中任务完成状态。


2.根据权利要求1所述的分布式文件系统文件的拷贝方法,其特征在于,根据接收到的跨网络的文件拷贝请求生成对应的拷贝任务前,所述方法还包括对所述文件拷贝请求进行校验的过程,包括:
对所述文件拷贝请求进行解析,获取所述文件拷贝请求中的所述待拷贝文件所在的原集群信息以及目标集群信息;
根据所述原集群信息校验所述原集群是否在预先生成的网络白名单上,以及根据所述目标集群信息校验所述目标集群是否在所述网络白名单上。


3.根据权利要求1或2所述的分布式文件系统文件的拷贝方法,其特征在于,所述根据所述拷贝任务表采用异步方式将所述中间服务器上所述任务完成状态为未完成的待拷贝文件复制到所述目标集群包括:
获取所述待拷贝文件的覆盖方式,采用异步方式将所述中间服务器上所述任务完成状态为未完成的待拷贝文件按照所述覆盖方式复制到所述目标集群。


4.根据权利要求1或2所述的分布式文件系统文件的拷贝方法,其特征在于,所述方法还包括:
按照设定时间定时查询所述拷贝任务表中所述拷贝任务对应的任务完成状态,若所述任务完成状态为未完成,则继续将所述拷贝任务对应的待拷贝文件从所述中间服务器上复制到所述目标集群。


5.根据权利要求1或2所述的分布式文件系统文件的拷贝方法,其特征在于,根据所述拷贝任务表采用多线程方式将所述原集群中的所述待拷贝文件读进中间服务器前,所述方法还包括:
根据所述待拷贝文件的数量设置线程的数量以及设置单个线程最大文件拷贝数。


6.一...

【专利技术属性】
技术研发人员:王振振徐伟李成孙迁
申请(专利权)人:苏宁云计算有限公司
类型:发明
国别省市:江苏;32

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

1