The invention discloses a method to solve the bidirectional synchronous cycle of data synchronization system of heterogeneous database based on the log, which comprises the following steps: establish special tables in the two-way synchronization database; when incremental data from the source database is transferred to the destination database, first in the destination database to insert a special table data, then the completion of the execution of all the incremental data in the destination database, finally in the destination database manually submit incremental data transaction; incremental data synchronization when the specific operation is as follows: from the log to business unit to get incremental data, check whether the transaction contains a database of B data into the special table B, if this exists and insert data the data source for the A database, it will no longer be incremental data synchronization to the database A; otherwise, the incremental data synchronization to data Library A. The invention not only affects the performance of the database, but also solves the problem of data circulation simply and conveniently by utilizing the atomicity of the transaction.
【技术实现步骤摘要】
一种基于日志的异构数据库同步系统中双向同步数据循环的解决方法
本专利技术涉及数据库同步
,具体涉及一种基于日志的异构数据库同步系统中双向同步数据循环的解决方法。
技术介绍
数据库是IT架构中的一种基础构件,是对数据进行存储、管理的一种有效设施,现在几乎所有的应用都离不开数据库的支持。由于现在海量数据和数据访问地区分布不均衡,单个数据库已经不能承载所有的访问,一般需要在多个不同的地方分别部署一个数据库来提供服务,其中每一个数据库对外界来说都是数据完整和服务完整的,但是事实上每两个数据库之间的数据都是不一致的,所以这些不同地方的数据库之间就需要进行增量数据的同步来保证所有数据库的数据一致性和服务完整性。增量数据是指一个数据库在某一段时间内产生或变化的数据,按照操作类型区分又分为插入数据、删除数据、修改数据,分别对应SQL中insert、delete、update操作。数据库增量同步就是把增量数据从主数据库传输到从数据库中,以达到主从数据库的数据一致性,过程依次如下:获取A数据库的增量数据、传输到B数据库、在B数据库中执行SQL语句进行数据载入。不同地方的活动数据库之间需要进行增量双向同步,即A数据库的增量数据需要同步到B数据库,同时B数据库的增量数据也需要同步到A数据库。增量双向同步过程中会面临数据循环的问题,数据循环问题的产生是因为A数据库的增量数据同步到B数据库之后,这部分增量数据又会成为B数据库的增量数据再次同步到A数据库,然后这部分数据加上B数据库的增量数据又再次成为A数据库的增量数据,以此类推,增量数据就在不断增多、循环过程中。解决增量双向同步 ...
【技术保护点】
一种基于日志的异构数据库同步系统中双向同步数据循环的解决方法,所述异构数据库同步系统包括至少两个能够进行双向同步的数据库,两个数据库进行增量数据传递时,其中一个为提供增量数据的源数据库,另一个为接收增量数据的目的数据库,其特征在于,包括以下步骤:(1)在进行双向同步的数据库中分别建立特殊表,各个特殊表中用于记录所在数据库中增量数据的来源信息;将所有进行双向同步的数据库的事务提交模式设定为手动事务提交模式;(2)当增量数据由源数据库传输到目的数据库时,首先在目的数据库中插入一条特殊表数据,该条特殊表数据记载此次增量数据的来源信息,然后在目的数据库中执行完毕所有增量数据,最后在目的数据库手动提交增量数据事务;(3)若两个能够进行双向同步的数据库分别为数据库A和数据库B,数据库A中建立有特殊表A,数据库B中建立有特殊表B,判断是否需要将数据库B中的增量数据同步至数据库A,具体操作如下:从数据库B的日志中以事务为单位获取增量数据,检查事务中是否包含一条数据库B的特殊表B的插入数据,如果此条插入数据存在且此插入数据显示增量数据的来源为数据库A,则不再将增量数据同步至数据库A;否则,将增量数据同步 ...
【技术特征摘要】
1.一种基于日志的异构数据库同步系统中双向同步数据循环的解决方法,所述异构数据库同步系统包括至少两个能够进行双向同步的数据库,两个数据库进行增量数据传递时,其中一个为提供增量数据的源数据库,另一个为接收增量数据的目的数据库,其特征在于,包括以下步骤:(1)在进行双向同步的数据库中分别建立特殊表,各个特殊表中用于记录所在数据库中增量数据的来源信息;将所有进行双向同步的数据库的事务提交模式设定为手动事务提交模式;(2)当增量数据由源数据库传输到目的数据库时,首先在目的数据库中插入一条特殊表数据,该条特殊表数据记载此次增量数据的来源信息,然后在目的数据库中执行完毕所有增量数据,最后在目的数据库手动提交增量数据事务;(3)若两个能够进行双向同步的数据库分别为数据库A和数据库B,数据库A中建立有特殊表A,数据库B中建立有特殊...
【专利技术属性】
技术研发人员:李莹,姚祥龙,尹建伟,邓水光,吴健,吴朝晖,
申请(专利权)人:浙江大学,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。