CN109344163B - 一种数据校验方法、装置和计算机可读介质 - Google Patents
一种数据校验方法、装置和计算机可读介质 Download PDFInfo
- Publication number
- CN109344163B CN109344163B CN201811101910.3A CN201811101910A CN109344163B CN 109344163 B CN109344163 B CN 109344163B CN 201811101910 A CN201811101910 A CN 201811101910A CN 109344163 B CN109344163 B CN 109344163B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- characteristic value
- database
- identification information
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据校验方法、装置和计算机可读介质,涉及数据处理的技术领域,包括:从源数据库中抽取目标数据,并在将目标数据写入目标数据库之后,确定目标数据库中的新增数据;计算目标数据和新增数据的特征值,分别得到第一特征值和第二特征值;若第一特征值和第二特征值相同,则确定目标数据和新增数据一致,本发明缓解了现有的数据校验方法校验速度慢,效率较低的技术问题。
Description
技术领域
本发明涉及数据处理的技术领域,尤其是涉及一种数据校验方法、装置和计算机可读介质。
背景技术
在大数据项目中,通常第一步要进行的就是数据集成,即将待处理的数据从数据源抽取到数据中心。
现有技术中,数据抽取的做法是,首次抽取是将待处理数据从数据源中全部抽取到数据中心,而后期是每次只需要抽取一定时间内新增的数据,所以对于一次增量抽取,就需要在抽取完毕之后,需要找出数据同步时间段内(数据抽取时间段内)数据中心新增的数据;将数据抽取时间段内抽取的数据和已经写入到数据中心的数据进行校验,以校验是否一样。现有技术在数据校验的过程中,是将数据源中的数据全部取出,然后与数据中心用来存储本次数据抽取的表中的全部数据进行对比。但是现有的处理方式校验速度慢,因为需要进行全量数据的比对,其中就存在一些无用功,随时间推移,所做无用功比重会增多,且现有的处理方式不适合大数据量比对,在数据量很大的情况下,现有校验方法很慢。
发明内容
有鉴于此,本发明的目的在于提供一种数据校验方法、装置和计算机可读介质,以缓解了现有的数据校验方法校验速度慢,效率较低的技术问题。
第一方面,本发明实施例提供了一种数据校验方法,包括:从源数据库中抽取目标数据,并在将所述目标数据写入目标数据库之后,确定所述目标数据库中的新增数据;计算所述目标数据和所述新增数据的特征值,分别得到第一特征值和第二特征值;若所述第一特征值和所述第二特征值相同,则确定所述目标数据和所述新增数据一致。
进一步地,确定所述目标数据库中的新增数据包括:在第一存储单元中查找第一标识信息和第二标识信息,所述第一标识信息为将所述目标数据写入所述目标数据库的目标表之前向所述目标表写入的指定数据的标识信息,所述第二标识信息为将所述目标数据写入所述目标表之后向目标表写入的指定数据的标识信息;基于所述第一标识信息和所述第二标识信息在所述目标表中确定所述新增数据。
进一步地,所述第一标识信息为第一ID,所述第二标识信息为第二ID;基于所述第一标识信息和所述第二标识信息在所述目标表中确定所述新增数据包括:在所述目标表中读取大于第一ID,且小于第二ID的ID所对应的第一目标数据;将所述第一目标数据作为所述新增数据。
进一步地,所述第一标识信息为第三特征值,所述第二标识信息为第四特征值;基于所述第一标识信息和所述第二标识信息在所述目标表中确定所述新增数据包括:计算所述目标表中每条数据的特征值;确定所述特征值位于所述第三特征值和所述第四特征值之间的目标特征值;将所述目标特征值所对应的第二目标数据作为所述新增数据。
进一步地,所述方法还包括:获取所述源数据库中各个数据的ID和所述目标数据库中各个数据的ID;确定所述目标数据库中各个数据的ID中包含,且所述源数据库中各个数据的ID中不包含的目标ID;将所述目标数据库中所述目标ID所对应的数据删除。
进一步地,所述方法还包括:计算所述源数据库中各个数据的特征值,以及计算所述目标数据库中各个数据的特征值;确定所述目标数据库中各个数据的特征值中包含,且所述源数据库中各个数据的特征值中不包含的目标特征值;将所述目标数据库中所述目标特征值所对应的数据删除。
进一步地,所述从源数据库中抽取目标数据时,所述方法还包括:将所述目标数据对应的第一特征值存储在第二存储单元;所述确定所述目标数据库中的新增数据时,所述方法还包括:将所述新增数据对应的第二特征值存储在第三存储单元。
进一步地,所述目标数据包括至少一条数据,所述新增数据包括至少一条数据;所述确定所述目标数据和所述新增数据一致,包括:从所述第二存储单元中读取一条数据对应的第一特征值;在所述第三存储单元中查找与读取的第一特征值相同的第二特征值;若所述第三存储单元中不存在与读取的第一特征值相同的第二特征值,则确定所述目标数据和所述新增数据不一致;若所述第三存储单元中存在与读取的第一特征值相同的第二特征值,则从第二存储单元中读取下一条数据对应的第一特征值,并执行在所述第三存储单元中查找与读取的第一特征值相同的第二特征值的操作,直到所述第二存储单元中的第一特征值读取完毕,则确定所述目标数据和所述新增数据一致。
第二方面,本发明实施例还提供了一种数据校验装置,包括:数据获取单元,用于从源数据库中抽取目标数据,并在将所述目标数据写入目标数据库之后,确定所述目标数据库中的新增数据;计算单元,用于计算所述目标数据和所述新增数据的特征值,分别得到第一特征值和第二特征值;校验单元,用于在所述第一特征值和所述第二特征值相同的情况下,确定所述目标数据和所述新增数据一致。
进一步地,所述数据获取单元包括:查找单元,用于在第一存储单元中查找第一标识信息和第二标识信息,所述第一标识信息为将所述目标数据写入所述目标数据库的目标表之前向所述目标表写入的指定数据的标识信息,所述第二标识信息为将所述目标数据写入所述目标表之后向目标表写入的指定数据的标识信息;确定单元,用于基于所述第一标识信息和所述第二标识信息在所述目标表中确定所述新增数据。
进一步地,所述第一标识信息为第一ID,所述第二标识信息为第二ID;所述确定单元用于:在所述目标表中读取大于第一ID,且小于第二ID的ID所对应的第一目标数据;将所述第一目标数据作为所述新增数据。
进一步地,所述第一标识信息为第三特征值,所述第二标识信息为第四特征值;所述确定单元还用于:计算所述目标表中每条数据的特征值;确定所述特征值位于所述第三特征值和所述第四特征值之间的目标特征值;将所述目标特征值所对应的第二目标数据作为所述新增数据。
进一步地,所述装置还用于:获取所述源数据库中各个数据的ID和所述目标数据库中各个数据的ID;确定所述目标数据库中各个数据的ID中包含,且所述源数据库中各个数据的ID中不包含的目标ID;将所述目标数据库中所述目标ID所对应的数据删除。
进一步地,所述装置还用于:计算所述源数据库中各个数据的特征值,以及计算所述目标数据库中各个数据的特征值;确定所述目标数据库中各个数据的特征值中包含,且所述源数据库中各个数据的特征值中不包含的目标特征值;将所述目标数据库中所述目标特征值所对应的数据删除。
进一步地,所述从源数据库中抽取目标数据时,所述装置还用于:将所述目标数据对应的第一特征值存储在第二存储单元;所述确定所述目标数据库中的新增数据时,所述装置还用于:将所述新增数据对应的第二特征值存储在第三存储单元。
进一步地,所述目标数据包括至少一条数据,所述新增数据包括至少一条数据;所述校验单元用于:从所述第二存储单元中读取一条数据对应的第一特征值;在所述第三存储单元中查找与读取的第一特征值相同的第二特征值;若所述第三存储单元中不存在与读取的第一特征值相同的第二特征值,则确定所述目标数据和所述新增数据不一致;若所述第三存储单元中存在与读取的第一特征值相同的第二特征值,则从第二存储单元中读取下一条数据对应的第一特征值,并执行在所述第三存储单元中查找与读取的第一特征值相同的第二特征值的操作,直到所述第二存储单元中的第一特征值读取完毕,则确定所述目标数据和所述新增数据一致。
第三方面,本发明实施例提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述第一方面中任一所述方法。
在本发明实施例中,首先从源数据库中抽取目标数据,并在将目标数据写入目标数据库之后,确定目标数据库中的新增数据;然后,计算目标数据和新增数据的特征值,分别得到第一特征值和第二特征值,其中,若第一特征值和第二特征值相同,则确定目标数据和新增数据一致。
相对于现有的校验方式,本实施例将目标数据的特征值与目标数据库中新增数据的特征值进行比较,从而校验目标数据和新增数据的一致性。相对于现有技术中对数据内容进行比对校验的方式,在本实施例中,采用数据特征值进行比对校验的方式,能够进一步地的缩短校验方式,提高校验速度,进而以缓解了现有的数据校验方法校验速度慢,效率较低的技术问题,从而实现了快速对数据进行校验的技术效果。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的一种数据校验方法的流程图;
图2是根据本发明实施例的一种可选地的向目标表中写入指定数据的示意图;
图3是根据本发明实施例的另一种可选地的向目标表中写入指定数据的示意图;
图4是根据本发明实施例的一种数据特征值的计算方法的流程图;
图5是根据本发明实施例的一种可选地数据校验方法的流程图;
图6是根据本发明实施例的一种数据校验装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
根据本发明实施例,提供了一种数据校验方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种数据校验方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,从源数据库中抽取目标数据,并在将目标数据写入目标数据库之后,确定目标数据库中的新增数据;
其中,目标数据库又可以称为数据中心,在本实施例中,数据中心是指可用来容纳不同来源数据的数据存储环境。
步骤S104,计算所述目标数据和所述新增数据的特征值,分别得到第一特征值和第二特征值;
在本实施例中,数据特征值是指通过特定算法计算出的用于表征数据库中每一条数据的唯一ID的数值。
步骤S106,若第一特征值和所述第二特征值相同,则确定目标数据和所述新增数据一致。
在本发明实施例中,首先从源数据库中抽取目标数据,并在将目标数据写入目标数据库之后,确定目标数据库中的新增数据;然后,计算目标数据和新增数据的特征值,分别得到第一特征值和第二特征值,其中,若第一特征值和第二特征值相同,则确定目标数据和新增数据一致。
相对于现有的校验方式,本实施例将目标数据的特征值与目标数据库中新增数据的特征值进行比较,从而校验目标数据和新增数据的一致性。相对于现有技术中对数据内容进行比对校验的方式,在本实施例中,采用数据特征值进行比对校验的方式,能够进一步地的缩短校验方式,提高校验速度,进而以缓解了现有的数据校验方法校验速度慢,效率较低的技术问题,从而实现了快速对数据进行校验的技术效果。
在本实施例中,首先从源数据库中抽取目标数据,然后,在将所述目标数据写入目标数据库之后,确定所述目标数据库中的新增数据。
在一个可选的实施方式中,步骤S102,确定目标数据库中的新增数据包括如下步骤:
步骤S1021,在第一存储单元中查找第一标识信息和第二标识信息,其中,第一标识信息为将所述目标数据写入所述目标数据库的目标表之前向所述目标表写入的指定数据的标识信息,所述第二标识信息为将所述目标数据写入所述目标表之后向目标表写入的指定数据的标识信息;
步骤S1022,基于所述第一标识信息和所述第二标识信息在目标表中确定新增数据。
在进行数据抽取之前,目标数据库中可能已经存储了大量数据。如果可以在目标数据库中确定出当前抽取时间段内的新增数据,并将该新增数据的特征值与目标数据的特征值进行比较,就能够快速的校验目标数据和新增数据的一致性。相对于传统的校验方式,本实施例所采用的校验方式能够避免传统方法中用目标数据库中用于存储新增数据的整个目标表中的数据与目标数据进行比对的方式,从而节省了数据校验的时间,提高了数据校验的速度。
在将目标数据写入目标数据库之后,为了从目标数据库中更加准确的确定出新增数据,可以采用以下方式:
在将目标数据写入目标数据库的目标表之前,向目标表中写入一条特定数据,即为M1;在将目标数据写入目标表中之后,向目标表中写入另一条特定数据,即为M2。在将特定数据M1写入目标表时,会在第一存储单元中记录下特定数据M1的标识信息,即第一标识信息;在将特定数据M2写入目标表时,会第一存储单元中记录下特定数据M2的标识信息,即第二标识信息。
在获取新增数据时,就可以在第一存储单元中查找第一标识信息和第二标识信息,并基于第一标识信息和第二标识信息在目标表中确定新增数据。
需要说明的是,在本实施例中,上述标识信息可以为ID信息,还可以为数据的特征值。在下述实施方式中,将分别进行介绍上述两种标识信息。
第一种、ID信息
在一个可选的实施方式中,步骤S1022,基于第一标识信息和第二标识信息在目标表中确定新增数据包括如下步骤:
步骤S11,在所述目标表中读取大于第一ID,且小于第二ID的ID所对应的第一目标数据;
步骤S12,将所述第一目标数据作为所述新增数据。
在本实施例中,针对目标表中包含为ID信息的情况,在将目标数据写入目标数据库的目标表之前,向目标表中写入一条特定数据,记为M1,并得到特定数据M1的ID信息,记为ID1(即第一ID),同时将该ID1记录在第一存储单元中;在将目标数据写入目标数据库的目标表之后,向目标表中写入另一条特定数据,记为M2,并得到特定数据M2的ID信息,记为ID2(即第二ID),同时将该ID2记录在第二存储单元中。
在确定目标数据库的新增数据时,首先在第一存储单元中查找到第一ID和第二ID,然后,在目标表中读取大于ID1(即第一ID),且小于ID2(即第二ID)的ID所对应的第一目标数据。并将该第一目标数据作为新增数据。
需要说明的是,一般情况下,第一存储单元中只存储当前数据抽取周期内的两个标识信息,即第一标识信息和第二标识信息。当重新开始下一个数据抽取周期时,对第一标识信息和第二标识信息进行更新。
例如,如图2所示,将目标表中ID范围大于ID1(即,4)且小于ID2(即,8)的数据取出作为新增数据。
在本实施例中,通过上述处理方式,能够在将目标数据写入目标数据库之后,快速界定目标数据库中增加的数据,极大减少了要对比的数据量。
第二种、数据的特征值
在一个可选的实施方式中,步骤S1022,基于所述第一指定数据和所述第二指定数据获取所述新增数据还包括如下步骤:
步骤S21,计算所述目标表中每条数据的特征值;
步骤S22,确定所述特征值位于所述第三特征值和所述第四特征值之间的目标特征值;
步骤S23,将所述目标特征值所对应的第二目标数据作为所述新增数据。
在本实施例中,针对目标表中没有增量字段、ID的情况,可以在将目标数据写入目标数据库的目标表之前,向目标表中写入一条特定数据,记为M3,并计算得到特定数据M3的数据特征值(记为第三特征值V1),同时将该数据特征值V1写入第一存储单元中,然后将特定数据M3写入目标表。在将将目标数据写入目标数据库的目标表之后,向目标表中写入另一条特定数据,记为M4,并计算得到特定数据M4的数据特征值(记为第四特征值V2),同时将该数据特征值V2写入第一存储单元中,然后将特征数据M4写入目标表。
在将目标数据写入目标数据库之后,确定目标数据库内的新增数据时,可以在读取整个目标表并计算每条数据的数据特征值,将数据特征值是V1之前、V2之后的丢弃,将数据特征值是V1和V2之间的第二目标数据作为新增数据:
如图3所示,特征值V1为:53e81e4a90777a1f61ae9b24fbaa78f6,特征值V2为:60ecd8e65d06d3a855bb1d9be9502bdc。在本实施例中,从目标表开始逐行计算数据特征值,V1后面即V2前面的数据特征值所对应的第二目标数据作为所述新增数据。
需要说明的是,在本实施例中,并不限定为基于指定数据的ID和指定数据的特征值来读取新增数据,还可以使用其他标识信息确保指定数据的唯一性,本实施例中不做具体限定。
在本实施例中,通过上述处理方式,在将目标数据写入目标数据库之后,能够快速界定目标数据库中增加的数据,极大减少了要对比的数据量。
在本实施例的另一个可选的实施方式中,该方法还包括如下步骤:
步骤S31,获取所述源数据库中各个数据的ID和所述目标数据库中各个数据的ID;
步骤S32,确定所述目标数据库中各个数据的ID中包含,且所述源数据库中各个数据的ID中不包含的目标ID;
步骤S33,将所述目标数据库中所述目标ID所对应的数据删除。
在本实施例中,还可以定期对目标数据库和源数据库中数据执行删除操作。例如,源数据库中某条数据被删除,那么目标数据库中该数据也应该被删除。
其中,可以定期获取源数据库中各个数据的ID和目标数据库中各个数据的ID;然后,将源数据库中各个数据的ID和目标数据库中各个数据的ID进行比对,以确定目标数据库中各个数据的ID中包含,且源数据库中各个数据的ID中不包含的目标ID,进而将目标数据库中目标ID所对应的数据删除。
在现有技术中,为定期将源数据库中和目标数据库中的数据进行比对,进而,在目标数据库中删除差异数据,其中,差异数据是指目标数据库中包含,且源数据库中未包含的数据。如果源数据库中数据量较大,那么一一进行对比将浪费大量的时间,同时降低了数据处理的效率。
通过上述描述可知,ID为一个数值,用于唯一表征数据库中的数据。因此,采用ID将源数据库中和目标数据库中的数据进行比对的方式,能够缩短数据比对效率,提高数据处理的效率。
在本实施例的另一个可选的实施方式中,该方法还包括如下步骤:
步骤S41,计算所述源数据库中各个数据的特征值,以及计算所述目标数据库中各个数据的特征值;
步骤S42,确定所述目标数据库中各个数据的特征值中包含,且所述源数据库中各个数据的特征值中不包含的目标特征值;
步骤S43,将所述目标数据库中所述目标特征值所对应的数据删除。
在本实施例中,还可以定期对目标数据库和源数据库进行删除操作。例如,源数据库中某条数据被删除,那么目标数据库中该数据也被删除。
其中,可以定期获取源数据库中各个数据的特征值和目标数据库中各个数据的特征值;然后,将源数据库中各个数据的特征值和目标数据库中各个数据的特征值进行比对,以确定目标数据库中各个数据的特征值中包含,且源数据库中各个数据的特征值中不包含的目标特征值,进而将目标数据库中目标特征值所对应的数据删除。
通过上述描述可知,特征值为一串字符,用于唯一表征数据库中的数据。因此,采用特征值将源数据库中和目标数据库中的数据进行比对的方式,能够缩短数据比对效率,提高数据处理的效率。
需要说明的是,在本实施例中,还可以定期将目标数据库中增加的指定数据清理,如果是有ID的情况,就可以利用SQL语句直接删除记录;如果是表中没有增量字段、ID等情况,则可通过判断数据特征值来确定数据唯一性并将记录删除。
在一个可选的实施方式中,还可以在从源数据库中抽取目标数据时,将目标数据对应的第一特征值存储在第二存储单元;并在确定所述目标数据库中的新增数据时,将新增数据对应的第二特征值存储在第三存储单元,其中,所述第二存储单元和所述第三存储单元的数量均至少为一个。
在将目标数据的特征值存储在第二存储单元(BS)中,并将新增数据的特征值存储在第三存储单元(BT)中之后,就可以将存储在所述第二存储单元中的第一特征值和存储在所述第三存储单元中的第二特征值进行校验,以确定所述目标数据和所述新增数据的一致性。
基于此,在本实施例中,步骤S106,确定所述目标数据和所述新增数据一致,包括:
步骤S1061,从所述第二存储单元中读取一条数据对应的第一特征值;
步骤S1062,在所述第三存储单元中查找与读取的第一特征值相同的第二特征值;
步骤S1063,若所述第三存储单元中不存在与读取的第一特征值相同的第二特征值,则确定所述目标数据和所述新增数据不一致;
步骤S1064,若所述第三存储单元中存在与读取的第一特征值相同的第二特征值,则从第二存储单元中读取下一条数据对应的第一特征值,并执行在所述第三存储单元中查找与读取的第一特征值相同的第二特征值的操作,直到所述第二存储单元中的第一特征值读取完毕,则确定所述目标数据和所述新增数据一致。
具体地,在本实施例中,首先,假设第二存储单元中存储了N条数据的特征值(即,N个第一特征值),且假设第三存储单元中存储了M条数据的特征值(即,M个第二特征值),其中,M与N相同或者不同。
按照上述步骤S1061至步骤S1064所描述的过程,首先,从第二存储单元充读取第一条数据对应的第一特征值,并在第三存储单元中查找与读取的第一特征值相同的第二特征值。若未查找到,则确定目标数据与新增数据不一致。若查找到,则从第二存储单元充读取第二条数据对应的第一特征值,并在第三存储单元中查找与第二条数据对应的第一特征值相同的第二特征值。若未查找到,则确定目标数据与新增数据不一致,否则,继续按照上述处理方式查找第二存储单元中的第三条数据的第一特征值,直至第二存储单元中N个第一特征值均在第三存储单元中查找到与之相同的第二特征值,则确定目标数据和所述新增数据一致。
需要说明的是,在本实施例中,还可以根据第二存储单元(BS)中所存储的数据特征值,来对目标数据库中已经写入的数据删除,即实现目标数据库表的数据回滚。
在本实施例中,可以采用如图4所示的方式计算目标数据的特征值,以及计算新增数据的特征值,或者计算目标表中每条数据的特征值,该计算方式的具体过程为:
首先,将数据转换为字符串,其中,该数据是指以下任一种:目标数据,新增数据,目标表中每条数据。
然后,利用摘要算法(例如,MD5算法)计算该数据的特征值。需要说明的是,在本实施例中,并不限定摘要算法一定是MD5算法,还可以选择其他的摘要算法。
综上,相对于现有的校验方式,在本实施例中,采用数据特征值进行比对校验的方式,能够进一步地的缩短校验方式,提高校验速度,进而以缓解了现有的数据校验方法校验速度慢,效率较低的技术问题,从而实现了快速对数据进行校验的技术效果。本实施例所采用的新增数据的确定方法,能够快速界定目标数据库中增加的数据,极大减少了要对比的数据量。本实施例所提供的方法能够适用于现有的绝大部分关系型数据库。本实施例中,将数据特征值放在多个存储单元中,可以应对大数量的一致性校验。
实施例二:
图5是根据本发明实施例的一种数据校验方法的流程图,如图5所示,该方法包括如下步骤:
从源数据库中抽取目标数据至目标数据库。判断当前数据抽取的操作是否执行完成。其中,如果未执行完成,则继续执行当前数据抽取的操作。如果执行完成,则确定目标数据库中的新增数据。
计算目标数据的特征值,以及计算新增数据的特征值。将计算得到的目标数据的特征值存储在第二存储单元中,并将计算得到的新增数据的特征值存储在第三存储单元中。
读取第二存储单元中的每个特征值;将该特征值与第三存储单元中的每个特征进行比较,得到比较结果。基于比较结果判断第二存储单元中的特征值是否存在与第三存储单元中,如果是,则确定目标数据和新增数据一致,否则,确定出目标数据和新增数据不一致。
实施例三:
本发明实施例还提供了一种数据校验装置,该数据校验装置主要用于执行本发明实施例上述内容所提供的数据校验方法,以下对本发明实施例提供的数据校验装置做具体介绍。
图6是根据本发明实施例的一种数据校验装置的示意图,如图6所示,该数据校验装置主要包括数据获取单元10,计算单元20和校验单元30,其中:
数据获取单元10,用于从源数据库中抽取目标数据,并在将所述目标数据写入目标数据库之后,确定所述目标数据库中的新增数据;
计算单元20,用于计算所述目标数据和所述新增数据的特征值,分别得到第一特征值和第二特征值;
校验单元30,用于在所述第一特征值和所述第二特征值相同的情况下,确定所述目标数据和所述新增数据一致。
在本发明实施例中,首先从源数据库中抽取目标数据,并在将目标数据写入目标数据库之后,确定目标数据库中的新增数据;然后,计算目标数据和新增数据的特征值,分别得到第一特征值和第二特征值,其中,若第一特征值和第二特征值相同,则确定目标数据和新增数据一致。
相对于现有的校验方式,本实施例将目标数据的特征值与目标数据库中新增数据的特征值进行比较,从而校验目标数据和新增数据的一致性。相对于现有技术中对数据内容进行比对校验的方式,在本实施例中,采用数据特征值进行比对校验的方式,能够进一步地的缩短校验方式,提高校验速度,进而以缓解了现有的数据校验方法校验速度慢,效率较低的技术问题,从而实现了快速对数据进行校验的技术效果。
可选地,所述数据获取单元包括:查找单元,用于在第一存储单元中查找第一标识信息和第二标识信息,所述第一标识信息为将所述目标数据写入所述目标数据库的目标表之前向所述目标表写入的指定数据的标识信息,所述第二标识信息为将所述目标数据写入所述目标表之后向目标表写入的指定数据的标识信息;确定单元,用于基于所述第一标识信息和所述第二标识信息在所述目标表中确定所述新增数据。
可选地,所述第一标识信息为第一ID,所述第二标识信息为第二ID;所述确定单元用于:在所述目标表中读取大于第一ID,且小于第二ID的ID所对应的第一目标数据;将所述第一目标数据作为所述新增数据。
可选地,所述第一标识信息为第三特征值,所述第二标识信息为第四特征值;所述确定单元还用于:计算所述目标表中每条数据的特征值;确定所述特征值位于所述第三特征值和所述第四特征值之间的目标特征值;将所述目标特征值所对应的第二目标数据作为所述新增数据。
可选地,所述装置还用于:获取所述源数据库中各个数据的ID和所述目标数据库中各个数据的ID;确定所述目标数据库中各个数据的ID中包含,且所述源数据库中各个数据的ID中不包含的目标ID;将所述目标数据库中所述目标ID所对应的数据删除。
可选地,所述装置还用于:计算所述源数据库中各个数据的特征值,以及计算所述目标数据库中各个数据的特征值;确定所述目标数据库中各个数据的特征值中包含,且所述源数据库中各个数据的特征值中不包含的目标特征值;将所述目标数据库中所述目标特征值所对应的数据删除。
可选地,所述从源数据库中抽取目标数据时,所述装置还用于:将所述目标数据对应的第一特征值存储在第二存储单元;所述确定所述目标数据库中的新增数据时,所述装置还用于:将所述新增数据对应的第二特征值存储在第三存储单元。
可选地,所述目标数据包括至少一条数据,所述新增数据包括至少一条数据;所述校验单元用于:从所述第二存储单元中读取一条数据对应的第一特征值;在所述第三存储单元中查找与读取的第一特征值相同的第二特征值;若所述第三存储单元中不存在与读取的第一特征值相同的第二特征值,则确定所述目标数据和所述新增数据不一致;若所述第三存储单元中存在与读取的第一特征值相同的第二特征值,则从第二存储单元中读取下一条数据对应的第一特征值,并执行在所述第三存储单元中查找与读取的第一特征值相同的第二特征值的操作,直到所述第二存储单元中的第一特征值读取完毕,则确定所述目标数据和所述新增数据一致。
在另一个实施例中,还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述方法实施例中任一所述方法。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种数据校验方法,其特征在于,包括:
从源数据库中抽取目标数据,并在将所述目标数据写入目标数据库之后,在第一存储单元中查找第一标识信息和第二标识信息,在所述目标数据库的目标表中位于所述第一标识信息和所述第二标识信息之间的数据确定新增数据;所述第一标识信息为将所述目标数据写入所述目标数据库的目标表之前向所述目标表写入的指定数据的标识信息,所述第二标识信息为将所述目标数据写入所述目标表之后向目标表写入的指定数据的标识信息;
计算每条所述目标数据和每条所述新增数据的特征值,分别得到第一特征值和第二特征值;所述特征值用于表征数据库中每一条数据的唯一ID的数值;所述从源数据库中抽取目标数据时,所述方法还包括:将所述目标数据对应的第一特征值存储在第二存储单元;所述确定所述目标数据库中的新增数据时,所述方法还包括:将所述新增数据对应的第二特征值存储在第三存储单元;
若所述第一特征值和所述第二特征值相同,则确定所述目标数据和所述新增数据一致;所述目标数据包括至少一条数据,所述新增数据包括至少一条数据;所述确定所述目标数据和所述新增数据一致,包括:从所述第二存储单元中读取一条数据对应的第一特征值;在所述第三存储单元中查找与读取的第一特征值相同的第二特征值;若所述第三存储单元中不存在与读取的第一特征值相同的第二特征值,则确定所述目标数据和所述新增数据不一致;若所述第三存储单元中存在与读取的第一特征值相同的第二特征值,则从第二存储单元中读取下一条数据对应的第一特征值,并执行在所述第三存储单元中查找与读取的第一特征值相同的第二特征值的操作,直到所述第二存储单元中的第一特征值读取完毕,则确定所述目标数据和所述新增数据一致。
2.根据权利要求1所述的方法,其特征在于,所述第一标识信息为第一ID,所述第二标识信息为第二ID;
在所述目标数据库的目标表中位于所述第一标识信息和所述第二标识信息之间的数据确定新增数据包括:
在所述目标表中读取大于第一ID,且小于第二ID的ID所对应的第一目标数据;
将所述第一目标数据作为所述新增数据。
3.根据权利要求1所述的方法,其特征在于,所述第一标识信息为第三特征值,所述第二标识信息为第四特征值;
在所述目标数据库的目标表中位于所述第一标识信息和所述第二标识信息之间的数据确定新增数据包括:
计算所述目标表中每条数据的特征值;
确定所述特征值位于所述第三特征值和所述第四特征值之间的目标特征值;
将所述目标特征值所对应的第二目标数据作为所述新增数据。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述源数据库中各个数据的ID和所述目标数据库中各个数据的ID;
确定所述目标数据库中各个数据的ID中包含,且所述源数据库中各个数据的ID中不包含的目标ID;
将所述目标数据库中所述目标ID所对应的数据删除。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
计算所述源数据库中各个数据的特征值,以及计算所述目标数据库中各个数据的特征值;
确定所述目标数据库中各个数据的特征值中包含,且所述源数据库中各个数据的特征值中不包含的目标特征值;
将所述目标数据库中所述目标特征值所对应的数据删除。
6.一种数据校验装置,其特征在于,包括:
数据获取单元,用于从源数据库中抽取目标数据,并在将所述目标数据写入目标数据库之后,确定所述目标数据库中的新增数据;
计算单元,用于计算每条所述目标数据和每条所述新增数据的特征值,分别得到第一特征值和第二特征值;所述特征值用于表征数据库中每一条数据的唯一ID的数值;
校验单元,用于在所述第一特征值和所述第二特征值相同的情况下,确定所述目标数据和所述新增数据一致;
所述数据获取单元包括:
查找单元,用于在第一存储单元中查找第一标识信息和第二标识信息,所述第一标识信息为将所述目标数据写入所述目标数据库的目标表之前向所述目标表写入的指定数据的标识信息,所述第二标识信息为将所述目标数据写入所述目标表之后向目标表写入的指定数据的标识信息;
确定单元,用于在所述目标数据库的目标表中位于所述第一标识信息和所述第二标识信息之间的数据确定新增数据;
所述从源数据库中抽取目标数据时,所述装置还用于:将所述目标数据对应的第一特征值存储在第二存储单元;
所述确定所述目标数据库中的新增数据时,所述装置还用于:将所述新增数据对应的第二特征值存储在第三存储单元;
所述目标数据包括至少一条数据,所述新增数据包括至少一条数据;
所述校验单元用于:
从所述第二存储单元中读取一条数据对应的第一特征值;
在所述第三存储单元中查找与读取的第一特征值相同的第二特征值;
若所述第三存储单元中不存在与读取的第一特征值相同的第二特征值,则确定所述目标数据和所述新增数据不一致;
若所述第三存储单元中存在与读取的第一特征值相同的第二特征值,则从第二存储单元中读取下一条数据对应的第一特征值,并执行在所述第三存储单元中查找与读取的第一特征值相同的第二特征值的操作,直到所述第二存储单元中的第一特征值读取完毕,则确定所述目标数据和所述新增数据一致。
7.根据权利要求6所述的装置,其特征在于,所述第一标识信息为第一ID,所述第二标识信息为第二ID;所述确定单元用于:
在所述目标表中读取大于第一ID,且小于第二ID的ID所对应的第一目标数据;
将所述第一目标数据作为所述新增数据。
8.根据权利要求6所述的装置,其特征在于,所述第一标识信息为第三特征值,所述第二标识信息为第四特征值;所述确定单元还用于:
计算所述目标表中每条数据的特征值;
确定所述特征值位于所述第三特征值和所述第四特征值之间的目标特征值;
将所述目标特征值所对应的第二目标数据作为所述新增数据。
9.根据权利要求6所述的装置,其特征在于,所述装置还用于:
获取所述源数据库中各个数据的ID和所述目标数据库中各个数据的ID;
确定所述目标数据库中各个数据的ID中包含,且所述源数据库中各个数据的ID中不包含的目标ID;
将所述目标数据库中所述目标ID所对应的数据删除。
10.根据权利要求6所述的装置,其特征在于,所述装置还用于:
计算所述源数据库中各个数据的特征值,以及计算所述目标数据库中各个数据的特征值;
确定所述目标数据库中各个数据的特征值中包含,且所述源数据库中各个数据的特征值中不包含的目标特征值;
将所述目标数据库中所述目标特征值所对应的数据删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811101910.3A CN109344163B (zh) | 2018-09-20 | 2018-09-20 | 一种数据校验方法、装置和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811101910.3A CN109344163B (zh) | 2018-09-20 | 2018-09-20 | 一种数据校验方法、装置和计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109344163A CN109344163A (zh) | 2019-02-15 |
CN109344163B true CN109344163B (zh) | 2021-11-09 |
Family
ID=65305902
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811101910.3A Active CN109344163B (zh) | 2018-09-20 | 2018-09-20 | 一种数据校验方法、装置和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109344163B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112527894B (zh) * | 2020-11-27 | 2023-04-14 | 聚好看科技股份有限公司 | 一种数据库一致性校验方法及系统 |
CN112910086B (zh) * | 2021-01-18 | 2024-05-31 | 国网山东省电力公司青岛供电公司 | 一种智能变电站数据校验方法及系统 |
CN113420036A (zh) * | 2021-06-22 | 2021-09-21 | 南方电网数字电网研究院有限公司 | 一种电网监控系统内存库关系库一致性校验方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013019869A2 (en) * | 2011-08-01 | 2013-02-07 | Actifio, Inc. | Data fingerpringting for copy accuracy assurance |
CN103391311A (zh) * | 2013-06-24 | 2013-11-13 | 北京奇虎科技有限公司 | 一种多平台之间数据一致性校验的方法和系统 |
CN106815530A (zh) * | 2016-12-26 | 2017-06-09 | 北京爱接力科技发展有限公司 | 数据存证方法、数据校验方法及装置 |
CN108268496A (zh) * | 2016-12-30 | 2018-07-10 | 北京国双科技有限公司 | 数据的校验方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101639833A (zh) * | 2008-08-01 | 2010-02-03 | 财团法人资讯工业策进会 | 中介装置、中介方法、计算机程序产品及数据储存系统 |
-
2018
- 2018-09-20 CN CN201811101910.3A patent/CN109344163B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013019869A2 (en) * | 2011-08-01 | 2013-02-07 | Actifio, Inc. | Data fingerpringting for copy accuracy assurance |
CN103391311A (zh) * | 2013-06-24 | 2013-11-13 | 北京奇虎科技有限公司 | 一种多平台之间数据一致性校验的方法和系统 |
CN106815530A (zh) * | 2016-12-26 | 2017-06-09 | 北京爱接力科技发展有限公司 | 数据存证方法、数据校验方法及装置 |
CN108268496A (zh) * | 2016-12-30 | 2018-07-10 | 北京国双科技有限公司 | 数据的校验方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109344163A (zh) | 2019-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9201738B2 (en) | Method, computer readable storage medium and computer system for obtaining snapshots of data | |
CN111046034B (zh) | 管理内存数据及在内存中维护数据的方法和系统 | |
CN110569214B (zh) | 用于日志文件的索引构建方法、装置及电子设备 | |
US8010502B2 (en) | Methods and systems for data recovery | |
CN109344163B (zh) | 一种数据校验方法、装置和计算机可读介质 | |
CN107797916B (zh) | Ddl语句审核方法和装置 | |
CN112307124B (zh) | 数据库同步验证方法、装置、设备及存储介质 | |
KR101549220B1 (ko) | 데이터베이스 관리 방법, 시스템 및 데이터베이스 트리 구조 | |
CN113901279B (zh) | 一种图数据库的检索方法和装置 | |
CN109062936B (zh) | 一种数据查询方法、计算机可读存储介质及终端设备 | |
US10459804B2 (en) | Database rollback using WAL | |
JP2012198832A (ja) | 重複ファイル検出装置 | |
CN112328631A (zh) | 一种生产故障分析方法、装置、电子设备及存储介质 | |
CN113420081A (zh) | 数据校验方法、装置、电子设备及计算机存储介质 | |
CN114185867A (zh) | 确认数据一致性的方法、装置和电子设备 | |
CN106776704B (zh) | 统计信息收集方法和装置 | |
CN109656929B (zh) | 一种雕复关系型数据库文件的方法及装置 | |
CN115374129A (zh) | 一种数据库联合索引编码方法和系统 | |
CN111639087A (zh) | 数据库中数据更新方法、装置和电子设备 | |
CN111694853A (zh) | 基于世系的数据增量采集方法、装置、存储介质和电子设备 | |
CN112380174B (zh) | 含删除文件的xfs文件系统解析方法、终端设备及存储介质 | |
CN114416741A (zh) | 基于多级索引的kv数据写入读取方法、装置及存储介质 | |
CN114138565A (zh) | 一种加速数据库备份的方法及系统 | |
CN114265828A (zh) | 行迁移消除方法、装置、计算机设备和存储介质 | |
CN113535962A (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 |