WO2020186549A1 - 一种元数据管理方法、系统及介质 - Google Patents
一种元数据管理方法、系统及介质 Download PDFInfo
- Publication number
- WO2020186549A1 WO2020186549A1 PCT/CN2019/080279 CN2019080279W WO2020186549A1 WO 2020186549 A1 WO2020186549 A1 WO 2020186549A1 CN 2019080279 W CN2019080279 W CN 2019080279W WO 2020186549 A1 WO2020186549 A1 WO 2020186549A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- directory
- metadata
- sub
- file
- parent directory
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/185—Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
Definitions
- the invention relates to the field of metadata management of a file system for large-scale data storage, and in particular to a metadata management method, system and medium, which are used to accelerate the metadata access of the file system and improve the overall performance of the file system data access.
- Metadata access is on the critical path of the IO process, and its performance determines the upper limit of the data access performance of the entire file system; more than half of the IO requests received by the storage device are generated by metadata access.
- Optimizing metadata access will bring Huge benefits; applications often make a large number of irregular small requests for file system metadata. This IO feature brings huge challenges to metadata optimization.
- the mainstream file systems have done a lot of fine optimization for metadata, and the related technologies can be summarized as the following aspects. In terms of macro organizational structure, some file systems adopt distributed metadata management methods to improve metadata access performance.
- Metadata storage structure In terms of metadata storage structure, traditional file systems generally store metadata in the form of ordinary files on storage devices. When a directory contains a large number of subdirectories or files, a tree structure is used to perform operations on these subdirectories or files. index. This storage structure can support a large number of subdirectories or files stored in a single directory, but as the number of subdirectories or files continues to increase, the access performance will decrease significantly, mainly because accessing a subdirectory under a tree index structure may require From the root search to the leaf nodes, a large number of IO requests and calculation operations will be generated in this process. Correspondingly, some new file systems such as TableFS and IndexFS use NoSQL databases and Key-Value systems to store metadata. These data structures have good scalability and random access performance, and can improve metadata access performance to a certain extent.
- Lustre distributes the entire file system namespace to multiple metadata servers in the form of static subtree division, but this does not solve the problem of a single directory containing a large number of files.
- CephFS can distribute a large number of files in the same directory to multiple metadata servers according to the load situation. This optimization method can achieve concurrent access to a large number of files in the same directory, but it destroys the locality of file metadata. In short, there is still no good solution for the large catalog problem.
- the so-called read-write amplification means that each metadata access issued by the upper application needs to be completed by multiple IO requests.
- TableFS the KV storage engine open sourced by Google engineers Jeff Dean and Sanjay Ghemawat.
- LevelDB the KV storage engine open sourced by Google engineers Jeff Dean and Sanjay Ghemawat.
- SSTable Sorted String Table
- This may cause the split operation of SStable, resulting in multiple write requests; conversely, when searching for a file in LevelDB, you may need to search multiple levels of LevelDB sequentially from top to bottom. This generates multiple read requests.
- Multiple IO requests generated by a file system metadata access are generally interdependent and difficult to process concurrently, which fundamentally leads to difficulty in improving metadata access performance.
- EXT4 uses HTree tree structure to index all subdirectories and files in the same directory, and the specifics of all subdirectories and files
- the information is stored on the leaf nodes of the HTree, and the search starts from the root node of the HTree during the directory search.
- the branch nodes of each level only need to obtain a small amount of data from the storage device and do a small amount of calculation.
- the prerequisite assumed by the above optimization measures is that the performance of the processor and the storage device are relatively weak, which requires a step-by-step index to reduce data reading and processing and processing.
- accelerators represented by GPUs can provide thousands of cores of concurrent computing capabilities, and new storage devices represented by solid state disks can provide bandwidths of the order of GB/s and throughput rates of the order of 100,000 IOPS.
- Powerful computing and IO capabilities provide an opportunity for the innovative design of the file system. Specifically, the present invention redesigns the storage structure of file system metadata, abandons the tree index method, ensures that any metadata operation only triggers one IO request, thereby reducing the delay caused by data IO, and uses the CPU's multi-threading technology and vector processing Technology, GPU's many-core acceleration technology implements concurrent processing of data, and ultimately improves the overall access performance of file system metadata.
- the technical problem to be solved by the present invention in view of the above-mentioned problems of the prior art, a metadata management method, system and medium are provided.
- the present invention can effectively solve the problem of large catalogs.
- the catalog path resolution has lower delay and can reduce metadata
- the number of IO requests during the access process can accelerate the metadata access of the file system and improve the overall performance of the file system data access.
- a metadata management method includes:
- All directories and files in the file system are organized in a tree structure, and all directories and sub-files in a single directory are stored as a whole in the order of creation in the continuous address space of the underlying storage device;
- step 2) include:
- the file system receives the metadata update operation sent by the application
- step 2.2 Determine the type of metadata update operation. If it is to create a new directory or file, skip to step 2.3); if it is to update an existing directory or file, skip to step 2.4); if it is to delete an existing directory or file Then skip to step 2.5);
- implementation steps for metadata retrieval include:
- the first component of the directory path is parsed layer by layer to the last component, and finally the directory or file to be accessed is obtained; and when parsing a sub-directory under a parent directory, first Read all data in the continuous address space corresponding to the parent directory, and then search the target subdirectory or subfile on the read data until the match is successful.
- the process when searching for the target subdirectory or subfile on the read data, the process is specifically reversed from the tail to the head of the continuous address space. Once the subdirectory/subfile to be searched is retrieved, it can be terminated The retrieval process immediately returns the corresponding metadata.
- the detailed steps of parsing a sub-directory under a parent directory include:
- a metadata retrieval request sent by an application is received, and the metadata retrieval request is to retrieve whether the target directory or file exists from a parent directory;
- Step S2.3 Determine the size of the parent directory to be parsed. If the total number of subdirectories/subfiles in the parent directory is less than the preset first threshold TH 1 , skip to step S2.4); if the total number of subdirectories/subfiles in the parent directory is within the preset Between the set first threshold TH 1 and the preset second threshold TH 2 , jump to step S2.5); if the total number of subdirectories/subfiles in the parent directory is greater than the preset second threshold TH 2 , jump Step S2.6);
- step S2.6 Using many-core acceleration technology to retrieve the target subdirectory or subfile in the parent directory, skip to step S2.7);
- the search is performed in reverse processing.
- the present invention also provides a metadata management method.
- the implementation steps of metadata retrieval include:
- the first component of the directory path is parsed layer by layer to the last component, and finally the directory or file to be accessed is obtained; and when parsing a sub-directory under a parent directory, first Read all the data in the continuous address space, and then search the target subdirectory or subfile on the read data until the match is successful.
- the detailed steps of parsing a sub-directory under a parent directory include:
- a metadata retrieval request sent by an application is received, and the metadata retrieval request is to retrieve whether the target directory or file exists from a parent directory;
- Step S2.3 Determine the size of the parent directory to be parsed. If the total number of subdirectories/subfiles in the parent directory is less than the preset first threshold TH 1 , skip to step S2.4); if the total number of subdirectories/subfiles in the parent directory is within the preset Between the set first threshold TH 1 and the preset second threshold TH 2 , jump to step S2.5); if the total number of subdirectories/subfiles in the parent directory is greater than the preset second threshold TH 2 , jump Step S2.6);
- step S2.6 Using many-core acceleration technology to retrieve the target subdirectory or subfile in the parent directory, skip to step S2.7);
- the present invention also provides a metadata management system, including a computer system that is programmed to execute the steps of the foregoing metadata management method of the present invention, or a storage medium of the computer system is programmed to execute the foregoing steps of the present invention.
- a computer program describing metadata management methods including a computer system that is programmed to execute the steps of the foregoing metadata management method of the present invention, or a storage medium of the computer system is programmed to execute the foregoing steps of the present invention.
- the present invention also provides a computer-readable storage medium on which is stored a computer program programmed to execute the aforementioned metadata management method of the present invention.
- the present invention can effectively solve the problem of large directories, the directory path resolution has lower delay, can reduce the number of IO requests in the metadata access process, can accelerate the metadata access of the file system, and improve the file The overall performance of system data access.
- the specific reasons are reflected in the following aspects:
- the present invention aggregates the metadata of all sub-directories/sub-files under a parent directory and saves them on the continuous address space of the storage device to ensure that the metadata of these sub-directories/sub-files can be obtained from the storage device through a read operation. Therefore, When parsing a sub-directory under a parent directory, you only need to wait for one IO delay. In contrast, EXT4 indexes all subdirectories/subfiles under a parent directory in a two-level HTree. When parsing a directory, you need to search layer by layer in the HTree.
- At least two IO operations are required, and the second layer search Corresponding IO operations must wait for the completion of the first-level search processing before being issued.
- Two IO operations cannot be concurrent, which results in a greater delay in directory resolution.
- Other file systems such as TableFS build complex indexes for all subdirectories/subfiles under the same parent directory, and there is a similar problem of excessively high directory resolution delay.
- the present invention takes out all sub-directories/sub-files in a parent directory at the same time through one IO, which will cause larger IO operations, but because the current new storage devices such as solid state disks can provide very high bandwidth, one-time large IO operation does not cause a significant increase in IO latency.
- the present invention can reduce IO operations caused by metadata update, thereby improving metadata update performance.
- the present invention records all updates of metadata in the form of a log. When operations such as creation, update, and deletion of subdirectories/subfiles occur under a parent directory, new information is appended to the end of the continuous address space in the form of logs. When the updated information is persisted to the storage device, only a write operation needs to be initiated at the end of the continuous address space, and the write amplification effect will not be triggered.
- EXT4 may cause the index structure to be updated when the metadata is updated
- TableFS may cause the split of the SSTable in LevelDB when the metadata is updated. The above two situations will cause additional write operations.
- FIG. 1 is a basic flowchart of metadata update in Embodiment 1 of the present invention.
- Figure 2 is a file system metadata storage structure adopted in Embodiment 1 of the present invention.
- FIG. 3 is a process of updating file system metadata in Embodiment 1 of the present invention.
- Fig. 4 is a file system metadata retrieval process in the first embodiment of the present invention.
- the key to the metadata management method lies in metadata update and metadata retrieval.
- the key to the implementation of this embodiment lies in how to save the metadata of the directory/file on the storage device, and how to quickly retrieve a specific child from the parent directory. Directory/subfile.
- the implementation steps of the metadata management method of this embodiment for metadata update include:
- All directories and files in the file system are organized in a tree structure, and all directories and sub-files in a single directory are stored as a whole in the order of creation in the continuous address space of the underlying storage device;
- the storage structure of file system metadata includes two aspects.
- the first is the logical organization of all directories and files in the file system, that is, the name space of the file system. At present, most file systems use a tree structured name space; It is a storage structure of a large number of subdirectories/subfiles under a single directory.
- the above two aspects are critical to the access performance of file system metadata.
- the name space of the tree structure best conforms to the user's usage habits, this embodiment keeps this organization mode unchanged.
- TableFS integrates all subdirectories/subfiles in a directory and stores them in a NoSQL database.
- ETX4 uses HTree to index all subdirectories/subfiles in a directory into one In a two-level tree structure.
- the common problem of the above methods is that each metadata operation will cause multiple IO requests, and these IO requests have certain dependencies, which are difficult to process concurrently, which fundamentally determines the low performance of file system metadata access.
- An important idea of this embodiment is to ensure as far as possible that only one IO request is triggered for each metadata operation.
- this embodiment saves all sub-directories/sub-files in a directory as a whole in the continuous address space of the underlying storage device, ensuring that one read request can obtain relevant information of all sub-directories/sub-files (similarly , One write request can save all sub-directory/sub-file related information to the storage device).
- this embodiment does not create any index for all subdirectories/subfiles under a directory, nor does it perform Sort, just save all subdirectories/subfiles in sequential address space in the order of creation.
- Figure 2 shows the metadata storage structure used in this embodiment.
- the name space of the file system is organized into a tree structure, where directory e contains four subdirectories/subfiles i, j, n, and p.
- the file system allocates a continuous address space for directory e, where i, j, n, and p are stored in this continuous address space in the order of creation/update.
- step 2 As shown in Figure 3, the detailed steps of step 2) include:
- the file system receives the metadata update operation sent by the application
- step 2.2 Determine the type of metadata update operation. If it is to create a new directory or file, skip to step 2.3); if it is to update an existing directory or file, skip to step 2.4); if it is to delete an existing directory or file Then skip to step 2.5);
- generating a file/directory creation log specifically refers to encapsulating the name, identification number and other information of the new file/directory into the log;
- generating a directory/file update log specifically means that this operation is the same as file/directory creation, completely generating a new directory or file, the original directory or The file is still kept in the storage system. Due to the reverse retrieval method during metadata retrieval, the old version information of a directory or file will not be retrieved;
- step 2.6 To generate a directory/file deletion log, go to step 2.6); in this embodiment, generating a directory/file deletion log specifically refers to copying the original information of the directory/file, but marking it as "already" on a special flag bit. delete";
- Metadata updates include creation of new directories/files, changes to original directories/files, and deletion of original directories/files.
- all sub-directories/sub-files under a parent directory are aggregated and stored in a continuous address space.
- the following three update operations may occur: (1) New directory/file creation: When a new directory or file needs to be created, the relevant metadata information is directly appended to the end of the continuous address space.
- (2) Existing directory/file update When an upper-level application initiates a file renaming request, it will cause an update operation for an existing directory/file. This embodiment adopts a log update method instead of directly updating the original directory/file.
- this embodiment adopts the log update method, instead of directly deleting the original directory/file, a deletion log is generated and directly appended to the end of the continuous address space .
- this embodiment uses a log format to implement update operations on all subdirectories/subfiles under a directory, and all metadata updates are appended to the end of the continuous address space corresponding to the directory in the order in which they occur.
- the implementation steps for metadata retrieval include:
- the first component of the directory path is parsed layer by layer to the last component, and finally the directory or file to be accessed is obtained; and when parsing a sub-directory under a parent directory, first Read all data in the continuous address space corresponding to the parent directory, and then search the target subdirectory or subfile on the read data until the match is successful.
- the process when searching for the target sub-directory or sub-file on the read data, the process is specifically reversed from the tail to the head of the continuous address space. Once the sub-directory/sub-file to be found is retrieved, The corresponding metadata is returned immediately after the retrieval process is terminated.
- special acceleration is implemented for the retrieval of active files/directories. The specific reasons are as follows: Generally speaking, recently created or updated files are hot files and are more likely to be Visit again. In this embodiment, all sub-directories/sub-files under a parent directory are stored in a continuous address space in the order of creation/update. When the directory is resolved, the reverse processing starts from the end of the continuous address space to the head. Or the updated files are closer to the end, and this reverse process causes them to be retrieved faster.
- the optimization method can significantly reduce the retrieval delay of hot directories/files.
- this embodiment still uses a tree-shaped directory structure, the overall process of directory path analysis is the same as that of a traditional file system: the first component of the directory path is parsed layer by layer to the last component, and finally the directory or directory to be accessed is obtained. file.
- the difference between this embodiment and the traditional file system lies in: when parsing a specific component, how to obtain the metadata information corresponding to the component from the parent directory of the component, that is, the method of parsing a single directory. This problem largely depends on the storage structure adopted by all subdirectories/subfiles in a directory.
- EXT4 uses HTree to index all sub-directories/sub-files under a parent directory, and the process of parsing a sub-directory under a parent directory is HTree search.
- TableFS uses LevelDB to store all sub-directories/sub-files under a parent directory. The process of parsing a sub-directory under a parent directory is to read the corresponding Value for a Key in LevelDB.
- the metadata of all sub-directories/sub-files under a parent directory are stored as a whole in a continuous address space. To resolve a sub-directory under a parent directory, first read all the data in the continuous address space, and then Search the target subdirectory or subfile on the read data.
- this embodiment does not establish any index for all subdirectories/subfiles under the same parent directory, and the metadata corresponding to these subdirectories/subfiles are not sorted in the continuous address space, the search process is actually a linear search operation , You need to check all subdirectories/subfiles until the match is successful.
- the detailed steps of parsing a sub-directory under a parent directory include:
- a metadata retrieval request sent by an application is received, and the metadata retrieval request is to retrieve whether the target directory or file exists from a parent directory;
- Step S2.3 Determine the size of the parent directory to be parsed. If the total number of subdirectories/subfiles in the parent directory is less than the preset first threshold TH 1 , skip to step S2.4); if the total number of subdirectories/subfiles in the parent directory is within the preset Between the set first threshold TH 1 and the preset second threshold TH 2 , jump to step S2.5); if the total number of subdirectories/subfiles in the parent directory is greater than the preset second threshold TH 2 , jump Step S2.6);
- step S2.4 Using multi-threading technology to retrieve the target subdirectory or subfile in the parent directory, skip to step S2.7); because the target subdirectory or subfile as a whole is stored in the underlying storage device in the order of creation.
- each thread can be allocated to process different address segments of the continuous address space to achieve acceleration.
- the continuous address space can be traversed in a for loop for processing, and the use of vector instruction acceleration means passing Use vectors to instruct to reduce the number of iterations of the for loop, thereby achieving an acceleration effect.
- step S2.6 Using many-core acceleration technology to retrieve the target subdirectory or subfile in the parent directory, skip to step S2.7);
- each processor core can be allocated to process different address segments of the continuous address space to achieve acceleration.
- this embodiment uses technologies such as multithreading, vector processing, and many-core acceleration to accelerate the catalog analysis process. Since this embodiment does not create any index for all subdirectories/subfiles under the same parent directory, when retrieving a file under a parent directory, it needs to match all subdirectories/subfiles under the parent directory. This linear search process The computational overhead is large.
- the three technologies of multithreading, vector processing, and many-core acceleration are flexibly selected according to the size of the parent directory to accelerate the matching process, which can significantly shorten the calculation time.
- this embodiment adopts the method of replacing IO with calculation to reduce the delay of catalog parsing. The key reason for this method to achieve good results is that it is difficult to concurrently perform IO operations in the catalog parsing process, and the calculation process can use current parallelism. The implementation of computing technology has accelerated significantly.
- this embodiment proposes a fusion scheme that uses three technologies, namely multithreading, vector operation, and many-core acceleration, to implement parallel analysis of directories of different sizes. Specifically, this embodiment sets two thresholds TH 1 and TH 2 , both of which are integers and TH 1 ⁇ TH 2 . Suppose you need to retrieve the sub-directory/sub-file b from the parent directory a.
- this embodiment uses log append to record all metadata update operations.
- This measure makes all subdirectories/subfiles in a parent directory meet the following two characteristics in storage: (I) Recently created The sub-directory/sub-file of the parent directory is stored closer to the end in the continuous address space corresponding to the parent directory; (II) The latest updated sub-directory/sub-file is stored in the continuous address space corresponding to the parent directory closer to the end .
- this embodiment proposes an accelerated optimization scheme: reverse processing from the tail to the head of the continuous address space during directory retrieval. Once the subdirectory/subfile to be searched is retrieved, the retrieval process can be terminated immediately Return the corresponding metadata. Step S2.4), Step S2.5), Step S2.6) When retrieving the target subdirectory or subfile in the parent directory, the search is performed by reverse processing from the tail to the head of the continuous address space.
- the aforementioned accelerated optimization method may be used in at least one of the three steps of step S2.4), step S2.5), and step S2.6) as required.
- This optimization measure has similar acceleration effects for the above two scenarios: 1. According to the principle of locality, the recently created file is easier to be accessed again by upper-level applications, and this embodiment saves the recently created file at the end of the continuous address space. Reverse processing from the tail to the head can retrieve the recently created file faster. 2. According to the principle of log update, the most recent update of a directory or file is always stored closer to the end of the log. Reverse processing from the tail to the head can ensure that the metadata version retrieved first is the latest update information. In a word, the optimization measure of reverse retrieval from the tail to the head proposed in this embodiment can speed up the metadata access of the active file.
- this embodiment also provides a metadata management system, including a computer system, which is programmed to execute the steps of the metadata management method of this embodiment, or the storage medium of the computer system is programmed to execute The computer program of the aforementioned metadata management method in this embodiment.
- This embodiment also provides a computer-readable storage medium on which is stored a computer program programmed to execute the aforementioned metadata management method of this embodiment.
- This embodiment is basically the same as the first embodiment, and the main difference is: this embodiment is a subset of the first embodiment, this embodiment only includes the relevant content of the metadata update in the first embodiment, and provides the corresponding metadata. Data management system and computer readable media.
- This embodiment is basically the same as the first embodiment, and the main difference is: this embodiment is a subset of the first embodiment, this embodiment only includes the relevant content of the metadata retrieval in the first embodiment, and provides the corresponding metadata. Data management system and computer readable media.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
Claims (10)
- 一种元数据管理方法,其特征在于,进行元数据更新的实施步骤包括:1)将文件系统中所有的目录和文件采用树形结构进行组织,且针对单个目录下的所有目录和子文件作为一个整体、按照创建的顺序依次保存在底层存储设备的连续地址空间上;2)进行文件系统元数据更新时,采用日志形式对一个目录下的所有子目录/子文件实施更新操作,所有的元数据更新按照发生的顺序追加在该目录对应的连续地址空间的尾部,使得每次元数据操作仅引发一个IO请求。
- 根据权利要求1所述的元数据管理方法,其特征在于,步骤2)的详细步骤包括:2.1)文件系统接收到应用程序发出的元数据更新操作;2.2)判定元数据更新操作的类型,若为创建新的目录或文件则跳转步骤2.3);若为更新已有的目录或文件则跳转步骤2.4);若为删除已有的目录或文件则跳转步骤2.5);2.3)生成文件/目录创建日志,跳转步骤2.6);2.4)生成目录/文件更新日志,跳转步骤2.6);2.5)生成目录/文件删除日志,跳转步骤2.6);2.6)将生成的日志追加到连续地址空间的尾部,跳转步骤2.7);2.7)将连续地址空间尾部持久化到存储设备上。
- 根据权利要求1或2所述的元数据管理方法,其特征在于,进行元数据检索的实施步骤包括:S1)将文件系统中所有的目录和文件采用树形结构进行组织,且针对单个目录下的所有目录和子文件作为一个整体、按照创建的顺序依次保存在底层存储设备的连续地址空间上;S2)进行文件系统元数据检索时,从目录路径的第一个分量依次逐层解析到最后一个分量,最终得到欲访问的目录或文件;且在一个父目录下解析一个子目录时,首先要读取该父目录对应的连续地址空间上的所有数据,然后在读取的数据上搜索目标子目录或子文件,直到匹配成功。
- 根据权利要求3所述的元数据管理方法,其特征在于,所述在读取的数据上搜索目标子目录或子文件时,具体是从连续地址空间的尾部向头部逆向处理,一旦检索到待查找的子目录/子文件,即可终止检索过程立即返回相应的元数据。
- 根据权利要求3所述的元数据管理方法,其特征在于,所述在一个父目录下解析一个子目录的详细步骤包括:S2.1)收到应用程序发出的元数据检索请求,所述元数据检索请求为需要从一个父目录中检索目标目录或文件是否存在;S2.2)通过一次读操作将父目录下所有子目录/子文件的相关信息获取到内存中,跳转步骤S2.3);S2.3)判定待解析的父目录大小,若父目录内子目录/子文件总数小于预设的第一阈值TH 1,跳转步骤S2.4);若父目录内子目录/子文件总数在预设的第一阈值TH 1与预设的第二阈值TH 2之间,则跳转步骤S2.5);若父目录内子目录/子文件总数大于预设的第二阈值TH 2时,跳转步骤S2.6);S2.4)采用多线程技术在父目录中检索目标子目录或子文件,跳转步骤S2.7);S2.5)采用向量指令在父目录中检索目标子目录或子文件,跳转步骤S2.7);S2.6)采用众核加速技术在父目录中检索目标子目录或子文件,跳转步骤S2.7);S2.7)若在父目录中查找到目标子目录或子文件则检索成功;否则检索失败,向上层应用返回检索结果。
- 根据权利要求5所述的元数据管理方法,其特征在于,步骤S2.4)、步骤S2.5)、步骤S2.6)三者中至少一个步骤中在父目录中检索目标子目录或子文件时采取从连续地址空间的尾部向头部逆向处理的方式实施搜索。
- 一种元数据管理方法,其特征在于,进行元数据检索的实施步骤包括:S1)将文件系统中所有的目录和文件采用树形结构进行组织,且针对单个目录下的所有目录和子文件作为一个整体、按照创建的顺序依次保存在底层存储设备的连续地址空间上;S2)进行文件系统元数据检索时,从目录路径的第一个分量依次逐层解析到最后一个分量,最终得到欲访问的目录或文件;且在一个父目录下解析一个子目录时,首先要读取该父目录对应的连续地址空间上的所有数据,然后在读取的数据上搜索目标子目录或子文件,直到匹配成功。
- 根据权利要求7所述的元数据管理方法,其特征在于,所述在一个父目录下解析一个子目录的详细步骤包括:S2.1)收到应用程序发出的元数据检索请求,所述元数据检索请求为需要从一个父目录中检索目标目录或文件是否存在;S2.2)通过一次读操作将父目录下所有子目录/子文件的相关信息获取到内存中,跳转步骤S2.3);S2.3)判定待解析的父目录大小,若父目录内子目录/子文件总数小于预设的第一阈值TH 1,跳转步骤S2.4);若父目录内子目录/子文件总数在预设的第一阈值TH 1与预设的第二阈值TH 2之间,则跳转步骤S2.5);若父目录内子目录/子文件总数大于预设的第二阈值TH 2时,跳转步骤S2.6);S2.4)采用多线程技术在父目录中检索目标子目录或子文件,跳转步骤S2.7);S2.5)采用向量指令在父目录中检索目标子目录或子文件,跳转步骤S2.7);S2.6)采用众核加速技术在父目录中检索目标子目录或子文件,跳转步骤S2.7);S2.7)若在父目录中查找到目标子目录或子文件则检索成功;否则检索失败,向上层应用返回检索结果。
- 一种元数据管理系统,包括计算机系统,其特征在于,该计算机系统被编程以执行权利要求1~8中任意一项所述元数据管理方法的步骤,或者该计算机系统的存储介质上存储有被编程以执行权利要求1~8中任意一项所述元数据管理方法的计算机程序。
- 一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有被编程以执行权利要求1~8中任意一项所述元数据管理方法的计算机程序。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/279,606 US11693830B2 (en) | 2019-03-15 | 2019-03-29 | Metadata management method, system and medium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910198998.3 | 2019-03-15 | ||
| CN201910198998.3A CN109933570B (zh) | 2019-03-15 | 2019-03-15 | 一种元数据管理方法、系统及介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020186549A1 true WO2020186549A1 (zh) | 2020-09-24 |
Family
ID=66987422
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2019/080279 Ceased WO2020186549A1 (zh) | 2019-03-15 | 2019-03-29 | 一种元数据管理方法、系统及介质 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US11693830B2 (zh) |
| CN (1) | CN109933570B (zh) |
| WO (1) | WO2020186549A1 (zh) |
Families Citing this family (27)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110708355A (zh) * | 2019-09-05 | 2020-01-17 | 北京浪潮数据技术有限公司 | 一种文件上传的方法、系统、设备及可读存储介质 |
| CN110659257B (zh) * | 2019-09-05 | 2022-04-22 | 北京浪潮数据技术有限公司 | 一种元数据对象修复方法、装置、设备及可读存储介质 |
| CN112527757B (zh) * | 2019-09-18 | 2022-11-15 | 无锡江南计算技术研究所 | 基于大规模芯片测试结果的快速检索方法 |
| CN110928498B (zh) * | 2019-11-15 | 2023-11-10 | 浙江大华技术股份有限公司 | 一种目录遍历的方法、装置、设备和存储介质 |
| CN111352586B (zh) * | 2020-02-23 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种加速文件读写的目录聚合方法、装置、设备和介质 |
| US12499085B2 (en) | 2024-01-29 | 2025-12-16 | Pure Storage, Inc. | Home directory level storage management of a file system |
| US12585621B2 (en) | 2024-01-29 | 2026-03-24 | Pure Storage, Inc. | Directory level storage management of a file system |
| CN111694847B (zh) * | 2020-06-04 | 2023-07-18 | 贵州易鲸捷信息技术有限公司 | 一种特大lob数据高并发低延迟的更新访问方法 |
| CN111858496B (zh) * | 2020-07-27 | 2021-09-17 | 北京大道云行科技有限公司 | 一种元数据的检索方法、装置、存储介质和电子设备 |
| CN114363355B (zh) * | 2020-09-29 | 2025-09-12 | 华为云计算技术有限公司 | 数据同步的方法、存储网关、系统及计算机可读存储介质 |
| CN114625713A (zh) * | 2020-12-10 | 2022-06-14 | 华为技术有限公司 | 一种存储系统中元数据管理方法、装置及存储系统 |
| CN112698976B (zh) * | 2020-12-24 | 2023-12-22 | 北京浪潮数据技术有限公司 | 一种元数据修复方法、装置、设备及介质 |
| CN114490514A (zh) * | 2022-01-26 | 2022-05-13 | 清华大学 | 文件系统的元数据管理方法、装置、设备 |
| CN114415971B (zh) * | 2022-03-25 | 2022-09-23 | 阿里云计算有限公司 | 数据处理方法以及装置 |
| CN114968926B (zh) * | 2022-05-31 | 2025-06-10 | 济南浪潮数据技术有限公司 | 一种数据管理方法、装置、设备及存储介质 |
| CN117493282A (zh) * | 2022-07-25 | 2024-02-02 | 华为云计算技术有限公司 | 一种基于文件系统的元数据管理方法及其相关设备 |
| CN115422137B (zh) * | 2022-09-05 | 2026-01-16 | 北京星辰天合科技股份有限公司 | 文件创建方法、装置、电子设备及计算机可读存储介质 |
| CN116383166A (zh) * | 2022-09-09 | 2023-07-04 | 支付宝(杭州)信息技术有限公司 | 针对分布式文件系统的数据处理方法及装置 |
| CN115563057A (zh) * | 2022-09-26 | 2023-01-03 | 中电云数智科技有限公司 | 一种基于daos的文件系统元数据存储方法及设备 |
| CN116467277B (zh) * | 2023-03-17 | 2026-01-02 | 清华大学 | 元数据处理方法、装置、设备、存储介质及产品 |
| CN116737113B (zh) * | 2023-04-23 | 2024-01-02 | 中国科学院高能物理研究所 | 面向海量科学数据的元数据目录管理系统及方法 |
| CN116737659B (zh) * | 2023-06-12 | 2026-01-13 | 中山大学 | 文件系统的元数据管理方法、终端设备及计算机存储介质 |
| CN117056245B (zh) * | 2023-08-18 | 2024-02-23 | 武汉麓谷科技有限公司 | 一种基于zns固态硬盘的面向日志记录应用的数据组织方法 |
| CN117171109B (zh) * | 2023-08-31 | 2026-01-09 | 阿维塔科技(重庆)有限公司 | 数据存储管理方法、装置、系统及存储介质 |
| CN116955219B (zh) * | 2023-09-13 | 2024-01-19 | 新华三信息技术有限公司 | 一种数据镜像方法、装置、主机及存储介质 |
| CN117453682B (zh) * | 2023-09-26 | 2024-07-09 | 广州海量数据库技术有限公司 | 在openGauss数据库上并行创建列存表btree索引的方法和系统 |
| CN117235313B (zh) * | 2023-11-09 | 2024-02-13 | 苏州元脑智能科技有限公司 | 一种存储目录统计方法、装置及电子设备和存储介质 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102024020A (zh) * | 2010-11-04 | 2011-04-20 | 曙光信息产业(北京)有限公司 | 一种分布式文件系统中高效的元数据访存方法 |
| CN106170012A (zh) * | 2016-06-29 | 2016-11-30 | 上海上大海润信息系统有限公司 | 一种面向云渲染的分布式文件系统及构建和访问方法 |
| CN106649601A (zh) * | 2016-11-24 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种文件系统数据处理方法、客户端、服务端及系统 |
| CN107239569A (zh) * | 2017-06-27 | 2017-10-10 | 郑州云海信息技术有限公司 | 一种分布式文件系统子树存储方法及装置 |
Family Cites Families (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR100392382B1 (ko) * | 2001-07-27 | 2003-07-23 | 한국전자통신연구원 | 동적 크기 변경 및 메타 데이터 양의 최소화를 위한 논리볼륨 관리 방법 |
| US8612404B2 (en) * | 2002-07-30 | 2013-12-17 | Stored Iq, Inc. | Harvesting file system metsdata |
| US7107385B2 (en) * | 2002-08-09 | 2006-09-12 | Network Appliance, Inc. | Storage virtualization by layering virtual disk objects on a file system |
| US7401104B2 (en) * | 2003-08-21 | 2008-07-15 | Microsoft Corporation | Systems and methods for synchronizing computer systems through an intermediary file system share or device |
| US7908562B2 (en) * | 2003-10-23 | 2011-03-15 | Microsoft Corporation | System and a method for presenting items to a user with a contextual presentation |
| US7930508B2 (en) * | 2006-03-07 | 2011-04-19 | Apple Inc. | File systems for data processing systems |
| US8402071B2 (en) * | 2009-06-19 | 2013-03-19 | Aptare, Inc. | Catalog that stores file system metadata in an optimized manner |
| US10509776B2 (en) * | 2012-09-24 | 2019-12-17 | Sandisk Technologies Llc | Time sequence data management |
| KR102050725B1 (ko) * | 2012-09-28 | 2019-12-02 | 삼성전자 주식회사 | 컴퓨팅 시스템 및 컴퓨팅 시스템의 데이터 관리 방법 |
| KR102127116B1 (ko) * | 2014-03-12 | 2020-06-26 | 삼성전자 주식회사 | 분산 데이터 저장 장치 및 분산 데이터 저장 방법 |
| CN105786724B (zh) * | 2014-12-24 | 2018-12-25 | 华为技术有限公司 | 空间管理方法及装置 |
| CN104537050B (zh) * | 2014-12-25 | 2017-12-15 | 华中科技大学 | 一种批量快速创建文件系统元数据和数据的方法 |
| CN104933133B (zh) * | 2015-06-12 | 2018-09-07 | 中国科学院计算技术研究所 | 分布式文件系统中的元数据快照存储和访问方法 |
| CN106293511B (zh) * | 2016-07-26 | 2018-12-04 | 北京理工大学 | 一种面向连续数据存储的动态局部并行数据布局方法 |
| CN106547703B (zh) * | 2016-10-08 | 2019-05-14 | 华中科技大学 | 一种基于块组结构的ftl优化方法 |
| CN106708442B (zh) * | 2016-12-30 | 2020-02-14 | 硬石科技(武汉)有限公司 | 同时适应磁盘与固态硬盘读写特性的海量数据存储方法 |
| CN107066505A (zh) * | 2017-01-10 | 2017-08-18 | 郑州云海信息技术有限公司 | 一种性能优化的小文件存储访问的系统及方法 |
| CN107862064B (zh) * | 2017-11-16 | 2021-09-10 | 北京航空航天大学 | 一个基于nvm的高性能、可扩展的轻量级文件系统 |
| CN109213699B (zh) * | 2018-09-21 | 2021-10-29 | 郑州云海信息技术有限公司 | 一种元数据管理方法、系统、设备及计算机可读存储介质 |
| CN109359062A (zh) * | 2018-11-02 | 2019-02-19 | 郑州云海信息技术有限公司 | 一种元数据读缓存方法、装置及设备 |
-
2019
- 2019-03-15 CN CN201910198998.3A patent/CN109933570B/zh active Active
- 2019-03-29 WO PCT/CN2019/080279 patent/WO2020186549A1/zh not_active Ceased
- 2019-03-29 US US17/279,606 patent/US11693830B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102024020A (zh) * | 2010-11-04 | 2011-04-20 | 曙光信息产业(北京)有限公司 | 一种分布式文件系统中高效的元数据访存方法 |
| CN106170012A (zh) * | 2016-06-29 | 2016-11-30 | 上海上大海润信息系统有限公司 | 一种面向云渲染的分布式文件系统及构建和访问方法 |
| CN106649601A (zh) * | 2016-11-24 | 2017-05-10 | 郑州云海信息技术有限公司 | 一种文件系统数据处理方法、客户端、服务端及系统 |
| CN107239569A (zh) * | 2017-06-27 | 2017-10-10 | 郑州云海信息技术有限公司 | 一种分布式文件系统子树存储方法及装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN109933570B (zh) | 2020-02-07 |
| US11693830B2 (en) | 2023-07-04 |
| CN109933570A (zh) | 2019-06-25 |
| US20220027326A1 (en) | 2022-01-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109933570B (zh) | 一种元数据管理方法、系统及介质 | |
| CN109213772B (zh) | 数据存储方法及NVMe存储系统 | |
| US10754878B2 (en) | Distributed consistent database implementation within an object store | |
| US9665304B2 (en) | Storage system with fast snapshot tree search | |
| CN100483420C (zh) | 基于快照的细粒度文件与目录版本管理方法 | |
| CN113094336B (zh) | 基于Cuckoo哈希的文件系统目录管理方法及系统 | |
| Yue et al. | Building an efficient put-intensive key-value store with skip-tree | |
| Bernstein et al. | Optimizing optimistic concurrency control for tree-structured, log-structured databases | |
| CN111522791B (zh) | 一种分布式文件重复数据删除系统及方法 | |
| CN103595797B (zh) | 一种分布式存储系统中的缓存方法 | |
| CN103942301B (zh) | 一种面向多数据类型访问应用的分布式文件系统 | |
| CN113535670B (zh) | 一种虚拟化资源镜像存储系统及其实现方法 | |
| US20170147225A1 (en) | Unified table delta dictionary memory size and load time optimization | |
| CN114416742A (zh) | Key-Value存储引擎实现方法及系统 | |
| CN117120998A (zh) | 用于读取树数据结构中保存的数据的方法和装置 | |
| WO2013139379A1 (en) | Replicated data storage system and methods | |
| CN116226497A (zh) | 检索方法、介质、装置和计算设备 | |
| Jiao et al. | BetrFS: A compleat file system for commodity SSDs | |
| CN110032543A (zh) | 一种存储文件系统的管理方法 | |
| US11586353B2 (en) | Optimized access to high-speed storage device | |
| WO2024254899A1 (zh) | 文件系统的元数据管理方法、终端设备及计算机存储介质 | |
| Carter et al. | Nanosecond indexing of graph data with hash maps and VLists | |
| US12014070B2 (en) | Method, device, and computer program product for storage management | |
| Cai et al. | The Embedded IoT Time Series Database for Hybrid Solid‐State Storage System | |
| Saloustros et al. | Rethinking HBase: design and implementation of an elastic key-value store over log-structured local volumes |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19920120 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19920120 Country of ref document: EP Kind code of ref document: A1 |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19920120 Country of ref document: EP Kind code of ref document: A1 |
|
| 32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 070322) |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19920120 Country of ref document: EP Kind code of ref document: A1 |