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

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

【技术实现步骤摘要】

本专利技术涉及计算机分布式存储系统领域,尤其涉及针对异构存储设备组成的对象存储系统中的对象分布算法。
技术介绍
随着移动互联网的不断发展,数据呈现一种爆炸式的增长,传统文件系统已经无法满足现有应用的大容量、高性能和高可靠性等要求,对象存储系统具有块存储、文件存储不可比拟的可靠性、可扩放性、可管理性和共享性等特点,采用对象存储系统存储海量数据已经成为一种主流的解决方案。对象存储系统由对象存储设备(Object-BasedStoragedevice,OSD)和元数据服务器(MetadataServer,MDS)组成,对象是读写的基本单位。OSD管理对象存放在硬盘的块位置,对外提供对象读写接口。对象存储系统当中首先需要解决对象的管理问题,常用的方法是采用对象分布算法管理对象和其存放的存储节点映射关系。数据分布算法必须具有如下特点:第一,对象首先需要随机存放到成千上百个OSD节点,同时根据OSD节点自身的能力(存储容量,存储性能,带宽等)设置其权值,每个OSD节点存储的对象数目和其权值成正比,保证节点的负载均衡;第二,在存储系统的运行当中,需要增加新的存储设备满足存储需求,达到寿命的硬盘需要替换,系统必须能够自动迁移对象保证负载均衡,同时为了不影响系统性能,必须迁移尽可能少的对象;第三,为了保证对象可靠性,对象分布算法需要支持对象冗余机制,比如副本和纠删码等。当前的对象分布算法仅仅单独考虑存储设备的容量或性能,而诸如SSD、PCM、RRAM等新型存储介质拥有比HDD更优的性能,由于工艺及其介质自身特性,它们的容量比HDD低。异构存储设备组成的对象存储系统如果采用当前的对象分布算法将无法充分利用存储设备的容量或者性能,因为当前的对象分布算法若采用设备容量作为权值则无法充分利用存储设备的性能,若采用设备性能作为权值则无法充分利用存储设备的容量。因此当前的对象分布算法并不适用于异构存储系统。
技术实现思路
为了解决异构存储系统的对象分布及其管理问题,本专利技术的目的在于提供一种针对由异构存储设备组成的对象存储系统的对象分布算法,能够充分利用存储系统中存储设备的性能和容量。为了实现上述目的,本专利技术采用了以下技术方案:上述针对异构存储设备的对象分布算法,包括初始化过程、对象查找过程和节点变化过程三个部分。设存储系统的OSD和对象具有不同的标识符,初始化时,存储系统需要构造ringmap(环形拓扑),ringmap由容量型环形空间、性能型环形空间和OSDIP等描述OSD元数据的信息组成(不同的OSD具有不同的元数据信息)。因为容量型环形空间的构造过程和性能型环形空间构造过程相似,以下仅仅描述容量型环形空间的构造过程。首先根据OSD的容量大小决定其具有的虚拟节点数目,并且每个虚拟节点都具有唯一标识符,此处OSD容量和其具有的虚拟节点数目成正比。对各个OSD的虚拟节点通过哈希取模运算映射到同一个[0,2^32]的空间上,并且该[0,2^32]的空间首尾相连从逻辑上组成环形结构,称为容量型环形空间。性能型环形空间是独立于容量型环形空间的另一个环形结构,构造过程和容量型环形空间构造过程相似,唯一不同的是映射到性能型环形空间上的某个OSD的虚拟节点的数目和该OSD的性能成正比。上述哈希取模运算使OSD的虚拟节点都被随机分布到环形结构内,且分布到任意位置的概率相等,由于具有唯一标识符,各个虚拟节点的位置不重叠。客户端读取或写入对象时,首先读取本地配置文件,判断存储系统对客户端提供性能型还是容量型服务,比如归档应用只需要存储系统提供容量型服务,大数据处理等需要存储系统提供性能型服务。判断服务类型后,客户端此时从存储系统获取ringmap,客户端对读写的对象进行哈希取模,若存储系统提供给客户端的是性能型服务,则对象映射到性能型环形空间;若存储系统提供给客户端的是容量型服务,则映射到容量型环形空间。从对象所在环形空间的位置为起始点顺时针查找相邻最近的虚拟节点,并确定该虚拟节点所对应的OSD,则该对象就存放在此OSD中,对象的定位过程(即查找过程)结束。此时,客户端从确定的OSD读取对象或写入对象至确定的OSD。容量型环形空间和性能型环形空间在存储系统OSD变化后其变化相似。存储系统的OSD变化分为增加OSD、删除OSD两种情况。第一种情况,存储系统增加OSD后,根据新加入OSD的容量和性能分别计算其具有的虚拟节点数目,并将新加入OSD的对应虚拟节点通过哈希取模分别映射到容量型环形空间和性能型环形空间上,此时所有的客户端对其拥有的对象重新计算(是根据上述查找方法)存放的OSD位置,若OSD位置未发生变化,则此对象不发生迁移,若OSD位置发生变化,则此对象发生迁移。通过分析可以得出环形空间上新加入的虚拟节点会从相邻的虚拟节点迁移部分对象到自身存储(OSD是实体,它们映射在ringmap上的是虚拟节点,OSD对应ringmap的多个虚拟节点,对象是存储在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的性能。客户端对其对象进行读写操作时,客户端和存储系统的节点(存储系统中所有节点都本文档来自技高网
...
一种针对由异构存储设备组成的对象存储系统的对象分布算法

【技术保护点】
一种针对由异构存储设备组成的对象存储系统的对象分布算法,其特征在于:该对象分布算法包括以下步骤:1)将存储系统中的各个对象存储设备根据容量和性能分别进行量化后映射至两个环形有限值域上,得到容量型环形空间和性能型环形空间;2)确定所述存储系统提供的服务类型,若为容量型服务,则根据待读取对象映射至容量型环形空间上时按固定方向确定的距离最近的对象存储设备映射位置,查找用于存储该对象的对象存储设备,若为性能型服务,则根据待读取对象映射至性能型环形空间上时按固定方向确定的距离最近的对象存储设备映射位置,查找用于存储该对象的对象存储设备。

【技术特征摘要】
1.一种针对由异构存储设备组成的对象存储系统的对象分布算法,其特征在于:该对象分布算法包括以下步骤:1)将存储系统中的各个对象存储设备根据容量和性能分别进行量化后映射至两个环形有限值域上,得到容量型环形空间和性能型环形空间;2)确定所述存储系统提供的服务类型,若为容量型服务,则根据待读取对象映射至容量型环形空间上时按固定方向确定的距离最近的对象存储设备映射位置,查找用于存储该对象的对象存储设备,若为性能型服务,则根据待读取对象映射至性能型环形空间上时按固定方向确定的距离最近的对象存储设备映射位置,查找用于存储该对象的对象存储设备。2.根据权利要求1所述一种针对由异构存储设备组成的对象存储系统的对象分布算法,其特征在于:所述量化是指将对象存储设备转化为数量与该对象存储设备容量或性能成正比关系的虚拟节点,同一个对象存储设备在容量型环形空间的虚拟节点数目和在性能型环形空间的虚拟节点数目不具相关性,该对象存储设备根据容量量化的虚拟节点映射到容量型环形空间,同时,该对象存储设备根据性能量化的虚拟节点映射到性能型环形空间。3.根据权利要求2所述一种针对由异构存储设备组成的对象存储系统的对象分布算法,其特征在于:所述容量型环形空间中第i个对象存储设备的虚拟节点数目表示为:cimin(ci)...

【专利技术属性】
技术研发人员:聂世强伍卫国崔金华刘松胡壮薛尚山邹年俊
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西;61

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

1