一种文件系统维护和修复的方法和装置的制造方法

文档序号:9597740阅读:355来源:国知局
一种文件系统维护和修复的方法和装置的制造方法
【技术领域】
[0001] 本发明涉及文件系统管理技术领域,具体涉及一种文件系统维护和修复的方法和 装置。
【背景技术】
[0002] 计算机的文件系统是一种存储和组织计算机数据的方法,它使得对其访问和查找 变得容易,文件系统使用文件和树形目录的抽象逻辑概念代替了硬盘和光盘等物理设备使 用数据块的概念。文件系统对文件存储设备的空间进行组织和分配,负责文件存储并对存 储的文件进行保护和检索。或者说,文件系统是一套实现了数据的存储、分级组织、访问和 获取等操作的抽象数据类型。
[0003] 文件系统元数据是关于文件数据的组织、数据域及其关系的信息。简言之,元数据 就是关于数据的数据。一般文件系统的元数据分为系统文件(由文件系统格式化时自身创 建,用于某种管理目的)元数据和用户文件(由用户创建)元数据。
[0004] 在某些情况下,如软件自身错误,电源故障,或者存储设备的控制器异常等场景, 可能导致元数据被损坏,即文件系统会处于不一致的状态。在现有技术中,发现元数据错误 后,会将整个文件系统设为只读状态,即用户不能对文件系统进行任何写操作。在对元数据 进行修复时,会将文件系统卸载,执行修复动作后再重新挂载。
[0005] 在现有技术中,由于将整个文件系统设为只读,会导致业务整体表现为不可用,业 务中断影响面比较大。同时,由于任意单个元数据损坏后,就会将文件系统设为只读或者不 可访问,因此在进行修复时,为了保证修复的完整性,需要对整个文件系统进行扫描,找出 其他发生错误的元数据,从而使得修复时间较长。

【发明内容】

[0006] 有鉴于此,本发明实施例提供一种文件系统元数据隔离和修复的方法以及装置, 用于提高文件系统的容错能力以及文件系统的修复效率。
[0007] 第一方面,本发明实施例提供一种文件系统维护的方法,当检测到所述文件系统 中的元数据发生错误时,确定所述错误的元数据是否属于可隔离的元数据,所述可隔离的 元数据为发生错误后,文件系统仍然可以继续提供部分服务的元数据;当确定所述发生错 误的元数据属于可隔离的元数据时,将所述发生错误的元数据设置为只读或者不可访问。 由于隔离后了错误元数据后的文件系统仍可以继续提供服务,不用像现有技术中直接将整 个文件系统设为只读,从而提高了文件系统业务的连续性和容错能力。
[0008] 结合第一方面,在第一种实现方式下,可以根据所述发生错误的元数据以及所述 元数据的数据类型和是否可隔离的对应关系,确定所述发生错误的元数据是否属于可隔离 的元数据。
[0009] 结合第一方面的第一种实现方式,在第二种实现方式下,可以获取所述发生错误 的元数据的数据类型;根据所述发生错误的元数据的数据类型和预设的元数据分类表确定 所述发生错误的元数据是否可隔离,所述元数据分类表包括元数据的数据类型和是否可隔 离的对应关系。
[0010] 结合第一方面,以及第一方面的第一、第二种实现方式,在第三中实现方式下,在 所述将所述发生错误的元数据设置为只读或者不可访问之后,确定所述发生错误的元数据 的错误类型是否为关联性错误,所述关联性错误表示错误发生后,与所述错误的元数据相 关的元数据也发生了错误;当确定所述错误类型是关联性错误,则将所述与所述错误的元 数据相关的元数据也设为只读或者不可访问。由此,可以在检测到发生错误的元数据后, 将与该发生错误元数据的错误类型相关联的元数据隔离,从而更全面的隔离的错误的元数 据,减小了相关联的元数据错误对于文件系统的影响,并提高了修复错误元数据时的全面 性。同时可以保证关联性错误的相关元数据均被隔离,进而可以使文件系统继续提供服务, 提高文件系统的稳定性。
[0011] 结合第一方面的第三种实现方式,在第四种实现方式下,判断所述发生错误的元 数据的错误类型是否为关联性错误时,可以根据错误类型,以及错误类型与是否为关联性 错误的对应关系确定所述错误类型是否为关联性错误。
[0012] 结合第一方面的第三或者第四种实现方式,在第五种实现方式下,将所述与所述 错误的元数据相关的元数据也设为只读或者不可访问时,所述与所述错误的元数据相关的 元数据包括依赖于所述错误的元数据的元数据。由于依赖于所述错误的元数据也会发生错 误,因此,将所述相关的元数据也进行隔离,可以提高文件系统的稳定性。
[0013] 结合第一方面,或者第一方面的第一到第五种实现方式中任意一种,在第六种实 现方式下,本发明实施例还将所述错误的错误信息添加到错误信息列表中,所述错误列表 用于将发生错误的元数据上报给用户。通过错误信息列表,可以将用户发起一次修复或者 文件系统被设为只读之前,将检测到的全部错误元数据信息添加到错误信息列表,用户态 在进行错误修复时,无需再对文件系统进行错误扫描,而可以直接根据错误列表对列表中 的发生错误的元数据进行修复。同时,在文件系统中的发生错误的元数据为不可隔离的元 数据之前,文件系统中的发生错误的可隔离的元数据均会被添加到错误列表中,因此用户 可以一次性对多个元数据进行修复,提高了修复效率。
[0014] 第二方面,本发明实施例还提供了一种文件系统修复方法接收用户在确定元数据 发生错误后发送的冻结文件系统的指令,并根据所述冻结文件系统的指令冻结文件系统。 根据用户发送的元数据修复指令对发生错误的元数据进行修复。接收用户发送的解冻文件 系统的指令,并根据所述解冻文件系统的指令解冻所述文件系统。通过响应用户态冻结文 件系统,并对发生错误的元数据进行修复,可以实现对文件系统的快速修复。
[0015] 结合第二方面,在第一种实现方式中,本发明实施例还向用户上报错误信息列表, 所述错误信息列表包含发生错误的元数据的错误信息。由于将错误信息添加到错误信息列 表中,由于发生错误的元数据的相关信息以及错误的相关信息均通过错误信息列表返回给 用户,用户在进行错误修复时,无需再对整个文件系统进行错误扫描,而可以直接根据错误 列表对列表中的发生错误的元数据进行修复,减少了错误修复的时间。
[0016] 第三方面,本发明实施例提供了一种文件系统维护装置,所述装置包括元数据检 测模块和元数据隔离模块,可选的,还可以包括错误信息搜集模块。所述装置可以用于执行 第一方面以及第一方面的各种实现方式所述的方法。
[0017] 第四方面,本发明实施例还提供了一种文件系统修复装置,所述装置包括文件系 统冻结模块和元数据修复模块,可选的,还可以包括信息上报模块。所述装置可以用于执行 第二方面以及第二方面的各种实现方式所述方法。
[0018] 第五方面,本发明还提供了一种计算机系统,所述计算机系统包括处理器,以及与 所述处理器相连接的存储器,其中所述处理器调用所述存储器中存储的指令以用于执行所 述第一方面以及第一的各种实现方式所述的方法。
[0019] 第六方面,本发明还提供了一种计算机系统,所述计算机系统包括处理器,以及与 所述处理器相连接的存储器,其中所述处理器调用所述存储器中存储的指令以用于执行所 述第二方面以及第二的各种实现方式所述的方法。
[0020] 可见,本实施例中提供的方法及装置在文件系统发生错误时,首先判断发生错误 的元数据是否属于可隔离的元数据,若是则仅将该发生错误的元数据设置为只读或者不可 访问,而不是像现有技术在发生任何错误时都将整个文件系统设为只读或者不可访问,因 此即便某些错误发生文件系统工作的连续性仍能够得到保证,从而提高了文件系统的容错 能力,提升了整体业务的连续性。
[0021] 同时,在可隔离的元数据发生错误之后,文件系统仍可以继续运行,在此期间如果 仍有错误发生,可以和之前的错误一并被上报给用户,这样用户可以一次性对多个发生错 误的元数据进行修复,提高了修复效率,增加了修复的全面性。
【附图说明】
[0022] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些附图获得其他的附图。
[0023] 图1为本发明实施例中一种文件系统维护装置的系统架构图。
[0024] 图2为本发明实施例提供的第一种元数据隔离的方法的流程示意图。
[0025] 图3是本发明实施例提供的第二种元数据隔离的方法的流程示意图。
[0026] 图4是本发明实施例提供的第三种元数据隔离的方法的流程示意图。
[0027] 图5是本发明实施例提供的一种文件系统元数据的修复方法的流程示意图。
[0028] 图6是本发明实施例提供的一种文件系统维护装置的结构示意图。
[0029] 图7是本发明实施例提供的一种计算机系统的结构示意图。
[0030] 图8是本发明实施例提供的一种文件系统修复装置的结构示意图。
[0031] 图9是本发明实施例提供的另一种计算机系统的结构示意图
【具体实施方式】
[0032] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1