A data processing method, electronic equipment and medium

By acquiring and storing data processing parameters in the parameter cache area within each data processing round, the problem of low efficiency in parity data processing in RAID is solved, achieving more efficient parity data calculation and optimization of cache resources.

CN120371594BActive Publication Date: 2025-11-07SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510847343.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-06-24
Publication Date
2025-11-07
Estimated Expiration
2045-06-24

AI Technical Summary

Technical Problem

In existing technologies, disk arrays (RAID) suffer from low processing efficiency and excessive cache resource consumption when calculating parity data. In particular, when the response latency of different storage areas is inconsistent, out-of-order data needs to be cached and reordered, which affects the processing efficiency of parity data.

Method used

By obtaining the identification information of the data storage area within the current data processing round, calling and storing the data processing parameters in the parameter cache area, it is ensured that even if the response delay of the storage area causes out-of-order processing, the corresponding data processing parameters can be directly obtained from the cache area for verification and calculation, avoiding the need to wait for all data to be returned and then reordered.

Benefits of technology

It improves the computational efficiency of verification data, releases cache resources, and enhances the overall performance of data processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120371594B_ABST
    Figure CN120371594B_ABST
Patent Text Reader

Abstract

The application discloses a data processing method, an electronic device and a medium, and relates to the technical field of computers.The method comprises the following steps: in a current data processing round, first identification information of a data storage area corresponding to a current processing task is acquired; data processing parameters corresponding to the current processing task are called according to the first identification information; and the data processing parameters are stored in a parameter cache area corresponding to the first identification information. According to the application, the data processing parameters are stored in the parameter cache area corresponding to the data storage area, even if the response data of each storage area is disordered due to response delay, the data processing parameters corresponding to the response data can still be found in the parameter cache area corresponding to the data storage area, the response data does not need to be rearranged, the computing efficiency of the verification data is improved, and the cache resources required for rearrangement are released.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer, and particularly relates to a data processing method, an electronic device and a medium. BACKGROUND

[0002] The RAID striping technology realizes automatic balancing of I / O load, effectively avoids multi-process access conflicts, and greatly improves data parallel access efficiency by splitting data blocks and storing them in multiple physical disks. In related technologies, the data redundancy fault tolerance is realized by means of the check disk mechanism, the data is recovered based on the check data when the disk fails, and the storage reliability is ensured. In the process of calculating and writing the check data, a data reading request needs to be sent to obtain the disk data dispersed in multiple storage areas, but due to the difference in response delay of each storage area, the order of the response data is inconsistent with the order of the request initiation. The subsequent data needs to wait for the front-end data processing to be completed before it can be processed, so the out-of-order data needs to be cached and reordered, and this calculation process has obvious defects such as low check data processing efficiency and cache resource occupation. SUMMARY

[0003] The present application provides a data processing method, an electronic device and a medium to at least solve the problems of low check data processing and cache resource occupation.

[0004] The present application provides a data processing method, comprising:

[0005] In the current data processing round, the first identification information of the data storage area corresponding to the current processing task is obtained;

[0006] According to the first identification information, the data processing parameters corresponding to the current processing task are called;

[0007] The data processing parameters are stored in the parameter cache area corresponding to the first identification information.

[0008] The present application also provides a data processing device, comprising:

[0009] The acquisition module is configured to obtain the first identification information of the data storage area corresponding to the current processing task in the current data processing round;

[0010] The calling module is configured to call the data processing parameters corresponding to the current processing task according to the first identification information;

[0011] The storage module is configured to store the data processing parameters in the parameter cache area corresponding to the first identification information.

[0012] The application further provides an electronic device, comprising a memory for storing a computer program, and a processor for executing the computer program to implement the steps of any of the data processing methods.

[0013] The application further provides a computer readable storage medium, which stores a computer program, wherein the computer program is executed by a processor to implement the steps of any of the data processing methods.

[0014] The application further provides a computer program product, which comprises a computer program, and the computer program is executed by a processor to implement the steps of any of the data processing methods.

[0015] According to the application, in the process of calculating the verification data, the first identification information of the data storage area corresponding to the current processing task is acquired based on the current data processing round, and the data processing parameter corresponding to the current processing task is called based on the first identification information, and the data processing parameter is stored in the parameter cache area corresponding to the first identification information. In this way, the data processing parameter has been stored in the parameter cache area corresponding to the data storage area in advance, so that even if the response data of each data storage area is disordered due to response delay, the data processing parameter corresponding to the response data can still be found from the parameter cache area corresponding to the data storage area. The calculation engine can perform partial verification calculation according to the response data and the corresponding data processing parameter, without rearranging each response data after all response data are returned and then performing verification calculation, thereby improving the calculation efficiency of the verification data and releasing the cache resource. BRIEF DESCRIPTION OF DRAWINGS

[0016] In order to more clearly illustrate the embodiments of the application, the drawings needed in the embodiments will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the application, and other drawings can be obtained by those skilled in the art without creative labor.

[0017] Figure 1 A scene diagram for calculating verification data is provided for the embodiments of the application.

[0018] Figure 2 A flowchart of a data processing method is provided for the embodiments of the application.

[0019] Figure 3 A structure diagram of a data processing system is provided for the embodiments of the application.

[0020] Figure 4 A diagram for storing data processing parameters in the corresponding parameter cache area is provided for the embodiments of the application.

[0021] Figure 5 A schematic diagram of reading data processing parameters from a parameter cache area based on response information is provided for an embodiment of the present application;

[0022] Figure 6 A scene schematic diagram of a data processing method is provided for an embodiment of the present application;

[0023] Figure 7 A scene schematic diagram of another data processing method is provided for an embodiment of the present application;

[0024] Figure 8 A structure schematic diagram of a data processing apparatus is provided for an embodiment of the present application;

[0025] Figure 9 A structure schematic diagram of an electronic device is provided for an embodiment of the present application. DETAILED DESCRIPTION

[0026] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the protection scope of the present application.

[0027] It should be noted that, in the description of the present application, the terms “comprise”, “contain” or any other variants thereof are intended to cover non-exclusive inclusion, so that the process, method, article or device comprising a series of elements not only includes those elements, but also includes other elements not explicitly listed or inherent to such process, method, article or device. The terms “first”, “second” and the like in the present application are used to distinguish similar objects, and are not used to describe a specific order or sequence.

[0028] In order for 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 drawings and specific embodiments.

[0029] First, the application scenario of the embodiments of the present application is exemplarily introduced.

[0030] Redundant Arrays of Independent Disks (RAID) striping technology divides continuous data blocks to obtain a plurality of small databases, and stores the plurality of small data blocks in a plurality of physical disks to realize automatic balancing of I / O load, effectively avoid multi-process access conflicts, and greatly improve data parallel access efficiency. This technology allows multiple processes to access different parts of the data simultaneously without causing disk conflicts, especially when accessing data sequentially, which can maximize the I / O parallel capability and significantly improve data processing performance. Among them, the common RAID5 and RAID6 realize data redundancy fault tolerance by means of the check disk mechanism, restore data based on Galois field operation when the disk fails, and guarantee storage reliability.

[0031] Specifically, in the RIAD5 striping, there is 1 check disk (P disk) and N data disks (D disk). The check disk stores check data, and the data disk stores disk data. The check data and the disk data satisfy the following relationship:

[0032] P=X1*D1⊕X2*D2⊕X3*D3⊕…⊕Xn*Dn

[0033] Wherein, P is the check data, * is the multiplication operation of the Galois field, ⊕ is the exclusive or operation, X1, X2, X3…Xn are data processing parameters (also called multiplication coefficients, calculation parameters) for calculating P, D1, D2, D3, …Dn are disk data in the data storage area, i.e. disk data in the data disk. Since the disk data is stored in the data storage area, it needs to be read out from the data storage area before the calculation of the check data. Therefore, in the embodiments of the present application, the disk data is referred to as to-be-read data.

[0034] In the RAID5 mode, when the disk data of any one disk is lost or damaged, it can be solved by the disk data in other data disks.

[0035] RAID6 adds one check disk (Q disk) based on RAID5. For RAID6, the check data and the disk data satisfy the following relationship:

[0036] P=X1*D1⊕X2*D2⊕X3*D3⊕…⊕Xn*Dn

[0037] Q=Y1*D1⊕Y2*D2⊕Y3*D3⊕…⊕Yn*Dn

[0038] Wherein, Q is another check data, Y1, Y2, Y3…Yn are data processing parameters for calculating Q.

[0039] In the RAID6 mode, data of two disks can be recovered, and the fault tolerance is higher than that of the RAID5.

[0040] In the parity disk mechanism, data update in any data disk needs to recalculate the parity and write the recalculated parity data to the parity disk. In the process of calculating the parity data, first, the disk data required for calculating the parity data needs to be read from each data storage area in the on-chip storage area; then, the read disk data and the corresponding data processing parameters are sent to the calculation engine to enable the calculation engine to calculate the parity data based on the read disk data and the corresponding data processing parameters; after the calculation engine calculates the parity data, the parity data is written back to the preset parity disk (such as the P disk and the Q disk described above).

[0041] Figure 1 is a schematic diagram of a scenario for calculating parity data. In Figure 1 , in the process of calculating and writing the parity data, the data reading control module, the data reordering control module, the calculation engine, and multiple caches (the calculation parameter cache, the reorder buffer, and the calculation result cache) are involved. As can be seen from Figure 1 , the to-be-read data for calculating the parity data is stored in multiple data storage areas, namely, the storage area 0, the storage area 1, …, and the storage area n.

[0042] The data reading control module is configured to initiate multiple data reading requests based on the bus protocol (Advanced eXtensible Interface, AXI). For different data storage areas, different AXI ID corresponding data reading requests are sent. The to-be-read data (i.e., the disk data) returned by the same AXI ID corresponding data reading request (i.e., the data reading request for the same data storage area) is in order, and the to-be-read data returned by different AXI ID corresponding data reading requests (i.e., the data stored in different storage areas corresponding to different data reading requests) may be out of order due to different response delays of different storage areas.

[0043] The data reordering control module is configured to reorder the to-be-read data. This is because the data is randomly scattered in different data storage areas, and the delay of each data storage area in response to a data read request is different, and the order of the to-be-read data returned by each data storage area is inconsistent with the order of the data read request. The data processing parameters are obtained in a preset order, such as the X1, X2, X3…Xn order described above, that is, in the process of calculating the verification data, the computing engine first performs Galois field multiplication based on D1 and X1, and then performs Galois field multiplication based on D2 and X2, and so on. Therefore, the data reordering control module reorders the to-be-read data of each storage area according to the data read request.

[0044] The reordering cache is configured to cache the to-be-read data returned by each storage area, so that the data reordering control module reorders each to-be-read data.

[0045] However, in the process of calculating and writing the verification data, on the one hand, because the order of the to-be-read data returned by each storage area is inconsistent with the order of the data read request, the reordering cache needs to cache each to-be-read data, which occupies a large amount of cache resources. On the other hand, because the to-be-read data returned out of order is written into the reordering cache so that the data reordering control module can reorder each to-be-read data, each to-be-read data cannot be processed in time, the processing efficiency of the verification data is reduced, and the performance is greatly reduced.

[0046] For example, if three data read requests are continuously initiated to read data 1, data 2, and data 3, respectively. In the worst case, the return order of each data can be data 3, data 2, and data 1. Data 3 and data 2 wait for the corresponding data processing parameters of data 1 and data 1 to be calculated before being processed by the computing engine. In addition, in the related art, multiple task corresponding data read requests can be initiated at the same time, but because there is only one computing engine, each task must be processed in order, that is, when a task is being processed in the computing engine, the next task will wait until the current task is executed by the computing engine before being processed. In this case, before the current task is processed, even if the to-be-read data of the next task has been returned, it will not be processed by the computing engine, resulting in low data processing efficiency.

[0047] Therefore, the embodiments of the present application provide a data processing method to solve the above-mentioned problems of low data processing efficiency and cache resource occupation in the process of calculating the verification data.

[0048] It should be noted that the execution subject of the data processing method provided in the embodiments of the present application can be a data processing device, which can be implemented by software, hardware or a combination of software and hardware to become part or all of an electronic device, wherein the electronic device can be a server or a terminal, wherein the server in the embodiments of the present application can be a server or a server cluster composed of multiple servers, and the terminal in the embodiments of the present application can be a smart phone, a personal computer, a tablet computer, a wearable device, a smart robot and other smart hardware devices. In the following method embodiments, the execution subject is taken as an example of an electronic device.

[0049] According to the embodiments of the present application, a data processing method embodiment is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that here.

[0050] In the present embodiment, a data processing method is provided, which can be used in the above-mentioned electronic device, such as a data processing server. Figure 2 is a flowchart of a data processing method according to the embodiments of the present application, as shown in Figure 2 , the flowchart includes:

[0051] S101: In the current data processing round, the first identification information of the data storage area corresponding to the current processing task is obtained.

[0052] Specifically, the processing task refers to a task of processing data. In the embodiments of the present application, the processing task refers to calculating the verification data. Specifically, the processing task specifically refers to calculating the verification data based on at least one to-be-read data and the data processing parameters corresponding to each to-be-read data. Each to-be-read data and the data processing parameters corresponding to the to-be-read data are obtained for calculating the verification data, which is one data processing round. For the current processing task, the number of data processing rounds is the same as the number of to-be-read data used for calculating the verification data corresponding to the current processing task.

[0053] The data storage area corresponding to the current processing task refers to a storage area storing disk data used for calculating the verification data, such as an on-chip storage area. One processing task requires at least one disk data (also referred to as to-be-read data) and the data processing parameters corresponding to each disk data. Among them, the disk data needs to send a data read request to the corresponding data storage area, and the disk data (referred to as to-be-read data in the embodiments of the present application) is returned in the case of responding to the data read request in the corresponding data storage area.

[0054] The first identification information of the data storage area is used to indicate the data storage area. For example, the first identification information can be a physical path of the data storage area, a logical partition number, a number of the data storage area, and the like. The present application does not make a specific setting for the first identification information of the data storage area, and the first identification information of the data storage area can be limited according to actual conditions.

[0055] In a possible implementation, the data storage area stores the to-be-read data corresponding to at least one task respectively. That is, one data storage area can store the to-be-read data corresponding to multiple tasks. Multiple to-be-read data corresponding to one task can be respectively stored in multiple data storage areas. For example, the data storage area 1 stores the to-be-read data 0 and the to-be-read data 1 corresponding to the task 1, and the to-be-read data 0 and the to-be-read data 2 corresponding to the task 2. The data storage area 2 stores the to-be-read data 2 corresponding to the task 1 and the to-be-read data 1 corresponding to the task 2.

[0056] S102: According to the first identification information, the data processing parameter corresponding to the current processing task is called.

[0057] Specifically, the data processing parameter corresponding to the current processing task refers to a parameter involved in the process of calculating the verification data. Based on the above description of the verification data, it can be concluded that the data processing parameter corresponds to the disk data one by one. For each processing task, the calculation of the verification data is implemented based on multiple to-be-read data and corresponding data processing parameters.

[0058] In the embodiment of the present application, the data processing parameter is pre-stored in the calculation parameter cache. In the calculation parameter cache, the data processing parameter has a binding relationship with the processing task. After the first identification information is obtained, the data processing parameter corresponding to the current processing task is obtained from the calculation parameter cache. That is, the first identification information is used as an action condition, and after the first identification information is obtained, the data processing parameter corresponding to the current processing task is called.

[0059] S103: The data processing parameter is stored in the parameter cache area corresponding to the first identification information.

[0060] Specifically, the parameter cache area has a corresponding relationship with the data storage area, and the parameter cache area corresponding to the data storage area can be found based on the first identification information. It can be understood that for multiple disk data (i.e., to-be-read data) stored in one data storage area, the data processing parameter corresponding to each disk data is stored in the parameter cache area corresponding to the data storage area. The specific implementation of the parameter cache area is not limited in the present application, and can be a memory, a solid state disk (SSD), and the like.

[0061] In some embodiments, the method provided by the embodiments of the present application further includes the following content:

[0062] a1: selecting a computing engine corresponding to the second identification information from the plurality of computing engines according to the second identification information of the current processing task, and obtaining third identification information corresponding to the computing engine.

[0063] Each of the computing engines is configured to subsequently calculate verification data corresponding to one or more processing tasks.

[0064] Specifically, the second identification information is used to identify the current processing task. The second identification information can be a task name, a task number, etc. of the current processing task. The present application does not make specific limitations on the second identification information of the current processing task, which can be selected according to actual conditions.

[0065] The computing engine is a hardware / software unit for executing a processing task, and has specific computing capability, such as a central processing unit (CPU), a graphics processing unit (GPU), a field-programmable gate array (FPGA), etc.

[0066] The third identification information is used to indicate the computing engine, and serves as an identifier of the computing engine, which can quickly locate and call the computing engine. For example, the third identification information can be a label, a name, etc. of the computing engine.

[0067] In a possible implementation, in the above a1, the computing engine corresponding to the second identification information is selected and the third identification information of the computing engine is obtained by the following method:

[0068] First, the plurality of processing tasks are sorted, and the sorting order value of the current processing task in the plurality of processing tasks is determined according to the second identification information of the current processing task.

[0069] Specifically, the plurality of processing tasks can be sorted according to the priority, the task request time, the required resources, etc. of each processing task to generate an execution queue. The sorting order value represents the position serial number of each processing task in the sorting queue, which is used for subsequent computing engine allocation. For example, if the sorting order value of task A is 1, the sorting order value of task B is 2, and the sorting order value of task C is 3, it indicates that among the three tasks, task A has the highest priority, task B has a medium priority, and task C has the lowest priority, i.e., the computing engine is allocated to task A first, and then to task B and task C in turn.

[0070] Then, according to the sorting order value and the total number of the computing engines, a computing engine corresponding to the current processing task is determined, and third identification information corresponding to the computing engine is obtained.

[0071] Optionally, the modulo algorithm is used to calculate the computing engine number according to the sorting order value and the total number of the computing engines. The sorting order value of the task is taken modulo the total number of the computing engines, and the remainder is directly mapped as the computing engine number, that is, computing engine number = sorting order value % total number of computing engines. Specifically, assuming that there are N computing engines, numbered 0 to N-1. The sorting order value of the processing task is divided by N, and the remainder is taken as the assigned computing engine number. For example, there are 3 computing engines, numbered computing engine 0, computing engine 1, and computing engine 2. If the sorting order value of a processing task is 5, then 5 % 3 = 2, that is, the computing engine 2 is assigned to the processing task.

[0072] In this way, the modulo algorithm assigns computing engines to processing tasks by taking the modulo of the task sorting order value and the total number of computing engines, which can quickly determine the target computing engine without complex calculation logic, and is suitable for scenarios with high response speed requirements. In the case of a fixed total number of computing engines, the modulo algorithm can ensure that processing tasks are evenly distributed to each computing engine, so that the load of each computing engine is relatively balanced, avoiding extreme cases such as resource limitations or overloads of some computing engines.

[0073] Optionally, the sorting order value is converted into a fixed range of hash values by a hash function, and then mapped to a computing engine list to achieve the distribution of computing engines. Specifically, the sorting order value of the processing task is input into a preset hash function (such as MurmurHash, Cyclic Redundancy Check 32 (CRC32), etc.), to obtain a hash value, and then the hash value is taken modulo the total number of computing engines to obtain the computing engine number corresponding to the processing task. Assuming that there are 4 computing engines, numbered computing engine 0, computing engine 1, computing engine 2, and computing engine 3, and the sorting order value of a processing task is 7. Assuming that the hash function is Hash(x) = x * 31 + 17, then the hash value Hash(7) = 7 * 31 + 17 = 234 corresponding to the processing task, and 234 % 4 = 2, that is, the computing engine 2 is assigned to the processing task.

[0074] In this way, the sorting order value is converted into a hash value by the hash function, which can effectively scatter the task distribution, and even if the task order value is aggregated or skewed, the computing engine can also ensure balanced load. In the scenario where the number of computing engines changes, the consistent hashing feature of the hash mapping can minimize the change in the processing task allocation range, and only the affected processing tasks need to be adjusted, effectively reducing the resource migration cost caused by the expansion or reduction of the computing engine.

[0075] In the implementation of the present application, the sorting order value of each processing task is determined based on the second identification information, which accurately measures the resource demand priority of the processing task and ensures that high-priority or urgent processing tasks can obtain computing engine resources first. For example, in the process of calculating multiple verification data, the processing task of verification data with high priority is assigned a higher sorting order value, and the computing engine is allocated preferentially, which effectively shortens the average processing time of the processing task compared with random allocation. At the same time, the total number of computing engines is combined to allocate computing engines for processing tasks, which can fully utilize the computing engine resources and avoid the situation where some computing engines are overloaded or some computing engines are idle, effectively improving the overall utilization rate of each computing engine resource. In addition, the computing engine is allocated according to the sorting order value of each processing task, so that even if some computing engines fail, the processing task can be quickly migrated to other available computing engines according to the task sorting order, avoiding the situation of task suspension or data loss, and ensuring the continuity and stability of the verification data calculation.

[0076] In another possible implementation, in the above a1, the computing engine corresponding to the second identification information is selected and the third identification information of the computing engine is obtained in the following manner:

[0077] Based on the algorithm complexity of the verification data corresponding to the current processing task, the computing engine corresponding to the second identification information is selected from the plurality of computing engines, and the third identification information corresponding to the computing engine is obtained.

[0078] Specifically, the algorithm complexity of the verification data corresponding to the current processing task refers to the degree of resource consumption in time / space in the process of calculating the verification data. For example, the double verification calculation of RAID6 involves Galois field multiplication and multiple XOR operations, and the time complexity is higher than that of the single verification calculation of RAID5.

[0079] Optionally, based on the data amount of the to-be-read data corresponding to the current processing task, the algorithm complexity of the verification data corresponding to the current processing task is determined.

[0080] Exemplarily, the data amount of the to-be-read data can be a quantity of all to-be-read data of the current processing task for computing the check data, a physical storage size occupied by all to-be-read data, a quantity of data storage areas where all to-be-read data is located, and the like. Based on the pre-constructed model in which the algorithm complexity is linearly related to the data amount and the data amount of the to-be-read data, the algorithm complexity of the check data corresponding to the current processing task is determined.

[0081] In this way, the computing engine is accurately matched according to the algorithm complexity of the check data corresponding to the current processing task. The low-performance computing engine is used for the low-complexity task, and the high-performance computing engine is used for the high-complexity task, so as to optimize the resource utilization of each computing engine. For example, the processing task of computing the check data of RAID6 is allocated to the FPGA instead of the CPU, so as to shorten the computation time of the processing task.

[0082] a2: store the third identification information into the parameter cache area corresponding to the first identification information.

[0083] Optionally, there is a binding relationship between the data processing parameter in the parameter cache area and the third identification information used to indicate the computing engine. In this way, in the case that the data processing parameter is determined, the computing engine used to compute the data processing parameter can be directly determined according to the binding relationship between the data processing parameter and the third identification, so as to speed up the computation process of the check data and improve the efficiency of computing the check data.

[0084] Of course, the second identification information can be flexibly defined according to the task demand (such as real-time performance and priority), for example, the engine allocation strategy is dynamically adjusted according to the load of each computing engine. In the peak period of business, the high-priority task is preferentially allocated to the idle efficient engine. Meanwhile, when the computing engine is newly added, the identification mapping relationship only needs to be updated, so that the newly added computing engine can be quickly included in the scheduling to cope with the growth of the data scale and the task complexity.

[0085] In the embodiment of the present application, according to the second identification information of the current processing task, the computing engine corresponding to the second identification information can be selected from the plurality of computing engines according to the characteristics of the current task, and the third identification information of the computing engine is stored into the parameter cache area corresponding to the first identification information, so that the check computation is coordinated with the data processing parameter reading. Even if the to-be-read data is out of order due to the response delay of the storage area, based on the third identification information in the parameter cache area, the computing engine corresponding to the data processing parameter can be directly started, so as to avoid waiting for data reordering and improve the computation efficiency.

[0086] In some embodiments, in the above S101, the first identification information of the data storage area corresponding to the current processing task is obtained in the following manner:

[0087] Firstly, in the current data processing round, the address pointer of the i-th to-be-read data corresponding to the current processing task is obtained.

[0088] The to-be-read data corresponding to the current processing task includes a plurality of data, and the address pointer of one to-be-read data is obtained in each data processing round.

[0089] Specifically, the address pointer is an identifier pointing to the physical location of the to-be-read data in the data storage area. The address pointer of the to-be-read data can be pre-stored in the pointer cache. In this way, the specific location of the data storage area is directly mapped through the address pointer of the to-be-read data, avoiding the time-consuming process of global scanning or multi-level so that the to-be-read data cannot be accurately positioned.

[0090] Then, according to the address pointer, the data storage area to which the i-th to-be-read data belongs is determined, and the first identification information of the data storage area is obtained.

[0091] In the embodiment of the application, the address pointer of one to-be-read data is obtained in each data processing round, the corresponding data storage area is identified, and then the corresponding data processing parameters are called and stored.

[0092] In some embodiments, after S101, the data processing method provided by the embodiment of the application further includes the following content:

[0093] b1: generating a data read request according to the first identification information and the address pointer.

[0094] In the embodiment of the application, the data read request can be an AXI data read request.

[0095] b2: sending the data read request to the data storage area corresponding to the first identification information.

[0096] In this way, after the data storage area receives the data read request, the data storage area returns the to-be-read data corresponding to the data read request in response to the request.

[0097] In one possible implementation, after b2, the method provided by the embodiment of the application further includes:

[0098] c1: when the response information fed back by the first data storage area is obtained, extracting the first to-be-read data and the fourth identification information corresponding to the first data storage area from the response information.

[0099] The first data storage area is any one of the plurality of data storage areas, and the plurality of data storage areas are used to store the to-be-read data corresponding to at least one task respectively.

[0100] It can be understood that after the plurality of data read requests are sequentially sent to the plurality of data storage areas, due to different data storage area response delays, the order of the response information returned by each data storage area is not necessarily the same as the order of each data read request. Taking the example of sequentially sending 3 data read requests, for example, the data read request 1 is first sent to the data storage area a, then the data read request 2 is sent to the data storage area b, and then the data read request 3 is sent to the data storage area a. The data storage area b responds to the data read request 2 and first returns the data corresponding to the data read request 2, and then the data storage area a responds to the data read request 1 and the data read request 3, and returns the data corresponding to the data read request 1 and the data read request 3 in turn.

[0101] Here, the plurality of data read requests sent to the plurality of data storage areas can be data read requests of the same task, or can be data read requests of multiple tasks, which are not limited in the present application. For example, a plurality of data read requests corresponding to a plurality of to-be-read data required in task 1 can be sent first, and then a plurality of data read requests corresponding to a plurality of to-be-read data required in task 2 can be sent.

[0102] c2: According to the fourth identification information, obtaining the first data processing parameter corresponding to the first to-be-read data from the parameter cache area corresponding to the fourth identification information.

[0103] c3: According to the first to-be-read data and the first data processing parameter, calculating the first sub-check data.

[0104] Among them, the first sub-check data is a sub-data of the first check data, and the first check data is the check data to be generated for the task corresponding to the first to-be-read data.

[0105] Specifically, the first check data can be P in the above-mentioned RIAD5, and can also be Q in the RAID6, and the present application does not make specific limitation to the first check data. The sub-data in the first check data can be the data obtained by performing Galois field multiplication operation on a to-be-read data and a corresponding data processing parameter, such as X1*D1, Y1*D1, etc.

[0106] For example, the computing engine can be used to calculate the first sub-check data according to the first to-be-read data and the first data processing parameter.

[0107] In the embodiment of the present application, the parameter cache region where the first data processing parameter is located has a corresponding relationship with the data storage region, and the first data processing parameter is taken out from the parameter cache region corresponding to the first data storage region only after the response information fed back by the first data storage region is acquired, so that the first to-be-read data in the response information strictly corresponds to the first data processing parameter, avoiding the situation that the data processing parameter does not correspond to the to-be-read data, resulting in the inability to calculate the check data. Compared with the related art, the to-be-read data does not need to be reordered according to the data reading request after all the to-be-read data returned by each data storage region is waited for, which on the one hand saves the cache resources required to store each to-be-read data, and on the other hand, the check data can be calculated after the response information fed back by the storage region is acquired, improving the efficiency of calculating the check data.

[0108] Before c3, the data processing method provided by the embodiment of the present application further includes:

[0109] First, the fifth identification information is read from the parameter buffer region corresponding to the fourth identification information.

[0110] Then, the target calculation engine is determined according to the fifth identification information, so that the target calculation engine is used to calculate the first sub-check data according to the first to-be-read data and the first data processing parameter in the subsequent process.

[0111] Optionally, after the first data processing parameter and the fifth identification information are read, the first data processing parameter and the fifth identification information are deleted from the parameter cache region corresponding to the third identification information.

[0112] In this way, after the first data processing parameter and the fifth identification information are read, the first data processing parameter and the fifth identification information are used by the calculation engine to calculate the check data. At this time, the first data processing parameter and the fifth identification information are deleted from the parameter cache region, avoiding the repeated use of these data, which may cause logical errors and affect the calculation accuracy of the check data.

[0113] Optionally, the data processing method provided by the embodiment of the present application further includes the following content:

[0114] When all the sub-check data corresponding to the current processing task are acquired, the check data corresponding to the current processing task is generated according to all the sub-check data.

[0115] In the embodiment of the present application, since the first data processing parameter has a binding relationship with the third identification information used to indicate the calculation engine, and the processing task also has a corresponding relationship with the calculation engine, the first sub-check data calculated by the calculation engine is the sub-data in the check data corresponding to the processing task.

[0116] According to the description of the calculation of the check data above, the check data is obtained based on all the sub-check data, that is, the check data is obtained by performing XOR operation on each sub-check data. Therefore, after obtaining all the sub-check data corresponding to the current processing task, XOR operation is performed on each sub-check data to obtain the check data.

[0117] The above mainly introduces the scheme provided by the embodiments of the present application from the perspective of method.

[0118] Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by means of software and a necessary general hardware platform, of course, it can also be implemented by hardware, but in many cases, the former is a better implementation.

[0119] Figure 3 is a structural schematic diagram of a data processing system. In Figure 3 , the data processing system includes a data reading control module, a parameter distribution module, a parameter selection module, a calculation engine distribution module, a calculation engine 0, a calculation engine 1, a calculation result output module, and a plurality of caches (i.e. Figure 3 In the calculation parameter cache, the calculation parameter cache 0, the calculation parameter cache 1, …, the calculation parameter cache n, the calculation result cache 0, and the calculation result cache 1 in

[0120] The data processing parameters required for calculating the check data are stored in the calculation parameter cache, each data processing parameter corresponds to the corresponding to-be-read data one by one, and is arranged in a preset order.

[0121] The data reading control module is used to distribute calculation engines for processing tasks. Considering that a single calculation engine does not support two tasks for alternate processing, two calculation engines are set in the embodiment, and the distribution of the calculation engines adopts a ping-pong manner, that is, the first processing task is distributed to the calculation engine 0, the second processing task is distributed to the calculation engine 1, the third processing task is distributed to the calculation engine 0, and the distribution is alternately performed.

[0122] The data reading control module is also used to initiate a data reading request. When initiating the data reading request, the number of the initiated data reading requests needs to be controlled, because there are two calculation engines, and the two calculation engines can process at most two processing tasks, therefore, the data reading requests of two tasks can be initiated. Before the disk data of one of the tasks is completely returned, the data reading request of the third task cannot be initiated.

[0123] When the data reading control module sends a data reading request, a data pointer is taken out from the data pointer cache in a preset order, and then a data reading request is initiated using the corresponding AXI ID (i.e., the first identification information corresponding to the data storage area). Meanwhile, the first identification information corresponding to the data storage area and the third identification information for indicating the computing engine are sent to the parameter distribution module.

[0124] After the parameter distribution module obtains the first identification information corresponding to the data storage area, a data processing parameter is read from the computing parameter cache, and the data processing parameter and the third identification information for indicating the computing engine are written into the parameter sub-cache corresponding to the first identification information. Figure 3 The number of parameter sub-caches contained in the parameter distribution module is consistent with the number of data storage areas in which the data to be read is stored. Each parameter sub-cache corresponds to a data storage area.

[0125] A plurality of data to be read for executing a processing task are stored in a plurality of data storage areas, such as storage area 0, storage area 1, …, storage area n in Figure 3 Each data to be read corresponds to an address pointer for indicating the specific position of the data to be read in the data storage area.

[0126] In Figure 4 , data reading requests of two processing tasks (i.e., task 1 and task 2) are initiated in turn, i.e., data reading requests of data 0, data 1, …, data 4 corresponding to task 1, and data reading requests of data 5, data 6, …, data 9 corresponding to task 2. Computing engine 0 is used to execute the calculation of the verification data corresponding to task 1. Computing engine 1 is used to execute the calculation of the verification data corresponding to task 2. For task 1, the data used to calculate the verification data includes data 0-data 4, data 0 is stored in storage area 3, data 1 is stored in storage area 2, data 2 is stored in storage area 3, data 3 is stored in storage area 1, data 4 is stored in storage area 0, data 0 corresponds to data processing parameter 0 in the parameter cache, data 1 corresponds to data processing parameter 1 in the parameter cache, … For task 2, the data used to calculate the verification data includes data 5-data 9, data 5 is stored in storage area 0, data 6 is stored in storage area 1, data 7 is stored in storage area 2, data 8 is stored in storage area 3, data 9 is stored in storage area 0, data 5 corresponds to data processing parameter 5 in the parameter cache, data 6 corresponds to data processing parameter 6 in the parameter cache, … The address pointers of the data in the storage areas are stored in the pointer cache, i.e., pointer 0 to pointer 9.

[0127] The data reading control module first obtains the address pointer corresponding to data 0 (i.e., pointer 0) and the first identification information of the data storage area (i.e., storage area 3) from the pointer cache, generates a data reading request of data 0 based on the address pointer and the first identification information. At the same time of initiating the data reading request of data 0, the data processing parameter 0 corresponding to the parameter 0 is read from the calculation parameter cache, and the data processing parameter 0 is stored in the parameter sub-cache 3 corresponding to the first identification information. In the same way, the data reading request corresponding to data 1, the data reading request corresponding to data 2, …, the data reading request corresponding to data 9 are sent in a preset order, and the corresponding data processing parameters and the identification information of the calculation engine are stored in the corresponding parameter storage area.

[0128] As shown in Figure 4 The parameter cache area includes parameter sub-cache 0, parameter sub-cache 1, and parameter sub-cache 2. The parameter sub-cache 3 corresponds to the storage area 3, and in the parameter sub-cache 3, the data processing parameters corresponding to data 0, data 2, and data 8 stored in the storage area 3 are stored, i.e., data processing parameter 0, data processing parameter 2, and data processing parameter 8. In addition, the identification information 0 of the calculation engine 0 corresponding to the data processing parameter 0, the identification information 0 of the calculation engine 0 corresponding to the data processing parameter 2, and the identification information 1 of the calculation engine 1 corresponding to the data 8 are also stored in the parameter sub-cache 3. Similarly, the parameter sub-cache 2 corresponds to the storage area 2, and in the parameter sub-cache 2, the data processing parameters corresponding to data 1 and data 7 stored in the storage area 2 are stored, i.e., data processing parameter 1 and data processing parameter 7. In addition, the identification information 0 of the calculation engine 0 corresponding to the data processing parameter 1 and the identification information 1 of the calculation engine 1 corresponding to the data processing parameter 7 are also stored in the parameter sub-cache 2. The parameter sub-cache 1 corresponds to the storage area 1, and in the parameter sub-cache 1, the data processing parameters corresponding to data 3 and data 6 stored in the storage area 1 are stored, i.e., data processing parameter 3 and data processing parameter 6. In addition, the identification information 0 of the calculation engine 0 corresponding to the data processing parameter 3 and the identification information 1 of the calculation engine 1 corresponding to the data processing parameter 6 are also stored in the parameter sub-cache 1. The parameter sub-cache 0 corresponds to the storage area 0, and in the parameter sub-cache 0, the data processing parameters corresponding to data 4, data 5, and data 9 stored in the storage area 0 are stored, i.e., data processing parameter 4, data processing parameter 5, and data processing parameter 9. In addition, the identification information 0 of the calculation engine 0 corresponding to the data processing parameter 4, the identification information 1 of the calculation engine 1 corresponding to the data processing parameter 5, and the identification information 1 of the calculation engine 1 corresponding to the data 9 are also stored in the parameter sub-cache 0. For the data processing parameters in the same parameter sub-cache, the first-in-first-out principle is adopted, i.e., the data processing parameters written first will be read out first.

[0129] The parameter selection module reads the data processing parameter and the identification information of the computing engine corresponding to the data processing parameter from the parameter cache area corresponding to the first identification information according to the first identification information in the response information of the data storage area, and sends the data processing parameter and the identification information of the computing engine corresponding to the data processing parameter to the computing engine allocation module.

[0130] Figure 5 The parameter sub-cache involved in the parameter selection module is the parameter sub-cache involved in the parameter selection module. Figure 4 The parameters in each parameter sub-cache and the computing engine are not described again. In the parameter selection module, Figure 5 When any data storage area returns response information containing data to be read, the parameter selection module can accurately find the data processing parameter corresponding to the data to be read and the identification information of the computing engine from the parameter cache area corresponding to the data storage area. For example, if storage area 0 returns response information, read the data processing parameter and the identification information of the computing engine corresponding to storage area 0 from the parameter sub-cache 0 corresponding to storage area 0.

[0131] The computing engine allocation module is used to allocate the data to be read returned by the data storage area and the corresponding data processing parameter to the corresponding computing engine. The computing engine allocation module allocates according to the identification information of the computing engine output by the parameter selection module. Taking each computing engine in Figure 4 engine 0. If the identification information is 1, the data to be read and the data processing parameter are sent to computing engine 1. By using two computing engines to alternately execute processing tasks, the data returned by two tasks can be processed, and the situation that one task blocks another task does not occur.

[0132] The computing engine 0 calculates the sub-check data based on the received data to be read and the corresponding data processing parameter, then determines the final check data according to all sub-check data, and saves the check data to the computing result cache 0. The computing engine 1 calculates the sub-check data based on the received data to be read and the corresponding data processing parameter, then determines the final check data according to all sub-check data, and saves the check data to the computing result cache 1.

[0133] The function of the calculation result output module is to alternately select one of the two calculation results from the two calculation result caches. The order of data output should be consistent with the order of tasks. The principle of allocating the calculation engine in the data reading control module is that the first task is allocated to the calculation engine 0, the second task is allocated to the calculation engine 1, the third task is allocated to the calculation engine 0, and the allocation is alternated in turn. The output order of the calculation result output module and the allocation order of the task adopt the same strategy, that is, the calculation result in the calculation engine 0 is output first, the calculation result in the calculation engine 1 is output second, and the calculation result in the calculation engine 0 is output third.

[0134] Figure 6 and Figure 7 are the scene diagrams of two data processing methods. In Figure 6 and Figure 7 , the data to be read corresponding to task 1 is data 0 and data 1, and the data to be read corresponding to task 2 is data 2 and data 3. The identification information of the data storage area where data 0, data 1, data 2, and data 3 are located is 0, 1, 2, and 3, respectively. The data processing parameters corresponding to data 0, data 1, data 2, and data 3 are parameter 0, parameter 1, parameter 2, and parameter 3, respectively. The data reading requests of the data to be read corresponding to the two tasks are initiated in turn, that is, the data reading request corresponding to data 0, the data reading request corresponding to data 1, the data reading request corresponding to data 2, and the data reading request corresponding to data 3. The order of returning each data to be read by each data storage area is data 3, data 1, data 2, and data 0, that is, each data storage area returns each data out of order.

[0135] Figure 6 is a data processing method in the related art, in Figure 6 , after receiving each data to be read, it is stored in the reordering cache, so as to reorder each data to be read according to the order of sending the data reading request, and then send the reordered data to be read and the corresponding data processing parameters to the calculation engine, so that the calculation engine calculates the verification data. As can be seen from Figure 6 , the data 3 returned in the front will not be processed immediately, but will be stored in the reordering cache, and will be calculated after data 0 and parameter 0, data 1 and parameter 1, data 2 and parameter 2 are all processed by the calculation engine. Strictly ordered data and tasks will prolong the data waiting time, the task processing delay is large, and the processing efficiency is low.

[0136] Figure 7The data processing method is provided by the embodiment of the present application. After receiving the first returned data 3, the computing engine distribution module sends the data 3 and the data processing parameter 3 corresponding to the data 3 to the computing engine 0 performing the task 2. After receiving the data 1, the data 1 and the data processing parameter 1 corresponding to the data 1 are sent to the computing engine 1 performing the task 1. After receiving the data 2, the data 2 and the data processing parameter 2 corresponding to the data 2 are sent to the computing engine 0 performing the task 2. After receiving the data 0, the data 0 and the data processing parameter corresponding to the data 0 are sent to the computing engine 1 performing the task 1. From the above, it can be seen that even if the order of returning the data by each data storage area is inconsistent with the order of sending the data reading request, the computing engine distribution module sends the returned data to the corresponding computing engine, so that the computing engine can perform the calculation of the verification data based on the returned data at the first time, without waiting for all the to-be-read data to be returned, and rearranging each to-be-read data according to the order of the data reading request, thereby saving the cache space (that is, the reordering cache resource) for storing each to-be-read data, shortening the calculation time of the verification data, and improving the calculation efficiency of the verification data. Figure 7

[0137] In the embodiment of the present application, a data processing device is also provided, which is used to implement the above-mentioned embodiments and preferred embodiments, and will not be described again. As used below, the term "module" can be a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware is also possible and contemplated.

[0138] The embodiment provides a data processing device, as shown in Figure 8 , comprising:

[0139] The acquisition module 801 is configured to acquire first identification information of a data storage area corresponding to a current processing task in a current data processing round.

[0140] The calling module 802 is configured to call data processing parameters corresponding to the current processing task according to the first identification information.

[0141] The storage module 803 is configured to store the data processing parameters in a parameter cache area corresponding to the first identification information.

[0142] In a possible implementation, the device further comprises:

[0143] The selection module is configured to select a computing engine corresponding to the second identification information from a plurality of computing engines according to the second identification information of the current processing task, and acquire third identification information corresponding to the computing engine. Each computing engine is used to subsequently calculate verification data corresponding to one or more processing tasks.​

[0144] The storage module 803 is further configured to store the third identification information into the parameter cache area corresponding to the first identification information.

[0145] In a possible implementation, the obtaining module 801 is specifically configured to, in a current data processing round, obtain an address pointer of an i-th to-be-read data corresponding to a current processing task, wherein the to-be-read data corresponding to the current processing task includes a plurality of to-be-read data, and one address pointer of the to-be-read data is obtained in each data processing round.

[0146] According to the address pointer, a data storage area to which the i-th to-be-read data belongs is determined, and first identification information of the data storage area is obtained.

[0147] In a possible implementation, the apparatus further includes:

[0148] The generating module is configured to generate a data reading request according to the first identification information and the address pointer.

[0149] The sending module is configured to send the data reading request to the data storage area corresponding to the first identification information, so as to obtain to-be-read data corresponding to the data reading request.

[0150] In a possible implementation, the obtaining module 801 is further configured to, after obtaining response information fed back by the first data storage area, extract the first to-be-read data and fourth identification information corresponding to the first data storage area from the response information, wherein the first data storage area is any one of a plurality of data storage areas, and the plurality of data storage areas are used to store to-be-read data corresponding to at least one task respectively.

[0151] According to the fourth identification information, first data processing parameters corresponding to the first to-be-read data are obtained from a parameter cache area corresponding to the fourth identification information.

[0152] The apparatus further includes a calculating module configured to calculate first sub-check data according to the first to-be-read data and the first data processing parameters, the first sub-check data being sub-data of the first check data, and the first check data being check data to be generated by a task corresponding to the first to-be-read data.

[0153] In a possible implementation, the generating module is further configured to, after obtaining all sub-check data corresponding to the current processing task, generate check data corresponding to the current processing task according to the all sub-check data.

[0154] In a possible implementation, in the apparatus, a binding relationship exists between the data processing parameters in the parameter cache area and the third identification information used to indicate the computing engine.

[0155] In one possible implementation, the acquisition module 801 is further configured to read the fifth identification information from the parameter buffer area corresponding to the fourth identification information;

[0156] The device also includes a determination module, which is used to determine the target computing engine based on the fifth identification information, so that the target computing engine can be used to calculate the first sub-verification data based on the first data to be read and the first data processing parameters.

[0157] In one possible implementation, the device further includes:

[0158] The deletion module is used to delete the first data processing parameter and the fifth identification information from the parameter cache area corresponding to the third identification information after reading the first data processing parameter and the fifth identification information.

[0159] In one possible implementation, when there are multiple processing tasks, a selection module is specifically used to sort the multiple processing tasks and determine the sorting order value of the current processing task among the multiple processing tasks based on the second identification information of the current processing task.

[0160] Based on the sorting order value and the total number of computing engines, determine the computing engine corresponding to the current processing task, and obtain the third identification information corresponding to the computing engine.

[0161] In one possible implementation, a selection module is specifically used to select a computing engine corresponding to the second identification information from multiple computing engines based on the algorithm complexity of calculating the verification data corresponding to the current processing task, and to obtain the third identification information corresponding to the computing engine.

[0162] In one possible implementation, the data storage area in the device stores at least one type of data to be read, corresponding to each task.

[0163] The apparatus provided in this application embodiment, during the calculation of verification data, obtains the first identification information of the data storage area corresponding to the current processing task based on the current data processing round, and calls the data processing parameters corresponding to the current processing task based on the first identification information. The data processing parameters are stored in the parameter cache area corresponding to the first identification information. In this way, since the data processing parameters are pre-stored in the parameter cache area corresponding to the data storage area, even if the response data is out of order due to response delay in each storage area, the data processing parameters corresponding to the response data can still be found in the parameter cache area corresponding to the data storage area. The calculation engine can perform partial verification calculation based on the response data and the corresponding data processing parameters, without having to wait for all response data to be returned and rearrange the response data before performing verification calculation, thereby improving the calculation efficiency of verification data and releasing cache resources.

[0164] The features of the embodiments of the data processing apparatus can refer to the related descriptions of the embodiments of the data processing method, which will not be repeated here.

[0165] The embodiments of the present application also provide an electronic device, such as Figure 9 As shown, the electronic device includes a memory 10 and a processor 20, the memory 10 stores a computer program, and the processor 20 is configured to run the computer program to perform the steps in any of the above data processing method embodiments.

[0166] The embodiments of the present application also provide a computer readable storage medium, which stores a computer program, wherein the computer program is configured to perform the steps in any of the above data processing method embodiments when running.

[0167] In an exemplary embodiment, the above computer readable storage medium can include, but is not limited to, a U disk, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and various media that can store computer programs.

[0168] The embodiments of the present application also provide a computer program product, which includes a computer program, and the computer program is executed by a processor to implement the steps in any of the above data processing method embodiments.

[0169] The embodiments of the present application also provide another computer program product, which includes a non-volatile computer readable storage medium, and the non-volatile computer readable storage medium stores a computer program, and the computer program is executed by a processor to implement the steps in any of the above data processing method embodiments.

[0170] The skilled person can further realize that the units and algorithm steps of the examples described in conjunction with the embodiments disclosed herein can be realized by electronic hardware, computer software or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the components and steps of the examples have been described in the above description in general terms. Whether the functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. The skilled person can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0171] The above describes in detail the data processing method, the electronic device and the medium provided by the application. The principles and implementation manners of the application are described by using specific examples, and the above description of the embodiments is only used to help understand the method of the application and its core idea. It should be pointed out that, for ordinary skilled persons in the technical field, some improvements and modifications can be made to the application without departing from the principles of the application, and these improvements and modifications also fall within the protection scope of the claims of the application.

Claims

1. A data processing method, characterized by, The method is applied to a data processing server, and the method comprises: In a current data processing round, first identification information of a data storage area corresponding to a current processing task is acquired; According to the first identification information, data processing parameters corresponding to the current processing task are called; The data processing parameters are stored in a parameter cache area corresponding to the first identification information; After the current data processing round, the method further comprises: According to the first identification information and the address pointer, a data reading request is generated, wherein the address pointer is used to indicate the position of the data to be acquired in the data storage area corresponding to the current data processing round; The data reading request is sent to the data storage area corresponding to the first identification information, so as to acquire the data to be read corresponding to the data reading request; After the data reading request is sent to the data storage area corresponding to the first identification information, the method further comprises: After acquiring the response information fed back by the first data storage area, the first data to be read and the fourth identification information corresponding to the first data storage area are extracted from the response information, wherein the first data storage area is any one of a plurality of data storage areas, and the plurality of data storage areas are used to store the data to be read corresponding to at least one task respectively; According to the fourth identification information, the first data processing parameters corresponding to the first data to be read are acquired from the parameter cache area corresponding to the fourth identification information; According to the first data to be read and the first data processing parameters, the first sub-check data is calculated, the first sub-check data is the sub-data of the first check data, and the first check data is the check data to be generated by the task corresponding to the first data to be read.

2. The method of claim 1, wherein, The method further comprises: According to the second identification information of the current processing task, a calculation engine corresponding to the second identification information is selected from a plurality of calculation engines, and third identification information corresponding to the calculation engine is acquired, and each calculation engine is used to calculate the check data corresponding to one or more processing tasks subsequently; The third identification information is stored in the parameter cache area corresponding to the first identification information.

3. The method of claim 2, wherein, In the current data processing round, the first identification information of the data storage area corresponding to the current processing task is acquired, comprising: In the current data processing round, the address pointer of the i-th data to be read corresponding to the current processing task is acquired, wherein the data to be read corresponding to the current processing task comprises a plurality of data to be read, and the address pointer of one data to be read is acquired in each data processing round; According to the address pointer, the data storage area to which the i-th data to be read belongs is determined, and the first identification information of the data storage area is acquired.

4. The method of claim 3, wherein, The method further comprises: After acquiring all the sub-check data corresponding to the current processing task, the check data corresponding to the current processing task is generated according to all the sub-check data.

5. The method of claim 4, wherein, The data processing parameter in the parameter cache area and the third identification information used to indicate the calculation engine have a binding relationship.

6. The method according to any one of claims 3-5, characterized in that, Before the first sub-check data is calculated according to the first to-be-read data and the first data processing parameter, the method further includes: reading fifth identification information from a parameter buffer area corresponding to the fourth identification information; determining a target calculation engine according to the fifth identification information, so as to subsequently calculate the first sub-check data according to the first to-be-read data and the first data processing parameter by using the target calculation engine.

7. The method of claim 6, wherein, The method further includes: After the first data processing parameter and the fifth identification information are read, the first data processing parameter and the fifth identification information are deleted from the parameter cache area corresponding to the third identification information.

8. The method of claim 2, wherein, When the processing task includes multiple, the calculation engine corresponding to the second identification information of the current processing task is selected from multiple calculation engines according to the second identification information, and the third identification information corresponding to the calculation engine is obtained, specifically including: sorting multiple processing tasks, determining the sorting order value of the current processing task in multiple processing tasks according to the second identification information of the current processing task; determining the calculation engine corresponding to the current processing task according to the sorting order value and the total number of the calculation engines, and obtaining the third identification information corresponding to the calculation engine.

9. The method of claim 2, wherein, The calculation engine corresponding to the second identification information is selected from multiple calculation engines according to the second identification information of the current processing task, and the third identification information corresponding to the calculation engine is obtained, specifically including: Based on the algorithm complexity of calculating the check data corresponding to the current processing task, the calculation engine corresponding to the second identification information is selected from multiple calculation engines, and the third identification information corresponding to the calculation engine is obtained.

10. The method according to any one of claims 1 to 5, 8, 9, characterized in that, The data storage area stores at least one task corresponding to to-be-read data.

11. An electronic device, comprising: It includes: a memory for storing a computer program; a processor for executing the computer program to implement the steps of the data processing method according to any one of claims 1-10.

12. A computer-readable storage medium, characterized in that, The computer readable storage medium stores a computer program, wherein the computer program is executed by the processor to implement the steps of the data processing method according to any one of claims 1-10.

13. A computer program product comprising a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the data processing method according to any one of claims 1-10.

Citation Information

Patent Citations

  • Data processing task sending method, data processing method and device, and equipment

    CN117193647A