[發明專利]一種動態調整緩存熱點數據的方法在審
| 申請號: | 201811617920.2 | 申請日: | 2018-12-28 |
| 公開(公告)號: | CN109783402A | 公開(公告)日: | 2019-05-21 |
| 發明(設計)人: | 謝堅;王澤峰 | 申請(專利權)人: | 深圳竹云科技有限公司 |
| 主分類號: | G06F12/0871 | 分類號: | G06F12/0871;G06F12/0891 |
| 代理公司: | 深圳快馬專利商標事務所(普通合伙) 44362 | 代理人: | 趙亮;劉朗星 |
| 地址: | 518000 廣東省深圳市南山區*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 熱點數據 緩存 動態調整 緩存數據 緩存命中率 淘汰 熱度 保留 | ||
本發明涉及一種動態調整緩存熱點數據的方法,本發明通過動態調整熱點數據熱度的計算方法,精準淘汰緩存數據的計算方法,更準確的淘汰緩存數據,保留價值高的熱點數據;提升緩存中熱點數據比重,增加熱點數據的緩存命中率。
技術領域
本發明涉及一種調整緩存熱點數據的方法,更具體地說,涉及一種動態調整緩存熱點數據的方法。
背景技術
在程序功能流程中,會涉及大量的數據,如果所有的數據對象都在功能中進行查詢和計算,無疑會大大提升程序的響應時間,導致整個功能執行效率低下,因此需要在程序中建立緩存機制,對可能用到的數據對象進行緩存。但是緩存機制也有幾個關鍵點需要考慮:程序運行空間是有限制的,因此緩存空間也是有限制的,緩存空間應根據程序運行空間內存情況來分配合理的空間大小;由于緩存空間有限,緩存的數據對象也有限,當數據對象數接近緩存上限時,需要有合理的機制來淘汰數據對象,確保留下的對象都是經常使用的對象(即熱點數據)。
F IFO是一種簡單的隊列調整算法,在調整過程中認為最先進入的數據應該最先被淘汰,導致緩存數據命中率低下。由于FIFO算法沒有考慮緩存數據的實際使用情況,因此也無法保證緩存中留存的熱點數據。
使用LRU算法進行緩存數據淘汰,在考慮緩存數據的歷史使用記錄的情況下,對最近訪問次數少的數據進行淘汰,能比較好的保留熱點數據,但是LRU只重點考慮了緩存數據的訪問歷史情況,而忽略了緩存數據的訪問次數情況,在高并發系統訪問的情況下,容易導致緩存中充斥中大量最新訪問過的、訪問次數很低的數據對象。
發明內容
本發明要解決的技術問題在于,針對現有技術中的缺陷,提供一種動態調整緩存熱點數據的方法。
本發明解決其技術問題所采用的技術方案是:構造一種動態調整緩存熱點數據的方法,動態調整熱點數據熱度的計算方法,精準淘汰緩存數據的計算方法,提升緩存數據命中率。
在本發明所述的動態調整緩存熱點數據的方法中,所述動態調整緩存熱點數據的方法步驟為:
S1設定一個訪問次數閾值M,在系統中定義當訪問次數大于閾值的緩存數據不能被移除。
S2設定一個每次緩存淘汰數據個數N,用于當緩存數據達到上限,需要進行數據淘汰時,一次淘汰多少個緩存數據。
S3當有新的數據被訪問時,首先在緩存中查找,如果能緩存命中,則將對象的訪問次數加1,并將緩存中的數據對接移動到棧頂;如果不能緩存命中,則經過查詢和計算,生成數據對象,將數據對象壓入棧頂,設置訪問計數為1。
S4緩存中其他數據對象向棧底下壓一位。
S5若緩存未到最大緩存數,則緩存數據調整過程結束;若緩存達到最大緩存數,則觸發緩存清理過程。
S6緩存清理程序,從棧底向上變量,尋找使用計數最少的N個緩存數據對象,在查找過程中,若發現對象的訪問次數大于M,則該對象不屬于淘汰數據,并對該對象的訪問計數減1。
實施本發明的一種動態調整緩存熱點數據的方法,具有以下有益效果:本發明更準確的淘汰緩存數據,保留價值高的熱點數據;提升緩存數據命中率,確保緩存能真正提升程序運行效率。
附圖說明
下面將結合附圖及實施例對本發明作進一步說明,附圖中:
圖1是本發明的緩存數據入棧流程圖
圖2是本發明的緩存數據淘汰流程圖
具體實施方式
為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳竹云科技有限公司,未經深圳竹云科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811617920.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:數據存儲方法以及存儲系統
- 下一篇:讀取數據的方法、裝置和數據處理器





