一种配额申请方法及系统

阅读: 评论:0

著录项
  • CN201710765914.0
  • 20170830
  • CN107506242A
  • 20171222
  • 郑州云海信息技术有限公司
  • 苏志恒
  • G06F9/50
  • G06F9/50 G06F17/30

  • 河南省郑州市郑东新区心怡路278号16层1601室
  • 河南(41)
  • 北京集佳知识产权代理有限公司
  • 罗满
摘要
本发明公开了一种配额申请方法及系统,该方法包括:当客户端有待写入磁盘的数据时,客户端向元数据服务器发送请求磁盘空间的配额申请;元数据服务器在配额申请的触发下为客户端分配第一分配配额,第一分配配额为磁盘中未被写入数据且未被分配给任意客户端的部分空间对应的配额;客户端根据第一分配配额对待写入磁盘的数据进行相应的处理。每个客户端根据获得的配额来对本客户端待写入的数据进行相应处理,由于第一分配配额是磁盘中未被写入数据且未被分配给任意客户端的部分空间对应配额,所以不同客户端获得的配额对应的空间是没有交叉的,不必担心该配额对应的空间会被别的客户端使用,解决了配额超额的问题。
权利要求

1.一种配额申请方法,其特征在于,包括:

当客户端有待写入磁盘的数据时,所述客户端向元数据服务器发送请求磁盘空间的配 额申请;

所述元数据服务器在所述配额申请的触发下为所述客户端分配第一分配配额,所述第 一分配配额为所述磁盘中未被写入数据且未被分配给任意客户端的部分空间对应的配额;

所述客户端根据所述第一分配配额对所述待写入磁盘的数据进行相应的处理。

2.根据权利要求1所述的方法,其特征在于,所述客户端根据所述第一分配配额对所述 待写入磁盘的数据进行相应的处理,包括:

所述客户端比较所述第一分配配额与所述待写入磁盘的数据所需要的第一所需配额 的大小,若所述第一分配配额不小于所述第一所需配额,所述客户端将所述待写入磁盘的 数据写入磁盘中与所述第一分配配额对应的空间,若所述第一分配配额小于所述第一所需 配额,所述客户端判断所述待写入的数据是否可以划分出其所需配额不大于所述第一分配 配额的数据块,若能划分,则所述客户端将划分出的一部分可单独写入所述第一分配配额 对应空间的数据块写入磁盘中与所述第一分配配额对应的空间,若不能划分,则所述客户 端拒绝执行写入操作。

3.根据权利要求2所述的方法,其特征在于,客户端拒绝执行写入操作后,还包括:

所述客户端将所述第一分配配额归还给所述元数据服务器。

4.根据权利要求2所述的方法,其特征在于,客户端拒绝执行写入操作后,还包括:

所述客户端向所述元数据服务器发送请求磁盘空间的配额申请;

所述元数据服务器在所述配额申请的触发下为所述客户端分配第二分配配额,所述第 二分配配额为所述磁盘中未被写入数据且未被分配给任意客户端的部分空间对应的配额;

所述客户端比较所述第一分配配额和所述第二分配配额的和值与所述第一所需配额 的大小,若所述和值不小于所述第一所需配额,所述客户端将所述待写入磁盘的数据写入 磁盘中与所述和值对应的空间;若所述和值小于所述第一所需配额,所述客户端拒绝执行 写入操作,并将所述第一分配配额与第二分配配额归还给所述元数据服务器。

5.根据权利要求2-4任一项所述的方法,其特征在于,所述客户端将所述待写入磁盘的 数据写入磁盘后,还包括:

所述客户端将第一分配配额减去所述第一所需配额,得到剩余配额;

得到所述剩余配额后,所述客户端开始进行计时,并实时将计时所得到的时长与预设 时长进行比对,如果计时所得的时长大于或等于所述预设时长,则将所述剩余配额归还给 所述元数据服务器;如果计时所得的时长小于所述预设时长,则当客户端有待写入磁盘的 数据时,确定该待写入磁盘的数据所需要的配额为第一所需配额,比较所述第一所需配额 与所述剩余配额的大小,当所述第一所需配额不大于所述剩余配额时,将所述待写入磁盘 的数据写入磁盘中与所述剩余配额对应的空间,当所述第一所需配额大于所述剩余配额 时,返回执行所述向元数据服务器发送请求磁盘空间的配额申请的步骤。

