Method and device for improving erasure code data reconstruction performance

By using proxy nodes to calculate recovery data and distribute reconstruction tasks in a distributed asynchronous object storage system, the problem of bandwidth limitation of the failed nodes is solved, and data reconstruction efficiency and system performance are improved.

CN120448182APending Publication Date: 2025-08-08CHINA ELECTRONICS CLOUD DIGITAL INTELLIGENCE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510547743.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-28
Publication Date
2025-08-08

AI Technical Summary

Technical Problem

When the existing distributed asynchronous object storage system fails, the data reconstruction speed is limited by the network card bandwidth, resulting in low reconstruction efficiency. When multiple nodes fail, the reconstruction task is backlogged, affecting system performance.

Method used

The faulty node determines the proxy node where the target verification shard of the damaged data is located, sends a data reconstruction request to the proxy node, and calculates the recovery data and sends it to the faulty node, and distributes the reconstruction tasks to each node of the entire storage cluster.

Benefits of technology

It effectively avoids the network cable bandwidth bottleneck of failed nodes, significantly improves data reconstruction performance and system reliability, reduces reconstruction time, and optimizes storage resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120448182A_ABST
    Figure CN120448182A_ABST
Patent Text Reader

Abstract

The invention discloses a method and device for improving erasure code data reconstruction performance, and the method comprises the steps: determining an agent node where a target verification fragment in each data segment of damaged data is located through a fault node where the data is damaged, and transmitting a data reconstruction request to each agent node; after receiving the data reconstruction request, each agent node calculates recovery data according to a target verification fragment stored in the agent node and a target data fragment belonging to the same data segment as the target verification fragment, and sends the recovery data to the fault node; and the fault node receives the recovery data sent by each proxy node and stores the recovery data. According to the method and the device, the reconstruction task is dispersed to each node of the whole storage cluster, the network card bandwidth bottleneck of the fault node is avoided, the problems of limited data reconstruction speed, bandwidth amplification and the like in related technologies are effectively solved, and the data reconstruction performance and reliability are remarkably improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of data reconstruction technology, and specifically to a method and device for improving the reconstruction performance of erasure code data. Background Art

[0002] With the rapid development of information technology, distributed storage systems are widely used in large-scale data storage scenarios. Distributed Asynchronous Object Storage (DAOS), an advanced storage solution, enables high-performance data access and management by storing data as objects across multiple nodes. When a node failure occurs during DAOS operation, an effective data reconstruction mechanism is required to restore the data on the failed node and ensure system integrity and reliability.

[0003] In related technologies, the DAOS architecture typically uses erasure coding (EC) technology to achieve data redundant storage. Erasure coding technology divides data into multiple data shards and parity shards and stores these shards in a distributed manner across different nodes. For example, in a "16+2" scenario, data is divided into 16 data shards and 2 parity shards, for a total of 18 shards evenly distributed across the storage cluster. This mechanism allows the remaining shards to be used to calculate recovery data using erasure coding in the event of a partial node failure, thereby improving system reliability.

[0004] However, the existing DAOS reconstruction process has significant flaws when recovering data from faulty nodes. When a node fails, the faulty node needs to pull 16 shards (15 data shards + 1 check shard) from other nodes and calculate the recovery data locally using the erasure code algorithm. This process exposes the following problems: In the "16+2" scenario, in order to recover 1M of data, the faulty node needs to pull 16M of data, and the faulty node needs to consume 16 times the bandwidth. So when 100M of data needs to be recovered, the faulty node needs to pull 1600M of data. In large-scale distributed systems, network bandwidth is limited, and the bandwidth amplification effect significantly reduces data reconstruction efficiency and prolongs data recovery time. In addition, faulty nodes occupy a large amount of network bandwidth and computing resources, which may affect the normal operation of the system and cause performance degradation. The backlog of reconstruction tasks when multiple nodes fail will further aggravate performance bottlenecks. Summary of the Invention

[0005] The present application provides a method and device for improving the reconstruction performance of erasure code data, which can solve the technical problem in the prior art that when recovering data through a faulty node, a large amount of sharded data needs to be pulled from other nodes, resulting in the reconstruction speed being limited by the network card bandwidth, resulting in low reconstruction efficiency.

[0006] In a first aspect, embodiments of the present application provide a method for improving the reconstruction performance of erasure coded data. The method for improving the reconstruction performance of erasure coded data includes:

[0007] Through the failed node where data corruption occurs, determine the proxy node where the target check shard in each data segment of the damaged data is located, and send a data reconstruction request to each proxy node;

[0008] After receiving the data reconstruction request, each proxy node calculates the recovery data based on the target parity slice stored in the proxy node and the target data slice belonging to the same data segment as the target parity slice, and sends the recovery data to the faulty node;

[0009] The fault node receives and stores the recovery data sent by each proxy node.

[0010] In conjunction with the first aspect, in one embodiment, each proxy node calculates recovery data based on its own stored target check shard and target data shard belonging to the same data segment as the target check shard, including:

[0011] Determine the target node where the target data shard that belongs to the same data segment as the target verification shard stored in the proxy node is located through each proxy node;

[0012] Pull the corresponding target data shard to the corresponding target node;

[0013] The recovery data is calculated based on the pulled target data shards and the target verification shards stored in the system.

[0014] In conjunction with the first aspect, in one embodiment, the method further includes:

[0015] For any data segment in the damaged data, if the first check fragment of the data segment is not damaged, the first check fragment is determined as the target check fragment;

[0016] If the first parity shard is damaged, the second parity shard is determined to be the target parity shard.

[0017] In conjunction with the first aspect, in one embodiment, determining, by using a faulty node where data corruption occurs, a proxy node where a target check shard in each data segment of the damaged data is located includes:

[0018] The fault node determines the proxy node where the target check slice in each data segment is located according to pre-stored data distribution information.

[0019] In conjunction with the first aspect, in one embodiment, before determining, through the faulty node where data corruption occurs, the proxy node where the target parity shard in each data segment of the damaged data is located, the method further includes:

[0020] Divide the stored data into multiple data blocks according to a preset block scale;

[0021] Divide each data block into M data shards according to the preset sharding scale, and generate N check shards based on the M data shards;

[0022] According to a preset random algorithm, the M data shards and N check shards corresponding to each data block are dispersedly stored in each node of the storage cluster, and data distribution information is generated and stored in each node.

[0023] In a second aspect, an embodiment of the present application provides a device for improving the reconstruction performance of erasure coded data, the device for improving the reconstruction performance of erasure coded data comprising:

[0024] A request module is used to determine the proxy nodes where the target check shards in each data segment of the damaged data are located through the faulty node where the data is damaged, and send data reconstruction requests to each proxy node;

[0025] a calculation module configured to calculate, through each proxy node, after receiving the data reconstruction request, recovery data based on the target parity slice stored in the proxy node and the target data slice belonging to the same data segment as the target parity slice, and send the recovery data to the failed node;

[0026] The receiving module is used to receive and store the recovery data sent by each proxy node through the fault node.

[0027] In conjunction with the second aspect, in one embodiment, the calculation module is further configured to:

[0028] Determine the target node where the target data shard that belongs to the same data segment as the target verification shard stored in the proxy node is located through each proxy node;

[0029] Pull the corresponding target data shard to the corresponding target node;

[0030] The recovery data is calculated based on the pulled target data shards and the target verification shards stored in the system.

[0031] In conjunction with the second aspect, in one embodiment, the device is further used for:

[0032] For any data segment in the damaged data, if the first check fragment of the data segment is not damaged, the first check fragment is determined as the target check fragment;

[0033] If the first parity shard is damaged, the second parity shard is determined to be the target parity shard.

[0034] In conjunction with the second aspect, in one embodiment, the request module is further configured to:

[0035] The fault node determines the proxy node where the target check slice in each data segment is located according to pre-stored data distribution information.

[0036] In conjunction with the second aspect, in one embodiment, the device is further used for:

[0037] Divide the stored data into multiple data blocks according to a preset block scale;

[0038] Divide each data block into M data shards according to the preset sharding scale, and generate N check shards based on the M data shards;

[0039] According to a preset random algorithm, the M data shards and N check shards corresponding to each data block are dispersedly stored in each node of the storage cluster, and data distribution information is generated and stored in each node.

[0040] The beneficial effects of the technical solutions provided in the embodiments of the present application include:

[0041] The faulty node where data corruption occurs determines the proxy node where the target parity shard in each data segment of the damaged data resides, and sends a data reconstruction request to each proxy node. After receiving the data reconstruction request, each proxy node calculates recovery data based on its own stored target parity shard and the target data shard belonging to the same data segment as the target parity shard, and sends the recovery data to the faulty node. The faulty node receives and stores the recovery data sent by each proxy node. This approach distributes the reconstruction task across the nodes of the entire storage cluster, avoiding the network card bandwidth bottleneck of the faulty node, effectively resolving the problems of limited data reconstruction speed and bandwidth amplification in related technologies, and significantly improving data reconstruction performance and reliability. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] Figure 1 A flowchart illustrating an embodiment of a method for improving the data reconstruction performance of erasure codes according to the present application;

[0043] Figure 2 This is a functional module diagram of an embodiment of a device for improving the reconstruction performance of erasure coded data according to the present application. DETAILED DESCRIPTION

[0044] In order to enable those skilled in the art to better understand the present invention, the following will clearly and completely describe the technical solutions in the embodiments of the present invention in conjunction with the accompanying drawings. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0045] In order to make the objectives, technical solutions and advantages of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.

[0046] In a first aspect, embodiments of the present application provide a method for improving the reconstruction performance of erasure coded data.

[0047] In one embodiment, referring to Figure 1 , Figure 1 This is a flow chart of the first embodiment of the method for improving the reconstruction performance of erasure code data in this application. Figure 1 As shown, the method for improving the reconstruction performance of erasure code data includes:

[0048] Step S101: Determine the proxy nodes where target check fragments in each data segment of the damaged data are located through the faulty node where data damage occurs, and send a data reconstruction request to each proxy node.

[0049] Step S102: After receiving the data reconstruction request, each proxy node calculates the recovery data based on the target check slice stored in itself and the target data slice belonging to the same data segment as the target check slice, and sends the recovery data to the faulty node.

[0050] Step S103: The faulty node receives and stores the recovery data sent by each proxy node.

[0051] In one embodiment, before determining the proxy node where the target check shard in each data segment of the damaged data is located through the faulty node where the data is damaged in step S101, the method further includes:

[0052] The stored data is divided into multiple data blocks according to a preset block scale; each data block is divided into M data shards according to a preset shard scale, and N check shards are generated based on the M data shards; according to a preset random algorithm, the M data shards and N check shards corresponding to each data block are dispersedly stored in each node of the storage cluster, and data distribution information is generated and stored in each node.

[0053] For example, the block scale and shard scale in this embodiment can be set according to actual needs. In this embodiment, taking 100M of storage data as an example, the 100M of storage data is divided into 100 data blocks according to the block scale of 1M, and the size of each data block is 1M. In the 16+2 scenario, each 1M data block can be divided into 16 data shards, and then 2 check shards are calculated based on the 16 data shards, and a total of 18 shards are generated for one data block. The system then uses a random algorithm to evenly distribute these 18 shards to each node in the entire storage cluster, ensuring that each shard can randomly select the corresponding node for storage. And after the storage of the 18 shards of each data block is completed, data distribution information is generated according to the node where each shard is located, and the data distribution information is stored in the corresponding node for subsequent data recovery.

[0054] It's worth noting that in the distributed asynchronous object storage (DAOS) system, data is sharded and randomly stored, enabling efficient data storage and balanced distribution. This ensures a balanced data volume and number of parity shards on each node, even with massive amounts of data. This balanced storage strategy not only optimizes storage resource utilization but also provides a solid foundation for subsequent data reconstruction and the system's high availability and reliability.

[0055] In some optional implementations, when the faulty node determines the proxy node where the target check shard in each data segment of the damaged data is located in step S101, the following steps are further included:

[0056] For any data segment in the damaged data, if the first check fragment of the data segment is not damaged, the first check fragment is determined as the target check fragment; if the first check fragment is damaged, the second check fragment is determined as the target check fragment.

[0057] It's worth noting that because the parity shards are evenly distributed across the nodes in the storage cluster, selecting the first parity shard in each data segment as the target parity shard and its node as the proxy node ensures a balanced number of proxy selections for each node. If the first parity shard is damaged, selecting the second parity shard as the target parity shard and its node as the proxy node ensures that undamaged parity shards are prioritized, thereby improving the flexibility and reliability of the reconstruction process and further optimizing reconstruction efficiency and data recovery stability.

[0058] Furthermore, in one embodiment, determining the proxy node where the target check shard in each data segment of the damaged data is located by using the faulty node where the data is damaged includes:

[0059] The faulty node determines the proxy node where the target checksum shard in each data segment is located based on pre-stored data distribution information. The data distribution information is stored in each node after the data is stored. The faulty node can directly call the data distribution information stored in itself to determine the proxy node.

[0060] Furthermore, in step S102, each proxy node calculates the recovery data based on the target verification slice stored in the proxy node and the target data slice belonging to the same data segment as the target verification slice, including:

[0061] Through each proxy node, the target node where the target data shard belonging to the same data segment as the target verification shard stored by itself is located is determined; the corresponding target data shard is pulled to the corresponding target node; based on the pulled target data shard and the target verification shard stored by itself, the recovery data is calculated.

[0062] Exemplarily, when data corruption occurs in a node, the node is a faulty node. The faulty node initiates a reconstruction and recovery task, starting with one data segment and performing data recovery one data segment at a time. The following is an example of the data recovery process of the first data segment 0-1M. The faulty node calculates the proxy node where the target check shard of the first data segment is located through the pre-stored data distribution information, and then the faulty node sends a data reconstruction request to the proxy node. Based on the data distribution information, the proxy node pulls the remaining 15 data shards of the first data segment from the target node that stores the remaining 15 data shards of the first data segment, and calculates the recovery data based on the 1 check shard (i.e., the target check shard) stored by itself and the 15 pulled data shards. The calculated recovery data size is 1M, and then the proxy node sends 1M of recovery data to the faulty node. The faulty node receives the recovery data and stores it, thereby completing the recovery of 1M data of the first data segment.

[0063] It is worth noting that for the 100 data segments corresponding to 100M of stored data, the above method can be repeated to achieve data recovery. Different proxy nodes in the storage cluster send the recovery data to the faulty node, which receives and stores it, thereby achieving recovery of all damaged data. Since the nodes storing the checksum shards of each data segment are not necessarily the same, the proxy nodes used to calculate the corresponding recovery data are not necessarily the same. In scenarios with large data volumes, the number of times each node is selected as a proxy node is consistent, and the reconstruction pressure of each node is consistent, that is, the reconstruction pressure of pulling the target data shards and calculating the recovery data is distributed to each node in the entire storage cluster.

[0064] It is important to understand that when reconstructing erasure coded (EC) data, multiple proxy nodes calculate and restore the data, greatly reducing the network card bandwidth pressure on the reconstruction node. In scenarios where the amount of erasure coded data is large, when restoring 1M of data in traditional solutions, 16 shards of data will be pulled from the faulty node to the local node. Reconstructing 1M of data requires pulling 16M of data to the local node, and even in scenarios where the network card is continuously fully loaded, the efficiency is only 20% of the expected level. In this application solution, to reconstruct and restore 1M of data, only the proxy node needs to transmit the restored 1M of data back to the faulty node, which does not increase bandwidth consumption, greatly reduces the reconstruction completion time, and improves the reconstruction efficiency by more than 5 times.

[0065] The method for improving the reconstruction performance of erasure code data provided by the embodiment of the present application realizes efficient data recovery by optimizing the reconstruction process of erasure code (EC) data in the distributed asynchronous object storage (DAOS) system. In the data storage stage, the system divides the data into multiple data blocks according to the preset block scale, and each data block is further divided into multiple data shards, and generates check shards, and then uses a random algorithm to evenly distribute these shards to each node of the storage cluster. In the data reconstruction stage, the faulty node determines the proxy node where the target check shard in each damaged data segment is located based on the pre-stored data distribution information, and sends a data reconstruction request to it. After receiving the request, the proxy node pulls other data shards belonging to the same data segment as the target check shard, calculates the recovery data based on the check shards stored by itself, and sends the recovery data back to the faulty node. This process not only disperses the reconstruction task and avoids the reconstruction bottleneck of a single faulty node, but also ensures the balanced distribution of data through the random storage strategy, reduces the network card bandwidth pressure during the reconstruction process, and significantly improves the reconstruction efficiency and the overall performance of the system.

[0066] In a second aspect, an embodiment of the present application also provides a device for improving the reconstruction performance of erasure code data.

[0067] In one embodiment, referring to Figure 2 , Figure 2 This is a functional module diagram of an embodiment of a device for improving the reconstruction performance of erasure coded data in this application. Figure 2 As shown, the device for improving the reconstruction performance of erasure code data includes:

[0068] A request module is used to determine the proxy nodes where the target check shards in each data segment of the damaged data are located through the faulty node where the data is damaged, and send data reconstruction requests to each proxy node;

[0069] a calculation module configured to calculate, through each proxy node, after receiving the data reconstruction request, recovery data based on the target parity slice stored in the proxy node and the target data slice belonging to the same data segment as the target parity slice, and send the recovery data to the failed node;

[0070] The receiving module is used to receive and store the recovery data sent by each proxy node through the fault node.

[0071] Furthermore, in one embodiment, the calculation module is further configured to:

[0072] Determine the target node where the target data shard that belongs to the same data segment as the target verification shard stored in the proxy node is located through each proxy node;

[0073] Pull the corresponding target data shard to the corresponding target node;

[0074] The recovery data is calculated based on the pulled target data shards and the target verification shards stored in the system.

[0075] Furthermore, in one embodiment, the device is also used for:

[0076] For any data segment in the damaged data, if the first check fragment of the data segment is not damaged, the first check fragment is determined as the target check fragment;

[0077] If the first parity shard is damaged, the second parity shard is determined to be the target parity shard.

[0078] Furthermore, in one embodiment, the request module is further configured to:

[0079] The fault node determines the proxy node where the target check slice in each data segment is located according to pre-stored data distribution information.

[0080] Furthermore, in one embodiment, the device is also used for:

[0081] Divide the stored data into multiple data blocks according to a preset block scale;

[0082] Divide each data block into M data shards according to the preset sharding scale, and generate N check shards based on the M data shards;

[0083] According to a preset random algorithm, the M data shards and N check shards corresponding to each data block are dispersedly stored in each node of the storage cluster, and data distribution information is generated and stored in each node.

[0084] Among them, the functional implementation of each module in the above-mentioned device for improving the reconstruction performance of erasure coded data corresponds to the steps in the above-mentioned method embodiment for improving the reconstruction performance of erasure coded data, and their functions and implementation processes are not repeated here one by one.

[0085] Among them, the method implemented when the program for improving the reconstruction performance of erasure code data is executed can refer to the various embodiments of the method for improving the reconstruction performance of erasure code data in this application, and will not be repeated here.

[0086] It should be noted that the serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0087] The terms "including" and "having" and any variations thereof in the specification and claims of this application and the above-mentioned drawings are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes steps or units that are not listed, or optionally includes other steps or units inherent to these processes, methods, products or devices. The terms "first", "second" and "third" are used to distinguish different objects, etc., and do not represent a sequence, nor do they limit the "first", "second" and "third" to different types.

[0088] In the description of the embodiments of this application, the words "exemplary," "for example," or "for example" are used to indicate examples, illustrations, or descriptions. Any embodiment or design described as "exemplary," "for example," or "for example" in the embodiments of this application should not be construed as being preferred or advantageous over other embodiments or designs. Rather, the use of words such as "exemplary," "for example," or "for example" is intended to present the relevant concepts in a concrete manner.

[0089] In the description of the embodiments of the present application, unless otherwise specified, “ / ” means or, for example, A / B can mean A or B; “and / or” in the text is merely a description of the association relationship of associated objects, indicating that three relationships may exist, for example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone. In addition, in the description of the embodiments of the present application, “multiple” refers to two or more than two.

[0090] In some processes described in the embodiments of the present application, multiple operations or steps are included that appear in a specific order. However, it should be understood that these operations or steps may not be performed in the order in which they appear in the embodiments of the present application or may be performed in parallel. The sequence numbers of the operations are only used to distinguish between different operations, and the sequence numbers themselves do not represent any order of execution. In addition, these processes may include more or fewer operations, and these operations or steps may be performed in sequence or in parallel, and these operations or steps may be combined.

[0091] Through the description of the above implementation methods, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be implemented by means of software plus the necessary general hardware platform, of course, it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) as described above, and includes a number of instructions for enabling a terminal device to execute the methods described in each embodiment of the present application.

[0092] The above are only preferred embodiments of the present application and do not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. A method for improving the reconstruction performance of erasure code data, characterized in that: The method for improving the reconstruction performance of erasure code data includes: Through the failed node where data corruption occurs, determine the proxy node where the target check shard in each data segment of the damaged data is located, and send a data reconstruction request to each proxy node; After receiving the data reconstruction request, each proxy node calculates the recovery data based on the target parity slice stored in the proxy node and the target data slice belonging to the same data segment as the target parity slice, and sends the recovery data to the faulty node; The fault node receives and stores the recovery data sent by each proxy node.

2. The method for improving the reconstruction performance of erasure coded data according to claim 1, wherein: Each proxy node calculates the recovery data based on the target parity shard stored in its own storage and the target data shard that belongs to the same data segment as the target parity shard, including: Determine the target node where the target data shard that belongs to the same data segment as the target verification shard stored in the proxy node is located through each proxy node; Pull the corresponding target data shard to the corresponding target node; The recovery data is calculated based on the pulled target data shards and the target verification shards stored in the system.

3. The method for improving the reconstruction performance of erasure coded data according to claim 1, wherein: The method further includes: For any data segment in the damaged data, if the first check fragment of the data segment is not damaged, the first check fragment is determined as the target check fragment; If the first parity shard is damaged, the second parity shard is determined to be the target parity shard.

4. The method for improving the reconstruction performance of erasure coded data according to claim 1, wherein: The proxy node where the target parity shard in each data segment of the damaged data is located is determined by the failed node where the data is damaged, including: The fault node determines the proxy node where the target check slice in each data segment is located according to pre-stored data distribution information.

5. The method for improving the reconstruction performance of erasure coded data according to claim 1, wherein: Before determining the proxy node where the target check shard in each data segment of the damaged data is located through the failed node where the data is damaged, the following steps are also included: Divide the stored data into multiple data blocks according to a preset block scale; Divide each data block into M data shards according to the preset sharding scale, and generate N check shards based on the M data shards; According to a preset random algorithm, the M data shards and N check shards corresponding to each data block are dispersedly stored in each node of the storage cluster, and data distribution information is generated and stored in each node.

6. A device for improving the reconstruction performance of erasure code data, characterized in that: The device for improving the reconstruction performance of erasure code data includes: A request module is used to determine the proxy nodes where the target check shards in each data segment of the damaged data are located through the faulty node where the data is damaged, and send data reconstruction requests to each proxy node; a calculation module configured to calculate, through each proxy node, after receiving the data reconstruction request, recovery data based on the target parity slice stored in the proxy node and the target data slice belonging to the same data segment as the target parity slice, and send the recovery data to the failed node; The receiving module is used to receive and store the recovery data sent by each proxy node through the fault node.

7. The device for improving the reconstruction performance of erasure coded data according to claim 6, wherein: The calculation module is also used for: Determine the target node where the target data shard that belongs to the same data segment as the target verification shard stored in the proxy node is located through each proxy node; Pull the corresponding target data shard to the corresponding target node; The recovery data is calculated based on the pulled target data shards and the target verification shards stored in the system.

8. The device for improving the reconstruction performance of erasure coded data according to claim 6, wherein: The device is also used to: For any data segment in the damaged data, if the first check fragment of the data segment is not damaged, the first check fragment is determined as the target check fragment; If the first parity shard is damaged, the second parity shard is determined to be the target parity shard.

9. The method for improving the reconstruction performance of erasure coded data according to claim 6, wherein: The request module is also used to: The fault node determines the proxy node where the target check slice in each data segment is located according to pre-stored data distribution information.

10. The method for improving the reconstruction performance of erasure coded data according to claim 6, wherein: The device is also used to: Divide the stored data into multiple data blocks according to a preset block scale; Divide each data block into M data shards according to the preset sharding scale, and generate N check shards based on the M data shards; According to a preset random algorithm, the M data shards and N check shards corresponding to each data block are dispersedly stored in each node of the storage cluster, and data distribution information is generated and stored in each node.