[發明專利]一種分布式數據庫讀寫中間件在審
| 申請號: | 201810913576.5 | 申請日: | 2018-08-10 |
| 公開(公告)號: | CN109086432A | 公開(公告)日: | 2018-12-25 |
| 發明(設計)人: | 董津;曹興兵;楊宣志 | 申請(專利權)人: | 納里健康科技有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 310053 浙江省杭州市濱江區江*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 主數據庫 計數表 中間件 讀寫 矯正 分布式數據庫 數據庫分配 數據庫 數據庫操作模塊 指令分析模塊 一致性修正 編程成本 編程習慣 操作指令 讀寫操作 目標操作 輸出執行 數據一致 算法改進 不一致 讀操作 調取 分配 判讀 算法 取出 測試 改進 分析 | ||
本發明公開了一種分布式數據庫讀寫中間件,包括用于對輸入的SQL指令進行分析的指令分析模塊、用于將中間件對目標操作庫和主數據庫中取出矯正計數表的數據進行比較的一致性判讀模塊、用于數據庫分配的數據庫分配模塊、用于對分配的數據庫進行操作的數據庫操作模塊、用于調取數據進行比較的矯正計數表和用于對矯正計數表進行操作,添加計數/輸出執行結果的一致性修正模塊,采用上述技術方案,主要對讀寫操作的算法進行改進,通過算法改進,判斷本次讀操作的數據庫和主數據庫是否數據一致,如果不一致,就自動將操作指令分配到主數據庫進行操作,避免因為編程習慣不當造成的讀寫錯誤風險,杜絕因為臟讀造成的程序bug,降低測試和編程成本。
技術領域
本發明涉及數據處理技術領域,具體指一種分布式數據庫讀寫中間件。
背景技術
目前市面上的高并發分布式數據庫中間件廣泛采用同步復制,然后由中間件分析SQL語句,根據分析結果,將寫指令指定到主數據庫進行操作,將讀指令指定到從的數據庫進行讀操作,從而分攤單機負載壓力,無需程序員在使用使進行數據庫指定。這種中間件雖然無需程序員對操作的數據庫進行指定,能夠很好的利用主從數據庫分擔數據庫操作壓力,但是也存在致命的問題,因為數據庫主從庫之間的同步是基于日志的秒級同步,所以當程序中進行毫秒級的寫操作和馬上進行讀操作這樣的寫法將構成致命的臟讀情況,在程序讀操作時,很可能因為日志復制的延遲,本次讀指令無法讀取到上次剛剛進行的寫操作所修改的數據,而造成數據讀取錯誤。
目前為了避免這樣的情況發生,其做法是對程序員進行人為行為規范,不允許進行寫操作后立刻的讀操作,避免臟讀的發生。而人為約定往往并不能杜絕大項目中的編程習慣不當的失誤,而這樣的失誤往往會造成程序的隱含bug,使得程序出現不確定的錯誤,同時這樣的缺陷往往很難被定位和復現,而造成大量的測試開發差錯成本。
發明內容
本發明根據現有技術的不足,提出一種分布式數據庫讀寫中間件,通過數據計數比較的方法,實現分布式數據庫操作指令的進一步精細化分配,避免出現程序員編程不當造成的臟讀情況。
為了解決上述技術問題,本發明的技術方案為:
一種分布式數據庫讀寫中間件,包括用于對輸入的SQL指令進行分析的指令分析模塊、用于將中間件對目標操作庫和主數據庫中取出矯正計數表的數據進行比較的一致性判讀模塊、用于數據庫分配的數據庫分配模塊、用于對分配的數據庫進行操作的數據庫操作模塊、用于調取數據進行比較的矯正計數表和用于對矯正計數表進行操作,添加計數/輸出執行結果的一致性修正模塊,
其步驟包括:
S1、輸入SQL指令;
S2、通過指令分析模塊對指令進行分析本次操作是讀操作或是寫操作,如果判定是寫操作,則繼續步驟S3,如果判定是讀操作,則繼續步驟S7;
S3、判定是寫操作,由數據庫分配模塊將其分配到主數據庫;
S4、通過一致性修正模塊對矯正計數表進行操作
S5、調用數據庫操作模塊進行操作;
S6、通過一致性修正模塊對矯正計數表再次進行操作,添加計數,輸出執行結果;
S7、判定是讀操作,由一致性判讀模塊從中間件的目標從數據庫和主數據庫中取出矯正計數表的數據進行比較,如果數據一致,繼續步驟S7,如果數據非一致,繼續步驟S9;
S8、數據一致,則通過數據庫分配模塊將讀操作分配到目標從數據庫執行指令,并返回執行結果;
S9、數據不一致,則通過數據庫分配模塊將讀操作分配至目標主數據庫執行指令,并返回執行結果。
作為優選,所述步驟S4具體對主數據庫的矯正計數器進行更新。
作為優選,所述步驟S5具體執行寫操作。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于納里健康科技有限公司,未經納里健康科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810913576.5/2.html,轉載請聲明來源鉆瓜專利網。





