CN116893788A - Metadata processing method, hardware acceleration network card, system and readable storage medium - Google Patents
Metadata processing method, hardware acceleration network card, system and readable storage medium Download PDFInfo
- Publication number
- CN116893788A CN116893788A CN202311154317.6A CN202311154317A CN116893788A CN 116893788 A CN116893788 A CN 116893788A CN 202311154317 A CN202311154317 A CN 202311154317A CN 116893788 A CN116893788 A CN 116893788A
- Authority
- CN
- China
- Prior art keywords
- metadata
- request
- message
- client
- cache
- 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.)
- Granted
Links
- 230000001133 acceleration Effects 0.000 title claims abstract description 182
- 238000003672 processing method Methods 0.000 title claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 109
- 238000000034 method Methods 0.000 claims abstract description 95
- 230000008569 process Effects 0.000 claims abstract description 75
- 230000004044 response Effects 0.000 claims description 259
- 230000001960 triggered effect Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 230000000694 effects Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
技术领域Technical field
本发明涉及存储技术领域,特别是涉及一种元数据处理方法、硬件加速网卡、系统及可读存储介质。The present invention relates to the field of storage technology, and in particular to a metadata processing method, a hardware acceleration network card, a system and a readable storage medium.
背景技术Background technique
随着用户需求的不断变化,存储系统保存的小文件(小于块大小的文件)数量越来越多。As user needs continue to change, storage systems save an increasing number of small files (files smaller than a block size).
存储系统需要同时管理元数据和数据。每个小文件的读需要,多次的元数据访问,才能完成数据的访问。由于小文件自身很小,就会造成超50%的处理都在进行元数据处理,不仅大量占用CPU,而且当前的元数据处理也是小文件处理性能的关键瓶颈。Storage systems need to manage both metadata and data. Reading each small file requires multiple metadata accesses to complete the data access. Since the small files themselves are very small, more than 50% of the processing is performed in metadata processing, which not only takes up a lot of CPU, but also the current metadata processing is also a key bottleneck in the performance of small file processing.
综上所述,如何有效地解决小文件处理等问题,是目前本领域技术人员急需解决的技术问题。To sum up, how to effectively solve problems such as small file processing is an urgent technical problem that those skilled in the art currently need to solve.
发明内容Contents of the invention
本发明的目的是提供元数据处理方法、硬件加速网卡、系统及可读存储介质,将小文件处理过程中的最为占用CPU处理性能的环节,卸载到硬件加速网卡中进行处理,可直接减少CPU处理工作量,也可以借助于硬件的加速性能,突破小文件处理的瓶颈。The purpose of the present invention is to provide a metadata processing method, a hardware acceleration network card, a system and a readable storage medium, and offload the link that most consumes CPU processing performance in the small file processing process to the hardware acceleration network card for processing, which can directly reduce the CPU To handle workloads, you can also rely on hardware acceleration performance to break through the bottleneck of small file processing.
为解决上述技术问题,本发明提供如下技术方案:In order to solve the above technical problems, the present invention provides the following technical solutions:
一种元数据处理方法,应用于硬件加速网卡,包括:A metadata processing method applied to hardware accelerated network cards, including:
接收元数据请求对应的报文,判断所述报文是否包括元数据;Receive the message corresponding to the metadata request and determine whether the message includes metadata;
若否,则将所述元数据请求发送到元数据服务,并利用所述元数据服务对所述元数据请求进行处理;If not, send the metadata request to the metadata service, and use the metadata service to process the metadata request;
若是,则利用加速器,将所述元数据的网络数据流解码为元数据缓存格式后,存入共享缓存;If so, use an accelerator to decode the metadata network data stream into a metadata cache format and then store it in the shared cache;
发送所述元数据请求到所述元数据服务,利用所述元数据服务对所述共享缓存中的所述元数据进行请求处理。Send the metadata request to the metadata service, and use the metadata service to perform request processing on the metadata in the shared cache.
优选地,所述利用加速器,将所述元数据的网络数据流解码为元数据缓存格式后,存入共享缓存,包括:Preferably, the accelerator is used to decode the network data stream of the metadata into a metadata cache format and then store it in the shared cache, including:
利用所述加速器,从所述共享缓存中申请空缓存;Utilize the accelerator to apply for an empty cache from the shared cache;
将所述元数据的网络数据流解码为元数据缓存格式后,存入所述空缓存。After the network data stream of the metadata is decoded into a metadata cache format, it is stored in the empty cache.
优选地,还包括:Preferably, it also includes:
创建与主机的共享缓存池;Create a shared cache pool with the host;
按照固定分配大小,将所述共享缓存池划分为多个单元;Divide the shared cache pool into multiple units according to a fixed allocation size;
其中,每个所述单元作为一个文件元数据的缓存。Each of the units serves as a cache of file metadata.
优选地,所述判断所述报文是否包括元数据,包括:Preferably, the step of determining whether the message includes metadata includes:
读取所述报文的头类型;Read the header type of the message;
判断所述头类型是否为Lookup应答、Getattr应答、Readdir应答、Setattr发送、Setxattr发送或Create发送;Determine whether the header type is a Lookup response, Getattr response, Readdir response, Setattr send, Setxattr send or Create send;
若是,则确定所述报文中包括所述元数据;If so, determine that the metadata is included in the message;
若否,则确定所述报文中未包括所述元数据。If not, it is determined that the metadata is not included in the message.
优选地,所述元数据请求对应的报文为所述元数据请求对应的请求报文或应答报文。Preferably, the message corresponding to the metadata request is a request message or a response message corresponding to the metadata request.
优选地,所述硬件加速网卡为数据处理器,所述加速器为FPGA。Preferably, the hardware acceleration network card is a data processor, and the accelerator is an FPGA.
优选地,还包括:Preferably, it also includes:
在所述元数据服务或客户端产生发送请求后,确定所述发送请求对应的发送报文是否包括目标元数据;After the metadata service or the client generates a sending request, determine whether the sending message corresponding to the sending request includes target metadata;
若是,则利用所述加速器,通过所述发送请求的元数据引用,从所述共享缓存中拉取需要序列化的目标元数据缓存,并将所述目标元数据缓存编码为网络数据流,得到目标报文;If so, use the accelerator to pull the target metadata cache that needs to be serialized from the shared cache through the metadata reference of the sending request, and encode the target metadata cache into a network data stream to obtain target message;
发送所述目标报文。Send the target message.
优选地,确定所述发送请求对应的发送报文是否包括目标元数据,包括:Preferably, determining whether the sending message corresponding to the sending request includes target metadata includes:
读取所述发送报文的头类型;Read the header type of the sent message;
判断所述头类型是否为Lookup应答、Getattr应答、Readdir应答、Setattr发送、Setxattr发送或Create发送;Determine whether the header type is a Lookup response, Getattr response, Readdir response, Setattr send, Setxattr send or Create send;
若是,则确定所述目标报文中包括所述目标元数据;If so, determine that the target message includes the target metadata;
若否,则确定所述目标报文中未包括所述目标元数据。If not, it is determined that the target metadata is not included in the target message.
一种硬件加速网卡,包括:A hardware-accelerated network card, including:
在所述硬件加速网卡中可实施如上述的元数据处理方法的步骤;The steps of the above metadata processing method can be implemented in the hardware acceleration network card;
所述硬件加速网卡通过加速器对元数据的序列号和反序列化进行处理。The hardware acceleration network card processes the serial number and deserialization of metadata through an accelerator.
一种元数据处理系统,包括:A metadata processing system including:
客户机和服务集群;Client and service clusters;
其中,所述客户机中包括客户端、共享缓存和上述的硬件加速网卡;Wherein, the client computer includes a client, a shared cache and the above-mentioned hardware acceleration network card;
所述服务集群包括存储节点,且所述存储节点中包括元数据服务、共享缓存和如上述的硬件加速网卡。The service cluster includes a storage node, and the storage node includes a metadata service, a shared cache, and the above-mentioned hardware acceleration network card.
一种元数据处理方法,应用于如上述的元数据处理系统,包括:A metadata processing method, applied to the above-mentioned metadata processing system, including:
所述客户端产生请求后,所述客户机本地的所述硬件加速网卡向所述存储节点发送请求报文;After the client generates a request, the hardware acceleration network card local to the client sends a request message to the storage node;
所述存储节点,在接收到所述请求报文后,利用本地的所述元数据服务、所述共享缓存和所述硬件加速网卡对所述请求报文进行处理,并向所述客户机发送应答报文;After receiving the request message, the storage node uses the local metadata service, the shared cache and the hardware acceleration network card to process the request message and sends it to the client. response message;
所述客户机接收所述应答报文,并处理请求结果。The client receives the response message and processes the request result.
优选地,所述客户端产生请求后,所述客户机本地的所述硬件加速网卡向所述存储节点发送请求报文,包括:Preferably, after the client generates a request, the local hardware acceleration network card of the client sends a request message to the storage node, including:
判断所述请求是否需要携带元数据;Determine whether the request needs to carry metadata;
若是,则所述客户机本地的所述硬件加速网卡向所述存储节点发送与所述请求的请求类型对应的请求报文;If so, the local hardware acceleration network card of the client sends a request message corresponding to the request type of the request to the storage node;
若否,则所述客户机本地的所述硬件加速网卡,利用加速器将所述请求对应的元数据编码为网络数据流,并将所述网络数据流与所述请求的请求类型对应的请求报文头进行组合,得到所述请求报文并将所述请求报文发送给所述存储节点。If not, the client's local hardware acceleration network card uses an accelerator to encode the metadata corresponding to the request into a network data stream, and reports the network data stream and the request corresponding to the request type of the request. The headers are combined to obtain the request message and send the request message to the storage node.
优选地,所述判断所述请求是否需要携带元数据,包括:Preferably, determining whether the request needs to carry metadata includes:
判断所述请求的请求内容中是否具有元数据引用;Determine whether there is a metadata reference in the request content of the request;
如果是,则确定所述请求需要携带元数据;If so, it is determined that the request needs to carry metadata;
如果否,则确定所述请求无需携带元数据。If not, it is determined that the request does not need to carry metadata.
优选地,所述存储节点,在接收到所述请求报文后,利用本地的所述元数据服务、所述共享缓存和所述硬件加速网卡对所述请求报文进行处理,并向所述客户机发送应答报文,包括:Preferably, after receiving the request message, the storage node processes the request message using the local metadata service, the shared cache and the hardware acceleration network card, and sends the request message to the The client sends a response message, including:
在所述存储节点接收到请求报文后,利用本地的所述硬件加速网卡识别所述请求报文内是否包括元数据,若是,则基于加速器将所述网络数据流解码为元数据缓存格式,并存入到所述共享缓存中,并将所述请求发送给所述元数据服务;After the storage node receives the request message, the local hardware acceleration network card is used to identify whether the request message includes metadata. If so, the network data stream is decoded into a metadata cache format based on the accelerator, And store it in the shared cache, and send the request to the metadata service;
所述元数据服务基于所述请求和所述共享缓存中的元数据,对所述请求进行应答,产生应答报文;The metadata service responds to the request and generates a response message based on the request and the metadata in the shared cache;
若所述请求报文中不包括元数据,则直接将所述请求发送给所述元数据服务进行应答,产生应答报文;If the request message does not include metadata, the request is directly sent to the metadata service for response and a response message is generated;
若所述应答报文需要加入元数据,则所述硬件加速网卡可根据元数据引用,从所述共享缓存中读取相应元数据,并将所述元数据编码为网络数据流,将所述网络数据流与对应的应答报文头进行组合,得到具有元数据的应答报文,并发送给所述客户机。If metadata needs to be added to the response message, the hardware acceleration network card can read the corresponding metadata from the shared cache according to the metadata reference, encode the metadata into a network data stream, and convert the metadata into a network data stream. The network data flow is combined with the corresponding response message header to obtain a response message with metadata, and is sent to the client.
优选地,所述客户机接收所述应答报文,并处理请求结果,包括:Preferably, the client receives the response message and processes the request result, including:
所述客户机本地的硬件加速器网卡识别所述应答报文是否包括元数据,如果是,则利用加速器将所述应答报文中元数据从网络数据流解码为元数据缓存格式,并存入到本地共享缓存,并将应答消息发送给客户端;The client's local hardware accelerator network card identifies whether the response message includes metadata. If so, the accelerator is used to decode the metadata in the response message from the network data stream into a metadata cache format and store it in the The local shared cache and the response message are sent to the client;
所述客户端根据应答消息和所述本地共享缓存中的元数据,确定请求结果并进行输出显示。The client determines the request result and outputs the result according to the response message and the metadata in the local shared cache.
优选地,所述请求为Lookup请求、Getattr请求、Readdir请求、Setattr请求、Setxattr请求或Create请求。Preferably, the request is a Lookup request, a Getattr request, a Readdir request, a Setattr request, a Setxattr request or a Create request.
优选地,所述客户端产生请求后,所述客户机本地的所述硬件加速网卡向所述存储节点发送请求报文,包括:Preferably, after the client generates a request, the local hardware acceleration network card of the client sends a request message to the storage node, including:
所述客户端产生lookup请求;其中,所述lookup请求为查询目标路径的元数据是否存在的请求;The client generates a lookup request; wherein the lookup request is a request to query whether the metadata of the target path exists;
所述客户机本地的所述硬件加速网卡将所述lookup请求封装成lookup请求报文,并发送所述lookup请求报文到所述存储节点;The hardware acceleration network card local to the client encapsulates the lookup request into a lookup request message, and sends the lookup request message to the storage node;
相应地,所述存储节点,在接收到所述请求报文后,利用本地的所述元数据服务、所述共享缓存和所述硬件加速网卡对所述请求报文进行处理,并向所述客户机发送应答报文,包括:Correspondingly, after receiving the request message, the storage node uses the local metadata service, the shared cache and the hardware acceleration network card to process the request message, and sends the request message to the The client sends a response message, including:
所述存储节点本地的所述硬件加速网卡将所述lookup请求报文分发到本地的所述元数据服务处理,通过路径检索元数据缓存;The hardware acceleration network card local to the storage node distributes the lookup request message to the local metadata service for processing, and retrieves the metadata cache through the path;
未检索到元数据缓存,则向所述客户端发送无元数据的lookup请求应答报文;If the metadata cache is not retrieved, a lookup request response message without metadata is sent to the client;
检索到元数据缓存,则将缓存引用关联到所述lookup请求,并调用应答处理线程;If the metadata cache is retrieved, the cache reference is associated with the lookup request and the response processing thread is called;
所述应答处理线程调用本地的所述硬件加速网卡,在识别到所述lookup请求的应答关联元数据缓存,则将元数据缓存地址指针提交给FPGA编码,输出网络数据流;The response processing thread calls the local hardware acceleration network card. After identifying the metadata cache associated with the response to the lookup request, the metadata cache address pointer is submitted to the FPGA for encoding and the network data stream is output;
组合所述网络数据流和所述lookup请求的应答报文头,得到有元数据的lookup请求应答报文,发送到所述客户端;Combine the network data stream and the response header of the lookup request to obtain a lookup request response message with metadata, and send it to the client;
相应地,所述客户机接收所述应答报文,并处理请求结果,包括:Correspondingly, the client receives the response message and processes the request results, including:
所述客户机本地的所述硬件加速网卡接收到lookup请求应答报文,识别所述lookup请求应答报文是否包括元数据信息;The hardware acceleration network card local to the client receives the lookup request response message and identifies whether the lookup request response message includes metadata information;
若是,则触发元数据信息的解码,所述客户机本地的所述硬件加速网卡从本地共享缓存中申请的空缓存,将网络数据流解码为元数据缓存格式后,向所述客户端上送应答结果。If so, decoding of metadata information is triggered. The local hardware acceleration network card of the client applies for an empty cache from the local shared cache, decodes the network data stream into the metadata cache format, and then sends it to the client. response result.
优选地,所述客户端产生请求后,所述客户机本地的所述硬件加速网卡向所述存储节点发送请求报文,包括:Preferably, after the client generates a request, the local hardware acceleration network card of the client sends a request message to the storage node, including:
所述客户端产生getattr请求;其中,所述getattr请求为目标id元数据是否存在的请求;The client generates a getattr request; wherein the getattr request is a request for whether the target id metadata exists;
所述客户机本地的所述硬件加速网卡将所述getattr请求封装成getattr请求报文,并发送所述getattr请求报文到所述存储节点;The hardware acceleration network card local to the client encapsulates the getattr request into a getattr request message, and sends the getattr request message to the storage node;
相应地,所述存储节点,在接收到所述请求报文后,利用本地的所述元数据服务、所述共享缓存和所述硬件加速网卡对所述请求报文进行处理,并向所述客户机发送应答报文,包括:Correspondingly, after receiving the request message, the storage node uses the local metadata service, the shared cache and the hardware acceleration network card to process the request message, and sends the request message to the The client sends a response message, including:
所述存储节点本地的所述硬件加速网卡将所述getattr请求报文分发到本地的所述元数据服务处理,通过id检索元数据缓存;The hardware acceleration network card local to the storage node distributes the getattr request message to the local metadata service for processing, and retrieves the metadata cache through the id;
未检索到元数据缓存,则向所述客户端发送无元数据的getattr请求应答报文;If the metadata cache is not retrieved, a getattr request response message without metadata is sent to the client;
检索到元数据缓存,则将缓存引用关联到所述getattr请求,并调用应答处理线程;If the metadata cache is retrieved, the cache reference is associated with the getattr request and the response processing thread is called;
所述应答处理线程调用本地的所述硬件加速网卡,在识别到所述getattr请求的应答关联元数据缓存,则将元数据缓存地址指针提交给FPGA编码,输出网络数据流;The response processing thread calls the local hardware acceleration network card, and after identifying the metadata cache associated with the response to the getattr request, submits the metadata cache address pointer to the FPGA for encoding and outputs the network data stream;
组合所述网络数据流和所述getattr请求的应答报文头,得到有元数据的getattr请求应答报文,发送到所述客户端;Combine the network data stream and the response message header of the getattr request to obtain a getattr request response message with metadata, and send it to the client;
相应地,所述客户机接收所述应答报文,并处理请求结果,包括:Correspondingly, the client receives the response message and processes the request result, including:
所述客户机本地的所述硬件加速网卡接收到getattr请求应答报文,识别所述getattr请求应答报文是否包括元数据信息;The hardware acceleration network card local to the client receives the getattr request response message and identifies whether the getattr request response message includes metadata information;
若是,则触发元数据信息的解码,所述客户机本地的所述硬件加速网卡从本地共享缓存中申请的空缓存,将网络数据解码为元数据缓存格式后向所述客户端上送应答结果。If so, decoding of metadata information is triggered. The local hardware acceleration network card of the client applies for an empty cache from the local shared cache, decodes the network data into the metadata cache format and sends the response result to the client. .
优选地,所述客户端产生请求后,所述客户机本地的所述硬件加速网卡向所述存储节点发送请求报文,包括:Preferably, after the client generates a request, the local hardware acceleration network card of the client sends a request message to the storage node, including:
所述客户端产生readdir请求;其中,所述readdir请求为查询目标目录的所有元数据信息的请求;The client generates a readdir request; wherein the readdir request is a request to query all metadata information of the target directory;
所述客户机本地的所述硬件加速网卡将所述readdir请求封装成readdir请求报文,并发送所述readdir请求报文到所述存储节点;The hardware acceleration network card local to the client encapsulates the readdir request into a readdir request message, and sends the readdir request message to the storage node;
相应地,所述存储节点,在接收到所述请求报文后,利用本地的所述元数据服务、所述共享缓存和所述硬件加速网卡对所述请求报文进行处理,并向所述客户机发送应答报文,包括:Correspondingly, after receiving the request message, the storage node uses the local metadata service, the shared cache and the hardware acceleration network card to process the request message, and sends the request message to the The client sends a response message, including:
所述存储节点本地的所述硬件加速网卡将所述readdir请求报文分发到本地的所述元数据服务处理,通过所述目标目录的id检索所有元数据缓存,并根据readdir的偏移量选择返回的元数据缓存集合;The hardware acceleration network card local to the storage node distributes the readdir request message to the local metadata service for processing, retrieves all metadata caches through the id of the target directory, and selects according to the offset of readdir. The returned metadata cache collection;
未检索到所述元数据缓存集合,则向所述客户端发送无元数据的readdir请求应答报文;If the metadata cache set is not retrieved, a readdir request response message without metadata is sent to the client;
检索到所述元数据缓存集合,则将缓存引用关联到所述readdir请求,并调用应答处理线程;When the metadata cache collection is retrieved, the cache reference is associated with the readdir request and the response processing thread is called;
所述应答处理线程调用本地的所述硬件加速网卡,识别到所述readdir请求的应答关联元数据缓存,则将所述元数据缓存集合中的元数据缓存递交给FPGA编码,输出网络数据流;The response processing thread calls the local hardware acceleration network card, identifies the metadata cache associated with the response to the readdir request, then submits the metadata cache in the metadata cache set to FPGA encoding, and outputs the network data stream;
组合所述网络数据流和所述readdir请求的应答报文头,得到有元数据的readdir请求应答报文,发送到所述客户端;Combine the network data stream and the response message header of the readdir request to obtain a readdir request response message with metadata, and send it to the client;
相应地,所述客户机接收所述应答报文,并处理请求结果,包括:Correspondingly, the client receives the response message and processes the request result, including:
所述客户机本地的所述硬件加速网卡接收到readdir请求应答报文,识别所述readdir请求应答报文是否包括元数据信息;The hardware acceleration network card local to the client receives the readdir request response message and identifies whether the readdir request response message includes metadata information;
若是,则触发元数据信息的解码,所述客户机本地的所述硬件加速网卡从本地共享缓存中申请的多个空缓存,将网络流解码为元数据缓存格式后向所述客户端上送应答结果。If so, decoding of metadata information is triggered. The local hardware acceleration network card of the client applies for multiple empty caches from the local shared cache, decodes the network stream into a metadata cache format and sends it to the client. response result.
优选地,所述客户端产生请求后,所述客户机本地的所述硬件加速网卡向所述存储节点发送请求报文,包括:Preferably, after the client generates a request, the local hardware acceleration network card of the client sends a request message to the storage node, including:
所述客户端产生create请求;其中,所述create请求为创建目标元数据的请求;The client generates a create request; wherein the create request is a request to create target metadata;
所述客户机本地的所述硬件加速网卡将所述create请求所引用的元数据编码为网络数据流,并将所述网络数据流和所述create请求的报文头封装成create请求报文,并发送所述create请求报文到所述存储节点;The hardware acceleration network card local to the client encodes the metadata referenced by the create request into a network data stream, and encapsulates the network data stream and the message header of the create request into a create request message, And send the create request message to the storage node;
相应地,所述存储节点,在接收到所述请求报文后,利用本地的所述元数据服务、所述共享缓存和所述硬件加速网卡对所述请求报文进行处理,并向所述客户机发送应答报文,包括:Correspondingly, after receiving the request message, the storage node uses the local metadata service, the shared cache and the hardware acceleration network card to process the request message, and sends the request message to the The client sends a response message, including:
所述存储节点本地的所述硬件加速网卡识别到所述create请求报文包括元数据信息,触发FPGA从所述共享缓存中申请空缓存,并将所述网络数据流解码为元数据缓存格式后写入所述空缓存后,将所述create请求发送给所述元数据服务;The hardware acceleration network card local to the storage node recognizes that the create request message includes metadata information, triggers the FPGA to apply for an empty cache from the shared cache, and decodes the network data stream into a metadata cache format. After writing the empty cache, send the create request to the metadata service;
所述元数据服务器根据所述create请求和所述共享缓存中的目标元数据进行元数据创建处理,将所述目标元数据关联到文件元数据缓存;创建完成之后,向本地的所述硬件加速网卡返回create请求应答报文;The metadata server performs metadata creation processing according to the create request and the target metadata in the shared cache, and associates the target metadata to the file metadata cache; after the creation is completed, it accelerates the local hardware to The network card returns a create request response message;
所述客户机本地的所述硬件加速网卡接收到所述create请求应答报文,直接发送所述create请求应答报文给所述客户端;The local hardware acceleration network card of the client receives the create request response message and directly sends the create request response message to the client;
相应地,所述客户机接收所述应答报文,并处理请求结果,包括:Correspondingly, the client receives the response message and processes the request results, including:
所述客户机本地的所述硬件加速网卡接收到create请求应答报文,向所述客户端上送create请求应答消息。The local hardware acceleration network card of the client receives the create request response message and sends the create request response message to the client.
优选地,所述客户端产生请求后,所述客户机本地的所述硬件加速网卡向所述存储节点发送请求报文,包括:Preferably, after the client generates a request, the local hardware acceleration network card of the client sends a request message to the storage node, including:
所述客户端产生setattr请求;其中,所述setattr请求为更新目标文件或目标目录的元数据的请求;The client generates a setattr request; wherein the setattr request is a request to update the metadata of the target file or target directory;
所述客户机本地的所述硬件加速网卡将所述setattr请求引用的元数据编码为网络数据流,将setattr请求报文头和所述网络数据流封装成setattr请求报文,并发送所述setattr请求报文到所述存储节点;The hardware acceleration network card local to the client encodes the metadata referenced by the setattr request into a network data stream, encapsulates the setattr request message header and the network data stream into a setattr request message, and sends the setattr request message. Request the message to the storage node;
相应地,所述存储节点,在接收到所述请求报文后,利用本地的所述元数据服务、所述共享缓存和所述硬件加速网卡对所述请求报文进行处理,并向所述客户机发送应答报文,包括:Correspondingly, after receiving the request message, the storage node uses the local metadata service, the shared cache and the hardware acceleration network card to process the request message, and sends the request message to the The client sends a response message, including:
所述存储节点本地的所述硬件加速网卡识别到所述setattr请求报文包括元数据信息,触发FPGA从所述共享缓存中申请空缓存,并将所述网络数据流解码为元数据缓存格式后写入所述空缓存后,将所述setattr请求发送给所述元数据服务;The hardware acceleration network card local to the storage node recognizes that the setattr request message includes metadata information, triggers the FPGA to apply for an empty cache from the shared cache, and decodes the network data stream into a metadata cache format. After writing the empty cache, send the setattr request to the metadata service;
所述元数据服务器根据所述setattr请求和所述共享缓存中的目标元数据进行元数据更替处理后,向本地的所述硬件加速网卡返回setattr请求应答报文;After the metadata server performs metadata replacement processing based on the setattr request and the target metadata in the shared cache, it returns a setattr request response message to the local hardware acceleration network card;
所述存储节点的本地的所述硬件加速网卡接收到所述setattr请求应答报文,直接发送所述setattr请求应答报文给所述客户机;The local hardware acceleration network card of the storage node receives the setattr request response message and directly sends the setattr request response message to the client;
相应地,所述客户机接收所述应答报文,并处理请求结果,包括:Correspondingly, the client receives the response message and processes the request results, including:
所述客户机本地的所述硬件加速网卡接收到setattr请求应答报文直接向所述客户端上送应答结果。The local hardware acceleration network card of the client receives the setattr request response message and directly sends the response result to the client.
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述元数据处理方法的步骤。A readable storage medium. A computer program is stored on the readable storage medium. When the computer program is executed by a processor, the steps of the above metadata processing method are implemented.
应用本发明实施例所提供的方法,应用于硬件加速网卡,包括:接收元数据请求对应的报文,判断报文是否包括元数据;若否,则将元数据请求发送到元数据服务,并利用元数据服务对元数据请求进行处理;若是,则利用加速器,将元数据的网络数据流解码为元数据缓存格式后,存入共享缓存;发送元数据请求到元数据服务,利用元数据服务对共享缓存中的元数据进行请求处理。Applying the method provided by the embodiment of the present invention to a hardware acceleration network card includes: receiving a message corresponding to a metadata request, determining whether the message includes metadata; if not, sending the metadata request to the metadata service, and Use the metadata service to process the metadata request; if so, use the accelerator to decode the metadata network data stream into the metadata cache format and store it in the shared cache; send the metadata request to the metadata service, use the metadata service Performs request processing on metadata in the shared cache.
在本发明中,在接收到元数据请求对应的报文之后,首先由硬件加速网卡判断该报文中是否包括元数据。如果报文中没有元数据,则直接将该元数据请求发送给元数据服务,以便元数据服务对该元数据请求进行处理。如果报文中有元数据,则利用加速器将元数据自网络数据流解码元数据缓存格式后,写到共享缓存中,然后再将元数据请求发送到元数据服务。如此,元数据服务可直接基于共享缓存中的元数据进行请求处理。In the present invention, after receiving the message corresponding to the metadata request, the hardware acceleration network card first determines whether the message includes metadata. If there is no metadata in the message, the metadata request is directly sent to the metadata service so that the metadata service can process the metadata request. If there is metadata in the message, the accelerator is used to decode the metadata from the network data stream into the metadata cache format, write it to the shared cache, and then send the metadata request to the metadata service. In this way, the metadata service can handle requests directly based on the metadata in the shared cache.
本发明的技术效果:将小文件处理过程中的最为占用CPU处理性能的环节,即元数据的反序列化,卸载到硬件加速网卡中进行处理,可直接减少CPU处理工作量,也可以借助于硬件的加速性能,突破小文件处理效率的瓶颈。The technical effect of the present invention: offloading the link that consumes the most CPU processing performance in the small file processing process, that is, the deserialization of metadata, to the hardware acceleration network card for processing can directly reduce the CPU processing workload, and can also use the The hardware acceleration performance breaks through the bottleneck of small file processing efficiency.
相应地,本发明实施例还提供了与上述元数据处理方法相对应的元数据处理方法、硬件加速网卡、系统及可读存储介质,具有上述技术效果,在此不再赘述。Correspondingly, embodiments of the present invention also provide a metadata processing method, a hardware acceleration network card, a system, and a readable storage medium corresponding to the above metadata processing method, which have the above technical effects and will not be described again here.
附图说明Description of the drawings
为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions in the embodiments of the present invention or related technologies, the drawings needed to be used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the drawings in the following description are only for illustration purposes. For some embodiments of the invention, those of ordinary skill in the art can also obtain other drawings based on these drawings without exerting creative efforts.
图1为本发明实施例中一种元数据处理方法的实施流程图;Figure 1 is an implementation flow chart of a metadata processing method in an embodiment of the present invention;
图2为本发明实施例中一种元数据反序列化处理示意图;Figure 2 is a schematic diagram of metadata deserialization processing in an embodiment of the present invention;
图3为本发明实施例中一种元数据处理方法中的序列化实施流程图;Figure 3 is a flow chart of serialization implementation in a metadata processing method in an embodiment of the present invention;
图4为本发明实施例中一种元数据序列化处理示意图;Figure 4 is a schematic diagram of metadata serialization processing in an embodiment of the present invention;
图5为本发明实施例中一种硬件加速网卡的结构示意图;Figure 5 is a schematic structural diagram of a hardware acceleration network card in an embodiment of the present invention;
图6为本发明实施例中一种元数据处理系统的结构示意图;Figure 6 is a schematic structural diagram of a metadata processing system in an embodiment of the present invention;
图7为本发明实施例中应用于元数据处理系统的一种元数据处理方法的具体实施流程图;Figure 7 is a specific implementation flow chart of a metadata processing method applied to a metadata processing system in an embodiment of the present invention;
图8为本发明实施例中一种元数据处理方法的交互流程示意图。Figure 8 is a schematic interactive flow diagram of a metadata processing method in an embodiment of the present invention.
具体实施方式Detailed ways
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。In order to enable those skilled in the art to better understand the solution of the present invention, the present invention will be further described in detail below in conjunction with the accompanying drawings and specific embodiments. Obviously, the described embodiments are only some of the embodiments of the present invention, but not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of the present invention.
为便于本领域技术人员更好地理解和实施本发明实施例所提供的技术方案,下面对相关术语进行解释说明:In order to facilitate those skilled in the art to better understand and implement the technical solutions provided by the embodiments of the present invention, the relevant terms are explained below:
分布式文件系统:分布式文件系统(Distributed File System,DFS)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点(即节点可视为一台计算机)相连;或是若干不同的逻辑磁盘分区或卷标组合在一起而形成的完整的有层次的文件系统。Distributed File System: Distributed File System (DFS) means that the physical storage resources managed by the file system are not necessarily directly connected to the local node, but are connected to the node through the computer network (that is, the node can be regarded as a computer ) are connected; or a complete hierarchical file system is formed by combining several different logical disk partitions or volumes.
文件元数据服务:常见的元数据管理可以分为集中式和分布式元数据管理架构。集中式元数据管理架构采用单一的元数据服务器,实现简单,但是存在单点故障等问题。分布式元数据管理架构则将元数据分散在多个结点上。File metadata service: Common metadata management can be divided into centralized and distributed metadata management architectures. The centralized metadata management architecture uses a single metadata server, which is simple to implement, but has problems such as single points of failure. The distributed metadata management architecture disperses metadata across multiple nodes.
元数据:描述数据的数据,对数据及信息资源的描述性信息。Metadata: Data describing data, descriptive information about data and information resources.
文件元数据:文件系统的元数据,是描述文件数据的数据。例如,linux文件系统的inode(模式)。文件元数据是文件的属性信息,包括:文件类型:用于表示文件的类型,如,普通文件,目录,链接文件等。File metadata: File system metadata is data that describes file data. For example, the inode (mode) of the linux file system. File metadata is the attribute information of the file, including: File type: used to indicate the type of file, such as ordinary files, directories, linked files, etc.
权限:用户或组对文件可以执行的操作(读,写,执行)。Permissions: What operations a user or group can perform on a file (read, write, execute).
连接数:该文件的硬链接数。Number of links: The number of hard links to the file.
UID:文件所有者的ID,即用户ID。UID: The ID of the file owner, that is, the user ID.
GID:文件所有组的ID,即组ID。GID: The ID of all groups of the file, that is, the group ID.
文件大小:文件占用的存储空间。File size: The storage space occupied by the file.
时间戳:文件最后一次被访问的时间(Access time);文件最后一次被修改时间(Modify time,mtime);文件inode最后一次被修改的时间(Change time,即ctime)。Timestamp: the time when the file was last accessed (Access time); the time when the file was last modified (Modify time, mtime); the time when the file inode was last modified (Change time, ctime).
访问控制列表:特殊的用户或组权限,如,某个用户对该文件所拥有的权限。Access control list: Special user or group permissions, such as the permissions a certain user has on the file.
文件数据布局:数据块的索引信息,文件包含数据块的存储位置信息或者地址。File data layout: index information of data blocks. The file contains storage location information or address of data blocks.
分布式存储架构由三个部分组成:客户端、元数据服务器和数据服务器,其中,客户端负责发送读写请求,缓存文件元数据和文件数据;元数据服务器负责管理元数据和处理客户端的请求,是整个系统的核心组件;数据服务器负责存放文件数据,保证数据的可用性和完整性。The distributed storage architecture consists of three parts: client, metadata server and data server. The client is responsible for sending read and write requests, caching file metadata and file data; the metadata server is responsible for managing metadata and processing client requests. , is the core component of the entire system; the data server is responsible for storing file data and ensuring the availability and integrity of the data.
FPGA:属于专用集成电路中的一种半定制电路(Field-Programmable GateArray),是可编程的逻辑列阵。FPGA: It is a semi-customized circuit (Field-Programmable GateArray) among application-specific integrated circuits. It is a programmable logic array.
DPU:数据处理器(Data Processing Unit)是面向以数据为中心的计算处理器,集完整的数据中心功能于单芯片。DPU: Data Processing Unit is a data-centered computing processor that integrates complete data center functions on a single chip.
本发明实施例中一种元数据处理方法可应用于硬件加速网卡,由于元数据的序列化和反序列化可以发生在客户机中,也可以发生在服务集群中的存储节点中,因而该硬件加速网卡可以位于客户机中,也可以位于服务集群的存储节点中,也就是该方法可以分别在客户机或存储节点中实施,该方法也可以在客户机或存储节点中同时实施。无论在哪个设备上实施,都可以参照图1和图2。A metadata processing method in the embodiment of the present invention can be applied to hardware accelerated network cards. Since the serialization and deserialization of metadata can occur in the client or in the storage node in the service cluster, the hardware The acceleration network card can be located in the client or in the storage node of the service cluster, that is, the method can be implemented in the client or the storage node respectively, or the method can be implemented in the client or the storage node at the same time. Regardless of which device it is implemented on, refer to Figures 1 and 2.
下面以硬件加速网卡为数据处理器,加速器为FPGA为例,对该元数据处理方法进行详细说明,对于其他硬件加速网卡和加速器的实现模式可参照于此,在此不再一一赘述。The following takes the hardware acceleration network card as the data processor and the accelerator as the FPGA as an example to describe the metadata processing method in detail. For the implementation modes of other hardware acceleration network cards and accelerators, you can refer to this and will not go into details here.
S101、接收元数据请求对应的报文,判断报文是否包括元数据。S101. Receive the message corresponding to the metadata request and determine whether the message includes metadata.
当接收到元数据请求对应的报文之后,可以先判断一下该报文是否包括元数据。After receiving the message corresponding to the metadata request, you can first determine whether the message includes metadata.
一般地,如果接收到的报文包括元数据,则需要将报告中以网络数据流格式存在的元数据解码/反序列化为元数据缓存格式的数据。Generally, if the received message includes metadata, the metadata that exists in the network data stream format in the report needs to be decoded/deserialized into data in the metadata cache format.
因此,在本发明中,在接收到元数据请求对应的报文之后,需要识别确定该报文是否包括元数据。Therefore, in the present invention, after receiving the message corresponding to the metadata request, it is necessary to identify and determine whether the message includes metadata.
其中,元数据请求对应的报文为元数据请求对应的请求报文或应答报文。由于客户端可能会接收到服务端发送的携带有元数据的报文,服务端也可能会接收到客户端发送的携带有元数据的报文,因而,在本实施例中,元数据请求对应的报文可以具体为客户端发出的请求报文,也可以为服务器端反馈的应答报文。The message corresponding to the metadata request is a request message or a response message corresponding to the metadata request. Since the client may receive a message carrying metadata sent by the server, and the server may also receive a message carrying metadata sent by the client, in this embodiment, the metadata request corresponds to The message can be specifically a request message sent by the client, or a response message fed back by the server.
在本发明中的一种具体实施方式中,判断报文是否包括元数据,包括:In a specific implementation of the present invention, determining whether a message includes metadata includes:
读取报文的头类型;Read the header type of the message;
判断头类型是否为Lookup应答、Getattr应答、Readdir应答、Setattr发送、Setxattr发送或Create发送;Determine whether the header type is Lookup response, Getattr response, Readdir response, Setattr sending, Setxattr sending or Create sending;
若是,则确定报文中包括元数据;If so, it is determined that the message includes metadata;
若否,则确定报文中未包括元数据。If not, it is determined that metadata is not included in the message.
为便于描述,下面将上述多个步骤结合起来进行说明。For the convenience of description, the above steps are combined for description below.
一般的,对于Lookup,通常服务器反馈的应答报文中会携带元数据;Generally, for Lookup, metadata is usually carried in the response message fed back by the server;
对于Getattr,通常服务器反馈的应答报文中会携带元数据;对于Readdir,通常服务器反馈的应答报文中会携带元数据;对于Setattr,通常客户端发送的请求报文中会携带元数据;对于Setxattr,通常客户端发送的请求报文中会携带元数据;对于Create,通常客户端发送的请求报文中会携带元数据;因而,可以基于报文头中头类型是否属于Lookup应答、Getattr应答、Readdir应答、Setattr发送、Setxattr发送或Create发送,如果属于,则可确定当前报文中包括元数据,否则,即无。For Getattr, metadata is usually carried in the response message fed back by the server; for Readdir, metadata is usually carried in the response message fed back by the server; for Setattr, metadata is usually carried in the request message sent by the client; for Readdir, metadata is usually carried in the response message fed back by the server. Setxattr, usually the request message sent by the client will carry metadata; for Create, usually the request message sent by the client will carry metadata; therefore, it can be based on whether the header type in the message header belongs to Lookup response or Getattr response , Readdir response, Setattr sending, Setxattr sending or Create sending, if it belongs, it can be determined that the current message contains metadata, otherwise, it is none.
在确定判断结果为否,则可执行步骤S102;在确定判断结果为是,则可执行步骤S103。When it is determined that the judgment result is no, step S102 can be executed; when it is determined that the judgment result is yes, step S103 can be executed.
S102、将元数据请求发送到元数据服务,并利用元数据服务对元数据请求进行处理。S102. Send the metadata request to the metadata service, and use the metadata service to process the metadata request.
具体的,可将该元数据请求的报文直接发送元数据服务。Specifically, the metadata request message can be sent directly to the metadata service.
元数据服务接收到元数据请求的报文后可进行相关元数据处理。After receiving the metadata request message, the metadata service can perform relevant metadata processing.
S103、利用加速器,将元数据的网络数据流解码为元数据缓存格式后,存入共享缓存。S103. Use an accelerator to decode the metadata network data stream into a metadata cache format and store it in the shared cache.
在本实施例中,加速器可以采用常规的可实现序列化和反序列化的加速器即可。In this embodiment, the accelerator can be a conventional accelerator that can implement serialization and deserialization.
采用加速器可以将网络数据流格式的元数据解码为元数据缓存格式,并存入到共享缓存中。The accelerator can be used to decode metadata in network data stream format into metadata cache format and store it in the shared cache.
将元数据自网络数据流格式解码为元数据缓存格式,即为元数据的反序列化;反之,将元数据自元数据缓存格式编码为网络数据流格式,即为元数据的序列化。Decoding metadata from network data stream format to metadata cache format is deserialization of metadata; conversely, encoding metadata from metadata cache format to network data stream format is serialization of metadata.
其中,在将元数据解码之后,可获得标识(ino)、名称(name)、模式(mode)、用户ID(uid)、用户组ID(Gid)、创建时间(Ctime)、修改时间(Mtime)、访问时间(Atime)、大小(Size)等信息。Among them, after decoding the metadata, the identification (ino), name (name), mode (mode), user ID (uid), user group ID (Gid), creation time (Ctime), and modification time (Mtime) can be obtained , access time (Atime), size (Size) and other information.
在本发明中的一种具体实施方式中,为了方便使用共享缓存,还可通过执行以下步骤创建出共享缓存:In a specific implementation manner of the present invention, in order to facilitate the use of the shared cache, the shared cache can also be created by performing the following steps:
创建与主机的共享缓存池;Create a shared cache pool with the host;
按照固定分配大小,将共享缓存池划分为多个单元;Divide the shared cache pool into multiple units according to fixed allocation sizes;
其中,每个单元作为一个文件元数据的缓存。Among them, each unit serves as a cache of file metadata.
也就是说,可以创建出DPU与主机都可以使用的共享缓存池,在该共享缓存池中预先按照固定分配大小,如mKB,将共享缓存池划分为n个单元,在每个单元则作为一个文件元数据的缓存。That is to say, you can create a shared cache pool that can be used by both the DPU and the host. In the shared cache pool, the shared cache pool is divided into n units according to a fixed allocation size, such as mKB, and each unit is used as a Cache of file metadata.
在本发明中的一种具体实施方式中,利用加速器,将元数据的网络数据流解码为元数据缓存格式后,存入共享缓存,包括:In a specific implementation manner of the present invention, an accelerator is used to decode the network data stream of metadata into a metadata cache format and then store it in the shared cache, including:
利用加速器,从共享缓存中申请空缓存;Use the accelerator to apply for an empty cache from the shared cache;
将元数据的网络数据流解码为元数据缓存格式后,存入空缓存。After decoding the network data stream of metadata into the metadata cache format, it is stored in the empty cache.
即,在需要加速器对元数据进行反序列化处理时,该加速器可以从共享缓存中申请空缓存,然后,直接将元数据的网络数据流解码为元数据缓存格式后,存入到所申请的空缓存中。需要注意的是,加速器在申请空缓存时,可以根据实际需求情况进行申请,例如,当需要存储一个文件元数据时,则申请一个空缓存,当需要存储多个文件元数据时,则申请多个空缓存。That is, when the accelerator is required to deserialize metadata, the accelerator can apply for an empty cache from the shared cache, and then directly decode the network data stream of metadata into the metadata cache format and store it in the requested Empty cache. It should be noted that when the accelerator applies for an empty cache, it can apply according to actual needs. For example, when it needs to store one file metadata, it applies for an empty cache. When it needs to store multiple file metadata, it applies for multiple files. an empty cache.
S104、发送元数据请求到元数据服务,利用元数据服务对共享缓存中的元数据进行请求处理。S104. Send a metadata request to the metadata service, and use the metadata service to perform request processing on the metadata in the shared cache.
在完成元数据反序列化处理之后,便可将元数据请求发送到元数据服务。After metadata deserialization is complete, a metadata request can be sent to the metadata service.
该元数据服务便可直接基于共享缓存中的元数据进行请求处理。The metadata service can then handle requests directly based on the metadata in the shared cache.
具体的,对于元数据服务具体如何处理请求,可以参照相关元数据处理流程,在此不再一一赘述。Specifically, for how the metadata service handles requests, you can refer to the relevant metadata processing process, which will not be described in detail here.
应用本发明实施例所提供的方法,应用于硬件加速网卡,包括:接收元数据请求对应的报文,判断报文是否包括元数据;若否,则将元数据请求发送到元数据服务,并利用元数据服务对元数据请求进行处理;若是,则利用加速器,将元数据的网络数据流解码为元数据缓存格式后,存入共享缓存;发送元数据请求到元数据服务,利用元数据服务对共享缓存中的元数据进行请求处理。Applying the method provided by the embodiment of the present invention to a hardware acceleration network card includes: receiving a message corresponding to a metadata request, determining whether the message includes metadata; if not, sending the metadata request to the metadata service, and Use the metadata service to process the metadata request; if so, use the accelerator to decode the metadata network data stream into the metadata cache format and store it in the shared cache; send the metadata request to the metadata service, use the metadata service Performs request processing on metadata in the shared cache.
在本发明中,在接收到元数据请求对应的报文之后,首先由硬件加速网卡判断该报文中是否包括元数据。如果报文中没有元数据,则直接将该元数据请求发送给元数据服务,以便元数据服务对该元数据请求进行处理。如果报文中有元数据,则利用加速器将元数据自网络数据流解码元数据缓存格式后,写到共享缓存中,然后再将元数据请求发送到元数据服务。如此,元数据服务可直接基于共享缓存中的元数据进行请求处理。In the present invention, after receiving the message corresponding to the metadata request, the hardware acceleration network card first determines whether the message includes metadata. If there is no metadata in the message, the metadata request is directly sent to the metadata service so that the metadata service can process the metadata request. If there is metadata in the message, the accelerator is used to decode the metadata from the network data stream into the metadata cache format, write it to the shared cache, and then send the metadata request to the metadata service. In this way, the metadata service can handle requests directly based on the metadata in the shared cache.
本发明的技术效果:将小文件处理过程中的最为占用CPU处理性能的环节,即元数据的反序列化,卸载到硬件加速网卡中进行处理,可直接减少CPU处理工作量,也可以借助于硬件的加速性能,突破小文件处理效率的瓶颈。The technical effect of the present invention: offloading the link that consumes the most CPU processing performance in the small file processing process, that is, the deserialization of metadata, to the hardware acceleration network card for processing can directly reduce the CPU processing workload, and can also use the The acceleration performance of hardware breaks through the bottleneck of small file processing efficiency.
需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在优选/改进实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在本文的优选/改进实施例中不再一一赘述。It should be noted that, based on the above embodiments, the embodiments of the present invention also provide corresponding improvement solutions. In the preferred/improved embodiments, the same steps or corresponding steps as in the above-mentioned embodiments may be referred to each other, and the corresponding beneficial effects may also be referred to each other. They will not be described one by one in the preferred/improved embodiments herein.
请参考图3和图4,具体处理过程,包括:Please refer to Figure 3 and Figure 4 for the specific processing process, including:
S201、在元数据服务或客户端产生发送请求后,确定发送请求对应的发送报文是否包括目标元数据。S201. After the metadata service or the client generates a sending request, determine whether the sending message corresponding to the sending request includes the target metadata.
在发送请求或请求的应答时,往往涉及携带元数据,这就要求将元数据转换为网络数据流形式,从而形成报文进行传输。When sending a request or a response to a request, it often involves carrying metadata, which requires converting the metadata into a network data stream form to form a message for transmission.
由于携带元数据的报文可能是客户端发送请求,也可能是服务器反馈应答,因而,可以具体在元数据服务或客户端产生发送请求后,首先明确该发送请求对应的发送报文是否包括目标元数据。Since the message carrying metadata may be a request sent by the client or a feedback response from the server, after the metadata service or the client generates a send request, it is first clear whether the send message corresponding to the send request includes the target. metadata.
在本发明中的一种具体实施方式中,确定发送请求对应的发送报文是否包括目标元数据,包括:In a specific implementation manner of the present invention, determining whether the sending message corresponding to the sending request includes target metadata includes:
读取发送报文的头类型;Read the header type of the sent message;
判断头类型是否为Lookup应答、Getattr应答、Readdir应答、Setattr发送、Setxattr发送或Create发送;Determine whether the header type is Lookup response, Getattr response, Readdir response, Setattr sending, Setxattr sending or Create sending;
若是,则确定目标报文中包括目标元数据;If yes, it is determined that the target message includes target metadata;
若否,则确定目标报文中未包括目标元数据。If not, it is determined that the target metadata is not included in the target message.
也就是说,当发送报文的头类型具体为Lookup应答、Getattr应答、Readdir应答、Setattr发送、Setxattr发送或Create发送,则可确定报文需要携带目标元数据,因而可执行步骤S202的操作;否则,即表明发送报文无需携带目标元数据,则可直接将该发送请求对应的报文进行发送即可。That is to say, when the header type of the sent message is specifically Lookup response, Getattr response, Readdir response, Setattr sending, Setxattr sending or Create sending, it can be determined that the message needs to carry target metadata, so the operation of step S202 can be performed; Otherwise, it means that the sent message does not need to carry target metadata, and the message corresponding to the send request can be sent directly.
这里的目标元数据可以为一个文件的元数据,也可以为多个文件的元数据,也可以为目录的元数据等。The target metadata here can be the metadata of one file, the metadata of multiple files, or the metadata of a directory, etc.
S202、若是,则利用加速器,通过发送请求的元数据引用,从共享缓存中拉取需要序列化的目标元数据缓存,并将目标元数据缓存编码为网络数据流,得到目标报文。S202. If so, use the accelerator to pull the target metadata cache that needs to be serialized from the shared cache by sending the requested metadata reference, and encode the target metadata cache into a network data stream to obtain the target message.
在明确需要发送目标元数据时,可以基于发送请求中的元数据引用,从共享缓存中拉取需要序列号的目标元数据缓存,然后将该目标元数据缓存编码为网络数据流。然后,将发送请求对应的报文头和该网络数据流进行组装,从而得到目标报文。When it is clear that the target metadata needs to be sent, the target metadata cache that requires the sequence number can be pulled from the shared cache based on the metadata reference in the send request, and then the target metadata cache can be encoded into a network data stream. Then, the message header corresponding to the sending request and the network data flow are assembled to obtain the target message.
S203、发送目标报文。S203. Send the target message.
若该发送请求为客户端发送的请求,则将目标报文发送给服务端;若该发送请求为服务器应答对应的发送请求,则将该目标报文发送给客户端。If the send request is a request sent by the client, the target message is sent to the server; if the send request is a corresponding send request sent by the server, the target message is sent to the client.
相应于上面的方法实施例,本发明实施例还提供了一种硬件加速网卡,下文描述的一种硬件加速网卡与上文描述的一种元数据处理方法可相互对应参照。Corresponding to the above method embodiments, embodiments of the present invention also provide a hardware acceleration network card. The hardware acceleration network card described below and the metadata processing method described above can be mutually referenced.
参见图5示,该硬件加速网卡包括:As shown in Figure 5, the hardware acceleration network card includes:
在硬件加速网卡300中可实施如上述的元数据处理方法的步骤;The steps of the above metadata processing method can be implemented in the hardware acceleration network card 300;
硬件加速网卡通过加速器301对元数据的序列号和反序列化进行处理。The hardware acceleration network card processes the serial number and deserialization of metadata through the accelerator 301.
由于,在该硬件加速网卡中可以实施上述元数据处理方法的步骤,因而该硬件加速网卡也具有上述元数据处理方法的技术效果,在此不再一一赘述。Since the steps of the above metadata processing method can be implemented in the hardware acceleration network card, the hardware acceleration network card also has the technical effects of the above metadata processing method, which will not be described again here.
相应于上面的方法实施例,本发明实施例还提供了一种元数据处理系统,下文描述的元数据处理系统与上文描述的一种元数据处理方法、硬件加速网卡可相互对应参照。Corresponding to the above method embodiments, embodiments of the present invention also provide a metadata processing system. The metadata processing system described below, the metadata processing method and the hardware acceleration network card described above can correspond to each other.
参见图6示,该元数据处理系统,包括:Referring to Figure 6, the metadata processing system includes:
客户机400和服务集群500;Client 400 and service cluster 500;
其中,客户机中包括客户端401、共享缓存402和硬件加速网卡300;Among them, the client includes client 401, shared cache 402 and hardware acceleration network card 300;
服务集群包括存储节点510,且存储节点中包括元数据服务511、共享缓存512和硬件加速网卡300。The service cluster includes a storage node 510, and the storage node includes a metadata service 511, a shared cache 512, and a hardware acceleration network card 300.
在图4中,客户机的硬件加速器网卡和存储节点的硬件加速网卡均可为如图3所示的硬件加速网卡。In Figure 4, both the hardware accelerator network card of the client and the hardware acceleration network card of the storage node can be the hardware accelerator network card shown in Figure 3.
由于该元数据处理系统具有本发明实施例所提供的硬件加速网卡,又因为该硬件加速网卡上可实施上述实施例所提供的元数据处理方法,因而该元数据处理系统同样具备该元数据处理方法的技术效果,在此不再一一赘述。Since the metadata processing system has the hardware acceleration network card provided by the embodiment of the present invention, and because the metadata processing method provided by the above embodiment can be implemented on the hardware acceleration network card, the metadata processing system also has the metadata processing method. The technical effects of the method will not be repeated here.
请参考图7,图7为本发明实施例中应用于元数据处理系统的一种元数据处理方法的具体实施流程图,该方法包括:Please refer to Figure 7, which is a specific implementation flow chart of a metadata processing method applied to a metadata processing system in an embodiment of the present invention. The method includes:
S701、客户端产生请求后,客户机本地的硬件加速网卡向存储节点发送请求报文。S701. After the client generates a request, the client's local hardware acceleration network card sends a request message to the storage node.
其中,请求为Lookup请求、Getattr请求、Readdir请求、Setattr请求、Setxattr请求或Create请求。也就是说,本发明实施例所提供的元数据处理方法,可以应对目前的元数据处理类型中所涉及的元数据序列号和反序列化。Among them, the request is a Lookup request, Getattr request, Readdir request, Setattr request, Setxattr request or Create request. In other words, the metadata processing method provided by the embodiment of the present invention can cope with the metadata serial number and deserialization involved in current metadata processing types.
在本发明中的一种具体实施方式中,客户端产生请求后,客户机本地的硬件加速网卡向存储节点发送请求报文,包括:In a specific implementation manner of the present invention, after the client generates a request, the client's local hardware acceleration network card sends a request message to the storage node, including:
判断请求是否需要携带元数据;Determine whether the request needs to carry metadata;
若是,则客户机本地的硬件加速网卡向存储节点发送与请求的请求类型对应的请求报文;If so, the client's local hardware acceleration network card sends a request message corresponding to the requested request type to the storage node;
若否,则客户机本地的硬件加速网卡,利用加速器将请求对应的元数据编码为网络数据流,并将网络数据流与请求的请求类型对应的请求报文头进行组合,得到对应的请求报文并将请求报文发送给存储节点。If not, the client's local hardware acceleration network card uses the accelerator to encode the metadata corresponding to the request into a network data stream, and combines the network data stream with the request header corresponding to the requested request type to obtain the corresponding request report. message and send the request message to the storage node.
也就是说,客户机侧产生请求报文时,如需要携带元数据,可以由硬件加速网卡对元数据进行序列化。In other words, when the client side generates a request message, if it needs to carry metadata, the metadata can be serialized by the hardware acceleration network card.
其中,判断请求是否需要携带元数据,包括:Among them, determine whether the request needs to carry metadata, including:
判断请求的请求内容中是否具有元数据引用;Determine whether there is a metadata reference in the request content of the request;
如果是,则确定请求需要携带元数据;If so, it is determined that the request needs to carry metadata;
如果否,则确定请求无需携带元数据。If not, it is determined that the request does not need to carry metadata.
也就是说,当请求内容中具有元数据引用,则表明该请求报文需要携带相应的元数据。在编码元数据时,可以基于该元数据引用,找到对应的元数据并进行编码处理。That is to say, when there is a metadata reference in the request content, it means that the request message needs to carry the corresponding metadata. When encoding metadata, the corresponding metadata can be found and encoded based on the metadata reference.
S702、存储节点,在接收到请求报文后,利用本地的元数据服务、共享缓存和硬件加速网卡对请求报文进行处理,并向客户机发送应答报文。S702. After receiving the request message, the storage node uses the local metadata service, shared cache and hardware acceleration network card to process the request message, and sends a response message to the client.
其中,共享缓存的创建可参照上述实施例所描述的创建流程。The creation of the shared cache may refer to the creation process described in the above embodiment.
该存储节点可以为存储集群中的任意一个存储节点。The storage node can be any storage node in the storage cluster.
具体的处理和应答报文的生成可以参照相关元数据处理流程,在此不再一一赘述。The specific processing and generation of response messages can refer to the relevant metadata processing flow, and will not be described in detail here.
在本发明中的一种具体实施方式中,存储节点,在接收到请求报文后,利用本地的元数据服务、共享缓存和硬件加速网卡对请求报文进行处理,并向客户机发送应答报文,包括:In a specific implementation manner of the present invention, after receiving the request message, the storage node uses the local metadata service, shared cache and hardware acceleration network card to process the request message, and sends a response message to the client. Articles, including:
在存储节点接收到请求报文后,利用本地的硬件加速网卡识别请求报文内是否包括元数据,若是,则基于加速器将网络数据流解码为元数据缓存格式,并存入到共享缓存中,并将请求发送给元数据服务;After the storage node receives the request message, it uses the local hardware acceleration network card to identify whether the request message contains metadata. If so, the network data stream is decoded into the metadata cache format based on the accelerator and stored in the shared cache. and sends the request to the metadata service;
元数据服务基于请求和共享缓存中的元数据,对请求进行应答,产生应答报文;The metadata service responds to the request and generates a response message based on the request and the metadata in the shared cache;
若请求报文中不包括元数据,则直接将请求发送给元数据服务进行应答,产生应答报文;If the request message does not include metadata, the request is sent directly to the metadata service for response and a response message is generated;
若应答报文需要加入元数据,则硬件加速网卡可根据元数据引用,从共享缓存中读取相应元数据,并将元数据编码为网络数据流,将网络数据流与对应的应答报文头进行组合,得到具有元数据的应答报文,并发送给客户机。If metadata needs to be added to the response message, the hardware acceleration network card can read the corresponding metadata from the shared cache based on the metadata reference, encode the metadata into a network data stream, and combine the network data stream with the corresponding response message header. Combine them to obtain a response message with metadata and send it to the client.
也就是说,当应答报文中需要携带元数据,则由硬件加速网卡,基于元数据引用,从共享缓存中读取到相应元数据,然后,再将元数据编码为网络数据流,通过将网络数据流和应答报文头进行组合,即可得到具有元数据的应答报文。可见,序列化元数据而产生应答报文的过程,与序列化元数据而产生请求报文的过程,可以相互参照借鉴。That is to say, when the response message needs to carry metadata, the hardware-accelerated network card reads the corresponding metadata from the shared cache based on the metadata reference, and then encodes the metadata into a network data stream. By combining the network data flow and the response message header, a response message with metadata can be obtained. It can be seen that the process of serializing metadata to generate response messages and the process of serializing metadata to generate request messages can be referenced from each other.
S703、客户机接收应答报文,并处理请求结果。S703. The client receives the response message and processes the request result.
客户机中的硬件加速网卡接收到该应答报文,然后,对该应答报文进行识别,如果其内含有元数据信息,则将元数据自网络数据流格式转换为元数据缓存结构,并存入共享缓存中,以便客户端读取该共享缓存中的元数据。客户端读取到元数据之后,便可将处理结果反馈到可视化界面,供用户查看。The hardware acceleration network card in the client receives the response message, and then identifies the response message. If it contains metadata information, it converts the metadata from the network data stream format into a metadata cache structure and stores it concurrently. into the shared cache so that the client can read the metadata in the shared cache. After the client reads the metadata, it can feed back the processing results to the visual interface for users to view.
在本发明中的一种具体实施方式中,客户机接收应答报文,并处理请求结果,包括:In a specific implementation manner of the present invention, the client receives the response message and processes the request result, including:
客户机本地的硬件加速器网卡识别应答报文是否包括元数据,如果是,则利用加速器将应答报文中元数据从网络数据流解码为元数据缓存格式,并存入到本地共享缓存,并将应答消息发送给客户端;The client's local hardware accelerator network card identifies whether the response message includes metadata. If so, the accelerator is used to decode the metadata in the response message from the network data stream into a metadata cache format and store it in the local shared cache. The response message is sent to the client;
客户端根据应答消息和本地共享缓存中的元数据,确定请求结果并进行输出显示。The client determines the request result and displays the output based on the response message and the metadata in the local shared cache.
也就是说,若应答报文中有元数据,则利用加速器将元数据解码;若应答报文中无元数据,则加速器可需要进行处理,则是直接转发应答消息给客户端即可。That is to say, if there is metadata in the response message, the accelerator is used to decode the metadata; if there is no metadata in the response message, the accelerator may need to process it, and then the response message can be directly forwarded to the client.
应用本发明实施例所提供的方法,包括:客户端产生请求后,客户机本地的硬件加速网卡向存储节点发送请求报文;存储节点,在接收到请求报文后,利用本地的元数据服务、共享缓存和硬件加速网卡对请求报文进行处理,并向客户机发送应答报文。客户机接收应答报文,并处理请求结果。Applying the method provided by the embodiment of the present invention includes: after the client generates a request, the client's local hardware acceleration network card sends a request message to the storage node; the storage node, after receiving the request message, uses the local metadata service , shared cache and hardware acceleration network card process the request message and send a response message to the client. The client receives the response message and processes the request results.
在本发明中,客户端产生请求后,客户机本地的硬件加速网卡想存储持戒发送请求报文。存储节点在接收到请求报文之后,本地的元数据服务、共享缓存和硬件加速网卡对请求报文进行处理,并向客户机发送应答报文。客户机接收应答报文,并处理请求结果。In the present invention, after the client generates a request, the client's local hardware acceleration network card stores or sends the request message. After the storage node receives the request message, the local metadata service, shared cache and hardware acceleration network card process the request message and send a response message to the client. The client receives the response message and processes the request results.
本发明的技术效果:可将小文件处理过程中的最为占用CPU处理性能的环节,即元数据的反序列化,卸载到硬件加速网卡中进行处理,可直接减少CPU处理工作量,也可以借助于硬件的加速性能,突破小文件处理效率的瓶颈。The technical effect of the present invention: the link that consumes the most CPU processing performance in the small file processing process, that is, the deserialization of metadata, can be offloaded to the hardware acceleration network card for processing, which can directly reduce the CPU processing workload, and can also use the help of Based on the acceleration performance of hardware, it breaks through the bottleneck of small file processing efficiency.
为便于本领域技术人员更好地理解本发明实施例所提供的元数据处理方法,下面对不同的元数据请求的处理过程,进行举例说明:In order to facilitate those skilled in the art to better understand the metadata processing method provided by the embodiment of the present invention, the following is an example of the processing process of different metadata requests:
在本发明中的具体实施方式中,对于lookup请求,其处理过程如下:In the specific implementation of the present invention, for a lookup request, the processing process is as follows:
客户端产生请求后,客户机本地的硬件加速网卡向存储节点发送请求报文,包括:After the client generates a request, the client's local hardware acceleration network card sends a request message to the storage node, including:
客户端产生lookup请求;其中,lookup请求为查询目标路径的元数据是否存在的请求;The client generates a lookup request; where the lookup request is a request to query whether the metadata of the target path exists;
客户机本地的硬件加速网卡将lookup请求封装成lookup请求报文,并发送lookup请求报文到存储节点;The client's local hardware acceleration network card encapsulates the lookup request into a lookup request message, and sends the lookup request message to the storage node;
相应地,存储节点,在接收到请求报文后,利用本地的元数据服务、共享缓存和硬件加速网卡对请求报文进行处理,并向客户机发送应答报文,包括:Accordingly, after receiving the request message, the storage node uses the local metadata service, shared cache and hardware acceleration network card to process the request message, and sends a response message to the client, including:
存储节点本地的硬件加速网卡将lookup请求报文分发到本地的元数据服务处理,通过路径检索元数据缓存;The local hardware acceleration network card of the storage node distributes the lookup request message to the local metadata service for processing, and retrieves the metadata cache through the path;
未检索到元数据缓存,则向客户端发送无元数据的lookup请求应答报文;If the metadata cache is not retrieved, a lookup request response message without metadata is sent to the client;
检索到元数据缓存,则将缓存引用关联到lookup请求,并调用应答处理线程;If the metadata cache is retrieved, the cache reference is associated with the lookup request and the response processing thread is called;
应答处理线程调用本地的硬件加速网卡,在识别到lookup请求的应答关联元数据缓存,则将元数据缓存地址指针提交给FPGA编码,输出网络数据流;The response processing thread calls the local hardware acceleration network card. After identifying the metadata cache associated with the response to the lookup request, it submits the metadata cache address pointer to the FPGA for encoding and outputs the network data stream;
组合网络数据流和lookup请求的应答报文头,得到有元数据的lookup请求应答报文,发送到客户端;Combine the network data flow and the response header of the lookup request to obtain the lookup request response message with metadata and send it to the client;
相应地,客户机接收应答报文,并处理请求结果,包括:Accordingly, the client receives the response message and processes the request results, including:
客户机本地的硬件加速网卡接收到lookup请求应答报文,识别lookup请求应答报文是否包括元数据信息;The client's local hardware acceleration network card receives the lookup request response message and identifies whether the lookup request response message includes metadata information;
若是,则触发元数据信息的解码,客户机本地的硬件加速网卡从本地共享缓存中申请的空缓存,将网络数据流解码为元数据缓存格式后,向客户端上送应答结果。If so, the decoding of the metadata information is triggered. The client's local hardware acceleration network card applies for an empty cache from the local shared cache, decodes the network data stream into the metadata cache format, and sends the response result to the client.
也就是说,客户端发送lookup请求,其目的是查询某个路径的元数据是否存在;客户端将请求封装成请求,发送到元数据服务;元数据服务所在的节点,DPU接收到客户端的请求,识别是否包含元数据信息;Lookup不包含元数据信息,直接上送分发到元数据服务处理,通过路径检索元数据缓存;未检索到元数据缓存,直接应答客户端消息;检索到元数据缓存,将缓存引用关联到请求,并调用应答处理;应答处理调用到DPU,识别到该应答关联了元数据缓存,将元数据缓存地址指针提交给FPGA编码,输出数据流;将g)的数据流和应答报文头,一起组成应答报文,发送到客户端;客户端DPU接收到应答消息,识别是否包含元数据信息;如果是未检索到元数据缓存,则不包含元数据信息;如果是检索到元数据缓存,需要进行解码;触发元数据信息的解码,DPU申请的空元数据缓存,将网络流转换成元数据缓存数据结构;上送应答结果。That is to say, the client sends a lookup request with the purpose of querying whether the metadata of a certain path exists; the client encapsulates the request into a request and sends it to the metadata service; the node where the metadata service is located, the DPU receives the client's request , identify whether metadata information is included; Lookup does not contain metadata information, and is directly sent to the metadata service for processing, and the metadata cache is retrieved through the path; the metadata cache is not retrieved, and the client message is directly responded to; the metadata cache is retrieved , associate the cache reference to the request, and call the response processing; the response processing calls the DPU, recognizes that the response is associated with the metadata cache, submits the metadata cache address pointer to the FPGA encoding, and outputs the data stream; transfer the data stream of g) and the response message header, together form a response message and send it to the client; the client DPU receives the response message and identifies whether it contains metadata information; if the metadata cache is not retrieved, no metadata information is included; if it is The metadata cache is retrieved and needs to be decoded; the decoding of the metadata information is triggered, and the empty metadata cache applied by the DPU converts the network stream into a metadata cache data structure; the response result is sent.
在本发明中的具体实施方式中,对于getattr请求,其处理过程如下:In the specific implementation of the present invention, for the getattr request, the processing process is as follows:
客户端产生请求后,客户机本地的硬件加速网卡向存储节点发送请求报文,包括:After the client generates a request, the client's local hardware acceleration network card sends a request message to the storage node, including:
客户端产生getattr请求;其中,getattr请求为目标id元数据是否存在的请求;The client generates a getattr request; where the getattr request is a request for whether the target id metadata exists;
客户机本地的硬件加速网卡将getattr请求封装成getattr请求报文,并发送getattr请求报文到存储节点;The client's local hardware acceleration network card encapsulates the getattr request into a getattr request message, and sends the getattr request message to the storage node;
相应地,存储节点,在接收到请求报文后,利用本地的元数据服务、共享缓存和硬件加速网卡对请求报文进行处理,并向客户机发送应答报文,包括:Accordingly, after receiving the request message, the storage node uses the local metadata service, shared cache and hardware acceleration network card to process the request message, and sends a response message to the client, including:
存储节点本地的硬件加速网卡将getattr请求报文分发到本地的元数据服务处理,通过id检索元数据缓存;The local hardware acceleration network card of the storage node distributes the getattr request message to the local metadata service for processing, and retrieves the metadata cache through the id;
未检索到元数据缓存,则向客户端发送无元数据的getattr请求应答报文;If the metadata cache is not retrieved, a getattr request response message without metadata is sent to the client;
检索到元数据缓存,则将缓存引用关联到getattr请求,并调用应答处理线程;If the metadata cache is retrieved, the cache reference is associated with the getattr request and the response processing thread is called;
应答处理线程调用本地的硬件加速网卡,在识别到getattr请求的应答关联元数据缓存,则将元数据缓存地址指针提交给FPGA编码,输出网络数据流;The response processing thread calls the local hardware acceleration network card. After identifying the metadata cache associated with the response to the getattr request, it submits the metadata cache address pointer to the FPGA for encoding and outputs the network data stream;
组合网络数据流和getattr请求的应答报文头,得到有元数据的getattr请求应答报文,发送到客户端;Combine the network data stream and the response header of the getattr request to obtain the getattr request response message with metadata and send it to the client;
相应地,客户机接收应答报文,并处理请求结果,包括:Accordingly, the client receives the response message and processes the request results, including:
客户机本地的硬件加速网卡接收到getattr请求应答报文,识别getattr请求应答报文是否包括元数据信息;The client's local hardware acceleration network card receives the getattr request response message and identifies whether the getattr request response message includes metadata information;
若是,则触发元数据信息的解码,客户机本地的硬件加速网卡从本地共享缓存中申请的空缓存,将网络数据解码为元数据缓存格式后向客户端上送应答结果。If so, the decoding of the metadata information is triggered. The client's local hardware acceleration network card applies for an empty cache from the local shared cache, decodes the network data into the metadata cache format and sends the response result to the client.
也就是说,客户端发送getattr请求,查询某个id元数据是否存在;客户端将请求封装成请求,发送到元数据服务;元数据服务所在的节点,DPU接收到客户端的请求,识别是否包含元数据信息;getattr不包含元数据信息,直接上送分发到元数据服务处理,通过id检索元数据缓存;检索到元数据缓存,将缓存引用关联到请求,并调用应答处理;应答处理调用到DPU,识别到该应答关联了元数据缓存,将元数据缓存地址指针提交给FPGA编码,输出数据流;将转换所得网络数据流和应答报文头,一起组成应答报文,发送到客户端;客户端DPU接收到应答消息,识别是否包含元数据信息;如果是未检索到元数据缓存,则不包含元数据信息;如果是检索到元数据缓存,需要进行解码;触发元数据信息的解码,DPU申请的空元数据缓存,将网络流转换成元数据缓存数据结构;上送应答结果。That is to say, the client sends a getattr request to query whether a certain id metadata exists; the client encapsulates the request into a request and sends it to the metadata service; on the node where the metadata service is located, the DPU receives the client's request and identifies whether it contains Metadata information; getattr does not contain metadata information, and is directly sent to the metadata service for processing, and the metadata cache is retrieved through the id; the metadata cache is retrieved, the cache reference is associated with the request, and response processing is called; response processing is called DPU recognizes that the response is associated with the metadata cache, submits the metadata cache address pointer to the FPGA for encoding, and outputs the data stream; the converted network data stream and the response message header are combined into a response message and sent to the client; The client DPU receives the response message and identifies whether it contains metadata information; if the metadata cache is not retrieved, the metadata information is not included; if the metadata cache is retrieved, decoding is required; triggering the decoding of the metadata information, The empty metadata cache requested by the DPU converts the network stream into a metadata cache data structure and sends the response result.
在本发明中的具体实施方式中,对于readdir请求,其处理过程如下:In the specific implementation of the present invention, for readdir requests, the processing process is as follows:
客户端产生请求后,客户机本地的硬件加速网卡向存储节点发送请求报文,包括:After the client generates a request, the client's local hardware acceleration network card sends a request message to the storage node, including:
客户端产生readdir请求;其中,readdir请求为查询目标目录的所有元数据信息的请求;The client generates a readdir request; where the readdir request is a request to query all metadata information of the target directory;
客户机本地的硬件加速网卡将readdir请求封装成readdir请求报文,并发送readdir请求报文到存储节点;The client's local hardware acceleration network card encapsulates the readdir request into a readdir request message, and sends the readdir request message to the storage node;
相应地,存储节点,在接收到请求报文后,利用本地的元数据服务、共享缓存和硬件加速网卡对请求报文进行处理,并向客户机发送应答报文,包括:Accordingly, after receiving the request message, the storage node uses the local metadata service, shared cache and hardware acceleration network card to process the request message, and sends a response message to the client, including:
存储节点本地的硬件加速网卡将readdir请求报文分发到本地的元数据服务处理,通过目标目录的id检索所有元数据缓存,并根据readdir的偏移量选择返回的元数据缓存集合;The local hardware acceleration network card of the storage node distributes the readdir request message to the local metadata service for processing, retrieves all metadata caches through the ID of the target directory, and selects the returned metadata cache set based on the offset of readdir;
未检索到元数据缓存集合,则向客户端发送无元数据的readdir请求应答报文;If the metadata cache set is not retrieved, a readdir request response message without metadata is sent to the client;
检索到元数据缓存集合,则将缓存引用关联到readdir请求,并调用应答处理线程;When the metadata cache collection is retrieved, the cache reference is associated with the readdir request and the response processing thread is called;
应答处理线程调用本地的硬件加速网卡,识别到readdir请求的应答关联元数据缓存,则将元数据缓存集合中的元数据缓存递交给FPGA编码,输出网络数据流;The response processing thread calls the local hardware acceleration network card, identifies the metadata cache associated with the response to the readdir request, and then submits the metadata cache in the metadata cache set to FPGA encoding and outputs the network data stream;
组合网络数据流和readdir请求的应答报文头,得到有元数据的readdir请求应答报文,发送到客户端;Combine the network data stream and the response header of the readdir request to obtain the readdir request response message with metadata and send it to the client;
相应地,客户机接收应答报文,并处理请求结果,包括:Accordingly, the client receives the response message and processes the request results, including:
客户机本地的硬件加速网卡接收到readdir请求应答报文,识别readdir请求应答报文是否包括元数据信息;The client's local hardware acceleration network card receives the readdir request response message and identifies whether the readdir request response message includes metadata information;
若是,则触发元数据信息的解码,客户机本地的硬件加速网卡从本地共享缓存中申请的多个空缓存,将网络流解码为元数据缓存格式后向客户端上送应答结果。If so, the decoding of the metadata information is triggered. The client's local hardware acceleration network card applies for multiple empty caches from the local shared cache, decodes the network stream into the metadata cache format and sends the response result to the client.
也就是说,客户端发送readdir请求,查询某个目录的所有元数据信息;客户端将请求封装成请求,发送到元数据服务;元数据服务所在的节点,DPU接收到客户端的请求,识别是否包含元数据信息;readdir不包含元数据信息,直接上送分发到元数据服务处理,通过目录id检索包含的所有,并根据readdir的偏移量选择返回元数据缓存集合;检索到元数据缓存集合,将缓存集合引用关联到请求,并调用应答处理;应答处理调用到DPU,识别到该应答关联了元数据缓存,将元数据缓存集合中的元数据缓存,一条一条的提交给FPGA编码,输出网络数据流;将网络数据流和应答报文头,一起组成应答报文,发送到客户端;客户端DPU接收到应答消息,识别是否包含元数据信息;如果是检索到元数据缓存,需要进行解码;触发元数据信息的解码,DPU申请的多个空元数据缓存,将readdir的应答报文的网络流转换成一条一条的元数据缓存数据结构;上送应答结果。That is to say, the client sends a readdir request to query all metadata information of a certain directory; the client encapsulates the request into a request and sends it to the metadata service; on the node where the metadata service is located, the DPU receives the client's request and identifies whether Contains metadata information; readdir does not contain metadata information, and is directly sent to the metadata service for processing. All included are retrieved through the directory id, and the metadata cache set is returned based on the offset of readdir; the metadata cache set is retrieved , associate the cache set reference to the request, and call the response processing; the response processing calls the DPU, recognizes that the response is associated with the metadata cache, and submits the metadata cache in the metadata cache set one by one to the FPGA for encoding and outputs Network data flow; combine the network data flow and the response message header to form a response message and send it to the client; the client DPU receives the response message and identifies whether it contains metadata information; if the metadata cache is retrieved, it needs to be Decoding; triggering the decoding of metadata information, multiple empty metadata caches requested by the DPU convert the network flow of readdir response messages into metadata cache data structures one by one; sending the response results.
在本发明中的具体实施方式中,对于create请求,其处理过程如下:客户端产生请求后,客户机本地的硬件加速网卡向存储节点发送请求报文,包括:In the specific implementation of the present invention, for the create request, the processing process is as follows: after the client generates the request, the client's local hardware acceleration network card sends a request message to the storage node, including:
客户端产生create请求;其中,create请求为创建目标元数据的请求;The client generates a create request; where the create request is a request to create target metadata;
客户机本地的硬件加速网卡将create请求所引用的元数据编码为网络数据流,并将网络数据流和create请求的报文头封装成create请求报文,并发送create请求报文到存储节点;The client's local hardware acceleration network card encodes the metadata referenced by the create request into a network data stream, encapsulates the network data stream and the header of the create request into a create request message, and sends the create request message to the storage node;
相应地,存储节点,在接收到请求报文后,利用本地的元数据服务、共享缓存和硬件加速网卡对请求报文进行处理,并向客户机发送应答报文,包括:Accordingly, after receiving the request message, the storage node uses the local metadata service, shared cache and hardware acceleration network card to process the request message, and sends a response message to the client, including:
存储节点本地的硬件加速网卡识别到create请求报文包括元数据信息,触发FPGA从共享缓存中申请空缓存,并将网络数据流解码为元数据缓存格式后写入空缓存后,将create请求发送给元数据服务;The local hardware acceleration network card of the storage node recognizes that the create request message includes metadata information, triggers the FPGA to apply for an empty cache from the shared cache, decodes the network data stream into the metadata cache format and writes it into the empty cache, and then sends the create request. to metadata services;
元数据服务器根据create请求和共享缓存中的目标元数据进行元数据创建处理,将目标元数据关联到文件元数据缓存;创建完成之后,向本地的硬件加速网卡返回create请求应答报文;The metadata server performs metadata creation processing based on the create request and the target metadata in the shared cache, and associates the target metadata to the file metadata cache; after the creation is completed, it returns a create request response message to the local hardware acceleration network card;
本地的硬件加速网卡接收到create请求应答报文,直接发送create请求应答报文给客户端;The local hardware acceleration network card receives the create request response message and directly sends the create request response message to the client;
相应地,客户机接收应答报文,并处理请求结果,包括:Accordingly, the client receives the response message and processes the request results, including:
客户机本地的硬件加速网卡接收到create请求应答报文,向客户端上送create请求应答消息。The client's local hardware acceleration network card receives the create request response message and sends the create request response message to the client.
也就是说,客户端发送create请求,创建某个名称元数据;客户端将请求封装成请求,DPU识别到该请求引用了元数据缓存;FPGA将引用的元数据编码为网络数据流,DPU将报文头和元数据数据流一起发送到元数据服务;元数据服务所在的节点,DPU接收到客户端的请求,识别是否包含元数据信息;create包含元数据信息,触发FPGA解码,FPGA申请空的元数据缓存,将网络数据流解码为元数据缓存;DPU上送分发create请求到元数据服务;元数据服务根据请求和元数据缓存进行创建处理,将解码后的元数据缓存,关联到文件元数据缓存;完成处理后,元数据服务返回应答消息;客户端DPU接收到应答消息,识别到报文没有元数据缓存信息,直接上送应答消息,返回创建成功。That is to say, the client sends a create request to create a certain name metadata; the client encapsulates the request into a request, and the DPU recognizes that the request refers to the metadata cache; the FPGA encodes the referenced metadata into a network data stream, and the DPU The message header and the metadata data stream are sent to the metadata service together; at the node where the metadata service is located, the DPU receives the client's request and identifies whether it contains metadata information; create contains metadata information, triggers FPGA decoding, and FPGA applies for an empty Metadata caching decodes the network data stream into a metadata cache; the DPU sends and distributes create requests to the metadata service; the metadata service performs creation and processing based on the request and the metadata cache, and associates the decoded metadata cache to the file metadata. Data cache; after completing the processing, the metadata service returns a response message; the client DPU receives the response message, recognizes that the message does not have metadata cache information, directly sends the response message, and returns that the creation is successful.
在本发明中的具体实施方式中,对于setattr请求,其处理过程如下:In the specific implementation of the present invention, for the setattr request, the processing process is as follows:
客户端产生请求后,客户机本地的硬件加速网卡向存储节点发送请求报文,包括:After the client generates a request, the client's local hardware acceleration network card sends a request message to the storage node, including:
客户端产生setattr请求;其中,setattr请求为更新目标文件或目标目录的元数据的请求;The client generates a setattr request; where the setattr request is a request to update the metadata of the target file or target directory;
客户机本地的硬件加速网卡将setattr请求引用的元数据编码为网络数据流,将setattr请求报文头和网络数据流封装成setattr请求报文,并发送setattr请求报文到存储节点;The client's local hardware acceleration network card encodes the metadata referenced by the setattr request into a network data stream, encapsulates the setattr request message header and network data stream into a setattr request message, and sends the setattr request message to the storage node;
相应地,存储节点,在接收到请求报文后,利用本地的元数据服务、共享缓存和硬件加速网卡对请求报文进行处理,并向客户机发送应答报文,包括:Accordingly, after receiving the request message, the storage node uses the local metadata service, shared cache and hardware acceleration network card to process the request message, and sends a response message to the client, including:
存储节点本地的硬件加速网卡识别到setattr请求报文包括元数据信息,触发FPGA从共享缓存中申请空缓存,并将网络数据流解码为元数据缓存格式后写入空缓存后,将setattr请求发送给元数据服务;The local hardware acceleration network card of the storage node recognizes that the setattr request message includes metadata information, triggers the FPGA to apply for an empty cache from the shared cache, decodes the network data stream into the metadata cache format and writes it into the empty cache, and then sends the setattr request. to metadata services;
元数据服务器根据setattr请求和共享缓存中的目标元数据进行元数据更替处理后,向本地的硬件加速网卡返回setattr请求应答报文;After the metadata server performs metadata replacement processing based on the setattr request and the target metadata in the shared cache, it returns a setattr request response message to the local hardware acceleration network card;
本地的硬件加速网卡接收到setattr请求应答报文,直接发送setattr请求应答报文给客户端;The local hardware acceleration network card receives the setattr request response message and directly sends the setattr request response message to the client;
相应地,客户机接收应答报文,并处理请求结果,包括:Accordingly, the client receives the response message and processes the request results, including:
客户机本地的硬件加速网卡接收到setattr请求应答报文直接向客户端上送应答结果。The client's local hardware acceleration network card receives the setattr request response message and directly sends the response result to the client.
也就是说,客户端发送setattr请求,更新某个文件或者目录的元数据信息;客户端将请求封装成请求,DPU识别到该请求引用了元数据缓存;FPGA将引用的元数据编码为网络数据流,DPU将报文头和元数据数据流一起发送到元数据服务;元数据服务所在的节点,DPU接收到客户端的请求,识别是否包含元数据信息;setattr包含元数据信息,触发FPGA解码, DPU申请的空元数据缓存,将网络数据流解码为元数据缓存。DPU上送分发setattr请求到元数据服务;元数据服务根据请求和元数据缓存进行元数据的替换,替换完成处理后,元数据服务返回应答消息。客户端DPU接收到应答消息,识别到报文没有元数据缓存信息,直接上送应答消息返回setattr成功。That is to say, the client sends a setattr request to update the metadata information of a file or directory; the client encapsulates the request into a request, and the DPU recognizes that the request refers to the metadata cache; the FPGA encodes the referenced metadata into network data stream, DPU sends the message header and metadata data stream together to the metadata service; at the node where the metadata service is located, the DPU receives the client's request and identifies whether it contains metadata information; setattr contains metadata information and triggers FPGA decoding. The empty metadata cache requested by the DPU decodes the network data stream into a metadata cache. The DPU sends and distributes setattr requests to the metadata service; the metadata service replaces the metadata based on the request and the metadata cache. After the replacement is completed, the metadata service returns a response message. The client DPU receives the response message, recognizes that the message does not have metadata cache information, and directly sends the response message and returns setattr successfully.
相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种元数据处理方法可相互对应参照。Corresponding to the above method embodiments, embodiments of the present invention also provide a readable storage medium. The readable storage medium described below and the metadata processing method described above may be mutually referenced.
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的元数据处理方法的步骤。A readable storage medium. A computer program is stored on the readable storage medium. When the computer program is executed by a processor, the steps of the metadata processing method of the above method embodiment are implemented.
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。The readable storage medium can specifically be a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk that can store program codes. readable storage media.
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。Each embodiment in this specification is described in a progressive manner. Each embodiment focuses on its differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other. As for the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple. For relevant details, please refer to the description in the method section.
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本发明的范围。Those skilled in the art may further realize that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented with electronic hardware, computer software, or a combination of both. In order to clearly illustrate the hardware and software Interchangeability, in the above description, the composition and steps of each example have been generally described according to functions. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art may implement the described functionality using different methods for each specific application, but such implementations should not be considered to be beyond the scope of the present invention.
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein may be implemented directly in hardware, in software modules executed by a processor, or in a combination of both. Software modules may be located in random access memory (RAM), memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disks, removable disks, CD-ROMs, or anywhere in the field of technology. any other known form of storage media.
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语包括、包含或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。Finally, it should be noted that in this article, relationships such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that these entities or any such actual relationship or sequence between operations. Furthermore, the terms include, include, or any variation thereof are intended to cover a non-exclusive inclusion such that a process, method, article, or apparatus that includes a list of elements includes not only those elements but also other elements not expressly listed, or It also includes elements inherent to the process, method, article or equipment.
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。This article uses specific examples to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method and the core idea of the present invention; at the same time, for those of ordinary skill in the art, according to the present invention There will be changes in the specific implementation and scope of application of the ideas. In summary, the content of this description should not be understood as limiting the present invention.
Claims (22)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311154317.6A CN116893788B (en) | 2023-09-08 | 2023-09-08 | Metadata processing methods, hardware acceleration network cards, systems and readable storage media |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311154317.6A CN116893788B (en) | 2023-09-08 | 2023-09-08 | Metadata processing methods, hardware acceleration network cards, systems and readable storage media |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116893788A true CN116893788A (en) | 2023-10-17 |
CN116893788B CN116893788B (en) | 2024-01-19 |
Family
ID=88313750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311154317.6A Active CN116893788B (en) | 2023-09-08 | 2023-09-08 | Metadata processing methods, hardware acceleration network cards, systems and readable storage media |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116893788B (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8997198B1 (en) * | 2012-12-31 | 2015-03-31 | Emc Corporation | Techniques for securing a centralized metadata distributed filesystem |
CN111309266A (en) * | 2020-02-23 | 2020-06-19 | 苏州浪潮智能科技有限公司 | Distributed storage metadata system log optimization system and method based on ceph |
CN112925477A (en) * | 2021-01-28 | 2021-06-08 | 上海商汤智能科技有限公司 | Data processing method and device and storage system |
CN113946453A (en) * | 2021-09-23 | 2022-01-18 | 阿里云计算有限公司 | Data processing method and system |
-
2023
- 2023-09-08 CN CN202311154317.6A patent/CN116893788B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8997198B1 (en) * | 2012-12-31 | 2015-03-31 | Emc Corporation | Techniques for securing a centralized metadata distributed filesystem |
CN111309266A (en) * | 2020-02-23 | 2020-06-19 | 苏州浪潮智能科技有限公司 | Distributed storage metadata system log optimization system and method based on ceph |
CN112925477A (en) * | 2021-01-28 | 2021-06-08 | 上海商汤智能科技有限公司 | Data processing method and device and storage system |
CN113946453A (en) * | 2021-09-23 | 2022-01-18 | 阿里云计算有限公司 | Data processing method and system |
Also Published As
Publication number | Publication date |
---|---|
CN116893788B (en) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102240557B1 (en) | Method, device and system for storing data | |
US11258796B2 (en) | Data processing unit with key value store | |
CN110262922B (en) | Erasure code updating method and system based on duplicate data log | |
US7447839B2 (en) | System for a distributed column chunk data store | |
CN106066896A (en) | A kind of big Data duplication applying perception deletes storage system and method | |
CN106570113B (en) | Mass vector slice data cloud storage method and system | |
CN114265814B (en) | Data lake file system based on object storage | |
CN113703672B (en) | A hyper-converged system and its IO request sending method, physical server | |
US8386741B2 (en) | Method and apparatus for optimizing data allocation | |
US7457935B2 (en) | Method for a distributed column chunk data store | |
CN116414828A (en) | A data management method and related device | |
CN105516313A (en) | Distributed storage system used for big data | |
CN107506466A (en) | A kind of small documents storage method and system | |
WO2022218218A1 (en) | Method and apparatus for processing data, reduction server, and mapping server | |
CN116893788B (en) | Metadata processing methods, hardware acceleration network cards, systems and readable storage media | |
CN107172222A (en) | A kind of date storage method and device based on distributed memory system | |
CN117762332A (en) | Storage management system, method, equipment and machine-readable storage medium | |
CN103246716B (en) | Based on object copies efficient management and the system of object cluster file system | |
CN115562595B (en) | Volume creation method and device, volume reading and writing method and device, and electronic equipment | |
CN118519964A (en) | Data processing method, apparatus, computer program product, device and storage medium | |
CN113835613B (en) | A file reading method, device, electronic equipment and storage medium | |
CN113741787B (en) | Data storage method, device, equipment, and medium | |
CN114490540A (en) | Data storage method, medium, device and computing equipment | |
CN118277344B (en) | Storage node interlayer merging method and device of distributed key value storage system | |
CN112084141A (en) | Full-text retrieval system capacity expansion method, device, equipment and medium |
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 |