存储系统中恢复元数据的方法和装置制造方法及图纸

技术编号:20763313 阅读:46 留言:0更新日期:2019-04-03 14:08
本申请提供了一种存储系统中恢复元数据的方法和装置,该存储系统包括第一存储块组CKG和第二CKG,该第一CKG包括至少一个条带,该第二CKG包括至少一个条带,该方法包括:获取第一CKG中的第一条带的第一数据和第二CKG中的第二条带的第二数据;若该第一数据和该第二数据相同,根据该第一条带的有效列数和第二条带的有效列数,以及该第一CKG的状态和该第二CKG的状态,在该第一数据和该第二数据中选择数据,该状态包括写满状态和未写满状态。本申请实施例的存储系统中恢复元数据的方法和装置,能够提高数据的可靠性。

【技术实现步骤摘要】
存储系统中恢复元数据的方法和装置
本申请涉及计算机存储领域,并且更具体地,涉及一种存储系统中恢复元数据的方法和装置。
技术介绍
存储系统中,磁盘上除了存储用户的数据,还需要存储管理用户数据的元数据信息。为了加快上下电之后的元数据的重建速度,元数据通常采用分级思想组织管理。通常来说,磁盘上会划分一块比较小的存储空间用来存储顶层元数据。顶层元数据的可靠性是系统可靠性的基础。底层元数据采用独立硬盘冗余阵列(RedundantArrayofIndependentDisks,RAID)方式存储。独立硬盘冗余阵列RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘)的技术,RAID能够提供比单个硬盘更高的存储性能和数据备份性能。RAID中的数据是以条带(Stripe)形式分布的,条带可以理解为硬盘阵列中两个或多个分区上一组位置相关的分块,该分块也可称为条带单元(StripeUnit,SU),即条带由多个条带单元组成。一个条带中包含用于存储数据的条带单元和用于存储数据的校验数据的条带单元。在元数据的恢复操作中,对于出现相同的两份数据,现有技术是随机选择一份数据,这样选择的数据的可靠性较低。比如,若某个数据同时存储在不同的CKG条带中,其中一份数据所在CKG的有效列数为3列,另一份数据所在CKG的有效列数只有1列,采用随机选择的方式可能选择到有效列数只有1列的数据,这样在进行系统加载后,如果该1列数据所在的磁盘出现故障,则会导致数据丢失,可靠性较低。因此,亟需提出一种方案提高数据的可靠性。
技术实现思路
本申请提供一种存储系统中恢复元数据的方法和装置,能够提高数据的可靠性,从而提升整个系统的可靠性。第一方面,提供了一种存储系统中恢复元数据的方法,其特征在于,所述存储系统包括第一存储块组CKG和第二CKG,所述第一CKG包括至少一个条带,所述第二CKG包括至少一个条带,所述方法包括:获取所述第一CKG中的第一条带的第一数据和所述第二CKG中的第二条带的第二数据;若所述第一数据和所述第二数据相同,根据所述第一条带的有效列数和所述第二条带的有效列数,以及所述第一CKG的状态和所述第二CKG的状态,在所述第一数据和所述第二数据中选择数据,所述状态包括写满状态和未写满状态。在本申请实施例中,在第一数据和第二数据相同时,存储设备根据第一条带的有效列数和第二条带的有效列数,以及第一CKG的状态和第二CKG的状态,在第一数据和第二数据中选择数据,能够选择可靠性更高的数据,从而提升存储系统的可靠性。在一些可能的实现方式中,所述第一CKG的状态与所述第二CKG的状态相同,所述第一条带的有效列数与所述第二条带的有效列数不同;其中,根据所述第一条带的有效列数和所述第二条带的有效列数,以及所述第一CKG的状态和所述第二CKG的状态,在所述第一数据和所述第二数据中选择数据,包括:在所述第一数据和所述第二数据中,选择对应条带的有效列数最大的数据。因此,在CKG状态相同时,可以根据条带的有效列数选择可靠性更高的数据。在一些可能的实现方式中,所述第一CKG的状态与所述第二CKG的状态不同,所述第一条带的有效列数与所述第二条带的有效列数相同;其中,根据所述第一条带的有效列数和所述第二条带的有效列数,以及所述第一CKG的状态和所述第二CKG的状态,在所述第一数据和所述第二数据中选择数据,包括:在所述第一数据和所述第二数据中,选择所在的CKG的状态是写满状态的数据。因此,在条带的有效列数相同时,可以根据CKG的状态选择可靠性更高的数据。在一些可能的实现方式中,根据所述第一条带的有效列数和所述第二条带的有效列数,以及所述第一CKG的状态和所述第二CKG的状态,在所述第一数据和所述第二数据中选择数据,包括:根据所述第一条带的有效列数和所述第一CKG的状态,计算所述第一数据对应的权值;根据所述第二条带的有效列数和所述第二CKG的状态,计算所述第二数据对应的权值;比较所述第一数据的权值和所述第二数据的权值,并在所述第一数据和所述第二数据中选择权值最大的数据。因此,可以根据条带的有效列数以及CKG的状态,计算数据对应的权值,以便于选择权值更大的数据,从而得到可靠性更高的数据。在一些可能的实现方式中,计算所述第一数据对应的权值或计算所述第二数据对应的权值,包括:若数据对应的条带所在的CKG的状态是写满状态,则根据下式计算权值:W=N*a+b,其中,若数据对应的条带所在的CKG的状态是未写满状态,则根据下式计算权值:W=N*a;或者,若数据对应的条带所在的CKG的状态是写满状态,则根据下式计算权值:W=N*a,其中,若数据对应的条带所在的CKG的状态是未写满状态,则根据下式计算权值:W=N*a-b,其中,所述W表示数据对应的权值,所述N表示数据对应的条带的有效列数,所述a是有效列数的因子,所述b是状态因子,所述a和所述b均为大于0的常数,且a>b。因此,可以采用上述权值计算公式,计算数据的权值,以便于选择权值更大的数据,从而得到可靠性更高的数据。第二方面,提供了一种存储系统中恢复元数据的装置,用于执行上述第一方面或第一方面的任意可能的实现方式中的方法。具体地,该装置包括用于执行上述第一方面或第一方面的任意可能的实现方式中的方法的模块。第三方面,提供了一种存储系统中恢复元数据的装置,该装置包括处理器、存储器和收发器。处理器与存储器和收发器连接。存储器用于存储指令,处理器用于执行该指令,收发器用于在处理器的控制下与其他网元进行通信。该处理器执行该存储器存储的指令时,该执行使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有程序,该程序使得存储系统中恢复元数据的装置执行上述第一方面,及其各种实现方式中的任一种管理网络切片的方法。第五方面,提供了一种存储系统,该存储系统包括第三方面或第三方面中的任一种可能实现方式中的装置;或者,该存储系统包括第四方面或第四方面中的任一种可能实现方式中的装置。第六方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或其任意可能的实现方式中的方法。附图说明图1是存储设备的一个示意图。图2是盘上空间的布局的一个示意图。图3是根据本申请实施例的用于元数据恢复的模块的一个例子的示意图。图4是根据本申请实施例的扫盘的一个例子的流程图。图5是根据本申请实施例的存储系统中恢复元数据的方法的示意性流程图。图6是根据本申请实施例的一个例子的示意图。图7是根据本申请实施例的另一个例子的示意图。图8是根据本申请实施例的存储系统中恢复元数据的装置的示意性框图。图9是根据本申请实施例的存储系统中恢复元数据的装置的结构框图。具体实施方式下面将结合附图,对本申请中的技术方案进行描述。本申请实施例的技术方案可以应用于以条带(Stripe)作为管理方式的存储设备或存储系统,例如为固态硬盘(SolidStateDisk,SSD)组成的存储阵列、或SSD本身、或叠瓦式磁记录(ShingledMagnetingRecording,SMR)盘组成的存储阵列等。Stripe是一种将多个硬盘(单个盘中,则为多个存储介质)合并为一本文档来自技高网...

