CN109558086B - 一种数据读取方法、系统及相关组件 - Google Patents

一种数据读取方法、系统及相关组件 Download PDF

Info

Publication number
CN109558086B
CN109558086B CN201811463352.5A CN201811463352A CN109558086B CN 109558086 B CN109558086 B CN 109558086B CN 201811463352 A CN201811463352 A CN 201811463352A CN 109558086 B CN109558086 B CN 109558086B
Authority
CN
China
Prior art keywords
data
reading
version number
data block
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811463352.5A
Other languages
English (en)
Other versions
CN109558086A (zh
Inventor
刘吉庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201811463352.5A priority Critical patent/CN109558086B/zh
Publication of CN109558086A publication Critical patent/CN109558086A/zh
Application granted granted Critical
Publication of CN109558086B publication Critical patent/CN109558086B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • 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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请公开了一种数据读取方法,所述方法包括当接收到读取指令时,根据读取指令从所有的数据块中确定待读数据块;读取待读数据块中与读取指令对应的目标数据和待读数据块的目标版本号;读取所有冗余数据块的第一参考版本号,判断所有第一参考版本号与目标版本号是否均一致;若是,则生成数据读取成功的读取结果;若否,则读取所有原始数据块的第二参考版本号,根据所有第一参考版本号和所有第二参考版本号生成数据读取结果。本方法能够减小数据读取过程中传输的数据量,提高数据读写的效率和集群的整体性能。本申请还公开了一种数据读取系统、一种计算机可读存储介质及一种电子设备,具有以上有益效果。

Description

一种数据读取方法、系统及相关组件
技术领域
本申请涉及分布式存储技术领域,特别涉及一种数据读取方法、系统、一种计算机可读存储介质及一种电子设备。
背景技术
分布式存储系统中,副本和纠删码是两种广泛使用的数据冗余机制。其中,纠删码技术主要是通过利用纠删码算法将原始的数据进行编码得到冗余,并将数据和冗余一并存储起来,以达到容错的目的。其基本思想是将K块原始的数据元素通过一定的编码计算,得到M块冗余元素。对于这K+M块的元素,当其中任意的M块元素出错(包括数据和冗余出错)时,均可以通过对应的重构算法恢复出原来的K块数据。当读取数据时,只要读取任意K块数据并且版本号一致即可认为读取成功。
但是,现有技术中,会存在需要读取的数据往往只是分布在K+M块的其中的一个数据块的情况,此时现有技术也要读取至少K个数据块,这极大地增加了传输的数据量,影响了集群的整体性能。
因此,如何减小数据读取过程中传输的数据量,提高数据读写的效率和集群的整体性能是本领域技术人员目前需要解决的技术问题。
申请内容
本申请的目的是提供一种数据读取方法、系统、一种计算机可读存储介质及一种电子设备,能够减小数据读取过程中传输的数据量,提高数据读写的效率和集群的整体性能。
为解决上述技术问题,本申请提供一种数据读取方法,该数据读取方法包括:
当接收到读取指令时,根据所述读取指令从所有的数据块中确定待读数据块;其中,所述数据块包括原始数据块和冗余数据块;
读取所述待读数据块中与所述读取指令对应的目标数据和所述待读数据块的目标版本号;
读取所有所述冗余数据块的第一参考版本号,判断所有所述第一参考版本号与所述目标版本号是否均一致;
若是,则生成数据读取成功的读取结果;
若否,则读取所有所述原始数据块的第二参考版本号,根据所有所述第一参考版本号和所有所述第二参考版本号生成数据读取结果。
可选的,根据所有所述第一参考版本号和所有所述第二参考版本号生成数据读取结果包括:
判断所有所述第一参考版本号和所有所述第二参考版本号中与所述目标版本号一致的数量是否大于或等于所述原始数据块的数量;若是,则生成数据读取成功的读取结果;若否,则生成数据读取失败的读取结果。
可选的,在根据所述读取指令从所有的数据块中确定待读数据块之前,还包括:
对所述原始数据块执行基于纠删码算法的编码计算得到所述冗余数据块。
可选的,还包括:
当将检测到目标数据块出错时,通过重构算法恢复所述目标数据块中的数据。
可选的,当读取所有所述原始数据块的第二参考版本号时,还包括:
读取所有所述原始数据块的数据。
本申请还提供了一种数据读取系统,该系统包括:
数据块确定模块,用于当接收到读取指令时,根据所述读取指令从所有的数据块中确定待读数据块;其中,所述数据块包括原始数据块和冗余数据块;
目标版本号读取模块,用于读取所述待读数据块中与所述读取指令对应的目标数据和所述待读数据块的目标版本号;
判断模块,用于读取所有所述冗余数据块的第一参考版本号,判断所有所述第一参考版本号与所述目标版本号是否均一致;
第一结果生成模块,用于当所有所述第一参考版本号与所述目标版本号均一致时,生成数据读取成功的读取结果;
第二结果生成模块,用于当所有所述第一参考版本号与所述目标版本号不均一致时,则读取所有所述原始数据块的第二参考版本号,根据所述第一参考版本号和所述第二参考版本号生成数据读取结果。
可选的,第二结果生成模块具体为用于当所有所述第一参考版本号与所述目标版本号不均一致时,判断所有所述第一参考版本号和所有所述第二参考版本号中与所述目标版本号一致的数量是否大于或等于所述原始数据块的数量,若是,则生成数据读取成功的读取结果,若否,则生成数据读取失败的读取结果的模块。
可选的,还包括:
编码模块,用于对所述原始数据块执行基于纠删码算法的编码计算得到所述冗余数据块。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述数据读取方法执行的步骤。
本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述数据读取方法执行的步骤。
本申请提供了一种数据读取方法,包括当接收到读取指令时,根据所述读取指令从所有的数据块中确定待读数据块;其中,所述数据块包括原始数据块和冗余数据块;读取所述待读数据块中与所述读取指令对应的目标数据和所述待读数据块的目标版本号;读取所有所述冗余数据块的第一参考版本号,判断所有所述第一参考版本号与所述目标版本号是否均一致;若是,则生成数据读取成功的读取结果;若否,则读取所有所述原始数据块的第二参考版本号,根据所有所述第一参考版本号和所有所述第二参考版本号生成数据读取结果。
本申请通过在接收到读取指令时,仅读取该读取指令对应的待读数据块中的相关数据和目标版本号。由于在进行数据处理时,原始数据块或冗余数据块每被读写数据时数据块的版本号都会进行相应的改变,通过版本号的一致性可以判断读取数据的操作是否成功。相对于现有技术中需要读取多块数据块中数据来验证数据是否读取成功的方案,本申请通过读取冗余数据块的第一参考版本号来判断读取结果是否成功,当无法通过冗余数据块判断时,本申请进一步通过原始数据块的第二参考版本号和之前获得的第一参考版本号来判断是否读取成功。上述过程无需读取多余的数据块的数据,能够减小数据读取过程中传输的数据量,提高数据读写的效率和集群的整体性能。本申请同时还提供了一种数据读取系统、一种计算机可读存储介质和一种电子设备,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种数据读取方法的流程图;
图2为本申请实施例所提供的另一种数据读取方法的流程图;
图3为本申请实施例所提供的一种数据读取系统的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面请参见图1,图1为本申请实施例所提供的一种数据读取方法的流程图。
具体步骤可以包括:
S101:当接收到读取指令时,根据所述读取指令从所有的数据块中确定待读数据块;
其中,所述数据块包括原始数据块和冗余数据块;此处提到的冗余数据块是原始数据块的冗余,例如,冗余数据块是对原始数据块通过利用纠删码算法进行编码计算得到的,以达到容错的目的。本实施例默认读取指令具体为从所有数据块中读取某一部分数据的指令,根据读取指令可以确定待读数据块的访问地址,以便进行读取操作。
本实施例的执行主体可以为客户端,客户端根据读取指令向分布式集群中的多个原始数据块和冗余数据块中读取某数据。
S102:读取所述待读数据块中与所述读取指令对应的目标数据和所述待读数据块的目标版本号;
其中,本实施例默认每一数据块具有一个版本号,当数据块上的数据发生修改时,版本号会发生变化,如果本步骤中读取的待读数据块的目标版本号与其他版本号一致则可以说明数据读取成功。当待读数据块出错(如数据块损坏)时,无法对待读数据块中的数据进行修改,导致待读数据块的目标版本号与其他数据块的版本号不一致。
S103:读取所有所述冗余数据块的第一参考版本号,判断所有所述第一参考版本号与所述目标版本号是否均一致;若是,则进入S104;若否,则进入S105;
其中,每一冗余数据块都有一个第一参考版本号,本步骤通过读取所有的第一参考版本号来判断本次数据是否读取成功。需要说明的是,冗余数据块作为原始数据块的冗余,当待读数据块出错时,可以根据冗余数据块执行相应的重构算法处理得到正确的数据,因此当所有的第一参考版本号与目标版本号一致时,说明所有的数据块中均未出错,故S102中读取的目标数据成功。
S104:生成数据读取成功的读取结果;
S105:读取所有所述原始数据块的第二参考版本号,根据所有所述第一参考版本号和所有所述第二参考版本号生成数据读取结果。
其中,本步骤建立在S103判断所有的第一参考版本号中存在与目标版本号不一致的状况,此时说明所有的数据块中存在出错的数据块,但并不是说明一定是待读数据块出错。进一步的,本实施例又通过读取所有原始数据块的第二参考版本号,来确定数据是否读取成功,具体过程可以包括以下步骤:
步骤1:判断所有所述第一参考版本号和所有所述第二参考版本号中与所述目标版本号一致的数量是否大于或等于所述原始数据块的数量;若是,则进入步骤2;若否,则进入步骤3;
步骤2:生成数据读取成功的读取结果;
步骤3:生成数据读取失败的读取结果。
上述过程默认,当所有的数据块中出错的数据块的数量小于或等于原始数据块的数量时,可以通过相应的重构算法对出错的数据块中的数据进行数据恢复。第一参考版本号和第二参考版本号相当于所有数据块的版本号,上述步骤实际上相当于判断所有数据块的版本号中与目标版本号一致的数量是否大于原始数据块的数量;若是,则说明出错的数据块上的数据可以恢复且待读数据块并未出错,S102读取的目标数据成功;若否,则说明待读数据块出错,S102读取的目标数据失败。
本实施例通过在接收到读取指令时,仅读取该读取指令对应的待读数据块中的相关数据和目标版本号。由于在进行数据处理时,原始数据块或冗余数据块每被读写数据时数据块的版本号都会进行相应的改变,通过版本号的一致性可以判断读取数据的操作是否成功。相对于现有技术中需要读取多块数据块中数据来验证数据是否读取成功的方案,本实施例通过读取冗余数据块的第一参考版本号来判断读取结果是否成功,当无法通过冗余数据块判断时,本实施例进一步通过原始数据块的第二参考版本号和之前获得的第一参考版本号来判断是否读取成功。上述过程无需读取多余的数据块的数据,能够减小数据读取过程中传输的数据量,提高数据读写的效率和集群的整体性能。
下面请参见图2,图2为本申请实施例所提供的另一种数据读取方法的流程图。
具体步骤可以包括:
S201:当接收到读取指令时,根据所述读取指令从所有的数据块中确定待读数据块;
其中,所述数据块包括原始数据块和冗余数据块,本实施例默认在S201之前存在对原始数据块执行基于纠删码算法的编码计算得到所述冗余数据块。当将检测到目标数据块出错时,可以通过重构算法恢复所述目标数据块中的数据。
S202:读取所述待读数据块中与所述读取指令对应的目标数据和所述待读数据块的目标版本号;
S203:读取所有所述冗余数据块的第一参考版本号,判断所有所述第一参考版本号与所述目标版本号是否均一致;若是,则进入S204;若否,则进入S205;
S204:生成数据读取成功的读取结果;
S205:判断所有所述第一参考版本号和所有所述第二参考版本号中与所述目标版本号一致的数量是否大于或等于所述原始数据块的数量;若是,则进入S206;若否,则进入S204;
其中,本实施例默认存在读取所有原始数据块的第二参考版本号的操作,在去读第二参考本本好的同时,还可以存在读取所有所述原始数据块的数据的操作。
S206:生成数据读取失败的读取结果。
下面通过在实际应用中的实施例说明上述实施例描述的流程。
首先将K块原始数据块通过一定的编码计算,得到M块冗余数据块。对于这K+M块的数据,当其中任意的M块数据块出错(包括原始和冗余出错)时,均可以通过对应的重构算法恢复出原来的K块数据。在现有技术中,当读取数据时,只要读取任意K块数据并且版本号一致即可认为读取成功。然而,在很多情况下,我们要读取的数据往往只是分布在K+M块的其中的一个块上,此时现有技术也要读取至少K块数据,这极大地增加了传输的数据量,影响了集群的整体性能。
在本实施例中,如果要读取的数据分布在K+M块的中的一个数据块上,可以直接从这个数据块上读取数据和版本号,并从M个冗余数据块上读取版本号;如果从数据块(即上述实施例中提到的待读数据块)上读取的版本号与M个冗余数据块上版本号一致,则认为本次读数据是成功的。由于不需要从多个数据块上读取数据,所以极大地节省了传输的数据量,提升了数据的读性能。
具体操作流程可以包括以下步骤:
步骤一:分析客户端读操作,直接从目标数据块上读取数据和版本号,并从M个冗余数据块上读取版本号;
步骤二:对比目标数据块和所有冗余数据块的版本号,如果版本号一致,则认为读取成功;
步骤三:如果版本号不一致,则发起冗余读操作,从其余数据块上读取数据和版本号,满足大于等于K个版本号与目标数据块的版本号一致,则说明读取成功,反之则认为读取失败。
本发明的关键点在于如果读取的数据分布在K+M块的中的一个块上,可以直接从这个块上读取数据和版本号,并从M个冗余数据块上读取版本号,如果版本号一致,则认为读取成功。通过上述优化,当读取数据的时候,不必每次都从至少K个原始数据块上读取数据,可以只读取该数据所在的数据块,并从M个冗余数据块上读取版本号,所以传输的数据量大大减少,可提升读数据性能。
请参见图3,图3为本申请实施例所提供的一种数据读取系统的结构示意图;
该系统可以包括:
数据块确定模块100,用于当接收到读取指令时,根据所述读取指令从所有的数据块中确定待读数据块;其中,所述数据块包括原始数据块和冗余数据块;
目标版本号读取模块200,用于读取所述待读数据块中与所述读取指令对应的目标数据和所述待读数据块的目标版本号;
判断模块300,用于读取所有所述冗余数据块的第一参考版本号,判断所有所述第一参考版本号与所述目标版本号是否均一致;
第一结果生成模块400,用于当所有所述第一参考版本号与所述目标版本号均一致时,生成数据读取成功的读取结果;
第二结果生成模块500,用于当所有所述第一参考版本号与所述目标版本号不均一致时,则读取所有所述原始数据块的第二参考版本号,根据所述第一参考版本号和所述第二参考版本号生成数据读取结果。
本实施例通过在接收到读取指令时,仅读取该读取指令对应的待读数据块中的相关数据和目标版本号。由于在进行数据处理时,原始数据块或冗余数据块每被读写数据时数据块的版本号都会进行相应的改变,通过版本号的一致性可以判断读取数据的操作是否成功。相对于现有技术中需要读取多块数据块中数据来验证数据是否读取成功的方案,本实施例通过读取冗余数据块的第一参考版本号来判断读取结果是否成功,当无法通过冗余数据块判断时,本实施例进一步通过原始数据块的第二参考版本号和之前获得的第一参考版本号来判断是否读取成功。上述过程无需读取多余的数据块的数据,能够减小数据读取过程中传输的数据量,提高数据读写的效率和集群的整体性能。
进一步的,第二结果生成模块500具体为用于当所有所述第一参考版本号与所述目标版本号不均一致时,判断所有所述第一参考版本号和所有所述第二参考版本号中与所述目标版本号一致的数量是否大于或等于所述原始数据块的数量,若是,则生成数据读取成功的读取结果,若否,则生成数据读取失败的读取结果的模块。
进一步的,该系统还包括:
编码模块,用于对所述原始数据块执行基于纠删码算法的编码计算得到所述冗余数据块。
进一步的,该系统还包括:
重构模块,用于当将检测到目标数据块出错时,通过重构算法恢复所述目标数据块中的数据。
进一步的,该系统还包括:
读取模块,用于当读取所有所述原始数据块的第二参考版本号时,读取所有所述原始数据块的数据。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (8)

1.一种数据读取方法,其特征在于,包括:
当接收到读取指令时,根据所述读取指令从所有的数据块中确定待读数据块;其中,所述数据块包括原始数据块和冗余数据块;
读取所述待读数据块中与所述读取指令对应的目标数据和所述待读数据块的目标版本号;
读取所有所述冗余数据块的第一参考版本号,判断所有所述第一参考版本号与所述目标版本号是否均一致;
若是,则生成数据读取成功的读取结果;
若否,则读取所有所述原始数据块的第二参考版本号,根据所有所述第一参考版本号和所有所述第二参考版本号生成数据读取结果;
其中,根据所有所述第一参考版本号和所有所述第二参考版本号生成数据读取结果包括:
判断所有所述第一参考版本号和所有所述第二参考版本号中与所述目标版本号一致的数量是否大于或等于所述原始数据块的数量;若是,则生成数据读取成功的读取结果;若否,则生成数据读取失败的读取结果。
2.根据权利要求1所述数据读取方法,其特征在于,在根据所述读取指令从所有的数据块中确定待读数据块之前,还包括:
对所述原始数据块执行基于纠删码算法的编码计算得到所述冗余数据块。
3.根据权利要求2所述数据读取方法,其特征在于,还包括:
当将检测到目标数据块出错时,通过重构算法恢复所述目标数据块中的数据。
4.根据权利要求1所述数据读取方法,其特征在于,当读取所有所述原始数据块的第二参考版本号时,还包括:
读取所有所述原始数据块的数据。
5.一种数据读取系统,其特征在于,包括:
数据块确定模块,用于当接收到读取指令时,根据所述读取指令从所有的数据块中确定待读数据块;其中,所述数据块包括原始数据块和冗余数据块;
目标版本号读取模块,用于读取所述待读数据块中与所述读取指令对应的目标数据和所述待读数据块的目标版本号;
判断模块,用于读取所有所述冗余数据块的第一参考版本号,判断所有所述第一参考版本号与所述目标版本号是否均一致;
第一结果生成模块,用于当所有所述第一参考版本号与所述目标版本号均一致时,生成数据读取成功的读取结果;
第二结果生成模块,用于当所有所述第一参考版本号与所述目标版本号不均一致时,则读取所有所述原始数据块的第二参考版本号,根据所述第一参考版本号和所述第二参考版本号生成数据读取结果;
其中,所述第二结果生成模块具体为用于当所有所述第一参考版本号与所述目标版本号不均一致时,判断所有所述第一参考版本号和所有所述第二参考版本号中与所述目标版本号一致的数量是否大于或等于所述原始数据块的数量,若是,则生成数据读取成功的读取结果,若否,则生成数据读取失败的读取结果的模块。
6.根据权利要求5所述数据读取系统,其特征在于,还包括:
编码模块,用于对所述原始数据块执行基于纠删码算法的编码计算得到所述冗余数据块。
7.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述数据读取方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述数据读取方法的步骤。
CN201811463352.5A 2018-12-03 2018-12-03 一种数据读取方法、系统及相关组件 Active CN109558086B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811463352.5A CN109558086B (zh) 2018-12-03 2018-12-03 一种数据读取方法、系统及相关组件

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811463352.5A CN109558086B (zh) 2018-12-03 2018-12-03 一种数据读取方法、系统及相关组件

Publications (2)

Publication Number Publication Date
CN109558086A CN109558086A (zh) 2019-04-02
CN109558086B true CN109558086B (zh) 2019-10-18

Family

ID=65868475

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811463352.5A Active CN109558086B (zh) 2018-12-03 2018-12-03 一种数据读取方法、系统及相关组件

Country Status (1)

Country Link
CN (1) CN109558086B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026580A (zh) * 2019-11-29 2020-04-17 浪潮电子信息产业股份有限公司 一种数据读取方法、装置、设备及存储介质
CN114968668A (zh) * 2022-06-17 2022-08-30 重庆紫光华山智安科技有限公司 数据处理方法、装置、数据接入端及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1244018A1 (en) * 1999-03-08 2002-09-25 Athena Telecom Lab, Inc. Method and apparatus for managing validity time of data in distributed processing system and recording medium
CN1653451A (zh) * 2002-05-10 2005-08-10 甲骨文国际公司 提供数据项的可用版本
US7827144B1 (en) * 2005-11-17 2010-11-02 Hewlett-Packard Development Company, L.P. Methods of reading and writing data
CN103729352A (zh) * 2012-10-10 2014-04-16 腾讯科技(深圳)有限公司 分布式文件系统对多个副本数据进行处理的方法及该系统
CN104424316A (zh) * 2013-09-06 2015-03-18 华为技术有限公司 一种数据存储方法、数据查询方法、相关装置和系统
CN105426483A (zh) * 2015-11-19 2016-03-23 华为技术有限公司 一种基于分布式系统的文件读取方法及装置
CN106708651A (zh) * 2016-11-16 2017-05-24 北京三快在线科技有限公司 基于纠删码的部分写入方法及装置、存储介质、设备
CN107609161A (zh) * 2017-09-26 2018-01-19 北京思特奇信息技术股份有限公司 一种数据写入、读取方法和系统
CN108241548A (zh) * 2016-12-23 2018-07-03 航天星图科技(北京)有限公司 一种基于分布式系统的文件读取方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1244018A1 (en) * 1999-03-08 2002-09-25 Athena Telecom Lab, Inc. Method and apparatus for managing validity time of data in distributed processing system and recording medium
CN1653451A (zh) * 2002-05-10 2005-08-10 甲骨文国际公司 提供数据项的可用版本
US7827144B1 (en) * 2005-11-17 2010-11-02 Hewlett-Packard Development Company, L.P. Methods of reading and writing data
CN103729352A (zh) * 2012-10-10 2014-04-16 腾讯科技(深圳)有限公司 分布式文件系统对多个副本数据进行处理的方法及该系统
CN104424316A (zh) * 2013-09-06 2015-03-18 华为技术有限公司 一种数据存储方法、数据查询方法、相关装置和系统
CN105426483A (zh) * 2015-11-19 2016-03-23 华为技术有限公司 一种基于分布式系统的文件读取方法及装置
CN106708651A (zh) * 2016-11-16 2017-05-24 北京三快在线科技有限公司 基于纠删码的部分写入方法及装置、存储介质、设备
CN108241548A (zh) * 2016-12-23 2018-07-03 航天星图科技(北京)有限公司 一种基于分布式系统的文件读取方法
CN107609161A (zh) * 2017-09-26 2018-01-19 北京思特奇信息技术股份有限公司 一种数据写入、读取方法和系统

Also Published As

Publication number Publication date
CN109558086A (zh) 2019-04-02

Similar Documents

Publication Publication Date Title
CN102981927B (zh) 分布式独立冗余磁盘阵列存储方法及分布式集群存储系统
CN111149093B (zh) 分布式存储系统的数据编码、解码及修复方法
US9280416B1 (en) Selection of erasure code parameters for no data repair
US8843782B2 (en) Method and apparatus for reconstructing redundant array of inexpensive disks, and system
US20140372838A1 (en) Bad disk block self-detection method and apparatus, and computer storage medium
US20150347232A1 (en) Raid surveyor
CN105635252B (zh) 一种Hadoop分布式文件系统HDFS纠删码冗余备份方法
CN113687975B (zh) 数据处理方法、装置、设备及存储介质
CN104156174A (zh) 基于条带的固态硬盘raid实现方法及装置
CN103942112A (zh) 磁盘容错方法、装置及系统
CN103077095B (zh) 内存数据的纠错方法及装置及计算机系统
KR20100111680A (ko) 메모리 어레이의 에러 수정 방법
CN109558086B (zh) 一种数据读取方法、系统及相关组件
CN103810060A (zh) 基于分布式数据库的数据备份方法及其系统
CN104408154A (zh) 重复数据删除方法及装置
CN104375905A (zh) 一种基于数据块的增量备份的方法和系统
CN109582245A (zh) 数据处理方法、装置及设备
CN115454712B (zh) 一种校验码恢复方法、系统、电子设备及存储介质
CN105808170A (zh) 一种能够以最小磁盘读写修复单磁盘错误的raid6编码方法
CN103530206A (zh) 一种数据恢复的方法和设备
CN101751231A (zh) 数据写入、读出方法及装置、虚拟磁带库设备
CN117111860B (zh) 磁盘阵列降级时的io处理方法、装置及电子设备
CN101794246B (zh) 备份存储系统、备份系统及数据备份方法和恢复方法
CN103902232B (zh) 一种写入的数据的方法及装置
CN115981926A (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