G06F16/182 G06F16/16
1.一种分布式文件系统目录配额方法,其特征在于,包括:
接收业务处理指令;
判断本地目录的配额余量是否满足处理与所述业务处理指令对应的业务的余量要求;
若不满足,则发送配额申请信息至元数据服务器,以请求对所述本地目录进行目录配额;
若满足,则处理所述业务,判断距上一次上报所述本地目录的配额余量期间,所述本地目录的累计配额使用量是否满足预设上报条件;
若满足,则上报所述本地目录当前的配额余量至所述元数据服务器,以使所述元数据服务器更新所述本地目录的配额余量。
2.根据权利要求1所述的分布式文件系统目录配额方法,其特征在于,所述本地目录的总配额值大于所述本地目录的子目录,小于所述本地目录的父目录。
3.根据权利要求1所述的分布式文件系统目录配额方法,其特征在于,所述发送配额申请信息至元数据服务器的过程,包括:
发送包括预设的配额值的配额申请信息至所述元数据服务器。
4.根据权利要求1所述的分布式文件系统目录配额方法,其特征在于,所述断距上一次上报所述本地目录的配额余量期间,所述本地目录的累计配额使用量是否满足预设上报条件的过程,包括:
判断距上一次上报所述本地目录的配额余量期间,所述本地目录的累计配额使用量是否满足大于预设的增加量或小于预设的减少量。
5.根据权利要求1至4任一项所述的分布式文件系统目录配额方法,其特征在于,所述发送配额申请信息至元数据服务器之后,还包括:
接收所述元数据服务器发送的拒绝配额信息;
依据所述拒绝配额信息,生成业务处理失败提示信息。
6.一种分布式文件系统目录配额系统,其特征在于,包括:
业务指令接收模块,用于接收业务处理指令;
配额余量判断模块,用于判断本地目录的配额余量是否满足处理与所述业务处理指令对应的业务的余量要求;
配额申请模块,用于若所述配额余量判断模块判定所述本地目录的配额余量不满足所述余量要求,则发送配额申请信息至元数据服务器,以请求对所述本地目录进行目录配额;
上报判断模块,用于若所述配额余量判断模块判定所述本地目录的配额余量满足所述余量要求,则处理所述业务,判断距上一次上报所述本地目录的配额余量期间,所述本地目录的累计配额使用量是否满足预设上报条件;
上报模块,用于若所述上报判断模块判定所述累计配额使用量满足所述上报条件,则上报所述本地目录当前的配额余量至所述元数据服务器,以使所述元数据服务器更新所述本地目录的配额余量。
7.根据权利要求6所述的分布式文件系统目录配额系统,其特征在于,所述配额申请模块,具体用于若所述配额余量判断模块判定所述本地目录的配额余量不满足所述余量要求,发送包括预设的配额值的配额申请信息至所述元数据服务器,以请求对所述本地目录进行目录配额。
8.根据权利要求6或7所述的分布式文件系统目录配额系统,其特征在于,还包括:
拒绝配额接收模块,用于接收所述元数据服务器发送的拒绝配额信息;
提示信息生成模块,用于依据所述拒绝配额信息,生成业务处理失败提示信息。
9.一种分布式文件系统目录配额装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至5任一项所述的分布式文件系统目录配额方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的分布式文件系统目录配额方法。
本发明涉及分布式存储领域,特别涉及一种分布式文件系统目录配额方法、系统、装置及计算机可读存储介质。
在分布式文件系统中,目录容量配额的实现比较简单,依赖于目录元数据中的使用量。由于客户端与元数据服务分离,使用量从元数据更新至各客户端存在滞后性,所以导致在多客户端中使用容量配额功能时会发生超出的情况,并且目录层级越多超出的情况越严重。在目前的分布式文件系统中,没有一种精准的配额实现方案。
为此,需要一种分布式文件系统目录配额方法,避免超额的情况。
有鉴于此,本发明的目的在于提供一种分布式文件系统目录配额方法、系统、装置及计算机可读存储介质,避免客户端在处理业务时出现超额的情况。其具体方案如下:
一种分布式文件系统目录配额方法,包括:
接收业务处理指令;
判断本地目录的配额余量是否满足处理与所述业务处理指令对应的业务的余量要求;
若不满足,则发送配额申请信息至元数据服务器,以请求对所述本地目录进行目录配额;
若满足,则处理所述业务,判断距上一次上报所述本地目录的配额余量期间,所述本地目录的累计配额使用量是否满足预设上报条件;
若满足,则上报所述本地目录当前的配额余量至所述元数据服务器,以使所述元数据服务器更新所述本地目录的配额余量。
可选的,所述本地目录的总配额值大于所述本地目录的子目录,小于所述本地目录的父目录。
可选的,所述发送配额申请信息至元数据服务器的过程,包括:
发送包括预设的配额值的配额申请信息至所述元数据服务器。
可选的,所述断距上一次上报所述本地目录的配额余量期间,所述本地目录的累计配额使用量是否满足预设上报条件的过程,包括:
判断距上一次上报所述本地目录的配额余量期间,所述本地目录的累计配额使用量是否满足大于预设的增加量或小于预设的减少量。
可选的,所述发送配额申请信息至元数据服务器之后,还包括:
接收所述元数据服务器发送的拒绝配额信息;
依据所述拒绝配额信息,生成业务处理失败提示信息。
本发明还公开了一种分布式文件系统目录配额系统,包括:
业务指令接收模块,用于接收业务处理指令;
配额余量判断模块,用于判断本地目录的配额余量是否满足处理与所述业务处理指令对应的业务的余量要求;
配额申请模块,用于若所述配额余量判断模块判定所述本地目录的配额余量不满足所述余量要求,则发送配额申请信息至元数据服务器,以请求对所述本地目录进行目录配额;
上报判断模块,用于若所述配额余量判断模块判定所述本地目录的配额余量满足所述余量要求,则处理所述业务,判断距上一次上报所述本地目录的配额余量期间,所述本地目录的累计配额使用量是否满足预设上报条件;
上报模块,用于若所述上报判断模块判定所述累计配额使用量满足所述上报条件,则上报所述本地目录当前的配额余量至所述元数据服务器,以使所述元数据服务器更新所述本地目录的配额余量。
可选的,所述配额申请模块,具体用于若所述配额余量判断模块判定所述本地目录的配额余量不满足所述余量要求,发送包括预设的配额值的配额申请信息至所述元数据服务器,以请求对所述本地目录进行目录配额。
可选的,还包括:
拒绝配额接收模块,用于接收所述元数据服务器发送的拒绝配额信息;
提示信息生成模块,用于依据所述拒绝配额信息,生成业务处理失败提示信息。
本发明还公开了一种分布式文件系统目录配额装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如前述的分布式文件系统目录配额方法。
本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前述的分布式文件系统目录配额方法。
本发明中,分布式文件系统目录配额方法,包括:接收业务处理指令;判断本地目录的配额余量是否满足处理与业务处理指令对应的业务的余量要求;若不满足,则发送配额申请信息至元数据服务器,以请求对本地目录进行目录配额;若满足,则处理业务,判断距上一次上报本地目录的配额余量期间,本地目录的累计配额使用量是否满足预设上报条件;若满足,则上报本地目录当前的配额余量至元数据服务器,以使元数据服务器更新本地目录的配额余量。
本发明在处理业务前主动判定本地目录的配额余量是否能够满足处理业务要求,若不满足,则向元数据服务器申请配额,确保不会出现业务处理后出现超额的情况,同时,不对本地配额余量进行实时更新,仅在满足预设的上报条件时,才将本地目录配额余量上报至元数据服务器,减少元数据服务器与客户端之间的广播,提高广播效率。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例公开的一种分布式文件系统目录配额方法流程示意图;
图2为本发明实施例公开的另一种分布式文件系统目录配额方法流程示意图;
图3为本发明实施例公开的一种分布式文件系统目录结构示意图;
图4为本发明实施例公开的一种分布式文件系统目录配额系统结构示意图。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种分布式文件系统目录配额方法,参见图1所示,该方法包括:
S11:接收业务处理指令。
具体的,业务处理指令中包括本次业务所需配额和所要执行的任务,因此,利用业务处理指令判断后续是否需要配额,其中,业务处理指令可以包括执行数据写入、修改文件大小、重命名、创建文件和删除文件或目录等业务操作。
S12:判断本地目录的配额余量是否满足处理与业务处理指令对应的业务的余量要求。
具体的,根据业务处理指令中记载的业务和处理业务所需的目录配额值,判断本地目录的配额余量是否能够处理业务,若满足,则可以直接处理业务,若不满足,则需进行后续的配额操作。
S13:若不满足,则发送配额申请信息至元数据服务器,以请求对本地目录进行目录配额。
具体的,为防止进行业务操作后,导致处理业务后本地目录使用的配额值超过当前的配额总量,产生配额超出的情况,在本地目录配额不足的情况下,发送配额申请信息至元数据服务器,以使元数据服务器能够及时对本地目录进行配额,避免出现本地配额不足的情况。
具体的,可以理解的是,一次配额申请所申请的配额量若仍无法满足业务处理需求,在申请成功的前提下,可以再次申请配额,直至业务处理的余量要求,例如,业务处理需要20配额余量,本地目录当前配额余量为5,则申请配额,首次配额值为10,当前配额余量为15,仍不满足余量要求,则再次配额,二次配额可以再配额10的配额值,当前配额余量为25,满足余量要求,可以处理业务。
S14:若满足,则处理业务,判断距上一次上报本地目录的配额余量期间,本地目录的累计配额使用量是否满足预设上报条件。
具体的,为保证各客户端的配额信息能够及时同步,在处理业务后,判断距上一次上报本地目录的配额余量期间,本地目录的累计配额使用量是否满足预设上报条件,需要说明的是,为了减少客户端与元数据服务器之间的广播次数,提高广播效率,本地目录少量的配额使用量变动,不急于实时更新,待上一次上报直至当前处理业务后,本地目录配额的使用量是否满足预设的上报条件,如果满足,则说明本地目录配额变化量较大,需要上报,保证与元数据服务器的记载同步。
其中,上报条件可以为一个阈值,超过或小于该阈值则认定为满足。
S15:若满足,则上报本地目录当前的配额余量至元数据服务器,以使元数据服务器更新本地目录的配额余量。
具体的,将本地目录当前的配额余量上报至元数据服务器,以使元数据服务器更新本地目录的配额余量,由于本地目录的配额总量全部是由元数据服务器分配的,所以元数据服务器可以始终保留有本地目录最新的配额总量,仅配额余量需要更新,当然,也可以上报本地目录的配额余量和配额总量,确保一致。
可见,本发明实施例在处理业务前主动判定本地目录的配额余量是否能够满足处理业务要求,若不满足,则向元数据服务器申请配额,确保不会出现业务处理后出现超额的情况,同时,不对本地配额余量进行实时更新,仅在满足预设的上报条件时,才将本地目录配额余量上报至元数据服务器,减少元数据服务器与客户端之间的广播,提高广播效率。
本发明实施例公开了一种具体的分布式文件系统目录配额方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。参见图2所示,具体的:
S21:接收业务处理指令;
S22:判断本地目录的配额余量是否满足处理与业务处理指令对应的业务的余量要求;
S23:若不满足,则发送包括预设的配额值的配额申请信息至元数据服务器,以请求对本地目录进行目录配额。
具体的,由于整体配额量有限,为了避免为了满足一个目录处理业务而造成大量配额被占用,每次限制配额申请信息中只能申请一个预设的固定配额值,当一次不满足业务处理要求时,可以多次申请,两次申请间隔期间,元数据服务器可以权衡各目录之间的配额,决定是否继续配额,使整体配额更加合理。
需要说明的是,本地目录的总配额值大于本地目录的子目录,小于本地目录的父目录,参见图3所示,图中1至10分别表示目录1至目录10,假设设置目录6的配额,其配额祖先节点是目录1(配额总量为A),目录4(配额总量为B)、目录7(配额总量为C)均有配额,其余节点没有配额,元数据服务器设置时,遍历统计目录1的子目录配额值总和,进而确定目录6可设置的最大配额值为D,D=A-B-C;又如,在上面目录结构已设配额值的基础上,对目录10设置配额,此时目录10的配额祖先节点是目录6,所以目录10可设置的最大配额值是与目录6节点相同的配额总量,即D;在上面目录结构已设配额值的基础上,对目录2设置配额E,那么E的值必须满足A>=E<=B。
S24:若满足,则处理业务,判断距上一次上报本地目录的配额余量期间,本地目录的累计配额使用量是否满足大于预设的增加量或小于预设的减少量。
具体的,上报条件可以设置两个阈值分别是预设的增加量和预设的减少量,当累计配额使用量大于预设的增加量,则上报,或当本地目录释放配额,例如,删除文件和/或目录,致使本地目录的配额余量上升,使累计配额使用量减小,当累计配额使用量小于预设的减少量,则同样上报,只要满足两个阈值任一条件,则上报至元数据服务器。
S25:若满足,则上报本地目录当前的配额余量至元数据服务器,以使元数据服务器更新本地目录的配额余量;
S26:接收元数据服务器发送的拒绝配额信息。
具体的,由于配额总量存在上限,因此,元数据服务器无法无限配额,所以存在元数据服务器拒绝配额的情况,当元数据服务器拒绝配额时,则会发送拒绝配额信息,告知客户端无法批准配额请求无法进行配额。
S27:依据拒绝配额信息,生成业务处理失败提示信息。
具体的,接收拒绝配额信息后,可以得知配额失败,生成业务处理失败提示信息,并显示给用户,以告知用户业务因配额不足,无法进行。
相应的,本发明实施例还公开了一种分布式文件系统目录配额系统,参见图4所示,该系统包括:
业务指令接收模块1,用于接收业务处理指令;
配额余量判断模块2,用于判断本地目录的配额余量是否满足处理与业务处理指令对应的业务的余量要求;
配额申请模块3,用于若配额余量判断模块2判定本地目录的配额余量不满足余量要求,则发送配额申请信息至元数据服务器,以请求对本地目录进行目录配额;
上报判断模块4,用于若配额余量判断模块2判定本地目录的配额余量满足余量要求,则处理业务,判断距上一次上报本地目录的配额余量期间,本地目录的累计配额使用量是否满足预设上报条件;
上报模块5,用于若上报判断模块4判定累计配额使用量满足上报条件,则上报本地目录当前的配额余量至元数据服务器,以使元数据服务器更新本地目录的配额余量。
其中,本地目录的总配额值大于本地目录的子目录,小于本地目录的父目录。
具体的,配额申请模块3,具体用于若配额余量判断模块2判定本地目录的配额余量不满足余量要求,发送包括预设的配额值的配额申请信息至元数据服务器,以请求对本地目录进行目录配额。
具体的,上报判断模块4,具体用于若配额余量判断模块2判定本地目录的配额余量满足余量要求,则处理业务,判断距上一次上报本地目录的配额余量期间,本地目录的累计配额使用量是否满足大于预设的增加量或小于预设的减少量。
具体的于,还可以包括拒绝配额接收模块和提示信息生成模块;其中,
拒绝配额接收模块,用于接收元数据服务器发送的拒绝配额信息;
提示信息生成模块,用于依据拒绝配额信息,生成业务处理失败提示信息。
此外,本发明实施例还公开了一种分布式文件系统目录配额装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序以实现如前述的分布式文件系统目录配额方法。
另外,本发明实施例还公开了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如前述的分布式文件系统目录配额方法。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
以上对本发明所提供的技术内容进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
本文发布于:2023-04-15 06:10:26,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/3/87106.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |