CN103678583A - 结构化数据比较的方法及系统 - Google Patents

结构化数据比较的方法及系统 Download PDF

Info

Publication number
CN103678583A
CN103678583A CN201310676018.9A CN201310676018A CN103678583A CN 103678583 A CN103678583 A CN 103678583A CN 201310676018 A CN201310676018 A CN 201310676018A CN 103678583 A CN103678583 A CN 103678583A
Authority
CN
China
Prior art keywords
hash table
database
sequencing
hash
standard
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
CN201310676018.9A
Other languages
English (en)
Other versions
CN103678583B (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.)
BEIJING TEAMSUN SOFTWARE TECHNOLOGY Co Ltd
Beijing Teamsun Technology Co Ltd
Original Assignee
BEIJING TEAMSUN SOFTWARE TECHNOLOGY Co Ltd
Beijing Teamsun Technology 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 BEIJING TEAMSUN SOFTWARE TECHNOLOGY Co Ltd, Beijing Teamsun Technology Co Ltd filed Critical BEIJING TEAMSUN SOFTWARE TECHNOLOGY Co Ltd
Priority to CN201310676018.9A priority Critical patent/CN103678583B/zh
Publication of CN103678583A publication Critical patent/CN103678583A/zh
Application granted granted Critical
Publication of CN103678583B publication Critical patent/CN103678583B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种结构化数据比较的方法及系统。其中该方法包括如下步骤:采用定序哈希分布算法,以数据库的数据行的行哈希值作为节点值,以数据行的行关键字的哈希值作为节点的关键字,分别构建标准数据库和比较数据库的标准定序哈希表和比较定序哈希表;分别将标准定序哈希表和比较定序哈希表中有数据的节点的关键字和节点值连接成标准字符和比较字符,并计算标准字符和比较字符的标准哈希值和比较哈希值;判断标准哈希值和比较哈希值是否相同,若相同,则标准数据库和比较数据库中的数据相同;否则不相同。其无需数据库服务器进行排序工作,减小数据库服务器的计算压力,资源占用率低,效率高,且不存在服务器宕机的风险。

Description

结构化数据比较的方法及系统
技术领域
本发明涉及计算机领域,尤其涉及一种结构化数据比较的方法及系统。
背景技术
随着近年来各个行业IT建设不断完善,保障用户的数据完整性的灾备系统、业务连续性的容灾系统等计算机软硬件集成方案的逐渐普及,业界逐渐产生和明确了这样一个需求:对于主备数据库的数据进行日常比较和同步后比较,得到是否一致的结论,如果有差异,对存在差异的数据进行精确定位。因此容灾解决方案中是否包含数据比较已成为该容灾解决方案是否成熟的衡量标志之一,而数据比较能否实现差异数据精确定位更是整个方案的技术水平的直接体现。
在传统技术中,使用“select*from表名order by关键字”或其它查询条件得到的查询结果求得MD5值,进行比较。比较结果准确,但数据的排序工作交给数据库,对数据库服务器造成的压力大,资源占用率高,当比较的数据量庞大时有数据库服务器宕机的风险。
发明内容
基于此,有必要提供一种数据库服务器计算压力小,资源占用率低的结构化数据比较的方法及系统。
为实现本发明目的提供的一种结构化数据比较的方法,包括以下步骤:
采用定序哈希分布算法,以数据库的数据行的行哈希值作为节点值,以所述数据行的行关键字的哈希值作为节点的关键字,分别构建标准数据库和比较数据库的标准定序哈希表和比较定序哈希表;
分别将所述标准定序哈希表和所述比较定序哈希表中有数据的节点的关键字和节点值连接成标准字符和比较字符,并计算所述标准字符和所述比较字符的标准哈希值和比较哈希值;
判断所述标准哈希值和所述比较哈希值是否相同,若相同,则所述标准数据库和所述比较数据库中的数据相同;否则不相同;
所述定序哈希表中,相同关键字的哈希表节点在所述定序哈希表中的相同位置。
在其中一个实施例中,所述采用定序哈希分布算法,以数据库的数据行的行哈希值作为节点值,以所述数据行的行关键字的哈希值作为节点的关键字,分别构建标准数据库和比较数据库的标准定序哈希表和比较定序哈希表,包括以下步骤:
根据数据库的行数,选定装填因子创建哈希表;
查询所述数据库,并返回查询结果集;
根据所述查询结果集,逐行计算所述查询结果集的行哈希值,得到所述数据库的行哈希值及行关键字;
将所述行哈希值作为所述哈希表的节点值,将所述行关键字的哈希值作为所述哈希表节点的关键字插入所述哈希表;
采用定序哈希分布算法使得所述行关键字相同的哈希表节点在哈希表中的相同位置,得到标准数据库和比较数据库的标准定序哈希表和比较定序哈希表。
在其中一个结构化数据比较的方法的实施例中,采用MD5算法计算所述哈希值。
在其中一个结构化数据比较的方法的实施例中,还包括以下步骤:
当所述标准数据库和比较数据库的数据不同时,返回逐行查询所述比较数据库,判断所述标准定序哈希表中是否存在与所述比较数据库的行关键字的哈希值相同的关键字的节点,得到第一判断结果;
根据所述第一判断结果,当所述标准定序哈希表中存在与所述比较数据库的行关键字的哈希值相同的关键字的节点时,判断所述行关键字对应的数据行的行哈希值与所述标准定序哈希表中的节点值是否相同,若是,则所述数据行数据相同,并删除所述节点;若否,则所述数据行数据不相同,并删除所述节点;
根据所述第一判断结果,当所述标准定序哈希表中不存在与所述比较数据库的行关键字的哈希值相同的关键字的节点时,则所述行关键字对应的数据行为额外数据,记录比较结果;
查找完所述比较数据库中的所有数据行后,若所述标准定序哈希表中还存在剩余节点,则所述剩余节点对应的标准数据库中数据行为比较数据库中缺失的数据行,并记录比较结果。
在其中一个结构化数据比较的方法的实施例中,当所述标准哈希表或所述比较哈希表中同一位置中包括多个节点时,根据所述节点的关键字的大小对插入所述定序哈希表中的节点进行排序。
基于同一发明构思的一种结构化数据比较的系统,包括定序哈希表构建模块,比较哈希值计算模块,以及第一判断模块,其中:
所述定序哈希表构建模块,用于采用定序哈希分布算法,以数据库的数据行的行哈希值作为节点值,以所述数据行的行关键字的哈希值作为节点的关键字,分别构建标准数据库和比较数据库的标准定序哈希表和比较定序哈希表;
所述比较哈希值计算模块,用于分别将所述标准定序哈希表和所述比较定序哈希表中有数据的节点的关键字和节点值连接成标准字符和比较字符,并计算所述标准字符和所述比较字符的标准哈希值和比较哈希值;
所述第一判断模块,用于判断所述标准哈希值和所述比较哈希值是否相同,若相同,则所述标准数据库和所述比较数据库中的数据相同;否则不相同;
所述定序哈希表中,相同关键字的哈希表节点在所述定序哈希表中的相同位置。
在其中一个结构化数据比较的系统的实施例中,所述定序哈希表构建模块包括装填因子创建子模块,查询子模块,行哈希值计算子模块,节点子模块,以及定序子模块,其中:
所述装填因子创建子模块,用于根据数据库的行数,选定装填因子创建哈希表;
所述查询子模块,用于查询所述数据库,并返回查询结果集;
所述行哈希值计算子模块,用于根据所述查询结果集,逐行计算所述查询结果集的行哈希值,得到所述数据库的行哈希值及行关键字;
所述节点子模块,用于将所述行哈希值作为所述哈希表的节点值,将所述行关键字的哈希值作为所述哈希表节点的关键字插入所述哈希表;
所述定序子模块,用于采用定序哈希分布算法使得所述行关键字相同的哈希表节点在哈希表中的相同位置,得到标准数据库和比较数据库的标准定序哈希表和比较定序哈希表。
在其中一个结构化数据比较的系统的实施例中,采用MD5算法计算所述哈希值。
在其中一个结构化数据比较的系统的实施例中,还包括第二判断模块,第一执行模块,第二执行模块,以及第三执行模块,其中:
所述第二判断模块,用于当所述标准数据库和比较数据库的数据不同时,返回逐行查询所述比较数据库,判断所述标准定序哈希表中是否存在与所述比较数据库的行关键字的哈希值相同的关键字的节点,得到第一判断结果;
所述第一执行模块,用于根据所述第一判断结果,当所述标准定序哈希表中存在与所述比较数据库的行关键字的哈希值相同的关键字的节点时,判断所述行关键字对应的数据行的行哈希值与所述标准定序哈希表中的节点值是否相同,若是,则所述数据行数据相同,并删除所述节点;若否,则所述数据行数据不相同,并删除所述节点;
所述第二执行模块,用于根据所述第一判断结果,当所述标准定序哈希表中不存在与所述比较数据库的行关键字的哈希值相同的关键字的节点时,则所述行关键字对应的数据行为额外数据,记录比较结果;
所述第三执行模块,用于查找完所述比较数据库中的所有数据行后,若所述标准定序哈希表中还存在剩余节点,则所述剩余节点对应的标准数据库中数据行为比较数据库中缺失的数据行,并记录比较结果。
在其中一个结构化数据比较的系统的实施例中,当所述标准哈希表或所述比较哈希表中同一位置中包括多个节点时,根据所述节点的关键字的大小对插入所述定序哈希表中的节点进行排序。
本发明的有益效果包括:
本发明提供的结构化数据比较的方法及系统,标准哈希值与比较哈希值可在不同的服务器上同时单独进行,且无需数据库服务器进行排序工作。减小数据库服务器的计算压力,资源占用率低,不存在服务器宕机的风险。进行一次哈希值的比较,判断出两数据库是否相同,判断方式简单明了,效率高。
附图说明
图1为本发明一种结构化数据比较的方法的一具体实施例的流程图;
图2为本发明一种结构化数据比较的系统的一具体实施例的系统结构示意图;
图3为本发明一种结构化数据比较的系统的一具体实施例的定序哈希表构建模块的结构示意图;
图4为本发明一种结构化数据比较的系统的另一具体实施例的系统结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明实施例的结构化数据比较的方法及系统的具体实施方式进行说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的结构化数据比较的方法,如图1所示,包括以下步骤:
S100,采用定序哈希分布算法,以数据库的数据行的行哈希值作为节点值,以所述数据行的行关键字的哈希值作为节点的关键字,分别构建标准数据库和比较数据库的标准定序哈希表和比较定序哈希表。所述标准数据库是指真实应用的实际的作为比较标准的数据库,所述比较数据库可以为所述标准数据库的备份数据库。所述定序哈希分布算法是指:对数据行的行关键字的哈希值使用time33算法,使数据行对应的节点插入到哈希表的特定位置。进而对标准库和比较库,在装填因子相同的情况下,相同行关键字的数据行在哈希表中相同的位置。构建以数据行为单位计算节点的哈希值构成定序哈希表,哈希表中的数据包括数据库数据行的哈希值,数据行的行关键字数据。所述定序哈希表中,相同关键字的哈希表节点在所述定序哈希表中的相同位置。如此,无论标准数据库与比较数据库中数据存储的顺序是否相同,只要所包含的数据完全相同则可以得到完全相同的定序哈希表。
S200,分别将所述标准定序哈希表和所述比较定序哈希表中有数据的节点的关键字和节点值连接成标准字符和比较字符,并计算所述标准字符和所述比较字符的标准哈希值和比较哈希值。在所述哈希表中,可能存在某些节点为空节点,有数据的节点中的数据为从所述数据库中得到的哈希值及行关键字。将所述定序哈希表中的所有有数据的节点的节点值及关键字连接成字符串,对于包含数据相同的数据库,此字符串应完全相同,当然所述字符串得到的哈希值也应完全相同。因此,可构建所述的标准哈希值和比较哈希值,并通过其对数据库进行判断。
S300,判断所述标准哈希值和所述比较哈希值是否相同,若相同,则所述标准数据库和所述比较数据库中的数据相同;否则不相同。如上所述,相同的数据库数据会得到相同的定序哈希表,从而标准哈希值与比较哈希值会完全相同。
本发明实施例的结构化数据比较的方法,标准哈希值与比较哈希值可在不同的服务器上同时单独进行,且无需数据库的排序工作。减小数据库服务器的计算压力,资源占用率低,不存在服务器宕机的风险。进行一次哈希值比较,判断两数据库是否相同,判断方式简单明了,效率高。
在其中一个实施例中,步骤S100,包括以下步骤:
S110,根据数据库的行数,选定装填因子创建哈希表。例如可选定装填因子为0.5,则若数据库中包含20000行数据,构建包含40000行的哈希表。
S120,查询所述数据库,并返回查询结果集。对数据库中的数据逐行进行查找,并返回查询结果集。
S130,根据所述查询结果集,逐行计算所述查询结果集的行哈希值,得到所述数据库的行哈希值及行关键字。
S140,将所述行哈希值作为所述哈希表的节点值,将所述行关键字的哈希值作为所述哈希表节点的关键字插入所述哈希表。根据所述行关键字的值即可对应的得到所述行关键字。
S150,采用定序哈希分布算法使得所述行关键字相同的哈希表节点在哈希表中的相同位置,得到标准数据库和比较数据库的标准定序哈希表和比较定序哈希表。此处需要说明的是,步骤S150与步骤S140为结合进行的,没有完全的前后关系。
在其中一个实施例中,采用MD5算法计算所述哈希值。采用消息摘要算法第五版(Message Digest Algorithm5,MD5)计算哈希值,保证数据的安全性与准确性。
在其中一个结构化数据比较的方法的实施例中,还包括以下步骤:
S400,当所述标准数据库和比较数据库的数据不同时,返回逐行查询所述比较数据库,判断所述标准定序哈希表中是否存在与所述比较数据库的行关键字的哈希值相同的关键字的节点,得到第一判断结果。当所述标准数据库和所述比较数据库的数据不相同时,需要判断所述不相同数据的类型,如额外数据或者缺少数据。因此,以所述标准定序哈希表为基础,返回所述比较数据库逐行查找所述比较数据库中的数据,逐行进行判断。
S500,根据所述第一判断结果,当所述标准定序哈希表中存在与所述比较数据库的行关键字的哈希值相同的关键字的节点时,判断所述行关键字对应的数据行的行哈希值与所述标准定序哈希表中的节点值是否相同,若是,则所述数据行数据相同,并删除所述节点;若否,则所述数据行数据不相同,并删除所述节点。根据关键字进行判断,查找到相同关键字时,则说明比较数据库与所述标准数据库中存在关键字相同的数据行,则进一步比较该数据行对应的哈希值是否相同。若数据行的哈希值完全相同则说明两数据库该关键字的数据行完全相同。删除数据行相同的哈希表的节点,以便后续进一步进行判断。若存在相同的关键字,但相同数据行的行哈希值不同,则说明对应数据行存在差异,做出相应的标记。
S600,根据所述第一判断结果,当所述标准定序哈希表中不存在与所述比较数据库的行关键字的哈希值相同的关键字的节点时,则所述行关键字对应的数据行为额外数据,记录比较结果。若不存在相同关键字的节点,则说明比较数据库中此数据行在标准数据库中不存在,则其为额外的数据行,做出相应的标记。
S700,查找完所述比较数据库中的所有数据行后,若所述标准定序哈希表中还存在剩余节点,则所述剩余节点对应的标准数据库中数据行为比较数据库中缺失的数据行,并记录比较结果。因步骤S500中删除了已查找到的关键字的节点,证明剩余的节点在比较数据库中没有对应的数据行,因此,剩余的节点的数据行为比较数据库中缺失的数据行。
本发明实施例中,通过查询比较数据库中的数据行,并与标准定序哈希表进行比较,在发现不同数据类型的同时准确定位不同数据对应的数据行。定位准确简单,计算量相对传统数据小。
在其中一个实施例中,当所述标准哈希表或所述比较哈希表中同一位置中包括多个节点时,根据所述节点的关键字的大小对插入所述定序哈希表中的节点进行排序。由此,可避免定序哈希表中同一位置包含多个节点时,造成输出的标准哈希值不唯一。
基于同一发明构思,本发明实施例提供一种结构化数据比较的系统,由于此系统解决问题的原理与前述一种结构化数据比较的方法相似,因此,该系统的实施可以按照前述方法的具体步骤实现,重复之处不再赘述。
本发明实施例的一种结构化数据比较的系统,如图2所示,包括定序哈希表构建模块100,比较哈希值计算模块200,以及第一判断模块300,其中:所述定序哈希表构建模块100,用于采用定序哈希分布算法,以数据库的数据行的行哈希值作为节点值,以所述数据行的行关键字的哈希值作为节点的关键字,分别构建标准数据库和比较数据库的标准定序哈希表和比较定序哈希表;所述比较哈希值计算模块200,用于分别将所述标准定序哈希表和所述比较定序哈希表中有数据的节点的关键字和节点值连接成标准字符和比较字符,并计算所述标准字符和所述比较字符的标准哈希值和比较哈希值;所述第一判断模块300,用于判断所述标准哈希值和所述比较哈希值是否相同,若相同,则所述标准数据库和所述比较数据库中的数据相同;否则不相同;所述定序哈希表中,相同关键字的哈希表节点在所述定序哈希表中的相同位置。
本发明实施例的结构化数据比较的系统,标准哈希值与比较哈希值可在不同的服务器上同时单独进行,且无需数据库的排序工作。减小数据库服务器的计算压力,资源占用率低,不存在服务器宕机的风险。进行一次哈希值的比较,判断出两数据库是否相同,判断方式简单明了,效率高。
在其中一个实施例中,所述定序哈希表构建模块100包括装填因子创建子模块110,查询子模块120,行哈希值计算子模块130,节点子模块140,以及定序子模块150,其中:所述装填因子创建子模块110,用于根据数据库的行数,选定装填因子创建哈希表;所述查询子模块120,用于查询所述数据库,并返回查询结果集;所述行哈希值计算子模块130,用于根据所述查询结果集,逐行计算所述查询结果集的行哈希值,得到所述数据库的行哈希值及行关键字;所述节点子模块140,用于将所述行哈希值作为所述哈希表的节点值,将所述行关键字的哈希值作为所述哈希表节点的关键字插入所述哈希表;所述定序子模块150,用于采用定序哈希分布算法使得所述行关键字相同的哈希表节点在哈希表中的相同位置,得到标准数据库和比较数据库的标准定序哈希表和比较定序哈希表。
在其中一个结构化数据比较的系统的实施例中,采用MD5算法计算所述哈希值。可保证数据的安全性与准确性。
在其中一个结构化数据比较的系统的实施例中,还包括第二判断模块400,第一执行模块500,第二执行模块600,以及第三执行模块700,其中:所述第二判断模块400,用于当所述标准数据库和比较数据库的数据不同时,返回逐行查询所述比较数据库,判断所述标准定序哈希表中是否存在与所述比较数据库的行关键字的哈希值相同的关键字的节点,得到第一判断结果;所述第一执行模块500,用于根据所述第一判断结果,当所述标准定序哈希表中存在与所述比较数据库的行关键字的哈希值相同的关键字的节点时,判断所述行关键字对应的数据行的行哈希值与所述标准定序哈希表中的节点值是否相同,若是,则所述数据行数据相同,并删除所述节点;若否,则所述数据行数据不相同,并删除所述节点;所述第二执行模块600,用于根据所述第一判断结果,当所述标准定序哈希表中不存在与所述比较数据库的行关键字的哈希值相同的关键字的节点时,则所述行关键字对应的数据行为额外数据,记录比较结果;所述第三执行模块700,用于查找完所述比较数据库中的所有数据行后,若所述标准定序哈希表中还存在剩余节点,则所述剩余节点对应的标准数据库中数据行为比较数据库中缺失的数据行,并记录比较结果。
本发明实施例中,通过查询比较数据库中的数据行,并与标准定序哈希表进行比较,在发现不同数据类型的同时准确定位不同数据对应的数据行。定位准确简单,计算量相对传统数据小。
在其中一个实施例中,当所述标准哈希表或所述比较哈希表中同一位置中包括多个节点时,根据所述节点的关键字的大小对插入所述定序哈希表中的节点进行排序。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种结构化数据比较的方法,其特征在于,包括以下步骤:
采用定序哈希分布算法,以数据库的数据行的行哈希值作为节点值,以所述数据行的行关键字的哈希值作为节点的关键字,分别构建标准数据库和比较数据库的标准定序哈希表和比较定序哈希表;
分别将所述标准定序哈希表和所述比较定序哈希表中有数据的节点的关键字和节点值连接成标准字符和比较字符,并计算所述标准字符和所述比较字符的标准哈希值和比较哈希值;
判断所述标准哈希值和所述比较哈希值是否相同,若相同,则所述标准数据库和所述比较数据库中的数据相同;否则不相同;
所述定序哈希表中,相同关键字的哈希表节点在所述定序哈希表中的相同位置。
2.根据权利要求1所述的结构化数据比较的方法,其特征在于,所述采用定序哈希分布算法,以数据库的数据行的行哈希值作为节点值,以所述数据行的行关键字的哈希值作为节点的关键字,分别构建标准数据库和比较数据库的标准定序哈希表和比较定序哈希表,包括以下步骤:
根据数据库的行数,选定装填因子创建哈希表;
查询所述数据库,并返回查询结果集;
根据所述查询结果集,逐行计算所述查询结果集的行哈希值,得到所述数据库的行哈希值及行关键字;
将所述行哈希值作为所述哈希表的节点值,将所述行关键字的哈希值作为所述哈希表节点的关键字插入所述哈希表;
采用定序哈希分布算法使得所述行关键字相同的哈希表节点在哈希表中的相同位置,得到标准数据库和比较数据库的标准定序哈希表和比较定序哈希表。
3.根据权利要求1或2所述的结构化数据比较的方法,其特征在于,采用MD5算法计算所述哈希值。
4.根据权利要求1所述的结构化数据比较的方法,其特征在于,还包括以下步骤:
当所述标准数据库和比较数据库的数据不同时,返回逐行查询所述比较数据库,判断所述标准定序哈希表中是否存在与所述比较数据库的行关键字的哈希值相同的关键字的节点,得到第一判断结果;
根据所述第一判断结果,当所述标准定序哈希表中存在与所述比较数据库的行关键字的哈希值相同的关键字的节点时,判断所述行关键字对应的数据行的行哈希值与所述标准定序哈希表中的节点值是否相同,若是,则所述数据行数据相同,并删除所述节点;若否,则所述数据行数据不相同,并删除所述节点;
根据所述第一判断结果,当所述标准定序哈希表中不存在与所述比较数据库的行关键字的哈希值相同的关键字的节点时,则所述行关键字对应的数据行为额外数据,记录比较结果;
查找完所述比较数据库中的所有数据行后,若所述标准定序哈希表中还存在剩余节点,则所述剩余节点对应的标准数据库中数据行为比较数据库中缺失的数据行,并记录比较结果。
5.根据权利要求2所述的结构化数据比较的方法,其特征在于,当所述标准哈希表或所述比较哈希表中同一位置中包括多个节点时,根据所述节点的关键字的大小对插入所述定序哈希表中的节点进行排序。
6.一种结构化数据比较的系统,其特征在于,包括定序哈希表构建模块,比较哈希值计算模块,以及第一判断模块,其中:
所述定序哈希表构建模块,用于采用定序哈希分布算法,以数据库的数据行的行哈希值作为节点值,以所述数据行的行关键字的哈希值作为节点的关键字,分别构建标准数据库和比较数据库的标准定序哈希表和比较定序哈希表;
所述比较哈希值计算模块,用于分别将所述标准定序哈希表和所述比较定序哈希表中有数据的节点的关键字和节点值连接成标准字符和比较字符,并计算所述标准字符和所述比较字符的标准哈希值和比较哈希值;
所述第一判断模块,用于判断所述标准哈希值和所述比较哈希值是否相同,若相同,则所述标准数据库和所述比较数据库中的数据相同;否则不相同;
所述定序哈希表中,相同关键字的哈希表节点在所述定序哈希表中的相同位置。
7.根据权利要求6所述的结构化数据比较的系统,其特征在于,所述定序哈希表构建模块包括装填因子创建子模块,查询子模块,行哈希值计算子模块,节点子模块,以及定序子模块,其中:
所述装填因子创建子模块,用于根据数据库的行数,选定装填因子创建哈希表;
所述查询子模块,用于查询所述数据库,并返回查询结果集;
所述行哈希值计算子模块,用于根据所述查询结果集,逐行计算所述查询结果集的行哈希值,得到所述数据库的行哈希值及行关键字;
所述节点子模块,用于将所述行哈希值作为所述哈希表的节点值,将所述行关键字的哈希值作为所述哈希表节点的关键字插入所述哈希表;
所述定序子模块,用于采用定序哈希分布算法使得所述行关键字相同的哈希表节点在哈希表中的相同位置,得到标准数据库和比较数据库的标准定序哈希表和比较定序哈希表。
8.根据权利要求6或7所述的结构化数据比较的系统,其特征在于,采用MD5算法计算所述哈希值。
9.根据权利要求6所述的结构化数据比较的系统,其特征在于,还包括第二判断模块,第一执行模块,第二执行模块,以及第三执行模块,其中:
所述第二判断模块,用于当所述标准数据库和比较数据库的数据不同时,返回逐行查询所述比较数据库,判断所述标准定序哈希表中是否存在与所述比较数据库的行关键字的哈希值相同的关键字的节点,得到第一判断结果;
所述第一执行模块,用于根据所述第一判断结果,当所述标准定序哈希表中存在与所述比较数据库的行关键字的哈希值相同的关键字的节点时,判断所述行关键字对应的数据行的行哈希值与所述标准定序哈希表中的节点值是否相同,若是,则所述数据行数据相同,并删除所述节点;若否,则所述数据行数据不相同,并删除所述节点;
所述第二执行模块,用于根据所述第一判断结果,当所述标准定序哈希表中不存在与所述比较数据库的行关键字的哈希值相同的关键字的节点时,则所述行关键字对应的数据行为额外数据,记录比较结果;
所述第三执行模块,用于查找完所述比较数据库中的所有数据行后,若所述标准定序哈希表中还存在剩余节点,则所述剩余节点对应的标准数据库中数据行为比较数据库中缺失的数据行,并记录比较结果。
10.根据权利要求7所述的结构化数据比较的系统,其特征在于,当所述标准哈希表或所述比较哈希表中同一位置中包括多个节点时,根据所述节点的关键字的大小对插入所述定序哈希表中的节点进行排序。
CN201310676018.9A 2013-12-11 2013-12-11 结构化数据比较的方法及系统 Active CN103678583B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310676018.9A CN103678583B (zh) 2013-12-11 2013-12-11 结构化数据比较的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310676018.9A CN103678583B (zh) 2013-12-11 2013-12-11 结构化数据比较的方法及系统

