一种数据存储、重构方法和装置、及电子设备与流程

文档序号:16530907发布日期:2019-01-05 10:44阅读:239来源:国知局
一种数据存储、重构方法和装置、及电子设备与流程

本发明涉及数据处理技术领域,特别涉及一种数据存储、重构方法和装置、及电子设备。



背景技术:

目前,为了保证所存储数据的安全,常常需要基于纠删码(erasurecoding,ec)对数据进行存储。

例如,在存储目标数据时,利用纠删码策略:4+1将该目标数据分割成4个原始片段,并基于这4个原始片段进行扩展、编码,得到1个冗余片段,进而将这4个原始片段和1个冗余片段分别存储至各个存储对象中。这样,如果某个存储对象中的数据丢失,则可以根据未丢失的原始片段及冗余片段对丢失的数据片段进行重构,从而可以保证该目标数据的安全。

但是,由于现有的存储对象常常位于存储设备中,而存储设备的容量已可以达到12tb(terabyte,万亿字节),当通过上述存储方式存储了12tb数据的存储设备出现故障时,需要通过网络从其他存储对象中获取大量数据,然后使用纠删码策略恢复12tb的数据,才能实现对该存储设备所存储的12tb数据的重构,重构效率非常低。



技术实现要素:

本发明实施例的目的在于提供一种数据存储、重构方法和装置、及电子设备,以提高重构效率。

第一方面,本发明实施例提供了一种数据存储方法,所述方法可以包括:

当接收到针对目标数据的存储指令时,基于预设的第一比例,确定所述目标数据所对应的纠删码策略,其中,所述纠删码策略包括第一纠删码策略和/或第二纠删码策略,所述第一纠删码策略的安全级别高于所述第二纠删码策略,所述第一比例为:第一纠删码策略的使用次数占纠删码策略使用总次数的比例;

基于所确定的纠删码策略,对所述目标数据进行切片和冗余处理,得到所述目标数据对应的多个数据片段;

将所述多个数据片段分别存储于不同存储设备的存储对象中。

可选地,在本发明实施例的一种实现方式中,所述将所述多个数据片段分别存储于不同存储设备的存储对象中的步骤,可以包括:

生成第一映射关系,所述第一映射关系中至少记录有:所述多个数据片段和各个存储对象的对应关系,所述多个数据片段和所述纠删码策略的对应关系,其中,所述各个存储对象位于不同的存储设备;

基于所述第一映射关系,将所述多个数据片段分别存储于所述各个存储对象中。

可选地,所述第一映射关系中还记录有:所述目标数据所对应的标识与所述多个数据片段的对应关系。

可选地,在本发明实施例的另一种实现方式中,所述将所述多个数据片段分别存储于不同存储设备的存储对象中的步骤,可以包括:

获得所确定的纠删码策略所对应的目标条带,其中,当所述纠删码策略对应n份数据片段,所述n份数据片段=k份原始片段+m份冗余片段时,所述目标条带中包含n个存储对象,所述n个存储对象位于不同的存储设备;

生成第二映射关系,其中,所述第二映射关系中至少记录有:所述多个数据片段与所述目标条带中的各个存储对象的对应关系,以及所述目标条带与所确定的纠删码策略的对应关系,其中,所述各个存储对象位于不同的存储设备;

基于所述第二映射关系,将所述多个数据片段分别存储至所述目标条带中的各个存储对象中。

可选地,当所确定的纠删码策略包括第一纠删码策略和第二纠删码策略时,所述基于所确定的纠删码策略,对所述目标数据进行切片和冗余处理,得到所述目标数据对应的多个数据片段的步骤,可以包括:

将所述目标数据分割为第一目标子数据和第二目标子数据;

基于所述第一纠删码策略,对所述第一目标子数据进行切片和冗余处理,得到所述第一目标子数据对应的多个第一数据片段;基于所述第二纠删码策略,对所述第二目标子数据进行切片和冗余处理,得到所述第二目标子数据对应的多个第二数据片段;

相应地,所述将所述多个数据片段分别存储至不同存储设备的存储对象中的步骤,可以包括:

将所述多个第一数据片段分别存储至不同存储设备的第一存储对象中,并将所述多个第二数据片段分别存储至不同存储设备的第二存储对象中。

第二方面,本发明实施例提供了一种数据重构方法,所述方法可以包括:

检测至少两个存储设备是否下线;其中,所述至少两个存储设备所存储的数据为基于纠删码策略所存储的;

当检测到目标存储设备下线时,确定基于第二纠删码策略所得到的数据片段所在的存储对象;其中,所述目标存储设备为所述至少两个存储设备中的一个存储设备,所述目标存储设备中涵盖有:存储有基于第一纠删码策略所得到的数据片段的存储对象,以及存储有基于第二纠删码策略所得到的数据片段的存储对象;所述第一纠删码策略的安全级别高于所述第二纠删码策略;

对所确定出的存储对象中的数据片段进行重构。

可选地,在本发明实施例的一种实现方式中,所述确定基于第二纠删码策略所得到的数据片段所在的存储对象的步骤,可以包括:

确定所述目标存储设备对应的多个存储对象;

基于预先存储的第一映射关系,从所述多个存储对象中,确定基于第二纠删码策略所得到的数据片段所在的存储对象;其中,所述第一映射关系中至少记录有:多个数据片段和各个存储对象的对应关系,所述多个数据片段和纠删码策略的对应关系,其中,所述各个存储对象位于不同的存储设备。

可选地,所述第一映射关系还可以记录有:

目标数据所对应的标识与所述多个数据片段的对应关系;

相应地,对任意一个所确定出的存储对象中的数据片段进行重构的步骤,可以包括:

基于所述第一映射关系,确定该存储对象所对应的目标数据的标识;

确定在所述至少两个存储设备中的、与所述标识对应的所有存储对象中,未下线的目标存储对象;从所述目标存储对象中读取数据片段;

根据所述第二纠删码策略和所读取的数据片段,对该存储对象中所存储的数据片段进行重构。

可选地,在本发明实施例的另一种实现方式中,所述确定基于第二纠删码策略所得到的数据片段所在的存储对象的步骤,可以包括:

确定所述目标存储设备对应的多个存储对象;

基于预先存储的第二映射关系,从所述多个存储对象中,确定基于第二纠删码策略所得到的数据片段所在的存储对象;其中,所述第二映射关系中至少记录有:多个数据片段与目标条带中的各个存储对象的对应关系,以及所述目标条带与所确定的纠删码策略的对应关系,其中,所述目标条带中的各个存储对象位于不同的存储设备。

