CN108052413A - 基于多次验证的数据处理方法、装置及存储介质 - Google Patents

基于多次验证的数据处理方法、装置及存储介质 Download PDF

Info

Publication number
CN108052413A
CN108052413A CN201711170257.1A CN201711170257A CN108052413A CN 108052413 A CN108052413 A CN 108052413A CN 201711170257 A CN201711170257 A CN 201711170257A CN 108052413 A CN108052413 A CN 108052413A
Authority
CN
China
Prior art keywords
data
information
triplicate
verification
authentic copy
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
CN201711170257.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.)
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 CN201711170257.1A priority Critical patent/CN108052413A/zh
Publication of CN108052413A publication Critical patent/CN108052413A/zh
Pending legal-status Critical Current

Links

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/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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于多次验证的数据处理方法、装置及存储介质,所述方法包括:获取数据读取指令,根据所述读取指令从第一目标节点中读取第一副本信息,所述第一副本信息包括第一副本数据与所述第一副本数据对应的第一校验和;从所述第一副本信息中提取所述第一副本数据,并根据所述第一副本数据生成第二校验和;在所述第一校验和与所述第二校验和不满足第一预设条件时,从第二目标节点中读取第二副本信息;将所述第二副本信息与所述第一副本信息进行比较,根据比较结果,调整所述第一副本信息。本发明通过对多个副本进行多次校验,可以有效的检测和避免校验和误判,提高使用校验和检测数据错误的精度,减少对系统的负面影响。

Description

基于多次验证的数据处理方法、装置及存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于多次验证的数据处理方法、装置及存储介质。
背景技术
保持数据完整性是现代存储系统最重要的职责,因此有各种各样的技术被开发和应用来改进数据完整性保护。其中最常用,最受欢迎的就是校验和方法。传统的针对存储系统的校验和方法一般分类两类,一类是端到端校验,另一类是磁盘校验和。而一般使用校验和对数据进行保护的时候,一旦数据出现非正常更改,那么在读取的时候重新计算的校验并就不等于存储时计算的校验和。但是校验和本身也会出现错误,而且在写入过程中因为校验和和数据的写入不同步,并发输入/输出(Input/Output,IO)下其他访问请求在读取时会出现用旧校验来验证新数据和用新校验来验证旧数据的误判场景。
发明内容
本发明的主要目的在于提出一种基于多次验证的数据处理方法、装置及存储介质,旨在解决现有技术中无法减少数据在校验过程中出现误判的技术问题。
为实现上述目的,本发明提供一种基于多次验证的数据处理方法,所述方法包括以下步骤:
获取数据读取指令,根据所述读取指令从第一目标节点中读取第一副本信息,所述第一副本信息包括第一副本数据与所述第一副本数据对应的第一校验和;
从所述第一副本信息中提取所述第一副本数据,并根据所述第一副本数据生成第二校验和;
在所述第一校验和与所述第二校验和不满足第一预设条件时,从第二目标节点中读取第二副本信息;
将所述第二副本信息与所述第一副本信息进行比较,根据比较结果,调整所述第一副本信息。
优选地,所述获取数据读取指令,根据所述读取指令从第一目标节点中读取第一副本信息之前,所述方法包括:
获取待校验数据,将所述待校验数据写入若干第一预设节点,生成与所述若干第一预设节点一一对应的若干副本信息,所述若干第一预设节点包括所述第一目标节点。
优选地,所述根据所述读取指令从第一目标节点中读取第一副本信息,具体包括:
获取所述若干第一预设节点的各节点信息,提取所述各节点信息中的时延参数,将所述时延参数与时延阈值进行比较;
获取小于所述时延阈值的时延参数对应的第一节点,将所述第一节点作为第一目标节点。
优选地,将所述第一节点作为第一目标节点之后,所述方法包括:
将所述若干第一预设节点中去除所述第一目标节点,获取去除后的若干第二预设节点;
相应地,所述从第二目标节点中读取第二副本信息,具体包括:
获取所述若干第二预设节点中的各节点信息,提取所述各节点信息中的时延参数,将所述时延参数与时延阈值进行比较;
获取小于所述时延阈值的时延参数对应的第二节点,将所述第二节点作为第二目标节点。
优选地,在所述第一校验和与所述第二校验和不满足第一预设条件时,从第二目标节点中读取第二副本信息,具体包括:
在所述第一校验和与所述第二校验和不满足第一预设条件时,获取当前系统负载参数,在所述当前负载参数满足第二预设条件时,从所述第二目标节点中读取所述第二副本信息。
优选地,在所述当前负载参数满足第二预设条件时,从第二目标节点中读取第二副本信息,具体包括:
在所述当前负载参数满足高负载阈值时,从第二目标节点中读取第二副本信息;
相应地,所述将所述第二副本信息与所述第一副本信息进行比较,根据比较结果,调整所述第一副本信息,具体包括:
获取所述第二副本信息中的第三校验和,将所述第三校验和与第二校验和进行比较;
在所述第三校验和与所述第二校验和相等时,根据所述第三校验和调整所述第一校验和。
优选地,在所述当前负载参数满足第二预设条件时,从第二目标节点中读取第二副本信息,具体包括:
在所述当前负载参数满足中负载阈值时,从第二目标节点中读取第二副本信息;
相应地,所述将所述第二副本信息与所述第一副本信息进行比较,根据比较结果,调整所述第一副本信息,具体包括:
获取所述第二副本信息中的第二副本数据,将所述第二副本数据与第一副本数据进行比较;
在所述第二副本数据与第一副本数据相等时,根据所述第二副本数据调整所述第一副本数据。
优选地,在所述当前负载参数满足第二预设条件时,从第二目标节点中读取第二副本信息,具体包括:
在所述当前负载参数满足低负载阈值时,从第二目标节点中读取第二副本信息;
相应地,所述将所述第二副本信息与所述第一副本信息进行比较,根据比较结果,调整所述第一副本信息,具体包括:
获取所述第二副本信息中的第二副本数据与第三校验和,将所述第二副本数据与所述第一副本数据以及所述第三校验和与所述第二校验和同时进行比较;
在所述第二副本数据与所述第一副本数据以及所述第三校验和与所述第二校验和同时相等时,根据所述第二副本数据调整所述第一副本数据,根据所述第三校验和调整所述第一校验和。
此外,为实现上述目的,本发明还提出一种基于多次验证的数据处理装置,所述基于多次验证的数据处理装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于多次验证的数据处理程序,所述基于多次验证的数据处理程序配置为实现如上文所述的基于多次验证的数据处理方法的步骤。
此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有基于多次验证的数据处理程序,所述基于多次验证的数据处理程序被处理器执行时实现如上文所述的基于多次验证的数据处理方法的步骤。
本发明提出的基于多次验证的数据处理方法通过对多个副本进行多次校验,可以有效的检测和避免校验和误判,提高使用校验和检测数据错误的精度,减少对系统的负面影响。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的存储设备结构示意图;
图2为本发明基于多次验证的数据处理方法第一实施例的流程示意图;
图3为本发明数据的写入流程示意图;
图4为本发明基于多次验证的数据处理方法第二实施例的流程示意图;
图5为本发明基于多次验证的数据处理方法第三实施例的流程示意图;
图6为本发明基于多次验证的数据处理方法第四实施例的流程示意图;
图7为本发明基于多次验证的数据处理方法第五实施例的流程示意图;
图8为本发明系统在负载情况下的数据处理流程示意图;
图9为本发明基于多次验证的数据处理方法第六实施例的流程示意图;
图10为本发明系统在中负载情况下的数据处理流程示意图;
图11为本发明基于多次验证的数据处理方法第七实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的存储设备结构示意图。
如图1所示,该存储设备可以包括:处理器1001,例如CPU,通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的存储设备结构并不构成对存储设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于多次验证的数据处理程序。
在图1所示的存储设备中,网络接口1004主要用于连接外部设备,与外部设备进行数据通信;用户接口1003主要用于连接用户终端,与终端进行数据通信;本发明存储设备中的处理器1001、存储器1005可以设置在基于多次验证的数据处理装置中,所述基于多次验证的数据处理装置通过处理器1001调用存储器1005中存储的基于多次验证的数据处理程序,并执行以下操作:
获取数据读取指令,根据所述读取指令从第一目标节点中读取第一副本信息,所述第一副本信息包括第一副本数据与所述第一副本数据对应的第一校验和;
从所述第一副本信息中提取所述第一副本数据,并根据所述第一副本数据生成第二校验和;
在所述第一校验和与所述第二校验和不满足第一预设条件时,从第二目标节点中读取第二副本信息;
将所述第二副本信息与所述第一副本信息进行比较,根据比较结果,调整所述第一副本信息。
进一步地,处理器1001可以调用存储器1005中存储的基于多次验证的数据处理程序,还执行以下操作:
获取待校验数据,将所述待校验数据写入若干第一预设节点,生成与所述若干第一预设节点一一对应的若干副本信息,所述若干第一预设节点包括所述第一目标节点。
进一步地,处理器1001可以调用存储器1005中存储的基于多次验证的数据处理程序,还执行以下操作:
获取所述若干第一预设节点的各节点信息,提取所述各节点信息中的时延参数,将所述时延参数与时延阈值进行比较;
获取小于所述时延阈值的时延参数对应的第一节点,将所述第一节点作为第一目标节点。
进一步地,处理器1001可以调用存储器1005中存储的基于多次验证的数据处理程序,还执行以下操作:
将所述若干第一预设节点中去除所述第一目标节点,获取去除后的若干第二预设节点;
相应地,所述从第二目标节点中读取第二副本信息,具体包括:
获取所述若干第二预设节点中的各节点信息,提取所述各节点信息中的时延参数,将所述时延参数与时延阈值进行比较;
获取小于所述时延阈值的时延参数对应的第二节点,将所述第二节点作为第二目标节点。
进一步地,处理器1001可以调用存储器1005中存储的基于多次验证的数据处理程序,还执行以下操作:
在所述第一校验和与所述第二校验和不满足第一预设条件时,获取当前系统负载参数,在所述当前负载参数满足第二预设条件时,从所述第二目标节点中读取所述第二副本信息。
进一步地,处理器1001可以调用存储器1005中存储的基于多次验证的数据处理程序,还执行以下操作:
获取所述第二副本信息中的第三校验和,将所述第三校验和与第二校验和进行比较;
在所述第三校验和与所述第二校验和相等时,根据所述第三校验和调整所述第一校验和。
进一步地,处理器1001可以调用存储器1005中存储的基于多次验证的数据处理程序,还执行以下操作:
获取所述第二副本信息中的第二副本数据,将所述第二副本数据与第一副本数据进行比较;
在所述第二副本数据与第一副本数据相等时,根据所述第二副本数据调整所述第一副本数据。
进一步地,处理器1001可以调用存储器1005中存储的基于多次验证的数据处理程序,还执行以下操作:
获取所述第二副本信息中的第二副本数据与第三校验和,将所述第二副本数据与所述第一副本数据以及所述第三校验和与所述第二校验和同时进行比较;
在所述第二副本数据与所述第一副本数据以及所述第三校验和与所述第二校验和同时相等时,根据所述第二副本数据调整所述第一副本数据,根据所述第三校验和调整所述第一校验和。
本实施例通过上述方案,通过对多个副本进行多次校验,可以有效的检测和避免校验和误判,提高使用校验和检测数据错误的精度,减少对系统的负面影响。
基于上述硬件结构,提出本发明基于多次验证的数据处理方法实施例。
参照图2,图2为本发明基于多次验证的数据处理方法第一实施例的流程示意图。
在第一实施例中,所述基于多次验证的数据处理方法包括以下步骤:
步骤S10,获取数据读取指令,根据所述读取指令从第一目标节点中读取第一副本信息,所述第一副本信息包括第一副本数据与所述第一副本数据对应的第一校验和;
需要说明的是,所述数据读取指令的执行主体为系统软件,在数据写入存储设备时,对存入系统的若干个节点中的副本进行读取,在进行读取时,只选取某一个节点的副本信息进行读取,所述第一目标节点可为离存储设备较近的一个节点,也可为信息传输速度最快的一个节点,即时延最短的一个节点,还可为其他就近的节点,本实施例对此不作限制。
在具体实现中,在数据写入过程中,还可将数据写入若干个节点中,在所述若干个节点中生成包括写入的数据以及根据所述数据生成的相应的校验和,在各个节点中写入的数据与待写入的数据可能不是一个数据。
如图3所示的数据的写入流程示意图,在获取待写入的数据d时,根据数据d生成校验和c,并将数据d和校验和c写入若干节点中,生成多个副本信息,所述副本信息包括副本数据以及与所述副本数据对应的校验和。
步骤S20,从所述第一副本信息中提取所述第一副本数据,并根据所述第一副本数据生成第二校验和;
可以理解的是,在所述若干节点中选取就近的预设节点进行数据读取,将读取出的数据经过计算,得到第二校验和。例如用户写入数据d,用数据d生成校验和c,系统使用n副本(n>=2),因此把数据d,c都写到n个节点上去,所以总共有n个d和n个c,分别标记为d0,d1,…,dn-1(d=d0=d1,…,dn-1)和c0,c1,…,cn-1(c=c0=c1,…,cn-1)。但d0,d1,…,dn-1可能受各种干扰或错误影响而更改,所以之后用户读取d时读取到的d0,d1,…,dn-1不一定等于d。一般来说只选取一个主副本来读取,假设d0被当做主副本进行读取。用读取到的d0去生成校验和c0’,所述c0’为第二校验和。
步骤S30,在所述第一校验和与所述第二校验和不满足第一预设条件时,从第二目标节点中读取第二副本信息;
需要说明的是,所述第一校验和为在就近节点中读取的副本信息中的校验和为第一校验和,将数据进过读取之后,生成第二校验和,将所述第一校验和与所述第二校验和进行判断,所述第一预设条件为当第一校验和与所述第二校验和相等。
在具体实现中,当所述第一校验和与所述第二校验和相等时,则说明数据正确,则不用在进行二次校验,当所述第一校验和与所述第二校验和不相等时,则说明数据出错,则进行二次校验,例如第一校验和c0与第二校验和c0’相等,说明数据正确,即数据d与写入的数据d0相等。而第一校验和c0与第二校验和c0’不相等时,则进行二次验证,再读取一个校验或数据。
步骤S40,将所述第二副本信息与所述第一副本信息进行比较,根据比较结果,调整所述第一副本信息。
需要说明的是,所述第二副本信息与所述第一副本信息进行比较可为第二副本中的数据与所述第一副本中的数据进行比较,也可为将第二副本中的校验和与第一副本中校验和进行比较,还可为将第二副本中的数据与校验和同时与第一副本中的数据和校验和同时进行比较。例如,假如读取第二校验c1,使用c0’和c1去进行比较。如果c1=c0’,说明误判,说明数据正确。否则,说明数据错误。很明显如果不使用二次verify,只要c0’不等于c0时,就认为数据出错,而无法发现误判。
在具体实现中,通过二次甚至多次验证,还可为误判的数据以及校验和进行纠正,即在二次验证时,c0’为第二校验和,当第二校验和与第二副本中的校验和相等时,即c1=c0’,其中c1为第二副本的校验和,则说明数据正确,第二校验和也正确,说明第一次校验为误判,可将第一次校验的校验和c0进行纠正,即可根据c1纠正c0
为了进一步提高纠错能力,还可进行多次纠错,即在第二次校验出现不相等时,还可提取其他的副本的校验和来再次或多次验证。例如在第三个校验和c1与第二校验和c0’还是出现不相等的情况,在这种情况下,可提取其他副本中的校验和进行验证,例如读取节点j上的校验和cj,使用cj与c0’进行比较,从而实现多次校正。
本实施例中通过对多个副本进行多次校验,可以有效的检测和避免校验和误判,提高使用校验和检测数据错误的精度,减少对系统的负面影响。
进一步地,如图4所示,基于第一实施例提出本发明基于多次验证的数据处理方法第二实施例,在本实施例中,所述步骤S10之前,所述方法还包括:
步骤S101,获取待校验数据,将所述待校验数据写入若干第一预设节点,生成与所述若干第一预设节点一一对应的若干副本信息,所述若干第一预设节点包括所述第一目标节点;
需要说明的是,为了提供多次验证的副本,在进行数据写入过程中,将数据写入到多个节点中,在节点中写入与所述节点对应的若干副本信息,从所述若干副本信息中将就近的预设节点作为目标节点。
在具体实现中,可通过设置副本数以及分布策略对读取节点的副本数进行相应的限制,其中副本数为写入数据的节点数,分布策略可为在进行副本读取时,在一个节点中只需读取一个副本信息,例如获取到客户端/用户发下来的写请求,用需要写入的数据块d去生成校验和c。根据副本数和分布策略把数据块d和校验和c发送到对应的节点上去,如三副本,分布策略返回节点0,1,3;那么就把数据块d和校验和c发送到节点0,1,3上去,并写到持久化存储。而如果是n副本(n>=2),分布策略n个节点j0,j1,…,jn-1,数据块d和校验和c发送到节点j0,j1,…,jn-1上去,分别标记为d0,d1,…,dn-1(d=d0=d1,…,dn-1)和c0,c1,…,cn-1(c=c0=c1,…,cn-1)。对每个副本,写数据块和写校验都成功返回后向上层返回写成功。如果每个副本都返回写成功,则完成写操作。在写入过程中因为d0,d1,…,dn-1可能受各种干扰或错误影响而更改,所以之后用户读取d时读取到的d0,d1,…,dn-1不一定等于d。
本实施例提供的方案,可将待写入数据在写入目标存储区域之后,还可将数据写入预设节点中,并生成多个副本信息,从而可提供多个验证数据以及验证校验和,从而提供验证的副本信息。
进一步地,如图5所示,基于第一实施例提出本发明基于多次验证的数据处理方法第三实施例,在本实施例中,所述步骤S10,具体包括:
步骤S102,获取所述若干第一预设节点的各节点信息,提取所述各节点信息中的时延参数,将所述时延参数与时延阈值进行比较;
需要说明的是,所述时延参数可指读取速率,提取到各节点信息中的传输效率之后,可将读取速率与读取速率的阈值进行比较,例如提取到节点A、节点B以及节点C的节点信息,在进行数据读取时,节点A的读取速率高于节点B以及节点C的读取速率。
在具体实现中,可通过预先设置时延阈值,通过各节点的读取速率与阈值进行比较,从而获取到读取速率最高的节点。
步骤S103,获取小于所述时延阈值的时延参数对应的第一节点,将所述第一节点作为第一目标节点。
可以理解的是,可通过获取到读取速率,对节点进行比较,获取到读取速率最高的节点作为目标节点,也可获取各节点的时延信息,获取到时延最短的节点作为目标节点。
其中,步骤S103之后,所述方法还包括:
步骤S104,将所述若干第一预设节点中去除所述第一目标节点,获取去除后的若干第二预设节点;
需要说明的是,在进行二次校验时,不需要再将已提取的校验信息进行校验,在具体处理中,将提取其他副本信息中去除已经提取过副本信息的节点进行副本信息提取。
可理解的是,在进行副本信息提取时,在一个节点中只提取一个副本信息,从而保证对获取的节点信息进行一对一的验证,实现校验的准确性以及不至于在校验过程中造成校验的混乱。
相应地,步骤S30,具体包括:
步骤S301,获取所述若干第二预设节点中的各节点信息,提取所述各节点信息中的时延参数,将所述时延参数与时延阈值进行比较;
需要说明的是,所述时延参数可指读取速率,提取到各节点信息中的传输效率之后,可将读取速率与读取速率的阈值进行比较,例如提取到节点A、节点B以及节点C的节点信息,在进行数据读取时,节点A的读取速率高于节点B以及节点C的读取速率。
在具体实现中,可通过预先设置时延阈值,通过各节点的读取速率与阈值进行比较,从而获取到读取速率最高的节点。
步骤S302,获取小于所述时延阈值的时延参数对应的第二节点,将所述第二节点作为第二目标节点。
可以理解的是,可通过获取到读取速率,对节点进行比较,获取到读取速率最高的节点作为目标节点,也可获取各节点的时延信息,获取到时延最短的节点作为目标节点。
本实施例提供的方案,通过对各节点的节点信息进行判断,从判断后的节点信息中选取到时延最短的节点信息对应的节点进行选取,从而提高系统的读取效率。
进一步地,如图6所示,基于第一实施例、第二实施例以及第三实施例中任一项提出本发明基于多次验证的数据处理方法第四实施例,在本实施例中,基于第一实施例,所述步骤S30,具体包括:
步骤S303,在所述第一校验和与所述第二校验和不满足第一预设条件时,获取当前系统负载参数;
所述第一预设条件可为相等时,还可为其他情况,本实施例对此不作限制,在所述第一校验和与所述第二校验和不相等时,说明校验失败,在这种情况下,获取到当前系统的负载参数。
可以理解的是,系统在进行数据处理时,可对处理的流程进行相应的优化,所述负载参数可为高负载情况、中负载情况以及低负载情况,在负载情况不同的时候,可对数据进行相应的数据,从而可在避免高负载数据出错的情况下,还可提高数据处理的效率。
步骤S304,在所述当前负载参数满足第二预设条件时,从所述第二目标节点中读取所述第二副本信息。
所述满足第二预设条件可为判断当前的负载情况是处于高负载情况、中负载情况以及低负载情况,在当前的负载情况不同的情况下,读取的第二副本信息参数也不同。
在具体实现中,在高负载时,就近节点读取一个检验和,中负载情况是,就近读取一个数据,在低负载情况下,读取就近节点上的数据与校验和。
需要说明的是,在进行数据读取时,校验和的数据最小,从而可在高负载的情况下,不影响系统的运行性能。
本实施例提供的方案,通过对各节点的节点信息进行判断,从判断后的节点信息中选取到时延最短的节点信息对应的节点进行选取,从而提高系统的读取效率。
进一步地,如图7所示,基于第四实施例提出本发明基于多次验证的数据处理方法第五实施例,在本实施例中,所述步骤S304,具体包括:
步骤S305,在所述当前负载参数满足高负载阈值时,从第二目标节点中读取第二副本信息。
相应地,所述步骤S40,具体包括:
步骤S401,获取所述第二副本信息中的第三校验和,将所述第三校验和与第二校验和进行比较;
需要说明的是,在当前负载参数为高负载时,读取的第二副本信息中,只读取第二副本信息中的校验和,由于校验和数据最小,在进行数据读取时,不对系统造成影响,从而减小系统处理压力。
为了进一步确认误差判断的正确性,在进行第一次校验和判断是,第一校验和与第二校验和不相等,在这种情况下,通过提取第二副本信息中的第三校验和,将该第三校验和与第二校验和进行比较,从而对第一校验和的正确性进行有效的判断。
步骤S402,在所述第三校验和与所述第二校验和相等时,根据所述第三校验和调整所述第一校验和。
可以理解的是,在第二副本中的第三校验和与第二校验和相等时,说明数据正确,即第一校验和出现误差,在这种情况下,可通过第三校验和调整所述第一校验和,从而实现对校验和进行纠错,保证了数据传输的完整性。
如图8所示的系统在负载情况下的数据处理流程示意图,其中,di表示待写入数据,ci表示根据所述待写入数据生成的第一校验和,并将待写入数据进行读取生成第二校验和ci',在第二校验和与第一校验和相等时,即ci'=ci时,则返回不进行处理,如果ci'=ci不相等时,则系统会报错认为数据di出现错误,则进行第二次验证,判断数据di是否出现错误。
为了实现系统的稳定性,在进行二次验证时,验证当前的负载情况,在当前的负载情况为高负载时,则获取第二副本信息中的校验和cj,在cj与ci'相等时,即第三校验和与第二校验和相等的情况下,说明数据正确,即第一校验和出现误差,在这种情况下,可通过第三校验和纠正第一校验和,即通过cj纠正ci
本实施例提供的方案,通过判断当前系统的负载情况,在高负载情况下,提取副本信息中的校验和进行二次验证,从而在不影响系统运行的情况下,提高数据纠错的正确性。
进一步地,如图9所示,基于第四实施例提出本发明基于多次验证的数据处理方法第六实施例,在本实施例中,所述步骤S304,具体包括:
步骤S306,在所述当前负载参数满足中负载阈值时,从第二目标节点中读取第二副本信息。
相应地,所述步骤S40,具体包括:
步骤S403,获取所述第二副本信息中的第二副本数据,将所述第二副本数据与第一副本数据进行比较;
需要说明的是,在当前负载参数为中负载时,读取的第二副本信息中,读取第二副本信息中的数据,将第二副本数据与第一副本数据进行比较,从而判断数据的完整性。
为了进一步确认误差判断的正确性,在进行第一次校验和判断时,第一校验和与第二校验和不相等,在这种情况下,通过提取第二副本信息中的第二副本数据,将该第二副本数据与第一副本数据进行比较,从而对数据进行有效的判断。
步骤S404,在所述第二副本数据与第一副本数据相等时,根据所述第二副本数据调整所述第一副本数据。
继续如图8所示,在判断当前的负载情况为中负载情况时,读取另一副本的数据dj,使用dj与第一副本中的数据di进行比较,从而在减小系统压力的情况下判断数据传输的完整性。
如图10所示的系统在中负载情况下的数据处理流程示意图,读取另一副本的数据dj,使用dj与第一副本中的数据di进行比较。如果如果dj=di,说明误判,说明数据di正确,校验ci错误。否则,说明数据di错误,这时可直接使用数据dj去恢复错误数据di
本实施例提供的方案,通过判断当前系统的负载情况,在中负载情况下,提取副本信息中的数据和进行二次验证,从而在不影响系统运行的情况下,提高数据纠错的正确性。
进一步地,如图11所示,基于第四实施例提出本发明基于多次验证的数据处理方法第七实施例,在本实施例中,所述步骤S304,具体包括:
步骤S307,在所述当前负载参数满足低负载阈值时,从第二目标节点中读取第二副本信息。
相应地,所述步骤S40,具体包括:
步骤S405,获取所述第二副本信息中的第二副本数据与第三校验和,将所述第二副本数据与所述第一副本数据以及所述第三校验和与所述第二校验和同时进行比较;
需要说明的是,在当前负载参数为低负载时,读取的第二副本信息中,读取第二副本信息中的数据与校验和,将第二副本数据与校验和与第一副本数据与校验和进行比较,从而判断数据的完整性。
为了进一步确认误差判断的正确性,在进行第一次校验和判断时,第一校验和与第二校验和不相等,在这种情况下,通过提取第二副本信息中的第二副本数据与校验和,将该第二副本数据与校验和与第一副本数据与校验和进行比较,从而对数据进行有效的判断。
步骤S406,在所述第二副本数据与所述第一副本数据以及所述第三校验和与所述第二校验和同时相等时,根据所述第二副本数据调整所述第一副本数据,根据所述第三校验和调整所述第一校验和。
在具体实现中,读取节点j上的数据dj和校验cj,就使用cj和ci’去进行比较,使用dj和di去进行比较。如果cj=ci’和dj=di同时成立,说明误判,即数据di正确,校验ci错误,这时可以直接使用校验cj去恢复错误校验ci。否则,说明数据di错误,这时可以直接使用数据dj去恢复错误数据di
上述过程还可以继续,再读取节点k上的数据dk和校验ck,然后使用ck和cj、ci’去进行比较,使用dk和di、dj去进行比较。但如非必要,一般执行一次。
本实施例提供的方案,通过判断当前系统的负载情况,在低负载情况下,提取副本信息中的数据和校验和进行二次验证,从而在不影响系统运行的情况下,提高数据纠错的正确性。
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有基于多次验证的数据处理程序,所述基于多次验证的数据处理程序被处理器执行时实现如下操作:
获取数据读取指令,根据所述读取指令从第一目标节点中读取第一副本信息,所述第一副本信息包括第一副本数据与所述第一副本数据对应的第一校验和;
从所述第一副本信息中提取所述第一副本数据,并根据所述第一副本数据生成第二校验和;
在所述第一校验和与所述第二校验和不满足第一预设条件时,从第二目标节点中读取第二副本信息;
将所述第二副本信息与所述第一副本信息进行比较,根据比较结果,调整所述第一副本信息。
进一步地,所述基于多次验证的数据处理程序被处理器执行时还实现如下操作:
获取待校验数据,将所述待校验数据写入若干第一预设节点,生成与所述若干第一预设节点一一对应的若干副本信息,所述若干第一预设节点包括所述第一目标节点。
进一步地,所述基于多次验证的数据处理程序被处理器执行时还实现如下操作:
获取所述若干第一预设节点的各节点信息,提取所述各节点信息中的时延参数,将所述时延参数与时延阈值进行比较;
获取小于所述时延阈值的时延参数对应的第一节点,将所述第一节点作为第一目标节点。
进一步地,所述基于多次验证的数据处理程序被处理器执行时还实现如下操作:
获取所述若干第二预设节点中的各节点信息,提取所述各节点信息中的时延参数,将所述时延参数与时延阈值进行比较;
获取小于所述时延阈值的时延参数对应的第二节点,将所述第二节点作为第二目标节点。
进一步地,所述基于多次验证的数据处理程序被处理器执行时还实现如下操作:
在所述第一校验和与所述第二校验和不满足第一预设条件时,获取当前系统负载参数,在所述当前负载参数满足第二预设条件时,从所述第二目标节点中读取所述第二副本信息。
进一步地,所述基于多次验证的数据处理程序被处理器执行时还实现如下操作:
获取所述第二副本信息中的第三校验和,将所述第三校验和与第二校验和进行比较;
在所述第三校验和与所述第二校验和相等时,根据所述第三校验和调整所述第一校验和。
进一步地,所述基于多次验证的数据处理程序被处理器执行时还实现如下操作:
获取所述第二副本信息中的第二副本数据,将所述第二副本数据与第一副本数据进行比较;
在所述第二副本数据与第一副本数据相等时,根据所述第二副本数据调整所述第一副本数据。
进一步地,所述基于多次验证的数据处理程序被处理器执行时还实现如下操作:
获取所述第二副本信息中的第二副本数据与第三校验和,将所述第二副本数据与所述第一副本数据以及所述第三校验和与所述第二校验和同时进行比较;
在所述第二副本数据与所述第一副本数据以及所述第三校验和与所述第二校验和同时相等时,根据所述第二副本数据调整所述第一副本数据,根据所述第三校验和调整所述第一校验和。
本实施例通过上述方案,通过对多个副本进行多次校验,可以有效的检测和避免校验和误判,提高使用校验和检测数据错误的精度,减少对系统的负面影响。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不去除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于多次验证的数据处理方法,其特征在于,所述方法包括以下步骤:
获取数据读取指令,根据所述读取指令从第一目标节点中读取第一副本信息,所述第一副本信息包括第一副本数据与所述第一副本数据对应的第一校验和;
从所述第一副本信息中提取所述第一副本数据,并根据所述第一副本数据生成第二校验和;
在所述第一校验和与所述第二校验和不满足第一预设条件时,从第二目标节点中读取第二副本信息;
将所述第二副本信息与所述第一副本信息进行比较,根据比较结果,调整所述第一副本信息。
2.如权利要求1所述的基于多次验证的数据处理方法,其特征在于,所述获取数据读取指令,根据所述读取指令从第一目标节点中读取第一副本信息之前,所述方法包括:
获取待校验数据,将所述待校验数据写入若干第一预设节点,生成与所述若干第一预设节点一一对应的若干副本信息,所述若干第一预设节点包括所述第一目标节点。
3.如权利要求2所述的基于多次验证的数据处理方法,其特征在于,所述根据所述读取指令从第一目标节点中读取第一副本信息,具体包括:
获取所述若干第一预设节点的各节点信息,提取所述各节点信息中的时延参数,将所述时延参数与时延阈值进行比较;
获取小于所述时延阈值的时延参数对应的第一节点,将所述第一节点作为第一目标节点。
4.如权利要求3所述的基于多次验证的数据处理方法,其特征在于,将所述第一节点作为第一目标节点之后,所述方法包括:
将所述若干第一预设节点中去除所述第一目标节点,获取去除后的若干第二预设节点;
相应地,所述从第二目标节点中读取第二副本信息,具体包括:
获取所述若干第二预设节点中的各节点信息,提取所述各节点信息中的时延参数,将所述时延参数与时延阈值进行比较;
获取小于所述时延阈值的时延参数对应的第二节点,将所述第二节点作为第二目标节点。
5.如权利要求1至4中任一项所述的基于多次验证的数据处理方法,其特征在于,在所述第一校验和与所述第二校验和不满足第一预设条件时,从第二目标节点中读取第二副本信息,具体包括:
在所述第一校验和与所述第二校验和不满足第一预设条件时,获取当前系统负载参数,在所述当前负载参数满足第二预设条件时,从所述第二目标节点中读取所述第二副本信息。
6.如权利要求5所述的基于多次验证的数据处理方法,其特征在于,在所述当前负载参数满足第二预设条件时,从第二目标节点中读取第二副本信息,具体包括:
在所述当前负载参数满足高负载阈值时,从第二目标节点中读取第二副本信息;
相应地,所述将所述第二副本信息与所述第一副本信息进行比较,根据比较结果,调整所述第一副本信息,具体包括:
获取所述第二副本信息中的第三校验和,将所述第三校验和与第二校验和进行比较;
在所述第三校验和与所述第二校验和相等时,根据所述第三校验和调整所述第一校验和。
7.如权利要求5所述的基于多次验证的数据处理方法,其特征在于,在所述当前负载参数满足第二预设条件时,从第二目标节点中读取第二副本信息,具体包括:
在所述当前负载参数满足中负载阈值时,从第二目标节点中读取第二副本信息;
相应地,所述将所述第二副本信息与所述第一副本信息进行比较,根据比较结果,调整所述第一副本信息,具体包括:
获取所述第二副本信息中的第二副本数据,将所述第二副本数据与第一副本数据进行比较;
在所述第二副本数据与第一副本数据相等时,根据所述第二副本数据调整所述第一副本数据。
8.如权利要求5所述的基于多次验证的数据处理方法,其特征在于,在所述当前负载参数满足第二预设条件时,从第二目标节点中读取第二副本信息,具体包括:
在所述当前负载参数满足低负载阈值时,从第二目标节点中读取第二副本信息;
相应地,所述将所述第二副本信息与所述第一副本信息进行比较,根据比较结果,调整所述第一副本信息,具体包括:
获取所述第二副本信息中的第二副本数据与第三校验和,将所述第二副本数据与所述第一副本数据以及所述第三校验和与所述第二校验和同时进行比较;
在所述第二副本数据与所述第一副本数据以及所述第三校验和与所述第二校验和同时相等时,根据所述第二副本数据调整所述第一副本数据,根据所述第三校验和调整所述第一校验和。
9.一种基于多次验证的数据处理装置,其特征在于,所述基于多次验证的数据处理装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于多次验证的数据处理程序,所述基于多次验证的数据处理程序配置为实现如权利要求1至8中任一项所述的基于多次验证的数据处理方法的步骤。
10.一种存储介质,其特征在于,所述存储介质上存储有基于多次验证的数据处理程序,所述基于多次验证的数据处理程序被处理器执行时实现如权利要求1至8中任一项所述的基于多次验证的数据处理方法的步骤。
CN201711170257.1A 2017-11-21 2017-11-21 基于多次验证的数据处理方法、装置及存储介质 Pending CN108052413A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711170257.1A CN108052413A (zh) 2017-11-21 2017-11-21 基于多次验证的数据处理方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711170257.1A CN108052413A (zh) 2017-11-21 2017-11-21 基于多次验证的数据处理方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN108052413A true CN108052413A (zh) 2018-05-18

Family

ID=62120024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711170257.1A Pending CN108052413A (zh) 2017-11-21 2017-11-21 基于多次验证的数据处理方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN108052413A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416891A (zh) * 2020-11-26 2021-02-26 北京天融信网络安全技术有限公司 数据检测方法、装置、电子设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130290284A1 (en) * 2010-05-06 2013-10-31 Go Daddy Operating Company, LLC Verifying and Balancing Server Resources via Stored Usage Data
CN103744745A (zh) * 2013-12-13 2014-04-23 北京奇虎科技有限公司 一种数据存储的检测方法、设备及分布式存储系统
CN106527993A (zh) * 2016-11-09 2017-03-22 北京搜狐新媒体信息技术有限公司 一种分布式系统中的海量文件储存方法及装置
CN107153508A (zh) * 2016-03-03 2017-09-12 杭州海康威视数字技术股份有限公司 一种数据存储方法及装置
CN107203345A (zh) * 2017-06-01 2017-09-26 深圳市云舒网络技术有限公司 一种多副本存储快速校验一致性方法及其装置
CN107219997A (zh) * 2016-03-21 2017-09-29 阿里巴巴集团控股有限公司 一种用于验证数据一致性的方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130290284A1 (en) * 2010-05-06 2013-10-31 Go Daddy Operating Company, LLC Verifying and Balancing Server Resources via Stored Usage Data
CN103744745A (zh) * 2013-12-13 2014-04-23 北京奇虎科技有限公司 一种数据存储的检测方法、设备及分布式存储系统
CN107153508A (zh) * 2016-03-03 2017-09-12 杭州海康威视数字技术股份有限公司 一种数据存储方法及装置
CN107219997A (zh) * 2016-03-21 2017-09-29 阿里巴巴集团控股有限公司 一种用于验证数据一致性的方法及装置
CN106527993A (zh) * 2016-11-09 2017-03-22 北京搜狐新媒体信息技术有限公司 一种分布式系统中的海量文件储存方法及装置
CN107203345A (zh) * 2017-06-01 2017-09-26 深圳市云舒网络技术有限公司 一种多副本存储快速校验一致性方法及其装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
万川梅,谢正兰: "《Hadoop应用开发实战详解 修订版》", 31 August 2014, 北京:中国铁道出版社 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112416891A (zh) * 2020-11-26 2021-02-26 北京天融信网络安全技术有限公司 数据检测方法、装置、电子设备及可读存储介质
CN112416891B (zh) * 2020-11-26 2023-11-28 北京天融信网络安全技术有限公司 数据检测方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
US8365133B2 (en) Testing apparatus, testing method, and program
CN107861832A (zh) 数据验证方法、装置及可读存储介质
CN105302924A (zh) 一种文件管理方法及装置
CN109783956A (zh) 基于区域划分的最大跳变时间违例修复方法及系统
US6910166B2 (en) Method of and apparatus for timing verification of LSI test data and computer product
US7996808B2 (en) Computer readable medium, system and associated method for designing integrated circuits with loop insertions
JP2009237972A (ja) 半導体装置、その設計方法及び設計装置
CN108052413A (zh) 基于多次验证的数据处理方法、装置及存储介质
US20060190234A1 (en) Property generating method, verification method and verification apparatus
JP4526596B2 (ja) 信号遅延評価プログラム、信号遅延評価方法、および信号遅延評価装置
CN112668266A (zh) 一种时序路径的修正方法
CN112347735A (zh) 标准单元的检测方法和生成方法、介质、及设备
CN110473586B (zh) 一种写失效存储单元的替换方法、装置、设备及存储介质
US8276108B2 (en) Circuit design apparatus and circuit design method
US20120246527A1 (en) Built-in self test circuit and designing apparatus
CN101470666B (zh) 一种数据存储方法
US9288161B2 (en) Verifying the functionality of an integrated circuit
US10383515B2 (en) Method of detecting pupil center
CN113255287B (zh) 一种基于ral的otp寄存器验证方法
JP4685451B2 (ja) 時間遅延が時間制限より良いか否かを評価する方法
CN107430533A (zh) 一种数据校验方法和装置
US6581192B1 (en) Method and system for providing a heuristic approach for testing cell libraries
CN109710980A (zh) 文件审核处理方法、装置、计算机设备和存储介质
CN103036698B (zh) 一种用于ADSL终端设备Mac地址的修复方法及装置
JP2011034517A (ja) 等価性検証装置、そのデータ処理方法、およびプログラム

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: 20180518

RJ01 Rejection of invention patent application after publication