数据存储方法及装置制造方法及图纸

技术编号:8625857 阅读:148 留言:0更新日期:2013-04-25 22:51
本发明专利技术提供了一种数据存储方法及装置,涉及数据存储技术领域。该方法包括:接收对目标文件的写请求,所述目标文件包含在具有额定配额的目录中,所述写请求包括待写入所述目标文件的数据;判断所述待写入所述目标文件的数据的大小是否满足配额对象集中剩余空间的大小;当所述待写入所述目标文件的数据的大小不超过配额对象集中剩余空间的大小时,将所述待写入所述目标文件的数据写入所述目标文件的对象中,所述配额对象集用于管理目录的额定配额。本发明专利技术实施例提供的方法及装置适用于为存储空间非常大、运行业务类型较多且需要更灵活的配额控制管理方式的存储系统。

【技术实现步骤摘要】

本专利技术涉及数据存储
,尤其涉及一种数据存储方法及装置
技术介绍
随着高性能计算由传统的主机方式向网络化集群演变,传统的基于主机的存储架构已逐渐向网络化存储发展,计算和存储分离的趋势越来越明显。对象存储文件系统能够有效结合存储区域网络(SAN)和网络附加存储(NAS)系统的优点,支持直接访问磁盘以提高性能,且通过共享的文件和元数据来简化管理,其在可扩展性、性能、易用性等方面都有显著提高,随着网络化存储技术的不断成熟,对象存储文件系统已成为重要的发展方向。对象是对象存储文件系统中数据存储的基本单位,一个对象实际上就是文件数据和一组属性的组合,这些属性可以定义基于文件的独立冗余磁盘阵列(Redundant Arrayof Inexpensive Disks, RAID)参数、数据分布和服务质量等,对象通过与存储系统通信维护自己的属性。在存储设备中,所有对象都有一个对象标识,通过对象标识命令访问该对象。配额是操作系统的一个可选的功能,它允许管理员限制分派给用户或目录所使用的磁盘空间大小,以防止某个用户或目录占用过多可用的磁盘空间。当用户在磁盘分区上拷贝或存储一个新文件时,他就拥有对这个文件的所有权,这时磁盘配额程序就将此文件的大小计入该用户的磁盘配额空间内。传统的磁盘配额机制一般从“占用磁盘大小”和“所有文件的数量”两个方面来对用户进行限制。通过设置用户在分区中最多使用的块数量就能达到控制磁盘占用的目的,无法对目录进行相关的配额控制。而近些年来文件系统管理的存储空间不断增长。特别是在分布式存储系统中,往往是一套存储系统可以管理数十拍字节(Petabyte,PB)的存储空间,上面可以运行多种业务。因此对配额的控制需要也更加丰富,单一的用户级别的配额管理灵活性较低,已经无法满足现代文件系统的配额管理需求。
技术实现思路
有鉴于此,本专利技术提供了一种数据存储方法及装置,适用于为存储空间非常大、运行业务类型较多且需要更灵活的配额控制管理方式的存储系统。为了解决上述问题,第一方面,本专利技术实施例提供了一种数据存储方法,包括接收对目标文件的写请求,所述目标文件包含在具有额定配额的目录中,所述写请求包括待写入所述目标文件的数据;判断所述待写入所述目标文件的数据的大小是否满足配额对象集记录的剩余空间的大小,所述配额对象集用于管理目录的额定配额;当所述待写入所述目标文件的数据的大小不超过配额对象集记录的剩余空间的大小时,将所述待写入所述目标文件的数据写入所述目标文件的对象中。结合第一方面,在第一种实现方式中,所述目标文件由设定数量的对象组成;将所述待写入所述目标文件的数据写入所述目标文件的对象中包括根据所述待写入所述目标文件的数据的大小将所述待写入所述目标文件的数据写入所述目标文件的对应大小的对象中。结合第一方面,在第二种实现方式中,所述目标文件由设定长度的对象组成;将所述待写入所述目标文件的数据写入所述目标文件的对象中包括创建所述待写入所述目标文件的数据对应的对象,并向所创建的对象中写入所述待写入所述目标文件的数据;判断已写入所述目标文件的数据的长度是否达到所述对象的设定长度;当已写入所述目标文件的数据的长度达到所述对象的设定长度时,继续创建所述待写入所述目标文件的数据对应的对象直到将所述待写入所述目标文件的数据全部写入所述目标文件。结合第一方面或第一方面的上述实现方式中的任一种,在第三种实现方式中,在接收对目标文件的写请求之前,还包括接收对目标目录进行配额控制的请求; 根据所述对目标目录进行配额控制的请求,为所述目标目录设置额定配额并创建配额对象集,所述配额对象集中记录了所述目标目录下所有文件和子目录已使用的对象占用空间的统计信息、对象与文件和子目录的所属关系、以及所述目标目录及其所有子目录的所属关系;检查所述目标目录是否为空,并在不为空时遍历所述目标目录,将所述目标目录下所有文件和子目录的相关信息记录在所述配额对象集中。结合第一方面的第三种实现方式,在第四种实现方式中,还包括接收移出目标目录的请求,所述目标目录包含在具有额定配额的目录中;在对应的配额对象集中查找所述目标目录所有相关的对象,删除所有相关对象所对应的数据,并删除所有相关的对象在所述配额对象集中的记录,回收所述目标目录的占用空间。结合第一方面的第三或第四种实现方式,在第五种实现方式中,所述配额对象集包括对象分配表以及目录组织关系表,所述对象分配表用于记录所述目标目录下所有文件和子目录已使用的对象占用空间的统计信息、对象与文件和子目录的所属关系;所述目录组织关系表用于记录所述目标目录及其所有子目录的所属关系。结合第一方面或第一方面的上述实现方式中的任一种,在第六种实现方式中,所述配额对象集包括至少两个配额对象子集,所述配额对象子集用于管理目录的额定配额中的部分配额。第二方面,本专利技术实施例提供了一种数据存储装置,包括接收单元,用于接收对目标文件的写请求,所述目标文件包含在具有额定配额的目录中,所述写请求包括待写入所述目标文件的数据;判断单元,用于判断所述待写入所述目标文件的数据的大小是否满足配额对象集记录的剩余空间的大小,所述配额对象集用于管理目录的额定配额;存储单元,用于在所述待写入所述目标文件的数据的大小不超过配额对象集记录的剩余空间的大小时,将所述待写入所述目标文件的数据写入所述目标文件的对象中。结合第二方面,在第一种实现方式中,所述存储单元根据所述待写入所述目标文件的数据的大小将所述待写入所述目标文件的数据写入所述目标文件的对应大小的对象中。结合第二方面,在第二种实现方式中,所述存储单元还用于创建所述待写入所述目标文件的数据对应的对象,并向所创建的对象中写入所述待写入所述目标文件的数据;所述判断单元还用于判断待写入所述目标文件的数据的长度是否达到所述对象的设定长度;所述存储单元在待写入所述目标文件的数据的长度达到所述对象的设定长度时,继续创建所述待写入所述目标文件的数据对应的对象直到将所述待写入所述目标文件的数据全部写入所述目标文件。结合第二方面或第二方面的上述实现方式中的任一种,在第三种实现方式中,所述接收单元还用于接收对目标目录进行配额控制的请求;所述系统还包括配额控制单元,用于根据所述对目标目录进行配额控制的请求,为所述目标目录设置额定配额并创建配额对象集;并在所述目标目录不为空时遍历所述目标目录,将所述目标目录下所有文件和子目录的相关信息记录在所述配额对象集中。结合第二方面的第三种实现方式,在第四种实现方式中,所述接收单元还用于在接收对目标文件的写请求之后还包括接收移出目标文件的请求;所述配额控制单元还用于在所述配额对象集中查找所述目标文件所有相关的对象,删除所有相关对象所对应的数据,并删除所有相关的对象在所述配额对象集中的记录,回收所述目标文件的占用空间。本专利技术实施例的方法及装置在使用配额对象集来实现基于对象的文件系统对目录配额的管理的前提下进行数据的存储,更适用于存储空间非常大、运行业务类型较多且需要更灵活的配额控制管理方式的存储系统。根据下面参考附图对示例性实施例的详细说明,本专利技术的其它特征及方面将变得清楚。附图说明包含在说明书中并且构成说明书的一部分的说明书附图与说明书一起示出了本专利技术的示例性实施例、特征和方面,并且用于解释本文档来自技高网
...

【技术保护点】
一种数据存储方法,其特征在于,包括:接收对目标文件的写请求,所述目标文件包含在具有额定配额的目录中,所述写请求包括待写入所述目标文件的数据;判断所述待写入所述目标文件的数据的大小是否满足配额对象集记录的剩余空间的大小,所述配额对象集用于管理目录的额定配额;当所述待写入所述目标文件的数据的大小不超过配额对象集记录的剩余空间的大小时,将所述待写入所述目标文件的数据写入所述目标文件的对象中。

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括 接收对目标文件的写请求,所述目标文件包含在具有额定配额的目录中,所述写请求包括待写入所述目标文件的数据; 判断所述待写入所述目标文件的数据的大小是否满足配额对象集记录的剩余空间的大小,所述配额对象集用于管理目录的额定配额; 当所述待写入所述目标文件的数据的大小不超过配额对象集记录的剩余空间的大小时,将所述待写入所述目标文件的数据写入所述目标文件的对象中。2.根据权利要求1所述的方法,其特征在于,所述目标文件由设定数量的对象组成; 将所述待写入所述目标文件的数据写入所述目标文件的对象中包括 根据所述待写入所述目标文件的数据的大小将所述待写入所述目标文件的数据写入所述目标文件的对应大小的对象中。3.根据权利要求1所述的方法,其特征在于,所述目标文件由设定长度的对象组成; 将所述待写入所述目标文件的数据写入所述目标文件的对象中包括 创建所述待写入所述目标文件的数据对应的对象,并向所创建的对象中写入所述待写入所述目标文件的数据; 判断已写入所述目标文件的数据的长度是否达到所述对象的设定长度; 当已写入所述目标文件的数据的长度达到所述对象的设定长度时,继续创建所述待写入所述目标文件的数据对应的对象直到将所述待写入所述目标文件的数据全部写入所述目标文件。4.根据权利要求1至3中任一项所述的方法,其特征在于,在接收对目标文件的写请求之前,还包括 接收对目标目录进行配额控制的请求; 根据所述对目标目录进行配额控制的请求,为所述目标目录设置额定配额并创建配额对象集,所述配额对象集中记录了所述目标目录下所有文件和子目录已使用的对象占用空间的统计信息、对象与文件和子目录的所属关系、以及所述目标目录及其所有子目录的所属关系; 检查所述目标目录是否为空,并在不为空时遍历所述目标目录,将所述目标目录下所有文件和子目录的相关信息记录在所述配额对象集中。5.根据权利要求4中所述的方法,其特征在于,还包括 接收移出目标目录的请求,所述目标目录包含在具有额定配额的目录中; 在对应的配额对象集中查找所述目标目录所有相关的对象,删除所有相关对象所对应的数据,并删除所有相关的对象在所述配额对象集中的记录,回收所述目标目录的占用空间。6.根据权利要求4或5所述的方法,其特征在于,所述配额对象集包括对象分配表以及目录组织关系表,所述...

【专利技术属性】
技术研发人员:胡波
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1