CN114546707A - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN114546707A CN114546707A CN202210051606.2A CN202210051606A CN114546707A CN 114546707 A CN114546707 A CN 114546707A CN 202210051606 A CN202210051606 A CN 202210051606A CN 114546707 A CN114546707 A CN 114546707A
- Authority
- CN
- China
- Prior art keywords
- data
- initial
- data block
- check
- target
- 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
Images
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/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/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
Abstract
本说明书实施例提供数据处理方法及装置,其中所述数据处理方法包括:确定初始数据对应的数据块组,其中,所述数据块组包括至少两个数据块集合;获取所述数据块组对应的初始校验块;基于目标校验算法对所述数据块组对应的初始校验块进行处理,确定所述数据块组对应的目标校验块;基于所述目标校验块替换所述初始校验块。该方法在对初始数据的数据状态进行转换的过程中,仅需要获取该初始数据对应的初始校验块,并基于初始校验块生成的目标校验块,且通过目标校验块对初始校验块进行替换,从而降低读取以及写入的数据量,避免了在数据状态转换的过程中需要读取整个初始数据,减少了读取以及写入的数据量,减少了资源消耗。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种数据处理方法。
背景技术
随着计算机技术的发展,为了保证数据的可靠性以及较低的存储成本,因此,能够在保证数据可靠性的前提下,最小化系统的存储开销的纠删码技术,广泛地应用在数据存储技术领域。并且,为了均衡数据在不同场景下的存储开销及访问性能,在存储时会对于刚刚写入有更高可能访问的热数据,为其使用更低冗余比的纠删码配置写入存储系统,对于长时间无访问的冷数据,为其使用更高冗余比的纠删码配置写入存储系统,从而降低用户数据的存储空间消耗。
但在实际应用中,当需要将存储的热数据转换为冷数据时,读取以及写入的数据量较大,造成系统资源的过度消耗,导致系统性能下降。
发明内容
有鉴于此,本说明书施例提供了一种数据处理方法。本说明书一个或者多个实施例同时涉及一种数据处理装置,一种计算设备,一种计算机可读存储介质,一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种数据处理方法,包括:
确定初始数据对应的数据块组,其中,所述数据块组包括至少两个数据块集合;
获取所述数据块组对应的初始校验块;
基于目标校验算法对所述数据块组对应的初始校验块进行处理,确定所述数据块组对应的目标校验块;
基于所述目标校验块替换所述初始校验块。
根据本说明书实施例的第二方面,提供了一种数据处理装置,包括:
确定模块,被配置为确定初始数据对应的数据块组,其中,所述数据块组包括至少两个数据块集合;
获取模块,被配置为获取所述数据块组对应的初始校验块;
处理模块,被配置为基于目标校验算法对所述数据块组对应的初始校验块进行处理,确定所述数据块组对应的目标校验块;
替换模块,被配置为基于所述目标校验块替换所述初始校验块。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现所述数据处理方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现所述数据处理方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行所述数据处理方法的步骤。
本说明书提供的数据处理方法,包括确定初始数据对应的数据块组,其中,所述数据块组包括至少两个数据块集合;获取所述数据块组对应的初始校验块;基于目标校验算法对所述数据块组对应的初始校验块进行处理,确定所述数据块组对应的目标校验块;基于所述目标校验块替换所述初始校验块。
具体地,该方法在对初始数据的数据状态进行转换的过程中,仅需要获取该初始数据对应的初始校验块,并基于初始校验块生成的目标校验块,且通过目标校验块对初始校验块进行替换,从而降低读取以及写入的数据量,避免了在数据状态转换的过程中需要读取整个初始数据,减少了读取以及写入的数据量,减少了资源消耗,提高系统性能。
附图说明
图1是本说明书一个实施例提供的一种数据处理方法的流程图;
图2是本所明书一个实施例提供的一种数据处理方法的处理示意图;
图3是本说明书一个实施例提供的一种数据处理方法中目标配置编码矩阵的示意图;
图4是本说明书一个实施例提供的一种数据处理方法的处理过程流程图;
图5是本说明书一个实施例提供的一种数据处理的结构示意图;
图6是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
纠删码(Erasure Code):是一种编码容错技术,它的基本原理是把存储的数据分片,并将k份原始数据通过一定的校验计算方式生成k+m份数据,且能通过k+m份中的任意k份数据,还原为原始数据。这样即使部分数据丢失,系统仍然能将原始数据恢复出来。
数据冗余比:纠删码利用纠删码算法将数据进行分段生成k个数据块后进行编码生成m个冗余校验块,用于达到容错的目的。存储总数据占原始数据的倍数也即(k+m)/k为该纠删码的数据冗余比。
随着计算机技术的不断发展,分布式系统(如分布式存储系统)的存储规模正在变得越来越大;而分布式系统中的设备错误也是一个不容忽视的问题。因此,数据的存储成本与可靠性都是分布式系统设计时需要考虑的因素。纠删码文件可以在保证数据可靠性的前提下,能够最小化系统的存储开销;因此,纠删码技术广泛地应用在存储技术领域。纠删码技术通过将K个原始数据块计算生成M个校验数据块,当任意K个数据块存在的情况下,系统可以使用它们将其他丢失的数据块恢复出来。当M值固定的情况下,K的数值越大,数据的冗余存储空间就占用的越少,但是,当数据出现丢失时所需要读取的数据量就越大,数据丢失对用户请求的影响也就越大;而K的数值越小,同理,会导致数据的冗余存储空间占用会更大。但是当节点异常时的数据恢复流量就越小。而纠删码被广泛的应用在分布式存储系统的过程中,为了应对越来越复杂的服务场景与系统环境,许多机构为分布式存储系统设计了不同配置的纠删码存储策略,以均衡数据在不同场景下的存储开销及访问性能;对于用户刚刚写入有更高可能访问的热数据,可以使用K值较小的纠删码方式存储,对于长时间无访问的冷数据,可以使用K值更大的纠删码配置将数据归档存储以降低用户数据的存储空间消耗。
但是,在需要将热数据转换为冷数据的过程中,本说明书提供的一种方案是,将原始配置的用户数据读出,并重新计算生成校验块,将用户数据与新生成的校验块一起写入系统,该方案的缺点在于,在纠删码配置变化的过程中,存在数据读取的流量以及数据的写入流量,该流量占用了大量的网络带宽,会引起了较大的数据流量开销。
基于此,在本说明书中,提供了一种数据处理方法,本说明书同时涉及一种数据处理装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一个实施例提供的一种数据处理方法的流程图,具体包括以下步骤。
步骤102:确定初始数据对应的数据块组,其中,所述数据块组包括至少两个数据块集合。
在实际应用中,该数据处理方法可以应用于存储节点或者数据存储系统;在数据处理方法应用于存储节点的场景下,存储节点包括CPU和磁盘,本说明书提供的数据处理方法能够应用在CPU中,该磁盘中能够存储初始数据对应的数据块组和初始校验块。在数据处理方法应用于数据存储系统的场景下,该数据存储系统可以为分布式存储系统。其中,该分布式存储系统中可以包括客户端,以及数据存储中心。该数据存储中心可以理解为能够进行数据存储的中心,例如,该数据存储中心可以为独立管理的数据中心、机房、数据库等。
基于此,初始数据可以理解为用户发送至数据存储系统中进行存储的数据,例如,用户发送的、需要进行存储的文档或多媒体文件等数据。数据块通过对该待处理数据进行切分获得的,且该数据块中包含待处理数据中部分数据内容,例如,用户发送的待处理数据为8MB,能够将其切分为8个数据块,每个数据块的大小为1MB。该数据块集合可以理解为由特定数量的数据块所构成的集合,其中,该特定数量的数据块可以根据实际场景进行设置。所述数据块组可以理解为由至少两个数据块集合构成的数据块组。
具体地,本说明书提供的数据处理方法能够确定出初始数据对应的数据块组,该数据块组中包含至少两个数据块集合,该数据块组中包含的至少两个数据块集合可以是相邻的,在实际应用中,本说明书提供的数据处理方法可以通过存储节点的CPU从存储节点的磁盘中,确定初始数据对应的数据块组,或者可以通过分布式系统的客户端从分布式存储系统的数据存储中心中确定初始数据对应的数据块组。为了避免过多赘述,下述以本说明书提供的数据处理方法应用于数据存储系统的场景下为例,对该数据处理方法做进一步解释说明。该数据处理方法应用于存储节点的场景的具体描述,可以参见数据处理方法应用于数据存储系统的场景中对应或相应的描述。
在本说明书一实施例中,能够在初始数据的数据状态信息满足预设处理条件的情况下,查找到该初始数据对应的数据块组,具体如下。
所述确定初始数据对应的数据块组,包括:
获取初始数据的数据状态信息;
在确定所述数据状态信息满足预设处理条件情况下,查找所述初始数据对应的数据块组。
其中,数据状态信息可以理解为表示该初始数据的状态的信息,例如,在初始数据为热数据的情况下,该数据状态信息可以理解为表示该热数据是否需要转换为冷数据的信息。在实际应用中,分布式存储系统将热数据转换为冷数据,可以理解为是将热数据的纠删码配置转换为冷数据的纠删码配置,例如,分布式存储系统为一个热数据(4个数据块)配置2个校验块,为一个冷数据(8个数据块)配置2个校验块,基于此,将热数据转换为冷数据的过程,即为将一个热数据配置2个校验块,转换为将两个热数据(共计8个数据块)配置2个校验块。
该预设处理条件可以根据实际应用场景进行设置,本说明书对此不做具体限定,例如,在数据状态信息为数据存储时间的情况下,满足预设处理条件可以为该数据存储时间满足预设时间阈值,该预设时间阈值可以根据实际应用场景进行设置,本说明书对此不做具体设置。例如该预设时间阈值可以为1天、1个月。在数据状态信息为数据获取请求的次数的情况下,满足预设处理条件可以为该数据获取请求的次数小于预设数量阈值,该预设数量阈值可以根据实际应用场景进行设置,本说明书对此不做具体设置。例如该预设数量阈值可以为100次。
具体地,获取初始数据的数据状态信息,可以理解为从状态信息存储单元获取该初始数据的数据状态信息,其中,该状态信息存储单元可以理解为用于存储数据状态信息的单元,例如,该单元可以是一个存储器、文件或者数据库等。
在获取到初始数据的数据状态信息之后,需要判断该数据状态信息是否满足预设处理条件,若是,则查找到与该初始数据对应的数据块组,该数据块组中包括至少两个数据块集合,若否,则继续获取该初始数据的数据状态信息,直至该数据状态信息满足预设处理条件。
本说明书实施例中,该初始数据对应的数据块组可以从数据存储中心查找到,具体如下所示。
所述查找所述初始数据对应的数据块组,包括:
从数据存储中心查找所述初始数据对应的数据块组;
具体地,在确定该初始数据的数据状态信息满足预设处理条件的情况下,能够从而该数据存储中心查找到与该初始数据对应的数据块组,该数据块组中包括至少两个数据块集合。
在实际应用中,本说明书提供的数据处理方法,能够基于初始数据的存储地址从数据存储中心查找初始数据对应的数据块组,具体实现方式如下。
所述从数据存储中心查找所述初始数据对应的数据块组,包括:
获取所述初始数据对应的存储地址;
基于所述存储地址从数据存储中心确定所述初始数据对应的数据块组。
其中,该存储地址可以理解为该初始数据在数据存储中心的地址,在实际应用中,该数据存储系统在将初始数据存储至数据存储中心的过程中,会获取到该初始数据在数据存储中心的存储地址,便于后续基于该存储地址快速地查找到该初始数据。其中,由于,该初始数据以数据块组的方式在数据存储中心进行存储,因此查找到该初始数据可以理解为从数据存储中心查找到该初始数据对应的数据块组。
具体地,该数据存储系统从自身记录的存储地址中,确定出该初始数据对应的存储地址,并基于该初始数据对应的存储地址从数据存储中心确定出该初始数据对应的数据块组。
在本说明书提供的一实施例中,在数据存储系统的客户端获取到该数据状态数据之前,还需要确定出该初始数据对应的数据状态信息,一种方式是通过针对该初始数据的数据获取请求确定,具体方式如下。
所述获取初始数据的数据状态信息之前,还包括:
在接收到针对初始数据的数据获取请求的情况下,对所述数据获取请求的次数进行记录;
将所述数据获取请求的次数确定所述初始数据的数据状态信息。
其中,该数据获取请求可以理解为获取该初始数据的请求,该数据获取请求的次数可以理解为针对该初始数据的被获取次数。
具体地,数据存储系统的客户端在接收到针对该初始数据的数据获取请求时,能够对数据获取请求的次数进行记录,并基于该数据获取请求的次数确定该初始数据的数据状态信息。
在实际应用中,基于该数据获取请求的次数确定该初始数据的数据状态信息,可以理解为将该初始数据在特定时间段内的被获取次数,确定为该初始数据的数据状态信息。例如,一个文档在一天内被获取100次,将该文档在一天被获取100次的记录作为初始数据的数据状态信息,其中,该特定时间段可以根据实际应用场景进行设置。
下面以数据处理方法应用于对数据的纠删码配置进行转换的场景为例,对将数据获取请求的次数作为初始数据的数据状态信息做进一步说明。其中,该初始数据为用户上传的文档,该文档为热数据。该数据状态信息为该初始数据的被获取次数。
分布式存储系统在接收到针对用户上传的文档的数据获取请求的情况下,会对该数据获取请求的次数进行记录,当在一天内接收到1个针对该文档的数据获取请求时,该数据获取请求的次数为1次,当在一天内接收到100个针对该文档的数据获取请求时,该数据获取请求的次数为100次。并将该数据获取请求的次数作为该文档的数据状态信息。
本说明书提供的实施例中,通过将在接收到针对初始数据的数据获取请求的情况下记录的数据获取请求的次数,作为所述初始数据的数据状态信息,便于后续基于该数据状态信息准确的确定对该初始数据的纠删码配置进行转换。
在本说明书提供的另一实施例中,另一种方式是通过初始数据的数据存储时间确定该初始数据的数据状态信息,具体方式如下。
所述获取初始数据的数据状态信息之前,还包括:
确定初始数据的数据存储时间,并将所述数据存储时间作为所述初始数据的数据状态信息。
其中,数据存储时间可以理解为数据存储系统的客户端对该初始数据进行存储的时间。
沿用上例,分布式存储系统能够接收到用户发送的文档,并对该文档进行存储。在对文档进行存储的过程中,记录下该文档的存储时间,并将该存储时间作为该文档的数据状态信息。
本说明书提供的实施例中,确定初始数据的数据存储时间,并将该数据存储时间作为初始数据的数据状态信息,从而便于后续基于该数据状态信息准确的确定对该初始数据的纠删码配置进行转换。
在本说明书提供的一实施例中,在获取初始数据的数据状态信息之前,该客户端需要接收到初始数据,并基于初始纠删码配置方式,为该初始数据配置对应的校验码,其中,该初始纠删码配置方式可以理解为对热数据的纠删码配置方式。例如,在接收到一个文档时,会通过针对热数据的纠删码配置方式,将该文档转换为包含多个数据块的数据块集合;为该数据块集合配置对应的两个校验块,并将该数据块集合以及对应的两个校验块进行存储,从而实现将该文档以热数据的删码配置方式进行存储。之后,才能够在数据状态信息满足预设处理条件的情况下,对该初始数据的纠删码配置进行转换。而基于初始纠删码配置方式,为该初始数据配置对应的校验码的具体实现方式如下。
所述获取初始数据的数据状态信息之前,还包括步骤一至步骤三:
步骤一:将初始数据切分为多个数据块,并基于所述多个数据块确定至少两个数据块集合。
进一步地,所述将初始数据切分为多个数据块,并基于所述多个数据块确定至少两个数据块集合,包括:
基于初始校验算法的计算规则将初始数据切分为多个数据块,并将所述多个数据块划分为至少两个数据块集合。
其中,该初始校验算法可以理解为能够对数据块集合进行计算,并获得该数据块集合的校验块的算法,在实际应用中,该初始校验算法可以为RS纠删码算法(里德-所罗门类纠删码)、阵列纠删码、低密度奇偶校验纠删码等。下述以初始校验算法为RS纠删码算法为例,对本说明书提供的数据处理方法进行说明。在初始校验算法为阵列纠删码,或者低密度奇偶校验纠删码的情况下,均可参见本说明书对应的或相应的描述内容,本说明书对此不做过多赘述。
例如,该初始校验算法可以为纠删码配置为(4,2)的RS纠删码算法。对应的,该计算规则可以理解为初始校验算法在每次计算校验块的过程中的纠删码配置。例如,纠删码配置可以为(4,2);该(4,2)表示初始校验算法每次能够对4个数据块进行计算,从而获得2校验块。在实际应用中,初始校验算法能够对特定数量的数据块进行处理,从而获得该数据块对应的校验块,其中,该特定数量的数据块可以根据实际场景进行设置。例如,对包含4个数据块的数据块集合进行处理,从而获得该数据块集合对应的校验块。
具体地,该客户端能够将待处理数据划分为多个数据块,之后能够确定出该目标校验算法的计算规则,并基于该计算规则将多个数据块划分为至少两个数据块集合。
沿用上例,该初始校验算法可以为纠删码配置为(4,2)的RS纠删码算法,基于此,分布式存储系统能够确定出纠删码算法的纠删码配置,该纠删码配置可以为(4,2);基于该纠删码配置能够将8MB大小的文档切分为8个大小为1MB的数据块,并将8个数据块划分为两个数据块集合,每个数据块集合中包含4个数据块,从而便于后续纠删码配置为(4,2)的RS纠删码算法,能够对与自身计算规则相匹配的数据块进行计算。参见图2,图2是本所明书一个实施例提供的一种数据处理方法的处理示意图,其中,A1–A8为用户数据被切分后获得的数据块,A1–A4和A5–A8分别为划分的数据块集合,数据块集合A1–A4和数据块集合A5–A8构成一个原始编码组,该编码组中的数据块集合的纠删码配置为(4,2);P(1-1)、P(2-1)以及P(2-1)、P(2-2)为采用纠删码配置为(4,2)的RS纠删码,对数据块集合进行计算,生成的校验块;P1、P2为采用纠删码配置为(8,2)的RS纠删码,对A1–A8进行计算获得的校验块。
在本说明书提供的一种方式中,该纠删码配置为(4,2)的RS纠删码中,是通过校验矩阵对数据块进行计算获得校验块P(1-1)、P(2-1)以及P(2-1)、P(2-2)。而构建该校验矩阵的矩阵参数,是从纠删码配置为(8,2)的RS纠删码的矩阵参数中获取的。基于此,后续在将热数据的纠删码配置转换为冷数据的纠删码配置时,纠删码配置为(8,2)的RS纠删码能够直接对该热数据对应的校验块P(1-1)、P(2-1)以及P(2-1)、P(2-2)进行计算,从而获得校验块P1、P2。也即是,该P1、P2为采用纠删码配置为(8,2)的RS纠删码对P(1-1)、P(2-1)以及P(2-1)、P(2-2)进行计算生成的校验块。
需要说明的是,本说明书中仅以图2为例对数据处理方法做进一步解释,该数据块、数据块集合以及校验块的数量、大小等参数,均可根据实际应用场景进行设置,本说明书对此不做具体限制。
本说明书实施例中,通过初始校验算法的计算规则将初始数据切分为多个数据块,并将所述多个数据块划分为至少两个数据块集合,便于后续能够基于该数据块集合确定出该初始数据的初始校验块。
步骤二:将所述至少两个数据块集合中至少两个数据块集合确定为一个数据块组。
其中,所述数据块组可以理解为由至少两个数据块集合构成的数据块组,该数据块组中的数据块集合可以为相邻的数据块集合。
具体地,客户端将至少两个数据块集合中确定出至少两个的两个数据块集合确定出为一个数据块组。也即是说,该数据块组中包含至少两个数据块集合,同时,至少两个数据块集合中的每个数据块集合可以为相邻的数据块集合,同时,每一个数据块集合仅能够构建一个数据块组,也即是,一个数据块集合仅唯一存在于一个数据块组中。
沿用上例,如图2所示,数据块集合A1-A4与数据块集合A5-A8为相邻的数据块集合,基于此,客户端将该数据块集合A1-A4与数据块集合A5-A8构成一个数据块组,即图2中的原始编码组。
本说明书实施例中,通过将至少两个数据块集合中至少两个相邻的数据块集合确定为一个数据块组,便于后续目标校验算法以及初始校验算法能够快速的对数据块组进行处理,从而提高了确定初始校验块以及目标校验块的效率。
步骤三:基于初始校验算法以及目标校验算法对所述数据块组进行处理,获得所述数据块组对应的初始校验块。
其中,目标校验算法可以理解为能够对数据块组进行处理并获取该数据块的目标校验块的算法,例如,纠删码配置为(8,2)的RS纠删码算法。该(8,2)表示目标校验算法每次能够对8个数据块进行计算,从而获得2校验块。在实际应用中,目标校验算法能够对一个数据块组进行处理,从而获得该数据块组的校验块。
进一步地,所述基于初始校验算法以及目标校验算法对所述数据块组进行处理,获得所述数据块组对应的初始校验块,包括:
确定所述初始数据对应的初始校验算法以及目标校验算法;
确定所述目标校验算法的矩阵参数,并基于所述矩阵参数构建目标校验矩阵;
获取所述数据块组中的至少两个数据块集合;
基于所述目标校验矩阵以及所述初始校验算法对每个数据块集合进行处理,获得所述数据块组对应的初始校验块。
其中,矩阵参数可以理解为构成目标校验矩阵所需要的参数。对应的,目标校验矩阵可以理解为能够计算出每个数据块组的目标校验块的矩阵。
校验块可以理解为能够对数据块组进行数据恢复的校验块,对应的,该初始校验块可以理解为基于初始校验算法的纠删码配置方式确定出的校验块,例如,在初始校验数据为纠删码配置为(4,2)的RS纠删码算法的情况下,该初始校验块可以理解为基于纠删码配置为(4,2)的RS纠删码算法确定出的校验块。在实际应用中,该数据块组中特定数量的数据块丢失时,能够基于该初始校验块对其进行恢复,从而获得完整的数据块组,进一步保证的待处理数据的安全性。
确定初始数据对应的初始校验算法以及目标校验算法,可以理解为确定出用户写入的数据进行处理的纠删码配置,该纠删码配置是在用户写入数据之前,预先配置在分布式存储系统中的。例如,在接收到用户A发送的初始数据的情况下,能够确定出对用户A发送的初始数据进行处理初始纠删码编码配置以及目标纠删码编码配置,其中,初始纠删码编码配置以及目标纠删码编码配置是预先配置在分布式存储系统中的。
具体地,客户端能够确定出初始数据所对应的初始校验算法以及目标校验算法,并确定该目标校验算法的矩阵参数,基于该矩阵参数构建出目标校验矩阵;之后获取数据块组中包括的至少两个数据块集合,并基于该目标校验矩阵和该初始校验算法对每个数据块集合进行处理,获得该数据块组对应的初始校验块。
沿用上例,其中,该矩阵参数可以理解为目标校验算法对应的目标纠删码编码配置。基于此,参见图2,分布式存储系统能够确定出该初始数据对应的初始校验算法以及目标校验算法,并确定该预设并确定该目标校验算法对应的目标纠删码编码配置,基于该目标纠删码编码配置生成目标纠删码编码配置(8,2)的目标编码矩阵。
之后,确定出数据块组中的至少两个数据块集合,也即是图3中的数据块集合A1-A4与数据块集合A5-A8,并基于目标纠删码编码配置(8,2)的目标编码矩阵、初始校验算法对数据块集合A1-A4与数据块集合A5-A8进行处理,获得原始编码组的初始校验块,即校验块P(1_1)、P(1_2)、P(2_1)、P(2_2)。
进一步地,所述基于所述目标校验矩阵以及所述初始校验算法对每个数据块集合进行处理,获得所述数据块组对应的初始校验块,包括:
从所述目标校验矩阵中确定每个数据块集合对应的矩阵参数;
基于所述每个数据块集合对应的矩阵参数,通过所述初始校验算法生成所述每个数据块集合对应的初始校验矩阵;
通过所述每个数据块集合对应的初始校验矩阵对所述每个数据块集合进行计算,获得所述每个数据块集合的校验块;
基于所述每个数据块集合的校验块确定所述数据块组对应的初始校验块。
沿用上例,在确定出目标纠删码编码配置(8,2)的目标编码矩阵之后,还需要确定该目标编码矩阵,参见图3,图3是本说明书一个实施例提供的一种数据处理方法中目标配置编码矩阵的示意图。在本说明书提供的一种方式中,基于该目标配置编码矩阵对数据块A1-A8进行计算,能够确定出该数据块A1-A8对应的校验块P1、P2。
P1=Fx(A1,A2,A3,A4,A5,A6,A7,A8)
=x1*A1+x2*A2+x3*A3+x4*A4+x5*A5+x6*A6+x7*A7+x8*A8
P2=Fy(A1,A2,A3,A4,A5,A6,A7,A8)
=y1*A1+y2*A2+y3*A3+y4*A4+y5*A5+y6*A6+y7*A7+y8*A8
上述公式为目标配置为(8,2)的目标纠删码编码算法的目标配置编码矩阵,在通过该目标配置编码矩阵对数据块进行处理的过程中,该目标配置编码矩阵能够计算出数据块A1-A8对应的校验块P1、P2。其中,目标配置编码矩阵为<x1,x2,x3,x4,x5,x6,x7,x8>、<y1,y2,y3,y4,y5,y6,y7,y8>,其中,x1-x8为目标编码矩阵的每一行矩阵参数,y1-y8为目标编码矩阵的每一列矩阵参数。
而本说明书提供的数据处理方法,为了实现能够通过获取初始校验块生成目标数据块,避免获取初始数据对网络带宽的大量占用,通过从目标配置编码矩阵获取部分矩阵参数,作为初始编码算法的原始矩阵的编码参数,并基于原始矩阵生成初始校验块,便于后续能够直接基于初始校验块生成目标数据块。
具体地,分布式存储系统从该目标配置编码矩阵中确定出数据块集合A1-A4与数据块集合A5-A8对应的矩阵参数,该数据块集合A1-A4与数据块集合A5-A8所执行转换的原始纠删码配置为(4,2),在此情况下,在使用(4,2)配置执行数据写入时,需要使用特定的编码矩阵以生成原始配置的校验块P(1_1)、P(1_2)、P(2_1)、P(2_2),以前四个数据块为例,使用数据块A1,A2,A3、A4生成P(1_1)、P(2_1);通过使用目标编码矩阵中对应前四个数据块的编码参数作为原始矩阵的编码参数。
也即是,数据块集合A1-A4对应的矩阵参数为<x1,x2,x3,x4>、<y1,y2,y3,y4>,数据块集合A5-A8对应的矩阵参数为<x5,x6,x7,x8>、<y5,y6,y7,y8>。将<x1,x2,x3,x4>、<y1,y2,y3,y4>以及<x5,x6,x7,x8>、<y5,y6,y7,y8>,作为初始校验算法的编码矩阵,并将初始校验算法的编码矩阵与数据块集合A1-A4与数据块集合A5-A8相乘,获得每个数据块集合的校验块。
也即是,将(A1,A2,A3,A4)*(x1,x2,x3,x4)=P(1_1),将(A1,A2,A3,A4)*(y1,y2,y3,y4)=P(2_1),从而获得数据块集合A1-A4的校验块P(1_1)、P(2_1)。
将(A5,A6,A7,A8)*(x5,x6,x7,x8)=P(2_1),将(A5,A6,A7,A8)*(y5,y6,y7,y8)=P(2_2),从而获得数据块集合A5-A8的校验块P(2_1)、P(2_2)。
在获得校验块P(1_1)、P(1_2)、P(2_1)、P(2_2)之后,将该校验块P(1_1)、P(1_2)、P(2_1)、P(2_2)作为原始编码组的初始校验块。
从而可以保证后续直接使用原始配置下的校验块P(1_1)、P(1_2)即可计算生成目标编码参数的校验块P1,通过使用原始配置下的校验块P(2_1)、P(2_2)即可计算生成目标编码参数的校验块P2。
进一步地,所述基于初始校验算法以及目标校验算法对所述数据块组进行处理,获得所述数据块组对应的初始校验块之后,还包括:
将所述数据块组以及所述数据块组对应的初始校验块发送至数据存储中心。
具体地,在确定出数据块组对应的初始校验块之后,该客户端还可以将数据块组以及该数据块组对应的初始校验块发送至数据存储中心进行存储。
沿用上例,分布式系统在确定出原始编码组对应的初始校验块P(1_1)、P(1_2)、P(2_1)、P(2_2),能够将该原始编码组,以及该原始编码组对应的初始校验块P(1_1)、P(1_2)、P(2_1)、P(2_2)发送至数据中心中,从而完成对用户发送的文档的存储,便于后续基于该初始校验块对文档的纠删码配置进行转换。
步骤104:获取所述数据块组对应的初始校验块。
具体地,客户端在确定出该初始数据对应的数据块组之后,能够确定并获取到该数据块组对应的初始校验块。
在实际应用中,当初始数据以及对应的数据块组存储在数据存储中心的情况下,当从数据存储中心查找到该初始数据对应的数据块组之后,能够从该数据存储中心获取数据块组对应的初始校验块。
沿用上例,该初始数据为用户存储的文档,该文档对应的数据块组为图2中的原始编码组,该数据块组中包含相邻的两个数据块集合,即数据块集合A1-A4与数据块集合A5-A8,该数据块组对应的初始校验块为P(1_1)、P(1_2)、P(2_1)、P(2_2),基于此,该分布式存储系统从数据中心中确定出文档对应的原始编码组之后,能够获取到该原始编码组对应的初始校验块P(1_1)、P(1_2)、P(2_1)、P(2_2)。
步骤106:基于目标校验算法对所述数据块组对应的初始校验块进行处理,确定所述数据块组对应的目标校验块。
其中,目标校验块可以理解为该初始校验块可以理解为基于初始校验算法的纠删码配置方式确定出的校验块,例如,在初始校验数据为纠删码配置为(4,2)的RS纠删码算法的情况下,该目标校验块可以理解为基于纠删码配置为(8,2)的RS纠删码算法确定出的校验块。在实际应用中,该数据块组中特定数量的数据块丢失时,能够基于该目标校验块对其进行恢复,从而获得完整的数据块组,进一步保证的待处理数据的安全性。
进一步地,所述基于目标校验算法对所述数据块组对应的初始校验块进行处理,确定所述数据块组对应的目标校验块,包括:
基于所述目标校验算法对所述初始校验块进行异或处理,获得所述数据块组对应的目标数据块。
沿用上例,在直接读取原始编码配置下的校验块之后,能够基于纠删码配置为(8,2)的RS纠删码算法将两个连续原始编码条带中的对应校验块P(1_1)、P(1_2)执行异或操作,从而生成目标编码矩阵的校验块P1,同理可以使用P(2_1)、P(2_2)生成P2。从而获得目标校验块P1,P2。
本说明书实施例中,通过基于目标校验算法对初始校验块进行异或处理,获得数据块组对应的目标数据块,避免了在数据状态转换的过程中需要读取整个初始数据,所导致的网络带宽被大量占用的问题。
步骤108:基于所述目标校验块替换所述初始校验块。
具体地,确定该数据块组对应的目标数据块之后,通该数据块组对应的目标数据块,对该数据块组对应的原始数据块进行替换,从而完成针对该初始数据的数据状态转换,
本说明书提供的数据处理方法,在对初始数据的数据状态进行转换的过程中,仅需要获取该初始数据对应的初始校验块,并基于初始校验块生成的目标校验块,且通过目标校验块对初始校验块进行替换,从而降低读取以及写入的数据量,避免了在数据状态转换的过程中需要读取整个初始数据,减少了读取以及写入的数据量,减少了资源消耗,提高系统性能。
本说明书提供的一个实施例中,通过目标校验块替换初始校验块的操作,可以是将目标校验块存储至数据存储中心,而该数据存储中心在接收到目标校验块之后,需要将该初始数据对应的初始校验块删除,从而实现目标校验块替换初始校验块的操作,并且避免该初始校验块占用数据存储中心的存储空间,降低数据的存储成本,具体实现方式如下。
所述基于所述目标校验块替换所述初始校验块,包括:
将所述目标校验块发送至所述数据存储中心;
接收所述数据存储中心发送的、针对所述初始校验块的数据删除通知。
其中,该数据删除通知为该数据存储中心在对初始校验块进行删除操作后生成,在实际应用中,该数据删除通知能够告知该客户端,该数据存储中心已经完成了对初始校验块的删除。
沿用上例,在获得目标校验块P1和P2之后,将该P1和P2发送至数据中心中进行存储,便于后续基于该目标校验块对该初始数据对应的数据块进行恢复。而在分布式存储系统将目标校验块P1和P2发送至数据中心之后,该数据中心能够对数据块组对应的初始校验块P(1_1)、P(1_2)和P(2_1)、P(2_2)删除,从而避免该初始校验块占用数据中心的存储空间,降低数据的存储成本。并生成数据删除通知,且将该数据删除通知发送至分布式存储系统,从而告知该分布式存储系统已经完成了对初始校验块的删除。
在实际应用中,在本说明书提供的数据处理方法可以应用于单个节点存储的场景下,在单个节点存储的场景中该数据处理方法能够应用单机(单个节点)中的CPU。
基于此,该单机是通过该CPU,根据初始纠删码编码配置及目标纠删码编码配置,为用户发送的用户数据确定对应的初始校验块,并将初始校验块和用户数据存储至单机的磁盘中,并且,也是基于该CPU从单机的磁盘中,获取该初始校验块并生成目标校验块,并将该目标校验块存储至单机的磁盘,从而降低了CPU与磁盘之间数据读取带宽的占用率,避免了CPU和磁盘之间数据读取带宽被大量占用的问题,进一步,提高了CPU的处理效率。
下述结合附图4,以本说明书提供的数据处理方法在对用户数据进行纠删码配置场景下的应用为例,对所述数据处理方法进行进一步说明。其中,图4示出了本说明书一个实施例提供的一种数据处理方法的处理过程流程图,具体包括以下步骤。
步骤402:分布式存储系统接收用户发送的用户数据。
其中,该用户数据可以为文档、多媒体文件等数据,例如,一个大小为10MB的文档。
步骤404:该系统确定用户数据对应的初始纠删码编码配置及目标纠删码编码配置。
其中,该初始纠删码编码配置可以为(4,2),该(4,2)表示初始纠删码每次能够对4个数据块进行计算,从而获得2校验块。
该目标纠删码编码配置可以为(8,2),该(8,2)表示目标纠删码每次能够对8个数据块进行计算,从而获得2校验块。
具体地,在接收到用户A发送的初始数据的情况下,能够确定出对用户A发送的初始数据进行处理初始纠删码编码配置以及目标纠删码编码配置,其中,初始纠删码编码配置以及目标纠删码编码配置是预先配置在分布式存储系统中的。
步骤406:该系统确定基于初始纠删码编码配置对用户数据进行切分,获得多个数据块。
具体地,该初始纠删码编码配置为(4,2),该(4,2)表示预设校验算法每次能够对4个数据块进行计算,从而获得2校验块。
基于此,分布式存储系统能够基于该纠删码配置(4,2),将8MB大小的文档切分为8个大小为1MB的数据块。
步骤408:该系统将多个数据块划分为至少两个数据块集合。
具体地,基于初始纠删码编码配置(4,2),将上述8个数据块中的每4个相邻的数据块划分为一个集合,从而获得数据块集合A1-A4,以及数据块集合A5-A8。
步骤410:该系统将至少两个数据块集合划分为数据块组。
具体地,分布式存储系统在获得的数据块集合之后,将数据块集合中的至少两个相邻的数据块集合划分为一个数据块组。
例如,上述数据块集合A1-A4以及数据块集合A5-A8为相邻的数据块集合,因此可以将数据块集合A1-A4以及数据块集合A5-A8,划分为一个数据块组。
步骤412:该系统基于该目标纠删码编码配置,生成目标纠删码编码配置为(8,2)的目标编码矩阵。
在实际应用中,目标配置为(8,2),其对应的目标编码矩阵可以为<x1,x2,x3,x4,x5,x6,x7,x8>、<y1,y2,y3,y4,y5,y6,y7,y8>,其中,x1-x8为目标编码矩阵的每一行矩阵参数,y1-y8为目标编码矩阵的每一列矩阵参数。
步骤414:该系统根据目标编码配置选择原始配置中的数据块对应的编码参数,作为初始纠删码编码矩阵的编码参数,基于该初始纠删码编码矩阵生成数据块集合对应的校验块。
在实际应用中,目标配置编码矩阵的矩阵参数与数据块的对应关系为:
P1=Fx(A1,A2,A3,A4,A5,A6,A7,A8)
=x1*A1+x2*A2+x3*A3+x4*A4+x5*A5+x6*A6+x7*A7+x8*A8
P2=Fy(A1,A2,A3,A4,A5,A6,A7,A8)
=y1*A1+y2*A2+y3*A3+y4*A4+y5*A5+y6*A6+y7*A7+y8*A8
也即是,数据块集合A1-A4对应的矩阵参数为<x1,x2,x3,x4>、<y1,y2,y3,y4>,数据块集合A5-A8对应的矩阵参数为<x5,x6,x7,x8>、<y5,y6,y7,y8>。
将<x1,x2,x3,x4>、<y1,y2,y3,y4>以及<x5,x6,x7,x8>、<y5,y6,y7,y8>,作为初始纠删码编码矩阵的矩阵参数,从而构建初始纠删码编码矩阵,并将初始纠删码编码矩阵与数据块集合A1-A4与数据块集合A5-A8相乘,获得每个数据块集合的校验块。
也即是,将(A1,A2,A3,A4)*(x1,x2,x3,x4)=P(1_1),将(A1,A2,A3,A4)*(y1,y2,y3,y4)=P(2_1),从而获得数据块集合A1-A4的校验块P(1_1)、P(2_1)。
将(A5,A6,A7,A8)*(x5,x6,x7,x8)=P(2_1),将(A5,A6,A7,A8)*(y5,y6,y7,y8)=P(2_2),从而获得数据块集合A5-A8的校验块P(2_1)、P(2_2)
步骤416:该系统将数据块与原始校验块存储在数据中心。
具体地,将用户数据对应的数据块以及该数据块对应的初始校验块P(1_1)、P(2_1)和P(2_1)、P(2_2)发送至数据中心(分布式系统中的存储端)中进行存储。
步骤418:该系统当执行编码转换时,直接读取原始编码配置下的校验块,并执行异或操作以生成目标校验块。
具体地,在需要执行编码转换时,直接读取原始编码配置下的校验块P(1_1)、P(2_1)和P(2_1)、P(2_2),从而基于目标纠删码将两个连续原始编码条带中的对应校验块P(1_1)、P(1_2)执行异或处理,生成目标编码矩阵的校验块P1,同理可以使用P(2_1)、P(2_2)生成P2;从而完成编码转换。
在实际应用中,在将数据块以及初始校验块存储至数据中心的过程中,会记录下该数据块以及初始校验块的存储地址;基于此,在读取原始编码配置下的校验块时,能够直接基于该存储地址从数据中心中获取到该校验块。
步骤420:该系统将目标校验块存储在数据中心。
具体地,在生成目标校验块P1和P2之后,将该P1和P2发送至数据中心中进行存储。并使用原始数据块作为目标编码配置的数据块,无需对数据进行重新读取及重新写入。
在实际应用中,当执行用户配置的编码转换时,系统可以直接读取相邻块组(相邻数据块集合)的校验块并执行异或操作生成目标编码配置的校验块,并使用原始编码配置的数据块作为目标编码配置中的数据块,从而降低了进行编码配置变更时的原始数据读取的网络开销;原始方案中需要读取所有的数据块A1-A8以计算生成目标校验块P1、P2,共读取8份数据,当前方案中,可以读取校验块P(1_1)、P(2_1)、P(1_2)、P(2_2)计算生成目标校验块P1、P2,共读取4份数据。
并且,在本说明书提供的数据处理方法可以应用于分布式系统场景下,在分布式系统场景中该数据处理方法能够应用分布式系统中的客户端,对应的,该数据存储中心可以理解为分布式系统中的存储端。基于此,分布式系统是通过该客户端,根据初始纠删码编码配置及目标纠删码编码配置,为用户发送的数据确定对应的初始校验块,并将初始校验块和用户数据存储至分布式系统的存储端中,并且,也是基于该客户端从存储端中获取该初始校验块并生成目标校验块,并将该目标校验块发送至存储端,从而降低了客户端与存储端之间网络带宽的占用率,避免了网络带宽被大量占用的问题。
本说明书提供的数据处理方法,提出的纠删码文件编码条带配置转换技术,通过特定生成方案生成纠删码数据的校验块,使得当执行纠删码编码配置变化时仅需访问原始纠删码配置下的校验块,而无需读取用户原始数据,从而降低用户数据编码配置转换时的流量开销;实现了使用目标编码配置的矩阵参数构建原始写入数据时的编码矩阵参数;并且,当执行编码配置转换时,直接读取原始编码组的校验块执行异或操作生成目标编码块组的校验块。
与上述方法实施例相对应,本说明书还提供了数据处理装置实施例,图5示出了本说明书一个实施例提供的一种数据处理装置的结构示意图。如图5所示,该装置包括:
确定模块502,被配置为确定初始数据对应的数据块组,其中,所述数据块组包括至少两个数据块集合;
获取模块504,被配置为获取所述数据块组对应的初始校验块;
处理模块506,被配置为基于目标校验算法对所述数据块组对应的初始校验块进行处理,确定所述数据块组对应的目标校验块;
替换模块508,被配置为基于所述目标校验块替换所述初始校验块。
可选地,所述数据处理装置,还包括初始校验块生成模块,被配置为:
将初始数据切分为多个数据块,并基于所述多个数据块确定至少两个数据块集合;
将所述至少两个数据块集合中至少两个数据块集合确定为一个数据块组;
基于初始校验算法以及目标校验算法对所述数据块组进行处理,获得所述数据块组对应的初始校验块。
可选地,所述初始校验块生成模块,还被配置为:
基于初始校验算法的计算规则将初始数据切分为多个数据块,并将所述多个数据块划分为至少两个数据块集合。
可选地,所述初始校验块生成模块,还被配置为:
确定所述初始数据对应的初始校验算法以及目标校验算法;
确定所述目标校验算法的矩阵参数,并基于所述矩阵参数构建目标校验矩阵;
获取所述数据块组中的至少两个数据块集合;
基于所述目标校验矩阵以及所述初始校验算法对每个数据块集合进行处理,获得所述数据块组对应的初始校验块。
可选地,所述初始校验块生成模块,还被配置为:
从所述目标校验矩阵中确定每个数据块集合对应的矩阵参数;
基于所述每个数据块集合对应的矩阵参数,通过所述初始校验算法生成所述每个数据块集合对应的初始校验矩阵;
通过所述每个数据块集合对应的初始校验矩阵对所述每个数据块集合进行计算,获得所述每个数据块集合的校验块;
基于所述每个数据块集合的校验块确定所述数据块组对应的初始校验块。
可选地,所述初始校验块生成模块,还被配置为:
将所述数据块组以及所述数据块组对应的初始校验块发送至数据存储中心。
可选地,所述处理模块506,还被配置为:
基于所述目标校验算法对所述初始校验块进行异或处理,获得所述数据块组对应的目标数据块。
可选地,所述确定模块502,被配置为
获取初始数据的数据状态信息;
在确定所述数据状态信息满足预设处理条件情况下,查找所述初始数据对应的数据块组。
可选地,所述数据处理装置,还包括第一信息确定模块,被配置为:
在接收到针对初始数据的数据获取请求的情况下,对所述数据获取请求的次数进行记录;
将所述数据获取请求的次数确定所述初始数据的数据状态信息。
可选地,所述数据处理装置,还包括第二信息确定模块,被配置为:
确定初始数据的数据存储时间,并将所述数据存储时间作为所述初始数据的数据状态信息。
可选地,所述确定模块502,还被配置为:
从数据存储中心查找所述初始数据对应的数据块组;
相应地,所述获取模块504,还被配置为
从所述数据存储中心获取所述数据块组对应的初始校验块。
可选地,所述替换模块508,还被配置为:
将所述目标校验块发送至所述数据存储中心;
接收所述数据存储中心发送的、针对所述初始校验块的数据删除通知。
本说明书提供的数据处理装置,在对初始数据的数据状态进行转换的过程中,仅需要获取该初始数据对应的初始校验块,并基于初始校验块生成的目标校验块,且通过目标校验块对初始校验块进行替换,从而降低读取以及写入的数据量,避免了在数据状态转换的过程中需要读取整个初始数据,减少了读取以及写入的数据量,减少了资源消耗,提高系统性能。
上述为本实施例的一种数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的数据处理方法的技术方案属于同一构思,数据处理装置的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
图6示出了根据本说明书一个实施例提供的一种计算设备600的结构框图。该计算设备600的部件包括但不限于存储器610和处理器620。处理器620与存储器610通过总线630相连接,数据库650用于保存数据。
计算设备600还包括接入设备640,接入设备640使得计算设备600能够经由一个或多个网络660通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备640可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备600的上述部件以及图6中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图6所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备600可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备600还可以是移动式或静止式的服务器。
其中,处理器620用于执行如下计算机可执行指令,该计算机可执行指令被处理器620执行时实现上述数据处理方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据处理方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的数据处理方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (14)
1.一种数据处理方法,包括:
确定初始数据对应的数据块组,其中,所述数据块组包括至少两个数据块集合;
获取所述数据块组对应的初始校验块;
基于目标校验算法对所述数据块组对应的初始校验块进行处理,确定所述数据块组对应的目标校验块;
基于所述目标校验块替换所述初始校验块。
2.根据权利要求1所述数据处理方法,所述确定初始数据对应的数据块组之前,还包括:
将初始数据切分为多个数据块,并基于所述多个数据块确定至少两个数据块集合;
将所述至少两个数据块集合中至少两个数据块集合确定为一个数据块组;
基于初始校验算法以及目标校验算法对所述数据块组进行处理,获得所述数据块组对应的初始校验块。
3.根据权利要求2所述数据处理方法,所述将初始数据切分为多个数据块,并基于所述多个数据块确定至少两个数据块集合,包括:
基于初始校验算法的计算规则将初始数据切分为多个数据块,并将所述多个数据块划分为至少两个数据块集合。
4.根据权利要求2所述数据处理方法,所述基于初始校验算法以及目标校验算法对所述数据块组进行处理,获得所述数据块组对应的初始校验块,包括:
确定所述初始数据对应的初始校验算法以及目标校验算法;
确定所述目标校验算法的矩阵参数,并基于所述矩阵参数构建目标校验矩阵;
获取所述数据块组中的至少两个数据块集合;
基于所述目标校验矩阵以及所述初始校验算法对每个数据块集合进行处理,获得所述数据块组对应的初始校验块。
5.根据权利要求4所述数据处理方法,所述基于所述目标校验矩阵以及所述初始校验算法对每个数据块集合进行处理,获得所述数据块组对应的初始校验块,包括:
从所述目标校验矩阵中确定每个数据块集合对应的矩阵参数;
基于所述每个数据块集合对应的矩阵参数,通过所述初始校验算法生成所述每个数据块集合对应的初始校验矩阵;
通过所述每个数据块集合对应的初始校验矩阵对所述每个数据块集合进行计算,获得所述每个数据块集合的校验块;
基于所述每个数据块集合的校验块确定所述数据块组对应的初始校验块。
6.根据权利要求2所述数据处理方法,所述基于初始校验算法以及目标校验算法对所述数据块组进行处理,获得所述数据块组对应的初始校验块之后,还包括:
将所述数据块组以及所述数据块组对应的初始校验块发送至数据存储中心。
7.根据权利要求1所述数据处理方法,所述基于目标校验算法对所述数据块组对应的初始校验块进行处理,确定所述数据块组对应的目标校验块,包括:
基于所述目标校验算法对所述初始校验块进行异或处理,获得所述数据块组对应的目标数据块。
8.根据权利要求1所述数据处理方法,所述确定初始数据对应的数据块组,包括:
获取初始数据的数据状态信息;
在确定所述数据状态信息满足预设处理条件情况下,查找所述初始数据对应的数据块组。
9.根据权利要求8所述数据处理方法,所述获取初始数据的数据状态信息之前,还包括:
在接收到针对初始数据的数据获取请求的情况下,对所述数据获取请求的次数进行记录;
将所述数据获取请求的次数确定所述初始数据的数据状态信息。
10.根据权利要求1所述数据处理方法,所述确定所述初始数据对应的数据块组,包括:
从数据存储中心查找所述初始数据对应的数据块组;
相应地,所述获取所述数据块组对应的初始校验块,包括:
从所述数据存储中心获取所述数据块组对应的初始校验块。
11.根据权利要求10所述数据处理方法,所述基于所述目标校验块替换所述初始校验块,包括:
将所述目标校验块发送至所述数据存储中心;
接收所述数据存储中心发送的、针对所述初始校验块的数据删除通知。
12.一种数据处理装置,包括:
确定模块,被配置为确定初始数据对应的数据块组,其中,所述数据块组包括至少两个数据块集合;
获取模块,被配置为获取所述数据块组对应的初始校验块;
处理模块,被配置为基于目标校验算法对所述数据块组对应的初始校验块进行处理,确定所述数据块组对应的目标校验块;
替换模块,被配置为基于所述目标校验块替换所述初始校验块。
13.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至11任意一项所述数据处理方法的步骤。
14.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至11任意一项所述数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210051606.2A CN114546707A (zh) | 2022-01-17 | 2022-01-17 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210051606.2A CN114546707A (zh) | 2022-01-17 | 2022-01-17 | 数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114546707A true CN114546707A (zh) | 2022-05-27 |
Family
ID=81671782
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210051606.2A Pending CN114546707A (zh) | 2022-01-17 | 2022-01-17 | 数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114546707A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116312726A (zh) * | 2023-05-16 | 2023-06-23 | 苏州浪潮智能科技有限公司 | 一种数据存储方法、装置、电子设备和存储介质 |
CN116312725A (zh) * | 2023-05-16 | 2023-06-23 | 苏州浪潮智能科技有限公司 | 一种数据存储方法、装置、电子设备和存储介质 |
CN117289876A (zh) * | 2023-11-22 | 2023-12-26 | 苏州元脑智能科技有限公司 | 一种数据写入方法、系统、装置、介质及四级单元闪存 |
-
2022
- 2022-01-17 CN CN202210051606.2A patent/CN114546707A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116312726A (zh) * | 2023-05-16 | 2023-06-23 | 苏州浪潮智能科技有限公司 | 一种数据存储方法、装置、电子设备和存储介质 |
CN116312725A (zh) * | 2023-05-16 | 2023-06-23 | 苏州浪潮智能科技有限公司 | 一种数据存储方法、装置、电子设备和存储介质 |
CN116312725B (zh) * | 2023-05-16 | 2023-08-15 | 苏州浪潮智能科技有限公司 | 一种数据存储方法、装置、电子设备和存储介质 |
CN116312726B (zh) * | 2023-05-16 | 2023-08-15 | 苏州浪潮智能科技有限公司 | 一种数据存储方法、装置、电子设备和存储介质 |
CN117289876A (zh) * | 2023-11-22 | 2023-12-26 | 苏州元脑智能科技有限公司 | 一种数据写入方法、系统、装置、介质及四级单元闪存 |
CN117289876B (zh) * | 2023-11-22 | 2024-02-23 | 苏州元脑智能科技有限公司 | 一种数据写入方法、系统、装置、介质及四级单元闪存 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10241864B2 (en) | Expanding information dispersal algorithm width without rebuilding through imposter slices | |
US10613776B2 (en) | Appyling multiple hash functions to generate multiple masked keys in a secure slice implementation | |
US10114588B2 (en) | Consolidating encoded data slices in read memory devices in a distributed storage network | |
CN114546707A (zh) | 数据处理方法及装置 | |
US10346246B2 (en) | Recovering data copies in a dispersed storage network | |
US10229002B2 (en) | Process to migrate named objects to a dispersed or distributed storage network (DSN) | |
US10013191B2 (en) | Encoding data for storage in a dispersed storage network | |
US20160124657A1 (en) | Deterministically sharing a plurality of processing resources | |
US10558592B2 (en) | Priority level adaptation in a dispersed storage network | |
US9760286B2 (en) | Adaptive dispersed storage network (DSN) and system | |
US20230004505A1 (en) | Generating Messages with Priorities in a Storage Network | |
CN114518846A (zh) | 数据处理方法及装置 | |
US10356177B2 (en) | Prioritizing ranges to rebuild based on namespace health | |
CN113296695A (zh) | 多az环境下纠删码数据的写入方法以及装置 | |
US10318445B2 (en) | Priority level adaptation in a dispersed storage network | |
US10769016B2 (en) | Storing a plurality of correlated data in a dispersed storage network | |
US11625300B2 (en) | Recovering missing data in a storage network via locally decodable redundancy data | |
WO2023082629A1 (zh) | 数据存储方法及装置、电子设备和存储介质 | |
US10057351B2 (en) | Modifying information dispersal algorithm configurations in a dispersed storage network | |
US11226980B2 (en) | Replicating containers in object storage using intents | |
US10528425B2 (en) | Transitioning to an optimized data storage approach in a dispersed storage network | |
US20180052735A1 (en) | Efficient, secure, storage of meaningful content as part of a dsn memory | |
CN115357425A (zh) | 编码配置转换方法、纠删码的编码方法及装置、系统 | |
US20170003915A1 (en) | Retrieving data in a dispersed storage network | |
US11836369B1 (en) | Storing data in an expanded storage pool of a vast storage network |
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 |