[发明专利]一种基于日志解析同步的并行执行方法和数据同步系统在审
| 申请号: | 202010500197.0 | 申请日: | 2020-06-04 |
| 公开(公告)号: | CN111858505A | 公开(公告)日: | 2020-10-30 |
| 发明(设计)人: | 付铨;孙峰;彭青松;刘启春 | 申请(专利权)人: | 武汉达梦数据库有限公司 |
| 主分类号: | G06F16/17 | 分类号: | G06F16/17;G06F16/178;G06F16/23;G06F16/27 |
| 代理公司: | 深圳市六加知识产权代理有限公司 44372 | 代理人: | 向彬 |
| 地址: | 430000 湖北省武汉市东湖新技术开*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 日志 解析 同步 并行 执行 方法 数据 系统 | ||
本发明公开了一种基于日志解析同步的并行执行方法和数据同步系统,该并行执行方法包括:日志接收线程在获取到提交操作后,将提交操作所属的待执行事务分发至相对应的事务执行线程;从待执行事务中取出待执行操作,事务执行线程获取当前待执行操作的操作类型和当前待执行操作所涉及的对象;根据当前待执行操作的操作类型构造适合于当前待执行操作的目标锁;基于目标锁为当前待执行操作所涉及的对象上锁。在本发明中,通过获取操作的类型以及操作所涉及的对像来构造相应的内部锁,并行执行时,针对存在对像冲突的待执行操作,利用锁机制控制执行的先后顺序,对像名称不冲突的待执行操作则忽略它们之间依赖关系并行执行,从而提升同步的效率。
技术领域
本发明属于数据同步技术领域,更具体地,涉及一种基于日志解析同步的并行执行方法和数据同步系统。
背景技术
传统的基于数据库自身的主备机制实现数据库数据的实时复制,是进行数据容灾备份,保障数据安全的重要的解决方案。目前,例如ORACLE公司的DataGuard和达梦数据库的DM7主备产品都是实现这种解决方案的成熟的商业化产品。数据库主备机制下,一般备机作为备份节点,通常只提供只读访问,可以在备机上做一些报表分析、数据挖掘等只读访问的应用,而不能像主机一样提供读写访问。另外,数据库主备机制要求备机数据库系统和主机一致,对于异构数据库系统环境,则不能利用数据库自身的主备机制实现有效的数据实时复制。
针对数据库主备机制实现数据复制的不足,目前基于软件的异构数据库复制技术应用广泛。这种技术在源端捕获出数据库的增量数据,然后发送到目的端,在目的端通过通用的数据库访问接口,将增量数据应用到目的端数据库,实现数据复制。这种技术因为使用到通用数据库接口,因此支持异构数据库系统复制,支持异构操作系统环境,并且目的端备机数据库系统可读写,是一种“双活”系统。
有多种技术方式实现获取源端数据库的增量数据,其中,基于数据库日志捕获分析的数据实时同步技术,因其对源数据库侵入性小,捕获分析性能高,得到较大发展及研究。这种技术通过分析源数据库归档或联机日志,捕获出数据库的INSERT、UPDATE、DELETE操作日志以及DDL操作日志,然后发送到目的端,目的端对日志信息进行逆向生成,恢复成SQL语句方式,然后使用数据库通用接口,应用到目的端数据库,实现数据复制。因此,在数据库实时复制过程中,目的端的执行效率是影响数据同步性能的重要因素。
在这种基于日志解析的数据同步环境下,针对数据库对像创建和修改的DDL((Data Definition Language,简写为DDL)操作同步效率是一大难点,在日志流中捕获到DDL的SQL(Structured Query Language,简写为SQL)语句对于基于数据库的第三方应用来说,如果想把这些DDL操作在同步时采用并行执行来提升同步效率,需要完成SQL语句的语法分析,从中提取出每个DDL操作中依赖的对像,然后利用对像依赖关系实现DDL操作之间的互斥才能实现在目的端上多个DDL操作并行执行的功能。但由于第三方应用分析源数据库的SQL是非常困难的工作,因为每种数据库除了支持标准的SQL以外,还有它们各自独有的SQL语法,作为一个数据同步的应用要支持解析每个数据库的全部语法几乎是件不可能的事。基于上述原因,目的端同步系统在同步DDL时一般会串行的方式同步DDL,按照每个DDL操作在日志流中的顺序来同步执行,就可以万无一失的保证DDL语句之间执行的先后关系,但是也带来另一个问题,那就是DDL同步性能会比较差。因此,如何在保证DDL同步正确的前提下,提高目的端DDL入库的执行效率,就成为业界亟待解决的重要技术问题。
鉴于此,克服该现有技术产品所存在的不足是本技术领域亟待解决的问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于日志解析同步的并行执行方法和数据同步系统,其目的在于,通过获取当前待执行操作的类型以及当前待执行操作所涉及的对像来构造相应的内部锁,并行执行时,针对存在对像冲突的待执行操作,利用锁机制控制执行的先后顺序,对像名称不冲突的待执行操作则忽略它们之间依赖关系并行执行,从而提升同步的效率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉达梦数据库有限公司,未经武汉达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010500197.0/2.html,转载请声明来源钻瓜专利网。





