[发明专利]读写分离方法、装置及服务器在审
申请号: | 202110340981.4 | 申请日: | 2021-03-30 |
公开(公告)号: | CN113094431A | 公开(公告)日: | 2021-07-09 |
发明(设计)人: | 钱恒;钟靓 | 申请(专利权)人: | 北京达佳互联信息技术有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F9/46 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 韩海花 |
地址: | 100085 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 读写 分离 方法 装置 服务器 | ||
1.一种读写分离方法,其特征在于,包括:
监听到第一服务器发送的读操作请求,确定所述读操作请求所属的第一会话标识Session ID、及所述第一Session ID对应的第一全局事务标识GTID;
获取任一从数据库当前对应的第二GTID;
在所述第二GTID大于所述第一GTID的情况下,将所述读操作发送给所述任一从数据库;
在监听到所述第一服务器发送的写操作请求的情况下,将所述写操作发送给所述主数据库。
2.如权利要求1所述的方法,其特征在于,在所述监听到第一服务器发送的读操作请求之前,还包括:
监听到所述第一服务器发送的建立第一连接的请求,根据当前已建立的各连接对应的各Session ID,确定所述第一连接对应的第一Session ID,其中,所述第一Session ID与其余各Session ID不同;
将所述主数据库当前对应的第一GTID,确定为所述第一Session ID对应的GTID。
3.如权利要求1所述的方法,其特征在于,在所述将所述写操作发送给所述主数据库之后,还包括:
在监听到所述主数据库返回的写操作事务结束消息的情况下,更新所述主数据库及所述第一连接对应的第一GTID。
4.如权利要求1所述的方法,其特征在于,在所述将所述读操作发送给所述任一从数据库连接之后,还包括:
在监听到所述读操作失败的情况下,将所述读操作发送给所述主数据库。
5.如权利要求1所述的方法,其特征在于,在所述获取任一从数据库当前对应的第二GTID之后,还包括:
在所述第二GTID小于所述第一GTID的情况下,将所述读操作发送给所述主数据库。
6.如权利要求1-5任一所述的方法,其特征在于,还包括:
监听到第二服务器发送的建立第二连接的请求,根据当前已建立的各连接对应的各Session ID,确定所述第二连接对应的第二Session ID及第三GTID,其中,所述第三GTID为主数据库当前对应的GTID;
监听到所述第二服务器发送的写操作请求、且所述写操作请求所属的会话标识为第二Session ID的情况下,将所述写操作发送给所述主数据库;
在监听到所述主数据库的写操作事务结束后,更新所述主数据库及所述第二SessionID对应的第三GTID。
7.一种读写分离装置,其特征在于,包括:
第一确定模块,被配置为监听到第一服务器发送的读操作请求,确定所述读操作请求所属的第一会话标识Session ID、及所述第一Session ID对应的第一全局事务标识GTID;
第一获取模块,被配置为获取任一从数据库当前对应的第二GTID;
第一发送模块,被配置为在所述第二GTID大于所述第一GTID的情况下,将所述读操作发送给所述任一从数据库;
第二发送模块,被配置为在监听到所述第一服务器发送的写操作请求的情况下,将所述写操作发送给所述主数据库。
8.一种服务器,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-6中任一项所述的读写分离方法。
9.一种存储介质,当所述存储介质中的指令由服务器的处理器执行时,使得服务器能够执行如权利要求1-6中任一项所述的读写分离方法。
10.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-6中任一所述的读写分离方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京达佳互联信息技术有限公司,未经北京达佳互联信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110340981.4/1.html,转载请声明来源钻瓜专利网。