一种HDFS删除文件恢复方法、终端设备及存储介质技术

技术编号:24205676 阅读:32 留言:0更新日期:2020-05-20 14:33
本发明专利技术涉及一种HDFS删除文件恢复方法、终端设备及存储介质,该方法中包括:S1:扫描本地存储介质,识别HDFS的Namenode池和DataNode池并关联;S2:查找HDFS文件系统中的fsimage文件,并根据fsimage文件构建目录树;S3:解析HDFS文件系统中edit日志文件,提取所有删除文件的文件信息组成删除文件集合;S4:从HDFS文件系统对应的所有磁盘的未分配簇空间中查找DataNode节点对应的所有数据块组成数据块集合;S5:针对删除文件集合中的每个文件,从数据集合中查找其对应的数据块信息,并进行关联;S6:将删除文件集合与构建的目录树合并为包含删除文件的完整目录树。本发明专利技术通过日志重新构建文件系统目录结构,恢复出丢失文件,填补了国内HDFS删除文件恢复技术方便的空白。

An HDFS delete file recovery method, terminal equipment and storage media

【技术实现步骤摘要】
一种HDFS删除文件恢复方法、终端设备及存储介质
本专利技术涉及文件恢复领域,尤其涉及一种HDFS删除文件恢复方法、终端设备及存储介质。
技术介绍
HDFS文件系统是运行在通用硬件上的分布式文件系统,随着大数据的发展与普及,其删除文件的恢复技术在智能设备安全、网络信息安全领域将是一个备受关注的热点。目前对HDFS文件系统的文件提取均需通过Hadoop服务器进行文件读取,在Hadoop服务器未启动情况下,无法读取HDFS文件系统存储的文件;在HDFS文件删除情况下,国内外还没有发现有软件支持HDFS文件系统的删除恢复,导致无法深入对HDFS分布式文件系统删除文件进行取证。
技术实现思路
为了解决上述问题,本专利技术提出了一种HDFS删除文件恢复方法、终端设备及存储介质。具体方案如下:一种HDFS删除文件恢复方法,包括以下步骤:S1:扫描所有本地存储介质,识别HDFS的Namenode池和DataNode池,并关联同一个HDFS对应的namenode池和datanode池;S2:从HDFS的NameNode池中查找HDFS文件系统的fsimage元数据文件,并根据fsimage文件构建目录树;S3:从HDFS的NameNode池中查找HDFS文件系统的edit日志文件,并解析HDFS的edit日志文件,提取所有删除文件的文件信息组成删除文件集合;S4:从HDFS文件系统关联的所有DataNode池的本地存储介质中,恢复出所有在DataNode池目录下被删除和已存在的数据块组成数据块集合;S5:针对删除文件集合中的每个文件,从数据集合中查找其对应的数据块信息,并进行关联;当删除文件的数据块信息记载的所有数据块都完整查找到,将该文件标注为可恢复;当删除文件的数据块信息记载的数据块只有部分能够查找到,将该文件标注为部分可恢复;当删除文件的数据块信息记载的部分数据块都查找不到,将该文件标注为不可恢复;S6:将删除文件集合与构建的目录树合并为包含删除文件的完整目录树。进一步的,步骤S1具体包括以下步骤:S11:扫描所有本地存储介质,获取所有具有HDFS目录结构的目录;S12:读取HDFS目录结构下的VERSION文件,并获取ClusterID和UuID;S13:通过ClusterID和UuID,关联同一个HDFS的数据池,即namenode池和datanode池。进一步的,步骤S2中目录树的构建方法包括以下步骤:S21:根据fsimage文件中的filesummarylength,计算filesummary所占的位置和长度;S22:根据filesummary文件,解析其中的INODEsection和Directionsection两个块的位置和长度;S23:根据INODEsection,提取HDFS文件系统存储的所有文件的文件系统以及文件的数据块信息;S24:根据Directionsection,构建HDFS文件系统的目录树。进一步的,步骤S3中删除文件集合的获取方法包括以下步骤:S31:提取HDFS文件系统对应的所有edit日志文件组成日志集合;S32:依次解析日志集合中的每个日志文件,筛选出所有的OPCODE参数值为OP_ADD的日志文件,并提取其对应的文件属性和数据块信息,将所有筛选出的日志文件对应的文件属性和数据块信息组成新增文件集合;S33:依次解析日志集合中的每个日志文件,筛选出所有的OPCODE参数值为OP_DELETE的日志文件,并提取其对应的文件属性和数据块信息,将所有筛选出的日志文件对应的文件属性和数据块信息组成的集合与新增文件集合的交集作为删除文件集合。一种HDFS删除文件恢复终端设备,包括处理器、存储介质以及存储在所述存储介质中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本专利技术实施例上述的方法的步骤。一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现本专利技术实施例上述的方法的步骤。本专利技术采用如上技术方案,基于HDFS的日志特点结合本地存储介质文件系统的删除恢复功能,通过日志重新构建文件系统目录结构,恢复出丢失文件,为HDFS文件系统上因为误删除或者恶意删除导致的数据丢失提供了解决方案,填补了国内HDFS删除文件恢复技术方便的空白。恢复过程不需要hadoop服务运行和hadoop服务器运行日志以及hadoop的软件支撑。附图说明图1所示为本专利技术实施例一的流程图。图2所示为该实施例中HDFS文件系统的结构示意图。图3所示为该实施例中HDFS文件系统的框架示意图。图4所示为该实施例中fsimage文件的结构示意图。图5所示为该实施例中的实验结果示意图。具体实施方式为进一步说明各实施例,本专利技术提供有附图。这些附图为本专利技术揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本专利技术的优点。现结合附图和具体实施方式对本专利技术进一步说明。实施例一:本专利技术实施例提出一种HDFS删除文件恢复方法,如图1所示,包括以下步骤:S1:扫描所有本地存储介质,识别HDFS的Namenode池和DataNode池,并关联同一个HDFS对应的namenode池和datanode池。HDFS会在其所在的Hadoop服务器运行的主机集群上创建一个NameNode池和若干个DataNode池。所有DataNode池和Namenode池都有一个VERSION文件,VERSION文件包含当前数据池的ClusterID、UuID以及数据池类型。当扫描到存储介质中存在目录结构与HDFS数据池的目录结构一致时候,读取VERSION文件内容,通过VERSION文件的内容可以判断是否为HDFS的数据池。所有存储介质扫描结束后,通过VERSION文件的ClusterID和UuID关联同一个HDFS的Namenode和所有Datanode。需要说明的是,单个本地主机通常只会运行一个HDFS,但是存在格式化后重建Hadoop服务的情况,所以需要重新识别数据池所属的HDFS。再者可能会存在多块存储介质进行数据恢复时候,在不同存储介质中可能存在多个HDFS文件系统的数据池,因此也需要重新区分。步骤S1具体包括以下步骤:S11:扫描所有本地存储介质,获取所有具有HDFS目录结构的目录。S12:读取HDFS目录结构下的VERSION文件,并获取ClusterID和UuID。S13:通过ClusterID和UuID,关联同一个HDFS的数据池,即namenode池和datanode池。S2:从HDFS的NameNode池中查找HDFS文件系统的fsimag本文档来自技高网...

【技术保护点】
1.一种HDFS删除文件恢复方法,其特征在于,包括以下步骤:/nS1:扫描所有本地存储介质,识别HDFS的Namenode池和DataNode池,并关联同一个HDFS对应的namenode池和datanode池;/nS2:从HDFS的NameNode池中查找HDFS文件系统的fsimage元数据文件,并根据fsimage文件构建目录树;/nS3:从HDFS的NameNode池中查找HDFS文件系统的edit日志文件,并解析HDFS的edit日志文件,提取所有删除文件的文件信息组成删除文件集合;/nS4:从HDFS文件系统关联的所有DataNode池的本地存储介质中,恢复出所有在DataNode池目录下被删除和已存在的数据块组成数据块集合;/nS5:针对删除文件集合中的每个文件,从数据集合中查找其对应的数据块信息,并进行关联;当删除文件的数据块信息记载的所有数据块都完整查找到,将该文件标注为可恢复;当删除文件的数据块信息记载的数据块只有部分能够查找到,将该文件标注为部分可恢复;当删除文件的数据块信息记载的部分数据块都查找不到,将该文件标注为不可恢复;/nS6:将删除文件集合与构建的目录树合并为包含删除文件的完整目录树。/n...

【技术特征摘要】
1.一种HDFS删除文件恢复方法,其特征在于,包括以下步骤:
S1:扫描所有本地存储介质,识别HDFS的Namenode池和DataNode池,并关联同一个HDFS对应的namenode池和datanode池;
S2:从HDFS的NameNode池中查找HDFS文件系统的fsimage元数据文件,并根据fsimage文件构建目录树;
S3:从HDFS的NameNode池中查找HDFS文件系统的edit日志文件,并解析HDFS的edit日志文件,提取所有删除文件的文件信息组成删除文件集合;
S4:从HDFS文件系统关联的所有DataNode池的本地存储介质中,恢复出所有在DataNode池目录下被删除和已存在的数据块组成数据块集合;
S5:针对删除文件集合中的每个文件,从数据集合中查找其对应的数据块信息,并进行关联;当删除文件的数据块信息记载的所有数据块都完整查找到,将该文件标注为可恢复;当删除文件的数据块信息记载的数据块只有部分能够查找到,将该文件标注为部分可恢复;当删除文件的数据块信息记载的部分数据块都查找不到,将该文件标注为不可恢复;
S6:将删除文件集合与构建的目录树合并为包含删除文件的完整目录树。


2.根据权利要求1所述的HDFS删除文件恢复方法,其特征在于:步骤S1具体包括以下步骤:
S11:扫描所有本地存储介质,获取所有具有HDFS目录结构的目录;
S12:读取HDFS目录结构下的VERSION文件,并获取ClusterID和UuID;
S13:通过ClusterID和UuID,关联同一个HDFS的数据池,即namenode池和datanode池。


3.根据权利要求1所述的HDFS删除文件恢复方法,其特征在于:步...

【专利技术属性】
技术研发人员:杜辉阳沈长达吴少华
申请(专利权)人:厦门市美亚柏科信息股份有限公司
类型:发明
国别省市:福建;35

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

1