[發明專利]一種基于TCMU虛擬塊設備的緩存數據訪問方法及系統有效
| 申請號: | 201710233501.8 | 申請日: | 2017-04-11 |
| 公開(公告)號: | CN107133183B | 公開(公告)日: | 2020-06-30 |
| 發明(設計)人: | 文暢 | 申請(專利權)人: | 深圳市聯云港科技有限公司 |
| 主分類號: | G06F12/0875 | 分類號: | G06F12/0875;G06F12/0877 |
| 代理公司: | 深圳市鼎智專利代理事務所(普通合伙) 44411 | 代理人: | 湯銀 |
| 地址: | 518000 廣東省深圳市福田區沙頭街道*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 tcmu 虛擬 設備 緩存 數據 訪問 方法 系統 | ||
本發明公開了一種基于TCMU虛擬塊設備的緩存數據訪問方法及系統,所述方法包括:接收應用程序的訪問請求;根據所述長度確定其所屬的處理池,并在所述處理池對應的緩存哈希表內查找所述位置對應的訪問次數;當所述訪問請求為寫請求且所述訪問次數大于等于1時,將所述訪問次數加一,并將所述寫請求對應的數據保存至緩存哈希表,以及在所述處理池對應的緩存鏈表中查找所述位置;當未查找到所述位置時,將所述位置及訪問次數插入所述緩存鏈表頭部。本發明契合TCMU的IO讀寫特性,提高讀取和寫入性能;并采用二次確認的哈希表加按照訪問時間淘汰的緩存鏈表,能有效緩存最近多次訪問過的熱點數據及過濾突然大量偶發性的數據訪問,防止緩存污染。
技術領域
本發明涉及智能終端技術領域,特別涉及一種基于TCMU虛擬塊設備的緩存數據訪問方法及系統。
背景技術
在大數據蓬勃發展的今天,隨著云計算、虛擬化、網絡等技術的日漸成熟,作為整個生態基石的存儲,也在扮演著越來越重要的角色。在云計算中,存儲大多以分布式的形態呈現。而在對生成虛擬塊設備的諸多嘗試中,Linux內核3.18合入的TCMU給出了一個較為圓滿的虛擬塊設備生成方式。
TCMU作為Linux操作系統的內核模塊,需要及時處理其請求,否則會引起Linux內核的crash。如何為TCMU設計一套高速、有效的緩存系統則成為了性能優化的關鍵問題。現有的緩存算法普遍采用根據數據的歷史訪問頻率來淘汰方法、根據數據的歷史訪問記錄來淘汰方法或者兩者相結合的方法。但是,對于TCMU的IO讀寫特性則沒有涉及,混雜塊大小的IO可能會導致TCMU讀寫性能低下。同時,一次小IO的掃盤或大IO的讀寫可能導致之前有效的緩存被污染。
因而現有技術還有待改進和提高。
發明內容
本發明要解決的技術問題在于,針對現有技術的不足,提供一種基于TCMU虛擬塊設備的緩存數據訪問方法及系統,以解決現有緩存方法導致的TCMU讀寫性能低的問題。
為了解決上述技術問題,本發明所采用的技術方案如下:
一種基于TCMU虛擬塊設備的緩存數據訪問方法,其包括:
接收應用程序的訪問請求,其中,所述訪問請求攜帶訪問數據的長度及訪問TCMU虛擬塊設備的位置;
根據所述長度確定其所屬的處理池,并在所述處理池對應的緩存哈希表內查找所述位置對應的訪問次數;
當所述訪問請求為寫請求且所述訪問次數大于等于1時,將所述訪問次數加一,并將所述寫請求對應的數據保存至緩存哈希表,以及在所述處理池對應的緩存鏈表中查找所述位置;
當未查找到所述位置時,將所述位置及訪問次數插入所述緩存鏈表頭部。
所述基于TCMU虛擬塊設備的緩存數據訪問方法,其還包括:
當所述訪問請求為讀請求且所述訪問次數大于等于1時,讀取所述讀請求對應的數據;
將所述訪問次數加一,并在所述緩存鏈表中查找所述位置。
所述基于TCMU虛擬塊設備的緩存數據訪問方法,其中,所述當所述訪問請求為讀請求且所述訪問次數大于等于1時,讀取所述數據具體包括:
當所述訪問請求為讀請求且所述訪問次數大于1時,從緩存哈希表內讀取所述讀請求對應的數據;
當所述訪問請求為讀請求且所述訪問次數等于1時,從后端存儲設備中讀取所述讀請求對應的數據。
所述基于TCMU虛擬塊設備的緩存數據訪問方法,其還包括:
當所述訪問請求為讀請求且所述訪問次數小于1時,從后端存儲設備中讀取所述讀請求對應的數據,并以所述位置為鍵值散列入緩存哈希表,以及將所述位置被訪問次數記為1。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市聯云港科技有限公司,未經深圳市聯云港科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710233501.8/2.html,轉載請聲明來源鉆瓜專利網。





