CN102063494A - 数据库同步方法及装置 - Google Patents
数据库同步方法及装置 Download PDFInfo
- Publication number
- CN102063494A CN102063494A CN2010106160519A CN201010616051A CN102063494A CN 102063494 A CN102063494 A CN 102063494A CN 2010106160519 A CN2010106160519 A CN 2010106160519A CN 201010616051 A CN201010616051 A CN 201010616051A CN 102063494 A CN102063494 A CN 102063494A
- Authority
- CN
- China
- Prior art keywords
- version number
- client
- row version
- database
- central
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据库同步方法及装置。数据库同步方法,数据库同步方法,包括:在中心数据库中建立中心行版本号表,并在各个客户端数据库中对应建立客户端行版本号表;中心行版本号表保存有需要同步的表的名称、更改后的中心行版本号,客户端行版本号表保存有需要同步的表的名称、更改后的客户端行版本号、更改前的客户端行版本号和更改后的中心行版本号;根据中心行版本号表和客户端行版本号表,同步客户端数据库和中心数据库中对应的需要同步的表。通过在中心数据库和客户端数据库中对应建立中心行版本号表和客户端行版本号表,避免出现数据重复同步的现象,减少了数据库同步时出现数据混乱的现象,并提高了同步效率。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据库同步方法及装置。
背景技术
目前,随着数据库技术的发展,数据库被广泛的应用于各行各业,数据库中通常建立多个不同类型的表,通过各个表记载不同的数据。现有技术中的数据库通常包括中心数据库和多个客户端数据库,客户端数据库能够与中心数据库之间进行数据上传和下载,从而使各个客户端数据库能够与中心数据库同步,以拥有所有的数据。现有技术中在进行客户端数据库与中心数据库同步数据的过程中,通常出现客户端数据库已有的数据与中心数据库重复同步,从而造成现有技术中的数据库同步出现数据混乱的现象并且同步效率较低。
发明内容
本发明提供一种数据库同步方法及装置,用以解决现有技术中的数据库同步出现数据混乱的现象并且同步效率较低的缺陷,实现通过数据库同步方法减少数据库同步时出现数据混乱的现象并提高同步效率。
本发明提供一种数据库同步方法,包括:
在中心数据库中建立中心行版本号表,并在各个客户端数据库中对应建立客户端行版本号表;所述中心行版本号表保存有需要同步的表的名称、更改后的中心行版本号,所述客户端行版本号表保存有需要同步的表的名称、更改后的客户端行版本号、更改前的客户端行版本号和所述更改后的中心行版本号;
根据所述中心行版本号表和所述客户端行版本号表,同步所述客户端数据库和所述中心数据库中对应的需要同步的表。
本发明提供的数据库同步方法,通过在中心数据库和客户端数据库中对应建立中心行版本号表和客户端行版本号表,可以在中心行版本号表和客户端行版本号表对应保存需要同步的表的相应信息,当中心数据库与客户端数据库进行数据同步时,根据所述中心行版本号表和所述客户端行版本号表中的内容准确的将更改后的数据进行同步,而有效的避免出现数据重复同步的现象,通过数据库同步方法减少了数据库同步时出现数据混乱的现象,并提高了同步效率。
本发明提供一种数据库同步装置,包括:
建表模块,用于在中心数据库中建立中心行版本号表,并在各个客户端数据库中对应建立客户端行版本号表;所述中心行版本号表保存有需要同步的表的名称、更改后的中心行版本号,所述客户端行版本号表保存有需要同步的表的名称、更改后的客户端行版本号、更改前的客户端行版本号和所述更改后的中心行版本号;
同步模块,用于根据所述中心行版本号表和所述客户端行版本号表,同步所述客户端数据库和所述中心数据库中对应的需要同步的表。
本发明提供的数据库同步装置,通过在中心数据库和客户端数据库中对应建立中心行版本号表和客户端行版本号表,可以在中心行版本号表和客户端行版本号表对应保存需要同步的表的相应信息,当中心数据库与客户端数据库进行数据同步时,根据所述中心行版本号表和所述客户端行版本号表中的内容准确的将更改后的数据进行同步,而有效的避免出现数据重复同步的现象,通过数据库同步方法减少了数据库同步时出现数据混乱的现象,并提高了同步效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明数据库同步方法实施例的流程图;
图2为本发明数据库同步方法实施例中中心行版本号表的结构示意图;
图3为本发明数据库同步方法实施例中客户端行版本号表的结构示意图;
图4为本发明数据库同步装置实施例的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明数据库同步方法实施例的流程图。如图1所示,本实施例数据库同步方法,包括:
步骤1、在中心数据库中建立中心行版本号表,并在各个客户端数据库中对应建立客户端行版本号表;中心行版本号表保存有需要同步的表的名称、更改后的中心行版本号,客户端行版本号表保存有需要同步的表的名称、更改后的客户端行版本号、更改前的客户端行版本号和更改后的中心行版本号。
具体的,本实施例数据库同步方法在中心数据库中建立中心行版本号表,并在各个客户端数据库中对应建立客户端行版本号表。中心行版本号表保存有需要同步的表的名称,相对应的,客户端行版本号表中也保存有与中心行版本号表相对应的需要同步的表的名称。如图2所示,本实施例的中心行版本号表中的更改后的中心行版本号可以包括当前添加的中心行版本号字段和当前更新的中心行版本号字段。如图3所示,本实施例的客户端行版本号表中的更改后的客户端行版本号包括当前添加的客户端行版本号字段和当前更新的客户端行版本号字段;更改前的客户端行版本号包括上次同步添加的客户端行版本号字段和上次同步更新的客户端行版本号字段。
步骤2、根据中心行版本号表和客户端行版本号表,同步客户端数据库和中心数据库中对应的需要同步的表。
具体的,通过步骤1建立中心行版本号表和客户端行版本号表后,便可以根据中心行版本号表和客户端行版本号表中的记载的有关需要同步的表的相关信息,将中心数据库与各个客户端数据库进行数据同步。数据同步分以下两种情况:
(一)当客户端数据库向中心数据库上传数据时,步骤2具体为:根据更改后的客户端行版本号和更改前的客户端行版本号,将客户端数据库中更改后的客户端行版本号和更改前的客户端行版本号之间对应的数据上传到中心数据库中的需要同步的表中。具体的,当客户端数据库向中心数据库上传数据时,步骤2将更改后的客户端行版本号与更改前的客户端行版本号之间对应的数据上传到中心数据库中对应的需要同步的表中,从而在更改前的客户端行版本号之前的数据无需重复进行同步。
(二)当客户端数据库从中心数据库下载数据时,步骤2具体为:根据更改后的中心行版本号,将中心数据库中更改后的中心行版本号之间对应的数据下载到客户端数据库中的需要同步的表中。具体的,当客户端数据库从中心数据库下载数据时,步骤2将更改后的中心行版本号对应的数据下载到客户端数据库中的需要同步的表中,从而在之前的数据无需重复进行同步。
进一步的,为了更加准确的同步中心数据库和客户端数据库中对应的需要同步的表,本实施例数据库同步方法在步骤1之前还包括:步骤10、在需要同步的表中增加行版本号字段和更改的客户端地址字段。具体的,在中心数据库对应的需要同步的表中的行版本号字段为更改后的中心行版本号对应的信息,而在客户端数据库对应的需要同步的表中行版本号字段为更改后的客户端行版本号对应的信息。另外,通过将更改的客户端地址字段增加到需要同步的表中,可以有效的避免同一个客户端数据库从中心数据库中重复同步数据。
另外,对于删除数据同步有以下两种处理方式:1、逻辑删除,逻辑删除是通过修改要删除的行的某个标志完成,可以通过更新同步完成,不需要做特别处理。2、物理删除,物理删除需要把要删除的表的表名和行数据的地址或者条件保存到一个删除历史表中,删除历史表作为可以同步的表分别存在于客户端数据库和中心库数据库中。同步删除数据时可以根据删除表中的记录来同步删除数据。
本实施例数据库同步方法,通过在中心数据库和客户端数据库中对应建立中心行版本号表和客户端行版本号表,可以在中心行版本号表和客户端行版本号表对应保存需要同步的表的相应信息,当中心数据库与客户端数据库进行数据同步时,根据所述中心行版本号表和所述客户端行版本号表中的内容准确的将更改后的数据进行同步,而有效的避免出现数据重复同步的现象,通过数据库同步方法减少了数据库同步时出现数据混乱的现象,并提高了同步效率。
图4为本发明数据库同步装置实施例的结构示意图。如图4所示,本实施例数据库同步装置,包括:建表模块1、同步模块2和增加模块3。
建表模块1用于在中心数据库中建立中心行版本号表,并在各个客户端数据库中对应建立客户端行版本号表;中心行版本号表保存有需要同步的表的名称、更改后的中心行版本号,客户端行版本号表保存有需要同步的表的名称、更改后的客户端行版本号、更改前的客户端行版本号和更改后的中心行版本号。其中,更改后的中心行版本号包括当前添加的中心行版本号字段和当前更新的中心行版本号字段;更改后的客户端行版本号包括当前添加的客户端行版本号字段和当前更新的客户端行版本号字段;更改前的客户端行版本号上次同步添加的客户端行版本号字段和上次同步更新的客户端行版本号字段。
同步模块2用于根据中心行版本号表和客户端行版本号表,同步客户端数据库和中心数据库中对应的需要同步的表。具体的,当客户端数据库向中心数据库上传数据时,同步模块2还用于根据更改后的客户端行版本号和更改前的客户端行版本号,将客户端数据库中更改后的客户端行版本号和更改前的客户端行版本号之间对应的数据上传到中心数据库中的需要同步的表中。当客户端数据库从中心数据库下载数据时,同步模块2还用于根据更改后的中心行版本号,将中心数据库中更改后的中心行版本号对应的数据下载到客户端数据库中的需要同步的表中。
增加模块3用于在需要同步的表中增加行版本号字段和更改的客户端地址字段。
具体而言,本实施例中的建表模块1、同步模块2和增加模块3具体工作原理可以参见本发明数据库同步方法实施例的记载,在此不再赘述。
本实施例数据库同步装置,通过在中心数据库和客户端数据库中对应建立中心行版本号表和客户端行版本号表,可以在中心行版本号表和客户端行版本号表对应保存需要同步的表的相应信息,当中心数据库与客户端数据库进行数据同步时,根据所述中心行版本号表和所述客户端行版本号表中的内容准确的将更改后的数据进行同步,而有效的避免出现数据重复同步的现象,通过数据库同步方法减少了数据库同步时出现数据混乱的现象,并提高了同步效率。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数据库同步方法,其特征在于,包括:
在中心数据库中建立中心行版本号表,并在各个客户端数据库中对应建立客户端行版本号表;所述中心行版本号表保存有需要同步的表的名称、更改后的中心行版本号,所述客户端行版本号表保存有需要同步的表的名称、更改后的客户端行版本号、更改前的客户端行版本号和所述更改后的中心行版本号;
根据所述中心行版本号表和所述客户端行版本号表,同步所述客户端数据库和所述中心数据库中对应的需要同步的表。
2.根据权利要求1所述的数据库同步方法,其特征在于,在所述在中心数据库中建立中心行版本号表,并在各个客户端数据库中对应建立客户端行版本号表之前还包括:
在需要同步的表中增加行版本号字段和更改的客户端地址字段。
3.根据权利要求2所述的数据库同步方法,其特征在于,当所述客户端数据库向所述中心数据库上传数据时,所述根据所述中心行版本号表和所述客户端行版本号表,同步所述客户端数据库和所述中心数据库中的需要同步的表,具体为:
根据所述更改后的客户端行版本号和所述更改前的客户端行版本号,将所述客户端数据库中所述更改后的客户端行版本号和所述更改前的客户端行版本号之间对应的数据上传到所述中心数据库中的需要同步的表中。
4.根据权利要求2所述的数据库同步方法,其特征在于,当所述客户端数据库从所述中心数据库下载数据时,所述根据所述中心行版本号表和所述客户端行版本号表,同步所述客户端数据库和所述中心数据库中的需要同步的表,具体为:
根据所述更改后的中心行版本号,将所述中心数据库中所述更改后的中心行版本号对应的数据下载到所述客户端数据库中的需要同步的表中。
5.根据权利要求1-4任一所述的数据库同步方法,其特征在于,所述更改后的中心行版本号包括当前添加的中心行版本号字段和当前更新的中心行版本号字段;
所述更改后的客户端行版本号包括当前添加的客户端行版本号字段和当前更新的客户端行版本号字段;
所述更改前的客户端行版本号包括上次同步添加的客户端行版本号字段和上次同步更新的客户端行版本号字段。
6.一种数据库同步装置,其特征在于,包括:
建表模块,用于在中心数据库中建立中心行版本号表,并在各个客户端数据库中对应建立客户端行版本号表;所述中心行版本号表保存有需要同步的表的名称、更改后的中心行版本号,所述客户端行版本号表保存有需要同步的表的名称、更改后的客户端行版本号、更改前的客户端行版本号和所述更改后的中心行版本号;
同步模块,用于根据所述中心行版本号表和所述客户端行版本号表,同步所述客户端数据库和所述中心数据库中对应的需要同步的表。
7.根据权利要求6所述的数据库同步装置,其特征在于,还包括:
增加模块,用于在需要同步的表中增加行版本号字段和更改的客户端地址字段。
8.根据权利要求7所述的数据库同步装置,其特征在于,当所述客户端数据库向所述中心数据库上传数据时,所述同步模块还用于根据所述更改后的客户端行版本号和所述更改前的客户端行版本号,将所述客户端数据库中所述更改后的客户端行版本号和所述更改前的客户端行版本号之间对应的数据上传到所述中心数据库中的需要同步的表中。
9.根据权利要求7所述的数据库同步装置,其特征在于,当所述客户端数据库从所述中心数据库下载数据时,所述同步模块还用于根据所述更改后的中心行版本号,将所述中心数据库中所述更改后的中心行版本号对应的数据下载到所述客户端数据库中的需要同步的表中。
10.根据权利要求6-9任一所述的数据库同步装置,其特征在于,所述更改后的中心行版本号包括当前添加的中心行版本号字段和当前更新的中心行版本号字段;
所述更改后的客户端行版本号包括当前添加的客户端行版本号字段和当前更新的客户端行版本号字段;
所述更改前的客户端行版本号包括上次同步添加的客户端行版本号字段和上次同步更新的客户端行版本号字段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106160519A CN102063494A (zh) | 2010-12-31 | 2010-12-31 | 数据库同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106160519A CN102063494A (zh) | 2010-12-31 | 2010-12-31 | 数据库同步方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102063494A true CN102063494A (zh) | 2011-05-18 |
Family
ID=43998769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010106160519A Pending CN102063494A (zh) | 2010-12-31 | 2010-12-31 | 数据库同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102063494A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324716A (zh) * | 2013-06-25 | 2013-09-25 | 四川九洲电器集团有限责任公司 | 一种基于安卓系统的应用程序数据库更新方法 |
CN103532920A (zh) * | 2012-07-06 | 2014-01-22 | 腾讯科技(深圳)有限公司 | cookie更新方法以及cookie更新系统 |
WO2015196962A1 (en) * | 2014-06-24 | 2015-12-30 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for detecting changed data |
WO2017114111A1 (zh) * | 2015-12-31 | 2017-07-06 | 语联网(武汉)信息技术有限公司 | 分布式系统异步式数据同步的方法 |
CN108197268A (zh) * | 2018-01-04 | 2018-06-22 | 国网福建省电力有限公司 | 数据中心分析域数据同步优化提升方法 |
CN108920522A (zh) * | 2018-06-04 | 2018-11-30 | 上海点融信息科技有限责任公司 | 用于数据库的数据处理方法、系统及计算机可读存储介质 |
CN110543469A (zh) * | 2019-08-28 | 2019-12-06 | 贝壳技术有限公司 | 一种数据库版本管理方法及服务器 |
CN113556371A (zh) * | 2020-04-26 | 2021-10-26 | 深信服科技股份有限公司 | 一种数据同步方法、系统、设备及计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064630A (zh) * | 2006-04-24 | 2007-10-31 | 华为技术有限公司 | 一种数据同步方法及系统 |
-
2010
- 2010-12-31 CN CN2010106160519A patent/CN102063494A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064630A (zh) * | 2006-04-24 | 2007-10-31 | 华为技术有限公司 | 一种数据同步方法及系统 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103532920A (zh) * | 2012-07-06 | 2014-01-22 | 腾讯科技(深圳)有限公司 | cookie更新方法以及cookie更新系统 |
CN103532920B (zh) * | 2012-07-06 | 2018-01-23 | 腾讯科技(深圳)有限公司 | cookie更新方法以及cookie更新系统 |
CN103324716A (zh) * | 2013-06-25 | 2013-09-25 | 四川九洲电器集团有限责任公司 | 一种基于安卓系统的应用程序数据库更新方法 |
CN103324716B (zh) * | 2013-06-25 | 2016-08-10 | 四川九洲电器集团有限责任公司 | 一种基于安卓系统的应用程序数据库更新方法 |
WO2015196962A1 (en) * | 2014-06-24 | 2015-12-30 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for detecting changed data |
US10540600B2 (en) | 2014-06-24 | 2020-01-21 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for detecting changed data |
WO2017114111A1 (zh) * | 2015-12-31 | 2017-07-06 | 语联网(武汉)信息技术有限公司 | 分布式系统异步式数据同步的方法 |
CN108197268A (zh) * | 2018-01-04 | 2018-06-22 | 国网福建省电力有限公司 | 数据中心分析域数据同步优化提升方法 |
CN108920522A (zh) * | 2018-06-04 | 2018-11-30 | 上海点融信息科技有限责任公司 | 用于数据库的数据处理方法、系统及计算机可读存储介质 |
CN110543469A (zh) * | 2019-08-28 | 2019-12-06 | 贝壳技术有限公司 | 一种数据库版本管理方法及服务器 |
CN113556371A (zh) * | 2020-04-26 | 2021-10-26 | 深信服科技股份有限公司 | 一种数据同步方法、系统、设备及计算机可读存储介质 |
CN113556371B (zh) * | 2020-04-26 | 2022-09-30 | 深信服科技股份有限公司 | 一种数据同步方法、系统、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102063494A (zh) | 数据库同步方法及装置 | |
CN102426611B (zh) | 一种数据库同步方法及装置 | |
AU2010265607B2 (en) | Method for finding, updating and synchronizing modified record item and data synchronizing device | |
CN103136200B (zh) | 数据更新信息获取方法、装置及数据同步方法、装置 | |
CN102857570A (zh) | 文件的云同步方法及云存储服务器 | |
CN103914458A (zh) | 一种海量数据迁移的方法及装置 | |
CN103581231A (zh) | Ugc主备数据同步方法及其系统 | |
CN102984357B (zh) | 一种联系人信息管理方法及装置 | |
CN102811260A (zh) | 文件云同步系统及方法 | |
CN105701218A (zh) | 实现不同终端在数据库上进行数据同步的方法 | |
CN105900093A (zh) | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 | |
CN110597821B (zh) | 数据仓库表结构变更方法及装置 | |
CN103188305A (zh) | 一种多线程断点续传方法及系统 | |
CN105447105A (zh) | 基于NoSQL的分布式物联网数据的单字段区间索引查询方式 | |
CN104219639A (zh) | 一种显示短信记录的方法和装置 | |
CN104503868B (zh) | 数据同步方法、装置以及系统 | |
CN105447168A (zh) | Mp4格式的碎片文件恢复与重组的方法 | |
CN102291453A (zh) | 一种数据同步的方法及装置 | |
CN109165210A (zh) | 一种集群Hbase数据迁移的方法及装置 | |
CN103593922B (zh) | 提高网络开票系统客户端发票打印速度的方法及系统 | |
CN106161498A (zh) | 一种稿件的多平台发布方法及系统 | |
CN103092768A (zh) | 一种应用系统中数据处理的方法及装置 | |
CN105138562A (zh) | 关系型数据库的数据处理方法及装置 | |
EP2814211A1 (en) | Method and device for displaying conversation information | |
CN103117883B (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110518 |