CN106537352A - 分布式存储数据恢复 - Google Patents
分布式存储数据恢复 Download PDFInfo
- Publication number
- CN106537352A CN106537352A CN201480080937.2A CN201480080937A CN106537352A CN 106537352 A CN106537352 A CN 106537352A CN 201480080937 A CN201480080937 A CN 201480080937A CN 106537352 A CN106537352 A CN 106537352A
- Authority
- CN
- China
- Prior art keywords
- data
- check matrix
- syndrome
- sparse check
- data element
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1088—Reconstruction on already foreseen single or plurality of spare disks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/616—Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Security & Cryptography (AREA)
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Abstract
在分布式数据存储系统中处理数据,生成使得数据元素与数据伴随式相关的稀疏校验矩阵。系统接收关于在所述分布式数据存储系统中的故障节点的通知;访问所述稀疏校验矩阵;以及根据所述稀疏校验矩阵确定数据元素与伴随式之间的相互关系。系统对数据元素和伴随式处理逻辑运算;以及恢复所述故障节点。
Description
背景技术
移动服务、社交网络、在线服务、云服务以及其它数据服务正在生成并积累大量数据,有时被称作“大数据”。可以采用从本地弹性磁盘阵列架构到全局分布式和弹性存储架构的范围内的磁盘存储系统来存储、取回和恢复数据。
附图说明
图1示出了根据本公开的例子的分布式数据存储系统的框图;
图2示出了根据本公开的例子的数据矩阵;
图3示出了根据本公开的例子的在数据矩阵中的数据元素和伴随式(syndrome)之间的相互关系;
图4示出了在本公开的单故障点例子中的数据恢复的流程图;
图5示出了在本公开的多故障点例子中的数据恢复的流程图;
图6示出了根据本公开的例子的将节点相互关联的流程图;
图7示出了根据本公开的例子的具有单故障点的分布式数据存储系统的框图;
图8示出了根据本公开的例子的在具有单故障点的数据矩阵中的数据元素与伴随式之间的相互关系;
图9示出了根据本公开例子的具有单故障点的分布式数据存储系统中恢复的框图;
图10示出了根据本公开的例子的在数据恢复之后具有单故障点的分布式数据存储系统的框图;
图11示出了根据本公开的例子的具有多故障点的分布式数据存储系统的框图;
图12示出了根据本公开的例子的具有多故障点的分布式数据存储系统中的恢复的框图;以及
图13示出了根据本公开的例子的在数据恢复之后具有多故障点的分布式数据存储系统的框图;
图14是示出根据本公开的例子的非暂态计算机可读介质的示例性框图,所述介质存储有用于操作计算机(例如,图1的计算机102和106)的代码。
具体实施方式
图1示出了根据本公开的例子的分布式数据存储系统100的框图。在例子中,分布式数据存储系统100可以出于存储效率的目的而利用纠删码(erasure coding)。
在例子中,计算机102可以是管理计算机、服务器、或运行管理软件或磁盘管理模块的其他设备,以管理或配置分布式数据存储系统100。在例子中,计算机102可以创建、存储或管理用于在分布式数据存储系统100中使用的数据矩阵,如在本文中关于图2更详细讨论的。在另一例子中,在分布式数据存储系统100中使用的管理软件或磁盘管理模块和数据矩阵可以存储于例如一个或多个服务器106上。
在例子中,分布式数据存储系统100可以包括多于一个缺陷区(fault zone)、数据区或数据中心,例如数据中心或数据存储114、116和118。在例子中,缺陷区可以包括一个或多个磁盘驱动器、服务器、数据中心、或可以恢复的数据集合。数据中心可以在地理上位于一处,或可以在不同的地理位置处,例如在不同房间、建筑物、城市、州或国家中。在例子中,数据中心114可以在纽约,数据中心116可以在德克萨斯,而数据中心118可以在加利福尼亚。
在分布式数据存储系统100中的每个数据中心(例如,数据中心114、116和118)可以包括至少一个计算机、服务器、主机或其它设备106,来处理和/或存储数据。在例子中,数据可以存储于磁盘驱动器上,例如磁盘驱动器110和112(后文称作“节点”)。节点110和112可以包括任意存储技术,例如,节点可以是HDD、SSD、持久性存储器、其它存储技术、或其组合,并且可以直接连接到服务器106或在其内部,或者可以在服务器106的外部。
分布式数据存储系统100的计算机102、服务器106、节点110和112、以及数据中心114、116和118可以通过网络进行通信或互连,所述网络例如是局域网(LAN)、广域网(WAN)、存储区域网(SAN)、互联网、或任意其它类型的通信链路,例如,网络104。另外,分布式数据存储系统100和/或网络104可以包括系统总线或其它快速互连或直接连接,例如在服务器106与节点110和112之间的直接连接108。
如在下文更详细讨论的,存储于驱动器(例如,节点110和112)上的数据可以包括数据元素(或“数据容器”)和/或伴随式。如在下文更详细讨论的,数据元素和伴随式可以存储于相同的数据中心内,或者可以存储于不同的数据中心内。例如,在图1中,数据中心114存储四个数据元素D1-D4(110)和伴随式S1(112)。数据中心116存储四个数据元素D5-D8(110)和伴随式S2(112)。数据中心118未存储数据元素但存储了四个伴随式S3-S6(112)。
图2示出了根据本公开的例子的数据矩阵。更具体地,图2示出了稀疏校验矩阵202。在例子中,稀疏校验矩阵20可以是数据元素(例如D1-D8(110))和伴随式(例如,S1-S6(112))的矩阵,其具有非常稀疏或“不密集”的布置。在一些例子中,稀疏矩阵可以导致在单纠删(single erasure)时本地恢复的更强能力。例如,在图2的稀疏校验矩阵202中,可能仅需要少量节点来迭代地恢复纠删(erasure)。在一些例子中,稀疏校验矩阵可以包括置换、线性和非线性变换到更密集或更稀疏的矩阵和/或非二进制矩阵。
稀疏校验矩阵202还示出了这样的例子:数据(例如,文件“D”)分裂成八个单独的数据元素或容器D1-D8,其可以存储于例如节点110上。例如,大小为八个吉字节的文件(例如,文件D)可以分裂成八个单独的一吉字节数据元素D1-D8(110),如下文更详细描述的。
稀疏校验矩阵202还示出了六个伴随式S1-S6的例子,其可被存储于例如节点112上,与可被存储于例如节点110上的数据元素D1-D8相关。在例子中,伴随式可以是数字(digit)、标识符、标记(flag)或用于校验错误和/或数据一致性的其它计算出的值,以及如果必要的话再生成数据。在一些例子中,伴随式可以是与校验和形成对照的,校验和可以提供错误检测但是不会再生成数据。在一些例子中,例如,当使用例如RAID6或RAIDMANY的保护方案时,伴随式可以表示伴随式块,其中伴随式表示多于单个比特。在一些例子中,伴随式块可以是字节、冗余块、或另一值,以支持各种不同级别的RAID或更大大小的稀疏校验矩阵。
在图2的例子中,可以基于数据元素D1-D8计算伴随式S1-S6。在例子中,在任意给定列中的数字1是数据被用于计算与在那行中的数据相关的伴随式的指示符。例如,伴随式S3可以从数据元素D1和D5计算,而伴随式S4可以从数据元素D2和D6计算。图2的稀疏校验矩阵202还通过使用阴影示出了跨数据中心的在地理上分布数据和伴随式的例子,也如图1所示。
稀疏校验矩阵202还示出了较强的本地恢复能力,数据元素可以共同位于例如单个数据中心内。更具体地,在稀疏校验矩阵中,可以使较少的节点与单个伴随式相关,减小因为访问剩余的好数据而对网络造成的压力。
图3示出了根据本公开的例子的在数据矩阵中的数据和伴随式之间的相互关系。更具体地,图3示出了图2的稀疏校验矩阵202的相关视图。如上,例如,伴随式S3可以根据D1和D5计算,而伴随式S4可以根据D2和D6计算。
图4示出了在本公开的例子中的单故障点中的数据恢复的流程图。在框402中,在例子中,在检测到故障之前生成矩阵(例如,稀疏校验矩阵202)。可以使用例如渐进边增长(PEG)算法的算法来生成矩阵。
在框404中,生成伴随式,例如图2的S1-S6。如上所讨论的,可以基于稀疏校验矩阵202中的数据元素D1-D8计算伴随式S1-S6。
在框406中,数据元素D1-D8和伴随式S1-S6可以例如存储于一个或多个数据中心内,例如数据中心114、数据中心116和/或数据中心118。在例子中,数据元素D1-D8和伴随式S1-S6可以跨数据中心随机地或基于一个或多个标准(例如,地理散布或地理偏置)进行散布。
在框408中,可以包括在分布式数据存储系统中进行监视,检测单个故障,即,接收故障通知。在各种例子中,单个故障可以包括但不限于:节点故障、驱动器故障、数据集故障、阵列故障、和/或服务器故障。单个故障例如可以通过驱动器子系统、服务器、数据中心、相邻服务器、相邻数据中心、扫描工具、管理计算机(例如图1的计算机102)、磁盘管理模块、或用于监视驱动器性能、健康或正常运行时间的另一机构进行检测。
在框410中,在已经检测到单个故障之后,在例子中,通过访问稀疏校验矩阵202、确定故障节点的相关伴随式、以及通过例如递归过程来在同一数据中心内恢复单个故障,来恢复故障节点。例如可以在具有故障的服务器、另一服务器、数据中心工具或管理工具(例如,图1的计算机102)上执行所述恢复。将结合图7-9在下文中更详细地讨论单个节点的恢复。
在框412中,单个节点被完全恢复,并且可以通过例如服务器、另一服务器、数据中心工具、磁盘管理模块或管理工具生成报告或警报。
图5示出了在本公开的例子中的多故障点中的数据恢复的流程图。
在框502中,在例子中,如在图4和框402中的例子,生成矩阵(例如,稀疏校验矩阵202)。可以使用例如渐进边增长(PEG)算法的算法生成矩阵。如在框404中,在框504中生成伴随式(例如,图2的S1-S6),并可以基于稀疏校验矩阵202中的数据元素D1-D8进行计算。
另外在框506中,如同在框406中,可以将数据元素D1-D8和伴随式S1-S6例如存储于一个或多个数据中心内,例如,数据中心114、数据中心116和/或数据中心118,并可以跨数据中心随机地或基于一个或多个标准进行散布。
在框508中,监视和/或检测多于一个节点的故障(例如,站点灾难),和/或接收通知。在各种例子中,多个节点的故障可以包括但不限于多于一个节点、多于一个驱动器、多于一个数据集、多于一个阵列和/或多于一个服务器的故障。在例子中,多于一个节点的故障可以影响整个数据中心,例如,所有的数据中心114离线。多于一个节点的故障可以例如由驱动器子系统、服务器、数据中心、相邻服务器、相邻数据中心、扫描工具、磁盘管理模块、管理计算机(例如,图1的计算机102)或用于监视驱动器性能、健康或正常运行时间的另一机构检测。
在框510中,在已经检测到多于一个节点的故障之后,在例子中,通过访问稀疏校验矩阵202、确定用于跨其它地理位置的故障节点(例如,数据中心114、116和118)的相关伴随式、以及通过例如递归过程全局地恢复故障数据元素,来恢复故障节点。例如,可以在受影响的服务器、另一服务器、数据中心工具、磁盘管理模块、或管理工具(例如,图1的计算机102)上执行恢复。将在下文中结合图11-13更详细地描述多个节点的恢复。
图6示出了根据本公开的例子的对应节点的流程图。更具体地,图6示出了终端对图5的框502的输入,其中在例子中,生成矩阵(例如,稀疏校验矩阵202)。
在框602中,在例子中,指定本地节点计数,例如,在稀疏校验矩阵202中每行的非零元素的数量。在框604中,指定全局站点的数量。如上所述,全局站点可以包括位于同一处或不同房间、建筑物、城市、州或国家等的数据中心。
在框606中,在例子中,指定与在其它站点中的排他节点相关的每个数据节点的相互关系的数量(correlation number)。然后可以将图6的流程返回到图5的框502。
图7示出了根据本公开的例子的具有单故障点的分布式数据存储系统的框图。在图7的例子中,数据中心114中的服务器106的节点D1已经发生故障,并由故障节点D1(120)表示。
图8示出了根据本公开的例子的在具有单故障点的数据矩阵中的数据元素与伴随式之间的相互关系。在例子中,如结合图4的框410在上文所讨论的,在已经检测到单个故障之后,通过访问稀疏校验矩阵202、确定故障节点的相关伴随式(例如,S1(112))、以及通过例如如图9的例子所描述的递归过程在同一数据中心内恢复单个故障,来恢复故障节点(例如,D1(120))。
图9示出了根据本公开例子的具有单故障点的分布式数据存储系统中恢复的框图。可以执行或使用逻辑运算902(如XOR算子)来从相关伴随式(例如,S1(112))和相关数据元素D4、D3和D2(110)来恢复故障节点(例如,D1(110/120))。在其它例子中,可以代替例如XOR算子使用其它计算算法和恢复方法。
图10示出了根据本公开的例子的在数据恢复之后具有单故障点的分布式数据存储系统的框图。在图10的例子中,D1(110)已经恢复并且不再表现为故障节点D1(120),如图7所示。
图11示出了根据本公开的例子的具有多故障点的分布式数据存储系统的框图。在图1的例子中,在数据中心114中服务器106的节点D1-D4(110)和伴随式S1(112)已经发生故障,并且现在是故障节点D1-D4(120)和S1(122)。在图11的例子中,数据中心114可以被认为是站点灾难。
图12示出了根据本公开的例子的具有多故障点的分布式数据存储系统100中的恢复的框图。在一些例子中,可以使用逻辑运算902(例如,XOR算子)恢复故障节点。在其它例子中,可以替代例如XOR算子使用其它计算算法和恢复方法。
更具体地,如结合图5的框510更详细描述的,在已经检测到多于一个节点的故障之后,在例子中,通过访问稀疏校验矩阵202、确定跨其它地理位置的故障节点(例如,数据中心114、116和118)的相关伴随式、以及通过例如递归过程全局恢复故障,来恢复故障节点。
在一个例子中,如图12所示,其中数据中心114被认为是站点灾难,可以访问稀疏校验矩阵202以确定伴随式S3与数据元素D1和D5相关,如图2和3所示,允许如图12所示恢复D1。
图13示出了根据本公开的例子的在数据恢复之后具有多故障点的分布式数据存储系统的框图。在图13的例子中,D1-D4(110)和S1(112)已经恢复,并且不再表现为故障节点D1-D4(120)和S1(122),如图11所示。
可以理解的是,本文描述的系统和方法还可以从多于一个节点、数据中心或缺陷区的将故障恢复。在各种例子中,使用不同层级的保护方案或虚拟化技术(例如,RAID6),稀疏校验矩阵在大小上可以增加以反映所使用的保护方案,并允许恢复多于一个节点、数据中心或缺陷区。在各种例子中,变化的RAID级别和变化的稀疏校验矩阵大小可以从例如2/3节点故障、5/10数据中心故障或分布式数据存储系统中的其它故障例子恢复。
图14是示出根据本公开的例子的非暂态计算机可读介质的示例性框图,所述介质存储用于操作计算机(例如,图1的计算机102和106)的代码。
在一个例子中,分布式数据存储系统100包括存储于非暂态计算机可读介质1406上的一个或多个程序指令,其由例如在图1的计算机102或服务器106或者例如在分布式数据存储系统内的其它计算机和/或服务器中的处理器1402执行。可以将程序指令从计算机可读介质加载到计算机102或服务器106,所述计算机可读介质例如是DVD、存储器卡、闪存设备、或任意其它类型的存储器设备或与计算机102或服务器106接口的计算机可读介质。在另一例子中,可以从外部设备或网络资源将指令下载到计算机102或服务器106上。
非暂态计算机可读介质通常由参考数字1406指代,并可以包括在本文并结合涉及数据存储和恢复处理的图1-13描述。非暂态计算机可读介质1406可以对应于存储计算机可实现指令(例如,编程代码等)的任意存储设备。例如,非暂态计算机可读介质1406可以包括一个或多个非易失性存储器、易失性存储器和/或一个或多个存储设备。非易失性存储器的例子包括但不限于,电可擦除可编程只读存储器(EEPROM)和只读存储器(ROM)。易失性存储器的例子包括但不限于,静态随机存取存储器(SRAM)和动态随机存取存储器(DRAM)。存储设备的例子包括但不限于,硬盘驱动器、固态驱动器、压缩盘驱动器、数字通用盘驱动器、光驱动器、以及闪存设备。
根据例子,处理器1402一般取回并执行存储于非暂态计算机可读介质1406中的指令,以操作计算机。在例子中,机器可读介质1406可以由处理器1402通过总线1404进行访问。非暂态计算机可读介质1406的区域1406可以包括磁盘存储和恢复功能,例如一个或多个模块1408,如本文所描述的。
本文描述和图示的是本公开的各种例子及其变型。仅通过图示阐述在本文使用的术语、描述和附图,且其不打算作为限制。在本公开的精神和范围内的许多变型是可能的,其中本公开意图由后续权利要求及其等价物定义,其中除非另外指出,否则所有的术语意指其最广泛的合理意义。
Claims (19)
1.一种在分布式数据存储系统中处理数据的方法,包括:
生成使得数据元素与数据伴随式相关的稀疏校验矩阵;
接收关于在所述分布式数据存储系统中的故障节点的通知;
访问所述稀疏校验矩阵;
根据所述稀疏校验矩阵确定在所述故障节点上的数据元素与伴随式之间的相互关系;
对所述数据元素和所述伴随式执行逻辑运算;以及
恢复所述故障节点。
2.根据权利要求1所述的方法,其中,恢复所述故障节点包括本地重建所述故障节点。
3.根据权利要求1所述的方法,其中,确定在所述数据元素与所述伴随式之间的相互关系包括确定跨一个或多个缺陷区的相互关系。
4.根据权利要求1所述的方法,其中,确定在所述数据元素与所述伴随式之间的相互关系包括确定跨一个或多个地理位置的相互关系。
5.根据权利要求1所述的方法,其中,生成使得所述数据元素与所述数据伴随式相关的所述稀疏校验矩阵包括调用渐进边增长算法。
6.根据权利要求1所述的方法,其中,所述稀疏校验矩阵包括置换的稀疏校验矩阵。
7.根据权利要求1所述的方法,其中,所述稀疏校验矩阵包括变换的稀疏校验矩阵。
8.根据权利要求1所述的方法,其中,所述稀疏校验矩阵包括非二进制稀疏校验矩阵。
9.根据权利要求1所述的方法,其中,所述逻辑运算是XOR算子。
10.一种计算机系统,包括:
服务器;
磁盘驱动器;
磁盘管理模块,其生成使得数据元素与数据伴随式相关的稀疏校验矩阵,以根据所述稀疏校验矩阵确定在数据元素与数据伴随式之间的相互关系来恢复故障节点;以及
处理器,用于实现至少一个所述磁盘管理模块。
11.根据权利要求10所述的系统,其中,所述系统通过本地重建所述故障节点来恢复所述故障节点。
12.根据权利要求10所述的系统,其中,所述系统通过确定跨一个或多个缺陷区的相互关系来确定在所述数据元素与所述伴随式之间的相互关系。
13.根据权利要求10所述的系统,其中,所述系统通过确定跨一个或多个地理位置的相互关系来确定在所述数据元素与所述伴随式之间的相互关系。
14.根据权利要求10所述的系统,其中,所述系统通过调用渐进边增长算法来生成使得所述数据元素与所述数据伴随式相关的稀疏校验矩阵。
15.根据权利要求10所述的系统,其中,所述稀疏校验矩阵包括置换的稀疏校验矩阵。
16.根据权利要求10所述的系统,其中,所述稀疏校验矩阵包括变换的稀疏校验矩阵。
17.根据权利要求10所述的系统,其中,所述稀疏校验矩阵包括非二进制稀疏校验矩阵。
18.根据权利要求10所述的系统,其中,所述逻辑运算是XOR算子。
19.一种其上嵌入有计算机程序的非暂态计算机可读存储介质,所述计算机程序实现一种用于在分布式数据存储系统中处理数据的方法,所述计算机程序包括一组指令用于:
生成使得数据元素与数据伴随式相关的稀疏校验矩阵;
接收关于在所述分布式数据存储系统中的故障节点的通知;
访问所述稀疏校验矩阵;
根据所述稀疏校验矩阵确定数据元素与伴随式之间的相互关系;
对所述数据元素和所述伴随式执行逻辑运算;以及
恢复所述故障节点。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2014/042802 WO2015195104A1 (en) | 2014-06-17 | 2014-06-17 | Distributed storage data recovery |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106537352A true CN106537352A (zh) | 2017-03-22 |
CN106537352B CN106537352B (zh) | 2020-03-10 |
Family
ID=54935917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480080937.2A Active CN106537352B (zh) | 2014-06-17 | 2014-06-17 | 分布式存储数据恢复 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10025512B2 (zh) |
CN (1) | CN106537352B (zh) |
WO (1) | WO2015195104A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577561A (zh) * | 2017-09-14 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种数据恢复方法、装置、设备及计算机可读存储介质 |
CN109460185A (zh) * | 2018-10-29 | 2019-03-12 | 锐捷网络股份有限公司 | 组建分块组ckg的方法、装置、虚拟存储池及存储介质 |
CN111007992A (zh) * | 2020-03-04 | 2020-04-14 | 广东电网有限责任公司佛山供电局 | 一种磁盘数据存储表示方法、系统、存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106713940B (zh) * | 2015-08-04 | 2019-12-20 | 杭州海康威视数字技术股份有限公司 | 视频流的存储方法、读取方法及装置 |
CN106201764B (zh) * | 2016-06-29 | 2019-03-12 | 北京三快在线科技有限公司 | 一种数据存储方法和装置、一种数据恢复方法和装置 |
US10740183B1 (en) | 2019-04-01 | 2020-08-11 | International Business Machines Corporation | Recovering failed devices in distributed data centers |
US11038533B2 (en) | 2019-04-25 | 2021-06-15 | International Business Machines Corporation | Expansion for generalized EVENODD codes |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005122630A3 (en) * | 2004-06-03 | 2006-12-21 | Cisco Tech Inc | Arrangement in a network node for secure storage and retrieval of encoded data distributed among multiple network nodes |
US7296180B1 (en) * | 2004-06-30 | 2007-11-13 | Sun Microsystems, Inc. | Method for recovery of data |
US7472334B1 (en) * | 2003-10-15 | 2008-12-30 | Scott Thomas P | Efficient method for the reconstruction of digital information |
CN101692612A (zh) * | 2009-05-27 | 2010-04-07 | 华为技术有限公司 | 多规格里德-所罗门编解码方法、装置及系统 |
CN101702625A (zh) * | 2009-10-29 | 2010-05-05 | 杭州冠宸科技有限公司 | 基于rs(255,239)算法的光通信实时纠错电路 |
US7734643B1 (en) * | 2004-06-30 | 2010-06-08 | Oracle America, Inc. | Method for distributed storage of data |
US20120173932A1 (en) * | 2010-12-31 | 2012-07-05 | Microsoft Corporation | Storage codes for data recovery |
CN103019889A (zh) * | 2012-12-21 | 2013-04-03 | 曙光信息产业(北京)有限公司 | 分布式文件系统及其故障处理方法 |
US8429483B1 (en) * | 2007-12-12 | 2013-04-23 | Marvell International Ltd. | Edge-based decoders for low-density parity-check codes |
US20130111292A1 (en) * | 2011-11-01 | 2013-05-02 | Kabushiki Kaisha Toshiba | Semiconductor memory device and decoding method |
CN103335646A (zh) * | 2013-06-20 | 2013-10-02 | 哈尔滨工程大学 | 一种基于分散式增广信息滤波的多艇协同导航方法 |
CN103839595A (zh) * | 2012-11-20 | 2014-06-04 | Arm有限公司 | 用于校正从存储器装置访问的数据中的错误的设备及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4358848A (en) * | 1980-11-14 | 1982-11-09 | International Business Machines Corporation | Dual function ECC system with block check byte |
US8990495B2 (en) | 2011-11-15 | 2015-03-24 | Emc Corporation | Method and system for storing data in raid memory devices |
US8874995B2 (en) | 2012-02-02 | 2014-10-28 | International Business Machines Corporation | Partial-maximum distance separable (PMDS) erasure correcting codes for storage arrays |
US9436394B2 (en) * | 2014-03-10 | 2016-09-06 | Kaminario Technologies Ltd. | RAID random distribution scheme |
-
2014
- 2014-06-17 WO PCT/US2014/042802 patent/WO2015195104A1/en active Application Filing
- 2014-06-17 US US15/305,517 patent/US10025512B2/en active Active
- 2014-06-17 CN CN201480080937.2A patent/CN106537352B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7472334B1 (en) * | 2003-10-15 | 2008-12-30 | Scott Thomas P | Efficient method for the reconstruction of digital information |
WO2005122630A3 (en) * | 2004-06-03 | 2006-12-21 | Cisco Tech Inc | Arrangement in a network node for secure storage and retrieval of encoded data distributed among multiple network nodes |
US7296180B1 (en) * | 2004-06-30 | 2007-11-13 | Sun Microsystems, Inc. | Method for recovery of data |
US7734643B1 (en) * | 2004-06-30 | 2010-06-08 | Oracle America, Inc. | Method for distributed storage of data |
US8429483B1 (en) * | 2007-12-12 | 2013-04-23 | Marvell International Ltd. | Edge-based decoders for low-density parity-check codes |
CN101692612A (zh) * | 2009-05-27 | 2010-04-07 | 华为技术有限公司 | 多规格里德-所罗门编解码方法、装置及系统 |
CN101702625A (zh) * | 2009-10-29 | 2010-05-05 | 杭州冠宸科技有限公司 | 基于rs(255,239)算法的光通信实时纠错电路 |
US20120173932A1 (en) * | 2010-12-31 | 2012-07-05 | Microsoft Corporation | Storage codes for data recovery |
US20130111292A1 (en) * | 2011-11-01 | 2013-05-02 | Kabushiki Kaisha Toshiba | Semiconductor memory device and decoding method |
CN103839595A (zh) * | 2012-11-20 | 2014-06-04 | Arm有限公司 | 用于校正从存储器装置访问的数据中的错误的设备及方法 |
CN103019889A (zh) * | 2012-12-21 | 2013-04-03 | 曙光信息产业(北京)有限公司 | 分布式文件系统及其故障处理方法 |
CN103335646A (zh) * | 2013-06-20 | 2013-10-02 | 哈尔滨工程大学 | 一种基于分散式增广信息滤波的多艇协同导航方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107577561A (zh) * | 2017-09-14 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种数据恢复方法、装置、设备及计算机可读存储介质 |
CN109460185A (zh) * | 2018-10-29 | 2019-03-12 | 锐捷网络股份有限公司 | 组建分块组ckg的方法、装置、虚拟存储池及存储介质 |
CN109460185B (zh) * | 2018-10-29 | 2022-03-18 | 锐捷网络股份有限公司 | 组建分块组ckg的方法、装置、虚拟存储池及存储介质 |
CN111007992A (zh) * | 2020-03-04 | 2020-04-14 | 广东电网有限责任公司佛山供电局 | 一种磁盘数据存储表示方法、系统、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20170046226A1 (en) | 2017-02-16 |
WO2015195104A1 (en) | 2015-12-23 |
US10025512B2 (en) | 2018-07-17 |
CN106537352B (zh) | 2020-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106537352A (zh) | 分布式存储数据恢复 | |
CN109725822B (zh) | 用于管理存储系统的方法、设备和计算机程序产品 | |
EP2972871B1 (en) | Methods and apparatus for error detection and correction in data storage systems | |
CN107870730B (zh) | 用于管理存储系统的方法和系统 | |
EP2703991B1 (en) | Scalable storage protection | |
US9600365B2 (en) | Local erasure codes for data storage | |
US20140372838A1 (en) | Bad disk block self-detection method and apparatus, and computer storage medium | |
CN104461781B (zh) | 一种基于纠删码的数据块重建方法 | |
US8930750B2 (en) | Systems and methods for preventing data loss | |
US8392805B2 (en) | Non-MDS erasure codes for storage systems | |
US9135096B2 (en) | RAID surveyor | |
US10521304B1 (en) | Multidimensional RAID | |
WO2018112980A1 (zh) | 存储控制器、数据处理芯片及数据处理方法 | |
US9189330B2 (en) | Stale data detection in marked channel for scrub | |
JP2018508073A (ja) | データ除去、割り当て、及び再構築 | |
US20120198195A1 (en) | Data storage system and method | |
US10740182B2 (en) | Erased memory page reconstruction using distributed coding for multiple dimensional parities | |
US20200336157A1 (en) | Systematic and xor-based coding technique for distributed storage systems | |
JP2015082150A (ja) | ストレージシステム、及びストレージプログラム | |
JP6655175B2 (ja) | データ・ストレージ・システムにおける自律パリティ交換方法、プログラム、およびシステム | |
US11269726B2 (en) | Method and device for managing storage system | |
WO2018165943A1 (zh) | 存储控制器、数据处理芯片及数据处理方法 | |
WO2016201639A1 (zh) | 分布式数据存储方法、控制设备和系统 | |
WO2017186871A1 (en) | Data protection coding technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |