一种多客户端写入目录配额分配方法与流程

文档序号:12740152阅读:455来源:国知局
一种多客户端写入目录配额分配方法与流程

本发明涉及数据储存领域,尤其涉及一种多客户端写入目录配额分配方法。



背景技术:

在如今的多媒体存储中,数据量几何级增长,一般情况下集群存储系统3-60节点,总存储空间高达108T-2160T,甚至更高,为了提高磁盘的利用效率,在分布式存储系统中,通常根据部门或个人的实际情况,将存储空间以文件夹的形式分给部门或个人使用。为避免某部门或个人过度使用造成公共资源浪费,需要对分配给部门使用的文件夹进行容量限制,目录配额功能应运而生。

管理员管理集群的存储空间时,对目录设置存储空间上限,并对分配空间进行管理,若此目录已使用的存储空间超过其所分配的配额上限,则限制此目录的数据写入,但是分布式存储中存在配额精度不准,存在客户端写入目录超额的问题,使得其他未超额的客户端写入数据受限,影响未超额的客户端写入数据。



技术实现要素:

为了克服上述现有技术中的不足,本发明提供一种多客户端写入目录配额分配方法,方法包括:

S1:客户端启动数据写入请求,检查本地数据配额子图中配额目录的授权值是否满足本次数据写入量;

S2:当配额目录的授权值不满足本次数据写入量,向MDS发送授权值分配申请信息;

S3:MDS判断当前是否存在配额剩余量,配额剩余量是否满足所述客户端的配额申请量;

S4:当存在配额剩余量,且配额剩余量满足所述客户端的配额申请量,则给所述客户端分配增加授权值,同时更新MDS配额剩余量;

S5:所述客户端接收增加的授权值后,更新本地数据配额图中配额目录的授权值,进行本次数据写入。

优选地,步骤S3之后还包括:

当存在配额剩余量,且配额剩余量不满足所述客户端的配额申请量时,则将所述客户端预分配申请信息收回,向所述客户端发送授权值超额。

优选地,步骤S5之后还包括:

当所述客户端本次数据写入量达到配额目录授权值的阈值时,客户端向MDS申请授权值扩充申请信息;

MDS收到授权值扩充申请信息申请,判断当前是否存在配额剩余量,配额剩余量是否满足所述客户端的授权值扩充申请量;

当存在配额剩余量,且配额剩余量满足所述客户端的授权值扩充申请量,则给所述客户端分配增加授权值,同时更新MDS配额剩余量;

客户端收到分配的增加授权值后,更新授权值。

优选地,步骤S5之后还包括:

客户端在预设时间内对已有的配额授权值进行扫描,当某一个或几个目录在预设时间段内未进行操作,则将该目录下所占用的授权值收回;

授权值收回后,删除该目录,删除后检查该目录本地缓存数据;

客户端判断当前数据写入量是否低于配额的授权阈值,当当前数据写入量低于配额的授权阈值时,将空闲的授权值归还至MDS。

优选地,步骤S1之前还包括:

MDS设置一记录所有客户端占用配额授权值的数据配额全图以及记录每一客户端所拥有配额授权值的数据配额子图;

当某一客户端挂载时,向MDS发送数据配额子图获取信息,获取所述客户端数据配额子图,并卸载在先获取的数据配额子图。

优选地,步骤S1之后还包括:

客户端在写数据时,客户端在客户端配额数据结构中设置预留缓存空位;预留缓存空位获取MDS分配的分配缓存空间;

MDS将总储存配额拆分为以固定大小为基本单位的配额存储空间,MDS统一分配和使用配额存储空间;

当配额目录的授权值不满足本次数据写入量,向MDS发送申请,申请分配配额存储空间;

MDS根据客户端的申请分配单位存储空间;

客户端得到配额存储空间后,将MDS分配的配额存储空间计入客户端配额数据结构中的预留缓存空位上。

优选地,当所述客户端本次数据写入量达到配额目录授权值的阈值时,客户端再向MDS申请配额存储空间扩充空间;

MDS根据所述客户端的申请再分配配额存储空间;

客户端得到配额存储空间后,将MDS分配的配额存储空间计入用户配额数据结构中的预留缓存空位内,并与在先分配的配额存储空间统一使用。

从以上技术方案可以看出,本发明具有以下优点:

多客户端写入目录配额分配方法有效解决了多客户端同时写入时超出容量硬阈值的问题,提高了磁盘的利用效率。

附图说明

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

图1为多客户端写入目录配额分配方法的整体流程图;

图2为多客户端写入目录配额分配方法实施例流程图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将运用具体的实施例及附图,对本发明保护的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本专利中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利保护的范围。

本实施例提供一种多客户端写入目录配额分配方法,如图1和图2所示,方法包括:

S1:客户端启动数据写入请求,检查本地数据配额子图中配额目录的授权值是否满足本次数据写入量;

S2:当配额目录的授权值不满足本次数据写入量,向MDS发送授权值分配申请信息;

S3:MDS判断当前是否存在配额剩余量,配额剩余量是否满足所述客户端的配额申请量;

S4:当存在配额剩余量,且配额剩余量满足所述客户端的配额申请量,则给所述客户端分配增加授权值,同时更新MDS配额剩余量;

S5:所述客户端接收增加的授权值后,更新本地数据配额图中配额目录的授权值,进行本次数据写入。

针对分布式存储中存在配额精度不准,多客户端写入目录超额等问题,本实施例将采用预分配的方案,先分配后使用,容量限制由MDS统一管理,解决N个客户端同时写入时超出容量硬阈值的问题,对空间使用进行严格的限制。

本实施例中,步骤S3之后还包括:当存在配额剩余量,且配额剩余量不满足所述客户端的配额申请量时,则将所述客户端预分配申请信息收回,向所述客户端发送授权值超额。

本实施例中,步骤S5之后还包括:当所述客户端本次数据写入量达到配额目录授权值的阈值时,客户端向MDS申请授权值扩充申请信息;

MDS收到授权值扩充申请信息申请,判断当前是否存在配额剩余量,配额剩余量是否满足所述客户端的授权值扩充申请量;

当存在配额剩余量,且配额剩余量满足所述客户端的授权值扩充申请量,则给所述客户端分配增加授权值,同时更新MDS配额剩余量;

客户端收到分配的增加授权值后,更新授权值。

本实施例中,步骤S5之后还包括:客户端在预设时间内对已有的配额授权值进行扫描,当某一个或几个目录在预设时间段内未进行操作,则将该目录下所占用的授权值收回;

授权值收回后,删除该目录,删除后检查该目录本地缓存数据;

客户端判断当前数据写入量是否低于配额的授权阈值,当当前数据写入量低于配额的授权阈值时,将空闲的授权值归还至MDS。

分布式存储集群中,设置目录配额后,当快要达到目录配额限制时,多个客户端同时进行数据的写入,很可能造成写入的数据超出容量限制,例如某目录配额设置为2G,剩余空间为200M,如果三个客户端同时对该目录进行数据写入,每个客户端都写入200M数据,写入的速度相同,最终造成写入的数据超出容量限制。

本实施例将使用预分配的解决方案,基于即用即拿,先申请后写入的设计思想,对配额使用量进行严格控制,以达到限制目录写入超额的目的。

MDS维护一张记录所有目录数据的map图,以配额目录为值。当客户端挂载时向MDS发消息获取所有的map图,卸载前上报本地数据给MDS更新map。

当本地有数据写入时,首先检查其对应配额目录的授权值,即为实际可用的配额存储空间是否够用,如果不够则向MDS发送申请分配空间请求。成功申请到空间则继续写入,如果申请不到空间则认为配额已超,提示超额信息。MDS每次接到分配申请从剩余的配额量中提取空间分配出去,如果没有空间可分则分配0。此外,客户端维护一个定时器记录本地无数据变化的目录,如果超过预设时间无数据更新则主动把剩余的授权值提交给MDS回收。

本实施例中,步骤S1之前还包括:

MDS设置一记录所有客户端占用配额授权值的数据配额全图以及记录每一客户端所拥有配额授权值的数据配额子图;

当某一客户端挂载时,向MDS发送数据配额子图获取信息,获取所述客户端数据配额子图,并卸载在先获取的数据配额子图。

本实施例中,为了进一步增加客户端写入目录配额方式,步骤S1之后还包括:

客户端在写数据时,客户端在客户端配额数据结构中设置预留缓存空位;预留缓存空位获取MDS分配的分配缓存空间;

MDS将总储存配额拆分为以固定大小为基本单位的配额存储空间,MDS统一分配和使用配额存储空间;

当配额目录的授权值不满足本次数据写入量,向MDS发送申请,申请分配配额存储空间;

MDS根据客户端的申请分配单位存储空间;

客户端得到配额存储空间后,将MDS分配的配额存储空间计入客户端配额数据结构中的预留缓存空位上。

当所述客户端本次数据写入量达到配额目录授权值的阈值时,客户端再向MDS申请配额存储空间扩充空间;

MDS根据所述客户端的申请再分配配额存储空间;

客户端得到配额存储空间后,将MDS分配的配额存储空间计入用户配额数据结构中的预留缓存空位内,并与在先分配的配额存储空间统一使用。

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

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