Method and system for repairing erasure code data under distributed storage heterogeneous bandwidth

By identifying low-bandwidth nodes and introducing intermediate nodes for data block integration, and optimizing the data transmission path, the problems of insufficient bandwidth utilization and unbalanced node load in distributed storage systems are solved, and more efficient data repair is achieved.

CN120276664APending Publication Date: 2025-07-08GUANGDONG UNIV OF TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510196693.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-21
Publication Date
2025-07-08

AI Technical Summary

Technical Problem

In the heterogeneous bandwidth environment, the existing distributed storage system has low data repair efficiency, insufficient bandwidth utilization and unbalanced node load, resulting in the repair process efficiency far from reaching the optimal state.

Method used

By obtaining bandwidth information of all nodes, identifying low-bandwidth nodes, excluding them from the key data transmission links, and introducing intermediate nodes to integrate and forward data blocks, adopting hierarchical scheduling strategies to optimize data transmission paths and improve the overall transmission efficiency of the system.

Benefits of technology

It effectively reduces the repair time, improves data repair efficiency, solves the data repair bottleneck in bandwidth heterogeneous environments, and realizes a more efficient data repair process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120276664A_ABST
    Figure CN120276664A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of erasure code storage, and provides a method and system for repairing erasure code data under distributed storage heterogeneous bandwidth, and the method comprises the steps: obtaining the bandwidth information of all nodes, and taking the node with the lowest bandwidth as a low-bandwidth node; selecting at least two nodes except the low-bandwidth node as repair nodes, and selecting one node from the repair nodes as an intermediate node; nodes except the intermediate nodes in the repair nodes send survivor data blocks to a target node to be repaired; meanwhile, the low-bandwidth node sends survivor data blocks in the low-bandwidth node to the intermediate node; and after the transmission of the low-bandwidth node is completed, integrating the received survivor data block and the original survivor data block in the node in the intermediate node, and transmitting the integrated data block to a to-be-restored target node to complete data restoration. Compared with the prior art, the utilization rate of the node bandwidth is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of erasure code storage, and in particular to a method and system for repairing erasure code data under heterogeneous bandwidths in distributed storage. Background Art

[0002] With the rapid growth of the global data volume, it is estimated that the global data volume will reach 163 ZB in 2025. Facing such a huge data volume, enterprises and organizations generally adopt distributed storage systems to ensure data reliability and availability. The distributed storage system disperses data storage across multiple nodes and can maintain data integrity when a node fails. To further ensure data reliability, redundancy technologies are widely used, including multi-copy technology and erasure code technology. The multi-copy technology copies data to multiple nodes, but its storage overhead is large, and the storage cost increases significantly as the data volume increases. In contrast, the erasure code technology encodes data into multiple data blocks and parity blocks and distributes the parity blocks on different storage nodes. Common erasure codes include Reed-Solomon (RS) codes and Local Reconstruction Codes (LRC) codes. While maintaining the same data reliability, they can significantly reduce storage overhead compared to the multi-copy technology and are thus widely used in cloud storage and large-scale distributed storage systems.

[0003] Currently, the data repair technologies in distributed storage systems mainly include traditional repair, partial parallel repair (PPR), pipelined repair (RP), and independent repair (Inverse Reconstruction, IR). When repairing data loss, the traditional repair scheme needs to transfer multiple data blocks to the target node simultaneously, which causes the target node to bear excessive download traffic and become a bottleneck. The partial parallel repair (PPR) splits the repair task into multiple sub-stages for parallel execution, alleviating the pressure on a single node, but there is still an uneven bandwidth allocation problem, and some nodes may still become bottlenecks during the repair process. The pipelined repair (RP) further splits data blocks into small fixed-size sub-blocks and uses pipelined transmission to accelerate the repair process. However, although these methods have improved in repair speed and efficiency, there are still problems of insufficient bandwidth utilization and uneven node load, resulting in the repair efficiency far from reaching the optimal state. Summary of the Invention

[0004] To overcome the above-mentioned defect of insufficient bandwidth utilization in the prior art, the present invention provides a method and system for repairing erasure code data under heterogeneous bandwidths in distributed storage.

[0005] To achieve the above technical effects, the technical solution of the present invention is as follows:

[0006] The present invention provides a method for repairing erasure-coded data under heterogeneous bandwidths in distributed storage, comprising the following steps:

[0007] Obtain the bandwidth information of all nodes and use the node with the lowest bandwidth as the low-bandwidth node;

[0008] Select at least two nodes other than the low-bandwidth node as repair nodes, and select one node among the repair nodes as the intermediate node;

[0009] Nodes other than the intermediate node among the repair nodes send surviving data blocks to the target node to be repaired; meanwhile, the low-bandwidth node sends the surviving data blocks in its node to the intermediate node;

[0010] After the transmission of the low-bandwidth node is completed, integrate the received surviving data blocks and the original surviving data blocks in the node within the intermediate node, and transmit the integrated data blocks to the target node to be repaired to complete data repair.

[0011] The present invention also provides a system for repairing erasure-coded data under heterogeneous bandwidths in distributed storage, applying the method for repairing erasure-coded data under heterogeneous bandwidths in distributed storage. The system includes:

[0012] A bandwidth acquisition module, configured to obtain the bandwidth information of all nodes and use the node with the lowest bandwidth as the low-bandwidth node;

[0013] A data block transmission module, configured to enable nodes other than the intermediate node among the repair nodes to send surviving data blocks to the target node to be repaired; meanwhile, the low-bandwidth node sends the surviving data blocks in its node to the intermediate node;

[0014] A data reconstruction module, configured to, after the transmission of the low-bandwidth node is completed, integrate the received surviving data blocks and the original surviving data blocks in the node within the intermediate node, and transmit the integrated data blocks to the target node to be repaired to complete data repair.

[0015] Compared with the prior art, the beneficial effects of the present invention are:

[0016] By finding the low-bandwidth node, the present invention reduces the repair time by reducing the impact of the low link bandwidth in the bandwidth heterogeneous environment.

[0017] The present invention effectively solves the technical problem of low data repair efficiency in a bandwidth heterogeneous environment by introducing a low-bandwidth node evaluation mechanism. Compared with the traditional methods that use a fixed bandwidth threshold or randomly select nodes, this solution constructs a multi-dimensional link transmission. During the data repair process, the system adopts a hierarchical scheduling strategy, automatically excluding low-bandwidth nodes from critical data transmission links, eliminating the restriction of the "barrel effect" in heterogeneous networks on system performance, and providing an intelligent repair solution with network awareness ability for erasure codes. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Figure 1 It is a flowchart of a method for repairing erasure-coded data in a distributed storage heterogeneous bandwidth.

[0019] Figure 2 It is a schematic diagram of a single-block repair step.

[0020] Figure 3 It is a schematic diagram of a multi-block repair step.

[0021] Figure 4 It is a framework diagram of a system for repairing erasure-coded data in a distributed storage heterogeneous bandwidth. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0022] The drawings are only for illustrative purposes and should not be construed as limiting the present invention;

[0023] For those skilled in the art, it is understandable that some well-known descriptions in the drawings may be omitted.

[0024] The technical solutions of the present invention will be further described below with reference to the drawings and embodiments.

[0025] Embodiment 1

[0026] This embodiment proposes a method for repairing erasure-coded data in a distributed storage heterogeneous bandwidth. As Figure 1 shown, it is a flowchart of a method for repairing erasure-coded data in a distributed storage heterogeneous bandwidth according to this embodiment.

[0027] In the method for repairing erasure-coded data in a distributed storage heterogeneous bandwidth proposed in this embodiment, the following steps are included:

[0028] Obtain the bandwidth information of all nodes and use the node with the lowest bandwidth as the low-bandwidth node;

[0029] Select at least two nodes other than the low-bandwidth node as repair nodes, and select one node from the repair nodes as the intermediate node;

[0030] Nodes in the repair nodes, except for the intermediate nodes, send surviving data blocks to the target node to be repaired; at the same time, the low-bandwidth node sends the surviving data blocks within its node to the intermediate node;

[0031] After the transmission of the low-bandwidth node is completed, the surviving data blocks received and the original surviving data blocks within the node are integrated within the intermediate node, and the integrated data blocks are transmitted to the target node to be repaired to complete data repair.

