CN105607960B - 文件系统目录树修复方法和装置 - Google Patents
文件系统目录树修复方法和装置 Download PDFInfo
- Publication number
- CN105607960B CN105607960B CN201510701327.6A CN201510701327A CN105607960B CN 105607960 B CN105607960 B CN 105607960B CN 201510701327 A CN201510701327 A CN 201510701327A CN 105607960 B CN105607960 B CN 105607960B
- Authority
- CN
- China
- Prior art keywords
- catalogue
- root
- metadata
- sub
- higher level
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/907—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/185—Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Library & Information Science (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种文件系统目录树修复方法和装置,通过在每个目录的元数据中增加父目录路径信息,当目录树有元数据损坏时,通过遍历元数据,根据每个目录的元数据中的子目录路径信息,构建N个子目录树,然后,根据子目录树的子根目录的父目录路径信息,确定损坏的目录,根据子目录树的子根目录的父目录路径信息,重构与所述子根目录相邻的R级上级目录的元数据,即重构损坏的目录的元数据,根据重构的与所述子根目录相邻的R级上级目录的元数据,将所述N个子目录树构建为一个目录树。从而,还原原有的文件系统目录树,减小文件系统目录树损坏造成的影响。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种文件系统目录树修复方法和装置。
背景技术
文件系统是操作系统用于明确存储设备(例如:磁盘)或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。
文件系统元数据又称中介数据、中继数据,为描述数据的数据(data aboutdata),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找和文件记录等功能。元数据算是一种电子式目录,为了达到编制目录的目的,必须在描述并收藏数据的内容或特色,进而达成协助数据检索的目的。文件系统目录树的各目录中存储元数据,现有的元数据中包含子目录路径信息,其中,子目录路径信息包含子目录的标识(Identification,简称:ID),当文件系统出现内部错误或者介质损坏时,部分元数据可能造成损坏,通过对未损坏的所有的元数据进行扫描,根据元数据中的子目录路径信息,构建目录树,将孤立的元数据存放在新建的丢失与查找(lost+found)的目录下。
然而,采用现有技术的方法,无法还原原有的文件系统目录树,影响文件系统的正常运行。
发明内容
本发明实施例提供一种文件系统目录树修复方法和装置,以重新构建文件系统目录树,减小文件系统目录树损坏造成的影响。
第一方面,本发明实施例提供一种文件系统目录树修复方法,包括:
遍历元数据,根据每个目录的元数据中的子目录路径信息,构建N个子目录树,所述子目录路径信息中包含当前目录的下级目录的标识ID,其中,所述元数据中包含父目录路径信息和所述子目录路径信息,所述父目录路径信息中包含当前目录的上级目录的ID,所述N为大于等于2的整数;
根据每个所述子目录树的子根目录的元数据中的父目录路径信息,重构与所述子根目录相邻的R级上级目录的元数据,所述子根目录为所述子目录树的根目录,所述R为大于等于1的整数;
根据重构的与所述子根目录相邻的R级上级目录的元数据,将所述N个子目录树构建为一个目录树。
即通过在每个目录的元数据中增加父目录路径信息,当目录树有元数据损坏时,通过遍历元数据,根据每个目录的元数据中的子目录路径信息,构建N个子目录树,然后,根据子目录树的子根目录的父目录路径信息,确定损坏的目录,根据子目录树的子根目录的父目录路径信息,重构与所述子根目录相邻的R级上级目录的元数据,即重构损坏的目录的元数据,根据重构的与所述子根目录相邻的R级上级目录的元数据,将所述N个子目录树构建为一个目录树。从而,还原原有的文件系统目录树,减小文件系统目录树损坏造成的影响。
可选地,所述根据每个所述子目录树的子根目录的元数据中的父目录路径信息,重构与所述子根目录相邻的R级上级目录的元数据,包括:
若所述子目录树的子根目录的元数据中的上级目录ID包含至少一个第一目录的ID,所述第一目录的ID为与其他的子目录树的目录的ID相同,则确定所述子根目录的ID与第二目录的ID之间的目录ID为与所述子根目录相邻的R级上级目录;所述第二目录的ID为所述至少一个第一目录的ID中的层级最低的目录的ID;
根据所述子根目录的元数据中的父目录路径信息,重构所述R级上级目录的元数据。
可选地,所述根据所述子根目录的元数据中的父目录路径信息,重构所述R级上级目录的元数据,包括:
针对所述R级上级目录中的第i级目录,确定所述子根目录的上级目录的ID中,所述子根目录与所述第i级目录之间的目录以及所述子根目录为所述第i级目录的子目录路径信息,确定所述子根目录的上级目录的ID中,所述第i级目录以上的目录为所述第i级目录的父目录路径信息;
其中,所述i为大于等于1小于等于R的整数。
可选地,所述目录树中,
第S级目录以下的目录中,每个目录的父目录路径信息中包含S级上级目录信息,所述S为大于等于2的整数;
第S级目录以及第S级目录以上的目录的父目录路径信息中包含所有的上级目录信息。
第二方面,本发明实施例提供一种文件系统目录树修复装置,包括:
处理模块,用于遍历元数据,根据每个目录的元数据中的子目录路径信息,构建N个子目录树,所述子目录路径信息中包含当前目录的下级目录的标识ID,其中,所述元数据中包含父目录路径信息和所述子目录路径信息,所述父目录路径信息中包含当前目录的上级目录的ID,所述N为大于等于2的整数;
重构模块,用于根据每个所述子目录树的子根目录的元数据中的父目录路径信息,重构与所述子根目录相邻的R级上级目录的元数据,所述子根目录为所述子目录树的根目录,所述R为大于等于1的整数;
所述重构模块还用于根据重构的与所述子根目录相邻的R级上级目录的元数据,将所述N个子目录树构建为一个目录树。
即通过在每个目录的元数据中增加父目录路径信息,当目录树有元数据损坏时,通过处理模块遍历元数据,根据每个目录的元数据中的子目录路径信息,构建N个子目录树,然后,重构模块根据子目录树的子根目录的父目录路径信息,确定损坏的目录,根据子目录树的子根目录的父目录路径信息,重构与所述子根目录相邻的R级上级目录的元数据,即重构损坏的目录的元数据,根据重构的与所述子根目录相邻的R级上级目录的元数据,将所述N个子目录树构建为一个目录树。从而,还原原有的文件系统目录树,减小文件系统目录树损坏造成的影响。
可选地,所述重构模块具体用于若所述子目录树的子根目录的元数据中的上级目录ID包含至少一个第一目录的ID,所述第一目录的ID为与其他的子目录树的目录的ID相同,则确定所述子根目录的ID与第二目录的ID之间的目录ID为与所述子根目录相邻的R级上级目录;所述第二目录的ID为所述至少一个第一目录的ID中的层级最低的目录的ID;根据所述子根目录的元数据中的父目录路径信息,重构所述R级上级目录的元数据。
可选地,所述重构模块具体用于针对所述R级上级目录中的第i级目录,确定所述子根目录的上级目录的ID中,所述子根目录与所述第i级目录之间的目录以及所述子根目录为所述第i级目录的子目录路径信息,确定所述子根目录的上级目录的ID中,所述第i级目录以上的目录为所述第i级目录的父目录路径信息;其中,所述i为大于等于1小于等于R的整数。
可选地,所述目录树中,
第S级目录以下的目录中,每个目录的父目录路径信息中包含S级上级目录信息,所述S为大于等于2的整数;
第S级目录以及第S级目录以上的目录的父目录路径信息中包含所有的上级目录信息。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明文件系统目录树修复方法实施例一的流程示意图;
图2为本发明实施例文件系统目录树一的结构示意图;
图3A为本发明实施例文件下系统目录树一的子目录树一的结构示意图;
图3B为本发明实施例文件下系统目录树一的子目录树二的结构示意图;
图3C为本发明实施例文件下系统目录树一的子目录树三的结构示意图;
图4为本发明实施例文件系统目录树二的结构示意图;
图5A为本发明实施例文件下系统目录树二的子目录树一的结构示意图;
图5B为本发明实施例文件下系统目录树二的子目录树二的结构示意图;
图5C为本发明实施例文件下系统目录树二的子目录树三的结构示意图;
图5D为本发明实施例文件下系统目录树二的子目录树四的结构示意图;
图6为本发明文件系统目录树修复装置实施例一的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明通过在每个目录的元数据中增加父目录路径信息,当目录树有元数据损坏时,通过遍历元数据,根据每个目录的元数据中的子目录路径信息,构建N个子目录树,其中,N为大于等于2的整数,然后,根据子目录树的子根目录的父目录路径信息,确定损坏的目录,根据子目录树的子根目录的父目录路径信息,重构损坏的目录的元数据。从而,还原原有的文件系统目录树,减小文件系统目录树损坏造成的影响。
文件系统目录树中,第S级目录以下的目录中,每个目录的父目录路径信息中包含S级上级目录信息,S为大于等于2的整数;第S级目录以及第S级目录以上的目录的父目录路径信息中包含所有的上级目录信息,其中,根目录为第一级目录,从根目录往下依次前一个目录为后一个目录的上级目录。
下面以具体地实施例对本发明的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图1为本发明文件系统目录树修复方法实施例一的流程示意图,如图1所示,本实施例的方法如下:
S101:遍历元数据,根据每个目录的元数据中的子目录路径信息,构建N个子目录树。
其中,子目录路径信息中包含当前目录的下级目录的ID,其中,元数据中包含父目录路径信息和子目录路径信息,父目录路径信息中包含当前目录的上级目录的ID,N为大于等于2的整数。
文件系统目录树的结构如图2所示,在图2中,有5级目录,从上到下依次为第1级、第2级、第3级、第4级、第5级和第6级,针对每个目录,上级为其父目录,下级为其子目录,例如:针对第2级,第1级为第2级的父目录,第3级为第2级的子目录。
假设图2所示的目录树中的目录1损坏,则通过步骤S101,构建出3个子目录树,分别如图3A、图3B和图3C。
S102:根据每个子目录树的子根目录的元数据中的父目录路径信息,重构与子根目录相邻的R级上级目录的元数据。
其中,子根目录为所述子目录树的根目录,R为大于等于1的整数。
针对R级上级目录中的第i级目录,确定所述子根目录的上级目录的ID中,所述子根目录与所述第i级目录之间的目录以及所述子根目录为所述第i级目录的子目录路径信息,确定所述子根目录的上级目录的ID中,所述第i级目录以上的目录为所述第i级目录的父目录路径信息;所述i为大于等于1小于等于R的整数。
具体地,若子目录树的子根目录的元数据中的上级目录ID包含至少一个第一目录的ID,第一目录的ID为与其他的子目录树的目录的ID相同,则确定子根目录的ID与第二目录的ID之间的目录ID为与子根目录相邻的R级上级目录;第二目录的ID为所述至少一个第一目录的ID中的层级最低的目录的ID;然后,根据子根目录的元数据中的父目录路径信息,重构R级上级目录的元数据。
结合图3A、图3B和图3C,其中,图3A对应的子目录树的子根目录的元数据中的上级目录ID为空;图3B对应的子目录树的子根目录的元数据中的上级目录ID为目录1和根目录,根目录为目录1的上级目录;图3C对应的子目录树的子根目录的元数据中的上级目录ID为目录1和根目录,其中,根目录为目录1的上级目录。
可以看出,图3B对应的子目录树的子根目录的元数据中的上级目录ID包含的根目录与图3A对应的子目录树的目录的ID相同,则确定目录4与根目录之间的目录1为与目录4相邻的上级目录,根据目录4的元数据的父目录信息,重构目录1的元数据,即根据目录4的上级目录为目录1,目录1的上级目录为根目录;确定目录1为目录4的上级目录,目录1的下级目录为目录4,目录1的上级目录为根目录;
同理,可以看出图3C对应的子目录树的子根目录的元数据的上级目录ID包含的根目录与图3A对应的子目录树的目录的ID相同,则确定目录5与根目录之间的目录1为与目录5相邻的上级目录,根据目录5的元数据的父目录信息,重构目录1的元数据,即根据目录5的上级目录为目录1,目录1的上级目录为根目录;确定目录1为目录5的上级目录,目录1的下级目录为目录5,目录1的上级目录为根目录。
S103:根据重构的与子根目录相邻的R级上级目录的元数据,将N个子目录树构建为一个目录树。
根据图3B和图3C对应的子目录树的子根目录的元数据的父目录路径信息,确定损坏的目录为目录1,重建目录1的元数据,目录1的上级目录为根目录,目录1的下级目录为目录4和目录5,因此,将图3B和图3C的子目录树挂在图3A的子目录树的重建的目录1下,如图2所示。
本实施例,通过在每个目录的元数据中增加父目录路径信息,当目录树有元数据损坏时,通过遍历元数据,根据每个目录的元数据中的子目录路径信息,构建N个子目录树,然后,根据子目录树的子根目录的父目录路径信息,确定损坏的目录,根据子目录树的子根目录的父目录路径信息,重构与所述子根目录相邻的R级上级目录的元数据,即重构损坏的目录的元数据,根据重构的与所述子根目录相邻的R级上级目录的元数据,将所述N个子目录树构建为一个目录树。从而,还原原有的文件系统目录树,减小文件系统目录树损坏造成的影响。
图2所示的文件系统目录树中,每个目录中的父目录路径信息中,包含两级上级目录,上级目录不足两级的目录包含所有的上级目录,根目录不包含上级目录。图2仅为示例,本领域技术人员可以理解,在此发明构思的基础上,父目录路径信息中还可以包含两级以上的目录,其实现原理均是根据父目录路径信息重构损坏的目录的元数据,其技术效果类似,此处不再赘述、
下面以父目录路径信息中包含三级上级目录为例进行描述;如图4所示,假设目录1和目录4损坏,根据S101的步骤,构建出4个子目录树,分别为图5A、图5B、图5C和图5D。根据S102的步骤,重构目录1的元数据和目录4的元数据,重构的目录1的父目录信息中的上级目录为根目录,重构的目录4的父目录信息中的上级目录为目录1和根目录,其中,目录4的上级目录为目录1,目录1的上级目录为根目录;根据S103将图5A、图5B、图5C和图5D构建为一个目录树,如图4所示。
图6为本发明文件系统目录树修复装置实施例一的结构示意图,本实施例的装置包括处理模块601和重构模块602,其中,处理模块601用于遍历元数据,根据每个目录的元数据中的子目录路径信息,构建N个子目录树,所述子目录路径信息中包含当前目录的下级目录的标识ID,其中,所述元数据中包含父目录路径信息和所述子目录路径信息,所述父目录路径信息中包含当前目录的上级目录的ID,所述N为大于等于2的整数;重构模块602用于根据每个所述子目录树的子根目录的元数据中的父目录路径信息,重构与所述子根目录相邻的R级上级目录的元数据,所述子根目录为所述子目录树的根目录,所述R为大于等于1的整数;所述重构模块602还用于根据重构的与所述子根目录相邻的R级上级目录的元数据,将所述N个子目录树构建为一个目录树。
在上述实施例中,所述重构模块602具体用于若所述子目录树的子根目录的元数据中的上级目录ID包含至少一个第一目录的ID,所述第一目录的ID为与其他的子目录树的目录的ID相同,则确定所述子根目录的ID与第二目录的ID之间的目录ID为与所述子根目录相邻的R级上级目录;所述第二目录的ID为所述至少一个第一目录的ID中的层级最低的目录的ID;根据所述子根目录的元数据中的父目录路径信息,重构所述R级上级目录的元数据。
在上述实施例中,所述重构模块602具体用于针对所述R级上级目录中的第i级目录,确定所述子根目录的上级目录的ID中,所述子根目录与所述第i级目录之间的目录以及所述子根目录为所述第i级目录的子目录路径信息,确定所述子根目录的上级目录的ID中,所述第i级目录以上的目录为所述第i级目录的父目录路径信息;其中,所述i为大于等于1小于等于R的整数。
在上述实施例中,所述目录树中,第S级目录以下的目录中,每个目录的父目录路径信息中包含S级上级目录信息,所述S为大于等于2的整数;所述第S级目录以及第S级目录以上的目录的父目录路径信息中包含所有的上级目录信息。
本实施例的装置可用于执行图1所示方法实施例的技术方案,其实现原理类似,此处不再赘述。
本实施例,通过在每个目录的元数据中增加父目录路径信息,当目录树有元数据损坏时,通过处理模块遍历元数据,根据每个目录的元数据中的子目录路径信息,构建N个子目录树,然后,重构模块根据子目录树的子根目录的父目录路径信息,确定损坏的目录,根据子目录树的子根目录的父目录路径信息,重构与所述子根目录相邻的R级上级目录的元数据,即重构损坏的目录的元数据,根据重构的与所述子根目录相邻的R级上级目录的元数据,将所述N个子目录树构建为一个目录树。从而,还原原有的文件系统目录树,减小文件系统目录树损坏造成的影响。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (6)
1.一种文件系统目录树修复方法,其特征在于,包括:
遍历元数据,根据每个目录的元数据中的子目录路径信息,构建N个子目录树,所述子目录路径信息中包含当前目录的下级目录的标识ID,其中,所述元数据中包含父目录路径信息和所述子目录路径信息,所述父目录路径信息中包含当前目录的上级目录的ID,所述N为大于等于2的整数;
根据每个所述子目录树的子根目录的元数据中的父目录路径信息,重构与所述子根目录相邻的R级上级目录的元数据,所述子根目录为所述子目录树的根目录,所述R为大于等于1的整数;
根据重构的与所述子根目录相邻的R级上级目录的元数据,将所述N个子目录树构建为一个目录树;
所述根据每个所述子目录树的子根目录的元数据中的父目录路径信息,重构与所述子根目录相邻的R级上级目录的元数据,包括:
若所述子目录树的子根目录的元数据中的上级目录ID包含至少一个第一目录的ID,所述第一目录的ID为与其他的子目录树的目录的ID相同,则确定所述子根目录的ID与第二目录的ID之间的目录ID为与所述子根目录相邻的R级上级目录;所述第二目录的ID为所述至少一个第一目录的ID中的层级最低的目录的ID;
根据所述子根目录的元数据中的父目录路径信息,重构所述R级上级目录的元数据。
2.根据权利要求1所述的方法,其特征在于,所述根据所述子根目录的元数据中的父目录路径信息,重构所述R级上级目录的元数据,包括:
针对所述R级上级目录中的第i级目录,确定所述子根目录的上级目录的ID中,所述子根目录与所述第i级目录之间的目录以及所述子根目录为所述第i级目录的子目录路径信息,确定所述子根目录的上级目录的ID中,所述第i级目录以上的目录为所述第i级目录的父目录路径信息;
其中,所述i为大于等于1小于等于R的整数。
3.根据权利要求1~2任一项所述的方法,其特征在于,根据所述N个子目录树构建的目录树中,
第S级目录以下的目录中,每个目录的父目录路径信息中包含S级上级目录信息,所述S为大于等于2的整数;
所述第S级目录以及第S级目录以上的目录的父目录路径信息中包含所有的上级目录信息。
4.一种文件系统目录树修复装置,其特征在于,包括:
处理模块,用于遍历元数据,根据每个目录的元数据中的子目录路径信息,构建N个子目录树,所述子目录路径信息中包含当前目录的下级目录的标识ID,其中,所述元数据中包含父目录路径信息和所述子目录路径信息,所述父目录路径信息中包含当前目录的上级目录的ID,所述N为大于等于2的整数;
重构模块,用于根据每个所述子目录树的子根目录的元数据中的父目录路径信息,重构与所述子根目录相邻的R级上级目录的元数据,所述子根目录为所述子目录树的根目录,所述R为大于等于1的整数;
所述重构模块还用于根据重构的与所述子根目录相邻的R级上级目录的元数据,将所述N个子目录树构建为一个目录树;
所述重构模块具体用于若所述子目录树的子根目录的元数据中的上级目录ID包含至少一个第一目录的ID,所述第一目录的ID为与其他的子目录树的目录的ID相同,则确定所述子根目录的ID与第二目录的ID之间的目录ID为与所述子根目录相邻的R级上级目录;所述第二目录的ID为所述至少一个第一目录的ID中的层级最低的目录的ID;根据所述子根目录的元数据中的父目录路径信息,重构所述R级上级目录的元数据。
5.根据权利要求4所述的装置,其特征在于,所述重构模块具体用于针对所述R级上级目录中的第i级目录,确定所述子根目录的上级目录的ID中,所述子根目录与所述第i级目录之间的目录以及所述子根目录为所述第i级目录的子目录路径信息,确定所述子根目录的上级目录的ID中,所述第i级目录以上的目录为所述第i级目录的父目录路径信息;其中,所述i为大于等于1小于等于R的整数。
6.根据权利要求4~5任一项所述的装置,其特征在于,根据所述N个子目录树构建的目录树中,
第S级目录以下的目录中,每个目录的父目录路径信息中包含S级上级目录信息,所述S为大于等于2的整数;
所述第S级目录以及第S级目录以上的目录的父目录路径信息中包含所有的上级目录信息。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510701327.6A CN105607960B (zh) | 2015-10-26 | 2015-10-26 | 文件系统目录树修复方法和装置 |
EP16858944.8A EP3355194B1 (en) | 2015-10-26 | 2016-10-19 | File system directory tree repair method and device |
PCT/CN2016/102601 WO2017071509A1 (zh) | 2015-10-26 | 2016-10-19 | 文件系统目录树修复方法和装置 |
US15/962,659 US10817469B2 (en) | 2015-10-26 | 2018-04-25 | Method and apparatus for repairing file system directory tree |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510701327.6A CN105607960B (zh) | 2015-10-26 | 2015-10-26 | 文件系统目录树修复方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105607960A CN105607960A (zh) | 2016-05-25 |
CN105607960B true CN105607960B (zh) | 2018-12-07 |
Family
ID=55987913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510701327.6A Active CN105607960B (zh) | 2015-10-26 | 2015-10-26 | 文件系统目录树修复方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10817469B2 (zh) |
EP (1) | EP3355194B1 (zh) |
CN (1) | CN105607960B (zh) |
WO (1) | WO2017071509A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105607960B (zh) * | 2015-10-26 | 2018-12-07 | 成都华为技术有限公司 | 文件系统目录树修复方法和装置 |
CN106021466A (zh) * | 2016-05-17 | 2016-10-12 | 浙江大华技术股份有限公司 | 一种存储数据的方法及装置 |
CN106407313B (zh) * | 2016-08-30 | 2020-01-21 | 华为技术有限公司 | 一种目录过滤方法及设备 |
CN109117420A (zh) * | 2017-06-23 | 2019-01-01 | 百度在线网络技术(北京)有限公司 | 操作日志记录方法和装置 |
CN107861842B (zh) * | 2017-11-08 | 2021-10-15 | 郑州云海信息技术有限公司 | 一种元数据损坏检测方法、系统、设备及存储介质 |
JP7152636B2 (ja) * | 2017-12-26 | 2022-10-13 | 国立大学法人京都大学 | 通信装置及び通信方法 |
CN109729407A (zh) * | 2018-12-10 | 2019-05-07 | 视联动力信息技术股份有限公司 | 一种目录显示方法及装置 |
CN110321459A (zh) * | 2019-06-06 | 2019-10-11 | 武汉闻道复兴智能科技有限责任公司 | 一种搭建目录树的方法、目录树的展示方法和装置 |
CN110659257B (zh) * | 2019-09-05 | 2022-04-22 | 北京浪潮数据技术有限公司 | 一种元数据对象修复方法、装置、设备及可读存储介质 |
CN110807000B (zh) * | 2019-10-25 | 2022-06-10 | 北京达佳互联信息技术有限公司 | 一种文件修复方法、装置、电子设备和存储介质 |
CN111142803B (zh) * | 2019-12-29 | 2022-07-08 | 北京浪潮数据技术有限公司 | 一种元数据刷盘方法、装置、设备及介质 |
CN113626380B (zh) * | 2020-05-06 | 2024-04-05 | 浙江宇视科技有限公司 | 一种目录结构调整方法、装置、设备及存储介质 |
JP2022029976A (ja) * | 2020-08-06 | 2022-02-18 | 富士通株式会社 | メタデータ管理プログラム及び情報処理装置 |
CN112698976B (zh) * | 2020-12-24 | 2023-12-22 | 北京浪潮数据技术有限公司 | 一种元数据修复方法、装置、设备及介质 |
CN113742127B (zh) * | 2021-09-16 | 2023-07-07 | 重庆大学 | 一种裸闪存文件系统的故障恢复方法 |
US20240345995A1 (en) * | 2021-12-09 | 2024-10-17 | Intel Corporation | Apparatus, method and computer program for accessing an application software by a plurality of users |
CN114415971B (zh) * | 2022-03-25 | 2022-09-23 | 阿里云计算有限公司 | 数据处理方法以及装置 |
CN114625696B (zh) * | 2022-04-02 | 2024-09-27 | 重庆紫光华山智安科技有限公司 | 文件恢复方法、装置、电子设备及存储介质 |
CN115600557B (zh) * | 2022-11-29 | 2023-03-21 | 明度智云(浙江)科技有限公司 | 目录数据处理方法、装置、电子设备及存储介质 |
CN117435384B (zh) * | 2023-12-14 | 2024-04-16 | 中电云计算技术有限公司 | 目录修复方法、装置、设备及可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1786944A (zh) * | 2004-12-11 | 2006-06-14 | 鸿富锦精密工业(深圳)有限公司 | 重建树状文件目录结构的系统及方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5875444A (en) * | 1996-12-10 | 1999-02-23 | International Business Machines Corporation | Computer file system check and repair utility |
US6208999B1 (en) * | 1996-12-12 | 2001-03-27 | Network Associates, Inc. | Recoverable computer file system with a signature area containing file integrity information located in the storage blocks |
US20070005874A1 (en) * | 2005-07-01 | 2007-01-04 | Dan Dodge | File system storing transaction records in flash-like media |
US7707193B2 (en) * | 2005-09-22 | 2010-04-27 | Netapp, Inc. | System and method for verifying and restoring the consistency of inode to pathname mappings in a filesystem |
CN100429628C (zh) * | 2006-09-19 | 2008-10-29 | 珠海金山软件股份有限公司 | Ntfs卷中重建目录结构和恢复数据的方法 |
CN101162459A (zh) * | 2006-10-13 | 2008-04-16 | 上海万安电子科技有限公司 | 嵌入式文件系统 |
US7941709B1 (en) * | 2007-09-28 | 2011-05-10 | Symantec Corporation | Fast connectivity recovery for a partitioned namespace |
CN101630322B (zh) * | 2009-08-26 | 2011-04-13 | 中国人民解放军信息工程大学 | 树形目录结构下的文件集在数据库中的存储和访问方法 |
US8504792B2 (en) * | 2009-12-22 | 2013-08-06 | Apple Inc. | Methods and apparatuses to allocate file storage via tree representations of a bitmap |
US9043637B2 (en) * | 2010-12-14 | 2015-05-26 | Hitachi, Ltd. | Failure recovery method in information processing system and information processing system |
US9990253B1 (en) * | 2011-03-31 | 2018-06-05 | EMC IP Holding Company LLC | System and method for recovering file systems without a replica |
CN102226893B (zh) * | 2011-05-21 | 2013-01-23 | 浙江工业大学 | 一种嵌入式系统中fat文件系统修复方法 |
US9547549B2 (en) * | 2013-01-16 | 2017-01-17 | Microsoft Technology Licensing, Llc | Handling file system corruption |
US9471595B1 (en) * | 2013-09-30 | 2016-10-18 | Emc Corporation | Recovering file mapping information in file systems |
CN103744961B (zh) * | 2014-01-06 | 2016-10-19 | 清华大学 | 用可重构的文件系统目录树提高非易失性存储寿命的方法 |
CN104199888B (zh) * | 2014-08-25 | 2017-08-01 | 厦门市美亚柏科信息股份有限公司 | 弹性文件系统的数据恢复方法和装置 |
WO2016073029A1 (en) * | 2014-11-03 | 2016-05-12 | Hewlett Packard Enterprise Development Lp | Detecting inconsistencies in hierarchical organization directories |
CN105607960B (zh) * | 2015-10-26 | 2018-12-07 | 成都华为技术有限公司 | 文件系统目录树修复方法和装置 |
-
2015
- 2015-10-26 CN CN201510701327.6A patent/CN105607960B/zh active Active
-
2016
- 2016-10-19 WO PCT/CN2016/102601 patent/WO2017071509A1/zh active Application Filing
- 2016-10-19 EP EP16858944.8A patent/EP3355194B1/en active Active
-
2018
- 2018-04-25 US US15/962,659 patent/US10817469B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1786944A (zh) * | 2004-12-11 | 2006-06-14 | 鸿富锦精密工业(深圳)有限公司 | 重建树状文件目录结构的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3355194A4 (en) | 2018-12-05 |
US20180239774A1 (en) | 2018-08-23 |
US10817469B2 (en) | 2020-10-27 |
EP3355194B1 (en) | 2020-07-08 |
CN105607960A (zh) | 2016-05-25 |
WO2017071509A1 (zh) | 2017-05-04 |
EP3355194A1 (en) | 2018-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105607960B (zh) | 文件系统目录树修复方法和装置 | |
CN106844089A (zh) | 一种用于恢复树形数据存储的方法与设备 | |
CN103973810B (zh) | 基于互联网协议ip盘的数据处理方法和装置 | |
US20140188893A1 (en) | Data retrieval apparatus, data storage method and data retrieval method | |
US11307049B2 (en) | Methods, apparatuses, systems, and storage media for storing and loading visual localization maps | |
CN104239443B (zh) | 一种序列化数据操作日志的存储方法 | |
CN103049354B (zh) | 数据修复方法、数据修复装置以及存储系统 | |
CN107111460A (zh) | 使用块文件的重复数据删除 | |
CN105630919A (zh) | 存储方法及系统 | |
CN110380985A (zh) | 基于交易链路的流量控制方法、装置、设备及存储介质 | |
CN107977285A (zh) | 一种纠删码存储机制的数据修改方法、装置及介质 | |
CN108509495A (zh) | 地震数据的处理方法及装置、存储介质、处理器 | |
CN106156356A (zh) | 基于xml的oais信息封装方法及系统 | |
CN105956163A (zh) | 图形数据库的管理方法和装置 | |
CN104462157B (zh) | 一种文本数据二次结构化的方法及装置 | |
CN104750743A (zh) | 一种交易文件勾对系统和方法 | |
CN104572921B (zh) | 一种跨数据中心的数据同步方法和装置 | |
CN104821829B (zh) | 一种哈夫曼树保存方法及系统 | |
CN110097321A (zh) | 网络模型生成方法及装置、计算机可读介质、物流系统 | |
CN107480010A (zh) | 一种恢复元数据的方法及装置 | |
CN106202121B (zh) | 数据存储及导出的方法和设备 | |
US20140214899A1 (en) | Leaf names and relative level indications for file system objects | |
CN104572420A (zh) | 一种信息处理方法及系统 | |
JP5528644B2 (ja) | 記憶域削減のためのデータ・パケットの作成および変更に関する方法、コンピュータ・システム、およびコンピュータ・プログラム(製品)(メモリ節約パケット変更) | |
CN110008281A (zh) | 一种基于Redis数据库可视化数据的处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |