[發明專利]一種數據庫接口的結果集緩存方法有效
| 申請號: | 201110439878.1 | 申請日: | 2011-12-23 |
| 公開(公告)號: | CN102542034A | 公開(公告)日: | 2012-07-04 |
| 發明(設計)人: | 李健;羅樂;曾文旌;趙平仲;劉淼;白蕓 | 申請(專利權)人: | 北京人大金倉信息技術股份有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京汲智翼成知識產權代理事務所(普通合伙) 11381 | 代理人: | 陳曦;郭亞芳 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據庫 接口 結果 緩存 方法 | ||
技術領域
本發明涉及一種結果集緩存方法,尤其涉及一種利用數據庫接口實現、可以有效降低數據庫服務器壓力的結果集緩存方法,屬于數據庫應用技術領域。
背景技術
隨著用戶群的不斷增多,對信息系統的訪問也越來越多。數據庫的查詢量必然會大大增加,而信息系統會隨著訪問量的增長而變得越來越慢,從而需要投入更多的資金進行軟硬件的升級。造成這樣的原因是,用戶的每次查詢請求,信息系統都通過在數據庫中進行相應的查找、數據計算等操作,然后將結果返回。查詢量增加,信息系統的數據處理量也隨之線性增加。
為了減輕數據庫服務器的訪問壓力,有人研發了數據庫服務器數據緩存技術。該緩存技術的作用是臨時存儲用戶經常訪問的數據,緩存中的數據是數據存儲源中數據的拷貝,當用戶再次訪問已經進行了臨時存儲的數據時便可以直接返回該數據,而無需再從數據庫服務器中獲取該數據,由此降低數據庫服務器的負擔。緩存技術的實現不僅需要作為物理介質的硬件,還需要管理緩存的并發訪問和過期等策略的軟件,因此緩存技術的實現是軟硬件共同完成的。
目前,為了應對繁重的客戶端查詢請求,應用開發商專門建立查詢服務器來分離這些查詢請求。比如一些火車票或飛機票的查票系統,在內部業務上采用Oracle數據庫進行處理,而外部使用MySQL的集群作為查詢服務器供用戶查詢。在專利號為ZL?200710013409.7的中國發明專利中,針對歷史性數據、存儲后不變化、相同數據多次查詢的特點,提供一種能夠基于文件系統緩存的數據加速查詢方法。該方法是通過將歷史查詢數據保存,利用歷史查詢數據作為查詢緩存數據進行的加速查詢方法。在系統接收用戶查詢請求之后,先轉到查詢分析器,查詢分析器的主要作用是分析查詢條件,規劃查詢條件等,然后經過文件緩沖器,分析現有的結果數據文件中是否存在滿足當前查詢需求,沒有則從數據庫中進行查詢,并將最終的結果文件返回給數據處理器,數據處理器按照最終的查詢要求,對數據進行過濾、排序等處理,將結果文件返回上層應用系統。
發明內容
針對現有技術所存在的不足,本發明所要解決的技術問題在于提供一種數據庫接口的結果集緩存方法。該方法能夠有效減輕數據庫的查詢壓力。
為實現上述的發明目的,本發明采用下述的技術方案:
一種數據庫接口的結果集緩存方法,其特征在于:
創建內存區域,作為緩存存放結果集;
在收到查詢請求之后,查看緩存中結果集是否存在;
如果有結果集且有效,則返回結果集;如果緩存中無結果集或結果集無效,則將查詢請求發送給數據庫,獲取新的查詢結果集并將新的查詢結果集保存到所述緩存中。
其中較優地,所述作為緩存存放結果集的步驟包括:
初始化所述緩存的空間;
在保存新的結果集時,判斷緩存是否已滿,如果緩存已滿則驅逐緩存中的舊的結果集,如果緩存未滿則保存新的結果集。
其中較優地,所述驅逐緩存的步驟包括:
采用直方圖的方式選出一定數量的樣本;
再以緩存比較算法挑選出結果集,驅逐一個結果集。
其中較優地,進一步包括以下步驟:
步驟41,客戶端有新的查詢請求,查詢步驟開始,進入步驟42;
步驟42,根據步驟41的查詢請求,判斷要查詢的結果集是否在緩存之中,如果在緩存之中,轉入步驟43,如果要查詢的結果集不在緩存之中,跳轉入步驟45;
步驟43,根據緩存中的結果集判斷該結果集是否失效,如果已失效轉入步驟44,如果沒有失效直接跳轉入步驟45;
步驟44,將客戶端查詢請求發送給數據庫,查詢流程結束;
步驟45,將結果集返回給客戶端,查詢流程結束。
其中較優地,還包括以下步驟:
周期性掃描緩存,驅逐超過緩存失效時間的結果集。
其中較優地,所述緩存設定有緩存最大數量,緩存失效時間,緩存比較算法;
其中,緩存最大數量是允許存放在緩存中的結果集的最大數量;緩存失效時間是結果集保存在緩存中的最長時間;緩存比較算法是采用一種緩存置換策略決定兩條結果集的優先級別的算法。
其中較優地,在緩存中,以查詢語句作為關鍵碼,結果集作為值,以哈希表的方式保存查詢結果的結果集。
本發明所提供的結果集緩存方法使用接口端的緩存技術來減少與數據庫的交互,減輕了數據庫的壓力。在一些對數據一致性要求不高,或者短時間內數據不發生變化并且重復查詢比較多的場景下,采用本方法能有效降低成本。
附圖說明
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京人大金倉信息技術股份有限公司,未經北京人大金倉信息技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110439878.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種干濕分離式垃圾桶
- 下一篇:一種垃圾桶





