一种基于云存储系统的数据存储方法和装置与流程

文档序号:12718590阅读:221来源:国知局
一种基于云存储系统的数据存储方法和装置与流程

本发明属于云存储技术领域,特别是涉及一种基于云存储系统的数据存储方法和装置。



背景技术:

在现代存储系统中,由于数据信息总量不断增加,存储容量从PB到EB,数据的处理器也是越来越快,各种链路速度也是越来越快,但是数据分布机制变成了短板,动态扩大存储规模并不能及时跟上处理速度,这就容易造成系统的宕机,系统假死未响应等相关状态。而很多应用数据都是需要数据库的支持,数据处理的性能深受影响。

传统数据分布策略都是基于高吞吐率网络技术,稳定且成本较低,但是速度跟不上,在进行海量数据特别是查找定位目标时,缺陷就表现出来了。现在有一些数据分布策略,并且提出了很多算法构造,比如副本策略、纠删码策略等。而分布式存储系统以对象存储技术为基础,将对象集合用具有唯一标示的OID(Object ID)的对象标识符表示,使文件系统变成了一种提升系统性能的有效办法。文件系统采用存储的对象的方式来访问数据,较块存储的无关联块阵列的数据组织方式的读写速率高很多,性能更好。然而,在进行在线扩展存储节点的时候,数据在各个节点的分布仍然存在不均衡和可扩展性差的情况,并且无法高对目标数据进行效的查找定位,所以存储系统的性能也就受到限制。



技术实现要素:

为解决上述问题,本发明提供了一种基于云存储系统的数据存储方法和装置,能够解决超大规模存储的扩展问题,且能够保证物理节点地址空间在系统中均匀分布,提升系统负载均衡,实现数据组织的高效定位。

本发明提供的一种基于云存储系统的数据存储方法,包括:

利用增强型哈希函数分别计算存储节点地址与数据对象地址;

通过圆环形的哈希寻址空间,将所述存储节点地址与所述数据对象地址进行对应;

当接收到数据时,利用增强型哈希函数计算存储节点地址,然后将数据存储到与所述存储节点地址对应的存储节点中。

优选的,在上述基于云存储系统的数据存储方法中,

所述通过圆环形的哈希寻址空间,将所述存储节点地址与所述数据对象地址进行对应之后,还包括:

将每个所述存储节点地址对应的虚拟节点地址设置为一个虚拟IP地址组,当发生故障时,通过虚拟IP地址进行连接;

将云存储系统的存储空间均分为预设份数,将每份存储空间按顺时针方向分配给每个存储节点;

将利用增强型哈希函数计算出的数据对象地址均匀分布在所述云存储系统的存储空间中。

优选的,在上述基于云存储系统的数据存储方法中,

所述将利用增强型哈希函数计算出的数据对象地址均匀分布在所述云存储系统的存储空间中之后,还包括:

通过域名访问系统进行数据读取,从IP地址池中获取IP信息;

采集存储节点的连接信息,并存入内存中;

将接收到的信息域名、策略、位置和IP地址池信息放入共享内容;

根据客户端的需求对目标数据进行查找和定位,并将查找到的数据返回客户端。

本发明提供的一种基于云存储系统的数据存储装置,包括:

计算单元,用于利用增强型哈希函数分别计算存储节点地址与数据对象地址;

对应单元,用于通过圆环形的哈希寻址空间,将所述存储节点地址与所述数据对象地址进行对应;

存储单元,用于当接收到数据时,利用增强型哈希函数计算存储节点地址,然后将数据存储到与所述存储节点地址对应的存储节点中。

优选的,在上述基于云存储系统的数据存储装置中,

还包括:

设置单元,用于将每个所述存储节点地址对应的虚拟节点地址设置为一个虚拟IP地址组,当发生故障时,通过虚拟IP地址进行连接;

分配单元,用于将云存储系统的存储空间均分为预设份数,将每份存储空间按顺时针方向分配给每个存储节点;

分布单元,用于将利用增强型哈希函数计算出的数据对象地址均匀分布在所述云存储系统的存储空间中。

优选的,在上述基于云存储系统的数据存储装置中,

还包括:

获取单元,用于通过域名访问系统进行数据读取,从IP地址池中获取IP信息;

采集单元,用于采集存储节点的连接信息,并存入内存中;

放入单元,用于将接收到的信息域名、策略、位置和IP地址池信息放入共享内容;

查找和定位单元,用于根据客户端的需求对目标数据进行查找和定位,并将查找到的数据返回客户端。

通过上述描述可知,本发明提供的上述基于云存储系统的数据存储方法和装置,由于该方法包括利用增强型哈希函数分别计算存储节点地址与数据对象地址;通过圆环形的哈希寻址空间,将所述存储节点地址与所述数据对象地址进行对应;当接收到数据时,利用增强型哈希函数计算存储节点地址,然后将数据存储到与所述存储节点地址对应的存储节点中,因此能够解决超大规模存储的扩展问题,且能够保证物理节点地址空间在系统中均匀分布,提升系统负载均衡,实现数据组织的高效定位。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请实施例提供的第一种基于云存储系统的数据存储方法的示意图;

图2为数据分配策略算法的示意图;

图3为节点与虚拟IP地址的对应示意图;

图4为本申请实施例提供的第一种基于云存储系统的数据存储装置的示意图。

具体实施方式

本发明的核心思想在于提供一种基于云存储系统的数据存储方法和装置,能够解决超大规模存储的扩展问题,且能够保证物理节点地址空间在系统中均匀分布,提升系统负载均衡,实现数据组织的高效定位。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请实施例提供的第一种基于云存储系统的数据存储方法如图1所示,图1为本申请实施例提供的第一种基于云存储系统的数据存储方法的示意图,该方法包括如下步骤:

S1:利用增强型哈希函数分别计算存储节点地址与数据对象地址;

需要说明的是,一致性哈希算法具有可伸缩和一次寻出的特点,由于该算法的地址空间接近无限,所以通过分区大小的调整,理论上可实现存储单元的无限制扩展,为PB级的海量存储提供了基础。通过一致性哈希算法,能够将数据均衡分布在所有存储节点空间中,同时在不同存储节点之间,能够进行全对等的点对点数据访问,没有中心节点的干扰,减少了索引查询和延时开销。但是随着系统容量的不断增加,在进行存储节点扩容、缩容、故障更换的同时会对底层存储池的影响增大,在这种情况下数据负载的均衡与寻址的高效性会受到极大的限制,网络方面的压力是系统的性能下降。所以,为了满足技术需求,提高数据在存储节点中的合理分配的程度与寻址过程的简化,云存储系统需要更加高效的数据分布策略来确保系统的性能,利用增强型哈希算法,能够保证云存储系统的高扩展性与灵活性。增强型哈希算法能够实现大规模存储数据分布机制,基于增强型哈希算法的大规模存储数据分布机制,实现了存储对象、数据布局组、存储节点的两级映射,攻克了云存储系统的超大规模扩展、EB级数据组织和高效定位问题。

S2:通过圆环形的哈希寻址空间,将所述存储节点地址与所述数据对象地址进行对应;

需要说明的是,云存储系统的统一存储池以对象为基本存储单元进行存储,基于数据访问的局部性,根据存储的成本、性能和访问速率来存放不同重要程度的数据信息,每个对象具有一个对象名称(object id),对象的定位操作通过对对象名称进行增强型哈希计算实现,提高存储性能和数据可用性及降低存储成本。增强型哈希算法主要是以一致性哈希算法为基础,改进算法的可扩展性与均衡性,通过哈希函数计算出存储节点在进行存储时,存储节点值与数据对象值之间的映射关系。增强型哈希算法,采用哈希函数分别计算存储节点地址与数据对象地址,然后存储节点地址通过圆环形的哈希寻址空间与数据对象地址进行对应,其中首个地址作为该数据对象的存储节点。

S3:当接收到数据时,利用增强型哈希函数计算存储节点地址,然后将数据存储到与所述存储节点地址对应的存储节点中。

如图2所示,图2为数据分配策略算法的示意图,在圆环形的地址空间范围中,存储节点的地址空间为上个节点1到节点2之间的范围。理想状态下,整个地址空间的存储范围是均衡分布的,当存储节点的数量和数据对象的数量不断增大时,会达到一定的门限,每一个存储节点所分配到的空间是近似相等的,而在数据对象节点均衡的分布在其中。在云存储系统中,数据量可达EB级别,故系统中的存储节点数量往往大于门限值,分配效果接近于均匀分布状态。并且,云存储系统统一存储池通过对使用增强型哈希算法,将节点发生变化(扩展、宕机、缩减)时的数据重新分布尽可能减少,进一步缩短了系统扩容的时间窗口,大大减少了在新设备加入或退出时造成的数据迁移对系统整体性能带来的影响,提高了系统的可靠性。

这种基于对象技术、增强型哈希算法的统一存储池设计,使得系统可以管理EB级存储空间,能够实现在线平滑的系统扩展,能够满足数据中心日益增长的容量需求,实现存储系统的逐步部署,简化运维管理。随着数据信息总量的扩大,增强型哈希算法,高效实现EB级容量、数千节点的高效管理、弹性扩展,且数据全局均衡存放,不存在集中的数据热点,实现性能的拟线性增长。这使得存储系统必须能够支持新的存储节点不断加入,确保数据在各个存储节点的均匀分布,满足存储空间以及在网络带宽的负载均衡。

通过上述描述可知,本申请实施例提供的上述第一种基于云存储系统的数据存储方法,由于包括利用增强型哈希函数分别计算存储节点地址与数据对象地址;通过圆环形的哈希寻址空间,将所述存储节点地址与所述数据对象地址进行对应;当接收到数据时,利用增强型哈希函数计算存储节点地址,然后将数据存储到与所述存储节点地址对应的存储节点中,因此能够解决超大规模存储的扩展问题,且能够保证物理节点地址空间在系统中均匀分布,提升系统负载均衡,实现数据组织的高效定位。

本申请实施例提供的第二种基于云存储系统的数据存储方法,是在上述第一种基于云存储系统的数据存储方法的基础上,还包括如下技术特征:

所述通过圆环形的哈希寻址空间,将所述存储节点地址与所述数据对象地址进行对应之后,还包括:

将每个所述存储节点地址对应的虚拟节点地址设置为一个虚拟IP地址组,当发生故障时,通过虚拟IP地址进行连接;

将云存储系统的存储空间均分为预设份数,将每份存储空间按顺时针方向分配给每个存储节点;

将利用增强型哈希函数计算出的数据对象地址均匀分布在所述云存储系统的存储空间中。

需要说明的是,由于增强型哈希算法在进行数据负载均衡的过程中具有一定的局限性,无法均衡分布落在地址空间上的映射位置,会对地址空间造成混乱,使系统负载均衡降低,所以与高可用负载均衡技术结合,当客户端对云存储系统进行访问的时候,将存储节点保存的ID值与数据对象ID值之间制定正向解析关系,将系统中节点对应的虚拟节点IP地址按照物理节点划分为几个虚拟IP地址组,即同一组内的所有虚拟IP地址对应同一个物理节点。以三节点,为每个节点分配两个CTDB虚拟IP地址为例,如图3所示,图3为节点与虚拟IP地址的对应示意图,可见节点1对应虚拟IP地址1和虚拟IP地址2,节点2对应虚拟IP地址3和虚拟IP地址4,节点3对应虚拟IP地址5和虚拟IP地址6,继续参考图3,云存储系统的存储空间被均分为N份,每一份为地址分配的一个单位,假设该系统有3个物理节点构成,每个物理节点分配2个虚拟IP地址,在增强型哈希算法的原则下,将N份基础单位按照顺时针的方向进行地址分配,,所以,理论状态下,N≥n*max(mi)(其中,N指被均分的N份存储地址段;n指n个物理节点,mi指第i个物理节点的虚拟IP地址),数据对象节点的值通过哈希算法生成,并被均匀分布在寻址空间中,通过此种数据分布策略,将存储对象寻找相应的节点位置进行保存,该过程不影响不占用数据网络带宽,对数据IO性能无影响,保证了在海量信息的云存储系统中,能够对目标数据进行高效地查找、定位,最大限度地减少平均响应时间,提供数据服务的吞吐量。

本申请实施例提供的第三种基于云存储系统的数据存储方法,是在上述第二种基于云存储系统的数据存储方法的基础上,还包括如下技术特征:

所述将利用增强型哈希函数计算出的数据对象地址均匀分布在所述云存储系统的存储空间中之后,还包括:

通过域名访问系统进行数据读取,从IP地址池中获取IP信息;

采集存储节点的连接信息,并存入内存中;

将接收到的信息域名、策略、位置和IP地址池信息放入共享内容;

根据客户端的需求对目标数据进行查找和定位,并将查找到的数据返回客户端。

需要说明的是,该高可用负载均衡及时包括:

1、负载管理:客户端通过域名访问系统进行数据读取,根据策略,从IP地址池中取出IP,并返回给客户端;

2、信息采集:采集集群系统中的各个节点的连接信息,并将信息存入内存中;

3、IP对应表:按照物理IP对应虚拟IP进行分组,保证故障时,可通过虚拟节点IP连接,实现透明切换;

4、数据分布:通过哈希算法生成数据对象节点的值,并均匀分布在寻址空间中,通过此种数据分布策略,将存储对象寻找相应的节点位置进行保存。

5、信息处理:将接收到的信息域名、策略、位置、IP地址池等信息进行处理,放入共享内容;

6、信息发送:根据客户端需求对目标数据进行高效地查找、定位,返回客户端。

本申请实施例提供的第一种基于云存储系统的数据存储装置如图4所示,图4为本申请实施例提供的第一种基于云存储系统的数据存储装置的示意图,包括:

计算单元201,用于利用增强型哈希函数分别计算存储节点地址与数据对象地址,利用增强型哈希算法,能够保证云存储系统的高扩展性与灵活性。增强型哈希算法能够实现大规模存储数据分布机制,基于增强型哈希算法的大规模存储数据分布机制,实现了存储对象、数据布局组、存储节点的两级映射,攻克了云存储系统的超大规模扩展、EB级数据组织和高效定位问题;

对应单元202,用于通过圆环形的哈希寻址空间,将所述存储节点地址与所述数据对象地址进行对应,云存储系统的统一存储池以对象为基本存储单元进行存储,基于数据访问的局部性,根据存储的成本、性能和访问速率来存放不同重要程度的数据信息,每个对象具有一个对象名称(object id),对象的定位操作通过对对象名称进行增强型哈希计算实现,提高存储性能和数据可用性及降低存储成本。增强型哈希算法主要是以一致性哈希算法为基础,改进算法的可扩展性与均衡性,通过哈希函数计算出存储节点在进行存储时,存储节点值与数据对象值之间的映射关系。增强型哈希算法,采用哈希函数分别计算存储节点地址与数据对象地址,然后存储节点地址通过圆环形的哈希寻址空间与数据对象地址进行对应,其中首个地址作为该数据对象的存储节点;

存储单元203,用于当接收到数据时,利用增强型哈希函数计算存储节点地址,然后将数据存储到与所述存储节点地址对应的存储节点中,理想状态下,整个地址空间的存储范围是均衡分布的,当存储节点的数量和数据对象的数量不断增大时,会达到一定的门限,每一个存储节点所分配到的空间是近似相等的,而在数据对象节点均衡的分布在其中。在云存储系统中,数据量可达EB级别,故系统中的存储节点数量往往大于门限值,分配效果接近于均匀分布状态。并且,云存储系统统一存储池通过对使用增强型哈希算法,将节点发生变化(扩展、宕机、缩减)时的数据重新分布尽可能减少,进一步缩短了系统扩容的时间窗口,大大减少了在新设备加入或退出时造成的数据迁移对系统整体性能带来的影响,提高了系统的可靠性。

本申请实施例提供的第二种基于云存储系统的数据存储装置,是在上述第一种基于云存储系统的数据存储装置的基础上,还包括如下技术特征:

还包括:

设置单元,用于将每个所述存储节点地址对应的虚拟节点地址设置为一个虚拟IP地址组,当发生故障时,通过虚拟IP地址进行连接;

分配单元,用于将云存储系统的存储空间均分为预设份数,将每份存储空间按顺时针方向分配给每个存储节点;

分布单元,用于将利用增强型哈希函数计算出的数据对象地址均匀分布在所述云存储系统的存储空间中。

需要说明的是,由于增强型哈希算法在进行数据负载均衡的过程中具有一定的局限性,无法均衡分布落在地址空间上的映射位置,会对地址空间造成混乱,使系统负载均衡降低,所以与高可用负载均衡技术结合,当客户端对云存储系统进行访问的时候,将存储节点保存的ID值与数据对象ID值之间制定正向解析关系,将系统中节点对应的虚拟节点IP地址按照物理节点划分为几个虚拟IP地址组,即同一组内的所有虚拟IP地址对应同一个物理节点。云存储系统的存储空间被均分为N份,每一份为地址分配的一个单位,假设该系统有3个物理节点构成,每个物理节点分配2个虚拟IP地址,在增强型哈希算法的原则下,将N份基础单位按照顺时针的方向进行地址分配,,所以,理论状态下,N≥n*max(mi)(其中,N指被均分的N份存储地址段;n指n个物理节点,mi指第i个物理节点的虚拟IP地址),数据对象节点的值通过哈希算法生成,并被均匀分布在寻址空间中,通过此种数据分布策略,将存储对象寻找相应的节点位置进行保存,该过程不影响不占用数据网络带宽,对数据IO性能无影响,保证了在海量信息的云存储系统中,能够对目标数据进行高效地查找、定位,最大限度地减少平均响应时间,提供数据服务的吞吐量。

本申请实施例提供的第三种基于云存储系统的数据存储装置,是在上述第二种基于云存储系统的数据存储装置的基础上,还包括如下技术特征:

还包括:

获取单元,用于通过域名访问系统进行数据读取,从IP地址池中获取IP信息;

采集单元,用于采集存储节点的连接信息,并存入内存中;

放入单元,用于将接收到的信息域名、策略、位置和IP地址池信息放入共享内容;

查找和定位单元,用于根据客户端的需求对目标数据进行查找和定位,并将查找到的数据返回客户端。

综上所述,本实施例通过引入增强型哈希算法,使云存储系统在进行存储节点加入退出过程中减少了数据的迁移,有效优化了系统的性能,提高了云存储系统的扩展能力,而且引入了高可用负载均衡方法,将物理节点与虚拟IP地址分离,以均匀单位地址段作为节点地址空间划分的基本单位,在海量存储系统中,能够高效定位数据目标,解决了云存储系统中超大规模扩展物理节点、EB级数据组织的高效定位问题,加快数据分布效率,提高系统整体性能。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1