[发明专利]数据库同步方法及系统有效
申请号: | 201110105007.6 | 申请日: | 2011-04-26 |
公开(公告)号: | CN102129478A | 公开(公告)日: | 2011-07-20 |
发明(设计)人: | 陈宏明;温文全 | 申请(专利权)人: | 广州从兴电子开发有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 赵景平;逯长明 |
地址: | 510300 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库 同步 方法 系统 | ||
技术领域
本发明涉及数据同步技术领域,更具体地说,涉及一种数据库同步方法及系统。
背景技术
在企业生产运营过程中,往往拥有多个系统,而且这些系统之间需要相互配合,部分数据需要在这些系统间共享,因此需要使这些共享数据在不同系统间保持同步。
在现有技术中,由于不同系统的差异以及功能的不同,各系统中数据库的物理结构并非完全一致,为同步这些共享数据通常需要为每个系统编写同步程序。在数据同步过程中,由同步程序对源表数据进行转换,将转换后的数据与目标表中的数据进行比对,然后再对差异部分进行增量同步。这种同步方式由于丢失了最初入表时的事务信息,必须在同步过程中同步对应所有事务的差异部分的数据,否则无法保证事务的完整性。
这种同步方式不仅工作繁琐,而且如果同步数据较多会导致数据库事务过长,不仅会占用较多系统资源,而且有可能造成同步失败。
发明内容
本发明实施例针对现有技术中存在的上述问题,提供一种数据库同步方法及系统,实现不同类型的数据库以及异构数据表之间的数据同步,降低同步过程对系统资源的消耗,保证同步过程的可靠性。
为此,本发明实施例提供如下技术方案:
一种数据库同步方法,包括:
实时捕捉源数据库中数据的变化信息及该数据变化对应的事务,并将捕捉到的变化信息及事务保存到中间数据库中;
根据中间数据库中保存的变化信息确定需要同步的目标数据库;
将所述变化信息转换为对应所述目标数据库的目标数据;
将对应同一事务的所有目标数据同时更新到所述目标数据库中。
优选地,所述实时捕捉源数据库中数据的变化信息及该变化信息对应的事务,并将捕捉到的变化信息及事务保存到中间数据库中包括:
通过访问源数据库的标准接口获得对源数据库的操作信息;
根据所述操作信息生成对应源数据库中数据变化的SQL语句及事务序号;
将所述对应源数据库中数据变化的SQL语句及事务序号保存到中间数据库中。
优选地,所述根据中间数据库中保存的变化信息确定需要同步的目标数据库包括:
根据中间数据库中保存的SQL语句确定对源数据库操作的数据表;
根据配置文件查找使用所述数据表中数据的其他数据库;
将查找到的使用所述数据表中数据的其他数据库作为需要同步的目标数据库。
优选地,所述将所述变化信息转换为对应所述目标数据库的目标数据包括:
根据所述中间数据库中保存的SQL语句,得到对源数据库的操作信息;
根据所述目标数据库的类型及对应该目标数据库的转换规则,将得到的对源数据库的操作信息生成符合目标数据库语法的SQL语句。
优选地,如果需要同步的目标数据库有多个,则分别将对应同一事务的所有目标数据更新到每个目标数据库中。
一种数据同步系统,包括:
捕捉单元,用于实时捕捉源数据库中数据的变化信息及该数据变化对应的事务,并将捕捉到的变化信息及事务保存到中间数据库中;
目标数据库确定单元,用于根据中间数据库中保存的变化信息确定需要同步的目标数据库;
转换单元,用于将所述变化信息转换为对应所述目标数据库的目标数据;
同步管理单元,用于将对应同一事务的所有目标数据同时更新到所述目标数据库中。
优选地,所述捕捉单元包括:
操作信息获取子单元,用于通过访问源数据库的标准接口获得对源数据库的操作信息;
变化信息生成子单元,用于根据所述操作信息生成对应源数据库中数据变化的SQL语句及事务序号;
保存子单元,用于将所述对应源数据库中数据变化的SQL语句及事务序号保存到中间数据库中。
优选地,所述目标数据库确定单元包括:
数据表确定子单元,用于根据中间数据库中保存的SQL语句确定对源数据库操作的数据表;
查找子单元,用于根据配置文件查找使用所述数据表中数据的其他数据库,将查找到的使用所述数据表中数据的其他数据库作为需要同步的目标数据库。
优选地,所述转换单元包括:
操作信息获取子单元,用于根据所述中间数据库中保存的SQL语句,得到对源数据库的操作信息;
目标数据生成子单元,用于根据所述目标数据库的类型及对应该目标数据库的转换规则,将得到的对源数据库的操作信息生成符合目标数据库语法的SQL语句。
优选地,如果需要同步的目标数据库有多个,则所述同步管理单元分别将对应同一事务的所有目标数据更新到每个目标数据库中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州从兴电子开发有限公司,未经广州从兴电子开发有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110105007.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:固性体与弹性体组接结构
- 下一篇:一种永磁直驱式潮流发电装置