A method and system for generating a wide stripe by merging multiple stripes under erasure coding storage

CN117149505BActive Publication Date: 2026-08-28CENT SOUTH UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310999384.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-09
Publication Date
2026-08-28
Estimated Expiration
2043-08-09

AI Technical Summary

Technical Problem

其中存储扩展方案可将窄条带重新编码为多种形式的宽条带,但是该方法会产生大量的宽条带生成带宽

Benefits of technology

本发明提供的纠删码存储下多条带合并的宽条带生成方法,将宽条带生成问题建模为组合优化问题,以寻找具有最小宽条带生成带宽的条带组合方案为优化目标,确定组合优化问题的目标函数,采用预设的启发式算法求解目标函数,以求解组合优化问题;根据求解结果执行纠删码存储步骤,与目前已有的宽条带生成方法相比,可以减少额外存储,降低宽条带生成带宽。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117149505B_ABST
    Figure CN117149505B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of erasure code storage, and particularly discloses a wide strip generation method and system for multiple strip combination under erasure code storage. The method models a wide strip generation problem as a combination optimization problem, takes finding a strip combination scheme with minimum wide strip generation bandwidth as an optimization target, determines a target function of the combination optimization problem, solves the target function by using a preset heuristic algorithm to solve the combination optimization problem, and executes an erasure code storage step according to a solving result. Compared with the existing wide strip generation method, the method can reduce extra storage and reduce the wide strip generation bandwidth.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of erasure coding storage technology, and in particular to a method and system for generating wide stripes by merging multiple stripes under erasure coding storage. Background Technology

[0002] Currently, even with extensive reliability measures such as error avoidance, error correction, and error prediction, distributed storage systems can still experience unpredictable failures. Therefore, fault tolerance mechanisms are essential for storage systems to avoid immediate failure and accelerate recovery to normal operation after a fault occurs. Erasure coding and replication mechanisms are common methods used in storage systems to provide data fault tolerance. Erasure coding requires less additional storage overhead through encoding computation and provides fault tolerance performance equivalent to replication mechanisms. Furthermore, using erasure coding storage can reduce additional storage overhead by up to 33% and achieve higher availability. Among the various erasure coding schemes, Reed Solomon (RS) codes are currently the most widely used. RS codes have high storage redundancy. ( It depends on its configuration parameters: the number of data blocks k in the stripe and the number of odd and even blocks m.

[0003] In recent years, some research has explored wide stripes, i.e., stripes with more data blocks and fewer parity blocks, in order to further reduce storage redundancy (i.e., (Approaching 1). For RS code storage systems, the recovery cost increases with the number of data blocks in the stripe. Therefore, reconstructing lost data blocks in a wide stripe will trigger a large amount of data transfer. Recent works have explored parameter updates for erasure coding to achieve high access performance and high storage space utilization in storage systems. For example, some scholars have proposed that practical storage systems should use erasure coding with different parameter settings based on data popularity. This method suggests encoding newly written data blocks as narrow stripes with small k values ​​to achieve high data recovery performance. As data ages and access frequency decreases, cold data stored in narrow stripes should be converted to wide stripe storage with large k values ​​to improve storage efficiency. Therefore, how to efficiently generate wide stripes has become a key issue in the field of erasure coding. In recent years, there have been related studies on how to transition from narrow stripes to wide stripes. Among them, storage expansion schemes can re-encode narrow stripes into various forms of wide stripes, but this method generates a large amount of wide stripe generation bandwidth. The stripe merging method StripeMerge can generate wide stripes with lower wide stripe generation bandwidth. Narrow strips merged into Wide stripes, but the reduction in additional redundant storage achieved by this method is limited.

[0004] Therefore, there is an urgent need for a wide stripe generation method that can reduce additional storage and lower the bandwidth required for wide stripe generation. Summary of the Invention

[0005] This invention provides a method and system for generating wide stripes by merging multiple stripes under erasure coding storage, in order to solve the problems existing in the prior art.

[0006] To achieve the above objectives, the present invention employs the following technical solution:

[0007] In a first aspect, the present invention provides a method for generating wide stripes by merging multiple stripes under erasure coding storage, comprising: S1: Calculate the wide stripe generation bandwidth of multiple narrow stripe combinations and model the generation problem as a combinatorial optimization problem; S2: Determine the objective function of the combinatorial optimization problem with the goal of finding a stripe combination scheme with the minimum wide stripe generation bandwidth; S3: Solve the objective function using a pre-defined heuristic algorithm to solve the combinatorial optimization problem; S4: Perform erasure coding storage steps based on the solution results.

[0008] Optionally, S1 includes: S11: Define the data block migration operation as... indivual Strips merged into a single Striping, the number of data blocks in a stripe from Increase to And define the parity block transfer operation as transferring parity blocks from different nodes to the same node; S12: Will a narrow strip Divided into A narrow strip combination , Each combination It contains x Narrow strips that can be merged into a single wide strip; S13: Calculation The data block migration cost and parity block transmission cost required to generate wide stripes; S14: Based on the data block migration cost and the parity block transmission cost, the total data transmission bandwidth for generating wide stripes is obtained, and the wide stripe generation problem of merging multiple stripes is modeled as a combinatorial optimization problem.

[0009] Optionally, the combination Data block migration cost required to generate wide stripes The following relationship must be satisfied: ; in, This represents the number of data blocks in the narrow stripe. It is a Boolean value representing the combination. Whether the data block of the medium-narrow stripe is stored in node j. This indicates the number of storage nodes in the storage system; combination Parity block transmission cost required to generate wide stripes The following relationship must be satisfied: ; in, It is a Boolean value, representing Is the p-th group of odd and even blocks in the narrow strip stored at node j? This indicates the number of odd and even blocks in a narrow strip.

[0010] Optionally, the objective function satisfies the following relationship: ; in, This represents all different combinations of narrow strips.

[0011] Optionally, the preset heuristic algorithm includes a first heuristic algorithm; The step of solving the objective function using a preset heuristic algorithm includes: Get The cost of merging narrow strip combinations; Construct a set consisting of narrow strip combinations and their corresponding merger costs; For the set The merging costs of the narrow strip combinations are sorted in ascending order, and the total time complexity of the heuristic algorithm is determined to satisfy the following relationship: ; in, For the number of stripes, The number of narrow strips in each narrow strip combination.

[0012] Optionally, the preset heuristic algorithm includes a second heuristic algorithm; The step of solving the objective function using a preset heuristic algorithm includes: Construct a search table and an even / odd block aligned hash table, initializing the search table using an m×m identity matrix; The search table for the corresponding x value is obtained through recursion, and the search is performed based on the search table. The specific search process includes two parts: odd-even block alignment search and greedy search. The total time complexity of this heuristic algorithm is determined to satisfy the following relationship: ; in, For the number of stripes, The number of narrow strips in each narrow strip combination.

[0013] Optionally, during the process of merging several narrow stripes into a wide stripe, the odd and even blocks in the wide stripe can be obtained by encoding the odd and even blocks of the narrow stripe.

[0014] Secondly, this application provides a wide stripe generation system for merging multiple stripes under erasure coding storage, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the steps of the method described in the first aspect above.

[0015] Beneficial effects: The wide stripe generation method for multi-strip merging under erasure coding storage provided by this invention models the wide stripe generation problem as a combinatorial optimization problem. The optimization objective is to find the stripe combination scheme with the minimum wide stripe generation bandwidth. The objective function of the combinatorial optimization problem is determined, and a preset heuristic algorithm is used to solve the objective function to solve the combinatorial optimization problem. Based on the solution result, the erasure coding storage step is executed. Compared with existing wide stripe generation methods, this method can reduce additional storage and lower the wide stripe generation bandwidth. Attached Figure Description

[0016] Figure 1 This is a flowchart of a method for generating wide stripes by merging multiple stripes under erasure coding storage, according to a preferred embodiment of the present invention; Figure 2 This is a schematic diagram of three RS(2,2) narrow strips being merged into one RS(6,2) wide strip in a preferred embodiment of the present invention; Figure 3 This is a schematic diagram illustrating the additional storage overhead under different parameter settings in a preferred embodiment of the present invention. Figure 4 This is a schematic diagram of the average wide stripe generation bandwidth (set x=3) in a small-scale stripe merging scenario according to a preferred embodiment of the present invention; Figure 5 This is a schematic diagram of the average wide stripe generation bandwidth in a large-scale stripe merging scenario according to a preferred embodiment of the present invention; Figure 6 The algorithm runtime in a small-scale strip merging scenario is a preferred embodiment of the present invention. Detailed Implementation

[0017] The technical solution of the present invention will be clearly and completely described below. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0018] Unless otherwise defined, the technical or scientific terms used in this invention shall have the ordinary meaning understood by one of ordinary skill in the art to which this invention pertains. The terms "first," "second," and similar terms used in this invention do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Similarly, the terms "an" or "a," and similar terms do not indicate a quantity limitation, but rather indicate the presence of at least one. The terms "connected" or "linked," and similar terms, are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. "Up," "down," "left," "right," etc., are used only to indicate relative positional relationships; when the absolute position of the described object changes, the relative positional relationship also changes accordingly.

[0019] It should be understood that the technical principle of erasure coding is: the file to be stored is divided into k data blocks, m parity check blocks are obtained through data unit encoding operations, and then these k+m blocks are distributed and stored on n=k+m storage nodes to achieve data fault tolerance.

[0020] In this application, each parity check block in the stripe can be obtained by linearly encoding the data block using the following formula: (1) Where the coding coefficient matrix A is a The Vandermonde matrix, This represents a data block within a stripe. This represents the parity check block in the stripe.

[0021] The redundancy of RS codes is n / k. Increasing the proportion of data blocks in a stripe can reduce the amount of additional storage in the system. Based on this, this application improves the storage performance of a wide stripe by merging multiple narrow stripes into a single wide stripe. During the process of merging two narrow stripes into a wide stripe, the parity blocks in the wide stripe can be obtained by encoding the parity blocks of the narrow stripes. Based on equation (1), the parity block encoding in the narrow stripe is shown in equation (2): (2); Parity block coding in wide stripes As shown in equation (3): (3); Based on equations (2) and (3), it can be seen that for a wide stripe obtained by merging multiple stripes, its odd and even blocks can be obtained by encoding the odd and even blocks in the narrow stripe, resulting in the following equation: (4); Therefore, in the process of merging multiple stripes to generate a wide stripe, there is no need to transmit data blocks from the narrow stripe to calculate the parity blocks of the wide stripe. This operation will greatly reduce the data transmission during the wide stripe generation process.

[0022] Please see Figure 1 This application provides a method for generating wide stripes by merging multiple stripes under erasure coding storage, comprising: S1: Calculate the wide stripe generation bandwidth of multiple narrow stripe combinations and model the generation problem as a combinatorial optimization problem; S2: Determine the objective function of the combinatorial optimization problem with the goal of finding a stripe combination scheme with the minimum wide stripe generation bandwidth; S3: Solve the objective function using a pre-defined heuristic algorithm to solve the combinatorial optimization problem; S4: Perform erasure coding storage steps based on the solution results.

[0023] The wide stripe generation method with erasure coding storage described above models the wide stripe generation problem as a combinatorial optimization problem. The optimization objective is to find the stripe combination scheme with the minimum wide stripe generation bandwidth. The objective function of the combinatorial optimization problem is determined, and a pre-defined heuristic algorithm is used to solve the objective function to solve the combinatorial optimization problem. Based on the solution, the erasure coding storage step is executed. Compared with existing wide stripe generation methods, this method can reduce additional storage and lower the wide stripe generation bandwidth.

[0024] First, it needs to be explained that in this application, in order to... indivual Strips merged into a single Striping, the number of data blocks in a stripe from Increase to For RS codes, data blocks belonging to the same stripe need to be stored on different nodes to ensure single-node fault tolerance. Data blocks originally belonging to different stripes in the narrow stripes to be merged may meet the single-node fault tolerance requirement before merging, but after merging, they may be located on the same storage node, violating the fault tolerance requirement. Such data blocks need to be migrated to ensure that the data blocks in the wide stripes remain on different nodes after merging. This application defines this as a data block migration operation.

[0025] In the merged wide stripe, the parity blocks need to be updated to ensure data fault tolerance. The merged parity blocks can be obtained from the parity block encoding of the narrow stripe. Therefore, it is still necessary to transmit parity blocks from different nodes to the same node. This application defines this as a parity block transmission operation.

[0026] Based on the above definition, multiple The bandwidth generated by the narrow stripe combination of wide stripes can be divided into two parts: the data transmission bandwidth caused by data block migration and parity block transmission. Figure 2 This describes the data transmission process of merging three RS(2, 2) narrow stripes into an RS(6, 2) wide stripe.

[0027] Consider a system with n storage nodes Stored indivual Narrow strip The storage system. The problem of wide stripe generation under multi-strip merging is to... a narrow strip Divided into A narrow strip combination Each combination It contains x Narrow strips can be combined into a single wide strip. For combinations... The data block migration cost required to generate wide stripes can be calculated using the following formula: (5) Where k is the number of data blocks in the narrow stripe. It is a Boolean value representing the combination. Whether the data block of the narrow stripe is stored in node j.

[0028] For combinations The parity block transmission cost required to generate a wide stripe can be calculated using the following formula: (6) in, It is a Boolean value, representing Does the p-th group of odd and even blocks in the narrow stripe reside at node j?

[0029] Based on equations (5) and (6), we can obtain the combination The total data transmission bandwidth for generating wide stripes is: (7) This application models the wide-strip generation problem involving multiple stripe merging as a combinatorial optimization problem. The optimization objective is to find the stripe merging scheme with the minimum wide-strip generation bandwidth. A set is defined. For all different combinations of narrow strips, the objective function of the problem is defined as: (8) Because of the solution set of this problem The size is Therefore, it is impossible to find the optimal solution to this problem in polynomial time.

[0030] Due to the exponential complexity of this problem, computing its optimal solution is highly inefficient for large-scale storage systems. Therefore, this application further proposes two efficient and effective heuristic algorithms to obtain the suboptimal solution to this combinatorial optimization problem in polynomial time.

[0031] First, this application designs a heuristic greedy algorithm (the first heuristic algorithm, xStripeMerge-G), the main idea of ​​which is to select stripes to merge first based on the size of the merging cost. Algorithm 1 shows the algorithm details of xStripeMerge-G. Given a currently stored set of narrow stripes, the algorithm first calculates the merging cost of any x combinations of narrow stripes. Then, it constructs a set with narrow stripe combinations and their corresponding merging costs as elements (lines 2-18). The algorithm sorts all narrow stripe combinations in ascending order of their merging costs (line 19). Finally, the algorithm selects the narrow stripe combination with the minimum merging cost for merging while deleting combinations in the set that include the selected stripe.

[0032] The running time of this heuristic greedy algorithm includes (1) obtaining The merging cost of individual narrow strip combinations can be calculated by... It can be completed within a certain time, therefore the time complexity of this step is O(n). (2) For the set The merging costs of the narrow strip combinations are sorted in ascending order, since the merging cost ranges from 0 to... The integers between 1 and 2, so the merge cost can be sorted by counting. The algorithm completes within a given time, where l is the number of stripes. Therefore, the total time complexity of this heuristic algorithm is O(l). .

[0033] In one example, the above heuristic greedy algorithm is shown below: “

[0034] " As a variational implementation, this application also proposes a partial odd-even block alignment heuristic algorithm (a second heuristic algorithm, xStripeMerge-P).

[0035] The merging cost of narrow stripe combinations includes two parts: data block migration cost and parity block transmission cost. For narrow stripe combinations with low merging costs, their parity block transmission costs are also correspondingly low. To address this phenomenon, this application proposes a partial parity block alignment heuristic algorithm: prioritizing the search for narrow stripe combinations with low parity block transmission costs, thereby quickly finding combinations with low total merging costs. The partial parity block alignment heuristic method proposed in this application uses a partial parity block alignment hash table data structure to store the position key-value entries of parity blocks in the narrow stripe. Each key refers to any i parity blocks (1 ≤ ... ≤ ...). ≤ The position of a stripe on N nodes is represented by a list of indices of the stripes with the corresponding parity block positions. This data structure allows for the finding of narrow stripe combinations with low parity block transmission costs in constant time complexity.

[0036] Given a set of RS(k,m) narrow stripes and parameter x, Algorithm 2 first constructs the corresponding search table and parity block alignment hash table. The search table is initialized using an m×m identity matrix. Then, the algorithm recursively obtains the search table for the corresponding x value. The specific search process of Algorithm 2 consists of two parts: parity block partial alignment search and greedy search. Lines 20-27 are the parity block partial alignment search process. Within the cost range of 0 to (x-1)m, Algorithm 2 searches for paired stripes for each narrow stripe based on the parity block alignment property. For stripe j, the parity alignment search first constructs the search domain of the stripe using the parity block alignment hash table. Then, it finds the search vector for the current cost based on the search table for the corresponding parameter. Based on the search domain and search vector, it finds the matching stripe for stripe j in a short time. Algorithm 2 first finds as many matching stripe combinations as possible using this method. Lines 28 onwards are the greedy search process. For the remaining stripes for which no suitable combination was found, Algorithm 1 is called to generate the remaining stripe combination schemes.

[0037] In one example, Algorithm 2 can be shown as follows: “

[0038] " For Algorithm 2, the time complexity of the odd-even alignment search phase is... ,in The value represents the number of stripes, k represents the number of data blocks in the narrow stripe, and m represents the number of odd and even blocks in the narrow stripe. The time complexity for calculating the merging cost is determined by the number of stripes. Compared to parameters k, m, and x, which are much larger, if as many stripe matches as possible are found through parity-even alignment search, the input size of Algorithm 2 will be greatly reduced, and the time complexity of the entire algorithm will also be greatly reduced.

[0039] Below, we will use a specific experiment as an example to verify the effectiveness of the application.

[0040] In this experiment, the performance of the xStripeMerge algorithm (the method described in this application) was compared with StripeMerge and NCScale through simulation. The experimental equipment consisted of an AMD Ryzen R7-5800H CPU, 16GB of RAM, a WDCWDS100T2B0C-00PXH0 1 TiB solid-state drive, and Ubuntu 16.04 operating system, using C++. The algorithm's performance was evaluated based on three performance metrics: additional storage overhead, wide stripe generation bandwidth, and runtime.

[0041] Regarding additional storage overhead, this application compares the additional storage overhead of the two methods, xStripeMerge and StripeMerge, with the size measured by the total number of parity blocks stored across all nodes. The number of stripes is set to 10,000, k to 4, and m to 2, 3, and 4. Figure 3 The experiment demonstrates the additional storage overhead after converting to wide stripes using xStripeMerge and StripeMerge. Experimental results show that xStripeMerge requires less additional storage overhead than stripe-merge for storing the same amount of data. This can be theoretically explained because the redundancy of RS code storage is determined by the ratio of k+m to k. The StripeMerge method converts RS(k,m) codes to RS(2k,m), reducing redundancy from (k+m) / k to (2k+m) / 2k. xStripeMerge, on the other hand, converts RS(k,m) codes to RS(3k,m) or RS(4k,m), further reducing redundancy from (k+m) / k to (3k+m) / 3k or (4k+m) / 4k. For example, for a large-scale storage system using RS(4,4), the redundancy is reduced to ×1.5 after merging into wide stripes using StripeMerge, while the redundancy can be reduced to a maximum of ×1.25 after merging into wide stripes using xStripeMerge.

[0042] Regarding wide-strip generation bandwidth, this application compares the average wide-strip generation bandwidth of NCScale and xStripeMerge, i.e., the number of data blocks required to generate one wide stripe. Since the space complexity of the greedy algorithm is O(n log n), the comparison is more comprehensive. Therefore, the input size of the greedy algorithm is limited. This application only conducted comparative experiments on NCScale and xStripeMerge-P and xStripeMerge-G in a small-scale strip merging scenario (setting the number of narrow strips to 900), and compared experiments on NC scale and xStripeMerge-P in a large-scale strip merging scenario (setting the number of narrow strips to 10,000).

[0043] Small-scale strip merging: Figure 4 (a), (b), (c), and (d) illustrate the average wide stripe generation bandwidth of NCScale and xStripeMerge-P, xStripeMerge-G under the condition of N=2(3k+m), 4≤k≤10, and 2≤m≤4. Overall, xStripeMerge can reduce the stripe generation bandwidth significantly compared to NCScale. For example, with k=10, m=4, and N=2(3k+m), xStripeMerge can reduce the average stripe generation bandwidth by 72% compared to NCScale. Figure 4 (e) shows the average wide stripe generation bandwidth of NCScale and xStripeMerge-P, xStripeMerge-G under the condition that the parameters are set to N=4(3k+m), k=8, and 2≤m≤4. When m is 2 and 3, the average wide stripe generation bandwidth is slightly smaller than that of N=2(3k+m). This is because, with a sufficient number of nodes, the data blocks in the narrow stripes are more dispersed, making it less likely for data blocks to overlap between stripes. Since the stripe merging cost is determined by two parts—the data block migration cost and the parity block transmission cost—a more dispersed stripe distribution requires a lower data block migration cost.

[0044] Large-scale strip merging: Set the number of stripes to 10k, x=3, N=2(3k+m), k=8, 2≤m≤4. Figure 5 (a) shows the average stripe generation bandwidth of NCScale and xStripeMerge-P. Experimental results show that in large-scale stripe merging scenarios, xStripeMerge-P still significantly outperforms NCScale in performance. For example, with k=8 and m=4, xStripeMerge can reduce the average stripe generation bandwidth by 75.8% compared to NC scale. Figure 5 (b) shows the experimental results under the conditions of x=4, k=4, 2≤m≤4.

[0045] Experimental results show that both xStripeMerge-G and xStripeMerge-P outperform NCScale. However, due to its higher space complexity, xStripeMerge-G is not suitable for large-scale stripe merging scenarios. xStripeMerge-P, on the other hand, demonstrates excellent performance in both small-scale and large-scale stripe merging scenarios.

[0046] Regarding algorithm runtime, this application compares the actual runtime of two heuristic algorithms. The number of stripes is set to [100, 900], k=8, m=4, and the number of nodes N=2(2k+m). Figure 6 The actual running times of the two algorithms are shown. Experimental analysis reveals that when the number of stripes is [100, 900], the parity check heuristic algorithm takes no more than 3 seconds, while the heuristic greedy algorithm is very time-consuming.

[0047] In summary, this application models the wide stripe generation problem in erasure coding as a combinatorial optimization problem and proposes two heuristic multi-strip merging methods: a greedy heuristic and a partial odd-even block alignment heuristic. This application implements a prototype of the xStripeMerge algorithm and demonstrates through simulation experiments that the multi-strip merging method has better storage performance than StripeMerge and reduces a significant amount of data transfer during the wide stripe generation process compared to NCScale.

[0048] This application also provides a wide stripe generation system for multi-strip merging under erasure coding storage, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the steps of the above-described method. This wide stripe generation system for multi-strip merging under erasure coding storage can implement various embodiments of the above-described wide stripe generation method for multi-strip merging under erasure coding storage and achieve the same beneficial effects; further details are omitted here.

[0049] The preferred embodiments of the present invention have been described in detail above. It should be understood that those skilled in the art can make numerous modifications and variations based on the concept of the present invention without creative effort. Therefore, all technical solutions that can be obtained by those skilled in the art based on the concept of the present invention through logical analysis, reasoning, or limited experimentation on the basis of existing technology should be within the scope of protection defined by the claims.

Claims

1. A method for generating wide stripes by merging multiple stripes under erasure coding storage, characterized in that, include: S1: Calculate the wide-strip generation bandwidth of multiple narrow-strip combinations and model the generation problem as a combinatorial optimization problem; S2: Determine the objective function of the combinatorial optimization problem with the goal of finding a stripe combination scheme with the minimum wide stripe generation bandwidth; S3: Solve the objective function using a pre-defined heuristic algorithm to solve the combinatorial optimization problem; S4: Perform erasure coding storage steps based on the solution results; S1 includes: S11: Define the data block migration operation as... indivual Strips merged into a single Striping, the number of data blocks in a stripe from Increase to And define the parity block transfer operation as transferring parity blocks from different nodes to the same node; S12: Will a narrow strip Divided into A narrow strip combination , Each combination It contains x narrow strips that can be merged into a single wide strip. ; S13: Calculation The data block migration cost and parity block transmission cost required to generate wide stripes; S14: Based on the data block migration cost and the parity block transmission cost, the total data transmission bandwidth for generating wide stripes is obtained, and the wide stripe generation problem of merging multiple stripes is modeled as a combinatorial optimization problem. The combination Data block migration cost required to generate wide stripes The following relationship must be satisfied: ; in, This represents the number of data blocks in the narrow stripe. It is a Boolean value representing the combination. Whether the data block of the medium-narrow stripe is stored in node j. This indicates the number of storage nodes in the storage system; combination Parity block transmission cost required to generate wide stripes The following relationship must be satisfied: ; in, It is a Boolean value, representing Is the p-th group of odd and even blocks in the narrow strip stored at node j? Indicates the number of odd and even blocks in a narrow strip; The objective function satisfies the following relationship: ; in, This represents all different combinations of narrow strips.

2. The method for generating wide stripes by merging multiple stripes under erasure coding storage according to claim 1, characterized in that, The preset heuristic algorithm includes a first heuristic algorithm; The step of solving the objective function using a preset heuristic algorithm includes: Get The cost of merging narrow strip combinations; Construct a set consisting of narrow strip combinations and their corresponding merger costs; For the set The merging costs of the narrow strip combinations are sorted in ascending order, and the total time complexity of the heuristic algorithm is determined to satisfy the following relationship: ; in, For the number of stripes, The number of narrow strips in each narrow strip combination.

3. The method for generating wide stripes by merging multiple stripes under erasure coding storage according to claim 1, characterized in that, The preset heuristic algorithm includes a second heuristic algorithm; The step of solving the objective function using a preset heuristic algorithm includes: Construct a search table and an even / odd block aligned hash table, initializing the search table using an m×m identity matrix; The search table for the corresponding x value is obtained through recursion, and the search is performed based on the search table. The specific search process includes two parts: odd-even block alignment search and greedy search. The total time complexity of this heuristic algorithm is determined to satisfy the following relationship: ; in, For the number of stripes, The number of narrow strips in each narrow strip combination.

4. The method for generating wide stripes by merging multiple stripes under erasure coding storage according to claim 1, characterized in that, In the process of merging several narrow stripes into a wide stripe, the odd and even blocks in the wide stripe can be obtained by encoding the odd and even blocks of the narrow stripe.

5. A wide stripe generation system for multi-strip merging under erasure coding storage, 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 steps of the method described in any one of claims 1 to 4.

Citation Information

Patent Citations

  • Strip merging method and system based on erasure codes

    CN113626250A

  • Stripe merging method and system based on erasure codes

    US11467905B1