Storage management method and device for distributed storage system, and program product and medium

By constructing Bloom filters and key indexes, and aggregating logical keys into physical keys, the problem of low efficiency in key-value queries smaller than the block size in distributed storage systems is solved, achieving higher write throughput and resource savings, and improving system performance.

WO2026002164A1PCT designated stage Publication Date: 2026-01-02JINAN INSPUR DATA TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/104066
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-28
Filing Date
2025-06-26
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

Existing distributed storage systems suffer from read amplification and frequent garbage collection in key-value query operations smaller than the specified block size, leading to performance degradation and increased memory consumption.

Method used

By constructing a preset Bloom filter and key index, aggregated records of logical keys are detected. Logical keys smaller than the preset size are aggregated into physical keys, reducing index query overhead. User values ​​are directly stored and queried through physical keys, realizing the conversion from logical keys to physical keys.

Benefits of technology

It improves key-value query efficiency, saves memory and storage hardware resources, and enhances the performance of distributed storage systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025104066_02012026_PF_FP_ABST
    Figure CN2025104066_02012026_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of distributed storage. Disclosed are a storage management method and device for a distributed storage system, and a program product and a medium. The method comprises: acquiring a point query request of a preset key-value database; detecting whether there is an aggregation record of logical keys corresponding to a target user key in a key index of the preset key-value database; if there is an aggregation record in the key index, determining, on the basis of the aggregation record, a physical key corresponding to the target user key; and on the basis of the physical key corresponding to the target user key, retrieving from a storage device a logical key corresponding to the target user key, and using the logical key corresponding to the target user key to retrieve from the storage device a user value corresponding to the target user key. In the present application, a plurality of smaller logical keys are aggregated into a larger physical key, so that memory and the hardware resources of a storage device can be saved; and whether the logical keys are stored in the aggregated physical key or are directly stored can be conveniently determined, thereby improving the performance of a distributed storage system and enhancing the efficiency of key-value queries.
Need to check novelty before this filing date? Find Prior Art

Description

Storage management method, device, program product and medium of distributed storage system

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to the Chinese patent application No. 202410853504.1, filed on June 28, 2024, entitled "Storage management method, device, program product and medium of distributed storage system", the content of which is incorporated herein by reference in its entirety. TECHNICAL FIELD

[0003] The present application relates to the technical field of distributed storage, and particularly relates to a storage management method, device, program product and medium of distributed storage system. BACKGROUND

[0004] With the rise of big data and cloud computing technology, distributed storage system technology has developed rapidly. The design concept of the distributed storage system is based on scalability and fault tolerance, adopts a distributed architecture, slices data to distribute objects on multiple nodes, ensures the capacity balance of each node, and provides a unified storage interface through network connection for data access and management.

[0005] The object storage engine is an indispensable backend storage module of the distributed storage system, which is the backend object library of the object storage daemon (OSD). The object storage engine manages the bare devices through a distributor, directly saves object data to the physical storage medium devices of the distributed storage nodes, including disks and solid state disks, etc. Meanwhile, the object metadata is saved by using a key-value (KV) database. The key-value database manages the mapping from the object name to the block position on the disk. Since the database needs to rely on the file system and cannot directly interact with the bare device, the object storage engine encapsulates a file system at the bottom to connect the database and the bare device of the underlying storage node.

[0006] In a distributed storage system, a block interface facing a bare device, regardless of the size of the requested key and value, the minimum device I / O (input / output) is bound to a specified bare device block size, such as 4K (Kilobyte, kilobyte); so that the request of the byte-level query operation smaller than the bare device block size generates a large amount of read amplification; even if the Key-Value storage in the related art can reduce the read-write amplification by performing compression only on the Key and storing the Value separately, but the cost is that more garbage collection operations will be generated when the Key is frequently updated or deleted, affecting the performance. And if the key-value pair is too small, the number of corresponding key-value pairs that need to be stored and queried will increase, increasing the memory consumption and disk I / O pressure, and reducing the query performance. Therefore, how to improve the performance of the distributed storage system, improve the key-value query efficiency, and save the hardware resources of the memory and storage device, is a problem that needs to be solved urgently. SUMMARY

[0007] The purpose of the present application is to provide a storage management method, device, computer program product and computer readable storage medium of a distributed storage system, to improve the performance of the distributed storage system, improve the key-value query efficiency, and save the hardware resources of the memory and storage device.

[0008] To solve the above technical problems, the present application provides a storage management method of a distributed storage system, comprising:

[0009] Obtaining a point query request of a preset key-value database; wherein the point query request includes a target user key;

[0010] Detecting whether there is an aggregated record of the logical key corresponding to the target user key in the key index of the preset key-value database; wherein the aggregated record stores the correspondence between the logical key with a storage specification smaller than a preset specification and the corresponding physical key, and the specification of the physical key is greater than or equal to the preset specification;

[0011] If there is no aggregated record of the logical key corresponding to the target user key in the key index of the preset key-value database, then using the logical key corresponding to the target user key, retrieving the user value corresponding to the target user key from the storage device of the preset key-value database;

[0012] If there is an aggregated record of the logical key corresponding to the target user key in the key index of the preset key-value database, then determining the physical key corresponding to the target user key according to the aggregated record;

[0013] According to the physical key corresponding to the target user key, retrieving the logical key corresponding to the target user key from the storage device, and using the logical key corresponding to the target user key, retrieving the user value corresponding to the target user key from the storage device.

[0014] In another aspect, the key index of the preset key-value database includes one in-memory table and multiple sorting string tables based on logical keys and list sorting; the in-memory table is used for fast write operation; the sorting string tables are used for obtaining in-memory data stored in the in-memory table, sorting the obtained in-memory data to realize fast access, and storing the obtained in-memory data in a file on a storage device.

[0015] In another aspect, detecting whether the aggregation record of the logical key corresponding to the target user key exists in the key index of the preset key-value database includes:

[0016] Detecting, by using the preset Bloom filter, whether the aggregation record of the logical key corresponding to the target user key exists in the key index of the preset key-value database.

[0017] In another aspect, detecting, by using the preset Bloom filter, whether the aggregation record of the logical key corresponding to the target user key exists in the key index of the preset key-value database includes:

[0018] Detecting, by using the preset Bloom filter, whether the logical key information corresponding to the target user key exists in the key index;

[0019] If the logical key information corresponding to the target user key does not exist in the key index, determining that the point query request is a null query;

