Data processing method based on intelligent index and related device thereof
By updating page tables between network devices and computer devices, the problem that intelligent caching technology cannot support dynamic operations is solved. This enables both dynamic and static operations to be supported in intelligent caching technology, expanding the applicable scenarios and improving work efficiency.
Patent Information
- Application Number
- CN202111425563.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-26
- Publication Date
- 2025-12-12
- Estimated Expiration
- 2041-11-26
AI Technical Summary
Existing intelligent caching technologies cannot support dynamic operations, resulting in limited applicable scenarios and failing to meet current needs.
The network device receives key-value pairs sent by the computer device, updates the page table, and sends it back to the computer device to ensure that both have the same page table, thereby supporting both dynamic and static operations.
It enables dynamic operations in intelligent caching technology, expands applicable application scenarios, and improves work efficiency.
Smart Images

Figure CN116186332B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present application relate to the field of communication, in particular to a data processing method based on intelligent index and related equipment thereof. BACKGROUND
[0002] Remote direct memory access (RDMA) is an emerging network technology with the characteristics of high network bandwidth and low network latency, wherein the RDMA includes unilateral operation and bilateral operation to realize data transmission. At present, there is a learned index technology applied to the aspect of accelerating index lookup of RDMA, which mainly uses an intelligent machine learning model to predict the position of the value corresponding to the key value. The intelligent caching technology using such learned index is a new technology for accelerating remote ordered index in recent years, wherein the remote ordered index is a remote memory data structure supporting querying all values corresponding to a range of key values. The remote memory data structure is a data structure supporting execution of server-side data structure operation using RDMA unilateral operation in the client.
[0003] The current intelligent caching technology caches the learned index in the client. For example, the intelligent caching is used in the client to accelerate the key value lookup operation. First, the client uses the learned index to predict the position range of a certain key value in the server, and then the client obtains the value corresponding to the key value from the position range of the server through RDMA unilateral operation. The data amount of the learned index is small, which can be directly cached in the local client, and the client only needs to complete the key value lookup operation through RDMA unilateral operation, thereby improving the efficiency, reducing the waste of network resources, and effectively avoiding the network amplification effect caused by using traditional indexes (such as B-tree).
[0004] However, since the data storage mode of the learned index cannot support dynamic operations such as insertion and deletion, it can only accelerate the static operation (such as key value lookup) in the remote effective index. Therefore, the current intelligent caching technology cannot support dynamic operation, has fewer applicable application scenarios, and cannot meet the current demand. SUMMARY
[0005] The present application provides a data processing method based on intelligent index and related equipment thereof, which is applied to the aspect of RDMA technology in the Internet, and can solve the problem that the current intelligent caching technology cannot support dynamic operation on the basis of supporting static operation, increase the applicable application scenarios, and improve the work efficiency.
[0006] In a first aspect, a data processing method based on intelligent index is provided, comprising:
[0007] The network device receives a first key-value pair sent by the computer device, the first key-value pair comprising a first key value and a first target value corresponding to the first key value.
[0008] Then, the network device updates a first page table based on the first key-value pair to obtain a second page table, wherein the page table is used to represent the correspondence between the key-value pair and the actual address of the key-value pair. The actual address is the address of the network device storing the key-value pair. Since the network device performs dynamic operations on the first key-value pair after receiving the first key-value pair, the actual address of the key-value pair on the network device changes, and the network device updates the first page table to obtain the second page table.
[0009] The network device sends the second page table to the computer device, so that the computer device has the same page table as the network device.
[0010] In the embodiments of the present application, the network device receives the first key-value pair sent by the computer device, then the network device updates the first page table based on the first key-value pair to obtain the second page table, and sends the second page table to the computer device, so that the computer device has the same page table as the network device. The network device updates the first page table based on the first key-value pair to obtain the second page table, and sends the second page table to the computer device, which ensures that the scheme supports dynamic operations, and the computer device has the same page table as the network device, so that the computer device can support static operations according to the second page table after dynamic operations on the first key-value pair. The scheme supports static operations and dynamic operations, increases the applicable application scenarios, meets the current needs, and improves the work efficiency.
[0011] In a possible implementation of the first aspect, in the case that the computer device obtains a second key value, the computer device obtains a second target value corresponding to the second key value from the network device, so that the network device receives an actual address of a second key-value pair sent by the computer device, wherein the actual address of the second key-value pair is determined by the computer device according to the second page table on the computer device, and the second key-value pair comprises the second key value and the second target value corresponding to the second key value.
[0012] Then, the network device obtains the second target value according to the actual address of the second key-value pair, and sends the second target value to the computer device.
[0013] In the embodiments of the present application, in the case that the computer device obtains the second key value, the network device receives the actual address of the second key-value pair sent by the computer device, and obtains the second target value according to the actual address of the second key-value pair, and sends the second target value to the computer device. Wherein the actual address of the second key-value pair is determined by the computer device according to the second page table on the computer device. The specific embodiments that the computer device can perform static operation according to the second page table after receiving the second page table are provided, which further ensures that the scheme supports dynamic operation and static operation.
[0014] In a possible implementation of the first aspect, the page table further comprises version information of the key-value pair, and the version information can be used to determine whether the page table possessed by the computer device is the same as that of the network device.
[0015] Before the network device sends the second page table to the computer device, the network device receives a first notification message sent by the computer device, wherein the first notification message is used to instruct the network device to obtain the first version information, and the first version information is the version information corresponding to the third key-value pair on the network device.
[0016] The network device sends the first version information to the computer device.
[0017] In the case that the first version information is inconsistent with the second version information, the network device receives a message sent by the computer device, wherein the message is used to instruct the network device to obtain the second page table, and the second version information is the version information corresponding to the third key-value pair in the page table on the computer device. Wherein, the first version information is inconsistent with the second version information, which means that the page table on the computer device is different from that on the network device, so the computer device needs to obtain the page table possessed by the network device from the network device.
[0018] In the embodiments of the present application, the page table further comprises version information of the key-value pair, and before the network device sends the second page table to the computer device, the network device further receives a first notification message sent by the computer, and then sends the first version information to the computer device. In the case that the first version information is inconsistent with the second version information, the network device receives a message sent by the computer device to obtain the second page table. The specific embodiments that the network device sends the second page table to the computer device are provided, which embodies the reliability of the scheme.
[0019] In a possible implementation of the first aspect, the network device receives a message sent by the computer device to obtain the third target value, wherein the third target value is the target value corresponding to the third key value included in the third key-value pair.
[0020] Then the network device obtains the third target value and sends the third target value to the computer device.
[0021] In the embodiments of the present application, the network device receives a message that the computer device acquires a third target value, then the network device acquires the third target value and sends it to the computer device. In the case that the computer device and the network device do not have the same page table, the scheme still supports static operation, ensures the normal operation, and improves the reliability of the scheme.
[0022] In a possible implementation of the first aspect, the first page table includes n sub-page tables, and the network device determines m first target sub-page tables from the n sub-page tables according to the first key-value pair, n≥m≥1. The network device performs dynamic operation on the first key-value pair, which may only cause the actual address of some key-value pairs on the network device to change, so the network device determines the m first target sub-page tables according to the key-value pairs whose actual addresses change.
[0023] Then, the network device updates the m first target sub-page tables to obtain m second target sub-page tables.
[0024] After obtaining the m second target sub-page tables, the network device sends the m second target sub-page tables to the computer device.
[0025] In the embodiments of the present application, the first page table includes n sub-page tables, the network device determines m first target sub-page tables from the n sub-page tables according to the first key-value pair, then updates the m first target sub-page tables to obtain m second target sub-page tables, and sends the m second sub-page tables to the computer device. The amount of data updated by the network device and the update time are reduced, the network resources are saved, and the work efficiency is improved.
[0026] In a possible implementation of the first aspect, the network device performs a delete operation on the first key-value pair to obtain the actual address of the updated key-value pair.
[0027] Then, the network device updates the first page table according to the actual address of the updated key-value pair to obtain the second page table.
[0028] In the embodiments of the present application, the network device performs a delete operation on the first key-value pair to obtain the actual address of the updated key-value pair, and then updates the first page table according to the actual address of the updated key-value pair to obtain the second page table. The specific operation of the network device on the first key-value pair is specified, and how the network device updates the first page table to obtain the second page table is explained, which increases the applicable application scenarios and embodies the diversity of the scheme.
[0029] In a possible implementation of the first aspect, the network device performs an insert operation on the first key-value pair to obtain the actual address of the updated key-value pair.
[0030] Then, the network device updates the first page table according to the actual address of the updated key-value pair, and obtains a second page table.
[0031] In the embodiments of the present application, the network device performs an insertion operation on the first key-value pair, obtains the actual address of the updated key-value pair, and then updates the first page table according to the actual address of the updated key-value pair to obtain the second page table. It is clear that the dynamic operation performed by the network device on the first key-value pair is an insertion operation, which reflects the selectivity and diversity of the scheme.
[0032] In a second aspect, a data processing method based on an intelligent index is provided, including:
[0033] The computer device sends a first key-value pair to the network device, the first key-value pair including a first key value and a first target value corresponding to the first key value.
[0034] Then, the computer device obtains a second page table from the network device, the second page table being obtained by the network device based on the first key-value pair updating a first page table, wherein the page table is used to represent the correspondence between the key-value pair and the actual address of the key-value pair, and the actual address is the address of the network device storing the key-value pair.
[0035] In the embodiments of the present application, the computer device sends the first key-value pair to the network device, and then the network device performs a dynamic operation on the first key-value pair, which may cause the network address of the key-value pair on the network device to change. Therefore, the network device updates the first page table based on the first key-value pair to obtain the second page table, and then the computer device obtains the second page table from the network device. This scheme shows that dynamic operation is supported, and the computer device obtains the second page table, which ensures that the computer device and the network device have the same page table, and ensures that the computer device can still support static operation after the first key value is dynamically operated.
[0036] In a possible implementation manner of the second aspect, in a case where the computer device obtains a second key value, the computer device determines the actual address of a second key-value pair according to the second page table, wherein the second key-value pair includes the second key value and a second target value corresponding to the second key value.
[0037] The computer device obtains the second target value from the network device according to the actual address of the second key-value pair.
[0038] In the embodiments of the present application, when the computer device obtains the second key value, the computer device determines the actual address of the second key-value pair according to the second page table, and then obtains the second target value from the network device according to the actual address of the second key-value pair. This specifically embodies the embodiment in which the computer device obtains the second target value based on the second key value according to the second page table, and embodies the fact that the computer device can still support static operations based on the second page table after the first key-value pair is executed with dynamic operations.
[0039] In a possible implementation of the second aspect, the page table further includes version information of the key-value pair, and the version information can be used to determine whether the page table possessed by the computer device is the same as that of the network device.
[0040] Before the computer device obtains the second page table from the network device, the computer device sends a first notification message to the network device, and the first notification message is used to notify the network device to obtain the first version information, where the first version information is the version information corresponding to the third key-value pair on the network device.
[0041] Then, the computer device receives the first version information sent by the network device.
[0042] When the first version information is inconsistent with the second version information, the computer device obtains the second page table from the network device, where the second version information is the version information corresponding to the third key-value pair in the page table on the computer device.
[0043] In the embodiments of the present application, the page table further includes version information of the key-value pair, and then the computer device sends the first notification message to the computer device, and then receives the first version information sent by the network device. When the first version information is inconsistent with the second version information, the computer device obtains the second page table from the network device. This specifically embodies the specific implementation of the computer device obtaining the second page table, and improves the reliability of the scheme.
[0044] In a possible implementation of the second aspect, the computer device sends a message to the network device to obtain the third target value, where the third target value is the target value corresponding to the third key value included in the third key-value pair.
[0045] Then the computer device receives the third target value sent by the network device.
[0046] In the embodiments of the present application, the computer device sends a request to the network device to obtain the third target value, and then receives the third target value sent by the network device. This ensures that the scheme can still support static operations in the case that the page tables possessed by the computer device and the network device are inconsistent.
[0047] In a possible implementation of the second aspect, the first page table includes n sub-page tables, and the computer device obtains m first target sub-page tables from the network device, the m first target sub-page tables being updated by the network device from m second target sub-page tables determined by the network device from the n sub-page tables of the first page table according to the first key-value pair, n≥m≥1.
[0048] In the embodiments of the present application, the first page table includes n sub-page tables, and the computer device obtains m first target sub-page tables from the network device, the m sub-page tables being updated by the network device from m second target sub-page tables determined by the network device from the first page table according to the first key-value pair. The amount of data obtained by the computer device is reduced, network resources are saved, and work efficiency is improved.
[0049] In a third aspect, a network device is provided, which has the function of implementing the method of the first aspect or any possible implementation of the first aspect. The function can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions.
[0050] The network device of the third aspect performs the method described in the first aspect or any possible implementation of the first aspect of the present application.
[0051] In a fourth aspect, a computer device is provided, which has the function of implementing the method of the second aspect or any possible implementation of the second aspect. The function can be implemented by hardware, or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions.
[0052] The computer device of the fourth aspect performs the method described in the second aspect or any possible implementation of the second aspect of the present application.
[0053] In a fifth aspect, another network device or computer device is provided, which can include a processor coupled with a memory, wherein the memory is configured to store instructions, and the processor is configured to execute the instructions in the memory to cause the network device to perform the method of the first aspect or any possible implementation of the first aspect of the present application, or to cause the computer device to perform the method of the second aspect or any possible implementation of the second aspect of the present application.
[0054] In a sixth aspect, another network device or computer device is provided, which includes a processor configured to execute a computer program (or computer executable instructions) stored in a memory, when the computer program (or computer executable instructions) is executed, causing the network device to perform the method in the first aspect and each possible implementation of the first aspect, or causing the computer device to perform the method in the second aspect and each possible implementation of the second aspect.
[0055] In a possible implementation, the processor and the memory are integrated together.
[0056] In another possible implementation, the memory is located outside the network device or the computer device.
[0057] The network device or the computer device further includes a communication interface for the network device or the computer device to communicate with other devices, such as transmitting or receiving data and / or signals. For example, the communication interface can be a transceiver, a circuit, a bus, a module or other types of communication interfaces.
[0058] The seventh aspect provides a computer readable storage medium, including computer readable instructions, when the computer readable instructions are run on a computer, causing the method described in the first aspect or any possible implementation manner of the first aspect to be executed, or causing the method described in the second aspect or any possible implementation manner of the second aspect to be executed.
[0059] The eighth aspect provides a computer program product, including computer readable instructions, when the computer readable instructions are run on a computer, causing the method described in the first aspect or any possible implementation manner of the first aspect to be executed, or causing the method described in the second aspect or any possible implementation manner of the second aspect to be executed.
[0060] The ninth aspect provides a chip, including at least one processor and at least one interface circuit, the interface circuit and the processor are coupled, the at least one interface circuit is used to perform a transceiving function and send instructions to the at least one processor, the at least one processor is used to run a computer program or instructions, which has a function of implementing the method of the first aspect or any possible implementation manner of the first aspect, or has a function of implementing the method of the second aspect or any possible implementation manner of the second aspect, the function can be implemented by hardware, can be implemented by software, and can be implemented by combination of hardware and software, the hardware or software includes one or more modules corresponding to the above functions.
[0061] The tenth aspect provides a communication system, including the third aspect, the fourth aspect, the fifth aspect, and the network device and the computer device provided by various possible implementations of the foregoing aspects. BRIEF DESCRIPTION OF DRAWINGS
[0062] Figure 1 An illustration of intelligent cache acceleration search;
[0063] Figure 2 An illustration of a data processing method based on intelligent index provided by an embodiment of the present application;
[0064] Figure 3 An example of an application scenario provided by the embodiment of the present application is shown in the following table:
[0065] Figure 4 An example of a process of obtaining the second page table provided by the embodiment of the present application is shown in the following table:
[0066] Figure 5 An example of the network device storing data provided by the embodiment of the present application is shown in the following table:
[0067] Figure 6 An example of the first page table being n sub-page tables provided by the embodiment of the present application is shown in the following table:
[0068] Figure 7 An example of a system interaction of obtaining m second target sub-page tables provided by the embodiment of the present application is shown in the following table:
[0069] Figure 8 An example of a process of generating or updating a sub-page table provided by the embodiment of the present application is shown in the following table:
[0070] Figure 9 An example of obtaining the first model provided by the embodiment of the present application is shown in the following table:
[0071] Figure 10 An example of the page table provided by the embodiment of the present application is shown in the following table:
[0072] Figure 11 An example of the computer device performing a lookup operation provided by the embodiment of the present application is shown in the following table:
[0073] Figure 12 An example of a process of the computer device performing a lookup operation provided by the embodiment of the present application is shown in the following table:
[0074] Figure 13 An example of a process of sending the third target value and the second page table provided by the embodiment of the present application is shown in the following table:
[0075] FIG. 14(a) is an example of uniform scenario test data provided by the embodiment of the present application;
[0076] FIG. 14(b) is an example of latest scenario test data provided by the embodiment of the present application;
[0077] Figure 15 An example of TPC-C scenario test data provided by the embodiment of the present application is shown in the following table:
[0078] Figure 16 An example of the first model being test data of different learning models provided by the embodiment of the present application is shown in the following table:
[0079] Figure 17A structural schematic diagram of a network device provided by an embodiment of the present application is shown in FIG. 1.
[0080] Figure 18 A structural schematic diagram of a computer device provided by an embodiment of the present application is shown in FIG. 2.
[0081] Figure 19 A structural schematic diagram of a communication device provided by an embodiment of the present application is shown in FIG. 3. DETAILED DESCRIPTION
[0082] The embodiments of the present application provide a data processing method based on intelligent indexing and related equipment, which is applied to the RDMA technology in the Internet, can support dynamic operations and static operations, and can be applied to various application scenarios to improve work efficiency.
[0083] The terms "first", "second", etc. in the specification and claims of the present application and in the above-described drawings are used to distinguish similar objects, and do not necessarily have to describe a specific order or sequence. It should be understood that the terms used in this way can be interchanged under appropriate circumstances, which is only a distinguishing way used in the description of the embodiments of the present application to describe the objects with the same properties. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, so that the processes, methods, systems, products or equipment containing a series of units do not have to be limited to those units, but can include other units not clearly listed or inherent to these processes, methods, products or equipment.
[0084] The embodiments of the present application relate to a lot of related knowledge of RDMA technology. In order to better understand the scheme of the embodiments of the present application, the related terms and concepts that may be involved in the embodiments of the present application are introduced below.
[0085] Remote Direct Data Access: RDMA is an emerging network technology with the characteristics of high network bandwidth and low network latency. Among them, the upper system can use one-sided operation and two-sided operation to use RDMA. RDMA is to directly transmit data into the storage area of the computer device through the network, and to quickly move data from the computer device to the remote system memory without any impact on the operating system, which can occupy as little processing function of the computer device as possible. Eliminate the overhead of external memory copy and context switching, so as to free up memory bandwidth and processor cycles for improving system functions.
[0086] Two-sided operation: the two-sided operation of RDMA must be aware of the participation of the remote system to complete the transmission and reception, and the two-sided operation provides an interface for message passing, which is similar to traditional network communication. It is mainly used for transmitting short control messages.
[0087] One-sided operation: The one-sided operation of RDMA only needs to provide a direct access virtual address, and the remote system does not need to be aware of this communication. The read or write of data is completed through RDMA between the RDMA-capable network card (RNIC) and the application buffer, that is, the network card can bypass the processor to read and write the memory of the remote system. The current one-sided operation includes read, write and atomic operation, etc. Compared with the two-sided operation, the one-sided operation has better performance, can bypass the processor of the remote system to operate the memory data, has lower energy consumption, thereby reducing the cost, and is suitable for batch data transmission.
[0088] Remote memory data structure: A data structure that supports performing data structure operations of a remote system in a client using the one-sided operation of RDMA.
[0089] Ordered key-value operation: An operation that supports querying all values corresponding to a range of keys, which is usually implemented by using a B-tree. For example, adjacent keys (a) and (b) can be found at the same time through one query.
[0090] Remote ordered index: A remote memory data structure that supports ordered key-value operations. Usually, the data structure is implemented based on a B-tree.
[0091] Index cache: A technique of caching the index (or part of the index) of a remote system to a client.
[0092] Learned index: A technique of accelerating index lookup, which can index data like a traditional index. Unlike a traditional index (for example, a B-tree), which finds the position of a value corresponding to a key by traversing a data structure in memory, a learned index uses a smart machine learning model to predict the position of the value corresponding to the key. The learned index can greatly reduce the memory traversal operation.
[0093] Learned cache: A cache technique that uses a learned index as a cache.
[0094] Before introducing the embodiments of the present application, the common learned cache technique is briefly introduced, so as to facilitate the subsequent understanding of the embodiments of the present application.
[0095] Learned cache is a technique of accelerating a remote ordered index. Please refer to Figure 1 For detailed understanding of the specific implementation of the learned cache accelerating static key-value operation, Figure 1An example of the intelligent cache acceleration search. The server stores data in an ordered array. The intelligent cache technology caches an intelligent index in the client, which can index the data of the server.
[0096] Through the intelligent cache technology, the client performs a search operation, which returns the value (e.g., V1) corresponding to the searched key (e.g., K1). The following is a specific example of the case where the client obtains a key (K1) and performs a search operation (get) on it (e.g., as shown in the figure, the client receives an instruction from a user or other device or instrument to perform a search operation on K1). Figure 1 As shown in the figure, the client first uses the intelligent index to predict the range of the location of V1 in the storage of the server. When V1 is stored in the server, V1 is in the predicted range. Then, the client reads the corresponding key in the range back through a one-way RDMA operation, so that the client can determine the determined location of V1 through local search. Then, the client reads V1 back through a one-way RDMA operation according to the determined location of V1. The intelligent index of the intelligent cache technology is small, and the intelligent index can be completely cached in the client. The client only needs two one-way RDMA operations to search for the value corresponding to the key. It can effectively accelerate the static operation in the remote ordered index. However, the intelligent cache technology described above cannot support dynamic operations (such as insert, delete, etc.) due to the data storage mode.
[0097] To solve the above-mentioned problems, the embodiment of the present application first provides a data processing method based on an intelligent index, which is used in the field of RDMA technology in the Internet. The computer device sends a first key-value pair to the network device. After receiving the first key-value pair, the network device updates the first page table based on the first key-value pair to obtain a second page table. The page table is used to represent the correspondence between the key-value pair and the actual address of the key-value pair. The network device sends the second page table to the computer device. The computer device obtains the second page table from the network device, so that the computer device and the network device have the same page table. The embodiment of the present application can support dynamic operations and static operations, increase the applicable application scenarios, and improve work efficiency.
[0098] In order to better understand the embodiments of the present application, the embodiments of the present application are described in detail below in combination with the drawings. Those skilled in the art can know that, with the development of technology and the appearance of new scenarios, the technical solutions provided by the embodiments of the present application are also applicable to similar technical problems. For details, please refer to Figure 2 , Figure 2 An example of the data processing method based on the intelligent index provided by the embodiment of the present application is shown in the figure, which specifically includes:
[0099] 201、The network device receives the first key-value pair sent by the computer device.
[0100] The network device receives the first key-value pair sent by the computer device, which includes a first key value and a first target value corresponding to the first key value.
[0101] In the case where the computer device obtains the first key-value pair and needs to perform a dynamic operation on the first key-value pair in the data structure of the network device, the computer device sends the first key-value pair and the specific operation thereon to the network device through RDMA bilateral operation.
[0102] For ease of understanding, the following will be illustrated by a simple example of application scenarios. The embodiments of the present application are applied in scenarios of needing to perform "add, delete, modify and query" on data stored in the network device in a distributed system, or database scenarios. For example, distributed memory key-value storage, metadata operation in a distributed file system, etc. Figure 3 As shown in Figure 3 An application scenario provided by the embodiments of the present application. The computer device uses a dynamic intelligent cache interface to perform add, delete, modify and query on data stored in the memory of the network device, and the network device organizes data in a key-value manner. The computer device can efficiently use RDMA unilateral operation to maximize the performance of static operations such as lookup according to the dynamic intelligent cache it has. The dynamic intelligent cache includes a page table, and the computer device mainly maximizes static operations such as lookup according to the page table. Then, the computer device performs dynamic operations such as insertion, deletion or update through RDMA bilateral operation. It can be understood that Figure 3 This is only an example for understanding the embodiments of the present application, and does not substantially limit the present application.
[0103] 202、The network device updates the first page table based on the first key-value pair to obtain a second page table.
[0104] The network device updates the first page table based on the first key-value pair to obtain a second page table. The page table is used to represent the correspondence between the key-value pair and the actual address of the key-value pair. The actual address is the address of the network device storing the key-value pair. In the case where the network device operates on the first key-value pair, the actual address of the key-value pair on the network device will change, so the network device updates the first page table to obtain the second page table, i.e. the correspondence between the key-value pair on the current network device and the actual address of the key-value pair.
[0105] Specifically, the network device receives the first key-value pair, and performs a dynamic operation on the first key-value pair, including deletion, insertion, or update, etc., which is not limited here. In one possible implementation, the network device performs an insertion operation on the first key-value pair, obtains an actual address of the updated key-value pair, and updates the first page table according to the actual address of the updated key-value pair to obtain the second page table. Or the network device performs a deletion operation on the first key-value pair, obtains an actual address of the updated key-value pair, and updates the first page table according to the actual address of the updated key-value pair to obtain the second page table.
[0106] In one possible implementation, the network device performs an insertion operation on the first key-value pair, obtains an actual address of the updated key-value pair, and updates the first page table according to the actual address of the updated key-value pair to obtain the second page table.
[0107] For ease of understanding, the following is an example of a specific implementation, and the specific implementation is described in detail in the following embodiments. Figure 4 , Figure 4 A flowchart for obtaining the second page table is provided in the embodiments of the present application.
[0108] 401. The network device inserts the first key-value pair into the xtree and the leaf node.
[0109] The network device stores data in the form of a leaf node (LN), and can understand that the network device can also store data in other forms, which is not limited here, and a conventional index structure (for example, xtree, which can be understood to be other forms of index, which is not limited here) indexes the data. For details, please refer to Figure 5 , Figure 5 A schematic diagram of the network device storing data is provided in the embodiments of the present application. Optionally, the xtree can be implemented by B+ tree, skip list, locator ID separation protocol (LISP), or skip. It can be understood that in actual situations, it can also be other implementation manners, which is not limited here. The network device inserts the first key-value pair into the leaf node and the xtree, and ensures that the first key-value pair inserted into the leaf node can be indexed by the xtree. Inserting the first key-value pair can cause the leaf node to merge or split, resulting in a change in the actual address of some key-value pairs stored on the network device, obtaining an actual address of the updated key-value pair. Therefore, the network device updates the first page table according to the actual address of the updated key-value pair to obtain the second page table.
[0110] In the embodiments of the present application, the network device performs an insertion operation on the first key-value pair to obtain an actual address of the updated key-value pair, and then updates the first page table to obtain the second page table. It is specified that the dynamic operation performed by the network device on the first key-value pair is an insertion operation, which embodies that the scheme supports dynamic operations and embodies the selectivity of the scheme.
[0111] It can be understood that the above Figure 4 and Figure 5 are only used as an example for understanding the embodiments of the present application, and do not substantially limit the embodiments of the present application.
[0112] In a possible implementation manner, the first page table includes n sub-page tables, and specific forms can be referred to Figure 6 , Figure 6 The first page table provided by the embodiments of the present application is a schematic diagram of n sub-page tables. The network device determines m first target sub-page tables from the n sub-page tables according to the first key-value pair, where n≥m≥1. Then the network device updates the m first target sub-page tables to obtain m second target sub-page tables after updating.
[0113] For the sake of understanding, the implementation manner that the first page table includes n sub-page tables is specifically illustrated below, and on the application scenario of the foregoing Figure 3 , in order to ensure that after the network device performs a dynamic operation on the first key-value pair, the computer device can still support static operations and dynamic operations according to the dynamic intelligent cache, it is necessary to update the page table on the computer device. The page table is updated by the network device, and the computer device obtains the updated page table from the network device, and then supports static operations according to the updated page table. Therefore, the dynamic intelligent cache can be set on the network device, and the dynamic intelligent cache on the computer device is consistent with that on the network device (for example, the dynamic intelligent cache on the computer device can be obtained from the network device).
[0114] Optionally, the dynamic intelligent cache is divided into a first model and n underlying models, each of which includes a sub-page table, the first model is used to determine the underlying model according to the key value, and the n underlying models including the sub-page table are generated by the network device, and the underlying model can be used to quickly determine the actual address of the key-value pair corresponding to the key value from the sub-page table. Alternatively, the network device can only have the n underlying models including the sub-page table, send the n underlying models including the sub-page table to the computer device, so that the computer device has the same page table as the network device, the computer device itself has the first model, and then supports static operations and dynamic operations according to the first model and the n sub-page tables. It can be understood that in actual situations, other implementation manners can also be adopted, which are not limited here.
[0115] For the convenience of understanding the updating of the m first target sub-page tables to obtain the second target sub-page tables, the following examples are given, in which the insertion of the first key-value pair into the network device is taken as an example, and the specific examples can be referred to Figure 7 , Figure 7 A system interaction diagram for obtaining m second target sub-page tables according to an embodiment of the present application is provided. The computer device obtains an instruction for inserting the first key-value pair into the network device, and then the network device obtains the first key-value pair from the computer device and inserts the first key-value pair into the xtree and the leaf node, which causes the actual address of the key-value pair on the network device to change. The network device determines that the sub-page table corresponding to the key-value pair with the changed actual address is the m first target sub-page tables, adds the m first target sub-page tables to the update queue, and then updates the m first target sub-page tables in the update queue by using the training thread to obtain the m second target sub-page tables, that is, the m updated underlying models.
[0116] The first model and the underlying model can be any machine learning model. Optionally, the first model can be a machine learning model with strong generalization ability, and the underlying model can be a model with less memory occupation and faster training, for example, a neural network or a multiple linear regression is used as the first model, and a linear regression is used as the underlying model, which can more quickly and efficiently support static operations and dynamic operations, and can occupy less memory and save resources.
[0117] The specific implementation process of the network device obtaining the m second target sub-page tables can be referred to Figure 4 :
[0118] 402. In the case of leaf node splitting or merging, the network device determines the m first target sub-page tables.
[0119] As can be seen from step 401 in Figure 3 , when the network device inserts the first key-value pair into the xtree and the leaf node, the leaf node can be split or merged, which causes the actual address of the key-value pair on the network device to change. Therefore, in the case of leaf node splitting or merging, the network device determines that the sub-page table corresponding to the key-value pair with the changed actual address is the m first target sub-page tables, n≥m≥1.
[0120] 403. The network device determines whether each of the m target sub-page tables is in the update queue.
[0121] When a certain first target sub-page table is not in the update queue, step 404 is performed.
[0122] When a certain first target sub-page table is in the update queue, step 405 is performed.
[0123] 404、add the first target sub-page table to the to-be-updated queue, and then execute step 405.
[0124] 405、the network device updates the m first target sub-page tables in the to-be-updated queue to obtain second target sub-page tables.
[0125] For the convenience of understanding, the following will illustrate the specific implementation mode of the network device updating the first target sub-page table to obtain the second target sub-page table. The network device updates the m first target sub-page tables to obtain m second target sub-page tables, and the specific process can be referred to Figure 8 , Figure 8 A flowchart for generating or updating a sub-page table of an embodiment of the present application is shown in FIG. 8. The bottom model of the second target sub-page table can be obtained according to the following steps:
[0126] 801、initialize the training set as empty;
[0127] For example, training_set = [], wherein training_set represents the training set. It can be understood that in actual cases, the training set can also be represented in other forms, which are not limited herein.
[0128] 802、initialize the page table as empty;
[0129] For example, TT = [], wherein TT represents the page table. It can be understood that in actual cases, the page table can also be represented in other letters, combinations of letters, words, combinations of words, or other forms, which are not limited herein.
[0130] 803、initialize the leaf node node as the first leaf node responsible for the bottom model;
[0131] For example, node = first_mode_node, which represents that the initialized leaf node is defined as the first leaf node. It can be understood that node = first_mode_node is only an example, and in actual cases, it can also be in other forms, which are not limited herein.
[0132] 804、determine whether the node is the node predicted by the sub-page table, if not, execute step 808;
[0133] 805、add all key values in the node to the training set;
[0134] 806、add the address and version of the node to the page table;
[0135] 807、set the node as the next node of the node in the storage of the network device, and execute step 804;
[0136] 808. Obtain a bottom layer model including the sub-page table using the training set.
[0137] The first target sub-page table can be obtained by the network device through the above-mentioned implementation manner, and it can be understood that the m second target sub-page tables are also obtained by the network device, and it can be understood that Figure 8 The network device updates the first target sub-page table to obtain the second target sub-page table in the embodiments of the present application, which is only an example and is not limited. In actual cases, other implementation manners can also be used to achieve the same purpose, and the specific implementation is not limited here.
[0138] In the embodiments of the present application, the first page table includes n sub-page tables, the network device determines m first target sub-page tables according to the first key-value pair, and updates the m first target sub-page tables to obtain m second target sub-page tables, which reduces the amount of data updated by the network device and the update time, saves network resources, and improves work efficiency.
[0139] Next, taking that the network device obtains the first model as an example, the specific implementation process is described in Figure 9 , Figure 9 An example of obtaining the first model provided in the embodiments of the present application is shown in the following figure:
[0140] 901. Initialize the training set as empty;
[0141] For example, training_set = [], wherein training_set represents the training set, and it can be understood that in actual cases, the training set can also be represented in other forms, and the specific implementation is not limited here.
[0142] 902. Initialize the current key value as the minimum key value of the network device;
[0143] For example, current_key = min_key, wherein current_key represents the current key value, and min_key represents the minimum key value. It can be understood that in actual cases, the current key value or the minimum key value can also be represented in other forms, and the specific implementation is not limited here.
[0144] 903. Initialize the count as 0;
[0145] For example, count = 0, wherein count represents the count, and it can be understood that other words, letters or word combinations can also represent the count, and the specific implementation is not limited here.
[0146] 904. Whether the current key value is less than or equal to the maximum key value stored by the network device, if not, step 908 is executed;
[0147] For example, the current_key is equal to the max_key, where the max_key represents the maximum key value stored in the network device, and it can be understood that other forms can also represent the maximum key value, which is not limited here.
[0148] 905、add (current_key, count) to the training set;
[0149] 906、count is incremented by one;
[0150] 907、set the current_key to the next key value greater than the current_key in the network device, and execute step 904;
[0151] 908、use the training set to train the first model.
[0152] It should be noted that the network device sends the first model to the computer device to ensure that the computer device can quickly determine the underlying model corresponding to the key value according to the first model. It can be understood that when the network device does not have the first model, the computer device can also obtain the first model according to a similar process, which is not limited here. Figure 9
[0153] It should be noted that the above Figure 9 is only an example for specific understanding of the embodiments of the present application, and does not substantially limit the embodiments of the present application.
[0154] It should be noted that the above dynamic intelligent cache is divided into a first model and n underlying models, which is only an example, and the dynamic intelligent cache can also be divided into a first model and n sub-page tables, which is not limited here. The first model and the underlying model are only used to quickly determine the actual address of the key value pair corresponding to the key value based on the page table, thereby improving work efficiency.
[0155] It can be understood that the above is described by taking the dynamic intelligent cache as an example, which is only used for understanding the embodiments of the present application, and does not substantially limit the embodiments of the present application.
[0156] Method two: the network device performs a deletion operation on the first key value pair to obtain the actual address of the updated key value pair, and then updates the first page table according to the actual address of the updated key value pair to obtain a second page table.
[0157] The network device performs a deletion operation on the first key value pair, which may cause the leaf node to be broken or merged, i.e., the actual address of some key value pairs on the network device changes, and then the network device updates the first page table according to the actual address of the updated key value pair to obtain a second page table. The specific process is similar to the description of the network device performing an insertion operation on the first key value pair in the above method one, which is not repeated here.
[0158] In the embodiments of the present application, the network device performs a deletion operation on the first key-value pair to obtain an actual address of an updated key-value pair, and then the network device updates the first page table according to the actual address of the updated key-value pair to obtain the second page table. The specific operation of the network device on the first key-value pair is clarified, and how the network device updates the first page table to obtain the second page table is explained, which embodies that the scheme supports dynamic operation and increases applicable application scenarios, embodying the diversity of the scheme.
[0159] In a possible implementation, the first page table includes n sub-page tables. The network device determines m first target sub-page tables from the n sub-page tables according to the first key-value pair, where n≥m≥1. Then the network device updates the m first target sub-page tables to obtain m second target sub-page tables after updating. The specific content is similar to that described in the above manner one, and will not be repeated here.
[0160] 203、The computer device sends a first notification message to the network device.
[0161] In the case where the page table further includes version information of the key-value pair, the computer device sends a first notification message to the network device, which is used to instruct the network device to obtain first version information, where the first version information is the version information of the third key-value pair on the network device, and the third key-value pair includes a third key value and a third target value corresponding to the third key value.
[0162] The page table further includes version information of the key-value pair. The version information can be version information of the actual address of the key-value pair, which is updated after the actual address of the key-value pair changes. Or it can also be version information of the page table, which is updated after the page table is updated. The version information is used to instruct the computer device to determine whether it has the same page table as the network device. The specific form of the page table is described in Figure 10 , Figure 10 A schematic diagram of the page table provided for the embodiments of the present application.
[0163] For better understanding, the following first briefly describes the computer device supporting the lookup operation according to the dynamic intelligent cache, which is taken as the first page table including n sub-page tables on the computer device as an example for description. Please refer to Figure 11 , Figure 11 A schematic diagram of the computer device performing the lookup operation provided for the embodiments of the present application, in which the computer device receives a key value from a user or other device and wants to perform a lookup operation on the key value. First, the computer device determines the third target sub-page table corresponding to the third key value according to the first model, and then determines the actual address of the third key-value pair according to the third target sub-page table, and then obtains the corresponding third target value from the network device according to the actual address of the third key-value pair.
[0164] According to the dynamic intelligent cache possessed by the computer device, in the case that the computer device performs the lookup operation on the third key value, the computer device obtains the first version information of the third key-value pair on the network device from the network device, and when the first version information obtained by the computer device from the network device is the same as the second version information, the computer device obtains the third target value from the network device. For the specific implementation process, please refer to Figure 12 , Figure 12 A flowchart for the lookup operation of the computer device provided by the embodiment of the application is shown in the figure, wherein:
[0165] 1201. The computer device determines a third target sub-page table based on the first model.
[0166] The computer device determines a third target sub-page table based on the first model. The third target sub-page table is a sub-page table in which the actual address of the third key-value pair corresponding to the third key value on the computer device is located.
[0167] 1202. The computer device determines the actual address of the third key-value pair based on the third target sub-page table.
[0168] 1203. The computer device sends a first notification message to the network device to obtain a first version message.
[0169] The computer device obtains the first version message through the RDMA unilateral operation, and the first notification message contains the actual address of the third key-value pair, which can reduce information interaction and improve work efficiency.
[0170] 204. The network device sends the first version message.
[0171] After the network device receives the first notification message sent by the computer device, the network device sends the first version message to the computer device.
[0172] 205. The computer device sends a message for obtaining a second page table to the network device.
[0173] The computer device obtains the second page table from the network device.
[0174] In the case that the first version message is inconsistent with the second version message, the computer device sends a message for obtaining a second page table to the network device. The second version information is the version information corresponding to the third key-value pair in the page table on the computer device.
[0175] In a case where the first version information obtained by the computer device from the network device is inconsistent with the second version information in the page table on the computer device, the computer device obtains an updated second page table from the network device, so that the computer device and the network device have the same page table, and the computer device can still support the static operation after the network device performs the dynamic operation on the first key-value pair and the actual address of the key-value pair on the network device changes.
[0176] In a possible implementation, the first page table includes n sub-page tables, and from the above, it can be known that the network device obtains the m updated second target sub-page tables. At this time, the computer device sends a message for obtaining the m second target sub-page tables to the network device.
[0177] For the convenience of understanding, the above Figure 12 For example, the following is specifically described, wherein:
[0178] 1204. The computer device determines whether the first version information is consistent with the second version information.
[0179] In a case where the first version information is consistent with the second version information, step 1205 is performed.
[0180] In a case where the first version information is inconsistent with the second version information, step 1206 is performed.
[0181] 1205. The computer device obtains a third target value from the network device based on the RDMA unilateral operation.
[0182] The computer device obtaining the third target value from the network device specifically includes: the computer device obtaining the key value of the corresponding leaf node (the number of leaf nodes is at least 1) from the network device according to the actual address of the third key-value pair, and then the computer device determines the leaf node where the third key value is located, and obtains the third target value from the leaf node where the third key value is located in the network device through the RDMA unilateral operation, to obtain the third target value (step 1209).
[0183] 1206. The computer device sends a message for obtaining the m second target sub-page tables to the network device. The computer device sends the message for obtaining the m second target sub-page tables to the network device through the RDMA bilateral operation to obtain the m second target sub-page tables.
[0184] In the embodiments of the present application, steps 203, 204 and 205 specifically describe the condition for the computer device to obtain the second page table and how to obtain the second page table. Specific embodiments are provided, which embody the reliability of the scheme.
[0185] In a possible implementation, in a case where the computer device saves memory or the memory size is not enough, the computer device only has part of the sub-page table, and when the computer device receives a key value corresponding to a sub-page table that is not on the computer device, the computer device uses an RDMA unilateral operation to obtain the corresponding sub-page table from the network device.
[0186] In the embodiments of the present application, the computer device only has part of the sub-page table, and when the computer device receives a key value corresponding to a sub-page table that is not on the computer device, the computer device uses an RDMA unilateral operation to obtain the corresponding sub-page table from the network device. This can reduce the occupation of resources and save network resources.
[0187] In a possible implementation, the computer device further sends a message for obtaining a third target value to the network device, the third target value being a target value corresponding to a third key value included in a third key value pair, and then the computer device receives the third target value sent by the network device. For details, refer to the example in Figure 12 , wherein
[0188] In step 1206, the computer device sends a message for obtaining a third target value to the network device.
[0189] The computer device sends the message for obtaining the third target value to the network device through an RDMA bilateral operation.
[0190] It should be noted that the computer device sends the message for obtaining the third target value to the network device, and the message for obtaining the second page table or the m second target sub-page tables sent by the computer device to the network device can be sent together as shown in step 1106, or can be sent separately. It can be understood that in actual cases, the specific implementation manner can be determined according to actual conditions, and the specific implementation manner is not limited herein.
[0191] In step 1209, the computer device obtains the third target value.
[0192] The computer device receives the third target value sent by the network device.
[0193] 206. The network device sends the second page table to the computer device.
[0194] The network device sends the second page table to the computer device, so that the computer device and the network device have the same page table.
[0195] As described above, after the computer device receives a key value, the computer device determines the actual address of the key value pair through the page table possessed by the computer device, and then obtains the corresponding value of the key value. Therefore, in order to support the static operation, the computer device and the network device need to have the same page table.
[0196] From the above, optionally, after the network device receives the message that the computer device acquires the second page table sent by the computer device, the network device sends the second page table to the computer device. Alternatively, after the network device receives the message that the computer device acquires m second target sub-page tables sent by the computer device, the network device sends the m second target sub-page tables to the computer device.
[0197] In a possible implementation manner, the network device sends the updated underlying model including the second target sub-page table to the computer device, so that the computer device has the same page table as the network device. Figure 5 It can be known that the network device sends the updated underlying model including the second target sub-page table to the computer device, so that the computer device has the same page table as the network device.
[0198] In the embodiments of the present application, the network device sends the second page table to the computer device, so that the computer device has the same page table as the network device, and the computer device can still efficiently support the static operation according to the page table.
[0199] In a possible implementation, after the network device receives the message that the computer device acquires the third target value, the network device acquires the third target value according to the message through the traditional index structure, and sends the third target value to the computer device. Optionally, the network device sends the third target value to the computer device, and the network device sends the second page table or the m second target sub-page tables to the computer device, which can be sent in the same message or separately, and the specific implementation is not limited here. Next, the network device sends the second page table or the m second target sub-page tables and the third target value to the computer device in the same message as an example, and the specific implementation is described in detail in 13, Figure 13 A flowchart for sending the third target value and the second page table provided by the embodiments of the present application is shown. Wherein:
[0200] 1301. The network device acquires the third target value according to the traditional index structure.
[0201] 1302. The network device adds the third target value to the message sent to the computer device.
[0202] 1303. Whether the network device has the second page table.
[0203] Since the network device needs a certain time length to update the first page table, when the computer device acquires the second page table, the first page table or the m first target sub-page tables in the update queue may not be updated, and the second page table or the m second target sub-page tables are not obtained.
[0204] In the case that the network device does not have the second page table, step 1305 is performed.
[0205] In the case that the network device has the second page table, step 1304 is performed.
[0206] 1304. The network device adds the second page of the table to the message sent to the computer device.
[0207] 1305. The network device sends the message to the computer device.
[0208] In the embodiments of this application, when the network device receives a message from the computer device requesting the acquisition of a third target value, it can ensure that the computer device can quickly acquire the third target value even if it does not have the same page table as the network device. This supports static operation, ensures normal operation, and improves the reliability of the solution.
[0209] After receiving the second page table sent by the network device, the computer device updates its own first page table with the received second page table; or, after receiving m second target subpage tables sent by the network device, the computer device updates its own m first target subpage tables with m second target subpage tables. For ease of understanding, the following will continue with... Figure 12 Taking steps 1207 and 1208 as examples, the explanation is as follows:
[0210] 1207. The computer device determines whether it has received m second target subpage tables.
[0211] If the computer device receives m second target subpage tables, execute 1208.
[0212] If the computer device does not receive m second target subpage tables, execute 1209.
[0213] 1208. The computer device updates m first target subpage tables to m second target subpage tables.
[0214] This section only uses Figure 12 For example, to illustrate how a computer device updates a page table different from that of a network device to the same page table, it's possible that the computer device itself may not have a page table, and it might obtain a second page table from the network device or all n subpage tables currently possessed by the network device (including the unupdated subpage tables and the updated m second target subpage tables). This is understandable. Figure 12 This does not impose any substantial limitations on the embodiments of this application.
[0215] In a possible implementation, after the network device sends the second page table to the computer device, in the case where the computer device obtains the second key value, the network device receives an actual address of a second key-value pair sent by the computer device, the actual address of the second key-value pair being determined by the computer device according to the second page table on the computer device, and then the network device obtains the second target value according to the actual address of the second key-value pair. The specific implementation manner in which the computer device can perform a static operation according to the second page table after receiving the second page table further ensures that the scheme supports dynamic operation and static operation. The specific implementation steps are as shown in steps 207, 208, 209, and 210:
[0216] 207. The computer device determines an actual address of a second key-value pair according to the second page table.
[0217] In the case where the computer device obtains the second key value (for example, a lookup operation on the second key value is performed by the computer device from a user or another device or instrument or software, and it can be understood that there are various specific manners in which the computer device obtains the second key value, which are not limited herein), the computer device determines an actual address of a second key-value pair according to the second page table, where the second key-value pair includes the second key value and a second target value corresponding to the second key value.
[0218] In a possible implementation, the computer device obtains m second target sub-page tables from the network device, and the computer device determines an actual address of a second key-value pair according to the m second target sub-page tables. The specific implementation process is similar to that described above, and is not described herein again. Figure 11
[0219] 208. The computer device sends the actual address of the second key-value pair to the network device.
[0220] The computer device sends the actual address of the second key-value pair to the network device.
[0221] 209. The network device obtains the second target value according to the actual address of the second key-value pair.
[0222] After the network device receives the actual address of the second key-value pair sent by the computer device, the network device obtains the second target value according to the actual address of the second key-value pair.
[0223] 210. The network device sends the second target value to the computer device.
[0224] The network device sends the second target value to the computer device.
[0225] It should be noted that the specific implementation processes of steps 208, 209, and 210 are similar to those described above. Figure 11 Step 1105 in the method 1100 is similar to step 1105 in the method 1100, and details are not repeated here.
[0226] It should be noted that the above Figure 2 For example, the application can be understood. It can be understood that the specific implementation steps and implementation manners of the application can be determined according to actual conditions, and are not limited to Figure 2 In the embodiment shown, details are not limited here.
[0227] In the embodiment of the application, the computer device sends the first key-value pair to the network device, the network device updates the first page table according to the first key-value pair after receiving the first key-value pair, obtains the second page table, and sends the second page table to the computer device, so that the computer device and the network device have the same page table. Ensure that the computer device can support dynamic operation and static operation, increase the applicable application scenarios, and improve the work efficiency. And the computer device can use RDMA single-side operation to accelerate the static operation in the remote ordered index as much as possible according to the page table, and the network device can update the page table after the dynamic operation of the first key-value pair and ensure that the computer device has the same page table, which ensures the support of dynamic operation and static operation.
[0228] It should be noted that the network device can be a cloud-side device (such as a cloud server, a cluster, etc.), a remote storage device, a server or a controller, etc. It can be understood that it can also be other data storage devices, and details are not limited here.
[0229] It should be noted that the computer device can be a personal computer, a notebook computer, a server or other devices capable of remote operation, and details are not limited here.
[0230] The beneficial effects of applying the embodiments of the application to key-value storage and database and other actual application scenarios are illustrated below.
[0231] For example, the embodiment of the present application is applied to the typical key value storage micro-benchmark YCSB, which contains dynamic operation and static operation test scenarios. YCSB-D containing a large number of insertion operations is mainly used as a test scenario. The specific request distribution is 95% read operation and 5% insertion operation. Two ways of generating key values are used, one is uniform random selection and the other is that the recently written record is the latest record. The test is performed on an RDMA cluster of 16 computer devices, each computer device has two 12-core processors, 128G memory and two RDMA network cards, one computer device is set as a server and the rest are clients. The data graphs of FIG. 14(a) and FIG. 14(b) can be obtained, FIG. 14(a) is a schematic diagram of the uniform scenario test data provided by the embodiment of the present application, and FIG. 14(b) is a schematic diagram of the latest scenario test data provided by the embodiment of the present application.
[0232] Wherein, DrTM-tree is the current typical key value storage based on RDMA bilateral operation, cell is the typical key value storage based on RDMA unilateral operation, the traditional index cache is used, optimal is the intelligent cache that the B+ tree is completely cached in the client. And times represent the moment, and throughput represents the data throughput. As can be seen from FIG. 14(a) and FIG. 14(b), the data throughput of the embodiment of the present application is 2.7-3.5 times and 1.9-3.2 times more than that of other ways in two scenarios respectively, and a relatively stable performance can be obtained, which indicates that the embodiment of the present application can complete static operation and dynamic operation faster and more stably. Compared with the uniform scenario, the performance fluctuation of the embodiment of the present application is more in the latest scenario, because in the uniform scenario, the key values searched by the client are randomly selected from the key value pairs of the server, while in the latest scenario, the key values searched by the client are selected from the latest inserted key values, so the key values searched by the client may be the key values corresponding to the page table that need to be updated, which has a certain impact on the test. However, compared with other schemes, the embodiment of the present application can still obtain a relatively stable high performance.
[0233] For example, the embodiment of the present application is applied to the typical on-line transaction processing (OLTP) database scenario database test benchmark TPC-C, which includes complex database operations such as secondary index lookup, which can be accelerated by the embodiment of the present application. Please refer to Figure 15 , Figure 15 a schematic diagram of the TPC-C scenario test data provided by the embodiment of the present application.
[0234] DrTM+H indicates that DrTM+tree is used to support secondary index, and DrTM+tree cannot support RDMA single-side operation for acceleration, DrTM+X indicates that the embodiment of the application is used to support secondary index, throughput per machine indicates the data throughput of each device, the unit of which is K reqs / s, which indicates 1000 reqs per second, and the median latency indicates the latency, the unit of which is millisecond (ms). From Figure 15 It can be seen that under the same conditions, the throughput is proportional to the latency, but it can be seen that the throughput of DrTM+X is more than that of DrTM+H, but the latency is shorter, and the DrTM+X can obtain about 2.3 times performance improvement compared with DrTM+H, and the embodiment of the application can also support dynamic operation, further solving the influence of dynamic operation on secondary index.
[0235] In this scenario, the dynamic intelligent cache divided into the first model and the n bottom models is used in the embodiment of the application. When different machine learning models are used as the first model, the performance of the embodiment of the application in this scenario is different. Taking linear regression and multivariate linear regression as the first model as an example, please refer to Figure 16 , Figure 16 The first model provided by the embodiment of the application is a schematic diagram of test data of different learning models. Wherein, LR indicates linear regression, MLR indicates multivariate linear regression, median latency indicates latency, the unit of which is microsecond (us), throughput is throughput, the unit of which is M reqs / s, which indicates 1000000 reqs per second. From Figure 16 It can be seen that multivariate linear regression as the first model can obtain about 4.1 times performance improvement compared with linear regression. Therefore, it can be concluded that the machine learning model with strong generalization ability is selected as the first model as much as possible, which can efficiently improve the work efficiency.
[0236] From the above examples of applying the embodiment of the application to actual scenarios, it can be seen that the embodiment of the application can efficiently support static operation, support dynamic operation while ensuring stable performance, efficiently provide work efficiency, and be suitable for various application scenarios.
[0237] In order to realize each function in the method provided by the embodiment of the application, the network device and the computer device can include hardware structure and / or software module, and realize the above-mentioned functions in the form of hardware structure, software module, or hardware structure plus software module. Whether a certain function in the above-mentioned functions is executed in the form of hardware structure, software module, or hardware structure plus software module depends on the specific application and design constraint conditions of the technical scheme.
[0238] AsFigure 17 As shown in the illustration, this application also provides a network device 1700. Please refer to the following for details. Figure 17 , Figure 17 This is a schematic diagram of a network device provided in an embodiment of this application. The network device 1700 can be a cloud-side device (e.g., a cloud server, cluster, etc.), a remote storage device, a server, or a controller. In one possible implementation, the network device 1700 may include modules or units corresponding to the methods / operations / steps / actions performed by the network device in the above method embodiments. These units can be hardware circuits, software, or a combination of hardware circuits and software. In one possible implementation, the network device 1700 may include a receiving unit 1701, an updating unit 1702, and a sending unit 1703. The receiving unit 1701 can be used to perform the step of receiving a first key-value pair sent by a computer device as in the above method embodiments. The updating unit 1702 can be used to perform the step of updating a first page table based on the first key-value pair to obtain a second page table as in the above method embodiments. The sending unit 1703 can be used to perform the step of sending the second page table to the computer device as in the above method embodiments.
[0239] In another possible implementation, the receiving unit 1701 can also be used to receive the actual address of the second key-value pair sent by the computer device when the computer device obtains the second key value. The network device 1700 can also include an acquisition unit 1704, which can be used to acquire the second target value according to the actual address of the second key-value pair. The sending unit can also be used to acquire the second target value according to the actual address of the second key-value pair.
[0240] In other possible designs, the receiving unit 1701, updating unit 1702, sending unit 1703, or obtaining unit 1704 can execute the methods / operations / steps / actions in various possible implementations of the above method embodiments one by one.
[0241] In one possible design, the receiving unit 1701 can also be used to receive a first notification message sent by a computer device in the above method embodiment.
[0242] In one possible design, the receiving unit 1701 can also be used to receive a message sent by the computer device in the above method embodiment, indicating that the computer device is retrieving the second page table.
[0243] In one possible design, the receiving unit 1701 can also be used to receive a message sent by a computer device in the above method embodiment to obtain a third target value.
[0244] In a possible design, the updating unit 1702 can be configured to determine m first target sub-page tables from the n sub-page tables according to the first key-value pair when the first page table comprises n sub-page tables, n > m > 1, and update the m first target sub-page tables to obtain m second target sub-page tables after updating.
[0245] In a possible design, the updating unit 1702 can be configured to perform a deletion operation on the first key-value pair to obtain an actual address of the updated key-value pair, and update the first page table according to the actual address of the updated key-value pair to obtain the second page table.
[0246] In a possible design, the updating unit 1702 can be configured to perform an insertion operation on the first key-value pair to obtain an actual address of the updated key-value pair, and update the first page table according to the actual address of the updated key-value pair to obtain the second page table.
[0247] In a possible design, the sending unit 1703 can be further configured to send the first version information to the computer device.
[0248] In a possible design, the sending unit 1703 can be further configured to send the third target value to the computer device.
[0249] In a possible design, the sending unit 1703 can be configured to send the m second target sub-page tables to the computer device.
[0250] In a possible design, the obtaining unit 1704 can be further configured to obtain the third target value.
[0251] The advantages of the network device with the various designs described in the present application are described in the foregoing Figure 2 The advantages of the network device with the various designs described in the present application are described in the foregoing
[0252] It should be noted that Figure 17 The information interaction and execution process between the modules / units in the network device corresponding to the embodiments are based on the same concept as the method embodiments of the present application, and the specific content can be referred to the description of the method embodiments of the present application, which will not be repeated here. Figure 2
[0253] In addition, each functional module or unit in each embodiment of the present application can be integrated in one processor, or can be physically separated, or two or more modules or units can be integrated in one module or unit. The integrated module or unit can be implemented in the form of hardware or in the form of a software functional module.
[0254] AsFigure 18 As shown in FIG. 18, the embodiments of the present application further provide a computer device 1800. For details, refer to Figure 18 , Figure 18 FIG. 18 is a structural schematic diagram of the computer device provided by the embodiments of the present application. The computer device 1800 can be a personal computer, a notebook computer, a server or other device capable of remote operation. In a possible implementation, the computer device 1800 can include modules or units corresponding to the methods / operations / steps / actions performed by the computer device in the above method embodiments. The units can be hardware circuits, software or a combination of hardware circuits and software. In a possible implementation, the computer device 1800 can include a sending unit 1801 and an obtaining unit 1802. The sending unit 1801 can be configured to perform the step of sending the first key-value pair to the network device in the above method embodiments. The obtaining unit 1802 can be configured to perform the step of obtaining the second page table from the network device in the above method embodiments.
[0255] In another possible implementation, the receiving unit 1701 further includes a determining unit 1803 and a receiving unit 1804. The determining unit 1803 can be configured to determine the actual address of the second key-value pair according to the second page table when the computer device obtains the second key value. The receiving unit 1804 can be configured to receive the first version information sent by the network device.
[0256] In other possible designs, the sending unit 1801, the obtaining unit 1802, the determining unit 1803 or the receiving unit 1804 can correspondingly perform the methods / operations / steps / actions in various possible implementation manners in the above method embodiments.
[0257] In a possible design, the sending unit 1801 is further configured to send a first notification message to the network device. The first notification message is used to notify the network device to obtain the first version information.
[0258] In a possible design, the sending unit 1801 is further configured to send a message for obtaining the third target value to the network device.
[0259] In a possible design, the obtaining unit 1802 is further configured to obtain the second target value from the network device according to the actual address of the second key-value pair.
[0260] In a possible design, the obtaining unit 1802 is further configured to obtain the second page table from the network device.
[0261] In a possible design, the obtaining unit 1802 can be configured to obtain m first target sub-page tables from the network device when the first page table includes n sub-page tables.
[0262] In one possible design, the receiving unit 1804 is also used to receive a third target value sent by the network device.
[0263] Please refer to the above description for the beneficial effects of the various computer devices designed in this application. Figure 2 The beneficial effects of the various implementation methods corresponding to each other in the Chinese method embodiments will not be elaborated here.
[0264] It should be noted that, Figure 18 The information interaction and execution process between modules / units in the network device of the corresponding embodiment are different from those in this application. Figure 2 The corresponding method embodiments are based on the same concept, and the details can be found in the descriptions of the method embodiments shown above in this application, which will not be repeated here.
[0265] Furthermore, the functional modules or units in the various embodiments of this application can be integrated into a single processor, exist as separate physical entities, or be integrated into a single module or unit. The integrated modules or units described above can be implemented in hardware or as software functional modules.
[0266] The following describes a communication device provided in an embodiment of this application. Please refer to [link / reference]. Figure 19 , Figure 19 This is a schematic diagram of a communication device provided in an embodiment of this application. The communication device 1900 may be equipped with... Figure 17 or Figure 18 The module described in the corresponding embodiment is used to implement Figure 17 The functions of the network device in the corresponding embodiment, or for implementing Figure 18 In relation to the functions of the computer device in the corresponding embodiment, specifically, the communication device 1900 is implemented by one or more servers. The communication device 1900 can vary significantly due to different configurations or performance, and may include one or more central processing units (CPUs) 1922 (e.g., one or more CPUs) and a memory 1932, and one or more storage media 1930 (e.g., one or more mass storage devices). The memory 1932 and storage media 1930 can be temporary or persistent storage. The program stored in the storage media 1930 may include one or more modules (not shown in the figure), each module may include a series of instruction operations on the communication device 1900. Furthermore, the CPU 1922 may be configured to communicate with the storage media 1930 and execute the series of instruction operations in the storage media 1930 on the communication device 1900.
[0267] The communication device 1900 can also include one or more power supplies 1926, one or more wired or wireless network interfaces 1950, and / or one or more input / output interfaces 1958.
[0268] In an embodiment of the present application, the central processor 1922 is configured to perform the method of the corresponding embodiment. For example, the central processor 1922 can be configured to: receive the first key-value pair sent by the computer device, update the first page table based on the first key-value pair to obtain a second page table, and send the second page table to the computer device, so that the computer device and the network device have the same page table. Or the central processor 1922 can be configured to: send the first key-value pair to the network device, and then obtain the second page table from the network device, wherein the second page table is obtained by the network device based on the first key-value pair updating the first page table. Figure 2
[0269] It should be noted that the central processor 1922 can also be configured to perform any one of the steps of the corresponding method embodiment of the present application, and the specific content can be referred to the description of the method embodiment of the present application as described above, and will not be repeated here. Figure 2
[0270] The embodiment of the present application also provides a computer readable storage medium, which includes computer readable instructions, when the computer readable instructions run on a computer, the computer executes any one of the implementation manners of the method embodiment as described above.
[0271] The embodiment of the present application also provides a computer program product, which includes computer program or instructions, when the computer program or instructions run on a computer, the computer executes any one of the implementation manners of the method embodiment as described above.
[0272] The present application also provides a chip or a chip system, which can include a processor. The chip can also include a memory (or a storage module) and / or a transceiver (or a communication module), or the chip is coupled with the memory (or the storage module) and / or the transceiver (or the communication module), wherein the transceiver (or the communication module) can be used to support the chip to perform wired and / or wireless communication, the memory (or the storage module) can be used to store a program or a set of instructions, and the processor calling the program or the set of instructions can be used to implement the operations performed by the terminal or the network device in the above method embodiments, any one of the possible implementation manners of the method embodiments. The chip system can include the above chip, and can also include the above chip and other discrete devices, such as the memory (or the storage module) and / or the transceiver (or the communication module).
[0273] The application further provides a communication system, which can include the network device and the computer device described above. The communication system can be used to implement the operations performed by the network device or the computer device in the above method embodiments and any possible implementation manner of the method embodiments.
[0274] It should be further noted that the above-described apparatus embodiments are only illustrative, and units described as separate components can or can not be physically separated, and components shown as units can or can not be physical units, i.e., can be located in one place or distributed on multiple network units. Part or all of the modules can be selected to achieve the purpose of the embodiment according to actual needs. In addition, in the apparatus embodiments provided by the application, the connection relationship between the modules indicates that there is a communication connection between them, which can be implemented as one or more communication buses or signal lines.
[0275] Through the description of the above embodiments, those skilled in the art can clearly understand that the application can be implemented by means of software and the necessary general hardware, and of course, it can also be implemented by special hardware including special integrated circuits, special CPUs, special memories, special components, etc. Generally, functions completed by computer programs can be easily implemented by corresponding hardware, and specific hardware structures for implementing the same function can also be various, such as analog circuits, digital circuits or special circuits. However, for the application, software program implementation is a better embodiment. Based on this understanding, the technical solutions of the application can be embodied in the form of a software product, which is stored in a readable storage medium, such as a computer floppy disk, U disk, mobile hard disk, read-only memory (ROM), random access memory (RAM), magnetic disk or optical disk, etc., including a plurality of instructions for causing a computer device (which can be a personal computer, a training device, or a network device, etc.) to execute the methods of various embodiments of the application.
[0276] In the above embodiments, all or part can be realized by software, hardware, firmware or any combination thereof. When realized by software, it can be realized in the form of a computer program product in whole or in part.
[0277] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, the processes or functions according to the embodiments of the present application are generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions can be transmitted from one website site, computer, training device or data center to another website site, computer, training device or data center through wired (for example, coaxial cable, optical fiber, digital subscriber line) or wireless (for example, infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that the computer can store or be integrated into a training device, a data center, etc. Data storage devices including one or more available media sets. The available media can be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a high-density digital video disc (digital video disc, DVD)), or a semiconductor medium (for example, a solid state drive (solid state drive, SSD)), etc.
Claims
1. A method for data processing based on intelligent indexing, characterized in that, The method comprises the following steps: A network device receives a first key-value pair sent by a computer device, the first key-value pair comprising a first key value and a first target value corresponding to the first key value; The network device updates a first page table based on the first key-value pair to obtain a second page table, wherein the page table is used to represent the correspondence between the key-value pair and the actual address of the key-value pair; The network device sends the second page table to the computer device, so that the computer device and the network device have the same page table; After the network device sends the second page table to the computer device, the method further comprises: When the computer device obtains a second key value, the network device receives an actual address of a second key-value pair sent by the computer device, the actual address of the second key-value pair being determined by the computer device according to a second page table on the computer device, the second key-value pair comprising the second key value and a second target value corresponding to the second key value; The network device acquires the second target value according to the actual address of the second key-value pair and sends the second target value to the computer device.
2. The method of claim 1, wherein, The page table further comprises version information of the key-value pair, and before the network device sends the second page table to the computer device, the method further comprises: The network device receives a first notification message sent by the computer device, the first notification message being used to instruct the network device to acquire first version information, the first version information being version information corresponding to a third key-value pair on the network device; The network device sends the first version information to the computer device; When the first version information is inconsistent with second version information, the network device receives a message sent by the computer device that the computer device acquires the second page table, the second version information being version information corresponding to the third key-value pair in the page table on the computer device.
3. The method of claim 2, wherein, The method further comprises: The network device receives a message sent by the computer device to acquire a third target value, the third target value being a target value corresponding to a third key value included in the third key-value pair; The network device acquires the third target value and sends the third target value to the computer device.
4. The method according to any one of claims 1 to 3, characterized in that, The first page table comprises n sub-page tables, and the network device updates the first page table based on the first key-value pair to obtain a second page table, which comprises: The network device determines m first target sub-page tables from the n sub-page tables according to the first key-value pair, n≥m≥1; The network device updates the m first target sub-page tables to obtain m second target sub-page tables after the update; The network device sends the m second target sub-page tables to the computer device. The network device updates the first page table based on the first key-value pair to obtain a second page table, which comprises:
5. The method according to any one of claims 1-3, characterized in that, The network device performs a deletion operation on the first key-value pair to obtain the actual address of the key-value pair after the update; The network device updates the first page table according to the actual address of the updated key-value pair to obtain the second page table.
6. The method according to any one of claims 1-3, characterized in that, The network device updates the first page table based on the first key-value pair to obtain the second page table, including: The network device performs an insertion operation on the first key-value pair to obtain the actual address of the updated key-value pair; The network device updates the first page table according to the actual address of the updated key-value pair to obtain the second page table.
7. A data processing method based on intelligent indexing, characterized by, Including: The computer device sends a first key-value pair to the network device, the first key-value pair including a first key value and a first target value corresponding to the first key value; The computer device obtains a second page table from the network device, the second page table being obtained by the network device updating a first page table based on the first key-value pair, wherein the page table is used to represent the correspondence between the key-value pair and the actual address of the key-value pair; After the computer device obtains the second page table from the network device, the method further includes: In the case that the computer device obtains a second key value, the computer device determines the actual address of a second key-value pair according to the second page table, the second key-value pair including the second key value and a second target value corresponding to the second key value; The computer device obtains the second target value from the network device according to the actual address of the second key-value pair.
8. The method of claim 7, wherein, The page table further includes version information of the key-value pair, and before the computer device obtains the second page table from the network device, the method further includes: The computer device sends a first notification message to the network device, the first notification message being used to notify the network device to obtain first version information, the first version information being the version information corresponding to a third key-value pair on the network device; The computer device receives the first version information sent by the network device; The computer device obtains the second page table from the network device, including: In the case that the first version information is inconsistent with the second version information, the computer device obtains the second page table from the network device, the second version information being the version information corresponding to the third key-value pair in the page table on the computer device.
9. The method of claim 8, wherein, The method further includes: The computer device sends a message to the network device to obtain a third target value, the third target value being the target value corresponding to a third key value included in the third key-value pair; The computer device receives the third target value sent by the network device.
10. The method according to any one of claims 7-9, characterized in that, The first page table includes n sub-page tables, and the computer device obtains the second page table from the network device, including: The computer device obtains m first target sub-page tables from the network device, the m first sub-page tables being obtained by the network device updating m second target sub-page tables, wherein the m second target sub-page tables are determined by the network device from the n sub-page tables according to the first key-value pair, n≥m≥1.
11. A network device, comprising: Including: The receiving unit is configured to receive a first key-value pair sent by the computer device, the first key-value pair comprising a first key value and a first target value corresponding to the first key value; The updating unit is configured to update a first page table based on the first key-value pair to obtain a second page table, wherein the page table is used to represent a correspondence between a key-value pair and an actual address of the key-value pair; The sending unit is configured to send the second page table to the computer device, so that the computer device and the network device have the same page table; The receiving unit is further configured to, in a case where the computer device obtains a second key value, receive an actual address of a second key-value pair sent by the computer device, the actual address of the second key-value pair being determined by the computer device according to a second page table on the computer device, the second key-value pair comprising the second key value and a second target value corresponding to the second key value; The network device further comprises: The obtaining unit is configured to obtain the second target value according to the actual address of the second key-value pair; The sending unit is further configured to send the second target value to the computer device.
12. The network device of claim 11, wherein, The page table further comprises version information of the key-value pair, and the receiving unit is further configured to receive a first notification message sent by the computer device, the first notification message being used to instruct the network device to obtain first version information, the first version information being version information corresponding to a third key-value pair on the network device; The sending unit is further configured to send the first version information to the computer device; The receiving unit is further configured to, in a case where the first version information is inconsistent with second version information, receive a message sent by the computer device, the message being used to instruct the computer device to obtain the second page table, the second version information being version information corresponding to the third key-value pair in a page table on the computer device.
13. The network device of claim 12, wherein, The receiving unit is further configured to receive a message sent by the computer device, the message being used to instruct the computer device to obtain a third target value, the third target value being a target value corresponding to a third key value included in the third key-value pair; The obtaining unit is further configured to obtain the third target value; The sending unit is further configured to send the third target value to the computer device.
14. The network device of any of claims 11-13, wherein, The first page table comprises n sub-page tables, and the updating unit is specifically configured to determine m first target sub-page tables from the n sub-page tables according to the first key-value pair, n≥m≥1, and update the m first target sub-page tables to obtain m second target sub-page tables after updating. The sending unit is specifically configured to send the m second target sub-page tables to the computer device.
15. The network device of any of claims 11-13, wherein, The updating unit is specifically configured to perform a deletion operation on the first key-value pair to obtain an actual address of the key-value pair after updating, and update the first page table based on the actual address of the key-value pair after updating to obtain the second page table.
16. The network device of any of claims 11-13, wherein, The updating unit is specifically configured to perform an insertion operation on the first key-value pair to obtain an actual address of an updated key-value pair, and update the first page table according to the actual address of the updated key-value pair to obtain the second page table.
17. A computer device, comprising: Comprising: a sending unit configured to send a first key-value pair to a network device, the first key-value pair comprising a first key value and a first target value corresponding to the first key value; an obtaining unit configured to obtain a second page table from the network device, the second page table being obtained by the network device based on the first key-value pair updating a first page table, wherein the page table is used to represent a correspondence between a key-value pair and an actual address of the key-value pair; The computer device further comprises: a determining unit configured to, in a case where the computer device obtains a second key value, determine an actual address of a second key-value pair according to the second page table, the second key-value pair comprising the second key value and a second target value corresponding to the second key value; The obtaining unit is further configured to obtain the second target value from the network device according to the actual address of the second key-value pair.
18. The computer device of claim 17, wherein, The page table further comprises version information of the key-value pair, and the sending unit is further configured to send a first notification message to the network device, the first notification message being used to notify that the network device obtains first version information, the first version information being version information corresponding to a third key-value pair on the network device; The computer device further comprises: a receiving unit configured to receive the first version information sent by the network device; The obtaining unit is further configured to, in a case where the first version information is inconsistent with second version information, obtain the second page table from the network device, the second version information being version information corresponding to the third key-value pair in a page table on the computer device.
19. The computer device of claim 18, wherein, The sending unit is further configured to send a message for obtaining a third target value to the network device, the third target value being a target value corresponding to a third key value included in the third key-value pair; The receiving unit is further configured to receive the third target value sent by the network device.
20. The computer device of any of claims 17-19, wherein, The first page table comprises n sub-page tables, and the obtaining unit is specifically configured to obtain m first target sub-page tables from the network device, the m first sub-page tables being obtained by the network device updating m second target sub-page tables, wherein the m second target sub-page tables are determined by the network device from the n sub-page tables according to the first key-value pair, n≥m≥1.
21. A network device, comprising: Comprising: a processor coupled to a memory, the memory storing instructions, the processor configured to execute the instructions to cause the network device to perform the method of any one of claims 1-6.
22. A computer device, comprising: Comprising: a processor coupled to a memory, the memory storing instructions, the processor configured to execute the instructions to cause the computer device to perform the method of any one of claims 7-10.
23. A computer-readable storage medium comprising computer-readable instructions, wherein, When the computer-readable instructions run on a computer, the method as claimed in any one of claims 1-10 is executed.
24. A computer program product comprising computer readable instructions, characterized in that, When the computer readable instructions are run on a computer, they cause a method as claimed in any one of claims 1-10 to be performed.
Citation Information
Patent Citations
Data processing method and device, equipment and computer readable storage medium
CN113297234A