【技术保护点】
1.一种存储系统中恢复元数据的方法,其特征在于,所述存储系统包括第一存储块组CKG和第二CKG,所述第一CKG包括至少一个条带,所述第二CKG包括至少一个条带,所述方法包括:获取所述第一CKG中的第一条带的第一数据和所述第二CKG中的第二条带的第二数据;若所述第一数据和所述第二数据相同,根据所述第一条带的有效列数和所述第二条带的有效列数,以及所述第一CKG的状态和所述第二CKG的状态,在所述第一数据和所述第二数据中选择数据,所述状态包括写满状态和未写满状态。

【技术特征摘要】
1.一种存储系统中恢复元数据的方法,其特征在于,所述存储系统包括第一存储块组CKG和第二CKG,所述第一CKG包括至少一个条带,所述第二CKG包括至少一个条带,所述方法包括:获取所述第一CKG中的第一条带的第一数据和所述第二CKG中的第二条带的第二数据;若所述第一数据和所述第二数据相同,根据所述第一条带的有效列数和所述第二条带的有效列数,以及所述第一CKG的状态和所述第二CKG的状态,在所述第一数据和所述第二数据中选择数据,所述状态包括写满状态和未写满状态。2.根据权利要求1所述的方法,其特征在于,所述第一CKG的状态与所述第二CKG的状态相同,所述第一条带的有效列数与所述第二条带的有效列数不同;其中,所述根据所述第一条带的有效列数和所述第二条带的有效列数,以及所述第一CKG的状态和所述第二CKG的状态,在所述第一数据和所述第二数据中选择数据,包括:在所述第一数据和所述第二数据中,选择对应条带的有效列数最大的数据。3.根据权利要求1所述的方法,其特征在于,所述第一CKG的状态与所述第二CKG的状态不同,所述第一条带的有效列数与所述第二条带的有效列数相同;其中,所述根据所述第一条带的有效列数和所述第二条带的有效列数,以及所述第一CKG的状态和所述第二CKG的状态,在所述第一数据和所述第二数据中选择数据,包括:在所述第一数据和所述第二数据中,选择所在的CKG的状态是写满状态的数据。4.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据所述第一条带的有效列数和所述第二条带的有效列数,以及所述第一CKG的状态和所述第二CKG的状态,在所述第一数据和所述第二数据中选择数据,包括:根据所述第一条带的有效列数和所述第一CKG的状态,计算所述第一数据对应的权值;根据所述第二条带的有效列数和所述第二CKG的状态,计算所述第二数据对应的权值;比较所述第一数据的权值和所述第二数据的权值,并在所述第一数据和所述第二数据中选择权值最大的数据。5.根据权利要求4所述的方法,其特征在于,所述计算所述第一数据对应的权值或计算所述第二数据对应的权值,包括:若数据对应的条带所在的CKG的状态是写满状态,则根据下式计算权值:W=N*a+b,其中,若数据对应的条带所在的CKG的状态是未写满状态,则根据下式计算权值:W=N*a;或者,若数据对应的条带所在的CKG的状态是写满状态,则根据下式计算权值:W=N*a,其中,若数据对应的条带所在的CKG的状态是未写满状态,则根据下式...

【专利技术属性】
技术研发人员:方协云吴丹魏明昌朱小兵
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1