[發明專利]數據庫緩存實現方法及其系統有效
| 申請號: | 201710182550.3 | 申請日: | 2017-03-24 |
| 公開(公告)號: | CN107038222B | 公開(公告)日: | 2020-02-28 |
| 發明(設計)人: | 劉德建;陳銘;陳紅和;鐘良德;郭玉湖 | 申請(專利權)人: | 福建天泉教育科技有限公司 |
| 主分類號: | G06F16/2455 | 分類號: | G06F16/2455;G06F16/242;G06F16/2453;G06F16/23 |
| 代理公司: | 福州市博深專利事務所(普通合伙) 35214 | 代理人: | 林志崢 |
| 地址: | 350212 福建省福州市長樂*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據庫 緩存 實現 方法 及其 系統 | ||
本發明公開了一種數據庫緩存實現方法及其系統,方法包括:在傳輸層創建監聽器;監聽器捕獲SQL語句,并分析得到所述SQL語句對應的操作類型、表名和條件;若所述SQL語句對應的操作類型為查詢操作,則判斷是否存在所述SQL語句對應的緩存;若否,則根據所述SQL語句對應的表名和條件,生成所述SQL語句對應的緩存并返回數據庫查詢結果;若是,則根據所述SQL語句對應的表名和條件,更新所述SQL語句對應的緩存并返回數據庫查詢結果,或根據所述SQL語句對應的緩存返回緩存結果。本發明通過解析SQL語句預判用戶的行為,在有效提升服務器性能的同時實現產品的零開發、維護成本。
技術領域
本發明涉及數據庫緩存技術領域,尤其涉及一種數據庫緩存實現方法及其系統。
背景技術
一個項目在初始階段,為了盡快將產品推向市場,團隊無法投入太多精力在性能優化上。然而當產品獲得市場認可后,伴隨的是用戶數量的爆發式增長,日益增長的用戶給后端數據庫帶來了巨大的壓力。這時大部分團隊會使用硬件擴容方案來解決服務端性能問題,但是當硬件擴容到達一定瓶頸時,開發團隊就需要根據業務邏輯從軟件架構設計出發設計出一套緩存系統,以解決數據庫的壓力。
這種情況下設計出的緩存系統通常只能應用于單獨的軟件產品中,其缺點是通用性差,設計成本、開發成本、調試成本巨大:
a)業務邏輯復雜,需求分析周期長。
要達到緩存的最優效果,緩存的粒度就一定要細。首先是從業務邏輯入手,對所有業務進行拆分細化,然后分析出每個細化后的操作對應的后臺數據操作,根據該數據的讀寫比以及團隊特點決定是否做緩存。這要求至少一位熟悉全局業務以及系統架構的資深人員進行長期的持續投入。
b)開發周期長,人員投入多。
在分析出性能瓶頸后,開發部門需要制定緩存更新策略,然后在已經穩定的業務代碼中添加緩存功能。有時由于修改接口甚至導致外部相關系統的級聯更新,進一步增加了軟件的開發成本。
c)增加調試成本,問題難以發現。
對舊代碼的大量修改極大增加系統的風險,同時也增加了QA人員的投入。此外,由于數據庫數據系統和緩存系統本身是不同步的,這就導致出現臟數據時難以定位問題。特別是在大型應用中,一份數據有時不止一個更新入口,就導致臟數據的幾率非常高。
發明內容
本發明所要解決的技術問題是:提出一種數據庫緩存實現方法及其系統,可有效提升數據庫服務器的性能,同時降低開發維護的成本。
為了解決上述技術問題,本發明采用的技術方案為:一種數據庫緩存實現方法,包括:
在傳輸層創建監聽器;
監聽器捕獲SQL語句,并分析得到所述SQL語句對應的操作類型、表名和條件;
若所述SQL語句對應的操作類型為查詢操作,則判斷是否存在所述SQL語句對應的緩存;
若否,則根據所述SQL語句對應的表名和條件,生成所述SQL語句對應的緩存并返回數據庫查詢結果;
若是,則根據所述SQL語句對應的表名和條件,更新所述SQL語句對應的緩存并返回數據庫查詢結果,或根據所述SQL語句對應的緩存返回緩存結果。
本發明還涉及一種數據庫緩存實現系統,包括:
創建模塊,用于在傳輸層創建監聽器;
捕獲模塊,用于監聽器捕獲SQL語句,并分析得到所述SQL語句對應的操作類型、表名和條件;
第一判斷模塊,用于若所述SQL語句對應的操作類型為查詢操作,則判斷是否存在所述SQL語句對應的緩存;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于福建天泉教育科技有限公司,未經福建天泉教育科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710182550.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種地鐵施工安全吊物裝置
- 下一篇:一種便于物料固定的起吊架





