[发明专利]基于键值key-value存储的分布式文件系统元数据管理方法有效
申请号: | 201110039269.7 | 申请日: | 2011-02-16 |
公开(公告)号: | CN102110146A | 公开(公告)日: | 2011-06-29 |
发明(设计)人: | 杨广文;刘松彬;黄小猛 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 王莹 |
地址: | 100084 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 键值 key value 存储 分布式 文件系统 数据管理 方法 | ||
技术领域
本发明涉及文件系统领域,特别涉及一种基于键值key-value存储的分布式文件系统元数据存储管理方法。
背景技术
文件系统的元数据包括目录和文件的元数据,以及目录结构等。文件的元数据包括:文件名,权限,时间,文件大小,以及数据块的分布等。目录的元数据包括:目录名、权限、时间等主要属性,以及它所包含的子文件和子目录等目录结构相关内容。文件系统元数据管理的一个难点是既要提供高效的元数据访问,又要为元数据的修改提供灵活的接口。
分布式文件系统因其海量存储的优势,在互联网领域正逐渐取代传统的本地文件系统。Ceph是典型的分布式文件系统,其采用基于对象的分布式存储集群(RADOS,Reliable Autonomic Distributed Object Storage)来存储文件系统的元数据;RADOS可以为Ceph提供可扩展、可靠的对象存储,但是Ceph把目录也作为一个单独的对象,目录的子对象的关联信息都存储在目录对象中;当很多进程并发地在Ceph的某个目录中创建大量子对象时,为了保证元数据的一致性,这些操作只能串行进行,造成系统性能瓶颈。
key-value存储可以为分布式文件系统元数据存储管理带来更好的扩展性,如果要处理的数据持续增加,多加机器就可以了,不存在系统瓶颈问题。但是基于key-value存储的分布式文件系统元数据存储管理会带来一些新的挑战:分布式文件系统元数据的操作一般涉及多个步骤,涉及多个key-value操作,而key-value存储不支持多个key-value的事务操作。因此如何保证在某个步骤中断后,能够通过一定的措施实现垃圾清理,保证元数据的一致性,是一个需要解决的技术问题。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提供一种基于键值key-value存储的分布式文件系统元数据管理方法,并且保证在对元数据的操作过程中,保持元数据的一致性。
(二)技术方案
为解决上述技术问题,本发明提供一种基于键值key-value存储的分布式文件系统元数据管理方法,该方法包括以下步骤:
S1:服务器存储文件和目录的元数据,并以位图的方式存储目录的子对象;所述子对象包括子文件和子目录;
S2:对子对象的元数据进行修改操作;在进行所述修改操作之前,以所述子对象的父目录的目录内容标识dirhdl-ID和所述子对象的位图索引构造键key,以当前时间为值value,记录到操作日志中;
S3:后台进程定期扫描所述操作日志,对超时操作进行垃圾回收。
优选地,所述服务器中存储三个key-value表:日志表log.tbl、元表meta.tbl和目表entry.tbl;
所述文件和目录的元数据的基本属性记录,以及所述目录的元数据的目录内容记录存储在所述元表meta.tbl中;
所述目录与其子对象的关联关系存储在所述目表entry.tbl中。
优选地,所述文件的元数据的基本属性记录,以文件标识doc-ID为键key,以文件的基本属性信息为值value;
所述目录的元数据的基本属性记录,以目录标识dir-ID为键key,以目录的基本属性信息为值value;
所述目录的元数据的目录内容记录,以目录内容标识dirhdl-ID为键key,以目录所包含的子对象的位图结构为值value。
优选地,所述目录与其子对象的关联关系包括:
所述目录标识dir-ID与第一分割字符构成键key,所述目录内容标识dirhdl-ID为值value,两者构成第一关联;
所述目录内容标识dirhdl-ID通过第二分割字符连接所述子对象的位图索引构成键key,子对象标识和子对象名构成值value,两者构成第二关联;
所述目录内容标识dirhdl-ID通过第三分割字符连接所述子对象名构成键key,子对象位图索引为值value,两者构成第三关联。
优选地,所述步骤S2中,所述对子对象的元数据进行修改包括:创建所述子对象的元数据和删除所述子对象的元数据。
优选地,创建所述子对象的元数据具体包括以下步骤:
S2.1.1:创建所述子对象的基本属性记录;如果所述子对象为目录,创建其目录内容记录和第一关联;
S2.1.2:写操作日志;
S2.1.3:创建所述第三关联、第二关联,修改所述子对象的父目录的目录内容记录;
S2.1.4:删除操作日志。
优选地,删除所述子对象的元数据具体包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110039269.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种冰川水取水装置
- 下一篇:可定量观测的节能式集雨装置