CN105812448A - 一种云存储系统的纠删编码方法 - Google Patents
一种云存储系统的纠删编码方法 Download PDFInfo
- Publication number
- CN105812448A CN105812448A CN201610026094.9A CN201610026094A CN105812448A CN 105812448 A CN105812448 A CN 105812448A CN 201610026094 A CN201610026094 A CN 201610026094A CN 105812448 A CN105812448 A CN 105812448A
- Authority
- CN
- China
- Prior art keywords
- storage system
- cloud storage
- computing
- data block
- erasure code
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种云存储系统的纠删编码方法,属于计算机网络存储领域,其由以下步骤完成:第一步:存储系统进行编码运算,第二步:存储系统进行解码运算;所述存储系统进行编码运算包括:开始→初始化云存储系统各节点→编码运算→取一个未构建条带→第一次校验→条带构建完成;所述存储系统进行解码运算包括:解码运算→取一个未重构条带→第二次校验→失效块重构→完成;本发明具有如下益效果:高重构性能;高可用性;灵活的数据布局。
Description
技术领域
本发明属于计算机网络存储领域,更具体地涉及一种云存储系统的纠删编码方法。
背景技术
随着网络技术的深入发展,云存储系统应用而生,在云端提供了海量数据的存储和处理的需求,因而云存储系统的可靠性和可用性显得非常重要,目前在分布式的环境下,确保数据存储系统的高可靠性和可用性主要采用副本和冗余的方式;例如,Google的文件系统和HDFS的文件系统均采用三副本机制来确保数据的高可靠存储;目前冗余的方式主要是通过纠删编码机制来确保存储系统的高可靠性,例如,单容错纠删编码RAID1~RAID5和容两错的RAID-6编码。
然而,现有的单容错纠删编码方法存在以下问题:校验块的不均匀布局、重构性能低和I/O不均衡的布局等问题,本发明公开了一种云环境下的存储系统单容纠删编码方法。
发明内容
针对上述技术问题本发明提供一种云存储系统的纠删编码方法,该方法在分布式计算环境下,能够快速的恢复单节点失效的数据,并减少网络I/O开销,提供高可靠性与高可用性的云存储服务。其由以下步骤完成:第一步:存储系统进行编码运算,第二步:存储系统进行解码运算;所述存储系统进行编码运算包括:开始→初始化云存储系统各节点→编码运算→取一个未构建条带→第一次校验→条带构建完成;所述存储系统进行解码运算包括:解码运算→取一个未重构条带→第二次校验→失效块重构→完成;所述编码运算如不需要对存储系统进行编码运算,则初始化云存储系统各节点之后直接进入存储系统进行解码运算;所述解码运算如不需要对存储系统进行解码运算,则条带构建完成之后整个云存储系统的纠删编码运算文成;所述失效块重构未完成,则又重新取一个未重构条带→校验→失效块重构→完成。
所述的初始化云存储系统各节点,包括初始化获取条带标号和节点标号。
所述取一个未构建条带,根据该条带标号,确定该区域的数据块号,并从各存储节点获取各数据块。
所述第一次校验是通过将获取的数据块通过XOR运算生成相应的校验块,并存储于各节点。
所述取一个未构建条带,根据该条带标号,确定该区域的数据块号,并从各存储节点获取各数据块。
所述取一个未重构条带,根据该条带标号,确定待获取的存活数据块号和校验块号,并从各存储节点读取存活数据块/校验块。
所述第二次校验是通过将获取的存活数据块/校验块进行XOR运算,以得到失效的数据块/校验块,并存储于重建存储节点。
一种云存储系统的纠删编码方法原理是:纠删编码是由数据块和校验块构成的一个二维数据阵列,一个校验块和若干数据块构成了一条校验链,因此通过对数据块和校验块的有效布局,使其数据存储系统在节点失效情况下具有容错能力。不同的纠删编码其校验链的构建机制不同,从而决定了其纠删编码存储系统的性能。在分布式环境下,存在大量的用户I/O访问存储系统,对任何数据块的修改,都会牵涉到所在校验链中校验块的更新,因而其校验链的布局策略直接影响存储I/O性能。本发明通过将校验数据均匀的分布于每一个存储节点,并且采用Non-MDS编码的校验链构建机制,从而确保了随着存储系统规模的增长,其校验链的长度保持不变,因而确保了高重构性能。因此,通过对校验链的高效布局,可以有效的减少数据失效时读取重构数据的量,减少网络I/O开销,并提升用户I/O响应时间,从而确保云存储系统的高可靠性与可用性。
本发明是一种基于异或的垂直单容错编码方法,其中数据块和校验块构成了一个二维阵列,其中S大于等于2,T大于等于S,如图1所示,每一个条带都是一个二维阵列,每一个条带单独编码/解码,其中校验块均匀的分布于每一个存储节点,每一条校验链都是斜式布局的,其编码、解码方程见如下:
编码过程见公式1,其中;
(公式1)
解码过程见公式2,其中,;
(公式2)
本发明具有如下益效果:
(1)高重构性能:在分布式计算环境下,由于其校验链的长度不随存储系统规模的增长而变长,因而使其该纠删编码具有稳定的校验链长度,在单数据块失效的情况下,其恢复过程中读取的存活数据块的个数较少,使得该纠删编码获得了快速的恢复性能;
(2)高可用性:在编码的过程中,其校验块均匀的分布于存储系统中的各个节点,因而对存储系统各节点的数据块进行频繁修改,其校验块的更新I/O是均匀的分布于整个存储系统,不会造成I/O瓶颈,确保了存储系统的高效可用性;
(3)灵活的数据布局:该纠删编码构成了一个二维的阵列编码,其阵列编码的大小不受素数的限制,即存储系统的规模不受素数限制,因而适于不同存储规模的云平台系统。
附图说明
图1为本发明纠删编码云存储系统的架构图。
图2为本发明纠删编码云存储系统编码与解码流程图。
具体实施方式
下面结合附图对本发明作进一步的详细说明
如图2所示,本发明一种云存储系统的纠删编码方法包括以下实施步骤:
(1)初始化云存储系统各节点,获取条带标号和节点标号;
(2)判断是否需要对存储系统进行编码运算,若是编码请求,则进入步骤(3),否则进入步骤(6);
(3)取一个未构建条带,根据该条带标号,确定该区域的数据块号,并从各存储节点获取各数据块;
(4)根据公式1,将获取的数据块通过XOR运算生成相应的校验块,并存储于各节点;
(5)判断该存储系统中的条带是否都已构建完成,若都已构建,则进入步骤(6),否则进入步骤(3);
(6)判断是否需要对存储系统进行解码运算,若是解码请求,则进入步骤(7),否则过程结束;
(7)取一个未重构条带,根据该条带标号,确定待获取的存活数据块号和校验块号,并从各存储节点读取存活数据块/校验块;
(8)根据公式2,将获取的存活数据块/校验块进行XOR运算,以得到失效的数据块/校验块,并存储于重建存储节点;
(9)判断失效块是否都已重构完成,如果都已重构完成则过程结束,否则进入步骤(7);
至此,本发明所述的用于一种云存储系统的单容错纠删编码方法步骤全部结束。
本发明不仅局限于上述具体实施方式,本领域一般技术人员根据本发明公开的内容,可以采用其它多种具体实施方式实施本发明,因此,凡是采用本发明的设计结构和思路,做一些简单的变化或更改的设计,都落入本发明保护的范围。
Claims (7)
1.一种云存储系统的纠删编码方法,其特征在于:其由以下步骤完成:第一步:存储系统进行编码运算,第二步:存储系统进行解码运算;所述存储系统进行编码运算包括:开始→初始化云存储系统各节点→编码运算→取一个未构建条带→第一次校验→条带构建完成;所述存储系统进行解码运算包括:解码运算→取一个未重构条带→第二次校验→失效块重构→完成;所述编码运算如不需要对存储系统进行编码运算,则初始化云存储系统各节点之后直接进入存储系统进行解码运算;所述解码运算如不需要对存储系统进行解码运算,则条带构建完成之后整个云存储系统的纠删编码运算文成;所述失效块重构未完成,则又重新取一个未重构条带→校验→失效块重构→完成。
2.根据权利要求1所述的一种云存储系统的纠删编码方法,其特征在于:所述的初始化云存储系统各节点,包括初始化获取条带标号和节点标号。
3.根据权利要求1所述的一种云存储系统的纠删编码方法,其特征在于:所述取一个未构建条带,根据该条带标号,确定该区域的数据块号,并从各存储节点获取各数据块。
4.根据权利要求1所述的一种云存储系统的纠删编码方法,其特征在于:所述第一次校验是通过将获取的数据块通过XOR运算生成相应的校验块,并存储于各节点。
5.根据权利要求1所述的一种云存储系统的纠删编码方法,其特征在于:所述取一个未构建条带,根据该条带标号,确定该区域的数据块号,并从各存储节点获取各数据块。
6.根据权利要求1所述的一种云存储系统的纠删编码方法,其特征在于:所述取一个未重构条带,根据该条带标号,确定待获取的存活数据块号和校验块号,并从各存储节点读取存活数据块/校验块。
7.根据权利要求1所述的一种云存储系统的纠删编码方法,其特征在于:所述第二次校验是通过将获取的存活数据块/校验块进行XOR运算,以得到失效的数据块/校验块,并存储于重建存储节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610026094.9A CN105812448A (zh) | 2016-06-13 | 2016-06-13 | 一种云存储系统的纠删编码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610026094.9A CN105812448A (zh) | 2016-06-13 | 2016-06-13 | 一种云存储系统的纠删编码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105812448A true CN105812448A (zh) | 2016-07-27 |
Family
ID=56466301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610026094.9A Pending CN105812448A (zh) | 2016-06-13 | 2016-06-13 | 一种云存储系统的纠删编码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105812448A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254033A (zh) * | 2016-08-07 | 2016-12-21 | 成都信息工程大学 | 一种阵列式存储系统的编码容错方法 |
CN111585582A (zh) * | 2020-05-14 | 2020-08-25 | 成都信息工程大学 | 一种基于阵列运算且码距自由确定的编码方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030126537A1 (en) * | 2002-01-03 | 2003-07-03 | Samsung Electronics Co. Ltd. | Error correction code block generating method and apparatus and optical storage medium containing error correction code block |
CN101840366A (zh) * | 2010-05-13 | 2010-09-22 | 上海交通大学 | 环链式n+1位奇偶校验码的存储方法 |
CN102419697A (zh) * | 2011-11-02 | 2012-04-18 | 华中科技大学 | 垂直raid-6编码中单盘重构的方法 |
CN103593253A (zh) * | 2013-11-22 | 2014-02-19 | 华中科技大学 | 一种基于异或的垂直raid-6编码方法 |
CN105302500A (zh) * | 2015-11-24 | 2016-02-03 | 中国科学技术大学 | 一种基于动态条带构造的分布式编码方法 |
-
2016
- 2016-06-13 CN CN201610026094.9A patent/CN105812448A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030126537A1 (en) * | 2002-01-03 | 2003-07-03 | Samsung Electronics Co. Ltd. | Error correction code block generating method and apparatus and optical storage medium containing error correction code block |
CN101840366A (zh) * | 2010-05-13 | 2010-09-22 | 上海交通大学 | 环链式n+1位奇偶校验码的存储方法 |
CN102419697A (zh) * | 2011-11-02 | 2012-04-18 | 华中科技大学 | 垂直raid-6编码中单盘重构的方法 |
CN103593253A (zh) * | 2013-11-22 | 2014-02-19 | 华中科技大学 | 一种基于异或的垂直raid-6编码方法 |
CN105302500A (zh) * | 2015-11-24 | 2016-02-03 | 中国科学技术大学 | 一种基于动态条带构造的分布式编码方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254033A (zh) * | 2016-08-07 | 2016-12-21 | 成都信息工程大学 | 一种阵列式存储系统的编码容错方法 |
CN106254033B (zh) * | 2016-08-07 | 2019-07-19 | 成都信息工程大学 | 一种阵列式存储系统的编码容错方法 |
CN111585582A (zh) * | 2020-05-14 | 2020-08-25 | 成都信息工程大学 | 一种基于阵列运算且码距自由确定的编码方法 |
CN111585582B (zh) * | 2020-05-14 | 2023-04-07 | 成都信息工程大学 | 一种基于阵列运算且码距自由确定的编码方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210342225A1 (en) | Data Reconstruction in Distributed Storage Systems | |
US11593036B2 (en) | Staging data within a unified storage element | |
US20240303002A1 (en) | Maintaining Multiple Redundancy Schemes Across Different Storage Types | |
EP3014450B1 (en) | Erasure coding across multiple zones | |
US8595606B1 (en) | Extended row diagonal parity with optimal decoding procedure | |
Kolosov et al. | On fault tolerance, locality, and optimality in locally repairable codes | |
CN107203442B (zh) | 独立磁盘冗余阵列的重建性能的评估方法和设备 | |
CN103348330A (zh) | 采用独立硅元件的动态较高级冗余模式管理 | |
EP2880533A1 (en) | Mixed granularity higher-level redundancy for non-volatile memory | |
CN104111880B (zh) | 一种容三盘失效纠删码的单数据盘失效快速重建方法 | |
US10740182B2 (en) | Erased memory page reconstruction using distributed coding for multiple dimensional parities | |
CN104714756A (zh) | 用于在双向同步镜像环境中进行本地锁定的方法和计算机系统 | |
CN103593253A (zh) | 一种基于异或的垂直raid-6编码方法 | |
CN105812448A (zh) | 一种云存储系统的纠删编码方法 | |
CN107153661A (zh) | 一种基于hdfs系统的数据的存储、读取方法及其装置 | |
Ivanichkina et al. | Mathematical methods and models of improving data storage reliability including those based on finite field theory | |
Krishnan et al. | Evaluation of codes with inherent double replication for hadoop | |
CN103809919B (zh) | 高效容多错的快速恢复编码方法及其验证矩阵生成方法 | |
Arafa et al. | Fault tolerance performance evaluation of large-scale distributed storage systems HDFS and Ceph case study | |
US10534539B1 (en) | Dynamic programming based extent selection for hybrid capacity extent pool system and method | |
Pirahandeh et al. | High performance GPU‐based parity computing scheduler in storage applications | |
US11442639B2 (en) | Method, apparatus, and storage medium for managing stripe in storage system | |
Xu et al. | Concurrent regeneration code with local reconstruction in distributed storage systems | |
Feng et al. | An extension of RDP code with parallel decoding procedure | |
Chamazcoti et al. | On designing endurance aware erasure code for SSD-based storage systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160727 |
|
RJ01 | Rejection of invention patent application after publication |