[發明專利]一種基于長短周期訪問頻度的緩存數據替換方法無效
| 申請號: | 200910016363.3 | 申請日: | 2009-06-18 |
| 公開(公告)號: | CN101576856A | 公開(公告)日: | 2009-11-11 |
| 發明(設計)人: | 王文方 | 申請(專利權)人: | 浪潮電子信息產業股份有限公司 |
| 主分類號: | G06F12/12 | 分類號: | G06F12/12 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 250014山東*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 長短 周期 訪問 頻度 緩存 數據 替換 方法 | ||
技術領域
本發明涉及一種磁盤陣列的數據緩存管理技術,具體地說是一種基于長短周期訪問頻度的緩存數據替換方法。
背景技術
通常在磁盤陣列內部,為提高系統的訪問效率,一般將預留一段內存區域用作數據緩存。數據緩存分為讀數據緩存與寫數據緩存兩種,讀數據緩存主要為提高隨機讀的效率,而寫數據緩存則主要為提高連續寫的效率。數據緩存是磁盤陣列的重要資源,緩存命中率是影響磁盤陣列性能的重要指標,利用高效的緩存數據替換技術,可極大的優化緩存空間的利用率,提高緩存命中率,提高磁盤陣列的整體性能。
緩存替換技術必須以最大化主機端訪問時的緩存命中率為出發點,因而需要考慮主機端的緩存數據訪問方式。主機端對緩存數據主要有兩種訪問方式:長期周期訪問和短期頻繁訪問。長期周期訪問是指,緩存數據在間隔較長的時間內被周期性的重復訪問,典型的應用包括日志、定時備份等。短期頻繁訪問是指,緩存數據在較短的時間內被頻繁訪問。為最大化主機端訪問緩存的命中率,緩存中應盡量保存短期頻繁被訪問的數據,但是如果短期頻繁被訪問的數據在一段較長的時間內未被訪問,那么它們也應該先于長期周期性訪問的數據而被替換出緩存。這是因為,就訪問方式而言,短期頻繁訪問的數據,在今后較長的時間內很少會被再次訪問,而長期周期訪問的數據,在今后較長的時間內將會被周期性的訪問。
如何能夠提供一種緩存數據替換技術,充分考慮到主機端的訪問方式,兼顧長期周期訪問和短期頻繁訪問的情況,是磁盤陣列緩存管理所面臨的主要問題之一。
發明內容
本發明的技術任務是提供一種通過兼顧主機端的長短期訪問,優化緩存數據替換的一種基于長短周期訪問頻度的緩存數據替換方法。
本發明的技術任務是按以下方式實現的,利用緩存數據訪問頻度值,反映緩存數據在長短周期內被訪問的情況,并按照緩存數據訪問頻度值的大小進行排序,查找最久未被使用的緩存數據,將該緩存數據替換出緩存區,并將新數據換入緩存區;結構包括緩存區、緩存替換接口模塊、緩存訪問頻度統計模塊、緩存訪問頻度排序模塊、緩存訪問頻度值記錄模塊和緩存替換處理模塊;緩存區連接緩存替換接口模塊和緩存訪問頻度統計模塊,緩存替換接口模塊連接緩存替換處理模塊,緩存替換處理模塊連接緩存訪問頻度排序模塊,緩存訪問頻度統計模塊和緩存訪問頻度排序模塊均與緩存訪問頻度值記錄模塊連接。
緩存訪問頻度值記錄模塊以記錄的形式存儲數據訪問頻度值,提供對緩存數據訪問頻度值的查找、更新和替換接口;緩存訪問頻度統計模塊主要負責計算緩存區內緩存數據的訪問頻度值,并且周期性的更新緩存訪問頻度值記錄模塊內的緩存數據的訪問頻度值;緩存訪問頻度排序模塊可調用緩存訪問頻度記錄模塊內的緩存數據的訪問頻度值,并按照訪問頻度值進行排序;緩存替換處理模塊負責對緩存數據進行替換,調用緩存訪問頻度排序模塊查找訪問頻度值最小的緩存數據,通過緩存替換接口模塊將該緩存數據替換出緩存區,并將新數據換入緩存區。
緩存數據替換流程為兩條,其中一條的具體流程為:
(1)、緩存訪問頻度統計模塊訪問緩存區的緩存數據,并且計算緩存區內緩存數據的訪問頻度值;
(2)、緩存訪問頻度統計模塊周期性的更新緩存訪問頻度值記錄模塊內的緩存數據的訪問頻度值;
(3)、當主機端訪問緩存區內的緩存數據時,緩存訪問頻度統計模塊重新計算緩存數據的訪問頻度值;
另一條的具體流程為:
(1)、緩存替換處理模塊通過調用緩存替換接口模塊提供的接口,向系統內部發出緩存數據替換請求;
(2)、緩存訪問頻度排序模塊調用緩存訪問頻度記錄模塊內的緩存數據的訪問頻度值,并按照訪問頻度值進行排序;
(3)、緩存替換處理模塊進行緩存數據替換處理,調用緩存訪問頻度排序模塊對訪問頻度值的排序,查找訪問頻度值最小的緩存數據;
(4)、緩存替換處理模塊通過緩存替換接口模塊將訪問頻度值最小的緩存數據替換出緩存區,并將新數據換入緩存區。
緩存數據的訪問頻度值的大小為4個字節,由高到低的每個字節,代表了間隔由短到長的周期內緩存數據被訪問的情況;用Bn[i]表示由高到低的第n個字節的第i位的取值,若在單位時間內,緩存數據塊被訪問,則置B0[0]為1,否則置B0[0]為0;每隔8a個單位時間,采用如下規則更新緩存數據訪問頻度值:
(1)、Ba[i+1]=Ba[i](i=0,1,……,6)
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮電子信息產業股份有限公司,未經浪潮電子信息產業股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910016363.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種移動辦公室的實現方法
- 下一篇:一種用于帶有觸摸屏數字終端設備的輸入方法





