[發明專利]讀寫分離方法、裝置及服務器在審
| 申請號: | 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.szxzyx.cn/pat/books/202110340981.4/1.html,轉載請聲明來源鉆瓜專利網。





