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

技术编号:10436287 阅读:148 留言:0更新日期:2014-09-17 13:07
本发明专利技术提供一种元数据管理方法和装置,其中方法包括:将自身当前运行的元数据集合存储在顶层的当前基础形,当前基础形的第一叶子节点用于连接存储另一节点当前运行的元数据集合的另一当前基础形;当前基础形的第二叶子节点用于连接所述当前基础形对应的节点在第一时间点运行的元数据集合的退化基础形,所述第一时间点早于所述当前;根据所述元数据堆进行所述元数据的管理。本发明专利技术实现了集群中主备切换的快速执行。

【技术实现步骤摘要】
【国外来华专利技术】元数据管理方法和装置
本专利技术涉及存储技术,特别涉及一种元数据管理方法和装置。
技术介绍
元数据是当前设备或系统对所管理资源的描述信息,对设备自身的自我维护和管理具有重要作用,设备运行中涉及到的功能运算例如I/O访问、资源分配等都需要对元数据进行增加、删除、修改等操作。在分布式结构的集群系统中,元数据往往分散在集群的各个节点中。并且,集群中通常包括主节点和备节点,由主节点维护一个包括集群所有节点的元数据的完整的元数据全集,而备节点仅仅维护自身可能使用到的元数据子集(该子集是相对于主节点维护的全集而言),备节点所维护的子集是维持该节点正常业务运行所必需的元数据。集群中可能会出现主备切换的问题,即由于某种原因,某个备节点将成为新主节点,原主节点将成为备节点,此时将出现数据迁移,原主节点上维护的元数据全集将迁移到新主节点,例如,可以从包括原主节点的元数据集合镜像的磁盘上将元数据全部复制到新节点。集群维护的节点数目越多,元数据全集中的数据量越大,数据复制的时间就越长;然而在集群中对主备切换的切换时间是有严格限制的,一旦超时就会导致集群I/O业务被阻塞等严重后果。
技术实现思路
本专利技术提供一种元数据管理方法和装置,以快速实现分布式集群中的主备节点切换。本专利技术第一方面提供一种元数据管理方法,所述方法应用于包含多个节点的集群中,所述方法包括:将所述集群中的元数据存储为元数据堆,所述元数据包括当前节点自身的当前运行的元数据集合以及除自身之外的集群中所有节点当前运行的元数据集合,所述元数据堆包括至少两个基础形,每个基础形是由顶点、第一叶子节点和第二叶子节点构成的二叉树;所述将所述集群中的元数据存储为元数据堆,具体包括:将所述当前节点自身当前运行的元数据集合存储在位于所述元数据堆顶层的当前基础形中,所述当前基础形的第一叶子节点用于连接存储另一节点当前运行的元数据集合的另一当前基础形,所述另一当前基础形的第一叶子节点用于连接存储再一节点当前运行的元数据集合的再一当前基础形,依此类推直至连接所述集群中的所有节点,所述当前基础形的第二叶子节点用于连接所述当前基础形对应的节点的退化基础形,所述退化基础形是当前基础形对应的节点在第一时间点运行的元数据集合,所述第一时间点早于当前时间点;所述退化基础形的第二叶子节点用于连接所述当前基础形对应的节点的另一退化基础形,所述另一退化基础形是当前基础形对应的节点在第二时间点运行的元数据集合,所述第二时间点早于第一时间点,依此类推;根据所述元数据堆进行所述元数据的管理。在第一方面的第一种可能的实现方式中,在对所述元数据堆中的元数据进行更新时,所述根据所述元数据堆进行所述元数据的管理,包括:获取所述集群中自身之外的其中一个节点当前运行的更新后的元数据集合;将所述更新后的元数据集合,存储在所述元数据堆中与所述其中一个节点对应的当前基础形中。结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,在所述存储在所述元数据堆中与所述其中一个节点对应的当前基础形中之后,还包括:将所述元数据堆中的与所述其中一个节点对应的退化数据,存储在退化基础形中,所述退化数据是在所述更新后的元数据集合之前存储在所述当前基础形中的数据;将所述退化基础形连接在所述当前基础形的第二叶子节点。在第一方面的第三种可能的实现方式中,在将所述集群中的当前节点自身之外的所述另一节点从所述集群分裂出去时,所述根据所述元数据堆进行所述元数据的管理,包括:将所述另一节点对应的当前基础形,与所述当前节点的当前基础形的第一叶子节点断开连接,并将所述另一节点对应的所述另一当前基础形的第一叶子节点连接的再一节点对应的所述再一当前基础形断开连接;将所述再一当前基础形连接在所述当前节点的当前基础形的第一叶子节点。在第一方面的第四种可能的实现方式中,在向所述集群中加入新节点时,所述根据所述元数据堆进行所述元数据的管理,包括:从将要加入所述集群的新节点中存储的元数据堆中,获取所述新节点的当前运行的元数据集合;在所述当前节点的元数据堆建立与所述新节点对应的当前基础形,并将所述新节点的当前运行的元数据集合存储在所述新节点对应的当前基础形中,将所述新节点的当前基础形与所述元数据堆中具有空闲的第一叶子节点的当前基础形连接。在第一方面的第五种可能的实现方式中,所述根据所述元数据堆进行所述元数据的管理,包括:分别存储在各时间点运行的元数据集合,所述元数据集合包括所述集群中各节点的元数据集合,所述各时间点包括所述当前时间点、第一时间点和第二时间点,以运行所述各时间点中的某个时间点对应的元数据集合。在第一方面的第六种可能的实现方式中,所述根据所述元数据堆进行所述元数据的管理,包括:当所述元数据堆中当前节点自身对应的当前基础形中存在待修复元数据时,从所述元数据堆中当前节点自身对应的退化基础形中获取与所述待修复数据对应的修复数据;或者,从所述集群中的其他节点的元数据堆的与自身对应的当前基础形中获取所述待修复数据对应的修复数据;将获取的所述修复数据替换所述元数据堆中当前节点自身对应的当前基础形中的待修复元数据。本专利技术第二方面提供一种元数据管理装置,包括:存储单元,用于将集群中的元数据存储为元数据堆,所述元数据包括当前节点自身当前运行的元数据集合以及除自身之外的集群中所有节点当前运行的元数据集合,所述元数据堆包括至少两个基础形,每个基础形是由顶点、第一叶子节点和第二叶子节点构成的二叉树形状;所述将元数据存储为元数据堆,包括:将所述当前节点自身当前运行的元数据集合存储在位于所述元数据堆顶层的当前基础形,所述当前基础形的第一叶子节点用于连接存储另一节点当前运行的元数据集合的另一当前基础形,所述另一当前基础形的第一叶子节点用于连接存储再一节点当前运行的元数据集合的再一当前基础形,依此类推直至连接所述集群中的所有节点;用于存储集群中各节点当前运行的元数据集合的各当前基础形中,每个所述当前基础形的第二叶子节点用于连接所述当前基础形对应的节点在第一时间点运行的元数据集合的退化基础形,所述第一时间点早于所述当前时间点;所述退化基础形的第二叶子节点用于连接所述节点在第二时间点运行的元数据集合的另一退化基础形,所述第二时间点早于第一时间点,依此类推;管理单元,用于根据所述元数据堆进行所述元数据的管理。在第二方面的第一种可能的实现方式中,所述管理单元包括:同步子单元,用于在对所述元数据堆中的元数据进行更新时,获取所述集群中自身之外的其中一个节点当前运行的更新后的元数据集合;将所述更新后的元数据集合,存储在所述元数据堆中与所述其中一个节点对应的当前基础形中。结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述管理单元包括:存储子单元,用于将所述元数据堆中的与所述其中一个节点对应的退化数据,存储在退化基础形中,所述退化数据是在所述更新后的元数据集合之前存储在所述当前基础形中的数据;将所述退化基础形连接在所述当前基础形的第二叶子节点。在第二方面的第三种可能的实现方式中,所述管理单元包括:形态控制子单元,用于在将所述集群中的当前节点自身之外的所述另一节点从所述集群分裂出去时,将所述另一节点对应的当前基础形,与所述当前节点的当前基础形的第一叶子节点断开连接,并将所述另一节点对应的所述本文档来自技高网...
元数据管理方法和装置

