CN116756096B - 元数据处理方法、装置、电子设备及存储介质 - Google Patents
元数据处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116756096B CN116756096B CN202311064170.1A CN202311064170A CN116756096B CN 116756096 B CN116756096 B CN 116756096B CN 202311064170 A CN202311064170 A CN 202311064170A CN 116756096 B CN116756096 B CN 116756096B
- Authority
- CN
- China
- Prior art keywords
- metadata
- file
- queried
- directory
- information
- 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/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- 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
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及服务器技术领域,提供一种元数据处理方法、装置、电子设备及存储介质,所述方法包括:接收客户端发送的第一元数据处理请求;对所述第一元数据处理请求进行解析,确定所述第一元数据处理请求中携带待查询文件的上级目录的索引节点信息;基于所述索引节点信息,确定所述待查询文件的归属元数据服务信息;基于所述待查询文件的归属元数据服务信息,获取所述待查询文件的目标元数据,向所述客户端发送所述目标元数据。本发明无需根据客户端发送的请求进行逐层目录查询,因此简化了元数据处理的整体流程,缩短了元数据的处理时延,提高了元数据处理效率。
Description
技术领域
本发明涉及服务器技术领域,尤其涉及一种元数据处理方法、装置、电子设备及存储介质。
背景技术
在多协议融合互通场景下,对象存储采用扁平化的结构管理所有桶(Bucket)和对象,每个桶和对象都有一个全局唯一的ID,根据ID可快速实现对象的查找和数据的访问。
目前,对于元数据处理请求,如HEAD /A/B/file1请求,需要按照A-B-file1的顺序进行查询,即逐层目录查询,从而获取对象的归属元数据服务(Metadata service,mds),这种方式处理起来较为复杂,需要多次查询不同层级的mds,使元数据处理时延较长。
发明内容
本发明提供一种元数据处理方法、装置、电子设备及存储介质,用以解决现有技术中元数据处理时延较长的缺陷,实现提高元数据处理的效率。
本发明提供一种元数据处理方法,应用于存储接入节点,所述方法包括:
接收客户端发送的第一元数据处理请求;
对所述第一元数据处理请求进行解析,确定所述第一元数据处理请求中携带待查询文件的上级目录的索引节点信息;
基于所述索引节点信息,确定所述待查询文件的归属元数据服务信息;
基于所述待查询文件的归属元数据服务信息,获取所述待查询文件的目标元数据,向所述客户端发送所述目标元数据。
根据本发明提供的一种元数据处理方法,所述方法还包括:
接收所述客户端发送的元数据查询请求,所述元数据查询请求为所述客户端首次发送的、用于请求查询所述待查询文件的元数据的请求;
基于所述元数据查询请求进行逐层目录查询,得到所述待查询文件对应的各个层级的归属元数据服务信息以及各个层级的元数据;
基于所述待查询文件对应的各个层级的归属元数据服务信息,确定所述待查询文件的上级目录的索引节点信息;
将所述待查询文件的上级目录的索引节点信息发送至所述客户端,以供所述客户端缓存所述待查询文件的上级目录的索引节点信息。
根据本发明提供的一种元数据处理方法,所述基于所述索引节点信息,确定所述待查询文件的归属元数据服务信息,包括:
基于所述索引节点信息确定第一哈希值;
基于一致性哈希算法将所述第一哈希值映射到第一元数据服务信息,将所述第一元数据服务信息作为所述待查询文件的归属元数据服务信息。
根据本发明提供的一种元数据处理方法,所述基于所述索引节点信息,确定所述待查询文件的归属元数据服务信息,包括:
基于所述索引节点信息和所述待查询文件的文件名确定第二哈希值;
基于一致性哈希算法将所述第二哈希值映射到第二元数据服务信息,将所述第二元数据服务信息作为所述待查询文件的归属元数据服务信息。
根据本发明提供的一种元数据处理方法,所述方法还包括:
接收客户端发送的第二元数据处理请求,所述第二元数据处理请求用于请求查询所述待查询文件的元数据,且所述第二元数据处理请求中未携带待查询文件的上级目录的索引节点信息;
对第二元数据处理请求进行逐层目录查询,得到所述待查询文件对应的各个层级的归属元数据服务信息,以及各个层级的元数据;
将最后一个层级的元数据返回给所述客户端。
根据本发明提供的一种元数据处理方法,所述基于所述元数据查询请求进行逐层目录查询,得到所述待查询文件对应的各个层级的归属元数据服务信息以及各个层级的元数据,包括:
基于所述元数据查询请求确定所述待查询文件的根目录以及至少两层父目录,所述至少两层父目录包括第一层父目录和第二层父目录,所述第二层父目录为所述待查询文件的上层目录;
根据所述根目录、第一层父目录以及第二层父目录的层级关系,依次获取所述第一层父目录的第一归属元数据服务信息,所述第二层父目录的第二归属元数据服务信息,以及所述待查询文件的第三归属元数据服务信息。
根据本发明提供的一种元数据处理方法,所述根据所述根目录、第一层父目录以及第二层父目录的层级关系,依次获取所述第一层父目录的第一归属元数据服务信息,所述第二层父目录的第二归属元数据服务信息,以及所述待查询文件的第三归属元数据服务信息,包括:
确定所述根目录的索引节点信息,基于所述根目录的索引节点信息确定所述第一层父目录的所述第一归属元数据服务信息,基于所述第一归属元数据服务信息查询所述第一层父目录的第一元数据;
基于所述第一元数据确定所述第一层父目录的索引节点信息,基于所述第一层父目录的索引节点信息确定所述第二层父目录的第二归属元数据服务信息,基于所述第二归属元数据服务信息查询所述第二层父目录的第二元数据;
基于所述第二元数据确定所述第二层父目录的索引节点信息,基于所述第二层父目录的索引节点信息确定所述待查询文件的第三归属元数据服务信息。
根据本发明提供的一种元数据处理方法,所述基于所述根目录的索引节点信息确定所述第一层父目录的所述第一归属元数据服务信息,包括:
基于所述根目录的索引节点信息确定第一哈希值,基于一致性哈希算法将所述第一哈希值映射到第一目标元数据服务信息,将所述第一目标元数据服务信息作为所述第一层父目录的第一归属元数据服务信息。
根据本发明提供的一种元数据处理方法,所述基于所述第一层父目录的索引节点信息确定所述第二层父目录的第二归属元数据服务信息,包括:
基于所述第一层父目录的索引节点信息确定第二哈希值,基于一致性哈希算法将所述第二哈希值映射到第二目标元数据服务信息,将所述第二目标元数据服务信息作为所述第二层父目录的第二归属元数据服务信息。
根据本发明提供的一种元数据处理方法,所述基于所述第二层父目录的索引节点信息确定所述待查询文件的第三归属元数据服务信息,包括:
基于所述第二层父目录的索引节点信息确定第三哈希值,基于一致性哈希算法将所述第三哈希值映射到第三目标元数据服务信息,将所述第三目标元数据服务信息作为所述待查询文件的第三归属元数据服务信息。
根据本发明提供的一种元数据处理方法,所述方法还包括:
接收客户端发送的第三元数据处理请求,所述第三元数据处理请求用于请求查询所述待查询文件的元数据,且所述第三元数据处理请求中携带待查询文件的归属元数据服务的路由信息;
基于所述待查询文件的归属元数据服务的路由信息,确定所述待查询文件的归属元数据服务信息;
基于所述待查询文件的归属元数据服务信息,获取所述待查询文件的目标元数据,向所述客户端发送所述目标元数据。
根据本发明提供的一种元数据处理方法,所述元数据处理请求是所述客户端通过目标通信协议发送的head请求;
所述目标通信协议为超文本传输安全协议或超文本传输协议。
根据本发明提供的一种元数据处理方法,所述归属元数据服务信息包括以下至少一项:
父目录的索引节点信息;
文件或目标的索引节点信息;
目录的索引节点信息,以及所述目录中的子目录或文件的名称;
归属元数据服务的逻辑标识。
本发明还提供一种元数据处理方法,应用于客户端,所述方法包括:
向存储接入节点发送第一元数据处理请求,所述第一元数据处理请求中携带待查询文件的上级目录的索引节点信息;
接收所述存储接入节点发送的目标元数据;其中,所述目标元数据是所述存储接入节点基于所述索引节点信息获取的。
根据本发明提供的一种元数据处理方法,所述方法还包括:
向所述存储接入节点发送元数据查询请求,所述元数据查询请求为所述客户端首次发送的、用于请求查询所述待查询文件的元数据;
接收所述存储接入节点发送的所述待查询文件的上级目录的索引节点信息;
缓存所述待查询文件的上级目录的索引节点信息;
其中,所述待查询文件的上级目录的索引节点信息是所述存储接入节点通过逐层目录查询确定的。
根据本发明提供的一种元数据处理方法,所述方法还包括:
向存储接入节点发送第二元数据处理请求,所述第二元数据处理请求用于请求查询所述待查询文件的元数据,且所述第二元数据处理请求中未携带待查询文件的上级目录的索引节点信息;
接收所述存储接入节点返回的最后一个层级的元数据。
根据本发明提供的一种元数据处理方法,所述方法还包括:
向存储接入节点发送第三元数据处理请求,所述第三元数据处理请求用于请求查询所述待查询文件的元数据,且所述第三元数据处理请求中携带待查询文件的归属元数据服务的路由信息;
接收所述存储接入节点返回的所述待查询文件的目标元数据,所述目标元数据为所述存储接入节点基于所述待查询文件的归属元数据服务的路由信息获取的。
本发明还提供一种元数据处理装置,应用于存储接入节点,所述装置包括:
第一接收模块,用于接收客户端发送的第一元数据处理请求;
解析模块,用于对所述第一元数据处理请求进行解析,确定所述第一元数据处理请求中携带待查询文件的上级目录的索引节点信息;
确定模块,用于基于所述索引节点信息,确定所述待查询文件的归属元数据服务信息;
第一发送模块,用于基于所述待查询文件的归属元数据服务信息,获取所述待查询文件的目标元数据,向所述客户端发送所述目标元数据。
本发明还提供一种元数据处理装置,应用于客户端,所述装置包括:
第二发送模块,用于向存储接入节点发送第一元数据处理请求,所述第一元数据处理请求中携带待查询文件的上级目录的索引节点信息;
第二接收模块,用于接收所述存储接入节点发送的目标元数据;其中,所述目标元数据是所述存储接入节点基于所述索引节点信息获取的。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述元数据处理方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述元数据处理方法。
本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述元数据处理方法。
本发明提供的元数据处理方法、装置、电子设备及存储介质,通过接收客户端发送的第一元数据处理请求,确定该请求中携带待查询文件的上级目录的索引节点信息,可根据该索引节点直接获取待查询文件的归属元数据服务,以根据该归属元数据服务查询待查询文件的目标元数据。本发明无需根据客户端发送的请求进行逐层目录查询,因此简化了元数据处理的整体流程,缩短了元数据的处理时延,提高了元数据处理效率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是分布式存储系统的融合架构图;
图2是现有技术的流程示意图之一;
图3是现有技术的流程示意图之二;
图4是本发明提供的元数据处理方法的流程示意图之一;
图5是本发明提供的元数据处理方法的流程示意图之二;
图6是本发明提供的元数据处理方法的流程示意图之三;
图7是本发明提供的元数据处理装置的结构示意图之一;
图8是本发明提供的元数据处理装置的结构示意图之二;
图9是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,分布式存储系统支持融合互通时,通过一套分布式存储支持文件/对象/大数据三个非结构化服务,以一种协议写入的文件,支持其他协议读写访问。
支持非结构化数据融合互通的分布式存储一般以文件存储系统为基础,在这个基础上支持对象、大数据服务。
参照图1,图1是分布式存储系统的融合架构图,逻辑架构如下,包括接入层Accesslayer110、MDS120、存储池130;接入层Accesslayer包括文件协议、对象协议以及大数据协议;接入层支持处理文件/对象/大数据协议,各协议的元数据统一,由mds管理元数据,数据写入存储池。
为了实现语义的互通,统一了多种非结构化服务的概念模型。分布式存储非结构化服务提供统一的多命名空间(Namespace),文件服务称之为文件系统,对象服务称之为Bucket。各个Namespace的用户数据相互隔离,一个Namespace可以同时支持大数据/文件/对象服务。
参照图2,为了实现非结构化服务数据互通, Namespace映射为对象的bucket,把文件的目录结构与对象的URL进行了映射,映射关系为:Namespace被映射成桶bucket1, 目录/A/B下的文件file1,被映射成桶bucket1下的对象/A/B/file1,根目录下的文件file2被映射成桶bucekt1下的对象file2。
反过来用户从S3对象侧创建的对象也会相应的映射成对应的目录结构,如果一个空的Namespace(映射成桶bucket1),用户从S3对象侧在桶bucket1下创建/A/B/file1对象,对应的分布式存储会为这个对象创建相应的目录A、B,及目录B下的文件file1。因为文件存储中“/”表示目录分隔符,所以对象接口创建的对象名称中包含/时,需要创建对应的目录。这样就导致对象接口读写时,如果对象名称中包含/时,需要逐层查询目录元数据。
参照图3,图3是现有技术中的元数据处理方法的流程示意图:
由对象客户端向存储接入节点发送HEAD /A/B/file1请求,存储接入节点查询/A/B/file1的元数据并返回到对象客户端。
在现有技术中,需要对HEAD /A/B/file1请求按照目录或者文件进行逐层查询,整体流程较为复杂,元数据查询时延较长。
参照图4,本发明提供的一种元数据处理方法,应用于存储接入节点,所述方法包括:
步骤410、接收客户端发送的第一元数据处理请求;
步骤420、对所述第一元数据处理请求进行解析,确定所述第一元数据处理请求中携带待查询文件的上级目录的索引节点信息;
步骤430、基于所述索引节点信息,确定所述待查询文件的归属元数据服务信息;
步骤440、基于所述待查询文件的归属元数据服务信息,获取所述待查询文件的目标元数据,向所述客户端发送所述目标元数据。
以下以分布式系统的存储接入节点为执行主体,对上述步骤进行详细描述。需要说明的是,本实施例中的存储接入节点属于分布式文件系统。存储接入节点主要用于实现与客户端之间进行交互。
在上述步骤410中,接收客户端发送的第一元数据处理请求。
客户端即为发送元数据查询请求的对象客户端,第一元数据处理请求为客户端发送的元数据查询请求,比如该请求为HEAD /A/B/file1请求。
可选地,所述元数据处理请求是所述客户端通过目标通信协议发送的HEAD请求;所述目标通信协议为超文本传输安全协议http或超文本传输协议http。
在第一元数据处理请求中,HEAD为该请求的头部请求,在HTTP请求中,HEAD是一种请求方法,用于获取指定URL的响应头信息,而不返回具体的响应内容。与GET方法类似,但不返回实际的响应主体。 HEAD请求通常用于检查资源的元数据,例如最后修改时间(Last-Modified)、内容长度(Content-Length)等。通过发送HEAD请求,可以获取关于资源的基本信息,而无需传输整个响应内容。
相应地,第一元数据处理请求中的A表示文件的一级目录,B表示文件的二级目录,file1表示需要查询的文件。
可选地,本实施例中的第一元数据处理请求可包括多层目录,比如,需要查询的文件file1根据层级划分,其上层目录从上到下依次为A、B、C、D,也就是说file1的上级目录为D目录。
在步骤420中,对第一元数据处理请求进行解析,确定第一元数据处理请求中携带待查询文件的上级目录的索引节点信息。
对第一元数据处理请求HEAD /A/B/file1请求进行解析,首先确定需要处理的待查询文件的文件名称即file1,然后确定待查询文件的上级目录为B目标以及上上级目录为A目录,最后确定该第一元数据处理请求中携带待查询文件的上级目录即B目录的索引节点信息。
需要说明的是,索引节点信息即索引编号inode no的对应信息, 存储文件元信息的区域就叫做inode,称为索引节点,每个inode都有一个编号,操作系统用inode编号来识别不同的文件。
可以理解的是,第一元数据处理请求携带待查询文件的上级目录的索引节点信息,可以表示客户端中缓存有待查询文件的上级目录(B目录)的索引节点信息,因此当客户端发送第一元数据处理请求中即包含B目录的索引节点。
然后通过上述步骤430,根据B目录的索引节点信息确定待查询文件的归属元数据服务信息。
归属元数据服务是一个用于管理和维护数据归属信息的服务。在数据分析和处理过程中,数据的来源和归属非常重要归属元数据服务帮助跟踪和记录数据的所有者、创建日期、修改日期以及其他相关属性。用户可以追溯数据的源头,了解数据的可信度、完整性和准确性。此外,归属元数据服务还可以提供数据的权限管理和访问控制,确保只有授权人员能够访问和修改数据。
需要说明的是,本实施例中的分布式存储系统的接入节点判断发送的第一元数据处理请求即HEAD请求中携带了待查询文件即file1的归属元数据服务的路由信息,即B目录的索引节点信息inodeNo,不再逐层目录查询目录元数据,而是根据B目录inodeNo直接计算出file1的归属元数据服务mds,查询出file1的归属元数据服务mds,这样就不需要查询A和B目录的元数据服务mds,因此简化了元数据查询的整体流程,提高了元数据的处理效率,减小了元数据查询时延。
最后通过上述步骤440,根据待查询文件的归属元数据服务信息获取待查询文件的目标元数据,并将查询到的目标元数据返回至客户端。
本发明提供的元数据处理方法,通过接收客户端发送的第一元数据处理请求,确定该请求中携带待查询文件的上级目录的索引节点信息,可根据该索引节点直接获取待查询文件的归属元数据服务,以根据该归属元数据服务查询待查询文件的目标元数据。本发明无需根据客户端发送的请求进行逐层目录查询,因此简化了元数据处理的整体流程,缩短了元数据的处理时延,提高了元数据处理效率。
在一些实施例中,所述方法还包括:
接收所述客户端发送的元数据查询请求,所述元数据查询请求为所述客户端首次发送的、用于请求查询所述待查询文件的元数据的请求;
基于所述元数据查询请求进行逐层目录查询,得到所述待查询文件对应的各个层级的归属元数据服务信息以及各个层级的元数据;
基于所述待查询文件对应的各个层级的归属元数据服务信息,确定所述待查询文件的上级目录的索引节点信息;
将所述待查询文件的上级目录的索引节点信息发送至所述客户端,以供所述客户端缓存所述待查询文件的上级目录的索引节点信息。
可以理解的是,本实施例为元数据查询之前的准备过程。
首先接收客户端发送的元数据查询请求,需要说明的是元数据查询请求为客户端首次发送的请求,该请求用于查询待查询文件的元数据。然后根据元数据查询请求进行逐层目录查询,得到待查询文件对应的各层级的归属元数据服务信息以及各层级的元数据。
如查询请求HEAD /A/B/file1,在本实施例中需要依次确定A目录的归属元数据服务信息和A目录的元数据,B目录的归属元数据服务信息以及B目录的元数据,待查询文件file1的归属元数据服务信息以及待查询文件的元数据。
进一步地,根据上述获取到的待查询文件各层级的归属元数据服务信息确定待查询文件上级目录的索引节点信息,即B目录的索引节点。
最后将待查询文件的上级目录的索引节点信息发送给客户端,客户端在接收到该索引节点信息之后,将该索引节点信息缓存。客户端缓存该索引节点信息后,再次向分布式服务系统的存储接入节点发送请求时即可携带该索引节点信息。
本发明提供的元数据处理方法,通过将客户端首次发送的元数据查询请求进行逐层目录查询,分别得到待查询文件的各个层级的元数据归属服务信息,以确定待查询文件的上级目录的索引节点信息,客户端缓存该索引节点信息以使后续发送的元数据处理请求携带该索引节点信息,从而能够直接根据该索引节点信息进行元数据查询,提高元数据的处理效率。
在一些实施例中,所述基于所述索引节点信息,确定所述待查询文件的归属元数据服务信息,包括:
基于所述索引节点信息确定第一哈希值;
基于一致性哈希算法将所述第一哈希值映射到第一元数据服务信息,将所述第一元数据服务信息作为所述待查询文件的归属元数据服务信息。
或,
基于所述索引节点信息和所述待查询文件的文件名确定第二哈希值;
基于一致性哈希算法将所述第二哈希值映射到第二元数据服务信息,将所述第二元数据服务信息作为所述待查询文件的归属元数据服务信息。
本实施例提供了归属元数据服务信息的不同的确定方式。
首先需要说明的是,本实施例中归属元数据服务信息的查询方式可以为按照目录查询或者按照文件查询。
在按照目录查询的情况下,对于待查询文件的归属元数据服务信息,可通过存储接入节点根据B目录的索引节点信息inodeNo计算出第一哈希hash值,然后根据一致性哈希hash算法计算出待查询文件的归属元数据服务mds。
相应地,在按照文件查询的情况下,对于待查询文件的归属元数据服务信息,可通过存储接入节点根据B目录的索引节点信息inodeNo以及待查询文件的文件名即file1计算出第一哈希hash值,然后根据一致性哈希hash算法计算出待查询文件的归属元数据服务mds。
本发明提供的元数据处理方法,通过按照目录查询或按照文件查询两种方式,利用一致性哈希算法计算待查询文件的归属元数据服务信息,可通过不同的查询方式来实现归属元数据服务信息。
在一些实施例中,所述方法还包括:
接收客户端发送的第二元数据处理请求,所述第二元数据处理请求用于请求查询所述待查询文件的元数据,且所述第二元数据处理请求中未携带待查询文件的上级目录的索引节点信息;
对第二元数据处理请求进行逐层目录查询,得到所述待查询文件对应的各个层级的归属元数据服务信息,以及各个层级的元数据;
将最后一个层级的元数据返回给所述客户端。
可以理解的是,本实施例为根据元数据处理请求进行逐层目录查询的过程,实施该过程的前提可能为第一次接收客户端发送的元数据处理请求,或者第N次接收客户端发送的元数据处理请求(N为大于1的正整数),而判断第N次接收该请求时,元数据处理请求中未携带待查询文件的上级目录的索引节点信息,可能原因为客户端缓存上级目录的索引节点信息失败,而此时需要对元数据处理请求仍按照逐层目录查询的方式,获取各层级的元数据,并将最后一个层级的元数据返回给客户端。
本发明提供的元数据处理方法,通过判断第二元数据处理请求中未携带待查询文件的上级目录的索引节点信息,进行逐层目录查询得到待查询文件的元数据,并将查询得到的元数据发送给客户端,便于后续再次发送元数据处理请求时可以直接通过索引节点进行查询以提高元数据的处理效率。
在一些实施例中,所述基于所述元数据查询请求进行逐层目录查询,得到所述待查询文件对应的各个层级的归属元数据服务信息以及各个层级的元数据,包括:
基于所述元数据查询请求确定所述待查询文件的根目录以及至少两层父目录,所述至少两层父目录包括第一层父目录和第二层父目录,所述第二层父目录为所述待查询文件的上层目录;
根据所述根目录、第一层父目录以及第二层父目录的层级关系,依次获取所述第一层父目录的第一归属元数据服务信息,所述第二层父目录的第二归属元数据服务信息,以及所述待查询文件的第三归属元数据服务信息。
本实施例为首次接收客户端发送的元数据查询请求时进行的逐层目录查询的过程。
本实施例中,首先根据元数据查询请求确定待查询文件的根目录以及至少两层父目录。如HEAD /A/B/file1请求中,根目录通常为分布式服务系统的存储接入节点的根目录,两层父目录为A和B,其中A为第一层父目录,B为第二层父目录,即待查询文件的上层目录。
可选地,父目录可以为多个层级,即从根目录为开始,可向下延伸多个层级的父目录,比如HEAD /A/B/C/D/E/F/file1,此时file1的上层目录为F目录。
然后根据根目录和各层父目录之间的层级关系,依次获取第一层父目录的第一归属元数据服务信息,第二层父目录的第二归属元数据服务信息以及待查询文件的第三归属元数据服务信息。
进一步地,所述根据所述根目录、第一层父目录以及第二层父目录的层级关系,依次获取所述第一层父目录的第一归属元数据服务信息,所述第二层父目录的第二归属元数据服务信息,以及所述待查询文件的第三归属元数据服务信息,包括:
确定所述根目录的索引节点信息,基于所述根目录的索引节点信息确定所述第一层父目录的所述第一归属元数据服务信息,基于所述第一归属元数据服务信息查询所述第一层父目录的第一元数据;
基于所述第一元数据确定所述第一层父目录的索引节点信息,基于所述第一层父目录的索引节点信息确定所述第二层父目录的第二归属元数据服务信息,基于所述第二归属元数据服务信息查询所述第二层父目录的第二元数据;
基于所述第二元数据确定所述第二层父目录的索引节点信息,基于所述第二层父目录的索引节点信息确定所述待查询文件的第三归属元数据服务信息。
本实施例为获取各层目录或文件的归属元数据服务信息的具体过程。
首先,确定根目录的索引节点信息,根据根目录的索引节点信息确定第一层父目录的第一归属元数据服务信息,根据第一归属元数据服务信息查询第一层父目录的第一元数据。即存储接入节点根据根目录inodeNo计算A目录的归属mds,查询A目录的元数据。
然后,根据第一元数据确定第一层父目录即A目录的索引节点信息,根据A目录的索引节点信息确定第二层父目录的第二归属元数据服务信息,并根据第二归属元数据服务信息查询第二层父目录的第二元数据。即存储接入节点根据A目录inodeNo计算B目录的归属mds,查询B目录的元数据。
最后,根据第二元数据确定第二层父目录的索引节点信息,基于第二层父目录的索引节点信息确定待查询文件的第三归属元数据服务信息。即存储接入节点根据B目录inodeNo计算file1的归属mds。并且在获取待查询文件file1的归属mds即可查询file1的元数据。
本发明提供的元数据处理方法,通过对元数据查询请求进行逐层目录查询,分别得到待查询文件的各个层级的元数据归属服务信息,以确定待查询文件的上级目录的索引节点信息,客户端缓存该索引节点信息以使后续发送的元数据处理请求携带该索引节点信息,从而能够直接根据该索引节点信息进行元数据查询,提高元数据的处理效率。
在一些实施例中,所述基于所述根目录的索引节点信息确定所述第一层父目录的所述第一归属元数据服务信息,包括:
基于所述根目录的索引节点信息确定第一哈希值,基于一致性哈希算法将所述第一哈希值映射到第一目标元数据服务信息,将所述第一目标元数据服务信息作为所述第一层父目录的第一归属元数据服务信息。
进一步地,所述基于所述第一层父目录的索引节点信息确定所述第二层父目录的第二归属元数据服务信息,包括:
基于所述第一层父目录的索引节点信息确定第二哈希值,基于一致性哈希算法将所述第二哈希值映射到第二目标元数据服务信息,将所述第二目标元数据服务信息作为所述第二层父目录的第二归属元数据服务信息。
更进一步地,所述基于所述第二层父目录的索引节点信息确定所述待查询文件的第三归属元数据服务信息,包括:
基于所述第二层父目录的索引节点信息确定第三哈希值,基于一致性哈希算法将所述第三哈希值映射到第三目标元数据服务信息,将所述第三目标元数据服务信息作为所述待查询文件的第三归属元数据服务信息。
可以理解的是,本实施例为根据哈希算法计算目录或文件的归属元数据服务信息的具体过程。
按目录选择归属mds时,一个目录的归属mds保存该目录中子目录和文件的元数据,存储接入节点根据目录inodeNo计算出hash值,然后根据一致性hash算法计算出目录的归属mds,即目录中子目录和文件的归属mds。
对于A目录的归属元数据服务信息,可通过存储接入节点根据根目录的索引节点信息inodeNo计算出第二哈希hash值,然后根据一致性哈希hash算法计算出B目录的归属元数据服务mds。
对于B目录的归属元数据服务信息,可通过存储接入节点根据A目录的索引节点信息inodeNo计算出第二哈希hash值,然后根据一致性哈希hash算法计算出B目录的归属元数据服务mds。
对于待查询文件file1的归属元数据服务信息,可通过存储接入节点根据B目录的索引节点信息inodeNo计算出第三哈希hash值,然后根据一致性哈希hash算法计算出待查询文件file1的归属元数据服务mds。
在一些实施例中,所述方法还包括:
接收客户端发送的第三元数据处理请求,所述第三元数据处理请求用于请求查询所述待查询文件的元数据,且所述第三元数据处理请求中携带待查询文件的归属元数据服务的路由信息;
基于所述待查询文件的归属元数据服务的路由信息,确定所述待查询文件的归属元数据服务信息;
基于所述待查询文件的归属元数据服务信息,获取所述待查询文件的目标元数据,向所述客户端发送所述目标元数据。
本实施例中,接收客户端发送的第三元数据处理请求,第三元数据处理请求为携带待查询文件的归属元数据服务的路由信息的请求,通常地,待查询文件的归属元数据服务的路由信息即为待查询文件的上级目录的索引节点信息。也就是说,当确定第三元数据处理请求中携带待查询文件的归属元数据服务的路由信息时,即确定该请求中携带待查询文件的上级目录的索引节点,可直接根据该索引节点查询待查询文件的归属元数据服务信息,进而获取待查询文件的目标元数据。
本发明提供的元数据处理方法,通过确定第三元数据处理请求中携带待查询文件的归属原数据服务的路由信息,从而确定该请求中携带待查询文件的上级目录的索引节点,直接根据该索引节点查询待查询文件的归属元数据服务信息,从而提高了元数据的处理效率。
在一些实施例中,所述归属元数据服务信息包括以下至少一项:
父目录的索引节点信息;
文件或目标的索引节点信息;
目录的索引节点信息,以及所述目录中的子目录或文件的名称;
归属元数据服务的逻辑标识。
参照图5,本发明还提供一种元数据处理方法,应用于客户端,所述方法包括:
步骤510、向存储接入节点发送第一元数据处理请求,所述第一元数据处理请求中携带待查询文件的上级目录的索引节点信息;
步骤520、接收所述存储接入节点发送的目标元数据;其中,所述目标元数据是所述存储接入节点基于所述索引节点信息获取的。
在步骤510中,通过客户端向分布式服务系统的存储接入节点发送第一元数据处理请求,客户端即为发送元数据查询请求的对象客户端,第一元数据处理请求为客户端发送的元数据查询请求,比如该请求为HEAD /A/B/file1请求。
可选地,所述元数据处理请求是所述客户端通过目标通信协议发送的HEAD请求;所述目标通信协议为超文本传输安全协议http或超文本传输协议http。
需要说明的是,第一元数据处理请求中携带待查询文件的上级目录的索引节点信息。
在步骤520中,接收存储接入节点发送的目标元数据,目标元数据是存储接入节点基于待查询文件的索引节点信息获取的,即通过B目录的索引节点获取的。
本发明提供的元数据处理方法,通过客户端向存储接入节点发送第一元数据处理请求,确定该请求中携带待查询文件的上级目录的索引节点信息,可根据该索引节点直接获取待查询文件的归属元数据服务,以根据该归属元数据服务查询待查询文件的目标元数据。本发明无需根据客户端发送的请求进行逐层目录查询,因此简化了元数据处理的整体流程,缩短了元数据的处理时延,提高了元数据处理效率。
在一些实施例中,所述方法还包括:
向所述存储接入节点发送元数据查询请求,所述元数据查询请求为所述客户端首次发送的、用于请求查询所述待查询文件的元数据;
接收所述存储接入节点发送的所述待查询文件的上级目录的索引节点信息;
缓存所述待查询文件的上级目录的索引节点信息;
其中,所述待查询文件的上级目录的索引节点信息是所述存储接入节点通过逐层目录查询确定的。
可以理解的是,本实施例为元数据查询之前的准备过程。
首先客户端向存储接入节点发送元数据查询请求,需要说明的是元数据查询请求为客户端首次发送的请求,该请求用于查询待查询文件的元数据。然后根据元数据查询请求进行逐层目录查询,得到待查询文件对应的各层级的归属元数据服务信息以及各层级的元数据。
如查询请求HEAD /A/B/file1,在本实施例中需要依次确定A目录的归属元数据服务信息和A目录的元数据,B目录的归属元数据服务信息以及B目录的元数据,待查询文件file1的归属元数据服务信息以及待查询文件的元数据。
进一步地,接收存储接入节点发送的待查询文件上级目录的索引节点信息,即B目录的索引节点,缓存该索引节点信息。
客户端缓存该索引节点信息后,再次向分布式服务系统的存储接入节点发送请求时即可携带该索引节点信息。
本发明提供的元数据处理方法,通过将客户端首次发送的元数据查询请求进行逐层目录查询,分别得到待查询文件的各个层级的元数据归属服务信息,以确定待查询文件的上级目录的索引节点信息,客户端缓存该索引节点信息以使后续发送的元数据处理请求携带该索引节点信息,从而能够直接根据该索引节点信息进行元数据查询,提高元数据的处理效率。
在一些实施例中,所述方法还包括:
一、向存储接入节点发送第二元数据处理请求,所述第二元数据处理请求用于请求查询所述待查询文件的元数据,且所述第二元数据处理请求中未携带待查询文件的上级目录的索引节点信息;
接收所述存储接入节点返回的最后一个层级的元数据。
二、向存储接入节点发送第三元数据处理请求,所述第三元数据处理请求用于请求查询所述待查询文件的元数据,且所述第三元数据处理请求中携带待查询文件的归属元数据服务的路由信息;
接收所述存储接入节点返回的所述待查询文件的目标元数据,所述目标元数据为所述存储接入节点基于所述待查询文件的归属元数据服务的路由信息获取的。
本实施例为客户端向存储接入节点发送元数据处理请求时的两种不同处理方式。
若判断元数据处理请求中携带待查询文件的归属元数据服务的路由信息时,可确定该路由信息为待查询文件的上级目录的索引节点信息,并根据该索引节点信息直接查询待查询文件的归属元数据服务信息,进而确定待查询文件的目标元数据。
若判断元数据处理请求中未携带待查询文件的上级目录的索引节点信息时,可将该请求作为客户端首次发送的请求,该请求用于逐层查询待查询文件的归属元数据服务信息。
本发明提供的元数据处理方法,通过判断元数据处理请求中是否携带待查询文件的上级目录的索引节点,以采用不同的方式查询待查询文件的元数据,当携带待查询文件的上级目录的索引节点时,无需进行逐层目录查询,直接根据索引节点信息进行元数据查询,提高元数据的处理效率。
参照图6,图6是本发明提供的元数据处理方法的交互示意图;
1)对象客户端第一次发送HEAD /A/B/file1时,分布式存储还是需要逐层目录查询mds;
2)存储接入节点根据根目录inodeNo(索引节点)计算A目录的归属mds,查询A目录的元数据;
3)存储接入节点根据A目录inodeNo计算B目录的归属mds,查询B目录的元数据;
4)存储接入节点根据B目录inodeNo计算file1的归属mds,查询file1的元数据;
5)对象客户端收到响应后,缓存/A/B/file1对应的归属mds路由信息,即B目录的inodeNo;
6)对象客户端再次发送HEAD /A/B/file1时,携带B目录的inodeNo;
7)分布式存储的接入节点判断HEAD请求中携带了归属mds路由信息,即B目录的inodeNo,不再逐层目录查询目录元数据,而是根据B目录inodeNo直接计算出file1的归属mds,查询出file1的归属mds,这样就不需要查询A和B目录的mds。
下面对本发明提供的元数据处理装置进行描述,下文描述的元数据处理装置与上文描述的元数据处理方法可相互对应参照。
参照图7,本发明提供一种元数据处理装置,应用于存储接入节点,所述装置包括:
第一接收模块710,用于接收客户端发送的第一元数据处理请求;
解析模块720,用于对所述第一元数据处理请求进行解析,确定所述第一元数据处理请求中携带待查询文件的上级目录的索引节点信息;
确定模块730,用于基于所述索引节点信息,确定所述待查询文件的归属元数据服务信息;
第一发送模块740,用于基于所述待查询文件的归属元数据服务信息,获取所述待查询文件的目标元数据,向所述客户端发送所述目标元数据。
本发明提供的元数据处理装置,通过接收客户端发送的第一元数据处理请求,确定该请求中携带待查询文件的上级目录的索引节点信息,可根据该索引节点直接获取待查询文件的归属元数据服务,以根据该归属元数据服务查询待查询文件的目标元数据。本发明无需根据客户端发送的请求进行逐层目录查询,因此简化了元数据处理的整体流程,缩短了元数据的处理时延,提高了元数据处理效率。
在一些实施例中,所述装置还包括逐层查询模块,所述逐层查询模块用于:
接收所述客户端发送的元数据查询请求,所述元数据查询请求为所述客户端首次发送的、用于请求查询所述待查询文件的元数据的请求;
基于所述元数据查询请求进行逐层目录查询,得到所述待查询文件对应的各个层级的归属元数据服务信息以及各个层级的元数据;
基于所述待查询文件对应的各个层级的归属元数据服务信息,确定所述待查询文件的上级目录的索引节点信息;
将所述待查询文件的上级目录的索引节点信息发送至所述客户端,以供所述客户端缓存所述待查询文件的上级目录的索引节点信息。
在一些实施例中,所述基于所述索引节点信息,确定所述待查询文件的归属元数据服务信息,包括:
基于所述索引节点信息确定第一哈希值;
基于一致性哈希算法将所述第一哈希值映射到第一元数据服务信息,将所述第一元数据服务信息作为所述待查询文件的归属元数据服务信息。
在一些实施例中,所述基于所述索引节点信息,确定所述待查询文件的归属元数据服务信息,包括:
基于所述索引节点信息和所述待查询文件的文件名确定第二哈希值;
基于一致性哈希算法将所述第二哈希值映射到第二元数据服务信息,将所述第二元数据服务信息作为所述待查询文件的归属元数据服务信息。
在一些实施例中,所述装置还包括第一判断模块,所述第一判断模块用于:
接收客户端发送的第二元数据处理请求,所述第二元数据处理请求用于请求查询所述待查询文件的元数据,且所述第二元数据处理请求中未携带待查询文件的上级目录的索引节点信息;
对第二元数据处理请求进行逐层目录查询,得到所述待查询文件对应的各个层级的归属元数据服务信息,以及各个层级的元数据;
将最后一个层级的元数据返回给所述客户端。
在一些实施例中,所述基于所述元数据查询请求进行逐层目录查询,得到所述待查询文件对应的各个层级的归属元数据服务信息以及各个层级的元数据,包括:
基于所述元数据查询请求确定所述待查询文件的根目录以及至少两层父目录,所述至少两层父目录包括第一层父目录和第二层父目录,所述第二层父目录为所述待查询文件的上层目录;
根据所述根目录、第一层父目录以及第二层父目录的层级关系,依次获取所述第一层父目录的第一归属元数据服务信息,所述第二层父目录的第二归属元数据服务信息,以及所述待查询文件的第三归属元数据服务信息。
在一些实施例中,所述根据所述根目录、第一层父目录以及第二层父目录的层级关系,依次获取所述第一层父目录的第一归属元数据服务信息,所述第二层父目录的第二归属元数据服务信息,以及所述待查询文件的第三归属元数据服务信息,包括:
确定所述根目录的索引节点信息,基于所述根目录的索引节点信息确定所述第一层父目录的所述第一归属元数据服务信息,基于所述第一归属元数据服务信息查询所述第一层父目录的第一元数据;
基于所述第一元数据确定所述第一层父目录的索引节点信息,基于所述第一层父目录的索引节点信息确定所述第二层父目录的第二归属元数据服务信息,基于所述第二归属元数据服务信息查询所述第二层父目录的第二元数据;
基于所述第二元数据确定所述第二层父目录的索引节点信息,基于所述第二层父目录的索引节点信息确定所述待查询文件的第三归属元数据服务信息。
在一些实施例中,所述基于所述根目录的索引节点信息确定所述第一层父目录的所述第一归属元数据服务信息,包括:
基于所述根目录的索引节点信息确定第一哈希值,基于一致性哈希算法将所述第一哈希值映射到第一目标元数据服务信息,将所述第一目标元数据服务信息作为所述第一层父目录的第一归属元数据服务信息。
在一些实施例中,所述基于所述第一层父目录的索引节点信息确定所述第二层父目录的第二归属元数据服务信息,包括:
基于所述第一层父目录的索引节点信息确定第二哈希值,基于一致性哈希算法将所述第二哈希值映射到第二目标元数据服务信息,将所述第二目标元数据服务信息作为所述第二层父目录的第二归属元数据服务信息。
在一些实施例中,所述基于所述第二层父目录的索引节点信息确定所述待查询文件的第三归属元数据服务信息,包括:
基于所述第二层父目录的索引节点信息确定第三哈希值,基于一致性哈希算法将所述第三哈希值映射到第三目标元数据服务信息,将所述第三目标元数据服务信息作为所述待查询文件的第三归属元数据服务信息。
在一些实施例中,所述装置还包括第二判断模块,所述第二判断模块用于:
接收客户端发送的第三元数据处理请求,所述第三元数据处理请求用于请求查询所述待查询文件的元数据,且所述第三元数据处理请求中携带待查询文件的归属元数据服务的路由信息;
基于所述待查询文件的归属元数据服务的路由信息,确定所述待查询文件的归属元数据服务信息;
基于所述待查询文件的归属元数据服务信息,获取所述待查询文件的目标元数据,向所述客户端发送所述目标元数据。
在一些实施例中,所述元数据处理请求是所述客户端通过目标通信协议发送的head请求;
所述目标通信协议为超文本传输安全协议或超文本传输协议。
在一些实施例中,所述归属元数据服务信息包括以下至少一项:
父目录的索引节点信息;
文件或目标的索引节点信息;
目录的索引节点信息,以及所述目录中的子目录或文件的名称;
归属元数据服务的逻辑标识。
参照图8,本发明还提供一种元数据处理装置,应用于客户端,所述装置包括:
第二发送模块810,用于向存储接入节点发送第一元数据处理请求,所述第一元数据处理请求中携带待查询文件的上级目录的索引节点信息;
第二接收模块820,用于接收所述存储接入节点发送的目标元数据;其中,所述目标元数据是所述存储接入节点基于所述索引节点信息获取的。
本发明提供的元数据处理装置,通过客户端向存储接入节点发送第一元数据处理请求,确定该请求中携带待查询文件的上级目录的索引节点信息,可根据该索引节点直接获取待查询文件的归属元数据服务,以根据该归属元数据服务查询待查询文件的目标元数据。本发明无需根据客户端发送的请求进行逐层目录查询,因此简化了元数据处理的整体流程,缩短了元数据的处理时延,提高了元数据处理效率。
在一些实施例中,所述装置还包括缓存模块,所述缓存模块具体用于:
向所述存储接入节点发送元数据查询请求,所述元数据查询请求为所述客户端首次发送的、用于请求查询所述待查询文件的元数据;
接收所述存储接入节点发送的所述待查询文件的上级目录的索引节点信息;
缓存所述待查询文件的上级目录的索引节点信息;
其中,所述待查询文件的上级目录的索引节点信息是所述存储接入节点通过逐层目录查询确定的。
在一些实施例中,所述装置还包括第三判断模块,所述第三判断模块具体用于:
向存储接入节点发送第二元数据处理请求,所述第二元数据处理请求用于请求查询所述待查询文件的元数据,且所述第二元数据处理请求中未携带待查询文件的上级目录的索引节点信息;
接收所述存储接入节点返回的最后一个层级的元数据。
在一些实施例中,所述装置还包括第四判断模块,所述第四判断模块具体用于:
向存储接入节点发送第三元数据处理请求,所述第三元数据处理请求用于请求查询所述待查询文件的元数据,且所述第三元数据处理请求中携带待查询文件的归属元数据服务的路由信息;
接收所述存储接入节点返回的所述待查询文件的目标元数据,所述目标元数据为所述存储接入节点基于所述待查询文件的归属元数据服务的路由信息获取的。
图9示例了一种电子设备的实体结构示意图,如图9所示,该电子设备可以包括:处理器(processor)910、通信接口(Communications Interface)920、存储器(memory)930和通信总线940,其中,处理器910,通信接口920,存储器930通过通信总线940完成相互间的通信。处理器910可以调用存储器930中的逻辑指令,以执行元数据处理方法,该方法包括:
接收客户端发送的第一元数据处理请求;
对所述第一元数据处理请求进行解析,确定所述第一元数据处理请求中携带待查询文件的上级目录的索引节点信息;
基于所述索引节点信息,确定所述待查询文件的归属元数据服务信息;
基于所述待查询文件的归属元数据服务信息,获取所述待查询文件的目标元数据,向所述客户端发送所述目标元数据;
或,
向存储接入节点发送第一元数据处理请求,所述第一元数据处理请求中携带待查询文件的上级目录的索引节点信息;
接收所述存储接入节点发送的目标元数据;其中,所述目标元数据是所述存储接入节点基于所述索引节点信息获取的。
此外,上述的存储器930中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的元数据处理方法,该方法包括:
接收客户端发送的第一元数据处理请求;
对所述第一元数据处理请求进行解析,确定所述第一元数据处理请求中携带待查询文件的上级目录的索引节点信息;
基于所述索引节点信息,确定所述待查询文件的归属元数据服务信息;
基于所述待查询文件的归属元数据服务信息,获取所述待查询文件的目标元数据,向所述客户端发送所述目标元数据;
或,
向存储接入节点发送第一元数据处理请求,所述第一元数据处理请求中携带待查询文件的上级目录的索引节点信息;
接收所述存储接入节点发送的目标元数据;其中,所述目标元数据是所述存储接入节点基于所述索引节点信息获取的。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的元数据处理方法,该方法包括:
接收客户端发送的第一元数据处理请求;
对所述第一元数据处理请求进行解析,确定所述第一元数据处理请求中携带待查询文件的上级目录的索引节点信息;
基于所述索引节点信息,确定所述待查询文件的归属元数据服务信息;
基于所述待查询文件的归属元数据服务信息,获取所述待查询文件的目标元数据,向所述客户端发送所述目标元数据;
或,
向存储接入节点发送第一元数据处理请求,所述第一元数据处理请求中携带待查询文件的上级目录的索引节点信息;
接收所述存储接入节点发送的目标元数据;其中,所述目标元数据是所述存储接入节点基于所述索引节点信息获取的。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (19)
1.一种元数据处理方法,其特征在于,应用于存储接入节点,所述方法包括:
接收客户端发送的第一元数据处理请求;
对所述第一元数据处理请求进行解析,确定所述第一元数据处理请求中携带待查询文件的上级目录的索引节点信息;其中,所述待查询文件的上级目录的索引节点信息是基于客户端发送的元数据查询请求进行逐层目录查询,得到所述待查询文件对应的各个层级的归属元数据服务信息,基于所述各个层级的归属元数据服务信息得到的,并发送至客户端进行存储;
基于所述索引节点信息,确定所述待查询文件的归属元数据服务信息;
在所述第一元数据处理请求中携带待查询文件的归属元数据服务的路由信息的情况下,基于所述待查询文件的归属元数据服务的路由信息,确定所述待查询文件的归属元数据服务信息;
基于所述待查询文件的归属元数据服务信息,获取所述待查询文件的目标元数据,向所述客户端发送所述目标元数据;
所述归属元数据服务信息包括以下至少一项:
父目录的索引节点信息;
文件或目标的索引节点信息;
目录的索引节点信息,以及所述目录中的子目录或文件的名称;
归属元数据服务的逻辑标识。
2.根据权利要求1所述的元数据处理方法,其特征在于,所述方法还包括:
接收所述客户端发送的元数据查询请求,所述元数据查询请求为所述客户端首次发送的、用于请求查询所述待查询文件的元数据的请求;
基于所述元数据查询请求进行逐层目录查询,得到所述待查询文件对应的各个层级的归属元数据服务信息以及各个层级的元数据;
基于所述待查询文件对应的各个层级的归属元数据服务信息,确定所述待查询文件的上级目录的索引节点信息;
将所述待查询文件的上级目录的索引节点信息发送至所述客户端,以供所述客户端缓存所述待查询文件的上级目录的索引节点信息。
3.根据权利要求1所述的元数据处理方法,其特征在于,所述基于所述索引节点信息,确定所述待查询文件的归属元数据服务信息,包括:
基于所述索引节点信息确定第一哈希值;
基于一致性哈希算法将所述第一哈希值映射到第一元数据服务信息,将所述第一元数据服务信息作为所述待查询文件的归属元数据服务信息。
4.根据权利要求1所述的元数据处理方法,其特征在于,所述基于所述索引节点信息,确定所述待查询文件的归属元数据服务信息,包括:
基于所述索引节点信息和所述待查询文件的文件名确定第二哈希值;
基于一致性哈希算法将所述第二哈希值映射到第二元数据服务信息,将所述第二元数据服务信息作为所述待查询文件的归属元数据服务信息。
5.根据权利要求1所述的元数据处理方法,其特征在于,所述方法还包括:
接收客户端发送的第二元数据处理请求,所述第二元数据处理请求用于请求查询所述待查询文件的元数据,且所述第二元数据处理请求中未携带待查询文件的上级目录的索引节点信息;
对第二元数据处理请求进行逐层目录查询,得到所述待查询文件对应的各个层级的归属元数据服务信息,以及各个层级的元数据;
将最后一个层级的元数据返回给所述客户端。
6.根据权利要求2所述的元数据处理方法,其特征在于,所述基于所述元数据查询请求进行逐层目录查询,得到所述待查询文件对应的各个层级的归属元数据服务信息以及各个层级的元数据,包括:
基于所述元数据查询请求确定所述待查询文件的根目录以及至少两层父目录,所述至少两层父目录包括第一层父目录和第二层父目录,所述第二层父目录为所述待查询文件的上层目录;
根据所述根目录、第一层父目录以及第二层父目录的层级关系,依次获取所述第一层父目录的第一归属元数据服务信息,所述第二层父目录的第二归属元数据服务信息,以及所述待查询文件的第三归属元数据服务信息。
7.根据权利要求6所述的元数据处理方法,其特征在于,所述根据所述根目录、第一层父目录以及第二层父目录的层级关系,依次获取所述第一层父目录的第一归属元数据服务信息,所述第二层父目录的第二归属元数据服务信息,以及所述待查询文件的第三归属元数据服务信息,包括:
确定所述根目录的索引节点信息,基于所述根目录的索引节点信息确定所述第一层父目录的所述第一归属元数据服务信息,基于所述第一归属元数据服务信息查询所述第一层父目录的第一元数据;
基于所述第一元数据确定所述第一层父目录的索引节点信息,基于所述第一层父目录的索引节点信息确定所述第二层父目录的第二归属元数据服务信息,基于所述第二归属元数据服务信息查询所述第二层父目录的第二元数据;
基于所述第二元数据确定所述第二层父目录的索引节点信息,基于所述第二层父目录的索引节点信息确定所述待查询文件的第三归属元数据服务信息。
8.根据权利要求7所述的元数据处理方法,其特征在于,所述基于所述根目录的索引节点信息确定所述第一层父目录的所述第一归属元数据服务信息,包括:
基于所述根目录的索引节点信息确定第一哈希值,基于一致性哈希算法将所述第一哈希值映射到第一目标元数据服务信息,将所述第一目标元数据服务信息作为所述第一层父目录的第一归属元数据服务信息。
9.根据权利要求7所述的元数据处理方法,其特征在于,所述基于所述第一层父目录的索引节点信息确定所述第二层父目录的第二归属元数据服务信息,包括:
基于所述第一层父目录的索引节点信息确定第二哈希值,基于一致性哈希算法将所述第二哈希值映射到第二目标元数据服务信息,将所述第二目标元数据服务信息作为所述第二层父目录的第二归属元数据服务信息。
10.根据权利要求7所述的元数据处理方法,其特征在于,所述基于所述第二层父目录的索引节点信息确定所述待查询文件的第三归属元数据服务信息,包括:
基于所述第二层父目录的索引节点信息确定第三哈希值,基于一致性哈希算法将所述第三哈希值映射到第三目标元数据服务信息,将所述第三目标元数据服务信息作为所述待查询文件的第三归属元数据服务信息。
11.根据权利要求1-10中任一项所述的元数据处理方法,其特征在于,所述元数据处理请求是所述客户端通过目标通信协议发送的HEAD请求;
所述目标通信协议为超文本传输安全协议或超文本传输协议。
12.一种元数据处理方法,其特征在于,应用于客户端,所述方法包括:
向存储接入节点发送第一元数据处理请求,所述第一元数据处理请求中携带待查询文件的上级目录的索引节点信息,且所述第一元数据处理请求中携带待查询文件的归属元数据服务的路由信息;其中,所述待查询文件的上级目录的索引节点信息是基于客户端发送的元数据查询请求进行逐层目录查询,得到所述待查询文件对应的各个层级的归属元数据服务信息,基于所述各个层级的归属元数据服务信息得到的;
接收所述存储接入节点发送的目标元数据;其中,所述目标元数据是所述存储接入节点基于所述索引节点信息获取的;
所述归属元数据服务信息包括以下至少一项:
父目录的索引节点信息;
文件或目标的索引节点信息;
目录的索引节点信息,以及所述目录中的子目录或文件的名称;
归属元数据服务的逻辑标识。
13.根据权利要求12所述的元数据处理方法,其特征在于,所述方法还包括:
向所述存储接入节点发送元数据查询请求,所述元数据查询请求为所述客户端首次发送的、用于请求查询所述待查询文件的元数据;
接收所述存储接入节点发送的所述待查询文件的上级目录的索引节点信息;
缓存所述待查询文件的上级目录的索引节点信息;
其中,所述待查询文件的上级目录的索引节点信息是所述存储接入节点通过逐层目录查询确定的。
14.根据权利要求12所述的元数据处理方法,其特征在于,所述方法还包括:
向存储接入节点发送第二元数据处理请求,所述第二元数据处理请求用于请求查询所述待查询文件的元数据,且所述第二元数据处理请求中未携带待查询文件的上级目录的索引节点信息;
接收所述存储接入节点返回的最后一个层级的元数据。
15.根据权利要求12所述的元数据处理方法,其特征在于,所述方法还包括:
向存储接入节点发送第三元数据处理请求,所述第三元数据处理请求用于请求查询所述待查询文件的元数据,且所述第三元数据处理请求中携带待查询文件的归属元数据服务的路由信息;
接收所述存储接入节点返回的所述待查询文件的目标元数据,所述目标元数据为所述存储接入节点基于所述待查询文件的归属元数据服务的路由信息获取的。
16.一种元数据处理装置,其特征在于,应用于存储接入节点,所述装置包括:
第一接收模块,用于接收客户端发送的第一元数据处理请求;
解析模块,用于对所述第一元数据处理请求进行解析,确定所述第一元数据处理请求中携带待查询文件的上级目录的索引节点信息;
确定模块,用于基于所述索引节点信息,确定所述待查询文件的归属元数据服务信息;
在所述第一元数据处理请求中携带待查询文件的归属元数据服务的路由信息的情况下,基于所述待查询文件的归属元数据服务的路由信息,确定所述待查询文件的归属元数据服务信息;
第一发送模块,用于基于所述待查询文件的归属元数据服务信息,获取所述待查询文件的目标元数据,向所述客户端发送所述目标元数据。
17.一种元数据处理装置,其特征在于,应用于客户端,所述装置包括:
第二发送模块,用于向存储接入节点发送第一元数据处理请求,所述第一元数据处理请求中携带待查询文件的上级目录的索引节点信息,且所述第一元数据处理请求中携带待查询文件的归属元数据服务的路由信息;
第二接收模块,用于接收所述存储接入节点发送的目标元数据;其中,所述目标元数据是所述存储接入节点基于所述索引节点信息获取的。
18.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至11任一项所述元数据处理方法,或实现如权利要求12至15任一项所述元数据处理方法。
19.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至11任一项所述元数据处理方法,或实现如权利要求12至15任一项所述元数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311064170.1A CN116756096B (zh) | 2023-08-23 | 2023-08-23 | 元数据处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311064170.1A CN116756096B (zh) | 2023-08-23 | 2023-08-23 | 元数据处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116756096A CN116756096A (zh) | 2023-09-15 |
CN116756096B true CN116756096B (zh) | 2024-01-16 |
Family
ID=87950134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311064170.1A Active CN116756096B (zh) | 2023-08-23 | 2023-08-23 | 元数据处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116756096B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118034611B (zh) * | 2024-04-09 | 2024-07-16 | 联想凌拓科技有限公司 | 用于对文件的配额进行管理的方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819599A (zh) * | 2012-08-15 | 2012-12-12 | 华数传媒网络有限公司 | 在一致性哈希数据分布基础上构建层次目录的方法 |
CN103150394A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 面向高性能计算的分布式文件系统元数据管理方法 |
CN105550371A (zh) * | 2016-01-27 | 2016-05-04 | 华中科技大学 | 一种面向大数据环境的元数据组织方法和系统 |
CN113032356A (zh) * | 2021-03-31 | 2021-06-25 | 中电科航空电子有限公司 | 一种客舱分布式文件存储系统及实现方法 |
CN114610687A (zh) * | 2022-02-21 | 2022-06-10 | 清华大学 | 元数据存储方法及分布式文件系统 |
CN116303267A (zh) * | 2023-03-06 | 2023-06-23 | 北京百度网讯科技有限公司 | 数据访问方法、装置、设备以及存储介质 |
-
2023
- 2023-08-23 CN CN202311064170.1A patent/CN116756096B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102819599A (zh) * | 2012-08-15 | 2012-12-12 | 华数传媒网络有限公司 | 在一致性哈希数据分布基础上构建层次目录的方法 |
CN103150394A (zh) * | 2013-03-25 | 2013-06-12 | 中国人民解放军国防科学技术大学 | 面向高性能计算的分布式文件系统元数据管理方法 |
CN105550371A (zh) * | 2016-01-27 | 2016-05-04 | 华中科技大学 | 一种面向大数据环境的元数据组织方法和系统 |
CN113032356A (zh) * | 2021-03-31 | 2021-06-25 | 中电科航空电子有限公司 | 一种客舱分布式文件存储系统及实现方法 |
CN114610687A (zh) * | 2022-02-21 | 2022-06-10 | 清华大学 | 元数据存储方法及分布式文件系统 |
CN116303267A (zh) * | 2023-03-06 | 2023-06-23 | 北京百度网讯科技有限公司 | 数据访问方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116756096A (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10958752B2 (en) | Providing access to managed content | |
US9043372B2 (en) | Metadata subsystem for a distributed object store in a network storage system | |
US10467188B2 (en) | In-line policy management with multi-level object handle | |
CN103577123B (zh) | 一种基于hdfs的小文件优化存储方法 | |
US9565254B2 (en) | Object location service for network-based content repository | |
US7664742B2 (en) | Index data structure for a peer-to-peer network | |
CN103150394B (zh) | 面向高性能计算的分布式文件系统元数据管理方法 | |
US7702640B1 (en) | Stratified unbalanced trees for indexing of data items within a computer system | |
US8180813B1 (en) | Content repository implemented in a network storage server system | |
US8321487B1 (en) | Recovery of directory information | |
US20110137966A1 (en) | Methods and systems for providing a unified namespace for multiple network protocols | |
CN105183839A (zh) | 一种基于Hadoop的小文件分级索引的存储优化方法 | |
CN106446263B (zh) | 一种多媒体文件云存储平台及使用该云存储平台去冗的方法 | |
JP2006107446A (ja) | ネットワーク・ドキュメントのバッチ索引付けのためのシステムおよび方法 | |
US9336255B2 (en) | Techniques for traversal and storage of directory entries of a storage volume | |
WO2020125630A1 (zh) | 文件读取 | |
CN116756096B (zh) | 元数据处理方法、装置、电子设备及存储介质 | |
CN113032356A (zh) | 一种客舱分布式文件存储系统及实现方法 | |
JP2008262561A (ja) | 履歴上のファイル名およびロケーションをインデックス付きにすることによりファイル・サーチおよびファイル操作を支援するためのシステムおよび方法 | |
CN114003562B (zh) | 一种目录遍历方法、装置、设备及可读存储介质 | |
JP4327869B2 (ja) | 分散ファイルシステム、分散ファイルシステムサーバ及び分散ファイルシステムへのアクセス方法 | |
CN103685453B (zh) | 一种云存储系统中元数据的获取方法 | |
KR20170125665A (ko) | M2M/IoT 플랫폼에서의 시맨틱 정보 관리 방법 | |
WO2024022330A1 (zh) | 一种基于文件系统的元数据管理方法及其相关设备 | |
CN110347656A (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 |