CN108804561B - 数据同步方法及装置 - Google Patents

数据同步方法及装置 Download PDF

Info

Publication number
CN108804561B
CN108804561B CN201810495818.3A CN201810495818A CN108804561B CN 108804561 B CN108804561 B CN 108804561B CN 201810495818 A CN201810495818 A CN 201810495818A CN 108804561 B CN108804561 B CN 108804561B
Authority
CN
China
Prior art keywords
data
abstract
values
database file
original
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
Application number
CN201810495818.3A
Other languages
English (en)
Other versions
CN108804561A (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.)
State Grid Tianjin Electric Power Co Ltd
Beijing Kedong Electric Power Control System Co Ltd
Original Assignee
State Grid Tianjin Electric Power Co Ltd
Beijing Kedong Electric Power Control System 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 State Grid Tianjin Electric Power Co Ltd, Beijing Kedong Electric Power Control System Co Ltd filed Critical State Grid Tianjin Electric Power Co Ltd
Priority to CN201810495818.3A priority Critical patent/CN108804561B/zh
Publication of CN108804561A publication Critical patent/CN108804561A/zh
Application granted granted Critical
Publication of CN108804561B publication Critical patent/CN108804561B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例的目的在于提供一种数据同步方法及装置,应用于第一服务器,所述方法包括:获得第二服务器发送的第二数据库文件;将所述第二数据库文件进行信息摘要处理得到第二摘要数据;将所述第二摘要数据与第一摘要数据匹配,获得匹配结果;根据所述匹配结果,将所述第一原始数据库文件中的原始数据项更新至与所述第二原始数据库文件中的原始数据项相同。对两个服务器上的数据库进行多次编码转换得到的摘要数据,快速判断出两个服务器上的数据库的不同的地方,避免大批量的数据比对,节省资源,同时数据修改的部分仅限于需要更新的部分,避免了对存储器的多次擦写,有效的提高了存储器的寿命。

Description

数据同步方法及装置
技术领域
本发明信息技术领域,具体而言,涉及一种数据同步方法及装置。
背景技术
随着信息技术的不断发展,服务器的数据出现多地存储的形式。处于不同地域的服务器的数据库需要在保持一致,这就意味着不同地域的服务器的数据需要在尽量短的时间内快速的完成数据的同步,这对于设备的数据处理能力和硬件的耐用性提出了较高的要求。
发明内容
有鉴于此,本发明实施例的目的在于提供一种数据同步方法,应用于第一服务器,所述方法包括:获得第二服务器发送的第二数据库文件,所述第二数据库文件为所述第二服务器将所述第二服务器的第二原始数据库文件的每个原始数据项均经编码获得的文件;将所述第二数据库文件进行信息摘要处理得到第二摘要数据;将所述第二摘要数据与第一摘要数据匹配,获得匹配结果;其中,所述第一摘要数据为将所述第一服务器的第一数据库文件进行信息摘要处理得到的摘要数据,所述第一数据库文件为所述第一服务器将所述第一服务器的第一原始数据库文件的每个原始数据项均经编码获得的文件;根据所述匹配结果,将所述第一原始数据库文件中的原始数据项更新至与所述第二原始数据库文件中的原始数据项相同。
进一步的,所述将所述第二数据库文件进行信息摘要处理得到第二摘要数据,包括:将所述第二数据库文件中的每个第二编码数据项进行信息摘要处理,获得多个第二数据项摘要值;将所述第二数据库文件中每个第二数据表的所有第二编码数据项对应的第二数据项摘要值进行信息摘要处理,获得与所述第二数据文件中每个第二数据表一一对应的多个第二数据表摘要值;将与所述第二数据文件中每个第二数据表一一对应的多个第二数据表摘要值进行信息摘要处理,获得第二数据库摘要值;其中所述第二摘要数据包括:所述第二数据库摘要值,所述多个第二数据表摘要值和所述多个第二数据项摘要值。
进一步的,所述将所述第二摘要数据与第一摘要数据匹配,获得匹配结果,包括:判断所述第二数据库摘要值与所述第一摘要数据的第一数据库摘要值是否一致;其中,第一数据库摘要值由对应的多个第一数据表摘要值进行信息摘要处理得到;如果为否,将所述多个第二数据表摘要值与所述第一摘要数据的多个第一数据表摘要值匹配,获得待更新的第二数据表摘要值和对应的已更新的第一数据库摘要值;其中,第一数据表摘要值由对应的多个第一数据项摘要值进行信息摘要处理得到;将所述待更新的第二数据表摘要值对应的多个第二数据项摘要值与所述已更新的第一数据表摘要值对应的多个第一数据项摘要值匹配,获得待更新的第二数据项摘要值和对应的已更新的第一数据项摘要值;其中第一数据项摘要值由所述第一数据库文件中的对应的第一编码数据项一一进行信息摘要处理得到;根据所述待更新的第二数据项摘要值对应的第二编码数据项与所述已更新的第一数据项摘要值对应的第一编码数据项不匹配的结果,获得待更新字段位置信息;其中所述待更新字段位置信息为匹配结果。
进一步的,所述根据所述匹配结果,将所述第一原始数据库文件中的原始数据项更新至与所述第二原始数据库文件中的原始数据项相同,包括:根据所述待更新字段位置信息,将所述第一原始数据库文件中的原始数据项中对应的待更新的字段的数据删除;在所述第一原始数据库文件中的原始数据项中对应的待更新的字段写入所述第二原始数据库文中的原始数据项中对应已更新的字段的数据。
进一步的,所述根据所述匹配结果,将所述第一原始数据库文件中的原始数据项更新至与所述第二原始数据库文件中的原始数据项相同之后,包括:显示更新完成提示信息。
第二方面,本发明实施例提供了一种数据同步装置,包括:获得模块、摘要处理模块、匹配模块和更新模块;所述获得模块,用于获得第二服务器发送的第二数据库文件,所述第二数据库文件为所述第二服务器将所述第二服务器的第二原始数据库文件的每个原始数据项均经编码获得的文件;所述摘要处理模块,用于将所述第二数据库文件进行信息摘要处理得到第二摘要数据;所述匹配模块,用于将所述第二摘要数据与第一摘要数据匹配,获得匹配结果;其中,所述第一摘要数据为将所述第一服务器的第一数据库文件进行信息摘要处理得到的摘要数据,所述第一数据库文件为所述第一服务器将所述第一服务器的第一原始数据库文件的每个原始数据项均经编码获得的文件;所述更新模块,用于根据所述匹配结果,将所述第一原始数据库文件中的原始数据项更新至与所述第二原始数据库文件中的原始数据项相同。
进一步的,所述摘要处理模块包括:第一摘要处理单元、第二摘要处理单元和第三摘要处理单元;所述第一摘要处理单元,将所述第二数据库文件中的每个第二编码数据项进行信息摘要处理,获得多个第二数据项摘要值;所述第二摘要处理单元,将所述第二数据库文件中每个第二数据表的所有第二编码数据项对应的第二数据项摘要值进行信息摘要处理,获得与所述第二数据文件中每个第二数据表一一对应的多个第二数据表摘要值;所述第三摘要处理单元,将与所述第二数据文件中每个第二数据表一一对应的多个第二数据表摘要值进行信息摘要处理,获得第二数据库摘要值;其中所述第二摘要数据包括:所述第二数据库摘要值,所述多个第二数据表摘要值和所述多个第二数据项摘要值。
进一步的,所述匹配模块包括:判断单元、第一匹配单元、第二匹配单元和第三匹配单元;所述判断单元,用于判断所述第二数据库摘要值与所述第一摘要数据的第一数据库摘要值是否一致;其中,第一数据库摘要值由对应的多个第一数据表摘要值进行信息摘要处理得到;所述第一匹配单元,用于在所述判断单元的判断结果为否时,将所述多个第二数据表摘要值与所述第一摘要数据的多个第一数据表摘要值匹配,获得待更新的第二数据表摘要值和对应的已更新的第一数据库摘要值;其中,第一数据表摘要值由对应的多个第一数据项摘要值进行信息摘要处理得到;所述第二匹配单元,用于将所述待更新的第二数据表摘要值对应的多个第二数据项摘要值与所述已更新的第一数据表摘要值对应的多个第一数据项摘要值匹配,获得待更新的第二数据项摘要值和对应的已更新的第一数据项摘要值;其中第一数据项摘要值由所述第一数据库文件中的对应的第一编码数据项一一进行信息摘要处理得到;所述第三匹配单元,用于根据所述待更新的第二数据项摘要值对应的第二编码数据项与所述已更新的第一数据项摘要值对应的第一编码数据项不匹配的结果,获得待更新字段位置信息;其中所述待更新字段位置信息为匹配结果。
进一步的,所述更新模块包括:删除单元和写入单元;所述删除单元,用于根据所述待更新字段位置信息,将所述第一原始数据库文件中的原始数据项中对应的待更新的字段的数据删除;所述写入单元,用于在所述第一原始数据库文件中的原始数据项中对应的待更新的字段写入所述第二原始数据库文中的原始数据项中对应已更新的字段的数据。所述的数据同步装置,其特征在于,还包括:显示模块;所述显示模块,用于显示更新完成提示信息。
本发明实施例的有益效果是:
本发明实施例的目的在于提供一种数据同步方法,应用于第一服务器,所述方法包括:获得第二服务器发送的第二数据库文件,所述第二数据库文件为所述第二服务器将所述第二服务器的第二原始数据库文件的每个原始数据项均经编码获得的文件;将所述第二数据库文件进行信息摘要处理得到第二摘要数据;将所述第二摘要数据与第一摘要数据匹配,获得匹配结果;其中,所述第一摘要数据为将所述第一服务器的第一数据库文件进行信息摘要处理得到的摘要数据,所述第一数据库文件为所述第一服务器将所述第一服务器的第一原始数据库文件的每个原始数据项均经编码获得的文件;根据所述匹配结果,将所述第一原始数据库文件中的原始数据项更新至与所述第二原始数据库文件中的原始数据项相同。
通过对两个服务器上的数据库进行多次编码转换得到的摘要数据,快速判断出两个服务器上的数据库的不同的地方,避免大批量的数据比对,节省资源,同时数据修改的部分仅限于需要更新的部分,避免了对存储器的多次擦写,有效的提高了存储器的寿命。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明实施例了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明第一实施例提供的一种第一服务器与第二服务器的数据交互的示意图;
图2为本发明第一实施例提供的一种第一服务器的模块图;
图3为本发明第二实施例提供的一种数据同步方法的流程示意图;
图4为本发明第三实施例提供的一种数据同步装置的模块图;
图5为本发明第三实施例提供的一种数据同步装置的摘要处理模块的模块图;
图6为本发明第三实施例提供的一种数据同步装置的匹配模块的模块图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
第一实施例
请参照图1和图2,本发明第一实施例提供了一种第一服务器10,所述第一服务器10与第二服务器20之间数据通信连接。
所述第一服务器10包括:存储器11、存储控制器12、处理器13、外设接口14、输入输出装置15、显示单元16和数据同步装置100。
所述存储器11、存储控制器12、信息摘要处理器13、外设接口14、输入输出装置15和显示单元16各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述数据同步装置100包括至少一个可以软件或固件的形式存储于所述存储器11中的软件功能模块。所述信息摘要处理器13用于执行存储器12中存储的可执行模块,例如所述数据同步装置100包括的软件功能模块或计算机程序。
其中,存储器11可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-OnlyMemory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。其中,存储器11用于存储程序,所述信息摘要处理器13在接收到执行指令后,执行所述程序,本发明实施例任一实施例揭示的流过程定义的方法可以应用于信息摘要处理器13中,或者由信息摘要处理器13实现。
处理器13可能是一种集成电路芯片,具有信号的处理能力。上述的信息摘要处理器13可以是通用信息摘要处理器,包括中央信息摘要处理器(Central Processing Unit,简称CPU)、网络信息摘要处理器(Network Processor,简称NP)等;还可以是数字信号信息摘要处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用信息摘要处理器可以是微信息摘要处理器或者该信息摘要处理器也可以是任何常规的信息摘要处理器等。
所述外设接口14将各种输入/输入装置耦合至信息摘要处理器13以及存储器11。在一些实施例中,外设接口,信息摘要处理器13以及存储控制器12可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
输入输出装置15用于与所述第二服务器20实现数据交互。所述输入输出装置15可以是,但不限于,鼠标和键盘等。
显示器16,用于供所述第一服务器10显示信息说明。
第二实施例
请参照图3,本发明第二实施例提供的一种数据同步方法,应用于第一服务器,所述方法包括:步骤S100、步骤S200、步骤S300和步骤S400。
步骤S100:获得第二服务器发送的第二数据库文件,所述第二数据库文件为所述第二服务器将所述第二服务器的第二原始数据库文件的每个原始数据项均经编码获得的文件。
本实施例中,所提及的编码,可选的,是base64编码,对于原始数据库文件中的每个原始数据项进行base64编码。经过base64编码转换后生成的编码数据项构成一个数据库文件。采用base64编码方便数据传输。
步骤S200:将所述第二数据库文件进行信息摘要处理得到第二摘要数据;
在步骤S200中,包括:步骤S210、步骤S220和步骤S230。
步骤S210:将所述第二数据库文件中的每个第二编码数据项进行信息摘要处理,获得多个第二数据项摘要值;
步骤S220:将所述第二数据库文件中每个第二数据表的所有第二编码数据项对应的第二数据项摘要值进行信息摘要处理,获得与所述第二数据文件中每个第二数据表一一对应的多个第二数据表摘要值;
步骤S230:将与所述第二数据文件中每个第二数据表一一对应的多个第二数据表摘要值进行信息摘要处理,获得第二数据库摘要值;其中所述第二摘要数据包括:所述第二数据库摘要值,所述多个第二数据表摘要值和所述多个第二数据项摘要值。
在步骤S200中,对于一个数据文件的摘要值,即数据库摘要值,是分为三层,第一层是先计算出每个编码数据项的摘要值,然后对于在同一个数据表里面的所有编码数据项,将这些编码数据项的摘要值合并在一起,再进行一次摘要值的计算,即一次信息摘要处理。这样便得出了第二层的每个数据表的摘要值,即多个数据表摘要值。第三层运算里,将所述数据表的摘要值合并在一起,进行一次信息摘要处理,得到整个数据库的摘要值,即数据库摘要值。可选的,在本实施例中,所述信息摘要处理选择使用MD5算法进行摘要值的提取。
在步骤S230执行完毕后,继续执行步骤S300.
步骤S300:将所述第二摘要数据与第一摘要数据匹配,获得匹配结果;其中,所述第一摘要数据为将所述第一服务器的第一数据库文件进行信息摘要处理得到的摘要数据,所述第一数据库文件为所述第一服务器将所述第一服务器的第一原始数据库文件的每个原始数据项均经编码获得的文件。
在步骤S300中,包括:步骤S310、步骤S320、步骤S330和步骤S340。
步骤S310:判断所述第二数据库摘要值与所述第一摘要数据的第一数据库摘要值是否一致;其中,第一数据库摘要值由对应的多个第一数据表摘要值进行信息摘要处理得到;
步骤S320:如果为否,将所述多个第二数据表摘要值与所述第一摘要数据的多个第一数据表摘要值匹配,获得待更新的第二数据表摘要值和对应的已更新的第一数据库摘要值;其中,第一数据表摘要值由对应的多个第一数据项摘要值进行信息摘要处理得到;
步骤S330:将所述待更新的第二数据表摘要值对应的多个第二数据项摘要值与所述已更新的第一数据表摘要值对应的多个第一数据项摘要值匹配,获得待更新的第二数据项摘要值和对应的已更新的第一数据项摘要值;其中第一数据项摘要值由所述第一数据库文件中的对应的第一编码数据项一一进行信息摘要处理得到;
步骤S340:根据所述待更新的第二数据项摘要值对应的第二编码数据项与所述已更新的第一数据项摘要值对应的第一编码数据项不匹配的结果,获得待更新字段位置信息;其中所述待更新字段位置信息为匹配结果。
在步骤S300中,先进行整个数据库的摘要值的比较,可以快速判断出第一服务器上的数据库数据是否需要更新,从而不用依次对比数据库中每一个数据表,甚至每个数据表中的每个数据项。从而避免在不需要更新时,耗费大量的计算时间和资源来确认。在确认需要更新后,通过对比数据表摘要值,快速的找出需要更新的数据项在哪一个数据表中,然后通过比较数据项摘要值,快速的确定是哪一个数据项需要进行数据更新。最后在确认了是哪一个数据项需要更新后,基于base64编码算法的固有特性,通过比较经过base64编码后的编码数据项,快速的确定需要在这个数据项中更新的字段。高效且节省资源的找出了需要更新的数据字段。
步骤S300执行完毕后,继续执行步骤S400。
步骤S400:根据所述匹配结果,将所述第一原始数据库文件中的原始数据项更新至与所述第二原始数据库文件中的原始数据项相同。
在步骤S400中,包括:步骤S410和步骤S420。
步骤S410:根据所述待更新字段位置信息,将所述第一原始数据库文件中的原始数据项中对应的待更新的字段的数据删除;
步骤S420:在所述第一原始数据库文件中的原始数据项中对应的待更新的字段写入所述第二原始数据库文中的原始数据项中对应已更新的字段的数据。
因为步骤S300准确的找到需要更新的字段的数据,即更新哪一部分的数据,从而不需要对整个数据库文件,或者数据表,甚至数据项进行替换,最大限度的限制了需要在存储器上擦写的范围。这样可以有效的提高存储器的使用寿命。
在步骤S400之后,还包括:步骤S500。
步骤S500:显示更新完成提示信息。
第三实施例
请参阅图4,本发明第三实施例提供了本发明实施例提供了一种数据同步装置100,包括:获得模块110、摘要处理模块120、匹配模块130和更新模块140;
所述获得模块110,用于获得第二服务器发送的第二数据库文件,所述第二数据库文件为所述第二服务器将所述第二服务器的第二原始数据库文件的每个原始数据项均经编码获得的文件;
所述摘要处理模块120,用于将所述第二数据库文件进行信息摘要处理得到第二摘要数据;
所述匹配模块130,用于将所述第二摘要数据与第一摘要数据匹配,获得匹配结果;其中,所述第一摘要数据为将所述第一服务器的第一数据库文件进行信息摘要处理得到的摘要数据,所述第一数据库文件为所述第一服务器将所述第一服务器的第一原始数据库文件的每个原始数据项均经编码获得的文件;
所述更新模块140,用于根据所述匹配结果,将所述第一原始数据库文件中的原始数据项更新至与所述第二原始数据库文件中的原始数据项相同。
请参阅图5,其中,所述摘要处理模块120包括:第一摘要处理单元121、第二摘要处理单元122和第三摘要处理单元123;
所述第一摘要处理单元121,将所述第二数据库文件中的每个第二编码数据项进行信息摘要处理,获得多个第二数据项摘要值;
所述第二摘要处理单元122,将所述第二数据库文件中每个第二数据表的所有第二编码数据项对应的第二数据项摘要值进行信息摘要处理,获得与所述第二数据文件中每个第二数据表一一对应的多个第二数据表摘要值;
所述第三摘要处理单元123,将与所述第二数据文件中每个第二数据表一一对应的多个第二数据表摘要值进行信息摘要处理,获得第二数据库摘要值;其中所述第二摘要数据包括:所述第二数据库摘要值,所述多个第二数据表摘要值和所述多个第二数据项摘要值。
请参阅图6,其中,所述匹配模块130包括:判断单元131、第一匹配单元132、第二匹配单元133和第三匹配单元134;
所述判断单元131,用于判断所述第二数据库摘要值与所述第一摘要数据的第一数据库摘要值是否一致;其中,第一数据库摘要值由对应的多个第一数据表摘要值进行信息摘要处理得到;
所述第一匹配单元132,用于在所述判断单元的判断结果为否时,将所述多个第二数据表摘要值与所述第一摘要数据的多个第一数据表摘要值匹配,获得待更新的第二数据表摘要值和对应的已更新的第一数据库摘要值;其中,第一数据表摘要值由对应的多个第一数据项摘要值进行信息摘要处理得到;
所述第二匹配单元133,用于将所述待更新的第二数据表摘要值对应的多个第二数据项摘要值与所述已更新的第一数据表摘要值对应的多个第一数据项摘要值匹配,获得待更新的第二数据项摘要值和对应的已更新的第一数据项摘要值;其中第一数据项摘要值由所述第一数据库文件中的对应的第一编码数据项一一进行信息摘要处理得到;
所述第三匹配单元134,用于根据所述待更新的第二数据项摘要值对应的第二编码数据项与所述已更新的第一数据项摘要值对应的第一编码数据项不匹配的结果,获得待更新字段位置信息;其中所述待更新字段位置信息为匹配结果。
其中,所述更新模块140包括:删除单元141和写入单元142;
所述删除单元141,用于根据所述待更新字段位置信息,将所述第一原始数据库文件中的原始数据项中对应的待更新的字段的数据删除;
所述写入单元142,用于在所述第一原始数据库文件中的原始数据项中对应的待更新的字段写入所述第二原始数据库文中的原始数据项中对应已更新的字段的数据。
此外,所述数据同步装置100,还包括:显示模块150。所述显示模块150,用于显示更新完成提示信息。
综上所述:
本发明实施例的目的在于提供一种数据同步方法及装置,应用于第一服务器,所述方法包括:获得第二服务器发送的第二数据库文件,所述第二数据库文件为所述第二服务器将所述第二服务器的第二原始数据库文件的每个原始数据项均经编码获得的文件;将所述第二数据库文件进行信息摘要处理得到第二摘要数据;将所述第二摘要数据与第一摘要数据匹配,获得匹配结果;其中,所述第一摘要数据为将所述第一服务器的第一数据库文件进行信息摘要处理得到的摘要数据,所述第一数据库文件为所述第一服务器将所述第一服务器的第一原始数据库文件的每个原始数据项均经编码获得的文件;根据所述匹配结果,将所述第一原始数据库文件中的原始数据项更新至与所述第二原始数据库文件中的原始数据项相同。
对两个服务器上的数据库进行多次编码转换得到的摘要数据,快速判断出两个服务器上的数据库的不同的地方,避免大批量的数据比对,节省资源,同时数据修改的部分仅限于需要更新的部分,避免了对存储器的多次擦写,有效的提高了存储器的寿命。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (7)

1.一种数据同步方法,其特征在于,应用于第一服务器,所述方法包括:
获得第二服务器发送的第二数据库文件;所述第二数据库文件为所述第二服务器将所述第二服务器的第二原始数据库文件的每个原始数据项均经编码获得的文件;
将所述第二数据库文件进行信息摘要处理得到第二摘要数据;
判断第二数据库摘要值与第一摘要数据的第一数据库摘要值是否一致;其中,第一数据库摘要值由对应的多个第一数据表摘要值进行信息摘要处理得到;将所述第二数据库文件中每个第二数据表的所有第二编码数据项对应的第二数据项摘要值进行信息摘要处理,获得与第二数据文件中每个第二数据表一一对应的多个第二数据表摘要值,第二数据库摘要值由所述第二数据库文件中每个第二数据表一一对应的多个第二数据表摘要值进行信息摘要处理获得;
如果为否,将所述多个第二数据表摘要值与所述第一摘要数据的多个第一数据表摘要值匹配,获得待更新的第二数据表摘要值和对应的已更新的第一数据表摘要值;其中,第一数据表摘要值由对应的多个第一数据项摘要值进行信息摘要处理得到;
将所述待更新的第二数据表摘要值对应的多个第二数据项摘要值与所述已更新的第一数据表摘要值对应的多个第一数据项摘要值匹配,获得待更新的第二数据项摘要值和对应的已更新的第一数据项摘要值;其中第一数据项摘要值由第一数据库文件中的对应的第一编码数据项一一进行信息摘要处理得到,多个第二数据项摘要值由所述第二数据库文件中的每个第二编码数据项进行信息摘要处理获得;
根据所述待更新的第二数据项摘要值对应的第二编码数据项与所述已更新的第一数据项摘要值对应的第一编码数据项不匹配的结果,获得待更新字段位置信息;其中所述待更新字段位置信息为匹配结果;其中,所述第一摘要数据为将所述第一服务器的第一数据库文件进行信息摘要处理得到的摘要数据,所述第一数据库文件为所述第一服务器将所述第一服务器的第一原始数据库文件的每个原始数据项均经编码获得的文件;
根据所述匹配结果,将所述第一原始数据库文件中的原始数据项更新至与所述第二原始数据库文件中的原始数据项相同。
2.根据权利要求1所述的数据同步方法,其特征在于,所述将所述第二数据库文件进行信息摘要处理得到第二摘要数据,其中所述第二摘要数据包括:所述第二数据库摘要值,所述多个第二数据表摘要值和所述多个第二数据项摘要值。
3.根据权利要求2所述的数据同步方法,其特征在于,所述根据所述匹配结果,将所述第一原始数据库文件中的原始数据项更新至与所述第二原始数据库文件中的原始数据项相同,包括:
根据所述待更新字段位置信息,将所述第一原始数据库文件中的原始数据项中对应的待更新的字段的数据删除;
在所述第一原始数据库文件中的原始数据项中对应的待更新的字段写入所述第二原始数据库文中的原始数据项中对应已更新的字段的数据。
4.根据权利要求3所述的数据同步方法,其特征在于,所述根据所述匹配结果,将所述第一原始数据库文件中的原始数据项更新至与所述第二原始数据库文件中的原始数据项相同之后,包括:
显示更新完成提示信息。
5.一种数据同步装置,其特征在于,应用于第一服务器,包括:获得模块、摘要处理模块、匹配模块和更新模块;
所述获得模块,用于获得第二服务器发送的第二数据库文件,所述第二数据库文件为所述第二服务器将所述第二服务器的第二原始数据库文件的每个原始数据项均经编码获得的文件;
所述摘要处理模块,用于将所述第二数据库文件进行信息摘要处理得到第二摘要数据;所述摘要处理模块包括:第一摘要处理单元、第二摘要处理单元和第三摘要处理单元;
所述第一摘要处理单元,将所述第二数据库文件中的每个第二编码数据项进行信息摘要处理,获得多个第二数据项摘要值;
所述第二摘要处理单元,将所述第二数据库文件中每个第二数据表的所有第二编码数据项对应的第二数据项摘要值进行信息摘要处理,获得与第二数据文件中每个第二数据表一一对应的多个第二数据表摘要值;
所述第三摘要处理单元,将与所述第二数据文件中每个第二数据表一一对应的多个第二数据表摘要值进行信息摘要处理,获得第二数据库摘要值;其中所述第二摘要数据包括:所述第二数据库摘要值,所述多个第二数据表摘要值和所述多个第二数据项摘要值;
所述匹配模块,用于将所述第二摘要数据与第一摘要数据匹配,获得匹配结果;其中,所述第一摘要数据为将所述第一服务器的第一数据库文件进行信息摘要处理得到的摘要数据,所述第一数据库文件为所述第一服务器将所述第一服务器的第一原始数据库文件的每个原始数据项均经编码获得的文件;所述匹配模块包括:判断单元、第一匹配单元、第二匹配单元和第三匹配单元;
所述判断单元,用于判断第二数据库摘要值与所述第一摘要数据的第一数据库摘要值是否一致;其中,第一数据库摘要值由对应的多个第一数据表摘要值进行信息摘要处理得到;
所述第一匹配单元,用于在所述判断单元的判断结果为否时,将所述多个第二数据表摘要值与所述第一摘要数据的多个第一数据表摘要值匹配,获得待更新的第二数据表摘要值和对应的已更新的第一数据表摘要值;其中,第一数据表摘要值由对应的多个第一数据项摘要值进行信息摘要处理得到;
所述第二匹配单元,用于将所述待更新的第二数据表摘要值对应的多个第二数据项摘要值与所述已更新的第一数据表摘要值对应的多个第一数据项摘要值匹配,获得待更新的第二数据项摘要值和对应的已更新的第一数据项摘要值;其中第一数据项摘要值由所述第一数据库文件中的对应的第一编码数据项一一进行信息摘要处理得到;
所述第三匹配单元,用于根据所述待更新的第二数据项摘要值对应的第二编码数据项与所述已更新的第一数据项摘要值对应的第一编码数据项不匹配的结果,获得待更新字段位置信息;其中所述待更新字段位置信息为匹配结果;
所述更新模块,用于根据所述匹配结果,将所述第一原始数据库文件中的原始数据项更新至与所述第二原始数据库文件中的原始数据项相同。
6.根据权利要求5所述的数据同步装置,其特征在于,所述更新模块包括:删除单元和写入单元;
所述删除单元,用于根据所述待更新字段位置信息,将所述第一原始数据库文件中的原始数据项中对应的待更新的字段的数据删除;
所述写入单元,用于在所述第一原始数据库文件中的原始数据项中对应的待更新的字段写入所述第二原始数据库文中的原始数据项中对应已更新的字段的数据。
7.根据权利要求6所述的数据同步装置,其特征在于,还包括:显示模块;
所述显示模块,用于显示更新完成提示信息。
CN201810495818.3A 2018-05-22 2018-05-22 数据同步方法及装置 Active CN108804561B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810495818.3A CN108804561B (zh) 2018-05-22 2018-05-22 数据同步方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810495818.3A CN108804561B (zh) 2018-05-22 2018-05-22 数据同步方法及装置

Publications (2)

Publication Number Publication Date
CN108804561A CN108804561A (zh) 2018-11-13
CN108804561B true CN108804561B (zh) 2021-10-15

Family

ID=64091376

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810495818.3A Active CN108804561B (zh) 2018-05-22 2018-05-22 数据同步方法及装置

Country Status (1)

Country Link
CN (1) CN108804561B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582683A (zh) * 2018-11-14 2019-04-05 泰康保险集团股份有限公司 数据一致性验证方法、装置及设备
CN114461216B (zh) * 2021-12-22 2022-11-11 科东(广州)软件科技有限公司 一种文件编译方法、装置、电子设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508854A (zh) * 2011-09-29 2012-06-20 畅捷通信息技术股份有限公司 数据访问装置和方法
CN104021132A (zh) * 2013-12-08 2014-09-03 郑州正信科技发展股份有限公司 主备数据库数据一致性核查备份方法及其***
US8930306B1 (en) * 2009-07-08 2015-01-06 Commvault Systems, Inc. Synchronized data deduplication
CN104731792A (zh) * 2013-12-19 2015-06-24 ***股份有限公司 数据库一致性校验方法及***、定位数据库差异的方法及***
CN105282047A (zh) * 2015-09-25 2016-01-27 小米科技有限责任公司 访问请求处理方法及装置
CN106611001A (zh) * 2015-10-26 2017-05-03 中兴通讯股份有限公司 虚拟机数据库表数据一致性的校验方法、装置及***
CN106682002A (zh) * 2015-11-05 2017-05-17 中兴通讯股份有限公司 数据库同步方法及***、源数据和目标数据同步装置
CN107368513A (zh) * 2017-04-25 2017-11-21 阿里巴巴集团控股有限公司 客户端数据库更新的方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8930306B1 (en) * 2009-07-08 2015-01-06 Commvault Systems, Inc. Synchronized data deduplication
CN102508854A (zh) * 2011-09-29 2012-06-20 畅捷通信息技术股份有限公司 数据访问装置和方法
CN104021132A (zh) * 2013-12-08 2014-09-03 郑州正信科技发展股份有限公司 主备数据库数据一致性核查备份方法及其***
CN104731792A (zh) * 2013-12-19 2015-06-24 ***股份有限公司 数据库一致性校验方法及***、定位数据库差异的方法及***
CN105282047A (zh) * 2015-09-25 2016-01-27 小米科技有限责任公司 访问请求处理方法及装置
CN106611001A (zh) * 2015-10-26 2017-05-03 中兴通讯股份有限公司 虚拟机数据库表数据一致性的校验方法、装置及***
CN106682002A (zh) * 2015-11-05 2017-05-17 中兴通讯股份有限公司 数据库同步方法及***、源数据和目标数据同步装置
CN107368513A (zh) * 2017-04-25 2017-11-21 阿里巴巴集团控股有限公司 客户端数据库更新的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Data Management for a Distributed Hash Table";Reshma Sonar et al.;《International Conference on Distributed Computing and Networking》;20061230;全文 *
"基于MD5与HASH的数据库增量提取算法及其应用";郭亮;《万方数据知识服务平台》;20131129;全文 *

Also Published As

Publication number Publication date
CN108804561A (zh) 2018-11-13

Similar Documents

Publication Publication Date Title
US20210311968A1 (en) Dynamic clustering for streaming data
CN110352425B (zh) 区块链交易的认知监管合规性自动化
CN109344154B (zh) 数据处理方法、装置、电子设备及存储介质
CN103748579A (zh) 在映射化简框架中处理数据
CN110020427B (zh) 策略确定方法和装置
CN112613917A (zh) 基于用户画像的信息推送方法、装置、设备及存储介质
CN113032580B (zh) 关联档案推荐方法、***及电子设备
CN108804561B (zh) 数据同步方法及装置
CN112686519A (zh) 一种灰度调整方法、装置、电子设备及存储介质
CN108595685B (zh) 一种数据处理方法及装置
CN104424300A (zh) 个性化搜索提示方法及装置
CN110765100A (zh) 标签的生成方法、装置、计算机可读存储介质及服务器
CN115907400A (zh) 一种工单处理方法及装置
CN114564501A (zh) 一种数据库数据存储、查询方法、装置、设备及介质
CN106547922B (zh) 一种应用程序的排序方法、装置及服务器
CN103761247B (zh) 一种出错文件的处理方法及装置
CN112990466A (zh) 一种冗余规则检测方法、装置以及服务器
CN112612817A (zh) 数据处理方法、装置、终端设备及计算机可读存储介质
CN111611056A (zh) 数据处理方法、装置、计算机设备及存储介质
CN116501375B (zh) 数据字典版本管理方法、装置、计算机设备及存储介质
JP2014174921A (ja) 情報処理システム、名寄せ判定方法及びプログラム
CN114880713B (zh) 基于数据链路的用户行为分析方法、装置、设备及介质
CN108846699B (zh) 需求匹配方法及装置
CN116483735B (zh) 一种代码变更的影响分析方法、装置、存储介质及设备
CN116523526B (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