[发明专利]一种异常inode的动态修复方法、系统及相关组件有效
申请号: | 201911328598.6 | 申请日: | 2019-12-20 |
公开(公告)号: | CN111125008B | 公开(公告)日: | 2022-04-22 |
发明(设计)人: | 李鹏;孟祥瑞 | 申请(专利权)人: | 浪潮电子信息产业股份有限公司 |
主分类号: | G06F16/11 | 分类号: | G06F16/11;G06F16/16;G06F16/182 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 刘翠香 |
地址: | 250101 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 异常 inode 动态 修复 方法 系统 相关 组件 | ||
本申请公开了一种异常inode的动态修复方法,包括:获取内存中异常inode的整体内存结构,并将所述整体内存结构转换为可编辑文件;利用报错信息,在所述可编辑文件中确定异常字段;在所述可编辑文件中所述异常字段的位置写入文件系统的期望值,得到修复后可编辑文件;将所述修复后可编辑文件导回所述内存。本申请未对文件数据进行扫描,而是直接修改了异常inode的内存结构,不会出现字段缺失或字段值非法的情况,实现了inode的动态修复,保证文件系统可恢复正常运行。相应的,本申请还公开了一种异常inode的动态修复系统、装置及可读存储介质,具有相同的有益效果。
技术领域
本发明涉及分布式文件系统领域,特别涉及一种异常inode的动态修复方法、系统及相关组件。
背景技术
在分布式文件系统的运行过程中,因为某些未知的异常情况,有时会出现文件元数据的核心数据结构“Inode”出现部分字段缺失或字段值非法的情况,进而使得文件系统在处理请求并对Inode校验的环节中,因为字段值与文件系统预期的值不符合,导致文件系统出错、无法继续运行。
现有的修复技术,主要是通过扫描对应inode的文件数据来恢复部分字段,比如大小、修改时间等。但是,Inode中的不少字段是元数据专有的,无法通过文件数据的扫描过程更正。
因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种异常inode的动态修复方法、系统及相关组件。其具体方案如下:
一种异常inode的动态修复方法,包括:
获取内存中异常inode的整体内存结构,并将所述整体内存结构转换为可编辑文件;
利用报错信息,在所述可编辑文件中确定异常字段;
在所述可编辑文件中所述异常字段的位置写入文件系统的期望值,得到修复后可编辑文件;
将所述修复后可编辑文件导回所述内存。
优选的,所述动态修复方法还包括:
将所述修复后可编辑文件对应的元数据写入底层存储单元。
优选的,所述将所述修复后可编辑文件对应的元数据写入底层存储单元的过程,具体包括:
主动调用所述文件系统的刷新接口,以使所述修复后可编辑文件对应的元数据写入底层存储单元。
优选的,所述在所述可编辑文件中所述异常字段的位置写入文件系统的期望值的过程,具体包括:
在所述可编辑文件中所述异常字段的位置写入文件系统的期望值,以补充缺失字段或替换异常字段值。
优选的,所述将所述修复后可编辑文件导回所述内存的过程,具体包括:
将所述修复后可编辑文件转换为内存结构后导回所述内存。
优选的,所述可编辑文件具体为:
按嵌套结构、以文本形式存放的可编辑文件。
相应的,本发明还公开了一种异常inode的动态修复系统,包括:
转换模块,用于获取内存中异常inode的整体内存结构,并将所述整体内存结构转换为可编辑文件;
异常查找模块,用于利用报错信息,在所述可编辑文件中确定异常字段;
修复模块,用于在所述可编辑文件中所述异常字段的位置写入文件系统的期望值,得到修复后可编辑文件;
导入模块,用于将所述修复后可编辑文件导回所述内存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911328598.6/2.html,转载请声明来源钻瓜专利网。