当前位置: 首页 > 专利查询>刘跃专利>正文

一种分布式存储系统的数据分片方法技术方案

技术编号:10222994 阅读:184 留言:0更新日期:2014-07-17 02:27
本发明专利技术公开了一种分布式存储系统的数据分片方法,该方法是通过集群控制器监控物理节点状态和保证数据传输的正确性;通过一致性哈希算法将每个存储节点的物理空间进行统一管理,组成逻辑存储空间;通过多副本切片方式保证系统的可靠性。本发明专利技术存储容量更大且具有弹性,主机虚拟化的存储容量依赖于本机的资源,但一个主机由于硬件设计上的限制存储容量不会无限增大,而采用本分布式系统之后存储容量不再受主机存储容量的限制,可以随着客户的要求任意的增加存储资源或者减少存储资源,最大化的提高了系统的存储能力与弹性。

【技术实现步骤摘要】

本专利技术涉及数据存储的
,特别涉及。
技术介绍
一个完整的存储系统至少要具备存储节点和控制节点,存储节点负责存放文件,控制节点作为文件索引,并负责监控存储节点间容量及负载的均衡,这2个部分合起来便组成一个存储系统。传统的存储系统多采用串行架构,将存储节点和控制节点放在一台设备上,存储容量分配受到物理硬盘限制,当我们要部署新的存储设备扩容时。我们必须非常清楚这个存储设备是什么型号,什么接口和传输协议,必须清楚地知道存储系统中有多少块磁盘,分别是什么型号、多大容量,必须清楚存储设备和服务器之间采用什么样的连接线缆。为了保证数据安全和业务的连续性,我们还需要建立相应的数据备份系统和容灾系统。除此之外,对存储设备进行定期的状态监控、维护、软硬件更新和升级也是必须的。传统存储系统存在采购成本高、系统封闭、维护性差、扩展性低、可用性受限等问题。如在需要进行系统扩容或者更换硬件时,通常需要停止服务并进行一系列的复杂操作才能成功;同时,由于架构上的局限性,传统存储仍然有几项重要的技术问题有待解决,例如单点故障问题、脑分裂问题等,使客户的数据存在丢失或者间断服务的风险。存在以上缺点主要是因为传统的存储系统架构上的局限性,其将存储节点与控制节点部署在同一台设备上,即将软件与硬件设备捆绑提供存储服务,软件脱离了固有硬件无法在其他存储设备上运行,对硬件设备依赖性大,没有做到软硬件分离。
技术实现思路
本专利技术的目的在于克服现有技术的缺点与不足,提供。为了达到上述目的,本专利技术采用以下技术方案:,包括下述步骤:S1、采用集群控制器管理多个节点,再将每个节点的物理存储资源进行汇总,同步至每个节点内存中进行记录;S2、每台物理节点加入集群后,会对该节点的存储空间进行计算,之后计算出所有节点存储总和,将该节点存储容量除以全部节点的容量得到权重值,再用该权重值乘以默认虚节点个数,得到该节点的虚节点实际数目,再将该节点映射至虚节点列表中生成对应数目的虚节点;S3、系统的分配空间请求根据负载均衡部分的一致性哈希算法得到物理节点的实际空间,具体为每个节点对应的虚节点作为哈希环中的元素,每个请求都计算哈希值,然后按顺序在哈希环上搜索节点,这样可以对存储空间进行实际的使用,每个读写请求都会首先通过虚拟磁盘来进行,虚拟磁盘将读写请求通过元数据提供的位置服务定位至具体的物理数据对象上,每个物理对象存在于不同的物理主机上,可以通过存有多个数据对象的副本来保证数据的可靠性;优选的,每一个数据片切分成多个对象,并且数据对象又会创建多份副本,数据的读取过程如下:(I)用户指定需要读取的虚拟磁盘名称、起始位置、长度等参数;(2)系统根据虚拟磁盘名称计算虚拟编号,并在对象索引中搜索,如果不存在则直接失败返回;(3)通过该虚拟磁盘编号计算对象编号,并通过计算哈希值与虚节点编号列表比对,从虚节点编号列表中获取固定副本数目的虚节点集合,并将该集合映射至物理节点中;(4)如果节点与本机相同,则直接从本机获取数据对象并返回,如果不在本机则送至消息至目标节点,目标节点返回数据后逐级返回结果;(5)如果目标节点读取失败,则从其它备选节点集群中读取数据,然后同步至损坏节点,之后逐级返回。优选的,数据的写入过程为:(I)用户指定需要写入的虚拟磁盘名称、起始位置、长度等参数;(2)系统根据虚拟磁盘名称计算虚拟磁盘编号,并在对象索引中搜索,如果不存在则直接失败返回;(3)通过该虚拟磁盘编号计算对象编号,并通过计算哈希值与虚节点编号列表比对,从虚节点编号列表中获取固定副本数目的虚节点集合,并将该集合映射至物理节点中;(4)系统逐一向节点列表中的节点发送写入请求,全部返回成功后返回用户写结果,流程结束。优选的,该存储系统包括集群控制器、空间分配模块以及空间管理模块,所述集群控制器、空间分配模块以及空间管理模块顺序连接;该系统通过集群控制器监控物理节点状态和保证数据传输的正确性;通过一致性哈希算法将每个存储节点的物理空间进行统一管理,组成逻辑存储空间;通过多副本切片方式保证系统的可靠性。优选的,所述集群控制器,用于管理多个物理节点,再将每个物理节点的物理存储资源进行汇总,同步至每个节点内存中进行记录;所述空间分配模块,根据负载均衡部分的一致性哈希算法得到物理节点的实际空间,这样可以对存储空间进行实际的使用,每个读写请求都会首先通过虚拟磁盘来进行,虚拟磁盘将读写请求通过元数据提供的位置服务定位至具体的物理数据对象上,每个物理对象存在于不同的物理主机上,可以通过存有多个数据对象的副本来保证数据的可靠性;所述空间管理模块,空间管理模块是虚拟块存储子系统对外提供空间的管理模块,用于实现根据虚拟空间的创建、读写。优选的,所述空间管理模块存储的数据交换由三个元素组成:偏移量、长度、数据,偏移量是针对本虚拟磁盘的位置,数据操作指针指向该数据块的偏移量位置,按照指定的数据长度,做数据写入或读取操作。本专利技术相对于现有技术具有如下的优点及效果:1、本专利技术存储容量更大且具有弹性,主机虚拟化的存储容量依赖于本机的资源,但一个主机由于硬件设计上的限制存储容量不会无限增大,而采用本分布式系统之后存储容量不再受主机存储容量的限制,可以随着客户的要求任意的增加存储资源或者减少存储资源,最大化的提闻了系统的存储能力与弹性。2、本专利技术具有更高的可用性主机虚拟化技术会由不可避免的硬件故障导致系统宕机,因为硬件随着时间与时间的推移,不可避免的会由于老旧或者线路故障导致中断服务。但是本分布式存储虚拟化技术,可以避免由于局部硬件设备损坏而影响系统的存取功能,因此具有更高的可用性。【附图说明】图1是本专利技术分布式虚拟化技术的控制结构图。图2是本专利技术逻辑空间与数据块映射关系图。图3是本专利技术逻辑空间与数据块映射流程图。【具体实施方式】下面结合实施例及附图对本专利技术作进一步详细的描述,但本专利技术的实施方式不限于此。实施例针对主机存储虚拟化的缺点,采用分布式的虚拟化技术则可以解决现存的问题,分布式虚拟化技术采用集群控制器管理多个节点,再将每个节点的物理存储资源进行汇总,同步至每个节点内存中进行记录,由此单独的主机虚拟化可以进行统一分配与使用,将物理空间变成一个弹性的逻辑上的空间。可以将逻辑上分散的、物理的资源虚拟化成一个完整的、逻辑资源,由用户按照任意(系统设计与实现也是有限制的)的大小来使用存储资源,空间管理的设计主要是将物理资源变成逻辑资源。内存中记录每个节点的空间,将所有空间相加做为完整的逻辑空间,使用统一的空间对外提供存储功能,每次业务请求都通过哈希计算获取键值,在哈希环上进行顺时针旋转找到对应的物理节点,对该物理节点进行数据的读写。相关原理请见图1。每台物理节点加入集群后,会对该节点的存储空间进行计算,之后计算出所有节点存储总和同,是该节点除以全部节点的容量得到权重值,再用该权重值乘以默认虚节点个数,得到该节点的虚节点实际数目,再将该节点映射至虚节点列表中生成对应数目的虚节点。系统的分配空间请求根据负载均衡部分的一致性哈希算法得到物理节点的实际空间,这样可以对存储空间进行实际的使用。每个读写请求都会首先通过虚拟磁盘来进行,虚拟磁盘将读写请求通过元数据提供的位置服务定位至具体的物理数据对象上,每个物理对象存在于本文档来自技高网...

【技术保护点】
一种分布式存储系统的数据分片方法,其特征在于,包括下述步骤: S1、采用集群控制器管理多个节点,再将每个节点的物理存储资源进行汇总,同步至每个节点内存中进行记录; S2、每台物理节点加入集群后,会对该节点的存储空间进行计算,之后计算出所有节点存储总和,将该节点存储容量除以全部节点的容量得到权重值,再用该权重值乘以默认虚节点个数,得到该节点的虚节点实际数目,再将该节点映射至虚节点列表中生成对应数目的虚节点; S3、系统的分配空间请求根据负载均衡部分的一致性哈希算法得到物理节点的实际空间,具体为每个节点对应的虚节点作为哈希环中的元素,每个请求都计算哈希值,然后按顺序在哈希环上搜索节点,这样可以对存储空间进行实际的使用,每个读写请求都会首先通过虚拟磁盘来进行,虚拟磁盘将读写请求通过元数据提供的位置服务定位至具体的物理数据对象上,每个物理对象存在于不同的物理主机上,可以通过存有多个数据对象的副本来保证数据的可靠性。

【技术特征摘要】
1.一种分布式存储系统的数据分片方法,其特征在于,包括下述步骤: .51、采用集群控制器管理多个节点,再将每个节点的物理存储资源进行汇总,同步至每个节点内存中进行记录; . 52、每台物理节点加入集群后,会对该节点的存储空间进行计算,之后计算出所有节点存储总和,将该节点存储容量除以全部节点的容量得到权重值,再用该权重值乘以默认虚节点个数,得到该节点的虚节点实际数目,再将该节点映射至虚节点列表中生成对应数目的虚节点; .53、系统的分配空间请求根据负载均衡部分的一致性哈希算法得到物理节点的实际空间,具体为每个节点对应的虚节点作为哈希环中的元素,每个请求都计算哈希值,然后按顺序在哈希环上搜索节点,这样可以对存储空间进行实际的使用,每个读写请求都会首先通过虚拟磁盘来进行,虚拟磁盘将读写请求通过元数据提供的位置服务定位至具体的物理数据对象上,每个物理对象存在于不同的物理主机上,可以通过存有多个数据对象的副本来保证数据的可靠性。2.根据权利要求1所述的分布式存储系统数据分片方法,其特征在于,每一个数据片切分成多个对象,并且数据对象又会创建多份副本,数据的读取过程如下: (1)用户指定需要读取的虚拟磁盘名称、起始位置、长度参数; (2)系统根据虚拟磁盘名称计算虚拟编号,并在对象索引中搜索,如果不存在则直接失败返回; (3)通过该虚拟磁盘编号计算对象编号,并通过计算哈希值与虚节点编号列表比对,从虚节点编号列表中获取固定副本数目的虚节点集合,并将该集合映射至物理节点中; (4)如果节点与本机相同,则直接从本机获取数据对象并返回,如果不在本机则送至消息至目标节点,目标节点返回数据后逐级返回结果; (5)如果目标节点读取失败,则从其它备选节点集群中读取数据,然后同步至损坏节点,之后逐级返回。3.根据权利要求1所述的分布式存储系统数据分片方法,其特征在于,数据的写入...

【专利技术属性】
技术研发人员:刘跃
申请(专利权)人:刘跃
类型:发明
国别省市:广东;44

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

1