存储空间分配方法及装置以及文件存储方法及装置制造方法及图纸

技术编号:17733691 阅读:30 留言:0更新日期:2018-04-18 11:16
本公开是关于一种存储空间分配方法及装置以及文件存储方法及装置。该方法应用于分布式文件系统中部署有命名节点的服务器,系统还包括客户端和数据节点,方法包括:接收客户端携带单级目录信息的数据块创建请求;根据单级目录配额和已占用配额,判断是否满足数据块创建条件;满足时创建数据块将数据块信息发送客户端,数据块信息包括单级目录信息,客户端根据数据块信息写入单级目录。根据本公开实施例,能够接收客户端携带单级目录信息的数据块创建请求,在根据单级目录的配额和已占用的配额判断满足数据块创建条件时,创建数据块将数据块信息发送给客户端,从而实现具备单级目录的分布式文件系统,可区分不同业务用户的文件。

Storage space allocation method and device and file storage method and device

The present disclosure is about a storage space allocation method and device, as well as a file storage method and device. This method is applied to the deployment of a distributed file system named node server, client and system also includes a data node method includes: receiving client data blocks carrying single level directory information creation request; according to the single level directory has been occupied by the quota and quota, determine whether meet the data block to create conditions; when the data block will be created to meet the data block information sent to the client, the data block information including single directory information, the client according to the single level directory data block write information. According to the disclosed embodiments, the client can receive the information carrying a single directory data block creation request, in accordance with the single level directory quotas and occupied quota judgment satisfy the data block to create conditions, to create the data block data block information sent to the client, so as to realize the distributed file system with single level directory, can be distinguished different business users' files.

