The present invention provides a system and source data and target data synchronization device and database synchronization method, based on the source data in the source table monitoring, the source tables in source data operation and data manipulation language of the source only added to the source table and index table based on the corresponding intermediate, met in synchronous conditions, in the middle of the table in the source records according to the unique index in search of the source tables related to synchronization of the source data, and to the source table corresponding to the target database in the target table sent with a unique index source synchronous message, according to the synchronous message search in the target table and synchronization; the synchronization process not completed in archive mode, to ensure the performance of the database, save disk space.
【技术实现步骤摘要】
数据库同步方法及系统、源数据和目标数据同步装置
本专利技术涉及数据库领域,尤其涉及一种数据库同步方法及系统、源数据和目标数据同步装置。
技术介绍
目前有多种实现oracle数据库同步的方法,包括dataguard、stream、goldengate等成熟技术实现。在以上数据库同步技术中,均属于在oracle归档模式下完成,基于挖掘oracle归档日志或者redo日志完成数据同步。而oracle开启归档模式对数据库磁盘空间有一定要求,且需要配置定期的清理机制清理归档。而且,以上技术适用于大型的多数据量的同步,对于一些特定场景的数据库同步,可能没有条件采用上述技术实现数据同步,在归档开启后,数据库性能与磁盘空间会受到限制,尤其越是数据量大的数据库这个问题越严重。
技术实现思路
本专利技术提供了一种数据库同步方法及系统、源数据和目标数据同步装置,解决了现有技术中因数据库同步在归档模式下完成而导致的数据库性能不佳,磁盘空间受限的问题。为解决上述技术问题,本专利技术提供了一种数据库同步方法,包括如下步骤:对源数据库中的源表进行监测;当监测到所述源表中的某一部分源数据发生基于数据操纵语言的操作时,将这部分源数据对应的源唯一索引添加到与所述源表对应的中间表中;在第一同步条件满足后,根据所述中间表中的源唯一索引在所述源表中确定出待同步源数据,并向目标库中对应目标表发送至少包含所述待同步源数据对应的源唯一索引的同步消息。进一步的,一个所述源表唯一对应一个所述中间表;所述第一同步条件包括:到达预设的时间和/或所述中间表累计的数量达到预设的阈值。进一步的,所述源唯一索引包括所述源表 ...
【技术保护点】
一种数据库同步方法,其特征在于,包括如下步骤:对源数据库中的源表进行监测;当监测到所述源表中的某一部分源数据发生基于数据操纵语言的操作时,将这部分源数据对应的源唯一索引添加到与所述源表对应的中间表中;在第一同步条件满足后,根据所述中间表中的源唯一索引在所述源表中确定出待同步源数据,并向目标库中对应目标表发送至少包含所述待同步源数据对应的源唯一索引的同步消息。
【技术特征摘要】
1.一种数据库同步方法,其特征在于,包括如下步骤:对源数据库中的源表进行监测;当监测到所述源表中的某一部分源数据发生基于数据操纵语言的操作时,将这部分源数据对应的源唯一索引添加到与所述源表对应的中间表中;在第一同步条件满足后,根据所述中间表中的源唯一索引在所述源表中确定出待同步源数据,并向目标库中对应目标表发送至少包含所述待同步源数据对应的源唯一索引的同步消息。2.如权利要求1所述的数据库同步方法,其特征在于,一个所述源表唯一对应一个所述中间表;所述第一同步条件包括:到达预设的时间和/或所述中间表累计的数量达到预设的阈值。3.如权利要求1所述的数据库同步方法,其特征在于,所述源唯一索引包括所述源表中的源数据对应的主键值。4.如权利要求1至3任一项所述的数据库同步方法,其特征在于,所述在源表中确定出待同步源数据,并向目标库中对应目标表发送至少包含所述待同步源数据的源唯一索引的同步消息包括:判断所述源唯一索引在所述源表中是否存在;若否,则在所述同步消息中仅包含所述源唯一索引;若是,则提取所述源唯一索引对应的源数据作为待同步数据,并加入所述同步消息中。5.如权利要求1至3任一项所述的数据库同步方法,其特征在于,在所述对源数据库中的源表进行监测之前,还包括:判断所述源表的数据量级是否小于预设的数量级阈值;若是,则在第二同步条件满足后,将所述源表当前的所有源数据和对应的源唯一索引发送给所述目标表进行同步匹配。6.如权利要求5所述的数据库同步方法,其特征在于,所述同步匹配包括:基于merge语句进行匹配同步。7.一种数据库同步方法,其特征在于,包括如下步骤:接收来自源数据库中的源表的同步消息,所述同步消息至少包括发生基于数据操纵语言的操作的待同步源数据对应的源唯一索引;从所述同步消息中提取出所述源唯一索引;根据所述源唯一索引在目标库的对应的目标表中查找对应的目标唯一索引,并根据查找结果和所述同步消息进行同步操作。8.如权利要求7所述的数据库同步方法,其特征在于,所述根据查找结果和同步消息进行同步操作包括:当查找结果为所述目标表中存在与所述源唯一索引对应的目标唯一索引,而所述同步消息中仅包含所述源唯一索引时,删除所述目标表中的所述目标唯一索引及对应的目标数据;当查找结果为所述目标表中存在与所述源唯一索引对应的目标唯一索引,且所述同步消息中包含所述源唯一索引和对应的待同步源数据时,则用所述待同步源数据更新所述目标表中与目标唯一索引对应的目标数据;当查找结果为所述目标表中不存在与所述源唯一索引对应的目标唯一索引,且所述同步消息中包含所述源唯一索引和对应的待同步源数据时,则将所述源唯一索引和对应的待同步源数据插入所述目标表中。9.一种数据库同步方法,其特征在于,包括如下步骤:对源数据库中的源表的数据进行监测;当监测到所述源表中的某一部分源数据发生基于数据操纵语言的操作时,将这部分源数据对应的源唯一索引添加到与所述源表对应的中间表中;在第一同步条件满足后,根据所述中间表中的源唯一索引在所述源表中确定出待同步源数据,并向目标库中对应目标表发送至少包含所述待同步源数据对应的源唯一索引的同步消息;从所述同步消息中提取出所述源唯一索引;根据所述源唯一索引在所述目标表中查找对应的目标唯一索引,并根据...
【专利技术属性】
技术研发人员:于维贺,
申请(专利权)人:中兴通讯股份有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。