CN104731792A - 数据库一致性校验方法及***、定位数据库差异的方法及*** - Google Patents

数据库一致性校验方法及***、定位数据库差异的方法及*** Download PDF

Info

Publication number
CN104731792A
CN104731792A CN201310704107.XA CN201310704107A CN104731792A CN 104731792 A CN104731792 A CN 104731792A CN 201310704107 A CN201310704107 A CN 201310704107A CN 104731792 A CN104731792 A CN 104731792A
Authority
CN
China
Prior art keywords
grouping
data base
value
master data
database
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
CN201310704107.XA
Other languages
English (en)
Other versions
CN104731792B (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.)
China Unionpay Co Ltd
Original Assignee
China Unionpay 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 China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN201310704107.XA priority Critical patent/CN104731792B/zh
Publication of CN104731792A publication Critical patent/CN104731792A/zh
Application granted granted Critical
Publication of CN104731792B publication Critical patent/CN104731792B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供一种数据库一致性校验方法,包括:a.按照预定条件将主数据库与备数据库中的数据行分组;b.计算主数据库每一分组及备数据库每一分组的md5值;c.将所计算的主数据库的每一分组的md5值与相应的备数据库分组的md5值比较,如果主数据库所有分组的md5值与相应的备数据库分组的md5值一致,则表明主数据库与备数据库一致。本发明还提供相应的***,以及基于该方法的定位数据库差异的方法及***。根据本发明的数据库一致性校验可判断出数据库之间是否一致,且具有较小的计算量以及网络数据传输量。

Description

数据库一致性校验方法及***、定位数据库差异的方法及***
技术领域
   本发明涉及数据库技术,更具体地,涉及数据库一致性校验技术以及定位数据库中差异的技术。
背景技术
  现有的数据库比较方法首先是对数据库中的表按关键字排序,随后再以相应的算法比较。这种解决方案占用诸如内存、swap空间等大量数据库的资源,这种情况在数据量大的情况下尤其明显,甚至影响数据库的性能。
   此外,常规的数据比较方案,一般只能判断出两个数据库是否一致,但不能具体定位有差异的数据。
发明内容
本发明提供一种数据库一致性校验方法,其可判断出数据库之间是否一致,且具有较小的计算量以及网络数据传输量。该数据库一致性校验方法包括:a.按照预定条件将主数据库与备数据库中的数据行分组;b. 计算主数据库每一分组及备数据库每一分组的md5值;c. 将所计算的主数据库的每一分组的md5值与相应的备数据库分组的md5值比较,如果主数据库所有分组的md5值与相应的备数据库分组的md5值一致,则表明主数据库与备数据库一致。
该数据库一致性校验方法中,步骤b包括:b1. 计算主数据库中每一分组内每一行的md5值,计算备数据库中每一分组内每一行的md5值;b2. 按照关键字对主数据库中每一分组的哈希表排序,及按照关键字对备数据库中每一分组的哈希表排序,以获得主数据库每一分组的有序哈希表及获得备数据库每一分组的有序哈希表;b3. 计算主数据库每一分组的唯一md5值,计算备数据库中每一分组的唯一md5值。优选地,步骤b2包括:如果哈希表排序中存在冲突,则以拉链法处理该冲突。优选地,步骤a包括:按时间戳将主数据库与备数据库中的数据行分组。
本发明还提供一种定位数据库差异的方法,该方法包括:a.按照预定条件将主数据库与备数据库中的数据行分组;b. 计算主数据库中每一分组内每一行的md5值,计算备数据库中每一分组内每一行的md5值;c. 按照关键字对主数据库中每一分组的哈希表排序,及按照关键字对备数据库中每一分组的哈希表排序,以获得主数据库每一分组的有序哈希表以及备数据库每一分组的有序哈希表;d. 计算主数据库每一分组的唯一md5值,计算备数据库中每一分组的唯一md5值;e. 将所计算的主数据库的每一分组的md5值与相应的备数据库分组的md5值比较;f.如果主数据库中某分组的md5值与备数据库中相应分组的md5值不同,则获得在步骤b计算的主数据库中该分组中每一行的md5值,及备数据库中该相应分组中每一行的md5值;g. 按照关键字对主数据库的该分组排序,以及对备数据库的该相应分组排序;h. 按照关键字排序后,对于主数据库中该分组中的每一行与备数据库中该相应分组中的每一行,逐行比较它们的md5值,以获得md5值不同的行。
优选地,步骤c包括:如果哈希表排序中存在冲突,则以拉链法处理该冲突。优选地,步骤a包括:按时间戳将主数据库与备数据库中的数据行分组。
根据本发明的又一方面,提供一种数据库一致性校验***,该***包括:分组模块,其包括:主分组单元,用于按照预定条件将主数据库中的数据行分组,备分组单元,用于按照预定条件将备数据库中的数据行分组;计算模块,其包括:主计算单元,用于计算主数据库每一分组的md5值,备计算单元,用于计算备数据库每一分组的md5值;比较模块,用于将所计算的主数据库的每一分组的md5值与相应的备数据库分组的md5值比较,如果主数据库所有分组的md5值与相应的备数据库分组的md5值一致,则确定主数据库与备数据库一致。
该数据库一致性校验***中,所述主计算单元设置成:计算主数据库中每一分组内每一行的md5值,按照关键字对主数据库中每一分组的哈希表排序,以获得主数据库每一分组的有序哈希表,以及计算主数据库每一分组的唯一md5值;所述备计算单元设置成:计算备数据库中每一分组内每一行的md5值,按照关键字对备数据库中每一分组的哈希表排序,以获得备数据库每一分组的有序哈希表,以及计算备数据库每一分组的唯一md5值。
优选地,该数据库一致性校验***中,所述主计算单元与备计算单元分别设置成在哈希表排序存在冲突时,以拉链法处理该冲突。选地,该数据库一致性校验***中,所述主分组单元与所述备分组单元分别设置成按时间戳将主数据库与备数据库中的数据行分组。
本发明还提供一种定位数据差异的***,其包括:分组模块,其包括:主分组单元,用于按照预定条件将主数据库中的数据行分组,备分组单元,用于按照预定条件将备数据库中的数据行分组;计算模块,其包括:主计算单元,用于计算主数据库中每一分组内每一行的md5值,按照关键字对主数据库中每一分组的哈希表排序,以获得主数据库每一分组的有序哈希表,以及计算主数据库每一分组的唯一md5值,备计算单元,用于计算备数据库中每一分组内每一行的md5值,按照关键字对备数据库中每一分组的哈希表排序,以获得备数据库每一分组的有序哈希表,以及计算备数据库每一分组的唯一md5值;比较模块,其包括:组比较单元,用于将所计算的主数据库的每一分组的md5值与相应的备数据库分组的md5值比较;行比较单元,用于在组比较单元确定如果主数据库中某分组的md5值与备数据库中相应分组的md5值不同时,从主计算单元获得主数据库中该分组中每一行的md5值,从备数据库单元获得备数据库中该相应分组中每一行的md5值,以及按照关键字对主数据库的该分组排序,以及对备数据库的该相应分组排序,并且对于主数据库中该分组中的每一行与备数据库中该相应分组中的每一行,逐行比较它们的md5值,以获得md5值不同的行。
根据本发明的定位数据差异的***中,优选地,该主计算单元与备计算单元分别设置成在哈希表排序存在冲突时,以拉链法处理该冲突。根据本发明的定位数据差异的***中,优选地,该主分组单元与所述备分组单元分别设置成按时间戳将主数据库与备数据库中的数据行分组。
附图说明
  图1是根据本发明的一个示例的数据库一致性校验方法的流程图。
   图2示意了实现步骤102的一个示例。
图3是根据本发明的一个示例的定位数据库差异的方法的流程图。
 图4是根据本发明的示例的数据库一致性校验***的结构示意图。
  图5是根据本发明的示例的定位数据差异的***的结构示意图。
具体实施方式
  现在参照附图描述本发明的示意性示例,相同的附图标号表示相同的元件。下文描述的各实施例有助于本领域技术人员透彻理解本发明,且意在示例而非限制。除非另有限定,文中使用的术语(包括科学、技术和行业术语)具有与本发明所属领域的技术人员普遍理解的含义相同的含义。
  图1是根据本发明的一个示例的数据库一致性校验方法的流程图。该数据库一致性校验方法校验主数据库与备数据库之间的一致性,其中,主数据库与备数据库可分别设置在不同地域,也可设置在同一地域,但位于不同的设备中。
  按照本发明所述的方法,在步骤100,按照预定条件将主数据库与备数据库中的数据行分组。主数据库与备数据库中均含有大量数据,可按时间戳分别将主数据库中的数据分成若干组并将备数据库中的数据分成若干组,例如每2小时的数据分成一组。主数据库中的每一分组与备数据库中的每一分组都设有分组号,按照时间戳分组的话,对应相同时间戳的主数据库分组与备数据库分组具有相同的分组号。本领域技术人员可以理解到,按照时间戳分组的主数据库中的每一分组在备数据库中都有与其在时间上对应的分组。除时间戳以外,也可按照其它条件对数据分组,例如按照每组包含2000条数据来分别对主数据库与备数据库分组等。
在步骤102,计算主数据库中每一分组及备数据库中每一分组的唯一md5(Message-Digest Algorithm 5,信息—摘要算法5)值。
图2示意了实现步骤102的一个示例。如图2所示,在步骤102a,计算主数据库中每一分组内每一行的md5值,计算备数据库中每一分组内每一行的md5值。在本例中,哈希函数的构造方式采用的是除留余数法,具体而言,如果哈希表的长度为L,则哈希函数为H(key)=key Mod L。举例如下:假设某个分组中每行记录的关键字为{12,35,34,45,18,48,29,56,78,69,39,52,74},哈希表长度为12,则哈希函数为H(key)=key Mod 12,由此获得的哈希表如表1所示,其中,关键字12与48冲突,关键字18与78冲突,关键字45与69冲突。
在步骤102b,按照关键字对主数据库中每一分组的哈希表排序,及按照关键字对备数据库中每一分组的哈希表排序,以获得主数据库每一分组的有序哈希表及获得备数据库每一分组的有序哈希表,其中,以拉链法消除冲突。以12和48为例,在位置0下挂一个链表,放入12和48,如此仅需在建表后对冲突数据构成的链表节点进行一次排序,亦即对位置为0的链表数据12和48按关键字排序,位置为6的链表数据18,78按关键字排序等,由此哈希表本身就成为有序数组。
接着在步骤102c,,计算主数据库每一分组的唯一md5值,计算备数据库中每一分组的唯一md5值。其中,主、备数据库中每一分组的哈希表本身就是一个有序数组。
                       表1
位置 关键字
0 12,  48
1  
2 74
3 39
4 52
5 29
6 18,  78
7  
8   56
9 45,  69
10 34
11 35
回到图1,在步骤104,将所计算的主数据库的每一分组的md5值与相应的备数据库分组的md5值比较,如果主数据库所有分组的md5值与相应的备数据库所有分组的md5值相同,则表明主数据库与备数据库之间具有一致性。具体地说,按照分组号,比较主数据库的分组的md5值与备数据库的分组的md5值,同一分组号下,主数据库的md5值与备数据库的md5值相等,就说明主数据库中该分组号对应的分组与备数据库中该分组号对应的分组一致,反之说明不一致。如果所有分组号对应的主、备数据库的分组的md5值相同,则说明主数据库与备数据库一致。
  根据本发明的又一示例,提供一种定位数据库差异的方法。图3是该方法的流程图。按照本发明示例的定位数据库差异的方法旨在定位主数据库与备数据库之间的差异。
 如图所示,在步骤300,按照预定条件将主数据库与备数据库中的数据行分组。主数据库与备数据库中均含有大量数据,可按时间戳分别将主数据库中的数据分成若干组以及将备数据库中的数据分成若干组,例如每2小时的数据分成一组。主数据库中的每一分组与备数据库中的每一分组都设有分组号,按照时间戳分组的话,对应相同时间戳的主数据库分组与备数据库分组具有相同的分组号。
 在步骤302,计算主数据库中每一分组内每一行的md5值,计算备数据库中每一分组内每一行的md5值。在本例中,哈希函数的构造方式采用的是除留余数法,具体而言,如果哈希表的长度为L,则哈希函数为H(key)=key Mod L。举例如下:假设某个分组中每行记录的关键字为{12,35,34,45,18,48,29,56,78,69,39,52,74},哈希表长度为12,则哈希函数为H(key)=key Mod 12,由此获得的哈希表如上文表1所示,其中,关键字12与48冲突,关键字18与78冲突,关键字45与69冲突。
  在步骤304,按照关键字对主数据库中每一分组的哈希表排序,及按照关键字对备数据库中每一分组的哈希表排序,以获得主数据库每一分组的有序哈希表以及备数据库每一分组的有序哈希表,其中,以拉链法消除冲突。以12和48为例,在位置0下挂一个链表,放入12和48,如此仅需在建表后对冲突数据构成的链表节点进行一次排序,亦即对位置为0的链表数据12和48按关键字排序,位置为6的链表数据18,78按关键字排序等,由此哈希表本身就成为有序数组。
 在步骤306,计算主数据库每一分组的唯一md5值,计算备数据库中每一分组的唯一md5值,其中,每一分组的哈希表本身就是一个有序数组。
在步骤308,将所计算的主数据库的每一分组的md5值与相应的备数据库分组的md5值比较,如果主数据库所有分组的md5值与相应的备数据库所有分组的md5值相同,则表明主数据库与备数据库之间具有一致性。具体地说,按照分组号,比较主数据库的分组的md5值与备数据库的分组的md5值,同一分组号下,主数据库的md5值与备数据库的md5值相等,就说明主数据库中该分组号对应的分组与备数据库中该分组号对应的分组一致,反之说明不一致。
  在步骤400,对于主数据库与备数据库不一致的分组,依据分组号,获得在步骤302计算的主数据库中该分组号对应的分组中每一行的md5值,及备数据库中该分组号对应的分组中每一行的md5值。
 在步骤402,在按照关键字对主数据库的该分组号下的分组排序,以及对备数据库的该分组号下的分组排序,排序方式与步骤304相同。
 在步骤404,按照关键字排序后,对于主数据库中该分组号对应的分组中的每一行与备数据库中该分组号对应的分组中每一行,逐行比较它们的md5值,以获得主、备数据库中md5值不同的行。相同关键字对应的行,如果主、备数据库的md5值不一致,则说明主数据、备数据库的这一行不同,具体例如是主数据行修改了这一行,而备数据库没有。主、备数据库中md5值不同的行还包括如下情况:主数据库中存在某关键字的行,而备数据库不存在,说明主数据新增了这一行;备数据库中存在某关键字的行,而主数据库不存在,说明主数据删除了这一行。
如上所述,本发明所述的数据库一致性校验方法,其采用了可将一块变长数据按照一定算法计算成一个固定长度的哈希算法,分别针对主数据库与备数据库,获得数据的md5值来进行比较,在确保了比较准确性的同时,节约了几个数量级的比较运算量与网络传输量。此外,本发明所述的定位数据库差异的方法在具有上述优势的情况下,还可准确地确定出主、备数据库之间的差异。
  图4是根据本发明的示例的数据库一致性校验***的结构示意图。该校验***包括分组模块4,计算模块6与比较模块8。可选地,还可包括输出模块。
  分组模块4包括主分组单元40与备分组单元42,主分组单元40设置成按照预定条件将主数据库中的数据行分组,备分组单元42设置成按照预定条件将备数据库中的数据行分组。具体地,主数据库与备数据库中均含有大量数据,主分组单元40按时间戳将主数据库中的数据分成若干组并为每一分组设置分组号,备分组单元42按时间戳将备数据库中的数据分成若干组并为每一分组设置分组号,本例中,主分组单元40与备分组单元42分别依据时间戳将每2小时的数据分成一组。
  计算模块6包括主计算单元60与备计算单元62。主计算单元60用于计算主数据库每一分组的md5值,备计算单元62用于计算备数据库每一分组的md5值。具体而言,主计算单元60计算主数据库中每一分组内每一行的md5值,按照关键字对主数据库中每一分组的哈希表排序,以获得备数据库每一分组的有序哈希表。备计算单元62计算备数据库中每一分组内每一行的md5值,并按照关键字对备数据库中每一分组的哈希表排序,以获得备数据库每一分组的有序哈希表。主计算单元60与备计算单元62在排序过程中通过拉链法消除出现的冲突。此外,主计算单元60与备计算单元62分别计算出主数据库各分组及备数据库各分组的md5值。本申请上文结合图2对行md5值、分组的md5值的获得过程进行了描述,这里就不赘述。
  比较模块8将所计算的主数据库的每一分组的md5值与相应的备数据库分组的md5值比较。如果主数据库所有分组的md5值与相应的备数据库所有分组的md5值相同,则表明主数据库与备数据库之间具有一致性。具体地说,比较模块8按照分组号,比较相同分组号下的主数据库的分组的md5值与备数据库的分组的md5值。对应相同分组号的主数据库的md5值与备数据库的md5值相等,就说明主数据库中该分组号对应的分组与备数据库中该分组号对应的分组一致,反之说明不一致。如果所有分组号对应的主、备数据库的分组的md5值相同,则说明主数据库与备数据库一致。
 可选地,图4所示的数据库一致性校验***还可以包括输出模块,将比较模块8的比较结果输出。例如,如果主数据库所有分组的md5值与相应的备数据库分组的md5值一致,则输出主数据库与备数据库一致,反之,输出不一致。
      图4所示的数据库一致性校验***可以独立于主数据库与备数据库设置,但可以与它们进行通信,由此实现其校验主数据库与备数据库的功能。可选地,图4所示的数据库一致性校验***中,主分组单元、主计算单元可以设置在主数据库所在的设备中,备分组单元、备计算单元可以设置在备数据库所在的设备中,而比较模块可以设置在主数据库所在的设备中。数据库一致性校验***可以软件实现,也可通过软件与硬件的结合实现。
    图5是根据本发明的示例的定位数据差异的***的结构示意图。该***包括分组模块5,计算模块7以及比较模块9。
分组模块5包括主分组单元50与备分组单元52。主分组单元50设置成按照预定条件将主数据库中的数据行分组,备分组单元52设置成按照预定条件将备数据库中的数据行分组。具体地,主数据库与备数据库中均含有大量数据,主分组单元50按时间戳将主数据库中的数据分成若干组并为每一分组设置分组号,备分组单元52按时间戳将备数据库中的数据分成若干组并为每一分组设置分组号,本例中,主分组单元50与备分组单元52分别依据时间戳将每2小时的数据分成一组。
计算模块7包括主计算单元70与备计算单元72。主计算单元70设置成计算主数据库中每一分组内每一行的md5值,按照关键字对主数据库中每一分组的哈希表排序,以获得主数据库每一分组的有序哈希表,以及计算主数据库每一分组的唯一md5值。备计算单元70设置成计算备数据库中每一分组内每一行的md5值,按照关键字对备数据库中每一分组的哈希表排序,以获得备数据库每一分组的有序哈希表,以及计算备数据库每一分组的唯一md5值。排序中如出现冲突,则如上文所示以拉链法处理冲突。
比较模块9包括组比较单元90与行比较单元92。组比较单元90将所计算的主数据库的每一分组的md5值与相应的备数据库分组的md5值比较。行比较单元92设置成在组比较单元确定如果主数据库中某分组的md5值与备数据库中相应分组的md5值不同时,从主计算单元获得主数据库中该分组中每一行的md5值,从备数据库单元获得备数据库中该相应分组中每一行的md5值,以及按照关键字对主数据库的该分组排序,以及对备数据库的该相应分组排序,并且对于主数据库中该分组中的每一行与备数据库中该相应分组中的每一行,逐行比较它们的md5值,以获得md5值不同的行。相同关键字对应的行,如果主、备数据库的md5值不一致,则说明主数据库、备数据库的这一行不同,具体例如是主数据库修改了这一行,而备数据库没有。主、备数据库中md5值不同的行还包括如下情况:主数据库中存在某关键字的行,而备数据库不存在,说明主数据库新增了这一行;备数据库中存在某关键字的行,而主数据库不存在,说明主数据库删除了这一行。

Claims (14)

1.一种数据库一致性校验方法,其特征在于,所述方法包括:
a.按照预定条件将主数据库与备数据库中的数据行分组;
b.计算主数据库每一分组及备数据库每一分组的md5值;
c.将所计算的主数据库的每一分组的md5值与相应的备数据库分组的md5值比较,如果主数据库所有分组的md5值与相应的备数据库分组的md5值一致,则表明主数据库与备数据库一致。
2.如权利要求1所述的数据库一致性校验方法,其特征在于,步骤b包括:
b1.计算主数据库中每一分组内每一行的md5值,计算备数据库中每一分组内每一行的md5值;
b2.按照关键字对主数据库中每一分组的哈希表排序,及按照关键字对备数据库中每一分组的哈希表排序,以获得主数据库每一分组的有序哈希表及获得备数据库每一分组的有序哈希表;
b3.计算主数据库每一分组的唯一md5值,计算备数据库中每一分组的唯一md5值。
3.如权利要求2所述的数据库一致性校验方法,其特征在于,步骤b2包括:如果哈希表排序中存在冲突,则以拉链法处理该冲突。
4.如权利要求1所述的数据库一致性校验方法,其特征在于,步骤a包括:按时间戳将主数据库与备数据库中的数据行分组。
5.一种定位数据库差异的方法,其特征在于,所述方法包括:
a.按照预定条件将主数据库与备数据库中的数据行分组;
b.计算主数据库中每一分组内每一行的md5值,计算备数据库中每一分组内每一行的md5值;
c.按照关键字对主数据库中每一分组的哈希表排序,及按照关键字对备数据库中每一分组的哈希表排序,以获得主数据库每一分组的有序哈希表以及备数据库每一分组的有序哈希表;
d.计算主数据库每一分组的唯一md5值,计算备数据库中每一分组的唯一md5值;
e.将所计算的主数据库的每一分组的md5值与相应的备数据库分组的md5值比较;
f.如果主数据库中某分组的md5值与备数据库中相应分组的md5值不同,则获得在步骤b计算的主数据库中该分组中每一行的md5值,及备数据库中该相应分组中每一行的md5值;
g.按照关键字对主数据库的该分组排序,以及对备数据库的该相应分组排序;
h.按照关键字排序后,对于主数据库中该分组中的每一行与备数据库中该相应分组中的每一行,逐行比较它们的md5值,以获得md5值不同的行。
6.如权利要求5所述的定位数据库差异的方法,其特征在于,步骤c包括:如果哈希表排序中存在冲突,则以拉链法处理该冲突。
7.如权利要求5所述的数据库一致性校验方法,其特征在于,步骤a包括:按时间戳将主数据库与备数据库中的数据行分组。
8.一种数据库一致性校验***,其特征在于,所述***包括:
分组模块,其包括:
主分组单元,用于按照预定条件将主数据库中的数据行分组,
备分组单元,用于按照预定条件将备数据库中的数据行分组;
计算模块,其包括:
主计算单元,用于计算主数据库每一分组的md5值,
备计算单元,用于计算备数据库每一分组的md5值;
比较模块,用于将所计算的主数据库的每一分组的md5值与相应的备数据库分组的md5值比较,如果主数据库所有分组的md5值与相应的备数据库分组的md5值一致,则确定主数据库与备数据库一致。
9.如权利要求8所述的数据库一致性校验***,其特征在于,所述主计算单元设置成:计算主数据库中每一分组内每一行的md5值,按照关键字对主数据库中每一分组的哈希表排序,以获得主数据库每一分组的有序哈希表,以及计算主数据库每一分组的唯一md5值;所述备计算单元设置成:计算备数据库中每一分组内每一行的md5值,按照关键字对备数据库中每一分组的哈希表排序,以获得备数据库每一分组的有序哈希表,以及计算备数据库每一分组的唯一md5值。
10.如权利要求9所述的数据库一致性校验***,其特征在于,所述主计算单元与备计算单元分别设置成在哈希表排序存在冲突时,以拉链法处理该冲突。
11.如权利要求8所述的数据库一致性校验***,其特征在于,所述主分组单元与所述备分组单元分别设置成按时间戳将主数据库与备数据库中的数据行分组。
12.一种定位数据差异的***,其特征在于,所述***包括:
分组模块,其包括:
主分组单元,用于按照预定条件将主数据库中的数据行分组,
备分组单元,用于按照预定条件将备数据库中的数据行分组;
计算模块,其包括:
主计算单元,用于计算主数据库中每一分组内每一行的md5值,按照关键字对主数据库中每一分组的哈希表排序,以获得主数据库每一分组的有序哈希表,以及计算主数据库每一分组的唯一md5值,
备计算单元,用于计算备数据库中每一分组内每一行的md5值,按照关键字对备数据库中每一分组的哈希表排序,以获得备数据库每一分组的有序哈希表,以及计算备数据库每一分组的唯一md5值;
比较模块,其包括:
组比较单元,用于将所计算的主数据库的每一分组的md5值与相应的备数据库分组的md5值比较;
行比较单元,用于在组比较单元确定如果主数据库中某分组的md5值与备数据库中相应分组的md5值不同时,从主计算单元获得主数据库中该分组中每一行的md5值,从备数据库单元获得备数据库中该相应分组中每一行的md5值,以及按照关键字对主数据库的该分组排序,以及对备数据库的该相应分组排序,并且对于主数据库中该分组中的每一行与备数据库中该相应分组中的每一行,逐行比较它们的md5值,以获得md5值不同的行。
13.如权利要求12所述的定位数据差异的***,其特征在于,所述主计算单元与备计算单元分别设置成在哈希表排序存在冲突时,以拉链法处理该冲突。
14.如权利要求12所述的数据库一致性校验***,其特征在于,所述主分组单元与所述备分组单元分别设置成按时间戳将主数据库与备数据库中的数据行分组。
CN201310704107.XA 2013-12-19 2013-12-19 数据库一致性校验方法及***、定位数据库差异的方法及*** Active CN104731792B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310704107.XA CN104731792B (zh) 2013-12-19 2013-12-19 数据库一致性校验方法及***、定位数据库差异的方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310704107.XA CN104731792B (zh) 2013-12-19 2013-12-19 数据库一致性校验方法及***、定位数据库差异的方法及***

Publications (2)

Publication Number Publication Date
CN104731792A true CN104731792A (zh) 2015-06-24
CN104731792B CN104731792B (zh) 2018-09-21

Family

ID=53455689

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310704107.XA Active CN104731792B (zh) 2013-12-19 2013-12-19 数据库一致性校验方法及***、定位数据库差异的方法及***

Country Status (1)

Country Link
CN (1) CN104731792B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045879A (zh) * 2015-07-21 2015-11-11 上海融甸信息科技有限公司 一种数据并行处理方法
CN105045881A (zh) * 2015-07-21 2015-11-11 上海融甸信息科技有限公司 一种历史数据新增方法
CN105824724A (zh) * 2016-03-29 2016-08-03 杭州宏杉科技有限公司 一种差异数据扫描方法及装置
CN106815326A (zh) * 2016-12-28 2017-06-09 中国民航信息网络股份有限公司 一种检测无主键数据表一致性的***及方法
CN106874270A (zh) * 2015-12-10 2017-06-20 ***通信集团云南有限公司 一种数据一致性认证的方法和装置
CN107247749A (zh) * 2017-05-25 2017-10-13 阿里巴巴集团控股有限公司 一种数据库状态确定方法、一致性验证方法及装置
CN107632781A (zh) * 2017-08-28 2018-01-26 深圳市云舒网络技术有限公司 一种分布式存储多副本快速校验一致性的方法及存储架构
CN107798007A (zh) * 2016-08-31 2018-03-13 南京中兴新软件有限责任公司 一种分布式数据库数据校验的方法、装置及相关装置
CN107807982A (zh) * 2017-10-27 2018-03-16 中国农业银行股份有限公司 一种异构数据库的一致性校验方法及装置
CN108804561A (zh) * 2018-05-22 2018-11-13 北京科东电力控制***有限责任公司 数据同步方法及装置
CN109361625A (zh) * 2018-10-24 2019-02-19 新华三技术有限公司合肥分公司 核查转发表项的方法、装置和控制器
WO2019178772A1 (zh) * 2018-03-21 2019-09-26 深圳蓝贝科技有限公司 数据库主从区块一致性校验方法、装置和***
CN110852058A (zh) * 2019-09-24 2020-02-28 贵阳朗玛信息技术股份有限公司 一种清单比对的方法及装置
CN111290998A (zh) * 2020-02-12 2020-06-16 平安科技(深圳)有限公司 迁移数据的校对方法、装置、设备及存储介质
CN111737260A (zh) * 2020-06-19 2020-10-02 中国银行股份有限公司 一种数据复制一致性检查的方法及***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040148306A1 (en) * 2000-02-18 2004-07-29 Moulton Gregory Hagan Hash file system and method for use in a commonality factoring system
CN1851659A (zh) * 2005-12-21 2006-10-25 华为技术有限公司 一种主设备和备份设备之间数据核查的方法
US20090112790A1 (en) * 2007-10-25 2009-04-30 Her Majesty The Queen In Right of Canada As Represented by the Honourable Stockwell Day, Method And Device For Verifying Integrity Of Data Acquisition Pathways
CN101719143A (zh) * 2009-12-01 2010-06-02 北京中科创元科技有限公司 并行处理比对式增量数据抽取方法
CN103164523A (zh) * 2013-03-19 2013-06-19 华为技术有限公司 数据一致性检查方法、装置及***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040148306A1 (en) * 2000-02-18 2004-07-29 Moulton Gregory Hagan Hash file system and method for use in a commonality factoring system
CN1851659A (zh) * 2005-12-21 2006-10-25 华为技术有限公司 一种主设备和备份设备之间数据核查的方法
US20090112790A1 (en) * 2007-10-25 2009-04-30 Her Majesty The Queen In Right of Canada As Represented by the Honourable Stockwell Day, Method And Device For Verifying Integrity Of Data Acquisition Pathways
CN101719143A (zh) * 2009-12-01 2010-06-02 北京中科创元科技有限公司 并行处理比对式增量数据抽取方法
CN103164523A (zh) * 2013-03-19 2013-06-19 华为技术有限公司 数据一致性检查方法、装置及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱芳芳,李训根: "改进的哈希表查找算法", 《杭州电子科技大学学报》 *

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105045879A (zh) * 2015-07-21 2015-11-11 上海融甸信息科技有限公司 一种数据并行处理方法
CN105045881A (zh) * 2015-07-21 2015-11-11 上海融甸信息科技有限公司 一种历史数据新增方法
CN105045879B (zh) * 2015-07-21 2019-08-02 上海融甸信息科技有限公司 一种数据并行处理方法
CN106874270B (zh) * 2015-12-10 2020-10-16 ***通信集团云南有限公司 一种数据一致性认证的方法和装置
CN106874270A (zh) * 2015-12-10 2017-06-20 ***通信集团云南有限公司 一种数据一致性认证的方法和装置
CN105824724B (zh) * 2016-03-29 2019-01-25 杭州宏杉科技股份有限公司 一种差异数据扫描方法及装置
CN105824724A (zh) * 2016-03-29 2016-08-03 杭州宏杉科技有限公司 一种差异数据扫描方法及装置
CN107798007A (zh) * 2016-08-31 2018-03-13 南京中兴新软件有限责任公司 一种分布式数据库数据校验的方法、装置及相关装置
CN107798007B (zh) * 2016-08-31 2024-03-19 金篆信科有限责任公司 一种分布式数据库数据校验的方法、装置及相关装置
CN106815326A (zh) * 2016-12-28 2017-06-09 中国民航信息网络股份有限公司 一种检测无主键数据表一致性的***及方法
CN107247749A (zh) * 2017-05-25 2017-10-13 阿里巴巴集团控股有限公司 一种数据库状态确定方法、一致性验证方法及装置
CN107247749B (zh) * 2017-05-25 2020-08-25 创新先进技术有限公司 一种数据库状态确定方法、一致性验证方法及装置
WO2018214897A1 (zh) * 2017-05-25 2018-11-29 阿里巴巴集团控股有限公司 一种数据库状态确定方法、一致性验证方法及装置
US10789243B2 (en) 2017-05-25 2020-09-29 Alibaba Group Holding Limited Database state determining method and device, and consistency verifying method and device
CN107632781A (zh) * 2017-08-28 2018-01-26 深圳市云舒网络技术有限公司 一种分布式存储多副本快速校验一致性的方法及存储架构
CN107632781B (zh) * 2017-08-28 2020-05-05 深圳市云舒网络技术有限公司 一种分布式存储多副本快速校验一致性的方法及存储结构
CN107807982B (zh) * 2017-10-27 2020-09-18 中国农业银行股份有限公司 一种异构数据库的一致性校验方法及装置
CN107807982A (zh) * 2017-10-27 2018-03-16 中国农业银行股份有限公司 一种异构数据库的一致性校验方法及装置
WO2019178772A1 (zh) * 2018-03-21 2019-09-26 深圳蓝贝科技有限公司 数据库主从区块一致性校验方法、装置和***
CN108804561A (zh) * 2018-05-22 2018-11-13 北京科东电力控制***有限责任公司 数据同步方法及装置
CN108804561B (zh) * 2018-05-22 2021-10-15 北京科东电力控制***有限责任公司 数据同步方法及装置
CN109361625A (zh) * 2018-10-24 2019-02-19 新华三技术有限公司合肥分公司 核查转发表项的方法、装置和控制器
CN110852058A (zh) * 2019-09-24 2020-02-28 贵阳朗玛信息技术股份有限公司 一种清单比对的方法及装置
CN111290998A (zh) * 2020-02-12 2020-06-16 平安科技(深圳)有限公司 迁移数据的校对方法、装置、设备及存储介质
CN111737260A (zh) * 2020-06-19 2020-10-02 中国银行股份有限公司 一种数据复制一致性检查的方法及***

