CN110659257B - 一种元数据对象修复方法、装置、设备及可读存储介质 - Google Patents
一种元数据对象修复方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN110659257B CN110659257B CN201910838323.0A CN201910838323A CN110659257B CN 110659257 B CN110659257 B CN 110659257B CN 201910838323 A CN201910838323 A CN 201910838323A CN 110659257 B CN110659257 B CN 110659257B
- Authority
- CN
- China
- Prior art keywords
- target
- directory
- metadata object
- file
- value pair
- 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
Images
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/18—File system types
- G06F16/182—Distributed 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/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种元数据对象修复方法,包括:获取目标文件,根据目标文件的标识信息查询目标文件的存储路径;分别判断每个目标目录的元数据对象是否存在;若否,则创建目标目录的元数据对象,并将根据目标目录包括的目录和/或文件计算获得的目标键值对添加至元数据对象。本申请可根据分布式存储***中的任一个文件确定其存储路径,并在存储路径中的任一个目录的元数据对象不存在时,根据该目录包括的目录和/或文件计算获得目标键值对,将目标键值对添加至为该目录新创建的元数据对象,即完成了当前目录的元数据对象的修复,从而提高了分布式存储***的服务性能。本申请公开的元数据对象修复装置、设备及可读存储介质,同样具有上述技术效果。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种元数据对象修复方法、装置、设备及可读存储介质。
背景技术
分布式存储***中存储的数据包括:元数据和数据。元数据用于描述目录或文件的属性信息,数据就是文件里的数据和内容。其中,文件的存储路径中的每个目录都有自己的元数据对象,如果一个目录的元数据对象丢失或损坏,那么此目录包括的子目录或文件将无法被访问,从而降低了分布式存储***的服务性能,影响了用户的访问体验。
因此,如何修复目录的元数据对象,是本领域技术人员需要解决的问题。
发明内容
有鉴于此,本申请的目的在于提供一种元数据对象修复方法、装置、设备及可读存储介质,以修复目录的元数据对象。其具体方案如下:
第一方面,本申请提供了一种元数据对象修复方法,包括:
获取目标文件,目标文件为分布式存储***中的任一个文件;
根据目标文件的标识信息查询目标文件的存储路径;
分别判断每个目标目录的元数据对象是否存在,目标目录为存储路径中的任一个目录;
若否,则创建目标目录的元数据对象,并将目标键值对添加至元数据对象;目标键值对根据目标目录包括的目录和/或文件计算获得。
优选地,还包括:
若目标目录的元数据对象存在,则判断元数据对象中是否记录有目标键值对;
若否,则执行将目标键值对添加至元数据对象的步骤。
优选地,分别判断每个目标目录的元数据对象是否存在,包括:
从存储路径中的底层目录至根目录,分别判断每个目标目录的元数据对象是否存在。
优选地,若目标目录为目标文件的父目录,则将目标键值对添加至元数据对象,包括:
获取目标文件的名称、大小和修改时间;
根据名称、大小和修改时间计算key-value形式的目标键值对;
将key-value形式的目标键值对添加至元数据对象。
优选地,获取目标文件的名称、大小和修改时间,包括:
获取目标文件的名称;
根据标识信息确定目标文件对应的所有对象;
根据目标文件对应的所有对象的大小计算目标文件的大小,并将所有对象中记录的最新修改时间确定为修改时间。
优选地,若目标目录不是目标文件的父目录,则将目标键值对添加至元数据对象,包括:
获取目标目录在存储路径中包括的子目录的名称和预设目标值;
根据子目录的名称和预设目标值计算key-value形式的目标键值对;
将key-value形式的目标键值对添加至元数据对象。
优选地,将目标键值对添加至元数据对象之后,还包括:
判断目标键值对是否与文件相对应;
若是,则控制元数据对象中记录与文件对应的目标键值对数量的标志位加一;
若否,则控制元数据对象中记录与目录对应的目标键值对数量的标志位加一。
第二方面,本申请提供了一种元数据对象修复装置,包括:
获取模块,用于获取目标文件,目标文件为分布式存储***中的任一个文件;
查询模块,用于根据目标文件的标识信息查询目标文件的存储路径;
判断模块,用于分别判断每个目标目录的元数据对象是否存在,目标目录为存储路径中的任一个目录;
修复模块,用于若目标目录的元数据对象不存在,则创建目标目录的元数据对象,并将目标键值对添加至元数据对象;目标键值对根据目标目录包括的目录或文件计算获得。
第三方面,本申请提供了一种元数据对象修复设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序,以实现前述公开的元数据对象修复方法。
第四方面,本申请提供了一种可读存储介质,用于保存计算机程序,其中,计算机程序被处理器执行时实现前述公开的元数据对象修复方法。
通过以上方案可知,本申请提供了一种元数据对象修复方法,包括:获取目标文件,目标文件为分布式存储***中的任一个文件;根据目标文件的标识信息查询目标文件的存储路径;分别判断每个目标目录的元数据对象是否存在,目标目录为存储路径中的任一个目录;若否,则创建目标目录的元数据对象,并将目标键值对添加至元数据对象;目标键值对根据目标目录包括的目录和/或文件计算获得。
可见,该方法可根据分布式存储***中的任一个文件确定其存储路径,并在存储路径中的任一个目录的元数据对象不存在时,可根据该目录包括的目录和/或文件计算获得相应的目标键值对,并将目标键值对添加至为该目录新创建的元数据对象中,从而完成了当前目录的元数据对象的修复。如此便可修复分布式存储***中的每个文件的存储路径上的每个目录的元数据对象,从而修复所有目录的元数据对象,从而解决了由于目录元数据损坏导致的文件无法访问的技术问题,从而提高了分布式存储***的服务性能,优化了用户的访问体验。
相应地,本申请提供的一种元数据对象修复装置、设备及可读存储介质,也同样具有上述技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的第一种元数据对象修复方法流程图;
图2为本申请公开的第二种元数据对象修复方法流程图;
图3为本申请公开的一种元数据对象修复装置示意图;
图4为本申请公开的一种元数据对象修复设备示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,当分布式存储***中的目录的元数据对象损坏时,该目录下包括的文件将无法被访问,从而影响了用户的访问体验。为此,本申请提供了一种元数据对象修复方案,能够解决由于目录元数据损坏导致的文件无法访问的技术问题,提高分布式存储***的服务性能,优化用户的访问体验。
参见图1所示,本申请实施例公开了第一种元数据对象修复方法,包括:
S101、获取目标文件,目标文件为分布式存储***中的任一个文件;
S102、根据目标文件的标识信息查询目标文件的存储路径;
S103、分别判断存储路径中的每个目标目录的元数据对象是否存在;若是,则执行S106;若否,则执行S104;
其中,目标目录为存储路径中的任一个目录。
S104、创建目标目录的元数据对象;
S105、将目标键值对添加至元数据对象;
其中,目标键值对根据目标目录包括的目录和/或文件计算获得。
S106、判断元数据对象中是否记录有目标键值对;若是,则执行S101;若否,则执行S105。
针对分布式存储***中的任一个文件,均可以按照本实施例提供的方法修复其对应的存储路径上的目录的元数据对象,因此当某一存储路径上的所有目录的元数据对象均被检测完,可另选一个文件继续执行本实施例公开的方法,直至分布式存储***中的文件全部被遍历到。
在一种具体实施方式中,分别判断每个目标目录的元数据对象是否存在,包括:从存储路径中的底层目录至根目录,分别判断每个目标目录的元数据对象是否存在。也就是可以从存储路径中的底层目录开始,逐个对每个目录进行判断,直至存储路径中的根目录。例如:当目标文件的存储路径的存储路径为/A/B/C时,“/”为根目录,“C”即为目标文件,“B”即为目标文件的父目录。
其中,若目标目录为目标文件的父目录,则将目标键值对添加至元数据对象,包括:获取目标文件的名称、大小和修改时间;根据名称、大小和修改时间计算key-value形式的目标键值对;将key-value形式的目标键值对添加至元数据对象。也就是说,当目标目录为目标文件的父目录时,目标目录的元数据对象中记录的目标键值对即为根据目标文件的名称、大小和修改时间计算获得的key-value键值对。其中,key为目标文件的名称,value为目标文件的元数据信息。key-value键值对的具体计算过程可参见现有技术,故本实施例在此不再赘述。
具体的,获取目标文件的名称、大小和修改时间,包括:获取目标文件的名称;根据标识信息确定目标文件对应的所有对象;根据目标文件对应的所有对象的大小计算目标文件的大小,并将所有对象中记录的最新修改时间确定为修改时间。目标文件的名称和目录的名称可从存储路径中获取。
其中,若目标目录不是目标文件的父目录,则将目标键值对添加至元数据对象,包括:获取目标目录在存储路径中包括的子目录的名称和预设目标值;根据子目录的名称和预设目标值计算key-value形式的目标键值对;将key-value形式的目标键值对添加至元数据对象。。
需要说明的是,目标目录的元数据对象中记录的目标键值对与目标目录下包括的文件或子目录分别对应。即有几个文件或子目录,元数据对象中就记录有几个目标键值对。其中,key为目标目录下包括的文件或子目录的名称,当目标目录下包括文件时,value即为文件的元数据信息;当目标目录下包括子目录时,value为该子目录的元数据信息。
在本实施例提供的修复方法中,为了修复目标目录的元数据对象,目标目录下包括的子目录对应的value用预设目标值代替。
需要说明的是,由于本次流程只针对当前存储路径,因此当目标目录不是目标文件的父目录时,目标目录在当前存储路径中仅包括一个子目录,因此仅将当前存储路径中包括的目标目录的子目录对应的目标键值对添加至目标目录的元数据对象。目标目录的元数据对象中需要包括的其他子目录或文件对应的目标键值对暂不做处理,待下次遍历到的文件所在的存储路径中包括这些子目录或文件时,再做处理。
需要说明的是,元数据对象中设有记录文件对应的目标键值对数量的标志位和记录目录对应的目标键值对数量的标志位,因此往元数据对象中添加一个目标键值对,可根据当前添加的目标键值对更新相应的标志位。也就是将目标键值对添加至元数据对象之后,判断目标键值对是否与文件相对应;若是,则控制元数据对象中记录与文件对应的目标键值对数量的标志位加一;若否,则控制元数据对象中记录与目录对应的目标键值对数量的标志位加一。当然,还可以将“判断目标键值对是否与文件相对应”替换为“判断目标键值对是否与目录相对应”,其后续处理步骤做适应性修改即可。
可见,本实施例可根据分布式存储***中的任一个文件确定其存储路径,并在存储路径中的任一个目录的元数据对象不存在时,可根据该目录包括的目录和/或文件计算获得相应的目标键值对,并将目标键值对添加至为该目录新创建的元数据对象中,从而完成了当前目录的元数据对象的修复。如此便可修复分布式存储***中的每个文件的存储路径上的每个目录的元数据对象,从而修复所有目录的元数据对象,从而解决了由于目录元数据损坏导致的文件无法访问的技术问题,从而提高了分布式存储***的服务性能,优化了用户的访问体验。
参见图2所示,本申请实施例公开了第二种元数据对象修复方法,包括:
S201、获取目标文件,目标文件为分布式存储***中的任一个文件;
S202、根据目标文件的标识信息查询目标文件的存储路径;
其中,目标文件的标识信息可以为inode号。
S203、判断存储路径中的目标文件的父目录的元数据对象是否存在;若是,则执行S206;若否,则执行S204;
S204、创建父目录的元数据对象;
S205、将目标键值对添加至元数据对象;
其中,目标文件的父目录的元数据对象中记录的目标键值对为根据目标文件的名称、大小和修改时间计算获得的key-value键值对。具体的,目标文件的大小可按照如下过程确定:查询目标文件对应的n个对象,那么目标文件的size=X×(n-1)+sizen,其中,X为分布式存储***预设的每个对象的大小,sizen为第n个对象的大小。具体的,每个对象上记录有当前对象的修改时间,对比这些修改时间,将最新修改时间确定为目标文件的修改时间。其中,确定得到的目标文件的大小和修改时间可以以xattr属性的形式记录在第一个对象上。
S206、判断元数据对象中是否记录有目标键值对;若是,则执行S207;若否,则执行S205;
S207、判断父目录在存储路径中是否存在上层目录;若是,则执行S208;若否,则执行S201;
S208、将上层目录作为父目录,并执行S203。
在本实施例中,S203-S208即为S103的具体实现步骤。需要说明的是,本实施例中的实现步骤与上述实施例相同或类似,必要时可相互参照。
为了更清楚地说明本实施例提供的方法,现举例如下:
假设C文件的路径为/A/B/C,“/”为根目录,则目录B的元数据对象中记录着文件C对应的key-value键值对,key为C的文件名,value为C的元数据信息。同样,目录A的元数据对象中记录着目录B对应的key-value键值对,key为B的目录名,value为B的元数据信息。
那么具体后修复过程如下:针对文件C,查询到C的路径为/A/B/C。C的父目录为B,则判断B的元数据对象是否存在;若存在,则判断B的元数据对象是否完整(即判断B的元数据对象中是否有C对应的key-value键值对);若完整,则对B的上层目录A进行判断,直至检查到根目录。一个文件的存储路径检查完毕,再去检查下一个文件的存储路径上的目录,直到所有文件和目录都检查完毕,则流程退出,元数据修复完毕。
若B的元数据对象不完整,则根据C的名称、大小和修改时间计算C对应的key-value键值对,并添加至B的元数据对象中;若B的元数据对象不存在,则根据C的名称、大小和修改时间计算C对应的key-value键值对,并添加至为B新创建的元数据对象中。
由上可见,本实施例可根据分布式存储***中的任一个文件确定其存储路径,并在存储路径中的任一个目录的元数据对象不存在时,可根据该目录包括的目录和/或文件计算获得相应的目标键值对,并将目标键值对添加至为该目录新创建的元数据对象中,从而完成了当前目录的元数据对象的修复。如此便可修复分布式存储***中的每个文件的存储路径上的每个目录的元数据对象,从而修复所有目录的元数据对象,从而解决了由于目录元数据损坏导致的文件无法访问的技术问题,从而提高了分布式存储***的服务性能,优化了用户的访问体验。
下面对本申请实施例提供的一种元数据对象修复装置进行介绍,下文描述的一种元数据对象修复装置与上文描述的一种元数据对象修复方法可以相互参照。
参见图3所示,本申请实施例公开了一种元数据对象修复装置,包括:
获取模块301,用于获取目标文件,目标文件为分布式存储***中的任一个文件;
查询模块302,用于根据目标文件的标识信息查询目标文件的存储路径;
判断模块303,用于分别判断每个目标目录的元数据对象是否存在,目标目录为存储路径中的任一个目录;
修复模块304,用于若目标目录的元数据对象不存在,则创建目标目录的元数据对象,并将目标键值对添加至元数据对象;目标键值对根据目标目录包括的目录或文件计算获得。
在一种具体实施方式中,元数据对象修复装置还包括:
目标键值对判断模块,用于若目标目录的元数据对象存在,则判断元数据对象中是否记录有目标键值对;
执行模块,用于若元数据对象中未记录目标键值对,则执行将目标键值对添加至元数据对象的步骤。
在一种具体实施方式中,判断模块具体用于:
从存储路径中的底层目录至根目录,分别判断每个目标目录的元数据对象是否存在。
在一种具体实施方式中,若目标目录为目标文件的父目录,则修复模块包括:
第一获取单元,用于获取目标文件的名称、大小和修改时间;
第一计算单元,用于根据名称、大小和修改时间计算key-value形式的目标键值对;
第一添加单元,用于将key-value形式的目标键值对添加至元数据对象。
在一种具体实施方式中,第一获取单元包括:
获取子单元,用于获取目标文件的名称;
确定子单元,用于根据目标文件对应的所有对象的大小计算目标文件的大小,并将所有对象中记录的最新修改时间确定为修改时间。
在一种具体实施方式中,若目标目录不是目标文件的父目录,则修复模块包括:
第二获取单元,用于获取目标目录在存储路径中包括的子目录的名称和预设目标值;
第二计算单元,用于根据子目录的名称和预设目标值计算key-value形式的目标键值对;
第二添加单元,用于将key-value形式的目标键值对添加至元数据对象。
在一种具体实施方式中,元数据对象修复装置还包括:
目标键值对判断模块,用于判断目标键值对是否与文件相对应;
第一控制模块,用于若目标键值对与文件相对应,则控制元数据对象中记录与文件对应的目标键值对数量的标志位加一;
第二控制模块,用于若目标键值对与文件不对应,则控制元数据对象中记录与目录对应的目标键值对数量的标志位加一。
其中,关于本实施例中各个模块、单元更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本实施例提供了一种元数据对象修复装置,包括:获取模块、查询模块、判断模块以及修复模块。首先由获取模块获取目标文件,目标文件为分布式存储***中的任一个文件;然后查询模块根据目标文件的标识信息查询目标文件的存储路径;进而判断模块分别判断每个目标目录的元数据对象是否存在,目标目录为存储路径中的任一个目录;最后修复模块若目标目录的元数据对象不存在,则创建目标目录的元数据对象,并将目标键值对添加至元数据对象;目标键值对根据目标目录包括的目录或文件计算获得。如此各个模块之间分工合作,各司其职,从而解决了由于目录元数据损坏导致的文件无法访问的技术问题,提高了分布式存储***的服务性能,优化了用户的访问体验。
下面对本申请实施例提供的一种元数据对象修复设备进行介绍,下文描述的一种元数据对象修复设备与上文描述的一种元数据对象修复方法及装置可以相互参照。
参见图4所示,本申请实施例公开了一种元数据对象修复设备,包括:
存储器401,用于保存计算机程序;
处理器402,用于执行所述计算机程序,以实现上述任意实施例公开的方法。
下面对本申请实施例提供的一种可读存储介质进行介绍,下文描述的一种可读存储介质与上文描述的一种元数据对象修复方法、装置及设备可以相互参照。
一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的元数据对象修复方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请涉及的“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法或设备固有的其它步骤或单元。
需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的可读存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种元数据对象修复方法,其特征在于,包括:
获取目标文件,所述目标文件为分布式存储***中的任一个文件;
根据所述目标文件的标识信息查询所述目标文件的存储路径;
分别判断存储路径中的每个目标目录的元数据对象是否存在,所述目标目录为所述存储路径中的任一个目录;
若否,则创建所述目标目录的元数据对象,并将目标键值对添加至所述元数据对象;所述目标键值对根据所述目标目录包括的目录和/或文件计算获得。
2.根据权利要求1所述的元数据对象修复方法,其特征在于,还包括:
若所述目标目录的元数据对象存在,则判断所述元数据对象中是否记录有所述目标键值对;
若否,则执行所述将目标键值对添加至所述元数据对象的步骤。
3.根据权利要求1或2所述的元数据对象修复方法,其特征在于,所述分别判断存储路径中的每个目标目录的元数据对象是否存在,包括:
从所述存储路径中的底层目录至根目录,分别判断存储路径中的每个目标目录的元数据对象是否存在。
4.根据权利要求3所述的元数据对象修复方法,其特征在于,若所述目标目录为所述目标文件的父目录,则所述将目标键值对添加至所述元数据对象,包括:
获取所述目标文件的名称、大小和修改时间;
根据所述名称、所述大小和所述修改时间计算key-value形式的目标键值对;
将所述key-value形式的目标键值对添加至所述元数据对象。
5.根据权利要求4所述的元数据对象修复方法,其特征在于,所述获取所述目标文件的名称、大小和修改时间,包括:
获取所述目标文件的名称;
根据所述标识信息确定所述目标文件对应的所有对象;
根据所述目标文件对应的所有对象的大小计算所述目标文件的大小,并将所有对象中记录的最新修改时间确定为所述修改时间。
6.根据权利要求3所述的元数据对象修复方法,其特征在于,若所述目标目录不是所述目标文件的父目录,则所述将目标键值对添加至所述元数据对象,包括:
获取所述目标目录在所述存储路径中包括的子目录的名称和预设目标值;
根据所述子目录的名称和所述预设目标值计算key-value形式的目标键值对;
将所述key-value形式的目标键值对添加至所述元数据对象。
7.根据权利要求1所述的元数据对象修复方法,其特征在于,所述将目标键值对添加至所述元数据对象之后,还包括:
判断所述目标键值对是否与文件相对应;
若是,则控制所述元数据对象中记录与文件对应的目标键值对数量的标志位加一;
若否,则控制所述元数据对象中记录与目录对应的目标键值对数量的标志位加一。
8.一种元数据对象修复装置,其特征在于,包括:
获取模块,用于获取目标文件,所述目标文件为分布式存储***中的任一个文件;
查询模块,用于根据所述目标文件的标识信息查询所述目标文件的存储路径;
判断模块,用于分别判断存储路径中的每个目标目录的元数据对象是否存在,所述目标目录为所述存储路径中的任一个目录;
修复模块,用于若目标目录的元数据对象不存在,则创建所述目标目录的元数据对象,并将目标键值对添加至所述元数据对象;所述目标键值对根据所述目标目录包括的目录或文件计算获得。
9.一种元数据对象修复设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的元数据对象修复方法。
10.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的元数据对象修复方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910838323.0A CN110659257B (zh) | 2019-09-05 | 2019-09-05 | 一种元数据对象修复方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910838323.0A CN110659257B (zh) | 2019-09-05 | 2019-09-05 | 一种元数据对象修复方法、装置、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110659257A CN110659257A (zh) | 2020-01-07 |
CN110659257B true CN110659257B (zh) | 2022-04-22 |
Family
ID=69036724
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910838323.0A Active CN110659257B (zh) | 2019-09-05 | 2019-09-05 | 一种元数据对象修复方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110659257B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858477B (zh) * | 2020-07-24 | 2022-12-23 | 苏州浪潮智能科技有限公司 | 分布式存储的对象目录分配方法、***、终端及存储介质 |
CN111966691B (zh) * | 2020-08-24 | 2022-12-16 | 苏州浪潮智能科技有限公司 | 一种分布式存储***快速查询对象所属目录的配置方法及*** |
CN112698976B (zh) * | 2020-12-24 | 2023-12-22 | 北京浪潮数据技术有限公司 | 一种元数据修复方法、装置、设备及介质 |
CN113032356B (zh) * | 2021-03-31 | 2023-05-26 | 中电科航空电子有限公司 | 一种客舱分布式文件存储***及实现方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105607960A (zh) * | 2015-10-26 | 2016-05-25 | 成都华为技术有限公司 | 文件***目录树修复方法和装置 |
CN109933570A (zh) * | 2019-03-15 | 2019-06-25 | 中山大学 | 一种元数据管理方法、***及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103902632B (zh) * | 2012-12-31 | 2018-01-02 | 华为技术有限公司 | 键值存储***中构建文件***的方法、装置及电子设备 |
US10437813B2 (en) * | 2016-02-01 | 2019-10-08 | Dell Products L.P. | Self-healing of layer metadata within a layering system |
-
2019
- 2019-09-05 CN CN201910838323.0A patent/CN110659257B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105607960A (zh) * | 2015-10-26 | 2016-05-25 | 成都华为技术有限公司 | 文件***目录树修复方法和装置 |
CN109933570A (zh) * | 2019-03-15 | 2019-06-25 | 中山大学 | 一种元数据管理方法、***及介质 |
Non-Patent Citations (1)
Title |
---|
"基于MongoDB的元数据管理研究";徐旭平 等;《信息技术》;20180823;第87-93页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110659257A (zh) | 2020-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110659257B (zh) | 一种元数据对象修复方法、装置、设备及可读存储介质 | |
CN111125447A (zh) | 一种元数据访问方法、装置、设备及可读存储介质 | |
RU2565109C2 (ru) | Способ и устройство для восстановления резервной базы данных | |
CN110928497A (zh) | 一种元数据处理方法、装置、设备及可读存储介质 | |
CN110888837B (zh) | 对象存储小文件归并方法及装置 | |
CN110765076A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN109213450B (zh) | 一种基于闪存阵列的关联元数据删除方法、装置及设备 | |
CN107832455B (zh) | 一种存储对象的数据获取方法、***、设备及存储介质 | |
CN111432041A (zh) | 域名采集方法、***、终端及计算机可读存储介质 | |
CN107741968B (zh) | 一种文件检索的方法、***、装置及计算机可读存储介质 | |
CN106909514B (zh) | 一种快照盘地址的定位方法及装置 | |
CN111552438B (zh) | 一种对象写入的方法、装置、服务器和存储介质 | |
CN110647507B (zh) | 一种文件***写状态确定方法、装置、电子设备及介质 | |
CN110704573B (zh) | 目录存储方法、装置、计算机设备及存储介质 | |
CN104318960A (zh) | 一种硬盘坏道的修复方法及装置 | |
CN107315806B (zh) | 一种基于文件***的嵌入式存储方法和装置 | |
CN111881281A (zh) | 一种日志处理方法、装置、设备、介质 | |
CN113885789A (zh) | 元数据修复后校验数据一致性的方法、***、设备及介质 | |
CN110704244B (zh) | 一种磁盘离线处理方法、装置、设备及可读存储介质 | |
CN110704412A (zh) | 一种元数据修复方法、装置、设备及存储介质 | |
CN108984780B (zh) | 基于支持重复键值树数据结构管理磁盘数据的方法和装置 | |
CN113535470A (zh) | 组态备份方法、装置、电子设备和存储介质 | |
CN107526649B (zh) | 分区修复方法、装置及电子设备 | |
CN107301073B (zh) | 一种基于固态硬盘***的配置信息检索方法及其装置 | |
CN111833438B (zh) | 一种三维模型打断参考的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |