CN106527993B - 一种分布式系统中的海量文件储存方法及装置 - Google Patents

一种分布式系统中的海量文件储存方法及装置 Download PDF

Info

Publication number
CN106527993B
CN106527993B CN201610991348.0A CN201610991348A CN106527993B CN 106527993 B CN106527993 B CN 106527993B CN 201610991348 A CN201610991348 A CN 201610991348A CN 106527993 B CN106527993 B CN 106527993B
Authority
CN
China
Prior art keywords
file
data
data file
server
storage
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.)
Active
Application number
CN201610991348.0A
Other languages
English (en)
Other versions
CN106527993A (zh
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.)
Beijing Sohu New Media Information Technology Co Ltd
Original Assignee
Beijing Sohu New Media Information Technology 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 Beijing Sohu New Media Information Technology Co Ltd filed Critical Beijing Sohu New Media Information Technology Co Ltd
Priority to CN201610991348.0A priority Critical patent/CN106527993B/zh
Publication of CN106527993A publication Critical patent/CN106527993A/zh
Application granted granted Critical
Publication of CN106527993B publication Critical patent/CN106527993B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种分布式系统中的海量文件存储方法及装置,其中,方法包括:对待存储的2n个数据文件进行编码生成m个全局校验块文件;将所述2n个数据文件分成k组,对每组数据文件进行编码生成对应的局部校验块文件;按照一个服务器仅存储一个文件的存储方式,将所述2n个数据文件、所述m个全局校验块文件以及所述k个局部校验块文件存储在分布式系统中的2n+m+k个服务器中。该方案对原始数据进行编码处理,计算全局校验块文件和局部校验块文件,然后,在分布式系统中只需要存储原始数据文件和校验块文件,而不用存储原始数据文件的多个副本,在保障存储可靠性不下降的前提下,显著提高了存储设备的使用率。

Description

一种分布式系统中的海量文件储存方法及装置
技术领域
本发明涉及信息技术领域,尤其涉及一种分布式系统中的海量文件储存方法及装置。
背景技术
随着信息技术的迅猛发展,海量数据爆发增长带来了数据存储及安全性问题。为了提高数据存储的安全性及可用性,传统的分布式数据存储系统多数都采用多副本的方法,将一份数据文件复制成多份副本分别存储到分布式系统中的多台服务器中,只要保存有该数据文件副本的任意一台服务器处于可用状态,该数据文件就能够被访问,避免单台服务器网络故障、磁盘损坏造成数据丢失及不可访问的问题,从而通过多副本冗余实现容灾。
这种多副本存储方式是通过提高冗余度来提高数据持久化存储的可靠性,虽然具有数据易于恢复,分担读取压力的优点,但存储设备利用率比较低;而且,对于需要存储PB级海量数据的公司来说,数据存储运营维护成本较高。
发明内容
有鉴于此,本发明提供了一种分布式系统中的海量文件储存方法及装置,以降低存储冗余度,减少恢复数据时对网络IO的占用率。
为了达到上述发明目的,本发明提出了如下技术方案:
在本发明第一方面提供了一种分布式系统中的海量文件存储方法,所述方法包括:
对待存储的2n个数据文件进行编码生成m个全局校验块文件;所述全局校验块文件能够与所述2n个数据文件中的部分数据文件通过编码方式恢复得出所述2n个数据文件中的其余数据文件;
将所述2n个数据文件分成k组,对每组数据文件进行编码生成对应的局部校验块文件;所述局部校验块文件能够在对应的组内仅有一个数据文件损坏的情况下,与组内的其他数据文件通过编码方式恢复得出已损坏的数据文件;其中,n、m、k取值均为预先设置的正整数,且2n大于m,n大于p;
按照一个服务器仅存储一个文件的存储方式,将所述2n个数据文件、所述m个全局校验块文件以及所述k个局部校验块文件存储在分布式系统中的2n+m+k个服务器中;所述服务器能够为用户提供数据访问服务。
可选的,所述对待存储的2n个数据文件进行编码生成m个全局校验块文件,包括:
从本地存储设备中读取待存储的2n个数据文件;
采用Reed-Solomon算法对所述2n个数据文件进行编码生成m个全局校验块文件。
可选的,将所述2n个数据文件分成k组,对每组数据文件进行编码生成对应的局部校验块文件,包括:
将所述2n个数据文件划分成k组;
采用Reed-Solomon算法或者采用异或算法,针对每组数据文件独立进行编码生成每组数据文件对应的局部校验块文件。
可选的,所述方法还包括:
根据用户触发的数据文件访问请求和预先存储的每个数据文件编号与所存储在的服务器编号之间的对应关系,触发存储有待访问数据文件的服务器,以使被触发的服务器响应所述请求为用户反馈数据;所述数据文件访问请求携带有待访问数据文件编号;
当存储有待访问数据文件的服务器无法响应时,根据预先存储的每个组的数据文件编号与局部校验块文件编号之间的对应关系以及每个文件所在的服务器编号,判断所述待访问数据文件所在组的其他数据文件所在的服务器是否都能够提供服务,如果是,则从对应的服务器获取局部校验块文件和组内其他的数据文件,对所述局部校验块文件和所述其他的数据文件中的数据进行编码处理,以恢复得到所述待访问的数据文件,将所述待访问的数据文件反馈给用户;所述编码处理采用的编码算法与所述局部校验块文件生成时所采用的编码算法一致。
可选的,所述方法还包括:
如果否,当所述待访问数据文件所在组的其他数据文件所在的服务器有超过一个且不超过m个服务器不能提供服务时,则从储存全局校验块文件和数据文件的第2n+m个服务器中任意选取2n个服务器,从所选取的服务器中读取对应的文件,对读取到的文件内的数据进行编码处理,以恢复得到所述待访问的数据文件,将所述待访问的数据文件反馈给用户;所述编码操作采用的编码算法与所述全局校验块文件生成时所采用的编码算法一致。
在本发明第二方面提供了一种分布式系统中的海量文件存储装置,所述装置包括:
全局编码单元,用于对待存储的2n个数据文件进行编码生成m个全局校验块文件;所述全局校验块文件能够与所述2n个数据文件中的部分数据文件通过编码方式恢复得出所述2n个数据文件中的其余数据文件;
局部编码单元,用于将所述2n个数据文件分成k组,对每组数据文件进行编码生成对应的局部校验块文件;所述局部校验块文件能够在对应的组内仅有一个数据文件损坏的情况下,与组内的其他数据文件通过编码方式恢复得出已损坏的数据文件;其中,n、m、k取值均为预先设置的正整数,且2n大于m,n大于p;
分布式存储单元,用于按照一个服务器仅存储一个文件的存储方式,将所述2n个数据文件、所述m个全局校验块文件以及所述k个局部校验块文件存储在分布式系统中的2n+m+k个服务器中;所述服务器能够为用户提供数据访问服务。
可选的,所述全局编码单元,包括:
读取子单元,用于从本地存储设备中读取待存储的2n个数据文件;
全局编码子单元,用于采用Reed-Solomon算法对所述2n个数据文件进行编码生成m个全局校验块文件。
可选的,局部编码单元,包括:
分组子单元,用于将所述2n个数据文件划分成k组;
局部编码子单元,用于采用Reed-Solomon算法或者采用异或算法,针对每组数据文件独立进行编码生成每组数据文件对应的局部校验块文件。
可选的,所述装置还包括:
触发单元,用于根据用户触发的数据文件访问请求和预先存储的每个数据文件编号与所存储在的服务器编号之间的对应关系,触发存储有待访问数据文件的服务器,以使被触发的服务器响应所述请求为用户反馈数据;所述数据文件访问请求携带有待访问数据文件编号;
判断单元,用于当存储有待访问数据文件的服务器无法响应时,根据预先存储的每个组的数据文件编号与局部校验块文件编号之间的对应关系以及每个文件所在的服务器编号,判断所述待访问数据文件所在组的其他数据文件所在的服务器是否都能够提供服务,如果是,进入第一恢复单元;
第一恢复单元,用于从对应的服务器获取局部校验块文件和组内其他的数据文件,对所述局部校验块文件和所述其他的数据文件中的数据进行编码处理,以恢复得到所述待访问的数据文件,将所述待访问的数据文件反馈给用户;所述编码处理采用的编码算法与所述局部校验块文件生成时所采用的编码算法一致。
可选的,所述装置还包括:
当判断单元判断为否时,进入第二恢复单元;
所述第二恢复单元,用于当所述待访问数据文件所在组的其他数据文件所在的服务器有超过一个且不超过m个服务器不能提供服务时,则从储存全局校验块文件和数据文件的第2n+m个服务器中任意选取2n个服务器,从所选取的服务器中读取对应的文件,对读取到的文件内的数据进行编码处理,以恢复得到所述待访问的数据文件,将所述待访问的数据文件反馈给用户;所述编码操作采用的编码算法与所述全局校验块文件生成时所采用的编码算法一致。
相较于现有技术,本发明具有以下有益效果:
在本发明提供的分布式系统中的海量文件存储方法中,抛弃了传统的主从设备的备份存储方案,而是先对数据文件进行编码生成全局校验块文件和局部校验块文件,然后,将所有的数据文件、全局校验块文件和局部校验块文件存储在分布式系统中的不同的服务器中,其中,全局校验块文件、局部校验块文件都是用来恢复数据文件的,本发明提供的这种存储方案,每个服务器上存储的文件都不同,不存在数据实际备份的操作,而是通过编码方式实现了数据文件的恢复机制,能够在数据文件损坏、丢失的情况下,恢复出原有数据文件,从而能够达到与备份存储方案所能达到的相同的技术效果,更重要的是,本发明提出的这种存储方案,将编码算法应用到分布式存储中,极大地降低了存储冗余度,通过局部校验块文件恢复数据文件,能够减少恢复数据时对网络IO的占用率。本发明通过对分布式存储系统中数据进行编码存储,在保障数据可靠存储的前提下,显著提高存储设备利用率,从而提供成本低廉的容灾存储方案。
附图说明
为了清楚地理解本发明的技术方案,下面对描述本发明具体实施方式时用到的附图做一简要说明。显而易见地,这些附图仅是本发明的部分实施例,本领域技术人员在不付出创造性劳动的前提下,还可以获得其它的附图。
图1是本发明实施例提供的一种分布式系统中的海量文件存储方法流程示意图;
图2是本发明实施例提供的一种分布式系统的存储结构示意图;
图3是本发明实施例提供的另一种分布式系统的存储结构示意图;
图4是本发明实施例提供的一种分布式系统中的海量文件存储装置结构示意图。
具体实施方式
为使本发明的发明目的、技术手段和达到的技术效果更加清楚、完整,下面结合附图对本发明的具体实施方式进行描述。
为了更清楚地解释说明本发明提供的一种分布式系统中的海量文件存储方法,下面先对该方法的应用背景环境进行解释说明。
近几年,提供公有云存储方案的技术公司不断涌现,越来越多的中小公司选择将数据存储到公有云中,以减小运营维护成本。公有云存储需要保障存储高度可靠及可用,在磁盘损坏、服务器宕机、甚至机房断电的情况下,需要保障用户存储的数据不丢失。目前主流的公有云存储公司通常采用分布式及多副本的方式来存储数据,通过提高冗余度来提高数据持久化存储的可靠性。多副本的方式对存储设备的利用率比较低,如何合理利用存储服务器,在降低冗余度的同时保证数据持久化存储的可靠性不下降这是目前分布式存储的一个研究热点。而本发明实施例提供的方法就是针对该研究热点提出的解决方案。
本发明实施例应用于分布式存储系统中,该系统通常会将多台服务器组成一个组,整个集群包含多个组,当存储空间不够时,可以添加新的服务器组成新的组,从而实现集群水平扩容。为了描述方法,以工业界应用最广泛的例子说明,由3台服务器组成一个组,组中一台服务器是主服务器,其他机器是从服务器。用户在写数据时,用户发起的请求和数据分配给集群中的某个组,例如,通过负载均衡算法可以根据不同组的存储空间大小和处理请求的繁忙程度选择合适的组。传统的存储方法是由该组中主服务器接收请求,并将数据持久化到本地存储设备,同时主服务器将数据发送到同组中其他服务器,当且仅当从服务器也将数据持久化到本地存储设备后,主服务器任务此次写请求成功完成,将成功完成操作的结果告知用户,本次用户写数据操作完成。
从上述实现过程可以看出:传统的方法是将用户写入的数据备份多份在不同的服务器中。而本发明实施例提供了冗余度低且具备较强恢复数据的存储方法,本发明实施例的实现需要上述组中的主服务器来执行本发明提供的存储方法,具体的,主服务器可以按照图1所示的方法步骤来实现。
下面结合图1对本发明实施例提供的方法进行解释说明。参见图1,图1是本发明实施例提供的一种分布式系统中的海量文件存储方法的流程示意图;如图1所示,该方法可以包括以下步骤101-步骤103。
步骤101,对待存储的2n个数据文件进行编码生成m个全局校验块文件;所述全局校验块文件能够与所述2n个数据文件中的部分数据文件通过编码方式恢复得出所述2n个数据文件中的其余数据文件。
本发明实施例提供的分布式系统可以采用块存储方式、文件存储方式或者对象存储方式;其中,对象存储方式存储效果较好,其更适合海量小文件的存储,特别适合互联网领域的图片、网页、音频、短视频等内容的存储。
主服务器选取本地存储设备中的已经写入的2n个数据文件,在本地存储设备中存储的数据文件通过配置文件制定,其大小基本一致,比如10GB,然后对这2n个数据文件进行编码生成m个全局校验块文件,过程如下。
主服务器选取2n个数据文件,编号为1,2,3,……,2n;然后,主服务器可以采用Reed-Solomon算法,编码生成m个全局校验块文件。采用Reed-Solomon算法的计算细节如下:
首先,将每个数据文件分成小块,为了方便计算机进行计算,小块大小需要是32比特整数倍,例如,设置为小块大小s=1MB。以2n个数据文件中最大的文件大小为准,将每个数据文件划分成相同个数的大小为s的小块,在划分时,如果数据文件的大小不够s整除时,则补0处理,最终通过补0处理,使得这2n个数据文件大小一致,并且可以整除s。
然后,生成一个大小为(2n+m)*2n的矩阵,矩阵的上半部分是单位奇异矩阵。下图1,以n=3,m=2举例说明。
上述公式中,D1i、D2i、D3i、D4i、D5i、D6i是指6个数据文件分割后的各自对应的第i个小块文件,对这6个数据文件分割后的每个小块均按照上述公式计算,得到全局校验块C1i、C2i,所有小块计算完毕后将计算得到的所有的C1i、C2i分别对应的合并成对应的大文件,从而得到2个全局校验块文件C1和C2。
步骤102,将所述2n个数据文件分成k组,对每组数据文件进行编码生成对应的局部校验块文件;所述局部校验块文件能够在对应的组内仅有一个数据文件损坏的情况下,与组内的其他数据文件通过编码方式恢复得出已损坏的数据文件;其中,n、m、k取值均为预先设置的正整数,且2n大于m,n大于p。
经过大量实验,本发明实施例还提出了一种优选的设置方式,具体的,n取值为5,m取值为4,k取值为2。但本发明实施例在实现时,可以根据实际情况来设置这些参数。
主服务器针对选取的2n个数据文件,对局部的数据文件进行编码生成k组个局部校验块文件。主服务器可以采用Reed-Solomon算法计算生成K个局部校验块文件。K取值为2,则将2n个数据文件分为两组,例如,将1个数据文件至第n个数据文件分为第一组,将第n+1个数据文件置第2n个数据文件分为第二组,则按照上述公式的,利用第一组的数据文件生成第一个局部校验块文件,利用第二组的数据文件生成第二个局部校验块文件。
主服务器也可以采用异或(XOR)算法,对局部的数据文件进行编码生成k组个局部校验块文件。例如:将2n个数据文件分为上述两组,则对第一组的编号为1,2,3,······,n个数据文件进行异或算法,编码生成一个局部校验块P1;再对第二组的编号为第n+1,n+2,·····,2n个数据文件进行异或算法,编码生成一个局部校验块P2。
以上述n=3,k=2为例,则主服务器采用异或算法,针对第1,2,3个数据文件各自划分的小块文件D1i、D2i、D3i作异或处理得到局部校验块P1i,将所有的局部校验块P1i合并成一个局部校验块文件P1;针对第4,5,6个数据文件的各自划分的小块文件D4i、D5i、D6i作异或处理得到局部校验块P2i,将所有的局部校验块P2i合并成一个局部校验块文件P2。
经过上述步骤101和步骤102处理之后,主服务器针对2n个数据文件编码生成m个全局校验块文件和k个局部校验块文件,这样,主服务器就有2n+m+k个文件,然后主服务器执行以下步骤103。
步骤103,按照一个服务器仅存储一个文件的存储方式,将所述2n个数据文件、所述m个全局校验块文件以及所述k个局部校验块文件存储在分布式系统中的2n+m+k个服务器中;所述服务器能够为用户提供数据访问服务。
为了避免磁盘损坏、服务器宕机对数据可靠性的影响,本发明实施例将这2n+m+k个文件分别存储到不同的2n+m+k台服务器中。
主服务器可以按照一个服务器仅存储一个文件的存储方式,将2n+m+n个文件分别存储在2n+m+k个服务器中。
主服务器可以自己存储一个文件,然后将其他文件分别分配至其他服务器,使其他服务器各自存储一个文件,这样,将这2n+m+k个文件存储到集群中任意的2n+m+k个服务器中,其中,2n个服务器存储的是原始的数据文件,另外m+k个服务器存储的是编码得到的校验块文件,此外,在存储时,还需要将文件编号与存储其的服务器编号之间的对应关系,以及数据文件编号与对应的局部校验块文件编号之间的对应关系存储在服务器中,可以将这些对应关系存储在该2n+m+k个服务器中的任意一个服务器,也可以在该2n+m+k个服务器中将其存储。
下面结合图2给出的示例,对上述存储方式进行解释说明。参见图2,图2是本发明实施例提供的一种分布式系统的存储结构示意图;如图2所示,主服务器S1将数据文件D1(D1是指第一个数据文件,由D1i个小块文件组成)保存在本地,将其他数据文件D2至D6这5个数据文件删除,其中,D2、D3、D4、D5、D6分别是指第二、第三、第四、第五、第六个数据文件;主服务器S1删除这些数据文件之前,需要将D2至D6,以及这些数据文件对应的全局校验块文件C1、C2,以及,这些数据文件对应的局部校验块文件P1和P2分别存储在S2至S10这9个服务器中。
当然,主服务器完成编码之后,可以将原来的2n个原始数据文件从本地存储设备删除,并将这2n个原始数据文件分配给集群系统中的其他任意的2n个服务器,使这2n个服务器分别存储这2n个原始数据文件,并将m+k个校验块文件分配给集群系统中的任意m+k个服务器。这样,将用户输入的数据文件离散的存储分布式系统中。
下面结合图3给出的示例,对上述存储方式进行解释说明。参见图3,图2是本发明实施例提供的另一种分布式系统的存储结构示意图;如图3所示,主服务器S1将数据文件D1至于D6全部删除,并将D1至于D6,以及这些数据文件对应的全局校验块文件C1.C2,以及,这些数据文件对应的局部校验块文件P1和P2分别存储在S2至S11这10个服务器中。
与传统的多副本存储方法不同的是,本发明实施例并不是将同一个数据文件存储为多份,而是选取2n个不同的数据文件通过冗余编码技术生成m个全局校验块数据,生成K个局部校验块文件,并将这2n+m+k个文件分别存储到分布式系统中的2n+m+k台服务器中,冗余编码技术可以采用Reed-Solomon编码方案,每个数据块都可以通过2n+m中任意2n个数据块进行恢复,本发明可以容忍2n+m+k台服务器中任意m台服务器不可用的情况下,所有数据均能通过解码的方式进行恢复从而实现容灾。而传统多副本方案通常采用3副本冗余存储,冗余度是3;本发明的冗余度是(2n+m+k)/2n,可以根据实际需求,对n、m和k进行选择,一个典型的方案选取n=5,m=4,k=2则冗余度为1.6。在保障数据可靠存储的前提下,本发明可以显著提高存储设备利用效率。
从上述本发明实施例提供的分布式系统中的海量文件存储方法可以看出,本发明抛弃了传统的主从设备的备份存储方案,而是先对数据文件进行编码生成全局校验块文件和局部校验块文件,然后,将所有的数据文件、全局校验块文件和局部校验块文件存储在分布式系统中的不同的服务器中,其中,全局校验块文件、局部校验块文件都是用来恢复数据文件的,本发明提供的这种存储方案,每个服务器上存储的文件都不同,不存在数据实际备份的操作,而是通过编码方式实现了数据文件的恢复机制,能够在数据文件损坏、丢失的情况下,恢复出原有数据文件,从而能够达到与备份存储方案所能达到的相同的技术效果,更重要的是,本发明提出的这种存储方案,将编码算法应用到分布式存储中,极大地降低了存储冗余度,通过局部校验块文件恢复数据文件,能够减少恢复数据时对网络IO的占用率。
基于本发明提供的这种存储机制,为了减小用户获取数据对网络IO的占用率。在本发明实施例提供的上述方法的基础上,本发明还提供了数据恢复机制。具体的,在上述步骤101-103的基础上,还可以增加如下步骤104和步骤105。
步骤104:根据用户触发的数据文件访问请求和预先存储的每个数据文件编号与所存储在的服务器编号之间的对应关系,触发存储有待访问数据文件的服务器,以使被触发的服务器响应所述请求为用户反馈数据;所述数据文件访问请求携带有待访问数据文件编号。
步骤105:当存储有待访问数据文件的服务器无法响应时,根据预先存储的每个组的数据文件编号与局部校验块文件编号之间的对应关系以及每个文件所在的服务器编号,判断所述待访问数据文件所在组的其他数据文件所在的服务器是否都能够提供服务,如果是,则从对应的服务器获取局部校验块文件和组内其他的数据文件,对所述局部校验块文件和所述其他的数据文件中的数据进行编码处理,以恢复得到所述待访问的数据文件,将所述待访问的数据文件反馈给用户;所述编码处理采用的编码算法与所述局部校验块文件生成时所采用的编码算法一致。
分布式系统采用本发明实施例上述方法来存储数据,用户需要获取数据时,就直接访问该分布式系统。比如,用户发起访问数据文件的请求,该请求中携带有数据文件D1的编号,则根据预先存储的每个数据文件编号与所存储在的服务器编号之间的对应关系,触发用于存储数据文件D1的服务器,以图3所示的存储方式为例,则触发服务器S2,由服务器S2为用户反馈数据文件D1。
比如,用户发起的访问数据文件的请求,该请求携带有数据文件D1的编号,则根据预先存储的每个数据文件编号与所存储在的服务器编号之间的对应关系,触发用于存储数据文件D1的服务器S2,但服务器S2由于网络故障、磁盘损坏等原因造成了数据丢失以及不可访问的问题,此时,服务器S2无法为用户提供数据访问服务,针对这种情况,就需要将服务器S2存储的数据恢复出来,再反馈给用户。恢复过程如下:
判断所述待访问数据文件所在组的其他数据文件所在的服务器是否都能够提供服务;如上文示例描述,D1、D2和D3这三个数据文件被划分为一个小组,且该小组对应着局部校验块文件P1。如果,用于存储数据文件D1、用于存储数据文件D2和用于存储数据文件D3的服务器中有且仅有只有用于存储数据文件D1的服务器无法响应时,则根据组内其他成员D2、D3以及对应的局部校验块文件P1,对D2、D3和P1作编码处理得到数据文件D1,然后将数据文件D1反馈给用户。
以图3为例,当服务器S2无法对外服务,对D1数据的读取请求可以发送到服务器S3、S4、S5中任意一台,比如发送到服务器S3,我们将此时的读请求称为退化读。服务器S3从S4、S5中读取对应的数据,和本地存储的D2数据以及局部校验块文件P1,通过编码操作恢复数据D1,返回给用户。
在恢复数据时,采用的编码操作与生成局部校验块文件时采用的编码操作一致,例如,如果局部校验块文件生成时采用的是异或算法,则在恢复数据时,也采用异或算法。
可以看出,当服务器存储设备出现损坏,或服务器宕机等情况造成存储数据文件的服务器无法提供对外服务时,由于编码存储后原始数据只存储了一份,对损坏数据的读取操作则需要通过编码恢复。当编码生成局部校验块的数据文件中有且只有一个文件损坏时,此时不需要利用全局校验块进行恢复,只需要生成局部校验块的其他数据和局部校验块数据进行编码操作恢复出损坏的那个数据文件。通过局部校验块的算法,在恢复损坏数据时,能够加快数据恢复速度,降低用户访问损坏数据时的平均响应时间,从而为用户提供更稳定更可靠的云存储服务。
但,当所述待访问数据文件所在组的其他数据文件所在的服务器有超过一个且不超过m个服务器不能提供服务时,采用上述恢复机制无法恢复出损坏的数据文件,针对这种情况,本发明提供了以下恢复方式,具体的,在上述步骤104和步骤105的基础上,还可以增加如下步骤106。
步骤106,如果否,当所述待访问数据文件所在组的其他数据文件所在的服务器有超过一个且不超过m个服务器不能提供服务时,则从储存全局校验块文件和数据文件的第2n+m个服务器中任意选取2n个服务器,从所选取的服务器中读取对应的文件,对读取到的文件内的数据进行编码处理,以恢复得到所述待访问的数据文件,并反馈给用户;所述编码操作采用的编码算法与所述全局校验块文件生成时所采用的编码算法一致。
以上述图3为例,当服务器S2、S3都无法对外服务时,如果用户需要读取D1的数据时,此时,此时单纯利用局部校验块就无法恢复数据,就需要通过全局校验块和原始数据文件2n+m个文件中选取任意2n个文件通过编码算法进行恢复。则可以将读取请求发送到S4、S5、S6、S7、S8、S9中任意一台进行恢复,利用这6台服务器存储的数据即可恢复数据D1。
针对本发明实施例提供的方法,还需要说明的是,虽然目前大数据开源存储方案Hadoop中已经引入了编码存储算法,但Hadoop是大数据计算MapReduce的底层基础,Hadoop采用多备份方式,将多份同样数据存储在系统中,计算时就可以从多个备份中读取数据,增加吞吐量,提升计算性能。而对于很少访问或者很少使用的数据(也被称为冷数据),采用编码存储方法,可以减少数据存储占用磁盘空间,增加磁盘使用率。但Hadoop中采用的ReedSolomon算法通常配置成每10个数据块,编码成4个全局校验数据块,将原始数据块和校验块进行存储,为了避免磁盘损坏、服务器宕机对数据可靠性的影响,通常这14个数据块需要存储到不同的14台服务器中。当某个数据块损坏时,需要从10个数据块和4个校验块中任意挑选10个进行恢复,这样对网络带宽的占用比较大,数据恢复的时间不够快。
虽然,Hadoop虽然引入了编码存储方案,而Hadoop作为块存储解决方案,主要目的是增加数据吞吐量,提高运算效率,不适合海量小文件存储(Hadoop有一个中心化的元数据管理节点,无法存储百亿级别的小文件)。因此该方案在实际应用领域很少使用,此外,该方案在恢复数据时对网络带宽的占用过高,在出现很多文件损坏需要恢复时,会占用有限的网络带宽资源,会影响到系统中其他服务,也造成数据恢复耗时过长,不利于快速恢复数据。
而本发明实施例提供的上述方法,在分布式系统中采用编码存储方案,可以显著提高存储设备利用率,降低存储服务器采购成本,及机房托管成本。更重要的是,本发明实施例提供的存储方法,通过计算局部校验块的算法,在恢复损坏数据时,能够降低网络带宽占用,加快数据恢复速度,降低客户访问损坏数据时的平均响应时间,提供更稳定可靠的云存储服务。
与上述方法相对应的,本发明实施例还提供了一种分布式系统中的海量文件存储装置,下面结合图4对该装置进行解释说明。参见图4,图4是本发明实施例提供的一种分布式系统中的海量文件存储装置的结构示意图;如图1所示,该装置包括:全局编码单元401、局部编码单元402和分布式存储单元403,下面结合该装置的工作原理和内部结果对各单元进行解释说明。
全局编码单元401,用于对待存储的2n个数据文件进行编码生成m个全局校验块文件;所述全局校验块文件能够与所述2n个数据文件中的部分数据文件通过编码方式恢复得出所述2n个数据文件中的其余数据文件;
局部编码单元402,用于将所述2n个数据文件分成k组,对每组数据文件进行编码生成对应的局部校验块文件;所述局部校验块文件能够在对应的组内仅有一个数据文件损坏的情况下,与组内的其他数据文件通过编码方式恢复得出已损坏的数据文件;其中,n、m、k取值均为预先设置的正整数,且2n大于m,n大于p;
分布式存储单元403,用于按照一个服务器仅存储一个文件的存储方式,将所述2n个数据文件、所述m个全局校验块文件以及所述k个局部校验块文件存储在分布式系统中的2n+m+k个服务器中;所述服务器能够为用户提供数据访问服务。
可选的,所述全局编码单元401,可以包括:
读取子单元,用于从本地存储设备中读取待存储的2n个数据文件;
全局编码子单元,用于采用Reed-Solomon算法对所述2n个数据文件进行编码生成m个全局校验块文件。
可选的,局部编码单元402,可以包括:
分组子单元,用于将所述2n个数据文件划分成k组;
局部编码子单元,用于采用Reed-Solomon算法或者采用异或算法,针对每组数据文件独立进行编码生成每组数据文件对应的局部校验块文件。
可选的,所述装置还可以包括:
触发单元,用于根据用户触发的数据文件访问请求和预先存储的每个数据文件编号与所存储在的服务器编号之间的对应关系,触发存储有待访问数据文件的服务器,以使被触发的服务器响应所述请求为用户反馈数据;所述数据文件访问请求携带有待访问数据文件编号;
判断单元,用于当存储有待访问数据文件的服务器无法响应时,根据预先存储的每个组的数据文件编号与局部校验块文件编号之间的对应关系以及每个文件所在的服务器编号,判断所述待访问数据文件所在组的其他数据文件所在的服务器是否都能够提供服务,如果是,进入第一恢复单元;
第一恢复单元,用于从对应的服务器获取局部校验块文件和组内其他的数据文件,对所述局部校验块文件和所述其他的数据文件中的数据进行编码处理,以恢复得到所述待访问的数据文件,将所述待访问的数据文件反馈给用户;所述编码处理采用的编码算法与所述局部校验块文件生成时所采用的编码算法一致。
可选的,所述装置还可以包括:
第二恢复单元;所述判断单元判断为否时,触发该第二恢复单元;
所述第二恢复单元,用于当所述待访问数据文件所在组的其他数据文件所在的服务器有超过一个且不超过m个服务器不能提供服务时,则从储存全局校验块文件和数据文件的第2n+m个服务器中任意选取2n个服务器,从所选取的服务器中读取对应的文件,对读取到的文件内的数据进行编码处理,以恢复得到所述待访问的数据文件,将所述待访问的数据文件反馈给用户;所述编码操作采用的编码算法与所述全局校验块文件生成时所采用的编码算法一致。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备)执行本发明各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及系统实施例仅仅是示意性的,其中作为分离组件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的组件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,以上所述仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。

Claims (8)

1.一种分布式系统中的海量文件存储方法,其特征在于,所述方法包括:
对待存储的2n个数据文件进行编码生成m个全局校验块文件;所述全局校验块文件能够与所述2n个数据文件中的部分数据文件通过编码方式恢复得出所述2n个数据文件中的其余数据文件;
将所述2n个数据文件分成k组,对每组数据文件进行编码生成对应的局部校验块文件;所述局部校验块文件能够在对应的组内仅有一个数据文件损坏的情况下,与组内的其他数据文件通过编码方式恢复得出已损坏的数据文件;其中,n、m、k取值均为预先设置的正整数,且2n大于m,n大于p;
按照一个服务器仅存储一个文件的存储方式,将所述2n个数据文件、所述m个全局校验块文件以及所述k个局部校验块文件存储在分布式系统中的2n+m+k个服务器中;所述服务器能够为用户提供数据访问服务;
根据用户触发的数据文件访问请求和预先存储的每个数据文件编号与所存储在的服务器编号之间的对应关系,触发存储有待访问数据文件的服务器,以使被触发的服务器响应所述请求为用户反馈数据;所述数据文件访问请求携带有待访问数据文件编号;
当存储有待访问数据文件的服务器无法响应时,根据预先存储的每个组的数据文件编号与局部校验块文件编号之间的对应关系以及每个文件所在的服务器编号,判断所述待访问数据文件所在组的其他数据文件所在的服务器是否都能够提供服务,如果是,则从对应的服务器获取局部校验块文件和组内其他的数据文件,对所述局部校验块文件和所述其他的数据文件中的数据进行编码处理,以恢复得到所述待访问的数据文件,将所述待访问的数据文件反馈给用户;所述编码处理采用的编码算法与所述局部校验块文件生成时所采用的编码算法一致。
2.根据权利要求1所述的一种分布式系统中的海量文件储存方法,其特征在于,所述对待存储的2n个数据文件进行编码生成m个全局校验块文件,包括:
从本地存储设备中读取待存储的2n个数据文件;
采用Reed-Solomon算法对所述2n个数据文件进行编码生成m个全局校验块文件。
3.根据权利要求1所述的一种分布式系统中的海量文件储存方法,其特征在于,将所述2n个数据文件分成k组,对每组数据文件进行编码生成对应的局部校验块文件,包括:
将所述2n个数据文件划分成k组;
采用Reed-Solomon算法或者采用异或算法,针对每组数据文件独立进行编码生成每组数据文件对应的局部校验块文件。
4.根据权利要求1所述的一种分布式系统中的海量文件储存方法,其特征在于,所述方法还包括:
如果否,当所述待访问数据文件所在组的其他数据文件所在的服务器有超过一个且不超过m个服务器不能提供服务时,则从储存全局校验块文件和数据文件的第2n+m个服务器中任意选取2n个服务器,从所选取的服务器中读取对应的文件,对读取到的文件内的数据进行编码处理,以恢复得到所述待访问的数据文件,将所述待访问的数据文件反馈给用户;所述编码操作采用的编码算法与所述全局校验块文件生成时所采用的编码算法一致。
5.一种分布式系统中的海量文件存储装置,其特征在于,所述装置包括:
全局编码单元,用于对待存储的2n个数据文件进行编码生成m个全局校验块文件;所述全局校验块文件能够与所述2n个数据文件中的部分数据文件通过编码方式恢复得出所述2n个数据文件中的其余数据文件;
局部编码单元,用于将所述2n个数据文件分成k组,对每组数据文件进行编码生成对应的局部校验块文件;所述局部校验块文件能够在对应的组内仅有一个数据文件损坏的情况下,与组内的其他数据文件通过编码方式恢复得出已损坏的数据文件;其中,n、m、k取值均为预先设置的正整数,且2n大于m,n大于p;
分布式存储单元,用于按照一个服务器仅存储一个文件的存储方式,将所述2n个数据文件、所述m个全局校验块文件以及所述k个局部校验块文件存储在分布式系统中的2n+m+k个服务器中;所述服务器能够为用户提供数据访问服务;
触发单元,用于根据用户触发的数据文件访问请求和预先存储的每个数据文件编号与所存储在的服务器编号之间的对应关系,触发存储有待访问数据文件的服务器,以使被触发的服务器响应所述请求为用户反馈数据;所述数据文件访问请求携带有待访问数据文件编号;
判断单元,用于当存储有待访问数据文件的服务器无法响应时,根据预先存储的每个组的数据文件编号与局部校验块文件编号之间的对应关系以及每个文件所在的服务器编号,判断所述待访问数据文件所在组的其他数据文件所在的服务器是否都能够提供服务,如果是,进入第一恢复单元;
第一恢复单元,用于从对应的服务器获取局部校验块文件和组内其他的数据文件,对所述局部校验块文件和所述其他的数据文件中的数据进行编码处理,以恢复得到所述待访问的数据文件,将所述待访问的数据文件反馈给用户;所述编码处理采用的编码算法与所述局部校验块文件生成时所采用的编码算法一致。
6.根据权利要求5所述的一种分布式系统中的海量文件储存装置,其特征在于,所述全局编码单元,包括:
读取子单元,用于从本地存储设备中读取待存储的2n个数据文件;
全局编码子单元,用于采用Reed-Solomon算法对所述2n个数据文件进行编码生成m个全局校验块文件。
7.根据权利要求5所述的一种分布式系统中的海量文件储存装置,其特征在于,局部编码单元,包括:
分组子单元,用于将所述2n个数据文件划分成k组;
局部编码子单元,用于采用Reed-Solomon算法或者采用异或算法,针对每组数据文件独立进行编码生成每组数据文件对应的局部校验块文件。
8.根据权利要求5所述的一种分布式系统中的海量文件储存装置,其特征在于,所述装置还包括:
当判断单元判断为否时,进入第二恢复单元;
所述第二恢复单元,用于当所述待访问数据文件所在组的其他数据文件所在的服务器有超过一个且不超过m个服务器不能提供服务时,则从储存全局校验块文件和数据文件的第2n+m个服务器中任意选取2n个服务器,从所选取的服务器中读取对应的文件,对读取到的文件内的数据进行编码处理,以恢复得到所述待访问的数据文件,将所述待访问的数据文件反馈给用户;所述编码操作采用的编码算法与所述全局校验块文件生成时所采用的编码算法一致。
CN201610991348.0A 2016-11-09 2016-11-09 一种分布式系统中的海量文件储存方法及装置 Active CN106527993B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610991348.0A CN106527993B (zh) 2016-11-09 2016-11-09 一种分布式系统中的海量文件储存方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610991348.0A CN106527993B (zh) 2016-11-09 2016-11-09 一种分布式系统中的海量文件储存方法及装置