Also Published As

Publication number Publication date
CN104731792B (zh) 2018-09-21

Similar Documents

Publication Publication Date Title
CN104731792A (zh) 数据库一致性校验方法及***、定位数据库差异的方法及***
US20170300490A1 (en) Distributed offline indexing
CN108153784B (zh) 同步数据处理方法和装置
CN103678583B (zh) 结构化数据比较的方法及***
KR20130113653A (ko) 대용량 데이터의 클러스터 결과 분석 시스템 및 방법
CN105550225A (zh) 索引构建方法、查询方法及装置
CN110941602B (zh) 数据库的配置方法、装置、电子设备及存储介质
US10877973B2 (en) Method for efficient one-to-one join
CN115062016A (zh) 关联关系提取方法、装置和计算机设备
CN105022791A (zh) 一种新型的kv分布式数据存储方法
CN104809249A (zh) 数据结构的处理方法和***
Tian et al. Continuous monitoring of skyline query over highly dynamic moving objects
CN106570193B (zh) 一种时序大数据的加载方法
Zaarour et al. Automatic anomaly detection over sliding windows: Grand challenge
CN107451142B (zh) 在数据库中写入和查询数据的方法与装置及其管理***和计算机可读存储介质
CN115421965A (zh) 一致性校验方法、装置、电子设备及存储介质
CN106446039B (zh) 聚合式大数据查询方法及装置
US11657052B2 (en) Dual filter histogram optimization
US11210267B2 (en) Electronic control unit comparison
CN109271132B (zh) 一种基于机器学习模型的排序方法
Skalny An application of graph theory in markov chains reliability analysis
Zaarour et al. Grand challenge: Automatic anomaly detection over sliding windows
CN102609419B (zh) 相似数据排重方法
KR20160138893A (ko) 압축된 검증 테스트 셋을 획득하는 장치 및 그것의 동작 방법
CN114417085B (zh) 数据处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant