[发明专利]一种数据同步方法与装置在审
申请号: | 201810919871.1 | 申请日: | 2018-08-14 |
公开(公告)号: | CN109165258A | 公开(公告)日: | 2019-01-08 |
发明(设计)人: | 王文庆;杜彦魁 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F9/54 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 张涛 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库语句 数据库节点 数据同步 全局表 数据库中间件 广播机制 配置数据库 数据一致性 接收数据 中间件 数据库 广播 配置 语言 | ||
本发明公开了一种数据同步方法与装置包括:配置数据库中间件并使数据库中间件启用表广播机制;使数据库中间件接收数据操纵语言的数据库语句;根据配置判断数据库语句是否需要执行全局表逻辑;当数据库语句需要执行全局表逻辑时,使用表广播机制将数据库语句表广播到所有数据库节点;当数据库语句不需要执行全局表逻辑时,将数据库语句发送到所有数据库节点并执行数据库语句。本发明提出的数据同步方法与装置能够针对不同数据库节点或不同类型的数据库节点进行数据同步,维持数据库中全局表的数据一致性。
技术领域
本发明涉及数据库领域,更具体地,特别是指一种数据同步方法与装置。
背景技术
Mycat是一个开源的分布式数据库系统,是实现了MySQL协议的数据库中间件。前端用户可以把它看作一个数据库代理,用MySQL客户端工具和命令行访问;后端可以用MySQL的原生(Native)协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信。
Mycat中的事务主要包括SQL不跨分片事务和SQL跨分片事务。对于SQL不跨分片事务,SQL语句仅在一个数据节点上执行,此时Mycat事务模式与标准的数据库事务模式完全一致,提交和回滚否能够保证强一致性。对于SQL跨分片事务,首先事务内的SQL在各自的分片上执行并返回状态码,若某个分片上的返回码为错误(error),则Mycat认为事务失败,应用端回滚(Rollback)事务,Mycat收到回滚指令后,依次回滚事务中涉及到的所有分片;若事务中的所有SQL的执行都返回成功(OK)的返回码,则应用程序提交事务,由Mycat同时向事务中涉及到的节点发送提交事务的指令(Commit),在COMMIT时若某个节点出错,Mycat也无法等节点恢复后重新commit,出现部分节点commit而部分节点没有commit的情况。由于跨分片事务的第二阶段无法保证强一致性,因此Mycat是一种弱XA事务模式。
Mycat中有两种典型的表:一种是按照某种给定的分片规则,将数据进行水平切分,把一个大表水平分割成N个小表,存储在后端MySQL服务器或者其他不同的数据库;另一种是全局表,Mycat接收外界发送来的SQL语句,将DML(数据操纵语言)的SQL语句分别发送到各个数据库节点上依次执行。Mycat全局表的DML操作过程如图1所示。若对全局表频繁地进行增删改操作,由于Mycat的弱XA事务机制,频繁操作全局表可能会导致异常情况的发生:某个用户在修改好全局表提交的一瞬间,忽然某个节点出错了,可能会出现某些节点已成功修改而出错节点数据未变更,使得各个节点数据不一致的情况。该问题使整个数据库丧失数据一致性,受可能是难以接收的。
针对现有技术中跨分片事务的弱XA事务机制使得数据库中间件不能保证全局表的数据一致性的问题,目前尚未有有效的解决方案。
发明内容
有鉴于此,本发明实施例的目的在于提出一种数据同步方法与装置,能够针对不同数据库节点或不同类型的数据库节点进行数据同步,维持数据库中全局表的数据一致性。
基于上述目的,本发明实施例的一方面提供了一种数据同步方法,应用于数据库,包括以下步骤:
配置数据库中间件并使数据库中间件启用表广播机制;
使数据库中间件接收数据操纵语言的数据库语句;
根据配置判断数据库语句是否需要执行全局表逻辑;
当数据库语句需要执行全局表逻辑时,使用表广播机制将数据库语句表广播到所有数据库节点;
当数据库语句不需要执行全局表逻辑时,将数据库语句发送到所有数据库节点并执行数据库语句。
在一些实施方式中,表广播机制包括:
在所有数据库节点中确定一个数据库主节点,并将其他数据库节点确定为数据库从节点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810919871.1/2.html,转载请声明来源钻瓜专利网。