System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及存储系统,特别是涉及一种元数据管理方法、存储系统、计算机程序产品、计算机设备以及计算机可读存储介质。
技术介绍
1、为保障存储系统运行时能够提供良好的业务性能,通常将表达新追加操作的元数据以及位图信息会作为harden数据保存到保电内存中;其中,harden数据表示需要满足掉电时不丢失的数据。如是,能够减低写盘导致的时延等,同时能够有利于保障控制器故障时元数据和位图信息的保有,以保障保证存储系统工作的可靠性。然而,在元数据的量级较为巨大的场景中,一旦出现控制器故障,对元数据的修复过程十分复杂,修复过程的运算负担较重且耗时很长。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种元数据管理方法、存储系统、计算机程序产品、计算机设备以及计算机可读存储介质,能够降低元数据修复负担,有利于提高修复效率。
2、一方面,提供一种元数据管理方法,元数据管理方法包括:获取待落盘元数据;自元数据落盘区选取用于落盘待落盘元数据的落盘子区,作为待落子区;其中,元数据落盘区包括多个落盘子区;同一时刻选择若干个待落子区作为目标子区,将待落盘元数据写盘至目标子区,直至完成待落盘元数据落盘;其中,作为目标子区的落盘子区数量少于元数据落盘区的落盘子区数量;以当修复元数据时,对目标子区进行修复。
3、在本申请的一实施例中,当修复元数据时,对目标子区进行修复包括:获取各落盘子区的状态信息;响应于识别状态信息判定落盘子区处于写盘状态,判定落盘子区为目标子区;响应于识别状态信息判
4、在本申请的一实施例中,同一时刻选择若干个待落子区作为目标子区之后还包括:同一时刻选择若干个待落子区作为目标子区之后还包括:赋予目标子区以落盘标识,直至分配至目标子区的待落盘元数据落盘;和/或,链接至空间标记区,将空间标记区内的目标子区的当前状态更新为落盘状态,直至分配至目标子区的待落盘元数据完落盘;其中,空间标记区用于记录哥落盘子区的当前状态。
5、在本申请的一实施例中,对目标子区进行修复包括:链接根节点区,提取位于根节点区内各元数据的根节点;其中,根节点区用于存储元数据的若干个根节点;于各根节点,自根节点逐级获取其叶子节点的序列标识;其中,序列标识与其所属根节点/叶子节点的更新次数关联;响应于存在叶子节点的序列标识反馈的更新次数多于其上级节点的序列标识,判定存在节点丢失。
6、在本申请的一实施例中,元数据管理方法包括:响应于新增元数据节点,赋予元数据节点初始的序列标识;其中,元数据节点包括根节点以及叶子节点,序列标识为序列号;响应于元数据节点的键值对变化,将元数据节点的序列号增加预设数值。
7、在本申请的一实施例中,自根节点逐级获取其叶子节点的序列标识包括:获取当前节点的序列标识;将当前节点的序列标识与其相邻上级节点的序列标识进行比对;响应于当前节点的序列标识反馈的更新次数少于其相邻上级节点的序列标识,判定当前节点为有效节点,将其相邻下级节点作为新的当前节点。
8、在本申请的一实施例中,判定当前节点为有效节点之后还包括:获取位图信息;将位图信息内当前节点的位图状态标记为有效。
9、在本申请的一实施例中,判定存在节点丢失之后还包括:截止对当前节点的下级叶子节点的序列标识的获取;至少将当前节点的位图信息标记为失效。
10、在本申请的一实施例中,提取位于根节点区内各元数据的根节点包括:响应于判定多个根节点属于同一节点树,比对属于同一节点树的多个根节点的序列标识;将多个根节点中序列标识反馈的更新次数最多的根节点,作为节点树的根节点。
11、在本申请的一实施例中,对目标子区进行修复包括:将目标子区的元数据作校验元数据;获取校验元数据的叶子节点的键值对,对其进行键值对的重试处理;将经重试处理修改后的元数据落盘至非目标子区。
12、在本申请的一实施例中,对其进行键值对的重试处理之后还包括:获取位图信息;将位图信息内重试落盘位置标记为失效;其中,重试落盘位置表示目标子区中已落盘的待落盘元数据的落盘位置。
13、在本申请的一实施例中,获取校验元数据的叶子节点的键值对包括:响应于存在多个键值对范围匹配的叶子节点,获取键值对范围匹配的多个叶子节点的序列标识;将多个叶子节点中序列标识反馈的更新次数最多的叶子节点,作为有效叶子节点。
14、在本申请的一实施例中,自元数据落盘区选取用于落盘待落盘元数据的落盘子区,作为待落子区包括:获取各落盘子区的空间信息;其中,空间信息包括落盘子区的空间使用数据以及空间空闲数据中的至少一者;基于空间信息选择若干个各落盘子区,作为待落子区。
15、在本申请的一实施例中,将待落盘元数据写盘至目标子区之后还包括:获取落盘于目标子区的元数据的数据尺寸;利用数据尺寸对目标子区的空间信息进行更新。
16、另一方面,提供了一种存储系统,存储系统包括:存储系统本体以及元数据管理装置;元数据管理装置设于存储系统本体,用于实现如上述任一项实施例中的元数据管理方法。
17、再一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现以下步骤:获取待落盘元数据;自元数据落盘区选取用于落盘待落盘元数据的落盘子区,作为待落子区;其中,元数据落盘区包括多个落盘子区;同一时刻选择若干个待落子区作为目标子区,将待落盘元数据写盘至目标子区,直至完成待落盘元数据落盘;其中,作为目标子区的落盘子区数量少于元数据落盘区的落盘子区数量;以当修复元数据时,对目标子区进行修复。
18、再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取待落盘元数据;自元数据落盘区选取用于落盘待落盘元数据的落盘子区,作为待落子区;其中,元数据落盘区包括多个落盘子区;同一时刻选择若干个待落子区作为目标子区,将待落盘元数据写盘至目标子区,直至完成待落盘元数据落盘;其中,作为目标子区的落盘子区数量少于元数据落盘区的落盘子区数量;以当修复元数据时,对目标子区进行修复。
19、又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取待落盘元数据;自元数据落盘区选取用于落盘待落盘元数据的落盘子区,作为待落子区;其中,元数据落盘区包括多个落盘子区;同一时刻选择若干个待落子区作为目标子区,将待落盘元数据写盘至目标子区,直至完成待落盘元数据落盘;其中,作为目标子区的落盘子区数量少于元数据落盘区的落盘子区数量;以当修复元数据时,对目标子区进行修复。
20、上述元数据管理方法、存储系统、计算机程序产品、计算机设备以及计算机可读存储介质,将元数据落盘区划分了多个落盘子区,在对待落盘元数据进行落盘时,可以选取至少部分落盘子盘用于写盘待落盘元数据。并且,在具体写盘操作中,同一时刻仅选取部分落盘子区进行带落盘元数本文档来自技高网...
【技术保护点】
1.一种元数据管理方法,其特征在于,所述元数据管理方法包括:
2.根据权利要求1所述的元数据管理方法,其特征在于,所述当修复元数据时,对所述目标子区进行修复包括:
3.根据权利要求2所述的元数据管理方法,其特征在于,所述同一时刻选择若干个所述待落子区作为目标子区之后还包括:
4.根据权利要求1所述的元数据管理方法,其特征在于,所述对所述目标子区进行修复包括:
5.根据权利要求4所述的元数据管理方法,其特征在于,所述元数据管理方法包括:
6.根据权利要求5所述的元数据管理方法,其特征在于,所述自所述根节点逐级获取其叶子节点的序列标识包括:
7.根据权利要求6所述的元数据管理方法,其特征在于,所述判定所述当前节点为有效节点之后还包括:
8.根据权利要求6所述的元数据管理方法,其特征在于,所述判定存在节点丢失之后还包括:
9.根据权利要求4所述的元数据管理方法,其特征在于,所述提取位于所述根节点区内各元数据的根节点包括:
10.根据权利要求1所述的元数据管理方法,其特征在于,所述
11.根据权利要求10所述的元数据管理方法,其特征在于,所述对其进行所述键值对的重试处理之后还包括:
12.根据权利要求10所述的元数据管理方法,其特征在于,所述获取所述校验元数据的叶子节点的键值对包括:
13.根据权利要求1所述的元数据管理方法,其特征在于,所述自元数据落盘区选取用于落盘所述待落盘元数据的落盘子区,作为待落子区包括:
14.根据权利要求13所述的元数据管理方法,其特征在于,所述将所述待落盘元数据写盘至所述目标子区之后还包括:
15.一种存储系统,其特征在于,所述存储系统包括:
16.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-14中任一所述元数据管理方法的步骤。
17.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至14中任一项所述元数据管理方法的步骤。
18.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至14中任一项所述元数据管理方法的步骤。
...【技术特征摘要】
1.一种元数据管理方法,其特征在于,所述元数据管理方法包括:
2.根据权利要求1所述的元数据管理方法,其特征在于,所述当修复元数据时,对所述目标子区进行修复包括:
3.根据权利要求2所述的元数据管理方法,其特征在于,所述同一时刻选择若干个所述待落子区作为目标子区之后还包括:
4.根据权利要求1所述的元数据管理方法,其特征在于,所述对所述目标子区进行修复包括:
5.根据权利要求4所述的元数据管理方法,其特征在于,所述元数据管理方法包括:
6.根据权利要求5所述的元数据管理方法,其特征在于,所述自所述根节点逐级获取其叶子节点的序列标识包括:
7.根据权利要求6所述的元数据管理方法,其特征在于,所述判定所述当前节点为有效节点之后还包括:
8.根据权利要求6所述的元数据管理方法,其特征在于,所述判定存在节点丢失之后还包括:
9.根据权利要求4所述的元数据管理方法,其特征在于,所述提取位于所述根节点区内各元数据的根节点包括:
10.根据权利要求1所述的元数据管理方法,其特征在于,所述对所述目标子区进行修复包括:
11.根...
【专利技术属性】
技术研发人员:刘志勇,施培任,刘晓瑞,
申请(专利权)人:苏州元脑智能科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。