存储数据的方法和装置与流程

文档序号:18265934发布日期:2019-07-27 09:08阅读:117来源:国知局
存储数据的方法和装置与流程

本公开是关于存储技术领域,尤其是关于一种存储数据的方法和装置。



背景技术:

随着存储技术的发展,越来越多的应用程序采用云存储来对大数据进行存储。为了保证数据的完整性,一般可以采用纠删码技术进行存储。

基于纠删码技术进行存储时,可以将需要存储的数据进行条带化,得到多个数据条带。每个数据条带又可以划分为n+m个数据块,其中包括n个原始数据块与m个校验数据块,m个校验数据块可以由n个原始数据块通过编码矩阵计算得到。然后,将上述n+m个数据块分别存储在不同的存储服务器的存储设备中,每个存储设备中可能会存储有多个数据条带的数据块。如果上述存储设备中,有不大于m个存储设备发生了损坏或不大于m台存储服务器宕机,对于存储有数据块在之上的数据条带来说,丢失了不大于m个的数据块,则可以通过剩余的数据块计算得到丢失的数据块,保证数据的完整性。

在实现本公开的过程中,发明人发现至少存在以下问题:

在存储系统中,所有数据都可能在每个存储设备中存储有数据条带的数据块。当不同的存储服务器之间损坏的存储设备数量大于m个或大于m台存储服务器宕机时,可能对所有数据都造成了无法恢复的损坏,从而,导致数据丢失的风险较高。



技术实现要素:

本公开提供一种存储数据的方法和装置,可以解决监控点的视频数据丢失的风险较高的问题。所述技术方案如下:

根据本公开实施例的第一方面,提供一种存储数据的方法,所述方法包括:

接收携带有目标数据的存储请求,其中,所述目标数据包括至少一个数据条带,每个数据条带包括多个数据块;

在预设的多个存储设备分组中,确定用于存储所述目标数据的目标存储设备分组;

对于每个数据条带,将所述数据条带中的每个数据块,分别存储在所述目标存储设备分组中的不同存储设备中。

可选的,所述接收携带有目标数据的存储请求,包括:

接收到携带有目标监控点的目标数据的存储请求;

所述在预设的多个存储设备分组中,确定用于存储所述目标数据的目标存储设备分组,包括:

根据监控点与存储设备分组的对应关系,确定所述目标监控点对应的目标存储设备分组。

可选的,所述根据监控点与存储设备分组的对应关系,确定所述目标监控点对应的目标存储设备分组,包括:

查询已存储的监控点与存储设备分组的对应关系中是否存在所述目标监控点与其对应的存储设备分组的目标对应关系;

如果存在所述目标对应关系,则根据所述目标对应关系,确定所述目标监控点对应的目标存储设备分组;

所述方法还包括:

如果不存在所述目标对应关系,则根据各个存储设备分组对应的监控点数目,确定所述目标监控点对应的目标存储设备分组,在所述监控点与存储设备分组的对应关系中,存储所述目标监控点与所述目标存储设备分组的目标对应关系。

可选的,所述接收到携带有目标监控点的目标数据条带的存储请求之前,还包括:

基于预设的规则,对所有存储设备进行分组,得到多个存储设备分组;

建立并存储监控点与存储设备分组的对应关系。

可选的,所述基于预设的规则,对所有存储设备进行分组,得到多个存储设备分组,包括:

将每个存储服务器中相同槽位号的所有存储设备划分为一个存储设备分组,得到多个存储设备分组;或

将第一预设数目个存储服务器中的所有存储设备划分为一个存储设备分组,得到多个存储设备分组;

将第二预设数目个存储服务器中相同槽位号的各存储设备划分为一个存储设备分组,得到多个存储设备分组。

可选的,所述将所述目标数据条带中的每个数据块分别存储在目标存储设备分组中的不同存储设备中之后,还包括:

记录存储每个数据块的存储设备,得到数据块与存储设备的对应关系。

可选的,所述记录存储每个数据块的存储设备,得到数据块与存储设备的对应关系之后,还包括:

接收对应发生损坏的目标存储设备的数据恢复请求;

根据所述数据块与存储设备的对应关系,确定所述目标存储设备对应的发生损坏的目标数据块;

根据所述目标数据块所属的目标数据条带中除所述目标数据块之外的其它数据块,恢复所述目标数据块,将恢复得到的目标数据块存储在更换的存储设备中。

根据本公开实施例的第二方面,提供一种存储数据的装置,所述装置包括:

第一接收模块,用于接收携带有目标数据的存储请求,其中,所述目标数据包括至少一个数据条带,每个数据条带包括多个数据块;

第一确定模块,用于在预设的多个存储设备分组中,确定用于存储所述目标数据的目标存储设备分组;

存储模块,用于对于每个数据条带,将所述数据条带中的每个数据块,分别存储在所述目标存储设备分组中的不同存储设备中。

可选的,第一接收模块用于:

接收到携带有目标监控点的目标数据的存储请求;

第一确定模块用于:

根据监控点与存储设备分组的对应关系,确定所述目标监控点对应的目标存储设备分组。

可选的,所述第一确定模块用于:

查询已存储的监控点与存储设备分组的对应关系中是否存在所述目标监控点与其对应的存储设备分组的目标对应关系;

如果存在所述目标对应关系,则根据所述目标对应关系,确定所述目标监控点对应的目标存储设备分组;

如果不存在所述目标对应关系,则根据各个存储设备分组对应的监控点数目,确定所述目标监控点对应的目标存储设备分组,在所述监控点与存储设备分组的对应关系中,存储所述目标监控点与所述目标存储设备分组的目标对应关系。

可选的,所述装置还包括:

分组模块,用于基于预设的规则,对所有存储设备进行分组,得到多个存储设备分组;

建立模块,用于建立并存储监控点与存储设备分组的对应关系。

可选的,所述分组模块用于:

将每个存储服务器中相同槽位号的所有存储设备划分为一个存储设备分组,得到多个存储设备分组;或

将第一预设数目个存储服务器中的所有存储设备划分为一个存储设备分组,得到多个存储设备分组;或

将第二预设数目个存储服务器中相同槽位号的各存储设备划分为一个存储设备分组,得到多个存储设备分组。

可选的,所述装置还包括:

记录模块,用于记录存储每个数据块的存储设备,得到数据块与存储设备的对应关系。

可选的,所述装置还包括:

第二接收模块,用于接收对应发生损坏的目标存储设备的数据恢复请求;

第二确定模块,用于根据所述数据块与存储设备的对应关系,确定所述目标存储设备对应的发生损坏的目标数据块;

恢复模块,用于根据所述目标数据块所属的目标数据条带中除所述目标数据块之外的其它数据块,恢复所述目标数据块,将恢复得到的目标数据块存储在更换的存储设备中。

根据本公开实施例的第三方面,提供一种管理服务器,所述管理服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如第一方面所述的存储数据的方法。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如第一方面所述的存储数据的方法。

本公开的实施例提供的技术方案可以包括以下有益效果:

本公开实施例中,管理服务器接收携带有目标数据的存储请求,可以在预设的多个存储设备分组中,确定用于存储目标数据的目标存储设备分组,对于每个数据条带,将数据条带中的每个数据块,分别存储在目标存储设备分组中的不同存储设备中。这样,只有当一个存储设备分组中的损坏的存储设备数量超过校验数据块的数目时才会对数据造成影响,而不是整个存储系统的损坏的存储设备数量超过校验数据块的数目就会对数据造成影响,从而,降低了数据丢失的风险。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。在附图中:

图1是根据一示例性实施例示出的一种存储数据方法的流程图;

图2是根据一示例性实施例示出的一种存储设备分组示意图;

图3是根据一示例性实施例示出的一种存储设备分组示意图;

图4是根据一示例性实施例示出的一种存储设备分组示意图;

图5是根据一示例性实施例示出的一种存储数据装置的示意图;

图6是根据一示例性实施例示出的一种存储数据装置的示意图;

图7是根据一示例性实施例示出的一种存储数据装置的示意图;

图8是根据一示例性实施例示出的一种存储数据装置的示意图;

图9是根据一示例性实施例示出的一种管理服务器的结构示意图。

通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本公开一示例性实施例提供了一种存储数据的方法,该方法可以由管理服务器实现。

管理服务器可以包括处理器、存储器、收发器等部件。处理器,可以为cpu(centralprocessingunit,中央处理单元)等,可以用于划分存储设备分组、恢复数据块等处理。存储器,可以为ram(randomaccessmemory,随机存取存储器),flash(闪存)等,可以用于存储接收到的数据、处理过程所需的数据、处理过程中生成的数据等,如监控点的视频数据、监控点与存储设备分组的对应关系、数据块与存储设备的对应关系等。收发器,可以用于与终端或其它服务器(如存储服务器)进行数据传输,收发器可以包括天线、匹配电路、调制解调器等。

存储设备可以是磁盘、iscsi/fc块设备、nas卷等,可以安装在存储服务器上,此处不作限定。

如图1所示,该方法的处理流程可以包括如下的步骤:

在步骤101中,接收携带有目标数据的存储请求。

其中,目标数据包括至少一个数据条带,每个数据条带包括多个数据块。

在一种可行的实施方式中,存储系统可能会接收到各种数据并进行存储,例如,各个用户的图片数据、视频数据、信息数据等。当存在需要存储的目标数据时,存储系统的管理服务器可以接收到携带有目标数据的存储请求。

在一种可行的实施例中,接收到的数据可能是监控点的视频数据,相应的处理可以如下:接收到携带有目标监控点的目标数据的存储请求。

在城市之中有许多监控点每时每刻都在录制安防视频,这就意味着,安防视频的数据量庞大,需要合理的存储方案。本实施例以基于纠删码的存储方案为例,每个监控点的视频都可以分割成片段,得到多个原始数据块。然后,可以通过编码矩阵,分别对每n个原始数据块计算m个校验数据块。该编码矩阵可以是范德蒙德矩阵或柯西矩阵,此处不作限定。一般来说,可以将上述n个原始数据块和m个校验数据块作为一组数据,即可以将上述n+m个数据块作为一个数据条带,数据条带是一个逻辑单元。一个数据条带可以有4+1个数据块(即4个原始数据块,1个校验数据块),或者8+2个数据块(即8个原始数据块,2个校验数据块),此处不作限定。

监控点可以安装有摄像头,在录制安防视频的过程中,可以将视频数据缓存在摄像头的存储介质或中介的服务器中。录制了一段时间后,可以将缓存的视频数据,通过上述过程进行编码后划分为多个条带。进而,可以向管理服务器发送存储请求,该存储请求中可以携带有该监控点的各个条带。后文将以一个条带的存储为例,其它条带的存储与之相同或相类似,后文将不再赘述。

可选的,在对条带进行存储之前,可以预先对存储服务器的存储设备进行分组,相应的处理可以如下:基于预设的规则,对所有存储设备进行分组,得到多个存储设备分组;建立并存储监控点与存储设备分组的对应关系。

在一种可行的实施方式中,存储系统中可以使用多台存储服务器对安防视频的视频数据进行存储,管理服务器对存储任务进行调度。每台存储服务器和管理服务器可以不在同一物理位置上,例如不在一个机房中,每个服务器之间可以通过网络进行通信。

一台存储服务器中可以包括多个存储设备,例如,如果有10台存储服务器,每台存储服务器中有24个存储设备,则可以有240个存储设备对视频数据进行存储。在对条带进行存储之前,可以根据技术人员预先设置的规则,对所有的存储设备进行分组,得到多个存储设备分组,例如,将上述240个存储设备分为10组,每组有24个存储设备。然后,可以将各个监控点分配给固定的存储设备分组,即某个监控点的视频数据仅会存储在某个固定的存储设备分组中,而存储设备分组可以存储有多个监控点的视频数据。值得说明的是,本实施例中,一个存储设备分组对应的监控点不是所有监控点,即一个存储设备分组中不会存储有所有监控点的视频数据。具体的,可以是通过hash(哈希)算法建立监控点到存储设备分组的映射关系,然后可以该hash算法存储下来,即将监控点与存储设备分组的对应关系存储到管理服务器中。

可选的,可以横向划分存储设备分组,也可以纵向划分存储设备分组,相应的处理可以如下:将每个存储服务器中相同槽位号的所有存储设备划分为一个存储设备分组,得到多个存储设备分组;或,将第一预设数目个存储服务器中的所有存储设备划分为一个存储设备分组,得到多个存储设备分组;或,将第二预设数目个存储服务器中相同槽位号的各存储设备划分为一个存储设备分组,得到多个存储设备分组。

