[发明专利]一种数据库双向同步方法、同步网元及系统在审
申请号: | 201911374964.1 | 申请日: | 2019-12-27 |
公开(公告)号: | CN111177264A | 公开(公告)日: | 2020-05-19 |
发明(设计)人: | 刘宝国;刘先攀 | 申请(专利权)人: | 青岛聚看云科技有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27 |
代理公司: | 北京弘权知识产权代理事务所(普通合伙) 11363 | 代理人: | 逯长明;许伟群 |
地址: | 266061 山东省青*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 双向 同步 方法 系统 | ||
1.一种数据库双向同步系统,其特征在于,包括:第一数据库、第二数据库、第一同步网元、第二同步网元和同步管理器,所述第一同步网元、第二同步网元分别与所述同步管理器连接,所述第一数据库和所述第二数据库通过所述第一同步网元和所述第二同步网元连接;
所述同步管理器,被配置为分配第一线程ID给所述第一同步网元和所述第二同步网元,其中,第一同步网元的第一线程ID和第二同步网元的第一线程ID相同;
所述第一数据库,被配置为响应于第一数据库的变化,生成第一同步文件,发送第一同步文件到所述第一同步网元,所述第一同步文件包括事务,所述第一同步文件中的事务包括第二线程ID,所述第二线程ID表征第一数据库的变化对应的事务的来源,所述事务的来源包括第二同步网元或其他网元;
所述第一同步网元,被配置为响应于所述第二线程ID和所述第一线程ID不同,根据所述事务,生成可执行文件,所述可以执行文件用于发送给所述第二数据库,所述第二数据库被配置为根据所述可执行文件,改变第二数据库,并根据可执行文件对第二数据库的改变结果,生成第二同步文件,所述第二同步文件包括事务,所述第二同步文件中的事务包括第一线程ID;
所述第一同步网元,还被配置为响应于所述第二线程ID和所述第一线程ID相同,忽略所述事务。
2.根据权利要求1所述的系统,其特征在于,所述第一同步文件为二进制文件,所述二进制文件的格式为row,所述事务包括查询事件、表映射事件、写行事件和XID事件,所述查询事件的头信息包括第二线程ID。
3.根据权利要求2所述的系统,其特征在于,所述第一同步网元被配置为按照以下步骤执行响应于所述第二线程ID和所述第一线程ID不同,根据所述事务,生成可执行文件的操作:
解析出所述事务中的查询事件头信息的第二线程ID;
响应于事务的第二线程ID和同步网元的第一线程ID不同,逐个解析事务中的表映射事件、写行事件和XID事件;
响应于解析XID事件,将所述事件组装成可执行文件。
4.根据权利要求1所述的系统,其特征在于,所述第一同步网元还被配置为按照以下步骤执行建立与第一数据库和第二数据库连接的操作:
响应于同步网元的启动,从同步管理器中获取第一数据库的信息和第二数据库的信息;
根据第一数据库的信息,建立与第一数据库的主从连接;
根据与第二数据库的信息,建立与第二数据库连接;
所述同步管理器,还被配置为存储第一数据库的信息和第二数据库的信息。
5.根据权利要求4所述的系统,其特征在于,所述同步网元,被配置为按照以下步骤执行根据第一数据库的信息,建立与第一数据库的主从连接的操作:
所述第一数据库信息包括数据库地址、数据库用户名和密码;
利用数据库地址,查找到所述第一数据库;
根据数据库用户名和密码,登录第一数据库;
发送建立主从连接的命令到所述第一数据库。
6.根据权利要求4所述的系统,其特征在于,所述第一数据库被配置为按照以下步骤执行响应于第一数据库的变化,生成第一同步文件的操作;
所述第一数据库的信息包括数据库表名;
根据所述数据库表名,筛选出第一数据库中的目标表;
响应于所述目标表的变化,生成第一同步文件。
7.一种同步网元,其特征在于,第一同步网元和第二网元同样为所述第一数据库和第二数据库之间的同步网元,所述第二同步网元和所述第一网元具有相同的第一线程ID;
所述第一同步网元被配置为:接收第一同步文件,所述第一同步文件是第一数据库响应于第一数据库的变化生成的,所述第一同步文件包括事务,所述第一同步文件的事务包括第二线程ID,所述第二线程ID被配置为表征第一数据库的变化对应的可执行文件的来源,所述可执行文件的来源包括所述第二同步网元或其他网元;
响应于所述第二线程ID和所述第一线程ID不同,根据所述事务,生成可执行文件,所述可以执行文件用于发送给所述第二数据库;
响应于所述第二线程ID和所述第一线程ID相同,忽略所述事务。
8.一种数据库双向同步方法,应用于同步网元,其特征在于,包括:
第一同步网元和第二网元同样为所述第一数据库和第二数据库之间的同步网元,所述第二同步网元和所述第一网元具有相同的第一线程ID;
接收第一同步文件,所述第一同步文件是第一数据库响应于第一数据库的变化生成的,所述第一同步文件包括事务,所述第一同步文件的事务包括第二线程ID,所述第二线程ID被配置为表征第一数据库的变化对应的可执行文件的来源,所述可执行文件的来源包括所述第二同步网元或其他网元;
响应于所述第二线程ID和所述第一线程ID不同,根据所述事务,生成可执行文件,所述可以执行文件用于发送给所述第二数据库;
响应于所述第二线程ID和所述第一线程ID相同,忽略所述事务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于青岛聚看云科技有限公司,未经青岛聚看云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911374964.1/1.html,转载请声明来源钻瓜专利网。