[發明專利]一種應用于內容解析存儲的基于內容的緩存方法有效
申請號: | 201110365027.7 | 申請日: | 2011-11-17 |
公開(公告)號: | CN102508790A | 公開(公告)日: | 2012-06-20 |
發明(設計)人: | 龔韜;肖利民;趙國玉;李秀橋;阮利 | 申請(專利權)人: | 北京航空航天大學 |
主分類號: | G06F12/08 | 分類號: | G06F12/08 |
代理公司: | 北京慧泉知識產權代理有限公司 11232 | 代理人: | 王順榮;唐愛華 |
地址: | 100191*** | 國省代碼: | 北京;11 |
權利要求書: | 查看更多 | 說明書: | 查看更多 |
摘要: | |||
搜索關鍵詞: | 一種 應用于 內容 解析 存儲 基于 緩存 方法 | ||
技術領域
本發明涉及一種計算機存儲系統中的緩存方法,具體涉及一種應用于內容解析存儲的基于內容的緩存方法;屬于計算機存儲系統領域。
背景技術
目前桌面虛擬化產品中大規模虛擬機鏡像存儲帶來了數據重復存儲的問題,增加了共享存儲系統的存儲空間壓力,內容解析存儲技術(CAS)被用來解決數據重復存儲的問題。它通過檢測數據的內容相似性以合并存儲重復數據,可以避免重復數據的多次存儲,達到降低虛擬機鏡像存儲開銷的目的。在降低存儲開銷的同時不能對虛擬機的性能造成顯著的影響。并且,優化方法對虛擬機監控器和VM操作系統來說應當是透明的。
哈希函數是一種從任何一種數據中創建小的數字“指紋”的方法。該函數將數據打亂混合,重新創建一個叫做哈希值的指紋。在CAS中,通過對文件內容分塊計算得到對應哈希值存儲。
CAS技術對文件進行分塊后計算哈希值序列,通過哈希值序列判斷重復數據。對于內容相同的數據塊只保留一份,并且在每一個分塊文件中記錄對應被共享的次數。對于采用CAS方式存儲的文件,原先的文件實際存儲的是該文件的每個分塊的哈希值序列以及文件數據大小等信息。哈希序列對應的數據部分保存在共享存儲系統里面。
因計算機處理速度與存儲器速度不一致,在計算機系統中存在著一種緩存機制。緩存的存儲速度高于實際操作的存儲器的速度,緩存在處理器與實際存儲器之間起到一個緩沖的作用,當處理器需要不停地讀寫相同的存儲器內容時,則可以將這些數據暫存于緩存中,以提高讀寫性能。
現有的緩存方法都是以存儲地址作為緩存索引的,這種方法在應用到CAS文件系統中時遇到問題,因在CAS文件系統中,文件地址內保存的是內容的哈希值而不是內容,以哈希值為索引的緩存并不能很好的提高文件系統性能。本發明就是提供一種在CAS文件系統中的緩存方法來提高CAS文件系統的性能
發明內容
本發明要解決的技術問題是在CAS文件系統中提供一種緩存機制,來減少實際文件操作,以提高CAS的性能。一般的使用數據地址作為緩存索引的緩存機制并不適用于CAS,本發明使用緩存內容的哈希值作為緩存索引,可以有效地提高CAS的性能。
為了達到實現上述方法,本發明的技術方案是這樣的:
一種應用于內容解析存儲的基于內容的緩存方法,具體包括如下內容:
在CAS文件系統中嵌入一個以緩存內容作哈希值作為緩存索引的緩存模塊,以緩存模塊的讀寫操作代替原有磁盤操作。當CAS文件系統發起磁盤讀寫操作時,緩存模塊先檢查對應數據塊是否已被緩存,如已被緩存則可直接從緩存模塊內部的緩存區調出使用;當檢查數據不在緩存區時,再由緩存模塊發起實際讀寫操作,以減少實際讀寫次數。緩存區是定義在緩存模塊中的一個存儲區,由多個緩存單元組成,每個緩存單元可以緩存一個數據塊。
其中,對于CAS文件讀操作,CAS需要從共享存儲區讀到哈希值序列對應的數據塊,這時在緩存模塊內,先調用cache_read()進行讀緩存操作。若成功從自身的緩存區讀到了需要的數據塊,則直接返回給CAS。否則,發起磁盤讀操作讀取共享存儲區,獲得數據塊后,通過cache_write()將數據塊寫入緩存區,再返回上層。
其中,對于CAS文件寫操作,當CAS發起寫操作時,CAS需要向共享存儲區寫入一個哈希值序列和數據塊的映射,此時緩存模塊同樣以哈希值序列為索引,調用cache_write()將數據塊保存到自己的緩存區,然后發起實際磁盤寫操作寫入共享存儲區。
cache_read()是一個緩存區的讀操作,由傳入的緩存索引在緩存區尋找對應的緩存單元,若緩存命中則拷貝緩存單元內的數據塊,若不命中則返回失敗標志。cache_write()是一個緩存區的寫操作,由數據塊計算出索引值,并在緩存區尋找緩存單元保存。
本發明一種應用于內容解析存儲的基于內容的緩存方法,其優點及功效在于可以提供一種在CAS文件系統中使用的緩存機制,來有效地提高CAS文件系統的性能。
附圖說明
圖1為帶有緩存機制CAS文件系統的結構圖
圖2為帶緩存的CAS讀操作流程
圖3為帶緩存的CAS寫操作流程
圖4為一個緩存單元的結構
圖5為緩存區結構
圖6為cache_read()的操作流程
圖7為cache_write()的操作流程
具體實施方式
為使本發明的目的、技術方案和優點表達得更加清楚明白,下面結合附圖及具體實施例對本發明再作進一步詳細的說明。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110365027.7/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:全粒面超纖及制造方法
- 下一篇:耐磨損除塵器導氣管
- 內容再現系統、內容提供方法、內容再現裝置、內容提供裝置、內容再現程序和內容提供程序
- 內容記錄系統、內容記錄方法、內容記錄設備和內容接收設備
- 內容服務系統、內容服務器、內容終端及內容服務方法
- 內容分發系統、內容分發裝置、內容再生終端及內容分發方法
- 內容發布、內容獲取的方法、內容發布裝置及內容傳播系統
- 內容提供裝置、內容提供方法、內容再現裝置、內容再現方法
- 內容傳輸設備、內容傳輸方法、內容再現設備、內容再現方法、程序及內容分發系統
- 內容發送設備、內容發送方法、內容再現設備、內容再現方法、程序及內容分發系統
- 內容再現裝置、內容再現方法、內容再現程序及內容提供系統
- 內容記錄裝置、內容編輯裝置、內容再生裝置、內容記錄方法、內容編輯方法、以及內容再生方法