[0020] If the logical key information corresponding to the target user key exists in the key index, detecting whether the aggregation record of the logical key corresponding to the target user key exists in the key index of the preset key-value database;

[0021] If the aggregation record does not exist in the key index of the preset key-value database, performing the step of retrieving the user value corresponding to the target user key from the storage device of the preset key-value database by using the logical key corresponding to the target user key;

[0022] If the aggregation record exists in the key index of the preset key-value database, performing the step of determining the physical key corresponding to the target user key according to the aggregation record.

[0023] In another aspect, detecting, by using the preset Bloom filter, whether the aggregation record of the logical key corresponding to the target user key exists in the key index of the preset key-value database includes:

[0024] Inputting the target user key into the preset Bloom filter to obtain an output result of the preset Bloom filter;

[0025] If the output result of the preset Bloom filter is 0, performing the step of determining that the point query request is a null query;

[0026] If the output result of the preset Bloom filter is negative, a step of retrieving the user value corresponding to the target user key from the storage device of the preset key-value database by using the logical key corresponding to the target user key is performed.

[0027] If the output result of the preset Bloom filter is positive, a step of determining the physical key corresponding to the target user key according to the aggregated record is performed.

[0028] In another aspect, before the point query request of the preset key-value database is acquired, the method further comprises:

[0029] The preset Bloom filter is constructed when the preset key-value database is started.

[0030] In another aspect, the preset Bloom filter is constructed when the preset key-value database is started, and the constructing comprises:

[0031] The preset Bloom filter is constructed by allocating the occupied memory of each level of the preset Bloom filter; wherein N is the number of levels of the preset Bloom filter, M is the preset total occupied memory in the preset Bloom filter, Mi is the occupied memory of the i-th level Bloom filter in the preset Bloom filter, i = 0, 1, …, N-1.

[0032] In another aspect, the user value corresponding to the target user key is retrieved from the storage device of the preset key-value database by using the logical key corresponding to the target user key, and the retrieving comprises:

[0033] Logical key information corresponding to the target user key is acquired;

[0034] The user value corresponding to the target user key is retrieved from the storage device according to the logical key information.

[0035] In another aspect, the method further comprises:

[0036] The range query request of the preset key-value database is acquired; wherein the range query request comprises range length specification information;

[0037] According to the range query request, when the user value in the first iteration key-value pair is retrieved from the storage device by using the iterator, the user value corresponding to the range length specification information is prefetched from the storage device to the memory, so that the iterator acquires the user value in the next iteration key-value pair from the memory.

[0038] In another aspect, the range length specification information comprises a specified timestamp range, or the range length specification information comprises a specified first iteration user key and a specified scan length.

[0039] In another aspect, before the user value corresponding to the range length specification information is prefetched from the storage device to the memory, the method further comprises:

[0040] Limiting the footprint of user values prefetched from storage into memory.

[0041] In another aspect, the method further comprises:

[0042] Obtaining a range query request of a preset key-value database;

[0043] If an aggregated record of a logical key corresponding to a current user key of the range query request is detected in the key index, determining a physical key corresponding to the logical key corresponding to the current user key according to the aggregated record of the logical key corresponding to the current user key; wherein the current user key is a user value in a key-value pair for a next iteration of an iterator of the range query request;

[0044] Retrieving the logical key corresponding to the current user key from the storage device according to the physical key corresponding to the current user key, and caching other logical keys in the physical key corresponding to the current user key from the storage device into the memory, so that the iterator obtains a user value in a key-value pair for a next iteration from the memory;

[0045] Retrieving a user value corresponding to the current user key from the storage device using the logical key corresponding to the current user key.

[0046] In another aspect, the method further comprises:

[0047] Using a local update mechanism, wherein the local update mechanism requires read, modification, and write operations on the aggregated record;

[0048] Allocating a new physical key for the updated aggregated record;

[0049] Cleaning up obsolete aggregated records using a background garbage collection mechanism.

[0050] In another aspect, determining a physical key corresponding to a target user key according to the aggregated record comprises:

[0051] Determining the physical key corresponding to the target user key stored in the storage device according to a target sequence number stored in a sorted string table of the preset key-value database; wherein the target sequence number is a sequence number corresponding to the physical key in the aggregated record of the logical key corresponding to the target user key.

[0052] In another aspect, the method further comprises:

[0053] Obtaining a logical key of a key-value pair to be stored; wherein the logical key comprises a user key and a user value in the key-value pair to be stored;

[0054] Identifying aggregable keys in the logical key; wherein a specification of each aggregable key is less than a preset specification;

[0055] The polymerizable links are aggregated to obtain physical links, and an aggregation record between each polymerizable link and the corresponding physical link is stored in a link index; wherein the sum of the specifications of all polymerizable links in each physical link pair is greater than or equal to a preset specification, and each polymerizable link is aggregated into a corresponding physical link;

[0056] The physical links are stored into a storage device.

[0057] In another aspect, the polymerizable links are aggregated to obtain physical links, comprising:

[0058] The polymerizable links are aggregated in the memory to obtain corresponding physical links.

[0059] In another aspect, the user key in the key-value pair to be stored comprises an inode number and a file name of a metadata file of the distributed storage system in a parent directory, and the user value in the key-value pair to be stored comprises the inode number and file attributes, and the file attributes comprise at least one of a type, a specification, permission bits, and owner information.

[0060] The application further provides a computer program product, comprising computer programs / instructions, which, when executed by a processor, implement the steps of the storage management method of the distributed storage system as described above.

[0061] The application further provides a storage management device of a distributed storage system, comprising:

[0062] a memory configured to store computer programs;

[0063] a processor configured to implement the steps of the storage management method of the distributed storage system as described above when executing the computer programs.

[0064] In addition, the application further provides a computer persistent readable storage medium, and the computer persistent readable storage medium stores computer programs, and the computer programs, when executed by a processor, implement the steps of the storage management method of the distributed storage system as described above.

[0065] The storage management method of the distributed storage system provided in the application comprises the following steps: obtaining a point query request of a preset key-value database; wherein the point query request comprises a target user key; detecting whether an aggregated record of a logical key corresponding to the target user key exists in a key index of the preset key-value database; wherein the aggregated record is a corresponding relationship between a logical key with a storage specification smaller than a preset specification and a physical key with a storage specification larger than or equal to the preset specification; if the aggregated record of the logical key corresponding to the target user key does not exist in the key index of the preset key-value database, retrieving a user value corresponding to the target user key from a storage device of the preset key-value database by using the logical key corresponding to the target user key; if the aggregated record of the logical key corresponding to the target user key exists in the key index of the preset key-value database, determining a physical key corresponding to the target user key according to the aggregated record; retrieving the logical key corresponding to the target user key from the storage device according to the physical key corresponding to the target user key, and retrieving the user value corresponding to the target user key from the storage device by using the logical key corresponding to the target user key;

