Methods, devices, equipment, and media for identifying remote index nodes
By caching frequently accessed index nodes and managing cache based on node heat, the solution addresses the performance challenges of accessing range indexes in distributed architectures, enhancing data access efficiency.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- ZTE CORP
- Filing Date
- 2024-06-21
- Publication Date
- 2026-06-26
AI Technical Summary
In distributed environments, accessing target data in storage nodes requires multiple network transmissions, leading to decreased data access performance due to the recursive access of index structures, which increases latency.
Implement a temperature-sensing range index caching solution that includes an index cache module, a hotness aggregation module, and a heat management module to cache frequently accessed hotspot nodes, reducing the need for recursive index access by storing index nodes on computing nodes and managing cache based on node heat.
This approach reduces the number of remote index accesses and improves overall data access performance by caching hotspot nodes and ensuring timely updates, thus optimizing data retrieval efficiency.
Smart Images

Figure 2026521207000001_ABST
Abstract
Description
Technical Field
[0001] This application claims the priority of a Chinese patent application with the application number 202310785150.7 filed on June 29, 2023, and incorporates all of its contents herein by reference.
[0002] This application relates to the field of distributed storage, and particularly to a method for identifying remote index nodes, an apparatus for identifying remote index nodes, a device for identifying remote index nodes, and a computer-readable storage medium.
Background Art
[0003] Currently, with the popularization of cloud services, in order to achieve performance improvement, the number of database systems and storage systems introduced into distributed environments is increasing. In such an architecture, some servers function as computing nodes, mainly responsible for the computing tasks during the execution of the system, and some other servers function as storage nodes, mainly responsible for storing data and the corresponding range index structure. When a computing node needs to read target data, it needs to recursively access each layer node of the index structure in the storage node using a high-performance network until the target data is found. As can be seen from this, a large number of network transmission operations are required in the access process, which is very likely to cause a decrease in data access performance.
Summary of the Invention
[0004] [[ID=K22]] The present invention provides a method for identifying a remote index node applicable to a compute node, the method comprising: searching within a cache index node to determine whether there is a target cache node covering the scope of a request for identification of a remote index node; and, if it is determined that there is a target cache node covering the scope of the request, identifying a remote index node in a storage node based on the target cache node, wherein the remote index node is an index node in the index node layer of the storage node located above the leaf node layer.
[0005] The present invention further provides a remote index node identification device applicable to a computing node, the device comprising: a search module configured to search within a cache index node to determine whether a target cache node covering the scope of a remote index node identification request exists in response to a remote index node identification request; and an identification module configured to identify a remote index node within a storage node based on the target cache node if it is determined that a target cache node covering the scope of the identification request exists, wherein the remote index node is an index node in the index node layer of the storage node located above the leaf node layer.
[0006] The present invention further provides a remote index node identification device comprising memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program, when executed by the processor, realizes the steps of the method for identifying the remote index node described above.
[0007] The present invention further provides a computer-readable storage medium in which a computer program is stored, and when the computer program is executed by a processor, the steps of the method for identifying the remote index node described above are realized. [Brief explanation of the drawing]
[0008] [Figure 1] This is a schematic diagram of the configuration of the execution device of the hardware execution environment according to the solution of the embodiment of the present application. [Figure 2] This is a schematic diagram of a typical range index. [Figure 3] This is a schematic diagram of an application environment for one embodiment of a remote index node identification system according to the solution of the present invention. [Figure 4] This is a schematic block diagram of one embodiment of a remote index node identification system according to the solution of the embodiment of the present application. [Figure 5] This is a schematic flowchart of one embodiment of the remote index node identification system according to the solution of the embodiment of the present invention. [Figure 6] This is a schematic diagram of a range search in one embodiment of a remote index node identification system according to the solution of the present invention. [Figure 7] This is a schematic diagram of the temperature management of one embodiment of a remote index node specific system according to the solution of the embodiment of the present invention. [Figure 8] This is a schematic diagram of range search and temperature update in one embodiment of a remote index node identification system according to the solution of the embodiment of the present application. [Figure 9] This is a schematic diagram of a remote index node identification device according to the solution of the embodiment of the present invention. [Modes for carrying out the invention]
[0009] The achievement of the objectives of this application, its functional features, and advantages will be further explained in conjunction with the attached drawings and embodiments.
[0010] It should be understood that the specific embodiments described herein are provided solely for the purpose of interpreting this application and not for the purpose of limiting it.
[0011] Referring to Figure 1, Figure 1 is a schematic diagram of the configuration of the execution device of the hardware execution environment according to the solution of the embodiment of the present application.
[0012] As shown in Figure 1, this execution device may include a processor 1001, for example, a central processing unit (CPU), a communication bus 1002, a user interface 1003, a network interface 1004, and a memory 1005. The communication bus 1002 is for connecting and communicating between these components. The user interface 1003 may include a display and an input unit (for example, a keyboard), and may further include a standard wired interface and a wireless interface. The network interface 1004 may include a standard wired interface and a wireless interface (for example, a Wireless Fidelity (Wi-Fi) interface). The memory 1005 may be high-speed random access memory (RAM), or it may be stable non-volatile memory (NVM), for example, magnetic disk memory. The memory 1005 may be a storage device independent of the processor 1001.
[0013] Those skilled in the art will understand that the structure shown in Figure 1 does not constitute a limitation on the execution device, and that it may include more or fewer components than shown, or that some components may be combined or arranged differently.
[0014] As shown in Figure 1, the memory 1005, which serves as a type of storage medium, may include an operating system, a data storage module, a network communication module, a user interface module, and a computer program.
[0015] In the execution device shown in Figure 1, the network interface 1004 is mainly used for data communication with other devices, and the user interface 1003 is mainly used for data interaction with the user. The processor 1001 and memory 1005 in the execution device of the present invention may be provided within the execution device, and the execution device calls a computer program stored in the memory 1005 via the processor 1001, and in response to a request for identification of a remote index node, it searches within the cache index node to see if there is a target cache node that covers the scope of the request, and if it is determined that there is a target cache node that covers the scope of the request, it identifies a remote index node in the storage node based on the target cache node, and the remote index node is an index node in the index node layer of the storage node located in the upper layer of the leaf node layer.
[0016] In one embodiment, the processor 1001 may call a computer program stored in memory 1005 and further perform the step of searching within the cache index nodes whether there exists a target cache node that covers the range of the particular request based on the node start value in the range index cache structure, the range index cache structure is obtained by organizing based on the node start value of the cache index nodes.
[0017] In one embodiment, when the processor 1001 calls a computer program stored in the memory 1005 and determines that the node start value of the target cache node is different from the node start value of the remote index node, the processor 1001 may further execute the step of updating the node start value of the target cache node to the node start value of the remote index node.
[0018] In one embodiment, when the processor 1001 calls a computer program stored in the memory 1005 and determines that the node start value of the target cache node is the same as the node start value of the remote index node, the processor 1001 may further execute the step of accessing and reading the storage data corresponding to the actual storage address of the remote index node from the leaf node layer of the storage node.
[0019] In one embodiment, the processor 1001 may further execute the steps of aggregating the access times of the remote index node and identifying the remote index node whose access times are greater than a preset number threshold as a new cache index node.
[0020] In one embodiment, the processor 1001 calls a computer program stored in the memory 1005. After identifying the new cache index node, sorting the new cache index node in the existing hot spot node linked list based on the access times to obtain a new hot spot node linked list, and organizing based on the node start value of the cache index node in the new hot spot node linked list to obtain a new range index cache structure. may be further executed.
[0021] In one embodiment, the processor 1001 calls a computer program stored in the memory 1005, When it is determined that the storage space of the range index cache structure of the cache index node is larger than a preset space threshold, the step of deleting the cache index node at the end of the linked list of the hot spot node linked list can be further executed until the storage space becomes equal to or less than the preset space threshold.
[0022] Referring to FIG. 2, an index is one of the essential structures of a data management system (such as a database system or a storage system) and is the most common means to support high-performance queries. A general index structure can be classified into a key-value index (such as a HashTable) and a range index (such as the B-Tree and SkipList in FIG. 2). In a key-value index, based on the input key value Key, the corresponding target value Value can be quickly found. On the other hand, in a range index, based on the input pair of range key values [Key1, Key2], the storage location of a set of target values Value that meet the conditions can be quickly found. As shown in FIG. 2, the range index structure may be divided into two parts: an index node layer and a leaf node layer. Essentially, the index node layer of the range index can be regarded as a regression tree model that maps the input key value range to one or more leaf nodes on the premise of limited error, and then guarantees to read the corresponding target value Value from the storage through the address information in the leaf node.
[0023] Referring to Figure 3, the thermal sensing-based range index caching method of the present invention is implemented in a typical distributed environment. Servers in a distributed environment can be classified into two categories: compute nodes and storage nodes, which are interconnected via high-performance networks, such as RDMA (Remote Direct Memory Access) and CXL (Compute Express Link). Each compute node provides external system interfaces (e.g., Put, Get, Scan) to help applications retrieve data in remote storage nodes. Storage nodes primarily store various data blocks and build range indexes (e.g., B-Tree or SkipList in Figure 2) based on these data blocks, thereby helping compute nodes quickly find the location of target data. Therefore, if a client of a compute node needs to access a specific data block in a storage node, it needs to access the index structure in the storage node multiple times from top to bottom (the minimum number of accesses being the layer height of the index structure) until the target data block is returned. Using Figure 3 as an example, corresponding to a storage node based on a B-Tree index, data <1> The exploration of this begins with the remote L2 layer root node. <30> Access the root node located in the L1 layer. <30> It accesses the left child node <8,25> of the L0 layer, and finally accesses the left child node database <1,3,7> of that layer to retrieve the corresponding data. <1> We need to find this. Similarly, when dealing with storage nodes based on the SkipList index, the compute nodes need to access multiple layers of index nodes, and we will omit the specific process of that. As you can see, in traditional distributed environments, accessing the target data requires designing multiple remote communications, resulting in high overall access latency.
[0024] To address the performance challenges of accessing range indexes within storage nodes in a distributed architecture, this invention proposes a temperature-sensing range index caching solution. Referring to Figure 4, an index cache module, a temperature aggregation module, and a temperature management module cache range indexes within remote storage nodes. This solution simultaneously satisfies the requirements of hotspot tracking, range exploration, and data integrity, effectively reducing the number of index accesses when compute nodes query remote storage nodes and improving data access performance.
[0025] First, regarding the index cache module, by introducing the index cache module into the compute node, some of the frequently accessed hotspot nodes (for example, L1 layer nodes <20,30,35>, <40,50>, <60,65>, <80,90> in Figure 4) of the L1 layer of the range index in the storage node are temporarily stored. Furthermore, for the index nodes in the cache, the starting value and actual storage address of that node (for example, the index cache in Figure 4) are stored. <20> , <40> , <60> , <80> Only the following needs to be recorded. For access to any cache node, it is still necessary to read the actual remote data based on the actual storage address. If the starting value of the read remote index node does not match the starting value in the cache, it proves that the cache node is invalid (i.e., a split or update has occurred) and needs to be updated immediately. Then, in the next look after the update, the remote index node is read again based on the cache index node whose starting value has been updated. This module reduces remote access and satisfies the requirements of range searching by organizing cache index nodes based on their starting values and forming a specific range index structure (e.g., SkipList or B-Tree). This means that it is only necessary to directly access the L1 layer hotspot node of the storage node based on the starting value of the cache index node from within the index cache of the compute node, and there is no need to perform traverse access from L3 to L2 and from L2 to L1. In addition, the following heat aggregation module and heat management module both provide services to the index cache module and support its swap-in and swap-out operations.
[0026] The "hot spot index node" module aggregates the number of accesses to L1 tier index nodes in real time by building another hot spot index node module within the computing node using Count-Min Sketch. The aggregated accesses include accesses to hit cache index nodes, missed cache index nodes, and L1 tier index nodes. When the number of accesses (hot spot index node) of an index node reaches a set threshold, that index node is considered a hot spot index node and should be reported to the index cache module for organization management. For example, in Figure 4, L1 tier index nodes <20,30,35>, <40,50>, <60,65>, and <80,90> are selected as hot spot index nodes and require cache management on the computing node, while L1 index node <5,10,15> does not require cache management.
[0027] Finally, regarding the heat management module, the heat management module is further implemented within the computing node to record changes in the heat of the cache index nodes. Essentially, the heat management module is a unidirectional linked list, where each node corresponds to one cached index node, and the nodes are arranged from highest to lowest heat from the beginning to the end of the linked list. For example, the four cached nodes in Figure 4 are arranged from left to right in descending order of heat. When a hot index node is sampled and reported, the existing index node is moved to the beginning of the linked list, and the new node is also inserted to the beginning of the linked list before being inserted into the index module. If there is insufficient cache space, the cache index node corresponding to the end of the linked list is removed. Through the cooperation of the aggregation module and the heat module, this caching scheme satisfies the requirements for heat tracking. Given the high cost of full real-time sorting, an approximate sort may be adopted, roughly sorting according to the level of heat. This allows the cache nodes in the index structure of the index cache module to be managed based on the temperature of the nodes in the unidirectional linked list, and that is, the addition and deletion of cache nodes in the index structure is achieved by swap-in and swap-out as shown in Figure 2.
[0028] As described above, by building a range index cache on computing nodes in a distributed architecture, the overhead of accessing range indices in remote storage nodes can be reduced, and overall data access performance can be improved. The following can be considered to realize a range index cache: (1) Hotspot tracking: Due to the limited memory space of computing nodes, only some hotspot index nodes can be cached. In response to the ever-changing access load, this application tracks hotspot nodes in the range index in real time, caches hot index data in a timely manner, and deletes cold index data. (2) Range exploration: To ensure that cached index nodes still support range exploration, this application organizes them based on a specific range exploration data structure (e.g., B-Tree and SkipList). (3) Consistency assurance: Range indices tend to change as data is updated. To sense changes in range indices in storage nodes in a timely manner, this application uses an address cache policy to ensure that the cache in the computing node and the storage node match, and further prevents incorrect data from being read from the cache.
[0029] An embodiment of the present invention provides a method for identifying a remote index node, referring to Figure 5, in one embodiment of the method for identifying a remote index node, the method is applied to a compute node, and the method includes the following steps: In step S10, in response to a request for identification of a remote index node, a search is performed within the cache index node to determine whether there is a target cache node that covers the scope of the request for identification.
[0030] The method for identifying remote index nodes described in this application is suitable for distributed architectures where computing and storage are separated, for memory disaggregation scenarios, and also for virtualized scenarios with easy access to cloud storage.
[0031] Referring to Figure 6, in this embodiment, interaction with the index cache module is introduced into the existing range search flow to avoid frequent access to the index structure in the remote storage node. When a range search request is received, the compute node first searches within the index cache module and finds a cache index node that can cover the range of the specific request from the remote index node from the corresponding range index cache structure (SkipList or B-Tree).
[0032] In step S20, if it is determined that there is a target cache node that covers the scope of the specified request, a remote index node within the storage node is identified based on the target cache node, and the remote index node is an index node in the index node layer of the storage node located in the upper layer of the leaf node layer.
[0033] If the index cache module provides cache index nodes that satisfy the range search condition, the compute node sequentially reads all L1 layer remote index nodes that satisfy the condition from the storage node based on their corresponding location. If there are no cache index nodes that satisfy the range condition, the compute node directly traverses the range index of the storage node according to the conventional process. In one embodiment, as shown in Figure 8, when the compute node receives a search request for the range [65,80], it directly searches the Skiplist in the index cache module and obtains cached index nodes 60 and 80.
[0034] In one embodiment, the step of searching within the cache index nodes to determine whether a target cache node covering the range of the specific request exists includes the step of searching within the cache index nodes to determine whether a target cache node covering the range of the specific request exists based on the node start value in the range index cache structure, the range index cache structure being obtained by organizing based on the node start value of the cache index nodes.
[0035] In one embodiment, cache index nodes are organized according to the starting value of the cache index node, forming a specific range index structure (e.g., SkipList or B-Tree), and a search is performed within the cache index node to determine whether a target cache node exists that covers the range of a specific request from a remote index node, based on the node starting value within the range index cache structure. This reduces remote access while satisfying the requirements for range searching. As a result, it is only necessary to directly access the L1 layer hotspot node of the storage node from within the index cache of the compute node, and there is no need to perform traverse access from L3 to L2 and from L2 to L1.
[0036] In one embodiment, the step of identifying a remote index node within a storage node based on the target cache node includes, if it is determined that the node start value of the target cache node and the node start value of the remote index node are different, the step of updating the node start value of the target cache node to the node start value of the remote index node.
[0037] Referring to Figure 6, if the retrieved index node and the cached index node have different starting values, a split or merge occurs in the corresponding index node within the storage node, indicating that the cached index node has become invalid. The cached index node should be updated to the latest retrieved value before the query process can be resumed. Otherwise, the correct L1 tier index node is assumed to have been retrieved, and the corresponding L0 tier data is further retrieved.
[0038] In one embodiment, the step of identifying a remote index node within a storage node based on the target cache node includes, if it is determined that the node start value of the target cache node and the node start value of the remote index node are the same, the step of accessing and reading storage data corresponding to the actual storage address of the remote index node from the leaf node layer of the storage node.
[0039] If it is determined that the node start values of the target cache node and the remote index node are the same, the storage data corresponding to the actual storage address of the remote index node can be read from the L0 layer of the leaf node layer of the storage node.
[0040] In this embodiment, the method is applied to a compute node and, in response to a request for identification from a remote index node, searches within the cache index node to determine whether a target cache node covering the scope of the request exists. If it is determined that a target cache node covering the scope of the request exists, the method identifies a remote index node within the storage node based on the target cache node, and the remote index node is an index node in the index node layer of the storage node located in the upper layer of the leaf node layer.
[0041] In this embodiment, a range index cache is constructed for the computing nodes in a distributed architecture, and cache index nodes are constructed within the range index cache. If a search determines that a target cache node exists that covers the range of a specific request from a remote index node, the remote index node in the storage node is identified based on the target cache node. The remote index node is an index node in the index node layer of the storage node located in the upper layer of the leaf node layer; that is, the remote index node is the lowest index node in the index node layer of the storage node.
[0042] This eliminates the need to recursively access each layer node of the index structure within the storage node until the target data is found. Instead, it only requires searching within the range index cache for a target cache node that covers the scope of the specific request for the remote index node, and then directly identifies the remote index node within the storage node based on the target cache node, allowing the target data to be retrieved through the search. This reduces the overhead of accessing range indexes in remote storage nodes and further improves overall data access performance.
[0043] In another embodiment of the method for identifying remote index nodes of the present invention, the method further includes the steps of: aggregating the number of accesses to the remote index nodes; and identifying the remote index nodes whose number of accesses is greater than a preset threshold as new cache index nodes.
[0044] By building a hotness aggregation module within the computing node using Count-Min Sketch, the number of accesses to L1 tier index nodes is aggregated in real time. The aggregated accesses include hit cache index nodes, miss cache index nodes, and accesses to L1 tier index nodes. When the number of accesses (hotness) of an index node reaches a set threshold, that index node is considered a cache index node (hotspot index node) and is reported to the index cache module for organization management.
[0045] In one embodiment, the method further includes the steps of identifying a new cache index node, sorting the new cache index node in the existing hotspot node linkage list based on the number of accesses to obtain a new hotspot node linkage list, and organizing the cache index nodes in the new hotspot node linkage list based on the node start value to obtain a new range index cache structure.
[0046] By further introducing a heat management module within the computing node, changes in the heat of cache index nodes are recorded. Essentially, the heat management module is a unidirectional linked list, where each node corresponds to a single cached index node, and the nodes are arranged from highest to lowest heat from the beginning to the end of the linked list. For example, the four cached nodes in Figure 4 are arranged from left to right in descending order of heat. When a hot index node is sampled and reported, the existing index node is moved to the beginning of the linked list, and the new node is also inserted to the beginning of the linked list before being inserted into the index module. This allows for the organization of a new range index cache structure based on the node start value of the cache index nodes in the new hotspot node linked list.
[0047] In one embodiment, the method further includes the step of deleting the cache index node at the end of the hotspot node linking list if it is determined that the storage space of the range index cache structure of the cache index node is larger than a preset space threshold, until the storage space becomes less than or equal to the preset space threshold.
[0048] If cache space is insufficient, the cache index node corresponding to the end of the linked list is removed. Through the cooperation of the aggregation module and the heat module, this caching scheme satisfies the requirements of heat tracking. This allows the cache nodes in the index structure of the index cache module to be managed based on the heat of the nodes in the unidirectional linked list, that is, the addition and removal of cache nodes in the index structure is achieved through swap-in and swap-out as shown in Figure 2.
[0049] In this embodiment, when all nodes are cached, a method for managing the cache of a range index in a distributed system is proposed so that hotspot nodes within the range index can be cached in real time in response to changes in index access intensity.
[0050] Referring to Figure 7, further heat sampling and heat management are necessary after the range search process is complete so that hotspot index nodes can be cached in real time. When data is successfully read from a storage node, the corresponding L1 layer index node is accessed and sampled. This module randomly selects some index nodes, calculates their minimum value using multiple hash functions in the Count-Min Sketch (e.g., the four hash functions H1, H2, H3, and H4 in Figure 4), and pads the corresponding array subscript position in the Count-Min Sketch. When all subscripts in the array in the Count-Min Sketch are filled, the index node corresponding to that subscript is considered a hotspot and should be reported to the heat management module and the index cache module. If the node is not included in the heat management and index cache modules, it should be inserted. The heat management module then needs to move the reported hotspot to the top of the linked list. For example, L1 layer index nodes 60 and 80 in Figure 8 were moved to the top of the linked list after being accessed. Finally, if the index cache module runs out of space, the heat management module continuously reports to the index cache module which index node is currently the lowest in heat (i.e., at the end of the linked list), and instructs the index cache module to remove that node until the space threshold is met.
[0051] This introduces a caching mechanism into the traditional distributed architecture's method of identifying remote index nodes, thereby reducing the number of remote accesses in the index search process and enabling real-time cache updates in response to changes in access load.
[0052] Referring to Figure 9, an embodiment of the present invention further provides a remote index node identification device, the remote index node identification device comprising: a search module M1 configured to search within the cache index node to determine whether a target cache node covering the scope of a remote index node identification request exists in response to a remote index node identification request; and an identification module M2 configured to identify a remote index node within the storage node based on the target cache node if it is determined that a target cache node covering the scope of the identification request exists, wherein the remote index node is an index node in the index node layer of the storage node located in an upper layer of the leaf node layer.
[0053] In one embodiment, the search module is further configured to search within the cache index nodes whether a target cache node exists that covers the range of the specific request, based on the node start value within the range index cache structure, and the range index cache structure is obtained by organizing the cache index nodes based on the node start values.
[0054] In one embodiment, the specific module is further configured to update the node start value of the target cache node to the node start value of the remote index node if it determines that the node start value of the target cache node is different from the node start value of the remote index node.
[0055] In one embodiment, the specific module is further configured to access and read storage data corresponding to the actual storage address of the remote index node from the leaf node layer of the storage node if it determines that the node start value of the target cache node and the node start value of the remote index node are the same.
[0056] In one embodiment, the remote index identification device further includes an aggregation module, which is configured to aggregate the number of accesses to the remote index nodes and to identify the remote index nodes whose number of accesses is greater than a preset threshold as new cache index nodes.
[0057] In one embodiment, the remote index identification device further includes a sort module, which, after identifying a new cache index node, sorts the new cache index node in the existing hotspot node linkage list based on the number of accesses to obtain a new hotspot node linkage list, and organizes the cache index nodes in the new hotspot node linkage list based on the node start value to obtain a new range index cache structure.
[0058] In one embodiment, the remote index identification device further includes a delete module, which, if it determines that the storage space of the range index cache structure of the cache index node is greater than a preset space threshold, further includes the step of deleting the cache index node at the end of the hotspot node link list until the storage space becomes less than or equal to the preset space threshold.
[0059] The remote index node identification device provided herein employs the remote index node identification method described in the above-described embodiment and solves the technical problem of reduced performance when accessing range indexes on storage nodes in current distributed architectures. Compared to some cases, the beneficial effects of the remote index node identification device provided by the embodiment of this invention are the same as the beneficial effects of the remote index node identification method provided in the above-described embodiment, and other technical features of this remote index node identification device are the same as those disclosed by the method of the above-described embodiment, and are therefore not described here.
[0060] Furthermore, the embodiment of the present invention provides a remote index node identification device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program, when executed by the processor, realizes the steps of the method for identifying the remote index node described above.
[0061] Furthermore, the embodiment of the present application provides a computer-readable storage medium in which a computer program is stored, and when the computer program is executed by a processor, the steps of the method for identifying the remote index node described above are realized.
[0062] In this specification, the terms “include,” “incorporate,” or any other variations thereof are intended to cover non-exclusive inclusion, meaning that a process, method, article, or system of elements includes not only those elements but also other elements not explicitly listed, or elements specific to this type of process, method, article, or system. Where there is no further restriction, an element limited by the phrase “includes one…” does not exclude the presence of other identical elements within the process, method, article, or system that includes that element.
[0063] Through the above description of the embodiments, those skilled in the art will clearly understand that the methods of the above embodiments can be implemented by adding a general-purpose hardware platform necessary for the software (of course, it is also possible to implement it using hardware, but in many cases the former is a better method of implementation). Based on this understanding, the technical proposal of the present application can be embodied in the form of a software product, essentially or in part by contributing to the technology. The computer software product can be stored in a storage medium such as ROM / RAM, magnetic disk, or optical disk, and includes several instructions that cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.
[0064] The foregoing are merely preferred embodiments of the present application and do not thereby limit the scope of protection. For the same reasons, uniform structural or uniform flow transformations, or direct or indirect applications to other related technical fields, made using the contents of the specification and drawings of the present application are included within the scope of protection of the patent of the present application.
Claims
1. A method for identifying remote index nodes, applicable to computing nodes, The steps include: searching within the cache index nodes to determine whether a target cache node exists that covers the scope of the remote index node's specification request; If it is determined that there are target cache nodes that cover the scope of the specified request, the step of identifying remote index nodes in the storage node based on the target cache nodes includes: The remote index node is an index node in the index node layer of the storage node located in the upper layer of the leaf node layer. How to identify remote index nodes.
2. The step of searching within the cache index nodes to see if there are any target cache nodes that cover the scope of the specified request is as follows: The step includes searching within the cache index nodes whether a target cache node exists that covers the range of the specific request, based on the node start value in the range index cache structure, The range index cache structure is obtained by organizing based on the node start value of the cache index node, A method for identifying a remote index node according to claim 1.
3. The step of identifying a remote index node in the storage node based on the target cache node is: If it is determined that the node start value of the target cache node and the node start value of the remote index node are different, the method includes the step of updating the node start value of the target cache node to the node start value of the remote index node. A method for identifying a remote index node according to claim 1.
4. The step of identifying a remote index node in the storage node based on the target cache node is: If it is determined that the node start value of the target cache node and the node start value of the remote index node are the same, the storage node includes the step of accessing and reading storage data corresponding to the actual storage address of the remote index node from the leaf node layer of the storage node. A method for identifying a remote index node according to claim 1.
5. The steps include: aggregating the number of accesses to the remote index node; The steps include identifying a remote index node whose number of accesses is greater than a predetermined threshold as a new cache index node, A method for identifying a remote index node according to claim 2, further comprising:
6. After identifying the new cache index node, the new cache index node is sorted in the existing hotspot node linkage list based on the number of accesses to obtain a new hotspot node linkage list, and a new range index cache structure is obtained by organizing the cache index nodes in the new hotspot node linkage list based on the node start value. A method for identifying a remote index node according to claim 5, further comprising:
7. If it is determined that the storage space of the range index cache structure of the cache index node is greater than a pre-configured space threshold, the cache index node at the end of the hotspot node linking list is deleted until the storage space becomes less than or equal to the pre-configured space threshold. A method for identifying a remote index node according to claim 6, further comprising:
8. A device for identifying remote index nodes, which is applied to computing nodes, A search module configured to search within the cache index nodes to determine whether a target cache node covering the scope of a remote index node specification request exists, If it is determined that there are target cache nodes that cover the scope of the specified request, a specific module configured to identify remote index nodes in the storage node based on the target cache nodes is included, The remote index node is an index node in the index node layer of the storage node located in the upper layer of the leaf node layer. Identifying the remote index node.
9. A specific device for a remote index node comprising memory, a processor, and a computer program stored in the memory and executable on the processor, The computer program is configured to implement the steps of the method for identifying a remote index node as described in any one of claims 1 to 7. Specific equipment on the remote index node.
10. If a computer program is stored and the computer program is executed by a processor, the steps of the method for identifying a remote index node according to any one of claims 1 to 7 are realized. Computer-readable storage medium.