CN110348244A - 基于仲裁的多校验和验证方法、系统、装置及存储介质 - Google Patents

基于仲裁的多校验和验证方法、系统、装置及存储介质 Download PDF

Info

Publication number
CN110348244A
CN110348244A CN201810283971.XA CN201810283971A CN110348244A CN 110348244 A CN110348244 A CN 110348244A CN 201810283971 A CN201810283971 A CN 201810283971A CN 110348244 A CN110348244 A CN 110348244A
Authority
CN
China
Prior art keywords
verification
node
saved
arbitration
data packet
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.)
Granted
Application number
CN201810283971.XA
Other languages
English (en)
Other versions
CN110348244B (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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201810283971.XA priority Critical patent/CN110348244B/zh
Publication of CN110348244A publication Critical patent/CN110348244A/zh
Application granted granted Critical
Publication of CN110348244B publication Critical patent/CN110348244B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种基于仲裁的多校验和验证方法,不止利用本地节点保存数据及对应的校验和,还同时利用也保存有该数据及对应校验和的备用节点以及单独保存校验和的仲裁节点共同完成数据完整性的校验,相比于仅用单节点做校验,在同时备用节点和仲裁节点的情况下,基于多数决定原则能够显著降低校验和误判事件发生的概率,提升错误检验精度,且在一定程度上还能够利用正确的数据修复错误数据。本申请还同时公开了一种基于仲裁的多校验和验证系统、设备及计算机可读存储介质,具有上述有益效果。

Description

基于仲裁的多校验和验证方法、系统、装置及存储介质
技术领域
本申请涉及校验和校验技术领域,特别涉及一种基于仲裁的多校验和验证方法、系统、装置及计算机可读存储介质。
背景技术
保持数据的完整性是现代存储系统中最重要的职责,为尽可能完善这一机制,不断有各式相关技术被开发和应用于增强或改进这一机制,其中目前常用的且较为成熟的方法为利用校验和来完成数据完整性的校验。
校验和是从由数据块导出的小块基准,用于检测该数据块是否在传输或存储期间引入或发生了错误,通常情况下不对数据的真实性做判别。利用校验和来完成数据完整性的校验原理为:利用校验和生成算法为写入的数据计算得到一个校验和,而该校验和还用于与在实际读取该数据时重新生成的另一校验和进行比对,仅当两者一致时才能说明数据通过了完整性校验。
现今利用校验和进行数据完整性校验的方式一般仅在本地磁盘中存储有数据以及基于该数据得到的校验和,但由于该数据以及对应的校验和在存储下发的过程可能因各种因素干扰出现错误,也就是将错误的数据和校验和实际存储在了本地磁盘当中,即使在存储下发过程中未受到干扰且接收到了返回信号,也并不能意味着真正完成了数据及校验和的写入。每当该数据更新,其对应的校验和也需要更新,而最新的数据和最新的校验和需要覆盖本地磁盘中老旧的、错误的数据和校验和,在此种情况下,即使接收到了返回信号,也无法断定实际上是否成功使用最新的数据及校验和覆盖了本地磁盘中老旧的、错误的数据和校验和。
因此,如何克服现有技术利用校验和实现数据完整性校验时存在的技术缺陷,提供一种方法更科学、出错几率更低且能够一定程度上修复出现错误的数据或校验和的方法是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种基于仲裁的多校验和验证方法,不止利用本地节点保存数据及对应的校验和,还同时利用也保存有该数据及对应校验和的备用节点以及单独保存校验和的仲裁节点共同完成数据完整性的校验,相比于仅用单节点做校验,在同时备用节点和仲裁节点的情况下,基于多数决定原则能够显著降低校验和误判事件发生的概率,提升错误检验精度,且在一定程度上还能够利用正确的数据修复错误数据。
本申请的另一目的在于提供了一种基于仲裁的多校验和验证系统、装置及计算机可读存储介质。
为实现上述目的,本申请提供一种基于仲裁的多校验和验证方法,该多校验和验证方法包括:
利用校验和生成算法得到写入的数据的校验和,并将所述数据与对应的校验和封装为一个数据包;
将所述数据包分别发送至本地节点和备用节点进行保存,并单独将所述校验和保存至仲裁节点;
当读取所述数据时,利用所述校验和生成算法得到所述本地节点中实际保存的数据的第一校验和;
判断所述第一校验和与所述本地节点中实际保存的校验和是否一致;
若所述第一校验和与所述本地节点中实际保存的校验和一致,则比较所述本地节点、所述备用节点以及所述仲裁节点中实际保存的校验和是否一致;
当各节点实际保存的校验和一致时,将所述本地节点中实际保存的数据通过预设返回路径返回至用户客户端。
可选的,该多校验和验证方法还包括:
当各节点实际保存的校验和仅存在任意两个校验和一致时,判断与保持一致的两个校验和不相同的校验和是否来自所述仲裁节点;
当与保持一致的两个校验和不相同的校验和来自所述本地节点或所述备用节点时,判定与所述仲裁节点中实际保存的校验不一致的节点中实际保存的数据包为非最新数据包,并利用与所述仲裁节点中实际保存的校验和一致的节点中实际保存的数据包修复所述非最新数据包;
当与保持一致的两个校验和不相同的校验和来自所述仲裁节点时,利用所述本地节点或所述备用节点中实际保存的校验和修复所述仲裁节点中实际保存的校验和。
可选的,该多校验和验证方法还包括:
当所述第一校验和与所述本地节点中实际保存的校验和不一致时,利用所述校验和生成算法得到所述备用节点中实际保存的数据的第二校验和;
判断所述第二校验和与所述备用节点中实际保存的校验和是否一致;
若所述第二校验和与所述备用节点中实际保存的校验和一致,则比较所述本地节点、所述备用节点以及所述仲裁节点中实际保存的校验和是否一致;
当各节点实际保存的校验和一致时,判定所述本地节点在保存所述数据包时出现错误,并利用所述备用节点中实际保存的数据包修复所述本地节点中实际保存的数据包。
可选的,该多校验和验证方法还包括:
当所述第二校验和与所述备用节点中实际保存的校验和不一致时,判定所述本地节点和所述备用节点中实际保存的数据包均发生错误,并上报一型双节点故障。
可选的,该多校验和验证方法还包括:
当所述第二校验和与所述备用节点中实际保存的校验和一致,但各节点实际保存的校验和仅存在任意两个校验和一致时,判断与保持一致的两个校验和不相同的校验和是否来自所述仲裁节点;
当与保持一致的两个校验和不相同的校验和来自所述本地节点时,判定所述本地节点中实际保存的数据包存在错误,并利用所述备用节点中实际保存的数据包修复所述存在错误的数据包;
当与保持一致的两个校验和不相同的校验和来自所述备用节点时,判定所述本地节点和所述备用节点中实际保存的数据包均存在错误,并上报二型双节点故障;
当与保持一致的两个校验和不相同的校验和来自所述仲裁节点时,判定所述本地节点中实际保存的数据包与所述仲裁节点中实际保存的校验和均存在错误,并利用所述备用节点中实际保存的数据包修复所述存在错误的数据包与校验和。
为实现上述目的,本申请还提供了一种基于仲裁的多校验和验证系统,该多校验和验证系统包括:
校验和生成及封包单元,用于利用校验和生成算法得到写入的数据的校验和,并将所述数据与对应的校验和封装为一个数据包;
多节点存储单元,用于将所述数据包分别发送至本地节点和备用节点进行保存,并将所述校验和单独保存至仲裁节点;
第一校验和生成单元,用于当读取所述数据时,利用所述校验和生成算法得到所述本地节点中实际保存的数据的第一校验和;
第一校验和校验单元,用于判断所述第一校验和与所述本地节点中实际保存的校验和是否一致;
第一各校验和比较单元,用于当所述第一校验和与所述本地节点中实际保存的校验和一致时,比较所述本地节点、所述备用节点以及所述仲裁节点中实际保存的校验和是否一致;
正确数据返回单元,用于当各节点实际保存的校验和一致时,将所述本地节点中实际保存的数据通过预设返回路径返回至用户客户端。
可选的,该多校验和验证系统还包括:
第一来源判断单元,用于当各节点实际保存的校验和仅存在任意两个校验和一致时,判断与保持一致的两个校验和不相同的校验和是否来自所述仲裁节点;
非仲裁节点判定及处理单元,用于当与保持一致的两个校验和不相同的校验和来自所述本地节点或所述备用节点时,判定与所述仲裁节点中实际保存的校验和不一致的节点中实际保存的数据包为非最新数据包,并利用与所述仲裁节点中实际保存的校验和一致的节点中实际保存的数据包修复所述非最新数据包;
仲裁节点判定及第一处理单元,用于当与保持一致的两个校验和不相同的校验和来自所述仲裁节点时,利用所述本地节点或所述备用节点中实际保存的校验和修复所述仲裁节点中实际保存的校验和。
可选的,该多校验和验证系统还包括:
第二校验和生成单元,用于当所述第一校验和与所述本地节点中实际保存的校验和不一致时,利用所述校验和生成算法得到所述备用节点中实际保存的数据的第二校验和;
第二校验和校验单元,用于判断所述第二校验和与所述备用节点中实际保存的校验和是否一致;
第二各校验和比较单元,用于当所述第二校验和与所述备用节点中实际保存的校验和一致时,比较所述本地节点、所述备用节点以及所述仲裁节点中实际保存的校验和是否一致;
本地节点错误及第一处理单元,用于当各节点实际保存的校验和一致时,判定所述本地节点在保存所述数据包时出现错误,并利用所述备用节点中实际保存的数据包修复所述本地节点中实际保存的数据包。
可选的,该多校验和验证系统还包括:
一型双节点故障判定及上报单元,用于当所述第二校验和与所述备用节点中实际保存的校验和不一致时,判定所述本地节点和所述备用节点中实际保存的数据包均发生错误,并上报一型双节点故障。
可选的,该多校验和验证系统还包括:
第二来源判断单元,用于当所述第二校验和与所述备用节点中实际保存的校验和一致,但各节点实际保存的校验和仅存在任意两个校验和一致时,判断与保持一致的两个校验和不相同的校验和是否来自所述仲裁节点;
本地节点错误及第二处理单元,用于当与保持一致的两个校验和不相同的校验和来自所述本地节点时,判定所述本地节点中实际保存的数据包存在错误,并利用所述备用节点中实际保存的数据包修复所述存在错误的数据包;
二型双节点故障判定及上报单元,用于当与保持一致的两个校验和不相同的校验和来自所述备用节点时,判定所述本地节点和所述备用节点中实际保存的数据包均存在错误,并上报二型双节点故障;
仲裁节点判定及第二处理单元,用于当与保持一致的两个校验和不相同的校验和来自所述仲裁节点时,判定所述本地节点中实际保存的数据包与所述仲裁节点中实际保存的校验和均存在错误,并利用所述备用节点中实际保存的数据包修复所述存在错误的数据包与校验和。
为实现上述目的,本申请还提供了一种基于仲裁的多校验和验证装置,该多校验和验证装置包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述内容所描述的多校验和验证方法的步骤。
为实现上述目的,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内容所描述的多校验和验证方法的步骤。
本申请所提供的一种基于仲裁的多校验和验证方法:利用校验和生成算法得到写入的数据的校验和,并将所述数据与对应的校验和封装为一个数据包;将所述数据包分别发送至本地节点和备用节点进行保存,并单独将所述校验和保存至仲裁节点;当读取所述数据时,利用所述校验和生成算法得到所述本地节点中实际保存的数据的第一校验和;判断所述第一校验和与所述本地节点中实际保存的校验和是否一致;若所述第一校验和与所述本地节点中实际保存的校验和一致,则比较所述本地节点、所述备用节点以及所述仲裁节点中实际保存的校验和是否一致;当各节点实际保存的校验和一致时,将所述本地节点中实际保存的数据通过预设返回路径返回至用户客户端。
显然,本申请所提供的技术方案,不止利用本地节点保存数据及对应的校验和,还同时利用也保存有该数据及对应校验和的备用节点以及单独保存校验和的仲裁节点共同完成数据完整性的校验,相比于仅用单节点做校验,在同时备用节点和仲裁节点的情况下,基于多数决定原则能够显著降低校验和误判事件发生的概率,提升错误检验精度,且在一定程度上还能够利用正确的数据修复错误数据。本申请同时还提供了一种基于仲裁的多校验和验证系统、装置及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种基于仲裁的多校验和验证方法的流程图;
图2为本申请实施例所提供的基于仲裁的多校验和验证方法中一种当各节点中实际保存的校验和不完全一致时错误判定的流程图;
图3为本申请实施例所提供的基于仲裁的多校验和验证方法中一种当第一校验和与本地节点中实际保存的校验和不一致时错误判定的流程图;
图4为本申请实施例所提供的一种基于仲裁的多校验和验证系统的结构框图;
图5为本申请实施例所提供的另一种基于仲裁的多校验和验证方法的流程图。
具体实施方式
本申请的核心是提供一种基于仲裁的多校验和验证方法、系统、装置及计算机可读存储介质,不止利用本地节点保存数据及对应的校验和,还同时利用也保存有该数据及对应校验和的备用节点以及单独保存校验和的仲裁节点共同完成数据完整性的校验,相比于仅用单节点做校验,在同时备用节点和仲裁节点的情况下,基于多数决定原则能够显著降低校验和误判事件发生的概率,提升错误检验精度,且在一定程度上还能够利用正确的数据修复错误数据。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
以下结合图1,图1为本申请实施例所提供的一种基于仲裁的多校验和验证方法的流程图。
其具体包括以下步骤:
S101:利用校验和生成算法得到写入的数据的校验和,并将数据与对应的校验和封装为一个数据包;
本步骤旨在将写入的数据以及基于该数据计算得到的校验和一并封装为一个数据包,以便于在多节点间进行存储。
S102:将数据包分别发送至本地节点和备用节点进行保存,并单独将校验和保存至仲裁节点;
在S101的基础上,本步骤旨在将该数据包发送至本地节点进行保存的基础上,还将该数据包发送至备用节点进行保存,同时还单独将校验和保存至仲裁节点,以便后续利用这三个节点中实际保存的数据进行综合判定。
仲裁节点的作用可以通过下面的一个例子来理解:A和B两个人针对同一个事件分别陈述自己的意见,当A和B意见不统一时,这个人也就无法判断出谁的意见相对更为正确,因为仅凭个人的主观臆断是不可靠的。这时因此第三者C,利用C站在一个较为公正的立场去判断A和B对该事件所陈述的意见哪个更可信,若C赞同A或B其中一人的意见时则认为C与那个人达成了一致,因此基于多数压倒少数的原则两票胜出,此时的C因其所起到的作用可以被称为仲裁人,仲裁节点所起到的作用与仲裁人类似。
由于封装成一个数据包的缘故,一旦该数据包在数据传输过程中受到各因素干扰造成数据损坏时,默认该数据包的所有数据均已损坏,即数据和对应的校验和均处于不可信状态,即使在微小的可能下只损坏了其中一个,为保险起见还是将两者的状态判定进行捆绑,即排除只损坏其中一个的可能性,一旦损坏就会导致数据和对应的校验和均损坏。因此在此种情况下,只要能够确定基于数据得到的校验和存在错误,也就能够判断该错误校验和对应的数据也是错误的。
但需要注意的是,进行状态判定捆绑的前提是建立在该数据包传输至节点的过程中出现了故障,在数据包未受到干扰成功将正确的数据和校验和保存至目标节点上时,还会在数据在目标节点中进行持久化保存的过程中引入新的错误,在此种情况下,当然可能出现只损坏其中一个的可能性。
另一个可能性则是该数据包在传输过程也未受到干扰,且接收到了返回信号,通常情况下可以默认已经成功将该数据包中的内容存储至目标节点中了。一种常见的实际情景:该数据包中包含的为基于原数据在执行更新操作后得到的新数据及对应的校验和,即说明在目标节点中还存在着该原数据及对应的校验和,成功将包含新数据及对应的校验和的数据包存储至目标节点的过程,应利用该数据包中的新数据及对应的校验和覆盖掉原数据及对应的校验和,在此情况下会存在因特殊原因导致的虽然收到了该返回信号但实际未能成功利用新数据及对应的校验和覆盖掉原数据及对应的校验和,此种情况下属于目标节点中实际存储的数据包为非最新数据包。
S103:当读取数据时,利用校验和生成算法得到本地节点中实际保存的数据的第一校验和;
S104:判断第一校验和与本地节点中实际保存的校验和是否一致;
在S102的基础上,首先利用校验和生成算法得到本地节点中实际保存的数据的第一校验和,并判断该第一校验和与本地节点中实际保存的校验和是否一致。
S104步骤的判断结果不外乎存在该第一校验和与本地节点中实际保存的校验和一致或不一致两种情况,在两者不一致的情况下,还可以细分为两种可能性:(1)本地节点中实际保存的数据及校验和均存在错误(2)本地节点中实际保存的数据或校验和发生了错误;在两者一致的情况下,依然可以细分为两种可能性:(1)本地节点中实际保存的数据及校验和均是正确的且是最新的(2)本地节点中实际保存的数据及校验和均是正确的但不是最新的,而是由于在S102中所描述的最新数据包未能够成功覆盖掉老旧的数据包中包含的数据,但由于其使用的正确的老旧数据及对应的校验和,故仍会在本步骤判断中得到一致的结论。
S105:比较本地节点、备用节点以及仲裁节点中实际保存的校验和是否一致;
本步骤建立在S104的判断结果为第一校验和与本地节点中实际保存的校验和一致的基础上,旨在通过比较本地节点、备用节点以及仲裁节点中实际保存的校验和是否一致来进一步判断是否存在错误以及哪里出现错误。
S106:当各节点实际保存的校验和一致时,将本地节点中实际保存的数据通过预设返回路径返回至用户客户端;
在S105的基础上,且各节点实际保存的校验和一致时,由于在各节点中同时出现最新数据包和最新校验和未能成功覆盖老旧数据包和老旧校验和且均接收到了返回信号的几率极低,因此可以认为本地节点中实际保存的数据通过了基于校验和的数据完整性校验,可以将其返回至用户客户端。
S107:借助备用节点中实际保存的数据包和仲裁节点中实际保存的校验和完成错误判定及处理。
本步骤建立在S104判断结果为第一校验和与本地节点中实际保存的校验和不一致的基础上,在S104中已经说明了在出现两者不一致情况下可能意味着的两种不同可能性,因为仅利用上述步骤已经不能在此基础上做出完全正确的判断,因此还需要利用备用节点中实际保存的数据及校验和以及仲裁节点中实际保存的校验和共同进行后续的判断,各种具体的可能性会在后续实施例中进行详细阐述。
基于上述技术方案,本申请实施例提供的一种基于仲裁的多校验和验证方法,不止利用本地节点保存数据及对应的校验和,还同时利用也保存有该数据及对应校验和的备用节点以及单独保存校验和的仲裁节点共同完成数据完整性的校验,相比于仅用单节点做校验,在同时备用节点和仲裁节点的情况下,基于多数决定原则能够显著降低校验和误判事件发生的概率,提升错误检验精度,且在一定程度上还能够利用正确的数据修复错误数据。
以下结合图2,图2为本申请实施例所提供的基于仲裁的多校验和验证方法中一种当各节点中实际保存的校验和不完全一致时错误判定的流程图。
本实施例旨在描述实施例一S105中判断后可能出现的其它判断结果,与S106所描述的判断结果相并列,具体包括以下步骤:
S201:当各节点实际保存的校验和仅存在任意两个校验和一致时,判断与保持一致的两个校验和不相同的校验和是否来自仲裁节点;
因为仲裁节点的参与,则在不考虑三节点校验和均不相同的前提下,只会出现仅存在任意两个校验和一致的情况,具体的,可以概括为与保持一致的两个校验和不相同的校验和来自仲裁节点或其它节点,这里的其它节点表示的是本地节点或备用节点。
S202:利用本地节点或备用节点中实际保存的校验和修复仲裁节点中实际保存的校验和;
本步骤建立在S201的判断结果为与保持一致的两个校验和不相同的校验和来自仲裁节点的基础上,说明本地节点与备用节点上实际保存的校验和保持一致,仅在此种情况下才可修改仲裁节点上保存的校验和。当然,这一过程仍然遵守了多数可信原则。
S203:判定与仲裁节点中实际保存的校验和不一致的节点中实际保存的数据包为非最新数据包,并利用与仲裁节点中实际保存的校验和一致的节点中实际保存的数据包修复非最新数据包。
本步骤建立在S201的判断结果为与保持一致的两个校验和不相同的校验和来自非仲裁节点的其它节点的基础上,则以与仲裁节点中实际保存的校验和一致的节点中实际保存的数据包为正确的数据包,并用该正确的数据包修复另一节点中实际保存的错误数据包,其中,错误数据包包括数据传输过程中导致产生的数据错误和非最新数据包的情况。
以下结合图3,图3为本申请实施例所提供的基于仲裁的多校验和验证方法中一种当第一校验和与本地节点中实际保存的校验和不一致时错误判定的流程图。
本实施例旨在针对实施例一中S107提供一种在第一校验和与本地节点中实际保存的校验和不一致的情况下进行后续判定的方法,具体包括以下步骤:
S301:当第一校验和与本地节点中实际保存的校验和不一致时,利用校验和生成算法得到备用节点中实际保存的数据的第二校验和;
S302:判断第二校验和与备用节点中实际保存的校验和是否一致;
对备用节点实际保存的数据重新生成第二校验和并与该备用节点中实际保存的校验和进行一致性判定。
S303:判定本地节点和备用节点中实际保存的数据包均发生错误,并上报一型双节点故障;
本步骤建立在S302的判断结果为第二校验和与备用节点中实际保存的校验和不一致的基础上,也就说此时处于本地节点和备用节点中实际保存的数据均不可靠的情形,而在此情形下无法进行准确的判定,因此判定本地节点和备用节点中实际保存的数据包均发生错误,并上报一型双节点故障。
S304:比较本地节点、备用节点以及仲裁节点中实际保存的校验和是否一致;
本步骤建立在S302的判断结果为第二校验和与备用节点中实际保存的校验和一致的基础上,即使得到了第二校验和与备用节点中实际保存的校验和一致的信息,依然还需要进一步的判定才能够得到较为准确的判定结果,因此还需比较本地节点、备用节点以及仲裁节点中实际保存的校验和是否一致。
S305:当各节点实际保存的校验和一致时,判定本地节点在保存数据包时出现错误,并利用备用节点中实际保存的数据包修复本地节点中实际保存的数据包;
当各节点实际保存的校验和一致时,由于第一校验和与本地节点中实际保存的校验和不一致,但第二校验和与备用节点中实际保存的校验和一致,且各节点实际保存的校验和一致时,因此可以明确断定是本地节点在保存数据包时出现了错误,因此只需利用备用节点中保存的正确数据修复本地节点中保存的错误数据即可。
S306:当各节点实际保存的校验和仅存在任意两个校验和一致时,判断与保持一致的两个校验和不相同的校验和是否来自仲裁节点;
S306与S305相并列,在不考虑三节点校验和均不相同的前提下,只会出现仅存在任意两个校验和一致的情况,且由于仲裁节点的参与,还需要借助仲裁节点判断与保持一致的两个校验和不相同的校验和是否来自仲裁节点。
S307:当与保持一致的两个校验和不相同的校验和来自本地节点时,判定本地节点中实际保存的数据包存在错误,并利用备用节点中实际保存的数据包修复存在错误的数据包;
由于本步骤本身处于第一校验和与本地节点中实际保存的校验和不一致的前提下,且经过各节点实际保存校验和之间的比较得到了与保持一致的两个校验和不相同的校验和来自本地节点的结论,因此可以得到本地节点中实际保存的数据包存在错误的结论。
S308:当与保持一致的两个校验和不相同的校验和来自备用节点时,判定本地节点和备用节点中实际保存的数据包均存在错误,并上报二型双节点故障;
本步骤所描述的情景类似S303,但不同之处在于建立在第二校验和与备用节点中实际保存的校验和不一致的前提下,且经过各节点实际保存校验和之间的比较得到了与保持一致的两个校验和不相同的校验和来自备用节点的结论,因此可以明确得到本地节点和备用节点中实际保存的数据包均存在错误的结论,为区别于S303产生的双节点故障特上报二型双节点故障。
S309:当与保持一致的两个校验和不相同的校验和来自仲裁节点时,判定本地节点中实际保存的数据包与仲裁节点中实际保存的校验和均存在错误,并利用备用节点中实际保存的数据包修复存在错误的数据包与校验和。
S307、S308以及S309均为基于S306的判断结果可能出现的一种实际情景,并根据不同的情景给出了相应的错误判定和错误修复方案。
基于上述技术方案,本申请实施例提供的一种基于仲裁的多校验和验证方法,不止利用本地节点保存数据及对应的校验和,还同时利用也保存有该数据及对应校验和的备用节点以及单独保存校验和的仲裁节点共同完成数据完整性的校验,相比于仅用单节点做校验,在同时备用节点和仲裁节点的情况下,基于多数决定原则能够显著降低校验和误判事件发生的概率,提升错误检验精度,且在一定程度上还能够利用正确的数据修复错误数据。
还需要注意的一点,本申请使用了本地节点和备用节点和仲裁节点,但并未限定备用节点的个数,可以根据实际情况灵活设定备用节点的个数,因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况在备用节点数量更多时只需要进行适应性改变就可以实现同样的目的,在不付出足够的创造性劳动下得到的方案,应均在本申请的保护范围内。
下面请参见图4,图4为本申请实施例所提供的一种基于仲裁的多校验和验证系统的结构框图。
该多校验和验证系统可以包括:
校验和生成及封包单元100,用于利用校验和生成算法得到写入的数据的校验和,并将数据与对应的校验和封装为一个数据包;
多节点存储单元200,用于将数据包分别发送至本地节点和备用节点进行保存,并将校验和单独保存至仲裁节点;
第一校验和生成单元300,用于当读取数据时,利用校验和生成算法得到本地节点中实际保存的数据的第一校验和;
第一校验和校验单元400,用于判断第一校验和是否与本地节点中实际保存的校验和一致;
第一各校验和比较单元500,用于当第一校验和与本地节点中实际保存的校验和一致时,比较本地节点、备用节点以及仲裁节点中实际保存的校验和是否一致;
正确数据返回单元600,用于当各节点实际保存的校验和一致时,将本地节点中实际保存的数据通过预设返回路径返回至用户客户端。
进一步的,该多校验和验证系统还可以包括:
第一来源判断单元,用于当各节点实际保存的校验和仅存在任意两个校验和一致时,判断与保持一致的两个校验和不相同的校验和是否来自仲裁节点;
非仲裁节点判定及处理单元,用于当与保持一致的两个校验和不相同的校验和来自本地节点或备用节点时,判定与仲裁节点中实际保存的校验和不一致的节点中实际保存的数据包为非最新数据包,并利用与仲裁节点中实际保存的校验和一致的节点中实际保存的数据包修复非最新数据包;
仲裁节点判定及第一处理单元,用于当与保持一致的两个校验和不相同的校验和来自仲裁节点时,利用本地节点或备用节点中实际保存的校验和修复仲裁节点中实际保存的校验和。
进一步的,该多校验和验证系统还可以包括:
第二校验和生成单元,用于当第一校验和与本地节点中实际保存的校验和不一致时,利用校验和生成算法得到备用节点中实际保存的数据的第二校验和;
第二校验和校验单元,用于判断第二校验和与备用节点中实际保存的校验和是否一致;
第二各校验和比较单元,用于当第二校验和与备用节点中实际保存的校验和一致时,比较本地节点、备用节点以及仲裁节点中实际保存的校验和是否一致;
本地节点错误及第一处理单元,用于当各节点实际保存的校验和一致时,判定本地节点在保存数据包时出现错误,并利用备用节点中实际保存的数据包修复本地节点中实际保存的数据包。
进一步的,该多校验和验证系统还可以包括:
一型双节点故障判定及上报单元,用于当第二校验和与备用节点中实际保存的校验和不一致时,判定本地节点和备用节点中实际保存的数据包均发生错误,并上报一型双节点故障。
进一步的,该多校验和验证系统还可以包括:
第二来源判断单元,用于当第二校验和与备用节点中实际保存的校验和一致,但各节点实际保存的校验和仅存在任意两个校验和一致时,判断与保持一致的两个校验和不相同的校验和是否来自仲裁节点;
本地节点错误及第二处理单元,用于当与保持一致的两个校验和不相同的校验和来自本地节点时,判定本地节点中实际保存的数据包存在错误,并利用备用节点中实际保存的数据包修复存在错误的数据包;
二型双节点故障判定及上报单元,用于当与保持一致的两个校验和不相同的校验和来自备用节点时,判定本地节点和备用节点中实际保存的数据包均存在错误,并上报二型双节点故障;
仲裁节点判定及第二处理单元,用于当与保持一致的两个校验和不相同的校验和来自仲裁节点时,判定本地节点中实际保存的数据包与仲裁节点中实际保存的校验和均存在错误,并利用备用节点中实际保存的数据包修复存在错误的数据包与校验和。
以下可参见一种基于实际应用场景下的例子:
客户端/用户发下来的写请求,用需要写入的数据块d去生成校验和c。根据副本数和分布策略把数据块d和校验和c发送到对应的节点上去,如两副本,分布策略返回节点1和2;那么就把数据块d和校验和c封成一个数据包发送到节点1和2上去,并写到磁盘中进行持久化存储。同时单独将校验和c发送到不同于节点1和2的仲裁节点上。等每个副本和仲裁节点上写数据块和写校验都成功返回后向上层返回写成功。注意用不同d_i,c_i表示不同节点上的数据与校验和,在没有出现任何意外和错误情况时,应为d_1=d_2=d,c_0=c_1=c_2=c。仲裁节点不存储数据只存储校验和的目的为节约空间,因为起到仲裁作用时是否带有数据并不重要,除非一定需要根据该数据进行处理。
下面可参见图5,图5为本申请实施例所提供的另一种基于仲裁的多校验和验证方法的流程图:用户执行读取d操作,假设节点1更近,那么就读取d_1,生成的校验和c_1’,并与之前存储在本地的校验和c_1进行比较来检测本地数据错误,如果c_1=c_1’,则无本地数据错误,并返回e_d=0。否则,说明有本地数据错误,并返回e_d=1。如果e_d=0,在后续返回客户端时,同时读取另一个副本存储在本地的校验和c_2与仲裁节点的校验和c_0,然后比较c_0、c_1、c_2。若c_0=c_1=c_2,则说明没有脑裂或副本不一致的情况出现,就可以将数据返回给用户。如果c_0=c_1!=c_2,就说明c_2不一致,就需要触发修复,即用d_1去修复d_2。如果c_0=c_2!=c_1,就说明c_1不一致,同样需要触发修复,即用d_2去修复d_1。而c_1=c_2!=c_0,那么只需要把c_1或c_2写入到仲裁节点去覆盖c_0。仲裁机制可有效保证只有一个节点时,数据不会写入,所以不一致造成的三个都不相等的情况不可能发生。
若e_d=1,在后续返回客户端时,需要同时读取另一个副本存储在本地的数据d_2、校验和c_2以及仲裁节点的校验和c_0。而在d_2的读取过程中也会进行基于校验和的数据完整性验证,即基于d_2生成校验和c_2’,并与c_2进行比较,若c_2!=c_2’,就报双点故障。否则就返回数据d_2,c_2给客户端。之后在客户端比较c_0、c_1、c_2,若三个都相等,则确认只是副本1的本地数据错误,需用d_2去修复d_1。若c_0=c_1!=c_2,则说明c_2存在不一致,不能用副本d_2来修复副本d_1,加上d_1存在本地数据错误,也报双点故障。如果c_0=c_2!=c_1,就说明c_1即有本地错误,又存在不一致的情况,就需要触发修复,即用d_2去修复d_1。若c_1=c_2!=c_0,那么不仅需要将c_1或c_2写入到仲裁节点去覆盖c_0,还需要用d_2去修复d_1。
上述方法不但可以检测本地数据错误,而且可以检测脑裂或副本不一致的情况。同时在检测本地数据错误时,可以验证并找到正确的副本来进行恢复,即通过使用本方法可以有效发现更多的数据错误,保证恢复的正确性,提高系统可靠性。
基于上述实施例,本申请还提供了一种基于仲裁的多校验和验证装置,可以包括存储器和处理器,其中,该存储器中存有计算机程序,该处理器调用该存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然该验证装置还可以包括各种必要的网络接口、电源以及其它零部件等。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行终端或处理器执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random AccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (12)

1.一种基于仲裁的多校验和验证方法,其特征在于,包括:
利用校验和生成算法得到写入的数据的校验和,并将所述数据与对应的校验和封装为一个数据包;
将所述数据包分别发送至本地节点和备用节点进行保存,并单独将所述校验和保存至仲裁节点;
当读取所述数据时,利用所述校验和生成算法得到所述本地节点中实际保存的数据的第一校验和;
判断所述第一校验和与所述本地节点中实际保存的校验和是否一致;
若所述第一校验和与所述本地节点中实际保存的校验和一致,则比较所述本地节点、所述备用节点以及所述仲裁节点中实际保存的校验和是否一致;
当各节点实际保存的校验和一致时,将所述本地节点中实际保存的数据通过预设返回路径返回至用户客户端。
2.根据权利要求1所述的多校验和验证方法,其特征在于,还包括:
当各节点实际保存的校验和仅存在任意两个校验和一致时,判断与保持一致的两个校验和不相同的校验和是否来自所述仲裁节点;
当与保持一致的两个校验和不相同的校验和来自所述本地节点或所述备用节点时,判定与所述仲裁节点中实际保存的校验和不一致的节点中实际保存的数据包为非最新数据包,并利用与所述仲裁节点中实际保存的校验和一致的节点中实际保存的数据包修复所述非最新数据包;
当与保持一致的两个校验和不相同的校验和来自所述仲裁节点时,利用所述本地节点或所述备用节点中实际保存的校验和修复所述仲裁节点中实际保存的校验和。
3.根据权利要求1所述的多校验和验证方法,其特征在于,还包括:
当所述第一校验和与所述本地节点中实际保存的校验和不一致时,利用所述校验和生成算法得到所述备用节点中实际保存的数据的第二校验和;
判断所述第二校验和与所述备用节点中实际保存的校验和是否一致;
若所述第二校验和与所述备用节点中实际保存的校验和一致,则比较所述本地节点、所述备用节点以及所述仲裁节点中实际保存的校验和是否一致;
当各节点实际保存的校验和一致时,判定所述本地节点在保存所述数据包时出现错误,并利用所述备用节点中实际保存的数据包修复所述本地节点中实际保存的数据包。
4.根据权利要求3所述的多校验和验证方法,其特征在于,还包括:
当所述第二校验和与所述备用节点中实际保存的校验和不一致时,判定所述本地节点和所述备用节点中实际保存的数据包均发生错误,并上报一型双节点故障。
5.根据权利要求3所述的多校验和验证方法,其特征在于,还包括:
当所述第二校验和与所述备用节点中实际保存的校验和一致,但各节点实际保存的校验和仅存在任意两个校验和一致时,判断与保持一致的两个校验和不相同的校验和是否来自所述仲裁节点;
当与保持一致的两个校验和不相同的校验和来自所述本地节点时,判定所述本地节点中实际保存的数据包存在错误,并利用所述备用节点中实际保存的数据包修复所述存在错误的数据包;
当与保持一致的两个校验和不相同的校验和来自所述备用节点时,判定所述本地节点和所述备用节点中实际保存的数据包均存在错误,并上报二型双节点故障;
当与保持一致的两个校验和不相同的校验和来自所述仲裁节点时,判定所述本地节点中实际保存的数据包与所述仲裁节点中实际保存的校验和均存在错误,并利用所述备用节点中实际保存的数据包修复所述存在错误的数据包与校验和。
6.一种基于仲裁的多校验和验证系统,其特征在于,包括:
校验和生成及封包单元,用于利用校验和生成算法得到写入的数据的校验和,并将所述数据与对应的校验和封装为一个数据包;
多节点存储单元,用于将所述数据包分别发送至本地节点和备用节点进行保存,并将所述校验和单独保存至仲裁节点;
第一校验和生成单元,用于当读取所述数据时,利用所述校验和生成算法得到所述本地节点中实际保存的数据的第一校验和;
第一校验和校验单元,用于判断所述第一校验和与所述本地节点中实际保存的校验和是否一致;
第一各校验和比较单元,用于当所述第一校验和与所述本地节点中实际保存的校验和一致时,比较所述本地节点、所述备用节点以及所述仲裁节点中实际保存的校验和是否一致;
正确数据返回单元,用于当各节点实际保存的校验和一致时,将所述本地节点中实际保存的数据通过预设返回路径返回至用户客户端。
7.根据权利要求6所述的多校验和验证系统,其特征在于,还包括:
第一来源判断单元,用于当各节点实际保存的校验和仅存在任意两个校验和一致时,判断与保持一致的两个校验和不相同的校验和是否来自所述仲裁节点;
非仲裁节点判定及处理单元,用于当与保持一致的两个校验和不相同的校验和来自所述本地节点或所述备用节点时,判定与所述仲裁节点中实际保存的校验和不一致的节点中实际保存的数据包为非最新数据包,并利用与所述仲裁节点中实际保存的校验和一致的节点中实际保存的数据包修复所述非最新数据包;
仲裁节点判定及第一处理单元,用于当与保持一致的两个校验和不相同的校验和来自所述仲裁节点时,利用所述本地节点或所述备用节点中实际保存的校验和修复所述仲裁节点中实际保存的校验和。
8.根据权利要求6所述的多校验和验证系统,其特征在于,还包括:
第二校验和生成单元,用于当所述第一校验和与所述本地节点中实际保存的校验和不一致时,利用所述校验和生成算法得到所述备用节点中实际保存的数据的第二校验和;
第二校验和校验单元,用于判断所述第二校验和与所述备用节点中实际保存的校验和是否一致;
第二各校验和比较单元,用于当所述第二校验和与所述备用节点中实际保存的校验和一致时,比较所述本地节点、所述备用节点以及所述仲裁节点中实际保存的校验和是否一致;
本地节点错误及第一处理单元,用于当各节点实际保存的校验和一致时,判定所述本地节点在保存所述数据包时出现错误,并利用所述备用节点中实际保存的数据包修复所述本地节点中实际保存的数据包。
9.根据权利要求8所述的多校验和验证系统,其特征在于,还包括:
一型双节点故障判定及上报单元,用于当所述第二校验和与所述备用节点中实际保存的校验和不一致时,判定所述本地节点和所述备用节点中实际保存的数据包均发生错误,并上报一型双节点故障。
10.根据权利要求8所述的多校验和验证系统,其特征在于,还包括:
第二来源判断单元,用于当所述第二校验和与所述备用节点中实际保存的校验和一致,但各节点实际保存的校验和仅存在任意两个校验和一致时,判断与保持一致的两个校验和不相同的校验和是否来自所述仲裁节点;
本地节点错误及第二处理单元,用于当与保持一致的两个校验和不相同的校验和来自所述本地节点时,判定所述本地节点中实际保存的数据包存在错误,并利用所述备用节点中实际保存的数据包修复所述存在错误的数据包;
二型双节点故障判定及上报单元,用于当与保持一致的两个校验和不相同的校验和来自所述备用节点时,判定所述本地节点和所述备用节点中实际保存的数据包均存在错误,并上报二型双节点故障;
仲裁节点判定及第二处理单元,用于当与保持一致的两个校验和不相同的校验和来自所述仲裁节点时,判定所述本地节点中实际保存的数据包与所述仲裁节点中实际保存的校验和均存在错误,并利用所述备用节点中实际保存的数据包修复所述存在错误的数据包与校验和。
11.一种基于仲裁的多校验和验证装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的多校验和验证方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的多校验和验证方法的步骤。
CN201810283971.XA 2018-04-02 2018-04-02 基于仲裁的多校验和验证方法、系统、装置及存储介质 Active CN110348244B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810283971.XA CN110348244B (zh) 2018-04-02 2018-04-02 基于仲裁的多校验和验证方法、系统、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810283971.XA CN110348244B (zh) 2018-04-02 2018-04-02 基于仲裁的多校验和验证方法、系统、装置及存储介质

Publications (2)

Publication Number Publication Date
CN110348244A true CN110348244A (zh) 2019-10-18
CN110348244B CN110348244B (zh) 2023-03-17

Family

ID=68172546

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810283971.XA Active CN110348244B (zh) 2018-04-02 2018-04-02 基于仲裁的多校验和验证方法、系统、装置及存储介质

Country Status (1)

Country Link
CN (1) CN110348244B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114237493A (zh) * 2021-11-23 2022-03-25 北京谊安医疗系统股份有限公司 一种嵌入式系统中模块化存储方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002055885A (ja) * 2000-08-11 2002-02-20 Denso Corp データ修復装置
CN101681283A (zh) * 2007-06-28 2010-03-24 国际商业机器公司 存储系统中的错误纠正和检测的系统和方法
CN103559057A (zh) * 2013-11-06 2014-02-05 广东小天才科技有限公司 一种嵌入式系统加载启动方法及装置
CN104579557A (zh) * 2014-12-05 2015-04-29 苏州沃斯麦机电科技有限公司 一种多节点间数据完整性传输方法
CN106021002A (zh) * 2016-04-29 2016-10-12 上海庆科信息技术有限公司 一种嵌入式设备数据读写方法及装置
CN106227464A (zh) * 2016-07-14 2016-12-14 中国科学院计算技术研究所 一种双层冗余存储系统及其数据写入、读取及恢复方法
CN107807792A (zh) * 2017-10-27 2018-03-16 郑州云海信息技术有限公司 一种基于副本存储系统的数据处理方法及相关装置
CN107861832A (zh) * 2017-09-27 2018-03-30 深信服科技股份有限公司 数据验证方法、装置及可读存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002055885A (ja) * 2000-08-11 2002-02-20 Denso Corp データ修復装置
CN101681283A (zh) * 2007-06-28 2010-03-24 国际商业机器公司 存储系统中的错误纠正和检测的系统和方法
CN103559057A (zh) * 2013-11-06 2014-02-05 广东小天才科技有限公司 一种嵌入式系统加载启动方法及装置
CN104579557A (zh) * 2014-12-05 2015-04-29 苏州沃斯麦机电科技有限公司 一种多节点间数据完整性传输方法
CN106021002A (zh) * 2016-04-29 2016-10-12 上海庆科信息技术有限公司 一种嵌入式设备数据读写方法及装置
CN106227464A (zh) * 2016-07-14 2016-12-14 中国科学院计算技术研究所 一种双层冗余存储系统及其数据写入、读取及恢复方法
CN107861832A (zh) * 2017-09-27 2018-03-30 深信服科技股份有限公司 数据验证方法、装置及可读存储介质
CN107807792A (zh) * 2017-10-27 2018-03-16 郑州云海信息技术有限公司 一种基于副本存储系统的数据处理方法及相关装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114237493A (zh) * 2021-11-23 2022-03-25 北京谊安医疗系统股份有限公司 一种嵌入式系统中模块化存储方法及系统

Also Published As

Publication number Publication date
CN110348244B (zh) 2023-03-17

Similar Documents

Publication Publication Date Title
CN106201338B (zh) 数据存储方法及装置
CN102981927B (zh) 分布式独立冗余磁盘阵列存储方法及分布式集群存储系统
CN103778030B (zh) 日志子系统写入方法、错误追踪方法及处理器
CN108646982B (zh) 一种基于ubifs的数据自动修复方法及装置
US20090083504A1 (en) Data Integrity Validation in Storage Systems
CN102135925B (zh) 用于检测错误检查和纠正内存的方法和装置
CN110352407A (zh) 纠错码存储器
CN107807792A (zh) 一种基于副本存储系统的数据处理方法及相关装置
US7793166B2 (en) Methods and systems for recovering meta-data in a cache memory after a corruption event
CN105280240B (zh) 一种Nand Flash参数的读取方法
WO2017215377A1 (zh) 内存硬错误的处理方法及装置
CN110399247A (zh) 一种数据恢复方法、装置、设备及计算机可读存储介质
WO2021135280A1 (zh) 一种分布式存储系统的数据校验方法及相关装置
CN103026342B (zh) 用于验证存储器器件完整性的方法和系统
CN106325773A (zh) 一种存储系统数据的一致性保障方法、系统及缓存装置
CN108573007A (zh) 检测数据一致性的方法、装置、电子设备及存储介质
CN107391333A (zh) 一种osd磁盘故障测试方法及系统
CN109933340B (zh) 一种航天器eeprom基于页模式的在轨写入和自检方法
JP5421152B2 (ja) 半導体集積回路
CN108595290A (zh) 一种保证备份数据可靠性的方法及数据备份方法
CN111816239B (zh) 磁盘检测方法、装置、电子设备及机器可读存储介质
CN110348244A (zh) 基于仲裁的多校验和验证方法、系统、装置及存储介质
US7577804B2 (en) Detecting data integrity
CN111428280B (zh) SoC安全芯片密钥信息完整性存储及错误自修复方法
CN105183590A (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