[发明专利]一种分布式对象存储中的元数据管理方法有效
| 申请号: | 202010094569.4 | 申请日: | 2020-02-16 |
| 公开(公告)号: | CN111258508B | 公开(公告)日: | 2020-11-10 |
| 发明(设计)人: | 周耀辉 | 申请(专利权)人: | 西安奥卡云数据科技有限公司 |
| 主分类号: | G06F3/06 | 分类号: | G06F3/06 |
| 代理公司: | 西安维赛恩专利代理事务所(普通合伙) 61257 | 代理人: | 刘春 |
| 地址: | 712000 陕西省西*** | 国省代码: | 陕西;61 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 分布式 对象 存储 中的 数据管理 方法 | ||
1.一种分布式对象存储中的元数据管理方法,其特征在于,包括:
S1、将逻辑卷划均匀分成多个逻辑单元,每个所述逻辑单元即为一个对象,每个所述对象对应一个对象元数据,所述对象元数据用于唯一确定其对应的所述对象的内容和位置;各个所述对象元数据构成元数据对象;
S2、通过计算各个所述对象和所述元数据对象内容的哈希值,在一致性哈希表中查到其副本数据在集群中的目标节点,将所述对象和所述元数据对象通过网络存储在目标节点上;
S3、通过所述逻辑卷的GUID的哈希值,在所述集群的各个节点上获取到所述逻辑卷所有对象的元数据信息,完成所述逻辑卷默克尔树的重建;
其中,所述对象元数据为二元组结构,包含对象的哈希值和对象的逻辑块号,所述逻辑卷对其对象按照默克尔树来管理,所述默克尔树包括叶子节点和中间节点,所述叶子节点用于存储对象的哈希值,所述叶子节点号即为所述对象的逻辑块号;所述中间节点用于存储的是以叶子节点哈希值为内容计算出来的哈希值;
所述元数据对象包括元数据对象头信息和元数据数组;所述元数据对象头信息包括逻辑卷的GUID、哈希值、元数据的数量、前面元数据对象的数量、前一个元数据对象的哈希值和元数据对象的操作序列号;所述元数据数组即为元数据的集合。
2.如权利要求1所述的一种分布式对象存储中的元数据管理方法,其特征在于,所述元数据对象的大小和对象大小一致,其包含元数据的个数为元数据对象大小减去元数据对象头信息除以单个元数据的大小。
3.如权利要求2所述的一种分布式对象存储中的元数据管理方法,其特征在于,所述步骤S2即为逻辑卷的写操作,具体包括以下步骤:
S2.1、根据逻辑卷的地址除以对象大小,算出逻辑块号;
S2.2、按照对象的数据内容算出哈希值;
S2.3、以逻辑块号和哈希值得到对象元数据,并更新到默克尔树的叶子节点;
S2.4、数据对象根据其哈希值在一致性哈希表中算出应该发往分布式集群中的目标节点;
S2.5、通过网络将数据对象存储到目标节点;
S2.6、对于元数据,会判断元数据的集合是否可以生成一个元数据对象;
S2.7、生成元数据对象头信息;
S2.8、以元数据对象头信息和元数据数组生成元数据对象;
S2.9、按照元数据对象的内容算出哈希值;
S2.10、元数据对象根据其哈希值在一致性哈希表中算出应该发往分布式集群中的目标节点;
S2.11、通过网络将元数据对象存储在目标节点。
4.如权利要求1所述的一种分布式对象存储中的元数据管理方法,其特征在于,所述步骤S3即为逻辑卷的重建操作,具体包括以下步骤:
S3.1、通过逻辑卷的GUID的哈希值在DHT一致性哈希表中找到分布式集群中的所有目标节点;
S3.2、通过网络分别读出哈希值对应的元数据对象,找到元数据对象操作序列号最大的那个元数据对象;
S3.3、解析元数据对象头信息,得到逻辑卷的元数据对象的数量以及前一个元数据对象的哈希值;
S3.4、通过前一个元数据对象的哈希值再读出去新的元数据对象,解析出新的元数据对象头信息,依次递归读出逻辑卷所有的元数据对象;
S3.5、根据所有的元数据就可以重建逻辑卷的默克尔树。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安奥卡云数据科技有限公司,未经西安奥卡云数据科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010094569.4/1.html,转载请声明来源钻瓜专利网。





