一种高效的并行分布式文件系统并行复制方法与流程

文档序号:21265404发布日期:2020-06-26 22:39阅读:446来源:国知局
一种高效的并行分布式文件系统并行复制方法与流程

本发明涉及分布式文件系统并行复制技术领域,更具体地说,涉及一种高效的并行分布式文件系统并行复制方法。



背景技术:

计算机通过文件系统管理、存储数据,而信息爆炸时代中人们可以获取的数据成指数倍的增长,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量的方式,在容量大小、容量增长速度、数据备份、数据安全等方面的表现都差强人意。分布式文件系统可以有效解决数据的存储和管理难题:将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络。每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。人们在使用分布式文件系统时,无需关心数据是存储在哪个节点上、或者是从哪个节点从获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据;

分布式文件系统能够存放海量数据,此时文件的复制就变得非常空难;

为此,提出一种高效的并行分布式文件系统并行复制方法。



技术实现要素:

1.要解决的技术问题

针对现有技术中存在的问题,本发明的目的在于提供一种高效的并行分布式文件系统并行复制方法,在分布式文件系统中充分利用并行文件系统的并行读写特性,充分利用所有计算节点和存储节点的计算和存储能力,大大提高文件系统的复制效率。

2.技术方案

为解决上述问题,本发明采用如下的技术方案。

一种高效的并行分布式文件系统并行复制方法,包括分布式文件系统1与分布式文件系统2的复制过程,其中分布式文件系统1有n个目录每个目录下有n个文件和n个目录;

所述分布式文件系统1至分布式文件系统2的复制过程包括jobdirworker、jobfileworker以及jobworker的并行复制步骤;

jobdirworker:进行复制目录的具体工作者,同时可以处理多个jobdir,包括以下步骤:

s1:扫描源目录(只扫描一级目录)记录文件和目录;

s2:在目标目录中创建源目录并保存扫描出来的文件和目录信息;

s3:是目录则创建jobdir分配给不同的节点的jobdirworker进行s1、s2、s3、s4操作;

s4:是文件则创建jobfile分配给不同节点的jobfileworker进行处理;

s5:所有目录和文件复制完成后标记复制完成;

s6:清理目录复制过程文件。

jobfileworker:进行复制文件的具体工作者,同时可以处理多个jobfile,包括以下步骤:

s1:将文件分块,并将分块信息记录到的文件中;

s2:在目标目录总也保存一份相应的信息;

s3:创建job分发给其他节点jobworker进行处理;

s4:所有的job完成后合并文件块为一个文件;

s5:给目录复制信息中标记复制文件完成;

s6:清理文件复制过程文件。

jobworker:进行复制任务,同时可以处理多个job,包括以下步骤:

s1:将job中的复制任务进行复制到目标文件中,并标记复制完成。

进一步的,还包括文件系统拷贝以及文件系统拷贝断点续存,两者每个节点上都有jobdirworker,jobfileworker,jobworker。

进一步的,所述文件系统拷贝步骤如下:

s1:指定源目录和目标目录,指定所有计算节点进行拷贝;

s2:构建jobdir给jobdirworker处理;

s3:jobdirworker均匀分发jobfile和jobdir给其他节点进行处理;

s4:jobfileworker收到jobfile后进行均匀的分发job给其他节点进行处理;

s5:jobworker完成job后,标记成功;

s6:jobfileworker的job全部完成后,在目标目录合并文件块并标记完成,清理过程文件;

s7:jobdirworker的jobfile和jobdir全部完成后标记完成,清理过程文件;

s8:源目录的jobworker的所有jobfile和jobdir全部完成后标记成功清理,过程文件;

s9:任务结束。

进一步的,所述文件系统拷贝断点续存步骤如下:

s1:指定源目录和目标目录,指定所有计算节点进行拷贝;

s2:读取jobdirworker的过程文件,将没有完成的文件和目录创建jobfile和jobdir;

s3:如果是jobdir则再次执行s2至s9;

s4:如果是jobfile则jobfileworker会读取jobfile的过程文件将没有完成job分发到其他节点的jobworker上执行;

s5:jobworker完成job后,标记成功;

s6:jobfileworker的job全部完成后,在目标目录合并文件块并标记完成,清理过程文件;

s7:jobdirworker的jobfile和jobdir全部完成后标记完成,清理过程文件;

s8:源目录的jobworker的所有jobfile和jobdir全部完成后标记成功清理,过程文件;

