一种集群存储系统的节能存储方法技术方案

技术编号:7786222 阅读:277 留言:0更新日期:2012-09-21 07:10
本发明专利技术公开了一种集群存储系统的节能存储方法,包括以下步骤:获取请求队列信息,判断请求队列信息是读数据请求还是写数据请求,如果是读数据请求,则根据读数据请求进行读数据操作,以得到读数据请求对应的数据,否则根据写数据请求,判断写数据请求对应的数据节点是否失效,如果失效,则对失效的数据节点进行数据重构操作,否则判断当前的缓存空间利用率是否达到阈值,如果达到阈值,则根据缓存空间利用率对缓存中的数据进行数据同步操作,否则对写数据请求对应的数据进行写入操作。本发明专利技术在保证可靠性的情况下,能够有效地提高存储系统的容错能力和存储效率,降低存储系统的能耗,这些优势使它有着实用性和推广潜力。

【技术实现步骤摘要】

本专利技术属于数据存储领域,更具体地,涉及。
技术介绍
信息技术的迅猛发展使得数字信息呈爆炸式增长,对存储系统的容量有着巨大的需求,目前数据中心的存储容量已从之前的TB(Terabyte)级上升到PB (Petabyte)级,甚至EB(Exabyte)级,集群存储系统就是将大量的磁盘组合起来并使用各种方法来提高存储系统的可靠性、性能和容量,但集群存储系统的高能耗问题已变成影响存储系统运行成本和数据可靠性的关键因素之一,现有数据存储节能技术是通过将空闲存储设备关闭或切换到 低功耗模式来实现节能,即根据硬件配置在不同能级之间换档,或利用数据的访问局部性将数据集中到某些设备上,使得其余设备处于空闲状态。然而,现有的集群存储系统的节能存储方式存在以下问题通过不同能级换挡和数据访问局部性方式很难保证存储系统的高性能、高可靠性和低成本。
技术实现思路
针对现有技术的缺陷,本专利技术的目的在于提供一种利用冗余性和延迟写策略的纠删码集群存储系统节能方法,旨在保证可靠性的情况下,有效地提高存储系统的容错能力和存储效率,降低存储系统的能耗。为实现上述目的,本专利技术提供了,包括以下步骤(I)获取请求队列信息;(2)判断请求队列信息是读数据请求还是写数据请求,如果是读数据请求,则进入步骤(3),否则进入步骤(5);(3)根据读数据请求进行读数据操作,以获取读数据请求所对应的数据;(4)返回读数据请求所对应的数据,读数据过程结束;(5)根据写数据请求,判断写数据请求对应的数据节点是否失效,如果失效,则进入步骤(6),否则进入步骤(7);(6)对失效的数据节点进行数据重构操作;(7)判断当前的缓存空间利用率是否达到阈值,如果达到阈值,则进入步骤(8),否则进入步骤(9);(8)根据缓存空间利用率对缓存中的数据进行数据同步操作;(9)执行写入操作,写入写数据请求所对应的数据。步骤⑶包括以下子步骤(3-1)根据读数据请求在元数据服务器上获取请求数据的元数据信息;(3-2)判断读数据请求对应的数据节点是否失效,若失效,则进入步骤(3-3),否则进入步骤(3-6);(3-3)唤醒冗余节点Pl ;(3-4)读取其余的数据节点上的数据分片和冗余节点Pl上的冗余分片;(3-5)基于读取的数据分片和冗余分片进行解码运算;(3-6)根据解码运算的结果得到读数据请求对应的数据。解码运算米用RS编码。步骤(6)包括以下子步骤 (6-1)根据数据重构算法增加新的数据节点;(6-2)根据数据重构算法唤醒部分冗余节点;(6-3)获取其余数据节点的一块数据分片和已唤醒的冗余节点上的一块冗余分片进行解码运算;(6-4)判断解码运算是否成功,若成功,则进入步骤(6-5),若不成功,则返回出错信息,过程结束;(6-5)将已解码的数据分片写入新的数据节点中;(6-6)判断磁盘数据是否重构完成,若磁盘数据重构完成,则进入步骤(6-7),否则返回步骤(6-3);(6-7)获取其余数据节点上的一块数据分片及其缓存区域中的一块冗余分片,进行解码运算;(6-8)判断解码运算是否成功,若成功,则进入步骤(6-9),若不成功,则返回出错信息,数据重构过程结束;(6-9)将已解码的数据分片写入新的数据节点中;(6-10)对于其余的数据节点的其余数据分片和已唤醒的冗余节点上的其余冗余分片,重复执行以上步骤(6-3) - (6-9),直到所有分片都处理完毕为止。数据重构算法为基于RS编码的数据重构算法,唤醒的冗余节点的数量是由失效的数据节点的数量决定,解码运算是采用RS编码。步骤⑶包括以下子步骤(8-1)唤醒所有休眠的冗余节点;(8-2)从所有的数据节点上获取缓存冗余分片;(8-3)将缓存冗余分片分别写入对应的冗余节点中。步骤(9)包括以下子步骤(9-1)确定用于缓存冗余分片的数据节点;(9-2)基于数据节点计算新的冗余数据;(9-3)将新的冗余数据缓存到全部数据节点的缓存区域上;(9-4)将写数据请求对应的数据写入对应的数据节点上。请求队列信息是来自于应用程序接口,阈值为O. 8。通过本专利技术所构思的以上技术方案,与现有技术相比,本专利技术的有益效果为(I)高性能本专利技术在集群存储系统的节能存储方法应用环境图中,通过将数据节点置于活动状态来保持高的I/O性能,而冗余数据块被缓存到活动节点,使得冗余节点处于低功耗模式;(2)高容错能力本专利技术的集群存储系统的节能存储方法的数据布局方案,使活动组的容错级别从Lr / 2」提升到「(r + I)/2];(3)低成本本专利技术通过将纠删编码技术应用到集群存储系统,从而在保证高容错能力的情况下,实现了低成本的存储;(4)高能效性本专利技术集群存储系统的节能存储方法流程中采用了能延长休眠时间的自适应阈值策略,降低开关机次数的选择性激活策略,在数据同步流程过程中通过加速冗余数据的缓存分块策略,这三种策略保障了系统的高能效性。附图说明图I是本专利技术集群存储系统的节能存储方法的应用环境图。图2是本专利技术集群存储系统的节能存储方法的数据布局方案。图3是本专利技术集群存储系统的节能存储方法的流程图。图4是本专利技术方法中步骤(3)的细化流程图。图5是本专利技术方法中步骤(6)的细化流程图。图6是本专利技术方法中步骤(8)的细化流程图。图7是本专利技术方法中步骤(9)的细化流程图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。现有能效方案主要基于磁盘,而本专利技术研究的对象是一组存储节点组成的集群存储,通过转换存储节点的模式(如活动模式和休眠模式之间的切换)来达到节能目的。假设在一个采用(k+r,k)RS编码(Reed-Solomon Code)的集群存储系统中包含k+r个存储节点,每一个数据分片或冗余分片被存放到一个单独节点上,此时数据节点{D1;D2,…,Dk}和冗余节点{Ρ1;Ρ2,…,PJ相互独立,如图I所示,所有数据节点和部分冗余节点处于运行状态,这些活动节点构成活动组,其余冗余节点处于休眠模式;所有数据分片保存在对应数据节点硬盘上,在休眠节点被唤醒之前,冗余分片缓存在活动组某一内存区域内。如图2所示,其为基于图I的数据布局方案。将r个冗余分片分别缓存到各个活动数据节点上,此时活动组能容许/ 2」个节点失效。可以采用矩阵计算方式生成一个额外冗余分片Q1或两个额外冗余分片Iq1, Q2I,使活动组容许「(r + I) / 21个节点失效,采用基于异或运算方式生成额外冗余分片,由于缓存冗余分片的相似性,下面只分别讨论在冗余分片r为2和3的情况下,额外冗余分片的生成过程。(I)当r = 2时,需要两个额外冗余分片{q1; q2}使活动组能够容双节点失效,Q1 = P1十d[p2],q2 = Cltp1 ]十d[p2],这里(![Pi]指冗余分片Pi所在节点的数据分片; (2)而当r = 3时,只需要一个额外冗余分片q:就能让活动组容双节点失效,此时q! = P1 十 d[p2] = P1 十 d4;由于上面各种情况下,在双节点失效时利用可用数据分片实施数据重建过程的分析方法都是类似的,因此本专利技术只给出r = 3的情况下。我们用穷举方式来研究活动组的容错性,见表I本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种集群存储系统的节能存储方法,其特征在于,包括以下步骤 (1)获取请求队列息; (2)判断所述请求队列信息是读数据请求还是写数据请求,如果是读数据请求,则进入步骤(3),否则进入步骤(5); (3)根据所述读数据请求进行读数据操作,以获取所述读数据请求所对应的数据; (4)返回读数据请求所对应的数据,读数据过程结束; (5)根据所述写数据请求,判断所述写数据请求对应的数据节点是否失效,如果失效,则进入步骤(6),否则进入步骤(7); (6)对失效的数据节点进行数据重构操作; (7)判断当前的缓存空间利用率是否达到阈值,如果达到阈值,则进入步骤(8),否则进入步骤(9); (8)根据缓存空间利用率对缓存中的数据进行数据同步操作; O)执行写入操作,写入写数据请求所对应的数据。2.根据权利要求I所述的节能存储方法,其特征在于,步骤(3)包括以下子步骤 (3-1)根据所述读数据请求在元数据服务器上获取请求数据的元数据信息; (3-2)判断所述读数据请求对应的数据节点是否失效,若失效,则进入步骤(3-3),否则进入步骤(3-6); (3-3)唤醒冗余节点Pl ; (3-4)读取其余的数据节点上的数据分片和所述冗余节点Pl上的冗余分片; (3-5)基于读取的数据分片和冗余分片进行解码运算; (3-6)根据解码运算的结果得到所述读数据请求对应的数据。3.根据权利要求2所述的节能存储方法,其特征在于,所述解码运算是采用RS编码。4.根据权利要求I所述的节能存储方法,其特征在于,步骤(6)包括以下子步骤 (6-1)根据数据重构算法增加新的数据节点; (6-2)根据数据重构算法唤醒部分冗余节点; (6-3)获取其余数据节点的一块数据分片和已唤醒的冗余节点上的一块冗余分片进行...

【专利技术属性】
技术研发人员:黄建忠曹强谢长生张峰豪谢平
申请(专利权)人:华中科技大学
类型:发明
国别省市:

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

1