[发明专利]一种数据对象存储方法和装置有效
申请号: | 201710625288.5 | 申请日: | 2017-07-27 |
公开(公告)号: | CN107391039B | 公开(公告)日: | 2020-05-15 |
发明(设计)人: | 魏传程;郭春庭;刘翔宇 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F9/50 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 李红爽;李丹 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 对象 存储 方法 装置 | ||
本发明公开了一种数据对象存储方法及装置,其中,该方法包括:重复判断在所有的对象存储设备中,是否有对象存储设备的存储空间占用率与所有的对象存储设备各自的存储空间占用率的平均值之比大于预设值,根据在可扩展散列下的受控复制算法重新确定所对应的一个归置组所对应的对象存储设备,直到没有对象存储设备的存储空间占用率与第二数量的对象存储设备各自的存储空间占用率的平均值之比大于预设值为止;将一个数据对象及其副本分别存储到除了被判断为其存储空间占用率与所有的对象存储设备各自的存储空间占用率的平均值之比大于预设值的对象存储设备之外的对象存储设备中,使得所存储到的对象存储设备之间保持了存储空间占用率接近。
技术领域
本发明涉及数据存储技术,尤指一种数据对象存储方法和装置。
背景技术
Ceph系统是一种开源的分布式存储系统,用于采用成百上千台存储设备存储PB(petabyte的缩写,即2的50次方的字节)级别的数据。Ceph系统必须使在这些存储设备上分布的数据和负载平衡,以提高资源利用率,使系统的性能最有效地发挥,并且Ceph系统需要处理系统的存储硬件扩展和存储硬件失效。为了保证Ceph系统中的各个存储设备负载均衡,因此,需要使得在各个存储设备中均将新数据和旧数据混合在一起进行存储。但是简单的散列(Hash)分布不能有效处理在Ceph系统中的存储设备的数量的变化,导致存储设备中的大量数据迁移。针对以上的现象,设计出了在Ceph系统中使用的CRUSH(ControlledReplication Under Scalable Hashing,在可扩展散列下的受控复制)算法,CRUSH算法是一种可扩展的伪随机数据分布算法,可以在没有中心设备控制的情况下,有效地将数据对象映射到存储设备上。因为Ceph系统的结构是动态变化的,所以CRUSH需要能够处理在Ceph系统中添加或移除存储设备,并且使得由于添加或移除存储设备而导致的数据迁移最小化。CRUSH算法能够在具有层级结构的存储设备集群中有效的分布需要存储的对象(Object)的副本。CRUSH算法实现了一种伪随机(确定性)的函数,这个函数的输入量参数是某个数据对象的标识(Object ID)或数据对象集群的标识(Object Group ID),这个函数的输出量对应于Ceph系统存储设备集群中的一组对象存储设备(Object Storage Device,简称为OSD,可以是磁盘(disk)中的一个分区,或者是一整块磁盘),以用于保存object的副本。为了实现以上的对象与对象存储设备对应的过程,CRUSH需要用于描述存储设备集群的层级结构的集群图(cluster map,用于表示对象存储设备集群中的数据分布),以及对象副本的分布策略(被称为rule)。
但是,并不能直接将对象存储进对象存储设备中,因为对象的大小非常小,在一个大规模的存储设备集群中可能有几百到几千万个对象。在存储设备集群中对大量的对象进行遍历寻址,速度将会非常缓慢;如果直接通过某种固定映射的Hash算法将对象映射到对象存储设备上,那么对象与对象存储设备的映射关系是固定的,当这个对象存储设备损坏时,对象无法自动迁移至其他对象存储设备。为了解决这些问题,Ceph系统引入了归置组(Placement Group,简称为PG)的概念。归置组是抽象的存储节点,在数据寻址时,每个对象都会固定映射到一个归置组中,所以当需要寻找一个对象时,只需要先找到对象所属的归置组,然后遍历这个归置组,而无需遍历所有对象。而且在数据迁移时,也是以归置组作为基本单位进行迁移,Ceph系统不会直接操作对象。
在将数据Ceph系统的过程中,首先将文件切分成多个对象,通过计算每个对象的散列值(Hash值)并且取模,使得对象映射到归置组,再由归置组映射到一组对象存储设备(OSD Set),其中,对象存储设备的数量是由设置在对象和归置组之间的命名空间(Pool)的数量决定的。每个命名空间对应于有多个不同归置组,其中的一个归置组映射到一组对象存储设备(OSD set),因此,对象存储设备的数量是由pool与副本之和的数量决定的,其中一个对象存储设备存储有一个对象(称为Primary),其他对象存储设备存储该对象的副本(称为Replicas)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710625288.5/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置