[0032] In this embodiment, the bandwidth information of each node is obtained through the network topology structure, the bandwidths of all nodes are compared, the node with the lowest bandwidth is determined and marked as the low-bandwidth node; by reasonably allocating data transmission tasks, the overall transmission efficiency of the system is improved. An intermediate node is introduced as the data forwarding hub of the low-bandwidth node to avoid the bottleneck effect caused by the direct transmission of a large amount of data from the low-bandwidth node to the target node to be repaired. By separating the transmission paths of the low-bandwidth node and the high-bandwidth repair node, the proportion of the low-bandwidth node in the overall repair time is reduced; the repair efficiency is improved.

[0033] In an alternative embodiment, when the target node to be repaired is a single one, the nodes in the repair nodes except for the intermediate node sequentially send the surviving data blocks to the target node to be repaired.

[0034] As Figure 2 shown, it is a schematic diagram of single-block repair of this method. Among them, the low-bandwidth node is D2 in the figure; in the first time slot and the second time slot, D0 and D1 sequentially send the surviving data blocks to the target node to be repaired, and the low-bandwidth node D2 sends the surviving data blocks to the intermediate node D3; in the third time slot, the intermediate node integrates the received surviving data blocks and the original surviving data blocks within the node, and transmits the integrated data blocks to the target node to be repaired.

[0035] In this embodiment, when the target node to be repaired is a single one, the other nodes in the repair nodes except for the intermediate node send the data blocks to the target node to be repaired in order, and the data integrity is ensured through sequential transmission.

[0036] In an alternative embodiment, when there are multiple target nodes to be repaired, the steps for the nodes in the repair nodes except for the intermediate node to send the surviving data blocks to the target nodes to be repaired include: within the same time slot, the nodes in the repair nodes except for the intermediate node respectively transmit the surviving data blocks to different target nodes to be repaired; repeat the above steps until any node in the repair nodes except for the intermediate node transmits the surviving data blocks to all target nodes to be repaired.

[0037] As Figure 3As shown, it is a schematic diagram of multi-block repair of this method. Among them, the low-bandwidth node is D2 in the figure; in the first time slot and the second time slot, D0 and D1 respectively send surviving data blocks to different target nodes to be repaired at the same time, and the low-bandwidth node D2 sends surviving data blocks to the intermediate node D3; in the third time slot and the fourth time slot, the intermediate node integrates the received surviving data blocks and the original surviving data blocks in the node, and sequentially transmits the integrated data blocks to the target nodes to be repaired.

[0038] In this embodiment, when there are multiple target nodes to be repaired, the repair node can simultaneously transmit surviving data blocks to multiple target nodes to be repaired in parallel, improving the overall throughput and thus increasing the repair speed.

[0039] In an optional embodiment, in the repair node, the transmission task volume is configured based on the bandwidth weight factor of each node.

[0040] In this embodiment, by introducing the bandwidth weight factor, it is avoided that the low-bandwidth node undertakes relatively too many tasks, ensuring that the nodes with higher bandwidth undertake more data transmission tasks.

[0041] Further optionally, the step of calculating the bandwidth weight factor for the repair node and allocating the corresponding transmission task volume of each node based on the size of the bandwidth weight factor includes:

[0042] Normalize the bandwidth of the repair node, and combine the total repair task volume currently undertaken by each repair node to determine the bandwidth load of the repair node through weighted calculation to obtain the bandwidth weight factor;

[0043] Based on the bandwidth weight factor and the total repair task volume, determine the transmission task volume of each repair node.

[0044] Specifically, the calculation formula of the bandwidth weight factor is as follows:

[0045]

[0046] W i represents the proportion of node i in the total bandwidth, and Bw i represents the node bandwidth. Next, we calculate the tasks that each node theoretically needs to undertake currently.

[0047] The calculation formula of the transmission task volume of each repair node is as follows:

[0048]

[0049] T iLet \(N\) represent the theoretically assigned number of tasks for each node, and \(M\) represent the total tasks of all current nodes. Finally, subtract the theoretical number of tasks from the actual number of tasks of this node. The larger this value is, the greater the load of this node. Thus, by reordering the nodes, the high-load vertices in the repair method can be mapped to more idle nodes.

[0050] In this embodiment, the bandwidth weight factor is calculated based on the data block size and the node bandwidth. Secondly, the bandwidth of each repair node is normalized, and combined with the current repair task volume, the bandwidth weight factor of the repair node is obtained through weighted calculation, eliminating the dimensional difference of the bandwidth of different nodes and ensuring the fairness of task allocation.

[0051] In an alternative embodiment, after determining the low-bandwidth nodes, the current low-bandwidth nodes are judged: if the bandwidth of the low-bandwidth node is greater than the preset threshold, the theoretical repair times of the repair method and independent repair are calculated respectively, and the repair method with the shorter theoretical repair time is selected for repair; otherwise, the repair method is continued to be used for repair.

[0052] Specifically, Independent Repair (IR) is a specific repair strategy. The repair of each data block only depends on a few specific blocks, without introducing more cross-dependencies. Once the lost data block is detected, the specific blocks required for repair are first calculated. These blocks are usually the minimum number after erasure coding and have sufficient redundant information to recover the lost data block, and there are not too many data cross-dependencies, thus reducing the complexity in the repair process. Secondly, during repair, each node receives the intermediate block sent by the previous node, then calculates and generates a new intermediate block to send to the next node until the surviving data block is sent to the data block to be repaired.

[0053] In this embodiment, by dynamically selecting the repair strategy, it is avoided to adopt an inefficient scheme when the performance of the low-bandwidth node is temporarily improved; only two time parameters need to be compared to complete the decision. When the bandwidth of the low-bandwidth node is relatively high, by calculating the theoretical repair times of the repair method and independent repair, the scheme with the shorter theoretical repair time is selected for repair, thereby optimizing the repair process.

[0054] In an alternative embodiment, the step of calculating the theoretical repair times of the repair method and independent repair respectively includes: calculating the theoretical repair time based on the size of the data blocks required for repair and the bandwidth of the node, and its calculation formula is as follows:

[0055]

[0056] where \(T\) DR is the theoretical repair time of the repair method, and \(T\) IRis the theoretical repair time for independent repair; B is the data block size, represents the proportion of node f in the total bandwidth, and k represents the number of data blocks to be repaired.

[0057] In this embodiment, the calculation of the theoretical repair time is based on the data block size required for repair and the bandwidth of each node. Through this calculation, the repair time can be accurately evaluated, so as to make the optimal repair strategy selection.

[0058] Embodiment 2

[0059] This embodiment proposes a repair system for erasure-coded data under heterogeneous bandwidth in distributed storage, and applies the repair method for erasure-coded data under heterogeneous bandwidth in distributed storage proposed in Embodiment 1. As Figure 4 shown, it is the architecture diagram of the repair system for erasure-coded data under heterogeneous bandwidth in distributed storage in this embodiment.

[0060] This embodiment proposes a repair system for erasure-coded data under heterogeneous bandwidth in distributed storage, including:

[0061] A bandwidth acquisition module, configured to acquire the bandwidth information of all nodes and use the node with the lowest bandwidth as the low-bandwidth node;

[0062] A data block transmission module, configured to send the surviving data blocks from the nodes other than the intermediate node in the repair nodes to the target node to be repaired; meanwhile, the low-bandwidth node sends the surviving data blocks in its node to the intermediate node;

[0063] A data reconstruction module, configured to, after the transmission of the low-bandwidth node is completed, integrate the received surviving data blocks and the original surviving data blocks in the node in the intermediate node, and transmit the integrated data blocks to the target node to be repaired to complete data repair.

[0064] It can be understood that the system in this embodiment corresponds to the method in Embodiment 1 above, and the optional items in Embodiment 1 above also apply to this embodiment, so they will not be described repeatedly here.

[0065] Embodiment 3

[0066] This embodiment proposes a computer device, including a memory and a processor. A computer-readable instruction is stored in the memory. When the computer-readable instruction is executed by the processor, the processor executes the steps of the repair method for erasure-coded data under heterogeneous bandwidth in distributed storage proposed in Embodiment 1.

[0067] Embodiment 4

[0068] This embodiment provides a storage medium with computer-readable instructions stored thereon. When the computer-readable instructions are executed by a processor, the steps of the repair method for erasure-coded data under heterogeneous bandwidths for distributed storage, which has a preset performance proposed in Embodiment 1, are implemented.

[0069] The terms used in the accompanying drawings are for illustrative purposes only and should not be construed as limitations of this patent.

[0070] Obviously, the above embodiments of the present invention are merely examples given to clearly illustrate the present invention, and are not limitations on the implementation manners of the present invention. For those of ordinary skill in the art, other different forms of changes or modifications can be made based on the above description. It is not necessary and impossible to enumerate all implementation manners here. Any modifications, equivalent replacements, and improvements made within the spirit and principle of the present invention shall be included in the protection scope of the claims of the present invention.

Claims

1. A method for repairing erasure-coded data under heterogeneous bandwidths in distributed storage, characterized in that, It includes the following steps: Obtain the bandwidth information of all nodes and use the node with the lowest bandwidth as the low - bandwidth node; Select at least two nodes other than the low - bandwidth node as repair nodes, and select one node from the repair nodes as the intermediate node; The nodes other than the intermediate node among the repair nodes send the surviving data blocks to the target node to be repaired; meanwhile, the low - bandwidth node sends the surviving data blocks in its node to the intermediate node; After the low - bandwidth node finishes transmitting, integrate the received surviving data blocks and the original surviving data blocks in the intermediate node, and transmit the integrated data blocks to the target node to be repaired to complete data repair.

2. A method for repairing erasure-coded data under heterogeneous bandwidths in distributed storage according to claim 1, wherein When the target node to be repaired is a single one, the nodes other than the intermediate node among the repair nodes sequentially send the surviving data blocks to the target node to be repaired.

3. A method for repairing erasure-coded data under heterogeneous bandwidths in distributed storage according to claim 1, characterized in that, When there are multiple target nodes to be repaired, the steps for the nodes other than the intermediate node among the repair nodes to send the surviving data blocks to the target nodes to be repaired include: in the same time slot, the nodes other than the intermediate node among the repair nodes respectively transmit the surviving data blocks to different target nodes to be repaired; repeat the above steps until the nodes other than the intermediate node among any repair node transmit the surviving data blocks to all target nodes to be repaired.

4. A repair method for erasure-coded data under heterogeneous bandwidth in distributed storage according to claim 1, wherein Among the repair nodes, the transmission task volume is configured based on the size of the bandwidth weight factor of each node.

5. A method for repairing erasure-coded data under heterogeneous bandwidths in distributed storage according to claim 4, characterized in that, The steps of calculating the bandwidth weight factor for the repair nodes and allocating the corresponding transmission task volume for each node based on the size of the bandwidth weight factor include: Normalize the bandwidth of the repair nodes, and combine the total repair task volume currently borne by each repair node to determine the bandwidth load of the repair nodes through weighted calculation to obtain the bandwidth weight factor; Determine the transmission task volume of each repair node based on the bandwidth weight factor and the total repair task volume.

6. A repair method for erasure-coded data under heterogeneous bandwidths in distributed storage according to claim 1, wherein After determining the low - bandwidth node, judge the current low - bandwidth node: if the bandwidth of the low - bandwidth node is greater than the preset threshold, calculate the theoretical repair time of the repair method and independent repair respectively, and select the repair method with the shorter theoretical repair time for repair; Otherwise, continue to use the repair method for repair.

7. A method for repairing erasure-coded data under heterogeneous bandwidths in distributed storage according to claim 6, characterized in that The steps of calculating the theoretical repair time of the repair method and independent repair respectively include: calculate the theoretical repair time based on the size of the data blocks required for repair and the bandwidth of the nodes, and the calculation formula is as follows: Among them, T DR is the theoretical repair time of the repair method, and T IR is the theoretical repair time of independent repair; B is the data block size, w represents the available bandwidth, represents the proportion of node f in the total bandwidth, and k represents the number of data blocks to be repaired.

8. A repair system for erasure-coded data under heterogeneous bandwidths in distributed storage, which is applied to the method for repairing erasure-coded data under heterogeneous bandwidths in distributed storage according to any one of claims 1 to 7, and is characterized in that, The system includes: A bandwidth acquisition module, which is used to obtain the bandwidth information of all nodes and use the node with the lowest bandwidth as the low - bandwidth node; A data block transmission module, which is used for the nodes other than the intermediate node among the repair nodes to send the surviving data blocks to the target node to be repaired; meanwhile, the low - bandwidth node sends the surviving data blocks in its node to the intermediate node; A data reconstruction module, which is used to integrate the received surviving data blocks and the original surviving data blocks in the intermediate node after the low - bandwidth node finishes transmitting, and transmit the integrated data blocks to the target node to be repaired to complete data repair.

9. An electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the repair method for erasure - coded data under heterogeneous bandwidths for distributed storage as described in any one of claims 1 - 7.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the repair method for erasure-coded data under heterogeneous bandwidths in distributed storage as described in any one of claims 1-7.