CN104598171B - 基于元数据的阵列重建方法及装置 - Google Patents
基于元数据的阵列重建方法及装置 Download PDFInfo
- Publication number
- CN104598171B CN104598171B CN201510053182.3A CN201510053182A CN104598171B CN 104598171 B CN104598171 B CN 104598171B CN 201510053182 A CN201510053182 A CN 201510053182A CN 104598171 B CN104598171 B CN 104598171B
- Authority
- CN
- China
- Prior art keywords
- metadata
- data segments
- reconstruction
- data
- chained list
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供基于元数据的阵列重建方法及装置,所述方法包括:接收阵列重建通知;根据所述阵列重建通知获取所述阵列的元数据中的各个数据区段信息;根据预设的阵列重建策略和所述元数据中的各个数据区段信息对所述元数据对应的各个数据区段进行排序,得到对应的重建链表,并根据所述重建链表依次对所述元数据对应的各个数据区段进行重建。应用本发明实施例可以实现根据不同的阵列重建策略对元数据对应的各个数据区段进行重建,从而可以增强重建的灵活性,并可以提高重建的可靠性。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及基于元数据的阵列重建方法及装置。
背景技术
随着网络通信技术的发展,所需存储的数据量越来越庞大,使得存储数据量的存储媒介的容量越来越大,比如,大容量的磁盘阵列。在大容量磁盘阵列带来较高的性价比的同时,也使得磁盘数据的安全问题愈加突出,尤其是磁盘阵列重建问题。
现有技术中,如果磁盘冗余阵列中一块磁盘出现问题时,可以用热备盘进行替换,然后进行数据重建,而且在进行数据重建时,直接按照磁盘的扇区顺序进行重建。
但是,随着磁盘容量的不断增大,按照磁盘的扇区顺序进行重建时需要的时间随之延长,增加了丢失数据的可能性,降低了重建的可靠性和效率。
发明内容
本发明提供基于元数据的阵列重建方法及装置,以解决现有技术中随着磁盘容量的不断增大,按照磁盘的扇区顺序进行重建时需要的时间随之延长,增加了丢失数据的可能性,降低了重建的可靠性和效率的问题。
根据本发明实施例的第一方面,提供一种基于元数据的阵列重建方法,所述方法包括:
接收阵列重建通知;
根据所述阵列重建通知获取所述阵列的元数据中的各个数据区段信息;
根据预设的阵列重建策略和所述元数据中的各个数据区段信息对所述元数据对应的各个数据区段进行排序,得到对应的重建链表,并根据所述重建链表依次对所述元数据对应的各个数据区段进行重建。
根据本发明实施例的第二方面,提供一种基于元数据的阵列重建装置,所述装置包括:
接收单元,用于接收阵列重建通知;
获取单元,用于根据所述阵列重建通知获取所述阵列的元数据中的各个数据区段信息;
重建单元,用于根据预设的阵列重建策略和所述元数据中的各个数据区段信息对所述元数据对应的各个数据区段进行排序,得到对应的重建链表,并根据所述重建链表依次对所述元数据对应的各个数据区段进行重建。
应用本发明实施例,通过接收阵列重建通知,并根据阵列重建通知获取阵列的元数据中的各个数据区段信息,以及根据预设的阵列重建策略和元数据中的各个数据区段信息对元数据对应的各个数据区段进行排序,得到对应的重建链表,并根据重建链表依次对元数据对应的各个数据区段进行重建,实现了可以根据不同的阵列重建策略对元数据对应的各个数据区段进行重建。由于阵列中的数据的重要性是不同的,可以采用与数据的重要性相关的阵列重建策略优先重建重要性高的数据,从而缩短了重要数据的重建时间,进而保证了重要数据的可靠性与冗余性。
附图说明
图1是本发明实施例基于元数据的阵列重建方法中的元数据的存储空间划分图;
图2是本发明基于元数据的阵列重建方法的一个实施例流程图;
图3是本发明基于元数据的阵列重建方法的另一个实施例流程图;
图4是本发明基于元数据的阵列重建装置所在设备的一种硬件结构图;
图5是本发明基于元数据的阵列重建装置的一个实施例框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
参见图1,为本发明实施例基于元数据的阵列重建方法中的元数据的存储空间划分图:
图1中示出了一种基于元数据的阵列空间组织方式。其中,阵列中的元数据指的是管理磁盘阵列(Redundant Arrays of Independent Disks,RAID)空间分配的内部数据,即阵列的空间管理元数据部分中记录的信息。该元数据本身记录了对应分配空间的最新一次写的时间戳或类似时间戳功能的信息;另外,该元数据还记录不同数据区域的数据类型。
如图1所示,该基于元数据的阵列空间组织方式为阵列的空间管理元数据部分的空间组织方式。
该空间管理元数据部分,包括三个部分:空间管理元数据头、空间管理元数据条目及下一空间管理元数据位置。其中,空间管理元数据头可以简称为元数据头,空间管理元数据条目可以简称为元数据条目,并适用于以下各个实施例。
上述元数据头主要记录数据条目个数等公共信息,每一个元数据条目对应一个数据区,下一个空间管理元数据位置记录了下一个空间管理元数据部分的位置,可以为无效,表示已经是最后一个空间管理元数据部分。其中,每个数据条目对应的数据区还包括多个数据区段,每个数据区段在对应的数据条目中记录的信息包括:数据类型、写时间戳、以及其他信息。其中,可以根据数据类型判定每个数据区段的重要性。
现有技术中,直接按照磁盘的扇区顺序进行重建。但是,随着磁盘容量的不断增大,按照磁盘的扇区顺序进行重建时需要的时间随之延长,增加了丢失数据的可能性,降低了重建的可靠性和效率。
本发明实施例中,当基于元数据需要进行阵列重建时,可以按照数据类型对阵列区域进行分类,将同一类型(即元数据中数据区段记录的数据类型相同的数据)的区域放在同一链表中,并根据该链表进行重建;还可以选择直接按照时间顺序(即元数据中数据区段记录的写时间戳)构建一张链表,并根据该链表进行重建。
由上述实施例可见,本发明实施例通过将上层元数据与阵列层的整合(阵列层与上层之间提供控制/通信接口),实现按照数据类型(重要性)或时间顺序进行重建;以及通过元数据与RAID的整合,实现基于元数据按数据类型(重要性)进行重建或者基于元数据按时间顺序进行重建。
下面结合附图对本发明基于元数据的阵列重建的实施例进行详细描述。
参见图2,为本发明基于元数据的阵列重建方法的一个实施例流程图,包括以下步骤:
步骤210:接收阵列重建通知。其中,该阵列重建通知是由阵列管理层发送的。
步骤220:根据阵列重建通知获取阵列的元数据的各个数据区段信息。其中,数据区段信息包括对应区段的数据类型、写时间戳、以及其他信息等。
比如,元数据中的数据条目1对应数据区1,该数据区1包括数据区段1、数据区段2。数据区段1在对应的数据条目1中记录的数据区段信息包括:数据类型、写时间戳、以及其他信息等,数据区段2在对应的数据条目1中记录的数据区段信息包括:数据类型、写时间戳、以及其他信息等。其中,数据区段1的数据类型和数据区段2的数据类型可能相同,也可能不相同。
又比如,元数据中的数据条目2对应数据区2,该数据区2包括数据区段3、数据区段4。其中,数据区段3在对应的数据条目2中记录的数据区段信息包括:数据类型、写时间戳、以及其他信息等,数据区段4在对应的数据条目2中记录的数据区段信息包括:数据类型、写时间戳、以及其他信息等。其中,数据区段3的数据类型和数据区段4的数据类型可能相同,也可能不相同。
步骤230:根据预设的阵列重建策略和元数据中的各个数据区段信息对元数据对应的各个数据区段进行排序,得到对应的重建链表,并根据重建链表依次对元数据对应的各个数据区段进行重建。
其中,预设的阵列重建策略可以为用户设定的阵列重建策略,也可以系统默认的阵列重建策略,并保存在系统配置中。该预设的阵列重建策略可以为根据各个数据区段信息中的数据类型对各个数据区段进行排序,得到对应的类型重建类型链表,并根据类型重建链表依次对元数据对应的各个数据区段进行重建;也可以为根据各个数据区段信息中的写时间戳对各个数据区段进行排序,得到对应的时间重建链表,并根据时间重建链表依次对元数据对应的各个数据区段进行重建。
另外,上述实施例中,阵列的元数据为阵列的空间管理元数据部分中记录的信息,具体如下:
阵列的空间管理元数据部分包括空间管理元数据头、空间管理元数据条目及下一空间管理元数据位置;
其中,空间管理元数据头中记录有数据条目个数的信息。
每个空间管理元数据条目对应一个空间管理数据区,每个空间管理元数据条目对应的空间管理数据区包括至少一个数据区段,每个空间管理元数据条目中记录有对应的空间管理数据区包括的各个数据区段的数据区段信息,该数据区段信息包括数据区段的数据类型或写时间戳。
下一空间管理元数据位置中记录有下一个空间管理元数据部分的位置。
由上述实例可见,通过接收阵列重建通知,并根据阵列重建通知获取元数据中的各个数据区段信息,以及根据预设的阵列重建策略和元数据中的各个数据区段信息对元数据对应的各个数据区段进行排序,得到对应的重建链表,并根据述重建链表依次对元数据对应的各个数据区段进行重建,进而实现了可以根据不同的阵列重建策略对元数据对应的各个数据区段进行重建,从而增强了重建的灵活性,并提高了重建的可靠性。
另外,上述预设的阵列重建策略可以有很多种,不限于本发明以下三个实施例涉及到的阵列重建策略,具体为:
在一个实施例中,重建链表为类型重建链表,当根据预设的阵列重建策略和元数据中的各个数据区段信息对元数据对应的各个数据区段进行排序,得到对应的重建链表,并根据重建链表依次对元数据对应的各个数据区段进行重建时,其具体过程包括:
第一:根据元数据中的各个数据区段信息中的数据类型对元数据对应的各个数据区段进行分类,相同类型的数据区段组成一个成员,每个成员对应一种数据类型,并按照数据类型的优先级对所有成员进行排序,得到对应的类型重建链表,该类型重建链表中每个成员对应至少一个数据区段。
其中,数据类型的优先级依赖于上层业务,优先级高的数据类型对应的数据区段所存储的数据重要性大,优先级低的数据类型对应的数据区段所存储的数据重要性小。因此,优先级高的数据类型对应的成员排在前面,优先对该成员对应的数据区段进行重建。
比如,元数据中包括数据区段1、数据区段2、数据区段3和数据区段4。数据区段1和数据区段2的数据类型相同即皆为数据类型1,则数据区段1和数据区段2组成成员1,该成员1对应的数据类型1;数据区段3和数据区段4的数据类型相同即皆为数据类型2,则数据区段3和数据区段4组成成员2,该成员2对应的数据类型2。如果数据类型2的优选级大于数据类型1的优选级,则构建的类型重建链表中成员2排在成员1的前面;如果数据类型2的优选级小于数据类型1的优选级,则构建的类型重建链表中成员2排在成员1的后面。
第二:按照空间顺序对类型重建链表中每个成员对应的所有数据区段进行排序,得到该重建链表中每个成员对应的子空间重建链表。其中,空间顺序为数据逻辑扇区的升序或降序。
比如,类型重建链表包括成员1和成员2。成员1中包括数据区段1和数据区段2,按照数据逻辑扇区的升序或降序对数据区段1和数据区段2进行排序,得到成员1对应的子空间重建链表;成员2中包括数据区段3和数据区段4,按照数据逻辑扇区的升序或降序对数据区段3和数据区段4进行排序,得到成员2对应的子空间重建链表。
第三:针对类型重建链表中每个成员,根据该成员对应的子空间重建链表对该成员对应的数据区段进行重建。
比如,类型重建链表包括成员1和成员2。成员1中包括数据区段1和数据区段2,成员2中包括数据区段3和数据区段4。针对成员1,根据成员1对应的子空间重建链表对成员1对应的数据区段1和数据区段2进行重建,以及针对成员2,根据成员2对应的子空间重建链表对成员2对应的数据区段3和数据区段4进行重建,直至各个子空间重建链表中无成员并且类型重建链表中也无成员,则重建完成。
另一个实施例中,重建链表为类型重建链表,当根据预设的阵列重建策略和元数据中的各个数据区段信息对元数据对应的各个数据区段进行排序,得到对应的重建链表,所述重建链表为类型重建链表或者时间重建链表,并根据重建链表依次对元数据对应的各个数据区段进行重建时,其具体过程包括:
第一:根据元数据中的各个数据区段信息中的数据类型对元数据对应的各个数据区段进行分类,相同类型的数据区段组成一个成员,每个成员对应一种数据类型,并按照数据类型的优先级对所有成员进行排序,得到对应的类型重建链表,该类型重建链表中每个成员对应至少一个数据区段。
其中,数据类型的优先级依赖于上层业务,优先级高的数据类型对应的数据区段所存储的数据重要性大,优先级低的数据类型对应的数据区段所存储的数据重要性小。因此,优先级高的数据类型对应的成员排在前面,优先对该成员对应的数据区段进行重建。
比如,元数据中包括数据区段1、数据区段2、数据区段3和数据区段4。数据区段1和数据区段2的数据类型相同即皆为数据类型1,则数据区段1和数据区段2组成成员1,该成员1对应的数据类型1;数据区段3和数据区段4的数据类型相同即皆为数据类型2,则数据区段3和数据区段4组成成员2,该成员2对应的数据类型2。如果数据类型2的优选级大于数据类型1的优选级,则构建的类型重建链表中成员2排在成员1的前面;如果数据类型2的优选级小于数据类型1的优选级,则构建的类型重建链表中成员2排在成员1的后面。
第二:按照时间顺序对重建链表中每个成员包括的所有数据区段进行排序,得到重建链表中每个成员对应的子时间重建子链表。其中,时间顺序为时间升序或降序。
比如:根据各个数据区段信息中的写时间戳作为确定时间顺序的依据。
如果类型重建链表包括成员1和成员2。成员1中包括数据区段1和数据区段2,可以按照数据区段1和数据区段2中对应的数据区段信息中的写时间戳对数据区段1和数据区段2进行升序排列或降序排列,得到成员1对应的子时间重建链表;成员2中包括数据区段3和数据区段4,可以按照数据区段3和数据区段4中对应的数据区段信息中的写时间戳对数据区段13和数据区段4进行升序排列或降序排列,得到成员2对应的子时间重建链表。
第三:针对重建链表中每个成员,根据该成员对应的子时间重建子链表对该成员对应的数据区段进行重建。
比如,类型重建链表包括成员1和成员2。成员1中包括数据区段1和数据区段2,成员2中包括数据区段3和数据区段4。针对成员1,根据成员1对应的子时间重建链表对成员1对应的数据区段1和数据区段2进行重建,以及针对成员2,根据成员2对应的子时间重建链表对成员2对应的数据区段3和数据区段4进行重建,直至各个子时间重建链表中无成员并且类型重建链表中也无成员,则重建完成。
再一个实施例中,重建链表为时间重建链表,当根据预设的阵列重建策略和元数据中的各个数据区段信息对元数据对应的各个数据区段进行排序,得到对应的重建链表,所述重建链表为类型重建链表或者时间重建链表,并根据重建链表依次对元数据对应的各个数据区段进行重建时,其具体过程包括:
第一:根据所述元数据中的各个数据区段信息中的时间戳,以及时间顺序对各个数据区段进行排序,得到对应的时间重建链表。其中,时间顺序为时间升序或降序。
比如,元数据中包括数据区段1、数据区段2、数据区段3和数据区段4。根据数据区段1、数据区段2、数据区段3和数据区段4各自的时间戳进行升序排列或降序排列,从而得到对应的时间重建链表。
第二:根据时间重建链表依次对元数据对应的各个数据区段进行重建。
由上述实例可见,根据不同的阵列重建策略,可以对元数据对应的各个数据区段采用不同的阵列重建方式进行重建,从而增强了重建的灵活性,并提高了重建的可靠性。
参见图3,为本发明基于元数据的阵列重建方法的另一个实施例流程图,包括以下步骤:
步骤301:接收阵列重建通知。
步骤302:获取预设的重建策略,该预设的重建策略包括策略A,策略B和策略C。当获取到的预设的重建策略为策略A时,执行步骤303至步骤309;当获取到的预设的重建策略为策略B时,执行步骤310至步骤313;当获取到的预设的重建策略为策略C时,执行步骤314至步骤320。
步骤303:根据元数据构建类型重建链表。
具体地,根据元数据中的各个数据区段信息中的数据类型对元数据对应的各个数据区段进行分类,相同类型的数据区段组成一个成员,每个成员对应一种数据类型,并按照数据类型的优先级对所有成员进行排序,得到对应的类型重建链表,该类型重建链表中每个成员对应至少一个数据区段。
步骤304:根据元数据构建子空间重建链表。
具体地,按照空间顺序对类型重建链表中每个成员对应的所有数据区段进行排序,得到该重建链表中每个成员对应的子空间重建链表。
步骤305:判断类型重建链表是否有成员,当没有成员时,执行步骤321;当有成员时,执行步骤306。其中,类型重建链表的成员指的是同属于一种数据类型的各个数据区段的集合。
步骤306:从类型重建链表取出一个类型重建链表成员。
步骤307:判断取出的类型重建链表成员对应的子空间重建链表是否有数据区段,当没有数据区段时,执行步骤305;当有数据区段时,执行步骤308。
步骤308:从子空间重建链表取出数据区段。
步骤309:下发数据区段重建命令,接着执行步骤307。
步骤310:根据元数据构建时间重建链表。
具体地,根据元数据中的各个数据区段信息中的时间戳,以及时间顺序对各个数据区段进行排序,得到对应的时间重建链表。其中,时间顺序可以是升序,也可以为降序。
步骤311:判断时间重建链表是否有数据区段,当没有数据区段时,执行步骤321;当有数据区段时,执行步骤312。
步骤312:从时间重建链表取出数据区段。
步骤313:下发数据区段重建命令,接着执行步骤311。
步骤314:根据元数据构建类型重建链表。
具体地,根据元数据中的各个数据区段信息中的数据类型对元数据对应的各个数据区段进行分类,相同类型的数据区段组成一个成员,每个成员对应一种数据类型,并按照数据类型的优先级对所有成员进行排序,得到对应的类型重建链表,该类型重建链表中每个成员对应至少一个数据区段。
步骤315:根据元数据构建子时间重建链表。
具体地,按照时间顺序对重建链表中每个成员包括的所有数据区段进行排序,得到重建链表中每个成员对应的子时间重建子链表。
步骤316:判断类型重建链表是否有成员,当没有成员时,执行步骤321;当有成员时,执行步骤317。其中,类型重建链表的成员指的是同属于一种数据类型的各个数据区段的集合。
步骤317:从类型重建链表取出一个类型重建链表成员。
步骤318:判断取出的类型重建链表成员对应的子时间重建链表是否有数据区段,当没有数据区段时,执行步骤316;当有数据区段时,执行步骤319。
步骤319:从子时间重建链表取出数据区段。
步骤320:下发数据区段重建命令,接着执行步骤318。
步骤321:重建完成。
由图3所示实施例可见,根据不同的阵列重建策略,可以对元数据对应的各个数据区段采用不同的阵列重建方式进行重建,从而增强了重建的灵活性,并提高了重建的可靠性。
与前述基于元数据的阵列重建方法实施例相对应,本发明还提供了基于元数据的阵列重建装置的实施例。
本发明基于元数据的阵列重建装置的实施例可以应用在终端设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图4所示,为本发明基于元数据的阵列重建装置所在设备的一种硬件结构图,除了图4所示的处理器、网络接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等;从硬件结构上来讲该设备还可能是分布式的设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。
参见图5,为本发明基于元数据的阵列重建装置的一个实施例框图,该装置可以用于执行图2和图3所示的基于元数据的阵列重建方法,所述装置包括:接收单元51、获取单元52和重建单元53。
其中,接收单元51用于接收阵列重建通知。
获取单元52用于根据所述阵列重建通知获取所述元数据中的各个数据区段信息。
重建单元53用于根据预设的阵列重建策略和所述阵列的元数据中的各个数据区段信息对所述元数据对应的各个数据区段进行排序,得到对应的重建链表,并根据所述重建链表依次对所述元数据对应的各个数据区段进行重建。
另外,上述实施例中,所述阵列的元数据为所述阵列的空间管理元数据部分中记录的信息。
其中,所述阵列的空间管理元数据部分包括空间管理元数据头、空间管理元数据条目及下一空间管理元数据位置。
所述空间管理元数据头中记录有数据条目个数的信息。
每个空间管理元数据条目对应一个空间管理数据区,每个空间管理元数据条目对应的空间管理数据区包括至少一个数据区段,每个空间管理元数据条目中记录有对应的空间管理数据区包括的各个数据区段的数据区段信息,所述数据区段信息包括数据区段的数据类型或写时间戳。
所述下一空间管理元数据位置中记录有下一个空间管理元数据部分的位置。
在一个可选的实现方式中,所述重建单元53可以包括:第一类型重建链表生成子单元、子空间重建链表生成子单元和第一重建子单元(图5中未标出)。
其中,第一类型重建链表生成子单元用于根据所述元数据中的各个数据区段信息中的数据类型对所述元数据对应的各个数据区段进行分类,相同类型的数据区段组成一个成员,每个成员对应一种数据类型,并按照数据类型的优先级对所有成员进行排序,得到对应的类型重建链表,所述类型重建链表中每个成员对应至少一个数据区段。
子空间重建链表生成子单元用于按照空间顺序对所述类型重建链表中每个成员对应的所有数据区段进行排序,得到所述重建链表中每个成员对应的子空间重建链表。
第一重建子单元用于针对所述类型重建链表中每个成员,根据所述成员对应的子空间重建链表对所述成员对应的数据区段进行重建。
在另一个可选的实现方式中,所述重建单元53可以包括:第二类型重建链表生成子单元、子时间重建链表生成子单元和第二重建子单元(图5中未标出)。
其中,第二类型重建链表生成子单元用于根据所述元数据中的各个数据区段信息中的数据类型对所述元数据对应的各个数据区段进行分类,相同类型的数据区段组成一个成员,每个成员对应一种数据类型,并按照数据类型的优先级对所有成员进行排序,得到对应的类型重建链表,所述类型重建链表中每个成员对应至少一个数据区段。
子时间重建链表生成子单元用于按照时间顺序对所述重建链表中每个成员包括的所有数据区段进行排序,得到所述重建链表中每个成员对应的子时间重建子链表。
第二重建子单元用于针对所述重建链表中每个成员,根据所述成员对应的子时间重建子链表对所述成员对应的数据区段进行重建。
在再一个可选的实现方式中,所述重建单元53可以包括:时间重建链表生成子单元和第三重建子单元(图5中未标出)。
其中,时间重建链表生成子单元用于根据所述元数据中的各个数据区段信息中的时间戳,以及时间顺序对各个数据区段进行排序,得到对应的时间重建链表。
第三重建子单元用于根据所述时间重建链表依次对所述元数据对应的各个数据区段进行重建。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
由上述实施例可见,通过接收阵列重建通知,并根据阵列重建通知获取元数据中的各个数据区段信息,以及根据预设的阵列重建策略和元数据中的各个数据区段信息对元数据对应的各个数据区段进行排序,得到对应的重建链表,并根据述重建链表依次对元数据对应的各个数据区段进行重建,进而实现了可以根据不同的阵列重建策略对元数据对应的各个数据区段进行重建,从而增强了重建的灵活性,并提高了重建的可靠性。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (9)
1.一种基于元数据的阵列重建方法,其特征在于,所述方法包括:
接收阵列重建通知;
根据所述阵列重建通知获取所述阵列的元数据中的各个数据区段信息;
根据预设的阵列重建策略和所述元数据中的各个数据区段信息对所述元数据对应的各个数据区段进行排序,得到对应的重建链表,并根据所述重建链表依次对所述元数据对应的各个数据区段进行重建;
其中,所述阵列的元数据为所述阵列的空间管理元数据部分中记录的信息;
所述阵列的空间管理元数据部分包括空间管理元数据头、空间管理元数据条目及下一空间管理元数据位置;
所述空间管理元数据头中记录有数据条目个数的信息;
每个空间管理元数据条目对应一个空间管理数据区,每个空间管理元数据条目对应的空间管理数据区包括至少一个数据区段,每个空间管理元数据条目中记录有对应的空间管理数据区包括的各个数据区段的数据区段信息,所述数据区段信息包括数据区段的数据类型或写时间戳;
所述下一空间管理元数据位置中记录有下一个空间管理元数据部分的位置。
2.根据权利要求1所述的方法,其特征在于,所述重建链表为类型重建链表,所述根据预设的阵列重建策略和所述元数据中的各个数据区段信息对所述元数据对应的各个数据区段进行排序,得到对应的重建链表,并根据所述重建链表依次对所述元数据对应的各个数据区段进行重建具体包括:
根据所述元数据中的各个数据区段信息中的数据类型对所述元数据对应的各个数据区段进行分类,相同类型的数据区段组成一个成员,每个成员对应一种数据类型,并按照数据类型的优先级对所有成员进行排序,得到对应的类型重建链表,所述类型重建链表中每个成员对应至少一个数据区段;
按照空间顺序对所述类型重建链表中每个成员对应的所有数据区段进行排序,得到所述重建链表中每个成员对应的子空间重建链表;
针对所述类型重建链表中每个成员,根据所述成员对应的子空间重建链表对所述成员对应的数据区段进行重建。
3.根据权利要求2所述的方法,其特征在于,所述空间顺序为数据逻辑扇区的升序或降序。
4.根据权利要求1所述的方法,其特征在于,所述重建链表为类型重建链表,所述根据预设的阵列重建策略和所述元数据中的各个数据区段信息对所述元数据对应的各个数据区段进行排序,得到对应的重建链表,并根据所述重建链表依次对所述元数据对应的各个数据区段进行重建具体包括:
根据所述元数据中的各个数据区段信息中的数据类型对所述元数据对应的各个数据区段进行分类,相同类型的数据区段组成一个成员,每个成员对应一种数据类型,并按照数据类型的优先级对所有成员进行排序,得到对应的类型重建链表,所述类型重建链表中每个成员对应至少一个数据区段;
按照时间顺序对所述重建链表中每个成员包括的所有数据区段进行排序,得到所述重建链表中每个成员对应的子时间重建子链表;
针对所述重建链表中每个成员,根据所述成员对应的子时间重建子链表对所述成员对应的数据区段进行重建。
5.根据权利要求1所述的方法,其特征在于,所述重建链表为时间重建链表,所述根据预设的阵列重建策略和所述元数据中的各个数据区段信息对所述元数据对应的各个数据区段进行排序,得到对应的重建链表,并根据所述重建链表依次对所述元数据对应的各个数据区段进行重建具体包括:
根据所述元数据中的各个数据区段信息中的时间戳,以及时间顺序对各个数据区段进行排序,得到对应的时间重建链表;
根据所述时间重建链表依次对所述元数据对应的各个数据区段进行重建。
6.一种基于元数据的阵列重建装置,其特征在于,所述装置包括:
接收单元,用于接收阵列重建通知;
获取单元,用于根据所述阵列重建通知获取所述阵列的元数据中的各个数据区段信息;
重建单元,用于根据预设的阵列重建策略和所述元数据中的各个数据区段信息对所述元数据对应的各个数据区段进行排序,得到对应的重建链表,并根据所述重建链表依次对所述元数据对应的各个数据区段进行重建;
其中,所述阵列的元数据为所述阵列的空间管理元数据部分中记录的信息;
所述阵列的空间管理元数据部分包括空间管理元数据头、空间管理元数据条目及下一空间管理元数据位置;
所述空间管理元数据头中记录有数据条目个数的信息;
每个空间管理元数据条目对应一个空间管理数据区,每个空间管理元数据条目对应的空间管理数据区包括至少一个数据区段,每个空间管理元数据条目中记录有对应的空间管理数据区包括的各个数据区段的数据区段信息,所述数据区段信息包括数据区段的数据类型或写时间戳;
所述下一空间管理元数据位置中记录有下一个空间管理元数据部分的位置。
7.根据权利要求6所述的装置,其特征在于,所述重建单元包括:
第一类型重建链表生成子单元,用于根据所述元数据中的各个数据区段信息中的数据类型对所述元数据对应的各个数据区段进行分类,相同类型的数据区段组成一个成员,每个成员对应一种数据类型,并按照数据类型的优先级对所有成员进行排序,得到对应的类型重建链表,所述类型重建链表中每个成员对应至少一个数据区段;
子空间重建链表生成子单元,用于按照空间顺序对所述类型重建链表中每个成员对应的所有数据区段进行排序,得到所述重建链表中每个成员对应的子空间重建链表;
第一重建子单元,用于针对所述类型重建链表中每个成员,根据所述成员对应的子空间重建链表对所述成员对应的数据区段进行重建。
8.根据权利要求6所述的装置,其特征在于,所述重建单元包括:
第二类型重建链表生成子单元,用于根据所述元数据中的各个数据区段信息中的数据类型对所述元数据对应的各个数据区段进行分类,相同类型的数据区段组成一个成员,每个成员对应一种数据类型,并按照数据类型的优先级对所有成员进行排序,得到对应的类型重建链表,所述类型重建链表中每个成员对应至少一个数据区段;
子时间重建链表生成子单元,用于按照时间顺序对所述重建链表中每个成员包括的所有数据区段进行排序,得到所述重建链表中每个成员对应的子时间重建子链表;
第二重建子单元,用于针对所述重建链表中每个成员,根据所述成员对应的子时间重建子链表对所述成员对应的数据区段进行重建。
9.根据权利要求6所述的装置,其特征在于,所述重建单元包括:
时间重建链表生成子单元,用于根据所述元数据中的各个数据区段信息中的时间戳,以及时间顺序对各个数据区段进行排序,得到对应的时间重建链表;
第三重建子单元,用于根据所述时间重建链表依次对所述元数据对应的各个数据区段进行重建。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510053182.3A CN104598171B (zh) | 2015-02-02 | 2015-02-02 | 基于元数据的阵列重建方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510053182.3A CN104598171B (zh) | 2015-02-02 | 2015-02-02 | 基于元数据的阵列重建方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104598171A CN104598171A (zh) | 2015-05-06 |
CN104598171B true CN104598171B (zh) | 2018-01-05 |
Family
ID=53123998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510053182.3A Active CN104598171B (zh) | 2015-02-02 | 2015-02-02 | 基于元数据的阵列重建方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104598171B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109101187B (zh) * | 2017-06-20 | 2021-07-09 | 杭州海康威视数字技术股份有限公司 | 一种进行数据重构的方法和装置 |
CN110658979B (zh) | 2018-06-29 | 2022-03-25 | 杭州海康威视系统技术有限公司 | 一种数据重构方法、装置、电子设备及存储介质 |
CN113126887A (zh) * | 2020-01-15 | 2021-07-16 | 伊姆西Ip控股有限责任公司 | 用于重建盘阵列的方法、电子设备和计算机程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436149A (zh) * | 2008-12-19 | 2009-05-20 | 华中科技大学 | 磁盘阵列数据重建方法 |
US8115660B2 (en) * | 2007-02-13 | 2012-02-14 | Packeteer, Inc. | Compression of stream data using a hierarchically-indexed database |
CN103823728A (zh) * | 2014-03-13 | 2014-05-28 | 深圳市迪菲特科技股份有限公司 | 一种独立冗余磁盘阵列智能重建的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8706980B2 (en) * | 2009-07-30 | 2014-04-22 | Cleversafe, Inc. | Method and apparatus for slice partial rebuilding in a dispersed storage network |
-
2015
- 2015-02-02 CN CN201510053182.3A patent/CN104598171B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8115660B2 (en) * | 2007-02-13 | 2012-02-14 | Packeteer, Inc. | Compression of stream data using a hierarchically-indexed database |
CN101436149A (zh) * | 2008-12-19 | 2009-05-20 | 华中科技大学 | 磁盘阵列数据重建方法 |
CN103823728A (zh) * | 2014-03-13 | 2014-05-28 | 深圳市迪菲特科技股份有限公司 | 一种独立冗余磁盘阵列智能重建的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104598171A (zh) | 2015-05-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105589812B (zh) | 磁盘碎片整理方法、装置及主机 | |
CN105573660B (zh) | 用于改善分簇磁盘阵列的性能的方法和装置 | |
CN104461390B (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
CN101799744B (zh) | 固态驱动器命令分组 | |
US20160188227A1 (en) | Method and apparatus for writing data into solid state disk | |
CN110471820B (zh) | 一种基于循环神经网络的云存储系统磁盘故障预测方法 | |
CN107250975A (zh) | 数据存储系统和数据存储方法 | |
CN108170555A (zh) | 一种数据恢复方法及设备 | |
CN107506145B (zh) | 一种物理存储调度方法及云主机创建方法 | |
KR102024005B1 (ko) | 블록체인을 이용한 트랜잭션 처리 방법 및 이를 이용한 트랜잭션 서버 | |
CN103384550B (zh) | 储存数据的方法及装置 | |
CN107436733A (zh) | 分片管理方法和分片管理装置 | |
CN105138469B (zh) | 一种数据读写方法以及主板 | |
CN104937564B (zh) | 组表格的数据冲洗 | |
CN107977167B (zh) | 一种基于纠删码的分布式存储系统的退化读优化方法 | |
CN103577115B (zh) | 数据的排布处理方法、装置和服务器 | |
CN107729536A (zh) | 一种数据存储方法和装置 | |
CN102722340A (zh) | 数据处理方法、装置及系统 | |
CN104598171B (zh) | 基于元数据的阵列重建方法及装置 | |
CN108427728A (zh) | 元数据的管理方法、设备及计算机可读介质 | |
CN110413454A (zh) | 基于存储阵列的数据重建方法、装置及存储介质 | |
CN104216664B (zh) | 网络卷创建方法、数据存储方法、存储设备和存储系统 | |
CN110597655A (zh) | 一种迁移与基于纠删码的重构相耦合的快速预知修复方法和实现 | |
CN110297601A (zh) | 固态硬盘阵列构建方法、电子设备及存储介质 | |
US8443369B1 (en) | Method and system for dynamically selecting a best resource from each resource collection based on resources dependencies, prior selections and statistics to implement an allocation policy |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |