CN111385200B - Control method and device for data block repair - Google Patents
Control method and device for data block repair Download PDFInfo
- Publication number
- CN111385200B CN111385200B CN202010144314.4A CN202010144314A CN111385200B CN 111385200 B CN111385200 B CN 111385200B CN 202010144314 A CN202010144314 A CN 202010144314A CN 111385200 B CN111385200 B CN 111385200B
- Authority
- CN
- China
- Prior art keywords
- repair
- node
- bandwidth
- data block
- information providing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
A control method and device for data block repair are provided, wherein the method comprises the following steps: acquiring a topological structure of a data center and a repair information providing node and a target repair node for repairing a data block; determining a maximum bottleneck bandwidth in the topological structure according to the repair information providing node and the target repair node; the bottleneck bandwidth is the minimum available bandwidth of a link connecting the repair information providing node and the target repair node; determining a link with the minimum transmission cost in the topological structure according to the maximum bottleneck bandwidth; and repairing the data block according to the repair information providing node, the target repair node, the maximum bottleneck bandwidth and the link with the minimum transmission cost, thereby effectively improving the repair efficiency of the data block.
Description
Technical Field
The present application relates to the field of data repair technologies, and in particular, to a control method and apparatus for repairing a data block.
Background
With the increasing demand for data storage, many applications typically store large amounts of data generated in a data center. To ensure storage requirements, the demand on storage systems is also increasing.
Disclosure of Invention
The invention aims to provide a control method and a control device for data block repair, which effectively improve the repair efficiency of a data block by maximizing bottleneck bandwidth and then minimizing transmission cost.
To solve the above problem, a first aspect of the present invention provides a control method for data block repair, including: acquiring a topological structure of a data center and a repair information providing node and a target repair node for repairing a data block; determining a maximum bottleneck bandwidth in the topological structure according to the repair information providing node and the target repair node; the bottleneck bandwidth is the minimum available bandwidth of a link connecting the repair information providing node and the target repair node; determining a link with the minimum transmission cost in the topological structure according to the maximum bottleneck bandwidth; and repairing the data block according to the repair information providing node, the target repair node, the maximum bottleneck bandwidth and the link with the minimum transmission cost.
Further, the determining, according to the repair information, a maximum bottleneck bandwidth in the topology structure by the providing node and the target repair node further includes: acquiring bottleneck bandwidth between any two nodes in the topological structure; identifying a maximum value of a bottleneck bandwidth in a link connecting the repair information providing node and the target repair node.
Further, the determining, in the topology structure, a link with a minimum transmission cost according to the maximum bottleneck bandwidth further includes: deleting a link, of which the bottleneck bandwidth is smaller than the maximum bottleneck bandwidth, in a link connecting the repair information providing node and the target repair node; identifying a minimum Steiner tree connecting the repair information providing node and the target repair node in remaining links.
Further, identifying coincident nodes of any two links in the minimum Steiner tree; and at a first one of the coincident nodes, aggregating information provided by the repair information providing nodes in the two links.
Further, the repairing the data block according to the link with the smallest repair information providing node, the target repair node, the maximum bottleneck bandwidth, and the transmission cost further includes: and aggregating the information provided by all the repair information providing nodes at the target repair node so as to repair the data block.
According to another aspect of the present invention, there is provided a control apparatus for data block repair, comprising: the data block recovery system comprises an acquisition module, a recovery module and a recovery module, wherein the acquisition module is used for acquiring a topological structure of a data center and a recovery information providing node and a target recovery node which are used for recovering a data block; a first determining module, configured to determine, according to the repair information providing node and the target repair node, a maximum bottleneck bandwidth in the topology; the bottleneck bandwidth is the minimum available bandwidth of a link connecting the repair information providing node and the target repair node; a second determining module, configured to determine, according to the maximum bottleneck bandwidth, a link with a minimum transmission cost in the topology; and the repair module is used for repairing the data block according to the repair information providing node, the target repair node, the link with the minimum maximum bottleneck bandwidth and the minimum transmission cost.
The technical scheme of the invention has the following beneficial technical effects: not only has fast repair speed, but also has lower bandwidth consumption. It is worth noting that the core of the present application is to implement intra-network aggregation that can efficiently repair failed data blocks while achieving lower bandwidth consumption than existing approaches.
Drawings
FIG. 1 is a schematic topology diagram of an embodiment of the present invention;
FIG. 2 is a block diagram illustrating a method for repairing failed data blocks using a tree structure according to an embodiment of the present invention;
FIG. 3 is a block diagram illustrating an aggregation using servers on intermediate links according to an embodiment of the present invention;
fig. 4 is a schematic diagram of an aggregation using an intermediate switch according to an embodiment of the present invention;
fig. 5 is a schematic diagram of a pruning method for finding a shortest path according to an embodiment of the present invention;
FIG. 6 is a schematic diagram of a pruning method for finding a minimum Steiner tree according to an embodiment of the present invention;
FIG. 7 is a flowchart of a control method for data block repair according to an embodiment of the present invention;
FIG. 8 is a flow chart of a control method for data block repair according to one embodiment of the present invention;
FIG. 9 is a flowchart of a control method for data block repair according to another embodiment of the present invention;
FIG. 10 is a schematic structural diagram of a control apparatus for data block repair according to an embodiment of the present invention;
FIG. 11 is a graph illustrating the comparison of bottleneck bandwidths of different methods according to an embodiment of the present invention;
FIG. 12 is a graph illustrating the results of comparing the transmission costs of different methods according to one embodiment of the present invention;
FIG. 13 is a comparison of bottleneck bandwidths of the present application in different topologies according to an embodiment of the present invention;
FIG. 14 illustrates the transmission cost savings of the present application compared to a bandwidth optimization method in an embodiment of the present invention;
FIG. 15 shows that the transmission cost of the present application varies with the number of providers and the size of the topology according to an embodiment of the present invention;
FIG. 16 is a transmission cost under a tree topology according to an embodiment of the present invention;
FIG. 17 illustrates the increased bottleneck bandwidth and saved transmission cost of the present application compared to the tree structure approach in an embodiment of the present invention;
FIG. 18 illustrates a comparison of bottleneck bandwidth values for a 12 number provider in an embodiment of the invention;
FIG. 19 is a comparison of transmission costs in an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention will be described in further detail with reference to the accompanying drawings in conjunction with the following detailed description. It should be understood that the description is intended to be exemplary only, and is not intended to limit the scope of the present invention. Moreover, in the following description, descriptions of well-known structures and techniques are omitted so as to not unnecessarily obscure the concepts of the present invention.
In the drawings a schematic view of a layer structure according to an embodiment of the invention is shown. The figures are not drawn to scale, wherein certain details are exaggerated and possibly omitted for clarity. The shapes of various regions, layers, and relative sizes and positional relationships therebetween shown in the drawings are merely exemplary, and deviations may occur in practice due to manufacturing tolerances or technical limitations, and a person skilled in the art may additionally design regions/layers having different shapes, sizes, relative positions, as actually required.
It is to be understood that the embodiments described are only a few embodiments of the present invention, and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
In the description of the present invention, it should be noted that the terms "first", "second", and "third" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance.
In addition, the technical features involved in the different embodiments of the present invention described below may be combined with each other as long as they do not conflict with each other.
The invention will be described in more detail below with reference to the accompanying drawings. Like elements in the various figures are denoted by like reference numerals. For purposes of clarity, the various features in the drawings are not necessarily drawn to scale.
In the following description, numerous specific details of the invention, such as structure, materials, dimensions, processing techniques and techniques of the devices are described in order to provide a more thorough understanding of the invention. However, as will be understood by those skilled in the art, the present invention may be practiced without these specific details. Unless otherwise specifically noted below, various portions of the semiconductor device may be composed of materials well known to those skilled in the art.
It should be noted that, in a data center for storing data, a distributed storage system implements large-scale storage of data by deploying a large number of storage nodes. To improve the storage service's instructions, many distributed storage systems, such as google and microsoft storage systems, use erasure codes to improve storage reliability and reduce storage space overhead. These storage systems typically distribute large amounts of data among multiple servers across a data center, where each server holds a portion of the encoded data, avoiding file loss due to machine failure.
Even with preventive measures, data loss is common in data centers. Moreover, data center hardware damage can also cause data loss, such as disk damage and server failure. When a data block fails due to a failure of the original storage node, a number of related data blocks from other storage servers (becoming providers) will be transferred to a new node (called the newcomer) to repair the failed data block. The repair process typically consumes a large amount of bandwidth, placing considerable pressure on the data center network. In order to solve the problem of broadband consumption, a scheme is needed for guiding data blocks to be aggregated in the repair process. However, these schemes focus on the scheduling between providers and newcomers, which partially aggregate data blocks according to a certain scheme, and eventually complete the repair of failed blocks. Although these methods achieve some improvement, scheduling only between providers still incurs a lot of network overhead.
It is well known that in server-centric data centers, servers are often used as switching nodes. Of course, these servers may also be used to aggregate data blocks. In addition, switches are also often deployed to process and cache some intermediate data. Therefore, unlike previous work, the present application will enable a significant reduction in traffic volume using intra-network aggregation during transmission. When data blocks are transmitted from a provider to a new recipient, they pass through many intermediate nodes in the network, which mainly include some servers and switches. The application may aggregate these data blocks at the intermediate nodes rather than direct them to a particular storage node. The respective data streams may then be naturally aggregated along the transmission path.
To repair failed data blocks efficiently, two major challenges need to be addressed first. The first is the heterogeneity of available bandwidth across different links. Efficient data block repair is difficult to achieve by means of hardware alone, and repair of a failed data block is a cooperative process among a plurality of related nodes. Congestion in one link can slow down the entire repair process. A second challenge is how to efficiently select the transmission link. This is because different links may incur different transmission costs. Simply looking for a link with a high available bandwidth usually entails considerable transmission costs, since this may take up more links for transmission over links with as high an available bandwidth as possible. Therefore, an efficient scheme is needed to control the transmission cost during the repair process.
The following describes a cloud-computing data center.
Cloud computing typically requires the storage and processing of large amounts of data. Data fault tolerance has important significance for cloud computing. In a distributed system, data is typically broken up into multiple data blocks, stored on different nodes, which consist of a large number of storage devices distributed in a data center. However, stored data is often lost or invalidated due to disk failures, downtime, and the like. To this end, distributed systems employ redundancy mechanisms to ensure the reliability of data storage.
Duplication is a classical solution. The original data is replicated in multiple copies and stored on different nodes. Although the method of replication is simple and practical, it consumes a large amount of storage space, and for this reason, many distributed storage systems employ new fault-tolerant methods, such as erasure codes, network coding, etc., to reduce the consumption of storage space.
The storage method of the erasure code divides original data into a plurality of data blocks and then generates a plurality of redundant blocks. Specifically, in a (k, m) -erasure code based storage system, a source node splits a source file into k blocks of the same size, denoted as D1,D2,D3,…,Dk. The encoding process can be seen as a matrix-vector multiplication, where the vectors of k blocks are multiplied by a particular matrix a, as shown in equation (1). The matrix a is referred to as a generator matrix, wherein,representing the galois field over q, i 1,2, …, m, j 1,2, …, k, resulting in m redundant blocks, R1,R2,…,Rm。
When the downloading node wants to restore the original file, it only needs to obtain any k blocks P from the k + m data blocks1,P2,…,PkThe original data, D, can be recovered1,D2,…,Dk. As shown in formula (2), A' is represented by P1,P2,…,PkThe decoding process is a linear transformation.
An erasure code based storage system will recover the original file when the application needs to read the file. However, a more common operation in daily storage is to repair failed data blocks. In an erasure coding system, the system can recover the source file as long as there are k available data blocks. However, if the failed block is not repaired in time, the data will eventually be unusable due to too much damage. Node failures in data centers are common, and therefore, the repair of failed data blocks is a routine task in distributed storage systems.
When a data block fails due to a failure of the original storage node, k data block blocks from k providers need to be transferred to a new storage node, called the newcomer, which receives the blocks and regenerates the originally failed data block to maintain redundancy. This repair process is a linear combination of k data blocks, as shown in equation (3).
P1,P2,…,PkAre k blocks of data from k providers, the corresponding matrix of decoding coefficients is denoted as beta1,β2,…,Representing a galois field over q. P*The data blocks to be repaired are represented, the repairing process can be regarded as a linear combination of k data blocks, and the size of each added data block is kept unchanged in the whole repairing process.
The conventional data block repair method is called a star structured scheme. The newcomer receives all the involved data blocks P1,P2,…,PkAnd then aggregate them locally. This often results in link congestion at the newcomer. It has been pointed out in the related art that inefficient repair of erasure codes has become a bottleneck that restricts its widespread use. Therefore, there is a need to improve the original data block repair method to improve the efficiency of data block repair.
Further, in order to repair a failed data block, the network transmission time takes up to 94% of the repair time. Therefore, the existing data block optimization repair method mainly focuses on network transmission. Another related art proposes a method for constructing a spanning tree to repair a failed data block, which becomes a tree structure scheme. The core idea of this tree structure scheme is to find a spanning tree based on the available bandwidth between the provider and the new receiver. Unlike the conventional star-structured scheme, this tree-structured scheme requires the storage node to transmit the processed data block βiPiInstead of the original data block Pi. The intermediate nodes in the spanning tree receive the data blocks from their child nodes and then aggregate them with the local data blocks, generating new intermediate data blocks. There is also a tree-structured scheme to reduce the path length of the transmission. The difference is that the goal is to reduce the transmission cost, but this method cannot effectively guarantee the transmission speed.
The goal of the tree structure method is to find a connection liftSpanning trees for the donor and the newcomer. For (k, m) -based erasure code storage systems, the present application represents a node as V ═ V0,v1,v2,…,vkIn which v is0e.V is a new party, other V1,v2,…,vkIs a provider. The newcomers receive the data blocks from the providers. Side set v1,v2,…,vkRepresenting a slave node viTo node vjThe path of (2). Each edge has a weight w (v)i,vj) W (v) if the maximum transmission speed is desiredi,vj) Representing a node viAnd node vjOf the available bandwidth in between, w (v) if the minimum transmission cost is desiredi,vj) Representing a node viAnd node vjThe path length in between. The repair model for a failed data block may be represented as a weighted undirected complete graph G ═ V, E, W. The goal of the tree structure approach is to find a maximum/minimum spanning tree in graph G.
Note that the nodes in the weighted undirected graph G ═ V, E, W are providers and newcomers, where the set of nodes is V, the set of edges is E, and the set of edge weights is W. The tree structure approach only focuses on building spanning trees between these providers and new receivers, ignoring nodes on the transmission path. This may result in some physical links in the actual topology of the data center being repeatedly occupied, resulting in a true transmission speed that is lower than the theoretical value. In contrast, the method is based on a complete data center topological structure, and nodes except the storage node on the transmission path participate in the repair process, so that the efficiency of repairing the failed data block is further improved.
Specifically, first, data block repair refers to building a spanning tree connection provider and newcomers. In this spanning tree, providers (leaf nodes or intermediate nodes) transmit data blocks βiPiIntermediate nodes in the spanning tree to the new-from (root node.) aggregate data blocks from children and send the aggregated data blocks to their parents. The newcomer then receives all the data blocks and generates a final data blockk represents a total of k providers.
In order to optimize the transmission speed of data block repair, the current tree structure method constructs a maximum spanning tree according to a weighted undirected complete graph. This spanning tree connects the provider and the newcomer. Providers on leaf nodes transfer blocks of data to their parent nodes. Furthermore, a provider acting as an intermediate node in the spanning tree may aggregate these data blocks from its children nodes and then transfer the aggregated data blocks to the parent node. The new party performs as a root node the reception of data blocks from these child nodes and the repair of failed data blocks. In erasure code based storage systems, data blocks are encoded in units of bits, and thus, intermediate nodes can aggregate data immediately upon receiving the data, much like an assembly pipeline. That is, regardless of the computation time, the minimum bandwidth of the spanning tree determines the repair speed.
Fig. 1 is a schematic diagram of a topology (a topology composed of 6 servers and 2 switches) according to an embodiment of the present invention. As shown in FIG. 1, server s2Is a new party to repair failed data blocks, and server s3、s4And s6Is a provider. In this topology, the servers also act as switches, which is very common in server-centric topologies, where the weights of the edges represent the available bandwidth between the nodes.
Fig. 2 is a schematic structural diagram of repairing a failed data block by using a tree structure method according to an embodiment of the present invention. Wherein the provider is v1=s3,v2=s4And v3=s6And the new one is v0=s2. The tree structure approach aims at constructing a maximum spanning tree, where the weight values of the edges represent the maximum available bandwidth between the nodes. The repair method of the above example is node v1Transmitting coded data blocks, e.g. beta1P1To node v2. The node encodes its own block of coded data, e.g. beta2P2And encoding it into a data block beta2P2And beta1P1And (4) polymerizing. Aggregated data block beta1P1+β2P2Is transmitted to a new party v0. Notably, the aggregated data block β1P1+β2P2And coded data block beta1P1The sizes are the same. Node v3Transmitting its coded data block beta3P3Coming directly to the new person v0Finally, the new person v0Repairing failed data blocks P*,P*=β1P1+β2P2+β3P3. As can be seen from fig. 2, the minimum available bandwidth of the spanning tree is 43.
From this, it can be seen that the undirected graph G is represented by the node V (V, E, W)0=s2,v1=s3,v2=s4And v3=s6Structure wherein V ═ { V ═ V0,v1,v2,v3}. W middle edge weight W (v)i,vj) Representing the maximum available bandwidth between these nodes. Further, the complete transmission path of the topology in fig. 1 is:
path(v1,v2)={s3,w2,s5,s4},path(v2,v0)={s4,s1,s2},
path(v3,v0)={s6,s5,s4,s1,s2}
it can be seen that the link(s)5,s4),(s4,s1) And(s)1,s2) Are repeatedly occupied, and therefore, the tree structure scheme cannot effectively guarantee the actual bandwidth.
A more reasonable approach is to find the spanning tree from the global topology and aggregate the data blocks along the path at some intersecting intermediate nodes. E.g. servers s5Aggregating data from a server s3And s6Then server s5Sending the aggregated data block to s4As shown in fig. 3. Such asThe minimum bandwidth of the scheme is also 43, and no link is reused, which is an advantage of the aggregation method within the network. In particular, as shown in fig. 4, when aggregation is performed using a switch, only 5 links may be used instead of 6 links, thereby further saving transmission costs.
For undirected complete graph G ═ (V, E, W) obtained from a data center, the set of providers and newcomers is denoted as M ═ { V ═ V0,v1,v2,…,vkIn which v is0Indicates a new party, v1,v2,…,vkIs taken as a representative provider. Node v may also aggregate data blocks since the switches of the data centeriWhich may be a switch or server of node assembly V. Wherein | V | is used in the present application to represent the number of nodes in the node set V. Edge E in EijRepresenting a connecting node viAnd vj(vi,vjE.v). Edge weight W (e) in Wij) Represents an edge eijThe available bandwidth of (a). In order to efficiently repair failed data blocks, the core of the aggregation mechanism of the application is to find a spanning tree TMTo connect all nodes in M, (V ', E'), wherein,
further, the bottleneck bandwidth of the spanning tree refers to the minimum available bandwidth of all links in the spanning tree. Each link in the data center transports data from a different service. Occupying a link reduces its available bandwidth and affects the transmission of other services. In addition, the bottleneck bandwidth determines the repair speed of the failed data block. Therefore, a first objective of the present application is to find the maximum bottleneck bandwidth B, thereby guaranteeing the highest transmission speed. The spanning tree with the largest bottleneck bandwidth is called the maximum bottleneck spanning tree. Formalizing the target as equation (4), where w (e)ij) Represents an edge eijE, available bandwidth of E. The first constraint in equation (4) is to ensure that an edge E is selected from the set of edges EijE.g. E. The second constraint is to guarantee TMIn the set M consisting of all providers and new receivers, (V ', E') may be connectedAnd (4) nodes.
Further, the transmission cost refers to the number of links in the spanning tree.
Specifically, in an erasure-coded storage system, original data is divided into k data blocks, each of which is the same size. In repairing failed data blocks, the bandwidth consumed is proportional to the number of occupied links, since each occupied link transmits a data block of the same size. Thus, the transmission cost refers to the number of links connecting k providers and new receivers in the corresponding spanning tree. In addition, the more links a transmission occupies, the more bandwidth it consumes. Therefore, a second objective of the present application is to construct a spanning tree with the lowest transmission cost. Wherein the second objective is as shown in equation (5), the objective in equation (5) guarantees the lowest transmission cost, wherein the second constraint guarantees that the available bandwidth of the used link is higher than the bottleneck bandwidth B.
Based on the first and second objectives, the present application can find a spanning tree T with the largest bottleneck bandwidthM(V ', E') while the transmission cost is as small as possible.
It can be seen that the pure pursuit of bandwidth maximization often brings unnecessary extra transmission cost, as shown in fig. 1, if only the first objective is considered, it is easy to find the slave node v0The maximum bottleneck path to each storage node, the spanning tree used is then composed as the path in fig. 3. However, the bottleneck bandwidth of the spanning tree determines the transmission speed. It is not necessary to always search for the link with the highest bandwidth. In other words, as long as the link bandwidth in the spanning tree is greater than or equal to the bottleneck bandwidth of the spanning tree, the transmission speed is not affected. For the example in fig. 3, the bottleneck bandwidth is 43, so links with a bandwidth greater than 43 can be used to transmit dataBlocks without reducing the speed of repair, rather than directing data blocks to the server s5Polymerization is performed so that the transmission cost can be further reduced. The bottleneck bandwidth in fig. 4 is also 43, and the transmission cost is significantly lower than that in fig. 3, so that the transmission cost can be further reduced under the condition that the spanning tree bottleneck bandwidth is kept unchanged.
The following provides a control method and apparatus for data block repair, which is proposed by the present application with reference to the accompanying drawings.
Based on the above analysis, the first step of the method proposed in this application is to establish a maximum bottleneck spanning tree, find its maximum bottleneck bandwidth B, as shown in equation (4), this maximum bottleneck spanning tree should include all providers and newcomers. Providers in this spanning tree act as leaf nodes or intermediate nodes, while newcomers act as root nodes. Other nodes of the data center may participate in the repair process of the data block. They are responsible for forwarding data blocks or aggregating some intermediate blocks. This is different from previous tree structure patterns, where only the provider and the newcomer can aggregate these intermediate data blocks.
In addition, the following is viTo vjThe maximum bottleneck path of (c) is the connection v in the weighted undirected graphiAnd vjAnd bottleneck the path with the largest bandwidth.
To find the maximum bottleneck bandwidth B, a maximum bottleneck spanning tree is first constructed, and in a weighted undirected graph G ═ V, E, W, a maximum bottleneck path from all providers to the new receiver is first constructed. Intermediate nodes on these paths may forward the data blocks and aggregate some intermediate blocks. All paths then form a spanning tree Ts=(Vs,Es,Ws). This spanning tree TsIncluding all nodes in M and some others in V. These nodes together form Vs. Each path from the newcomer to the provider is made up of a plurality of links eijComposition, all links contained in these paths constitute an edge set Es. Their weights form a weight set W.
Furthermore, the bottleneck bandwidth of the spanning tree refers to the minimum available bandwidth between all links in the spanning treeBandwidth. To get the maximum bottleneck spanning tree Ts=(Vs,Es,Ws) The minimum weight is searched for the bottleneck bandwidth B to obtain the bottleneck bandwidth B as max (minw (e)ij)),eij∈Es。
The present application assumes that there is a spanning tree Ts', with a bottleneck value greater than TsSince the bottleneck bandwidth of the spanning tree is the minimum bottleneck value of all paths from the leaf node to the root node, the bottleneck value of the spanning tree is B, and T iss' in this example, the minimum bottleneck value of all paths from leaf node to root node is greater than TsIs contradictory, because at T, there is a bottleneck value of BsIn this example, each path from a leaf node to a root node is a maximum bottleneck path. Thus, the maximum bottleneck spanning tree Ts=(Vs,Es,Ws) Any other spanning tree containing node set M in (V, E, W) has the same or higher bottleneck bandwidth than G.
Therefore, the method constructs a maximum bottleneck spanning tree, and finds the maximum bottleneck path between each provider and each new receiver respectively. Using MaxBottlePath (v)i,vj) To be calculated to pair node viAnd vjThe largest bottleneck path in between. In having a source node viAnd a target node vjIn the weighted undirected graph G, each edge eij,eijE, its weight w (E)ij),w(eij) e.W are arranged in descending order. From the source node viInitially, according to the weight of the undirected graph G, selecting an edge joining path from the graph G to form a path connection viAnd vjWithout creating a loop. Thus, this path connects viAnd vjBecause the most weighted edge is selected to connect the two nodes each time.
After obtaining the maximum bottleneck paths from each provider to the new receiver, a spanning tree, i.e. a maximum bottleneck spanning tree, can be formed according to the maximum bottleneck paths, and all the providers and the new receivers are connected. Compared with a tree structure scheme in the related technology, the maximum bottleneck spanning tree obtained by the method guarantees the maximum bottleneck bandwidth based on the global topology. In contrast, the tree structure scheme may cause congestion of some links in the actual topology, thereby reducing the transmission speed.
Taking the topology of FIG. 1 as an example, where v0=s2Is a new one, and v1=s3,v2=s4And is v3=s6A provider. As previously described, to build the maximum bottleneck spanning tree, a maximum bottleneck path is searched between the new caller and each provider. The following paths are obtained:
from v1To v0:s3→w2→s5→s4→s1→s2;
From v2To v0:s4→s1→s2;
From v3To v0:s6→s5→s4→sj→s2;
In this maximum bottleneck spanning tree, node s5From v1=s3And v3=s6And aggregating the data blocks. v. of2=s4Polymerized from s5And s4The data block of (1). The result is shown in fig. 3, where the bottleneck bandwidth B is max (minw (e)ij))=43,w(eij)∈Ws. In this way, it is guaranteed that the transmission bandwidth of the spanning tree is maximal.
The second stage of the present application is to reduce the transmission cost while ensuring the maximum bottleneck bandwidth. Since the transmission speed of the spanning tree is related to its bottleneck bandwidth. Finding the maximum bottleneck spanning tree may guarantee maximum transmission speed, but its transmission cost may be relatively high. Therefore, blindly finding the link with the largest available bandwidth often results in extra consumption, resulting in a transmission path that is too long and takes too many links. In fact, only links with a larger available bandwidth than the bottleneck bandwidth B of the spanning tree need to be found, which does not affect the transmission speed, but also a large amount of available bandwidth can be saved for other transmission tasks.
In constructing the maximum bottleneck spanning tree Ts=(Vs,Es,Ws) In time, the tree T is generated without considering the transmission costsThe objective of minimizing the transmission cost in equation (5) may not be satisfied, and therefore, it is necessary to further reduce the transmission cost without affecting the transmission speed.
Since the number of links in the spanning tree affects the transmission cost, it is necessary to find the maximum bottleneck spanning tree with the least number of links. In order to achieve this goal, the present application further needs to modify the original topology map G ═ (V, E, W) according to the maximum bottleneck bandwidth B, and specifically may adopt the function updatetopology (B). If the weight of one link in the weighted undirected graph G is lower than the threshold B, it is removed from the graph G. Thus, the weights of the remaining links are all greater than or equal to the bottleneck bandwidth B. Further, the modified graph is represented as updatetopology (b). Obviously, minw (e)ij) Not less than B, whereinNote that the threshold B is difficult to set manually in advance, and if the preset threshold is too large, the pruned graph G' may not connect all providers and newcomers, and conversely, if the preset threshold is too small, the transmission speed is limited.
Thus, the pruned graph G' can guarantee the connection between the provider and the newcomer. Wherein, the spanning tree TsIs the largest bottleneck spanning tree in graph G, TsAll providers and newcomers may be connected. At the same time, EsThe edge weights in (1) are not less than B. That is, TsAll edges in (a) are derived from graph G, i.e.Thus, at least a spanning tree T is generatedsIt connects all the providers and newcomers in the graph G'. This is illustrated in FIG. TsIn this case, a spanning tree must be found whose transmission cost is less than or equal to the maximum bottleneck spanning tree TsConnecting the provider and the newcomer. Therefore, in order to reduce transmission costs, it is desirable to connect these providers and newcomers with as few links as possible.
In particular, reduce the outgoing costA simple method is to find the shortest path between each provider and the new receiver in G' in the graph. Defining a set of binding groups C, wherein C (e)ij)=1,c(eij) E.g. C. For each edge e of the graph Gij∈EcWeighted value of edge w (e)ij) Replacement by c (e)ij) E.g. C, to obtain a new graph Gc′=(V,EcAnd C). That is, graph GcAll edges in' are weighted by 1. Then, in the graph Gc' finding the shortest paths from each provider to the new provider, these paths forming a spanning treeWhereinNodes at path intersections aggregate data blocks. Spanning tree TMIs equal to the maximum bottleneck bandwidth B, but the transmission cost is further reduced.
It can be seen through analysis that the above-mentioned deletion method can reduce the transmission cost, but the effect is not perfect.
The maximum bottleneck spanning tree with the lowest transmission cost is connected with all providers and newcomers, and the minimum links are consumed on the premise of ensuring that the bottleneck bandwidth is unchanged. In the figure TMFinding this spanning tree allows for the addition of other intermediate nodesJoining spanning tree TMTo reduce transmission costs, which is the minimum steiner tree problem.
As shown in FIGS. 5 and 6, node v1And v2Is a provider, v0Is a new one. V is respectively obtained by using a deleting method for obtaining the shortest path1And v0、v2And v0The shortest path between them. As can be seen from fig. 5, the transmission cost is 3+ 4-7, but if the data block is aggregated to the node v3In this way, the transmission cost can be further reduced, as shown in fig. 6, which is 6. Therefore, it is necessary from a global perspectiveA spanning tree is constructed to minimize the total transmission cost. Therein, it should be understood that in practical applications, when the transmission link as shown in fig. 6 is employed, also at node v3Go up to pair node v1And v2Aggregation of information to reduce newcomers v0The pressure of the polymerization.
Thus, the method of the present application can be understood as: input data center topology G and set M ═ v0,v1,v2,…,vkAnd M comprises a provider and a newcomer. The output is a spanning tree TMThe bottleneck bandwidth is the largest and the transmission cost is the lowest. Finding node v by MaxBottlePath functioniAnd vjThe largest bottleneck path in between, and then the edge whose weight is smaller than the bottleneck bandwidth B is deleted from the graph G by UpdateTopology. The algorithm first calculates the maximum bottleneck path between the newcomer and each provider and then records their bottleneck values. The minimum bottleneck value is the maximum bottleneck bandwidth B of the maximum bottleneck spanning tree. And then, deleting the original topology according to the maximum bottleneck bandwidth B, and deleting the link with the bandwidth lower than that of the bottleneck B. Using the remaining topology, a minimal steiner tree is found connecting all providers and the new node.
Fig. 7 is a flowchart of a control method for data block repair according to an embodiment of the present invention. As shown in fig. 7, the control method for data block repair according to the embodiment of the present invention includes the following steps:
s101: and acquiring a topological structure of the data center and a repair information providing node and a target repair node for repairing the data block.
It should be noted that the repair information providing node is the provider, and the target repair node is the newcomer.
S102: and determining the maximum bottleneck bandwidth in the topological structure according to the repair information providing node and the target repair node.
Where the bottleneck bandwidth is the minimum available bandwidth in the link connecting the provider and the new receiver.
According to an embodiment of the present invention, as shown in fig. 8, step S102 further includes:
s201: and acquiring the bottleneck bandwidth between any two nodes in the topological structure.
S202: identifying a maximum value of a bottleneck bandwidth in a link connecting the repair information providing node and the target repair node.
S103: and determining the link with the minimum transmission cost in the topological structure according to the maximum bottleneck bandwidth.
According to an embodiment of the present invention, as shown in fig. 9, step S103 further includes:
s301: and deleting the link with the bottleneck bandwidth smaller than the maximum bottleneck bandwidth in the links connecting the repair information providing node and the target repair node.
S302: a minimum steiner tree connecting the repair information providing node and the target repair node is identified in the remaining links.
It should be further noted that, in the embodiment of the present invention, after the minimum steiner tree is obtained, the method further includes identifying a coincident node of at least two links in the minimum steiner tree, and aggregating information provided by a repair information providing node in a link at a first coincident node in the coincident node, for example, in a topology structure as shown in fig. 6, at a node v, aggregating information provided by repair information providing nodes in links3Middle first pair of nodes v1And node v2The provided information is aggregated in the network and then is transmitted by the node v3And transmitting the data block to the target node for data block repair.
S104: and repairing the data block according to the repair information providing node, the target repair node, the maximum bottleneck bandwidth and the link with the minimum transmission cost.
Specifically, the information provided by all the repair information providing nodes is aggregated at the target repair node to repair the data block.
It should be noted that, in the foregoing content of the present application, the method of the present application has been analyzed in detail, and is not repeated again.
Specifically, the above method can be implemented by using the following codes:
fig. 10 is a control apparatus for data block repair according to an embodiment of the present invention. As shown in fig. 10, the control apparatus 100 for data block repair includes an obtaining module 10, a first determining module 20, a second determining module 30, and a repairing module 30.
The obtaining module 10 is configured to obtain a topology structure of a data center and a repair information providing node and a target repair node for repairing a data block; the first determining module 20 is configured to determine a maximum bottleneck bandwidth in the topology according to the repair information providing node and the target repair node; the bottleneck bandwidth is the minimum available bandwidth of a link connecting the repair information providing node and the target repair node; the second determining module 30 is configured to determine, according to the maximum bottleneck bandwidth, a link with the minimum transmission cost in the topology; the repair module 30 is configured to repair the data block according to the repair information providing node, the target repair node, the link with the smallest maximum bottleneck bandwidth and the smallest transmission cost.
Further, in order to verify the advantages of the present application, the method proposed by the present application is further verified.
Where 100 trials were conducted comparing bottleneck bandwidth and transmission cost at 12 providers. As can be seen from fig. 11, the method proposed in the present application achieves higher bottleneck bandwidth than the tree structure method and the cost optimization method. Compared with a tree structure method, the method has the advantage that the bottleneck bandwidth is increased by 4.06 times on average. This is because the tree structure method does not consider the data center topology, and due to repeated occupation of links, the tree structure method is difficult to reach the theoretical bottleneck bandwidth value, so that the actual bottleneck bandwidth is only a little higher than the cost optimization method. The cost-optimized approach ignores the available bandwidth of the link, and the bottleneck bandwidth is always kept at a low value. The bandwidth optimization method can obtain the same bottleneck bandwidth as the present application, and thus, it is not shown in the figure.
Fig. 12 compares the transmission costs of the different methods. The tree structure approach incurs higher transmission costs due to the reuse of links. In contrast, the bandwidth optimization method utilizes the intermediate node to aggregate the data blocks, thereby avoiding the possibility of repeatedly occupying the link and reducing the transmission cost. However, this increases the link consumption since it always selects links with as high bandwidth available as possible. The goal of the cost-optimized approach is to build a spanning tree with the lowest transmission cost, and therefore its transmission cost is the lowest of the three approaches. The transmission cost generated by the method adopted by the application is slightly higher than that of the cost-optimized method, because the transmission cost is effectively reduced in the second stage of the application. Compared with the tree structure method, the method reduces the transmission cost by 80.86%.
To further evaluate the influence of the topology size, it can be seen in fig. 13 that the larger the topology size is, the higher the bottleneck bandwidth obtained by the present application is. The reason is that as the size of the topology grows, more links with high available bandwidth in the data center can be selected, which enables a better construction of spanning trees with larger bottleneck bandwidths.
As shown in fig. 14, the transmission cost of the method and the bandwidth optimization method proposed by the present application is low. In different topologies, although the bandwidth optimization method can obtain the same bottleneck bandwidth as the method provided by the application, the transmission cost is far higher than the method provided by the application. The larger the topology scale is, the more the transmission cost can be reduced by the method provided by the application. The reason is that the number of links with high available bandwidth increases, which provides more alternative links to reduce transmission costs.
FIG. 15 evaluates the impact of a change in the number of providers on the cost of transmission. As the number of providers increases, the transmission cost of the method proposed by the present application increases slightly. In different fat-tree topologies, the difference in transmission cost is not significant because the fat-tree topology is composed of three-tier switches. Because the sizes of different topologies of fat-trees are determined by the parameter k, and the change of k does not affect the distance between nodes in the topology.
The transmission costs for the different methods are shown in fig. 16. The transmission cost of the tree structure method and the bandwidth optimization method is much higher than that of the method and the cost optimization method provided by the application under different provider numbers. When the number of providers is small, the bandwidth-optimized approach may consume more transmission cost than the tree-structured approach, since its goal is to obtain the highest bottleneck bandwidth, ignoring the number of consumed links. As the number of providers increases, the gains from aggregation within the network make the transmission cost of the bandwidth-optimized approach lower than the tree-structured approach. The transmission cost used by the method provided by the application is only slightly higher than that of the cost-optimal method, but the bottleneck bandwidth increase is very obvious, and the effectiveness of the method provided by the application is proved.
In fig. 17, the transmission cost and the bottleneck bandwidth of the method proposed by the present application and the tree structure method are compared. Compared with the tree structure method, the bottleneck bandwidth saving rate of the method provided by the application is higher and higher along with the increase of the number of providers. Since the more providers, the greater the likelihood of link collisions in the tree structure approach, the higher the transmission cost. The gain in bottleneck bandwidth is more pronounced as the number of providers increases. This is because in the tree structure approach, the increased link collisions greatly reduce its actual available bandwidth. Especially, when there are 12 providers, compared with the tree structure method, the method provided by the application can improve the bottleneck bandwidth by 2.86 times and reduce the transmission cost by 81.68%.
Further experiments were conducted to evaluate the bottleneck bandwidth when the number of providers was 12, as shown in fig. 18. Similar to the result of fat-tree topology, the method provided by the application obtains the highest bottleneck bandwidth compared with a tree structure method and a cost optimization method. Fig. 19 compares the transmission costs of these four methods in BCube topology. It can be seen that the transmission cost of the method proposed by the present application is slightly higher than that of the cost-optimized method, but is lower than that of the bandwidth-optimized method and the tree structure method. Somewhat different from the results of the fat-tree topology, the method proposed by the present application consumes higher transmission costs. This is because changing paths in BCube is likely to increase the path length, whereas in fat-tree, there are multiple paths with the same length between nodes. Nevertheless, the transmission cost of the proposed method is still significantly lower than the bandwidth optimized method and the tree structure method.
It is to be understood that the above-described embodiments of the present invention are merely illustrative of or explaining the principles of the invention and are not to be construed as limiting the invention. Therefore, any modification, equivalent replacement, improvement and the like made without departing from the spirit and scope of the present invention should be included in the protection scope of the present invention. Further, it is intended that the appended claims cover all such variations and modifications as fall within the scope and boundaries of the appended claims or the equivalents of such scope and boundaries.
In the above description, the technical details of patterning, etching, and the like of each layer are not described in detail. It will be understood by those skilled in the art that layers, regions, etc. of the desired shape may be formed by various means known in the art. In addition, in order to form the same structure, those skilled in the art can also design a method which is not exactly the same as the method described above.
The invention has been described above with reference to embodiments thereof. However, these examples are for illustrative purposes only and are not intended to limit the scope of the present invention. The scope of the invention is defined by the appended claims and equivalents thereof. Various alternatives and modifications can be devised by those skilled in the art without departing from the scope of the invention, and these alternatives and modifications are intended to be within the scope of the invention.
Although the embodiments of the present invention have been described in detail, it should be understood that various changes, substitutions, and alterations can be made hereto without departing from the spirit and scope of the invention.
It should be understood that the above examples are only for clarity of illustration and are not intended to limit the embodiments. Other variations and modifications will be apparent to persons skilled in the art in light of the above description. And are neither required nor exhaustive of all embodiments. And obvious variations or modifications therefrom are within the scope of the invention.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Claims (4)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010144314.4A CN111385200B (en) | 2020-03-04 | 2020-03-04 | Control method and device for data block repair |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010144314.4A CN111385200B (en) | 2020-03-04 | 2020-03-04 | Control method and device for data block repair |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111385200A CN111385200A (en) | 2020-07-07 |
| CN111385200B true CN111385200B (en) | 2022-03-04 |
Family
ID=71221434
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010144314.4A Active CN111385200B (en) | 2020-03-04 | 2020-03-04 | Control method and device for data block repair |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111385200B (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115617566B (en) * | 2022-09-22 | 2025-09-16 | 中国人民解放军国防科技大学 | Parallelized network aggregation repair method, system and equipment |
| CN119402453B (en) * | 2025-01-03 | 2025-05-06 | 中国人民解放军国防科技大学 | A hybrid acceleration method and device for repairing erasure code failed blocks |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103607304A (en) * | 2013-11-21 | 2014-02-26 | 中国人民解放军国防科学技术大学 | Erasure code based failure data linear restoration method |
| CN104468353A (en) * | 2014-12-26 | 2015-03-25 | 深圳市新格林耐特通信技术有限公司 | SDN based data center network flow management method |
| CN106209669A (en) * | 2016-06-30 | 2016-12-07 | 中国人民解放军国防科学技术大学 | Towards SDN data center network maximum of probability path stream scheduling method and device |
| CN107463462A (en) * | 2016-06-06 | 2017-12-12 | 华中科技大学 | Data recovery method and data prosthetic device |
| CN107943617A (en) * | 2017-11-17 | 2018-04-20 | 北京联想超融合科技有限公司 | Restorative procedure, device and the server cluster of data |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103688515B (en) * | 2013-03-26 | 2016-10-05 | 北京大学深圳研究生院 | An Encoding and Storage Node Restoration Method of Minimal Bandwidth Regenerating Codes |
| CN104052576B (en) * | 2014-06-07 | 2017-05-10 | 华中科技大学 | Data recovery method based on error correcting codes in cloud storage |
| CN105072194B (en) * | 2015-08-27 | 2018-05-29 | 南京大学 | A kind of storage data in distributed file system repair structure and restorative procedure |
| WO2017107107A1 (en) * | 2015-12-23 | 2017-06-29 | Intel Corporation | Techniques to recover data in a network storage system |
| US20170212919A1 (en) * | 2016-01-25 | 2017-07-27 | Netapp, Inc. | Bottom-up dense tree repair technique |
| CN105930232B (en) * | 2016-05-12 | 2018-11-30 | 南京大学 | A kind of simple regeneration code restorative procedure using network topological information |
| CN109194444A (en) * | 2018-09-01 | 2019-01-11 | 哈尔滨工程大学 | A kind of balanced binary tree restorative procedure based on network topology |
| CN109889440B (en) * | 2019-02-20 | 2021-02-02 | 哈尔滨工程大学 | Erasure code failure node reconstruction path selection method based on maximum spanning tree |
| CN110190926B (en) * | 2019-04-26 | 2020-09-18 | 华中科技大学 | Erasure code updating method and system based on network computing |
-
2020
- 2020-03-04 CN CN202010144314.4A patent/CN111385200B/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103607304A (en) * | 2013-11-21 | 2014-02-26 | 中国人民解放军国防科学技术大学 | Erasure code based failure data linear restoration method |
| CN104468353A (en) * | 2014-12-26 | 2015-03-25 | 深圳市新格林耐特通信技术有限公司 | SDN based data center network flow management method |
| CN107463462A (en) * | 2016-06-06 | 2017-12-12 | 华中科技大学 | Data recovery method and data prosthetic device |
| CN106209669A (en) * | 2016-06-30 | 2016-12-07 | 中国人民解放军国防科学技术大学 | Towards SDN data center network maximum of probability path stream scheduling method and device |
| CN107943617A (en) * | 2017-11-17 | 2018-04-20 | 北京联想超融合科技有限公司 | Restorative procedure, device and the server cluster of data |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111385200A (en) | 2020-07-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103688514B (en) | An Encoding and Storage Node Restoration Method of Minimal Storage Regeneration Code | |
| US9961142B2 (en) | Data storage method, device and distributed network storage system | |
| CN103810061B (en) | A kind of High Availabitity cloud storage method | |
| CN107544862A (en) | A kind of data storage reconstructing method and device, memory node based on correcting and eleting codes | |
| WO2014153716A1 (en) | Methods for encoding minimum bandwidth regenerating code and repairing storage node | |
| WO2020010505A1 (en) | Synchronization recovery method for data of distributed storage system, and storage medium | |
| CN105930232B (en) | A kind of simple regeneration code restorative procedure using network topological information | |
| CN110190926B (en) | Erasure code updating method and system based on network computing | |
| CN107003933B (en) | Construction method, device and data restoration method of partial replica code | |
| CN110764950A (en) | Hybrid coding method, data repair method, and system based on RS code and regeneration code | |
| CN111385200B (en) | Control method and device for data block repair | |
| CN114116696B (en) | Faulty node data reconstruction method considering node selection mechanism in cloud storage system | |
| CN112256471A (en) | Erasure code repairing method based on separation of network data forwarding and control layer | |
| CN107689983A (en) | Cloud storage system and method based on low reparation bandwidth | |
| CN117762696A (en) | Node data restoration method and device, distributed storage system, device and medium | |
| Xia et al. | Efficient in-network aggregation mechanism for data block repairing in data centers | |
| Zorgui et al. | Centralized multi-node repair in distributed storage | |
| CN108536555B (en) | Data access method based on BCube (n, b) data center | |
| JP2012033169A (en) | Method and device for supporting live check pointing, synchronization, and/or recovery using coding in backup system | |
| CN113157485B (en) | An Expansion Construction Method for Partially Repeated Codes | |
| WO2018209541A1 (en) | Coding structure based on t-design fractional repetition codes, and coding method | |
| CN110781163B (en) | Construction of Heterogeneous Partial Repetition Codes Based on Complete Graph and Repair Method of Faulty Nodes | |
| CN116781606A (en) | A network link processing method and computer-readable storage medium | |
| CN112995340B (en) | Block chain based decentralized file system rebalancing method | |
| Yang | Application-driven coding techniques: From cloud storage to quantum communications |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |