1.一种基于ocfs2的数据恢复方法,其特征在于,所述方法包括:
搜索磁盘中的残留节点,得到残留节点集合和超级块集合;
基于预设属性对所述残留节点集合中的所有元素进行分组,得到节点集合分组;
判断每个所述节点集合分组与所述超级块集合是否匹配;
如果确定所述节点集合分组与所述超级块集合匹配,则基于与所述节点集合分组相匹配的超级块进行数据恢复。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
如果确定所述节点集合分组与所述超级块集合不匹配,则基于所有所述残留节点进行数据恢复。
3.如权利要求1所述的方法,其特征在于,所述搜索磁盘中的残留节点,得到残留节点集合和超级块集合,包括:
解析当前磁盘文件系统所有文件信息,并获取磁盘残留区的区域范围集合;
针对残留区的每个区域范围进行搜索,得到残留节点集合和超级块集合。
4.如权利要求1所述的方法,其特征在于,所述基于预设属性对所述残留节点集合中的所有元素进行分组,得到节点集合分组,包括:
基于版本号对所有所述残留节点集合中的所有元素进行分组,将同一版本号的元素分为一组,得到至少一组所述节点集合分组。
5.如权利要求1所述的方法,其特征在于,所述判断每个所述节点集合分组与所述超级块集合是否匹配,包括:
对于每个所述节点集合分组的版本号,查找所述超级块集合中是否存在版本号与所述节点集合分组的版本号相同的元素。
6.如权利要求5所述的方法,其特征在于,如果确定所述节点集合分组与所述超级块集合匹配,包括:
当所述超级块集合中存在与所述节点集合分组相同版本号的元素时,则确定所述节点集合分组与所述超级块集合匹配。
7.如权利要求6所述的方法,其特征在于,所述基于与所述节点集合分组相匹配的超级块进行数据恢复,包括:
获取所述相匹配的超级块的属性,并基于所述相匹配的超级块的属性计算得到起始偏移;
基于所述起始偏移解析所述残留节点集合中的每个元素的属性;
获取所述残留节点集合中的每个元素的数据,判断所述所述残留节点集合中的每个元素是否为文件夹节点;
如果所述所述残留节点集合中的元素是文件夹节点,则获取所述元素的目录信息集合;
基于所述目录信息集合中的元素,获取对应的文件节点以及解析文件名;
根据所述文件节点重新构建目录树,以恢复数据。
8.如权利要求7所述的方法,其特征在于,所述基于与所述节点集合分组相匹配的超级块进行数据恢复,还包括:
如果所述所述残留节点集合中的元素不是文件夹节点,则根据所述所对应的节点构建目录树,以恢复数据。
9.如权利要求2所述的方法,其特征在于,所述基于所有所述残留节点进行数据恢复,包括:
获取所述残留节点集合中任意两个元素,并计算所述任意两个元素的块大小,并判断所述块大小是否有效;
如果所述块大小有效,则计算卷起始偏移;
针对所述残留节点集合中的每个元素,解析每个元素的属性;
基于所述残留节点集合的每个元素的属性,计算所述每个元素的簇大小值;
基于每个所述残留节点集合的元素的数据,判断每个所述残留节点集合的元素是否为文件夹节点;
如果所述所述残留节点集合中的元素是文件夹节点,则获取所述元素的目录信息集合;
基于所述目录信息集合中的元素,获取对应的文件节点以及解析文件名;
根据所述文件节点重新构建目录树,以恢复数据。
10.如权利要求9所述的方法,其特征在于,所述基于所有所述残留节点进行数据恢复,还包括:
如果所述所述残留节点集合中的元素不是文件夹节点,则根据所述所对应的节点构建目录树,以恢复数据。
11.一种基于ocfs2的数据恢复装置,其特征在于,所述装置包括:
搜索模块,用于搜索磁盘中的残留节点,得到残留节点集合和超级块集合;
分组模块,用于基于预设属性对所述残留节点集合中的所有元素进行分组,得到节点集合分组;
匹配模块,用于判断每个所述节点集合分组与所述超级块集合是否匹配;
恢复模块,用于如果确定所述节点集合分组与所述超级块集合匹配,则基于与所述节点集合分组相匹配的超级块进行数据恢复。
12.一种基于ocfs2的数据恢复系统,其特征在于,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现根据权利要求1-10中任一项所述方法的步骤。
13.一种计算机存储介质,其上存储有计算机程序,所述计算机程序被计算机执行时实现权利要求1-10中任一项所述方法的步骤。