[0066] It can be seen that the application aggregates multiple small logical keys into a large physical key, realizes the conversion of the logical key to the physical key, can generate higher write throughput and reduce the number of physical keys in the required managed storage device, thereby saving the memory and hardware resources of the storage device; and through the aggregated record of the logical key saved in the key index, it can be conveniently confirmed whether the logical key is stored in the aggregated physical key or directly stored, to query the corresponding physical key when stored in the physical key, and query the corresponding user value through the physical key, realize the range query of the logical key, and directly find the corresponding user value from the storage device when directly stored, reduce the index process of the physical key, reduce the overhead of the key index query, improve the performance of the distributed storage system, and improve the key-value query efficiency. In addition, the application also provides a storage management device of a distributed storage system, a program product and a medium, which also have the above beneficial effects. BRIEF DESCRIPTION OF DRAWINGS

[0067] In order to more clearly illustrate the technical solutions in the embodiments of the application or the related art, the following will briefly introduce the drawings needed to be used in the embodiment or related art description. Obviously, the drawings in the following description are only embodiments of the application, and those skilled in the art can obtain other drawings according to the provided drawings without any creative effort.

[0068] Fig. 1 is a flow chart of a storage management method of a distributed storage system provided by an embodiment of the application;

[0069] Fig. 2 is a schematic diagram of the overall architecture of a distributed storage system provided by an embodiment of the application;

[0070] FIG. 3 is a schematic diagram of a logical key aggregation process according to an embodiment of the present application;

[0071] FIG. 4 is a schematic diagram of a key index retrieval process according to an embodiment of the present application;

[0072] FIG. 5 is a schematic diagram of an index detection process bypassing key conversion according to an embodiment of the present application;

[0073] FIG. 6 is a flowchart of a storage management method of a distributed storage system according to an embodiment of the present application;

[0074] FIG. 7 is a schematic diagram of a simple structure of a storage management device of a distributed storage system according to an embodiment of the present application;

[0075] FIG. 8 is a schematic diagram of a specific structure of a storage management device of a distributed storage system according to an embodiment of the present application. DETAILED DESCRIPTION

[0076] To make the objectives, technical solutions, and superiorities of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be described below in connection with the drawings in the embodiments of the present application. Obviously, the described embodiments are only some, but not all of the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of the present application.

[0077] Referring to FIG. 1, FIG. 1 is a flowchart of a storage management method of a distributed storage system according to an embodiment of the present application. The method can include:

[0078] Step 101: obtaining a point query request of a preset key-value database; wherein the point query request includes a target user key.

[0079] It can be understood that the preset key-value database in the embodiment can be a key-value storage engine database of a pre-set distributed storage system, i.e., a Key-Value database in object metadata storage. The point query request in this step can be a request for point query, and point query refers to querying a corresponding value (Value, i.e., user value) according to a specified key (Key, i.e., target user key).

[0080] As shown in FIG. 2, the architecture of the distributed storage system can include multiple components, such as object gateway service, block device service, file system service, unified, self-controlled, and scalable distributed storage consistency management system, storage pool, controllable, scalable, and distributed data balancing placement algorithm, metadata cluster, monitoring service cluster, and storage backend engine.

[0081] Correspondingly, the object gateway service, the block device service and the file system service can provide a unified storage interface to provide access interface services for clients of the distributed storage system. The unified, controllable and scalable distributed storage consistency management system is the core component of the distributed storage cluster, which provides distributed object storage services; in this component, data is stored as objects, each object has a unique identifier and related data; responsible for distributing objects on each storage node of the storage cluster and providing data replication, recovery, load balancing and other functions to ensure data reliability and high-performance access. The distributed storage system is composed of multiple storage nodes, each of which can include multiple storage devices (such as hard disks and magnetic disks); the storage pool divides the storage resources to form different pools to meet different storage needs. The controllable, scalable and distributed data balancing algorithm component can evenly distribute data objects on each node of the system to avoid data hotspots and improve system performance. The metadata cluster is responsible for managing the metadata information of the file system, including the attributes, locations, etc. of files and directories; the monitoring service cluster is responsible for monitoring the state and configuration information of the cluster, and its technical principles include maintaining the state information, configuration information, health status, etc. of the cluster to ensure the consistency and availability of the cluster.

[0082] Correspondingly, the storage backend engine can be a software module optimized by the present embodiment, which can be the backend object library of the object storage daemon, and can manage the bare devices through the allocator, and can save object data to the storage devices of the distributed storage nodes, such as disks and solid state disks, etc. At the same time, the object metadata is saved by using the key-value database, and then through the conversion interface, the key-value data interface is converted into the file system interface, and after the file system arrangement, it is stored in the underlying storage device. Among them, the Key (i.e. user key) in the key-value pair saved by the preset key-value database can include the inode number of the metadata file of the distributed storage system in the parent directory and the file name, such as the variable length 64-bit inode number (inode number) of the parent directory and the file name, and the Value (i.e. user value) can include the inode number of the file and various file attributes (such as type, specification, permission bit and owner information, etc.). The preset key-value database manages the mapping from the object name to the block position on the disk. Since the database needs to rely on the file system and cannot directly interact with the bare device, the object storage engine encapsulates a file system at the bottom to interface the database with the bare devices of the underlying storage nodes.

[0083] It should be noted that the target user key in the embodiment can be a user key that needs to query the corresponding user value. For the specific manner of obtaining the point query request of the preset key-value database in this step, the designer can set it according to the practical scene and user demand, such as using the same or similar manner as the method for obtaining the point query request of the key-value database in the related art, for example, the following application program interface (API) can be defined for the preset key-value database in the embodiment, including: get(k, v), to obtain Value from Key, for point query; put(k, v), for inserting a new key-value pair; delete(k), for deleting a key-value pair; Iterator(): an iterator for range query; seek(k), for moving the iterator to the first key-value pair, where the Key of the range query is greater than or equal to the seek(k) to be found; next(), for moving the iterator to the next key-value pair; valid(), for expressing whether the iterator is valid; key(), for returning the key of the current iterator; value(), for returning the value of the current iterator; hint.scan_length, for specifying the scan length of the user prompt; the embodiment can trigger the get operation (i.e., the point query operation) to query the user value corresponding to the target user key after obtaining the point query request.

[0084] Step 102: detecting whether the aggregation record of the logical key corresponding to the target user key exists in the key index of the preset key-value database; if the aggregation record of the logical key corresponding to the target user key does not exist in the key index of the preset key-value database, step 103 is entered; if the aggregation record of the logical key corresponding to the target user key exists in the key index of the preset key-value database, step 104 is entered.

[0085] The aggregation record storage specification is smaller than the preset specification, and the corresponding relationship between the logical key and the corresponding physical key is stored.

[0086] It can be understood that in the Key-Value (key-value) storage system, the record is a key-value pair data item stored in the key-value database (i.e., the preset key-value database), which is the basic unit of key-value storage and operation; by using a unique key (such as a logical key) to access and update the corresponding value, efficient data storage and retrieval and query can be achieved. The content of the record can include various types of data, such as text, numbers, JSON (JavaScript Object Notation, JavaScript Object Notation), etc., which has strong flexibility and universality.

[0087] That is, the logical key in the embodiment can be a unique data item corresponding to a key-value pair stored in the preset key-value database, that is, a Key-Value record; each logical key can include a user key and a user value in the corresponding key-value pair; as shown in FIG. 3, the logical key can include the user key and corresponding specification information (such as Key size, key specification) in the corresponding key-value pair and the user value and corresponding specification information (such as Value size, value specification) to facilitate the retrieval of the user key and the user value in the logical key.

[0088] Correspondingly, in the embodiment, for the Key-Value records of mass small IO (input / output) requests, that is, some query retrieval byte-level I / O smaller than a preset specification (such as 4 KB), the smaller Key-Value records are aggregated into a single physical record (that is, a physical key) to generate better write throughput and reduce the impact of a large number of keys (that is, logical keys) generated by small IO requests on performance and maintenance and management costs. In the embodiment, the Key-index records the mapping of the logical key to the physical key to provide a range query function for the logical key.

[0089] For example, as shown in the conversion process of the logical key and the physical key in the preset key-value database in FIG. 3, the size of each logical key (logical key 1-4) is smaller than 4 KB (that is, the preset specification); in the mapping relationship of the Key-index record, the logical keys 1-4 are aggregated into a physical key 1, and the aggregated physical key 1 is greater than or equal to 4 KB; the physical key 1 can include the user key (user key) and the corresponding key specification and the user value and the corresponding value specification corresponding to each logical key, which are combined into the actual key-value request pair of the application program. Correspondingly, in the embodiment, for the logical key smaller than the preset specification, the logical key and the user key are converted into the Key (that is, the physical key) of the application program, and the physical key is defined as the actual Key written into the storage device using the KV interface.

[0090] It should be noted that in the embodiment, the aggregation record of the logical key to the physical key conversion recorded by the key index is used to identify whether the logical key is stored in the aggregated physical key or directly stored, and the mapping relationship between the logical key and the corresponding physical key. As shown in FIG. 4, the key index of the preset key value database can include a memtable (in-memory table) and multiple sstables (Sorted Strings Table) based on logical keys and list sorting. The memtable is an in-memory table used for fast write operation. The sstable is an immutable, sorted, persistent Key-Value Map (key-value map), in which the Key and Value are both arbitrary byte strings, and the sstable provides operations for finding the Value corresponding to a specific Key value and finding all Key-Value in a given range, such as user value to logical key and logical key to physical key. The sstable is a persistent file format used to obtain the in-memory data stored in the memtable, sort it to achieve fast access, and store it in a set of persistent, ordered, immutable files on the disk. For sstable storage, the embodiment can use a separate storage device to store each data block and index block. The key of the data block is the sstable number (such as the sorted serial number on the sstable) plus the offset, such as the logical key and the physical key in the storage device. Each index block has a separate device KV pair, using the sstable number as the key, and its value includes the key range information and the offset of each data block to index to the corresponding logical key and physical key.

[0091] In the embodiment, by detecting whether the aggregation record of the logical key corresponding to the target user key exists in the key index of the preset key value database, it can be determined whether the logical key corresponding to the target user key is stored in the aggregated physical key or directly stored, so as to bypass the conversion process of the logical key to the physical key when directly stored, and reduce the overhead of key index query.

[0092] Correspondingly, for the specific manner of detecting in this step whether the aggregate record of the logical key corresponding to the target user key exists in the key index of the preset key-value database, the designer can set it by himself, for example, the aggregate record of the logical key corresponding to the target user key can be directly queried in the key index. In order to reduce the overhead of key index query and reduce the occupation of CPU (Central Processing Unit) and memory resources, in the embodiment, a bloom filter can be used to detect whether the aggregate record of the logical key corresponding to the target user key exists in the key index, so as to avoid direct query of the key index. The bloom filter is a kind of data structure, a kind of probability data structure, which is characterized by high efficiency of insertion and query, and can be used to detect whether an element exists in a set, and has high retrieval efficiency and occupies less space. That is, in this step, the preset bloom filter can be used to detect whether the aggregate record of the logical key corresponding to the target user key exists in the key index of the preset key-value database. If the aggregate record of the logical key corresponding to the target user key does not exist in the key index of the preset key-value database, step 103 is entered. If the aggregate record of the logical key corresponding to the target user key exists in the key index of the preset key-value database, step 104 is entered. The embodiment does not make any limitation on this.

[0093] For example, as shown in FIG. 5, when processing the get operation corresponding to the point query request, first, the bloom filter (i.e., the preset bloom filter) is passed through, for example, the target user key or the corresponding logical key information is input into the preset bloom filter. If the filter returns a negative number, the logical key does not need to be converted to the corresponding physical key, and the corresponding user value can be directly retrieved from the storage device. If the filter returns a positive number, the key index can be queried to find the corresponding physical key. Correspondingly, when processing the Iterator operation corresponding to the range query request, the bloom filter can also be used to query whether the aggregate record of the corresponding logical key exists.

[0094] It should be noted that the preset bloom filter can use a bit array and a hash function to map data into a bit array, and determine whether the data exists by checking the value of the corresponding position in the bit array, so as to quickly and efficiently confirm whether the logical key is in the aggregated physical key or directly stored. Optionally, in the embodiment, the preset bloom filter can also be used to detect whether the point query and the range query are empty, for example, whether the logical key 1 exists and whether the logical keys 14-16 exist. Thus, the detection of empty query (Empty Queries) is realized, so as to avoid the problems of resource waste, log pollution, security vulnerability and difficult error diagnosis caused by empty query.

[0095] For example, in this step, the preset Bloom filter can be used to detect whether the logical key information corresponding to the target user key exists in the key index; if the logical key information corresponding to the target user key does not exist in the key index, it is determined that the point query request is a null query, and the point query request can be ended or discarded; if the logical key information corresponding to the target user key exists in the key index, it is detected whether the aggregated record of the logical key corresponding to the target user key exists in the key index of the preset key-value database; if the aggregated record does not exist in the key index of the preset key-value database, step 103 is entered; if the aggregated record exists in the key index of the preset key-value database, step 104 is executed. For example, in this step, the target user key can be input into the preset Bloom filter to obtain the output result of the preset Bloom filter; if the output result of the preset Bloom filter is 0, it is determined that the point query request is a null query; if the output result of the preset Bloom filter is a negative number, step 103 is entered; if the output result of the preset Bloom filter is a positive number, step 104 is entered.

[0096] In this embodiment, the preset Bloom filter can adopt a compressed structure, occupy very small space, and can be stored in the memory, without occupying resources and with high performance. In order to avoid the problem that the Bloom filter in the related art has low efficiency in processing range queries, the preset Bloom filter in this embodiment can adopt a lightweight and optimized Bloom filter, which is used to accelerate the null query detection of point queries and range queries. Correspondingly, unlike the stored filter data of the preset Bloom filter, which is stored in the storage device for each sorting operation, in this embodiment, the preset Bloom filter can be dynamically constructed each time the preset key-value database starts, so that the preset key-value database can separate the sorted key index and value storage, and the dynamically constructed filter can more flexibly adapt to the rapidly changing workload. That is, before step 101 in this embodiment, the process of constructing the preset Bloom filter when the preset key-value database starts can also be included.

[0097] In some embodiments, due to the short prefix length, the high-level filter can include fewer different keys, and can require less filter memory. In this embodiment, the following strategy can be used to allocate the memory occupancy of the preset Bloom filter:

[0098] Wherein, N is the number of levels of the preset Bloom filter, M is the preset total memory occupancy in the preset Bloom filter, and Mi is the memory occupancy of the i-th level Bloom filter in the preset Bloom filter.

[0099] That is, in the process of constructing the preset Bloom filter, the memory occupancy of each level of the preset Bloom filter can be allocated by Wherein, N is the number of levels of the preset Bloom filter, M is the preset total memory occupancy in the preset Bloom filter, and Mi is the memory occupancy of the i-th level Bloom filter in the preset Bloom filter.i The occupied memory of the i-th level Bloom filter in the preset Bloom filter, i = 0, 1,..., N-1.

[0100] Step 103: retrieving the user value corresponding to the target user key from the storage device of the preset key-value database by using the logical key corresponding to the target user key.

[0101] In this step, the aggregate record of the logical key corresponding to the target user key can not exist in the key index, that is, the logical key corresponding to the target user key is not stored in the form of a physical key, and the user value corresponding to the target user key can be directly retrieved from the storage device of the preset key-value database by using the logical key corresponding to the target user key, for example, the same or similar method as the conventional value retrieval in the related art can be used, so that the corresponding user value is directly retrieved from the storage device by using the logical key, that is, the value in the key-value pair stored in the preset key-value database; for example, the logical key information corresponding to the target user key can be obtained in this step; and the user value in the corresponding logical key is retrieved from the storage device according to the logical key information.

[0102] Step 104: determining the physical key corresponding to the target user key according to the aggregate record.

[0103] It can be understood that when the aggregate record of the logical key corresponding to the target user key exists in the key index in this step, that is, the logical key corresponding to the target user key is stored in the form of an aggregated physical key, the physical key corresponding to the logical key stored in the storage device can be determined according to the aggregate record of the logical key, so as to retrieve the logical key corresponding to the target user key from the physical key; that is, the mapping relationship between the logical key and the corresponding physical key can also be included in the aggregate record of the logical key.

[0104] Correspondingly, the specific manner of determining the physical key corresponding to the target user key according to the aggregate record in this step can be set by the designer, for example, as shown in FIG. 4, when the key index is stored in the persistent ordered string table, the physical key corresponding to the target user key stored in the storage device can be determined according to the target serial number stored in the ordered string table of the preset key-value database in this step; wherein the target serial number is the serial number corresponding to the physical key in the aggregate record of the logical key corresponding to the target user key, and the mapping relationship between the target user key and the corresponding logical key can also be included in the key index to determine the logical key corresponding to the target user key.

[0105] Step 105: retrieving the logical key corresponding to the target user key from the storage device according to the physical key corresponding to the target user key, and retrieving the user value corresponding to the target user key from the storage device by using the logical key corresponding to the target user key.

[0106] It can be understood that in this step, the logical key corresponding to the target user key can be retrieved from the storage device according to the physical key corresponding to the determined target user key, that is, the physical key storing the logical key corresponding to the target user key, so as to retrieve the user value corresponding to the target user key in the logical key.

[0107] As shown in FIG. 4, the logical keys such as logical key 1, logical key 7 and logical key 12 have no corresponding aggregate records in the key index (Key-index), and the corresponding user values can be directly retrieved from the underlying storage device (underlying storage device) through the logical keys, such as that the logical key 1 can retrieve the user value 31, and the logical key 7 can retrieve the user value 7; the logical keys 3 and 21 have aggregate records, and the corresponding physical keys are physical key 12 and physical key 3, respectively, and the corresponding values can be retrieved through key conversion; the key conversion can be located by adding an offset to the sstable number (i.e., the sorting sequence number of the sorted string table), such as that the table 1_sequence number 0 corresponds to the logical keys 1 to 21, and the table 1_sequence number 1 corresponds to the logical keys 31 to 74, the physical key 12 converts to get the values (Value) of the logical keys 3 and 52, and the physical key 3 converts to get the values of the logical keys 21 and 47, so as to realize the conversion between the physical key and the corresponding logical key. That is, in this step, the physical key corresponding to the target user key can be subjected to key conversion to retrieve the logical key corresponding to the target user key in the storage device, so as to retrieve the user value corresponding to the target user key in the logical key from the storage device.

[0108] It should be noted that the present embodiment is illustrated by taking the processing of the point query request of the preset key-value database in the distributed storage system as an example, and the processing of other requests (such as the range query request and the key-value pair addition and deletion request) of the preset key-value database can be implemented in the same or similar manner as the method provided in the present embodiment, and the present embodiment does not make any limitation in this regard. As shown in FIG. 4, similar to the get operation of the point query request, the Iterator operation (iterator operation) of the range query request can also pass through the Bloom filter (i.e., the preset Bloom filter); and the put operation (insertion operation) of the addition request and the delete operation (deletion operation) of the deletion request can pass through the memory table (memtable) to complete the addition and deletion of the key-value pair.

[0109] In some embodiments, since a range query (such as a data retrieval analysis and a traversal query, etc.) needs to query an index first to determine the target key (such as a logical key) in the query range, and then, if the user also requests to obtain the user value, it is necessary to separately retrieve the value related to the target key, which requires additional I / O to meet the range query; secondly, since a smaller logical key will go through a Key conversion from a logical key to a physical key, for some point queries, the logical key cannot be directly used to retrieve the corresponding user value; in this case, the point query performance will be affected by the additional I / O for index lookup. In the present embodiment, the retrieval delay can be reduced by prefetching the user value (Value).

[0110] For example, the method provided in the present embodiment can further include obtaining a range query request of a preset key-value database; wherein the range query request includes range length specification information; according to the range query request, when retrieving the user value in the first iteration key-value pair from the storage device by using the iterator, the user value corresponding to the range length specification information is prefetched from the storage device to the memory, so that the iterator obtains the user value in the next iteration key-value pair from the memory. That is, in the present embodiment, the range length option can be designed for the range query to prefetch the user value (Value) of the specified range length in advance, which is convenient for subsequent query use. Wherein, the range length specification information can include a specified timestamp range, such as when querying events between two timestamps, the Value between the two timestamps can be extracted in advance; the range length specification information can also specify the first iteration user key (such as the above seek(k)) and the specified scan length (such as the above hint.scan_length), such as in a table scan query, the number of entries in the table to be queried by the user can be known according to the specified scan length, so that the Value of the specified scan length is extracted in advance.

[0111] Correspondingly, the present embodiment can also design a prefetch throttle mechanism for the range query to prevent too many Values from being prefetched, so as to avoid wasting resources, such as limiting the number of requests or the occupied space of the prefetched Values, which is not limited in the present embodiment.

[0112] Correspondingly, in the embodiment, the time locality of the aggregated logical keys can also be utilized, and the adjacent aggregated records (in the defined key order) can be written together and aggregated into a single physical record. When performing a range query, after traversing the key index to find the physical key mapped to the target user key, the other records aggregated in the same physical record can be cached, and when the next iteration is called by next() and value(), the cache can be hit to directly return the value without making an I / O request to the device. For example, the method provided in the embodiment can further include obtaining a range query request of a preset key-value database; if it is detected that the key index has an aggregated record of a logical key corresponding to a current user key of the range query request, determining a physical key corresponding to the current user key according to the aggregated record of the logical key corresponding to the current user key; wherein the current user key is a user value in a key-value pair in a current iteration of an iterator of the range query request; retrieving the logical key corresponding to the current user key from the storage device according to the physical key corresponding to the current user key, and caching other logical keys in the physical key corresponding to the current user key from the storage device to the memory, so that the iterator obtains a user value in a key-value pair in a next iteration from the memory; and retrieving a user value corresponding to the current user key from the storage device by using the logical key corresponding to the current user key.

[0113] In some embodiments, the method provided in the embodiment can further include an update and deletion operation on the aggregated record of the logical key in the key index. As a local update mechanism is first used, the mechanism requires a read-modify-write operation on the aggregated record; then, a new physical key is assigned to the updated aggregated record, so as to maintain a high write throughput and realize the update of the physical key. A background garbage collection mechanism can be applied to clean up the obsolete aggregated record.

[0114] In the embodiment, the logical key to physical key conversion is realized by aggregating multiple smaller logical keys into a larger physical key, higher write throughput can be generated and the number of physical keys in the storage device required to be managed can be reduced, so as to save the memory and hardware resources of the storage device; and by the aggregated record of the logical key saved in the key index, it can be conveniently confirmed whether the logical key is stored in the aggregated physical key or directly stored, the corresponding physical key is queried when stored in the physical key, the corresponding user value is queried by the physical key, the range query of the logical key is realized, and the corresponding user value is directly found from the storage device when directly stored, the index process of the physical key is reduced, the overhead of the key index query is reduced, the performance of the distributed storage system is improved, and the key-value query efficiency is improved.

[0115] Based on the above embodiment, the application further provides another storage management method of a distributed storage system to realize the storage of the key-value pair. In some embodiments, referring to FIG. 6, the method can include:

[0116] Step 201: obtaining a logical key of a key-value pair to be stored; wherein the logical key comprises a user key and a user value in the key-value pair to be stored.

[0117] In the embodiment, the key-value pair to be stored can be a key-value pair to be stored in a preset key-value database, the user key in the key-value pair to be stored comprises an inode number and a file name of a metadata file in a parent directory of a distributed storage system, such as an inode number (index node number) and a file name of the metadata file in a variable-length 64-bit parent directory; and the user value in the key-value pair to be stored comprises the inode number and file attributes, the file attributes comprising at least one of a type, a specification, a permission bit, and owner information.

[0118] It can be understood that the logical key in the embodiment can be a key-value pair data item of the key-value pair to be stored in the preset key-value database. For the specific obtaining manner of the logical key of the key-value pair to be stored in the embodiment, the same or similar manner as that of obtaining the key corresponding to the key-value pair stored in the key-value database in the related art can be adopted, and the embodiment does not make any limitation in this regard.

[0119] Step 202: identifying aggregable keys in the logical key; wherein the specification of each aggregable key is less than a preset specification.

[0120] In the embodiment, the aggregable key can be a logical key with a specification less than a preset specification (such as 4 KB).

[0121] Step 203: aggregating the aggregable keys to obtain a physical key, and storing an aggregation record between each aggregable key and the corresponding physical key in a key index; wherein the sum of the specifications of all the aggregable keys in each physical key pair is greater than or equal to the preset specification, and each aggregable key is aggregated into a corresponding physical key.

[0122] It can be understood that the logical key with the specification less than the preset specification can be aggregated into the physical key with the specification greater than or equal to the preset specification in this step, so as to realize the aggregation of the smaller logical key into the physical key, and the aggregation record of the logical key stored in the key index can reduce the key management overhead in the underlying storage device.

[0123] Correspondingly, the aggregable keys can be aggregated in the memory to obtain the corresponding physical key in this step, so as to avoid the influence on the underlying storage device.

[0124] Step 204: storing the physical key to a storage device.

[0125] In this step, the physical key obtained by aggregating the logical key can be stored to the underlying storage device of the preset key-value database, and the storage of the key-value pair to be stored is completed.

[0126] Correspondingly, for the storage of the key-value pairs corresponding to the logical keys with the specification greater than or equal to the preset specification in the present embodiment, that is, the storage of the key-value pairs corresponding to the logical keys other than the aggregation keys, the designer can set it according to the use scenario and user demand, such as using the same or similar way of key-value pair storage in the related art to achieve, for example, directly storing these logical keys to the storage device, and recording the correspondence between the key-value pairs to be stored and the corresponding logical keys. The present embodiment does not make any limitation on this.

[0127] Corresponding to the above method embodiment, the present embodiment also provides a storage management device of a distributed storage system. The storage management device described below can be mutually corresponding with reference to the storage management method of the distributed storage system described above.

[0128] Please refer to FIG. 7, which is a simple structure schematic diagram of a storage management device of a distributed storage system provided by the present embodiment. The storage management device can include:

[0129] The memory D1 is configured to store a computer program;

[0130] The processor D2 is configured to implement the steps of the storage management method of the distributed storage system provided by the above method embodiment when executing the computer program.

[0131] Correspondingly, please refer to FIG. 8, which is a specific structure schematic diagram of a storage management device of a distributed storage system provided by the present embodiment. The storage management device 310 can have great difference due to different configurations or performances, and can include one or more than one processor (central processing units, CPU) 322 (for example, one or more than one processor) and a memory 332, one or more than one storage application program 342 or data 344 storage medium 330 (for example, one or more than one mass storage device). Among them, the memory 332 and the storage medium 330 can be temporary storage or persistent storage. The program stored in the storage medium 330 can include one or more than one module (not marked in the figure), each module can include a series of instruction operations in the host. Further, the central processing unit 322 can be configured to communicate with the storage medium 330 to execute a series of instruction operations in the storage medium 330 on the storage management device 310.

[0132] The storage management device 310 can also include one or more than one power supply 326, one or more than one wired or wireless network interface 350, one or more than one input and output interface 358, and / or one or more than one operating system 341. For example, Linux system, etc.

[0133] The storage management device 310 in the embodiment can be a device corresponding to a preset key-value database in a distributed storage system, such as a server or a storage device running the preset key-value database.

[0134] The steps in the storage management method of the distributed storage system described above can be implemented by the structure of the storage management device of the distributed storage system.

[0135] According to the method embodiments above, the embodiments of the present application further provide a computer program product, which can be correspondingly referred to the storage management method of the distributed storage system described above.

[0136] A computer program product, comprising computer programs / instructions, which, when executed by a processor, implement the steps of the storage management method of the distributed storage system provided by the method embodiments above.

[0137] According to the method embodiments above, the embodiments of the present application further provide a computer readable storage medium, which can be correspondingly referred to the storage management method of the distributed storage system described above.

[0138] A computer readable storage medium, which stores computer programs, and the computer programs, when executed by a processor, implement the steps of the storage management method of the distributed storage system of the method embodiments above.

[0139] The computer readable storage medium can 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, and various readable storage media that can store program codes.

[0140] The embodiments in the description are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts of each embodiment can be referred to each other. For the devices, computer program products and computer readable storage media disclosed by the embodiments, since they correspond to the method disclosed by the embodiments, the description is relatively simple, and the relevant parts can be referred to the method part.

[0141] The above describes in detail the storage management method, device, computer program product and computer readable storage medium of the distributed storage system provided by the present application. The principles and implementation modes of the present application are described by applying specific examples, and the above description of the embodiments is only used to help understand the method of the present application and its core idea. It should be pointed out that, for those skilled in the art, without departing from the principles of the present application, some improvements and modifications can be made to the present application, and these improvements and modifications also fall within the protection scope of the present application.

Claims

1. A storage management method for a distributed storage system, characterized in that, include: Obtain a point query request from a preset key-value database; wherein, the point query request includes a target user key; Detect whether there is an aggregate record of the logical key corresponding to the target user key in the key index of the preset key value database; wherein, the aggregate record stores the correspondence between logical keys with a specification smaller than the preset specification and the corresponding physical key, and the specification of the physical key is greater than or equal to the preset specification; If there is no aggregate record of the logical key corresponding to the target user key in the key index of the preset key value database, then the user value corresponding to the target user key is retrieved from the storage device of the preset key value database using the logical key corresponding to the target user key. If an aggregate record of the logical key corresponding to the target user key exists in the key index of the preset key-value database, then the physical key corresponding to the target user key is determined based on the aggregate record. Based on the physical key corresponding to the target user key, retrieve the logical key corresponding to the target user key from the storage device, and use the logical key corresponding to the target user key to retrieve the user value corresponding to the target user key from the storage device.

2. The storage management method for a distributed storage system according to claim 1, characterized in that, The key index of the preset key-value database includes a memory table and multiple sorted string tables based on logical keys and list sorting. The memory table is used for fast write operations; The sorted string table is used to retrieve memory data stored in the memory table, sort the retrieved memory data for fast access, and store the retrieved memory data in a file on the storage device.

3. The storage management method for a distributed storage system according to claim 1, characterized in that, The step of detecting whether an aggregate record of the logical key corresponding to the target user key exists in the key index of the preset key-value database includes: Using a preset Bloom filter, detect whether there is an aggregate record of the logical key corresponding to the target user key in the key index of the preset key-value database.

4. The storage management method for a distributed storage system according to claim 3, characterized in that, The step of using a preset Bloom filter to detect whether there is an aggregate record of the logical key corresponding to the target user key in the key index of the preset key-value database, includes: Using the preset Bloom filter, detect whether logical key information corresponding to the target user key exists in the key index; If the logical key information corresponding to the target user key does not exist in the key index, then the point query request is determined to be an empty query. If the key index contains logical key information corresponding to the target user key, then check whether there is an aggregate record of the logical key corresponding to the target user key in the key index of the preset key value database. If the aggregated record does not exist in the key index of the preset key-value database, then the step of retrieving the user value corresponding to the target user key from the storage device of the preset key-value database using the logical key corresponding to the target user key is executed. If the aggregated record exists in the key index of the preset key-value database, then the step of determining the physical key corresponding to the target user key based on the aggregated record is executed.

5. The storage management method for a distributed storage system according to claim 4, characterized in that, The step of using a preset Bloom filter to detect whether there is an aggregate record of the logical key corresponding to the target user key in the key index of the preset key-value database, includes: Input the target user key into the preset Bloom filter and obtain the output result of the preset Bloom filter; If the output result is 0, then the step of determining that the point query request is an empty query is executed; If the output result is negative, then the step of retrieving the user value corresponding to the target user key from the storage device of the preset key value database using the logical key corresponding to the target user key is executed; If the output result is positive, then the step of determining the physical key corresponding to the target user key based on the aggregated record is executed.

6. The storage management method for a distributed storage system according to claim 3, characterized in that, Before obtaining the point query request from the preset key-value database, the method further includes: When the preset key-value database is started, the preset Bloom filter is constructed.

7. The storage management method for a distributed storage system according to claim 6, characterized in that, The process of constructing the preset Bloom filter when the preset key-value database is started includes: pass Allocate memory for each stage of the preset Bloom filter; where N is the number of stages of the preset Bloom filter, and M is the preset total memory usage of the preset Bloom filter. i Let i be the memory occupied by the i-th level Bloom filter in the preset Bloom filter, where i = 0, 1...N-1.

8. The storage management method for a distributed storage system according to claim 1, characterized in that, The step of retrieving the user value corresponding to the target user key from the storage device of the preset key-value database using the logical key corresponding to the target user key includes: Obtain the corresponding logical key information based on the target user key; Based on the logical key information, retrieve the user value corresponding to the target user key from the storage device.

9. The storage management method for a distributed storage system according to claim 1, characterized in that, Also includes: Obtain a range query request from the preset key-value database; wherein, the range query request includes range length specification information; According to the range query request, when retrieving the user value in the key-value pair of the first iteration from the storage device using the iterator, the user value corresponding to the range length specification information is prefetched from the storage device into memory, so that the iterator can obtain the user value in the key-value pair of the next iteration from memory.

10. The storage management method for a distributed storage system according to claim 9, characterized in that, The range length specification information includes a specified timestamp range, or the range length specification information includes a specified first iteration user key and a specified scan length.

11. The storage management method for a distributed storage system according to claim 10, characterized in that, Before prefetching the user value corresponding to the range length specification information from the storage device into memory, the method further includes: Limit the space occupied by user values ​​prefetched from the storage device into the memory.

12. The storage management method for a distributed storage system according to claim 1, characterized in that, Also includes: Obtain the range query request of the preset key-value database; If the key index is found to contain an aggregated record of the logical key corresponding to the current user key of the range query request, then the physical key corresponding to the current user key is determined based on the aggregated record of the logical key corresponding to the current user key; wherein, the current user key is the user value in the key-value pair of the current iteration of the iterator of the range query request. Based on the physical key corresponding to the current user key, retrieve the logical key corresponding to the current user key from the storage device, and cache the other logical keys among the physical keys corresponding to the current user key from the storage device into memory, so that the iterator can obtain the user value in the key-value pair for the next iteration from memory; Using the logical key corresponding to the current user key, retrieve the user value corresponding to the current user key from the storage device.

13. The storage management method for a distributed storage system according to claim 1, characterized in that, Also includes: A local update mechanism is used, wherein the local update mechanism requires read, modify and write operations on the aggregated record; Assign a new physical key to the updated aggregate record; The application uses a background garbage collection mechanism to clean up outdated aggregated records.

14. The storage management method for a distributed storage system according to claim 1, characterized in that, The step of determining the physical key corresponding to the target user key based on the aggregated record includes: Based on the target sequence number stored in the sorted string table of the preset key-value database, the physical key corresponding to the target user key stored in the storage device is determined; wherein, the target sequence number is the sorted sequence number corresponding to the physical key in the aggregated record of the logical key corresponding to the target user key.

15. The storage management method for a distributed storage system according to any one of claims 1 to 14, characterized in that, Also includes: Obtain the logical key of the key-value pair to be stored; wherein, the logical key includes the user key and user value in the key-value pair to be stored; Identify the collapsible keys in the logical key; wherein the specification of each collapsible key is smaller than the preset specification; The aggregateable keys are aggregated to obtain physical keys, and the aggregation record between each aggregateable key and its corresponding physical key is stored in the key index; wherein, the sum of the specifications of all aggregateable keys in each physical key pair is greater than or equal to the preset specification, and each aggregateable key is aggregated into a corresponding physical key; The physical key is stored in the storage device.

16. The storage management method for a distributed storage system according to claim 15, characterized in that, The process of polymerizing the polymerizable bonds to obtain physical bonds includes: The aggregateable bonds are aggregated in memory to obtain the corresponding physical bonds.

17. The storage management method for a distributed storage system according to claim 15, characterized in that, The user key in the key-value pair to be stored includes the inode number and file name of the metadata file in the parent directory of the distributed storage system, and the user value in the key-value pair to be stored includes the inode number and file attributes, wherein the file attributes include at least one of type, specification, permission bits and owner information.

18. A computer program product comprising a computer program / instructions, characterized in that, When the computer program / instruction is executed by the processor, it implements the steps of the storage management method for the distributed storage system as described in any one of claims 1 to 17.

19. A storage management device for a distributed storage system, characterized in that, include: The memory is configured to store computer programs; The processor is configured to implement the steps of the storage management method for a distributed storage system as described in any one of claims 1 to 17 when executing the computer program.

20. A computer persistent readable storage medium, characterized in that, The computer persistent readable storage medium stores a computer program, which, when executed by a processor, implements the steps of the storage management method of the distributed storage system as described in any one of claims 1 to 17.

Citation Information

Patent Citations

  • File merging method and device

    CN103593436A

  • Information inquiry method and device based on distributed database, and electronic device

    CN109471863A

  • Data processing method and device

    CN113609202A

  • Method and device for processing user interaction data and computer readable medium

    CN117395125A

  • Storage management method and device of distributed storage system, program product and medium

    CN118394762A