CN115309348A - 元数据的管理方法、装置和计算机设备和存储介质 - Google Patents

元数据的管理方法、装置和计算机设备和存储介质 Download PDF

Info

Publication number
CN115309348A
CN115309348A CN202211240058.4A CN202211240058A CN115309348A CN 115309348 A CN115309348 A CN 115309348A CN 202211240058 A CN202211240058 A CN 202211240058A CN 115309348 A CN115309348 A CN 115309348A
Authority
CN
China
Prior art keywords
level table
metadata
address
logical volume
volume allocation
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.)
Granted
Application number
CN202211240058.4A
Other languages
English (en)
Other versions
CN115309348B (zh
Inventor
朱红玉
王见
刘丹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202211240058.4A priority Critical patent/CN115309348B/zh
Publication of CN115309348A publication Critical patent/CN115309348A/zh
Application granted granted Critical
Publication of CN115309348B publication Critical patent/CN115309348B/zh
Priority to PCT/CN2023/081122 priority patent/WO2024077860A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

元数据的管理方法、装置和计算机设备和存储介质
技术领域
本申请涉及元数据组织技术领域,特别是涉及一种元数据的管理方法、装置、计算机设备和存储介质。
背景技术
独立磁盘冗余阵列用多个独立的磁盘组成磁盘系统实现比单块磁盘更好的存储性能和更高的可靠性。多控制器系统即使用多个控制器共同处理用户读写操作,实现多个控制器的性能叠加、安全性叠加。
多个控制器访问相同的地址空间带来了资源访问冲突问题,一种可行的解决方案是将硬盘的地址空间划分到多个控制器,避免资源访问冲突,地址空间隔离避免域间信息交叉。空间的地址划分由逻辑卷层面进行,保证地址空间的独立控制器访问。
控制器需要对阵列执行数据的配置与恢复任务,当执行数据的配置与恢复任务需要记录条带的元数据以按照条带为单位进行任务的调度时,包括但不限于格式化任务,需要记录条带是否已经格式化在保证数据校验一致性的同时避免多次格式化。其中元数据组织形式采用位图的形式,对于第n位采用0描述第n个条带已经格式化。
根据多个控制器对RAID的条带的划分,单个控制器仅访问所属的条带。对于所有的条带,仅有约1/4划分到单个的控制器,此时对于控制器记录的元数据中约3/4为不属于控制器实际所使用的条带,无疑造成空间的浪费。控制器故障时元数据同步速度也因此受到影响。
发明内容
基于此,有必要针对上述技术问题,提供一种元数据的管理方法、装置、计算机设备和存储介质,能够通过二级表形式管控元数据且具有实时的数据压缩的特性。即在元数据更新时,更新后的元数据比旧的元数据空间占用缩小,这是位图形式没有的特性。以此方式解决目前设置多个控制器造成空间浪费的技术问题。
一方面,提供一种元数据的管理方法,所述方法包括:
多个独立磁盘冗余阵列组成磁盘空间,将所述磁盘空间划分为多个分块,并将多个分块组合为一个条带,多个条带形成逻辑卷分配单位;
根据所述逻辑卷分配单位生成二级表并存储,所述二级表包括第一级表和第二级表;根据所述逻辑卷分配单位与单个条带的长度的比值定义所述第二级表的长度,所述第二级表的长度为所述逻辑卷分配单位包含条带的数量;所述第一级表的长度等于所述磁盘空间大小除以所述第二级表的长度;所述第一级表记录的地址对应条带编号的高位部分,其中存储的值对应于所述第二级表的地址;所述第二级表记录一组条带的位图,所述第二级表记录的地址对应条带编号的低位部分;以及
通过二级表对所述逻辑卷分配单位中的元数据进行管理,所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据读取、数据写入、数据删除或数据合并。
在其中一个实施例中,所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据读取,所述数据读取步骤包括:
根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
根据获取的第二级表中记录的地址读取第二级表中存储的条带信息。
在其中一个实施例中,所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据写入,所述数据写入步骤包括:
根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
将需要写入的信息在该第二级表地址对应的空间写入数据。
在其中一个实施例中,所述将需要写入的信息在该第二级表地址对应的空间写入数据时,根据所述逻辑卷分配单位归属的控制器对所属条带的元数据配置标记值,对于不归属于该控制器的条带的元数据配置相反的标记值,该元数据写入掉电保护空间,在写入数据时进行元数据位图的压缩。
在其中一个实施例中,元数据使用压缩算法进行压缩,压缩后的数据写入掉电保护空间;多个控制器均执行相同的压缩算法,根据压缩后的元数据空间分配掉电保护空间。
在其中一个实施例中,当控制器发生故障后进行恢复时,需要重新同步元数据,控制器根据元数据同步规则拷贝元数据到目标控制器,与目标控制器元数据合并后保存到保电内存空间,等待元数据合并结束后允许继续进行数据的读取和写入。
在其中一个实施例中,所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据删除,所述数据删除步骤包括:
根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
将需要删除的信息在该第二级表地址对应的空间删除。
在其中一个实施例中,在所述将需要删除的信息在该第二级表地址对应的空间删除后,还包括:
根据删除信息后的逻辑卷分配单位重新生成二级表,更新二级表中的第一级表及第二级表的长度和记录的地址;
在重新生成二级表时,如果该第二级表地址对应的空间中不存在其它信息时,删除该第二级表,并将对应的第一级表中记录的设置为无效。
在其中一个实施例中,所述磁盘空间形成多个逻辑卷分配单位,每一逻辑卷分配单位对应一个控制器;当删除信息导致对应的条带的归属划分发生变化时,存在归属划分变更的条带的信息需要从旧的控制器迁移到新的控制器,此时删除旧的控制器的元数据中的该条带的信息并将该条带的信息插入到新的控制器的元数据中。
在其中一个实施例中,所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据合并,所述数据合并步骤包括:
根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
将需要插入的信息记录在该第二级表地址对应的空间中。
在其中一个实施例中,在所述将需要插入的信息记录在该第二级表地址对应的空间中后,还包括:
根据插入信息后的逻辑卷分配单位重新生成二级表,更新二级表中的第一级表及第二级表的长度和记录的地址;
在重新生成二级表时,如果该第二级表地址对应的空间不足,则从其他逻辑卷分配单位中获取一存储空间,新增第二级表,并对应第二级表新增第一级表。
在其中一个实施例中,所述磁盘空间形成多个逻辑卷分配单位,每一逻辑卷分配单位对应一个控制器;当插入信息导致对应的条带的归属划分发生变化时,存在归属划分变更的条带的信息需要从旧的控制器迁移到新的控制器,此时删除旧的控制器的元数据中的该条带的信息并将该条带的信息插入到新的控制器的元数据中。
另一方面,提供了一种元数据组织装置,所述装置包括:
形成逻辑卷分配单位模块,用于多个独立磁盘冗余阵列组成磁盘空间,将所述磁盘空间划分为多个分块,并将多个分块组合为一个条带,多个条带形成逻辑卷分配单位;
生成二级表模块,用于根据所述逻辑卷分配单位生成二级表并存储,所述二级表包括第一级表和第二级表;根据所述逻辑卷分配单位与单个条带的长度的比值定义所述第二级表的长度,所述第二级表的长度为所述逻辑卷分配单位包含条带的数量;所述第一级表的长度等于所述磁盘空间大小除以所述第二级表的长度;所述第一级表记录的地址对应条带编号的高位部分,其中存储的值对应于所述第二级表的地址;所述第二级表记录一组条带的位图,所述第二级表记录的地址对应条带编号的低位部分;以及
元数据管理模块,用于通过二级表对所述逻辑卷分配单位中的元数据进行管理;所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据读取、数据写入、数据删除或数据合并。
再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
多个独立磁盘冗余阵列组成磁盘空间,将所述磁盘空间划分为多个分块,并将多个分块组合为一个条带,多个条带形成逻辑卷分配单位;
根据所述逻辑卷分配单位生成二级表并存储,所述二级表包括第一级表和第二级表;根据所述逻辑卷分配单位与单个条带的长度的比值定义所述第二级表的长度,所述第二级表的长度为所述逻辑卷分配单位包含条带的数量;所述第一级表的长度等于所述磁盘空间大小除以所述第二级表的长度;所述第一级表记录的地址对应条带编号的高位部分,其中存储的值对应于所述第二级表的地址;所述第二级表记录一组条带的位图,所述第二级表记录的地址对应条带编号的低位部分;以及
通过二级表对所述逻辑卷分配单位中的元数据进行管理所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据读取、数据写入、数据删除或数据合并。
又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
多个独立磁盘冗余阵列组成磁盘空间,将所述磁盘空间划分为多个分块,并将多个分块组合为一个条带,多个条带形成逻辑卷分配单位;
根据所述逻辑卷分配单位生成二级表并存储,所述二级表包括第一级表和第二级表;根据所述逻辑卷分配单位与单个条带的长度的比值定义所述第二级表的长度,所述第二级表的长度为所述逻辑卷分配单位包含条带的数量;所述第一级表的长度等于所述磁盘空间大小除以所述第二级表的长度;所述第一级表记录的地址对应条带编号的高位部分,其中存储的值对应于所述第二级表的地址;所述第二级表记录一组条带的位图,所述第二级表记录的地址对应条带编号的低位部分;以及
通过二级表对所述逻辑卷分配单位中的元数据进行管理所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据读取、数据写入、数据删除或数据合并。
上述元数据的管理方法、装置、计算机设备和存储介质,通过二级表形式管控元数据,具有实时的数据压缩的特性。即在元数据更新时,更新后的元数据比旧的元数据空间占用缩小,这是位图形式没有的特性。本申请在通过二级表对所述逻辑卷分配单位中的元数据进行管理时,相比于旧的元数据组织形式降低元数据空间占用,且能降低控制器故障以及恢复时的元数据同步时间,提高系统可靠性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中元数据的管理方法的应用环境图;
图2为一个实施例中元数据的管理方法的流程示意图;
图3为一个实施例中数据读取步骤的流程示意图;
图4为一个实施例中数据写入步骤的流程示意图;
图5为一个实施例中数据删除步骤的流程示意图;
图6为一个实施例中数据合并步骤的流程示意图;
图7为一个实施例中元数据组织装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的元数据的管理方法,可以应用于如图1所示的应用环境中。其中,多个独立磁盘冗余阵列组成磁盘空间,将所述磁盘空间划分为多个分块,并将多个分块组合为一个条带,多个条带形成逻辑卷分配单位。
其中,独立冗余磁盘阵列(RAID),文中简称为阵列,由多个磁盘按照一定的空间结构组织而成,用于提供数据存取服务。阵列将多个分块组合为条带,一个条带跨越多个磁盘,是基本冗余单位。单个条带跨越的磁盘数目,条带宽度由用户在创建阵列时直接指定。分块大小是划分为分块的单位,由用户在创建阵列时直接指定分块大小。坏块为无法从磁盘读取且不能通过阵列重构算法进行恢复的数据区域。当存在坏块时需要进行数据恢复。
如图1所示,独立冗余磁盘阵列102(RAID)与服务器104通过连接进行通信。其中,独立冗余磁盘阵列102可以但不限于是适用于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备的磁盘,在图1中以RAID5阵列为例。服务器104为个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104也可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种元数据的管理方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤S1-S3:
步骤S1,多个独立磁盘冗余阵列组成磁盘空间,将所述磁盘空间划分为多个分块,并将多个分块组合为一个条带,多个条带形成逻辑卷分配单位;
步骤S2,根据所述逻辑卷分配单位生成二级表并存储,所述二级表包括第一级表和第二级表;根据所述逻辑卷分配单位与单个条带的长度的比值定义所述第二级表的长度,所述第二级表的长度为所述逻辑卷分配单位包含条带的数量;所述第一级表的长度等于所述磁盘空间大小除以所述第二级表的长度;所述第一级表记录的地址对应条带编号的高位部分,其中存储的值对应于所述第二级表的地址;所述第二级表记录一组条带的位图,所述第二级表记录的地址对应条带编号的低位部分;以及
步骤S3,通过二级表对所述逻辑卷分配单位中的元数据进行管理。
其中,所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据读取、数据写入、数据删除或数据合并。
下面根据步骤S3中对元数据进行管理的方式分为多个实施例进行详细说明。
元数据管理实施例1
在实施例1中,所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据读取,如图3所示,所述数据读取步骤包括:
步骤S311,根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
步骤S312,根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
步骤S313,根据获取的第二级表中记录的地址读取第二级表中存储的条带信息。
元数据管理实施例2
在实施例2中,所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据写入,如图4所示,所述数据写入步骤包括:
步骤S321,根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
步骤S322,根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
步骤S323,将需要写入的信息在该第二级表地址对应的空间写入数据。
在本实施例中,所述将需要写入的信息在该第二级表地址对应的空间写入数据时,根据所述逻辑卷分配单位归属的控制器对所属条带的元数据配置标记值,对于不归属于该控制器的条带的元数据配置相反的标记值,该元数据写入掉电保护空间,在写入数据时进行元数据位图的压缩。
在本实施例中,元数据使用压缩算法进行压缩,压缩后的数据写入掉电保护空间;多个控制器均执行相同的压缩算法,根据压缩后的元数据空间分配掉电保护空间。
在本实施例中,当控制器发生故障后进行恢复时,需要重新同步元数据,控制器根据元数据同步规则拷贝元数据到目标控制器,与目标控制器元数据合并后保存到保电内存空间,等待元数据合并结束后允许继续进行数据的读取和写入。
元数据管理实施例3
在实施例3中,所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据删除,如图5所示,所述数据删除步骤包括:
步骤S331,根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
步骤S332,根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
步骤S333,将需要删除的信息在该第二级表地址对应的空间删除。
如图5所示,在本实施例中,在所述将需要删除的信息在该第二级表地址对应的空间删除后,还包括:
步骤S334,根据删除信息后的逻辑卷分配单位重新生成二级表,更新二级表中的第一级表及第二级表的长度和记录的地址。
在重新生成二级表时,如果该第二级表地址对应的空间中不存在其它信息时,删除该第二级表,并将对应的第一级表中记录的设置为无效。
在本实施例中,所述磁盘空间形成多个逻辑卷分配单位,每一逻辑卷分配单位对应一个控制器;当删除信息导致对应的条带的归属划分发生变化时,存在归属划分变更的条带的信息需要从旧的控制器迁移到新的控制器,此时删除旧的控制器的元数据中的该条带的信息并将该条带的信息插入到新的控制器的元数据中。
元数据管理实施例4
在实施例4中,所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据合并,如图6所示,所述数据合并步骤包括:
步骤S341,根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
步骤S342,根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
步骤S343,将需要插入的信息记录在该第二级表地址对应的空间中。
如图6所示,在本实施例中,在所述将需要插入的信息记录在该第二级表地址对应的空间中后,还包括:
步骤S344,根据插入信息后的逻辑卷分配单位重新生成二级表,更新二级表中的第一级表及第二级表的长度和记录的地址。
在重新生成二级表时,如果该第二级表地址对应的空间不足,则从其他逻辑卷分配单位中获取一存储空间,新增第二级表,并对应第二级表新增第一级表。
在本实施例中,所述磁盘空间形成多个逻辑卷分配单位,每一逻辑卷分配单位对应一个控制器;当插入信息导致对应的条带的归属划分发生变化时,存在归属划分变更的条带的信息需要从旧的控制器迁移到新的控制器,此时删除旧的控制器的元数据中的该条带的信息并将该条带的信息插入到新的控制器的元数据中。
上述元数据的管理方法中,提出一种RAID使用的压缩的元数据的形式,相比于旧的元数据组织形式降低元数据空间占用,且能降低控制器故障以及恢复时的元数据同步时间,提高系统可靠性。
在使用时,RAID在启动后台任务时必须首先配置后台任务使用的元数据,例如包括不限于格式化、重构等启动时必须配置元数据描述RAID的哪些空间区域是已经格式化的,哪些空间区域是没有格式化的,上述的RAID的区域的划分可以以RAID的条带为单位,也可以以RAID的一行分块为单位。
元数据配置作为元数据更新形式的一种,元数据根据RAID的空间区域的控制器归属配置所属的空间区域的元数据以标记值,对于不归属于控制器的空间区域的元数据以相反的标记值,该相反的标记值等同于已经完成相应任务的标记值,该元数据写入掉电保护空间,写入数据时进行元数据位图的压缩。其中相反的标记值等同于已经完成相应任务的标记值是用于多控制器RAID系统的元数据组织形式时,对于某个阵列,某个控制器处理其部分地址空间,该部分地址空间以外的在该控制器视角下的描述与完成任务的描述相同。
元数据使用压缩算法进行压缩,压缩后的数据写入掉电保护空间,多个控制器均执行相同的压缩算法,由于控制器所属空间区域不同压缩后的元数据不同且空间占用不同,根据压缩后的元数据空间分配掉电保护空间。值得注意的是,本申请的元数据使用压缩算法为提出的元数据组织形式,并不等同于window的压缩解压工具,而是一种数据结构,该数据结构允许数据读写,提供比位图的空间节约,后面有提到读取无需解压缩也是这个意思。
控制器故障或者恢复时需要重新同步元数据,控制器根据元数据同步规则拷贝元数据到目标控制器,与目标控制器元数据合并后保存到保电内存空间,控制器故障或者恢复时等待元数据合并结束后允许继续进行数据读写。
在元数据读取数据时,根据元数据压缩后的形式进行读取返回。元数据写入时首先读取旧的元数据,更新元数据的指定位置,压缩元数据并写入到保电内存。元数据除初始化配置外同步的控制器需要同时执行上述的元数据写入逻辑,保持写入的元数据控制器间的同步。
其中元数据的压缩算法的核心在于,根据多控制器均衡时空间均衡的形式进行压缩。由于逻辑卷空间分配单位远大于RAID,对于相邻的多个条带其最被分配的相同的控制器。以划分单位为条带的形式为例。压缩采用二级表的型式,表的第一级记录的下标值对应于条带编号的高位部分,其中存储的值对应于表的第二级下标。表的第二级记录一组条带的位图,描述含义与旧的位图含义等同。这里描述的是一种数据结构,该种数据结构用于替代位图而存储元数据,这里的压缩并非等同于window的压缩工具,而是采用该数据结构存储可以起到空间节约的效果。
根据逻辑卷分配单位与RAID区域划分单位的长度的比值定义表的第二级的长度,第一级的长度等于区域划分数目除以表的第二级的长度。例如对于逻辑卷划分单位为1024M,RAID区域划分单位(即条带)为2M的单位,表的第二级的长度等于1024M/2M=512,因此表的第二级的使用512个bit标识这512的划分单位,对应512个条带。该处是根据二级表长度确认一级表长度,即二级表长度是确定的,即文中提到的根据逻辑卷划分单位进行确定,而数据总量根据实时配置的RAID的空间大小确定,总的RAID的空间大小除以第二级长度即得出第一级长度。
该压缩后的元数据读取时无需解压缩,通过条带编号根据定义表的第一级长度获取对应的第一级表地址,根据第一级表地址读取第一级表中记录的地址,根据地址读取第二级表,通过条带编号根据定义表的第二级长度获取对应的第二级表地址,根据第二级表地址读取第二级表中存储的条带信息。
该元数据形式通过支持删除的方式允许元数据实时压缩:通过需要删除的条带编号根据定义表的第一级长度获取对应的第一级表地址,根据第一级表地址读取第一级表中记录的地址;根据地址读取第二级表,通过条带编号根据定义表的第二级长度获取对应的第二级表地址,将需要删除的信息在该第二级表地址对应的空间删除;如果该第二级表地址对应的空间中不存在其它的剩余信息,删除该第二级表,并将对应的第一级表中记录的设置为无效。可理解的是,表的第一级中存储的是表的第二级的物理地址,即表的第一级是表的第二级的索引,节省空间是因为表的第二级是不存在的,此时可以节约空间。其中该第二级表地址对应的空间中不存在其它的剩余信息的意思为该第二级表中已经没有需要存储的数据了,即上面描述的“已完成”、“不属于该控制器”两种情况之一。
其中条带的归属划分发生变化时,其归属划分变更的条带的信息需要从旧的控制器迁移到新的控制器,此时,删除旧的控制器的该条带的信息并将该信息插入到新的控制器的元数据中。
该元数据形式通过支持插入的方式允许元数据合并:通过需要插入的条带编号根据定义表的第一级长度获取对应的第一级表地址,根据第一级表地址读取第一级表中记录的地址;如果该地址是有效的,则根据地址读取第二级表,否则申请保电内存空间创建第二级表,并将第二级表的地址记录在第一级表中;通过条带编号根据定义表的第二级长度获取对应的第二级表地址,将需要插入的信息记录的该第二级表地址对应的空间。
因此,上述元数据的管理方法、装置、计算机设备和存储介质,通过二级表形式管控元数据,具有实时的数据压缩的特性。即在元数据更新时,更新后的元数据比旧的元数据空间占用缩小,这是位图形式没有的特性。本申请在通过二级表对所述逻辑卷分配单位中的元数据进行管理时,相比于旧的元数据组织形式降低元数据空间占用,且能降低控制器故障以及恢复时的元数据同步时间,提高系统可靠性。
应该理解的是,虽然图2-图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种元数据组织装置10,包括:形成逻辑卷分配单位模块1、生成二级表模块2和元数据管理模块3。
所述形成逻辑卷分配单位模块1用于多个独立磁盘冗余阵列组成磁盘空间,将所述磁盘空间划分为多个分块,并将多个分块组合为一个条带,多个条带形成逻辑卷分配单位。
所述生成二级表模块2用于根据所述逻辑卷分配单位生成二级表并存储,所述二级表包括第一级表和第二级表;根据所述逻辑卷分配单位与单个条带的长度的比值定义所述第二级表的长度,所述第二级表的长度为所述逻辑卷分配单位包含条带的数量;所述第一级表的长度等于所述磁盘空间大小除以所述第二级表的长度;所述第一级表记录的地址对应条带编号的高位部分,其中存储的值对应于所述第二级表的地址;所述第二级表记录一组条带的位图,所述第二级表记录的地址对应条带编号的低位部分。
所述元数据管理模块3用于通过二级表对所述逻辑卷分配单位中的元数据进行管理。
所述元数据管理模块3通过二级表对所述逻辑卷分配单位中的元数据进行管理时包括数据读取、数据写入、数据删除或数据合并。
所述元数据管理模块3根据数据读取、数据写入、数据删除或数据合并的内容设置其具体功能结构,所述元数据管理模块3包括数据读取模块31、数据写入模块32、数据删除模块33或数据合并模块34, 请参阅前文对元数据进行管理的方式的多个实施例了解数据读取模块31、数据写入模块32、数据删除模块33或数据合并模块34的功能。
如图3所示,所述数据读取模块31用于:根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及根据获取的第二级表中记录的地址读取第二级表中存储的条带信息。
如图4所示,所述数据写入模块32用于:根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及将需要写入的信息在该第二级表地址对应的空间写入数据。
在本实施例中,所述将需要写入的信息在该第二级表地址对应的空间写入数据时,根据所述逻辑卷分配单位归属的控制器对所属条带的元数据配置标记值,对于不归属于该控制器的条带的元数据配置相反的标记值,该元数据写入掉电保护空间,在写入数据时进行元数据位图的压缩。
在本实施例中,元数据使用压缩算法进行压缩,压缩后的数据写入掉电保护空间;多个控制器均执行相同的压缩算法,根据压缩后的元数据空间分配掉电保护空间。
在本实施例中,当控制器发生故障后进行恢复时,需要重新同步元数据,控制器根据元数据同步规则拷贝元数据到目标控制器,与目标控制器元数据合并后保存到保电内存空间,等待元数据合并结束后允许继续进行数据的读取和写入。
如图5所示,所述数据删除模块33用于:根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;将需要删除的信息在该第二级表地址对应的空间删除;以及根据删除信息后的逻辑卷分配单位重新生成二级表,更新二级表中的第一级表及第二级表的长度和记录的地址。
在重新生成二级表时,如果该第二级表地址对应的空间中不存在其它信息时,删除该第二级表,并将对应的第一级表中记录的设置为无效。
在本实施例中,所述磁盘空间形成多个逻辑卷分配单位,每一逻辑卷分配单位对应一个控制器;当删除信息导致对应的条带的归属划分发生变化时,存在归属划分变更的条带的信息需要从旧的控制器迁移到新的控制器,此时删除旧的控制器的元数据中的该条带的信息并将该条带的信息插入到新的控制器的元数据中。
如图6所示,所述数据合并模块34用于:根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;将需要插入的信息记录在该第二级表地址对应的空间中;以及根据插入信息后的逻辑卷分配单位重新生成二级表,更新二级表中的第一级表及第二级表的长度和记录的地址。
在重新生成二级表时,如果该第二级表地址对应的空间不足,则从其他逻辑卷分配单位中获取一存储空间,新增第二级表,并对应第二级表新增第一级表。
在本实施例中,所述磁盘空间形成多个逻辑卷分配单位,每一逻辑卷分配单位对应一个控制器;当插入信息导致对应的条带的归属划分发生变化时,存在归属划分变更的条带的信息需要从旧的控制器迁移到新的控制器,此时删除旧的控制器的元数据中的该条带的信息并将该条带的信息插入到新的控制器的元数据中。
关于元数据组织装置的具体限定可以参见上文中对于元数据的管理方法的限定,在此不再赘述。上述元数据组织装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储元数据组织数据。该计算机设备的网络接口用于与外部的独立冗余磁盘阵列通过网络连接通信。该计算机程序被处理器执行时以实现一种元数据的管理方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
多个独立磁盘冗余阵列组成磁盘空间,将所述磁盘空间划分为多个分块,并将多个分块组合为一个条带,多个条带形成逻辑卷分配单位;
根据所述逻辑卷分配单位生成二级表并存储,所述二级表包括第一级表和第二级表;根据所述逻辑卷分配单位与单个条带的长度的比值定义所述第二级表的长度,所述第二级表的长度为所述逻辑卷分配单位包含条带的数量;所述第一级表的长度等于所述磁盘空间大小除以所述第二级表的长度;所述第一级表记录的地址对应条带编号的高位部分,其中存储的值对应于所述第二级表的地址;所述第二级表记录一组条带的位图,所述第二级表记录的地址对应条带编号的低位部分;以及
通过二级表对所述逻辑卷分配单位中的元数据进行管理;所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据读取、数据写入、数据删除或数据合并。
在一个实施例中,处理器执行计算机程序时还实现数据读取,如图3所示,所述数据读取步骤包括:
步骤S311,根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
步骤S312,根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
步骤S313,根据获取的第二级表中记录的地址读取第二级表中存储的条带信息。
在一个实施例中,处理器执行计算机程序时还实现数据写入,如图4所示,所述数据写入步骤包括:
步骤S321,根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
步骤S322,根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
步骤S323,将需要写入的信息在该第二级表地址对应的空间写入数据。
在本实施例中,所述将需要写入的信息在该第二级表地址对应的空间写入数据时,根据所述逻辑卷分配单位归属的控制器对所属条带的元数据配置标记值,对于不归属于该控制器的条带的元数据配置相反的标记值,该元数据写入掉电保护空间,在写入数据时进行元数据位图的压缩。
在本实施例中,元数据使用压缩算法进行压缩,压缩后的数据写入掉电保护空间;多个控制器均执行相同的压缩算法,根据压缩后的元数据空间分配掉电保护空间。
在本实施例中,当控制器发生故障后进行恢复时,需要重新同步元数据,控制器根据元数据同步规则拷贝元数据到目标控制器,与目标控制器元数据合并后保存到保电内存空间,等待元数据合并结束后允许继续进行数据的读取和写入。
在一个实施例中,处理器执行计算机程序时还实现数据删除,如图5所示,所述数据删除步骤包括:
步骤S331,根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
步骤S332,根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
步骤S333,将需要删除的信息在该第二级表地址对应的空间删除。
如图5所示,在本实施例中,在所述将需要删除的信息在该第二级表地址对应的空间删除后,还包括:
步骤S334,根据删除信息后的逻辑卷分配单位重新生成二级表,更新二级表中的第一级表及第二级表的长度和记录的地址。
在重新生成二级表时,如果该第二级表地址对应的空间中不存在其它信息时,删除该第二级表,并将对应的第一级表中记录的设置为无效。
在本实施例中,所述磁盘空间形成多个逻辑卷分配单位,每一逻辑卷分配单位对应一个控制器;当删除信息导致对应的条带的归属划分发生变化时,存在归属划分变更的条带的信息需要从旧的控制器迁移到新的控制器,此时删除旧的控制器的元数据中的该条带的信息并将该条带的信息插入到新的控制器的元数据中。
在一个实施例中,处理器执行计算机程序时还实现数据合并,如图6所示,所述数据合并步骤包括:
步骤S341,根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
步骤S342,根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
步骤S343,将需要插入的信息记录在该第二级表地址对应的空间中。
如图6所示,在本实施例中,在所述将需要插入的信息记录在该第二级表地址对应的空间中后,还包括:
步骤S344,根据插入信息后的逻辑卷分配单位重新生成二级表,更新二级表中的第一级表及第二级表的长度和记录的地址。
在重新生成二级表时,如果该第二级表地址对应的空间不足,则从其他逻辑卷分配单位中获取一存储空间,新增第二级表,并对应第二级表新增第一级表。
在本实施例中,所述磁盘空间形成多个逻辑卷分配单位,每一逻辑卷分配单位对应一个控制器;当插入信息导致对应的条带的归属划分发生变化时,存在归属划分变更的条带的信息需要从旧的控制器迁移到新的控制器,此时删除旧的控制器的元数据中的该条带的信息并将该条带的信息插入到新的控制器的元数据中。
关于处理器执行计算机程序时实现步骤的具体限定可以参见上文中对于元数据组织的方法的限定,在此不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
多个独立磁盘冗余阵列组成磁盘空间,将所述磁盘空间划分为多个分块,并将多个分块组合为一个条带,多个条带形成逻辑卷分配单位;
根据所述逻辑卷分配单位生成二级表并存储,所述二级表包括第一级表和第二级表;根据所述逻辑卷分配单位与单个条带的长度的比值定义所述第二级表的长度,所述第二级表的长度为所述逻辑卷分配单位包含条带的数量;所述第一级表的长度等于所述磁盘空间大小除以所述第二级表的长度;所述第一级表记录的地址对应条带编号的高位部分,其中存储的值对应于所述第二级表的地址;所述第二级表记录一组条带的位图,所述第二级表记录的地址对应条带编号的低位部分;以及
通过二级表对所述逻辑卷分配单位中的元数据进行管理所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据读取、数据写入、数据删除或数据合并。
在一个实施例中,计算机程序被处理器执行时还实现数据读取,如图3所示,所述数据读取步骤包括:
步骤S311,根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
步骤S312,根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
步骤S313,根据获取的第二级表中记录的地址读取第二级表中存储的条带信息。
在一个实施例中,计算机程序被处理器执行时还实现数据写入,如图4所示,所述数据写入步骤包括:
步骤S321,根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
步骤S322,根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
步骤S323,将需要写入的信息在该第二级表地址对应的空间写入数据。
在本实施例中,所述将需要写入的信息在该第二级表地址对应的空间写入数据时,根据所述逻辑卷分配单位归属的控制器对所属条带的元数据配置标记值,对于不归属于该控制器的条带的元数据配置相反的标记值,该元数据写入掉电保护空间,在写入数据时进行元数据位图的压缩。
在本实施例中,元数据使用压缩算法进行压缩,压缩后的数据写入掉电保护空间;多个控制器均执行相同的压缩算法,根据压缩后的元数据空间分配掉电保护空间。
在本实施例中,当控制器发生故障后进行恢复时,需要重新同步元数据,控制器根据元数据同步规则拷贝元数据到目标控制器,与目标控制器元数据合并后保存到保电内存空间,等待元数据合并结束后允许继续进行数据的读取和写入。
在一个实施例中,计算机程序被处理器执行时还实现数据删除,如图5所示,所述数据删除步骤包括:
步骤S331,根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
步骤S332,根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
步骤S333,将需要删除的信息在该第二级表地址对应的空间删除。
如图5所示,在本实施例中,在所述将需要删除的信息在该第二级表地址对应的空间删除后,还包括:
步骤S334,根据删除信息后的逻辑卷分配单位重新生成二级表,更新二级表中的第一级表及第二级表的长度和记录的地址。
在重新生成二级表时,如果该第二级表地址对应的空间中不存在其它信息时,删除该第二级表,并将对应的第一级表中记录的设置为无效。
在本实施例中,所述磁盘空间形成多个逻辑卷分配单位,每一逻辑卷分配单位对应一个控制器;当删除信息导致对应的条带的归属划分发生变化时,存在归属划分变更的条带的信息需要从旧的控制器迁移到新的控制器,此时删除旧的控制器的元数据中的该条带的信息并将该条带的信息插入到新的控制器的元数据中。
在一个实施例中,计算机程序被处理器执行时还实现数据合并,如图6所示,所述数据合并步骤包括:
步骤S341,根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
步骤S342,根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
步骤S343,将需要插入的信息记录在该第二级表地址对应的空间中。
如图6所示,在本实施例中,在所述将需要插入的信息记录在该第二级表地址对应的空间中后,还包括:
步骤S344,根据插入信息后的逻辑卷分配单位重新生成二级表,更新二级表中的第一级表及第二级表的长度和记录的地址。
在重新生成二级表时,如果该第二级表地址对应的空间不足,则从其他逻辑卷分配单位中获取一存储空间,新增第二级表,并对应第二级表新增第一级表。
在本实施例中,所述磁盘空间形成多个逻辑卷分配单位,每一逻辑卷分配单位对应一个控制器;当插入信息导致对应的条带的归属划分发生变化时,存在归属划分变更的条带的信息需要从旧的控制器迁移到新的控制器,此时删除旧的控制器的元数据中的该条带的信息并将该条带的信息插入到新的控制器的元数据中。
关于处理器执行计算机程序时实现步骤的具体限定可以参见上文中对于元数据组织的方法的限定,在此不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (15)

1.一种元数据的管理方法,其特征在于,包括:
多个独立磁盘冗余阵列组成磁盘空间,将所述磁盘空间划分为多个分块,并将多个分块组合为一个条带,多个条带形成逻辑卷分配单位;
根据所述逻辑卷分配单位生成二级表并存储,所述二级表包括第一级表和第二级表;根据所述逻辑卷分配单位与单个条带的长度的比值定义所述第二级表的长度;所述第一级表的长度等于所述磁盘空间大小除以所述第二级表的长度;所述第一级表记录的地址对应条带编号的高位部分,其中存储的值对应于所述第二级表的地址;所述第二级表记录一组条带的位图;以及
通过二级表对所述逻辑卷分配单位中的元数据进行管理。
2.根据权利要求1所述的元数据的管理方法,其特征在于,所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据读取,所述数据读取步骤包括:
根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
根据获取的第二级表中记录的地址读取第二级表中存储的条带信息。
3.根据权利要求1所述的元数据的管理方法,其特征在于,所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据写入,所述数据写入步骤包括:
根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
将需要写入的信息在该第二级表地址对应的空间写入数据。
4.根据权利要求3所述的元数据的管理方法,其特征在于,所述将需要写入的信息在该第二级表地址对应的空间写入数据时,根据所述逻辑卷分配单位归属的控制器对所属条带的元数据配置标记值,对于不归属于该控制器的条带的元数据配置相反的标记值,该元数据写入掉电保护空间,在写入数据时进行元数据位图的压缩。
5.根据权利要求4所述的元数据的管理方法,其特征在于,元数据使用压缩算法进行压缩,压缩后的数据写入掉电保护空间;多个控制器均执行相同的压缩算法,根据压缩后的元数据空间分配掉电保护空间。
6.根据权利要求5所述的元数据的管理方法,其特征在于,当控制器发生故障后进行恢复时,需要重新同步元数据,控制器根据元数据同步规则拷贝元数据到目标控制器,与目标控制器元数据合并后保存到保电内存空间,等待元数据合并结束后允许继续进行数据的读取和写入。
7.根据权利要求1所述的元数据的管理方法,其特征在于,所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据删除,所述数据删除步骤包括:
根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
将需要删除的信息在该第二级表地址对应的空间删除。
8.根据权利要求7所述的元数据的管理方法,其特征在于,在所述将需要删除的信息在该第二级表地址对应的空间删除后,还包括:
根据删除信息后的逻辑卷分配单位重新生成二级表,更新二级表中的第一级表及第二级表的长度和记录的地址;
在重新生成二级表时,如果该第二级表地址对应的空间中不存在其它信息时,删除该第二级表,并将对应的第一级表中记录的设置为无效。
9.根据权利要求8所述的元数据的管理方法,其特征在于,所述磁盘空间形成多个逻辑卷分配单位,每一逻辑卷分配单位对应一个控制器;
当删除信息导致对应的条带的归属划分发生变化时,存在归属划分变更的条带的信息需要从旧的控制器迁移到新的控制器,此时删除旧的控制器的元数据中的该条带的信息并将该条带的信息插入到新的控制器的元数据中。
10.根据权利要求1所述的元数据的管理方法,其特征在于,所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据合并,所述数据合并步骤包括:
根据所述第一级表的长度获取与需要修改数据的条带编号对应的第一级表地址,根据第一级表地址读取所述第一级表中记录的地址;
根据所述第一级表中记录的地址读取对应的第二级表,根据所述第二级表的长度通过条带编号获取对应的第二级表中记录的地址;以及
将需要插入的信息记录在该第二级表地址对应的空间中。
11.根据权利要求10所述的元数据的管理方法,其特征在于,在所述将需要插入的信息记录在该第二级表地址对应的空间中后,还包括:
根据插入信息后的逻辑卷分配单位重新生成二级表,更新二级表中的第一级表及第二级表的长度和记录的地址;
在重新生成二级表时,如果该第二级表地址对应的空间不足,则从其他逻辑卷分配单位中获取一存储空间,新增第二级表,并对应第二级表新增第一级表。
12.根据权利要求11所述的元数据的管理方法,其特征在于,所述磁盘空间形成多个逻辑卷分配单位,每一逻辑卷分配单位对应一个控制器;
当插入信息导致对应的条带的归属划分发生变化时,存在归属划分变更的条带的信息需要从旧的控制器迁移到新的控制器,此时删除旧的控制器的元数据中的该条带的信息并将该条带的信息插入到新的控制器的元数据中。
13.一种元数据组织装置,其特征在于,所述装置包括:
形成逻辑卷分配单位模块,用于多个独立磁盘冗余阵列组成磁盘空间,将所述磁盘空间划分为多个分块,并将多个分块组合为一个条带,多个条带形成逻辑卷分配单位;
生成二级表模块,用于根据所述逻辑卷分配单位生成二级表并存储,所述二级表包括第一级表和第二级表;根据所述逻辑卷分配单位与单个条带的长度的比值定义所述第二级表的长度;所述第一级表的长度等于所述磁盘空间大小除以所述第二级表的长度;所述第一级表记录的地址对应条带编号的高位部分,其中存储的值对应于所述第二级表的地址;所述第二级表记录一组条带的位图;以及
元数据管理模块,用于通过二级表对所述逻辑卷分配单位中的元数据进行管理;所述通过二级表对所述逻辑卷分配单位中的元数据进行管理中包括数据读取、数据写入、数据删除或数据合并。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12中任一项所述方法的步骤。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
CN202211240058.4A 2022-10-11 2022-10-11 元数据的管理方法、装置和计算机设备和存储介质 Active CN115309348B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202211240058.4A CN115309348B (zh) 2022-10-11 2022-10-11 元数据的管理方法、装置和计算机设备和存储介质
PCT/CN2023/081122 WO2024077860A1 (zh) 2022-10-11 2023-03-13 元数据的管理方法、装置和计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211240058.4A CN115309348B (zh) 2022-10-11 2022-10-11 元数据的管理方法、装置和计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN115309348A true CN115309348A (zh) 2022-11-08
CN115309348B CN115309348B (zh) 2023-03-10

Family

ID=83868239

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211240058.4A Active CN115309348B (zh) 2022-10-11 2022-10-11 元数据的管理方法、装置和计算机设备和存储介质

Country Status (2)

Country Link
CN (1) CN115309348B (zh)
WO (1) WO2024077860A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115543217A (zh) * 2022-11-29 2022-12-30 苏州浪潮智能科技有限公司 独立冗余磁盘阵列数据组织方法、装置、服务器和介质
CN115657965A (zh) * 2022-11-16 2023-01-31 苏州浪潮智能科技有限公司 一种元数据的配置方法、装置及介质
WO2024077860A1 (zh) * 2022-10-11 2024-04-18 苏州元脑智能科技有限公司 元数据的管理方法、装置和计算机设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997918A (zh) * 2010-11-11 2011-03-30 清华大学 异构san环境中的海量存储资源按需分配的实现方法
CN109918318A (zh) * 2019-03-06 2019-06-21 苏州浪潮智能科技有限公司 Ssd元数据管理方法、装置、设备及可读存储介质
CN111258807A (zh) * 2020-01-16 2020-06-09 四川效率源科技有限责任公司 一种逻辑卷管理中raid6缺失磁盘的数据恢复方法
US20210117112A1 (en) * 2019-10-17 2021-04-22 EMC IP Holding Company LLC Placement of metadata on data storage drives in a first storage enclosure of a data storage system
CN112764680A (zh) * 2021-01-20 2021-05-07 华云数据控股集团有限公司 磁盘条带选择方法及存储系统
CN113918388A (zh) * 2021-12-15 2022-01-11 苏州浪潮智能科技有限公司 一种数据恢复方法、装置、设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6571351B1 (en) * 2000-04-07 2003-05-27 Omneon Video Networks Tightly coupled secondary storage system and file system
CN102200892B (zh) * 2011-04-29 2013-09-18 华中科技大学 一种基于动态raid系统的扩容方法
US20190317889A1 (en) * 2018-04-15 2019-10-17 Synology Inc. Apparatuses and methods and computer program products for a redundant array of independent disk (raid) reconstruction
CN112596673B (zh) * 2020-12-18 2023-08-18 南京道熵信息技术有限公司 具有双重raid数据保护的多活多控存储系统
CN115309348B (zh) * 2022-10-11 2023-03-10 苏州浪潮智能科技有限公司 元数据的管理方法、装置和计算机设备和存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997918A (zh) * 2010-11-11 2011-03-30 清华大学 异构san环境中的海量存储资源按需分配的实现方法
CN109918318A (zh) * 2019-03-06 2019-06-21 苏州浪潮智能科技有限公司 Ssd元数据管理方法、装置、设备及可读存储介质
US20210117112A1 (en) * 2019-10-17 2021-04-22 EMC IP Holding Company LLC Placement of metadata on data storage drives in a first storage enclosure of a data storage system
CN111258807A (zh) * 2020-01-16 2020-06-09 四川效率源科技有限责任公司 一种逻辑卷管理中raid6缺失磁盘的数据恢复方法
CN112764680A (zh) * 2021-01-20 2021-05-07 华云数据控股集团有限公司 磁盘条带选择方法及存储系统
CN113918388A (zh) * 2021-12-15 2022-01-11 苏州浪潮智能科技有限公司 一种数据恢复方法、装置、设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024077860A1 (zh) * 2022-10-11 2024-04-18 苏州元脑智能科技有限公司 元数据的管理方法、装置和计算机设备和存储介质
CN115657965A (zh) * 2022-11-16 2023-01-31 苏州浪潮智能科技有限公司 一种元数据的配置方法、装置及介质
CN115543217A (zh) * 2022-11-29 2022-12-30 苏州浪潮智能科技有限公司 独立冗余磁盘阵列数据组织方法、装置、服务器和介质

Also Published As

Publication number Publication date
CN115309348B (zh) 2023-03-10
WO2024077860A1 (zh) 2024-04-18

Similar Documents

Publication Publication Date Title
CN115309348B (zh) 元数据的管理方法、装置和计算机设备和存储介质
CN110462577B (zh) 一种数据写入的方法及固态硬盘阵列
JP4541373B2 (ja) 分散データの階層的管理のための方法及びシステム
JP3505093B2 (ja) ファイル管理システム
US20130246726A1 (en) Method and device for a memory system
CN107484427B (zh) 用于处理存储设备中分条的方法和存储设备
KR101678868B1 (ko) 플래시 주소 변환 장치 및 그 방법
WO2018179073A1 (ja) ストレージシステム、コンピュータ読み取り可能な記録媒体、システムの制御方法
US20060112221A1 (en) Method and Related Apparatus for Data Migration Utilizing Disk Arrays
US11449402B2 (en) Handling of offline storage disk
CN103019623A (zh) 存储盘处理方法及装置
US7865673B2 (en) Multiple replication levels with pooled devices
US11379326B2 (en) Data access method, apparatus and computer program product
CN114356246B (zh) Ssd内部数据的存储管理方法、装置、存储介质及ssd设备
CN103744751B (zh) 存储设备配置信息连续优化备份系统及其使用方法
CN115639970A (zh) 基于磁盘阵列卡的存储虚拟化方法、系统、装置及设备
CN110569000A (zh) 基于固态硬盘阵列的主机端raid管理方法和装置
CN113625974A (zh) 一种磁盘阵列重构方法、装置、设备及介质
CN111966531B (zh) 数据快照方法、装置、计算机设备及存储介质
US7873799B2 (en) Method and system supporting per-file and per-block replication
CN116909488A (zh) 访问磁盘阵列的方法、系统、介质、设备及磁盘阵列卡
CN115599313A (zh) 一种磁盘阵列扩容方法、系统、存储介质及设备
CN115291803A (zh) 磁盘阵列重构方法、装置和计算机设备和存储介质
CN106933496B (zh) 管理raid的方法及装置
CN111813603B (zh) 一种精简卷元数据备份方法、装置、设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant