WO2022174537A1 - 一种条带数据存储结构及其构建、修复和更新方法 - Google Patents

一种条带数据存储结构及其构建、修复和更新方法 Download PDF

Info

Publication number
WO2022174537A1
WO2022174537A1 PCT/CN2021/100281 CN2021100281W WO2022174537A1 WO 2022174537 A1 WO2022174537 A1 WO 2022174537A1 CN 2021100281 W CN2021100281 W CN 2021100281W WO 2022174537 A1 WO2022174537 A1 WO 2022174537A1
Authority
WO
WIPO (PCT)
Prior art keywords
local
rack
data
blocks
group
Prior art date
Application number
PCT/CN2021/100281
Other languages
English (en)
French (fr)
Inventor
胡燏翀
程良锋
姚乔日
柯兆康
徐佳
Original Assignee
华中科技大学
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 华中科技大学 filed Critical 华中科技大学
Priority to US17/865,313 priority Critical patent/US12001278B2/en
Publication of WO2022174537A1 publication Critical patent/WO2022174537A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

Definitions

  • the invention belongs to the field of reliable data storage of computers, and more particularly, relates to a stripe data storage structure and a method for constructing, repairing and updating the same.
  • the (n, k) of the encoding strip is generally not very large, where k is the number of data blocks, and n is the total number of data blocks and check blocks.
  • (n,k) (9,6) in HDFS, (14,10) in f4, (16,12) in Azure, (18,15) in Pelican, etc.
  • n/k is still large, that is, the storage overhead of the distributed storage system is still large.
  • a larger (n, k) parameter such as (132, 128), so that n/k is close to 1, the storage cost can be greatly reduced.
  • larger (n, k) coding parameters will increase the repair cost of the data block, so it is of great significance to design a new local repair strategy to reduce the repair cost of the data block.
  • the purpose of the present invention is to provide a large-stripe data storage structure and its construction, repair and update methods, aiming to solve the problem of relatively large storage overhead and repair overhead in the existing erasure code storage system .
  • the present invention provides a stripe data storage structure, the stripe is (n, k, r, z), including a local group and a global group; the global group includes a rack for storing global checksums. block; each local group contains Each rack is provided with different storage nodes; different storage nodes store data blocks or local check blocks, and the total number of data blocks and local check blocks in each rack is c;
  • each local group stores a local check block and r data blocks; the storage nodes in each rack are greater than or equal to c; based on the rack fault tolerance attribute, c is less than or equal to the node fault tolerance f of the large stripe; n is the sum of all data blocks and check blocks in a strip; k is the data blocks in a large strip; the number of global check blocks is f-1; z is the total number of racks.
  • the strip data storage structure provided by the present invention supports the synchronization of multiple strips and adopts the multi-node coding technology.
  • the present invention provides a construction method of the stripe data storage structure, comprising the following steps:
  • Stripe-based parameters weighing stripe storage overhead and repair overhead across racks Set the data blocks in each local group; among them, the parameters include the sum of the number of all data blocks and check blocks in a strip, n, the data block k in the large strip, and the node fault tolerance f;
  • the global check block is placed on different storage nodes in the same rack.
  • the method for constructing the local check block and the global check block is:
  • the node where the next local group is located encodes the data blocks in its own local group, generates the corresponding local check block, and uses the f-1 intermediate results generated by the previous local group to generate a new f-1. Intermediate results; wherein, f-1 intermediate results generated by the next partial group are passed to the next next partial group;
  • the updating method of the global check block includes the following steps:
  • step b Use the difference to update the global check block of the storage node in step b;
  • the method for replacing the rack with the local check block is:
  • the data block repair method inside the local group is:
  • the local repairer collects the data blocks and local parity blocks of all the same stripes in the rack where it is located, calculates the XOR value, and transmits the XOR value to the requestor;
  • the requestor collects the remaining data blocks and local check blocks in the rack except the failed data blocks, and combines the XOR values passed by all local repairers to decode and obtain the failed data blocks;
  • the repair method for the storage node is as follows:
  • the present invention provides a corresponding update method for a global check block, comprising the following steps:
  • step b Use the difference to update the global check block of the storage node in step b;
  • the present invention provides an update method of corresponding partial check block, comprising the following steps:
  • the present invention provides a data block repair method within a corresponding partial group, comprising the following steps:
  • the local repairer collects the data blocks and local parity blocks of all the same stripes in the rack where it is located, calculates the XOR value, and transmits the XOR value to the requestor;
  • the requestor collects the remaining data blocks and local check blocks in the rack except the failed data blocks, and combines the XOR values passed by all local repairers to decode and obtain the failed data blocks.
  • the present invention provides a method for repairing storage nodes within a corresponding partial group, including the following steps:
  • the method and structure for reliable storage of data with low overhead based on large stripes provided by the present invention, by combining check block locality and topology locality (a local group includes multiple racks, and multiple racks include multiple storage racks) node), so that the repair overhead of the data block can be effectively reduced, so that both the repair overhead and the storage overhead are reduced compared with the prior art.
  • the invention provides a data block repair parameter r (a local group of data blocks obtained by weighing the repair cost and the storage cost) by analyzing the configuration data block, so as to realize the trade-off between the storage cost and the cross-rack storage cost, and provide the storage service provider with the optimal solution in different scenarios. parameter configuration.
  • the stripe data storage structure provided by the present invention supports the simultaneous use of multi-node coding technology for multiple stripes (the construction process of the local check block and the global check block in the present invention supports simultaneous execution of multiple stripes, and can use the same Multiple nodes on the rack encode data blocks of different local groups respectively), while in the prior art, all data blocks are encoded in the same node, which improves the encoding efficiency of data blocks in large stripes.
  • the invention adopts the method of updating the check block inside the rack for the local check block and the global check block, which improves the update efficiency of the data block under the large strip.
  • the update of the global parity block transfers the difference data block across the racks to any storage point of the global group rack, and then uses the internal bandwidth of the global group rack to transmit the difference value to the remaining global parity blocks.
  • the storage node is applicable to cross-rack transmission for the update of the global check block, which improves the update efficiency of the global check block.
  • the update process of the local group parity block is to change the position of the local parity block in the local group and any data block in the rack with the most frequent update every preset time period, which also reduces the number of cross-rack transmissions. Improved the update efficiency of local check blocks.
  • both n and k in (n, k) of the stripe are not very large, because larger values of n and k cannot be compatible with lower repair overhead and lower storage overhead at the same time.
  • the stripe provided by the present invention With the data storage structure and method, it can not only support the value of n and k in the order of hundreds, but also ensure that the repair cost and the storage cost are low.
  • Fig. 1 is the technical method deployment diagram of traditional check block locality and topology locality provided by the present invention
  • Fig. 2 is a large strip structure diagram provided by the present invention.
  • FIG. 3 is a flowchart of repairing data block D 1 in local group 1 provided by an embodiment of the present invention
  • FIG. 4 is a schematic diagram of multi-node encoding provided by an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of updating a check block inside a rack according to an embodiment of the present invention.
  • the invention provides a stripe data storage structure, the stripe is (n, k, r, z), including a local group and a global group; the global group includes a rack for storing global check blocks; each local group group contains Each rack is provided with different storage nodes; different storage nodes store data blocks or local check blocks, and the total number of data blocks and local check blocks in each rack is c;
  • each local group stores a local check block and r data blocks; the storage nodes in each rack are greater than or equal to c; based on the rack fault tolerance attribute, c is less than or equal to the node fault tolerance f of the large stripe; n is the sum of all data blocks and check blocks in a strip; k is the data blocks in a large strip; the number of global check blocks is f-1; z is the total number of racks.
  • the strip data storage structure provided by the present invention supports the synchronization of multiple strips and adopts the multi-node coding technology.
  • the present invention provides a construction method of the stripe data storage structure, comprising the following steps:
  • Stripe-based parameters weighing stripe storage overhead and repair overhead across racks Set the data blocks in each local group; among them, the parameters include the total number of all data blocks and check blocks in a strip, n, the data block k in the large strip, and the node fault tolerance f; consider the rack fault tolerance attribute And the data block repair overhead, set the number of data blocks stored in each rack;
  • the global check block is placed on different storage nodes in the same rack.
  • the method for constructing the local check block and the global check block is:
  • the node where the next local group is located encodes the data blocks in its own local group, generates the corresponding local check block, and uses the f-1 intermediate results generated by the previous local group to generate a new f-1. Intermediate results; wherein, f-1 intermediate results generated by the next partial group are passed to the next next partial group;
  • the updating method of the global check block includes the following steps:
  • step b Use the difference to update the global check block of the storage node in step b;
  • the method for replacing the rack with the local check block is:
  • the data block repair method inside the local group is:
  • the local repairer collects the data blocks and local parity blocks of all the same stripes in the rack where it is located, calculates the XOR value, and transmits the XOR value to the requestor;
  • the requestor collects the remaining data blocks and local check blocks in the rack except the failed data blocks, and combines the XOR values passed by all local repairers to decode and obtain the failed data blocks;
  • the repair method for the storage node is as follows:
  • the present invention provides an update method for a corresponding global check block, comprising the following steps:
  • step b Use the difference to update the global check block of the storage node in step b;
  • the present invention provides a corresponding update method for a local check block, comprising the following steps:
  • the present invention provides a data block repair method within a corresponding partial group, comprising the following steps:
  • the local repairer collects the data blocks and local parity blocks of all the same stripes in the rack where it is located, calculates the XOR value, and transmits the XOR value to the requestor;
  • the requestor collects the remaining data blocks and local check blocks in the rack except the failed data blocks, and combines the XOR values passed by all local repairers to decode and obtain the failed data blocks.
  • the present invention provides a method for repairing storage nodes within a corresponding local group, including the following steps:
  • the present invention combines the method of checking block locality and topology locality, and the technical solutions of the present invention are further described below in conjunction with specific embodiments:
  • this embodiment constructs a large stripe with 20 data blocks, and the required node fault tolerance capability is 3;
  • each rack In order to minimize the data block repair overhead, set each rack to have 3 data blocks stored in different storage nodes;
  • a storage node N1 is selected as the requestor in the rack 1 where the failed data block is located in the local group, and is used for Collect the remaining 2 data blocks D 2 and D 3 in this rack, combine the XOR value obtained by the local repairer on rack 2, decode the invalid single data block D 1 ; wherein, the method for obtaining the XOR value For: select a node N 4 in rack 2 as the local repairer, collect data blocks D 5 and local check blocks P 1[1-5] of all the same stripes in the rack, and calculate the XOR value P 1 [1-5] -D 4 -D 5 .
  • node repair For node repair, reasonable scheduling and configuration of one requestor and multiple local repairers used in the repair of a single data block are adopted; the details are as follows: record all node IDs that have recently acted as requestor and local repairer through the LRU double-linked list; use the hash table The node ID and the real address of the node in the doubly linked list are mapped, so that the node search cost when configuring the node is O(1) time complexity.
  • the coded data block is mainly for the generation of local check blocks and global check blocks.
  • the traditional encoding data block is to centrally encode k data blocks of a strip on a node; when k is too large, the encoding performance will drop rapidly. Therefore, in this embodiment, as shown in FIG.
  • the rack frequency metadata of the local group is constructed. Whenever the data block is updated, the number of updates of the rack of the storage node corresponding to the data block is increased by 1. After a period of time, the local check The position of the block is exchanged with the random data block in the rack with the most frequent update, so as to realize the update of the local parity block inside the rack.
  • the present invention has the following advantages:
  • the method and structure for reliable storage of data with low overhead based on large stripes provided by the present invention, by combining check block locality and topology locality (a local group includes multiple racks, and multiple racks include multiple storage racks) node), so that the repair overhead of the data block can be effectively reduced, so that both the repair overhead and the storage overhead are reduced compared with the prior art.
  • the invention provides a data block repair parameter r (a local group of data blocks obtained by weighing the repair cost and the storage cost) by analyzing the configuration data block, so as to realize the trade-off between the storage cost and the cross-rack storage cost, and provide the storage service provider with the optimal solution in different scenarios. parameter configuration.
  • the stripe data storage structure provided by the present invention supports the simultaneous use of multi-node coding technology for multiple stripes (the construction process of the local check block and the global check block in the present invention supports simultaneous execution of multiple stripes, and can use the same Multiple nodes on the rack encode data blocks of different local groups respectively), while in the prior art, all data blocks are encoded in the same node, which improves the encoding efficiency of data blocks in large stripes.
  • the invention adopts the method of updating the check block inside the rack for the local check block and the global check block, which improves the update efficiency of the data block under the large strip.
  • the update of the global parity block transfers the difference data block across the racks to any storage point of the global group rack, and then uses the internal bandwidth of the global group rack to transmit the difference value to the remaining global parity blocks.
  • the storage node is applicable to cross-rack transmission for the update of the global check block, which improves the update efficiency of the global check block.
  • the update process of the local group parity block is to change the position of the local parity block in the local group and any data block in the rack with the most frequent update every preset time period, which also reduces the number of cross-rack transmissions. Improved the update efficiency of local check blocks.
  • both n and k in (n, k) of the stripe are not very large, because larger values of n and k cannot be compatible with lower repair overhead and lower storage overhead at the same time.
  • the stripe provided by the present invention With the data storage structure and method, it can not only support the value of n and k in the order of hundreds, but also ensure that the repair cost and the storage cost are low.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Error Detection And Correction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种条带数据存储结构及其构建、修复和更新方法,属于计算机的可靠数据存储领域,条带数据存储结构为:条带为(n,k,r,z),包括局部组和全局组;全局组包括一个机架,用于存储全局校验块;每个局部组中包含(r+1)/c个机架,每个机架中设置有不同的存储节点;不同存储节点处存储数据块或局部校验块,且每个机架中的数据块和局部校验块总数为c;其中,每个局部组存储有一个局部校验块和r个数据块;每个机架中的存储节点大于等于c;基于机架容错属性,c小于等于大条带的节点容错能力f;全局校验块的个数为f-1;z为总机架数目。支持n和k量级为百级的同时确保修复开销和存储开销较低的状态。

Description

一种条带数据存储结构及其构建、修复和更新方法 [技术领域]
本发明属于计算机的可靠数据存储领域,更具体地,涉及一种条带数据存储结构及其构建、修复和更新方法。
[背景技术]
随着计算机和互联网的快速发展,人类产生的数据总量呈现几何量级地爆炸增长。如何低成本且可靠地存储数据,成为业界亟待解决的问题。相较于传统的副本技术,纠删码作为一种具有高存储效率和高可靠性的存储冗余机制,被广泛应用于分布式存储系统中。
但是,相较于副本技术,纠删码会使得数据恢复时存在额外的计算和网络传输开销,即增大了数据的修复开销,且当编码条带越长时,修复开销越大。在这种情况下,之前的研究表明:通过挖掘存储系统中的局部性可以提高数据修复性能;校验块局部性,通过对条带中的数据块进行分组,为每一个组额外生成一个局部校验块,从而使得在单个数据块修复时可以利用局部校验块进行快速修复,但是校验块局部性的存储开销较大;拓扑局部性,通过将同一条带的不同数据块位于相同的机架内,使得数据块修复操作可以通过机架内部带宽快速进行而不需要进行跨机架的数据块传输。但是拓扑局部性与校验块局部性相比,修复开销还是较高。
传统的纠删码存储系统,一般配置编码条带的(n,k)不会很大,其中,k为数据块个数,n为数据块和校验块总数。例如在HDFS中(n,k)=(9,6),f4中为(14,10),Azure中为(16,12),Pelican中为(18,15)等。在这种情况下,n/k仍然较大,即分布式存储系统的存储开销仍然较大。通过设计更大的(n,k)参数,例如(132,128),使得n/k趋近于1,则可以极大地降低存储成本开销。但是,更大的(n,k)编码参数会增加了数据块的修复开销,因 此设计新的局部性修复策略从而减小数据块的修复开销是具有十分重要的意义。
[发明内容]
针对现有技术的缺陷,本发明的目的在于提供一种大条带数据存储结构及其构建、修复和更新方法,旨在解决现有的纠删码存储系统存储开销和修复开销比较大的问题。
为实现上述目的,本发明提供了一种条带数据存储结构,条带为(n,k,r,z),包括局部组和全局组;全局组包括一个机架,用于存储全局校验块;每个局部组中包含
Figure PCTCN2021100281-appb-000001
个机架,每个机架中设置有不同的存储节点;不同存储节点处存储数据块或局部校验块,且每个机架中的数据块和局部校验块总数为c;
其中,每个局部组存储有一个局部校验块和r个数据块;每个机架中的存储节点大于等于c;基于机架容错属性,c小于等于大条带的节点容错能力f;n为一个条带内所有的数据块和校验块数目总和;k为大条带中的数据块;全局校验块的个数为f-1;z为总机架数目。
本发明提供的条带数据存储结构,支持多个条带同步采用多节点编码技术。
基于本发明提供的条带数据存储结构,本发明提供了条带数据存储结构的构建方法,包括以下步骤:
基于条带的参数,权衡条带的存储开销
Figure PCTCN2021100281-appb-000002
和跨机架修复开销
Figure PCTCN2021100281-appb-000003
设定每个局部组中的数据块;其中,参数包括一个条带内所有的数据块和校验块数目总和n,大条带中的数据块k和节点容错能力f;
考虑机架容错属性以及数据块修复开销,设定每个机架存放的数据块个数;
基于每个局部组中的数据块个数以及每个机架拥有的数据块个数,计算 每个局部组中的机架个数;
采用Azure-LRC方法,每个局部组的所有数据块通过线性编码生成一个局部校验块;且通过柯西矩阵的RS编码计算全局组中的全局校验块;
其中,全局校验块放于同一个机架内的不同存储节点上。
优选地,构建局部校验块和全局校验块的方法为:
随机挑选一机架内的多个节点,将条带中的数据块划分为有序局部组;
以局部组为单元依次将所有局部组的数据块分发至同一个机架的节点上;
采用Azure-LRC方法,首个局部组的所有数据块通过线性编码生成局部组中的局部校验块和f-1个中间结果;其中,f-1个中间结果传递至下一个局部组;
采用Azure-LRC方法,下一局部组所在节点编码自身局部组中的数据块,生成对应的局部校验块,同时利用上一个局部组产生的f-1个中间结果生成新的f-1个中间结果;其中,下一局部组生成的f-1个中间结果传递至下下一局部组;
以此类推,直至所有局部组完成对应局部校验块,并将最后一个局部组产生的f-1个中间结果作为全局校验块;
将数据块、局部校验块和全局校验块分发至对应机架。
优选地,全局校验块的更新方法,包括以下步骤:
a.在更新的数据块所在的存储节点生成差值数据块;
b.通过跨机架传输将差值发送至全局组机架的任一存储节点;
c.利用差值更新步骤b中存储节点的全局校验块;
d.通过机架内部带宽将差值从步骤b中的存储节点传输至剩余全局校验块的存储节点;
e.利用差值更新剩余全局校验块。
优选地,局部校验块更换机架的方法为:
以局部组为单元,每个机架内部的数据块更新时,将对应机架的更新次数加1;
每隔预设时间段,比较局部组中每个机架的更新次数,将局部组中的局部校验块与更新最频繁的机架中任一数据块更换位置。
优选地,局部组内部的数据块修复方法为:
在局部组中失效数据块所在机架选择一个未失效的存储节点为requestor,其他每个机架中选择一个储存节点作为local repairer;
local repairer采集所在机架内所有相同条带的数据块和局部校验块,计算异或值,并将异或值传递至requestor;
requestor收集所在机架内除失效数据块外剩余的数据块和局部校验块,结合所有local repairer传递的异或值,解码获取失效数据块;
存储节点的修复方法为:
通过LRU双链表记录所有最近充当过requestor和local repairer的节点ID;
利用哈希表映射双链表中充当requestor和local repairer节点的真实地址;
当下次数据块修复时选择最近未充当requestor和local repairer的节点作为requestor和local repairer。
基于本发明提供的条带数据存储结构,本发明提供了相应的全局校验块的更新方法,包括以下步骤:
a.在更新的数据块所在的存储节点生成差值数据块;
b.通过跨机架传输将差值发送至全局组机架的任一存储节点;
c.利用差值更新步骤b中存储节点的全局校验块;
d.通过机架内部带宽将差值从步骤b中的存储节点传输至剩余全局校验块的存储节点;
e.利用差值更新剩余全局校验块。
基于本发明提供的条带数据存储结构,本发明提供了相应的局部校验块 的更新方法,包括以下步骤:
以局部组为单元,每个机架内部的数据块更新时,将对应机架的更新次数加1;
每隔预设时间段,比较局部组中每个机架的更新次数,将局部组中的局部校验块与更新最频繁的机架中任一数据块更换位置。
基于本发明提供的条带数据存储结构,本发明提供了相应的局部组内部的数据块修复方法,包括以下步骤:
在局部组中失效数据块所在机架选择一个未失效的存储节点为requestor,其他每个机架中选择一个储存节点作为local repairer;
local repairer采集所在机架内所有相同条带的数据块和局部校验块,计算异或值,并将异或值传递至requestor;
requestor收集所在机架内除失效数据块外剩余的数据块和局部校验块,结合所有local repairer传递的异或值,解码获取失效数据块。
基于本发明提供的条带数据存储结构,本发明提供了相应的局部组内部的存储节点的修复方法,包括以下步骤:
通过LRU双链表记录所有最近充当过requestor和local repairer的节点ID;
利用哈希表映射双链表中充当requestor和local repairer节点的真实地址;
当下次数据块修复时选择最近未充当requestor和local repairer的节点作为requestor和local repairer。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
本发明所提供的基于大条带的低开销数据可靠存储方法及结构,通过结合校验块局部性和拓扑局部性(一个局部组中包含多个机架,多个机架内包含多个存储节点),从而能够有效降低数据块的修复开销,使得修复开销和存储开销均相比于现有技术有所降低。
本发明提供的通过分析配置数据块修复参数r(权衡修复开销和存储开销获取的局部组数据块),实现存储开销和跨机架存储开销的权衡,为存储服务商提供不同场景下的最优参数配置。
本发明提供的条带数据存储结构,支持多个条带同步采用多节点编码技术(本发明中局部校验块和全局校验块的构建过程,支持多个条带同时进行,且可以采用同一机架上多个节点分别编码不同局部组的数据块),而现有技术采用所有数据块在同一节点编码,提高了大条带下的数据块编码效率。
本发明对局部校验块和全局校验块采用机架内部校验块更新的方式,提高了大条带下的数据块更新效率。具体为:全局校验块的更新将差值数据块进行一次跨机架传输至全局组机架的任一存储点,后续采用全局组机架内部带宽将差值传输至剩余全局校验块的存储节点,相比于现有技术实现全局校验块的更新均适用跨机架传输,提高了全局校验块的更新效率。而局部组校验块更新过程是每个预设时间段,将局部组中的局部校验块与更新最频繁的机架中任一数据块更换位置,同样减少了跨机架传输的次数,提升了局部校验块的更新效率。
现有技术中条带的(n,k)中n和k都不会很大,因为更大的n,k值无法同时兼容修复开销较低和存储开销较低,但是,本发明提供的条带数据存储结构和方法,不仅可以支持n,k的值为百量级,同时可以确保修复开销和存储开销均较低。
[附图说明]
图1是本发明提供的传统校验块局部性和拓扑局部性的技术方法部署图;
图2是本发明提供的大条带结构图;
图3是本发明实施例提供的局部组1修复数据块D 1的流程图;
图4是本发明实施例提供的多节点编码示意图;
图5是本发明实施例提供的机架内部校验块更新示意图。
[具体实施方式]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在介绍本发明之前,首先对应用校验块局部性和拓扑局部性的大条带部署方法进行简要介绍。如图1所示,校验块局部性方法,n=32,k=20,r=2,将条带中所有的数据块和校验块全部放置于不同的机架上;当机架1上D 1数据块失效后,可以通过局部组1中的数据块D 2和局部校验块P 1[1-2]完成修复数据块D 1,因此,总共跨机架传输2个数据块;拓扑局部性方法,n=33,k=20,z=8,将条带中所有的数据块和校验块全部均匀放置在8个机架上,且校验块全部放置在同一个机架,当机架1上D 1数据块失效后,可以通过机架1中的内部带宽获取数据块D 2和D 3,同时剩余的每一个机架(除放置校验块的机架外)都需要计算本机架上该条带的所有数据块的异或值,然后传输给机架1,结合校验块机架传输给机架1的校验块Q 1[1-20]可以完成修复数据块D 1,因此总共跨机架传输7个数据块。
下面介绍本发明的技术方案:
本发明提供了一种条带数据存储结构,条带为(n,k,r,z),包括局部组和全局组;全局组包括一个机架,用于存储全局校验块;每个局部组中包含
Figure PCTCN2021100281-appb-000004
个机架,每个机架中设置有不同的存储节点;不同存储节点处存储数据块或局部校验块,且每个机架中的数据块和局部校验块总数为c;
其中,每个局部组存储有一个局部校验块和r个数据块;每个机架中的存储节点大于等于c;基于机架容错属性,c小于等于大条带的节点容错能力f;n为一个条带内所有的数据块和校验块数目总和;k为大条带中的数据块;全局校验块的个数为f-1;z为总机架数目。
本发明提供的条带数据存储结构,支持多个条带同步采用多节点编码技 术。
基于本发明提供的条带数据存储结构,本发明提供了条带数据存储结构的构建方法,包括以下步骤:
基于条带的参数,权衡条带的存储开销
Figure PCTCN2021100281-appb-000005
和跨机架修复开销
Figure PCTCN2021100281-appb-000006
设定每个局部组中的数据块;其中,参数包括一个条带内所有的数据块和校验块数目总和n,大条带中的数据块k和节点容错能力f;考虑机架容错属性以及数据块修复开销,设定每个机架存放的数据块个数;
基于每个局部组中的数据块个数以及每个机架拥有的数据块个数,计算每个局部组中的机架个数;
采用Azure-LRC方法,每个局部组的所有数据块通过线性编码生成一个局部校验块;且通过柯西矩阵的RS编码计算全局组中的全局校验块;
其中,全局校验块放于同一个机架内的不同存储节点上。
优选地,构建局部校验块和全局校验块的方法为:
随机挑选一机架内的多个节点,将条带中的数据块划分为有序局部组;
以局部组为单元依次将所有局部组的数据块分发至同一个机架的节点上;
采用Azure-LRC方法,首个局部组的所有数据块通过线性编码生成局部组中的局部校验块和f-1个中间结果;其中,f-1个中间结果传递至下一个局部组;
采用Azure-LRC方法,下一局部组所在节点编码自身局部组中的数据块,生成对应的局部校验块,同时利用上一个局部组产生的f-1个中间结果生成新的f-1个中间结果;其中,下一局部组生成的f-1个中间结果传递至下下一局部组;
以此类推,直至所有局部组完成对应局部校验块,并将最后一个局部组产生的f-1个中间结果作为全局校验块;
将数据块、局部校验块和全局校验块分发至对应机架。
优选地,全局校验块的更新方法,包括以下步骤:
a.在更新的数据块所在的存储节点生成差值数据块;
b.通过跨机架传输将差值发送至全局组机架的任一存储节点;
c.利用差值更新步骤b中存储节点的全局校验块;
d.通过机架内部带宽将差值从步骤b中的存储节点传输至剩余全局校验块的存储节点;
e.利用差值更新剩余全局校验块。
优选地,局部校验块更换机架的方法为:
以局部组为单元,每个机架内部的数据块更新时,将对应机架的更新次数加1;
每隔预设时间段,比较局部组中每个机架的更新次数,将局部组中的局部校验块与更新最频繁的机架中任一数据块更换位置。
优选地,局部组内部的数据块修复方法为:
在局部组中失效数据块所在机架选择一个未失效的存储节点为requestor,其他每个机架中选择一个储存节点作为local repairer;
local repairer采集所在机架内所有相同条带的数据块和局部校验块,计算异或值,并将异或值传递至requestor;
requestor收集所在机架内除失效数据块外剩余的数据块和局部校验块,结合所有local repairer传递的异或值,解码获取失效数据块;
存储节点的修复方法为:
通过LRU双链表记录所有最近充当过requestor和local repairer的节点ID;
利用哈希表映射双链表中充当requestor和local repairer节点的真实地址;
当下次数据块修复时选择最近未充当requestor和local repairer的节点作为requestor和local repairer。
基于本发明提供的条带数据存储结构,本发明提供了相应的全局校验块 的更新方法,包括以下步骤:
a.在更新的数据块所在的存储节点生成差值数据块;
b.通过跨机架传输将差值发送至全局组机架的任一存储节点;
c.利用差值更新步骤b中存储节点的全局校验块;
d.通过机架内部带宽将差值从步骤b中的存储节点传输至剩余全局校验块的存储节点;
e.利用差值更新剩余全局校验块。
基于本发明提供的条带数据存储结构,本发明提供了相应的局部校验块的更新方法,包括以下步骤:
以局部组为单元,每个机架内部的数据块更新时,将对应机架的更新次数加1;
每隔预设时间段,比较局部组中每个机架的更新次数,将局部组中的局部校验块与更新最频繁的机架中任一数据块更换位置。
基于本发明提供的条带数据存储结构,本发明提供了相应的局部组内部的数据块修复方法,包括以下步骤:
在局部组中失效数据块所在机架选择一个未失效的存储节点为requestor,其他每个机架中选择一个储存节点作为local repairer;
local repairer采集所在机架内所有相同条带的数据块和局部校验块,计算异或值,并将异或值传递至requestor;
requestor收集所在机架内除失效数据块外剩余的数据块和局部校验块,结合所有local repairer传递的异或值,解码获取失效数据块。
基于本发明提供的条带数据存储结构,本发明提供了相应的局部组内部的存储节点的修复方法,包括以下步骤:
通过LRU双链表记录所有最近充当过requestor和local repairer的节点ID;
利用哈希表映射双链表中充当requestor和local repairer节点的真实地址;
当下次数据块修复时选择最近未充当requestor和local repairer的节点作为requestor和local repairer。
实施例
本发明结合校验块局部性和拓扑局部性方法,下面结合具体的实施方式,进一步描述本发明的技术方案:
(1)构建大条带(26,20,5,9)的步骤,具体如下:
如图2所示,本实施例构建拥有20个数据块,需要具备的节点容错能力为3的大条带;
权衡大条带的存储开销和跨机架修复开销,设定每个局部组中拥有5个数据块;
为了使数据块修复开销最小,设置每个机架拥有存放于不同的存储节点的3个数据块;
基于每个局部组中的数据块个数以及每个机架拥有的数据块个数,计算出每个局部组中有2个机架;
选择Azure-LRC方法,每个局部组的5个数据块通过线性编码生成一个局部校验块;且通过柯西矩阵的RS编码计算全局组中的2个全局校验块,其中,2个全局校验块放在同一个机架内的不同存储节点上,构成全局组。
(2)修复数据块的步骤
如图3所示,以局部组1内部的单个数据块D 1修复说明修复数据块的步骤:首先在该局部组中失效数据块在所在机架1选择一存储节点 N 1 作为requestor,用于收集本机架内剩余的2个数据块块D 2和D 3,结合机架2上的local repairer获取的异或值,解码得到的失效单个数据块D 1;其中,异或值的获取方法为:在机架2中选择一个节点N 4作为local repairer,采集该机架内所有相同条带的数据块D 5和局部校验块P 1[1-5],并计算异或值P 1[1-5]-D 4-D 5
针对节点修复,采用对单个数据块修复中使用的一个requestor和多个 local repairer进行合理的调度和配置;具体如下:通过LRU双链表记录所有最近充当requestor和local repairer的节点ID;利用哈希表映射双链表中的节点ID和节点真实地址,使得配置节点时的节点查找开销为O(1)时间复杂度。
(3)编码数据块的步骤
编码数据块主要针对局部校验块和全局校验块的生成。传统的编码数据块是在一个节点上对一个条带的k个数据块进行集中编码;当k过大时,会造成编码性能的快速下降。因此,本实施例中,如图四所示,可以利用同一个机架内的4个节点N 1、N 2、N 3和N 4进行并行编码;将大条带中的64个数据块划分为4个有序局部组,以局部组为单元依次将所有局部组的数据块分发到同一个机架的4个节点上,将本地所存储的首个局部组的数据块编码生成局部校验块和2个中间结果,其中,2个中间结果转发至下一个局部组所在的节点;下一个局部组所在的节点不仅编码本局部组的数据块生成局部校验块,同时结合接收到的2个中间结果生成新的2个中间结果,并继续转发给下一个局部组所在的节点,直至遍历所有的局部组,得到2个全局校验块Q 1[1-64]和Q 2[1-64];分发4个节点中各个局部组的数据块、局部校验块和全局校验块到对应的机架内。
(4)更新校验块的步骤
如图五所示,针对全局校验块更新,首先在更新的数据块D 1所在的存储节点生成差值数据块D 1’-D 1;然后通过跨机架发送到全局组的机架的一个存储节点,更新该存储节点的全局校验块Q 1[1-64],同时通过机架内带宽发送差值数据块至剩余全局校验块的存储节点;剩余全局校验块节点接收差值数据块,更新全局校验块完成更新;
针对局部校验块更新,构建局部组的机架频率元数据,每当数据块更新时,将该数据块对应的存储节点的机架的更新次数加1,一段时间后,通过将局部校验块与更新最频繁的机架中的随机数据块进行位置调换,实现在机架 内部进行局部校验块的更新。
本发明与现有技术相比,存在以下优势:
本发明所提供的基于大条带的低开销数据可靠存储方法及结构,通过结合校验块局部性和拓扑局部性(一个局部组中包含多个机架,多个机架内包含多个存储节点),从而能够有效降低数据块的修复开销,使得修复开销和存储开销均相比于现有技术有所降低。
本发明提供的通过分析配置数据块修复参数r(权衡修复开销和存储开销获取的局部组数据块),实现存储开销和跨机架存储开销的权衡,为存储服务商提供不同场景下的最优参数配置。
本发明提供的条带数据存储结构,支持多个条带同步采用多节点编码技术(本发明中局部校验块和全局校验块的构建过程,支持多个条带同时进行,且可以采用同一机架上多个节点分别编码不同局部组的数据块),而现有技术采用所有数据块在同一节点编码,提高了大条带下的数据块编码效率。
本发明对局部校验块和全局校验块采用机架内部校验块更新的方式,提高了大条带下的数据块更新效率。具体为:全局校验块的更新将差值数据块进行一次跨机架传输至全局组机架的任一存储点,后续采用全局组机架内部带宽将差值传输至剩余全局校验块的存储节点,相比于现有技术实现全局校验块的更新均适用跨机架传输,提高了全局校验块的更新效率。而局部组校验块更新过程是每个预设时间段,将局部组中的局部校验块与更新最频繁的机架中任一数据块更换位置,同样减少了跨机架传输的次数,提升了局部校验块的更新效率。
现有技术中条带的(n,k)中n和k都不会很大,因为更大的n,k值无法同时兼容修复开销较低和存储开销较低,但是,本发明提供的条带数据存储结构和方法,不仅可以支持n,k的值为百量级,同时可以确保修复开销和存储开销均较低。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

  1. 一种条带数据存储结构,其特征在于,条带为(n,k,r,z),包括局部组和全局组;全局组包括一个机架,用于存储全局校验块;每个局部组中包含
    Figure PCTCN2021100281-appb-100001
    个机架,每个机架中设置有不同的存储节点;不同存储节点处存储数据块或局部校验块,且每个机架中的数据块和局部校验块总数为c;
    其中,每个局部组存储有一个局部校验块和r个数据块;每个机架中的存储节点大于等于c;基于机架容错属性,c小于等于大条带的节点容错能力f;n为一个条带内所有的数据块和校验块数目总和;k为大条带中的数据块;全局校验块的个数为f-1;z为总机架数目。
  2. 根据权利要求1所述的条带数据存储结构,其特征在于,其支持多个条带同步采用多节点编码技术。
  3. 基于权利要求1所述的条带数据存储结构的构建方法,其特征在于,包括以下步骤:
    基于条带的参数,权衡条带的存储开销
    Figure PCTCN2021100281-appb-100002
    和跨机架修复开销
    Figure PCTCN2021100281-appb-100003
    设定每个局部组中的数据块;其中,参数包括一个条带内所有的数据块和校验块数目总和n,大条带中的数据块k和节点容错能力f;
    考虑机架容错属性以及数据块修复开销,设定每个机架存放的数据块个数;
    基于每个局部组中的数据块个数以及每个机架拥有的数据块个数,计算每个局部组中的机架个数;
    采用Azure-LRC方法,每个局部组的所有数据块通过线性编码生成一个局部校验块;且通过柯西矩阵的RS编码计算全局组中的全局校验块;
    其中,全局校验块放于同一个机架内的不同存储节点上。
  4. 根据权利要求3所述的构建方法,其特征在于,构建局部校验块和全局 校验块的方法为:
    随机挑选一机架内的多个节点,将条带中的数据块划分为有序局部组;
    以局部组为单元依次将所有局部组的数据块分发至同一个机架的节点上;
    采用Azure-LRC方法,首个局部组的所有数据块通过线性编码生成局部组中的局部校验块和f-1个中间结果;其中,f-1个中间结果传递至下一个局部组;
    采用Azure-LRC方法,下一局部组所在节点编码自身局部组中的数据块,生成对应的局部校验块,同时利用上一个局部组产生的f-1个中间结果生成新的f-1个中间结果;其中,下一局部组生成的f-1个中间结果传递至下下一局部组;
    以此类推,直至所有局部组完成对应局部校验块,并将最后一个局部组产生的f-1个中间结果作为全局校验块;
    将数据块、局部校验块和全局校验块分发至对应机架。
  5. 根据权利要求3或4所述的构建方法,其特征在于,所述全局校验块的更新方法,包括以下步骤:
    a.在更新的数据块所在的存储节点生成差值数据块;
    b.通过跨机架传输将差值发送至全局组机架的任一存储节点;
    c.利用差值更新步骤b中存储节点的全局校验块;
    d.通过机架内部带宽将差值从步骤b中的存储节点传输至剩余全局校验块的存储节点;
    e.利用差值更新剩余全局校验块;
    所述局部校验块更换机架的方法为:
    以局部组为单元,每个机架内部的数据块更新时,将对应机架的更新次数加1;
    每隔预设时间段,比较局部组中每个机架的更新次数,将局部组中的局 部校验块与更新最频繁的机架中任一数据块更换位置。
  6. 根据权利要求3所述的构建方法,其特征在于,局部组内部的数据块修复方法为:
    在局部组中失效数据块所在机架选择一个未失效的存储节点为requestor,其他每个机架中选择一个储存节点作为local repairer;
    local repairer采集所在机架内所有相同条带的数据块和局部校验块,计算异或值,并将异或值传递至requestor;
    requestor收集所在机架内除失效数据块外剩余的数据块和局部校验块,结合所有local repairer传递的异或值,解码获取失效数据块;
    存储节点的修复方法为:
    通过LRU双链表记录所有最近充当过requestor和local repairer的节点ID;
    利用哈希表映射双链表中充当requestor和local repairer节点的真实地址;
    当下次数据块修复时选择最近未充当requestor和local repairer的节点作为requestor和local repairer。
  7. 一种基于权利要求1所述的条带数据存储结构的全局校验块的更新方法,其特征在于,包括以下步骤:
    a.在更新的数据块所在的存储节点生成差值数据块;
    b.通过跨机架传输将差值发送至全局组机架的任一存储节点;
    c.利用差值更新步骤b中存储节点的全局校验块;
    d.通过机架内部带宽将差值从步骤b中的存储节点传输至剩余全局校验块的存储节点;
    e.利用差值更新剩余全局校验块。
  8. 一种基于权利要求1所述的条带数据存储结构的局部校验块的更新方法,其特征在于,包括以下步骤:
    以局部组为单元,每个机架内部的数据块更新时,将对应机架的更新次 数加1;
    每隔预设时间段,比较局部组中每个机架的更新次数,将局部组中的局部校验块与更新最频繁的机架中任一数据块更换位置。
  9. 一种基于权利要求1所述的条带数据存储结构的局部组内部的数据块修复方法,其特征在于,包括以下步骤:
    在局部组中失效数据块所在机架选择一个未失效的存储节点为requestor,其他每个机架中选择一个储存节点作为local repairer;
    local repairer采集所在机架内所有相同条带的数据块和局部校验块,计算异或值,并将异或值传递至requestor;
    requestor收集所在机架内除失效数据块外剩余的数据块和局部校验块,结合所有local repairer传递的异或值,解码获取失效数据块。
  10. 一种基于权利要求1所述的条带数据存储结构的局部组内部的存储节点的修复方法,其特征在于,包括以下步骤:
    通过LRU双链表记录所有最近充当过requestor和local repairer的节点ID;
    利用哈希表映射双链表中充当requestor和local repairer节点的真实地址;
    当下次数据块修复时选择最近未充当requestor和local repairer的节点作为requestor和local repairer。
PCT/CN2021/100281 2021-02-20 2021-06-16 一种条带数据存储结构及其构建、修复和更新方法 WO2022174537A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/865,313 US12001278B2 (en) 2021-02-20 2022-07-14 Wide stripe data storage and constructing, repairing and updating method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110193270.9 2021-02-20
CN202110193270.9A CN112835738B (zh) 2021-02-20 2021-02-20 一种条带数据存储结构的构建方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/865,313 Continuation US12001278B2 (en) 2021-02-20 2022-07-14 Wide stripe data storage and constructing, repairing and updating method thereof

Publications (1)

Publication Number Publication Date
WO2022174537A1 true WO2022174537A1 (zh) 2022-08-25

Family

ID=75934030

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/100281 WO2022174537A1 (zh) 2021-02-20 2021-06-16 一种条带数据存储结构及其构建、修复和更新方法

Country Status (2)

Country Link
CN (1) CN112835738B (zh)
WO (1) WO2022174537A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112835738B (zh) * 2021-02-20 2022-05-20 华中科技大学 一种条带数据存储结构的构建方法
CN113687975B (zh) * 2021-07-14 2023-08-29 重庆大学 数据处理方法、装置、设备及存储介质
CN115878366A (zh) * 2021-09-28 2023-03-31 华为技术有限公司 一种基于纠删码的编码方法以及相关设备
CN114281270B (zh) * 2022-03-03 2022-05-27 山东云海国创云计算装备产业创新中心有限公司 一种数据存储方法、系统、设备以及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140310571A1 (en) * 2013-04-16 2014-10-16 Microsoft Corporation Local Erasure Codes for Data Storage
CN105302500A (zh) * 2015-11-24 2016-02-03 中国科学技术大学 一种基于动态条带构造的分布式编码方法
CN108170555A (zh) * 2017-12-21 2018-06-15 浙江大华技术股份有限公司 一种数据恢复方法及设备
CN109491835A (zh) * 2018-10-25 2019-03-19 哈尔滨工程大学 一种基于动态分组码的数据容错方法
US10417094B1 (en) * 2016-07-13 2019-09-17 Peer Fusion, Inc. Hyper storage cluster
CN110347526A (zh) * 2019-06-28 2019-10-18 华中科技大学 提升分布式存储集群中lrc码修复性能的方法、装置及系统
CN111444042A (zh) * 2020-03-24 2020-07-24 哈尔滨工程大学 一种基于纠删码的区块链数据存储方法
CN112835738A (zh) * 2021-02-20 2021-05-25 华中科技大学 一种条带数据存储结构及其构建、修复和更新方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107817952B (zh) * 2013-01-25 2021-02-19 株式会社日立制作所 存储系统
CN106844098B (zh) * 2016-12-29 2020-04-03 中国科学院计算技术研究所 一种基于十字交叉纠删编码的快速数据恢复方法及系统
CN108958656B (zh) * 2018-06-27 2021-01-08 北京计算机技术及应用研究所 基于raid5固态硬盘阵列的动态条带系统设计方法
CN110231999B (zh) * 2019-05-29 2020-05-19 华中科技大学 提升基于局部修复编码的存储系统可靠性的方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140310571A1 (en) * 2013-04-16 2014-10-16 Microsoft Corporation Local Erasure Codes for Data Storage
CN105302500A (zh) * 2015-11-24 2016-02-03 中国科学技术大学 一种基于动态条带构造的分布式编码方法
US10417094B1 (en) * 2016-07-13 2019-09-17 Peer Fusion, Inc. Hyper storage cluster
CN108170555A (zh) * 2017-12-21 2018-06-15 浙江大华技术股份有限公司 一种数据恢复方法及设备
CN109491835A (zh) * 2018-10-25 2019-03-19 哈尔滨工程大学 一种基于动态分组码的数据容错方法
CN110347526A (zh) * 2019-06-28 2019-10-18 华中科技大学 提升分布式存储集群中lrc码修复性能的方法、装置及系统
CN111444042A (zh) * 2020-03-24 2020-07-24 哈尔滨工程大学 一种基于纠删码的区块链数据存储方法
CN112835738A (zh) * 2021-02-20 2021-05-25 华中科技大学 一种条带数据存储结构及其构建、修复和更新方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ZHANG HANG, LIU SHANZHENG; TANG DAN; CAI HONGLIANG: "Erasure Code with Low Recovery-overhead in Distributed Storage Systems", JOURNAL OF COMPUTER APPLICATIONS, JISUANJI YINGYONG, CN, vol. 40, no. 10, 31 October 2020 (2020-10-31), CN , pages 2942 - 2950, XP055960281, ISSN: 1001-9081, DOI: 10.11772/j.issn.1001-9081.2020010127 *

Also Published As

Publication number Publication date
CN112835738A (zh) 2021-05-25
US20220358008A1 (en) 2022-11-10
CN112835738B (zh) 2022-05-20

Similar Documents

Publication Publication Date Title
WO2022174537A1 (zh) 一种条带数据存储结构及其构建、修复和更新方法
CN108540520B (zh) 基于部分重复码的局部性修复编码及节点故障修复方法
CN103944981B (zh) 一种基于纠删码技术改进的云存储系统及实现方法
US9998538B2 (en) Dispersed storage with coordinated execution and methods for use therewith
CN107219997B (zh) 一种用于验证数据一致性的方法及装置
US10628245B2 (en) Monitoring of storage units in a dispersed storage network
US20120266044A1 (en) Network-coding-based distributed file system
CN107885612A (zh) 数据处理方法和系统及装置
CN103561057A (zh) 基于分布式哈希表和纠删码的数据存储方法
WO2014133841A1 (en) Resolving write conflicts in a dispersed storage network
WO2023103213A1 (zh) 一种分布式数据库的数据存储方法和装置
CN106484559A (zh) 一种校验矩阵的构造方法及水平阵列纠删码的构造方法
Pei et al. T-update: A tree-structured update scheme with top-down transmission in erasure-coded systems
CN111614720A (zh) 针对集群存储系统单点失效修复的跨集群流量优化方法
US11860711B2 (en) Storage of rebuilt data in spare memory of a storage network
CN106027638B (zh) 一种基于混合编码的hadoop数据分发方法
CN109194444A (zh) 一种基于网络拓扑的平衡二叉树修复方法
US20230208916A1 (en) Testing A Storage Unit In A Storage Network
US20230267042A1 (en) Rebuilding an Encoded Data Slice Based on a Slice Integrity Value
CN110032338B (zh) 一种面向纠删码的数据副本放置方法及系统
US20230009883A1 (en) Recovering Missing Data in a Storage Network via Locally Decodable Redundancy Data
US20190190844A1 (en) Decentralized agreement protocol for a dispersed storage network
US12001278B2 (en) Wide stripe data storage and constructing, repairing and updating method thereof
US11474903B1 (en) Rebuilding of encoded data slices using locally decodable code segments
CN110231999B (zh) 提升基于局部修复编码的存储系统可靠性的方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21926253

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21926253

Country of ref document: EP

Kind code of ref document: A1