CN115344550A - 一种分布式文件系统目录克隆方法、装置及介质 - Google Patents
一种分布式文件系统目录克隆方法、装置及介质 Download PDFInfo
- Publication number
- CN115344550A CN115344550A CN202211057520.7A CN202211057520A CN115344550A CN 115344550 A CN115344550 A CN 115344550A CN 202211057520 A CN202211057520 A CN 202211057520A CN 115344550 A CN115344550 A CN 115344550A
- Authority
- CN
- China
- Prior art keywords
- directory
- target
- cloning
- file system
- client
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
- G06F16/1844—Management specifically adapted to replicated file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种分布式文件系统目录克隆方法、装置及介质,涉及分布式存储文件系统领域,为了提高文件目录的复制效率,接收客户端发送的目录克隆请求,根据源目录通过打快照方式创建目标目录,通过两阶段提交方式获取目标目录的识别号,建立源目录与目标目录之间的链接,向客户端发送目录克隆成功的应答消息。本申请根据源目录通过打快照方式创建目标目录,通过两阶段提交方式,保证创建快照的事务一致性,保护源目录内文件与目的目录的一致性,并建立源目录与目标目录之间的连接,实现分布式文件系统的目录克隆,能够快速完成大量目录的复制,提高分布式文件系统的目录复制效率,避免了逐个目录复制导致的效率低的问题。
Description
技术领域
本申请涉及分布式存储文件系统领域,特别是涉及一种分布式文件系统目录克隆方法、装置及介质。
背景技术
随着信息技术的迅猛发展,数据呈爆炸式增长,分布式文件系统在海量数据场景广泛应用,分布式文件系统(Distributed File System,DFS)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点(可简单的理解为一台计算机)相连;或是若干不同的逻辑磁盘分区或卷标组合在一起而形成的完整的有层次的文件系统。分布式文件系统大多通过元服务器来存储元数据,元数据包含存储节点上的目录信息、目录结构等。
其中目录作为文件系统管理单元,需要快速复制整个目录。在目录规模较大的场景下,逐个复制文件目录的效率低下。
由此可见,如何提高文件目录的复制效率,是本领域人员亟待解决的技术问题。
发明内容
本申请的目的是提供一种提高文件目录的复制效率的分布式文件系统目录克隆方法。
为解决上述技术问题,本申请提供一种分布式文件系统目录克隆方法,包括:
接收客户端发送的目录克隆请求;
根据源目录通过打快照方式创建目标目录;
通过两阶段提交方式获取目标目录的识别号;
建立源目录与目标目录之间的链接;
向客户端发送目录克隆成功的应答消息。
优选地,上述分布式文件系统目录克隆方法中,向客户端发送目录克隆成功的应答消息之后,还包括:
接收客户端发送的目录读请求;
根据目录读请求查找最新的目标目录;
判断最新的目标目录是否存在目的读对象;
若存在,读取目的读对象并将读结果返回至客户端。
优选地,上述分布式文件系统目录克隆方法中,若最新的目标目录不存在目的读对象,则还包括:
根据目标目录与上一级源目录的链接查找到上一级源目录,直至查找到目的读对象。
优选地,上述分布式文件系统目录克隆方法中,向客户端发送目录克隆成功的应答消息之后,还包括:
接收客户端发送的目录写请求;
根据目录写请求查找最新的目标目录;
判断最新的目标目录是否存在目的写对象;
若存在,根据目录写请求进入写流程。
优选地,上述分布式文件系统目录克隆方法中,根据目录写请求进入写流程,包括:
若目录写请求为写入目的对象,则将目的对象写入目标目录。
优选地,上述分布式文件系统目录克隆方法中,根据目录写请求进入写流程,包括:
若目录写请求为修改目的对象,则克隆当前目标目录,创建下一级目标目录;
在生成的下一级目标目录中修改目的对象。
优选地,上述分布式文件系统目录克隆方法中,若最新的目标目录不存在目的写对象,则还包括:
根据目标目录与上一级源目录的链接查找到上一级目标目录,直至查找到目的读对象。
为解决上述技术问题,本申请还提供一种分布式文件系统目录克隆装置,其特征在于,包括:
接收模块,用于接收客户端发送的目录克隆请求;
创建模块,用于根据源目录通过打快照方式创建目标目录;
获取模块,用于通过两阶段提交方式获取目标目录的识别号;
建立模块,用于建立源目录与目标目录之间的链接;
应答模块,用于向客户端发送目录克隆成功的应答消息。
接收读请求模块,用于接收客户端发送的目录读请求;
查找读模块,用于根据目录读请求查找最新的目标目录;
第一判断模块,用于判断最新的目标目录是否存在目的读对象;若存在,触发读取模块,若不存在,触发向上读查询模块;
读取模块,用于读取目的读对象并将读结果返回至客户端。
向上读查询模块,用于根据目标目录与上一级源目录的链接查找到上一级目标目录,直至查找到目的读对象。
接收写请求模块,用于接收客户端发送的目录写请求;
查找写模块,用于根据目录写请求查找最新的目标目录;
判断最新的目标目录是否存在目的写对象;若存在,触发写模块,若不存在,触发向上写查询模块;
写模块,用于根据目录写请求进入写流程。
第一写子单元,用于若目录写请求为写入目的对象,则将目的对象写入目标目录。
第二写子单元,用于若目录写请求为修改目的对象,则克隆当前目标目录,创建下一级目标目录;
修改子单元,用于在生成的下一级目标目录中修改目的对象。
向上写查询模块,用于根据目标目录与上一级源目录的链接查找到上一级目标目录,直至查找到目的读对象。
为解决上述技术问题,本申请还提供一种分布式文件系统目录克隆装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述的分布式文件系统目录克隆方法的步骤。
为解决上述技术问题,本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的分布式文件系统目录克隆方法的步骤。
本申请所提供的分布式文件系统目录克隆方法,接收客户端发送的目录克隆请求,根据源目录通过打快照方式创建目标目录,通过两阶段提交方式获取目标目录的识别号,建立源目录与目标目录之间的链接,向客户端发送目录克隆成功的应答消息。本申请根据源目录通过打快照方式创建目标目录,通过两阶段提交方式,保证创建快照的事务一致性,保护源目录内文件与目的目录的一致性,并建立源目录与目标目录之间的连接,实现分布式文件系统的目录克隆,能够快速完成大量目录的复制,提高分布式文件系统的目录复制效率,避免了逐个目录复制导致的效率低的问题。
另外,本申请还提供一种分布式文件系统目录克隆装置及介质,包括上述分布式文件系统目录克隆方法,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种分布式文件系统目录克隆方法的流程图;
图2为本申请实施例提供的一种分布式文件系统目录克隆装置的结构图;
图3为本申请实施例提供的另一种分布式文件系统目录克隆装置的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种分布式文件系统目录克隆方法、装置及介质。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。
分布式文件系统(Distributed File System,DFS)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点(可简单的理解为一台计算机)相连;或是若干不同的逻辑磁盘分区或卷标组合在一起而形成的完整的有层次的文件系统。DFS为分布在网络上任意位置的资源提供一个逻辑上的树形文件系统结构,从而使用户访问分布在网络上的共享文件更加简便。单独的DFS共享文件夹的作用是相对于通过网络上的其他共享文件夹的访问点。计算机通过文件系统管理、存储数据,而信息爆炸时代中人们可以获取的数据成指数倍的增长,单纯通过增加硬盘个数来扩展计算机文件系统的存储容量的方式,在容量大小、容量增长速度、数据备份、数据安全等方面的表现都差强人意。分布式文件系统可以有效解决数据的存储和管理难题:将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个文件系统网络。每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。人们在使用分布式文件系统时,无需关心数据是存储在哪个节点上、或者是从哪个节点从获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据。分布式文件系统是建立在客户机/服务器技术基础之上的,一个或多个文件服务器与客户机文件系统协同操作,这样客户机就能够访问由服务器管理的文件。分布式文件系统大多通过元服务器来存储元数据,元数据包含存储节点上的目录信息、目录结构等。现有地,若需要复制元数据服务器上存储的目录,需要逐个进行复制,效率低下。
为解决上述技术问题,本申请提供一种分布式文件系统目录克隆方法,图1为本申请实施例提供的一种分布式文件系统目录克隆方法的流程图,包括:
S11:接收客户端发送的目录克隆请求;
S12:根据源目录通过打快照方式创建目标目录;
S13:通过两阶段提交方式获取目标目录的识别号;
S14:建立源目录与目标目录之间的链接;
S15:向客户端发送目录克隆成功的应答消息。
步骤S11中提到的目录克隆请求为客户端接收到用户发出的目录克隆命令后生成的。
需要说明的是,快照(snapshot)是一种备份方式,是存储系统中的一种数据保护技术,主要是实现数据的逻辑保护。所谓逻辑保护,就是当数据出现误删除或者病毒等原因导致数据破坏的情况。通过快照技术,可以将数据恢复到某一个时间点的数据。打快照就是对某一个磁盘在某一个时间点上的数据进行备份,对指定数据集合的一个完全可用拷贝,该拷贝包含源数据在拷贝时间点的静态影像。快照可以是数据再现的一个副本或者复制。对于文件系统来说,文件系统快照是文件系统的一个即时拷贝,它包含了文件系统在快照生成时刻所有的信息,本身也是一个完整可用的副本。是一种基于时间点的数据拷贝技术,它的目的在于能够记录出某一个时刻的数据信息并将其保存,如果之后发生某些故障需要数据恢复的时候,可以通过快照来将数据恢复到之前时间点的状态,而该时间点之后的数据都会丢失。备份系统是快照技术的主要应用领域之一,当备份软件需要备份某些不能停止运行的关键业务的时候,利用快照技术可以将某时间点的所有数据信息保存并备份,不会影响到业务的正常运行。
所有关于分布式事务的介绍中都必然会讲到两阶段提交,因为它是实现XA分布式事务的关键(确切地说:两阶段提交主要保证了分布式事务的原子性:即所有结点要么全做要么全不做)。所谓的两个阶段是指:第一阶段:准备阶段和第二阶段:提交阶段。XA是指由X/Open组织提出的分布式事务处理的规范。
准备阶段:事务协调者(事务管理器)给每个参与者(资源管理器)发送准备消息,每个参与者要么直接返回失败(如权限验证失败),要么在本地执行事务,写本地的重做日志和回退日志,但不提交,到达一种“万事俱备,只欠东风”的状态。(关于每一个参与者在准备阶段具体做了什么目前我还没有参考到确切的资料,但是有一点非常确定:参与者在准备阶段完成了几乎所有正式提交的动作,有的材料上说是进行了“试探性的提交”,只保留了最后一步耗时非常短暂的正式提交操作给第二阶段执行。)
提交阶段:如果协调者收到了参与者的失败消息或者超时,直接给每个参与者发送回滚(Rollback)消息;否则,发送提交(Commit)消息;参与者根据协调者的指令执行提交或者回滚操作,释放所有事务处理过程中使用的锁资源。(注意:必须在最后阶段释放锁资源)
将提交分成两阶段进行的目的很明确,就是尽可能晚地提交事务,让事务在提交前尽可能地完成所有能完成的工作,这样,最后的提交阶段将是一个耗时极短的微小操作,这种操作在一个分布式系统中失败的概率是非常小的,也就是所谓的“网络通讯危险期”非常的短暂,这是两阶段提交确保分布式事务原子性的关键所在。以此来保证创建快照的事务一致性,保护源目内文件与目的目录的一致性。
在本实施例中提到的目录克隆请求为客户端接收到用户发出的目录克隆命令后生成的。元数据服务器接收客户端发送的目录克隆请求,根据源目录通过打快照方式创建目标目录,通过两阶段提交方式获取目标目录的识别号,保护源目内文件与目的目录的一致性。
另外,通过建立源目录与目标目录之间的链接,以方便准确查找到上一级目录。
需要说明的是,本实施例提到的源目录也可以是目标目录,即通过克隆源目录生成的目标目录,可以作为源目录再一次进行克隆,生成下一级目标目录。目标目录之间级联克隆,每层目录均衡独立演进。
具体的,本实施例提供的分布式文件系统目录克隆方法,接收客户端发送的目录克隆请求,根据源目录通过打快照方式创建目标目录,通过两阶段提交方式获取目标目录的识别号,建立源目录与目标目录之间的链接,向客户端发送目录克隆成功的应答消息。本申请根据源目录通过打快照方式创建目标目录,通过两阶段提交方式,保证创建快照的事务一致性,保护源目录内文件与目的目录的一致性,并建立源目录与目标目录之间的连接,实现分布式文件系统的目录克隆,能够快速完成大量目录的复制,提高分布式文件系统的目录复制效率,避免了逐个目录复制导致的效率低的问题。
通过打快照的方式实现了分布式文件系统的目录克隆,目录复制完成后,所有针对源目录的目标目录将其重定向到一块空余的空间内存放,并且在源文件系统的元数据更新对应的指针条目来告诉系统源文件系统内某文件的某些块的最新内容其实被重定向带了新的空间内的某某地址。这样做到了永久地将快照创建瞬间的数据全部冻住,之后所有更改都被重定向到剩余空间存放。也就是说快照目录只能读取不能修改,若客户端需要读取快照目录,本实施例提供一种优选方案,分布式文件系统目录克隆方法,向客户端发送目录克隆成功的应答消息之后,还包括:
接收客户端发送的目录读请求;
根据目录读请求查找最新的目标目录;
判断最新的目标目录是否存在目的读对象;
若存在,读取目的读对象并将读结果返回至客户端。
元数据服务器接收到客户端发送的目录读请求后,根据目录读请求查找最新的目标目录,判断最新的目标目录是否存在目的读对象,若存在,读取目的读对象并将读结果返回至客户端,也就是从最次一级的目标目录查询,是否存在目录读请求包含的目的读对象,若包含,则直接从最新的目标目录读取目的读对象,并将读结果返回至客户端。
若最新的目标目录不存在目的读对象,则还包括:
根据目标目录与上一级源目录的链接查找到上一级源目录,直至查找到目的读对象。
若最新的目标目录不包含目的读对象,则根据最新的目标目录生成时与其源目录建立的链接,查找的上一级源目录,这里的源目录可以是最高一级的源目录,也可以是克隆出来的目标目录,查找到上一级源目录后,判断上一级源目录是否存在目的读对象,直至查找到目的读对象。以此快速准确地查找到目的读对象。
根据上述实施例,通过打快照的方式实现了分布式文件系统的目录克隆,若客户端需要写入新的目录对象或者修改目录对象,本实施例提供一种优选方案,分布式文件系统目录克隆方法,向客户端发送目录克隆成功的应答消息之后,还包括:
接收客户端发送的目录写请求;
根据目录写请求查找最新的目标目录;
判断最新的目标目录是否存在目的写对象;
若存在,根据目录写请求进入写流程。
元数据服务器接收到客户端发送的目录写请求后,根据目录写请求查找最新的目标目录,判断最新的目标目录是否存在目的写对象,若存在,根据目录写请求进入写流程,本实施例提到的写流程可以是写入新的目录对象或者修改目录对象,本实施例不作具体限制。
若目录写请求为写入新的目录对象,本实施例提供一种优选方案,分布式文件系统目录克隆方法,根据目录写请求进入写流程,包括:
若目录写请求为写入目的对象,则将目的对象写入目标目录。
若目录写请求为写入新的目录对象,则直接将目的写请求包含的目的对象写入目标目录。
若目录写请求为修改目录对象,本实施例提供一种优选方案,分布式文件系统目录克隆方法,根据目录写请求进入写流程,包括:
若目录写请求为修改目的对象,则克隆当前目标目录,创建下一级目标目录;
在生成的下一级目标目录中修改目的对象。
若需要修改已存在的目录对象,则需要先克隆目标目录,生成下一级目标目录,并在下一级目标目录中修改目的对象。
另外,若最新的目标目录不存在目的写对象,则还包括:
根据目标目录与上一级源目录的链接查找到上一级目标目录,直至查找到目的读对象。
若最新的目标目录不包含目的写对象,则根据最新的目标目录生成时与其源目录建立的链接,查找的上一级源目录,这里的源目录可以是最高一级的源目录,也可以是克隆出来的目标目录,查找到上一级源目录后,判断上一级源目录是否存在目的写对象,直至查找到目的写对象,根据目录写请求进入写流程。
另外,本实施例还提供一种优选方案,通过COW机制进行读写业务。
写时复制(Copy On Write,COW)机制是一种无锁的快速数据访问机制,使用场景多个线程读取并且读取操作压力比较大,写操作只发生在一个线程中,并且写的次数与读相比比较小,也就是说COW应用于只存在读写冲突,不存在写写冲突,并且读的压力大的环境下,并不影响源目录内文件。
在上述实施例中,对于分布式文件系统目录克隆方法进行了详细描述,本申请还提供分布式文件系统目录克隆装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图2为本申请实施例提供的一种分布式文件系统目录克隆装置的结构图,如图2所示,分布式文件系统目录克隆装置,包括:
接收模块21,用于接收客户端发送的目录克隆请求;
创建模块22,用于根据源目录通过打快照方式创建目标目录;
获取模块23,用于通过两阶段提交方式获取目标目录的识别号;
建立模块24,用于建立源目录与目标目录之间的链接;
应答模块25,用于向客户端发送目录克隆成功的应答消息。
具体地,接收模块21接收客户端发送的目录克隆请求;创建模块22根据源目录通过打快照方式创建目标目录;获取模块23通过两阶段提交方式获取目标目录的识别号;建立模块24建立源目录与目标目录之间的链接;应答模块25向客户端发送目录克隆成功的应答消息。本申请根据源目录通过打快照方式创建目标目录,通过两阶段提交方式,保证创建快照的事务一致性,保护源目录内文件与目的目录的一致性,并建立源目录与目标目录之间的连接,实现分布式文件系统的目录克隆,能够快速完成大量目录的复制,提高分布式文件系统的目录复制效率,避免了逐个目录复制导致的效率低的问题。
另外,装置还包括:
接收读请求模块,用于接收客户端发送的目录读请求;
查找读模块,用于根据目录读请求查找最新的目标目录;
第一判断模块,用于判断最新的目标目录是否存在目的读对象;若存在,触发读取模块,若不存在,触发向上读查询模块;
读取模块,用于读取目的读对象并将读结果返回至客户端。
向上读查询模块,用于根据目标目录与上一级源目录的链接查找到上一级目标目录,直至查找到目的读对象。元数据服务器接收到客户端发送的目录读请求后,根据目录读请求查找最新的目标目录,判断最新的目标目录是否存在目的读对象,若存在,读取目的读对象并将读结果返回至客户端,也就是从最次一级的目标目录查询,是否存在目录读请求包含的目的读对象,若包含,则直接从最新的目标目录读取目的读对象,并将读结果返回至客户端。若最新的目标目录不包含目的读对象,则根据最新的目标目录生成时与其源目录建立的链接,查找的上一级源目录,这里的源目录可以是最高一级的源目录,也可以是克隆出来的目标目录,查找到上一级源目录后,判断上一级源目录是否存在目的读对象,直至查找到目的读对象。
接收写请求模块,用于接收客户端发送的目录写请求;
查找写模块,用于根据目录写请求查找最新的目标目录;
判断最新的目标目录是否存在目的写对象;若存在,触发写模块,若不存在,触发向上写查询模块;
写模块,用于根据目录写请求进入写流程。
第一写子单元,用于若目录写请求为写入目的对象,则将目的对象写入目标目录。
第二写子单元,用于若目录写请求为修改目的对象,则克隆当前目标目录,创建下一级目标目录;
修改子单元,用于在生成的下一级目标目录中修改目的对象。
向上写查询模块,用于根据目标目录与上一级源目录的链接查找到上一级目标目录,直至查找到目的读对象。元数据服务器接收到客户端发送的目录写请求后,根据目录写请求查找最新的目标目录,判断最新的目标目录是否存在目的写对象,若存在,根据目录写请求进入写流程,若目录写请求为写入新的目录对象,则直接将目的写请求包含的目的对象写入目标目录。若需要修改已存在的目录对象,则需要先克隆目标目录,生成下一级目标目录,并在下一级目标目录中修改目的对象。若最新的目标目录不包含目的写对象,则根据最新的目标目录生成时与其源目录建立的链接,查找的上一级源目录,这里的源目录可以是最高一级的源目录,也可以是克隆出来的目标目录,查找到上一级源目录后,判断上一级源目录是否存在目的写对象,直至查找到目的写对象,根据目录写请求进入写流程。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图3为本申请实施例提供的另一种分布式文件系统目录克隆装置的结构图,如图3所示,分布式文件系统目录克隆装置包括:存储器30,用于存储计算机程序;
处理器31,用于执行计算机程序时实现如上述实施例(分布式文件系统目录克隆方法)获取用户操作习惯信息的方法的步骤。
本实施例提供的分布式文件系统目录克隆装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器31可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器31可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器31也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(CentralProcessing Unit,CPU);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器31可以在集成有图像处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器31还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器30可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器30还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器30至少用于存储以下计算机程序301,其中,该计算机程序被处理器31加载并执行之后,能够实现前述任一实施例公开的分布式文件系统目录克隆方法的相关步骤。另外,存储器30所存储的资源还可以包括操作系统302和数据303等,存储方式可以是短暂存储或者永久存储。其中,操作系统302可以包括Windows、Unix、Linux等。数据303可以包括但不限于实现分布式文件系统目录克隆方法所涉及到的数据等。
在一些实施例中,分布式文件系统目录克隆装置还可包括有显示屏32、输入输出接口33、通信接口34、电源35以及通信总线36。
本领域技术人员可以理解,图3中示出的结构并不构成对分布式文件系统目录克隆装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的分布式文件系统目录克隆装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:分布式文件系统目录克隆方法。接收客户端发送的目录克隆请求,根据源目录通过打快照方式创建目标目录,通过两阶段提交方式获取目标目录的识别号,建立源目录与目标目录之间的链接,向客户端发送目录克隆成功的应答消息。本申请根据源目录通过打快照方式创建目标目录,通过两阶段提交方式,保证创建快照的事务一致性,保护源目录内文件与目的目录的一致性,并建立源目录与目标目录之间的连接,实现分布式文件系统的目录克隆,能够快速完成大量目录的复制,提高分布式文件系统的目录复制效率,避免了逐个目录复制导致的效率低的问题。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述分布式文件系统目录克隆方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例提供的计算机可读存储介质,其上存储有计算机程序,当处理器执行该程序时,可实现以下方法:分布式文件系统目录克隆方法,接收客户端发送的目录克隆请求,根据源目录通过打快照方式创建目标目录,通过两阶段提交方式获取目标目录的识别号,建立源目录与目标目录之间的链接,向客户端发送目录克隆成功的应答消息。本申请根据源目录通过打快照方式创建目标目录,通过两阶段提交方式,保证创建快照的事务一致性,保护源目录内文件与目的目录的一致性,并建立源目录与目标目录之间的连接,实现分布式文件系统的目录克隆,能够快速完成大量目录的复制,提高分布式文件系统的目录复制效率,避免了逐个目录复制导致的效率低的问题。
以上对本申请所提供的分布式文件系统目录克隆方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种分布式文件系统目录克隆方法,其特征在于,包括:
接收客户端发送的目录克隆请求;
根据源目录通过打快照方式创建目标目录;
通过两阶段提交方式获取所述目标目录的识别号;
建立所述源目录与所述目标目录之间的链接;
向所述客户端发送目录克隆成功的应答消息。
2.根据权利要求1所述的分布式文件系统目录克隆方法,其特征在于,所述向所述客户端发送目录克隆成功的应答消息之后,还包括:
接收客户端发送的目录读请求;
根据所述目录读请求查找最新的所述目标目录;
判断最新的所述目标目录是否存在目的读对象;
若存在,读取所述目的读对象并将读结果返回至所述客户端。
3.根据权利要求2所述的分布式文件系统目录克隆方法,其特征在于,若最新的所述目标目录不存在目的读对象,则还包括:
根据所述目标目录与上一级所述源目录的链接查找到上一级所述源目录,直至查找到所述目的读对象。
4.根据权利要求1所述的分布式文件系统目录克隆方法,其特征在于,所述向所述客户端发送目录克隆成功的应答消息之后,还包括:
接收客户端发送的目录写请求;
根据所述目录写请求查找最新的所述目标目录;
判断最新的所述目标目录是否存在目的写对象;
若存在,根据所述目录写请求进入写流程。
5.根据权利要求4所述的分布式文件系统目录克隆方法,其特征在于,所述根据所述目录写请求进入写流程,包括:
若所述目录写请求为写入目的对象,则将所述目的对象写入所述目标目录。
6.根据权利要求4所述的分布式文件系统目录克隆方法,其特征在于,所述根据所述目录写请求进入写流程,包括:
若所述目录写请求为修改目的对象,则克隆当前所述目标目录,创建下一级所述目标目录;
在生成的下一级所述目标目录中修改所述目的对象。
7.根据权利要求4所述的分布式文件系统目录克隆方法,其特征在于,若最新的所述目标目录不存在目的写对象,则还包括:
根据所述目标目录与上一级所述源目录的链接查找到上一级所述目标目录,直至查找到所述目的读对象。
8.一种分布式文件系统目录克隆装置,其特征在于,包括:
接收模块,用于接收客户端发送的目录克隆请求;
创建模块,用于根据源目录通过打快照方式创建目标目录;
获取模块,用于通过两阶段提交方式获取所述目标目录的识别号;
建立模块,用于建立所述源目录与所述目标目录之间的链接;
应答模块,用于向所述客户端发送目录克隆成功的应答消息。
9.一种分布式文件系统目录克隆装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的分布式文件系统目录克隆方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的分布式文件系统目录克隆方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211057520.7A CN115344550A (zh) | 2022-08-30 | 2022-08-30 | 一种分布式文件系统目录克隆方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211057520.7A CN115344550A (zh) | 2022-08-30 | 2022-08-30 | 一种分布式文件系统目录克隆方法、装置及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115344550A true CN115344550A (zh) | 2022-11-15 |
Family
ID=83955932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211057520.7A Pending CN115344550A (zh) | 2022-08-30 | 2022-08-30 | 一种分布式文件系统目录克隆方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115344550A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117555855A (zh) * | 2024-01-11 | 2024-02-13 | 北京立思辰金智科技有限公司 | 批量文件处理方法、装置、计算机设备及可读存储介质 |
-
2022
- 2022-08-30 CN CN202211057520.7A patent/CN115344550A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117555855A (zh) * | 2024-01-11 | 2024-02-13 | 北京立思辰金智科技有限公司 | 批量文件处理方法、装置、计算机设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230117542A1 (en) | Remote Data Replication Method and System | |
CN107798130B (zh) | 一种分布式存储快照的方法 | |
KR100439675B1 (ko) | 대용량 공유 저장장치를 위한 효율적인 스냅샷 수행방법 | |
US7293145B1 (en) | System and method for data transfer using a recoverable data pipe | |
US7979651B1 (en) | Method, system, and computer readable medium for asynchronously processing write operations for a data storage volume having a copy-on-write snapshot | |
US9535617B2 (en) | Marking a flashcopy backup for collapse without breaking a flashcopy chain | |
JP2010102738A (ja) | ハードウェアベースのファイルシステムのための装置および方法 | |
US20070294310A1 (en) | Method and apparatus for storing and recovering fixed content | |
CN100359479C (zh) | 存储服务与系统 | |
US11397749B2 (en) | Asynchronous replication of in-scope table data | |
CN105630632A (zh) | 一种虚拟机恢复的方法及虚拟机管理设备 | |
US20150286431A1 (en) | Efficient flashcopy backup and mount, clone, or restore collision avoidance using dynamic volume allocation with reuse and from a shared resource pool | |
US11182081B2 (en) | Performing a recovery copy command to restore a safeguarded copy backup to a production volume | |
JP2003330782A (ja) | 計算機システム | |
US9542106B2 (en) | Efficient repository ingest of a target volume without breaking a flashcopy chain | |
CN108762982B (zh) | 一种数据库恢复方法、装置及系统 | |
US20150286429A1 (en) | Efficient flashcopy backup and mount, clone, or restore collision avoidance using dynamic volume allocation with reuse | |
CN116048874A (zh) | 基于云环境的数据备份方法和系统 | |
CN113886143A (zh) | 虚拟机持续数据保护方法、装置及数据恢复方法、装置 | |
CN115344550A (zh) | 一种分布式文件系统目录克隆方法、装置及介质 | |
US9817718B2 (en) | Efficient flashcopy backup and mount, clone, or restore collision avoidance using dynamic volume allocation from a shared resource pool | |
US11341159B2 (en) | In-stream data load in a replication environment | |
US11445017B2 (en) | Maintaining user data and metadata consistency in an asynchronous replication environment | |
US11334445B2 (en) | Using non-volatile memory to improve the availability of an in-memory database | |
JP2005316624A (ja) | データベース再編成プログラム、データベース再編成方法、及びデータベース再編成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |