CN115391093B - 一种数据处理方法及系统 - Google Patents
一种数据处理方法及系统 Download PDFInfo
- Publication number
- CN115391093B CN115391093B CN202210990209.1A CN202210990209A CN115391093B CN 115391093 B CN115391093 B CN 115391093B CN 202210990209 A CN202210990209 A CN 202210990209A CN 115391093 B CN115391093 B CN 115391093B
- Authority
- CN
- China
- Prior art keywords
- data
- check
- storage layer
- cache
- blocks
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000003860 storage Methods 0.000 claims abstract description 437
- 238000012545 processing Methods 0.000 claims abstract description 73
- 230000011218 segmentation Effects 0.000 claims abstract description 24
- 238000000034 method Methods 0.000 claims abstract description 19
- 239000012634 fragment Substances 0.000 claims description 32
- 238000013467 fragmentation Methods 0.000 claims description 15
- 238000006062 fragmentation reaction Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 11
- 238000013500 data storage Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000010367 cloning Methods 0.000 description 5
- 230000007547 defect Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- 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/1008—Adding 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/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- 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/1008—Adding 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/1048—Adding 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 arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/15—Use in a specific computing environment
- G06F2212/154—Networked environment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据处理方法及系统,该方法应用于由至少两个节点所组成的分布式存储系统,包括:确定响应数据处理请求的原文件按照预设切分规则所形成的多个数据块;根据预配置的配置信息将多个数据块依次存储至由节点所部署的缓存单元及校验存储单元;执行数据处理请求所对应的数据处理操作,并将数据处理操作所产生的差异数据按照配置信息依次存储至缓存单元及校验存储单元;其中,至少两个节点所部署的缓存单元形成分布式缓存存储层,至少两个节点所部署的校验存储单元形成分布式校验存储层。通过本发明,实现了数据处理时性能以及空间利用率同时兼顾的目的,同时,还解决了数据快照等操作实现复杂且效率低的问题。
Description
技术领域
本发明涉及信息存储技术领域,尤其涉及一种数据处理方法及系统。
背景技术
分布式存储系统是由不同于传统集中式存储架构所构成的存储系统,能够将多个节点上的存储介质组合成一个或者多个逻辑的大存储池,然后对外提供块、文件和对象存储服务,并且能够提供多种高级存储特性,例如快照、克隆、多副本、纠删码以及精简卷。
SSD和HDD是两种不同的硬盘,其中,SSD是固态硬盘,具有性能高、容量小以及价格贵的特点,HDD是机械硬盘,具有容量大、价格便宜以及性能较低(尤其是随机读写性能很低)的特点。基于此,多数分布式存储系统在设计时会综合利用SSD和HDD的特点,使得存储系统能够在保证大容量存储的同时,提供性能上的保障。
分布式存储系统为了保证数据的可用性,避免硬盘或者节点故障导致数据不可用,一般会采用多副本和纠删码技术以保护硬盘数据。多副本是指多个数据副本。实现方法是将数据拷贝多份完全一样的副本,分别存放在多个不同的节点上,当某个节点发生故障时,其他节点上仍然存放有数据,以保证数据不会丢失,从而数据存储的目的。纠删码(Erasure Code,简称EC)是指一种纠正数据丢失的校验码。实现方法是将数据以及校验码(即,可以推算出数据的校验码)分别存放至不同节点,当某个节点出现故障导致该节点存放的数据出现丢失时,则可以通过其他节点所存放的数据以及校验码,将丢失的数据反推出来,从而实现数据存储的目的。
基于前述多副本和纠删码两种硬盘数据保护技术,多副本具有冗余度高、读写性能高以及占用存储空间多的特点,纠删码则需要额外的计算,同时数据修改性能差(当出现写入数据的时由此涉及数据校验,从而可能会产生写惩罚),但是空间占用相对较少的特点。
然而,现有技术中使用纠删码的方式来保证数据冗余却不能解决小文件写入带来的性能急剧下降的问题,而使用多副本的方式又会出现存储空间利用率低的问题,从而存在无法保证性能以及空间利用率同时兼顾的缺陷。另外,现有的SSD缓存技术(例如,Bcache这种在内核级的block层缓存),存储系统的快照、克隆特性不能充分地利用SSD缓存的特性,从而导致缓存快照、克隆等操作的实现存在复杂且效率低的缺陷。
有鉴于此,有必要对现有技术中的存储技术予以改进,以解决上述问题。
发明内容
本发明的目的在于解决现有技术中使用纠删码的方式来保证数据冗余所存在的因小文件写入所导致的各个节点的存储性能急剧下降,而使用多副本方式又会导致节点的存储空间浪费的问题。
为实现上述目的,本发明提供了一种数据处理方法,应用于由至少两个节点所组成的分布式存储系统,包括:
确定响应数据处理请求的原文件按照预设切分规则所形成的多个数据块;
根据预配置的配置信息将所述多个数据块依次存储至由节点所部署的缓存单元及校验存储单元;
执行数据处理请求所对应的数据处理操作,并将数据处理操作所产生的差异数据按照所述配置信息依次存储至缓存单元及校验存储单元;
其中,至少两个节点所部署的缓存单元形成分布式缓存存储层,至少两个节点所部署的校验存储单元形成分布式校验存储层。
作为本发明的进一步改进,所述数据处理请求为数据写入请求;
所述数据写入请求包括:
判断是否确定响应数据写入请求所对应的数据块及数据块所存储的缓存单元及校验存储单元;
若是,则执行数据写入请求所对应的数据写入操作,并将数据写入请求所对应的数据存储至所述数据写请求所对应的数据块及数据块所存储的缓存单元及校验存储单元;
若否,则执行数据写入请求所对应的数据写入操作,并选取任意节点以将数据写入请求所对应的数据根据预配置的配置信息依次存储至任意节点所部署的缓存单元及校验存储单元。
作为本发明的进一步改进,所述数据处理请求为数据读取请求;
所述数据读取请求包括:
确定响应数据读取请求所对应的节点,并判断数据读取请求所对应的数据是否存储至确定的节点所部署的缓存单元;
若是,则通过确定的节点所部署的缓存单元执行数据读取请求所对应的数据读取操作;
若否,则通过确定的节点所部署的校验存储单元执行数据读取请求所对应的数据读取操作。
作为本发明的进一步改进,所述数据处理请求为数据快照创建请求;
所述数据快照创建请求包括:
响应数据快照请求执行数据快照请求所对应的数据快照创建操作,对原文件的多个数据块进行数据快照创建操作,并根据预配置的配置信息依次存储至由节点所部署的缓存单元及校验存储单元。
作为本发明的进一步改进,所述预配置的配置信息包括:
缓存存储层所对应的存储规则与全量数据副本个数,以及校验存储层所对应的存储规则、数据块分片个数以及校验块个数。
作为本发明的进一步改进,所述缓存存储层所对应的存储规则包括:
确定原文件所形成的多个数据块基于缓存存储层所对应的全量数据副本个数执行副本创建操作所形成的副本数据块;
将所述副本数据块依次存储至缓存存储层所包含的不同缓存单元,并保证同一缓存单元不存在相同的副本数据块。
作为本发明的进一步改进,所述校验存储层所对应的存储规则包括:
确定原文件所形成的多个数据块基于校验存储层所对应的数据块分片个数以及校验块个数执行纠删码创建操作所形成的数据块分片以及校验块;
将所述数据块分片以及校验块依次存储至校验存储层所包含的不同校验存储单元。
作为本发明的进一步改进,所述将所述副本数据块依次存储至缓存存储层所包含的不同缓存单元,还包括:
判断副本数据块总数是否为缓存单元总数的整倍数;
若是,则将副本数据块平均存储至缓存存储层所包含的不同缓存单元;
若否,则选取一缓存单元为缓存起始单元依次将副本数据块存储至缓存存储层所包含的不同缓存单元。
作为本发明的进一步改进,所述将所述数据块分片以及校验块依次存储至校验存储层所包含的不同校验存储单元,还包括:
确定数据块分片的总数与校验块的总数所形成的待分配数据块的总数,并判断所述待分配总数是否为校验存储层总数的整倍数;
若是,则将待分配数据块平均存储至不同校验存储单元;
若否,则选取一校验存储单元为校验起始单元依次将待分配数据块存储至不同校验存储单元。
作为本发明的进一步改进,同一节点部署一个缓存单元以及若干校验存储单元,至少两个节点所部署的至少一校验存储单元形成分布式校验存储层;
至少两个校验存储层形成多分布式校验存储层,所述多分布式校验存储层所包含的下级校验存储层基于上级校验存储层所存储的数据块分片以及校验块根据预配置的配置信息依次存储,所述上级校验存储层逻辑上部署形成至少一个的下级校验存储层。
作为本发明的进一步改进,所述多分布式存储层包含第一缓存存储层以及第二缓存存储层;
所述第一缓存存储层基于原文件所形成的多个数据块根据预配置的配置信息依次存储,以确定第一缓存存储层所存储的数据块;
所述第二缓存存储层基于所述第一缓存存储层所存储的数据块根据预配置的配置信息依次存储,以确定第二缓存存储层所存储的数据块。
基于相同发明思想,本发明还揭示了一种数据处理系统,包括:
确定模块,所述确定模块确定响应数据处理请求的原文件按照预设切分规则所形成的多个数据块;
存储模块,所述存储模块根据预配置的配置信息将所述多个数据块依次存储至由节点所部署的缓存单元及校验存储单元;
处理模块,所述处理模块执行数据处理请求所对应的数据处理操作,并将数据处理操作所产生的差异数据按照所述配置信息依次存储至缓存单元及校验存储单元。
与现有技术相比,本发明的有益效果是:
通过缓存单元及校验存储单元的部署方法以及存储方法实现原文件所形成的多个数据块的不同存储,并基于该存储实现后续数据处理请求及其所对应的数据处理操作,例如,数据写入请求及其所对应的数据写入请求,解决了现有技术中使用纠删码的方式来保证数据冗余所存在的因小文件写入所导致的各个节点的存储性能急剧下降,而使用多副本方式又会导致节点的存储空间浪费的问题,因此,通过本实施例可兼具确保小文件写入性能与降低节点存储空间浪费的双重效果。
附图说明
图1为本发明所示出的一种数据处理方法的步骤示意图;
图2为本发明所示出的一种数据处理方法应用于分布式存储系统的拓扑图;
图3为缓存存储层的拓扑图;
图4为校验存储层的拓扑图;
图5为数据请求信息所对应的流程图;
图6为数据读取信息所对应的流程图;
图7为缓存存储层所对应的存储方式的流程图;
图8为校验存储层所对应的存储方式的流程图;
图9为原文件、缓存存储层以及校验存储层所分别存储的数据块的拓扑图;
图10为三个节点的拓扑图;
图11为多分布式校验存储层所对应的多个校验存储单元的拓扑图;
图12为基于图1所示的一种数据处理系统的拓扑图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
请参图1至图11所示,本发明示出了一种数据处理方法的一种具体实施方法。
本发明所揭示的一种数据处理方法的应用场景为分布式存储系统作数据处理操作,以解决现有技术中所存在的分布式存储系统的小文件写入性能与存储空间利用率无法同时兼顾的问题。该数据处理方法可以运行在由至少两个节点所组成的分布式存储系统并将分布式存储系统作为一种整体,从而实现数据存储的目的。该分布式存储系统还可以部署在云平台中,该云平台可以被理解为超融合一体机、计算机、服务器、数据中心或者便捷式终端通过虚拟化技术所形成的一种服务或者系统。
示例性地,本发明所揭示的一种数据处理方法包括:首先,确定响应数据处理请求的原文件按照预设切分规则所形成的多个数据块;其次,根据预配置的配置信息将多个数据块依次存储至由节点所部署的缓存单元及校验存储单元;最后,执行数据处理请求所对应的数据处理操作,并将数据处理操作所产生的差异数据按照配置信息依次存储至缓存单元及校验存储单元;其中,至少两个节点所部署的缓存单元形成分布式缓存存储层,至少两个节点所部署的校验存储单元形成分布式校验存储层。
需要说明的是,本发明通过预设切分规则将原文件切分形成多个数据块(例如,按照逻辑切分的固定大小的数据块,切分为4MB的数据块),可以基于用户下发的自定义配置实现数据块的自定义切分,用户还可以基于原文件的属性(例如文件格式、文件大小)实现数据块的切分,从而实现保证了数据块切分可自定义配置的目的。在切分得到数据块之后,按照预配置的配置信息将切分得到的多个数据块依次存储至由节点所部署的缓存单元及校验存储单元。将多个数据块依次存储至由节点所部署的缓存单元具体为:确定原文件所形成的多个数据块基于缓存存储层所对应的全量数据副本个数执行副本创建操作所形成的副本数据块;将副本数据块依次存储至缓存存储层所包含的不同缓存单元,并保证同一缓存单元不存在相同的副本数据块。例如,原文件被切分为三个数据块,即,数据块A、数据块B以及数据块C,而全量数据副本个数为2,则分别对数据块A、数据块B以及数据块C执行副本创建操作,得到数据块A所对应的两个完全相同的副本数据块,数据块B所对应的两个完全相同的副本数据块,以及数据块C所对应的两个完全相同的副本数据块,总共六个副本数据块(即,前述三个数据块所分别对应的两个副本数据块)。然后将六个副本数据块存储至三个节点所分别部署的缓存单元中,并保证同一个缓存单元中不存在相同的副本数据块,从而实现了在保证缓存单元的空间利用率的同时,减少了不必要的存储操作(即,前述将相同的副本数据块存储至同一个缓存单元所存在不必要存储所导致空间利用率低的问题)。
另外,不同节点所部署的缓存单元共同组合形成分布式缓存存储层,而副本数据块存储至缓存存储层,以实现分布式存储,从而实现保证数据的容错性能以及负载均衡的目的。将多个数据块依次存储至由节点所部署的校验存储单元具体为:确定原文件所形成的多个数据块基于校验存储层所对应的数据块分片个数以及校验块个数执行纠删码创建操作所形成的数据块分片以及校验块;将数据块分片以及校验块依次存储至存储层所包含的不同校验存储单元。例如,前述数据块A、数据块B以及数据块C,而数据块分片个数为2,校验块个数为1,则分别对数据块A、数据块B以及数据块C执行纠删码创建操作,得到数据块A所对应的两个数据块分片以及一个校验码,数据块B所对应的两个数据块分片以及一个校验码,以及数据块C所对应的两个数据块分片以及一个校验码,总共六个数据块分片和三个校验码。然后将六个数据块分片和三个校验码存储至三个节点所分别部署的校验存储单元中,从而节省了分布式存储系统的存储空间,以实现了保证空间利用率的目的。另外,不同节点所部署的校验存储单元共同组合形成分布式校验存储层,而数据块分片和校验码存储至校验存储层,以形成分布式存储。
当存在数据处理请求时,执行数据处理请求所对应的数据处理操作,并将数据处理操作所产生的差异数据按照配置信息依次存储至缓存单元及校验存储单元。具体地,数据处理请求为数据写入请求,则判断是否确定响应数据写入请求所对应的数据块及数据块所存储的缓存单元及校验存储单元;若是,则执行数据写入请求所对应的数据写入操作,并将数据写入请求所对应的数据存储至数据写入请求所对应的数据块及数据块所存储的缓存单元及校验存储单元;若否,则执行数据写入请求所对应的数据写入操作,并选取任意节点以将数据写入请求所对应的数据根据预配置的配置信息依次存储至任意节点所部署的缓存单元及校验存储单元。例如,数据写入请求所对应的数据为数据1,若数据1存在所对应的数据块及数据块所存储的缓存单元及校验存储单元(也可以理解为,数据写入操作是对原文件所切分的数据块进行数据1的写入操作),则将数据1依次存储至所对应的数据块及数据块所存储的缓存单元及校验存储单元;若数据1不存在所对应的数据块及数据块所存储的缓存单元及校验存储单元(也可以理解为,数据写入操作不是对原文件所切分的数据块进行数据1的写入操作,而是独立于原文件所切分的数据块进行数据1的写入操作),则将数据1作为单独的数据块按照配置信息依次存储至缓存单元及校验存储单元。通过前述数据写入操作,基于对数据写入操作所对应的数据所写入的位置的判断,以确定数据写入操作所对应的数据写入位置,从而省略了通过额外的计算以计算校验码的步骤,从而解决了现有技术中使用纠删码的方式来保证数据冗余所存在的因小文件写入所导致的各个节点的存储性能急剧下降;同时,仅仅对数据写入位置进行数据写入请求对应的数据写入操作,节省了分布式存储系统的存储空间,从而解决了现有技术中使用多副本方式又会导致节点的存储空间浪费的问题。因此,通过本实施例可兼具确保小文件写入性能与降低节点存储空间浪费的双重效果。
数据处理请求为数据读取请求,则确定响应数据读取请求所对应的节点,并判断数据读取请求所对应的数据是否存储至确定的节点所部署的缓存单元;若是,则通过确定的节点所部署的缓存单元执行数据读取请求所对应的数据读取操作;若否,则通过确定的节点所部署的校验存储单元执行数据读取请求所对应的数据读取操作。通过前述确定数据读取请求所对应的数据所在的节点,以根据节点所部署的缓存单元和/或校验存储单元并从中读取数据,从而最终实现数据读取的目的。
数据处理请求为数据创建快照请求,则响应数据快照请求执行数据快照请求所对应的数据快照创建操作,对原文件所形成的多个数据块进行数据快照创建操作,并根据预配置的配置信息依次存储至由节点所部署的缓存单元及校验存储单元。通过对原文件所形成的多个数据块作增量快照操作,并根据预配置的配置信息依次存储至由节点所部署的缓存单元及校验存储单元,从而解决了现有技术中存储系统的快照、克隆特性不能充分地利用SSD缓存的特性,从而导致缓存快照、克隆等操作的实现存在复杂且效率低的缺陷。
另外,前述预配置的配置信息可以是用户自定义设置的,也可以是系统根据不同节点所部署的缓存单元及校验存储单元所分别对应的存储空间以自动生成的,以实现了配置信息可被任意指定的目的。
此外,同一个节点可以部署一个缓存单元以及若干校验存储单元,至少两个节点所部署的至少一校验存储单元形成分布式校验存储层;至少两个校验存储层形成多分布式校验存储层,多分布式校验存储层所包含的下级校验存储层基于上级校验存储层所存储的数据块分片以及校验块根据预配置的配置信息依次存储。通过多层校验存储层的存储,实现了更好地对原文件的数据块的存储目的。
参图1所示,在本实施方式中,一种数据处理方法至少包括以下步骤S1至步骤S3。
步骤S1、确定响应数据处理请求的原文件按照预设切分规则所形成的多个数据块。
示例性地,参图2至图4所示,一种分布式存储系统1000,包括:至少两个节点,每个节点均部署缓存单元和校验存储单元。例如,节点1~节点n,节点1部署缓存单元11和校验存储单元12,节点n部署缓存单元n1和校验存储单元n2,其中,n取大于1的正整数。不同节点所部署的缓存单元形成分布式缓存存储层100,通过多副本技术存储数据(参图3所示出的缓存存储层100,以及缓存存储层100内部署的缓存单元11~缓存单元n1);不同节点所部署的校验存储单元形成分布式校验存储层200,通过纠删码技术存储数据(参图4所示出的校验存储层200,以及校验存储层200内部署的校验存储单元12~校验存储单元n2)。另外,每个节点的结构(即,缓存单元和校验存储单元的部署)相同,但是配置环境(例如,节点的存储空间等)可以相同可以不同,本实施例对此不作限定。
具体地,将原文件按照预设切分规则切分形成多个数据块(例如,将原文件切分为三个数据块,即,数据块A、数据块B以及数据块C),其中,切分规则可以是按照逻辑切分的固定大小(例如,4MB)的数据块,还可以是按照数据类型切分,对此本实施例不作限定。总体而言,切分规则可以基于用户的自定义配置进行自定义实现数据块的切分,用户还可以基于实际场景实现数据块的切分,从而实现保证了数据块切分可自定义配置的目的。
步骤S2、根据预配置的配置信息将所述多个数据块依次存储至由节点所部署的缓存单元及校验存储单元。
示例地,确定原文件切分形成的多个数据块,并确定节点的数量,以确定缓存存储单元以及校验存储单元的数量,将多个数据块根据预配置的配置信息依次存储至缓存单元以及校验存储单元。预配置的配置信息包括:不同节点所部署的缓存单元所形成的缓存存储层所对应的存储规则与全量数据副本个数,以及不同节点所部署的校验存储单元所形成的校验存储层所对应的存储规则、数据分片个数以及校验块个数。缓存存储层所对应的存储规则包括:首先,确定原文件所形成的多个数据块基于缓存存储层所对应的全量数据副本个数执行副本创建请求所形成的副本数据块;然后,将副本数据块依次存储至缓存存储层所包含的不同缓存单元,并保证同一缓存单元不存在相同的副本数据块。校验存储层所对应的存储规则包括:首先,确定原文件所形成的多个数据块基于校验存储层所对应的数据块分片个数以及校验块个数执行纠删码创建操作所形成的数据块分片以及校验块;然后,将数据块分片以及校验块依次存储至校验存储层所包含的不同校验存储单元。
具体地,确定原文件所形成的多个数据块基于缓存存储层所对应的全量数据副本个数,得到多个数据块所分别对应的副本数据块。由于是全量数据的副本数据块,因此同一数据块所对应的副本数据块为完全相同的且与数据块也完全相同,从而实现数据块所包含数据的整体保护的目的,在后续恢复数据时能够实现快速的数据恢复的目的。同时,对同一个数据块存储多个副本数据块并存储至不同节点,从而实现了对数据块所包含的数据的更好的存储目的。当该节点发生故障时,可以通过其他节点所存储的相同副本数据块以实现数据的存储,从而提高了节点的容错性能并将数据的损失降到最低甚至不存在数据的损失,从而最终实现了由节点所形成的分布式存储系统的容错能力。
参图7所示,将多个副本数据块依次存储至缓存存储层所包含的缓存单元,可以是基于副本数据块总数以实现存储,包括以下步骤S31至步骤S33。
步骤S31、判断副本数据块总数是否为缓存单元总数的整数倍;若是,则执行步骤S32;若否,则执行步骤S33。
步骤S32、将副本数据块平均存储至缓存存储层所包含的不同缓存单元。
步骤S33、选取一缓存单元为缓存起始单元依次将副本数据块存储至缓存存储层所包含的不同缓存单元。
例如,参图9至图10所示,原文件被切分形成三个数据块,即,数据块A、数据块B以及数据块C,而全量数据副本个数为2,则分别对数据块A、数据块B以及数据块C作全量数据备份,以形成数据块A所对应的两个副本数据块(即,数据块A1和数据块A2)、数据块B所对应的两个副本数据块(即,数据块B1和数据块B2)、以及数据块C所对应的两个副本数据块(即,数据块C1和数据块C2)。将副本数据块依次存储至节点1、节点2以及节点3所分别部署的缓存单元11、缓存单元21以及缓存单元31中。副本数据块总数为6,缓存单元总数为3,则将6个副本数据块平均存储至不同缓存单元,即,缓存单元11、缓存单元21以及缓存单元31均存储两个副本数据块。由于数据块A1和数据块A2、数据块B1和数据块B2、数据块C1和数据块C2互相之间实质为完全相同的副本数据块,则存储至同一缓存单元31无意义,则保证同一存储单元存储不同的数据块所对应的副本数据块(即,一个节点不存储相同的副本数据块),从而实现了在保证缓存单元的空间利用率的同时,减少了不必要的存储操作(即,将实质完全相同的副本数据块存储至同一缓存单元)与对应产生不必要的IOPS。前述IOPS(Input/Output Operations Per Second)是一个用于电脑存储设备(如硬盘(HDD)、固态硬盘(SSD)或存储区域网络(SAN))性能测试的量测方式,可以视为是每秒的读写次数。至于平均存储的具体存储方式,可以是如图10中所示出的缓存单元11存储数据块A1和数据块B1,缓存单元21存储数据块A2和数据块C1,缓存单元31存储数据块B2和数据块C2;也可以是缓存单元11存储数据块B1和数据块C1,缓存单元B2存储数据块A2和数据块,缓存单元31存储数据块C2和数据块A2等等,本实施不对平均存储的具体存储方式作限定。只要能够实现同一存储单元存储不同的数据块所对应的副本数据,以实现保证缓存单元的空间利用率的同时,减少了不必要的存储操作的目的即可。
另外,当副本数据块总数不为缓存单元总数的整数倍时,例如,副本数据块总数为9个(即,全量数据副本个数为3,以形成数据A、数据块B以及数据C所分别对应的三个副本数据块),缓存单元总数为4个,则选取任意一个缓存单元为缓存起始单元依次将副本数据块存储至缓存层所包含的不同缓存单元。例如,选择第二个缓存单元为缓存起始单元,则将数据块A所对应的三个副本数据块分别存储至第二个缓存单元、第三个缓存单元以及第四个缓存单元,将数据块B所对应的三个副本数据块分别存储至第一个缓存单元、第二个缓存单元以及第三个缓存单元,将数据块C所对应的三个副本数据块分别存储至第四个缓存单元、第一个缓存单元以及第二个缓存单元,从而实现副本数据块的存储。综上,副本数据块基于实际存储的具体存储方式不仅限于上述两种方式,无论何种方式,只要能够保证同一存储单元存储不同的数据块所对应的副本数据块(即,一个节点不存储相同的副本数据块),从而实现了在保证缓存单元的空间利用率的同时,减少了不必要的存储操作(即,将实质完全相同的副本数据块存储至同一缓存单元)即可。
此外,本实施例不对不同数据块所对应的副本数据块个数作限定,不同数据块对应的副本数据块个数可以是相同或者不同。例如,副本数据块总数为9个,则可以是数据A对应四个副本数据块,数据B对应四个副本数据块,数据C对应两个副本数据块;也可以是前述数据A、数据块B以及数据C所分别对应的三个副本数据块。
具体地,确定原文件所形成的多个数据块基于校验存储层所对应的数据块分片个数以及校验块个数,得到多个数据块所分别对应的数据块分片以及校验块,并将数据块分片以及校验块依次存储至校验存储层所包含的不同校验存储单元。由于将数据块分片以及校验块存储至不同存储单元,因此减少了一个节点所部署的校验存储单元的存储空间以及存储压力,从而实现了保证校验存储单元的存储空间利用率的目的。
参图8所示,将数据块分片以及校验块依次存储至校验存储层所包含的校验存储单元,可以是基于数据块分片总数与校验块总数所形成的待分配数据块总数以实现存储,包括以下步骤S41至步骤S43。
步骤S41、确定数据块分片总数与校验块总数所形成的待分配数据块总数,并判断待分配数据块总数是否为校验存储单元总数的整数倍;若是,则执行步骤S42;若否,则执行步骤S43。
步骤S42、将待分配数据块平均存储至不同校验存储单元。
步骤S43、选取一校验存储单元为校验起始单元依次将待分配数据块存储至不同校验存储单元。
例如,参图9至图10所示,原文件被切分形成数据块A、数据块B以及数据块C,则分别对数据块A、数据块B以及数据块C执行纠删码创建操作,以形成数据块A所对应的两个数据块分片(即,数据块分片a1和数据块分片a2)以及校验块A,数据块B所对应的两个数据块分片(即,数据块分片b1和数据块分片b2)以及校验块B,数据块C所对应的两个数据块分片(即,数据块分片c1和数据块分片c2)以及校验块C。将数据块分片和校验块依次存储至节点1、节点2以及节点3所分别部署的校验存储单元12、校验存储单元22以及校验存储单元32。数据块分片总数和校验块总数所形成的待分配数据块总数为9,校验存储单元总数为3,则将9个待分配数据块平均存储至不同校验存储单元,即,校验存储单元12、校验存储单元22以及校验存储单元32分别存储三个待分配校验数据块。优选地,可以将校验块理解为数据块分片的计算公式,可以存储至不同校验存储单元,从而更好地实现数据所对应的不同数据块(即,数据块分片和/或校验块)的存储目的,以防止出现校验块存储至同一节点,而该节点故障以导致所有校验块均不能在后续数据处理请求及其所对应的数据处理操作,从而实现了保证分布式存储系统的容灾及故障恢复能力的目的。
另外,当待分配数据块总数不为校验存储单元总数的整数倍时,例如,待分配数据块总数为9个(即,数据块分片总数为6,校验块总数为3,以形成数据块A、数据块B以及数据块C所分别对应的两个数据块分片和一个校验块),校验存储单元总数为4个,则选取任意一个校验存储单元为校验起始单元依次将待分配数据块存储至不同校验存储单元。例如,选取第二个校验存储单元为校验起始单元,则将数据块A所对应的两个数据块分片和一个校验块分别存储至第二个校验存储单元,第三个校验存储单元以及第四个校验存储单元,将数据块B所对应的两个数据块分片和一个校验块分别存储至第一个校验存储单元,第二个校验存储单元以及第三个校验存储单元,将数据块C所对应的两个数据块分片和一个校验块分别存储至第四个缓存单元、第一个缓存单元以及第二个缓存单元,从而实现数据块分片和校验块的存储。数据块分片和校验块基于实际存储的具体存储方式不仅限于上述两种方式,无论何种方式,只要能够实现待分配数据块(即,数据块分片和校验块)的存储,更优选地实现校验块不存储至同一校验存储单元,从而实现数据块分片和校验块在多个校验存储单元所形成的发布式校验存储层的分布式存储,从而最终实现数据的容错以及负载均衡的目的即可。
此外,同一节点可以部署一个缓存单元以及若干校验存储单元,至少两个节点所部署的至少一校验存储单元形成分布式校验存储层,至少两个校验存储层形成多分布式校验存储层。多分布式校验存储层所包含的下级校验存储层基于上级校验存储层所存储的数据块分片以及校验块根据预配置的配置信息依次存储,上级校验存储层逻辑上部署形成至少一个的下级校验存储层。
例如,参图11所示,节点1部署校验存储单元12、校验存储单元13以及校验存储单元14等,节点2部署校验存储单元22、校验存储单元23以及校验存储单元24等,节点3部署校验存储单元32、校验存储单元33以及校验存储单元34等。校验存储单元12、校验存储单元22以及校验存储单元32形成分布式校验存储层,校验存储单元13、校验存储单元23以及校验存储单元33形成分布式校验存储层,校验存储单元14、校验存储单元24以及校验存储单元34形成分布式校验存储层,依次类推,多个分布式校验存储层形成多分布式校验存储。多分布式校验存储层所包含的下级校验存储层基于上级校验存储层所存储的待分配数据块(即,数据块分片以及校验块)根据预配置的配置信息依次存储。例如,第二个分布式校验存储层(即,校验存储单元13、校验存储单元23以及校验存储单元33形成分布式校验存储层)基于第一个分布式校验存储层(即,校验存储单元12、校验存储单元22以及校验存储单元32形成分布式校验存储层)根据预配置的配置信息依次存储。另外,具体存储方式参比上述校验存储单元12、校验存储单元22以及校验存储单元32形成分布式校验存储层基于原文件所形成的数据块A、数据块B以及数据块C的存储方式,在此不再赘述。对数据块分片(例如,前述数据块A所对应的两个数据块分片和/或数据块B所对应的两个数据块分片和/或数据块C所对应的两个数据块分片)执行纠删码创建操作,以得到更为细粒度的数据块分片,从而实现数据存储的细粒度切分及分布式存储;同时,减少了不同校验存储单元的负荷,以实现了更好的容错性能的目的。另外,校验存储层的数量可以根据具体情况予以限定,只要能够实现数据存储的细粒度切分及分布式存储的目的即可。
步骤S3、执行数据处理请求所对应的数据处理操作,并将数据处理操作所产生的差异数据按照配置信息依次存储至缓存单元及校验存储单元。
具体地,确定数据的存储位置(即,前述原文件所形成的多个数据块所对应的多个副本数据块的存储位置,以及多个数据块所形成的数据块分片和校验码的存储位置),执行数据处理请求所对应的数据处理操作,以基于确定的数据存储位置将数据处理操作所产生的差异数据按照配置信息依次存储至缓存单元及校验存储单元。
参图5所示,若数据处理请求为数据写入请求,具体包括以下步骤S11至步骤S13。
步骤S11、判断是否确定响应数据写入请求所对应的数据块及数据块所存储的缓存单元及校验存储单元;若是,则执行步骤S12;若否,则执行步骤S13。
步骤S12、执行数据写请求所对应的数据写入操作,并将数据写入请求所对应的数据存储至数据写入请求所对应的数据块及数据块所存储的缓存单元及校验存储单元。
步骤S13、执行数据写入请求所对应的数据写入操作,并选取任意节点以将数据写入请求所对应的数据根据预配置的配置信息依次存储至任意节点所部署的缓存单元及校验存储单元。
例如,数据写入请求所对应的数据为数据1,若数据1存在所对应的数据块及数据块所存储的缓存单元及校验存储单元(也可以理解为,数据写入操作是对原文件所切分的数据块进行数据1的写入操作),则将数据1依次存储至所对应的数据块及数据块所存储的缓存单元及校验存储单元;若数据1不存在所对应的数据块及数据块所存储的缓存单元及校验存储单元(也可以理解为,数据写入操作不是对原文件所切分的数据块进行数据1的写入操作,而是独立于原文件所切分的数据块进行数据1的写入操作),则将数据1作为单独的数据块按照配置信息依次存储至缓存单元及校验存储单元。通过前述数据写入操作,解决了现有技术中使用纠删码的方式来保证数据冗余所存在的因小文件写入所导致的各个节点的存储性能急剧下降,而使用多副本方式又会导致节点的存储空间浪费的问题,因此,通过本实施例可兼具确保小文件写入性能与降低节点存储空间浪费的双重效果。
参图6所示,若数据处理请求为数据读取请求,具体包括以下步骤S21至步骤S23。
步骤S21、确定响应数据读取请求所对应的节点,并判断数据读取请求所对应的数据是否存储至确定的节点所部署的缓存单元;若是,则执行步骤S22;若否,则执行步骤S23。
步骤S22、通过确定的节点所部署的缓存单元执行数据读取请求所对应的数据读取操作。
步骤S23、通过确定的节点所部署的校验存储单元执行读取数据请求所对应的数据读取操作。
例如,数据读取请求所对应的数据为数据2,若数据2所对应的节点所部署的缓存单元存在该数据(即,数据2)所对应的副本数据块,则通过该(即,数据2)所对应的副本数据块以执行读取数据操作;若数据块2所对应的节点所部署的缓存单元不存在该数据(即,数据2)所对应的副本数据块,则通过数据2所对应的节点所部署的校验存储单元所存储的数据块分片或者校验块以执行数据读取操作。
若数据处理请求为数据创建快照请求,则响应数据快照请求执行数据快照请求所对应的数据快照创建操作,对原文件所形成的多个数据块进行数据快照创建操作,并根据预配置的配置信息依次存储至由节点所部署的缓存单元及校验存储单元。对原文件所形成的多个数据块作增量快照操作,以根据配置信息依次存储至由节点所部署的缓存单元及校验存储单元,从而解决了现有技术中存储系统的快照、克隆特性不能充分地利用SSD缓存的特性,从而导致缓存快照、克隆等操作的实现存在复杂且效率低的缺陷。
此外,通过前述缓存单元及校验存储单元的部署方法以及存储方法实现原文件所形成的多个数据块的不同存储,并基于该存储实现后续数据处理请求及其所对应的数据处理操作(例如,数据写入请求及其所对应的数据写入请求),解决了现有技术中使用纠删码的方式来保证数据冗余所存在的因小文件写入所导致的各个节点的存储性能急剧下降,而使用多副本方式又会导致节点的存储空间浪费的问题,因此,通过本实施例可兼具确保小文件写入性能与降低节点存储空间浪费的双重效果。
现有技术中采用EC(即,纠删码)的存储系统,当单次写入的数据量不是EC满条带的数据量时,需要首先读取EC条带的数据,再对EC条带的数据进行更新,需要重新计算校验条带(即,本发明中的校验块),从而导致因小写所导致的写入性能较低的缺陷。采用多副本的存储系统,由于会存在多个副本,从而存在存储空间浪费的情况。例如,存储池中有150GB的容量,若副本数为3个,则实际可以存储的数据量最多为50GB。
本发明通过底层存储池采用纠删码的方式存储,即校验存储层200,相对于多副本的方式节省了分布式存储系统的存储空间;同时,在校验存储层200之上采用多副本的方式存储,即缓存存储层100,使得将数据以多副本的方式写入缓存存储层100的速度比直接以纠删码的方式写入校验存储层200的速度快。同时,缓存存储层100中存储的数据以纠删码方式写入校验存储层200,从而实现了写入速度不会因基于纠删码的方式写入而降低的目的。
进一步地,基于上文所述的一种数据处理方法的具体示例,本实施例还揭示了一种数据处理系统。参图12所示,该数据处理系统包括:确定模块101、存储模块102以及处理模块103。
具体地,确定模块101确定响应数据处理请求的原文件按照预设切分规则所形成的多个数据块。将原文件按照预设切分规则切分形成多个数据块(例如,将原文件切分为三个数据块,即,数据块A、数据块B以及数据块C),其中,切分规则可以是按照逻辑切分的固定大小(例如,4MB)的数据块,还可以是按照数据类型切分,对此本实施例不作限定。总体而言,切分规则可以基于用户的自定义配置进行自定义实现数据块的切分,用户还可以基于实际场景实现数据块的切分,从而实现保证了数据块切分可自定义配置的目的。
具体地,存储模块102根据预配置的配置信息将多个数据块依次存储至由节点所部署的缓存单元及校验存储单元。确定原文件所形成的多个数据块基于缓存存储层所对应的全量数据副本个数,得到多个数据块所分别对应的副本数据块。由于是全量数据的副本数据块,因此同一数据块所对应的副本数据块为完全相同的且与数据块也完全相同,从而实现数据块所包含数据的整体保护的目的,在后续恢复数据时能够实现快速的数据恢复;同时对同一个数据块存储多个副本数据块并存储至不同节点,从而实现了对数据块所包含的数据的更好的存储目的,当该节点发生故障时,可以通过其他节点所存储的相同副本数据块以实现数据的存储,从而提高了节点的容错性能并将数据的损失降到最低甚至不存在数据的损失,从而最终实现了由节点所形成的分布式存储系统的容错能力。
具体地,处理模块103执行数据处理请求所对应的数据处理操作,并将数据处理操作所产生的差异数据按照配置信息依次存储至缓存单元及校验存储单元。确定数据的存储位置(即,前述原文件所形成的多个数据块所对应的多个副本数据块的存储位置,以及多个数据块所形成的数据块分片和校验码的存储位置),执行数据处理请求所对应的数据处理操作,以基于确定的数据存储位置将数据处理操作所产生的差异数据按照配置信息依次存储至缓存单元及校验存储单元。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (9)
1.一种数据处理方法,应用于由至少两个节点所组成的分布式存储系统,其特征在于,包括:
确定响应数据处理请求的原文件按照预设切分规则所形成的多个数据块;
根据预配置的配置信息将所述多个数据块依次存储至由节点所部署的缓存单元及校验存储单元;
执行数据处理请求所对应的数据处理操作,并将数据处理操作所产生的差异数据按照所述配置信息依次存储至缓存单元及校验存储单元;
其中,至少两个节点所部署的缓存单元形成分布式缓存存储层,至少两个节点所部署的校验存储单元形成分布式校验存储层,所述预配置的配置信息包括校验存储层所对应的存储规则、数据块分片个数以及校验块个数;
所述存储规则包括:
确定原文件所形成的多个数据块基于校验存储层对应的数据块分片个数以及校验块个数执行纠删码创建操作所形成的数据块分片以及校验块;
将所述数据块分片以及校验块依次存储至校验存储层所包含的不同校验存储单元;
同一节点部署一个缓存单元以及若干校验存储单元,至少两个节点所部署的至少一校验存储单元形成分布式校验存储层;
至少两个校验存储层形成多分布式校验存储层,所述多分布式校验存储层所包含的下级校验存储层基于上级校验存储层所存储的数据块分片以及校验块根据预配置的配置信息依次存储,所述上级校验存储层逻辑上部署形成至少一个的下级校验存储层;
所述多分布式存储层包含第一缓存存储层以及第二缓存存储层;
所述第一缓存存储层基于原文件所形成的多个数据块根据预配置的配置信息依次存储,以确定第一缓存存储层所存储的数据块;
所述第二缓存存储层基于所述第一缓存存储层所存储的数据块根据预配置的配置信息依次存储,以确定第二缓存存储层所存储的数据块。
2.根据权利要求1所述的数据处理方法,其特征在于,所述数据处理请求为数据写入请求;
所述数据写入请求包括:
判断是否确定响应数据写入请求所对应的数据块及数据块所存储的缓存单元及校验存储单元;
若是,则执行数据写入请求所对应的数据写入操作,并将数据写入请求所对应的数据存储至所述数据写请求所对应的数据块及数据块所存储的缓存单元及校验存储单元;
若否,则执行数据写入请求所对应的数据写入操作,并选取任意节点以将数据写入请求所对应的数据根据预配置的配置信息依次存储至任意节点所部署的缓存单元及校验存储单元。
3.根据权利要求1所述的数据处理方法,其特征在于,所述数据处理请求为数据读取请求;
所述数据读取请求包括:
确定响应数据读取请求所对应的节点,并判断数据读取请求所对应的数据是否存储至确定的节点所部署的缓存单元;
若是,则通过确定的节点所部署的缓存单元执行数据读取请求所对应的数据读取操作;
若否,则通过确定的节点所部署的校验存储单元执行数据读取请求所对应的数据读取操作。
4.根据权利要求1所述的数据处理方法,其特征在于,所述数据处理请求为数据快照创建请求;
所述数据快照创建请求包括:
响应数据快照请求执行数据快照请求所对应的数据快照创建操作,对原文件的多个数据块进行数据快照创建操作,并根据预配置的配置信息依次存储至由节点所部署的缓存单元及校验存储单元。
5.根据权利要求1至4中任一项所述的数据处理方法,其特征在于,所述预配置的配置信息还包括:
缓存存储层所对应的存储规则与全量数据副本个数。
6.根据权利要求5所述的数据处理方法,其特征在于,所述缓存存储层所对应的存储规则包括:
确定原文件所形成的多个数据块基于缓存存储层所对应的全量数据副本个数执行副本创建操作所形成的副本数据块;
将所述副本数据块依次存储至缓存存储层所包含的不同缓存单元,并保证同一缓存单元不存在相同的副本数据块。
7.根据权利要求6所述的数据处理方法,其特征在于,所述将所述副本数据块依次存储至缓存存储层所包含的不同缓存单元,还包括:
判断副本数据块总数是否为缓存单元总数的整倍数;
若是,则将副本数据块平均存储至缓存存储层所包含的不同缓存单元;
若否,则选取一缓存单元为缓存起始单元依次将副本数据块存储至缓存存储层所包含的不同缓存单元。
8.根据权利要求7所述的数据处理方法,其特征在于,所述将所述数据块分片以及校验块依次存储至校验存储层所包含的不同校验存储单元,还包括:
确定数据块分片的总数与校验块的总数所形成的待分配数据块的总数,并判断所述待分配总数是否为校验存储层总数的整倍数;
若是,则将待分配数据块平均存储至不同校验存储单元;
若否,则选取一校验存储单元为校验起始单元依次将待分配数据块存储至不同校验存储单元。
9.一种数据处理系统,其特征在于,包括:
确定模块,所述确定模块确定响应数据处理请求的原文件按照预设切分规则所形成的多个数据块;
存储模块,所述存储模块根据预配置的配置信息将所述多个数据块依次存储至由节点所部署的缓存单元及校验存储单元;
处理模块,所述处理模块执行数据处理请求所对应的数据处理操作,并将数据处理操作所产生的差异数据按照所述配置信息依次存储至缓存单元及校验存储单元;
其中,至少两个节点所部署的缓存单元形成分布式缓存存储层,至少两个节点所部署的校验存储单元形成分布式校验存储层,所述预配置的配置信息包括校验存储层所对应的存储规则、数据块分片个数以及校验块个数;
所述存储规则包括:
确定原文件所形成的多个数据块基于校验存储层对应的数据块分片个数以及校验块个数执行纠删码创建操作所形成的数据块分片以及校验块;
将所述数据块分片以及校验块依次存储至校验存储层所包含的不同校验存储单元;
同一节点部署一个缓存单元以及若干校验存储单元,至少两个节点所部署的至少一校验存储单元形成分布式校验存储层;
至少两个校验存储层形成多分布式校验存储层,所述多分布式校验存储层所包含的下级校验存储层基于上级校验存储层所存储的数据块分片以及校验块根据预配置的配置信息依次存储,所述上级校验存储层逻辑上部署形成至少一个的下级校验存储层;
所述多分布式存储层包含第一缓存存储层以及第二缓存存储层;
所述第一缓存存储层基于原文件所形成的多个数据块根据预配置的配置信息依次存储,以确定第一缓存存储层所存储的数据块;
所述第二缓存存储层基于所述第一缓存存储层所存储的数据块根据预配置的配置信息依次存储,以确定第二缓存存储层所存储的数据块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210990209.1A CN115391093B (zh) | 2022-08-18 | 2022-08-18 | 一种数据处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210990209.1A CN115391093B (zh) | 2022-08-18 | 2022-08-18 | 一种数据处理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115391093A CN115391093A (zh) | 2022-11-25 |
CN115391093B true CN115391093B (zh) | 2024-01-02 |
Family
ID=84120508
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210990209.1A Active CN115391093B (zh) | 2022-08-18 | 2022-08-18 | 一种数据处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115391093B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118133A (zh) * | 2013-02-28 | 2013-05-22 | 浙江大学 | 基于文件访问频次的混合云存储方法 |
CN106095807A (zh) * | 2016-05-31 | 2016-11-09 | 中广天择传媒股份有限公司 | 一种分布式文件系统纠删码缓存装置及其缓存方法 |
CN106227464A (zh) * | 2016-07-14 | 2016-12-14 | 中国科学院计算技术研究所 | 一种双层冗余存储系统及其数据写入、读取及恢复方法 |
CN112988683A (zh) * | 2021-02-07 | 2021-06-18 | 北京金山云网络技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113176858A (zh) * | 2021-05-07 | 2021-07-27 | 锐捷网络股份有限公司 | 数据处理方法、存储系统及存储设备 |
CN114415976A (zh) * | 2022-03-28 | 2022-04-29 | 深圳市杉岩数据技术有限公司 | 一种分布式数据存储系统与方法 |
CN114518846A (zh) * | 2022-01-10 | 2022-05-20 | 阿里巴巴(中国)有限公司 | 数据处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11474977B2 (en) * | 2019-09-30 | 2022-10-18 | Dropbox, Inc. | Snapshot isolation in a distributed storage system |
-
2022
- 2022-08-18 CN CN202210990209.1A patent/CN115391093B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103118133A (zh) * | 2013-02-28 | 2013-05-22 | 浙江大学 | 基于文件访问频次的混合云存储方法 |
CN106095807A (zh) * | 2016-05-31 | 2016-11-09 | 中广天择传媒股份有限公司 | 一种分布式文件系统纠删码缓存装置及其缓存方法 |
CN106227464A (zh) * | 2016-07-14 | 2016-12-14 | 中国科学院计算技术研究所 | 一种双层冗余存储系统及其数据写入、读取及恢复方法 |
CN112988683A (zh) * | 2021-02-07 | 2021-06-18 | 北京金山云网络技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN113176858A (zh) * | 2021-05-07 | 2021-07-27 | 锐捷网络股份有限公司 | 数据处理方法、存储系统及存储设备 |
CN114518846A (zh) * | 2022-01-10 | 2022-05-20 | 阿里巴巴(中国)有限公司 | 数据处理方法及装置 |
CN114415976A (zh) * | 2022-03-28 | 2022-04-29 | 深圳市杉岩数据技术有限公司 | 一种分布式数据存储系统与方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115391093A (zh) | 2022-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107807794B (zh) | 一种数据存储方法和装置 | |
US10896089B2 (en) | System level data-loss protection using storage device local buffers | |
US7971013B2 (en) | Compensating for write speed differences between mirroring storage devices by striping | |
US8762768B2 (en) | Storage system for restoring data stored in failed storage device | |
CN101587425B (zh) | 一种增加独立磁盘冗余阵列冗余性的方法及装置 | |
CN101576833B (zh) | 一种独立磁盘冗余阵列raid数据重建方法和装置 | |
US7032070B2 (en) | Method for partial data reallocation in a storage system | |
WO2018098972A1 (zh) | 一种日志恢复方法、存储装置和存储节点 | |
CN110347344A (zh) | 一种基于分布式存储系统的自动配置块存储方法 | |
CN112596673B (zh) | 具有双重raid数据保护的多活多控存储系统 | |
CN101567211A (zh) | 一种提高磁盘可用性的方法和磁盘阵列控制器 | |
CN101482838A (zh) | 基于写时拷贝的数据写入方法及设备 | |
CN108733326B (zh) | 一种磁盘处理方法及装置 | |
US10521145B1 (en) | Method, apparatus and computer program product for managing data storage | |
CN111090394A (zh) | 一种基于卷级别raid的磁阵管理方法及装置 | |
KR20180106867A (ko) | 키 밸류 솔리드 스테이트 드라이브 | |
US10409682B1 (en) | Distributed RAID system | |
US8402213B2 (en) | Data redundancy using two distributed mirror sets | |
CN113377569A (zh) | 用于恢复数据的方法、设备和计算机程序产品 | |
US11269745B2 (en) | Two-node high availability storage system | |
US10740189B2 (en) | Distributed storage system | |
EP4170499A1 (en) | Data storage method, storage system, storage device, and storage medium | |
US11055190B1 (en) | System and method for facilitating storage system operation with global mapping to provide maintenance without a service interrupt | |
CN117149062A (zh) | 一种磁带损坏数据的处理方法以及计算装置 | |
CN115391093B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |