[发明专利]一种基于提交点时间线同步的异构数据库复制并行执行系统及方法在审
申请号: | 201611238009.1 | 申请日: | 2016-12-28 |
公开(公告)号: | CN106777270A | 公开(公告)日: | 2017-05-31 |
发明(设计)人: | 彭明田;付铨;孙峰;王尧;陈琦;周英飚 | 申请(专利权)人: | 中国民航信息网络股份有限公司;武汉达梦数据库有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 湖北武汉永嘉专利代理有限公司42102 | 代理人: | 张惠玲 |
地址: | 100105 北京市朝阳*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 提交 时间 同步 数据库 复制 并行 执行 系统 方法 | ||
技术领域
本发明涉及一种异构数据库复制并行执行方法,尤指一种基于提交点时间线同步的异构数据库复制并行执行系统及方法。
背景技术
随着企业信息化系统的广泛应用,信息化系统已经成为企业维持业务运转的关键。企业多样化的业务类型导致数据访问需求日趋复杂化,同时数据量的急剧攀升也导致数据库服务器不堪重负。企业迫切需要提高信息系统的可用性,保证业务的连续性,最大限度地减少因灾难或故障所带来的损失。为此,分布式异构数据库的数据复制是一种常用的技术手段。
目前,抽取源数据库的事务日志,获得源数据库的数据操作,包括插入(INSERT)、删除(DELETE)、更新(UPDATE),然后通过网络发送给复制系统的目的端,目的端恢复成原始的SQL语句在目的数据库上执行,是一种常用的数据库复制技术。它具有对源数据库的性能和数据模式影响小,可采用非常灵活的方式配置出各种拓扑结构,支持跨异构的操作系统和数据库平台复制等优点。
恢复后的SQL语句在目的数据库上执行的效率是如上所述的数据复制系统性能的关键,为此需要在目的端并行执行这些语句。然而,目的数据库可以采取各种并发控制机制,不加控制的并行执行将会导致某些语句的执行因为并发控制导致失败,从而破坏目的数据库与源数据库的事务一致性。因此,提供适当的机制,既保证语句执行的高并发性,又确保事务能正确执行,是这种复制系统需要考虑的重要问题。目前存在的一些数据复制系统,例如Oracle的GoldenGate,在执行端是串行执行恢复后的语句,虽然不会导致事务失败,但效率很低。
由此可见,传统的复制系统串行执行的问题,不能适应现代海量数据应用环境下、大规模用户、高并发的复制场景,需要发明新的异构数据库复制并行执行方法及系统。
发明内容
本发明的目的就是要提供一种基于提交点时间线同步的异构数据库复制并行执行系统及方法,在使用日志进行异构数据库复制环境中,利用提交点时间线构成栅栏,和两条时间线之间的所有更新操作互不冲突的特性,在目的端数据库并行执行这些操作,可以显著提高复制效率。其采用基于提交点时间线同步的异构数据库并行复制,解决了目的数据库事务串行执行导致复制效率低下的技术问题。
为实现上述目的,本发明所设计的一种基于提交点时间线同步的异构数据库复制并行执行系统,包括源数据库、目的数据库、复制系统;所述复制系统包括源端和目的端,所述目的端包括负责接收事务日志的日志接收线程,以及负责在目的数据库中并行执行相应数据操作的日志执行线程,所述日志执行线程有多个,所述事务日志包括提交日志和操作日志;所述源端将源数据库中的事务日志转发给目的端的日志接收线程,所述日志接收线程再将收到的事务日志投递给日志执行线程,所述日志执行线程接收并执行事务日志。
一种基于提交点时间线同步的异构数据库复制并行执行方法,包括如下步骤:
1)通过复制系统的源端将源数据库的事务日志转发给目的端;
2)目的端的日志接收线程反复接收从源数据库传来的事务日志,将事务日志缓存在内存中,积累事务日志直到碰到一个提交日志后,从内存中提取此事务的全部事务日志,投递给一个日志执行线程;
3)当日志执行线程接到一个事务的全部事务日志时被激活,如果早于其他日志执行线程所处理事务的提交日志所在时间点,则依次取出全部操作日志,执行操作日志的线程;否则将本次操作日志的线程挂起,等待其他日志执行线程所处理的事务日志执行完毕。
进一步地,所述步骤2中,所述日志接收线程的具体实现过程为:
1.1)日志接收线程接收一条来自于源数据库的事务日志;
1.2)将事务日志缓存在内存之中;
1.3)如果此事务日志不是提交日志,返回步骤1.1;否则,执行步骤1.4;
1.4)选择一个空闲的日志执行线程,将此事务全部的事务日志投递给它,返回步骤1.1;
更进一步地,所述步骤3中,所述日志执行线程的具体实现过程为:
2.1)日志执行线程接收一个事务的全部事务日志后被激活;
2.2)从收到的全部事务日志序列中依次取出一条日志;
2.3)检查活动的其他日志执行线程所执行的提交日志,如果存在其他日志执行线程所执行的提交日志时间早于取出的这条日志,则本执行线程挂起,延时执行步骤2.3);
2.4)执行此事务日志。
实施本发明的基于提交点时间线同步的异构数据库复制并行执行系统及方法,具有以下有益效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国民航信息网络股份有限公司;武汉达梦数据库有限公司,未经中国民航信息网络股份有限公司;武汉达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611238009.1/2.html,转载请声明来源钻瓜专利网。