s9:任务结束。

进一步的,分布式文件系统,有n个计算节点,两个分布式文件系统集群,都挂在在计算几点上,每个集群有n个对象存储节点和n个元数据存储节点,在每个计算节点都能看到两个文件系统,在所有节点上看同一个文件系统的内容完全相同。

3.有益效果

相比于现有技术,本发明的优点在于:

本发明的目的在于提供一种高效的并行分布式文件系统并行复制方法,在分布式文件系统中充分利用并行文件系统的并行读写特性,充分利用所有计算节点和存储节点的计算和存储能力,大大提高文件系统的复制效率。

附图说明

图1为本发明的分布式文件系统分布示意图;

图2为本发明的分布式文件系统的目录树分布图;

图3为本发明的复制任务分解示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述;显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1:

请参阅图1至图3,一种高效的并行分布式文件系统并行复制方法,包括分布式文件系统1与分布式文件系统2的复制过程,其中分布式文件系统1有n个目录每个目录下有n个文件和n个目录;

所述分布式文件系统1至分布式文件系统2的复制过程包括jobdirworker、jobfileworker以及jobworker的并行复制步骤;

jobdirworker:进行复制目录的具体工作者,同时可以处理多个jobdir,包括以下步骤:

s1:扫描源目录(只扫描一级目录)记录文件和目录;

s2:在目标目录中创建源目录并保存扫描出来的文件和目录信息;

s3:是目录则创建jobdir分配给不同的节点的jobdirworker进行s1、s2、s3、s4操作;

s4:是文件则创建jobfile分配给不同节点的jobfileworker进行处理;

s5:所有目录和文件复制完成后标记复制完成;

s6:清理目录复制过程文件。

jobfileworker:进行复制文件的具体工作者,同时可以处理多个jobfile,包括以下步骤:

s1:将文件分块,并将分块信息记录到的文件中;

s2:在目标目录总也保存一份相应的信息;

s3:创建job分发给其他节点jobworker进行处理;

s4:所有的job完成后合并文件块为一个文件;

s5:给目录复制信息中标记复制文件完成;

s6:清理文件复制过程文件。

jobworker:进行复制任务,同时可以处理多个job,包括以下步骤:

s1:将job中的复制任务进行复制到目标文件中,并标记复制完成。

分布式文件系统还包括文件系统拷贝以及文件系统拷贝断点续存,两者每个节点上都有jobdirworker,jobfileworker,jobworker。

所述文件系统拷贝步骤如下:

s1:指定源目录和目标目录,指定所有计算节点进行拷贝;

s2:构建jobdir给jobdirworker处理;

s3:jobdirworker均匀分发jobfile和jobdir给其他节点进行处理;

s4:jobfileworker收到jobfile后进行均匀的分发job给其他节点进行处理;

s5:jobworker完成job后,标记成功;

s6:jobfileworker的job全部完成后,在目标目录合并文件块并标记完成,清理过程文件;

s7:jobdirworker的jobfile和jobdir全部完成后标记完成,清理过程文件;

s8:源目录的jobworker的所有jobfile和jobdir全部完成后标记成功清理,过程文件;

s9:任务结束。

所述文件系统拷贝断点续存步骤如下:

s1:指定源目录和目标目录,指定所有计算节点进行拷贝;

s2:读取jobdirworker的过程文件,将没有完成的文件和目录创建jobfile和jobdir;

s3:如果是jobdir则再次执行s2至s9;

s4:如果是jobfile则jobfileworker会读取jobfile的过程文件将没有完成job分发到其他节点的jobworker上执行;

s5:jobworker完成job后,标记成功;

s6:jobfileworker的job全部完成后,在目标目录合并文件块并标记完成,清理过程文件;

s7:jobdirworker的jobfile和jobdir全部完成后标记完成,清理过程文件;

s8:源目录的jobworker的所有jobfile和jobdir全部完成后标记成功清理,过程文件;

s9:任务结束。

分布式文件系统,有n个计算节点,两个分布式文件系统集群,都挂在在计算几点上,每个集群有n个对象存储节点和n个元数据存储节点,在每个计算节点都能看到两个文件系统,在所有节点上看同一个文件系统的内容完全相同。

本发明的目的在于提供一种高效的并行分布式文件系统并行复制方法,在分布式文件系统中充分利用并行文件系统的并行读写特性,充分利用所有计算节点和存储节点的计算和存储能力,大大提高文件系统的复制效率。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1