一种数据同步方法与装置制造方法及图纸

技术编号:20045066 阅读:39 留言:0更新日期:2019-01-09 04:12
本发明专利技术公开了一种数据同步方法与装置包括:配置数据库中间件并使数据库中间件启用表广播机制;使数据库中间件接收数据操纵语言的数据库语句;根据配置判断数据库语句是否需要执行全局表逻辑;当数据库语句需要执行全局表逻辑时,使用表广播机制将数据库语句表广播到所有数据库节点;当数据库语句不需要执行全局表逻辑时,将数据库语句发送到所有数据库节点并执行数据库语句。本发明专利技术提出的数据同步方法与装置能够针对不同数据库节点或不同类型的数据库节点进行数据同步,维持数据库中全局表的数据一致性。

【技术实现步骤摘要】
一种数据同步方法与装置
本专利技术涉及数据库领域,更具体地,特别是指一种数据同步方法与装置。
技术介绍
Mycat是一个开源的分布式数据库系统,是实现了MySQL协议的数据库中间件。前端用户可以把它看作一个数据库代理,用MySQL客户端工具和命令行访问;后端可以用MySQL的原生(Native)协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信。Mycat中的事务主要包括SQL不跨分片事务和SQL跨分片事务。对于SQL不跨分片事务,SQL语句仅在一个数据节点上执行,此时Mycat事务模式与标准的数据库事务模式完全一致,提交和回滚否能够保证强一致性。对于SQL跨分片事务,首先事务内的SQL在各自的分片上执行并返回状态码,若某个分片上的返回码为错误(error),则Mycat认为事务失败,应用端回滚(Rollback)事务,Mycat收到回滚指令后,依次回滚事务中涉及到的所有分片;若事务中的所有SQL的执行都返回成功(OK)的返回码,则应用程序提交事务,由Mycat同时向事务中涉及到的节点发送提交事务的指令(Commit),在COMMIT时若某个节点出错,M本文档来自技高网...

【技术保护点】
1.一种数据同步方法,其特征在于,应用于数据库,包括以下步骤:配置数据库中间件并使所述数据库中间件启用表广播机制;使所述数据库中间件接收数据操纵语言的数据库语句;根据所述配置判断所述数据库语句是否需要执行全局表逻辑;当所述数据库语句需要执行所述全局表逻辑时,使用所述表广播机制将所述数据库语句表广播到所有数据库节点;当所述数据库语句不需要执行所述全局表逻辑时,将所述数据库语句发送到所述所有数据库节点并执行所述数据库语句。

【技术特征摘要】
1.一种数据同步方法,其特征在于,应用于数据库,包括以下步骤:配置数据库中间件并使所述数据库中间件启用表广播机制;使所述数据库中间件接收数据操纵语言的数据库语句;根据所述配置判断所述数据库语句是否需要执行全局表逻辑;当所述数据库语句需要执行所述全局表逻辑时,使用所述表广播机制将所述数据库语句表广播到所有数据库节点;当所述数据库语句不需要执行所述全局表逻辑时,将所述数据库语句发送到所述所有数据库节点并执行所述数据库语句。2.根据权利要求1所述的方法,其特征在于,所述表广播机制包括:在所述所有数据库节点中确定一个数据库主节点,并将其他数据库节点确定为数据库从节点;使所述数据库中间件向所述数据库主节点发送关于所述数据库语句的广播;使所述数据库主节点将所述数据库语句表广播到所有所述数据库从节点。3.根据权利要求2所述的方法,其特征在于,使所述数据库主节点将所述数据库语句表广播到所有所述数据库从节点包括:使所述数据库主节点保存包括所述数据库语句的二进制消息文件,并向所有所述数据库从节点推送所述二进制消息文件;使所有所述数据库从节点通过专用的工作线程将所述二进制消息文件转存到所有所述数据库从节点各自的中继文件中;使所述数据库主节点和所有所述数据库从节点各自根据所述二进制消息文件和各自的所述中继文件来执行所述数据库语句。4.根据权利要求3所述的方法,其特征在于,在每个所述数据库从节点将所述二进制消息文件转存到...

【专利技术属性】
技术研发人员:王文庆杜彦魁
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1