分布式文件系统多客户端目录配额精度的控制方法及系统与流程

文档序号:11960358阅读:218来源:国知局
分布式文件系统多客户端目录配额精度的控制方法及系统与流程

本发明属于分布式文件系统高级功能特性技术领域,特别是涉及分布式文件系统多客户端目录配额精度的控制方法及系统。



背景技术:

在分布式文件系统上开发的目录配额功能在单客户端使用场景精度可以控制在1MB,但是在多客户端应用场景,由于客户端目录大小更新和元数据服务器端中目录元数据大小更新不同步,其精度取决于元数据给客户端更新元数据信息时间间隔。一般情况下,在目录深度高的应用场景,如果目录最底层文件大小变化,那么其父目录以及其众多祖先目录也会随之更新,这势必会严重影响客户端IO速度,极大的降低客户端性能,因此客户端和元数据服务端元数据信息采用异步更新方式,两端文件大小更新一般是秒级别,元数据服务端目录更新是实时的,但是客户端目录信息是被动更新,时间会很长或者有一定触发条件去更新。由于客户端和元数据服务端元数据信息采用异步更新的方式,因此导致多客户端目录配额精度无法控制。

在目录配额多客户端应用场景中,当这些客户端同时在配额目录下写入数据时,如果都检查到目录可用空间是10G,那么在数据不断写入过程中,所有的客户端都能写入10G文件,那么这种情况下目录配额误差为:(客户端个数-1)*10G。如果可用空间剩100G,那么误差会更大。



技术实现要素:

为解决上述问题,本发明提供了一种分布式文件系统多客户端目录配额精度的控制方法及系统,能够保证多客户端场景下的目录配额精度,同时不影响客户端的性能。

本发明提供的一种分布式文件系统多客户端目录配额精度的控制方法,包括:

针对分布式文件系统确定一个预设目录配额精度值;

检测元数据服务端的目录配额的可用容量;

当所述目录配额的可用容量小于所述预设目录配额精度值时,获取操作目录的客户端的数量;

利用所述目录配额的可用容量和所述客户端的数量,将所述可用容量进行分解,并将分解后的配额分配给所述客户端使用。

优选的,在上述分布式文件系统多客户端目录配额精度的控制方法中,所述将所述可用容量进行分解包括:

将所述可用容量进行平分。

优选的,在上述分布式文件系统多客户端目录配额精度的控制方法中,在所述目录配额的可用容量小于所述预设目录配额精度值之前,还包括:

利用元数据服务端控制所述目录配额的可用容量。

优选的,在上述分布式文件系统多客户端目录配额精度的控制方法中,所述将分解后的配额分配给所述客户端使用之后,还包括:依照所述分解后的配额进行数据的写入。

优选的,在上述分布式文件系统多客户端目录配额精度的控制方法中,所述依照所述分解后的配额进行数据的写入之后,还包括:

判断写入的数据是否超过所述分解后的配额,当超过之后则禁止写入数据。

本发明提供的一种分布式文件系统多客户端目录配额精度的控制系统,包括:

确定单元,用于针对分布式文件系统确定一个预设目录配额精度值;

检测单元,用于检测元数据服务端的目录配额的可用容量;

获取单元,用于当所述目录配额的可用容量小于所述预设目录配额精度值时,获取操作目录的客户端的数量;

分解单元,用于利用所述目录配额的可用容量和所述客户端的数量,将所述可用容量进行分解,并将分解后的配额分配给所述客户端使用。

优选的,在上述分布式文件系统多客户端目录配额精度的控制系统中,所述分解单元用于将所述可用容量进行平分。

优选的,在上述分布式文件系统多客户端目录配额精度的控制系统中,还包括控制单元,用于利用元数据服务端控制所述目录配额的可用容量。

优选的,在上述分布式文件系统多客户端目录配额精度的控制系统中,还包括:

写入单元,用于依照所述分解后的配额进行数据的写入。

优选的,在上述分布式文件系统多客户端目录配额精度的控制系统中,还包括:

判断单元,用于判断写入的数据是否超过所述分解后的配额,当超过之后则禁止写入数据。

通过上述描述可知,本发明提供的一种分布式文件系统多客户端目录配额精度的控制方法及系统,由于该方法包括:针对分布式文件系统确定一个预设目录配额精度值;检测元数据服务端的目录配额的可用容量;当所述目录配额的可用容量小于所述预设目录配额精度值时,获取操作目录的客户端的数量;利用所述目录配额的可用容量和所述客户端的数量,将所述可用容量进行分解,并将分解后的配额分配给所述客户端使用,因此能够保证多客户端场景下的目录配额精度,同时不影响客户端的性能。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的第一种分布式文件系统多客户端目录配额精度的控制方法的示意图;

图2为本申请实施例提供的第一种分布式文件系统多客户端目录配额精度的控制系统的示意图。

具体实施方式

本发明的核心思想在于提供一种分布式文件系统多客户端目录配额精度的控制方法,能够保证多客户端场景下的目录配额精度,同时不影响客户端的性能。

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

本申请实施例提供的第一种分布式文件系统多客户端目录配额精度的控制方法如图1所示,图1为本申请实施例提供的第一种分布式文件系统多客户端目录配额精度的控制方法的示意图。该方法包括如下步骤:

S1:针对分布式文件系统确定一个预设目录配额精度值;

S2:检测元数据服务端的目录配额的可用容量;

S3:当所述目录配额的可用容量小于所述预设目录配额精度值时,获取操作目录的客户端的数量;

S4:利用所述目录配额的可用容量和所述客户端的数量,将所述可用容量进行分解,并将分解后的配额分配给所述客户端使用。

下面利用具体的例子对上述方法进行说明:设置一个目录配额精度值(误差值),例如是1GB,当检测到元数据服务端目录配额可用容量小于该精度值时,也就是说,检测元数据服务端目录配额的可使用容量是否小于1GB,如果小于1GB,则按照操作该目录的客户端连接数将这个可用容量进行平分,假设有3个客户端同时操作配额目录,那么经过计算可以让每个客户端只能再写入333MB数据,将该值发送到每个客户端,则客户端控制333MB数据写入精度,这样就能保证目录配额误差在精度范围之内。

通过上述描述可知,本申请实施例提供的上述第一种分布式文件系统多客户端目录配额精度的控制方法,由于包括针对分布式文件系统确定一个预设目录配额精度值;检测元数据服务端的目录配额的可用容量;当所述目录配额的可用容量小于所述预设目录配额精度值时,获取操作目录的客户端的数量;利用所述目录配额的可用容量和所述客户端的数量,将所述可用容量进行分解,并将分解后的配额分配给所述客户端使用,因此能够保证多客户端场景下的目录配精度,同时不影响客户端的性能。

本申请实施例提供的第二种分布式文件系统多客户端目录配额精度的控制方法,是在上述第一种分布式文件系统多客户端目录配额精度的控制方法的基础上,还包括如下技术特征:

所述将所述可用容量进行分解包括:

将所述可用容量进行平分。

这种平分容量的方式能够保证每个客户端都具有同样的写入容量,但是此处并不仅限于这种方式,除此之外,如果有的客户端没有写入,则会继续分给别的客户端。

本申请实施例提供的第三种分布式文件系统多客户端目录配额精度的控制方法,是在上述第二种分布式文件系统多客户端目录配额精度的控制方法的基础上,还包括如下技术特征:

在所述目录配额的可用容量小于所述预设目录配额精度值之前,还包括:

利用元数据服务端控制所述目录配额的可用容量。

在这种情况下,由于目录配额可用容量在小于精度值之前都是在mds端(元数据服务端)进行控制,当小于精度值之后目录配额控制会在客户端判断,因此对客户端数据写入性能影响可以忽略。

本申请实施例提供的第四种分布式文件系统多客户端目录配额精度的控制方法,是在上述第三种分布式文件系统多客户端目录配额精度的控制方法的基础上,还包括如下技术特征:

所述将分解后的配额分配给所述客户端使用之后,还包括:依照所述分解后的配额进行数据的写入,在这种情况下,能够保证目录配额功能在多客户端应用场景精度。

本申请实施例提供的第五种分布式文件系统多客户端目录配额精度的控制方法,是在上述第四种分布式文件系统多客户端目录配额精度的控制方法的基础上,还包括如下技术特征:

所述依照所述分解后的配额进行数据的写入之后,还包括:

判断写入的数据是否超过所述分解后的配额,当超过之后则禁止写入数据,这样就保证写入数据的准确性,不会出现无法写入的情况。

本申请实施例提供的第一种分布式文件系统多客户端目录配额精度的控制系统如图2所示,图2为本申请实施例提供的第一种分布式文件系统多客户端目录配额精度的控制系统的示意图。该系统包括:

确定单元1,用于针对分布式文件系统确定一个预设目录配额精度值;

检测单元2,用于检测元数据服务端的目录配额的可用容量;

获取单元3,用于当所述目录配额的可用容量小于所述预设目录配额精度值时,获取操作目录的客户端的数量;

分解单元4,用于利用所述目录配额的可用容量和所述客户端的数量,将所述可用容量进行分解,并将分解后的配额分配给所述客户端使用。

具体的,利用所述确定单元设置一个目录配额精度值(误差值),例如是1GB,利用所述检测单元检测元数据服务端目录配额可用容量小于精度值之后,例如元数据服务端检测配额目录的可使用容量小于1GB之后,所述获取单元如果获取到有3个客户端同时操作配额目录,则可以按照操作该目录的客户端连接数将可用容量平分,经过所述分解单元计算,可以让每个客户端只能再写入333MB数据,将该值发送到每个客户端,客户端控制333MB数据写入精度,这样就能保证目录配额误差在精度范围之内。

通过上述描述可知,本申请实施例提供的第一种分布式文件系统多客户端目录配额精度的控制系统,能够保证多客户端场景下的目录配精度,同时不影响客户端的性能。

本申请实施例提供的第二种分布式文件系统多客户端目录配额精度的控制系统,是在上述第一种分布式文件系统多客户端目录配额精度的控制系统的基础上,还包括如下技术特征:所述分解单元用于将所述可用容量进行平分。这种平分容量的方式能够保证每个客户端都具有同样的写入容量,但是此处并不仅限于这种方式,除此之外,如果有的客户端没有写入,则会继续分给别的客户端。

本申请实施例提供的第三种分布式文件系统多客户端目录配额精度的控制系统,是在上述第二种分布式文件系统多客户端目录配额精度的控制系统的基础上,还包括如下技术特征:还包括控制单元,用于利用元数据服务端控制所述目录配额的可用容量。在这种情况下,由于目录配额可用容量在小于精度值之前都是在mds端(元数据服务端)进行控制,当小于精度值之后目录配额控制会在客户端判断,因此对客户端数据写入性能影响可以忽略。

本申请实施例提供的第四种分布式文件系统多客户端目录配额精度的控制系统,是在上述第三种分布式文件系统多客户端目录配额精度的控制系统的基础上,还包括如下技术特征:

还包括写入单元,用于依照所述分解后的配额进行数据的写入。在这种情况下,能够保证目录配额功能在多客户端应用场景精度。

本申请实施例提供的第五种分布式文件系统多客户端目录配额精度的控制系统,是在上述第四种分布式文件系统多客户端目录配额精度的控制系统的基础上,还包括如下技术特征:

还包括判断单元,用于判断写入的数据是否超过所述分解后的配额,当超过之后则禁止写入数据。判断写入的数据是否超过所述分解后的配额,当超过之后则禁止写入数据,这样就保证写入数据的准确性,不会出现无法写入的情况。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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