CN108572883B - 一种数据正确性校验方法及装置 - Google Patents
一种数据正确性校验方法及装置 Download PDFInfo
- Publication number
- CN108572883B CN108572883B CN201710258074.9A CN201710258074A CN108572883B CN 108572883 B CN108572883 B CN 108572883B CN 201710258074 A CN201710258074 A CN 201710258074A CN 108572883 B CN108572883 B CN 108572883B
- Authority
- CN
- China
- Prior art keywords
- data block
- target data
- verification
- file object
- file
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012795 verification Methods 0.000 claims abstract description 137
- 238000013500 data storage Methods 0.000 claims abstract description 41
- 238000001514 detection method Methods 0.000 claims description 23
- 230000007958 sleep Effects 0.000 claims description 17
- 230000005059 dormancy Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000004622 sleep time Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 12
- 238000007726 management method Methods 0.000 description 10
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000004617 sleep duration Effects 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种数据正确性校验的方法及装置,该方法通过预先设置正确性校验的时间点,当达到上述设置的时间点时,便开始对已存储在磁盘中的目标数据块进行正确性校验,若目标数据块中存在第一校验码与第二校验码不一致的文件对象,判定目标数据块未通过校验,若目标数据块中不存在第一校验码与第二校验码不一致的文件对象,则判定目标数据块通过校验;可见,应用本发明实施例提供的方案进行正确性校验,能够根据设置的时间点对目标数据块进行正确性校验,避免了长时间未对目标数据块进行正确性校验的现象,有效地提高了数据存储系统的数据安全性和稳定性。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种数据正确性校验方法及装置。
背景技术
伴随着互联网时代的高速发展,网络中的文件也呈数量级递增,为了保证海量文件的数据安全性,通常采用多副本形式的数据存储规则对上述文件进行存储,例如可采用三副本形式对上述某一文件进行存储,是将该文件复制成三份相同的文件副本,每一文件副本对应存储到一个磁盘中,如果其中某一磁盘中存储的文件发生损坏的话,可以通过访问余下的两个磁盘中的文件副本进行数据修复,这样能够保证存储文件的数据安全性。
在磁盘的长期运行过程中难免会发生碰撞、过保质期等外界干扰,那么磁盘中存储的数据可能会发生损坏,为此需对已存储的数据进行正确性校验。但就目前来说,数据正确性校验均在数据写入和读取的过程中进行,而磁盘中所存储数据中八成以上的数据都很少被访问到,这也意味着,在很长一段时间内这些已存储的数据没有进行数据正确性校验,而如果长时间不进行数据正确性校验的话,很有可能某一文件对应的多个文件副本均发生损坏,若该文件对应的多个副本均发生损坏的话,将无法对该文件进行修复,造成数据存储系统的数据安全性低下、稳定性差。
发明内容
本发明实施例的目的在于提供一种数据正确性校验的方法及装置,以提高数据存储系统的数据安全性和稳定性。
为了达到上述目的,本发明实施例公开了一种数据正确性校验方法,应用于数据存储系统中的控制节点,所述方法包括:
判断是否到达预设时间点;
如果是,对目标数据块进行正确性校验。
可选地,所述对目标数据块进行正确性校验的步骤,包括:
获得目标数据块和所述目标数据块对应的索引文件,其中,所述目标数据块为至少一个文件对象的集合,所述索引文件为所述目标数据块中每一文件对象的索引的集合;
检测所述目标数据块中是否存在第一校验码与第二校验码不一致的文件对象,其中,对于所述目标数据块中的每一文件对象,所述第一校验码为:本地存储的针对文件对象中对象内容的校验码,所述第二校验码为:根据文件对象中对象内容计算得到的校验码;
若存在,判定所述目标数据块未通过校验;
若不存在,判定所述目标数据块通过校验。
可选地,所述获得目标数据块和所述目标数据块对应的索引文件的步骤,包括:
根据目标校验目录、目标数据块的标识或所述目标数据块对应的索引文件的标识,从磁盘中获得所述目标数据块和所述索引文件,其中,所述目标校验目录包括:所述目标数据块的标识与所述目标数据块对应索引文件的标识之间的对应关系。
可选地,在所述数据存储系统按照多副本形式进行数据存储的情况下,所述方法还包括:
当判定所述目标数据块未通过校验时,将所述目标数据块替换为第一数据块,所述第一数据块为与所述目标数据块匹配的其他数据块副本中通过校验的数据块副本。
可选地,所述方法还包括:
在判定所述目标数据块通过校验之后,判断第一结束时刻是否处于预设结束时刻之前,其中,所述第一结束时刻为:判定所述目标数据块通过校验时的时刻;
如果是,在所述第一结束时刻至所述预设结束时刻之间进入睡眠状态。
可选地,所述检测所述目标数据块中是否存在第一校验码与第二校验码不一致的文件对象的步骤,包括:
按照预设的顺序,从所述目标数据块的文件对象中确定当前文件对象;
检测当前文件对象的第一校验码与第二校验码是否一致;
若一致,累积所述目标数据块中已检测文件对象的数据大小,获得数据总和;并根据当前时间戳和起始校验时间戳,计算总校验耗时;
根据所述数据总和以及所述总校验耗时,计算实际磁盘读取速度;
判断所述实际磁盘读取速度是否大于预设磁盘读取速度限值;
若小于等于,判断是否完成针对所述目标数据块中所有文件对象的校验,若未完成,按照所述预设的顺序将当前文件对象更新为下一文件对象,并返回所述检测当前文件对象的第一校验码与第二校验码是否一致的步骤;若已完成,判定所述目标数据块中不存在第一校验码与第二校验码不一致的文件对象;
若大于,根据所述当前文件对象的数据大小和以及所述预设磁盘读取速度限值,计算对当前文件对象进行校验的标准耗时,并获得对当前文件对象进行校验的实际耗时,进入休眠状态,休眠时长为:所述标准耗时与所述实际耗时的差值;休眠结束后,执行所述判断是否完成针对所述目标数据块中所有文件对象的校验的步骤;
若不一致,判定所述目标数据块中存在第一校验码与第二校验码不一致的文件对象。
为了达到上述目的,本发明实施例还公开了一种数据正确性校验装置,应用于数据存储系统中的控制节点,所述装置包括:
第一判断模块,用于判断是否到达预设时间点;
校验模块,用于在所述判断模块判定为是的情况下,对目标数据块进行正确性校验。
可选地,所述校验模块,包括:
获得子模块,用于获得目标数据块和所述目标数据块对应的索引文件,其中,所述目标数据块为至少一个文件对象的集合,所述索引文件为所述目标数据块中每一文件对象的索引的集合;
检测子模块,用于检测所述目标数据块中是否存在第一校验码与第二校验码不一致的文件对象,其中,对于所述目标数据块中的每一文件对象,所述第一校验码为:本地存储的针对文件对象中对象内容的校验码,所述第二校验码为:根据文件对象中对象内容计算得到的校验码;
第一判定子模块,用于在所述检测子模块检测为是的情况下,判定所述目标数据块未通过校验;
第二判定子模块,用于在所述检测子模块检测为否的情况下,判定所述目标数据块通过校验。
可选地,所述获得子模块,具体用于:
根据目标校验目录、目标数据块的标识或所述目标数据块对应的索引文件的标识,从磁盘中获得所述目标数据块和所述索引文件,其中,所述目标校验目录包括:所述目标数据块的标识与所述目标数据块对应索引文件的标识之间的对应关系。
可选地,在所述数据存储系统按照多副本形式进行数据存储的情况下,所述装置还包括:
替换模块,用于在所述目标数据块未通过校验时,将所述目标数据块替换为第一数据块,所述第一数据块为与所述目标数据块匹配的其他数据块副本中通过校验的数据块副本。
可选地,所述装置还包括:
第二判断模块,用于在判定所述目标数据块通过校验之后,判断第一结束时刻是否处于预设结束时刻之前,其中,所述第一结束时刻为:判定所述目标数据块通过校验时的时刻;
第一睡眠模块,用于在所述第二判断模块判断结果为是的情况下,在所述第一结束时刻至所述预设结束时刻之间进入睡眠状态。
可选地,所述检测子模块,包括:
对象确定单元,用于按照预设的顺序,从所述目标数据块的文件对象中确定当前文件对象;
对象检测单元,用于检测当前文件对象的第一校验码与第二校验码是否一致;
耗时计算单元,用于在所述对象检测单元的检测结果为一致的情况下,累积所述目标数据块中已检测文件对象的数据大小,获得数据总和;并根据当前时间戳和起始校验时间戳,计算总校验耗时;
速度计算单元,用于根据所述数据总和以及所述总校验耗时,计算实际磁盘读取速度;
速度判断单元,用于判断所述实际磁盘读取速度是否大于预设磁盘读取速度限值;
校验判断单元,用于在所述判断单元的判断结果为小于等于的情况下,判断是否完成针对所述目标数据块中所有文件对象的校验,若未完成,按照所述预设的顺序将当前文件对象更新为下一文件对象,并触发所述对象检测单元;若已完成,判定所述目标数据块中不存在第一校验码与第二校验码不一致的文件对象;
耗时获得单元,用于在所述判断单元的判断结果为大于的情况下,根据所述当前文件对象的数据大小和以及所述预设磁盘读取速度限值,计算对当前文件对象进行校验的标准耗时,并获得对当前文件对象进行校验的实际耗时,进入休眠状态,休眠时长为:所述标准耗时与所述实际耗时的差值;休眠结束后,触发所述校验判断单元;
对象判定单元,用于在所述对象检测单元的检测结果为不一致的情况下,判定所述目标数据块中存在第一校验码与第二校验码不一致的文件对象。
本发明实施例提供的数据正确性校验的方法及装置,通过预先设置正确性校验的时间点,当达到上述设置的时间点时,便开始对已存储在磁盘中的目标数据块进行正确性校验,若目标数据块中存在第一校验码与第二校验码不一致的文件对象,判定目标数据块未通过校验,若目标数据块中不存在第一校验码与第二校验码不一致的文件对象,则判定目标数据块通过校验;可见,应用本发明实施例提供的方案进行正确性校验,能够根据设置的时间点对目标数据块进行正确性校验,避免了长时间未对目标数据块进行正确性校验的现象,有效地提高了数据存储系统的数据安全性和稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的数据正确性校验方法的一种流程示意图;
图2为本发明实施例提供的数据正确性校验方法的另一种流程示意图;
图3为本发明实施例提供的针对图2提供实施例中的步骤S1022的一种具体实现方式的流程示意图;
图4为本发明实施例提供的数据正确性校验装置的一种结构示意图;
图5为本发明实施例提供的数据正确性校验装置的另一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面通过具体实施例,对本发明进行详细的说明。
图1为本发明实施例提供的数据正确性校验方法的一种流程示意图,该方法应用于数据存储系统中的控制节点,方法包括步骤:
S101:判断是否到达预设时间点,如果是,执行步骤S102;
本领域技术人员能够理解的是,目前大多的数据呈现出长尾特性,所谓长尾特性就是指数据在某一时间段内被访问的频率特别高,而在该时间段过后,这些数据的访问频率骤减,几乎不再被访问,这一现象称为长尾特性。我们称具有长尾特性的数据为长尾数据。
在磁盘存储的数据中,有八成以上的数据是长尾数据,对于这些数据而言,它们很少被访问到,而就目前来说,数据正确性校验均在数据写入和读取的过程中进行,由于存储于磁盘中的长尾数据很少被访问到,这也意味着,这些已存储在磁盘中的长尾数据只有在存入或者是上一次访问(读取)时,才进行数据正确性校验,由于长尾数据很少被访问,因此,磁盘中存储的长尾数据在很长一段时间内没有进行数据正确性校验,而如果长时间不进行数据正确性校验的话,该长尾数据对应的数据块很有可能发生损坏,如果该长尾数据按照多副本形式进行存储时对应的其他几个副本均发生损坏的话,这将导致该长尾数据无法在进行修复,造成数据的丢失,数据的安全性和稳定性得不到保证。
考虑到上述情况,为了尽可能的减少上述现象的发生,进而造成数据的丢失,针对磁盘中已存储的数据块,可以周期性的进行数据正确性校验,具体的,可以设置一个时间间隔,例如:30min(分钟)、1h(小时)、2h、5h、12h等等,在设置时间间隔之后,只要确定开始进行正确性校验的时刻,那么每一个周期对应的时刻均是确定的。
示例性的,若设置的时间间隔为1h,数据存储系统中的控制节点在2017.03.04.10:00(24小时制)时刻开始对数据块进行数据正确性校验,那么,可以确定第二次进行正确性校验的时刻为:2017.03.04.11:00、第三次进行正确性校验的时刻为:2017.03.04.12:00、……,在本发明实施例提供的方案中,称上述这些时刻为预设时间点。不难理解的是,在上述的预设时间点到达时,可以对已存储的数据进行正确性校验,即执行步骤S102。
需要说明的是,上述所设置的时间间隔仅为本发明实施例提供的几个具体举例,本发明实施例并不对预设时间点的具体内容做明确限定。
S102:对目标数据块进行正确性校验。
在到达上述预设时间点的情况下,对数据块进行正确性校验,由于磁盘中通常存储有大量的数据块,而对于数据存储系统来说,在进行正确性校验的过程中,一个磁盘通常对应一个校验管理线程(Fsck Manager)来实现正确性校验,数据存储系统中往往有多个用于存储数据的磁盘,各磁盘之间可以通过并行的方式进行校验,即同时启用多个校验管理线程对多个磁盘中的数据块进行正确性校验,或者是通过串行的方式进行校验,即依次对每个磁盘中的数据块进行正确性校验,需要说明的是,采用并行的方式进行正确性校验时,每一磁盘均对应一个校验管理线程。如果采用串行的方式进行正确性校验时,可以允许多个磁盘对应同一个校验管理线程。
本领域技术人员能够理解的是,上述数据存储系统中各磁盘在形式上是对等的,因此,以下仅以一个磁盘(磁盘A)为例进行说明,具体的,当数据存储系统的控制节点在判断到达预设时间点时,启用磁盘A对应的校验管理线程a,此时,校验管理线程a从磁盘A存储的数据块中拉取一个数据块进行正确性校验。拉取的数据块即为目标数据块,拉取数据块的规则有很多,例如,按照数据块的名称进行拉取、或者按照数据块的修改时间进行拉取以及按照数据块的大小进行拉取等等,以上均是合理的。同时,数据块的名称可以是升序排列的也可以是降序排列的,修改时间也可以是升序排列也可以是降序排列,数据块的大小也可以是由小到大排列也可以是由大到小排列的。因此,本发明实施例并不对拉取数据块的规则做明确限定。
参见图2,为本发明实施例提供的数据正确性校验方法的另一种流程示意图,在本发明实施例提供的方案中,图1实施例中提供的步骤S102,可以包括步骤:
S1021:获得目标数据块和所述目标数据块对应的索引文件,其中,所述目标数据块为至少一个文件对象的集合,所述索引文件为所述目标数据块中每一文件对象的索引的集合;
为了清楚地对本发明实施例进行说明,首先对目标数据块的结构进行简单的介绍,目标数据块中包括多个文件对象,假设包括100个文件对象,那么,这100个文件对象依次进行排列,如Object1、Object2、……、Object99、Object100,而每一个文件对象又包括Object Header(对象头文件)以及Object Content(对象内容),其中,Object Header中至少包含有检验码(Cyclic Redundancy Check,简称CRC),通常情况下,Object Header中还可以包含有Magic Number(幻数)等,因此,本发明实施例不对Object Header中包含的具体形式做明确限定。本领域技术人员能够理解的是,在对文件对象进行存储时,可以根据Object Content(对象内容)来计算一个校验码CRC,该校验码CRC为该对象内容的初始校验码。
为了方便快速地对目标数据块以及目标数据块中包含的各文件对象进行检索,目标数据块中包含的每一文件对象均对应建立索引,所有文件对象对应的索引便为目标数据块对应的索引文件,每一文件对象的索引包括该文件对象在目标数据块中的位置以及该文件对象的大小,其中,该文件对象在目标数据块中的位置表示该文件对象在目标数据块中占用的是哪段存储空间,如Object11在目标数据块的第40Mb-45Mb的数据存储段中进行存储,或者可以表示该文件对象在目标数据块中排在第几的位置,如Object11在目标数据块中排在第11位,即Object11在目标数据块中的位置为11。
在本发明实施例提供的一种具体实现方式中,所述获得目标数据块和所述目标数据块对应的索引文件的步骤,可以包括:
根据目标校验目录、目标数据块的标识或所述目标数据块对应的索引文件的标识,从磁盘中获得所述目标数据块和所述索引文件,其中,所述目标校验目录包括:所述目标数据块的标识与所述目标数据块对应索引文件的标识之间的对应关系。
目标校验目录可以理解为是一种对照关系表,该对照关系表包括:目标数据块的标识与目标数据块对应索引文件的标识之间的对应关系。具体的,本发明实施例提供的一种具体的目标校验目录如表1所示:
序号 | 目标数据块的标识 | 索引文件的标识 |
1 | Object1 | Sy001 |
2 | Object2 | Sy002 |
3 | Object3 | Sy003 |
4 | Object4 | Sy004 |
5 | Object5 | Sy005 |
可见,根据表1所示的对应关系和目标数据块的标识以及索引文件的标识中的一者,便能够确定出另一者,例如,根据表1所示的对应关系以及目标数据块的标识,能够确定索引文件的标识;再例如,根据表1所示的对应关系以及索引文件的标识,能够确定目标数据块的标识。
综上可见,能够确定出目标数据块的标识以及索引文件的标识,进而能够根据目标数据块的标识从磁盘中获得目标数据块,根据索引文件的标识从磁盘中获得索引文件。
S1022:检测所述目标数据块中是否存在第一校验码与第二校验码不一致的文件对象,其中,对于所述目标数据块中的每一文件对象,所述第一校验码为:本地存储的针对文件对象中对象内容的校验码,所述第二校验码为:根据文件对象中对象内容计算得到的校验码;若存在,执行步骤S1023;若不存在,执行步骤S1024。
S1023:判定所述目标数据块未通过校验;
S1024:判定所述目标数据块通过校验。
由上可知的是,在对文件对象进行存储时,可以根据Object Content(对象内容)来计算一个校验码CRC,该校验码CRC为该对象内容的初始校验码,该校验码被存储至本地,是该文件对象的一部分。在本发明实施例提供的方案中,称上述所说的初始校验码为第一校验码,第一校验码为本地存储的针对文件对象中的对象内容计算出的校验码,该第一校验码是评判该文件对象是否发生损坏的标准。
不难理解的是,如果目标数据块中的文件对象发生损坏,那么此时该文件对象的对象内容必然会发生损坏,如果对象内容若发生损坏的话,那根据该对象内容计算出的校验码与发生损坏之前的对象内容计算出的第一校验码必然不同;当然,如果文件对象未发生损坏,也就说明该文件对象对应的对象内容也未发生损坏,由于此时的对象内容未发生变化,因此,根据该对象内容计算出的校验码与上述的第一校验码相同。
可以根据当前状态下目标数据块包含的各文件对象的对象内容,分别计算当前状态下针对每一文件对象的校验码,本发明实施例提供的方案中,称当前计算出的校验码为第二校验码,在计算出第二校验码之后,判断第一校验码与第二校验码是否一致,如果目标数据块包含的文件对象中存在某一文件对象对应的第一校验码与第二校验码不一致,那也就说明该文件对象发生损坏,因此,可判定目标数据块未通过校验。如果目标数据块中包含的每一文件对象对应的第一校验码和第二校验码均一致,那么说明该目标数据块中包含的所有文件对象均为发生损坏,因此,可以判定目标数据块通过校验。
针对数据存储系统中的每一磁盘,通常启用一个校验管理线程来实现正确性校验的任务,而一个校验管理线程往往要合理地对该磁盘中多个数据块中的多个文件对象进行正确性校验的话,需要按照一定的顺序进行正确性校验。
具体的,如图3所示,为本发明实施例提供的针对图2提供实施例中的步骤S1022的一种具体实现方式的流程示意图,检测所述目标数据块中是否存在第一校验码与第二校验码不一致的文件对象的步骤(即,步骤S1022),可以包括以下步骤:
a:按照预设的顺序,从所述目标数据块的文件对象中确定当前文件对象;
b:检测当前文件对象的第一校验码与第二校验码是否一致;若一致,执行步骤c;若不一致,执行步骤h;
c:累积所述目标数据块中已检测文件对象的数据大小,获得数据总和;并根据当前时间戳和起始校验时间戳,计算总校验耗时;
d:根据所述数据总和以及所述总校验耗时,计算实际磁盘读取速度;
e:判断所述实际磁盘读取速度是否大于预设磁盘读取速度限值;若小于等于,执行步骤f;若大于,则执行步骤g;
f:判断是否完成针对所述目标数据块中所有文件对象的校验,若未完成,执行步骤f1;若已完成,执行步骤f2;
其中,
f1:按照所述预设的顺序将当前文件对象更新为下一文件对象,并返回步骤b;
f2:判定所述目标数据块中不存在第一校验码与第二校验码不一致的文件对象;
g:根据所述当前文件对象的数据大小以及所述预设磁盘读取速度限值,计算对当前文件对象进行校验的标准耗时,并获得对当前文件对象进行校验的实际耗时,进入休眠状态,休眠时长为:所述标准耗时与所述实际耗时的差值;休眠结束后,执行所述判断是否完成针对所述目标数据块中所有文件对象的校验的步骤;
h:判定所述目标数据块中存在第一校验码与第二校验码不一致的文件对象。
为了清楚地对本发明实施例进行说明,下面以表1所示的目标数据块包含5个文件对象(即Object1-5)为例进行说明。
示例性的,按照表1提供目标校验目录中文件对象的顺序作为正确性校验的顺序,假设当前已经对Object3进行正确性校验完成,且Object3未发生损坏,那么,根据表1中提供的顺序,可以从目标数据块的文件对象中确定Object4为当前文件对象;因此,检测Object4的第一校验码与第二校验码是否一致,具体的,根据当前状态下Object4的对象内容计算出第二校验码,然后将该第二校验码与Object4的Object Header中的校验码CRC(第一校验码)进行比较,判断是否一致。
由于判断结果可能为一致,也可能为不一致,因此,下面分一致和不一致这两种情况进行介绍。
首先介绍不一致的情况,当检测到Object4的第一校验码与第二校验码不一致时,则说明Object4的对象内容已发生损坏,因此,可以判定该目标数据块中存在第一校验码与第二校验码不一致的文件对象。
而一致的情况,需要累积目标数据块中已检测文件对象的数据大小,获得数据总和;并根据当前时间戳和起始校验时间戳,计算总校验耗时。具体的过程为:累积目标数据块中已检测过的Object1-4的数据大小,计算上述4个文件对象的数据总和,假设计算出的数据总和为:3.3GB;并计算总校验耗时,总校验耗时为当前时间戳减去起始校验时间戳,需要说明的是,这里所说的起始校验时间戳是指,开始对目标数据块中的第一个文件对象(Object1)进行校验时对应的时间戳,如,起始校验时间戳为:2017.03.04.10:00,若当前时间戳为:2017.03.04.10:45,那么可以计算出总校验耗时=当前时间戳-起始校验时间戳=45min(分钟)。
上述能够获得数据总和(3.3GB)以及总校验耗时(45min),那么,可以根据获得的数据总和(3.3GB)以及总校验耗时(45min),计算实际磁盘读取速度,在本发明实施例提供的一种具体实现方式中,实际盘读取速度可以但不限于通过如下公式计算:
实际磁盘读取速度=数据总和/总校验耗时;
因此,可计算出实际磁盘读取速度=(3.3*1024)/(45*60)=1.25Mb/s(兆每秒)。
本领域技术人员能够理解的是,对数据块进行正确性校验通常是在数据存储系统处于低负载或者是空闲状态下进行的,因此,为了不影响数据存储系统的正常功能和服务,本发明实施例提供的方案中,可以预先设置磁盘读取速度的阈值,称该阈值为预设磁盘读取速度限值。
例如,设置的预设磁盘读取速度限值为:5Mb/s,判断上述计算的实际磁盘读取速度是否大于预设磁盘读取速度限值,通过比较可知,实际磁盘读取速度小于等于(即,不大于)预设磁盘读取速度限值,则判断是否完成针对目标数据块中所有文件对象的校验,可见,目标数据块中共包含5个文件对象,而当前状态下一共完成了4个文件对象(即,Object1-4),因此,还需要按照表1中提供的顺序,将Object5确定为当前文件对象,然后返回检测当前文件对象(Object5)的第一校验码与第二校验码是否一致,继续执行上述过程,直至完成对目标数据块中的最后一个文件对象(object5)的正确性校验为止。
假设Object5的第一校验码和第二校验码一致,由于Object5是目标数据块中的最后一个文件对象,因此,可以直接判定所述目标数据块中不存在第一校验码与第二校验码不一致的文件对象;当然,也可以按照与Object4相同的过程执行,本发明实施例对目标数据块中最后一个文件对象判定的过程不做进一步限定。
再例如,上述设置的预设磁盘读取速度限值为:1.0Mb/s,通过比较可知,对Object4进行正确性校验时,实际磁盘读取速度大于预设磁盘读取速度限值,因此,根据当前文件对象(Object4)的数据大小(假设数据大小为0.4Mb)以及预设磁盘读取速度限值(1.0Mb/s),计算对当前文件对象进行校验的标准耗时,具体的,标准耗时可以但不限于通过如下公式计算:
标准耗时=当前文件对象的数据大小/预设磁盘读取速度限值;
因此,可计算出标准耗时=0.4/1.0=0.4h=24min,而对Object4进行校验的实际耗时=0.4/1.25=0.32h=19.2min,可计算出休眠时长=标准耗时-实际耗时=24-19.2=4.8min=288s(秒),若当前时间戳为:2017.03.04.10:45的话,那么在2017.03.04.10:45:01至2017.03.04.10:49:48之间,控制节点进入休眠状态,休眠的总时长为288s。在休眠结束后,返回判断是否完成针对所述目标数据块中所有文件对象的校验的步骤(即步骤f)继续执行。执行步骤f的过程与前述无异,因此,该出不再赘述。
需要说明的是,以上各时间戳以及文件对象的数据大小等仅为本发明实施例提供的一种具体举例,并不构成本发明对上述内容的限定。
综上可见,图1实施例提供的方案,通过预先设置正确性校验的时间点,当达到上述设置的时间点时,便开始对已存储在磁盘中的目标数据块进行正确性校验,若目标数据块中存在第一校验码与第二校验码不一致的文件对象,判定目标数据块未通过校验,若目标数据块中不存在第一校验码与第二校验码不一致的文件对象,则判定目标数据块通过校验;可见,应用本发明实施例提供的方案进行正确性校验,能够根据设置的时间点对目标数据块进行正确性校验,避免了长时间未对目标数据块进行正确性校验的现象,有效地提高了数据存储系统的数据安全性和稳定性。
本发明实施例基于图2提供的方法实施例,在所述数据存储系统按照多副本形式进行数据存储的情况下,该方法还包括如下步骤:
当判定所述目标数据块未通过校验时,将所述目标数据块替换为第一数据块,所述第一数据块为与所述目标数据块匹配的其他数据块副本中通过校验的数据块副本。
本领域技术人员能够理解的是,为了保证数据存储系统的数据安全性,数据存储系统通常会按照多副本形式进行数据存储,多副本形式有三副本、四副本等等,其中最为常见的是三副本形式,假设上述的数据存储系统是按照三副本形式进行数据存储,例如,目标数据块的三个副本分别存储在磁盘A、磁盘B和磁盘C中,现假设磁盘A中存储的目标数据块的Object4发生损坏,那么,判定该目标数据块未通过校验,此时,可以将磁盘B或磁盘C中通过校验的与磁盘A中目标数据块匹配的另外两个目标数据块副本作为第一数据块,并将磁盘A中存储的上述目标数据块替换成第一数据块。
应用本发明实施例提供的方案进行正确性校验,能够对未通过校验的目标数据块进行数据修复,进一步的提高了数据存储系统的数据安全性以及稳定性。
本发明实施例基于图2提供的方法实施例,该方法还包括如下步骤:
在判定所述目标数据块通过校验之后,判断第一结束时刻是否处于预设结束时刻之前,其中,所述第一结束时刻为:判定所述目标数据块通过校验时的时刻;如果第一结束时刻处于预设结束时刻之前,那么在所述第一结束时刻至所述预设结束时刻之间进入睡眠状态。
对于同一磁盘来说,因为同一磁盘中的各数据块均由同一个校验管理线程进行正确性校验的,一般情况下,该校验管理线程是采用串行的方式对磁盘中的各数据块进行正确性校验,为了进一步地减少因正确性校验对数据存储系统其他功能和服务造成的影响,使对目标数据块进行正确性校验尽可能占用数据存储系统中控制节点的运行内存,在发明实施例提供的方案中,若上述判定目标数据块通过校验之后,可以判断第一结束时刻是否处于预设结束时刻之前,如果第一结束时刻处于预设结束时刻之前,为了节省内存,可以在第一结束时刻至预设结束时刻之间进入睡眠状态,本发明实施例中提及的第一结束时刻是指:判定目标数据块通过校验时的时刻。
可见,应用本发明实施例提供的方案进行正确性校验,当判定目标数据块通过校验对应的第一时刻处于预设结束时刻之前时,可以另控制节点在第一结束时刻至预设结束时刻之间进入睡眠状态,进而节省了数据存储系统的运行内存,减少了正确性校验对数据存储系统其他功能和服务的影响,进一步的提高了数据存储系统的稳定性。
图4为本发明实施例提供的数据正确性校验装置的一种结构示意图,可以应用于数据存储系统中的控制节点,该装置包括:第一判断模块201、校验模块202。
第一判断模块201,用于判断是否到达预设时间点;
校验模块202,用于在所述判断模块202判定为是的情况下,对目标数据块进行正确性校验。
参见图5,为本发明实施例提供的数据正确性校验装置的另一种结构示意图,在图5所示的示意图中,针对图1实施例中提供的校验模块202,可以包括:获得子模块2011、检测子模块2022、第一判定子模块2023和第二判定子模块2024。
获得子模块2021,用于获得目标数据块和所述目标数据块对应的索引文件,其中,所述目标数据块为至少一个文件对象的集合,所述索引文件为所述目标数据块中每一文件对象的索引的集合;
检测子模块2022,用于检测所述目标数据块中是否存在第一校验码与第二校验码不一致的文件对象,其中,对于所述目标数据块中的每一文件对象,所述第一校验码为:本地存储的针对文件对象中对象内容的校验码,所述第二校验码为:根据文件对象中对象内容计算得到的校验码;
第一判定子模块2023,用于在所述检测子模块2022检测为是的情况下,判定所述目标数据块未通过校验;
第二判定子模块2024,用于在所述检测子模块2022检测为否的情况下,判定所述目标数据块通过校验。
在本发明实施例提供的一种具体实现方式中,上述的获得子模块2021,具体用于:
根据目标校验目录、目标数据块的标识或所述目标数据块对应的索引文件的标识,从磁盘中获得所述目标数据块和所述索引文件,其中,所述目标校验目录包括:所述目标数据块的标识与所述目标数据块对应索引文件的标识之间的对应关系。
可选地,上述的检测子模块2022,可以包括:
对象确定单元,用于按照预设的顺序,从所述目标数据块的文件对象中确定当前文件对象;
对象检测单元,用于检测当前文件对象的第一校验码与第二校验码是否一致;
耗时计算单元,用于在所述对象检测单元的检测结果为一致的情况下,累积所述目标数据块中已检测文件对象的数据大小,获得数据总和;并根据当前时间戳和起始校验时间戳,计算总校验耗时;
速度计算单元,用于根据所述数据总和以及所述总校验耗时,计算实际磁盘读取速度;
速度判断单元,用于判断所述实际磁盘读取速度是否大于预设磁盘读取速度限值;
校验判断单元,用于在所述判断单元的判断结果为小于等于的情况下,判断是否完成针对所述目标数据块中所有文件对象的校验,若未完成,按照所述预设的顺序将当前文件对象更新为下一文件对象,并触发所述对象检测单元;若已完成,判定所述目标数据块中不存在第一校验码与第二校验码不一致的文件对象;
耗时获得单元,用于在所述判断单元的判断结果为大于的情况下,根据所述当前文件对象的数据大小和以及所述预设磁盘读取速度限值,计算对当前文件对象进行校验的标准耗时,并获得对当前文件对象进行校验的实际耗时,进入休眠状态,休眠时长为:所述标准耗时与所述实际耗时的差值;休眠结束后,触发所述校验判断单元;
对象判定单元,用于在所述对象检测单元的检测结果为不一致的情况下,判定所述目标数据块中存在第一校验码与第二校验码不一致的文件对象
应用图4提供的装置进行正确性校验,能够根据设置的时间点对目标数据块进行正确性校验,避免了长时间未对目标数据块进行正确性校验的现象,有效地提高了数据存储系统的数据安全性和稳定性。
本发明实施例基于图5提供的方法实施例,在所述数据存储系统按照多副本形式进行数据存储的情况下,该装置还包括:替换模块。
替换模块,用于在所述目标数据块未通过校验时,将所述目标数据块替换为第一数据块,所述第一数据块为与所述目标数据块匹配的其他数据块副本中通过校验的数据块副本。
应用本发明实施例提供的装置进行正确性校验,能够对未通过校验的目标数据块进行数据修复,进一步的提高了数据存储系统的数据安全性以及稳定性。
本发明实施例基于图2提供的方法实施例,该装置还包括:第二判断模块和第一睡眠模块。
第二判断模块,用于在判定所述目标数据块通过校验之后,判断第一结束时刻是否处于预设结束时刻之前,其中,所述第一结束时刻为:判定所述目标数据块通过校验时的时刻;
第一睡眠模块,用于在所述第二判断模块判断结果为是的情况下,在所述第一结束时刻至所述预设结束时刻之间进入睡眠状态。
应用本发明实施例提供的装置进行正确性校验,当判定目标数据块通过校验对应的第一时刻处于预设结束时刻之前时,可以另控制节点在第一结束时刻至预设结束时刻之间进入睡眠状态,进而节省了数据存储系统的运行内存,减少了正确性校验对数据存储系统其他功能和服务的影响,进一步的提高了数据存储系统的稳定性。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种数据正确性校验方法,应用于数据存储系统中的控制节点,其特征在于,所述方法包括:
判断是否到达预设时间点;
如果是,对目标数据块进行正确性校验;
所述对目标数据块进行正确性校验的步骤,包括:
获得目标数据块和所述目标数据块对应的索引文件,其中,所述目标数据块为至少一个文件对象的集合,所述索引文件为所述目标数据块中每一文件对象的索引的集合;
检测所述目标数据块中是否存在第一校验码与第二校验码不一致的文件对象,其中,对于所述目标数据块中的每一文件对象,所述第一校验码为:本地存储的针对文件对象中对象内容的校验码,所述第二校验码为:根据文件对象中对象内容计算得到的校验码;
若存在,判定所述目标数据块未通过校验;
若不存在,判定所述目标数据块通过校验。
2.根据权利要求1所述的方法,其特征在于,所述获得目标数据块和所述目标数据块对应的索引文件的步骤,包括:
根据目标校验目录、目标数据块的标识或所述目标数据块对应的索引文件的标识,从磁盘中获得所述目标数据块和所述索引文件,其中,所述目标校验目录包括:所述目标数据块的标识与所述目标数据块对应索引文件的标识之间的对应关系。
3.根据权利要求1所述的方法,其特征在于,在所述数据存储系统按照多副本形式进行数据存储的情况下,所述方法还包括:
当判定所述目标数据块未通过校验时,将所述目标数据块替换为第一数据块,所述第一数据块为与所述目标数据块匹配的其他数据块副本中通过校验的数据块副本。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在判定所述目标数据块通过校验之后,判断第一结束时刻是否处于预设结束时刻之前,其中,所述第一结束时刻为:判定所述目标数据块通过校验时的时刻;
如果是,在所述第一结束时刻至所述预设结束时刻之间进入睡眠状态。
5.根据权利要求1-4中任意一项所述的方法,其特征在于,所述检测所述目标数据块中是否存在第一校验码与第二校验码不一致的文件对象的步骤,包括:
按照预设的顺序,从所述目标数据块的文件对象中确定当前文件对象;
检测当前文件对象的第一校验码与第二校验码是否一致;
若一致,累积所述目标数据块中已检测文件对象的数据大小,获得数据总和;并根据当前时间戳和起始校验时间戳,计算总校验耗时;
根据所述数据总和以及所述总校验耗时,计算实际磁盘读取速度;
判断所述实际磁盘读取速度是否大于预设磁盘读取速度限值;
若小于等于,判断是否完成针对所述目标数据块中所有文件对象的校验,若未完成,按照所述预设的顺序将当前文件对象更新为下一文件对象,并返回所述检测当前文件对象的第一校验码与第二校验码是否一致的步骤;若已完成,判定所述目标数据块中不存在第一校验码与第二校验码不一致的文件对象;
若大于,根据所述当前文件对象的数据大小和以及所述预设磁盘读取速度限值,计算对当前文件对象进行校验的标准耗时,并获得对当前文件对象进行校验的实际耗时,进入休眠状态,休眠时长为:所述标准耗时与所述实际耗时的差值;休眠结束后,执行所述判断是否完成针对所述目标数据块中所有文件对象的校验的步骤;
若不一致,判定所述目标数据块中存在第一校验码与第二校验码不一致的文件对象。
6.一种数据正确性校验装置,应用于数据存储系统中的控制节点,其特征在于,所述装置包括:
第一判断模块,用于判断是否到达预设时间点;
校验模块,用于在所述判断模块判定为是的情况下,对目标数据块进行正确性校验;
所述校验模块,包括:
获得子模块,用于获得目标数据块和所述目标数据块对应的索引文件,其中,所述目标数据块为至少一个文件对象的集合,所述索引文件为所述目标数据块中每一文件对象的索引的集合;
检测子模块,用于检测所述目标数据块中是否存在第一校验码与第二校验码不一致的文件对象,其中,对于所述目标数据块中的每一文件对象,所述第一校验码为:本地存储的针对文件对象中对象内容的校验码,所述第二校验码为:根据文件对象中对象内容计算得到的校验码;
第一判定子模块,用于在所述检测子模块检测为是的情况下,判定所述目标数据块未通过校验;
第二判定子模块,用于在所述检测子模块检测为否的情况下,判定所述目标数据块通过校验。
7.根据权利要求6所述的装置,其特征在于,所述获得子模块,具体用于:
根据目标校验目录、目标数据块的标识或所述目标数据块对应的索引文件的标识,从磁盘中获得所述目标数据块和所述索引文件,其中,所述目标校验目录包括:所述目标数据块的标识与所述目标数据块对应索引文件的标识之间的对应关系。
8.根据权利要求6所述的装置,其特征在于,在所述数据存储系统按照多副本形式进行数据存储的情况下,所述装置还包括:
替换模块,用于在所述目标数据块未通过校验时,将所述目标数据块替换为第一数据块,所述第一数据块为与所述目标数据块匹配的其他数据块副本中通过校验的数据块副本。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二判断模块,用于在判定所述目标数据块通过校验之后,判断第一结束时刻是否处于预设结束时刻之前,其中,所述第一结束时刻为:判定所述目标数据块通过校验时的时刻;
第一睡眠模块,用于在所述第二判断模块判断结果为是的情况下,在所述第一结束时刻至所述预设结束时刻之间进入睡眠状态。
10.根据权利要求6-9中任意一项所述的装置,其特征在于,所述检测子模块,包括:
对象确定单元,用于按照预设的顺序,从所述目标数据块的文件对象中确定当前文件对象;
对象检测单元,用于检测当前文件对象的第一校验码与第二校验码是否一致;
耗时计算单元,用于在所述对象检测单元的检测结果为一致的情况下,累积所述目标数据块中已检测文件对象的数据大小,获得数据总和;并根据当前时间戳和起始校验时间戳,计算总校验耗时;
速度计算单元,用于根据所述数据总和以及所述总校验耗时,计算实际磁盘读取速度;
速度判断单元,用于判断所述实际磁盘读取速度是否大于预设磁盘读取速度限值;
校验判断单元,用于在所述速度判断单元的判断结果为小于等于的情况下,判断是否完成针对所述目标数据块中所有文件对象的校验,若未完成,按照所述预设的顺序将当前文件对象更新为下一文件对象,并触发所述对象检测单元;若已完成,判定所述目标数据块中不存在第一校验码与第二校验码不一致的文件对象;
耗时获得单元,用于在所述速度判断单元的判断结果为大于的情况下,根据所述当前文件对象的数据大小和以及所述预设磁盘读取速度限值,计算对当前文件对象进行校验的标准耗时,并获得对当前文件对象进行校验的实际耗时,进入休眠状态,休眠时长为:所述标准耗时与所述实际耗时的差值;休眠结束后,触发所述校验判断单元;
对象判定单元,用于在所述对象检测单元的检测结果为不一致的情况下,判定所述目标数据块中存在第一校验码与第二校验码不一致的文件对象。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710258074.9A CN108572883B (zh) | 2017-04-19 | 2017-04-19 | 一种数据正确性校验方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710258074.9A CN108572883B (zh) | 2017-04-19 | 2017-04-19 | 一种数据正确性校验方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108572883A CN108572883A (zh) | 2018-09-25 |
CN108572883B true CN108572883B (zh) | 2021-06-18 |
Family
ID=63576168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710258074.9A Active CN108572883B (zh) | 2017-04-19 | 2017-04-19 | 一种数据正确性校验方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108572883B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918226A (zh) * | 2019-02-26 | 2019-06-21 | 平安科技(深圳)有限公司 | 一种静默错误检测方法、装置及存储介质 |
CN113972989B (zh) * | 2020-07-06 | 2023-09-15 | 宇龙计算机通信科技(深圳)有限公司 | 数据校验方法及存储介质、电子设备 |
CN113972990B (zh) * | 2020-07-06 | 2024-04-16 | 宇龙计算机通信科技(深圳)有限公司 | 数据校验方法、装置、存储介质及电子设备 |
CN112306753B (zh) * | 2020-10-30 | 2024-07-23 | 联想(北京)有限公司 | 一种数据修复方法、装置及系统 |
CN112765124B (zh) * | 2020-12-30 | 2024-05-17 | 深圳市捷顺科技实业股份有限公司 | 一种自动校验数据的核对方法及服务器 |
CN112738249B (zh) * | 2020-12-30 | 2023-11-21 | 平安证券股份有限公司 | 基于量化交易的文件上传方法、装置、设备及存储介质 |
CN114415970B (zh) * | 2022-03-25 | 2022-06-17 | 北京金山云网络技术有限公司 | 分布式存储系统的磁盘故障处理方法、装置及服务器 |
CN114579352A (zh) * | 2022-04-29 | 2022-06-03 | 阿里云计算有限公司 | 数据重构方法以及装置 |
CN118069406B (zh) * | 2024-04-16 | 2024-08-16 | 苏州元脑智能科技有限公司 | 一种存储数据校验系统及方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6324669B1 (en) * | 1997-11-17 | 2001-11-27 | Seagate Technology Llc | Method and apparatus for using CRC for data integrity in on-chip memory |
WO2007073547A2 (en) * | 2005-12-22 | 2007-06-28 | Sony Online Entertainment Llc | Remotely repairing files by hierarchical and segmented cyclic redundancy checks |
CN102346694A (zh) * | 2007-03-29 | 2012-02-08 | 提琴存储器公司 | 一种在存储系统中计算奇偶校验的方法 |
CN102696017A (zh) * | 2010-02-22 | 2012-09-26 | 国际商业机器公司 | 用于在回写分布式冗余数据存储系统中维持奇偶校验一致性的读取其他项的协议 |
CN103778030A (zh) * | 2013-12-30 | 2014-05-07 | 上海晨思电子科技有限公司 | 日志子系统写入方法、错误追踪方法及处理器 |
CN104461771A (zh) * | 2014-11-03 | 2015-03-25 | 北京百度网讯科技有限公司 | 数据备份处理方法和装置 |
CN105122213A (zh) * | 2013-03-15 | 2015-12-02 | 思科技术公司 | 用于数据存储系统中的错误检测和纠正的方法和装置 |
CN106326029A (zh) * | 2016-08-09 | 2017-01-11 | 浙江万胜智能科技股份有限公司 | 一种用于电力仪表的数据存储方法 |
-
2017
- 2017-04-19 CN CN201710258074.9A patent/CN108572883B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6324669B1 (en) * | 1997-11-17 | 2001-11-27 | Seagate Technology Llc | Method and apparatus for using CRC for data integrity in on-chip memory |
WO2007073547A2 (en) * | 2005-12-22 | 2007-06-28 | Sony Online Entertainment Llc | Remotely repairing files by hierarchical and segmented cyclic redundancy checks |
CN102346694A (zh) * | 2007-03-29 | 2012-02-08 | 提琴存储器公司 | 一种在存储系统中计算奇偶校验的方法 |
CN102696017A (zh) * | 2010-02-22 | 2012-09-26 | 国际商业机器公司 | 用于在回写分布式冗余数据存储系统中维持奇偶校验一致性的读取其他项的协议 |
CN105122213A (zh) * | 2013-03-15 | 2015-12-02 | 思科技术公司 | 用于数据存储系统中的错误检测和纠正的方法和装置 |
CN103778030A (zh) * | 2013-12-30 | 2014-05-07 | 上海晨思电子科技有限公司 | 日志子系统写入方法、错误追踪方法及处理器 |
CN104461771A (zh) * | 2014-11-03 | 2015-03-25 | 北京百度网讯科技有限公司 | 数据备份处理方法和装置 |
CN106326029A (zh) * | 2016-08-09 | 2017-01-11 | 浙江万胜智能科技股份有限公司 | 一种用于电力仪表的数据存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108572883A (zh) | 2018-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108572883B (zh) | 一种数据正确性校验方法及装置 | |
CN110019140B (zh) | 数据迁移方法、装置、设备以及计算机可读存储介质 | |
US20150309923A1 (en) | Storage control apparatus and storage system | |
CN111078662B (zh) | 一种区块链数据存储方法与装置 | |
CN107506266B (zh) | 一种数据恢复方法及系统 | |
CN112817527B (zh) | 掉电数据存储方法、单片机及计算机可读存储介质 | |
CN107315616B (zh) | 一种固件的加载方法、装置及电子设备 | |
EP2911351B1 (en) | Method and device for updating a routing search tree | |
CN102904685B (zh) | 一种硬件表项校验错误的处理方法及装置 | |
US10783982B2 (en) | Probation bit for data storage memory | |
CN112579327B (zh) | 一种故障检测方法、装置及设备 | |
CN107402870B (zh) | 一种元数据服务器中日志段的处理方法及装置 | |
CN111176885A (zh) | 一种分布式存储系统的数据校验方法及相关装置 | |
CN113204383B (zh) | 一种bmc配置参数存储的方法、装置、系统及存储介质 | |
CN114639437B (zh) | 存储器的测试方法、装置、设备及存储介质 | |
CN109388614A (zh) | 一种目录文件个数配额的方法、系统及设备 | |
CN111143116A (zh) | 一种磁盘坏块处理的方法及装置 | |
CN114706834B (zh) | 一种高效率的动态集合管理方法和系统 | |
CN112632621B (zh) | 数据存取方法、装置、设备及计算机存储介质 | |
CN112436962B (zh) | 区块链共识网络动态扩展方法、电子设备、系统及介质 | |
CN108196975B (zh) | 基于多校验和的数据验证方法、装置及存储介质 | |
CN111221468B (zh) | 存储块数据删除方法、装置、电子设备及云存储系统 | |
CN109358815B (zh) | 一种nand闪存数据管理方法和装置 | |
CN103473179A (zh) | 后台系统及其删除固态硬盘重复数据的方法 | |
CN107506147B (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 |