CN110347344A - 一种基于分布式存储系统的自动配置块存储方法 - Google Patents

一种基于分布式存储系统的自动配置块存储方法 Download PDF

Info

Publication number
CN110347344A
CN110347344A CN201910654365.9A CN201910654365A CN110347344A CN 110347344 A CN110347344 A CN 110347344A CN 201910654365 A CN201910654365 A CN 201910654365A CN 110347344 A CN110347344 A CN 110347344A
Authority
CN
China
Prior art keywords
data
copy
block
data block
write
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
CN201910654365.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.)
Beijing Institute of Computer Technology and Applications
Original Assignee
Beijing Institute of Computer Technology and Applications
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 Institute of Computer Technology and Applications filed Critical Beijing Institute of Computer Technology and Applications
Priority to CN201910654365.9A priority Critical patent/CN110347344A/zh
Publication of CN110347344A publication Critical patent/CN110347344A/zh
Pending legal-status Critical Current

Links

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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0629Configuration or reconfiguration of storage systems
    • 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)

Abstract

本发明涉及一种基于分布式存储系统的自动配置块存储方法,涉及数据分布式存储技术领域。该方法通过区分数据条带满足情况自动匹配不同的冗余策略存储数据,保证了数据的高可用与IO的高效。其中在进行冗余策略设计时,根据写数据块的数量自动配置条带内数据冗余策略,区分这三种情况,一方面能够保证系统的可靠性,另一方面,是能够提高系统的性能,特别适用于非满条带写的情况。

Description

一种基于分布式存储系统的自动配置块存储方法
技术领域
本发明涉及数据分布式存储处理技术领域,具体涉及一种基于分布式存储系统的自动配置块存储方法。
背景技术
随着数据量的暴增,分布式存储系统因为其灵活的配置、可伸缩的规模、高可靠性,成为存储系统的主流系统。在数据可靠性方面,分布式存储系统一般使用副本或者纠删码(EC)的方法进行数据冗余,提高可靠性。纠删码方法由于其容量占用比的优势,目前在分布式系统应用较广泛。纠删码有多种配比,不同的配比支持的可靠性不同,一般用户会根据数据的重要性来选择。如果定义N表示原始数据的块数、M表示编码数据的块数,那么M则表示任意M份数据被破坏都能根据纠删码计算出原始数据来。在写原始用户数据的时候,数据节点需要根据原始数据的块数N计算出M份编码数据,然后分别存到各自的节点上的硬盘里。比如客户端以N+M的配比写数据到数据节点,并且N份数据是完整的,只需要进行纠删码计算即可。
客户端通过文件中记录的元数据信息找到文件所对应的数据节点,然后将数据发过去。由于原始数据是满条带的,所以直接在这个节点上计算出M份编码数据,然后将N+M份数据分发到其他数据节点上,其中一份存入本节点。所有数据只需要放入各节点的内存中即返回,这样客户端的延迟将会大大减少。此时,N+M个节点任意坏M个都不会导致数据丢失。
以上是最简单的情况,实际使用过程中远比这个复杂,特别是随机IO测试时,到达数据节点的数据一般不是满条带的,这样如果计算编码就需要从硬盘中读出其他数据补全然后再计算,对于客户端来说延迟较长。跟硬盘阵列比起来差距明显,无法满足用户的需求。所以,非满条带写的性能将成为系统性能的瓶颈。为此,需要提出一种基于分布式存储系统自动配置块存储方法来解决这个问题。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何设计一种基于分布式存储系统的块数据高可用、高性能的存储方法。
(二)技术方案
为了解决上述技术问题,本发明提供了一种基于分布式存储系统的自动配置块存储方法,该方法通过区分数据条带满足情况自动匹配不同的冗余策略存储数据,其中根据写数据块的数量,自动配置条带内数据冗余策略。
优选地,底层存储的格式是按条带存储的,每个条带具有N份原始数据的存储空间,以及M份编码数据的存储空间,所述原始输入是指原始写入的数据,所述编码数据是计算出来的数据而非原始写入的数据,设当前存储系统的EC数据冗余配比是N+M,上层应用实际写入数据的块数是x,0<x<=N,首先获取x、N、M之间的关系,根据x,N,M之间的关系,分成以下三种情况进行数据冗余:
(1)、若x=N,则以满条带写的方式进行数据冗余,此种情况,采用EC方法进行数据冗余与存储,将原始数据1分块,恰好有N块,在第一节点7上直接计算纠删码,得到原始数据块:第一原始数据块2,第二原始数据块3,……,第N原始数据块4和第一编码数据5,……,第M编码数据6,将所有数据块分别一对一分配到不同的节点:第一节点7,第二节点8,……,第N节点9,第N+1节点10,……,第N+M节点11;此步骤为满条带写方式的数据冗余步骤;
(2)、若x<=M,则以块副本写的方式进行数据冗余,此种情况,采用副本方法存储,对每个数据块再存储一个副本,将原始数据1分块,分成x块,直接为每个数据块创建一个副本,第一原始数据块2对应第一副本数据块15,一次直到x,形成第一原始数据块2,……第x原始数据块12,第一副本数据块15,……,第x副本数据块16,以及条带空闲数据块13,将这些数据块分配到不同的节点;此步骤为块副本写的方式数据冗余步骤;
(3)、若M<x<N,则以混合EC写的方式进行数据冗余,此种情况,将原始数据1分块,分成x块,对x块数据实现x+N数据配比的纠删编码,在第一节点7上计算纠删码,得到第一原始数据块2,……第x原始数据块12,第一编码数据5,……,第M编码数据6的数据块,将这些数据块分别存储在不同的节点,此时,当前条带上还有N-x个数据块空间未使用,将第一原始数据块2至第N-x原始数据块18的副本数据:第一副本数据15,……,第N-x副本数据19,存储在N-x个未使用的数据块空间,当N-x>=x时,每个原始数据块都有一个副本,当0<N-x<x,只有前N-x原始数据块有一个副本;此步骤为混合EC写的方式数据冗余步骤。
优选地,形成的数据块还包括冗余空闲数据块17。
本发明又提供了一种基于所述的存储方法实现的数据写入方法,包括以下步骤:
当写一个或者多个数据块时,首先统计数据块的数量x,读取系统冗余比配置获取N、M,比较x与N、M;
当比较得到x=N时,执行满条带写方式的数据冗余步骤,计算编码值,写原始数据与编码数据,更新元数据;
当比较得到x<=M时,执行块副本写方式的数据冗余步骤,计算写副本的数量,写副本,更新元数据;
当比较得到M<x<N时,混合EC写方式的数据冗余步骤,计算编码值,写原始数据与编码数据,发起写副本任务,更新元数据,先返回写完成,写副本任务首先计算写副本的数量,等待写副本完成。
优选地,更新元数据后均返回写完成。
本发明还提供了一种基于所述的存储方法实现的数据恢复读取方法,包括以下步骤:
当需要读取数据时,首先读取元数据,获取当前条带的存储策略;
当存储策略是满条带写时,首先直接读取原始数据块,读取成功则直接返回读完成,若有失效数据块,则通过EC算法恢复当前条带写入的原始数据;
当存储策略是副本写时,首先直接读取原始数据块,读取成功则直接返回读完成,当读取到失效数据块时,根据元数据查找其副本,从副本读取数据;
当存储策略是混合EC写时,首先直接读取原始数据块,读取成功则直接返回读完成,若读取到失效数据块,根据元数据查找其是否存在副本,若存在副本,读取副本内容,否则,根据EC算法恢复当前数据块数据。
优选地,不论按照那种存储策略进行数据恢复读取,最后都返回读完成。
(三)有益效果
本发明提出一种基于分布式存储系统自动配置块存储方法,该方法通过区分数据条带满足情况自动匹配不同的冗余策略存储数据,保证了数据的高可用与IO的高效。其中在进行冗余策略设计时,根据写数据块的数量自动配置条带内数据冗余策略,区分这三种情况,一方面能够保证系统的可靠性,另一方面,是能够提高系统的性能,特别适用于非满条带写的情况。
附图说明
图1为本发明满条带写数据冗余原理示意图;
图2为本发明副本写数据冗余原理示意图;
图3为本发明EC混合写数据冗余原理示意图。
其中,
1原始数据 2原始数据块1
3原始数据块2 4原始数据块N
5编码数据1 6编码数据M
7节点1 8节点2
9节点N 10节点N+1
11节点N+M 12原始数据块x
13条带空闲数据块 14副本数据
15副本数据块1 16副本数据块x
17冗余空闲数据块 18原始数据块N-x
19副本数据块N-x
具体实施方式
为使本发明的目的、内容、和优点更加清楚,下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
当前热门的分布式存储系统中,为了提高数据的可用性,采用纠删码(EC)技术进行数据冗余,它底层存储的格式是按条带存储的,每个条带具有N份原始数据的存储空间,以及M份编码数据的存储空间,所述原始输入是指原始写入的数据,所述编码数据是计算出来的数据而非原始写入的数据。把N+M份数据分别保存在不同的设备或者节点中,并通过N+M份中的任意N份数据还原出所有数据块(一份数据就是一个数据块)。EC包含了编码和解码两个过程:将原始的N份数据计算出M份编码数据称为编码过程;通过这N+M份数据中的任意N份数据来还原出原始数据的过程称为解码过程。EC可以容忍M份数据失效,任意小于或等于M份的数据失效能通过剩下的数据还原出原始数据。相比副本模式,纠删码需要的额外存储空间更少,在全Flash系统中使用纠删码将会更加高效。然而,纠删码对性能有一定影响,特别是在非满条带写的时候会有严重的写惩罚——需要补齐读数据才能做编码,这样会大大增加写的延迟,对于高性能存储系统这个延迟不可忍受。
针对EC上述缺陷,本发明提出一种基于分布式存储系统自动配置块存储方法,该方法通过区分数据条带满足情况自动匹配不同的冗余策略存储数据,保证数据的高可用与IO的高效。
在分布式存储系统中,首先对数据冗余策略进行配置,包括EC的具体算法以及原始数据块与编码块的配比。本发明设计的一种基于分布式存储系统自动配置块存储方法是基于此前提的,并假设当前存储系统的EC数据冗余配比是N+M。
为了更明确地阐述,首先介绍几个概念。
1、数据块chunk:系统默认的数据分片表示方式,数据块的大小chunk_size表示数据块的字节数,典型的对象数据分片大小为4MB,但不限于4MB;
2、条带stripe:用来计算同一个编码块的一组数据块,其大小为stripe_width,EC存储的数据由N份原始数据和M份编码数据组成,其中stripe_width=N×chunk_size,条带数据块数的值等于原始数据的份数N,条带冗余块数的值等于编码数据的份数M;
本发明的一种基于分布式存储系统自动配置块存储方法原理是通过区分数据条带满足情况自动匹配不同的冗余策略存储数据,其中根据写数据块的数量,自动配置条带内数据冗余策略。
根据前述的,设当前存储系统的EC数据冗余配比是N+M,将上层应用实际写入数据的块数是x,0<x<=N,首先获取x、N、M之间的关系,根据x,N,M之间的关系,分成以下三种情况进行数据冗余:
1、x=N:以满条带写的方式进行数据冗余,此种情况,采用EC方法进行数据冗余与存储,如图1所示,将原始数据1分块,恰好有N块,在节点17上直接计算纠删码,得到原始数据块:原始数据块12,原始数据块23,……,原始数据块N 4和编码数据15,……,编码数据M6,将所有数据块分别分配到不同的节点17,节点28,……,节点N 9,节点N+110,……,节点N+M 11;此步骤为满条带写方式的数据冗余步骤;
2、x<=M:以块副本写的方式进行数据冗余,此种情况,采用副本方法存储,对每个数据块再存储一个副本,如图2所示,将原始数据1分块,分成x块,直接为每个数据块创建一个副本,原始数据块12对应副本数据块115,一次直到x,形成原始数据块12,……原始数据块x 12,副本数据块115,……,副本数据块x 16,以及条带空闲数据块13、冗余空闲数据块17(若存在),将这些数据块分配到不同的节点;此步骤为块副本写的方式数据冗余步骤;
3、M<x<N:以混合EC写的方式进行数据冗余,此种情况,如图3所示,将原始数据1分块,分成x块,对x块数据实现x+N数据配比的纠删编码,在节点17上计算纠删码,得到原始数据块12,……原始数据块x 12,编码数据15,……,编码数据M 6的数据块,将这些数据块分别存储在不同的节点,此时,当前条带上还有N-x个块未使用,为了提高可靠性,将原始数据块12至原始数据块N-x 18的副本数据:副本数据115,……,副本数据N-x 19,存储在N-x个未使用的数据块空间,当N-x>=x时,每个原始数据块都有一个副本,当0<N-x<x,只有前N-x原始数据块有一个副本。此步骤为混合EC写的方式数据冗余步骤;
区分这三种情况的目的,一方面是为了保证系统的可靠性,另一方面,是为了提高系统的性能,特别适用于非满条带写的情况。
因为上述三种情况数据存储占用空间与EC是一样的,接下来只需针对IO性能、数据恢复开销、可靠性即可容忍失效数据块数量三方面进行分析。
1、x=N:满条带写。
这种情况就是正常的EC冗余方法,其IO性能、数据恢复开销、可靠性与常规EC一致。
2、x<=M:块副本写。
此时,x个数据块分别有x个副本块数据,冗余数据实际就是原始数据块的副本,相比起EC来说,该过程不涉及空位补0以及编码值的计算,直接存储,能显著提高IO性能。在数据恢复时,只要直接读取失效数据块的副本就可,也不涉及读取多个数据块,并进行编码恢复等过程,能够有效降低数据恢复开销。在可靠性上,基本可以容忍M块数据块失效。
3、M<x<N:混合EC写。
当M<x<N时,首先对原始x个数据块进行EC编码,形成x+M的数据配比的纠删码。然后依次使用原始数据块副本逐个填充该条带剩下的数据块。相比起常规EC,读取的数据块是一致的,只要读取原始数据块一次,既可以完成编码值的计算也可以获取副本,写数据时,因为此时为非满条带写,常规EC操作还需要补齐数据后再进行编码,有一定的时间损耗,此时处理x个原始数据和M个数据编码值比常规EC更快,而对于增加的写副本操作,因为接收写请求后,只要保证x个元数据数据块和M个编码块落盘即可返回写成功,副本操作独立完成,所以此时虽然增加了副本操作,但是完成不影响写数据的响应时间,即不影响写性能,因此总的来说,其IO性能与常规EC基本一致。在数据恢复开销时,当失效的数据块恰好存在副本时,恢复数据只需要读取副本即可,大大减小了数据开销,当失效的数据块没有副本时,其操作即常规EC恢复操作。很显然,当没有副本时,可容忍的失效数据块数为M,等同于常规EC,当增加了副本时,意味着提高了其可靠性,每一个拥有副本的数据块可容忍失效的数据块数量都增加一个。
本发明在程序具体实现时,其角色是写数据代理,此做法能保证上层接口不变。相比起常规的EC只包含1种策略,本发明共有3种不同的数据冗余策略,为了补充这3种策略信息,在系统中申请元数据存储空间,存储条带数据的类型(原始数据、副本、编码数据)等信息。
在具体实施时,涉及数据写入与数据读取。因为没有失效数据块时,本发明的数据读取实施方法与常规EC相同,因此只需要描述数据写入与数据恢复读取的实施流程。
(1)数据写入
当写一个或者多个数据块时,首先统计数据块的数量x,读取系统冗余比配置获取N、M,比较x与N、M。
当比较得到x=N时,执行满条带写方式的数据冗余步骤,计算编码值,写原始数据与编码数据,更新元数据,返回写完成;
当比较得到x<=M时,执行块副本写方式的数据冗余步骤,计算写副本的数量,写副本,更新元数据,返回写完成;
当比较得到M<x<N时,混合EC写方式的数据冗余步骤,计算编码值,写原始数据与编码数据,发起写副本任务,更新元数据,先返回写完成,写副本任务首先计算写副本的数量,等待写副本完成;
(2)数据恢复读取
当需要读取数据时,首先读取元数据,获取当前条带的存储策略。因为当失效数据块数量大于其可容忍的失效块数时,直接转入错误处理,本发明不再赘述,只描述数据是可恢复的情况。
当存储策略是满条带写时,首先直接读取原始数据块,读取成功则直接返回读完成,若有失效数据块,则通过EC算法恢复当前条带写入的原始数据,返回读完成;
当存储策略是副本写时,首先直接读取原始数据块,读取成功则直接返回读完成。当读取到失效数据块时,根据元数据查找其副本,从副本读取数据即可,返回读完成;
当存储策略是混合EC写时,首先直接读取原始数据块,读取成功则直接返回读完成,若读取到失效数据块,根据元数据查找其是否存在副本,若存在副本,读取副本内容,否则,根据EC算法恢复当前数据块数据,返回读完成。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (9)

1.一种基于分布式存储系统的自动配置块存储方法,其特征在于,该方法通过区分数据条带满足情况自动匹配不同的冗余策略存储数据,其中根据写数据块的数量,自动配置条带内数据冗余策略。
2.如权利要求1所述的方法,其特征在于,底层存储的格式是按条带存储的,每个条带具有N份原始数据的存储空间,以及M份编码数据的存储空间,所述原始输入是指原始写入的数据,所述编码数据是计算出来的数据而非原始写入的数据,设当前存储系统的EC数据冗余配比是N+M,上层应用实际写入数据的块数是x,0<x<=N,首先获取x、N、M之间的关系,根据x,N,M之间的关系,分成以下三种情况进行数据冗余:
若x=N,则以满条带写的方式进行数据冗余,此种情况,采用EC方法进行数据冗余与存储,将原始数据(1)分块,恰好有N块,在第一节点(7)上直接计算纠删码,得到原始数据块:第一原始数据块(2),第二原始数据块(3),……,第N原始数据块(4)和第一编码数据(5),……,第M编码数据(6),将所有数据块分别一对一分配到不同的节点:第一节点(7),第二节点(8),……,第N节点(9),第N+1节点(10),……,第N+M节点(11);此步骤为满条带写方式的数据冗余步骤;
若x<=M,则以块副本写的方式进行数据冗余,此种情况,采用副本方法存储,对每个数据块再存储一个副本,将原始数据(1)分块,分成x块,直接为每个数据块创建一个副本,第一原始数据块(2)对应第一副本数据块(15),一次直到x,形成第一原始数据块(2),……第x原始数据块(12),第一副本数据块(15),……,第x副本数据块(16),以及条带空闲数据块(13),将这些数据块分配到不同的节点;此步骤为块副本写的方式数据冗余步骤;
若M<x<N,则以混合EC写的方式进行数据冗余,此种情况,将原始数据(1)分块,分成x块,对x块数据实现x+N数据配比的纠删编码,在第一节点(7)上计算纠删码,得到第一原始数据块(2),……第x原始数据块(12),第一编码数据(5),……,第M编码数据(6)的数据块,将这些数据块分别存储在不同的节点,此时,当前条带上还有N-x个数据块空间未使用,将第一原始数据块(2)至第N-x原始数据块(18)的副本数据:第一副本数据(15),……,第N-x副本数据(19),存储在N-x个未使用的数据块空间,当N-x>=x时,每个原始数据块都有一个副本,当0<N-x<x,只有前N-x原始数据块有一个副本;此步骤为混合EC写的方式数据冗余步骤。
3.如权利要求2所述的方法,其特征在于,形成的数据块还包括冗余空闲数据块(17)。
4.一种基于权利要求2或3所述的存储方法实现的数据写入方法,其特征在于,包括以下步骤:
当写一个或者多个数据块时,首先统计数据块的数量x,读取系统冗余比配置获取N、M,比较x与N、M;
当比较得到x=N时,执行满条带写方式的数据冗余步骤,计算编码值,写原始数据与编码数据,更新元数据;
当比较得到x<=M时,执行块副本写方式的数据冗余步骤,计算写副本的数量,写副本,更新元数据;
当比较得到M<x<N时,混合EC写方式的数据冗余步骤,计算编码值,写原始数据与编码数据,发起写副本任务,更新元数据,先返回写完成,写副本任务首先计算写副本的数量,等待写副本完成。
5.如权利要求4所述的方法,其特征在于,更新元数据后均返回写完成。
6.一种基于权利要求2或3所述的存储方法实现的数据恢复读取方法,其特征在于,包括以下步骤:
当需要读取数据时,首先读取元数据,获取当前条带的存储策略;
当存储策略是满条带写时,首先直接读取原始数据块,读取成功则直接返回读完成,若有失效数据块,则通过EC算法恢复当前条带写入的原始数据;
当存储策略是副本写时,首先直接读取原始数据块,读取成功则直接返回读完成,当读取到失效数据块时,根据元数据查找其副本,从副本读取数据;
当存储策略是混合EC写时,首先直接读取原始数据块,读取成功则直接返回读完成,若读取到失效数据块,根据元数据查找其是否存在副本,若存在副本,读取副本内容,否则,根据EC算法恢复当前数据块数据。
7.如权利要求6所述的方法,其特征在于,当存储策略是满条带写时,最后返回读完成。
8.如权利要求6所述的方法,其特征在于,当存储策略是副本写时,最后返回读完成。
9.如权利要求6所述的方法,其特征在于,当存储策略是混合EC写时,最后返回读完成。
CN201910654365.9A 2019-07-19 2019-07-19 一种基于分布式存储系统的自动配置块存储方法 Pending CN110347344A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910654365.9A CN110347344A (zh) 2019-07-19 2019-07-19 一种基于分布式存储系统的自动配置块存储方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910654365.9A CN110347344A (zh) 2019-07-19 2019-07-19 一种基于分布式存储系统的自动配置块存储方法

Publications (1)

Publication Number Publication Date
CN110347344A true CN110347344A (zh) 2019-10-18

Family

ID=68179293

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910654365.9A Pending CN110347344A (zh) 2019-07-19 2019-07-19 一种基于分布式存储系统的自动配置块存储方法

Country Status (1)

Country Link
CN (1) CN110347344A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111414271A (zh) * 2020-03-17 2020-07-14 上海爱数信息技术股份有限公司 一种基于自适应存储冗余策略的存储方法
CN111581221A (zh) * 2020-03-18 2020-08-25 宁波送变电建设有限公司永耀科技分公司 一种分布式多站融合系统信息冗余存储与重构的方法
CN112667157A (zh) * 2020-12-25 2021-04-16 深圳创新科技术有限公司 磁盘阵列的写控制方法和系统
CN112965660A (zh) * 2021-02-09 2021-06-15 山东英信计算机技术有限公司 一种双存储池信息反馈的方法、系统、设备及介质
CN113901069A (zh) * 2021-12-08 2022-01-07 威讯柏睿数据科技(北京)有限公司 一种分布式数据库的数据存储方法和装置
CN114115735A (zh) * 2021-11-18 2022-03-01 北京奥星贝斯科技有限公司 写入数据的方法及装置
CN116010160A (zh) * 2023-03-09 2023-04-25 安超云软件有限公司 分布式文件系统的纠删码数据分布的方法及应用
CN117240873A (zh) * 2023-11-08 2023-12-15 阿里云计算有限公司 云存储系统、数据读写方法、设备及存储介质
CN117420969A (zh) * 2023-12-19 2024-01-19 中电云计算技术有限公司 一种分布式数据存储方法、装置、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110282834A1 (en) * 2010-05-17 2011-11-17 Symantec Corporation Continuous replication in a distributed computer system environment
CN102932331A (zh) * 2012-09-29 2013-02-13 南京云创存储科技有限公司 应用于分布式存储系统的超安存编解码方法
CN102937967A (zh) * 2012-10-11 2013-02-20 南京中兴新软件有限责任公司 数据冗余实现方法及装置
CN106227731A (zh) * 2016-07-06 2016-12-14 联想(北京)有限公司 一种数据处理方法、装置及分布式文件系统
CN109783016A (zh) * 2018-12-25 2019-05-21 西安交通大学 一种分布式存储系统中的弹性多维度冗余方法
CN109814807A (zh) * 2018-12-28 2019-05-28 曙光信息产业(北京)有限公司 一种数据存储方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110282834A1 (en) * 2010-05-17 2011-11-17 Symantec Corporation Continuous replication in a distributed computer system environment
CN102932331A (zh) * 2012-09-29 2013-02-13 南京云创存储科技有限公司 应用于分布式存储系统的超安存编解码方法
CN102937967A (zh) * 2012-10-11 2013-02-20 南京中兴新软件有限责任公司 数据冗余实现方法及装置
CN106227731A (zh) * 2016-07-06 2016-12-14 联想(北京)有限公司 一种数据处理方法、装置及分布式文件系统
CN109783016A (zh) * 2018-12-25 2019-05-21 西安交通大学 一种分布式存储系统中的弹性多维度冗余方法
CN109814807A (zh) * 2018-12-28 2019-05-28 曙光信息产业(北京)有限公司 一种数据存储方法及装置

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111414271B (zh) * 2020-03-17 2023-10-13 上海爱数信息技术股份有限公司 一种基于自适应存储冗余策略的存储方法
CN111414271A (zh) * 2020-03-17 2020-07-14 上海爱数信息技术股份有限公司 一种基于自适应存储冗余策略的存储方法
CN111581221A (zh) * 2020-03-18 2020-08-25 宁波送变电建设有限公司永耀科技分公司 一种分布式多站融合系统信息冗余存储与重构的方法
CN111581221B (zh) * 2020-03-18 2023-09-26 宁波送变电建设有限公司永耀科技分公司 一种分布式多站融合系统信息冗余存储与重构的方法
CN112667157A (zh) * 2020-12-25 2021-04-16 深圳创新科技术有限公司 磁盘阵列的写控制方法和系统
CN112667157B (zh) * 2020-12-25 2024-04-26 深圳创新科技术有限公司 磁盘阵列的写控制方法和系统
CN112965660A (zh) * 2021-02-09 2021-06-15 山东英信计算机技术有限公司 一种双存储池信息反馈的方法、系统、设备及介质
CN112965660B (zh) * 2021-02-09 2023-08-08 山东英信计算机技术有限公司 一种双存储池信息反馈的方法、系统、设备及介质
CN114115735A (zh) * 2021-11-18 2022-03-01 北京奥星贝斯科技有限公司 写入数据的方法及装置
CN114115735B (zh) * 2021-11-18 2024-02-09 北京奥星贝斯科技有限公司 写入数据的方法及装置
CN113901069A (zh) * 2021-12-08 2022-01-07 威讯柏睿数据科技(北京)有限公司 一种分布式数据库的数据存储方法和装置
CN113901069B (zh) * 2021-12-08 2022-03-15 威讯柏睿数据科技(北京)有限公司 一种分布式数据库的数据存储方法和装置
CN116010160A (zh) * 2023-03-09 2023-04-25 安超云软件有限公司 分布式文件系统的纠删码数据分布的方法及应用
CN117240873A (zh) * 2023-11-08 2023-12-15 阿里云计算有限公司 云存储系统、数据读写方法、设备及存储介质
CN117240873B (zh) * 2023-11-08 2024-03-29 阿里云计算有限公司 云存储系统、数据读写方法、设备及存储介质
CN117420969A (zh) * 2023-12-19 2024-01-19 中电云计算技术有限公司 一种分布式数据存储方法、装置、设备及存储介质
CN117420969B (zh) * 2023-12-19 2024-04-16 中电云计算技术有限公司 一种分布式数据存储方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN110347344A (zh) 一种基于分布式存储系统的自动配置块存储方法
US20220156151A1 (en) Distributed Erasure Coded Virtual File System
KR101758544B1 (ko) 비휘발성 메모리 시스템에서의 동기 미러링
CN104503706B (zh) 一种基于磁盘阵列的数据存储及读取方法
CN107844268B (zh) 一种数据分发方法、数据存储方法、相关装置以及系统
US7831768B2 (en) Method and apparatus for writing data to a disk array
US9158675B2 (en) Architecture for storage of data on NAND flash memory
US20160006461A1 (en) Method and device for implementation data redundancy
CN110018783B (zh) 一种数据存储方法、装置及系统
CN113176858B (zh) 数据处理方法、存储系统及存储设备
CN101609420A (zh) 实现磁盘冗余阵列重建的方法和磁盘冗余阵列及其控制器
US10467074B2 (en) Conditional journal for storage class memory devices
CN109814807A (zh) 一种数据存储方法及装置
CN103761195A (zh) 一种利用分布式数据编码的存储方法
CN101984400A (zh) 一种raid控制方法、装置及系统
CN110427156A (zh) 一种基于分片的mbr的并行读方法
CN116501553B (zh) 数据恢复方法、装置、系统、电子设备及存储介质
CN114415982B (zh) 一种数据存储方法、装置、设备及可读存储介质
Venkatesan et al. Effect of latent errors on the reliability of data storage systems
CN102033717B (zh) 基于磁盘阵列的数据存储方法及系统
CN117111860B (zh) 磁盘阵列降级时的io处理方法、装置及电子设备
CN109739777A (zh) 本地与分布式协同设计的可靠闪存存储方法及系统
CN104731526B (zh) 一种不满条带写的方法及装置
Iliadis Reliability evaluation of erasure coded systems under rebuild bandwidth constraints
CN114415968B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191018