可选地,所述对所确定出的存储对象中的数据片段进行重构的步骤,可以包括:

针对任意一个基于所述第二映射关系所确定出的存储对象,基于所述第二映射关系,确定该存储对象所对应的目标条带;

确定在所述目标条带所包含的所有存储对象中,未下线的目标存储对象;

从所述目标存储对象中读取数据片段;

根据所述第二纠删码策略和所读取的数据片段,对该存储对象中所存储的数据片段进行重构。

可选地,在根据所述第二纠删码策略和所读取的数据片段,对该存储对象中所存储的数据片段进行重构的步骤之后,所述方法还可以包括:

对针对该存储对象重构所得的数据片段进行存储,并基于所述重构所得的数据片段的存储位置,更新该存储对象所对应的目标条带。

第三方面,本发明实施例还提供了一种数据存储装置,所述装置可以包括:

第一确定单元,用于当接收到针对目标数据的存储指令时,基于预设的第一比例,确定所述目标数据所对应的纠删码策略,其中,所述纠删码策略包括第一纠删码策略和/或第二纠删码策略,所述第一纠删码策略的安全级别高于所述第二纠删码策略,所述第一比例为:第一纠删码策略的使用次数占纠删码策略使用总次数的比例;

处理单元,用于基于所确定的纠删码策略,对所述目标数据进行切片和冗余处理,得到所述目标数据对应的多个数据片段;

存储单元,用于将所述多个数据片段分别存储于不同存储设备的存储对象中。

可选地,在本发明实施例的一种实现方式中,所述存储单元可以包括:

第一生成子单元,用于生成第一映射关系,所述第一映射关系中至少记录有:所述多个数据片段和各个存储对象的对应关系,所述多个数据片段和所述纠删码策略的对应关系,其中,所述各个存储对象位于不同的存储设备;

第一存储子单元,用于基于所述第一映射关系,将所述多个数据片段分别存储于所述各个存储对象中。

可选地,所述第一映射关系中还可以记录有:所述目标数据所对应的标识与所述多个数据片段的对应关系。

可选地,在本发明实施例的另一种实现方式中,所述存储单元可以包括:

获得子单元,用于获得所确定的纠删码策略所对应的目标条带,其中,当所述纠删码策略对应n份数据片段,所述n份数据片段=k份原始片段+m份冗余片段时,所述目标条带中包含n个存储对象,所述n个存储对象位于不同的存储设备;

第二生成子单元,用于生成第二映射关系,其中,所述第二映射关系中至少记录有:所述多个数据片段与所述目标条带中的各个存储对象的对应关系,以及所述目标条带与所确定的纠删码策略的对应关系,其中,所述各个存储对象位于不同的存储设备;

第二存储子单元,用于基于所述第二映射关系,将所述多个数据片段分别存储至所述目标条带中的各个存储对象中。

可选地,当所述第一确定单元所确定的纠删码策略包括第一纠删码策略和第二纠删码策略时,所述处理单元具体用于:

将所述目标数据分割为第一目标子数据和第二目标子数据;

基于所述第一纠删码策略,对所述第一目标子数据进行切片和冗余处理,得到所述第一目标子数据对应的多个第一数据片段;基于所述第二纠删码策略,对所述第二目标子数据进行切片和冗余处理,得到所述第二目标子数据对应的多个第二数据片段;

相应地,所述存储单元具体用于:

将所述多个第一数据片段分别存储至不同存储设备的第一存储对象中,并将所述多个第二数据片段分别存储至不同存储设备的第二存储对象中。

第四方面,本发明实施例还提供了一种数据重构装置,所述装置可以包括:

检测单元,用于检测至少两个存储设备是否下线;其中,所述至少两个存储设备所存储的数据为基于纠删码策略所存储的;

第二确定单元,用于当检测到目标存储设备下线时,确定基于第二纠删码策略所得到的数据片段所在的存储对象;其中,所述目标存储设备为所述至少两个存储设备中的一个存储设备,所述目标存储设备中涵盖有:存储有基于第一纠删码策略所得到的数据片段的存储对象,以及存储有基于第二纠删码策略所得到的数据片段的存储对象;所述第一纠删码策略的安全级别高于所述第二纠删码策略;

重构单元,用于对所确定出的存储对象中的数据片段进行重构。

可选地,在本发明实施例的一种实现方式中,所述第二确定单元可以包括:

第一确定子单元,用于确定所述目标存储设备对应的多个存储对象;

第二确定子单元,用于基于预先存储的第一映射关系,从所述多个存储对象中,确定基于第二纠删码策略所得到的数据片段所在的存储对象;其中,所述第一映射关系中至少记录有:多个数据片段和各个存储对象的对应关系,所述多个数据片段和纠删码策略的对应关系,其中,所述各个存储对象位于不同的存储设备。

可选地,所述第一映射关系还可以记录有:

目标数据所对应的标识与所述多个数据片段的对应关系;

相应地,所述重构单元具体用于:

基于所述第一映射关系,确定该存储对象所对应的目标数据的标识;

确定在所述至少两个存储设备中的、与所述标识对应的所有存储对象中,未下线的目标存储对象;从所述目标存储对象中读取数据片段;

根据所述第二纠删码策略和所读取的数据片段,对该存储对象中所存储的数据片段进行重构。

可选地,在本发明实施例的另一种实现方式中,所述第二确定单元可以包括:

第三确定子单元,用于确定所述目标存储设备对应的多个存储对象;

第四确定子单元,用于基于预先存储的第二映射关系,从所述多个存储对象中,确定基于第二纠删码策略所得到的数据片段所在的存储对象;其中,所述第二映射关系中至少记录有:多个数据片段与目标条带中的各个存储对象的对应关系,以及所述目标条带与所确定的纠删码策略的对应关系,其中,所述目标条带中的各个存储对象位于不同的存储设备。

可选地,在本发明实施例中,所述重构单元可以包括:

第五确定子单元,用于针对任意一个基于所述第二映射关系所确定出的存储对象,基于所述第二映射关系,确定该存储对象所对应的目标条带;

第六确定子单元,用于确定在所述目标条带所包含的所有存储对象中,未下线的目标存储对象;

读取子单元,用于从所述目标存储对象中读取数据片段;

重构子单元,用于根据所述第二纠删码策略和所读取的数据片段,对该存储对象中所存储的数据片段进行重构。

可选地,在本发明实施例中,所述装置还可以包括:更新单元;所述更新单元具体用于:

在所述重构子单元根据所述第二纠删码策略和所读取的数据片段,对该存储对象中所存储的数据片段进行重构之后,对针对该存储对象重构所得的数据片段进行存储,并基于所述重构所得的数据片段的存储位置,更新该存储对象所对应的目标条带。

第五方面,本发明实施例提供了一种电子设备,可以包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口和所述存储器通过通信总线完成相互间的通信,

所述存储器,用于存放计算机程序;

所述处理器,用于执行存储器上所存放的程序时,实现第一方面任意一项所述的数据存储方法的方法步骤。

第六方面,本发明实施例提供了一种电子设备,可以包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口和所述存储器通过通信总线完成相互间的通信,

所述存储器,用于存放计算机程序;

所述处理器,用于执行存储器上所存放的程序时,实现第二方面任意一项所述的数据重构方法的方法步骤。

第七方面,本发明实施例还提供了一种存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任意一项所述的数据存储方法的方法步骤。

第八方面,本发明实施例还提供了一种存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第二方面任意一项所述的数据重构方法的方法步骤。

第九方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任意一项所述的数据存储方法的方法步骤。

第十方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面任意一项所述的数据重构方法的方法步骤。

本发明实施例所提供的数据存储方法中,当接收到一个存储指令时,就会根据预设的第一比例,为所述存储指令所指示存储的目标数据确定对应的纠删码策略,所确定的纠删码可以为第一纠删码策略和/或第二纠删码策略。然后,可以根据所确定的纠删码策略,对所述目标数据进行切片和冗余处理,得到所述目标数据所对应的多个数据片段;之后确定所述多个数据片段所要写入的存储对象,其中,所写入的各个存储对象位于不同的存储设备。这样,在每次存储数据时,都可以将所得到的数据片段写入位于不同存储设备的存储对象中;并且,可以使得大多数存储设备中既有按照第一纠删码策略所写入的数据片段,也有按照第二纠删码策略所写入的数据片段。可见,基于本发明实施例所提供的数据存储方法存储数据后,一旦存储设备下线,由于第一纠删码策略的安全级别高于第二纠删码策略,因而在能够保证所存储数据的安全性的前提下,只需要重构该存储设备中第二纠删码策略所对应的数据片段,使得需要重构的数据量减少,从而可以提升重构效率。

另外,基于上述的数据存储方法,本发明实施例还提供了数据重构方法,该数据重构方法中,当存在目标存储设备下线时,由于第一纠删码策略的安全级别高于第二纠删码策略,因而在能够保证所存储数据的安全性的前提下,只需要重构该目标存储设备中第二纠删码策略所对应的数据片段,而不需要重构该目标存储设备中第一纠删码策略所对应的数据片段,使得需要重构的数据量减少,从而可以提升重构效率。

附图说明

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

图1为本发明实施例提供的一种数据存储方法流程图;

图2为本发明实施例提供的一种数据重构方法流程图;

图3为本发明实施例提供的一种数据存储装置的结构示意图;

图4为本发明实施例提供的一种数据重构装置的结构示意图;

图5为本发明实施例提供的一种电子设备的结构示意图;

图6为本发明实施例提供的另一种电子设备的结构示意图。

具体实施方式

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

为了解决现有技术中存在的问题,本发明实施例提供一种数据存储、重构方法和装置、及电子设备和存储介质。

下面首先对本发明实施例提供的数据存储方法进行说明。

需要说明的是,执行本发明实施例提供的数据存储方法的执行主体可以为服务器,当然并不局限于此。并且,实现本发明实施例提供的数据存储方法的功能软件可以为:设置于所述服务器中专门的数据存储软件,也可以为:设置于所述服务器中的现有数据存储软件中的功能插件,这都是合理的。

其中,所述服务器可以是数据处理系统中的管理服务器,这是合理的。

参见图1,本发明实施例提供的数据存储方法可以包括如下步骤:

s101:当接收到针对目标数据的存储指令时,基于预设的第一比例,确定所述目标数据所对应的纠删码策略,其中,所述纠删码策略包括第一纠删码策略和/或第二纠删码策略,所述第一纠删码策略的安全级别高于所述第二纠删码策略,所述第一比例为:第一纠删码策略的使用次数占纠删码策略使用总次数的比例;

可以理解的是,所述服务器中预先设置有所述第一比例,并可以通过所述第一比例来控制第一纠删码策略的使用次数,以使得第一纠删码策略的使用次数占纠删码策略使用总次数的比例满足所述第一比例。其中,所述纠删码策略使用总次数=第一纠删码策略使用次数+第二纠删码策略使用次数。

举例而言,假设所述预设的第一比例的取值为50%,则此时表明,在对数据存储的过程中,所述服务器要尽量保证第一纠删码策略的使用次数和第二纠删码策略的使用次数相等。

因而可以理解的是,每当接收到针对目标数据的存储指令时,所述服务器需要都基于所述第一比例,来确定当前的存储指令所对应的目标数据采用哪种纠删码策略。例如,假设在存储所述目标数据之前,所述服务器对99个数据进行了存储,其中50个数据采用了第一纠删码策略进行存储,49个数据采用了第二纠删码策略进行存储,则在存储所述目标数据时,为了尽量匹配所述第一比例,则采用第二纠删码策略存储所述目标数据。

当然,所述服务器所接收到的存储指令也可以是:针对多个目标数据的存储指令。该种情况下,所述服务器也可以基于所述第一比例,确定所述多个目标数据中各个目标数据所对应的纠删码策略。举例而言,假设第一比例的取值为50%,并且所述多个目标数据的数量为100,因而可以确定100个目标数据中的任意50个数据中的每个数据均对应第一纠删码策略,其余50个数据中的每个数据均对应第二纠删码策略,这样,也可以尽量保证第一纠删码策略的使用次数和第二纠删码策略的使用次数相等。

需要说明的是,所述第一纠删码策略的安全级别高于所述第二纠删码策略是指:第一纠删码策略所对应的冗余片段数量多于所述第二纠删码策略所对应的冗余片段数量。

举例而言,假设所述服务器中预先设置:第一纠删码策略为:4+2,即第一纠删码策略对应4个原始片段和2个冗余片段;并预先设置:所述第二纠删码策略为:4+1,即第二纠删码策略对应4个原始片段和1个冗余片段。

值得说明的是,上述第一纠删码策略:4+2,以及第二纠删码策略:4+1仅为示例,对所述第一纠删码策略和所述第二纠删码策略的设置并不局限于此。

s102:基于所确定的纠删码策略,对所述目标数据进行切片和冗余处理,得到所述目标数据对应的多个数据片段;

举例而言,当所确定的纠删码策略为第一纠删码策略,且预先设置的第一纠删码策略为:4+2时,利用所述第一纠删码策略对所述目标数据进行切片和冗余处理,可以获得所述目标数据所对应的4个原始片段和2个冗余片段。

需要说明的是,所述多个数据片段所对应的具体数目是由所确定的纠删码策略来确定的。例如,当所确定的第一纠删码策略为:4+2时,所述多个数据片段所对应数量为6;当所确定的第一纠删码策略为:4+3时,则所述多个数据片段所对应的数量为7;等等。在此不做一一举例说明。

s103:将所述多个数据片段分别存储于不同存储设备的存储对象中。

举例而言,在获得所述目标数据所对应的6个数据片段(4个原始片段和2个冗余片段)后,可以将这6个数据片段分别存储于6个不同存储设备的存储对象中。这样,当这6个存储设备当中的任意1个(或2个)存储设备下线时,仍然可以从其他5个存储设备(或4个存储设备)中读取数据片段,从而可以利用所读取的数据片段对所述目标数据进行恢复,提高了所述目标数据的安全性。

值得说明的是,由概率论知识可知,当所接收的存储指令越多,即所存储的数据越多时,所述服务器所负责管理的每个存储设备中第一纠删码策略所对应的存储对象数目,占该存储设备存储对象总数目的比例就越接近所述第一比例。

需要说明的是,本发明实施例所涉及的存储设备包括但并不局限于:磁盘、ssd(solidstatedrives,固态硬盘)、iscsi(internetsmallcomputersysteminterface,小型计算机系统接口)设备、fc(fiberchannel,光纤通道)设备、磁带和raid(redundantarraysofindependentdisks,磁盘阵列)设备。所述服务器可以负责管理上述一种或多种存储设备,这是合理的。

本发明实施例所提供的数据存储方法中,当接收到一个存储指令时,就会根据预设的第一比例,为所述存储指令所指示存储的目标数据确定对应的纠删码策略,所确定的纠删码可以为第一纠删码策略和/或第二纠删码策略。然后,可以根据所确定的纠删码策略,对所述目标数据进行切片和冗余处理,得到所述目标数据所对应的多个数据片段;之后确定所述多个数据片段所要写入的存储对象,其中,所写入的各个存储对象位于不同的存储设备。这样,在每次存储数据时,都可以将所得到的数据片段写入位于不同存储设备的存储对象中;并且,可以使得大多数存储设备中既有按照第一纠删码策略所写入的数据片段,也有按照第二纠删码策略所写入的数据片段。可见,基于本发明实施例所提供的数据存储方法存储数据后,一旦存储设备下线,由于第一纠删码策略的安全级别高于第二纠删码策略,因而在能够保证所存储数据的安全性的前提下,只需要重构该存储设备中第二纠删码策略所对应的数据片段,使得需要重构的数据量减少,从而可以提升重构效率。

另外,基于上述的数据存储方法,本发明实施例还提供了数据重构方法,该数据重构方法中,当存在目标存储设备下线时,由于第一纠删码策略的安全级别高于第二纠删码策略,因而在能够保证所存储数据的安全性的前提下,只需要重构该目标存储设备中第二纠删码策略所对应的数据片段,而不需要重构该目标存储设备中第一纠删码策略所对应的数据片段,使得需要重构的数据量减少,从而可以提升重构效率。

下面对将所述多个数据片段分别存储于不同存储设备的存储对象中的实现方式进行说明。

可选地,在本发明的一个实施例中,将所述多个数据片段分别存储于不同存储设备的存储对象中的步骤,可以包括:

生成第一映射关系,所述第一映射关系中至少记录有:所述多个数据片段和各个存储对象的对应关系,所述多个数据片段和所述纠删码策略的对应关系,其中,所述各个存储对象位于不同的存储设备;

基于所述第一映射关系,将所述多个数据片段分别存储于所述各个存储对象中。

可以理解的是,在该种实现方式中,在每次基于所确定的纠删码策略得到所述多个数据片段后,可以生成第一映射关系:所述多个数据片段与所确定的纠删码策略的对应关系,及所述多个数据片段与位于不同存储设备的多个存储对象的对应关系。

举例而言,当基于第二纠删码策略:4+1,得到所述目标数据所对应的5个数据片段后,分别建立所得到的5个数据片段与第一纠删码策略:4+1的对应关系,并建立这5个数据片段与位于5个不同存储设备的5个存储对象的一一对应关系,从而生成得到所述第一映射关系。

这样,可以根据所生成的第一映射关系对所述5个数据片段进行存储。存储完成后,还可以通过所述第一映射关系,确定所述服务器所管理的各个存储设备中的存储对象所对应的数据片段,及各个数据片段所对应的纠删码策略,从而可以确定各个存储设备中的存储对象所对应的纠删码策略。也就是说,当所述各个存储设备中的目标存储设备下线时,可以基于所述第一映射关系,确定所述目标存储设备中第二纠删码策略所对应的目标存储对象,从而可以只对目标存储对象中所对应的数据片段进行重构,从而可以提升重构效率。

可选地,所述第一映射关系中还记录有:所述目标数据所对应的标识与所述多个数据片段的对应关系。

可以理解的是,在该种实现方式中,为了方便后续对所丢失的数据片段进行重构,所述第一映射关系中还可以记录有:所述目标数据所对应的标识与所述多个数据片段的对应关系。这样,当存储所述目标数据的某一个数据片段的存储设备下线时,可以确定该已丢失的数据片段所对应的目标数据的标识,以及纠删码策略。从而,当确定该已丢失的数据片段纠删码策略为第二纠删码策略,即所对应的安全级别较低时,可以根据所述标识去查找所述目标数据所对应的其他数据片段,进而可以根据查找到的数据片段和所确定的第二纠删码策略,恢复出该丢失的数据片段,保证了所述目标数据的安全。

可选地,在本发明的又一实施例中,所述将所述多个数据片段分别存储于不同存储设备的存储对象中的步骤,可以包括:

获得所确定的纠删码策略所对应的目标条带,其中,当所述纠删码策略对应n份数据片段,所述n份数据片段=k份原始片段+m份冗余片段时,所述目标条带中包含n个存储对象,所述n个存储对象位于不同的存储设备;

生成第二映射关系,其中,所述第二映射关系中至少记录有:所述多个数据片段与所述目标条带中的各个存储对象的对应关系,以及所述目标条带与所确定的纠删码策略的对应关系,其中,所述各个存储对象位于不同的存储设备;

基于所述第二映射关系,将所述多个数据片段分别存储至所述目标条带中的各个存储对象中。

由现有技术可知,任意一个条带中可以包括若干个位于不同存储设备的存储对象。因而在确定所述目标数据所对应的纠删码策略后,可以获取所述纠删码策略所对应的目标条带,其中,所述目标条带所包含的位于不同存储设备的存储对象的数目是由所述纠删码策略决定的。

举例而言,当所确定的纠删码策略为第一纠删码策略:4+2时,则所述第一纠删码策略:4+2对应的目标条带中包含6个位于不同存储设备的存储对象。又例如,当所确定的纠删码策略为第二纠删码策略:4+1时,则所述为第二纠删码策略:4+1对应的目标条带中包含5个位于不同存储设备的存储对象。

因此,在该种情况下,可以基于所述第一比例来获得所述目标数据所对应目标条带。例如,当基于所述第一比例确定所述目标数据对应第一纠删码策略:4+2后,此时可以获得4+2类型的目标条带(即包含6个位于不同存储设备的存储对象的目标条带)。当基于所述第一比例确定所述目标数据对应第二纠删码策略:4+1后,此时可以获得4+1类型的目标条带(即包含5个位于不同存储设备的存储对象的目标条带)。

并且,在基于所确定的纠删码策略得到所述多个数据片段后,可以生成第二映射关系:所述多个数据片段与所述目标条带中的各个存储对象的对应关系,以及所述目标条带与所确定的纠删码策略的对应关系。

举例而言,当基于第一纠删码策略:4+2,得到所述目标数据所对应的6个数据片段后,建立所得到的各个数据片段与目标条带a的对应关系,并建立所述目标条带a与所述第一纠删码策略:4+2的对应关系,从而生成得到所述第二映射关系。

这样,在生成所述第二映射关系后,可以基于所述第二映射关系对所述6个数据片段进行存储。并且,在存储完成后,还可以通过所述第二映射关系,确定所述服务器所管理的各个存储设备中的存储对象所对应的各个目标条带,及各个目标条带所对应的纠删码策略,从而可以确定各个存储设备中的存储对象所对应的纠删码策略。也就是说,当所述各个存储设备中的目标存储设备下线时,可以基于所述第二映射关系,确定所述目标存储设备中第二纠删码策略所对应的目标存储对象,从而可以只对目标存储对象中所对应的数据片段进行重构,从而可以提升重构效率。

可选地,当所确定的纠删码策略包括第一纠删码策略和第二纠删码策略时,所述基于所确定的纠删码策略,对所述目标数据进行切片和冗余处理,得到所述目标数据对应的多个数据片段的步骤,包括:

将所述目标数据分割为第一目标子数据和第二目标子数据;

基于所述第一纠删码策略,对所述第一目标子数据进行切片和冗余处理,得到所述第一目标子数据对应的多个第一数据片段;基于所述第二纠删码策略,对所述第二目标子数据进行切片和冗余处理,得到所述第二目标子数据对应的多个第二数据片段;

相应地,所述将所述多个数据片段分别存储至不同存储设备的存储对象中的步骤,包括:

将所述多个第一数据片段分别存储至不同存储设备的第一存储对象中,并将所述多个第二数据片段分别存储至不同存储设备的第二存储对象中。

举例而言,假设在存储所述目标数据之前,所述服务器对100个数据进行了存储,其中50个数据采用了第一纠删码策略进行存储,50个数据采用了第二纠删码策略进行存储。并且,此时检测到所述目标数据的数据量较大,则在存储所述目标数据时,为了尽量匹配所述第一比例,则可以将所述目标数据分割为第一目标子数据和第二目标子数据,并基于第一纠删码策略对所述第一目标子数据进行存储,基于第二纠删码策略对所述第二目标子数据进行存储,这是合理的。

还需要说明的是,上述数据存储方法也可以由数据处理系统中的各个服务器共同执行,这是合理的。其中,所述数据处理系统中可以包括:管理服务器、切片计算服务器和存储服务器。所述管理服务器可以用于当接收到针对目标数据的存储指令时,基于预设的第一比例,确定所述目标数据所对应的纠删码策略;所述切片计算服务器可以用于基于所确定的纠删码策略,对所述目标数据进行切片和冗余处理,得到所述目标数据对应的多个数据片段;所述存储服务器可以用于存储所述多个数据片段,这是合理的,在此不做详述。

相应于上述数据存储方法,本发明实施例还提供了一种数据重构方法。

需要说明的是,执行本发明实施例提供的数据重构方法的执行主体可以为服务器。并且,实现本发明实施例提供的数据重构方法的功能软件可以为:设置于所述服务器中专门的数据重构软件,也可以为:设置于所述服务器中的现有数据重构软件中的功能插件,这都是合理的。

其中,所述服务器可以是数据处理系统中的管理服务器,这是合理的。

参见图2,本发明实施例提供的数据重构方法可以包括如下步骤:

s201:检测至少两个存储设备是否下线;其中,所述至少两个存储设备所存储的数据为基于纠删码策略所存储的;

可以理解的是,所述服务器可以检测其所管理的存储设备是否下线,即可以检测其所管理的至少两个存储设备是否下线。其中,所述至少两个存储设备的具体数量可以由所述服务器所负责管理的存储设备数量来确定。

s202:当检测到目标存储设备下线时,确定基于第二纠删码策略所得到的数据片段所在的存储对象;其中,所述目标存储设备为所述至少两个存储设备中的一个存储设备,所述目标存储设备中涵盖有:存储有基于第一纠删码策略所得到的数据片段的存储对象,以及存储有基于第二纠删码策略所得到的数据片段的存储对象;所述第一纠删码策略的安全级别高于所述第二纠删码策略;

可以理解的是,当所述目标存储设备发生故障时,所述服务器能够检测到所述目标存储设备下线。

举例而言,假设所述目标存储设备中存在100个存储对象,其中100个存储对象中有50个存储对象中所存储的数据片段是基于第一纠删码策略:4+2所得到的,剩余50个存储对象中的所存储的数据片段是基于第二纠删码策略:4+1所得到的。

s203:对所确定出的存储对象中的数据片段进行重构。

结合上述示例,当检测到所述目标存储设备下线时,可以只确定所述目标存储设备中,存储有基于第二纠删码策略所得到的数据片段的50个存储对象。也就是说,只需要确定所述目标存储设备中安全级别较低的50个数据片段所对应的50个存储对象。从而,只需要对所确定出的这50个存储对象中所存储的数据片段进行重构,使得需要重构的数据片段数目降低了50%,提高了重构效率。

值得说明的是,所述目标存储设备中的100个存储对象中,基于第一纠删码策略存储数据片段的存储对象的数目,以及基于第二纠删码策略存储数据片段的存储对象的数目,很大程度上是由存储数据时所预先设定的所述第一比例决定的。当所述服务器所存储的数据量越多时,所述目标存储设备中的第一纠删码策略所对应的存储对象数目,占该目标存储设备存储对象总数目的比例就越接近所述第一比例,也就是说,可以通过对所述第一比例的设置,来实现对重构效率的控制。其中,所述第一比例所设置的数值越大,当所述目标存储设备下线时,重构效率越高。

本发明实施例所提供的数据存储方法中,当接收到一个存储指令时,就会根据预设的第一比例,为所述存储指令所指示存储的目标数据确定对应的纠删码策略,所确定的纠删码可以为第一纠删码策略和/或第二纠删码策略。然后,可以根据所确定的纠删码策略,对所述目标数据进行切片和冗余处理,得到所述目标数据所对应的多个数据片段;之后确定所述多个数据片段所要写入的存储对象,其中,所写入的各个存储对象位于不同的存储设备。这样,在每次存储数据时,都可以将所得到的数据片段写入位于不同存储设备的存储对象中;并且,可以使得大多数存储设备中既有按照第一纠删码策略所写入的数据片段,也有按照第二纠删码策略所写入的数据片段。可见,基于本发明实施例所提供的数据存储方法存储数据后,一旦存储设备下线,由于第一纠删码策略的安全级别高于第二纠删码策略,因而在能够保证所存储数据的安全性的前提下,只需要重构该存储设备中第二纠删码策略所对应的数据片段,使得需要重构的数据量减少,从而可以提升重构效率。

另外,基于上述的数据存储方法,本发明实施例还提供了数据重构方法,该数据重构方法中,当存在目标存储设备下线时,由于第一纠删码策略的安全级别高于第二纠删码策略,因而在能够保证所存储数据的安全性的前提下,只需要重构该目标存储设备中第二纠删码策略所对应的数据片段,而不需要重构该目标存储设备中第一纠删码策略所对应的数据片段,使得需要重构的数据量减少,从而可以提升重构效率。

下面对确定基于第二纠删码策略所得到的数据片段所在的存储对象的方式进行说明。

可选地,在本发明的一个实施例中,所述确定基于第二纠删码策略所得到的数据片段所在的存储对象的步骤,可以包括:

确定所述目标存储设备对应的多个存储对象;

基于预先存储的第一映射关系,从所述多个存储对象中,确定基于第二纠删码策略所得到的数据片段所在的存储对象;其中,所述第一映射关系中至少记录有:多个数据片段和各个存储对象的对应关系,所述多个数据片段和纠删码策略的对应关系,其中,所述各个存储对象位于不同的存储设备。

可以理解的是,由于所述服务器中预先存储有第一映射关系,因而当检测到目标存储设备下线时,可以基于所述第一映射关系,确定所述目标存储设备中第二纠删码策略所对应的目标存储对象,从而,可以只对目标存储对象中所对应的数据片段进行重构,从而可以提升重构效率。

举例而言,假设可以确定所述目标存储设备中存在100个存储对象,从而可以根据所述第一映射关系,确定所述100个存储对象所对应的数据片段,从而确定出所确定的数据片段所对应的纠删码策略,进而只对基于第二纠删码策略所存储的数据片段进行重构。

可选地,所述第一映射关系还记录有:

目标数据所对应的标识与所述多个数据片段的对应关系;

相应地,对任意一个所确定出的存储对象中的数据片段进行重构的步骤,包括:

基于所述第一映射关系,确定该存储对象所对应的目标数据的标识;

确定在所述至少两个存储设备中的、与所述标识对应的所有存储对象中,未下线的目标存储对象;从所述目标存储对象中读取数据片段;

根据所述第二纠删码策略和所读取的数据片段,对该存储对象中所存储的数据片段进行重构。

可以理解的是,在该种实现方式中,为了方便后续对丢失的数据片段进行重构,所述预先存储的第一映射关系中还可以记录有:目标数据所对应的标识与所述多个数据片段的对应关系。这样,当存储所述目标数据的某一个数据片段的存储设备下线时,可以确定该已丢失的数据片段所对应的目标数据的标识,以及纠删码策略。从而,当确定该已丢失的数据片段纠删码策略为第二纠删码策略,即该已丢失的数据片段所对应的安全级别较低时,可以根据所述标识去查找所述目标数据所对应的其他数据片段,进而可以根据查找到的数据片段和所确定的第二纠删码策略,恢复出该丢失的数据片段。

可选地,在本发明的又一实施例中,所述确定基于第二纠删码策略所得到的数据片段所在的存储对象的步骤,可以包括:

确定所述目标存储设备对应的多个存储对象;

基于预先存储的第二映射关系,从所述多个存储对象中,确定基于第二纠删码策略所得到的数据片段所在的存储对象;其中,所述第二映射关系中至少记录有:多个数据片段与目标条带中的各个存储对象的对应关系,以及所述目标条带与所确定的纠删码策略的对应关系,其中,所述目标条带中的各个存储对象位于不同的存储设备。

可以理解的是,当检测到所述目标存储设备下线后,可以确定所述目标存储设备所对应的所有存储对象。而由于预先设置第二映射关系中记录有:多个数据片段与目标条带中的各个存储对象的对应关系,以及所述目标条带与所确定的纠删码策略的对应关系。因此,可以根据所述第一映射关系以及所确定出的所述所有存储对象,确定出所述目标存储设备所对应的所有目标条带,再确定所述所有目标条带中对应的纠删码策略为第二纠删码策略的存储对象,从而,可以只对所述目标存储设备中的、第二纠删码策略所对应的存储对象中的数据片段进行重构,从而可以提升重构效率。

需要说明的是,目标条带所包含的位于不同存储设备的存储对象的数目是由所述纠删码策略决定的。其中,由于条带属于现有技术,在此不对所述目标条带的形式进行具体说明。

举例而言,当所确定的纠删码策略为第一纠删码策略:4+2时,则所述第一纠删码策略:4+2对应的目标条带中包含6个位于不同存储设备的存储对象。又例如,当所确定的纠删码策略为第二纠删码策略:4+1时,则所述为第二纠删码策略:4+1对应的目标条带中包含5个位于不同存储设备的存储对象。

可选地,所述对所确定出的存储对象中的数据片段进行重构的步骤,可以包括:

针对任意一个基于所述第二映射关系所确定出的存储对象,基于所述第二映射关系,确定该存储对象所对应的目标条带;

确定在所述目标条带所包含的所有存储对象中,未下线的目标存储对象;

从所述目标存储对象中读取数据片段;

根据所述第二纠删码策略和所读取的数据片段,对该存储对象中所存储的数据片段进行重构。

可以理解的是,当基于所述第二映射关系确定出存储对象后,可以再次根据所述第二映射关系,确定该存储对象所对应的目标条带。从而可以确定在该目标条带所包含的所有存储对象中,未下线的目标存储对象。进而可以从所述目标存储对象中读取数据,并根据所述第二纠删码策略和所读取的数据片段,对该存储对象所对应的数据片段进行重构。

可选地,在根据所述第二纠删码策略和所读取的数据片段,对该存储对象中所存储的数据片段进行重构的步骤之后,所述方法还可以包括:

对针对该存储对象重构所得的数据片段进行存储,并基于所述重构所得的数据片段的存储位置,更新该存储对象所对应的目标条带。

可以理解的是,由于只需要对所述目标存储设备中的、基于第二纠删码策略存储的数据片段进行重构,即降低了需要重构的数据量。那么,所要存储的重构所得到的数据量也随之减少了。

另外,假设所述目标存储设备包含有100个存储对象,那么,当每个存储对象均对应一个目标条带时,所述目标存储设备就对应100个目标条带。这样,当所述目标存储设备下线时,在本发明实施例中,由于并不需要对所述目标存储设备中的每个存储对象中的数据片段进行重构,因此只需要更新需要重构数据片段的存储对象所对应的目标条带,降低了需要更新的目标条带的数目。

还需要说明的是,上述数据重构方法也可以由数据处理系统中的各个服务器共同执行,这是合理的。其中,所述数据处理系统中可以包括:管理服务器、审计服务器和存储服务器。所述管理服务器可以用于检测至少两个存储设备是否下线;所述存储服务器可以用于当检测到目标存储设备下线时,确定基于第二纠删码策略所得到的数据片段所在的存储对象;所述审计服务器可以用于对所确定出的存储对象中的数据片段进行重构,这是合理的,在此不做详述。

相应于上述数据存储方法实施例,本发明实施例还提供了一种数据存储装置,参见图3,所述装置可以包括:

第一确定单元301,用于当接收到针对目标数据的存储指令时,基于预设的第一比例,确定所述目标数据所对应的纠删码策略,其中,所述纠删码策略包括第一纠删码策略和/或第二纠删码策略,所述第一纠删码策略的安全级别高于所述第二纠删码策略,所述第一比例为:第一纠删码策略的使用次数占纠删码策略使用总次数的比例;

处理单元302,用于基于所确定的纠删码策略,对所述目标数据进行切片和冗余处理,得到所述目标数据对应的多个数据片段;

存储单元303,用于将所述多个数据片段分别存储于不同存储设备的存储对象中。

本发明实施例所提供的数据存储方法中,当接收到一个存储指令时,就会根据预设的第一比例,为所述存储指令所指示存储的目标数据确定对应的纠删码策略,所确定的纠删码可以为第一纠删码策略和/或第二纠删码策略。然后,可以根据所确定的纠删码策略,对所述目标数据进行切片和冗余处理,得到所述目标数据所对应的多个数据片段;之后确定所述多个数据片段所要写入的存储对象,其中,所写入的各个存储对象位于不同的存储设备。这样,在每次存储数据时,都可以将所得到的数据片段写入位于不同存储设备的存储对象中;并且,可以使得大多数存储设备中既有按照第一纠删码策略所写入的数据片段,也有按照第二纠删码策略所写入的数据片段。可见,基于本发明实施例所提供的数据存储方法存储数据后,一旦存储设备下线,由于第一纠删码策略的安全级别高于第二纠删码策略,因而在能够保证所存储数据的安全性的前提下,只需要重构该存储设备中第二纠删码策略所对应的数据片段,使得需要重构的数据量减少,从而可以提升重构效率。

另外,基于上述的数据存储方法,本发明实施例还提供了数据重构方法,该数据重构方法中,当存在目标存储设备下线时,由于第一纠删码策略的安全级别高于第二纠删码策略,因而在能够保证所存储数据的安全性的前提下,只需要重构该目标存储设备中第二纠删码策略所对应的数据片段,而不需要重构该目标存储设备中第一纠删码策略所对应的数据片段,使得需要重构的数据量减少,从而可以提升重构效率。

可选地,在本发明的一个实施例中,所述存储单元303包括:

第一生成子单元,用于生成第一映射关系,所述第一映射关系中至少记录有:所述多个数据片段和各个存储对象的对应关系,所述多个数据片段和所述纠删码策略的对应关系,其中,所述各个存储对象位于不同的存储设备;

第一存储子单元,用于基于所述第一映射关系,将所述多个数据片段分别存储于所述各个存储对象中。

可选地,所述第一映射关系中还记录有:所述目标数据所对应的标识与所述多个数据片段的对应关系。

可选地,在本发明又一实施例中,所述存储单元303包括:

获得子单元,用于获得所确定的纠删码策略所对应的目标条带,其中,当所述纠删码策略对应n份数据片段,所述n份数据片段=k份原始片段+m份冗余片段时,所述目标条带中包含n个存储对象,所述n个存储对象位于不同的存储设备;

第二生成子单元,用于生成第二映射关系,其中,所述第二映射关系中至少记录有:所述多个数据片段与所述目标条带中的各个存储对象的对应关系,以及所述目标条带与所确定的纠删码策略的对应关系,其中,所述各个存储对象位于不同的存储设备;

第二存储子单元,用于基于所述第二映射关系,将所述多个数据片段分别存储至所述目标条带中的各个存储对象中。

可选地,当所述第一确定单元所确定的纠删码策略包括第一纠删码策略和第二纠删码策略时,所述处理单元302具体用于:

将所述目标数据分割为第一目标子数据和第二目标子数据;

基于所述第一纠删码策略,对所述第一目标子数据进行切片和冗余处理,得到所述第一目标子数据对应的多个第一数据片段;基于所述第二纠删码策略,对所述第二目标子数据进行切片和冗余处理,得到所述第二目标子数据对应的多个第二数据片段;

相应地,所述存储单元具体303用于:

将所述多个第一数据片段分别存储至不同存储设备的第一存储对象中,并将所述多个第二数据片段分别存储至不同存储设备的第二存储对象中。

相应于上述数据重构方法,本发明实施例还提供了一种数据重构装置,参见图4,所述装置可以包括:

检测单元401,用于检测至少两个存储设备是否下线;其中,所述至少两个存储设备所存储的数据为基于纠删码策略所存储的;

第二确定单元402,用于当检测到目标存储设备下线时,确定基于第二纠删码策略所得到的数据片段所在的存储对象;其中,所述目标存储设备为所述至少两个存储设备中的一个存储设备,所述目标存储设备中涵盖有:存储有基于第一纠删码策略所得到的数据片段的存储对象,以及存储有基于第二纠删码策略所得到的数据片段的存储对象;所述第一纠删码策略的安全级别高于所述第二纠删码策略;

重构单元403,用于对所确定出的存储对象中的数据片段进行重构。

本发明实施例所提供的数据存储方法中,当接收到一个存储指令时,就会根据预设的第一比例,为所述存储指令所指示存储的目标数据确定对应的纠删码策略,所确定的纠删码可以为第一纠删码策略和/或第二纠删码策略。然后,可以根据所确定的纠删码策略,对所述目标数据进行切片和冗余处理,得到所述目标数据所对应的多个数据片段;之后确定所述多个数据片段所要写入的存储对象,其中,所写入的各个存储对象位于不同的存储设备。这样,在每次存储数据时,都可以将所得到的数据片段写入位于不同存储设备的存储对象中;并且,可以使得大多数存储设备中既有按照第一纠删码策略所写入的数据片段,也有按照第二纠删码策略所写入的数据片段。可见,基于本发明实施例所提供的数据存储方法存储数据后,一旦存储设备下线,由于第一纠删码策略的安全级别高于第二纠删码策略,因而在能够保证所存储数据的安全性的前提下,只需要重构该存储设备中第二纠删码策略所对应的数据片段,使得需要重构的数据量减少,从而可以提升重构效率。

另外,基于上述的数据存储方法,本发明实施例还提供了数据重构方法,该数据重构方法中,当存在目标存储设备下线时,由于第一纠删码策略的安全级别高于第二纠删码策略,因而在能够保证所存储数据的安全性的前提下,只需要重构该目标存储设备中第二纠删码策略所对应的数据片段,而不需要重构该目标存储设备中第一纠删码策略所对应的数据片段,使得需要重构的数据量减少,从而可以提升重构效率。

可选地,在本发明的一个实施例中,所述第二确定单元402包括:

第一确定子单元,用于确定所述目标存储设备对应的多个存储对象;

第二确定子单元,用于基于预先存储的第一映射关系,从所述多个存储对象中,确定基于第二纠删码策略所得到的数据片段所在的存储对象;其中,所述第一映射关系中至少记录有:多个数据片段和各个存储对象的对应关系,所述多个数据片段和纠删码策略的对应关系,其中,所述各个存储对象位于不同的存储设备。

可选地,所述第一映射关系还记录有:

目标数据所对应的标识与所述多个数据片段的对应关系;

相应地,所述重构单元403具体用于:

基于所述第一映射关系,确定该存储对象所对应的目标数据的标识;

确定在所述至少两个存储设备中的、与所述标识对应的所有存储对象中,未下线的目标存储对象;从所述目标存储对象中读取数据片段;

根据所述第二纠删码策略和所读取的数据片段,对该存储对象中所存储的数据片段进行重构。

可选地,在本发明的又一实施例中,所述第二确定单元402包括:

第三确定子单元,用于确定所述目标存储设备对应的多个存储对象;

第四确定子单元,用于基于预先存储的第二映射关系,从所述多个存储对象中,确定基于第二纠删码策略所得到的数据片段所在的存储对象;其中,所述第二映射关系中至少记录有:多个数据片段与目标条带中的各个存储对象的对应关系,以及所述目标条带与所确定的纠删码策略的对应关系,其中,所述目标条带中的各个存储对象位于不同的存储设备。

可选地,所述重构单元403包括:

第五确定子单元,用于针对任意一个基于所述第二映射关系所确定出的存储对象,基于所述第二映射关系,确定该存储对象所对应的目标条带;

第六确定子单元,用于确定在所述目标条带所包含的所有存储对象中,未下线的目标存储对象;

读取子单元,用于从所述目标存储对象中读取数据片段;

重构子单元,用于根据所述第二纠删码策略和所读取的数据片段,对该存储对象中所存储的数据片段进行重构。

可选地,所述装置还包括:更新单元;所述更新单元具体用于:

在所述重构子单元根据所述第二纠删码策略和所读取的数据片段,对该存储对象中所存储的数据片段进行重构之后,对针对该存储对象重构所得的数据片段进行存储,并基于所述重构所得的数据片段的存储位置,更新该存储对象所对应的目标条带。

相应于上述方法实施例,本申请实施例还提供了一种电子设备,参见图5,所述电子设备包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,

存储器503,用于存放计算机程序;

处理器501,用于执行存储器503上所存放的程序时,可以执行上述任意一种数据存储方法的方法步骤。

上述电子设备提到的通信总线504可以是:外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线504可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口502用于上述电子设备与其他设备之间的通信。

存储器503可以包括:随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器503还可以是至少一个位于远离前述处理器501的存储装置。

上述的处理器501可以是通用处理器,包括:中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

相应于上述方法实施例,本申请实施例还提供了一种电子设备,参见图6,所述电子设备包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,

存储器603,用于存放计算机程序;

处理器601,用于执行存储器603上所存放的程序时,可以执行上述任意一种数据重构方法的方法步骤。

上述电子设备提到的通信总线604可以是:外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线604可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口602用于上述电子设备与其他设备之间的通信。

存储器603可以包括:随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器603还可以是至少一个位于远离前述处理器601的存储装置。

上述的处理器601可以是通用处理器,包括:中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

相应于上述方法实施例,本申请实施例还提供了一种存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行实现上述任意一种数据存储方法的方法步骤。其中,所述存储介质是指计算机可读存储介质。

相应于上述方法实施例,本申请实施例还提供了一种存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行实现上述任意一种数据重构方法的方法步骤。其中,所述存储介质是指计算机可读存储介质。

相应于上述方法实施例,本申请实施例还提供了还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任意一种数据存储方法的方法步骤。

相应于上述方法实施例,本申请实施例还提供了还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任意一种数据重构方法的方法步骤。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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