6.一种配额申请系统,其特征在于,包括:

客户端,用于:当所述客户端有待写入磁盘的数据时,向元数据服务器发送请求磁盘空 间的配额申请;根据所述元数据服务器分配的第一分配配额对所述待写入磁盘的数据进行 相应的处理;

元数据服务器,用于:在所述配额申请的触发下为所述客户端分配第一分配配额,所述 第一分配配额为所述磁盘中未被写入数据且未被分配给任意客户端的部分空间对应的配 额。

7.根据权利要求6所述的系统,其特征在于,所述客户端包括:

处理装置,用于:比较所述第一分配配额与所述待写入磁盘的数据所需要的第一所需 配额的大小,若所述第一分配配额不小于所述第一所需配额,将所述待写入磁盘的数据写 入磁盘中与所述第一分配配额对应的空间,若所述第一分配配额小于所述第一所需配额, 判断所述待写入的数据是否可以划分出其所需配额不大于所述第一分配配额的数据块,若 能划分,则将划分出的一部分可单独写入所述第一分配配额对应空间的数据块写入磁盘中 与所述第一分配配额对应的空间,若不能划分,则拒绝执行写入操作。

8.根据权利要求7所述的装置,其特征在于,所述处理装置还用于:

在拒绝执行写入操作后,将所述第一分配配额归还给所述元数据服务器。

9.根据权利要求7所述的系统,其特征在于,所述处理装置还用于:

在拒绝执行写入操作后,向所述元数据服务器发送请求磁盘空间的配额申请;在所述 元数据服务器分配第二分配配额后,比较所述第一分配配额和第二分配配额的和值与所述 第一所需配额的大小,若所述和值不小于所述第一所需配额,将所述待写入磁盘的数据写 入磁盘中与所述和值对应的空间;若所述和值小于所述第一所需配额,拒绝执行写入操作, 并将所述第一分配配额与第二分配配额归还给所述元数据服务器;

所述元数据服务器还用于:在所述配额申请的触发下为所述客户端分配第二分配配 额,所述第二分配配额为所述磁盘中未被写入数据且未被分配给任意客户端的部分空间对 应的配额。

10.根据权利要求7-9任一项所述的系统,其特征在于,所述处理装置还用于:

在所述处理装置将所述待写入磁盘的数据写入磁盘后,将第一分配配额减去所述第一 所需配额,得到剩余配额;得到所述剩余配额后,开始进行计时,并实时将计时所得到的时 长与预设时长进行比对,如果计时所得的时长大于或等于所述预设时长,则将所述剩余配 额归还给所述元数据服务器;如果计时所得的时长小于所述预设时长,则当有待写入磁盘 的数据时,确定该待写入磁盘的数据所需要的配额为第一所需配额,比较所述第一所需配 额与所述剩余配额的大小,当所述第一所需配额不大于所述剩余配额时,将所述待写入磁 盘的数据写入磁盘中与所述剩余配额对应的空间,当所述第一所需配额大于所述剩余配额 时,返回执行所述向元数据服务器发送请求磁盘空间的配额申请的步骤。

说明书
技术领域

本发明涉及存储技术领域,更具体地说,涉及一种配额申请方法,还涉及一种配额 申请系统。

在分布式文件系统中,例如在Ceph中,当客户端有新数据需要写入磁盘时,需要根 据客户端配额信息中可用配额与写入所述新数据所需要的配额的大小关系来决定是否能 够写入,当可用配额小于所需要的配额时,不能写入;当可用配额大于或等于所需要的配额 时,能写入;其中,可用配额即为客户端确定出的磁盘中可用的空间配额。

元数据服务器中的配额信息包含了实际当前可用配额大小,但是由于客户端配额 信息的更新落后于元数据服务器,因此存在这样的情况:客户端A的配额信息显示的可用配 额对应的磁盘空间足以写入客户端A待写入的数据,此时客户端B的配额信息显示的可用配 额对应的磁盘空间也是足以写入客户端B待写入的数据,但此时磁盘可用配额对应的空间 不一定足以同时写入上述两个客户端的数据,造成可配额超额的问题,尤其在多客户端时 超额问题更严重,磁盘空间得不到合理利用。

综上所述,如何提供一种能解决配额超额问题的方法,是目前本领域技术人员亟 待解决的问题。

本发明的目的是提供一种配额申请的方法及系统,能够解决配额超额的问题。

为了实现上述目的,本发明提供如下技术方案:

一种配额申请方法,包括:

当客户端有待写入磁盘的数据时,所述客户端向元数据服务器发送请求磁盘空间 的配额申请;

所述元数据服务器在所述配额申请的触发下为所述客户端分配第一分配配额,所 述第一分配配额为所述磁盘中未被写入数据且未被分配给任意客户端的部分空间对应的 配额;

所述客户端根据所述第一分配配额对所述待写入磁盘的数据进行相应的处理。

优选的,所述客户端根据所述第一分配配额对所述待写入磁盘的数据进行相应的 处理,包括:

所述客户端比较所述第一分配配额与所述待写入磁盘的数据所需要的第一所需 配额的大小,若所述第一分配配额不小于所述第一所需配额,所述客户端将所述待写入磁 盘的数据写入磁盘中与所述第一分配配额对应的空间,若所述第一分配配额小于所述第一 所需配额,所述客户端判断所述待写入的数据是否可以划分出其所需配额不大于所述第一 分配配额的数据块,若能划分,则所述客户端将划分出的一部分可单独写入所述第一分配 配额对应空间的数据块写入磁盘中与所述第一分配配额对应的空间,若不能划分,则所述 客户端拒绝执行写入操作。

优选的,客户端拒绝执行写入操作后,还包括:

所述客户端将所述第一分配配额归还给所述元数据服务器。

优选的,客户端拒绝执行写入操作后,还包括:

所述客户端向所述元数据服务器发送请求磁盘空间的配额申请;

所述元数据服务器在所述配额申请的触发下为所述客户端分配第二分配配额,所 述第二分配配额为所述磁盘中未被写入数据且未被分配给任意客户端的部分空间对应的 配额;

所述客户端比较所述第一分配配额和所述第二分配配额的和值与所述第一所需 配额的大小,若所述和值不小于所述第一所需配额,所述客户端将所述待写入磁盘的数据 写入磁盘中与所述和值对应的空间;若所述和值小于所述第一所需配额,所述客户端拒绝 执行写入操作,并将所述第一分配配额与第二分配配额归还给所述元数据服务器。

优选的,所述客户端将所述待写入磁盘的数据写入磁盘后,还包括:

所述客户端将第一分配配额减去所述第一所需配额,得到剩余配额;

得到所述剩余配额后,所述客户端开始进行计时,并实时将计时所得到的时长与 预设时长进行比对,如果计时所得的时长大于或等于所述预设时长,则将所述剩余配额归 还给所述元数据服务器;如果计时所得的时长小于所述预设时长,则当客户端有待写入磁 盘的数据时,确定该待写入磁盘的数据所需要的配额为第一所需配额,比较所述第一所需 配额与所述剩余配额的大小,当所述第一所需配额不大于所述剩余配额时,将所述待写入 磁盘的数据写入磁盘中与所述剩余配额对应的空间,当所述第一所需配额大于所述剩余配 额时,返回执行所述向元数据服务器发送请求磁盘空间的配额申请的步骤。。

一种配额申请系统,包括:

客户端,用于:当所述客户端有待写入磁盘的数据时,向元数据服务器发送请求磁 盘空间的配额申请;根据所述元数据服务器分配的第一分配配额对所述待写入磁盘的数据 进行相应的处理;

元数据服务器,用于:在所述配额申请的触发下为所述客户端分配第一分配配额, 所述第一分配配额为所述磁盘中未被写入数据且未被分配给任意客户端的部分空间对应 的配额。

优选的,所述客户端包括:

处理装置,用于:

比较所述第一分配配额与所述待写入磁盘的数据所需要的第一所需配额的大小, 若所述第一分配配额不小于所述第一所需配额,将所述待写入磁盘的数据写入磁盘中与所 述第一分配配额对应的空间,若所述第一分配配额小于所述第一所需配额,判断所述待写 入的数据是否可以划分出其所需配额不大于所述第一分配配额的数据块,若能划分,则将 划分出的一部分可单独写入所述第一分配配额对应空间的数据块写入磁盘中与所述第一 分配配额对应的空间,若不能划分,则拒绝执行写入操作。

优选的,所述处理装置还用于:

在拒绝执行写入操作后,将所述第一分配配额归还给所述元数据服务器。

优选的,所述处理装置还用于:

在拒绝执行写入操作后,向所述元数据服务器发送请求磁盘空间的配额申请;在 所述元数据服务器分配第二分配配额后,比较所述第一分配配额和第二分配配额的和值与 所述第一所需配额的大小,若所述和值不小于所述第一所需配额,将所述待写入磁盘的数 据写入磁盘中与所述和值对应的空间;若所述和值小于所述第一所需配额,拒绝执行写入 操作,并将所述第一分配配额与第二分配配额归还给所述元数据服务器;

所述元数据服务器还用于:在所述配额申请的触发下为所述客户端分配第二分配 配额,所述第二分配配额为所述磁盘中未被写入数据且未被分配给任意客户端的部分空间 对应的配额。

优选的,所述处理装置还用于:

在将所述待写入磁盘的数据写入磁盘后,将第一分配配额减去所述第一所需配 额,得到剩余配额;所述客户端,还用于:得到所述剩余配额后,开始进行计时,并实时将计 时所得到的时长与预设时长进行比对,如果计时所得的时长大于或等于所述预设时长,则 将所述剩余配额归还给所述元数据服务器;如果计时所得的时长小于所述预设时长,则当 有待写入磁盘的数据时,确定该待写入磁盘的数据所需要的配额为第一所需配额,比较所 述第一所需配额与所述剩余配额的大小,当所述第一所需配额不大于所述剩余配额时,将 所述待写入磁盘的数据写入磁盘中与所述剩余配额对应的空间,当所述第一所需配额大于 所述剩余配额时,返回执行所述向元数据服务器发送请求磁盘空间的配额申请的步骤。

本发明提供的一种配额申请方法,包括:当客户端有待写入磁盘的数据时,所述客 户端向元数据服务器发送请求磁盘空间的配额申请;所述元数据服务器在所述配额申请的 触发下为所述客户端分配第一分配配额,所述第一分配配额为所述磁盘中未被写入数据且 未被分配给任意客户端的部分空间对应的配额;所述客户端根据所述第一分配配额对所述 待写入磁盘的数据进行相应的处理。每个客户端根据获得的配额来对本客户端待写入的数 据进行相应处理,由于所述第一分配配额是磁盘中未被写入数据且未被分配给任意客户端 的部分空间对应配额,所以不同客户端获得的配额对应的空间是没有交叉的,不必担心该 配额对应的空间会被别的客户端使用,解决了配额超额的问题。

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

图1为本发明实施例提供的一种配额申请方法的流程图;

图2为本发明实施例提供的一种配额申请系统的结构示意图。

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

请参阅图1,图1示出了本发明实施例提供的一种配额申请方法的流程图,可以包 括:

S11:当客户端有待写入磁盘的数据时,客户端向元数据服务器发送请求磁盘空间 的配额申请。

需要说明的是,本发明可以基于CAP机制实现,该机制是分布式系统Ceph中针对文 件或目录的读写的权限控制机制,也就是说客户端不论是从磁盘中读取数据或是向磁盘中 写入数据,都需要获得元数据服务器的授权。在现有技术中,客户端进行写数据之前,需要 向元数据服务器发送写权限申请,该申请中可以包括客户端的ID及进行写数据需要的空间 大小对应的配额等,以便元数据服务器获知是哪个客户端在申请写权限,其中,写数据需要 的空间大小对应的配额可以由客户端在发送配额申请之前计算得到,计算得到该写数据需 要的空间大小对应的配额后可以将其添加到配额申请中。当元数据服务器对写权限授权以 后,该客户端才具有写数据的权力。在本发明提供的实施例中,客户端可以将配额申请添加 到上述写权限申请中,以此实现向元数据服务器发送配额申请,此时可以不必单独再向元 数据服务器发一次申请,减少了客户端与元数据服务器之间的交互信息,减少带宽的占用。

客户端需要写入的数据的类型可以是文本、音频或视屏等,只要客户端有能够写 入磁盘的数据等待写入时,就可以向元数据服务器发送请求磁盘空间的配额申请。

S12:元数据服务器在配额申请的触发下为客户端分配第一分配配额,第一分配配 额为磁盘中未被写入数据且未被分配给任意客户端的部分空间对应的配额。

元数据服务器收到配额申请后,为客户端分配配额,该配额可以记为第一分配配 额,该第一分配配额对应的磁盘空间为获得该第一分配配额的客户端能够使用的磁盘空 间。对应于步骤S11中提到的写权限申请,元数据服务器收到该写权限申请后,给对应的客 户端进行授权并向该客户端发送授权消息,可以将该第一分配配额添加到该授权消息中。 第一分配配额的大小可以根据实际情况预先设定好,此时每次有客户端请求磁盘空间则将 预先设定好大小的第一分配配额返回给客户端,比如此时磁盘中可用空间对应的配额很大 或此时元数据服务器对应的客户端数量较少时,那么第一分配配额可以设置得大一些,当 磁盘中可用空间对应的配额较小时或此时元数据服务器对应的客户端数量较多时,第一分 配配额可以设置得小一些,也可以是按照其他预先设定的规则实现第一分配配额的分配 的,如元数据服务器接收到来自客户端的配额申请后,比对磁盘中可用空间对应的配额与 配额申请中写数据需要的空间大小对应的配额,若磁盘中可用空间对应的配额小于配额申 请中需要的配额,那么直接将此时磁盘中可用空间对应的配额分配给客户端即可,如果磁 盘中可用空间对应的配额不小于配额申请中需要的配额,则可以将与配额申请中相同空间 大小的配额或者按照上述每次分配预先设定好大小的分配实现对客户端的配额分配。特殊 的,磁盘中可用空间为零,那么此时元数据服务器将给客户端返回错误码,告知客户端此时 元数据服务器无法给客户端分配配额。

S13:客户端根据第一分配配额对待写入磁盘的数据进行相应的处理。

因为第一分配配额对应的空间大小是客户端获得该配额后能够使用的空间大小, 因此客户端需要根据第一分配配额来对待写入磁盘的数据进行相应的处理,也就是说根据 待写入数据与第一分配配额的大小来决定是否写入数据或者写入多少数据。其中,客户端 执行写入数据的操作可以调用客户端写入接口,通过该接口将待写入磁盘的数据写入到磁 盘中。

本发明实施例中,每个客户端根据获得的配额来对本客户端待写入的数据进行相 应处理,由于第一分配配额是磁盘中未被写入数据且未被分配给任意客户端的部分空间对 应配额,所以不同客户端获得的配额对应的空间是没有交叉的,不必担心该配额对应的空 间会被别的客户端使用,解决了配额超额的问题。

本发明实施例提供的一种配额申请方法,客户端根据第一分配配额对待写入磁盘 的数据进行相应的处理,包括:

客户端比较第一分配配额与待写入磁盘的数据所需要的第一所需配额的大小,若 第一分配配额不小于第一所需配额,客户端将待写入磁盘的数据写入磁盘中与第一分配配 额对应的空间,若第一分配配额小于第一所需配额,客户端判断待写入的数据是否可以划 分出其所需配额不大于第一分配配额的数据块,若能划分,则客户端将划分出的一部分可 单独写入第一分配配额对应空间的数据块写入磁盘中与第一分配配额对应的空间,若不能 划分,则客户端拒绝执行写入操作。

当第一分配配额不小于客户端待写入磁盘的数据,即第一分配配额对应的空间足 以写入此时待写入的数据时,客户端将待写入的数据写入对应的空间即可;当第一分配配 额小于客户端待写入磁盘的数据,即第一分配配额对应的空间不足以写入此时待写入的数 据时,客户端此时不能直接将待写入的数据写入磁盘,因为此时写入会造成配额超额,此时 应首先判断待写入的数据是否可以划分出一部分可以单独写入磁盘的数据块,并且应该保 证该划分出来的数据块需要的空间应该不大于第一分配配额对应的空间大小,此时可以将 该划分出来的数据块先写入磁盘,实现部分数据的写入,将该划分出的部分数据写入后,再 次向元数据服务器发送配额申请,此时配额申请中包含的写数据需要的空间大小对应的配 额应该为剩余的未写入的部分数据需要的空间大小对应的配额,即对于前一次配额申请而 言扣除了已经写入的那部分数据已经使用的配额,此次配额申请功后可以将剩余的未写入 的部分数据在不造成配额超额的情况下写入磁盘;但是有的待写入数据对完整性有很高的 要求,不能将其划分成单独的部分进行存储,此时客户端应该拒绝对该数据进行存储,客户 端可以通过向对应的执行写入操作的程序发送超额错误码来实现拒绝对该数据的存储,该 超额错误码表明如果客户端执意要写入数据那么会造成配额超额的问题。可见,使用该方 法对数据进行的处理,在能全部将待写入的数据写入时,可以全部写入,当数据不能全部写 入时,判断是否可以部分写入,对数据的处理既灵活又避免了配额超额的问题。

本发明实施例提供的一种配额申请方法,客户端拒绝执行写入操作后,还包括:

客户端将第一分配配额归还给元数据服务器。

客户端拒绝执行写入操作,说明此时客户端待写入的数据所需要的空间比第一分 配配额对应的空间更大,并且该数据不能进行划分。当客户端待写入磁盘的数据既不能全 部写入,又不能部分写入,则可以将申请到的第一分配配额归还给元数据服务器。归还给元 数据服务器后,元数据服务器可以将归还的配额与本身未分配出去的可用配额进行合并, 然后重新进行分配,当本次被归还的配额在下一次分配出去后,对应的空间就可以存入另 外的客户端待写入磁盘的数据,若不归还第一分配配额,那么该第一分配配额对应的空间 可能会被闲置,而归还后可能会得到利用,也即该方法可以提高磁盘空间的有效利用率。

本发明实施例提供的一种配额申请方法,客户端拒绝执行写入操作后,还包括:

客户端向元数据服务器发送请求磁盘空间的配额申请;

元数据服务器在配额申请的触发下为客户端分配第二分配配额,第二分配配额为 磁盘中未被写入数据且未被分配给任意客户端的部分空间对应的配额;

客户端比较第一分配配额和第二分配配额的和值与第一所需配额的大小,若和值 不小于第一所需配额,客户端将待写入磁盘的数据写入磁盘中与和值对应的空间;若和值 小于第一所需配额,客户端拒绝执行写入操作,并将第一分配配额与第二分配配额归还给 元数据服务器。

该方法也是对应于客户端待写入磁盘的数据既不能全部写入,又不能部分写入的 情况,客户端除了将第一分配配额进行归还以外,还可以在保留第一分配配额的基础上,再 申请一份分配配额,记为第二分配配额。此时该客户端可以用来写入数据的空间为第一分 配配额与第二分配配额的和值对应的空间大小,若此时待写入磁盘的数据需要的空间不大 于该和值对应的空间,那么可以写入,否则客户端拒绝写入,并且将第一分配配额与第二分 配配额进行归还。对于一些较大的数据,可能需要第一分配配额与第二分配配额的和值对 应的空间才能存储进去且不会造成配额超额;但是那些所需空间比上述和值对应的空间还 大的数据,可以认为其所需空间过大,暂时不进行存储,可以将已申请得到的配额进行归 还,以供其他的客户端进行申请。在多客户端的情况下,如果一个客户端连续申请配额,势 必别的客户端申请到的配额会减少,所以此时归还配额可以排除某些客户端申请过多配额 的情况,使得在一定时间内各客户端申请到的配额差距不会太大,具有较高公平性。

本发明实施例提供的一种配额申请方法,客户端将待写入磁盘的数据写入磁盘 后,还可以包括:

客户端将第一分配配额减去第一所需配额,得到剩余配额;

得到剩余配额后,客户端开始进行计时,并实时将计时所得到的时长与根据实际 需要设定的预设时长进行比对,如果计时所得的时长大于或等于预设时长,则将剩余配额 归还给元数据服务器;如果计时所得的时长小于预设时长,则当客户端有待写入磁盘的数 据时,确定该待写入磁盘的数据所需要的配额为第一所需配额,比较第一所需配额与剩余 配额的大小,当第一所需配额不大于剩余配额时,将待写入磁盘的数据写入磁盘中与剩余 配额对应的空间,当第一所需配额大于剩余配额时,返回执行向元数据服务器发送请求磁 盘空间的配额申请的步骤。

剩余配额可以暂时保留,如果在设定的时间(即预设时长)内,客户端都没有新数 据需要存储,那么就将该剩余配额进行归还,方便别的客户端进行申请;如果在设定的时间 内,该客户端有新的数据需要存储,首先判断新的数据所需空间大小是否大于剩余配额对 应的空间大小,如果大于,就不能存储,如果不大于,则可新的数据写入磁盘,此时利用前一 次申请得到的配额对应的空间进行了两次写入数据操作,减少了申请次数,相应地减少了 客户端与元数据服务器的交互信息,减少了网络带宽的占用。其中,上述是根据实际需要进 行设定的,比如:当此时元数据服务器对应的客户端很多,那么该设定的时间就可以设置得 短一些;当此时元数据服务器对应的客户端很少,那么该设定的时间就可以设置得长一些。

本发明实施例提供的一种配额申请系统,如图2,可以包括:

客户端11,用于:当客户端11有待写入磁盘的数据时,向元数据服务器12发送请求 磁盘空间的配额申请;根据元数据服务器12分配的第一分配配额对待写入磁盘的数据进行 相应的处理;

元数据服务器12,用于:在配额申请的触发下为客户端11分配第一分配配额,第一 分配配额为磁盘中未被写入数据且未被分配给任意客户端的部分空间对应的配额。

本发明实施例提供的一种配额申请系统,客户端可以包括:

处理装置,用于:

比较第一分配配额与待写入磁盘的数据所需要的第一所需配额的大小,若第一分 配配额不小于第一所需配额,将待写入磁盘的数据写入磁盘中与第一分配配额对应的空 间,若第一分配配额小于第一所需配额,判断待写入的数据是否可以划分出其所需配额不 大于第一分配配额的数据块,若能划分,则将划分出的一部分可单独写入第一分配配额对 应空间的数据块写入磁盘中与第一分配配额对应的空间,若不能划分,则拒绝执行写入操 作。

本发明实施例提供的一种配额申请系统,处理装置还可以用于:

在拒绝执行写入操作后,将第一分配配额归还给元数据服务器。

本发明实施例提供的一种配额申请系统,处理装置还可以用于:

在拒绝执行写入操作后,向元数据服务器发送请求磁盘空间的配额申请;在元数 据服务器分配第二分配配额后,比较第一分配配额和第二分配配额的和值与第一所需配额 的大小,若和值不小于第一所需配额,将待写入磁盘的数据写入磁盘中与和值对应的空间; 若和值小于第一所需配额,拒绝执行写入操作,并将第一分配配额与第二分配配额归还给 元数据服务器。

元数据服务器还可以用于:在配额申请的触发下为客户端分配第二分配配额,第 二分配配额为磁盘中未被写入数据且未被分配给任意客户端的部分空间对应的配额;

本发明实施例提供的一种配额申请系统,处理装置还可以用于:

在将待写入磁盘的数据写入磁盘后,将第一分配配额减去第一所需配额,得到剩 余配额;

得到剩余配额后,开始进行计时,并实时将计时所得到的时长与根据实际需要设 定的预设时长进行比对,如果计时所得的时长大于或等于预设时长,则将剩余配额归还给 元数据服务器;如果计时所得的时长小于预设时长,则当有待写入磁盘的数据时,确定该待 写入磁盘的数据所需要的配额为第一所需配额,比较第一所需配额与剩余配额的大小,当 第一所需配额不大于剩余配额时,将待写入磁盘的数据写入磁盘中与剩余配额对应的空 间,当第一所需配额大于剩余配额时,返回执行向元数据服务器发送请求磁盘空间的配额 申请的步骤。

本发明实施例提供的一种配额申请系统中的相关部分的说明请参见本发明实施 例提供的一种配额申请方法中对应部分的详细说明,在此不再赘述。另外,本发明公开的上 述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘 述。

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

本文发布于:2023-04-13 01:13:21,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/85697.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图