Publications (2)

Publication Number Publication Date
CN103678583A true CN103678583A (zh) 2014-03-26
CN103678583B CN103678583B (zh) 2017-07-21

Family

ID=50316128

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310676018.9A Active CN103678583B (zh) 2013-12-11 2013-12-11 结构化数据比较的方法及系统

Country Status (1)

Country Link
CN (1) CN103678583B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104036029A (zh) * 2014-06-27 2014-09-10 深圳市腾讯计算机系统有限公司 大数据一致性对比方法和系统
CN104331438A (zh) * 2014-10-24 2015-02-04 北京奇虎科技有限公司 对小说网页内容选择性抽取方法和装置
CN104391894A (zh) * 2014-11-11 2015-03-04 广州科腾信息技术有限公司 一种重复数据的检查处理方法
CN104778179A (zh) * 2014-01-14 2015-07-15 阿里巴巴集团控股有限公司 一种数据迁移测试方法和系统
CN105677645A (zh) * 2014-11-17 2016-06-15 阿里巴巴集团控股有限公司 一种数据表比对方法和装置
CN105988889A (zh) * 2015-02-11 2016-10-05 阿里巴巴集团控股有限公司 一种数据校验方法及装置
CN106815100A (zh) * 2015-11-27 2017-06-09 北京国双科技有限公司 接口测试方法及装置
WO2018214897A1 (zh) * 2017-05-25 2018-11-29 阿里巴巴集团控股有限公司 一种数据库状态确定方法、一致性验证方法及装置
CN112468697A (zh) * 2020-11-18 2021-03-09 江汉大学 一种具有智能化位置调整功能的视觉采集方法和装置
CN114791916A (zh) * 2022-06-22 2022-07-26 广东杰纳医药科技有限公司 一种临床试验数据的快速比对方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109656964A (zh) * 2018-12-19 2019-04-19 北京超萌国际文化有限公司 数据比对的方法、装置以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067547A (en) * 1997-08-12 2000-05-23 Microsoft Corporation Hash table expansion and contraction for use with internal searching
CN1778087A (zh) * 2003-04-04 2006-05-24 丛林网络公司 攻击数据库结构
US7167980B2 (en) * 2002-05-30 2007-01-23 Intel Corporation Data comparison process
CN101957858A (zh) * 2010-09-27 2011-01-26 中兴通讯股份有限公司 数据比对方法和装置
CN102362273A (zh) * 2009-04-01 2012-02-22 赛贝斯股份有限公司 用于关系数据库系统中高效数据存取的动态散列表

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067547A (en) * 1997-08-12 2000-05-23 Microsoft Corporation Hash table expansion and contraction for use with internal searching
US7167980B2 (en) * 2002-05-30 2007-01-23 Intel Corporation Data comparison process
CN1778087A (zh) * 2003-04-04 2006-05-24 丛林网络公司 攻击数据库结构
CN102362273A (zh) * 2009-04-01 2012-02-22 赛贝斯股份有限公司 用于关系数据库系统中高效数据存取的动态散列表
CN101957858A (zh) * 2010-09-27 2011-01-26 中兴通讯股份有限公司 数据比对方法和装置

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104778179B (zh) * 2014-01-14 2019-05-28 阿里巴巴集团控股有限公司 一种数据迁移测试方法和系统
CN104778179A (zh) * 2014-01-14 2015-07-15 阿里巴巴集团控股有限公司 一种数据迁移测试方法和系统
CN104036029A (zh) * 2014-06-27 2014-09-10 深圳市腾讯计算机系统有限公司 大数据一致性对比方法和系统
CN104331438A (zh) * 2014-10-24 2015-02-04 北京奇虎科技有限公司 对小说网页内容选择性抽取方法和装置
CN104391894A (zh) * 2014-11-11 2015-03-04 广州科腾信息技术有限公司 一种重复数据的检查处理方法
CN105677645A (zh) * 2014-11-17 2016-06-15 阿里巴巴集团控股有限公司 一种数据表比对方法和装置
CN105988889B (zh) * 2015-02-11 2019-06-14 阿里巴巴集团控股有限公司 一种数据校验方法及装置
CN105988889A (zh) * 2015-02-11 2016-10-05 阿里巴巴集团控股有限公司 一种数据校验方法及装置
CN106815100A (zh) * 2015-11-27 2017-06-09 北京国双科技有限公司 接口测试方法及装置
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
CN112468697A (zh) * 2020-11-18 2021-03-09 江汉大学 一种具有智能化位置调整功能的视觉采集方法和装置
CN112468697B (zh) * 2020-11-18 2022-05-27 江汉大学 一种具有智能化位置调整功能的视觉采集方法和装置
CN114791916A (zh) * 2022-06-22 2022-07-26 广东杰纳医药科技有限公司 一种临床试验数据的快速比对方法
CN114791916B (zh) * 2022-06-22 2022-10-11 广东杰纳医药科技有限公司 一种临床试验数据的快速比对方法

Also Published As

Publication number Publication date
CN103678583B (zh) 2017-07-21

Similar Documents

Publication Publication Date Title
CN103678583A (zh) 结构化数据比较的方法及系统
CN107784044B (zh) 表数据查询方法及装置
US20130212131A1 (en) Symbolic hyper-graph database
CN107085570B (zh) 数据处理方法、应用服务器和路由器
CN104794123A (zh) 一种为半结构化数据构建NoSQL数据库索引的方法及装置
CN106815326B (zh) 一种检测无主键数据表一致性的系统及方法
CN108287886B (zh) 同步数据变更信息的方法及装置
CN110147455B (zh) 一种人脸匹配检索装置及方法
CN107704202B (zh) 一种数据快速读写的方法和装置
CN105488050A (zh) 一种数据库多索引方法、装置及系统
WO2015074466A1 (zh) 一种数据查询方法及装置
CN103970853A (zh) 优化搜索引擎的方法及装置
CN105069109A (zh) 一种分布式数据库扩容的方法和系统
CN103856462B (zh) 一种会话的管理方法及系统
CN106469152A (zh) 一种基于etl的文件处理方法及系统
CN111651453A (zh) 用户历史行为查询方法、装置、电子设备及存储介质
JP2009217426A (ja) 情報処理装置、リソース同定プログラム、リソース同定方法
Masciari et al. Sequential pattern mining from trajectory data
CN113722600B (zh) 应用于大数据的数据查询方法、装置、设备及产品
CN105138638A (zh) 一种基于应用层的数据库分布方法
Orakzai et al. Towards distributed convoy pattern mining
Kryszkiewicz Determining cosine similarity neighborhoods by means of the euclidean distance
CN113157934A (zh) 知识图谱起源处理方法和系统、电子设备和存储介质
CN112231285A (zh) 基于数据资源的知识图谱生成方法及装置
CN112685557A (zh) 可视化信息资源管理方法及装置

Legal Events

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