Publications (2)

Publication Number Publication Date
CN106527993A CN106527993A (zh) 2017-03-22
CN106527993B true CN106527993B (zh) 2019-08-30

Family

ID=58350703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610991348.0A Active CN106527993B (zh) 2016-11-09 2016-11-09 一种分布式系统中的海量文件储存方法及装置

Country Status (1)

Country Link
CN (1) CN106527993B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109117292B (zh) * 2017-06-22 2021-07-13 中兴通讯股份有限公司 一种集群存储的方法和装置及集群存储系统
US10817515B2 (en) 2017-07-26 2020-10-27 International Business Machines Corporation Cognitive data filtering for storage environments
US10884980B2 (en) * 2017-07-26 2021-01-05 International Business Machines Corporation Cognitive file and object management for distributed storage environments
CN108052413A (zh) * 2017-11-21 2018-05-18 深信服科技股份有限公司 基于多次验证的数据处理方法、装置及存储介质
CN109491620B (zh) * 2018-11-23 2020-08-14 柏科数据技术(深圳)股份有限公司 存储数据重写方法、装置、服务器及存储介质
CN109684294A (zh) * 2018-12-24 2019-04-26 海能达通信股份有限公司 小文件处理方法及分布式系统
CN110069349A (zh) * 2019-05-05 2019-07-30 重庆天蓬网络有限公司 一种基于大数据平台的资源消耗核算系统
CN111984443A (zh) * 2019-05-24 2020-11-24 阿里巴巴集团控股有限公司 一种分布式系统环境下的编码方法、解码方法和对应装置
CN110837660A (zh) * 2019-11-05 2020-02-25 广东紫晶信息存储技术股份有限公司 一种数据存储方法及系统、数据校验方法及系统
CN111736760B (zh) * 2020-05-11 2022-05-13 瑞芯微电子股份有限公司 一种动态随机存储方法及系统
CN114048061A (zh) * 2021-10-09 2022-02-15 阿里云计算有限公司 校验块的生成方法及装置
CN115454712B (zh) * 2022-11-11 2023-02-28 苏州浪潮智能科技有限公司 一种校验码恢复方法、系统、电子设备及存储介质
CN115686382B (zh) * 2022-12-30 2023-03-21 南京鲸鲨数据科技有限公司 一种数据存储及读取方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488104A (zh) * 2009-02-26 2009-07-22 北京世纪互联宽带数据中心有限公司 一种实现高效安全存储的系统和方法
CN103455518A (zh) * 2012-06-04 2013-12-18 中兴通讯股份有限公司 一种数据处理方法及装置
CN103746774A (zh) * 2014-01-03 2014-04-23 中国人民解放军国防科学技术大学 一种高效数据读取的容错编码方法
CN104658609A (zh) * 2013-11-19 2015-05-27 国际商业机器公司 用于存储器系统的纠错码分布的方法和系统
CN105335150A (zh) * 2014-08-13 2016-02-17 苏宁云商集团股份有限公司 纠删码数据的快速编解码方法和系统
CN105426483A (zh) * 2015-11-19 2016-03-23 华为技术有限公司 一种基于分布式系统的文件读取方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101488104A (zh) * 2009-02-26 2009-07-22 北京世纪互联宽带数据中心有限公司 一种实现高效安全存储的系统和方法
CN103455518A (zh) * 2012-06-04 2013-12-18 中兴通讯股份有限公司 一种数据处理方法及装置
CN104658609A (zh) * 2013-11-19 2015-05-27 国际商业机器公司 用于存储器系统的纠错码分布的方法和系统
CN103746774A (zh) * 2014-01-03 2014-04-23 中国人民解放军国防科学技术大学 一种高效数据读取的容错编码方法
CN105335150A (zh) * 2014-08-13 2016-02-17 苏宁云商集团股份有限公司 纠删码数据的快速编解码方法和系统
CN105426483A (zh) * 2015-11-19 2016-03-23 华为技术有限公司 一种基于分布式系统的文件读取方法及装置

Also Published As

Publication number Publication date
CN106527993A (zh) 2017-03-22

Similar Documents

Publication Publication Date Title
CN106527993B (zh) 一种分布式系统中的海量文件储存方法及装置
US20220368457A1 (en) Distributed Storage System Data Management And Security
US10691366B2 (en) Policy-based hierarchical data protection in distributed storage
US10489422B2 (en) Reducing data volume durability state for block-based storage
US10126973B2 (en) Systems and methods for retaining and using data block signatures in data protection operations
US6826711B2 (en) System and method for data protection with multidimensional parity
US9563681B1 (en) Archival data flow management
CN102521072B (zh) 虚拟磁带库设备及数据恢复方法
US11074129B2 (en) Erasure coded data shards containing multiple data objects
CN110609797A (zh) 基于块的存储的页面高速缓存存录
US10346066B2 (en) Efficient erasure coding of large data objects
AU2001249987A1 (en) System and method for data protection with multidimensional parity
US20200278913A1 (en) Policy-based hierarchical data protection in distributed storage
CN113190377B (zh) 一种基于分布式存储系统的可靠冗余方法及设备
CN107153661A (zh) 一种基于hdfs系统的数据的存储、读取方法及其装置
CN106027638A (zh) 一种基于混合编码的hadoop数据分发方法
US10592336B1 (en) Layered indexing for asynchronous retrieval of redundancy coded data
US10678664B1 (en) Hybridized storage operation for redundancy coded data storage systems
US9940474B1 (en) Techniques and systems for data segregation in data storage systems
Ma et al. A novel approach for improving security and storage efficiency on HDFS
Kulkarni et al. Efficient storage utilization using erasure codes in openstack cloud
CN104360915B (zh) 一种基于分布式存储的数据恢复方法及装置
Carolin et al. Data loss protection and data security using agents for cloud environment
Saleh Cloud Computing Failures, Recovery Approaches and Management Tools
Ali et al. NSM: A distributed storage architecture for data-intensive applications

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