CN104731792B - 数据库一致性校验方法及系统、定位数据库差异的方法及系统 - Google Patents
数据库一致性校验方法及系统、定位数据库差异的方法及系统 Download PDFInfo
- Publication number
- CN104731792B CN104731792B CN201310704107.XA CN201310704107A CN104731792B CN 104731792 B CN104731792 B CN 104731792B CN 201310704107 A CN201310704107 A CN 201310704107A CN 104731792 B CN104731792 B CN 104731792B
- Authority
- CN
- China
- Prior art keywords
- database
- grouping
- values
- standby
- primary 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
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 (12)
1.一种数据库一致性校验方法,其特征在于,所述方法包括:
a.按照预定条件将主数据库与备数据库中的数据行分组;
b.计算主数据库每一分组及备数据库每一分组的md5值,其中,包括:
b1.计算主数据库中每一分组内每一行的md5值,计算备数据库中每一分组内每一行的md5值;
b2.按照关键字对主数据库中每一分组的哈希表排序,及按照关键字对备数据库中每一分组的哈希表排序,以获得主数据库每一分组的有序哈希表及获得备数据库每一分组的有序哈希表;
b3.计算主数据库每一分组的唯一md5值,计算备数据库中每一分组的唯一md5值;
c.将所计算的主数据库的每一分组的唯一md5值与相应的备数据库分组的唯一md5值比较,如果主数据库所有分组的所述唯一md5值与相应的备数据库分组的所述唯一md5值分别一致,则表明主数据库与备数据库一致。
2.如权利要求1所述的数据库一致性校验方法,其特征在于,步骤b2包括:如果哈希表排序中存在冲突,则以拉链法处理该冲突。
3.如权利要求1所述的数据库一致性校验方法,其特征在于,步骤a包括:按时间戳将主数据库与备数据库中的数据行分组。
4.一种定位数据库差异的方法,其特征在于,所述方法包括:
a.按照预定条件将主数据库与备数据库中的数据行分组;
b.计算主数据库中每一分组内每一行的md5值,计算备数据库中每一分组内每一行的md5值;
c.按照关键字对主数据库中每一分组的哈希表排序,及按照关键字对备数据库中每一分组的哈希表排序,以获得主数据库每一分组的有序哈希表以及备数据库每一分组的有序哈希表;
d.计算主数据库每一分组的唯一md5值,计算备数据库中每一分组的唯一md5值;
c.将所计算的主数据库的每一分组的唯一md5值与相应的备数据库分组的唯一md5值比较;
e.如果主数据库中某分组的唯一md5值与备数据库中相应分组的唯一md5值不同,则获得在步骤b计算的主数据库中该分组中每一行的md5值,及备数据库中该相应分组中每一行的md5值;
f.按照关键字对主数据库的该分组排序,以及对备数据库的该相应分组排序;
g.按照关键字排序后,对于主数据库中该分组中的每一行与备数据库中该相应分组中的每一行,逐行比较它们的md5值,以获得md5值不同的行。
5.如权利要求4所述的定位数据库差异的方法,其特征在于,步骤c包括:如果哈希表排序中存在冲突,则以拉链法处理该冲突。
6.如权利要求4所述的定位数据库差异的方法,其特征在于,步骤a包括:按时间戳将主数据库与备数据库中的数据行分组。
7.一种数据库一致性校验系统,其特征在于,所述系统包括:
分组模块,其包括:
主分组单元,用于按照预定条件将主数据库中的数据行分组,
备分组单元,用于按照预定条件将备数据库中的数据行分组;
计算模块,其包括:
主计算单元,其被设置设置成:计算主数据库中每一分组内每一行的md5值,按照关键字对主数据库中每一分组的哈希表排序,以获得主数据库每一分组的有序哈希表,以及计算主数据库每一分组的唯一md5值,
备计算单元,其被设置成:计算备数据库中每一分组内每一行的md5值,按照关键字对备数据库中每一分组的哈希表排序,以获得备数据库每一分组的有序哈希表,以及计算备数据库每一分组的唯一md5值;
比较模块,用于将所计算的主数据库的每一分组的唯一md5值与相应的备数据库分组的唯一md5值比较,如果主数据库所有分组的唯一md5值与相应的备数据库分组的唯一md5值分别一致,则确定主数据库与备数据库一致。
8.如权利要求7所述的数据库一致性校验系统,其特征在于,所述主计算单元与备计算单元分别设置成在哈希表排序存在冲突时以拉链法处理该冲突。
9.如权利要求7所述的数据库一致性校验系统,其特征在于,所述主分组单元与所述备分组单元分别设置成按时间戳将主数据库与备数据库中的数据行分组。
10.一种定位数据差异的系统,其特征在于,所述系统包括:
分组模块,其包括:
主分组单元,用于按照预定条件将主数据库中的数据行分组,
备分组单元,用于按照预定条件将备数据库中的数据行分组;
计算模块,其包括:
主计算单元,用于计算主数据库中每一分组内每一行的md5值,按照关键字对主数据库中每一分组的哈希表排序,以获得主数据库每一分组的有序哈希表,以及计算主数据库每一分组的唯一md5值,
备计算单元,用于计算备数据库中每一分组内每一行的md5值,按照关键字对备数据库中每一分组的哈希表排序,以获得备数据库每一分组的有序哈希表,以及计算备数据库每一分组的唯一md5值;
比较模块,其包括:
组比较单元,用于将所计算的主数据库的每一分组的唯一md5值与相应的备数据库分组的唯一md5值比较;
行比较单元,用于在组比较单元确定如果主数据库中某分组的唯一md5值与备数据库中相应分组的唯一md5值不同时,从主计算单元获得主数据库中该分组中每一行的md5值,从备数据库单元获得备数据库中该相应分组中每一行的md5值,以及按照关键字对主数据库的该分组排序,以及对备数据库的该相应分组排序,并且对于主数据库中该分组中的每一行与备数据库中该相应分组中的每一行,逐行比较它们的md5值,以获得md5值不同的行。
11.如权利要求10所述的定位数据差异的系统,其特征在于,所述主计算单元与备计算单元分别设置成在哈希表排序存在冲突时以拉链法处理该冲突。
12.如权利要求10所述的定位数据差异的系统,其特征在于,所述主分组单元与所述备分组单元分别设置成按时间戳将主数据库与备数据库中的数据行分组。
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 CN104731792A (zh) | 2015-06-24 |
CN104731792B true 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) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105045881A (zh) * | 2015-07-21 | 2015-11-11 | 上海融甸信息科技有限公司 | 一种历史数据新增方法 |
CN105045879B (zh) * | 2015-07-21 | 2019-08-02 | 上海融甸信息科技有限公司 | 一种数据并行处理方法 |
CN106874270B (zh) * | 2015-12-10 | 2020-10-16 | 中国移动通信集团云南有限公司 | 一种数据一致性认证的方法和装置 |
CN105824724B (zh) * | 2016-03-29 | 2019-01-25 | 杭州宏杉科技股份有限公司 | 一种差异数据扫描方法及装置 |
CN107798007B (zh) * | 2016-08-31 | 2024-03-19 | 金篆信科有限责任公司 | 一种分布式数据库数据校验的方法、装置及相关装置 |
CN106815326B (zh) * | 2016-12-28 | 2021-03-02 | 中国民航信息网络股份有限公司 | 一种检测无主键数据表一致性的系统及方法 |
CN107247749B (zh) | 2017-05-25 | 2020-08-25 | 创新先进技术有限公司 | 一种数据库状态确定方法、一致性验证方法及装置 |
CN107632781B (zh) * | 2017-08-28 | 2020-05-05 | 深圳市云舒网络技术有限公司 | 一种分布式存储多副本快速校验一致性的方法及存储结构 |
CN107807982B (zh) * | 2017-10-27 | 2020-09-18 | 中国农业银行股份有限公司 | 一种异构数据库的一致性校验方法及装置 |
WO2019178772A1 (zh) * | 2018-03-21 | 2019-09-26 | 深圳蓝贝科技有限公司 | 数据库主从区块一致性校验方法、装置和系统 |
CN108804561B (zh) * | 2018-05-22 | 2021-10-15 | 北京科东电力控制系统有限责任公司 | 数据同步方法及装置 |
CN109361625B (zh) * | 2018-10-24 | 2021-12-07 | 新华三技术有限公司合肥分公司 | 核查转发表项的方法、装置和控制器 |
CN110852058A (zh) * | 2019-09-24 | 2020-02-28 | 贵阳朗玛信息技术股份有限公司 | 一种清单比对的方法及装置 |
CN111290998A (zh) * | 2020-02-12 | 2020-06-16 | 平安科技(深圳)有限公司 | 迁移数据的校对方法、装置、设备及存储介质 |
CN111737260A (zh) * | 2020-06-19 | 2020-10-02 | 中国银行股份有限公司 | 一种数据复制一致性检查的方法及系统 |
CN111966699A (zh) * | 2020-07-09 | 2020-11-20 | 微民保险代理有限公司 | 校验数据的方法、装置、计算机设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851659A (zh) * | 2005-12-21 | 2006-10-25 | 华为技术有限公司 | 一种主设备和备份设备之间数据核查的方法 |
CN101719143A (zh) * | 2009-12-01 | 2010-06-02 | 北京中科创元科技有限公司 | 并行处理比对式增量数据抽取方法 |
CN103164523A (zh) * | 2013-03-19 | 2013-06-19 | 华为技术有限公司 | 数据一致性检查方法、装置及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6704730B2 (en) * | 2000-02-18 | 2004-03-09 | Avamar Technologies, Inc. | Hash file system and method for use in a commonality factoring system |
US7913119B2 (en) * | 2007-10-25 | 2011-03-22 | Her Majesty the Queen in right of Canada, as represented by the minister of public safety | Method and device for verifying integrity of data acquisition pathways |
-
2013
- 2013-12-19 CN CN201310704107.XA patent/CN104731792B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1851659A (zh) * | 2005-12-21 | 2006-10-25 | 华为技术有限公司 | 一种主设备和备份设备之间数据核查的方法 |
CN101719143A (zh) * | 2009-12-01 | 2010-06-02 | 北京中科创元科技有限公司 | 并行处理比对式增量数据抽取方法 |
CN103164523A (zh) * | 2013-03-19 | 2013-06-19 | 华为技术有限公司 | 数据一致性检查方法、装置及系统 |
Non-Patent Citations (1)
Title |
---|
改进的哈希表查找算法;朱芳芳,李训根;《杭州电子科技大学学报》;20131031;第33卷(第5期);第47页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104731792A (zh) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104731792B (zh) | 数据库一致性校验方法及系统、定位数据库差异的方法及系统 | |
CN103473334B (zh) | 数据存储、查询方法及系统 | |
CN108153784B (zh) | 同步数据处理方法和装置 | |
US10521441B2 (en) | System and method for approximate searching very large data | |
KR20130113653A (ko) | 대용량 데이터의 클러스터 결과 분석 시스템 및 방법 | |
CN109117440B (zh) | 一种元数据信息获取方法、系统和计算机可读存储介质 | |
CN102915347A (zh) | 一种分布式数据流聚类方法及系统 | |
CN102650996A (zh) | 确定数据库表之间的数据映射关系的方法和装置 | |
US9442949B2 (en) | System and method for compressing data in a database | |
US10877973B2 (en) | Method for efficient one-to-one join | |
CN105404675A (zh) | Ranked反近邻空间关键字查询方法及装置 | |
Papadakis et al. | Multi-core meta-blocking for big linked data | |
Bluis et al. | Nodal distance algorithm: Calculating a phylogenetic tree comparison metric | |
Tian et al. | Continuous monitoring of skyline query over highly dynamic moving objects | |
US11657052B2 (en) | Dual filter histogram optimization | |
Torrado | Tail behaviour of consecutive 2-within-m-out-of-n systems with nonidentical components | |
Li et al. | Computing Longest Increasing Subsequence Over Sequential Data Streams | |
CN110347886B (zh) | 分布式父子关系元素查找方法 | |
de Oliveira et al. | Enriching networks with edge insertion to improve community detection | |
CN113553477A (zh) | 一种图的拆分方法和装置 | |
Verma et al. | Comparison of partitioning algorithms for categorical data in cluster | |
Suciu | Big data begets big database theory | |
CN106649754B (zh) | 一种数据仓库性能测试方法及系统 | |
CN114417085B (zh) | 数据处理方法、装置、设备及存储介质 | |
Yue et al. | An efficient PAM spatial clustering algorithm based on MapReduce |
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 |