CN114385409A - 基于纠删码的编码方法、分布式系统、设备及存储介质 - Google Patents

基于纠删码的编码方法、分布式系统、设备及存储介质 Download PDF

Info

Publication number
CN114385409A
CN114385409A CN202111574369.XA CN202111574369A CN114385409A CN 114385409 A CN114385409 A CN 114385409A CN 202111574369 A CN202111574369 A CN 202111574369A CN 114385409 A CN114385409 A CN 114385409A
Authority
CN
China
Prior art keywords
data
groups
group
blocks
partial
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.)
Pending
Application number
CN202111574369.XA
Other languages
English (en)
Inventor
魏舒展
赵亚飞
顾隽清
董元元
陈亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202111574369.XA priority Critical patent/CN114385409A/zh
Publication of CN114385409A publication Critical patent/CN114385409A/zh
Priority to PCT/CN2022/130451 priority patent/WO2023116238A1/zh
Pending legal-status Critical Current

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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本说明书一个或多个实施例提供一种基于纠删码的编码方法、分布式系统、设备及存储介质,所述方法包括:获取待处理数据的K个数据块;将所述K个数据块划分成L组数据组;其中,每组数据组至少包括与所述K个数据块分别对应的K个编码参数;其中,K、L为大于1的整数;对于每组数据组,利用其它数据组中的至少部分数据块和本组数据组中与所述至少部分数据块对应的编码参数进行编码,生成本组数据组的部分校验块;其中,所述数据组及所述部分校验块存储在分布式系统的数据节点中。本实施例在保证了用户数据安全性的同时,降低了数据丢失或者异常时需要进行数据恢复的IOPS的放大。

Description

基于纠删码的编码方法、分布式系统、设备及存储介质
技术领域
本说明书一个或多个实施例涉及计算机数据处理领域,尤其涉及一种基于纠删码的编码方法、分布式系统、设备及存储介质。
背景技术
分布式系统的存储规模正在变得越来越大,分布式系统是多个数据节点通过通信线路互联而构成的松散耦合的系统。
纠删码(Erasure Code)是一种编码容错技术,它的基本原理是把存储的数据分片,并将分片得到的k份原始数据通过一定的校验计算方式生成k+m份数据,并能通过k+m份中的任意k份数据,还原为原始数据。这样即使部分数据丢失,分布式系统仍然能将原始数据恢复出来。
纠删码技术可以在保证数据可靠性的前提下,最小化系统的存储开销,因此为了降低数据对分布式系统的存储空间占用,纠删码技术被应用到分布式系统的数据存储中。
但是,基于现有的纠删码技术所存储的数据,当出现部分数据丢失的情况时,系统需要读取足够多的数据才能恢复出用户所需数据,一方面将导致IOPS(Input/Output PerSecond,每秒的输入输出量)的放大,另一方面也大量消耗了数据修复时的带宽。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种基于纠删码的编码方法、分布式系统、设备及存储介质。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种基于纠删码的编码方法,所述方法包括:
获取待处理数据的K个数据块;
将所述K个数据块划分成L组数据组;其中,每组数据组至少包括与所述K个数据块分别对应的K个编码参数;其中,K、L为大于1的整数;
对于每组数据组,利用其它数据组中的至少部分数据块和本组数据组中与所述至少部分数据块对应的编码参数进行编码,生成本组数据组的部分校验块;其中,所述数据组及其部分校验块存储在分布式系统的数据节点中。
可选地,所述方法还包括:
对于每组数据组,根据所述K个数据块和所述K个编码参数进行编码,生成本组数据组的全局校验块;或者,在利用其他数据组中的全部数据块生成本组数据组的一个或多个部分检验块的情况下,根据本组数据组中的数据块和对应的编码参数、以及所述一个或多个部分检验块生成本组数据组的全局校验块。
可选地,还包括:
在生成所述全局校验块之后,获取与所述L组数据组对应的L组编码组;每组所述编码组包括其中一组所述数据组的数据块、所述部分校验块和所述全局校验块;
将所述L组编码组存储在分布式系统的数据节点中。
可选地,所述分布式系统布局在多AZ环境中,每个AZ包括有一个或多个数据节点;
其中,每个AZ对应至少一组编码组,所述至少一组编码组存储在该AZ中的一个或多个数据节点中。
可选地,还包括:
若需读取存储在出现异常的AZ的数据节点中的目标数据块,从其他AZ的数据节点中读取使用所述目标数据块生成的目标部分校验块、以及生成所述目标部分校验块的其他数据块;
使用所述目标部分校验块和生成所述目标部分校验块的其他数据块,恢复出所述目标数据块。
可选地,对于每组数据组,若生成至少两个部分校验块,用于分别生成所述至少两个部分校验块的所述部分数据块互不相同。
可选地,所述数据组中的部分校验块的数量与所述数据组中的数据块的数量成倍数关系;
其中,所述部分校验块所利用的所述其它数据组中的部分数据块的数量根据所述倍数关系确定。
可选地,所述部分校验块根据所述部分数据块分别与对应的编码参数的乘积之和确定;和/或
所述全局校验块根据所述K个数据块分别与所述K个编码参数的乘积之和确定。
可选地,所述数据组的数量根据所述AZ的个数确定;和/或,所述全局校验块的数量与用于存储所述编码组的AZ的个数成倍数关系。
可选地,若需要生成至少两个全局校验块,所述数据组包括有至少两个参数组,所述参数组包括与所述K个数据块分别对应的K个编码参数;不同参数组中的编码参数不同。
可选地,所述方法应用于分布式系统中的客户端;和/或,所述分布式系统具有若干数据节点,所述方法应用在至少一个数据节点中。
根据本说明书一个或多个实施例的第二方面,提出了一种分布式系统,包括若干数据节点,所述数据节点与客户端通信连接,所述数据节点或者所述客户端被配置成:
获取待处理数据的K个数据块;
将所述K个数据块划分成L组数据组;其中,每组数据组至少包括与所述K个数据块分别对应的K个编码参数;其中,K、L为大于1的整数;
对于每组数据组,利用其它数据组中的至少部分数据块和本组数据组中与所述至少部分数据块对应的编码参数进行编码,生成本组数据组的部分校验块;其中,所述数据组及其部分校验块存储在分布式系统的数据节点中。
根据本说明书一个或多个实施例的第三方面,提出了一种计算机设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如第一方面中任一项所述的方法。
根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面中任一项所述方法的步骤。
本说明书一个或多个实施例提供的基于纠删码的编码方法、分布式系统、计算机设备及存储介质,在获取待处理数据分片得到的K个数据块之后,能够将所述K个数据块划分成L组数据组,进而在获取每组数据块的部分校验块时,可以利用其它数据组中的至少部分数据块来生成本组数据组的部分校验块,所述数据组及其部分校验块可以存储在分布式系统的数据节点中,在保证了用户数据安全性的同时,在需要进行某个异常的数据块的数据恢复时可以借助于其他数据组中使用该异常的数据块生成的部分校验块和生成该部分校验块的其他数据块,减少了需要读取的块的数量,因此降低了数据丢失或者异常时进行数据恢复的IOPS的放大,也降低了数据恢复时的带宽损耗,有利于提高数据恢复效率。
附图说明
图1是一示例性实施例提供的一种分布式系统的结构示意图。
图2是相关技术中基于纠删码的编码方式获得的编码组的示意图。
图3是一示例性实施例提供的分布式系统布局在多AZ环境中的结构示意图。
图4是一示例性实施例提供的一种基于纠删码的编码方法的流程图。
图5是一示例性实施例提供的利用本说明实施例提供的基于纠删码的编码方法获得的编码组的示意图。
图6是一示例性实施例提供的编码组存储在AZ中的数据节点中的示意图。
图7是一示例性实施例提供的一种计算机设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
分布式系统的存储规模正在变得越来越大。请参阅图1,分布式系统是多个数据节点通过通信线路互联而构成的松散耦合的系统。每个数据节点都是一个能够独立处理某项事务的计算机设备。
纠删码(Erasure Code)是一种编码容错技术,它的基本原理是把存储的数据分片,并将分片得到的k份原始数据通过一定的校验计算方式生成k+m份数据,并能通过k+m份中的任意k份数据,还原为原始数据。这样即使部分数据丢失,分布式系统仍然能将原始数据恢复出来。
纠删码技术可以在保证数据可靠性的前提下,最小化系统的存储开销,因此为了降低数据对分布式系统的存储空间占用,纠删码技术被应用到分布式系统的数据存储中。但是,基于现有的纠删码技术所存储的数据,当出现部分数据丢失的情况时,系统需要读取足够多的数据才能恢复出用户所需数据。一方面将导致IOPS(Input/Output Per Second,每秒的输入输出量)的放大,另一方面也大量消耗了数据修复时的带宽。
以LRC纠删码为例,LRC(Locally Repairable Codes)是一种局部校验编码方法,其核心思想为:将校验块(parity block)分为全局校验块(global parity)、部分校验块(local reconstruction parity),故障恢复时可以分组计算。LRC编码,一般表示为LRC(k,z,g),其中k表示数据块的总数,z表示部分校验块的数量,g表示全局校验块的数量。如图2所示,以LRC(12,3,6)纠删码为例,表示有12个数据块,3个部分校验块和6个全局校验块;图2中全局校验块P1~P6由数据块A1-A4、B1-B4、C1-C4共计12个数据块编码生成,并使用数据块A1-A4、全局校验块P1、P2异或生成部分校验块L1,使用数据块B1-B4、全局校验块P3、P4异或生成部分校验块L2,使用数据块C1-C4、全局校验块P5、P6异或生成部分校验块L3;其中,数据块A1-A4、全局校验块P1、P2和部分校验块L1组成第一组编码组,数据块B1-B4、全局校验块P3、P4和部分校验块L2组成第二组编码组,数据块C1-C4、全局校验块P5、P6和部分校验块L3组成第三组编码组,三组编码组存储在不同的数据节点中,当其中一个数据节点(比如用于存储第一组编码组的数据节点)出现故障的情况下,用户读取想要读取数据块A1,需要从其他数据节点中读取B1-B4、C1-C4、P3-P6共12个数据块,以将数据块A1上的数据恢复出来。一方面将导致IOPS(Input/Output Per Second,每秒的输入输出量)的放大,另一方面也大量消耗了数据修复时的带宽。随着纠删码条带中数据副本的个数提升,该问题变得日益严重。
基于此,本说明书实施例提供了一种基于纠删码的编码方法,在获取待处理数据分片得到的K个数据块之后,能够将所述K个数据块划分成L组数据组,进而在获取每组数据块的部分校验块时,可以利用其它数据组中的至少部分数据块来生成本组数据组的部分校验块,在保证了用户数据安全性的同时,在需要进行某个异常的数据块的数据恢复时可以借助于其他数据组中使用该异常的数据块生成的部分校验块和生成该部分校验块的其他数据块,无需如图2所示读取多个全局校验块和其他数据节点中的所有的数据块,则需要读取的块的数量减少了,因此降低了数据丢失或者异常时进行数据恢复的IOPS的放大,也降低了数据恢复时的带宽损耗,有利于提高数据恢复效率。
在一示例性的应用场景中,随着用户对数据可靠性要求的日益提高,相关技术中支持以多AZ(Availability Zones,可用区)的方式进行存储,即将分布式系统布局在多AZ环境中。AZ(Availability Zones,可用区)是指在同一地域内,电力和网络互相独立的物理区域。多AZ(Availability Zones,可用区)方案,是将数据分散到多个单独的数据中心,并保证当单个AZ遇到机房或网络设备故障时数据仍旧可用。当分布式系统布局在多AZ环境中时,分布式系统包括有若干数据节点,每个AZ包括有所述分布式系统的一个或多个数据节点;在一个例子中,请参阅图3,具有7个数据节点的分布式系统布局在具有3个AZ的环境中,其中AZ0包括2个数据节点,AZ1包括1个数据节点,AZ2包括3个数据节点。
为了降低数据在多AZ存储下的存储空间占用,纠删码技术被应用到多AZ数据存储中。当单个AZ出现机房或者网络设备故障时,系统可以从其他机房获取数据并利用纠删码技术将异常的数据恢复出来以提供给用户。在如图2所示的纠删码条带中,数据块A1-A4、全局校验块P1、P2和部分校验块L1组成第一组编码组,数据块B1-B4、全局校验块P3、P4和部分校验块L2组成第二组编码组,数据块C1-C4、全局校验块P5、P6和部分校验块L3组成第三组编码组,三组编码组分别存储在三个不同的AZ的数据节点中,即每个AZ用于存储其中一组编码组,可以是每个AZ中的部分或者全部数据节点均存储该组编码组,比如在图3所述实施例的基础上,第一组编码组存储在AZ0的数据节点中,第二组编码组存储在AZ1的数据节点中,第三组编码组存储在AZ2的数据节点中,当AZ0出现故障的情况下,如果需要读取数据块A1,需要从其他AZ中读取B1-B4、C1-C4、P3-P6共12个数据块,以将数据块A1上的数据恢复出来,这引起了大量的IOPS的放大。
基于此,可以使用本说明书实施例提供的基于纠删码的编码方法,在获取待处理数据分片得到的K个数据块之后,能够将所述K个数据块划分成L组数据组,进而在获取每组数据块的部分校验块时,可以利用其它数据组中的至少部分数据块来生成本组数据组的部分校验块,比如将L组数据组及其部分校验块分别存储在L个不同的AZ的数据节点中;当任意AZ出现异常时,若想读取存储在异常的AZ中的目标数据块,我们可以使用其他AZ中的使用目标数据块生成的部分校验块和生成该部分校验块的其他部分数据块将异常的数据块恢复出来,减少了在进行数据恢复时需要读取的数据块或者校验块的总数量,从而降低数据修复时的带宽消耗以及IOPS。
其中,本说明书实施例提供的基于纠删码的编码方法,可以应用在分布式系统中的客户端;和/或,所述分布式系统具有若干数据节点,所述基于纠删码的编码方法也可以应用在至少一个数据节点中。
接下来对本说明书实施例提供的基于纠删码的编码方法进行说明,请参阅图4,所述方法包括:
在步骤S101中,获取待处理数据的K个数据块。
在步骤S102中,将所述K个数据块划分成L组数据组;其中,每组数据组至少包括与所述K个数据块分别对应的K个编码参数;其中,K、L为大于1的整数。
在步骤S103中,对于每组数据组,利用其它数据组中的至少部分数据块和本组数据组中与所述至少部分数据块对应的编码参数进行编码,生成本组数据组的部分校验块;其中,所述数据组及其部分校验块存储在分布式系统的数据节点中。
可以理解的是,本说明书实施例对于所述待处理数据的具体类型不做任何限制,可依据实际应用场景进行具体设置。示例性的,所述待处理数据可以是一数据请求,可以进一步将该数据请求划分成K个子请求,每个子请求作为一个数据块;示例性的,所述待处理数据也可以是一待存储的交易数据,可以将所述交易数据进行分片处理,以获取K个数据块;示例性的,所述待处理数据还可以是用户注册数据,可以将所述用户注册数据进行分片处理,以获取K个数据块;其中,K为大于1的整数。
在获取待处理数据的K个数据块之后,可以将所述K个数据块划分成L组数据组,其中,L为大于1的整数。示例性的,比如在具有若干数据节点的分布式系统中,可以根据数据节点的数量来确定所述K个数据块可被划分的数据组的数量,比如一个数据节点用于存储由一组数据组的数据块、部分校验块及全局校验块组成的编码组,本实施例对此不做任何限制。
示例性的,比如在多AZ环境中,所述数据组的数量也可以根据所述AZ的个数确定;假设一个AZ用于存储由一个数据组的数据块、部分校验块及全局校验块组成的编码组,则可以设置所述数据组的数量可以少于或者等于所述AZ的个数。在一个例子中,假设多AZ环境中有3个AZ,分别为AZ0、AZ1和AZ2,则可以将所述K个数据块划分成最多3组,在生成每组数据组的部分校验块和全局校验块之后,结合所述数据组的数据块、部分校验块及全局校验块得到一组编码组,则一共有3组编码组,假设分别为编码组1、编码组2和编码组3,则编码组1可存储在AZ0的数据节点中,编码组2可存储在AZ1的数据节点中,编码组3可存储在AZ2的数据节点中。
在一些实施例中,在划分得到的L组数据组中,每组数据组至少包括与所述K个数据块分别对应的K个编码参数。所述K个编码参数可用于结合所述数据块生成部分校验块以及全局校验块。
在一可能的实施方式中,对于全局校验块的生成,以生成一个全局校验块为例,对于每组数据组,可以根据所述K个数据块和所述K个编码参数进行编码,生成本组编码数据组的一个全局校验块。在需要生成至少两个全局校验块的情况下,每组数据组可以包括至少两个参数组,所述参数组包括与所述K个数据块分别对应的K个编码参数,不同参数组中的编码参数不同,从而可以根据所述K个数据块分别和所述至少两个不同的参数组进行编码,生成本组编码数据组的至少两个全局校验块。
在一示例性的应用场景中,在多AZ环境中,假设一个AZ中的数据节点用于存储一个编码组,所述编码组包括一个数据组的数据块、部分校验块及全局校验块,每个编码组至少有一个全局校验块,即是说,所述全局校验块的数量可以与用于存储所述编码组的AZ的个数成倍数关系。每个存储有一组编码组的AZ可以对应有一个或多个全局校验块,则每组数据组可以包括一组或多组参数组,所述参数组包括与所述K个数据块分别对应的K个编码参数,不同参数组中的编码参数不同,从而可以基于所述K个数据块和不同的所述参数组生成所述数据组的不同全局校验块。
对于所述全局校验块的具体编码方式,本实施例对此不做任何限制,可依据实际应用场景进行具体设置。在一个例子中,所述全局校验块可以根据K个数据块分别与所述数据组中的K个编码参数的乘积之和确定。在另一个例子中,所述全局校验块可以根据K个数据块分别与所述数据组中的K个编码参数的比值之和确定。
示例性的,请参阅图5,以所述全局校验块根据K个数据块分别与所述数据组中的K个编码参数的乘积之和确定为例进行说明:待处理数据被分片成12个数据块,进而将12个数据块划分成3组数据组a、b、c,分别为a={A1,A2,A3,A4},b={B1,B2,B3,B4},c={C1,C2,C3,C4},在多AZ环境中,请参阅图6,以3组数据组分别存储在3个不同的AZ中为例,假设数据组a存储在AZ0中,数据组b存储在AZ1中,数据组c存储在AZ2中。假设每个存储有一组数据组的AZ需对应一个全局校验块,则每组数据组包括一个参数组,所述参数组包括与12个数据块分别对应的12个编码参数,比如数据组a包括有4个数据块和1个参数组,该参数组Fx={x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12},数据组b包括有4个数据块和1个参数组,该参数组Fy={y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,y11,y12},数据组c包括有4个数据块和1个参数组,该参数组Fz={z1,z2,z3,z4,z5,z6,z7,z8,z9,z10,z11,z12}。
则数据组a对应的全局校验块P1=Fx(A1,A2,A3,A4,B1,B2,B3,B4,C1,C2,C3,C4)=x1*A1+x2*A2+x3*A3+x4*A4+x5*B1+x6*B2+x7*B3+x8*B4+x9*C1+x10*C2+x11*C3+x12*C4
数据组b对应的全局校验块P2=Fy(A1,A2,A3,A4,B1,B2,B3,B4,C1,C2,C3,C4)=y1*A1+y2*A2+y3*A3+y4*A4+y5*B1+y6*B2+y7*B3+y8*B4+y9*C1+y10*C2+y11*C3+y12*C4
数据组c对应的全局校验块P3=Fz(A1,A2,A3,A4,B1,B2,B3,B4,C1,C2,C3,C4)=z1*A1+z2*A2+z3*A3+z4*A4+z5*B1+z6*B2+z7*B3+z8*B4+z9*C1+z10*C2+z11*C3+z12*C4
在一可能的实施方式中,关于部分校验块的生成,对于每组数据组,可以利用其它数据组中的至少部分数据块和本组数据组中与所述至少部分数据块对应的编码参数进行编码,生成本组数据组的部分校验块。其中,所述数据组中的部分校验块的数量与所述数据组中的数据块的数量成倍数关系。并且,所述部分校验块所利用的所述其它数据组中的部分数据块的数量可以根据所述倍数关系确定。示例性的,所述其它数据组中的部分数据块的数量的数值等于所述倍数的数值。在一个例子中,假设所述数据组中数据块的数量为8个,部分校验块的数量是2个,数据组中数据块的数量和部分校验块的数量之间的倍数是4,则用于生成所述部分校验块的所述其它数据组中的部分数据块的数量可以是4个。
其中,对于所述数据组,用于生成所述数据组中的部分校验块的所述其它数据组可以是除了本组数据组之外的全部数据组或者部分数据组。
另外,为了进一步减少后续进行数据恢复时需要读取的数据块和部分校验块的总数量,可以设置所述部分校验块的数量小于或等于所述数据组中的数据块的数量。在一个例子中,假设所述数据组中数据块的数量为4个,则部分校验块的数量可以是2个或者4个。在另一个例子中,假设所述数据组中数据块的数量为6个,则部分校验块的数量可以是2个、3个或者6个。
在一些实施例中,对于每组数据组,若生成至少两个部分校验块,分别生成所述至少两个部分校验块的所述部分数据块互不相同,实现不同的数据块均有与之相关的部分校验块,从而后续在数据块丢失或者存储数据组的AZ异常时,可以根据与丢失的数据块相关的部分校验块将该丢失的数据块恢复出来。在一个例子中,假设有2组数据组a、b,所述数据组中数据块的数量为4个,部分校验块的数量是2个,数据组中数据块的数量和部分校验块的数量之间的倍数是2,则可以使用数组b中的2个数据块和数据组a中与该2个数据块对应的编码参数生成数据组a的第一个部分校验块,利用数组b中不同于上述2个数据块的另外2个数据块和数据组a中与该2个数据块对应的编码参数生成数据组a的第二个部分校验块。
对于所述部分校验块的具体编码方式,本实施例对此不做任何限制,可依据实际应用场景进行具体设置。在一个例子中,所述部分校验块可以根据所述部分数据块分别与对应的编码参数的乘积之和确定。在另一个例子中,所述部分校验块可以根据所述部分数据块分别与对应的编码参数的比值之和确定。
示例性的,请参阅图5以及图6,假设每组数据组有4个数据块,设置有2个部分校验块,则数据组中数据块的数量和部分校验块的数量之间的倍数是2,可以利用其他数据组中的2个数据块生成一个部分校验块,假设所述其他数据组为除本组数据组之外的全部数据组,则数据组a的两个部分校验块L1-1,L1-2,可以分别利用数据组b中的2个数据块和数据组c中的2个数据块生成,且生成两个部分校验块L1-1,L1-2所使用的数据块不同,比如有L1-1=x5*B1+x6*B2+x9*C1+x10*C2,L1-2=x7*B3+x8*B4+x11*C3+x12*C4,可以理解的是,生成部分校验块L1-1不限于使用数据块B1、B2、C1,C2,也可以使用B3、B4、C3、C4,或者还可以使用B1、B2、C3、C4,只要部分校验块L1-1和部分校验块L1-2使用不同的数据块来生成即可,本实施例对此不做任何限制,实现每个数据块均有与之相关的部分校验块,从而后续在数据块丢失时,可以基于与丢失的数据块相关的部分校验块和用于生成该部分校验块的其他数据块将丢失的数据块恢复出来。
依次类推,数据组b的两个部分校验块L2-1,L2-2,可以分别利用数据组a中的2个数据块和数据组c中的2个数据块生成,部分校验块L2-1和部分校验块L2-2使用不同的数据块来生成,比如利用数据块A1、A2、C1和C2来生成部分校验块L2-1,L2-1=y1*A1+y2*A2+y9*C1+y10*C2;利用数据块A3、A4、C3和C4来生成部分校验块L2-2,L2-2=y3*A3+y4*A4+y11*C3+y12*C4。依次类推,数据组c的两个部分校验块L3-1,L3-2,可以分别利用数据组a中的2个数据块和数据组b中的2个数据块生成,部分校验块L3-1和部分校验块L3-2使用不同的数据块来生成,比如可以利用数据块A1、A2、B1和B2来生成部分校验块L3-1,L3-1=z1*A1+z2*A2+z5*B1+z6*B2;利用数据块A3、A4、C3和C4来生成部分校验块L3-2,L3-2=z3*A3+z4*A4+z7*B3+z8*B4
在一些可能的实施方式中,对于所述数据组,如果用于生成所述数据组中的部分校验块的所述其它数据组是除了本组数据组之外的全部数据组,并且本组数据组中的一个或多个部分校验块是利用其他数据组中的全部数据块生成,则所述数据组中的一个或多个部分校验块已经包含了其他数据组中的全部数据块的信息,因此可以根据本组数据组中的数据块和对应的编码参数、以及所述一个或多个部分检验块生成本组数据组的全局校验块。
在一个例子中,请参阅图5以及图6,则数据组a对应的全局校验块P1=x1*A1+x2*A2+x3*A3+x4*A4+L1-1+L1-2;数据组b对应的全局校验块P2=y5*B1+y6*B2+y7*B3+y8*B4+L2-1+L2-2;数据组c对应的全局校验块P3=z9*C1+z10*C2+z11*C3+z12*C4+L3-1+L3-2
在一些实施例中,在每组数据组包括一组参数组的情况下,生成所述数据组的部分校验块可以使用该组参数组中的编码参数;在每组数据组包括至少两组参数组的情况下,可以选择其中一组参数组来生成所述数据组的部分校验块,也可以分别根据两组参数组来生成所述数据组的至少两个部分校验块。
在一些实施例中,在生成所述数据组的部分校验块和全局校验块之后,可以获取与所述L组数据组对应的L组编码组,每组所述编码组包括其中一组所述数据组的数据块、所述部分校验块和所述全局校验块;L组编码组与L组数据组一一对应,然后可以将所述L组编码组存储在分布式系统的数据节点中。
示例性的,所述分布式系统布局在多AZ环境中,每个AZ包括有一个或多个数据节点;其中,每个AZ对应至少一组编码组,所述至少一组编码组存储在该AZ中的一个或多个数据节点中。请参阅图6,在图5实施例的基础上,图5所示的实施例可以获得3组编码组,第一组编码组{A1,A2,A3,A4,L1-1,L1-2,P1}存储在AZ0的数据节点中,第二组编码组{B1,B2,B3,B4,L2-1,L2-2,P2}存储在AZ1的数据节点中,第三组编码组{C1,C2,C3,C4,L3-1,L3-2,P3}存储在AZ2的数据节点中。
在一些实施例中,当同一个AZ中的某一个数据块丢失时,可以使用同AZ内的数据块、部分校验块和全局校验块将其恢复出来。比如图5和图6所述的实施例中,P1可以由数据块A1~A4和部分校验块L1-1和L1-2计算得出,在数据块A1丢失时,可以基于全局校验块P1、部分校验块L1-1、L1-2、数据块A2、A3、A4和A1~A4对应的编码参数,计算出A1,即P1、L1-1、L1-2、A2、A3、A4和A1~A4对应的编码参数(x1,x2,x3,x4)是已知项,A1是未知项,则
Figure BDA0003424786550000111
在一些实施例中,当任意AZ出现异常时,若需读取存储在出现异常的AZ的数据节点中的目标数据块,从其他AZ的数据节点中读取使用所述目标数据块生成的目标部分校验块、以及生成所述目标部分校验块的其他数据块;然后使用所述目标部分校验块和生成所述目标部分校验块的其他数据块,恢复出所述目标数据块。本实施例中,由于部分校验块由其他数据组的至少部分数据块生成,因此减少了在进行数据恢复时需要读取的数据块或者部分校验块的总数量,从而降低数据修复时的带宽消耗以及IOPS,也有利于提高数据恢复效率。
示例性的,比如图5和图6所述的实施例中,假设AZ0出现异常,如果想要读取数据块A1或者A2,可以根据使用数据块A1或者A2生成的部分校验块L2-1、L3-1和用于生成部分校验块L2-1、L3-1的其他数据块C1、C2、B1和B2将其恢复出来,则有y1*A1+y2*A2=L2-1-y9*C1-y10*C2;y1*A1+y2*A2=L3-1-z5*B1-z6*B2;仅需从其他AZ中读取2个部分校验块和4个数据块总共6个块即可恢复出数据块A1或者A2,需要读取的块的数量减少了,在保证了用户数据安全性的同时,降低了AZ故障时的IOPS的放大,也有利于减少数据恢复的带宽损耗,提高数据恢复效率。
相应地,本说明还提供了一种分布式系统,包括若干数据节点,所述数据节点与客户端通信连接,所述数据节点或者所述客户端被配置成:
获取待处理数据的K个数据块;
将所述K个数据块划分成L组数据组;其中,每组数据组至少包括与所述K个数据块分别对应的K个编码参数;其中,K、L为大于1的整数;
对于每组数据组,利用其它数据组中的至少部分数据块和本组数据组中与所述至少部分数据块对应的编码参数进行编码,生成本组数据组的部分校验块;其中,所述数据组及其部分校验块存储在分布式系统的数据节点中。
可选地,所述数据节点或者所述客户端被配置成:对于每组数据组,根据所述K个数据块和所述K个编码参数进行编码,生成本组数据组的全局校验块;或者,在利用其他数据组中的全部数据块生成本组数据组的一个或多个部分检验块的情况下,根据本组数据组中的数据块和对应的编码参数、以及所述一个或多个部分检验块生成本组数据组的全局校验块。
可选地,所述数据节点或者所述客户端被配置成:在生成所述全局校验块之后,获取L组编码组;每组所述编码组包括其中一组所述数据组的数据块、所述部分校验块和所述全局校验块;将所述L组编码组存储在分布式系统的数据节点中。
可选地,所述分布式系统布局在多AZ环境中,每个AZ包括有一个或多个数据节点。
其中,每个AZ对应至少一组编码组,所述至少一组编码组存储在该AZ中的一个或多个数据节点中。
可选地,所述数据节点或者所述客户端被配置成:若需读取存储在出现异常的AZ的数据节点中的目标数据块,从其他AZ的数据节点中读取使用所述目标数据块生成的目标部分校验块、以及生成所述目标部分校验块的其他数据块;使用所述目标部分校验块和生成所述目标部分校验块的其他数据块,恢复出所述目标数据块。
可选地,对于每组数据组,若生成至少两个部分校验块,用于分别生成所述至少两个部分校验块的所述部分数据块互不相同。
可选地,所述数据组中的部分校验块的数量与所述数据组中的数据块的数量成倍数关系;其中,所述部分校验块所利用的所述其它数据组中的部分数据块的数量根据所述倍数关系确定。
可选地,所述部分校验块根据所述部分数据块分别与对应的编码参数的乘积之和确定;和/或所述全局校验块根据所述K个数据块分别与所述K个编码参数的乘积之和确定。
可选地,所述数据组的数量根据所述AZ的个数确定;和/或,所述全局校验块的数量与用于存储所述编码组的AZ的个数成倍数关系。
可选地,若当需要生成至少两个全局校验块时,所述数据组包括有至少两个参数组,所述参数组包括与所述K个数据块分别对应的K个编码参数;不同参数组中的编码参数不同。
相应地,请参阅图7,本说明书实施例还提供了一种计算机设备20,包括:
处理器21;
用于存储处理器21可执行指令的存储器22;
其中,所述处理器21通过运行所述可执行指令以实现上述任一项所述的方法。
所述处理器21执行所述存储器22中包括的可执行指令,所述处理器21可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器22存储对频方法的可执行指令,所述存储器22可以包括至少一种类型的存储介质,存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等等。而且,计算机设备20可以与通过网络连接执行存储器的存储功能的网络存储装置协作。存储器22可以是计算机设备20的内部存储单元,例如计算机设备20的硬盘或内存。存储器22也可以是计算机设备20的外部存储设备,例如计算机设备20上配备的插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器22还可以既包括计算机设备20的内部存储单元也包括外部存储设备。存储器22用于存储可执行指令以及设备所需的其他程序和数据。存储器22还可以用于暂时地存储已经输出或者将要输出的数据。
示例性的,如图7所示,所述计算机设备20还可以包括网络接口23,以便通过网络接口与其他设备进行数据交互。
这里描述的各种实施方式可以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器中并且由控制器执行。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器,上述指令可由装置的处理器执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当存储介质中的指令由终端的处理器执行时,使得终端能够执行上述方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

Claims (14)

1.一种基于纠删码的编码方法,所述方法包括:
获取待处理数据的K个数据块;
将所述K个数据块划分成L组数据组;其中,每组数据组至少包括与所述K个数据块分别对应的K个编码参数;其中,K、L为大于1的整数;
对于每组数据组,利用其它数据组中的至少部分数据块和本组数据组中与所述至少部分数据块对应的编码参数进行编码,生成本组数据组的部分校验块;其中,所述数据组及所述部分校验块存储在分布式系统的数据节点中。
2.根据权利要求1所述的方法,所述方法还包括:
对于每组数据组,根据所述K个数据块和所述K个编码参数进行编码,生成本组数据组的全局校验块;或者,在利用其他数据组中的全部数据块生成本组数据组的一个或多个部分检验块的情况下,根据本组数据组中的数据块和对应的编码参数、以及所述一个或多个部分检验块生成本组数据组的全局校验块。
3.根据权利要求2所述的方法,还包括:
在生成所述全局校验块之后,获取与所述L组数据组对应的L组编码组;每组所述编码组包括其中一组所述数据组的数据块、所述部分校验块和所述全局校验块;
将所述L组编码组存储在分布式系统的数据节点中。
4.根据权利要求3所述的方法,所述分布式系统布局在多AZ环境中,每个AZ包括有一个或多个数据节点;
其中,每个AZ对应至少一组编码组,所述至少一组编码组存储在该AZ中的一个或多个数据节点中。
5.根据权利要求4所述的方法,还包括:
若需读取存储在出现异常的AZ的数据节点中的目标数据块,从其他AZ的数据节点中读取使用所述目标数据块生成的目标部分校验块、以及生成所述目标部分校验块的其他数据块;
使用所述目标部分校验块和生成所述目标部分校验块的其他数据块,恢复出所述目标数据块。
6.根据权利要求1所述的方法,对于每组数据组,若生成至少两个部分校验块,用于分别生成所述至少两个部分校验块的所述部分数据块互不相同。
7.根据权利要求1所述的方法,所述数据组中的部分校验块的数量与所述数据组中的数据块的数量成倍数关系;
其中,所述部分校验块所利用的所述其它数据组中的部分数据块的数量根据所述倍数关系确定。
8.根据权利要求4所述的方法,所述数据组的数量根据所述AZ的个数确定;和/或,
所述全局校验块的数量与用于存储所述编码组的AZ的个数成倍数关系。
9.根据权利要求2所述的方法,若需要生成至少两个全局校验块,所述数据组包括有至少两个参数组,所述参数组包括与所述K个数据块分别对应的K个编码参数;不同参数组中的编码参数不同。
10.根据权利要求1至9任意一项所述的方法,所述方法应用于分布式系统中的客户端;和/或,所述分布式系统具有若干数据节点,所述方法应用在至少一个数据节点中。
11.一种分布式系统,包括若干数据节点,所述数据节点与客户端通信连接,所述数据节点或者所述客户端被配置成:
获取待处理数据的K个数据块;
将所述K个数据块划分成L组数据组;其中,每组数据组至少包括与所述K个数据块分别对应的K个编码参数;其中,K、L为大于1的整数;
对于每组数据组,利用其它数据组中的至少部分数据块和本组数据组中与所述至少部分数据块对应的编码参数,生成本组数据组的部分校验块;其中,所述数据组及其部分校验块存储在分布式系统的数据节点中。
12.根据权利要求11所述的分布式系统,所述分布式系统布局在多AZ环境中,每个AZ包括有一个或多个数据节点。
13.一种计算机设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1至10中任一项所述的方法。
14.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1至10中任一项所述方法的步骤。
CN202111574369.XA 2021-12-21 2021-12-21 基于纠删码的编码方法、分布式系统、设备及存储介质 Pending CN114385409A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111574369.XA CN114385409A (zh) 2021-12-21 2021-12-21 基于纠删码的编码方法、分布式系统、设备及存储介质
PCT/CN2022/130451 WO2023116238A1 (zh) 2021-12-21 2022-11-08 基于纠删码的编码方法、分布式系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111574369.XA CN114385409A (zh) 2021-12-21 2021-12-21 基于纠删码的编码方法、分布式系统、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114385409A true CN114385409A (zh) 2022-04-22

Family

ID=81198399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111574369.XA Pending CN114385409A (zh) 2021-12-21 2021-12-21 基于纠删码的编码方法、分布式系统、设备及存储介质

Country Status (2)

Country Link
CN (1) CN114385409A (zh)
WO (1) WO2023116238A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579352A (zh) * 2022-04-29 2022-06-03 阿里云计算有限公司 数据重构方法以及装置
WO2023116238A1 (zh) * 2021-12-21 2023-06-29 阿里巴巴(中国)有限公司 基于纠删码的编码方法、分布式系统、设备及存储介质
WO2024001974A1 (zh) * 2022-06-29 2024-01-04 阿里巴巴(中国)有限公司 数据局部恢复方法、设备及存储介质
CN117370067A (zh) * 2023-12-07 2024-01-09 融科联创(天津)信息技术有限公司 一种大规模对象存储系统的数据布局和编码方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11748197B2 (en) * 2019-01-31 2023-09-05 Qatar Foundation For Education, Science And Community Development Data storage methods and systems
CN113296695A (zh) * 2021-02-08 2021-08-24 阿里巴巴集团控股有限公司 多az环境下纠删码数据的写入方法以及装置
CN113687975B (zh) * 2021-07-14 2023-08-29 重庆大学 数据处理方法、装置、设备及存储介质
CN114385409A (zh) * 2021-12-21 2022-04-22 阿里巴巴(中国)有限公司 基于纠删码的编码方法、分布式系统、设备及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023116238A1 (zh) * 2021-12-21 2023-06-29 阿里巴巴(中国)有限公司 基于纠删码的编码方法、分布式系统、设备及存储介质
CN114579352A (zh) * 2022-04-29 2022-06-03 阿里云计算有限公司 数据重构方法以及装置
WO2024001974A1 (zh) * 2022-06-29 2024-01-04 阿里巴巴(中国)有限公司 数据局部恢复方法、设备及存储介质
CN117370067A (zh) * 2023-12-07 2024-01-09 融科联创(天津)信息技术有限公司 一种大规模对象存储系统的数据布局和编码方法
CN117370067B (zh) * 2023-12-07 2024-04-12 融科联创(天津)信息技术有限公司 一种大规模对象存储系统的数据布局和编码方法

Also Published As

Publication number Publication date
WO2023116238A1 (zh) 2023-06-29

Similar Documents

Publication Publication Date Title
CN114385409A (zh) 基于纠删码的编码方法、分布式系统、设备及存储介质
US11113161B2 (en) Local storage clustering for redundancy coded data storage system
US10229004B2 (en) Data transfer priority levels
US10481978B2 (en) Optimal slice encoding strategies within a dispersed storage unit
US10241864B2 (en) Expanding information dispersal algorithm width without rebuilding through imposter slices
US10387382B2 (en) Estimating a number of entries in a dispersed hierarchical index
US10013191B2 (en) Encoding data for storage in a dispersed storage network
US20170090824A1 (en) Layered queue based coordination of potentially destructive actions in a dispersed storage network memory
WO2018000788A1 (zh) 一种数据存储方法和装置、一种数据恢复方法和装置
CN111782152A (zh) 数据存储方法、数据恢复方法、装置、服务器及存储介质
US20170371571A1 (en) Efficient erasure coding of large data objects
CN111966631A (zh) 一种可快速分发的镜像文件生成方法、系统、设备和介质
US10331519B2 (en) Application of secret sharing schemes at multiple levels of a dispersed storage network
WO2020094134A1 (zh) 磁盘分配方法、装置和可读存储介质
CN114048061A (zh) 校验块的生成方法及装置
US20190034276A1 (en) Resolving write conflicts in a dispersed storage network
US20180113626A1 (en) Fail-in-place supported via decentralized or distributed agreement protocol (dap)
US10678664B1 (en) Hybridized storage operation for redundancy coded data storage systems
US10366062B1 (en) Cycled clustering for redundancy coded data storage systems
US10387252B2 (en) Synchronously storing data in a plurality of dispersed storage networks
CN113778346B (zh) 数据读取方法、装置、设备和存储介质
WO2022198429A1 (zh) 一种数据冗余备份方法、装置、存储介质及电子设备
US20180103101A1 (en) Memory access using deterministic function and secure seed
US11418591B1 (en) Write response thresholds
CN114528139A (zh) 数据处理和节点部署的方法、装置、电子设备及介质

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