一种针对由异构存储设备组成的对象存储系统的对象分布算法.pdf

上传人:a2 文档编号:1292149 上传时间:2018-04-13 格式:PDF 页数:8 大小:437.88KB
返回 下载 相关 举报
摘要
申请专利号:

CN201610933662.3

申请日:

2016.10.25

公开号:

CN106527982A

公开日:

2017.03.22

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 3/06申请日:20161025|||公开

IPC分类号:

G06F3/06

主分类号:

G06F3/06

申请人:

西安交通大学

发明人:

聂世强; 伍卫国; 崔金华; 刘松; 胡壮; 薛尚山; 邹年俊

地址:

710049 陕西省西安市碑林区咸宁西路28号

优先权:

专利代理机构:

西安通大专利代理有限责任公司 61200

代理人:

陆万寿

PDF下载: PDF下载
内容摘要

本发明提供一种针对由异构存储设备组成的对象存储系统的对象分布算法:1)将异构存储系统中的各个对象存储设备按照容量和性能分别进行量化后映射至两个环形有限值域上,得到容量型环形空间和性能型环形空间;2)根据待读取对象确定所述存储系统提供的服务类型,根据待读取对象映射至容量型环形空间或性能型环形空间上时按固定方向确定的距离最近的对象存储设备映射位置,查找用于存储该对象的对象存储设备。本发明考虑了异构存储设备的容量和性能的关系,可以使存储系统对外提供容量型和性能型两种存储服务,充分利用存储系统的容量和发挥存储系统的性能,特别适用于异构存储系统。

权利要求书

1.一种针对由异构存储设备组成的对象存储系统的对象分布算法,其特征在于:该对
象分布算法包括以下步骤:
1)将存储系统中的各个对象存储设备根据容量和性能分别进行量化后映射至两个环
形有限值域上,得到容量型环形空间和性能型环形空间;
2)确定所述存储系统提供的服务类型,若为容量型服务,则根据待读取对象映射至容
量型环形空间上时按固定方向确定的距离最近的对象存储设备映射位置,查找用于存储该
对象的对象存储设备,若为性能型服务,则根据待读取对象映射至性能型环形空间上时按
固定方向确定的距离最近的对象存储设备映射位置,查找用于存储该对象的对象存储设
备。
2.根据权利要求1所述一种针对由异构存储设备组成的对象存储系统的对象分布算
法,其特征在于:所述量化是指将对象存储设备转化为数量与该对象存储设备容量或性能
成正比关系的虚拟节点,同一个对象存储设备在容量型环形空间的虚拟节点数目和在性能
型环形空间的虚拟节点数目不具相关性,该对象存储设备根据容量量化的虚拟节点映射到
容量型环形空间,同时,该对象存储设备根据性能量化的虚拟节点映射到性能型环形空间。
3.根据权利要求2所述一种针对由异构存储设备组成的对象存储系统的对象分布算
法,其特征在于:所述容量型环形空间中第i个对象存储设备的虚拟节点数目表示为:
<mrow> <mfrac> <msub> <mi>c</mi> <mi>i</mi> </msub> <mrow> <mi>min</mi> <mrow> <mo>(</mo> <msub> <mi>c</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>&CenterDot;</mo> <msub> <mi>log</mi> <mn>2</mn> </msub> <mi>m</mi> </mrow>
其中,m是对象存储设备数量之和,ci是第i个对象存储设备的容量,min(ci)表示所述存
储系统中容量最低的对象存储设备的容量;
所述性能型环形空间中第i个对象存储设备的虚拟节点数目表示为:
<mrow> <mfrac> <msub> <mi>p</mi> <mi>i</mi> </msub> <mrow> <mi>min</mi> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>&CenterDot;</mo> <msub> <mi>log</mi> <mn>2</mn> </msub> <mi>m</mi> </mrow>
其中,pi表示第i个对象存储设备的性能,min(pi)表示所述存储系统中性能最低的对象
存储设备的性能。
4.根据权利要求2所述一种针对由异构存储设备组成的对象存储系统的对象分布算
法,其特征在于:每个虚拟节点具有唯一标识符。
5.根据权利要求1所述一种针对由异构存储设备组成的对象存储系统的对象分布算
法,其特征在于:所述环形有限值域是指通过首尾相连从逻辑上组成环形结构的[0,2^32]
的空间。
6.根据权利要求1所述一种针对由异构存储设备组成的对象存储系统的对象分布算
法,其特征在于:所述映射采用哈希取模运算。
7.根据权利要求1所述一种针对由异构存储设备组成的对象存储系统的对象分布算
法,其特征在于:所述对象分布算法还包括以下步骤:所述存储系统增加或删除对象存储设
备后,需要在容量型环形空间或性能型环形空间重新查找对象存储设备,若针对某个对象
查找到的对象存储设备与增加或删除对象存储设备前相比有变化,则将该对象进行迁移。

说明书

一种针对由异构存储设备组成的对象存储系统的对象分布 算法

技术领域

本发明涉及计算机分布式存储系统领域,尤其涉及针对异构存储设备组成的对象
存储系统中的对象分布算法。

背景技术

随着移动互联网的不断发展,数据呈现一种爆炸式的增长,传统文件系统已经无
法满足现有应用的大容量、高性能和高可靠性等要求,对象存储系统具有块存储、文件存储
不可比拟的可靠性、可扩放性、可管理性和共享性等特点,采用对象存储系统存储海量数据
已经成为一种主流的解决方案。对象存储系统由对象存储设备(Object-Based Storage
device,OSD)和元数据服务器(Metadata Server,MDS)组成,对象是读写的基本单位。OSD管
理对象存放在硬盘的块位置,对外提供对象读写接口。

对象存储系统当中首先需要解决对象的管理问题,常用的方法是采用对象分布算
法管理对象和其存放的存储节点映射关系。数据分布算法必须具有如下特点:第一,对象首
先需要随机存放到成千上百个OSD节点,同时根据OSD节点自身的能力(存储容量,存储性
能,带宽等)设置其权值,每个OSD节点存储的对象数目和其权值成正比,保证节点的负载均
衡;第二,在存储系统的运行当中,需要增加新的存储设备满足存储需求,达到寿命的硬盘
需要替换,系统必须能够自动迁移对象保证负载均衡,同时为了不影响系统性能,必须迁移
尽可能少的对象;第三,为了保证对象可靠性,对象分布算法需要支持对象冗余机制,比如
副本和纠删码等。

当前的对象分布算法仅仅单独考虑存储设备的容量或性能,而诸如SSD、PCM、RRAM
等新型存储介质拥有比HDD更优的性能,由于工艺及其介质自身特性,它们的容量比HDD低。
异构存储设备组成的对象存储系统如果采用当前的对象分布算法将无法充分利用存储设
备的容量或者性能,因为当前的对象分布算法若采用设备容量作为权值则无法充分利用存
储设备的性能,若采用设备性能作为权值则无法充分利用存储设备的容量。因此当前的对
象分布算法并不适用于异构存储系统。

发明内容

为了解决异构存储系统的对象分布及其管理问题,本发明的目的在于提供一种针
对由异构存储设备组成的对象存储系统的对象分布算法,能够充分利用存储系统中存储设
备的性能和容量。

为了实现上述目的,本发明采用了以下技术方案:

上述针对异构存储设备的对象分布算法,包括初始化过程、对象查找过程和节点
变化过程三个部分。

设存储系统的OSD和对象具有不同的标识符,初始化时,存储系统需要构造ring
map(环形拓扑),ring map由容量型环形空间、性能型环形空间和OSD IP等描述OSD元数据
的信息组成(不同的OSD具有不同的元数据信息)。因为容量型环形空间的构造过程和性能
型环形空间构造过程相似,以下仅仅描述容量型环形空间的构造过程。首先根据OSD的容量
大小决定其具有的虚拟节点数目,并且每个虚拟节点都具有唯一标识符,此处OSD容量和其
具有的虚拟节点数目成正比。对各个OSD的虚拟节点通过哈希取模运算映射到同一个[0,2^
32]的空间上,并且该[0,2^32]的空间首尾相连从逻辑上组成环形结构,称为容量型环形空
间。性能型环形空间是独立于容量型环形空间的另一个环形结构,构造过程和容量型环形
空间构造过程相似,唯一不同的是映射到性能型环形空间上的某个OSD的虚拟节点的数目
和该OSD的性能成正比。

上述哈希取模运算使OSD的虚拟节点都被随机分布到环形结构内,且分布到任意
位置的概率相等,由于具有唯一标识符,各个虚拟节点的位置不重叠。

客户端读取或写入对象时,首先读取本地配置文件,判断存储系统对客户端提供
性能型还是容量型服务,比如归档应用只需要存储系统提供容量型服务,大数据处理等需
要存储系统提供性能型服务。判断服务类型后,客户端此时从存储系统获取ring map,客户
端对读写的对象进行哈希取模,若存储系统提供给客户端的是性能型服务,则对象映射到
性能型环形空间;若存储系统提供给客户端的是容量型服务,则映射到容量型环形空间。从
对象所在环形空间的位置为起始点顺时针查找相邻最近的虚拟节点,并确定该虚拟节点所
对应的OSD,则该对象就存放在此OSD中,对象的定位过程(即查找过程)结束。此时,客户端
从确定的OSD读取对象或写入对象至确定的OSD。

容量型环形空间和性能型环形空间在存储系统OSD变化后其变化相似。存储系统
的OSD变化分为增加OSD、删除OSD两种情况。第一种情况,存储系统增加OSD后,根据新加入
OSD的容量和性能分别计算其具有的虚拟节点数目,并将新加入OSD的对应虚拟节点通过哈
希取模分别映射到容量型环形空间和性能型环形空间上,此时所有的客户端对其拥有的对
象重新计算(是根据上述查找方法)存放的OSD位置,若OSD位置未发生变化,则此对象不发
生迁移,若OSD位置发生变化,则此对象发生迁移。通过分析可以得出环形空间上新加入的
虚拟节点会从相邻的虚拟节点迁移部分对象到自身存储(OSD是实体,它们映射在ring map
上的是虚拟节点,OSD对应ring map的多个虚拟节点,对象是存储在OSD的,但是对象查找过
程中算法是先找到存储该对象的OSD的虚拟节点,然后就可以找到该虚拟节点对应的OSD),
其他对象不会发生迁移,因此对象迁移量可以保持在很小的范围内。第二种情况,删除OSD
后,从容量型环形空间和性能型环形空间上删除此OSD的所有虚拟节点,并且每个客户端对
其拥有的对象重新计算存放的OSD位置,若存储位置发生变化,则发生对象迁移。存储系统
内存储的对象迁移完成后,使存储系统保持对象均匀分布。

本发明的有益效果体现在:

本发明考虑了异构存储设备的容量和性能的关系,可以使存储系统对外提供容量
型和性能型两种存储服务,充分利用存储系统的容量和发挥存储系统的性能,特别适用于
异构存储系统。

附图说明

图1a是存储系统OSD映射到环形空间的示意图(容量型环形空间);

图1b是存储系统OSD映射到环形空间的示意图(性能型环形空间);

图2是对象映射到性能型环形空间的示意图;

图中:VN01~08表示8个虚拟节点,id=1~3表示3个具有不同标识符的OSD,
object表示对象。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对
本发明进行进一步地详细说明。应当理解,此处所描述的实施例仅用于解释本发明的基本
构想,并不用于限定本发明。

本发明针对异构存储系统设计了一种高效的、简洁的对象分布算法,其基于一致
性hash算法和对象存储系统中存储设备的容量和性能关系的分析结果而提出,可以使存储
系统对外提供容量型和性能型两种服务,与一致性hash算法相比,本发明的对象分布算法
开销较低,具有较好的可应用性,本发明的对象分布算法具体步骤如下:

如图1a、图1b所示,本发明的对象分布算法首先构造容量型环形空间和性能型环
形空间。首先根据存储系统OSD的容量和性能特性分别计算其具有的虚拟节点数目,容量型
环形空间中每个OSD的虚拟节点数目可以为其中m是OSD数量之和,ci是第i个
OSD的容量,min(ci)表示存储系统中容量最低的OSD的容量。这个公式表示每个OSD的虚拟
节点数目和其容量成正比。同理可得,性能型环形空间中每个OSD的虚拟节点数目可以为
其中pi表示第i个OSD的性能,min(pi)表示存储系统中性能最低的OSD的性
能。

客户端对其对象进行读写操作时,客户端和存储系统的节点(存储系统中所有节
点都存储ring map)通信,获取ring map信息,ring map中包括容量型环形空间、性能型环
形空间和OSD IP信息等,由客户端读取其(客户端自身)配置信息,确定存储系统对此客户
端提供的服务类型,若为容量型服务,则客户端计算对象映射在容量型环形空间的位置,从
对象所在环形空间的位置为起始点顺时针查找相邻最近的虚拟节点,并确定该虚拟节点所
对应的OSD,则该对象就存放在此OSD中,若为性能型服务,则客户端计算对象映射在性能型
环形空间的位置,客户端查找存放对象的OSD的过程和容量型环形空间相似。客户端从ring
map中获取存放对象的OSD IP信息后客户端和相应OSD通信完成对象读写操作。

环形空间的对象查找过程如图2所示,客户端A读取其配置文件信息,获取存储系
统为客户端A提供性能型存储服务,客户端A从存储系统获取ring map,并且计算对象b在性
能型环形空间的映射位置和其对应的OSD,从ring map中查询OSD IP信息,客户端A和存储
系统通信完成对象b的读写。

存储系统OSD变化后,存储系统需要更新ring map。若是增加OSD的情况,存储系统
分别根据新加入的OSD容量和性能计算其在容量型环形空间和性能型环形空间的虚拟节点
数目,对每个虚拟节点哈希取模映射到对应环形空间,同时新加入OSD的信息也存储到ring
map,向所有客户端推送最新的(即更新后的)ring map。若是因为存储设备失效、故障等原
因删除存储系统的OSD,此时分别将OSD在容量型环形空间和性能型环形空间的虚拟节点删
除,同时删除OSD IP信息等,并且向所有客户端推送最新的ring map。所有的客户端接收到
更新后的ring map会调用各自的配置信息,重新计算(根据上述查找方法)其拥有的对象的
最新存放位置,若对象的存储位置发生改变,则对象迁移到新的OSD。

本发明的对象分布算法使存储系统具有双模式运行状态,能够充分利用存储系统
中存储设备的性能和容量,可以对外提供高性能存储服务和大容量存储服务。客户端只需
要根据其自身应用特点显式选择不同的服务类型,具有较好的可应用性。同时,本发明的对
象分布算法时间复杂度是O(log m),空间复杂度是O(m),因此开销较低。另外,本发明的对
象分布算法可以更细粒度控制对象分布到存储设备的概率,一些访问频率较高的对象的副
本以更高的概率分布到高性能存储设备,而一些占用较大空间的对象的副本可以以更高的
概率分布到大容量存储设备,充分发挥存储系统的容量和性能特性。

一种针对由异构存储设备组成的对象存储系统的对象分布算法.pdf_第1页
第1页 / 共8页
一种针对由异构存储设备组成的对象存储系统的对象分布算法.pdf_第2页
第2页 / 共8页
一种针对由异构存储设备组成的对象存储系统的对象分布算法.pdf_第3页
第3页 / 共8页
点击查看更多>>
资源描述

《一种针对由异构存储设备组成的对象存储系统的对象分布算法.pdf》由会员分享,可在线阅读,更多相关《一种针对由异构存储设备组成的对象存储系统的对象分布算法.pdf(8页珍藏版)》请在专利查询网上搜索。

本发明提供一种针对由异构存储设备组成的对象存储系统的对象分布算法:1)将异构存储系统中的各个对象存储设备按照容量和性能分别进行量化后映射至两个环形有限值域上,得到容量型环形空间和性能型环形空间;2)根据待读取对象确定所述存储系统提供的服务类型,根据待读取对象映射至容量型环形空间或性能型环形空间上时按固定方向确定的距离最近的对象存储设备映射位置,查找用于存储该对象的对象存储设备。本发明考虑了异构存储。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1