CN105812448A - 一种云存储系统的纠删编码方法 - Google Patents

一种云存储系统的纠删编码方法 Download PDF

Info

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
Application number
CN201610026094.9A
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.)
Qinghai Normal University
Original Assignee
Qinghai Normal University
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 Qinghai Normal University filed Critical Qinghai Normal University
Priority to CN201610026094.9A priority Critical patent/CN105812448A/zh
Publication of CN105812448A publication Critical patent/CN105812448A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error 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运算,以得到失效的数据块/校验块,并存储于重建存储节点。
CN201610026094.9A 2016-06-13 2016-06-13 一种云存储系统的纠删编码方法 Pending CN105812448A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 中国科学技术大学 一种基于动态条带构造的分布式编码方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
US11960777B2 (en) Utilizing multiple redundancy schemes within a unified storage element
US20210342225A1 (en) Data Reconstruction in Distributed Storage Systems
US11593036B2 (en) Staging data within a unified storage element
EP3014450B1 (en) Erasure coding across multiple zones
US8595606B1 (en) Extended row diagonal parity with optimal decoding procedure
Curry et al. Gibraltar: A Reed‐Solomon coding library for storage applications on programmable graphics processors
Kolosov et al. On fault tolerance, locality, and optimality in locally repairable codes
CN107203442B (zh) 独立磁盘冗余阵列的重建性能的评估方法和设备
EP2880533A1 (en) Mixed granularity higher-level redundancy for non-volatile memory
KR20130114681A (ko) 독립 실리콘 소자들을 갖는 동적 상위 레벨 리던던시 모드 관리
CN104111880B (zh) 一种容三盘失效纠删码的单数据盘失效快速重建方法
US10740182B2 (en) Erased memory page reconstruction using distributed coding for multiple dimensional parities
CN104714756A (zh) 用于在双向同步镜像环境中进行本地锁定的方法和计算机系统
CN103593253A (zh) 一种基于异或的垂直raid-6编码方法
CN105812448A (zh) 一种云存储系统的纠删编码方法
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
US20230229363A1 (en) Tiering Valid Data after a Disaster Recovery Operation
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

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