[发明专利]一种数据同步方法与装置在审
申请号: | 201810919871.1 | 申请日: | 2018-08-14 |
公开(公告)号: | CN109165258A | 公开(公告)日: | 2019-01-08 |
发明(设计)人: | 王文庆;杜彦魁 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F9/54 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 张涛 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据库语句 数据库节点 数据同步 全局表 数据库中间件 广播机制 配置数据库 数据一致性 接收数据 中间件 数据库 广播 配置 语言 | ||
1.一种数据同步方法,其特征在于,应用于数据库,包括以下步骤:
配置数据库中间件并使所述数据库中间件启用表广播机制;
使所述数据库中间件接收数据操纵语言的数据库语句;
根据所述配置判断所述数据库语句是否需要执行全局表逻辑;
当所述数据库语句需要执行所述全局表逻辑时,使用所述表广播机制将所述数据库语句表广播到所有数据库节点;
当所述数据库语句不需要执行所述全局表逻辑时,将所述数据库语句发送到所述所有数据库节点并执行所述数据库语句。
2.根据权利要求1所述的方法,其特征在于,所述表广播机制包括:
在所述所有数据库节点中确定一个数据库主节点,并将其他数据库节点确定为数据库从节点;
使所述数据库中间件向所述数据库主节点发送关于所述数据库语句的广播;
使所述数据库主节点将所述数据库语句表广播到所有所述数据库从节点。
3.根据权利要求2所述的方法,其特征在于,使所述数据库主节点将所述数据库语句表广播到所有所述数据库从节点包括:
使所述数据库主节点保存包括所述数据库语句的二进制消息文件,并向所有所述数据库从节点推送所述二进制消息文件;
使所有所述数据库从节点通过专用的工作线程将所述二进制消息文件转存到所有所述数据库从节点各自的中继文件中;
使所述数据库主节点和所有所述数据库从节点各自根据所述二进制消息文件和各自的所述中继文件来执行所述数据库语句。
4.根据权利要求3所述的方法,其特征在于,在每个所述数据库从节点将所述二进制消息文件转存到对应的所述中继文件中后,所述专用的工作线程在所述二进制消息文件中进行记录;在所述二进制消息文件中记录所有所述数据库从节点都已经进行转存后,所述数据库主节点向所有所述数据库从节点发送执行所述数据库语句的广播。
5.根据权利要求3所述的方法,其特征在于,在所述专用的工作线程不能读取所述二进制消息文件时,相应的所述数据库从节点进入休眠并等待新的广播。
6.根据权利要求3所述的方法,其特征在于,所述专用的工作线程以串行的方式将所述二进制消息文件写入对应的所述中继文件。
7.根据权利要求1所述的方法,其特征在于,判断所述数据库语句是否需要执行所述全局表逻辑包括:
判断所述数据库语句的类型是否为以下之一:插入、更新、删除,如是则继续;
判断所述数据库语句的对象表类型是否为全局表,如是则继续;
判断所述数据库语句是否配置为启用单节点插入,如是则判定需要执行所述全局表逻辑,否则判定不需要。
8.根据权利要求1所述的方法,其特征在于,配置所述数据库中间件包括:
向所述数据库中间件中的配置文件中加入判断表类型的表标签;
向所述表标签中加入判断是否启用所述表广播机制的单节点插入属性。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述数据库中间件为Mycat,所述数据库为MySQL。
10.一种数据同步装置,其特征在于,包括处理器和存储器,所述存储器存储有处理器可执行的指令,所述指令在被执行时实现如权利要求1-9任意一项所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810919871.1/1.html,转载请声明来源钻瓜专利网。