一种数据存储方法及系统与流程

文档序号:12469324阅读:177来源:国知局
一种数据存储方法及系统与流程
本发明涉及计算机网络领域,尤其涉及一种数据存储方法及系统。
背景技术
:分布式存储系统,是将数据按照一定规则切分并打散存储在多台独立通用存储服务器上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要,而分布式存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置存储服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。存储集群的成千上万台存储服务器可以将数据充分冗余,从而可以显著提高数据的安全性。在存储领域,通常使用年故障率(AFR)来表征磁盘的可靠性,现在市场上通用的磁盘的AFR一般是4%左右,即如果一个集群中有365块磁盘,那么一年中有磁盘损害的概率为pow(0.96,365)=0.9999996619351175,即一年中几乎肯定有磁盘失效。而对于分布式存储集群,实际上磁盘个数通常都达到了上千块,因此应对磁盘损坏成为了每一个存储系统都要解决的问题。企业在搭建存储集群时,通常都会购买很多同批次的存储服务器和磁盘,同批次的磁盘往往具备类似的硬件规格和驱动固件,即可能出现同时失效的情况,在这种情况下,某一块磁盘开始失效之后,存储于此块磁盘上的数据都处于降级的状态,更坏的是,与之同批次的其他磁盘也随之失效的概率就会很高,如果此时另外一块磁盘也失效,则一部分数据将仅剩下一个可用的副本,并且降级程度进一步恶化,如果数据不能尽快修复,降级的数据可能会因最后一个副本所在的磁盘的失效而完全丢失。处理磁盘失效问题,通常的方案是增加副本数,即由原来的三副本策略修改为四副本,这种简单粗暴的方案会严重增加企业的存储成本,另外增加副本数之后,数据的写入性能也会降低,因此不是一个好的方案。技术实现要素:针对现有现有技术存在的问题,本发明实施例提供一种数据存储方法及系统,通过优先选择降级程度高的数据组进行迁移,降低降级数据丢失的概率,从而显著提高数据安全。本发明实施例提供一种数据存储方法,包括:将每组数据组均存储到集群中的N个存储装置上,以形成数据组对应存储阵列的映射列表和集群中的可用存储装置列表;监控集群中各存储装置的数据状态;当存在丢失数据的失效存储装置时,根据各失效存储装置所在的至少一个存储阵列中各存储阵列中的失效存储装置的数量,确定与各存储阵列对应的各数据组的降级程度,其中,所述降级程度与所述数量成正比;从所述可用存储装置列表中选择可用存储装置以替换所述至少一个存储阵列中的失效存储装置;优先选择降级程度高的数据组对应的存储阵列中剩余的有效存储装置向该存储阵列中的可用存储装置迁移数据组。本发明实施例提供一种数据存储系统,包括:映射模块,将每组数据组均存储到集群中的N个存储装置上,以形成数据组对应存储阵列的映射列表和集群中的可用存储装置列表;监控模块,用于监控集群中各存储装置的数据状态;降级程度确定模块,用于当存在丢失数据的失效存储装置时,根据各失效存储装置所在的至少一个存储阵列中各存储阵列中的失效存储装置的数量,确定与各存储阵列对应的各数据组的降级程度,其中,所述降级程度与所述数量成正比;存储修复模块,用于从所述可用存储装置列表中选择可用存储装置以替换所述至少一个存储阵列中的失效存储装置;数据迁移模块,优先选择降级程度高的数据组对应的存储阵列中剩余的有效存储装置向该存储阵列中的可用存储装置迁移数据组。本发明实施例提供的数据存储方法及系统,当系统中存在存储装置失效时,优先选择降级程度高的数据组进行迁移,降低降级数据丢失的概率,保障降级数据的安全,从而显著提高系统的数据安全性和可用性。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本公开数据存储方法的流程图;图2为本公开的数据存储方法的一个实施例的流程图;图3为本公开的数据存储方法的另一个实施例的流程图;图4为本公开的数据存储方法的再一个实施例的流程图;图5为本公开数据存储系统的结构示意图;图6为本公开实施例的一种数据存储系统的结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。根据本发明实施例提供的一种数据存储方法,如图1所示,包括:将每组数据组均存储到集群中的N个存储装置上,以形成数据组对应存储阵列的映射列表和集群中的可用存储装置列表;监控集群中各存储装置的数据状态;当存在丢失数据的失效存储装置时,根据各失效存储装置所在的至少一个存储阵列中各存储阵列中的失效存储装置的数量,确定与各存储阵列对应的各数据组的降级程度,其中,所述降级程度与所述数量成正比;从所述可用存储装置列表中选择可用存储装置以替换所述至少一个存储阵列中的失效存储装置;优先选择降级程度高的数据组对应的存储阵列中剩余的存活存储装置向该存储阵列中的可用存储装置迁移数据组。请参考图2,本发明实施例提供的数据存储方法在优先选择降级程度高的数据组对应的存储阵列中剩余的存活存储装置向该存储阵列中的新存储装置迁移数据组后,还包括继续监控集群中各存储装置的数据状态,当存在新存储装置在至少一个存储阵列中完成数据组迁移时,修改与所述至少一个存储阵列对应的数据组的降级程度,基于修改后的各数据组的降级程度,优先选择降级程度高的数据组对应的存储阵列中剩余的存活存储装置向该存储阵列中的可用存储装置迁移数据组。在一些可选的实施例中,存储装置可以是各式存储器,如RAM、ROM等,也可以是磁盘或软盘等其他能够存储数据的存储介质。在一些可选的实施例中,在每个存储装置上承载至少一组数据组,以便提高存储装置的利用率,降低存储成本。在一些可选的实施例中,将每组数据组均存储到集群中的3个磁盘上,以形成数据组对应存储阵列的映射列表和集群中的可用磁盘列表,所述映射列表中的部分列表如下表1所示,所述可用磁盘列表中的部分列表如下表2所示,表1:数据组存储阵列dg1(d4,d666,d77)dg2(d4,d8,d666)表2:可用磁盘列表d110d20d456d77在本实施例中,“dg+常数”用于标记不同的数据组,“d+常数”用于标记不同的磁盘,本公开在此方面没有限制。在一些可选的实施例中,存储阵列中存储装置的位置是有顺序的,一方面,在存储阵列中位置靠前的存储装置负责接收写入的数据组,并转发给其所在存储阵列中剩余的存储装置,另一方面,当存在失效存储装置时,利用位置靠前的存储装置向新的存储装置进行数据组迁移。监控映射列表中磁盘的数据状态,如表1所示,每组数据组均存储到集群中的3个磁盘上,因此,每组数据组均有3个副本,监控映射列表中磁盘的数据状态就是监控每组数据组副本的完整性,在一些可选的实施例中,可以通过监控映射列表中磁盘的工作状态实现,如可以通过不断地对磁盘进行读写操作来监控其工作状态,也可以通过每隔20s对磁盘进行一次读写操作,还可以利用现有技术中的监控工具如smartmontools来监控磁盘的工作状态。对于具有3个副本的各数据组而言:当各数据组所对应的存储阵列中没有磁盘失效,则各数据组的降级程度为0,此时数据是安全的;当各数据组所对应的存储阵列中有一块磁盘失效,则降级程度为-1,此时数据组丢失的概率较低;当各数据组所对应的存储阵列中有两块磁盘失效,则降级程度为-2,此时数据组仅剩下1个副本,需要优先向新磁盘进行迁移;当当各数据组所对应的存储阵列中有三块磁盘失效,则降级程度为-3,此时数据组已经丢失。请参考图3,当剩余的可用存储装置的数量为两个以上时,根据剩余的各存活存储装置在存储阵列中的位置,生成存储装置恢复顺序,具体而言,存储装置恢复顺序可以为存储阵列中存储装置的位置顺序,利用位置靠前的存储装置向新的存储装置进行数据迁移。如磁盘d4失效时,确定其所在的存储阵列包括(d4,d666,d77)和(d4,d8,d666),磁盘d4的待迁移数据组包括磁盘d666和磁盘d77所共有的数据组dg1和磁盘8和磁盘d666所共有的数据组dg2,由磁盘d666向可用磁盘迁移数据组dg1,由磁盘d8向可用磁盘迁移数据组dg2,优先迁移降级程度高的数据组。数据组dg1和数据组dg2可以迁移到同一块可用磁盘上如磁盘d110,也可以迁移到不同的可用磁盘上如磁盘d110和磁盘d20。请参考图4,当失效存储装置的数量为两个以上时,根据与所述失效存储装置对应的至少两个新存储装置在存储阵列中的位置,生成存储装置恢复顺序,具体而言,所述存储装置恢复顺序可以为新存储装置在存储阵列的位置顺序,位置靠前的新存储装置先于位置靠后的新存储装置。如存储阵列(d4,d666,d77)中磁盘d4和磁盘d666均失效后,从可用磁盘列表中选择磁盘d110替换磁盘d4,磁盘d20替换磁盘d666,磁盘d77优先向磁盘d110迁移数据组,向磁盘d110迁移数据组完成后然后再向磁盘d20迁移数据组。本发明对存储装置恢复顺序不做限制,本领域技术人员可以根据不同需求具体设定。在一些可选的实施例中,可以在确定磁盘d4失效之后立即从空闲磁盘列表中选择新的磁盘替换磁盘d4,也可以在确定磁盘d4失效后一定时间内如15分钟内,磁盘d4没有修复,则从空闲磁盘列表中选择新的磁盘替换磁盘d4。失效磁盘被替换后更新映射列表。下面以两组数据组(数据组dg1和数据组dg2)为例,说明该数据存储方法。数据组dg1对应存储阵列(d4,d666,d77),数据组dg2对应存储阵列(d4,d8,d666),数据组dg1和数据组dg2的降级程度分别为0。当磁盘d4失效后,数据组dg1和数据组dg2的降级程度分别-1,对于数据组dg1,从可用磁盘列表中选择磁盘d110替换磁盘d4,对于数据组dg2,从可用磁盘列表中选择磁盘d20替换磁盘d4,则利用磁盘d666向磁盘d110迁移数据组dg1,利用磁盘d8向磁盘d20迁移数据组dg2,数据组dg1和数据组dg2同时进行迁移。在数据组dg1和数据组dg2迁移期间,磁盘d8也失效了,数据组dg2的降级程度为-2,高于数据组dg1的降级程度,为了避免数据组dg2丢失,优先迁移数据组dg2。磁盘d8失效后,从可用磁盘列表中选择磁盘d456替换磁盘d8,基于磁盘d20和磁盘d456在存储阵列中的位置,优先利用磁盘d666向磁盘d20迁移数据组dg2。当利用磁盘d666向磁盘d20迁移数据组dg2完成之后,数据组dg2的降级程度变为-1,与数据组dg1的降级程度相同,则同时迁移数据组dg1和数据组dg2。根据本发明实施例提供一种数据存储系统,如图5所示,该系统包括:映射模块100,将每组数据组均存储到集群中的N个存储装置上,以形成数据组对应存储阵列的映射列表和集群中的可用存储装置列表;监控模块200,用于监控集群中各存储装置的数据状态;降级程度确定模块300,用于当存在丢失数据的失效存储装置时,根据各失效存储装置所在的至少一个存储阵列中各存储阵列中的失效存储装置的数量,确定与各存储阵列对应的各数据组的降级程度,其中,所述降级程度与所述数量成正比;存储修复模块400,用于从所述可用存储装置列表中选择新存储装置以替换所述至少一个存储阵列中的失效存储装置;数据迁移模块500,优先选择降级程度高的数据组对应的存储阵列中剩余的有效存储装置向该存储阵列中的新存储装置迁移数据组。在可选的实施例中,该数据存储系统还包括存储恢复模块:当剩余的存活存储装置的数量为两个以上时,根据剩余的各存活存储装置在存储阵列中的位置,生成存储装置恢复顺序,然后数据迁移模块优先选择降级程度高的数据组对应的存储阵列中剩余的存活存储装置按照所述存储装置恢复顺序向该存储阵列中的新存储装置迁移数据组;当失效存储装置的数量为两个以上时,根据与所述失效存储装置对应的至少两个新存储装置在存储阵列中的位置,生成存储装置恢复顺序,然后数据迁移模块优先选择降级程度高的数据组对应的存储阵列中剩余的存活存储装置按照所述存储装置恢复顺序向该存储阵列中的新存储装置迁移数据组。该数据存储系统用于执行上述数据存储方法,并能达到与数据存储方法相同的技术效果。图6为本申请实施例提供的又一种数据存储系统1200的结构示意图,本申请具体实施例并不对用户设备1200的具体实现做限定。如图6所示,该用户设备1200可以包括:处理器(processor)1210、通信接口(CommunicationsInterface)1220、存储器(memory)1230、以及通信总线1240。其中:处理器1210、通信接口1220、以及存储器1230通过通信总线1240完成相互间的通信。通信接口1220,用于与比如客户端等的网元通信。处理器1210,用于执行程序1232,具体可以执行上述方法实施例中的相关步骤。具体地,程序1232可以包括程序代码,所述程序代码包括计算机操作指令。处理器1210可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecificIntegratedCircuit),或者是被配置成实施本申请实施例的一个或多个集成电路。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,存储模块,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1