Data processing method, product, electronic device and computer readable storage medium
By storing KV Cache data in a memory expansion device, the problems of high GPU memory usage and access latency in large language models are solved, enabling more efficient data processing.
Patent Information
- Application Number
- CN202511469579.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-15
- Publication Date
- 2026-01-27
- Estimated Expiration
- 2045-10-15
AI Technical Summary
In the process of generating tokens, the memory requirements of the KV Cache in large language models increase linearly with the sequence length, occupying a large amount of GPU space and resulting in high access latency.
By setting up a controller in the memory expansion device, the host and the memory expansion device exchange historical key-value cache data, reducing the dependence on GPU memory, and using the key-value cache of the memory expansion device to store KV cache data.
It reduces GPU memory usage and access latency, and improves data processing efficiency.
Smart Images

Figure CN120950009B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a data processing method, product, electronic device, and computer-readable storage medium. Background Technology
[0002] Large Language Models (LLMs) generate and output tokens (the smallest units of language) sequentially during text processing. Each token is derived by performing attention calculations on the key-value pairs (KV) of the previous token. Key-value caching, a crucial technique in the inference process of large language models, significantly improves token generation efficiency and reduces resource consumption by caching historical KV pairs from the attention mechanism.
[0003] However, in related technologies, the generated KV Cache is stored in the GPU (Graphics Processing Unit). As the length of the KV Cache sequence increases, the memory requirement also increases linearly, resulting in the KV Cache occupying a large amount of GPU space. Furthermore, when generating a token, historical KV Cache data needs to be repeatedly read from the GPU, increasing memory bandwidth consumption and leading to higher access latency. Summary of the Invention
[0004] This application provides a data processing method, a computer program product, an electronic device, and a computer-readable storage medium to at least solve the problems of large GPU memory space consumption and high access latency in the related art.
[0005] This application provides a data processing method applied to a controller, the controller being disposed in a memory expansion device, the method comprising:
[0006] Based on the historical key-value cache data retrieval request sent by the host, the corresponding historical key-value cache data is read from the key-value cache of the memory expansion device;
[0007] The historical key-value cache data is returned to the host, so that the host can use a local model to process the current input data based on the historical key-value cache data to obtain key-value data;
[0008] The key-value cache data corresponding to the key-value data sent by the host is obtained, and the key-value cache data is sent to the key-value cache of the memory expansion device for storage.
[0009] This application also provides a data processing method applied to a host terminal, the method comprising:
[0010] The system acquires the current input data and sends a historical key-value cache data retrieval request to the controller in the memory expansion device, so that the controller can retrieve the corresponding historical key-value cache data from the key-value data cache of the memory expansion device according to the historical key-value cache data retrieval request.
[0011] The current input data is processed by combining the local model with the historical key-value cache data returned by the controller to obtain key-value data;
[0012] The key-value cache data corresponding to the key-value data is sent to the controller, so that the controller sends the key-value cache data to the key-value cache of the memory expansion device for storage.
[0013] This application also provides a data processing apparatus for use with a controller, the controller being disposed in a memory expansion device, the apparatus comprising:
[0014] The reading module is used to read the corresponding historical key-value cache data from the key-value cache of the memory expansion device according to the historical key-value cache data retrieval request sent by the host.
[0015] The return module is used to return the historical key-value cache data to the host, so that the host can use a local model to process the current input data based on the historical key-value cache data to obtain key-value data;
[0016] The first acquisition module is used to acquire key-value cache data corresponding to the key-value data sent by the host, and send the key-value cache data to the key-value cache of the memory expansion device for storage.
[0017] This application also provides a data processing apparatus for use on a host computer, the apparatus comprising:
[0018] The second acquisition module is used to acquire the current input data and send a historical key-value cache data acquisition request to the controller in the memory expansion device, so that the controller can acquire the corresponding historical key-value cache data from the key-value data cache of the memory expansion device according to the historical key-value cache data acquisition request;
[0019] The processing module is used to process the current input data by combining the local model with the historical key-value cache data returned by the controller to obtain key-value data;
[0020] The first sending module is used to send key-value cache data corresponding to the key-value data to the controller, so that the controller sends the key-value cache data to the key-value cache of the memory expansion device for storage.
[0021] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the data processing method described above. Alternatively, executing the computer program implements the steps of the data processing method described above.
[0022] This application also provides an electronic device, including:
[0023] Memory, used to store computer programs;
[0024] A processor is configured to implement the steps of the data processing method described above when executing the computer program, or to implement the steps of the data processing method described above when executing the computer program.
[0025] This application also provides a computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the steps of the data processing method described above, or when the computer program is executed, implements the steps of the data processing method described above.
[0026] As can be seen from the above technical solution, the beneficial effects of the present invention are as follows:
[0027] This application provides a data processing method applied to a controller, which is set in a memory expansion device. The method includes: reading corresponding historical key-value cache data from the key-value cache of the memory expansion device according to a historical key-value cache data retrieval request sent by the host; returning the historical key-value cache data to the host so that the host can use a local model to process the current input data based on the historical key-value cache data to obtain key-value data; obtaining the key-value cache data corresponding to the key-value data sent by the host, and sending the key-value cache data to the key-value cache of the memory expansion device for storage.
[0028] Therefore, in this application, the memory expansion device is connected to the host. When the host processes the current input data, it can send a historical key-value cache data retrieval request to the controller in the memory expansion device. The controller retrieves the corresponding historical key-value cache data from the key-value cache of the memory expansion device based on the request and sends it to the host. The host then processes the current input data using a local model based on this historical key-value cache data to obtain new key-value data and sends the corresponding key-value cache data to the controller. The controller then sends this key-value cache data to the key-value cache of the memory expansion device for storage. In other words, the key-value cache data generated in this application is stored in the key-value cache of the memory expansion device, and historical key-value cache data is read from the key-value cache of the memory expansion device. Therefore, the occupation of GPU memory space and memory bandwidth consumption can be reduced, and access latency can be lowered.
[0029] Furthermore, the present invention also provides corresponding implementation products, electronic devices, and computer-readable storage media for the data processing method, further making the method more practical, and the products, electronic devices, and computer-readable storage media have corresponding advantages. Attached Figure Description
[0030] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0031] Figure 1 A flowchart illustrating a data processing method provided in an embodiment of this application;
[0032] Figure 2 An architecture diagram of a data processing system provided in this application embodiment;
[0033] Figure 3 This is a schematic diagram of a preset data structure provided in an embodiment of this application;
[0034] Figure 4 A data processing flowchart of a controller provided in an embodiment of this application;
[0035] Figure 5 A flowchart illustrating another data processing method provided in an embodiment of this application;
[0036] Figure 6 This is a schematic diagram of the structure of a data processing device provided in an embodiment of this application;
[0037] Figure 7 This is a schematic diagram of another data processing device provided in an embodiment of this application. Detailed Implementation
[0038] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.
[0039] It should be noted that, in the description of this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. The terms "first," "second," etc., in this application are used to distinguish similar objects and are not used to describe a specific order or sequence.
[0040] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0041] It's important to note that LLM generates and outputs tokens during text processing. Due to significant order dependencies in LLM inference—meaning the generation of subsequent tokens highly depends on the computation results of preceding tokens—LLM inference is computationally intensive and memory-intensive. In other words, LLM inference mainly consists of two core phases: the prefill phase and the decoding phase. In the prefill phase, the model processes all input tokens in parallel, using an attention mechanism to complete initial context encoding and generate the first initial output token sequence. In the decoding phase, based on the initial output token sequence generated in the prefill phase, the model infers subsequent tokens one by one in an autoregressive manner (generating only one new token at a time) until the model outputs a sequence terminator (e.g., [symbol missing]) or reaches the maximum generation length limit.
[0042] In this phased execution mode, the computational load of the pre-filling phase increases quadratically with the input length, while the computational load of the decoding phase increases linearly with the output length. However, due to the need to maintain a complete context window and the dependence on previous results, memory usage and computational latency still increase significantly with the increase of output length.
[0043] Key-value (KV) caching, a crucial technology in large language model inference, significantly improves token generation efficiency and reduces resource consumption by caching historical key-value pairs in the attention mechanism. However, the memory requirements of KV caching increase linearly with the sequence length, consuming a large amount of GPU space. Furthermore, the need to repeatedly read historical KV data during the decoding stage leads to a linear increase in memory bandwidth consumption with the number of tokens, impacting overall system performance.
[0044] Therefore, this application provides a data processing method that can reduce GPU memory usage and access latency. The following is combined with... Figure 1The flowchart shown illustrates the data processing method and introduces the technical solution. This data processing method is applied to a controller located in a memory expansion device, and the method includes steps S110 to S130.
[0045] S110: Read the corresponding historical key-value cache data from the key-value cache of the memory expansion device based on the historical key-value cache data retrieval request sent by the host.
[0046] It should be noted that during the processing of the current input data, the local model being trained or used for inference on the host machine can first send a historical key-value cache data retrieval request to the controller in the memory expansion device to obtain the historical key-value cache data required for this processing. Upon receiving the historical key-value cache data request from the host machine, the controller reads the historical key-value cache data corresponding to the request from the key-value cache of the memory expansion device connected to the host machine.
[0047] S120: Return the historical key-value cache data to the host so that the host can use the local model to process the current input data based on the historical key-value cache data to obtain the key-value data.
[0048] Understandably, after the controller reads the corresponding historical key-value cache data from the key-value cache in the memory expansion device based on the historical key-value cache data sent by the host, it returns the historical key-value cache data to the host. The host can then use the local model to process the current input data based on the received historical key-value cache data to obtain the current key-value data (i.e., K and V).
[0049] S130: Obtain the key-value cache data corresponding to the key-value data sent by the host, and send the key-value cache data to the key-value cache of the memory expansion device for storage.
[0050] In other words, after the host obtains the key-value data corresponding to the current input data, it sends a copy of the key-value data (i.e., a copy of K and a copy of V) to the controller as key-value cache data KV Cache. After receiving the key-value cache data, the controller sends the key-value cache data to the key-value cache of the memory expansion device for storage.
[0051] Since the key-value cache data generated in this application is stored in the key-value cache of the memory expansion device, it does not occupy GPU memory space, and the historical key-value cache data is read from the key-value cache of the memory expansion device for subsequent data processing, thus reducing the consumption of local memory bandwidth and reducing access latency.
[0052] It should also be noted that the local model in this application embodiment can be a large language model (LLM) trained on the host side or already trained, such as DeepSeek or Qwen large language model. Figure 2 The diagram shows the overall architecture of the data processing system. The local model includes a normalization layer, computation unit 1, computation unit 2, computation unit 3, self-attention layer, residual connection layer, another normalization layer, computation unit 4, activation function layer, expert library (including multiple expert modules), another residual connection and output mapping layer. The local model runs on the host machine. The memory expansion device includes a controller, a key-value cache, and a solid-state drive. Input data is input to the first normalization layer of the local model for normalization, and then input to computation units 1, 2, and 3. Each computation unit processes the input data based on historical key-value cache data to obtain data Q, K, and V. Computation units 2 and 3 send copies of K and V as key-value cache data to the controller in the memory expansion device, and the controller sends the key-value cache data to the key-value cache for storage. On the other hand, they output K and V to the self-attention layer. The self-attention layer performs self-attention calculation based on Q sent by computation unit 1, K sent by computation unit 2, and V sent by computation unit 3, and sends the self-attention calculation result to the residual connection layer for residual connection processing. Then, the data after residual connection is output to the next normalization layer, and after being processed sequentially by subsequent computation unit 4, activation function, expert library, the next residual connection, and output mapping layer, the smallest language unit Token is obtained. It should be noted that the embodiments in this application are improvements on how to store key-value cache data generated by the local model and how to read historical key-value cache data, and do not limit how the local model obtains key-values or how it processes data to obtain tokens.
[0053] In one embodiment, the method may further include:
[0054] Obtain model status data sent by the host. The model status data is generated by the local model during the processing of the current input data.
[0055] The model state data is sent to the solid-state drive of the memory expansion device for storage.
[0056] It should also be noted that in practical applications, if the local model is in the training phase, it will generate model state data while processing the current input data. This model state data includes intermediate parameter data and model checkpoint data. The local machine will also send this model state data to the controller. After receiving the model state data from the host machine, the controller will store the model state data in the solid-state drive of the memory expansion device (e.g., SSD). Figure 2 The data is stored in the host computer (as shown). In one embodiment, the controller is a high-speed computing link controller, and a high-speed computing link communication connection is established between the high-speed computing link controller and the host computer.
[0057] It is understood that, in order to further reduce access latency in this embodiment of the application, the controller adopts a Compute Express Link (CXL) controller, which establishes a CXL communication connection with the host.
[0058] It should be noted that, in practical applications, the storage portion of the key-value cache in this embodiment may include two layers: a near-memory layer and a far-memory layer. The near-memory layer may include a key-value cache, also known as a KV cache, which can be DRAM (Dynamic Random Access Memory) or persistent memory connected to a memory expansion device via a DIMM (Dual Inline Memory Modules) interface to store hot data (KV Cache). The key-value cache can be connected to the host via the CXL controller through the CXL.meme protocol. The latency of a single read / write operation of this key-value cache is close to that of the host's local memory. Since the computational load can be reduced in this application, the overall latency can be reduced.
[0059] The remote storage layer can include low-power SSDs (Solid State Disks), NVMe devices (NonVolatile Memory Host Controller Interface Specifications), or tape libraries, etc., to store cold data (such as checkpoints and datasets). This remote storage layer can connect to the CXL controller via the CXL.io protocol and can support massive, low-cost storage (expansion from TB to PB levels).
[0060] In one implementation, during data transmission between the high-speed computing link controller and the host, the high-speed computing link's flow control unit uses a preset data format, wherein the total effective data size in the preset data format is not less than the size of a single key-value cache data.
[0061] It should be noted that because CXL's traditional Flit (Flow Control Unit) is of fixed size, meaning the effective data in each Flit is fixed (e.g., Header 2B, CRC 6B, FEC 6B, effective data 236B), taking large language models like DeepSeek-AWQ and Qwen3 as examples, DeepSeek adds a KVCache of 1152B per token per layer. Therefore, one KVCache (1152B) requires 5 Flits. Of these, 4 x 236 = 944, leaving 208B for the fifth Flit. However, Qwen3 adds 2048B of KV Cache per token per layer. One KV Cache requires 9 Flits. Of these, 8 x 236 = 1888, and the remaining 160B requires the 9th Flit. For different types of large language models, when the update amount of a single KV Cache cannot be divided by the Flit capacity, additional data packets need to be filled. Especially in large-scale multi-task scenarios (such as processing hundreds of inference requests at the same time), the amount of computation will increase, and the accumulation of invalid data will exacerbate congestion and affect the effective bandwidth.
[0062] In this embodiment of the application, in order to further improve the effective bandwidth, the 256B flit of the CXL standard has been improved so that the improved flit is a preset data format. The total effective data size in the preset data format is not less than the size of the key-value cache data generated by the local model in a single transaction, so that the total effective payload of the flit matches the data size of the model in the KV Cache acceleration scenario.
[0063] In one implementation, the preset data format includes a core layer and an extension layer. The core layer includes a fixed header area, a main data area, and a first tail check area. The extension layer includes an extended data area, a reserved bit area, and a second tail check area.
[0064] Understandably, please refer to Figure 3 The preset data format of `flit` in this embodiment may include a core layer and an extension layer. The core layer includes a fixed header area, a main data area, and a first tail check area. For example, the fixed header area can be 4 bytes in size, and the main data area can be a 1152-byte payload. For a large language model with a single KV Cache data size of 1152 bytes, it can support the transmission of complete KV Cache data in a single transmission. The first tail check area includes a first check module (FEC) and a first forward error correction code (CRC). For example, the size of the first check module (FEC) can be 6 bytes, and the size of the first forward error correction code (CRC) can be 6 bytes.
[0065] Since the size of a single KV Cache data in some types of large language models can exceed 1152B, the preset data format of `flit` in this embodiment also includes an extension layer. This extension layer includes an extended data area, a reserved bit area, and a second tail check area. The payload of the extended data area can be determined based on the type of large language model with the largest single KV Cache data size. The difference between the single KV Cache data size of the type of large language model with the largest single KV Cache data size and the size of the main data area in the core layer can be used as the payload size of the extended data area. For example, for the large language model Qwen3, the single KV Cache data size is 2048, therefore, the payload size of the extended data area in the extension layer can be 896B. For example, the reserved bit area of the extension layer can be 4B. The second tail check area can include a second check module (FEC) and a second forward error correction code (CRC). The size of the second check module (FEC) can be 6B, and the size of the second forward error correction code (CRC) can be 6B.
[0066] It should be noted that when the required KV cache size exceeds 1152B (e.g., 2KB in Qwen3), seamless expansion can be achieved by adding an 896B incremental block. The CXL Flit data format in this embodiment enhances flexibility and scalability while retaining core functionality. By optimizing the header structure and payload configuration, it can better adapt to diverse transmission scenarios. The Flit format can be divided into a header (Hdr), data payload (Data), and a checksum field (CRC), with a newly added reserved field (RSV). The fixed header area of Flit is extended to 4B, thus carrying richer control information. The total effective data payload is larger, supporting configurations of multiple models such as 1152B and 2048B. While accommodating high-frequency transmission with small granularity, it can also support the efficient handling of large data blocks. Furthermore, the preset data format in this application embeds a 4B reserved Rsv field, reserving space for control management and protocol expansion. For example, protocol-related information can be written into this reserved field when needed.
[0067] In one embodiment, the process of obtaining the key-value cache data corresponding to the key-value data sent by the host in S130 and sending the key-value cache data to the key-value cache of the memory expansion device for storage may include:
[0068] Retrieve the key-value cache data corresponding to the key-value data sent by the host;
[0069] The fixed header area of the key-value cache data is parsed to obtain the first fixed header data after parsing.
[0070] Based on the identification information in the first fixed header data, determine whether the total effective data size of the key-value cache data exceeds the size of the main data area;
[0071] If the limit is not exceeded, the first valid key-value cache data in the main data area of the key-value cache data is obtained, and the first valid key-value cache data is verified.
[0072] If the verification passes, the first valid key-value cache data is determined as the final key-value cache data, and the final key-value cache data is sent to the key-value cache of the memory expansion device for storage.
[0073] If the limit is exceeded, then retrieve the first valid key-value cache data from the main data area and the second valid key-value cache data from the extended data area.
[0074] The first valid key-value cache data and the second valid key-value cache data are integrated to obtain the final key-value cache data, which is then sent to the key-value cache of the memory expansion device for storage.
[0075] It is understood that, after obtaining the key-value cache data, the host in this application embodiment can convert the key-value cache data into the preset data format of the flit, and add identification information in the fixed header area according to the actual data situation. After receiving the key-value cache data sent by the host, the CXL controller can first parse the fixed header area of the key-value cache data to obtain the parsed first fixed header data. The first fixed header data includes identification information. Based on the identification information, it can be determined whether the total valid data size of the key-value cache data exceeds the size of the main data area. If the total valid data size of the key-value cache data does not exceed the size of the main data area, it means that there is no key-value cache data in the extension layer, and all the key-value cache data is in the main data area of the core layer. Therefore, the first valid key-value cache data can be directly obtained from the main data area of the obtained key-value cache data, and the first valid key-value cache data is verified according to the data of the first tail check area of the core layer. After successful verification, the first valid key-value cache data is determined to be the final key-value cache data, and the final key-value cache data is sent to the key-value cache of the memory extension device for storage, thereby completing the reception and storage of the key-value cache data sent by the host.
[0076] If the total valid data size of the key-value cache exceeds the size of the main data area of the core layer, it indicates that the key-value cache data exists not only in the main data area of the core layer but also in the extended data area of the extended layer. Therefore, the first valid key-value cache data in the main data area and the second valid key-value cache data in the extended data area can be obtained. After obtaining the first valid key-value cache data in the main data area, it can be verified according to the first tail checksum. If the verification is successful, the second valid key-value cache data in the extended data area of the extended layer can be obtained. Then, the first and second valid key-value cache data are integrated (i.e., the two parts are merged) to obtain the final key-value cache data. This final key-value cache data is then sent to the key-value cache of the memory extension device for storage, thus completing the reception and storage of the key-value cache data sent by the host.
[0077] In one embodiment, the above-mentioned sending of model state data to the solid-state drive of the memory expansion device for storage includes:
[0078] The fixed header region of the model state data is parsed to obtain the parsed second fixed header data.
[0079] Based on the identification information of the second fixed header data, determine whether the total effective data size of the model state data exceeds the size of the main data area;
[0080] If the data does not exceed the limit, the first valid model state data in the main data area of the model state data is obtained, and the first valid model state data is verified.
[0081] If the verification passes, the first valid model state data is determined as the final model state data and sent to the solid-state drive of the memory expansion device for storage.
[0082] If the data exceeds the limit, then obtain the first valid model state data from the main data area of the model state data and the second valid model state data from the extended area.
[0083] The first and second valid model state data are integrated to obtain the final model state data, which is then sent to the solid-state drive of the memory expansion device for storage.
[0084] Understandably, for the model state data acquired by the controller, the fixed header area of the model state data is also parsed to obtain the parsed second fixed header data corresponding to the model state data. Then, based on the identification information of the second fixed header data, it is determined whether the total effective data size of the model state data exceeds the size of the main data area. If it does not exceed the size, the first effective model state data of the main data area of the model state data is acquired and verified. If the verification passes, the first effective model state data is determined as the final model state data and sent to the solid-state drive of the memory expansion device for storage. If it exceeds the size, the first effective model state data of the main data area and the second effective model state data of the extended data area are acquired. The first effective model state data and the second effective model state data are integrated to obtain the final model state data and sent to the solid-state drive of the memory expansion device for storage.
[0085] That is, such as Figure 4 The diagram shows the process flow of the controller in processing data. After receiving a data packet, the controller parses the data packet, obtains the final data packet from the core layer and the extension layer based on the fixed header data, and sends the data packet to the key-value cache for storage or to the solid-state drive for storage. The data packet is either a key-value cache data packet or a model state data packet.
[0086] In one implementation, the identification information in this application embodiment may include an extension layer occupancy identifier.
[0087] Therefore, the process of determining whether the total effective data size of the key-value cache data exceeds the size of the main data area based on the identification information in the first fixed header data may include:
[0088] Identify the extended layer occupancy identifier in the identification information of the first fixed header data;
[0089] If the extension layer is marked as occupied, it is determined that the total effective data size of the key-value cache exceeds the size of the main data area;
[0090] If the extension layer is marked as unoccupied, it is determined that the total effective data size of the key-value cache data does not exceed the size of the main data area.
[0091] It should be noted that the identification information in this embodiment may include an extension layer occupancy identifier. The controller can determine whether the extension layer is occupied by the value of the extension layer occupancy identifier in the identification information of the first fixed header data. The extension layer occupancy identifier can be a numerical value, and different values can be pre-set to correspond to different extension layer occupancy situations. Therefore, the controller can determine whether the extension layer is occupied by identifying the value of the extension layer occupancy identifier. For example, the extension layer occupancy identifier can be 0 or 1. An extension layer occupancy identifier of 0 indicates that the extension layer is not occupied, and an extension layer occupancy identifier of 0 indicates that the extension layer is occupied. If it is determined that the extension layer is occupied, it can be determined that the total effective data size of the key-value cache data exceeds the size of the main data area. In this case, the first effective key-value cache data can be obtained from the main data area, and the second effective key-value cache data can be obtained from the extension data area. If it is determined that the extension layer is not occupied, it can be determined that the total effective data size of the key-value cache data does not exceed the size of the main data area. Only the first effective key-value cache data can be obtained from the main data area, thereby improving data transmission efficiency.
[0092] In one implementation, the identification information in this application embodiment may include, in addition to the extension layer occupancy identifier, at least one of the following: a flag indicating whether retransmission is required if verification fails, a flag indicating whether a new process should be established after retransmission, a flag indicating whether the extension layer has undergone verification, and a flag indicating that data transmission is complete. The controller can determine the retransmission mechanism, verification mechanism, etc., for data packets (key-value cache data packets or model state data packets) by recognizing various identification information in the fixed header data.
[0093] In one implementation, after validating the first valid key-value cache data as described above, the method may further include:
[0094] If the verification fails, whether to retransmit is determined based on the retransmission flag in the identification information.
[0095] If a retransmission is determined, a retransmission request is returned to the host so that the host can resend the key-value cache data based on the retransmission request;
[0096] Based on the retransmission flag in the identification information, determine whether to establish a new process. If so, establish a new process and obtain the key-value cache data resent by the host through the new process.
[0097] It should be noted that in practical applications, if the validation fails after verifying the first valid key-value cache data, the system can further determine whether data retransmission is necessary based on the "Retransmission if Validation Failed" flag in the identifier information. Alternatively, the system can obtain the value of the "Retransmission if Validation Failed" flag and determine whether data retransmission is required based on the correspondence between the value and retransmission status. For example, the value of the "Retransmission if Validation Failed" flag can be preset to 0 or 1. A value of 0 indicates validation failure and no retransmission is needed, while a value of 1 indicates validation failure and retransmission is required. Therefore, the controller can determine whether data retransmission is necessary based on the value of the "Retransmission if Validation Failed" flag. If the value of the flag indicating whether to retransmit after a failed verification is 0, it means that no retransmission is needed if the verification fails. If the value of the flag indicating whether to retransmit after a failed verification is 1, it means that data retransmission is required if the verification fails. In this case, a retransmission request can be returned to the host so that the host can resend the key-value cache data based on the retransmission request.
[0098] In addition, when retransmission is determined, the system can further identify whether a new process needs to be established in the retransmission information. Based on this retransmission process establishment flag, it can determine whether a new process needs to be established for data retransmission. The value of the retransmission process establishment flag and the corresponding results for different values can be preset. For example, it can be preset that when the value of the retransmission process establishment flag is 0, it means that a new process needs to be established when retransmission is determined, and when the value of the retransmission process establishment flag is 1, it means that a new process does not need to be established when retransmission is determined. Of course, it can also be reversed. The specific determination can be made according to the actual situation.
[0099] In this embodiment, the example given is that "when the value of the retransmission process establishment flag is 0, it indicates that a new process needs to be established if retransmission is determined; when the value of the retransmission process establishment flag is 1, it indicates that a new process does not need to be established if retransmission is determined." In other words, if the value of the retransmission process establishment flag is 0, it means that no new process needs to be established, and the original process can be used to obtain the key-value cache data resent by the host. If the value of the retransmission process establishment flag is 1, it means that a new process needs to be established. In this case, a new process can be established, and the key-value cache data resent by the host can be obtained through this new process, improving data transmission efficiency.
[0100] It should be noted that the embodiments of this application use key-value cache data as an example for illustration. Of course, for other types of data, such as model state data, the various tags in the corresponding identification information can also be read and the corresponding operations determined according to the method in the embodiments of this application.
[0101] In one implementation, after verifying the first valid model state data, the method may further include:
[0102] If the verification fails, the system determines whether to retransmit the model status data based on the verification failure retransmission flag in the identifier information of the second fixed header data. If retransmission is determined, a model status data retransmission request is returned to the host so that the host can resend the key-value cache data based on the model status data retransmission request. The controller further determines whether a new process needs to be established during retransmission based on the retransmission new process flag in the identifier information of the second fixed header data. If a new process needs to be established, a new process is established, and the model status data retransmitted by the host is obtained through the new process.
[0103] In one embodiment, before integrating the first valid key-value cache data and the second valid key-value cache data to obtain the final key-value cache data, the method may further include:
[0104] Based on whether the extended layer is checked in the identification information, determine whether the data in the extended data area needs to be checked;
[0105] In the case of verifying the data in the extended data area, the second valid key-value cache data is verified, and if the verification passes, the step of integrating the first valid key-value cache data and the second valid key-value cache data to obtain the final key-value cache data is executed.
[0106] If it is determined that no data verification is required in the extended data area, the step of integrating the first valid key-value cache data and the second valid key-value cache data to obtain the final key-value cache data is executed directly.
[0107] Furthermore, in this embodiment, the verification of the data in the extended data area can be determined based on the extended layer verification flag in the identification information. The value of the extended layer verification flag can be preset, with different values corresponding to different results. For example, the value of the extended layer verification flag can be preset to 0 or 1. A value of 0 indicates that verification of the data in the extended data area of the extended layer is not required, while a value of 1 indicates that verification of the data in the extended data area of the extended layer is required. Conversely, the value can also be reversed, depending on the specific circumstances.
[0108] In this embodiment, an example is given where "if the value of the extension layer verification flag is 0, it means that no verification is needed for the extension layer; if the value of the extension layer verification flag is 1, it means that verification is needed for the extension layer." If the value of the extension layer verification flag is determined to be 0, it means that no verification is needed for the data in the extension data area of the extension layer. The first valid key-value cache data and the second valid key-value cache data can be directly integrated to obtain the final key-value cache data, which is then sent to the key-value cache for storage. If the value of the extension layer verification flag is determined to be 1, it means that verification is needed for the data in the extension data area of the extension layer. In this case, the verification data in the second tail verification area can be used to verify the second valid key-value cache data. If the verification passes, the first valid key-value cache data and the second valid key-value cache data are integrated to obtain the final key-value cache data, which is then sent to the key-value cache for storage. In practical applications, the value of the extension layer verification flag can be determined according to actual needs. To improve data transmission efficiency, the extension layer can be left unverified. In this case, the value of the extension layer verification flag can be set to the value corresponding to no verification.
[0109] It should be noted that the embodiments of this application use key-value cache data as an example for illustration. Of course, for other types of data, such as model state data, the various tags in the corresponding identification information can also be read and the corresponding operations determined according to the method in the embodiments of this application.
[0110] For example, before integrating the first valid model state data and the second valid model state data to obtain the final model state data, the method may further include: determining whether to verify the data in the extended data area based on the extension layer verification flag in the identifier information of the second fixed header data; if the data in the extended data area is verified, verifying the second valid model state data using the verification data in the second tail verification area, and if the verification passes, performing the step of integrating the first valid model state data and the second valid model state data to obtain the final model state data; if it is determined that the data in the extended data area is not verified, directly performing the step of integrating the first valid model state data and the second valid model state data to obtain the final model state data.
[0111] Additionally, it should be noted that before sending data packets to the controller, the host changes the data packet format to the preset data format provided in this embodiment and sets specific values for each marker in the identifier information of the fixed header area. The values for each type of marker differ depending on the model scenario. For example, in the inference scenario, the flag indicating whether to retransmit after a failed verification can be set to a value corresponding to retransmission or not retransmission; that is, it can be 1 or 0. In this scenario, if verification fails, retransmission is possible or not, and the specific value can be preset according to the actual situation. If it is determined not to retransmit, the flag indicating whether to establish a new process after retransmission is set to a value corresponding to not establishing a new process. The flag indicating whether the extension layer is verified can also be set to a value corresponding to not verifying. The specific values can be determined according to the actual situation, and this embodiment does not impose any special limitations. For training scenarios, the flag indicating whether to retransmit after a failed validation can only be determined by the value corresponding to retransmission; that is, in this scenario, retransmission is required if validation fails. Similarly, the flag indicating whether to establish a new process after retransmission can be determined by either the value corresponding to not establishing a new process or the value corresponding to establishing a new process. The flag indicating whether to validate the extension layer can be determined by either the value corresponding to not validating or the value corresponding to validating. It should also be noted that in practical applications, the values of the flags indicating whether to retransmit after a failed validation, whether to establish a new process after retransmission, and whether to validate the extension layer can be pre-determined based on the type of the local model and the application scenario. Each time the host generates a data packet (key-value cache data or model state data), it converts the data packet to a preset data format and adds various flag values to a fixed header area according to the pre-set flag values. The host can determine the value of the data transmission completion flag based on whether the currently sent data packet is the last data packet. A data transmission completion flag value of 0 indicates that transmission is complete and it is the last data packet, while a data transmission completion flag value of 1 indicates that transmission is not complete and it is not the last data packet. Of course, other numerical values can also be used to represent different situations, which will not be elaborated here.
[0112] Based on the above embodiments, this application also provides a data processing method, please refer to... Figure 5 This method is applied to the host side and includes the following steps S210 to S230.
[0113] S210: Obtain the current input data and send a historical key-value cache data retrieval request to the controller in the memory expansion device, so that the controller can retrieve the corresponding historical key-value cache data from the key-value data cache of the memory expansion device according to the historical key-value cache data retrieval request.
[0114] S220: The current input data is processed by combining the local model with the historical key-value cache data returned by the controller to obtain key-value data.
[0115] S230: Send the key-value cache data corresponding to the key-value data to the controller so that the controller can send the key-value cache data to the key-value cache of the memory expansion device for storage.
[0116] It should be noted that the data processing method provided in this embodiment has the same beneficial effect as the data processing method provided in the above embodiments, and the specific descriptions in the above embodiments can be referred to. The embodiments of this application will not be repeated here.
[0117] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method.
[0118] Embodiments of this application also provide a data processing apparatus, please refer to... Figure 6 The data processing device is used in a controller, which is located in a memory expansion device. The device includes:
[0119] Reading module 11 is used to read the corresponding historical key-value cache data from the key-value cache of the memory expansion device according to the historical key-value cache data retrieval request sent by the host.
[0120] Return module 12 is used to return historical key-value cache data to the host, so that the host can use the local model to process the current input data based on the historical key-value cache data to obtain key-value data;
[0121] The first acquisition module 13 is used to acquire the key-value cache data corresponding to the key-value data sent by the host, and send the key-value cache data to the key-value cache of the memory expansion device for storage.
[0122] In one embodiment, the device may further include:
[0123] The third acquisition module 13 is used to acquire model status data sent by the host. The model status data is generated by the local model during the processing of the current input data.
[0124] The second sending module is used to send the model state data to the solid-state drive of the memory expansion device for storage.
[0125] In one implementation, the controller is a high-speed computing link controller, and a high-speed computing link communication connection is established between the high-speed computing link controller and the host.
[0126] In one implementation, during data transmission between the high-speed computing link controller and the host, the high-speed computing link's flow control unit uses a preset data format, wherein the total effective data size in the preset data format is not less than the size of a single key-value cache data.
[0127] In one implementation, the preset data format includes a core layer and an extension layer. The core layer includes a fixed header area, a main data area, and a first tail check area. The extension layer includes an extended data area, a reserved bit area, and a second tail check area.
[0128] In one embodiment, the first acquisition module 13 includes:
[0129] The first acquisition unit is used to acquire the key-value cache data corresponding to the key-value data sent by the host.
[0130] The first parsing unit is used to parse the fixed header area of the key-value cache data to obtain the parsed first fixed header data;
[0131] The first determining unit is used to determine whether the total effective data size of the key-value cache data exceeds the size of the main data area based on the identification information in the first fixed header data; if it does not exceed the size, the second obtaining unit is triggered; if it exceeds the size, the fourth obtaining unit is triggered.
[0132] The second acquisition unit is used to acquire the first valid key-value cache data in the main data area of the key-value cache data, and to verify the first valid key-value cache data.
[0133] The third acquisition unit is used to determine the first valid key-value cache data as the final key-value cache data if the verification passes, and to send the final key-value cache data to the key-value cache of the memory expansion device for storage.
[0134] The fourth acquisition unit is used to acquire the first valid key-value cache data in the main data area and the second valid key-value cache data in the extended data area of the key-value cache data;
[0135] The first sending unit is used to integrate the first valid key-value cache data and the second valid key-value cache data to obtain the final key-value cache data, and send the final key-value cache data to the key-value cache of the memory expansion device for storage.
[0136] In one implementation, the identification information includes an extension layer occupancy identifier;
[0137] The first defined unit includes:
[0138] The first identification subunit is used to identify the extended layer occupancy identifier in the identification information of the first fixed header data;
[0139] The first determining subunit is used to determine that the total effective data size of the key-value cache data exceeds the size of the main data area when the extension layer occupancy flag is occupied.
[0140] The second determining subunit is used to determine that the total effective data size of the key-value cache data does not exceed the size of the main data area when the extension layer occupancy flag is not occupied.
[0141] In one implementation, the identification information also includes at least one of the following: a flag indicating whether retransmission is required if verification fails, a flag indicating whether a new process is established after retransmission, a flag indicating whether the extension layer is verified, and a flag indicating that data transmission is complete.
[0142] In one embodiment, the device may further include:
[0143] The second determining unit is used to determine whether to retransmit if the verification fails, based on the retransmission flag in the identification information.
[0144] The second sending unit is used to return a retransmission request to the host if a retransmission is determined, so that the host can retransmit the key-value cache data based on the retransmission request.
[0145] The third determining unit is used to determine whether to establish a new process based on the retransmission flag in the identification information. If so, the establishment unit is triggered.
[0146] The creation unit is used to create a new process and obtain the key-value cache data resent by the host through the new process.
[0147] In one embodiment, the device may further include:
[0148] The fourth determining unit is used to determine whether to verify the data in the extended data area based on whether the extended layer is verified in the identification information.
[0149] The verification unit is used to verify the second valid key-value cache data when verifying the data in the extended data area, and to trigger the first sending unit if the verification passes; if it is determined that the data in the extended data area does not need to be verified, the first sending unit is triggered directly.
[0150] In one embodiment, the second transmitting module includes:
[0151] The second parsing unit is used to parse the fixed header region of the model state data to obtain the parsed second fixed header data.
[0152] The fifth determining unit is used to determine whether the total effective data size of the model state data exceeds the size of the main data area based on the identification information of the second fixed header data; if it does not exceed the size, the fifth obtaining unit is triggered; if it exceeds the size, the seventh obtaining unit is triggered.
[0153] The fifth acquisition unit is used to acquire the first valid model state data in the main data area of the model state data, and to verify the first valid model state data.
[0154] The sixth determining unit is used to determine the first valid model state data as the final model state data and send it to the solid-state hard disk of the memory expansion device for storage if the verification passes.
[0155] The seventh acquisition unit is used to acquire the first valid model state data in the main data area of the model state data and the second valid model state data in the extended area;
[0156] The third sending unit is used to integrate the first valid model state data and the second valid model state data to obtain the final model state data, and then send the final model state data to the solid-state hard disk of the memory expansion device for storage.
[0157] It should be noted that the description of the features of the data processing device corresponding to the embodiment provided in this application can be found in the relevant description of the data processing device corresponding to the embodiment, and will not be repeated here.
[0158] Based on the above embodiments, please refer to Figure 7 This application also provides a data processing apparatus for use on a host computer, the apparatus comprising:
[0159] The second acquisition module 21 is used to acquire the current input data and send a historical key-value cache data acquisition request to the controller in the memory expansion device, so that the controller can acquire the corresponding historical key-value cache data from the key-value data cache of the memory expansion device according to the historical key-value cache data acquisition request;
[0160] Processing module 22 is used to process the current input data by combining the local model with the historical key-value cache data returned by the controller to obtain key-value data;
[0161] The first sending module 23 is used to send the key-value cache data corresponding to the key-value data to the controller, so that the controller can send the key-value cache data to the key-value cache of the memory expansion device for storage.
[0162] It should be noted that the data processing apparatus provided in this application embodiment has the same beneficial effects as the data processing method provided in the above embodiments, and for a detailed description of the data processing method provided in this application embodiment, please refer to the above embodiments, which will not be repeated here.
[0163] Embodiments of this application also provide an electronic device, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above-described data processing method embodiments.
[0164] The electronic device can be either a controller or a host device.
[0165] Embodiments of this application also provide a data processing system, including the aforementioned controller and host.
[0166] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above data processing embodiments when it is run.
[0167] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.
[0168] Embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the above data processing embodiments.
[0169] Embodiments of this application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps in any of the above data processing method embodiments.
[0170] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0171] The foregoing has provided a detailed description of a data processing method, computer program product, electronic device, and computer-readable storage medium provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the embodiments above are only intended to aid in understanding the method and core ideas of this application. It should be noted that those skilled in the art can make various improvements and modifications to this application without departing from its principles, and these improvements and modifications also fall within the protection scope of the claims of this application.
Claims
1. A data processing method, characterized in that, Applied to a controller, the controller being disposed in a memory expansion device, the method includes: Based on the historical key-value cache data retrieval request sent by the host, the corresponding historical key-value cache data is read from the key-value cache of the memory expansion device; The historical key-value cache data is returned to the host, so that the host can use a local model to process the current input data based on the historical key-value cache data to obtain key-value data; Obtain the key-value cache data corresponding to the key-value data sent by the host, and send the key-value cache data to the key-value cache of the memory expansion device for storage; wherein: The controller is a high-speed computing link controller, and a high-speed computing link communication connection is established between the high-speed computing link controller and the host terminal. During data transmission between the high-speed computing link controller and the host, the high-speed computing link's flow control unit adopts a preset data format, and the total effective data size in the preset data format is not less than the size of a single key-value cache data. The preset data format includes a core layer and an extension layer. The core layer includes a fixed header area, a main data area, and a first tail check area. The extension layer includes an extended data area, a reserved bit area, and a second tail check area. The step of obtaining the key-value cache data corresponding to the key-value data sent by the host and sending the key-value cache data to the key-value cache of the memory expansion device for storage includes: Obtain the key-value cache data corresponding to the key-value data sent by the host; The fixed header area of the key-value cache data is parsed to obtain the parsed first fixed header data; Based on the identification information in the first fixed header data, determine whether the total effective data size of the key-value cache data exceeds the size of the main data area; If the limit is not exceeded, the first valid key-value cache data of the main data area of the key-value cache data is obtained, and the first valid key-value cache data is verified. If the verification passes, the first valid key-value cache data is determined as the final key-value cache data, and the final key-value cache data is sent to the key-value cache of the memory expansion device for storage. If the limit is exceeded, then the first valid key-value cache data of the main data area and the second valid key-value cache data of the extended data area are obtained. The first valid key-value cache data and the second valid key-value cache data are integrated to obtain the final key-value cache data, and the final key-value cache data is sent to the key-value cache of the memory expansion device for storage.
2. The data processing method according to claim 1, characterized in that, Also includes: Obtain the model status data sent by the host, wherein the model status data is generated by the local model during the processing of the current input data; The model state data is sent to the solid-state drive of the memory expansion device for storage.
3. The data processing method according to claim 1, characterized in that, The identification information includes an extension layer occupancy identifier; The step of determining whether the total effective data size of the key-value cache data exceeds the size of the main data area based on the identification information in the first fixed header data includes: Identify the extended layer occupancy identifier in the identification information of the first fixed header data; If the extended layer is marked as occupied, it is determined that the total effective data size of the key-value cache data exceeds the size of the main data area; If the extended layer is marked as unoccupied, it is determined that the total effective data size of the key-value cache data does not exceed the size of the main data area.
4. The data processing method according to claim 3, characterized in that, The identification information also includes at least one of the following: a flag indicating whether retransmission is required if verification fails, a flag indicating whether a new process is established after retransmission, a flag indicating whether the extension layer is verified, and a flag indicating that data transmission is complete.
5. The data processing method according to claim 4, characterized in that, After validating the first valid key-value cache data, the process also includes: If the verification fails, whether to retransmit is determined based on the retransmission flag in the identification information. If a retransmission is determined, a retransmission request is returned to the host so that the host can retransmit the key-value cache data based on the retransmission request; Based on the retransmission process flag in the identification information, determine whether to establish a new process. If so, establish a new process and obtain the key-value cache data retransmitted by the host through the new process.
6. The data processing method according to claim 4, characterized in that, Before integrating the first valid key-value cache data and the second valid key-value cache data to obtain the final key-value cache data, the process also includes: Based on the verification flag of the extended layer in the identification information, determine whether to verify the data in the extended data area; In the case of verifying the data in the extended data area, the second valid key-value cache data is verified, and if the verification passes, the step of integrating the first valid key-value cache data and the second valid key-value cache data to obtain the final key-value cache data is executed; If it is determined that no data verification is required in the extended data area, the step of integrating the first valid key-value cache data and the second valid key-value cache data to obtain the final key-value cache data is directly executed.
7. The data processing method according to claim 2, characterized in that, Sending the model state data to the solid-state drive of the memory expansion device for storage includes: The fixed header region of the model state data is parsed to obtain the parsed second fixed header data; Based on the identification information of the second fixed header data, determine whether the total effective data size of the model state data exceeds the size of the main data area; If the data does not exceed the limit, the first valid model state data of the main data area of the model state data is obtained, and the first valid model state data is verified. If the verification passes, the first valid model state data is determined as the final model state data and sent to the solid-state drive of the memory expansion device for storage. If the data exceeds the limit, then the first valid model state data in the main data area and the second valid model state data in the extended area are obtained. The first valid model state data and the second valid model state data are integrated to obtain the final model state data, and the final model state data is sent to the solid-state hard disk of the memory expansion device for storage.
8. A data processing method, characterized in that, Applied to the host side, the method includes: The system acquires the current input data and sends a historical key-value cache data retrieval request to the controller in the memory expansion device, so that the controller can retrieve the corresponding historical key-value cache data from the key-value data cache of the memory expansion device according to the historical key-value cache data retrieval request. The current input data is processed by combining the local model with the historical key-value cache data returned by the controller to obtain key-value data; The key-value cache data corresponding to the key-value data is sent to the controller, so that the controller sends the key-value cache data to the key-value cache of the memory expansion device for storage; wherein: The controller is a high-speed computing link controller, and a high-speed computing link communication connection is established between the high-speed computing link controller and the host terminal. During data transmission between the high-speed computing link controller and the host, the high-speed computing link's flow control unit adopts a preset data format, and the total effective data size in the preset data format is not less than the size of a single key-value cache data. The preset data format includes a core layer and an extension layer. The core layer includes a fixed header area, a main data area, and a first tail check area. The extension layer includes an extended data area, a reserved bit area, and a second tail check area. The controller sends the key-value cache data to the key-value cache of the memory expansion device for storage, including: acquiring key-value cache data corresponding to the key-value data sent by the host; parsing the fixed header area of the key-value cache data to obtain parsed first fixed header data; determining whether the total effective data size of the key-value cache data exceeds the size of the main data area based on the identification information in the first fixed header data; if it does not exceed the size, acquiring the first effective key-value cache data of the main data area of the key-value cache data and verifying the first effective key-value cache data; if the verification passes, determining the first effective key-value cache data as the final key-value cache data and sending the final key-value cache data to the key-value cache of the memory expansion device for storage; if it exceeds the size, acquiring the first effective key-value cache data of the main data area and the second effective key-value cache data of the extended data area of the key-value cache data; integrating the first effective key-value cache data and the second effective key-value cache data to obtain the final key-value cache data and sending the final key-value cache data to the key-value cache of the memory expansion device for storage.
9. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the data processing method as described in any one of claims 1 to 7, or when the computer program is executed, it implements the steps of the data processing method as described in claim 8.
10. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, configured to implement the steps of the data processing method as claimed in any one of claims 1 to 7 when executing the computer program, or to implement the steps of the data processing method as claimed in claim 8 when executing the computer program.
11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, it implements the steps of the data processing method as described in any one of claims 1 to 7, or when the computer program is executed, it implements the steps of the data processing method as described in claim 8.
Citation Information
Patent Citations
Data management method, device and equipment and readable storage medium
CN120499269A