【技术实现步骤摘要】
存储空间分配方法及装置以及文件存储方法及装置
本公开涉及计算机
,尤其涉及一种存储空间分配方法及装置以及文件存储方法及装置。
技术介绍
随着互联网技术的快速发展,人们对信息存储的需求也越来越大,分布式文件系统可以用来存储数据,满足人们对信息存储的需求。相关技术中,分布式文件系统多不支持目录的概念,仅提供类似于对象存储的功能来存储文件。然而,这种分布式文件系统将无法对不同业务用户的文件进行区分。
技术实现思路
为克服相关技术中存在的问题,本公开提供一种存储空间分配方法及装置以及文件存储方法及装置。根据本公开实施例的第一方面,提供一种存储空间分配方法,所述方法应用于分布式文件系统中部署有命名节点的服务器中,所述分布式文件系统还包括客户端以及多个数据节点,所述方法包括:接收客户端的数据块创建请求,其中,所述数据块创建请求携带单级目录的信息;根据所述单级目录的配额和已占用的配额,判断是否满足数据块创建条件;在满足所述数据块创建条件时,创建数据块将数据块信息发送给所述客户端,所述数据块信息包括所述单级目录的信息,用于所述客户端根据所述数据块信息将所述单级目录下的文件写入相应的数据块中。对于以上方法,在一种可能的实现方式中,所述配额包括:数据块空间配额以及文件数量配额,其中,根据所述单级目录的配额和已占用的配额,判断是否满足数据块创建条件,包括:根据所述单级目录的数据块空间配额和所述单级目录的已占用的数据块空间配额,确定所述单级目录的剩余数据块空间配额;在所述单级目录的剩余数据块空间配额大于或等于待创建数据块所占用的数据块空间,且所述单级目录的文件数量配额大于所述单级目录的已占用的文件数量配额时,判断满足数据块创建条件。对于以上方法,在一种可能的实现方式中,所述方法还包括:在所述命名节点初始化时,扫描数据块状态表,获取多个数据块信息;基于所述多个数据块信息,确定所述单级目录下的多个数据块信息;基于所述单级目录下的多个数据块信息,确定所述单级目录的已占用的配额,其中,所述数据块信息包括所述数据块的已占用的配额的信息。对于以上方法,在一种可能的实现方式中,所述方法还包括:接收客户端发送的密封数据块请求,其中,所述密封数据块请求携带所述数据块的标识以及所述数据块已占用的配额的信息,用于所述命名节点根据所述密封数据块请求更新与所述标识相对应的数据块的数据块信息以及所述数据块所属的单级目录的已占用的配额;响应于所述密封数据块请求,更新与所述密封数据块请求相对应的数据块的数据块信息,其中,所述数据块信息包括所述数据块的状态信息以及所述数据块的已占用的配额的信息;基于所述数据块信息,更新所述单级目录的已占用的配额。对于以上方法,在一种可能的实现方式中,所述方法还包括:接收客户端的数据块信息获取请求,其中,所述数据块信息获取请求携带数据块的标识,用于所述命名节点根据所述数据块信息获取请求确定与所述标识相对应的数据块的数据块信息,其中,所述数据块信息包括所述单级目录的信息;响应于客户端的数据块信息获取请求,确定与所述标识相对应的数据块的数据块信息;将所述数据块信息发送给所述客户端,所述数据块信息用于所述客户端根据所述数据块信息从对应的所述单级目录的数据块中读取所述单级目录下的文件。根据本公开实施例的第二方面,提供一种文件存储方法,所述方法应用于分布式文件系统中部署有客户端的服务器中,所述分布式文件系统还包括命名节点以及多个数据节点,所述方法包括:向所述命名节点发送数据块创建请求,其中,所述数据块创建请求携带单级目录的信息;接收所述命名节点发送的数据块的数据块信息,所述数据块信息包括所述单级目录的信息;将所述数据块确定为所述单级目录的可用的数据块;根据所述数据块信息将所述单级目录下的文件写入相应的数据块中。对于以上方法,在一种可能的实现方式中,所述方法还包括:在所述可用的数据块被写满时,向所述命名节点发送密封数据块请求,其中,所述密封数据块请求携带所述数据块的标识以及所述数据块已占用的配额的信息,用于所述命名节点根据所述密封数据块请求更新与所述标识相对应的数据块的数据块信息以及所述数据块所属的单级目录的已占用的配额;向所述命名节点发送数据块创建请求,包括:在所述单级目录下没有可用的数据块时,向所述命名节点发送数据块创建请求,其中,所述数据块创建请求携带单级目录的信息。对于以上方法,在一种可能的实现方式中,所述方法还包括:在将文件写入所述可用的数据块时,检测所述可用的数据块所属的单级目录的信息与用于写入文件的接口所携带的单级目录的信息是否相同;在所述数据块所属的单级目录的信息与用于写入文件的接口所携带的单级目录的信息相同时,将所述文件写入所述可用的数据块中。对于以上方法,在一种可能的实现方式中,在完成将所述文件写入所述可用的数据块中时,基于所述可用的数据块的标识、偏移地址以及所述可用的数据块所属的单级目录的信息,确定所述文件的存储路径。对于以上方法,在一种可能的实现方式中,所述方法还包括:基于待读取的文件的存储路径,确定所述文件所属数据块的标识、偏移地址以及所述文件的单级目录的信息;向命名节点发送数据块信息获取请求,其中,所述数据块信息获取请求携带所述标识,用于所述命名节点根据所述数据块信息获取请求确定与所述标识相对应的数据块的数据块信息;获取所述命名节点发送的数据块信息,其中,所述数据块信息包括所述单级目录的信息;基于所述数据块信息,确定所述数据块所属的单级目录的信息;在所述数据块所属的单级目录的信息与所述文件的单级目录的信息相同时,从相应数据块中读取所述文件。对于以上方法,在一种可能的实现方式中,所述方法还包括:在所述数据块所属的单级目录的信息与所述文件的单级目录的信息不相同时,返回读文件错误信息。根据本公开实施例的第三方面,提供一种存储空间分配装置,所述装置应用于分布式文件系统中部署有命名节点的服务器中,所述分布式文件系统还包括客户端以及多个数据节点,所述装置包括:第一请求接收模块,用于接收客户端的数据块创建请求,其中,所述数据块创建请求携带单级目录的信息;判断模块,用于根据所述单级目录的配额和已占用的配额,判断是否满足数据块创建条件;第一信息发送模块,用于在满足所述数据块创建条件时,创建数据块将数据块信息发送给所述客户端,所述数据块信息包括所述单级目录的信息,用于所述客户端根据所述数据块信息将所述单级目录下的文件写入相应的数据块中。对于以上装置,在一种可能的实现方式中,所述配额包括:数据块空间配额以及文件数量配额,所述判断模块包括:空间配额确定子模块,用于根据所述单级目录的数据块空间配额和所述单级目录的已占用的数据块空间配额,确定所述单级目录的剩余数据块空间配额;判断子模块,用于在所述单级目录的剩余数据块空间配额大于或等于待创建数据块所占用的数据块空间,且所述单级目录的文件数量配额大于所述单级目录的已占用的文件数量配额时,判断满足数据块创建条件。对于以上装置,在一种可能的实现方式中,所述装置还包括:第一信息获取模块,用于在所述命名节点初始化时,扫描数据块状态表,获取多个数据块信息;第一信息确定模块,用于基于所述多个数据块信息,确定所述单级目录下的多个数据块信息;配额确定模块,用于基于所述单级目录下的多个数据块信本文档来自技高网...
存储空间分配方法及装置以及文件存储方法及装置

