管理元数据读取方法及装置制造方法及图纸

技术编号:20819393 阅读:34 留言:0更新日期:2019-04-10 05:48
本申请提供一种管理元数据读取方法及装置,方法包括:在接收到携带读地址段和数据类型的读指令时,若数据类型为管理元数据,则从备份表中查找与读地址段存在交集的主地址段;依据读地址段从查找到的主地址段和对应的备份地址段中确定待读主地址段和待读备份地址段;若主地址段的数据状态有效,则从待读主地址段中读取管理元数据;若主地址段的数据状态无效但备份地址段的数据状态有效,则从待读备份地址段中读取管理元数据;主地址段与备份地址段大小相同、位于不同的RAID。在主地址段所在的RAID故障时,还可从主地址段对应的备份地址段中读取管理元数据,从而通过备份空间可提高成功读取几率,并且整个读过程对业务无感知,实现简洁高效。

【技术实现步骤摘要】
管理元数据读取方法及装置
本申请涉及数据存储
,尤其涉及一种管理元数据读取方法及装置。
技术介绍
随着大数据应用的出现,对于海量数据的存储及管理显得尤为重要。通常,存储设备在创建RAID(RedundantArraysofIndependentDrives,磁盘阵列),以及在创建的RAID上再创建LUN(LogicalUnitNumber,逻辑单元号)过程中,会产生空间映射表的管理元数据,并且存储设备在通过双活、复制、快照业务实现数据保护机制时,也会产生操作日志、差异数据、快照数据等管理元数据。而如果管理元数据中的空间映射表丢失,将导致前端服务器无法读写存储设备中的数据,如果管理元数据中的操作日志、差异数据、快照数据等丢失,将导致数据保护机制失效。因此对于管理元数据的保护和成功读取成为存储设备实现数据安全性和可靠性的关键问题。
技术实现思路
有鉴于此,本申请提供一种管理元数据读取方法及装置,以解决如何实现对管理元数据的保护和成功读取,以提高数据安全性和可靠性的问题。根据本申请实施例的第一方面,提供一种管理元数据读取方法,所述方法包括:在接收到携带读地址段和数据类型的读指令时,若所述数据类型为管理元数据,则从预先建立的备份表中查找与所述读地址段存在交集的主地址段,所述备份表包含主地址段和主地址段的数据状态、备份地址段和备份地址段的数据状态;依据所述读地址段从查找到的主地址段和所述主地址段对应的备份地址段中确定待读主地址段和待读备份地址段;若所述主地址段的数据状态有效,则从待读主地址段中读取管理元数据;若所述主地址段的数据状态无效但所述备份地址段的数据状态有效,则从待读备份地址段中读取管理元数据;其中,所述主地址段与所述主地址段对应的备份地址段大小相同、位于不同的磁盘阵列RAID。根据本申请实施例的第二方面,提供一种管理元数据读取装置,所述装置包括:查找单元,用于在接收到携带读地址段和数据类型的读指令时,若所述数据类型为管理元数据,则从预先建立的备份表中查找与所述读地址段存在交集的主地址段,所述备份表包含主地址段和主地址段的数据状态、备份地址段和备份地址段的数据状态;确定单元,用于依据所述读地址段从查找到的主地址段和所述主地址段对应的备份地址段中确定待读主地址段和待读备份地址段;第一读取单元,用于在所述主地址段的数据状态有效时,从待读主地址段中读取管理元数据;第二读取单元,用于在所述主地址段的数据状态无效但所述备份地址段的数据状态有效时,从待读备份地址段中读取管理元数据;其中,所述主地址段与所述主地址段对应的备份地址段大小相同、位于不同的磁盘阵列RAID。应用本申请实施例,在接收到携带读地址段和数据类型的读指令时,若该数据类型为管理元数据,则从预先建立的备份表中查找与所述读地址段存在交集的主地址段,然后依据所述读地址段从查找到的主地址段和所述主地址段对应的备份地址段中确定待读主地址段和待读备份地址段,在读取时,如果所述主地址段的数据状态有效,则从待读主地址段中读取管理元数据;如果所述主地址段的数据状态无效但所述备份地址段的数据状态有效,则从待读备份地址段中读取管理元数据。由于备份表中包含了对业务可见的主地址段和对业务不可见的备份地址段,而主地址段与备份地址段位于不同的RAID上,因此,各种业务(如LUN、复制、快照、双活等)在执行读取管理元数据时,在主地址段所在的RAID故障(数据状态无效)时,还可从主地址段对应的备份地址段中读取管理元数据,从而通过备份空间可提高成功读取几率,并且整个读过程对业务无感知,实现简洁高效。另外,通过为主地址段设置相同大小的备份地址段,可以实现对管理元数据的保护,且通过在读命令中携带待读取数据的数据类型可以快速判断是读管理元数据还是用户数据,无需所有的读命令都查找备份表,从而可提高IO处理效率。附图说明图1为本申请根据一示例性实施例示出的一种管理元数据读取方法的实施例流程图;图2A为本申请根据一示例性实施例示出的另一种管理元数据读取方法的实施例流程图;图2B为本申请根据图2A所示实施例示出的一种空间分配示意图;图2C为本申请根据图2A所示实施例示出的一种取消空间示意图;图3为本申请根据一示例性实施例示出的一种存储设备的硬件结构图;图4为本申请根据一示例性实施例示出的一种管理元数据读取装置的实施例结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。目前,针对各种使用RAID存储空间的业务,如LUN、复制、快照、双活等业务,管理元数据是否备份以及备份方案并没有统一的标准和方案。基于此,本申请在接收到携带读地址段和数据类型的读指令时,若该数据类型为管理元数据,则从预先建立的备份表中查找与所述读地址段存在交集的主地址段,然后依据所述读地址段从查找到的主地址段和所述主地址段对应的备份地址段中确定待读主地址段和待读备份地址段,在读取时,如果所述主地址段的数据状态有效,则从待读主地址段中读取管理元数据;如果所述主地址段的数据状态无效但所述备份地址段的数据状态有效,则从待读备份地址段中读取管理元数据。其中,通过将管理元数据同时存储在主数据区和备份数据区中,并按段为单位维护一张备份表,即管理元数据备份表(MDBP,MetadataBackupPair),其可以包含主地址段和主地址段的数据状态、备份地址段和备份地址段的数据状态,主地址段对业务可见,备份地址段对业务不可见,主地址段属于主数据区,备份地址段属于备份数据区,且主地址段与主地址段对应的备份地址段用于存储相同的管理元数据。为了避免RAID故障导致主地址段中存储的管理元数据不可访问,主地址段与主地址段对应的备份地址段位于不同的RAID上且大小相同,因此备份表还可包含主地址段所在RAID的RAID标识和备份地址段所在RAID的RAID标识。本领域技术人员可以理解的是,主地址段或备份地址段可以由起始地址以及结束地址组成,也可以由起始地址以及段大小组成,本申请对此不进行限定。基于上述描述可知,由于备份表中包含了对业务可见的主地址段和对业务不可见的备份地址段,而主地址段与备份地址段位于不同的RAID上,因此,各种业务(如LUN、复制、快照、双活等)在执行读取管理元数据时本文档来自技高网...

【技术保护点】
1.一种管理元数据读取方法,其特征在于,所述方法包括:在接收到携带读地址段和数据类型的读指令时,若所述数据类型为管理元数据,则从预先建立的备份表中查找与所述读地址段存在交集的主地址段,所述备份表包含主地址段和主地址段的数据状态、备份地址段和备份地址段的数据状态;依据所述读地址段从查找到的主地址段和所述主地址段对应的备份地址段中确定待读主地址段和待读备份地址段;若所述主地址段的数据状态有效,则从待读主地址段中读取管理元数据;若所述主地址段的数据状态无效但所述备份地址段的数据状态有效,则从待读备份地址段中读取管理元数据;其中,所述主地址段与所述主地址段对应的备份地址段大小相同、位于不同的磁盘阵列RAID。

【技术特征摘要】
1.一种管理元数据读取方法,其特征在于,所述方法包括:在接收到携带读地址段和数据类型的读指令时,若所述数据类型为管理元数据,则从预先建立的备份表中查找与所述读地址段存在交集的主地址段,所述备份表包含主地址段和主地址段的数据状态、备份地址段和备份地址段的数据状态;依据所述读地址段从查找到的主地址段和所述主地址段对应的备份地址段中确定待读主地址段和待读备份地址段;若所述主地址段的数据状态有效,则从待读主地址段中读取管理元数据;若所述主地址段的数据状态无效但所述备份地址段的数据状态有效,则从待读备份地址段中读取管理元数据;其中,所述主地址段与所述主地址段对应的备份地址段大小相同、位于不同的磁盘阵列RAID。2.根据权利要求1所述的方法,其特征在于,通过如下方式预先建立所述备份表:在接收到携带使用标识为管理元数据标识的分配空间指令时,从主数据区中分配所述分配空间指令携带的待分配大小的第一地址段,并从备份数据区中分配所述待分配大小的第二地址段;若所述第一地址段包含多段,则针对每段第一地址段,从第二地址段中划分与该段第一地址段大小相同的第三地址段,并将该段第一地址段和第三地址段分别作为主地址段和备份地址段添加到所述备份表中,并将主地址段的无效数据状态和备份地址段的无效数据状态添加到所述备份表中;若所述第二地址段包含多段,则针对每段第二地址段,从第一地址段中划分与该段第二地址段大小相同的第四地址段,并将该段第二地址段和第四地址段分别作为备份地址段和主地址段添加到所述备份表中,并将备份地址段的无效数据状态和主地址段的无效数据状态添加到所述备份表中。3.根据权利要求2所述的方法,其特征在于,在建立所述备份表之后,所述方法进一步包括:在接收到携带写地址段、写数据和数据类型的写指令时,若所述数据类型为管理元数据,则从所述备份表中查找与所述写地址段存在交集的主地址段;依据所述写地址段从查找到的主地址段和所述主地址段对应的备份地址段中确定待写入主地址段和待写入备份地址段;依据所述主地址段的数据状态和所述备份地址段的数据状态,将所述写数据分别写入待写入主地址段和待写入备份地址段。4.根据权利要求3所述的方法,其特征在于,依据所述主地址段的数据状态和所述备份地址段的数据状态,将所述写数据分别写入待写入主地址段和待写入备份地址段,包括:若所述主地址段的数据状态和所述备份地址段的数据状态均有效或者均无效,则将所述写数据分别写入待写入主地址段和待写入备份地址段,并依据各自的写入结果更新各自的数据状态;若所述主地址段的数据状态有效但所述备份地址段的数据状态无效,则将所述写数据写入待写入主地址段,并保持主地址段的数据状态不变;若所述主地址段的数据状态无效但所述备份地址段的数据状态有效,则将所述写数据写入待写入备份地址段,并保持所述备份地址段的数据状态不变。5.根据权利要求4所述的方法,其特征在于,依据各自的写入结果更新各自的数据状态,包括:针对所述主地址段的数据状态和所述备份地址段的数据状态均有效的情况,若待写入主地址段的写入结果为失败,则将所述主地址段的数据状态更新为无效;若待写入备份地址段的写入结果为失败,则将所述备份地址段的数据状态更新为无效;针对所述主地址段的数据状态和所述备份地址段的数据状态均无效的情况,若待写入主地址段的写入结果为成功,则将所述主地址段的数据状态更新为有效;若待写入备份地址段的写入结果为成功,则将所述备份地址段的数据状态更新为有效。6.根据权利要求1-5中任一项所述的方法,其特征在于,所述方法还包括:在接收到携带使用标识为管理元数据标识的释放空间指令时,从所述备份表中查找与所述释放空间指令携带的待释放地址段存在交集的主地址段;若待释放地址段完全包含查找到的主地址段,则释放所述主地址段和所述主地址段对应的备份地址段各自对应的空间,并从所述备份表中删除所述主地址段所在的记录;若待释放地址段未完全包含查找到的主地址段,则依据所述主地址段和所述主地址段对应的备份地址段确定与待释放地址段不存在交集的待保留主地址段和待保留备份地址段,并确定存在交集的待释放主地址段和待释放备份地址段;释放所述待释放主地址段和待释放备份地址段,并分别用所述待保留主地址段和待保留备份地址段更新所述备份表中的所述主地址段和所述主地址段对应的备份地址段。7.一种管理元数据读取装置,其特征在于,所述装置包括:查找单元,用于在接收到携带...

【专利技术属性】
技术研发人员:上官应兰
申请(专利权)人:杭州宏杉科技股份有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1