Data processing method based on DPU, electronic equipment and computer storage medium

By using the preset hash function and data block calculation method on the DPU network card, parallel storage is realized, the problem of low performance when traditional CPU processing big data is solved, the system performance is improved and the CPU burden is reduced.

CN119356734APending Publication Date: 2025-01-24YUSUR TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411369955.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-29
Publication Date
2025-01-24

AI Technical Summary

Technical Problem

Traditional distributed file systems have poor performance when processing big data, and the CPU's processing capabilities are limited, making it difficult to cope with the processing needs of large-scale data, resulting in system performance degradation.

Method used

Adopt data processing methods based on DPU, respond to the user's data storage request through DPU network card, use the preset hash function to calculate the hash value to be stored in the storage data, and determine the target data block in the default data block CPU operation burden.

Benefits of technology

Data processing and storage through the DPU network card improves the performance of the system, reduce the CPU operation burden, and meet the needs of large -scale data processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119356734A_ABST
    Figure CN119356734A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a data processing method based on a DPU, electronic equipment and a storage medium, the method is applied to a DPU network card, and the method comprises the following steps: in response to a data storage request sent by a user through a terminal, calculating to-be-stored data by using a preset hash function to obtain a hash value; calculating the root hash value and preset data blocks, and determining a target data block corresponding to the to-be-stored data in the preset data blocks; and storing the to-be-stored data in the target data block in parallel. In the application, the DPU network card is utilized to determine the target data block in which the to-be-stored data sent by the user should be stored, and the to-be-stored data is stored in the target data block in parallel, so that the operational capability of a central processing unit (CPU) is reduced, the DPU network card focuses on data transmission and processing, resources of the CPU are released, and the performance of the system is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computer technology, and in particular to a DPU-based data processing method, electronic device, and computer storage medium. Background Art

[0002] In big data processing, data storage and processing are crucial. Traditional distributed file systems store and process data by dividing it into blocks. However, as the amount of data continues to increase, this traditional method has become increasingly slow.

[0003] In the related art, the central processing unit (CPU) is used to read, decode, process and store network data. However, on the one hand, each core of the CPU can only execute one instruction in one clock cycle, that is, serial execution of instructions, and the processing capacity of the CPU is limited by its architecture and design, which makes it difficult to cope with the processing requirements of large-scale data. On the other hand, when using the CPU to process network data, almost all the work is undertaken by the CPU. The high CPU occupancy rate will lead to a decrease in its computing power, etc., affecting the performance of the system.

[0004] Therefore, how to improve the performance of the system becomes an urgent problem to be solved. Summary of the invention

[0005] In view of this, the embodiments of the present application provide a data processing method, an electronic device and a storage medium based on a DPU, which improve the performance of the system.

[0006] According to a first aspect of an embodiment of the present application, a DPU-based data processing method is provided, which is applied to a DPU network card, including:

[0007] In response to a data storage request sent by a user through a terminal, a preset hash function is used to calculate the data to be stored to obtain a hash value;

[0008] Calculation is performed according to the hash value and the preset data block, and a target data block corresponding to the data to be stored is determined in the preset data block; and the data to be stored is stored in parallel in the target data block.

[0009] According to a second aspect of an embodiment of the present application, a DPU-based data processing device is provided, which is applied to a DPU network card, including:

[0010] A calculation module, used to respond to a data storage request sent by a user through a terminal, calculate the data to be stored using a preset hash function to obtain a hash value;

[0011] The storage module is used to perform calculations based on the hash value and the preset data block, determine the target data block corresponding to the data to be stored in the preset data block; and store the data to be stored in parallel in the target data block.

[0012] According to a third aspect of an embodiment of the present application, there is provided an electronic device, comprising: a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus; the memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform an operation corresponding to the method described in the first aspect.

[0013] According to a fourth aspect of an embodiment of the present application, a computer storage medium is provided, on which a computer program is stored. When the program is executed by a processor, the method described in the first aspect is implemented.

[0014] According to the solution provided by the embodiment of the present application, the DPU network card responds to the data storage request sent by the user through the terminal, and uses the preset hash function to calculate the data to be stored to obtain a hash value; calculates according to the hash value and the preset data block, and determines the target data block corresponding to the data to be stored in the preset data block; and stores the data to be stored in parallel in the target data block. In this process, the target data block corresponding to the data to be stored is determined by the DPU network card and the data to be stored is stored in the corresponding target data block, which reduces the computing power of the CPU. And the data to be stored is stored in parallel in the target data block by the DPU network card, which improves the performance of the system. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments recorded in the embodiments of the present application. For ordinary technicians in this field, other drawings can also be obtained based on these drawings.

[0016] Figure 1 A schematic diagram of a device interaction provided in an embodiment of the present application;

[0017] Figure 2 A flow chart of a DPU-based data processing method provided in an embodiment of the present application

[0018] Figure 3 It is a structural schematic diagram of a DPU-based data processing device provided by the present invention;

[0019] Figure 4The present invention is a schematic diagram of the structure of an electronic device provided according to an embodiment of the present application. DETAILED DESCRIPTION

[0020] In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. All other embodiments obtained by ordinary technicians in this field based on the embodiments in the embodiments of the present application should fall within the scope of protection of the embodiments of the present application.

[0021] In an embodiment of the present application, a DPU (Data Processing Unit) is a data-specific processor developed based on a KPU (Kernel Processing Unit) architecture. The DPU-based data processing method of the present application can be implemented based on a DPU network card. The scheme can be implemented on a heterogeneous computer system. A heterogeneous computing system refers to a computing method in which computing units of different types of computer instruction sets and architectures are used to form a system. A heterogeneous computing system based on a DPU network card includes three parts in terms of hardware composition: a terminal (including a CPU, host memory, etc.), a DPU network card, and a serial bus with a transmission speed greater than a preset transmission speed, which connects the terminal and the DPU network card. The terminal transmits the data task to the DPU network card through the serial bus, and the DPU network card performs the task and performs calculations, which greatly improves the computing efficiency, releases CPU resources, improves the performance of the system, and finally returns the processed data to the terminal through the serial bus.

[0022] like Figure 1 As shown, Figure 1 A schematic diagram of a device interaction provided in an embodiment of the present application. Figure 1 In the process, the terminal and the DPU network card are connected through a serial bus. When the user needs to perform data processing such as data storage or query, the terminal loads the data to the DPU network card through the serial bus, performs data storage or query processing tasks on the DPU network card, and then sends the data to the terminal through the serial bus.

[0023] based on Figure 1 ,like Figure 2 As shown, Figure 2A flow chart of a DPU-based data processing method provided in an embodiment of the present application. The DPU-based data processing method provided in an embodiment of the present application can be applied to a DPU network card. The DPU network card is a hardware acceleration device, which can be a field programmable gate array (FPGA) or a self-developed application specific integrated circuit (ASIC) chip.

[0024] DPU-based data processing methods include:

[0025] S101 . In response to a data storage request sent by a user through a terminal, a preset hash function is used to calculate data to be stored to obtain a hash value.

[0026] In an embodiment of the present application, a hash function can map data of any length to a hash value of a fixed length, and these hash values ​​can be regarded as the "fingerprint" or "identifier" of the data. Through the hash value, the location of the data in the storage medium can be quickly located. When a user wants to store data, a data storage request is sent to the DPU network card. The DPU network card receives the data storage request sent by the user and responds. A hash function is defined according to the requirements, and the custom hash function is used to calculate the data to be stored to obtain the hash value corresponding to each data.

[0027] The preset hash function may be a cryptographic hash function (Message-Digest Algorithm 5, MD5), a division hash method, a secure hash algorithm 1 (Secure Hash Algorithm 1, SHA-1), and the like.

[0028] S102, performing calculations based on the hash value and the preset data block, determining a target data block corresponding to the data to be stored in the preset data block; and storing the data to be stored in parallel in the target data block.

[0029] In the embodiment of the present application, the preset data blocks are divided by the user according to actual needs, and the size and number of the preset data blocks are not fixed and are changed according to the size of the stored data file. After obtaining the hash value corresponding to each data, the hash value and the preset data block are calculated, such as performing a modulus calculation, to determine the storage location corresponding to each stored data, that is, the target data block, and the data to be stored is stored in parallel in the target data block.

[0030] The target data block can be calculated for each data to be stored in parallel according to the corresponding hash value and the preset data block to obtain each corresponding target data block to be stored, and finally each data to be stored is stored in parallel in the target data block.

[0031] Among them, the traditional method uses the CPU to process network data, which requires reading the data from the network device into the memory, and then the CPU performs decoding and processing. However, this application uses the DPU network card to directly receive data from the network device to its own storage unit, and the internal processing unit directly processes the data. This data path is shorter than the path using the CPU to process network data.

[0032] It can be understood that in an embodiment of the present application, the DPU network card responds to a data storage request sent by a user through a terminal, and uses a preset hash function to calculate the data to be stored to obtain a hash value; calculates based on the hash value and the preset data block, determines the target data block corresponding to the data to be stored in the preset data block; and stores the data to be stored in parallel in the target data block. In this process, the DPU network card is used to determine the target data block corresponding to the data to be stored and to store the data to be stored in the corresponding target data block, which reduces the computing power of the CPU and improves the performance of the system. The data to be stored is stored in parallel in the target data block through the DPU network card, which improves the performance of the system.

[0033] In some embodiments of the present application, the data processing method before S101 also includes S10, which is explained through the following steps.

[0034] S10. Receive a data storage request sent by a user through a terminal via a serial bus with a transmission speed greater than a preset transmission speed; wherein the data storage request carries data to be stored.

[0035] In some embodiments of the present application, the serial bus is a high-speed serial computer expansion bus (Peripheral Component Interconnect Express, PCIe), through which the terminal and the DPU network card are connected, and the user sends a data storage request carrying data to be stored to the DPU network card, and the data storage request is sent to the DPU network card through the serial bus.

[0036] It is understandable that in some embodiments of the present application, the user sends a data storage request to be stored to the DPU network card through a terminal using a serial bus with a transmission speed greater than a preset transmission speed. The serial bus adopts a serial transmission mode, which can reduce information interference and increase the data transmission rate. The serial bus supports multiple channels, each of which can transmit data independently, thereby improving the overall bandwidth.

[0037] In some embodiments of the present application, S101 also includes S20 to S21, which is explained through the following steps.

[0038] S20: Determine the size and number of data blocks according to the user's historical data storage records.

[0039] In some embodiments of the present application, when a user sends a data storage request through a terminal, the DPU network card obtains the user's historical data storage record through a user identifier, and the historical data storage record includes but is not limited to data type, data size distribution, data creation / modification time, etc., and the size of the data block corresponding to the historical storage data and the number of data blocks. The data type and size of the data to be stored in the current user request and the data in the historical data storage record can be compared, and the size and number of data blocks corresponding to the historical data with the same data type and data size are used as the size and number of data blocks corresponding to the current data to be stored. Or, the access frequency corresponding to the data is obtained according to the historical data storage record. For frequently accessed data, a smaller block size can reduce memory usage and speed up data retrieval. For large data that is not frequently accessed, a larger block size can reduce the number of disk input / output (I / O) times and improve storage efficiency. Therefore, the data type and size of the data to be stored requested by the current user and the data stored in the historical data can be compared. If the size and data type of the current data to be stored and the historically stored data are consistent, the access frequency of the historically stored data is obtained. When the access frequency of the historically stored data is high frequency, the size of the data block corresponding to the current data to be stored can be changed accordingly compared with the data block corresponding to the historically stored data. Finally, the data block size and the number of data blocks corresponding to the current data to be stored are determined based on the data block size and the number of data blocks corresponding to the historically stored data.

[0040] S21. Obtain a preset data block according to the size of the data block and the number of the data blocks.

[0041] In some embodiments of the present application, the determined number of data blocks and the size of each data block constitute a preset number of data blocks after data division.

[0042] The number of the preset data blocks may be "Bucket count".

[0043] It is understandable that in some embodiments of the present application, the size and number of data blocks are determined according to the user's historical data storage records, and the preset data blocks are obtained by the size and number of data blocks. In this process, the number and size of data blocks corresponding to the current user's data to be stored are determined by analyzing the user's historical storage records, and the size and number of data blocks are automatically adjusted to meet the changing needs, which can effectively improve storage efficiency and access speed.

[0044] In some embodiments of the present application, S102 can be implemented through S1021, which is explained by the following steps.

[0045] S1021. Perform modulo calculation on the hash value and the preset data block to obtain a target data block.

[0046] In some embodiments of the present application, each data to be stored corresponds to a hash value, and a modulo operation is performed according to the corresponding hash value and a determined preset data block to obtain each corresponding target data block to be stored.

[0047] Exemplarily, if the corresponding hash value of the data A to be stored is B after being calculated by a hash function, and the number of preset data blocks is C, and the modulus calculation of B and C is 2, then the corresponding target data block of the data A to be stored in the preset data block is 2, that is, the data A to be stored is stored in the second data block in the preset data block.

[0048] It can be understood that in some embodiments of the present application, a hash value and a preset data block are modulo calculations to obtain a target data block. In this process, a hash value corresponding to each data and a preset data block are modulo calculations to obtain a target data block corresponding to storage, thereby improving data storage efficiency, achieving data deduplication, and enhancing data security.

[0049] In some embodiments of the present application, S101 can be implemented through S1011 to S1012, which is explained by the following steps.

[0050] S1011. Respond to a data storage request sent by a user through a terminal, wherein the data storage request carries a plurality of data processing instructions.

[0051] In some embodiments of the present application, the multiple data processing instructions may be storage instructions for parallel processing of multiple data. The user sends a data storage request carrying the storage instructions for parallel processing of multiple data to the DPU network card through the terminal, and the DPU network card responds to the data storage request in parallel to perform corresponding data processing.

[0052] S1012: Use a preset hash function to perform parallel calculations on the data to be stored to obtain a hash value.

[0053] In some embodiments of the present application, for each data to be stored, a preset hash function may be used to perform parallel calculations on the data to obtain a hash value of each data to be stored.

[0054] It is understandable that in some embodiments of the present application, in response to a data storage request sent by a user through a terminal, wherein the data storage request carries multiple data processing instructions, a preset hash function is used to perform parallel calculations on the data to be stored to obtain a hash value. In this process, the DPU network card responds to the data storage request carrying multiple data processing instructions, and can use a preset function to perform parallel calculations on multiple data to be stored to obtain hash values ​​corresponding to the multiple data to be stored. Through higher data parallel processing capabilities, large-scale data processing requests are met.

[0055] In some embodiments of the present application, S102 also includes S201, which is explained through the following steps.

[0056] S201, obtaining information of a target data block and information of stored data; and transmitting the information of the target data block and information of stored data to a terminal via a serial bus.

[0057] In some embodiments of the present application, the stored data information may be the data to be stored uploaded by the user and the information on which data block the data to be stored is specifically stored in. The information of the target data block is the identification information of the data block and the data information stored in the data block. After the DPU network card stores the data to be stored in each corresponding target data block, it counts the information of the target data block and the information of the stored data, and then transmits the information of the target data block and the information of the stored data to the terminal via the serial bus.

[0058] The terminal and the DPU network card are connected via a serial bus.

[0059] It is understandable that in some embodiments of the present application, the information of the target data block and the information of the stored data are obtained; and the information of the target data block and the information of the stored data are transmitted to the terminal via the serial bus. The data transmission rate is improved by transmitting the information of the target data block and the information of the stored data to the terminal, which improves the efficiency of subsequent users to query data through the terminal.

[0060] In some embodiments of the present application, after S201 or S102, the DPU-based data processing method further includes S301 to S303, which are specifically described by the following steps.

[0061] S301 . Respond to a data acquisition request sent by a terminal, where the data acquisition request carries information about data to be acquired and information about a data block storing the data to be acquired.

[0062] In some embodiments of the present application, when a user needs to obtain stored data, a data acquisition request is sent to the DPU network card through the terminal, and the data acquisition request carries the data information to be obtained and the data block information of the data to be obtained. The data information to be obtained can be the identifier of the data and the identifier of the target data block to be stored, and the data block information of the data to be obtained can be the identifier of the data block and the storage location in the DPU network card.

[0063] S302: perform information traversal according to the data information to be acquired and the data block information to determine the target data block.

[0064] S303: Obtain target data in the target data block, and send the target data to the terminal.

[0065] In some embodiments of the present application, the DPU network card can perform information traversal in all data blocks in the storage location according to the data identifier in the data information to be acquired and the data block identifier in the data block information, and determine the target data block in all the data blocks. Information traversal can be performed in the target data block according to the data identifier in the data information to be acquired to obtain the target data, and finally the target data is sent to the terminal through the serial bus.

[0066] In summary, exemplarily, as shown in Table 1, Table 1 is the experimental results of the calculation time of different data amounts for the DPU-based data processing method and the CPU-based data processing method provided in the present application.

[0067] Table 1 shows the experimental results.

[0068]

[0069] In the above Table 1, it can be seen from the experimental results that the implementation of data processing based on the present application has a great performance advantage over the implementation of the data processing method based on the CPU, and this advantage becomes more and more obvious as the amount of data increases. The implementation of data processing based on the present application is 20 to 35 times faster than the implementation of the data processing method based on the CPU. Among them, data of different data amounts, all data are randomly generated as experimental input, and the above data are calculated using the data processing method based on the CPU and the data processing based on the present application to obtain performance data.

[0070] It can be understood that in some embodiments of the present application, in response to a data acquisition request sent by a terminal, the data acquisition request carries the data information to be acquired and the data block information where the data to be acquired is stored, and information traversal is performed based on the data information to be acquired and the data block information, a target data block is determined, the target data is acquired in the target data block, and the target data is sent to the terminal. In this process, information query is performed based on the data information to be acquired and the data block information sent by the terminal, thereby improving the efficiency of data query.

[0071] Figure 3 is a structural diagram of a DPU-based data processing device provided in an embodiment of the present application, which is applied to a DPU network card, such as Figure 3 As shown, the device may specifically include:

[0072] The calculation module 301 is used to respond to a data storage request sent by a user through a terminal, calculate the data to be stored using a preset hash function, and obtain a hash value;

[0073] The storage module 302 is used to perform calculations based on the hash value and the preset data block, determine the target data block corresponding to the data to be stored in the preset data block; and store the data to be stored in parallel in the target data block.

[0074] The device also includes a transmission module, which, in response to a data storage request sent by a user through a terminal, uses a preset hash function to calculate the data to be stored to obtain a hash value, and is used to receive the data storage request sent by the user through the terminal through a serial bus with a transmission speed greater than a preset transmission speed; wherein the data storage request carries the data to be stored.

[0075] In one embodiment, the calculation module 301, in response to a data storage request sent by a user through a terminal, calculates the data to be stored using a preset hash function to obtain a hash value, and is specifically used to:

[0076] Determine the size and number of data blocks according to the historical data storage records of the user;

[0077] The preset data block is obtained according to the size of the data block and the number of the data blocks.

[0078] In one embodiment, the calculation module 302 is specifically used for:

[0079] The hash value and the preset data block are modulo calculated to obtain the target data block.

[0080] In one embodiment, the calculation module 301 is specifically used for:

[0081] Responding to the data storage request sent by the user through the terminal, wherein the data storage request carries a plurality of data processing instructions;

[0082] The preset hash function is used to perform parallel calculation on the data to be stored to obtain the hash value.

[0083] The device also includes a sending module, which is used to obtain information about the target data block and information about the stored data after the data to be stored is stored in parallel in the target data block; and transmit the information about the target data block and the information about the stored data to the terminal via the serial bus.

[0084] The device also includes a receiving module, which, after storing the data to be stored in parallel in the target data block, is used to respond to a data acquisition request sent by the terminal, wherein the data acquisition request carries information about the data to be acquired and data block information storing the data to be acquired; performs information traversal based on the information about the data to be acquired and the data block information to determine the target data block; acquires target data in the target data block, and sends the target data to the terminal.

[0085] In the device of the present application, the DPU network card responds to the data storage request sent by the user through the terminal, and uses the preset hash function to calculate the data to be stored to obtain a hash value; the calculation is performed based on the hash value and the preset data block, and the target data block corresponding to the data to be stored is determined in the preset data block; and the data to be stored is stored in parallel in the target data block. In this process, the target data block corresponding to the data to be stored is determined by the DPU network card and the data to be stored is stored in the corresponding target data block, which reduces the computing power of the CPU. And the data to be stored is stored in parallel in the target data block by the DPU network card, which improves the performance of the system.

[0086] The present application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the method provided in any of the above embodiments when executing the program.

[0087] The present application also provides a computer-readable medium on which a computer program is stored. When the program is executed by a processor, the method provided in any of the above embodiments is implemented.

[0088] Reference Figure 4 , shows a schematic diagram of the structure of an electronic device according to an embodiment of the present application. The specific embodiment of the present application does not limit the specific implementation of the electronic device.

[0089] like Figure 4As shown, the electronic device may include: a processor (processor) 1002 , a communication interface (Communications Interface) 1004 , a memory (memory) 1006 , and a communication bus 1008 .

[0090] in:

[0091] The processor 1002 , the communication interface 1004 , and the memory 1006 communicate with each other via a communication bus 1008 .

[0092] The communication interface 1004 is used to communicate with other electronic devices or servers.

[0093] The processor 1002 is used to execute the program 1010, and specifically can execute the relevant steps in the above method embodiment.

[0094] Specifically, the program 1010 may include program codes, which include computer operation instructions.

[0095] The processor 1002 may be a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application. The one or more processors included in the smart device may be processors of the same type, such as one or more CPUs; or processors of different types, such as one or more CPUs and one or more ASICs.

[0096] The memory 1006 is used to store the program 1010. The memory 1006 may include a high-speed RAM memory, and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.

[0097] The program 1010 may be specifically used to enable the processor 1002 to execute operations corresponding to the methods described in the above method embodiments.

[0098] The specific implementation of each step in program 1010 can refer to the corresponding description of the corresponding steps and units in the above method embodiment, which will not be repeated here. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process of the above-described devices and modules can refer to the corresponding process description in the above method embodiment, which will not be repeated here.

[0099] It should be pointed out that, according to the needs of implementation, the various components / steps described in the embodiments of the present application can be split into more components / steps, or two or more components / steps or partial operations of components / steps can be combined into new components / steps to achieve the purpose of the embodiments of the present application.

[0100] The above-mentioned method according to the embodiment of the present application can be implemented in hardware, firmware, or implemented as software or computer code that can be stored in a recording medium (such as a CD ROM, RAM, floppy disk, hard disk or magneto-optical disk), or implemented as a computer code originally stored in a remote recording medium or a non-temporary machine-readable medium downloaded through a network and to be stored in a local recording medium, so that the method described herein can be stored in such software processing on a recording medium using a general-purpose computer, a special-purpose processor or programmable or special-purpose hardware (such as an ASIC or FPGA). It can be understood that a computer, a processor, a microprocessor controller or programmable hardware includes a storage component (e.g., RAM, ROM, flash memory, etc.) that can store or receive software or computer code, and when the software or computer code is accessed and executed by a computer, a processor or hardware, the method described herein is implemented. In addition, when a general-purpose computer accesses the code for implementing the method shown here, the execution of the code converts the general-purpose computer into a special-purpose computer for executing the method shown here.

[0101] Those of ordinary skill in the art will appreciate that the units and method steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the embodiments of the present application.

[0102] The above implementation methods are only used to illustrate the embodiments of the present application, and are not limitations on the embodiments of the present application. Ordinary technicians in the relevant technical field can make various changes and modifications without departing from the spirit and scope of the embodiments of the present application. Therefore, all equivalent technical solutions also belong to the scope of the embodiments of the present application. The scope of patent protection of the embodiments of the present application should be limited by the claims.

Claims

1. A data processing method based on DPU, characterized in that: Applicable to DPU network cards, including: In response to a data storage request sent by a user through a terminal, a preset hash function is used to calculate the data to be stored to obtain a hash value; Calculation is performed according to the hash value and the preset data block, and a target data block corresponding to the data to be stored is determined in the preset data block; and the data to be stored is stored in parallel in the target data block.

2. The method according to claim 1, characterized in that Before the method of calculating the data to be stored by using a preset hash function to obtain a hash value in response to a data storage request sent by a user through a terminal, the method further includes: The data storage request sent by the user through the terminal is received via a serial bus with a transmission speed greater than a preset transmission speed; wherein the data storage request carries the data to be stored.

3. The method according to claim 1 or 2, characterized in that: In response to the data storage request sent by the user through the terminal, after calculating the data to be stored using a preset hash function to obtain a hash value, the method further includes: Determine the size and number of data blocks according to the historical data storage records of the user; The preset data block is obtained according to the size of the data block and the number of the data blocks.

4. The method according to claim 1, characterized in that: The calculating according to the hash value and the preset data block, and determining the target data block corresponding to the data to be stored in the preset data block, includes: The hash value and the preset data block are modulo calculated to obtain the target data block.

5. The method according to claim 1, characterized in that The method of responding to a data storage request sent by a user through a terminal, calculating the data to be stored by using a preset hash function to obtain a hash value, includes: Responding to the data storage request sent by the user through the terminal, wherein the data storage request carries a plurality of data processing instructions; The preset hash function is used to perform parallel calculation on the data to be stored to obtain the hash value.

6. The method according to claim 2, characterized in that After storing the data to be stored in parallel in the target data block, the method further includes: Acquire the information of the target data block and the information of the stored data; and transmit the information of the target data block and the information of the stored data to the terminal via the serial bus.

7. The method according to claim 1 or 6, characterized in that: After storing the data to be stored in parallel in the target data block, the method further includes: In response to a data acquisition request sent by the terminal, the data acquisition request carries information of the data to be acquired and information of a data block storing the data to be acquired; Perform information traversal according to the to-be-acquired data information and the data block information to determine the target data block; Target data is acquired in the target data block, and the target data is sent to the terminal.

8. A data processing device based on DPU, characterized in that: Applied to a DPU network card, the device comprises: A calculation module, used to respond to a data storage request sent by a user through a terminal, calculate the data to be stored using a preset hash function to obtain a hash value; The storage module is used to perform calculations based on the hash value and the preset data block, determine the target data block corresponding to the data to be stored in the preset data block; and store the data to be stored in parallel in the target data block.

9. An electronic device, comprising: A processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface communicate with each other via the communication bus; The memory is used to store at least one executable instruction, and the executable instruction enables the processor to perform an operation corresponding to the method as described in any one of claims 1-7.

10. A computer storage medium having a computer program stored thereon, wherein when the program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.