【技术保护点】
PCT国内申请,权利要求书已公开。

【技术特征摘要】
【国外来华专利技术】1.一种元数据管理方法,其特征在于,所述方法应用于包含多个节点的集群中,所述方法包括:将所述集群中的元数据存储为元数据堆,所述元数据包括当前节点自身的当前运行的元数据集合以及除自身之外的集群中所有节点当前运行的元数据集合,所述元数据堆包括至少两个基础形,每个基础形是由顶点、第一叶子节点和第二叶子节点构成的二叉树;所述将所述集群中的元数据存储为元数据堆,具体包括:将所述当前节点自身当前运行的元数据集合存储在位于所述元数据堆顶层的当前基础形中,所述当前基础形的第一叶子节点用于连接存储另一节点当前运行的元数据集合的另一当前基础形,所述另一当前基础形的第一叶子节点用于连接存储再一节点当前运行的元数据集合的再一当前基础形,依此类推直至连接所述集群中的所有节点,所述当前基础形的第二叶子节点用于连接所述当前基础形对应的节点的退化基础形,所述退化基础形是当前基础形对应的节点在第一时间点运行的元数据集合,所述第一时间点早于当前时间点;所述退化基础形的第二叶子节点用于连接所述当前基础形对应的节点的另一退化基础形,所述另一退化基础形是当前基础形对应的节点在第二时间点运行的元数据集合,所述第二时间点早于第一时间点,依此类推;根据所述元数据堆进行所述元数据的管理。2.根据权利要求1所述的元数据管理方法,其特征在于,在对所述元数据堆中的元数据进行更新后,所述根据所述元数据堆进行所述元数据的管理,包括:获取所述集群中当前节点自身之外的其中一个节点当前运行的更新后的元数据集合;将所述更新后的元数据集合,存储在所述元数据堆中与所述其中一个节点对应的当前基础形中。3.根据权利要求2所述的元数据管理方法,其特征在于,在所述存储在所述元数据堆中与所述其中一个节点对应的当前基础形中之后,还包括:将所述元数据堆中的与所述其中一个节点对应的退化数据,存储在退化基础形中,所述退化数据是在所述更新后的元数据集合之前存储在所述当前基础形中的数据;将所述退化基础形连接在所述当前基础形的第二叶子节点。4.根据权利要求1所述的元数据管理方法,其特征在于,在将所述集群中的当前节点自身之外的所述另一节点从所述集群分裂出去时,所述根据所述元数据堆进行所述元数据的管理,包括:将所述另一节点对应的当前基础形,与所述当前节点的当前基础形的第一叶子节点断开连接,并将所述另一节点对应的所述另一当前基础形的第一叶子节点连接的再一节点对应的所述再一当前基础形断开连接;将所述再一当前基础形连接在所述当前节点的当前基础形的第一叶子节点。5.根据权利要求1所述的元数据管理方法,其特征在于,在向所述集群中加入新节点时,所述根据所述元数据堆进行所述元数据的管理,包括:从将要加入所述集群的新节点中存储的元数据堆中,获取所述新节点的当前运行的元数据集合;在所述当前节点的元数据堆建立与所述新节点对应的当前基础形,并将所述新节点的当前运行的元数据集合存储在所述新节点对应的当前基础形中,将所述新节点的当前基础形与所述元数据堆中具有空闲的第一叶子节点的当前基础形连接。6.根据权利要求1所述的元数据管理方法,其特征在于,所述根据所述元数据堆进行所述元数据的管理,包括:分别存储在各时间点运行的元数据集合,所述元数据集合包括所述集群中各节点的元数据集合,所述各时间点包括所述当前时间点、第一时间点和第二时间点,以运行所述各时间点中的某个时间点对应的元数据集合。7.根据权利要求1所述的元数据管理方法,其特征在于,所述根据所述元数据堆进行所述元数据的管理,包括:当所述元数据堆中当前节点自身对应的当前基础形中有需要修复的元数据时,从所述元数据堆中当前节点自身对应的退化基础形中获取与所述需要修复的元数据对应的退化数据;或者,从所述集群中的其他节点的元数据堆的与自身对应的当前基础形中获取所述需要修复的元数据对应的退化数据;将获取的需要修复的元数据对应的退化数据替换所述元数据堆中当前节点自身对应的当前基础形中的需要修复的元数据。8.一种元数据管理装置,其特征在于,包括:存储单元,用于将集群中的元数据存储为元数据堆,所述元数据包括当前节点自身当前运行的元数据集合以及除自身之外的集群中所有节点当前运行的元数据集合,所述元数据堆包括至少两个基础形,每个基础形是由顶点、第一叶子节点和第二叶子节点构成的二叉树形状;所述将元数据存储为元数据堆,包括:将所述当前节点自身当前运行的元数据集合存储在位于所述元数据堆顶层的当前基础形,所述当前基础形的第一叶子节点用于连接存储另一节点当前运行的元数据集合的另一当前基础形,所述另一当前基...

【专利技术属性】
技术研发人员:李熠斌
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1