在一种可行的实施方式中,对存储设备分组的划分可以有两大原则,一种是横向分组,即将固定的存储设备划分为一组;另一种是纵向分组,即将固定的存储服务器中的存储设备划分为一组。

对于横向分组,一种优选的方案是将每个存储服务器中相同槽位号的所有存储设备划分为一个存储设备分组,存储服务器中可以有多个槽位号,即可得到多个存储设备分组。如图2所示的存储设备分组示意图,存储服务器中有24个安装有存储设备的槽位,槽位号分别为0-23号,对于10台存储服务器,可以将0号槽位上的10个存储设备划分为一个存储设备分组,1号槽位上的10个存储设备划分为一个存储设备分组,以此类推,可以得到24个存储设备分组。除了根据相同槽位号进行分组,还可以是在每个存储服务器中随机选取一个存储设备得到一个存储设备分组,不同存储设备分组之间的存储设备不同,这样也可以得到多个存储设备分组,此处不作限定。

对于纵向分组,可以是将预设数目个存储服务器中的所有存储设备划分为一个存储设备分组,预设数目可以根据条带的构成决定,一般来说,预设数目可以大于或等于n+m。如图3所示的存储设备分组示意图,对于10台存储服务器,可以将前5台存储服务器中的所有存储设备划分为一个存储设备分组,后5台存储服务器中的所有存储设备划分为另一个存储设备分组,则可以得到2个存储设备分组。

还可以结合上述两大原则进行分组,即在预设数目个存储服务器中,将相同槽位的存储设备划分为一个存储设备分组。如图4所示的存储设备分组示意图,对于10台存储服务器,可以将前5台存储服务器中的0号槽位上的存储设备划分为一组,1号槽位上的存储设备划分为一组,以此类推前5台存储服务器中可以得到24个存储设备分组,同理后5台存储服务器中也可以得到24个存储设备分组,一共得到48个存储设备分组。

具体选用何种方式划分存储设备分组,技术人员可以根据需要进行选取,此处不作限定。

在步骤102中,在预设的多个存储设备分组中,确定用于存储目标数据的目标存储设备分组。

在一种可行的实施方式中,管理服务器可以将目标数据存储在指定的目标存储设备分组中,该目标存储设备分组可以是在接收到目标数据的存储请求时,为目标数据实时分配的目标存储设备分组,也可以是在接收到目标数据的存储请求之前,就已经为目标数据分配了的目标存储设备分组,此处不作限定。

可选的,对于监控点的视频数据,可以根据监控点与存储设备分组的对应关系,确定目标监控点对应的目标存储设备分组。

在一种可行的实施方式中,当管理服务器接收到存储请求之后,可以将存储请求中的目标监控点的标识读取出来。然后,根据上述过程中存储下来的监控点与存储设备分组的对应关系,确定该目标监控点对应的目标存储设备分组。如果监控点与存储设备分组的对应关系是表格的形式,则可以在对应关系表中查找该目标监控点对应的目标存储设备分组;如果监控点与存储设备分组的对应关系是函数的形式,如hash算法,则可以根据目标监控点的标识计算得到对应的目标存储设备分组。

可选的,在确定目标监控点对应的目标存储设备分组之前,管理服务器还可以查询已存储的监控点与存储设备分组的对应关系中是否存在目标监控点与其对应的存储设备分组的目标对应关系,后续的处理可以如下:如果存在目标对应关系,则根据目标对应关系,确定目标监控点对应的目标存储设备分组;如果不存在目标对应关系,则根据各个存储设备分组对应的监控点数目,确定目标监控点对应的目标存储设备分组,在监控点与存储设备分组的对应关系中,存储目标监控点与目标存储设备分组的目标对应关系。

在一种可行的实施方式中,管理服务器可以不预先为所有监控点建立监控点与存储设备分组的对应关系,而是当首次接收到某一监控点的视频数据时,才为该监控点建立监控点与存储设备分组的对应关系。

在存储目标监控点的数据时,如果管理服务器查询到在已存储的监控点与存储设备分组的对应关系中,存在目标监控点与其对应的存储设备分组的目标对应关系,即表明目标监控点已有视频数据存储在目标存储设备分组中,则可以根据该目标对应关系确定目标监控点对应的目标存储设备分组,具体确定过程上面已经介绍,此处不再赘述。

如果在已存储的监控点与存储设备分组的对应关系中,不存在目标监控点与其对应的存储设备分组的目标对应关系,即表明目标监控点的视频数据是首次存储,则管理服务器可以确定各个存储设备分组中的监控点数目。然后,可以根据各个存储设备分组对应的监控点数目,确定目标监控点对应的目标存储设备分组。例如,可以将监控点数目最少的任一存储设备分组,或监控点数目小于预设阈值的任一存储设备分组,作为目标监控点对应的目标存储设备分组。然后,管理服务器可以将目标监控点与目标存储设备分组的目标对应关系,添加到已存储的对应关系表中。

这样,在新增监控点时,可以在已有对应关系的基础上添加新的对应关系,而不需要重新建立所有的对应关系,提高建立对应关系的灵活性,同时,将新增监控点的视频数据存储到监控点数目较少的存储设备分组中,可以保证每个存储设备分组存储的监控点数目的均衡性。

在步骤103中,对于每个数据条带,将数据条带中的每个数据块,分别存储在目标存储设备分组中的不同存储设备中。

在一种可行的实施方式中,当确定下目标存储设备分组后,管理服务器可以在该目标存储设备分组中,为目标数据条带的每个数据块选取存储的存储设备,一般来说,不同的数据块存储在不同的存储设备当中。然后,管理服务器可以分别将每个数据块发送给存储的存储设备对应的存储服务器,同时,还会发送对应存储设备的标识。然后,存储服务器可以将接收到的数据块存储到对应的存储设备当中。这样,对于监控点的视频数据来说,目标监控点的视频数据只会存储在目标存储设备分组中,当目标存储设备分组之外的存储设备发生损坏时,对目标监控点的视频数据没有影响。

可选的,在存储数据块之后,管理服务器可以记录存储每个数据块的存储设备,得到数据块与存储设备的对应关系。

在一种可行的实施方式中,为了后续数据的调取或恢复,需要将数据块的存储位置记录下来。在存储数据块之后,管理服务器可以记录存储每个数据块的存储设备,得到数据块与存储设备的对应关系并进行存储,该对应关系可以是表格的形式或其他形式,此处不作限定。

可选的,当存储设备发生损坏时,对于满足恢复条件的数据块,可以通过对应数据条带中的其它数据块计算得到,相应的处理可以如下:接收对应发生损坏的目标存储设备的数据恢复请求;根据数据块与存储设备的对应关系,确定目标存储设备对应的发生损坏的目标数据块;根据目标数据块所属的目标数据条带中除目标数据块之外的其它数据块,恢复目标数据块,将恢复得到的目标数据块存储在更换的存储设备中。

其中,更换的存储设备可以是安装于目标存储设备的槽位上以替换目标存储设备的存储设备。

在一种可行的实施方式中,当检测到存储设备发生损坏时,技术人员可以将损坏的存储设备从槽位中取下来,替换上更换的存储设备。或者,当存储服务器发生整机故障时,可以用新的存储服务器代替故障的存储服务器。当管理服务器检测到存储设备或存储服务器发生替换,或者技术人员在管理服务器上进行相应的操作时,可以触发对应发生损坏的目标存储设备的数据恢复请求。然后,管理服务器可以根据数据块与存储设备的对应关系,查找出该目标存储设备上存储的数据块。由于目标存储设备已损坏,其上存储的数据块也已损坏,而根据纠删码技术的特点,如果一个数据条带中损坏的数据块小于m,则可以根据余下的数据块计算得到丢失的数据块。实际情况中,发生损坏的存储设备可能不止一个,则需要根据损坏的数据块来判断可以恢复的数据块,可以恢复的数据块即为目标数据块。

然后,管理服务器可以获取目标数据块所属的目标数据条带中的其它数据块,然后根据数据块与存储设备的对应关系,查找存储上述其它数据块的存储设备。进而,管理服务器可以向查找到的每个存储设备所属的存储服务器,发送调取上述其它数据块的请求,然后存储服务器可以将调取的数据块发送给管理服务器。管理服务器在接收到目标数据条带中的其它数据块后,可以计算得到损坏的目标数据块,即恢复了目标数据块。然后,可以将恢复得到的目标数据块发送给对应的存储服务器,该存储服务器可以将该目标数据块存储到更换的存储设备中。

经过上述过程,一个存储设备分组中如果损坏不超过m个存储设备,可以恢复损坏的数据块,则对该存储设备分组中存储的数据没有影响。而对于整个存储系统来说,只要每个存储设备分组中损坏的存储设备数量不超过m个,即使损坏的存储设备总数量超过了m个,也可以保证对整个存储系统的数据没有影响,提升存储系统的坏盘容忍度。

并且,即使一个存储设备分组中损坏的存储设备数量超过了m个,对一些数据条带造成了不可恢复的损坏,也只是对该存储设备分组对应的监控点的视频数据造成了影响,存储在其他存储设备分组的监控点的视频数据不会受到影响,对于安防视频来说具有重要的意义。在恢复数据的过程中,仅仅会从存储设备分组中的其它存储设备调取未损坏的数据,而不需要向存储系统中所有存储设备调取数据,这样可以减小网络传输带宽的占用,并且可以减小存储系统中存储设备的工作压力,保证存储系统的运行。

本公开实施例中,管理服务器接收携带有目标数据的存储请求,可以在预设的多个存储设备分组中,确定用于存储目标数据的目标存储设备分组,对于每个数据条带,将数据条带中的每个数据块,分别存储在目标存储设备分组中的不同存储设备中。这样,只有当一个存储设备分组中的损坏的存储设备数量超过m个才会对数据造成影响,而不是整个存储系统的损坏的存储设备数量超过m个就会对数据造成影响,从而,降低了数据丢失的风险。

本公开又一示例性实施例提供了一种存储数据的装置,该装置可以是上述实施例中的管理服务器,如图5所示,该装置包括:

第一接收模块510,用于接收携带有目标数据的存储请求,其中,所述目标数据包括至少一个数据条带,每个数据条带包括多个数据块;

第一确定模块520,用于在预设的多个存储设备分组中,确定用于存储所述目标数据的目标存储设备分组;

存储模块530,用于对于每个数据条带,将所述数据条带中的每个数据块,分别存储在所述目标存储设备分组中的不同存储设备中。

可选的,第一接收模块510用于:

接收到携带有目标监控点的目标数据的存储请求;

第一确定模块520用于:

根据监控点与存储设备分组的对应关系,确定所述目标监控点对应的目标存储设备分组。

可选的,所述第一确定模块520用于:

查询已存储的监控点与存储设备分组的对应关系中是否存在所述目标监控点与其对应的存储设备分组的目标对应关系;

如果存在所述目标对应关系,则根据所述目标对应关系,确定所述目标监控点对应的目标存储设备分组;

如果不存在所述目标对应关系,则根据各个存储设备分组对应的监控点数目,确定所述目标监控点对应的目标存储设备分组,在所述监控点与存储设备分组的对应关系中,存储所述目标监控点与所述目标存储设备分组的目标对应关系。

可选的,如图6所示,所述装置还包括:

分组模块540,用于基于预设的规则,对所有存储设备进行分组,得到多个存储设备分组;

建立模块550,用于建立并存储监控点与存储设备分组的对应关系。

可选的,所述分组模块540用于:

将每个存储服务器中相同槽位号的所有存储设备划分为一个存储设备分组,得到多个存储设备分组;或,

将第一预设数目个存储服务器中的所有存储设备划分为一个存储设备分组,得到多个存储设备分组;或,

将第二预设数目个存储服务器中相同槽位号的各存储设备划分为一个存储设备分组,得到多个存储设备分组。

可选的,如图7所示,所述装置还包括:

记录模块560,用于记录存储每个数据块的存储设备,得到数据块与存储设备的对应关系。

可选的,如图8所示,所述装置还包括:

第二接收模块570,用于接收对应发生损坏的目标存储设备的数据恢复请求;

第二确定模块580,用于根据所述数据块与存储设备的对应关系,确定所述目标存储设备对应的发生损坏的目标数据块;

恢复模块590,用于根据所述目标数据块所属的目标数据条带中除所述目标数据块之外的其它数据块,恢复所述目标数据块,将恢复得到的目标数据块存储在更换的存储设备中。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本公开实施例中,管理服务器接收携带有目标数据的存储请求,可以在预设的多个存储设备分组中,确定用于存储目标数据的目标存储设备分组,对于每个数据条带,将数据条带中的每个数据块,分别存储在目标存储设备分组中的不同存储设备中。这样,只有当一个存储设备分组中的损坏的存储设备数量超过m个才会对数据造成影响,而不是整个存储系统的损坏的存储设备数量超过m个就会对数据造成影响,从而,降低了数据丢失的风险。

需要说明的是:上述实施例提供的存储数据的装置在存储数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将管理服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的存储数据的装置与存储数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本公开再一示例性实施例示出了一种管理服务器的结构示意图。

参照图9,管理服务器900包括处理组件922,其进一步包括一个或多个处理器,以及由存储器932所代表的存储器资源,用于存储可由处理部件922的执行的指令,例如应用程序。存储器932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件922被配置为执行指令,以执行上述存储数据的方法。

管理服务器900还可以包括一个电源组件926被配置为执行管理服务器900的电源管理,一个有线或无线网络接口950被配置为将管理服务器900连接到网络,和一个输入输出(i/o)接口958。管理服务器900可以操作基于存储在存储器932的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或类似。

管理服务器900可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

接收携带有目标数据的存储请求,其中,所述目标数据包括至少一个数据条带,每个数据条带包括多个数据块;

在预设的多个存储设备分组中,确定用于存储所述目标数据的目标存储设备分组;

对于每个数据条带,将所述数据条带中的每个数据块,分别存储在所述目标存储设备分组中的不同存储设备中。

可选的,所述接收携带有目标数据的存储请求,包括:

接收到携带有目标监控点的目标数据的存储请求;

所述在预设的多个存储设备分组中,确定用于存储所述目标数据的目标存储设备分组,包括:

根据监控点与存储设备分组的对应关系,确定所述目标监控点对应的目标存储设备分组。

可选的,所述根据监控点与存储设备分组的对应关系,确定所述目标监控点对应的目标存储设备分组,包括:

查询已存储的监控点与存储设备分组的对应关系中是否存在所述目标监控点与其对应的存储设备分组的目标对应关系;

如果存在所述目标对应关系,则根据所述目标对应关系,确定所述目标监控点对应的目标存储设备分组;

所述方法还包括:

如果不存在所述目标对应关系,则根据各个存储设备分组对应的监控点数目,确定所述目标监控点对应的目标存储设备分组,在所述监控点与存储设备分组的对应关系中,存储所述目标监控点与所述目标存储设备分组的目标对应关系。

可选的,所述接收到携带有目标监控点的目标数据条带的存储请求之前,还包括:

基于预设的规则,对所有存储设备进行分组,得到多个存储设备分组;

建立并存储监控点与存储设备分组的对应关系。

可选的,所述基于预设的规则,对所有存储设备进行分组,得到多个存储设备分组,包括:

将每个存储服务器中相同槽位号的所有存储设备划分为一个存储设备分组,得到多个存储设备分组;或,

将第一预设数目个存储服务器中的所有存储设备划分为一个存储设备分组,得到多个存储设备分组;

将第二预设数目个存储服务器中相同槽位号的各存储设备划分为一个存储设备分组,得到多个存储设备分组。

可选的,所述将所述目标数据条带中的每个数据块分别存储在目标存储设备分组中的不同存储设备中之后,还包括:

记录存储每个数据块的存储设备,得到数据块与存储设备的对应关系。

可选的,所述记录存储每个数据块的存储设备,得到数据块与存储设备的对应关系之后,还包括:

接收对应发生损坏的目标存储设备的数据恢复请求;

根据所述数据块与存储设备的对应关系,确定所述目标存储设备对应的发生损坏的目标数据块;

根据所述目标数据块所属的目标数据条带中除所述目标数据块之外的其它数据块,恢复所述目标数据块,将恢复得到的目标数据块存储在更换的存储设备中。

本公开实施例中,管理服务器接收携带有目标数据的存储请求,可以在预设的多个存储设备分组中,确定用于存储目标数据的目标存储设备分组,对于每个数据条带,将数据条带中的每个数据块,分别存储在目标存储设备分组中的不同存储设备中。这样,只有当一个存储设备分组中的损坏的存储设备数量超过m个才会对数据造成影响,而不是整个存储系统的损坏的存储设备数量超过m个就会对数据造成影响,从而,降低了数据丢失的风险。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

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