【技术保护点】
一种存储空间分配方法,其特征在于,所述方法应用于分布式文件系统中部署有命名节点的服务器中,所述分布式文件系统还包括客户端以及多个数据节点,所述方法包括:接收客户端的数据块创建请求,其中,所述数据块创建请求携带单级目录的信息;根据所述单级目录的配额和已占用的配额,判断是否满足数据块创建条件;在满足所述数据块创建条件时,创建数据块将数据块信息发送给所述客户端,所述数据块信息包括所述单级目录的信息,用于所述客户端根据所述数据块信息将所述单级目录下的文件写入相应的数据块中。

【技术特征摘要】
1.一种存储空间分配方法,其特征在于,所述方法应用于分布式文件系统中部署有命名节点的服务器中,所述分布式文件系统还包括客户端以及多个数据节点,所述方法包括:接收客户端的数据块创建请求,其中,所述数据块创建请求携带单级目录的信息;根据所述单级目录的配额和已占用的配额,判断是否满足数据块创建条件;在满足所述数据块创建条件时,创建数据块将数据块信息发送给所述客户端,所述数据块信息包括所述单级目录的信息,用于所述客户端根据所述数据块信息将所述单级目录下的文件写入相应的数据块中。2.根据权利要求1所述的方法,其特征在于,所述配额包括:数据块空间配额以及文件数量配额,其中,根据所述单级目录的配额和已占用的配额,判断是否满足数据块创建条件,包括:根据所述单级目录的数据块空间配额和所述单级目录的已占用的数据块空间配额,确定所述单级目录的剩余数据块空间配额;在所述单级目录的剩余数据块空间配额大于或等于待创建数据块所占用的数据块空间,且所述单级目录的文件数量配额大于所述单级目录的已占用的文件数量配额时,判断满足数据块创建条件。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述命名节点初始化时,扫描数据块状态表,获取多个数据块信息;基于所述多个数据块信息,确定所述单级目录下的多个数据块信息;基于所述单级目录下的多个数据块信息,确定所述单级目录的已占用的配额,其中,所述数据块信息包括所述数据块的已占用的配额的信息。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:接收客户端发送的密封数据块请求,其中,所述密封数据块请求携带所述数据块的标识以及所述数据块已占用的配额的信息,用于所述命名节点根据所述密封数据块请求更新与所述标识相对应的数据块的数据块信息以及所述数据块所属的单级目录的已占用的配额;响应于所述密封数据块请求,更新与所述密封数据块请求相对应的数据块的数据块信息,其中,所述数据块信息包括所述数据块的状态信息以及所述数据块的已占用的配额的信息;基于所述数据块信息,更新所述单级目录的已占用的配额。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收客户端的数据块信息获取请求,其中,所述数据块信息获取请求携带数据块的标识,用于所述命名节点根据所述数据块信息获取请求确定与所述标识相对应的数据块的数据块信息,其中,所述数据块信息包括所述单级目录的信息;响应于客户端的数据块信息获取请求,确定与所述标识相对应的数据块的数据块信息;将所述数据块信息发送给所述客户端,所述数据块信息用于所述客户端根据所述数据块信息从对应的所述单级目录的数据块中读取所述单级目录下的文件。6.一种文件存储方法,其特征在于,所述方法应用于分布式文件系统中部署有客户端的服务器中,所述分布式文件系统还包括命名节点以及多个数据节点,所述方法包括:向所述命名节点发送数据块创建请求,其中,所述数据块创建请求携带单级目录的信息;接收所述命名节点发送的数据块的数据块信息,所述数据块信息包括所述单级目录的信息;将所述数据块确定为所述单级目录的可用的数据块;根据所述数据块信息将所述单级目录下的文件写入相应的数据块中。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:在所述可用的数据块被写满时,向所述命名节点发送密封数据块请求,其中,所述密封数据块请求携带所述数据块的标识以及所述数据块已占用的配额的信息,用于所述命名节点根据所述密封数据块请求更新与所述标识相对应的数据块的数据块信息以及所述数据块所属的单级目录的已占用的配额;向所述命名节点发送数据块创建请求,包括:在所述单级目录下没有可用的数据块时,向所述命名节点发送数据块创建请求,其中,所述数据块创建请求携带单级目录的信息。8.根据权利要求6所述的方法,其特征在于,所述方法还包括:在将文件写入所述可用的数据块时,检测所述可用的数据块所属的单级目录的信息与用于写入文件的接口所携带的单级目录的信息是否相同;在所述数据块所属的单级目录的信息与用于写入文件的接口所携带的单级目录的信息相同时,将所述文件写入所述可用的数据块中。9.根据权利要求8所述的方法,其特征在于,所述方法还包括:在完成将所述文件写入所述可用的数据块中时,基于所述可用的数据块的标识、偏移地址以及所述可用的数据块所属的单级目录的信息,确定所述文件的存储路径。10.根据权利要求6所述的方法,其特征在于,所述方法还包括:基于待读取的文件的存储路径,确定所述文件所属数据块的标识、偏移地址以及所述文件的单级目录的信息;向命名节点发送数据块信息获取请求,其中,所述数据块信息获取请求携带所述标识,用于所述命名节点根据所述数据块信息获取请求确定与所述标识相对应的数据块的数据块信息;获取所述命名节点发送的数据块信息,其中,所述数据块信息包括所述单级目录的信息;基于所述数据块信息,确定所述数据块所属的单级目录的信息;在所述数据块所属的单级目录的信息与所述文件的单级目录的信息相同时,从相应数据块中读取所述文件。11.根据权利要求10所述的方法,其特征在于,所述方法还包括:在所述数据块所属的单级目录的信息与所述文件的单级目录的信息不相同时,返回读文件错误信息。12.一种存储空间分配装置,其特征在于,所述装置应用于分布式文件系统中部署有命名节点的服务器中,所述分布式文件系统还包括客户端以及多个数据节点,所述装置包括:第一请求接收模块,用于接收客户端的数据块创建请求,其中,所述数据块创建请求携带单级目录的信息;判断模块,用于根据所述单级目录的配额和已占用的配额,判断是否满足数据块创建条件;第一信息发送模块,用于在满足所述数据块创建条件时,创建数据块将数据块信息发送给所述客户端,所述数据块信息包括所述单级目录的信息,用于所述客户端根据所述数据块信息将所述单级目录下的文件写入相应的数据块中。13.根据权利要求12所述...

【专利技术属性】
技术研发人员:郭军
申请(专利权)人:北京小米移动软件有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1