CN114237967A - 数据重构方法以及装置 - Google Patents

数据重构方法以及装置 Download PDF

Info

Publication number
CN114237967A
CN114237967A CN202210159390.1A CN202210159390A CN114237967A CN 114237967 A CN114237967 A CN 114237967A CN 202210159390 A CN202210159390 A CN 202210159390A CN 114237967 A CN114237967 A CN 114237967A
Authority
CN
China
Prior art keywords
data
reconstruction
verification
check
participating
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
CN202210159390.1A
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.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing 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 Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202210159390.1A priority Critical patent/CN114237967A/zh
Publication of CN114237967A publication Critical patent/CN114237967A/zh
Pending legal-status Critical Current

Links

Images

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/1004Adding 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

本说明书实施例提供一种数据重构方法以及装置,其中所述数据重构方法应用于基于纠删码的分布式存储系统中的数据节点,所述方法包括:获取数据重构所需的重构数据信息以及数据验证所需的校验数据信息;根据所述重构数据信息从所述分布式存储系统的其他数据节点获取参与数据重构的数据,以及根据所述校验数据信息从分布式存储系统的其他数据节点获取校验数据;利用所述参与数据重构的数据重构出目标数据以及验证数据;利用所述校验数据校验所述验证数据以确定所述目标数据的正确性。通过参与数据重构的数据构建目标数据和验证数据,使用校验数据再验证重构后的验证数据,避免了获取数据、构建数据过程中的错误,提高了重构的目标数据的可靠性。

Description

数据重构方法以及装置
技术领域
本说明书实施例涉及数据处理技术领域,特别涉及一种数据重构方法。
背景技术
大多数存储系统使用checksum进行数据正确性校验保护,数据持久化时会保存有checksum,读取数据时会将checksum合并读取,在重构端校验数据是否和checksum匹配,写入时会生成checksum,在写入到数据节点时负责校验数据和checksum是否一致,这种校验缺失了数据重构链路上的检查,即数据重构过程中出现软硬件故障则会导致重构出数据出错,这种错误无法及时发现,并且checksum技术可能存在漏报,即数据和checksum一致但数据仍然是错误,遇到这种情形时, 重构流程会继续读入错误数据并重构出错误数据,所以重构流程可靠性低。
发明内容
有鉴于此,本说明书实施例提供了一种数据重构方法。本说明书一个或者多个实施例同时涉及一种数据重构装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种数据重构方法,应用于基于纠删码的分布式存储系统中的数据节点,该方法包括:
获取数据重构所需的重构数据信息以及数据验证所需的校验数据信息;
根据所述重构数据信息从所述分布式存储系统的其他数据节点获取参与数据重构的数据,以及根据所述校验数据信息从分布式存储系统的其他数据节点获取校验数据;
利用所述参与数据重构的数据重构出目标数据以及验证数据;
利用所述校验数据校验所述验证数据以确定所述目标数据的正确性。
根据本说明书实施例的第二方面,提供了一种数据重构装置,应用于基于纠删码的分布式存储系统中的数据节点,该装置包括:
信息获取模块,被配置为获取数据重构所需的重构数据信息以及数据验证所需的校验数据信息;
数据获取模块,被配置为根据所述重构数据信息从所述分布式存储系统的其他数据节点获取参与数据重构的数据,以及根据所述校验数据信息从分布式存储系统的其他数据节点获取校验数据;
数据重构模块,被配置为利用所述参与数据重构的数据重构出目标数据以及验证数据;
数据验证模块,被配置为利用所述校验数据校验所述验证数据以确定所述目标数据的正确性。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据重构方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现上述数据重构方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据重构方法的步骤。
本说明书实施例提供一种数据重构方法以及装置,其中所述数据重构方法应用于基于纠删码的分布式存储系统中的数据节点,所述方法包括:获取数据重构所需的重构数据信息以及数据验证所需的校验数据信息;根据所述重构数据信息从所述分布式存储系统的其他数据节点获取参与数据重构的数据,以及根据所述校验数据信息从分布式存储系统的其他数据节点获取校验数据;利用所述参与数据重构的数据重构出目标数据以及验证数据;利用所述校验数据校验所述验证数据以确定所述目标数据的正确性。通过参与数据重构的数据构建目标数据和验证数据,使用校验数据再验证重构后的验证数据,避免了获取数据、构建数据过程中的错误,提高了重构流程的可靠性。
附图说明
图1是本说明书一个实施例提供的一种数据重构方法的流程图;
图2a示出了根据本说明书一个实施例提供的一种数据重构方法的示意图;
图2b示出了根据本说明书一个实施例提供的一种数据重构方法的另一示意图;
图3是本说明书一个实施例提供的一种数据重构方法的处理过程流程图;
图4是本说明书一个实施例提供的一种数据重构装置的结构示意图;
图5是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
分布式存储系统:分布式存储系统将数据同时写到多个数据节点,需要保证对外呈现状态是一致的, 且不发生状态回退。
元数据节点(MetaNode):分布式系统中,中心化的元信息存储节点,通常用于存储文件的状态信息、chunk位置信息等,chunk长度信息等。
数据节点(DataNode):分布式系统中数据块所存储在的节点,通常负责数据块的写入, 存储, 读取, 删除等操作。
纠删码(Erasure-coding):将一段数据分成等长多片, 并生成多片校验片, 当其中任意一片或多片数据丢失时, 都可从其他数据、校验片中重构恢复丢失数据片. 这种方法目前广泛应用在分布式存储系统中, 将不同数据片放在不同数据节点。
在本说明书中,提供了一种数据重构方法,本说明书同时涉及一种数据重构装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
参见图1,图1示出了根据本说明书一个实施例提供的一种数据重构方法的流程图,具体包括以下步骤。
步骤102:获取数据重构所需的重构数据信息以及数据验证所需的校验数据信息。
其中,所述数据重构可以理解为对数据节点中的数据进行重新生成,例如,数据节点A中的数据丢失,重新生成数据节点A中的数据;重构数据信息可以包括路径信息,大小信息等信息,例如,重构数据信息为路径信息:参与数据重构的数据D1在数据节点A1中;数据验证可以理解为对重构得到的数据进行正确性验证,例如,已经重构出数据D0,对重构出的数据D0进行验证,判断数据D0是否正确;校验数据信息可以包括路径信息,大小信息等信息,例如,校验数据信息为路径信息:校验数据D11在数据节点A11。
在实际应用中,基于纠删码的分布式存储系统中,数据会同时以纠删码校验组的方式写到多个数据节点中,当有一个或多个数据节点故障时,系统会自动发现故障,并通过元数据节点告知要进行重构数据任务的数据节点其他数据节点中存在的数据的路径,将故障数据节点里面的数据重构出来,并将重构得到的数据写入到要进行重构数据任务的数据节点中,本说明书实施例就以写入重构数据的数据节点为执行主体进行说明,具体实现方式如下所述。
例如,在数据节点A发生故障的情况下,数据D0丢失,系统发现数据节点A发生故障后,要重构出数据D0,向数据节点M发送数据重构命令,其中,数据重构命令中携带有重构数据信息和校验数据信息,数据节点接收到数据重构命令,即,获取到重构数据信息和校验数据信息。
具体地,所述获取数据重构所需的重构数据信息,包括:
获取数据重构所需的重构数据的路径信息。
其中,重构数据可以理解为参与重构的数据。
例如,参见图2a,图2a示出了根据本说明书一个实施例提供的一种数据重构方法的示意图,重构数据包括重构数据D1、重构数据D2、重构数据D3和重构数据D4,重构数据D1的路径信息为:在数据节点A1中;重构数据D2的路径信息为:在数据节点A2中;重构数据D3的路径信息为:在数据节点A3中;重构数据D4的路径信息为:在数据节点A4中。
具体地,所述获取数据验证所需的校验数据信息,包括:
获取数据验证所需的校验数据的路径信息。
在实际应用中,除了获取数据重构所需的重构数据信息,还需要多获取一块校验数据用于验证重构出来的数据块的正确性。
例如,获取校验数据D5的路径信息:在数据节点A5中。
本说明书实施例通过多接收一块校验数据的信息,可以多读取一块校验数据,用于验证重构后的验证数据,避免了获取数据过程中的错误,提高了重构的目标数据的可靠性。
步骤104:根据所述重构数据信息从所述分布式存储系统的其他数据节点获取参与数据重构的数据,以及根据所述校验数据信息从分布式存储系统的其他数据节点获取校验数据。
其中,参与重构的数据可以理解为分布式存储系统中的多个数据节点的数据,且多个数据节点的数据为同一段数据分割成的数据,例如,一段视频数据被分割为4片数据,根据这4片数据生成3片校验码,当其中一片数据丢失之后,其他3片数据以及任意一片校验码可以称为参与重构的数据。
沿用上例,重构数据包括重构数据D1、重构数据D2、重构数据D3以及重构数据D4,重构数据D1的路径信息为:在数据节点A1中;重构数据D2的路径信息为:在数据节点A2中;重构数据D3的路径信息为:在数据节点A3中;重构数据D4的路径信息为:在数据节点A4中;则从数据节点A1中获取重构数据D1,从数据节点A2中获取重构数据D2,从数据节点A3中获取重构数据D3,从数据节点A4中获取重构数据D4,以及根据校验码D5的路径信息“在数据节点A5中”从数据节点A5获取校验数据D5。
具体地,所述根据所述重构数据信息从所述分布式存储系统的其他数据节点获取参与数据重构的数据,以及根据所述校验数据信息从分布式存储系统的其他数据节点获取校验数据,包括:
根据所述重构数据信息从所述分布式存储系统的其他数据节点获取参与数据重构的关联数据和校验码,其中,所述关联数据为基于初始数据分割得到的第一数据块,所述校验码通过对所述初始数据进行校验计算得到;
根据所述校验数据信息从分布式存储系统的其他数据节点获取校验数据,其中,所述校验数据为基于所述初始数据分割得到的第二数据块或所述校验码。
其中,关联数据可以理解为同一段数据分割成的数据,例如,一段视频数据被分割为4片数据,这4片数据互为关联数据;初始数据可以为上述中的一段数据;校验码可以是对初始数据进行校验计算的校验码,例如,checksum校验码;校验数据可以是对生成的验证数据进行对比的数据,校验数据可以为未参与重构的关联数据,也可以为未参与重构的校验码。
例如,重构数据包括重构数据D1、重构数据D2、重构数据D3以及重构数据D4,重构数据D1的路径信息为:在数据节点A1中;重构数据D2的路径信息为:在数据节点A2中;重构数据D3的路径信息为:在数据节点A3中;重构数据D4的路径信息为:在数据节点A4中;从数据节点A1中获取关联数据D1,从数据节点A2中获取关联数据D2,从数据节点A3中获取关联数据D3以及从数据节点A4中获取校验码D4,以及根据校验码D5的路径信息“在数据节点A5中”从数据节点A5获取校验码D5。
本说明书实施例通过多读取一块校验数据,用于验证重构后的验证数据,避免了获取数据过程中的错误,提高了重构的目标数据的可靠性。
步骤106:利用所述参与数据重构的数据重构出目标数据以及验证数据。
其中,目标数据可以理解为出故障的数据节点中缺失的数据;验证数据可以理解为生成的用于和校验数据进行对比的数据,验证数据可以为与关联数据相同的数据,也可以为与校验码相同的数据。
在实际应用中,在将重构出来的数据写入数据节点之前, 需要将重构出的验证数据和读到的校验数据进行比较, 保障读到的参与重构的数据和数据重构流程上产出目标数据的正确性。
沿用上例,从数据节点A1中获取关联数据D1,从数据节点A2中获取关联数据D2,从数据节点A3中获取关联数据D3,从数据节点A4中获取校验码D4,关联数据D1、关联数据D2、关联数据D3以及校验码D4作为参与重构的数据,根据校验码D5的路径信息“在数据节点A5中”从数据节点A5获取校验码D5。已知将关联数据D1、关联数据D2、关联数据D3、缺失数据D0进行线性组合可以得到校验码D4,如,根据计算公式:第一系数*关联数据D1+第二系数*关联数据D2+第三系数*关联数据D3+第四系数*缺失数据D0=校验码D4,则可以计算出缺失数据D0,即目标数据D0;已知将关联数据D1、关联数据D2、关联数据D3、缺失数据D0进行线性组合可以得到校验码D5,如,根据计算公式:第五系数*关联数据D1+第六系数*关联数据D2+第七系数*关联数据D3+第八系数*缺失数据D0=校验码D5,则可以计算出校验码D5对应的验证数据S1。
需要说明的是,使用关联数据D1、关联数据D2、关联数据D3以及校验码D4、校验码D5和校验码D6中任意四个数据均可根据相应的计算公式计算出缺失数据D0,本说明书实施例不进行限定,相应地,缺失数据可以为校验码,也可以为关联数据。
本说明书实施例通过参与数据重构的数据构建目标数据和验证数据,便于后续步骤使用校验数据再验证重构后的验证数据,提高了重构的目标数据的可靠性。
步骤108:利用所述校验数据校验所述验证数据以确定所述目标数据的正确性。
在实际应用中,在将重构出来的数据写入数据节点之前, 需要将重构出的验证数据和读到的校验数据进行比较, 保障读到的参与重构的数据和数据重构流程上产出目标数据的正确性。
在一种可能实施的方式中,所述利用所述校验数据校验所述验证数据以确定所述目标数据的正确性,包括:
在所述校验数据和所述验证数据为相同数据的情况下,确定所述目标数据为正确的。
沿用上例,从数据节点A1中获取关联数据D1,从数据节点A2中获取关联数据D2,从数据节点A3中获取关联数据D3,从数据节点A4中获取校验码D4,根据校验码D5的路径信息“在数据节点A5中”从数据节点A5获取校验码D5。已知将关联数据D1、关联数据D2、关联数据D3、缺失数据D0进行线性组合可以得到校验码D4,如,根据计算公式:第一系数*关联数据D1+第二系数*关联数据D2+第三系数*关联数据D3+第四系数*缺失数据D0=校验码D4,则可以计算出缺失数据D0,即目标数据D0;已知将关联数据D1、关联数据D2、关联数据D3、缺失数据D0进行线性组合可以得到校验码D5,如,根据计算公式:第五系数*关联数据D1+第六系数*关联数据D2+第七系数*关联数据D3+第八系数*缺失数据D0=校验码D5,则可以计算出校验码D5对应的验证数据S1,将校验码D5与验证数据S1进行对比,如果校验码D5与验证数据S1为同一数据,则确定目标数据D0正确,如果校验码D5与验证数据S1为不同数据,则确定目标数据D0不正确。
本说明书实施例使用校验数据再验证重构后的验证数据,避免了获取数据过程中的错误,提高了重构的目标数据的可靠性。
另外,因为多读一份校验数据用于跟验证数据进行验证,发生读失败的几率变高,则在发生任意读取失败且原地重试多次无效时, 本说明书实施例会重新确定验证数据块和重构数据块,具体实施方式如下所述:
具体地,所述获取参与数据重构的数据,包括:
根据预设分片长度将每个所述参与数据重构的数据划分为多个数据片;
依次获取每个所述参与数据重构的数据的一个所述数据片。
其中,所述预设分片长度可以为512千字节至1兆字节。
例如,从数据节点A1中获取关联数据D1,从数据节点A2中获取关联数据D2,从数据节点A3中获取关联数据D3,从数据节点A4中获取校验码D4,将关联数据D1、关联数据D2、关联数据D3和校验码D4以1兆字节分别划分为10个数据片,从第一个数据片开始读取。
进一步地,所述利用所述参与数据重构的数据重构出目标数据以及验证数据,包括:
根据每个所述参与数据重构的数据的一个所述数据片重构出目标数据的数据片,以及验证数据的数据片,并记录重构进度。
其中,所述重构进度可以理解为数据重构时的完成进度。
在实际应用中,数据重构时数据块划分成小数据片进行传输,当发生读取重构数据或验证数据失败时,也只有一小块数据片读不出来,前面的数据已经完成了数据重构并写入到存储介质中。
沿用上例,将关联数据D1、关联数据D2、关联数据D3和校验码D4以1兆字节分别划分为10个数据片,从第一个数据片开始读取,根据关联数据D1、关联数据D2、关联数据D3和校验码D4的第一个数据片通过计算公式计算得到目标数据D0的第一个数据片,以及验证数据的第一个数据片,并记录当前的重构记录:重构完成第一个数据片。
进一步地,在获取任意一个所述参与数据重构的数据的一个所述数据片失败的情况下,获取数据重构所需的备份数据信息;
根据所述备份数据信息从所述分布式存储系统的其他数据节点获取所述参与数据重构的数据对应的备份数据;
根据所述重构进度获取所述备份数据的一个所述数据片;
根据其他所述参与数据重构的数据的一个所述数据片,和所述备份数据的一个所述数据片重构出目标数据的数据片,以及验证数据的数据片。
其中,备份数据可以为未参与重构的数据,例如,图2a中的校验码D6。
沿用上例,参见图2b,图2b示出了根据本说明书一个实施例提供的一种数据重构方法的另一示意图,当前的重构记录:重构完成第一个数据片,在读取关联数据D1的第二个数据片时,由于故障无法读取到,则从元数据节点获取备份数据信息,备份数据信息记录了备份数据的位置,根据备份数据信息可以获取到校验码D6,则将校验码D6替代关联数据D1作为参与重构的数据,根据校验码D6、关联数据D2、关联数据D3和校验码D4的第二个数据片重构出目标数据D0的第二个数据片,以及验证数据S1的第二个数据片,并记录当前的重构记录:重构完成第二个数据片,以此完成整个目标数据D0以及验证数据S1的重构。
本说明书实施例使用备份数据块代替失败数据块作为参与重构的数据继续进行重构,保证了数据读取失败的情况下成功重构出数据,提高了稳定性。
本说明书实施例提供一种数据重构方法以及装置,其中所述数据重构方法应用于基于纠删码的分布式存储系统中的数据节点,所述方法包括:获取数据重构所需的重构数据信息以及数据验证所需的校验数据信息;根据所述重构数据信息从所述分布式存储系统的其他数据节点获取参与数据重构的数据,以及根据所述校验数据信息从分布式存储系统的其他数据节点获取校验数据;利用所述参与数据重构的数据重构出目标数据以及验证数据;利用所述校验数据校验所述验证数据以确定所述目标数据的正确性。通过参与数据重构的数据构建目标数据和验证数据,使用校验数据再验证重构后的验证数据,避免了获取数据、构建数据过程中的错误,提高了重构的目标数据的可靠性。
下述结合附图3,以本说明书提供的数据重构方法在第一数据节点的应用为例,对所述数据重构方法进行进一步说明。其中,图3示出了本说明书一个实施例提供的一种数据重构方法的处理过程流程图,具体包括以下步骤。
步骤302:第一数据节点获取数据重构所需的关联数据和校验码的路径信息。
步骤304:第一数据节点获取数据验证所需的校验数据的路径信息。
步骤306:第一数据节点根据重构数据信息从分布式存储系统的其他数据节点获取参与数据重构的关联数据和校验码。
步骤308:第一数据节点根据校验数据信息从分布式存储系统的其他数据节点获取校验数据。
步骤310:第一数据节点利用关联数据和校验码重构出目标数据以及验证数据。
步骤312:第一数据节点利用校验数据校验验证数据以确定目标数据的正确性。
本说明书实施例通过关联数据和校验码构建目标数据和验证数据,使用校验数据再验证重构后的验证数据,避免了获取数据、构建数据过程中的错误,提高了重构的目标数据的可靠性。
与上述方法实施例相对应,本说明书还提供了数据重构装置实施例,图4示出了本说明书一个实施例提供的一种数据重构装置的结构示意图。如图4所示,该装置包括:
信息获取模块402,被配置为获取数据重构所需的重构数据信息以及数据验证所需的校验数据信息;
数据获取模块404,被配置为根据所述重构数据信息从所述分布式存储系统的其他数据节点获取参与数据重构的数据,以及根据所述校验数据信息从分布式存储系统的其他数据节点获取校验数据;
数据重构模块406,被配置为利用所述参与数据重构的数据重构出目标数据以及验证数据;
数据验证模块408,被配置为利用所述校验数据校验所述验证数据以确定所述目标数据的正确性。
可选地,信息获取模块402,进一步被配置为:
获取数据重构所需的重构数据的路径信息。
可选地,信息获取模块402,进一步被配置为:
获取数据验证所需的校验数据的路径信息。
可选地,数据获取模块404,进一步被配置为:
根据所述重构数据信息从所述分布式存储系统的其他数据节点获取参与数据重构的关联数据和校验码,其中,所述关联数据为基于初始数据分割得到的第一数据块,所述校验码通过对所述初始数据进行校验计算得到;
根据所述校验数据信息从分布式存储系统的其他数据节点获取校验数据,其中,所述校验数据为基于所述初始数据分割得到的第二数据块或所述校验码。
可选地,数据验证模块408,进一步被配置为:
在所述校验数据和所述验证数据为相同数据的情况下,确定所述目标数据为正确的。
可选地,数据获取模块404,进一步被配置为:
根据预设分片长度将每个所述参与数据重构的数据划分为多个数据片;
依次获取每个所述参与数据重构的数据的一个所述数据片。
可选地,数据重构模块406,进一步被配置为:
根据每个所述参与数据重构的数据的一个所述数据片重构出目标数据的数据片,以及验证数据的数据片,并记录重构进度。
可选地,数据重构模块406,进一步被配置为:
在获取任意一个所述参与数据重构的数据的一个所述数据片失败的情况下,获取数据重构所需的备份数据信息;
根据所述备份数据信息从所述分布式存储系统的其他数据节点获取所述参与数据重构的数据对应的备份数据;
根据所述重构进度获取所述备份数据的一个所述数据片;
根据其他所述参与数据重构的数据的一个所述数据片,和所述备份数据的一个所述数据片重构出目标数据的数据片,以及验证数据的数据片。
本说明书实施例提供一种数据重构装置,其中所述数据重构装置应用于基于纠删码的分布式存储系统中的数据节点,所述装置获取数据重构所需的重构数据信息以及数据验证所需的校验数据信息;根据所述重构数据信息从所述分布式存储系统的其他数据节点获取参与数据重构的数据,以及根据所述校验数据信息从分布式存储系统的其他数据节点获取校验数据;利用所述参与数据重构的数据重构出目标数据以及验证数据;利用所述校验数据校验所述验证数据以确定所述目标数据的正确性。通过参与数据重构的数据构建目标数据和验证数据,使用校验数据再验证重构后的验证数据,避免了获取数据、构建数据过程中的错误,提高了重构的目标数据的可靠性。
上述为本实施例的一种数据重构装置的示意性方案。需要说明的是,该数据重构装置的技术方案与上述的数据重构方法的技术方案属于同一构思,数据重构装置的技术方案未详细描述的细节内容,均可以参见上述数据重构方法的技术方案的描述。
图5示出了根据本说明书一个实施例提供的一种计算设备500的结构框图。该计算设备500的部件包括但不限于存储器510和处理器520。处理器520与存储器510通过总线530相连接,数据库550用于保存数据。
计算设备500还包括接入设备540,接入设备540使得计算设备500能够经由一个或多个网络560通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备540可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备500的上述部件以及图5中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图5所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备500可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备500还可以是移动式或静止式的服务器。
其中,处理器520用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据重构方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据重构方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据重构方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现上述数据重构方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据重构方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据重构方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述数据重构方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的数据重构方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述数据重构方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

Claims (11)

1.一种数据重构方法,应用于基于纠删码的分布式存储系统中的数据节点,所述方法包括:
获取数据重构所需的重构数据信息以及数据验证所需的校验数据信息;
根据所述重构数据信息从所述分布式存储系统的其他数据节点获取参与数据重构的数据,以及根据所述校验数据信息从分布式存储系统的其他数据节点获取校验数据;
利用所述参与数据重构的数据重构出目标数据以及验证数据;
利用所述校验数据校验所述验证数据以确定所述目标数据的正确性。
2.根据权利要求1所述的方法,所述获取数据重构所需的重构数据信息,包括:
获取数据重构所需的重构数据的路径信息。
3.根据权利要求1所述的方法,所述获取数据验证所需的校验数据信息,包括:
获取数据验证所需的校验数据的路径信息。
4.根据权利要求1所述的方法,所述根据所述重构数据信息从所述分布式存储系统的其他数据节点获取参与数据重构的数据,以及根据所述校验数据信息从分布式存储系统的其他数据节点获取校验数据,包括:
根据所述重构数据信息从所述分布式存储系统的其他数据节点获取参与数据重构的关联数据和校验码,其中,所述关联数据为基于初始数据分割得到的第一数据块,所述校验码通过对所述初始数据进行校验计算得到;
根据所述校验数据信息从分布式存储系统的其他数据节点获取校验数据,其中,所述校验数据为基于所述初始数据分割得到的第二数据块或所述校验码。
5.根据权利要求1所述的方法,所述利用所述校验数据校验所述验证数据以确定所述目标数据的正确性,包括:
在所述校验数据和所述验证数据为相同数据的情况下,确定所述目标数据为正确的。
6.根据权利要求1所述的方法,所述获取参与数据重构的数据,包括:
根据预设分片长度将每个所述参与数据重构的数据划分为多个数据片;
依次获取每个所述参与数据重构的数据的一个所述数据片。
7.根据权利要求6所述的方法,所述利用所述参与数据重构的数据重构出目标数据以及验证数据,包括:
根据每个所述参与数据重构的数据的一个所述数据片重构出目标数据的数据片,以及验证数据的数据片,并记录重构进度。
8.根据权利要求7所述的方法,还包括:
在获取任意一个所述参与数据重构的数据的一个所述数据片失败的情况下,获取数据重构所需的备份数据信息;
根据所述备份数据信息从所述分布式存储系统的其他数据节点获取所述参与数据重构的数据对应的备份数据;
根据所述重构进度获取所述备份数据的一个所述数据片;
根据其他所述参与数据重构的数据的一个所述数据片,和所述备份数据的一个所述数据片重构出目标数据的数据片,以及验证数据的数据片。
9.一种数据重构装置,应用于基于纠删码的分布式存储系统中的数据节点,包括:
信息获取模块,被配置为获取数据重构所需的重构数据信息以及数据验证所需的校验数据信息;
数据获取模块,被配置为根据所述重构数据信息从所述分布式存储系统的其他数据节点获取参与数据重构的数据,以及根据所述校验数据信息从分布式存储系统的其他数据节点获取校验数据;
数据重构模块,被配置为利用所述参与数据重构的数据重构出目标数据以及验证数据;
数据验证模块,被配置为利用所述校验数据校验所述验证数据以确定所述目标数据的正确性。
10.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至8任意一项所述数据重构方法的步骤。
11.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1至8任意一项所述数据重构方法的步骤。
CN202210159390.1A 2022-02-22 2022-02-22 数据重构方法以及装置 Pending CN114237967A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210159390.1A CN114237967A (zh) 2022-02-22 2022-02-22 数据重构方法以及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210159390.1A CN114237967A (zh) 2022-02-22 2022-02-22 数据重构方法以及装置

Publications (1)

Publication Number Publication Date
CN114237967A true CN114237967A (zh) 2022-03-25

Family

ID=80747644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210159390.1A Pending CN114237967A (zh) 2022-02-22 2022-02-22 数据重构方法以及装置

Country Status (1)

Country Link
CN (1) CN114237967A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579352A (zh) * 2022-04-29 2022-06-03 阿里云计算有限公司 数据重构方法以及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140046909A1 (en) * 2012-08-08 2014-02-13 Amazon Technologies, Inc. Data storage integrity validation
CN109918226A (zh) * 2019-02-26 2019-06-21 平安科技(深圳)有限公司 一种静默错误检测方法、装置及存储介质
CN110750382A (zh) * 2019-09-18 2020-02-04 华中科技大学 用于提高数据修复性能的最小存储再生码编码方法及系统
CN110795269A (zh) * 2018-08-03 2020-02-14 阿里巴巴集团控股有限公司 一种数据恢复验证方法、装置及设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140046909A1 (en) * 2012-08-08 2014-02-13 Amazon Technologies, Inc. Data storage integrity validation
CN110795269A (zh) * 2018-08-03 2020-02-14 阿里巴巴集团控股有限公司 一种数据恢复验证方法、装置及设备
CN109918226A (zh) * 2019-02-26 2019-06-21 平安科技(深圳)有限公司 一种静默错误检测方法、装置及存储介质
CN110750382A (zh) * 2019-09-18 2020-02-04 华中科技大学 用于提高数据修复性能的最小存储再生码编码方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IVAN S. KLYUZHIN等: "PET image reconstruction and motion correction using direct backprojection on point grids and clouds", 《2011 IEEE NUCLEAR SCIENCE SYMPOSIUM CONFERENCE RECORD》 *
曾赛峰等: "云存储环境下分组校验纠删码冗余算法研究", 《湖南工程学院学报(自然科学版)》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114579352A (zh) * 2022-04-29 2022-06-03 阿里云计算有限公司 数据重构方法以及装置

Similar Documents

Publication Publication Date Title
US10963341B2 (en) Isolating the introduction of software defects in a dispersed storage network
US20190196728A1 (en) Distributed storage system-based data processing method and storage device
CN111124755B (zh) 集群节点的故障恢复方法、装置、电子设备及存储介质
WO2018000812A1 (zh) 数据存储方法及装置
US8386841B1 (en) Systems and methods for improving redundant storage fault tolerance
CN111078662B (zh) 一种区块链数据存储方法与装置
AU2017228544A1 (en) Nonvolatile media dirty region tracking
US20150213100A1 (en) Data synchronization method and system
JP2019530085A (ja) 重複排除ストレージ内の画像を修復するためのシステム及び方法
CN111176885A (zh) 一种分布式存储系统的数据校验方法及相关装置
CN113360322B (zh) 一种基于备份系统恢复数据的方法及设备
US20210034413A1 (en) System and method for distribution of dependent builds across orchestration job scheduler slaves
CN113311993A (zh) 数据存储方法及数据读取方法
CN114237967A (zh) 数据重构方法以及装置
CN114610533A (zh) 数据库处理方法以及装置
CN113312205B (zh) 数据校验方法、装置、存储介质和计算机设备
CN112463434A (zh) 一种基于纠删码的数据重构方法、装置、设备及存储介质
CN112988880B (zh) 数据同步方法、装置、电子设备及计算机存储介质
CN110896309B (zh) Turbo乘积码的译码方法、装置、译码器及计算机存储介质
CN111625396A (zh) 备份数据的校验方法、服务器及存储介质
CN111221672A (zh) 用于分布式存储系统的数据一致性校验方法及装置
CN114579352A (zh) 数据重构方法以及装置
JP6251965B2 (ja) 情報システムおよびデータベース復旧方法
CN114388053A (zh) Ssd数据测试方法、装置、存储介质及测试设备
CN114461455A (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

Application publication date: 20220325

RJ01 Rejection of invention patent application after publication