数据中心环境下一种面向节能的高可靠数据存储方法

文档序号:6428426阅读:240来源:国知局
专利名称:数据中心环境下一种面向节能的高可靠数据存储方法
技术领域
本发明涉及分布式文件系统中的数据存储方法,尤其是在面向数据中心节能的条件下,提供一种数据高可靠存储的方法。
背景技术
最近几年,数据中心的能耗问题正受到越来越多的关注。目前数据中心的高功耗、 高开销严重制约了其规模的扩展,功耗相关的成本如供电系统的成本、降温系统的成本、 容错备份的成本之和将会超过计算资源的成本,因此如何降低功耗、节约成本已经成为学术界和工业界十分关注的问题。研究人员发现数据中心的利用率大部分时间都在20%到 30%之间,然而对应的能耗却占到利用率100%下所消耗能量的60%以上,即能耗与工作量不成正比,造成了严重的功耗浪费。在这个背景下,一些学者提出了关闭服务器来减少功耗,然而数据的可靠性将会降低。随着云计算的兴起,越来越多的数据中心关注数据密集型计算,通过部署大量成本较低的机器并将计算与存储结合在一起,提供一种针对大规模数据集并行处理的服务模式,典型的如Google、Yahoo !和Facebook等。这种计算模式的效率严重依赖于底层的分布式文件系统,它需要将数据均勻分布到整个集群中以提高并行计算的效率,并且需要数据冗余机制来应对节点失效时的数据恢复,即要有较高的容错性。因此典型的分布式系统如GFS、HDFS,都采用类似随机的数据存储方法,即在副本因子是3的情况下,第一个副本存储在本地节点上,第二个副本随机存储在同一机架的不同节点上,最后一个副本随机存储在不同机架的某个节点上。然而在关闭节点的情况下,很有可能会导致某些数据的所有副本都丢失,严重影响用户数据的可靠性和服务的持续性。数据可靠性包括两方面的因素。一是数据可用性,即在关闭节点后依然能够保证数据被立刻访问到,这就要求所有数据至少有一个副本存放在运行的节点上。数据可用性的好坏一般用在保证数据副本不丢失的情况下,最多能够关闭的节点数量来衡量。数据可用性越好,关闭节点的数量就越多,功耗降低得越多。一是数据恢复能力,即关闭节点后数据副本会丢失,为了保证数据的冗余度,需要恢复数据副本,这就要求待恢复的数据副本在大量的剩余节点上有备份,这些剩余节点都可以参与失效恢复,提供较强的数据恢复能力。 因此,数据恢复能力的高低一般用在关闭节点的情况下,最多能够参与数据失效恢复的节点数量来衡量。然而在面向节能关闭节点的情况下,现有的数据存储方法都不能很好地同时兼顾这两方面的因素。很多研究人员都致力于设计新的数据存储方法来解决上述问题。第一类方法是在GFS、HDFS的随机数据存储方法下,提出covering subset方法,即维护集群的一个子集 subset,保证所有数据在存放时都至少维持一个副本存放在这个子集中,子集之外的节点可以全部关掉。这种方法可以关闭大量的节点、降低很多功耗,同时维持数据可用性。然而它的数据恢复能力依赖于整个集群的节点,即一旦子集中的某个节点失效,需要将子集之外的所有节点开启以恢复数据,代价很高。这类方法只考虑了数据可用性,而没有考虑数据恢复能力。在以低成本机器为主的集群中,节点失效是很常见的,较差的恢复能力降低了数据可靠性,导致服务不连续甚至客户的流失。第二类方法是将数据顺序放置方法用于关闭节点之中。这类方法采取与随机方法完全不同的数据放置方式,如k个副本因子,一块数据的所有副本都放在k个连续的节点上。这种方法很自然地适用于节点关闭,即只要每连续k个节点保证有一个是活跃的就能保持数据可用性。然而其数据恢复能力依然较低,当一个节点失效时,只有在该节点两边的各k-1个节点可以参与数据失效恢复。因为这种数据顺序放置方法完全剔除了随机的因素,一个节点上的数据只能在某几个节点上有副本,不能均勻分布在大量的节点上,导致数据恢复能力差。综上所述,在面向节能关闭节点的情况下,目前的数据存储方法都不能很好地兼顾数据可用性和数据恢复能力,导致数据不可靠。在GFS、HDFS的随机方法下,数据恢复能力很强,然而关闭任意k个节点都会存在数据丢失的可能性。Covering subset方法能够保证数据可用性,但它的数据恢复需要开启所有节点,代价很高。在数据顺序放置方法下,大量的节点可以被关闭同时保持数据可用性,然而它的数据恢复能力较差。如何在面向节能关闭节点下,既能关闭大量的节点而不丢失数据,同时又能提供较高的数据恢复能力是本领域技术人员极为关注的技术问题。

发明内容
本发明要解决的技术问题是,在面向节能关闭节点情况下,提供一种混合式的高可靠数据存储方法。这种存储方法允许关闭大量的节点来降低功耗,同时保证所有数据都至少有一个副本存放在活跃的节点上,保持数据的可用性。当有节点失效时,该存储方法能够保证失效数据在剩余大量节点上存有副本,提供较强的数据恢复能力。本发明技术方案是针对多机架集群,首先将每个机架内部节点编号形成逻辑环, 整个集群分成互不相交的环。然后采取机架间随机放置、机架内顺序放置的方式,副本按序交替使用这两种数据存储方式。机架内顺序放置是指在机架内逻辑环中,当前数据副本存放在前一个副本所在节点的下一个节点上,这样能够在关闭一半节点的情况下保证数据可用性。机架间随机放置是指在保证数据均衡的条件下将当前数据副本随机存放在前一个副本所在机架之外的某个节点上。因为单个节点上存储的数据块数量是很多的,随机存储方式使得这些数据块的副本分散存储到其余节点上。这样当有节点失效时,存储在该节点上的数据块在其它大量节点上存在副本,这些节点都可以参与失效恢复,从而具有较强的数据恢复能力。具体的技术方案是第一步集群划分,将机架内部节点编号形成逻辑环,机架间节点编号形成互不相交的环,方法是确定集群内的机架数量n,将节点编号为Nu,i表示机架编号,j表示机架内节点编号,i按顺序依次编号,取值从0到n-1。机架i内部节点数量为Mi,机架内节点按顺序编号,j取值从0到Mi-L节点Nu的后继节点编号为,即每个机架内部都独立形成逻辑环。第二步将待存储文件进行划分,确定数据备份数量。方法是将文件分割成大小相等(bMB)的数据块,若文件大小为SMB,则分为「%]个数据块,b由经验值确定(当b为64MB或128MB时,集群面向数据密集型计算计算性能较高)。数据块按在文件中的先后顺序形成队列queue,长度为A =「%]。根据用户定义的副本因子k确定每个数据块的备份数量,即每个数据块的备份数量为k。第三步采用混合式数据存储方法,为队列queue中每个数据块确定副本放置位置。方法是3. 1 初始化队列queue中待存储的数据块数量c,c = h。3. 2 将当前数据块指针t指向queue队列头的数据块。3. 3 如果t彡c,转3. 4,否则转3. 8。3. 4 为指针t指向的数据块的k个副本确定存储位置,令数据块副本编号ρ初始值为1。3. 5:如果ρ彡k,转3. 6,否则转3. 7。3. 6 采用混合式数据存储策略为数据块副本确定存储位置,方法为3. 6. 1 若ρ = 1,采取随机存储策略,在集群中随机选择一个机架i,并根据数据负载均衡原则在机架i中选择一个节点作为存储位置,将t指向的数据块的第ρ个副本存储在该存储位置,P = P+1,转3. 5。3. 6. 2 若ρ兴1且为奇数,采用随机存储策略,已知副本p_l存储在机架i上,在除机架i的其它机架中随机选择一个,根据数据负载均衡原则在该机架中选择一个节点作为存储位置,将t指向的数据块的第P个副本存储在该存储位置,ρ = p+1,转3. 5。3. 6. 3 若ρ为偶数,采用顺序存储策略,已知副本P-I存储在节点Nu上,则选择节点Nu的后继节点作为存储位置,将t指向的数据块的第ρ个副本存储在该存储位置,ρ = p+1,转 3. 5。3. 7 :t = t+1,转 3. 3。3. 8:结束。采用本发明能达到以下有益效果1.本发明是在面向数据中心节能、关闭节点的情况下,提出的一种混合式的高可靠数据存储方法。它既能支持大规模节点关闭、降低功耗,又能保证数据的可靠性。2.本发明结合了随机存储方法较强的数据恢复能力和顺序存储方法的高数据可用性,每个数据块都至少有两个副本存放在连续的节点上,使得在最多关闭集群一半节点的情况下,依然能够保证数据可用性。每个数据块有些副本是随机放置的,使得当节点失效时,它的数据在大量的节点上存在副本,数据恢复能力强。3.本方法有效解决了数据中心能耗和数据可靠性的问题,在大范围降低能耗的同时兼顾了数据可靠性。在以海量数据处理为主的应用模式中,该方法可以提供底层的存储支撑。


图1是本发明总体流程图;图2是本发明混合式数据存储的流程图。
具体实施方式
图1是本发明总体流程图第一步集群划分,对每个机架内部节点进行编号,将整个集群形成互不相交的多个逻辑环。第二步将待存储文件进行划分,确定数据备份数量。第三步采用混合式数据存储方法,为数据块副本选择存放位置。图2是本发明第三步采用混合式存储方法存放数据的流程图。3. 1 初始化队列queue中待存储的数据块数量c,c = h。3. 2 将当前数据块指针t指向queue队列头的数据块。3. 3 如果t彡c,转3. 4,否则转3. 8。3. 4 为指针t指向的数据块的k个副本确定存储位置,令数据块副本编号ρ初始值为1。3. 5:如果ρ彡k,转3. 6,否则转3. 7。3. 6 采用混合式数据存储策略为数据块副本确定存储位置,方法为3. 6. 1 若ρ = 1,采取随机存储策略,在集群中随机选择一个机架i,并根据数据负载均衡原则在机架i中选择一个节点作为存储位置,将t指向的数据块的第ρ个副本存储在该存储位置,P = P+1,转3. 5。3. 6. 2 若ρ兴1且为奇数,采用随机存储策略,已知副本p_l存储在机架i上,在除机架i的其它机架中随机选择一个,根据数据负载均衡原则在该机架中选择一个节点作为存储位置,将t指向的数据块的第P个副本存储在该存储位置,ρ = p+1,转3. 5。3. 6. 3 若ρ为偶数,采用顺序存储策略,已知副本P-I存储在节点Nij上,则选择节点Nu的后继节点作为存储位置,将t指向的数据块的第ρ个副本存储在该存储位置,ρ = p+1,转 3. 5。3. 7 :t = t+1,转 3. 3。3. 8:结束。
权利要求
1.一种数据中心环境下一种面向节能的高可靠数据存储方法,其特征在于包括以下步骤第一步集群划分,将机架内部节点编号形成逻辑环,机架间节点编号形成互不相交的环,方法是确定集群内的机架数量n,将节点编号为Nu,i表示机架编号,j表示机架内节点编号,i按顺序依次编号,取值从0到n-1 ;机架i内部节点数量为Mi,机架内节点按顺序编号,j取值从0到Mi-I ;节点Nu的后继节点编号为;第二步将待存储文件进行划分,确定数据备份数量。方法是将文件分割成大小相等的数据块,若文件大小为SMB,数据块大小为bMB,则分为「%]个数据块,b由经验值确定,数据块按在文件中的先后顺序形成队列queue,长度为λ =「%];根据用户定义的副本因子k确定每个数据块的备份数量,即每个数据块的备份数量为k ;第三步采用混合式数据存储方法,为队列queue中每个数据块确定副本放置位置,方法是3. 1 初始化队列queue中待存储的数据块数量c,c = h ; 3. 2 将当前数据块指针t指向queue队列头的数据块; 3. 3 如果t < c,转3. 4,否则转3. 8 ;3. 4 为指针t指向的数据块的k个副本确定存储位置,令数据块副本编号ρ初始值为1 ;3. 5 如果ρ < k,转3. 6,否则转3. 7 ;3. 6 采用混合式数据存储策略为数据块副本确定存储位置,方法为 3. 6. 1 若ρ = 1,采取随机存储策略,在集群中随机选择一个机架i,并根据数据负载均衡原则在机架i中选择一个节点作为存储位置,将t指向的数据块的第ρ个副本存储在该存储位置,P = p+1,转3.5 ;3. 6. 2 若ρ兴1且为奇数,采用随机存储策略,已知副本p-1存储在机架i上,在除机架i的其它机架中随机选择一个,根据数据负载均衡原则在该机架中选择一个节点作为存储位置,将t指向的数据块的第ρ个副本存储在该存储位置,ρ = p+1,转3. 5 ;3. 6. 3 若ρ为偶数,采用顺序存储策略,已知副本p-1存储在节点Nij上,则选择节点 Nij的后继节点作为存储位置,将t指向的数据块的第ρ个副本存储在该存储位置, P = p+1,转 3. 5 ;3. 7 :t = t+1,转 3. 3 ; 3. 8 结束。
2.如权利要求1所述的数据中心环境下一种面向节能的高可靠数据存储方法,其特征在于b为64MB或128MB。
全文摘要
本发明公开了一种数据中心环境下一种面向节能的高可靠数据存储方法,要解决的技术问题是,在面向节能关闭节点情况下,提供一种混合式的高可靠数据存储方法。这种存储方法允许关闭大量的节点来降低功耗,同时保证所有数据都至少有一个副本存放在活跃的节点上,保持数据的可用性。技术方案是先对集群进行划分,将机架内部节点编号形成逻辑环,机架间节点编号形成互不相交的环;然后将待存储文件进行划分,确定数据备份数量;接着采用混合式数据存储方法,为队列queue中每个数据块确定副本放置位置。本发明既能支持大规模节点关闭、降低功耗,又能保证数据的可靠性,数据恢复能力强,有效解决了数据中心能耗和数据可靠性的问题。
文档编号G06F11/14GK102306157SQ201110194308
公开日2012年1月4日 申请日期2011年7月12日 优先权日2011年7月12日
发明者任怡, 何连跃, 吴庆波, 廖湘科, 戴华东, 李姗姗, 林彬, 王蕾, 黄辰林 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1