技術簡介:
本發明針對異構存儲環境下基于對象的分布式文件系統中熱點對象訪問導致的高網絡開銷和低I/O性能問題,提出通過部署代理服務器緩存熱點數據,并采用基于訪問頻率的置換策略,將高頻對象存儲在傳輸延遲低的設備中,從而提升系統吞吐率和傳輸效率。
關鍵詞:分布式文件系統,存儲緩存
專利名稱:一種基于對象分布式文件系統的存儲緩存方法
技術領域:
本發明涉及分布式文件系統的存儲緩存實現方法,尤其涉及在異構存儲環境下基于對象的分布式文件系統的存儲緩存實現方法。
背景技術:
現今信息社會中越來越多的分布式存儲文件系統的存儲容量已上升到PB級別, 由于基于對象的存儲系統在進行海量存儲時表現出更好的性能而越來越受到存儲領域的關注。它實現了數據對象的元數據和數據內容的分離管理,其系統架構主要由客戶機、元數據服務器和基于對象的基于對象存儲設備組成。元數據服務器負責數據對象的元數據管理和其他存儲管理,基于對象的存儲設備負責底層數據實際塊的部署和存取,它維持著數據實際塊和數據對象的邏輯聯系,并向上層客戶機提供數據對象的操作接口。
在基于對象存儲系統中,存儲在基于對象存儲設備中的數據內容往往是存儲系統中信息量最大的部分。所以,對于數據內容的網絡傳輸速率快慢直接影響存儲系統的網絡開銷及其I/O性能.在用戶訪問模式中,會出現訪問頻率較高的熱點對象,此時,提高熱點對象數據內容的訪問速率,對提高文件系統的性能非常重要.而在真實生產環境中,大多存儲集群是異構存儲集群,其中每臺設備的性能是存在性能差異的,帶寬限制、主存大小、 CPU主頻和磁盤讀寫速度的不同都是造成這個現象的原因,而最終這些差異都會導致傳輸延遲的不同.如果數據訪問中的熱點對象(特別是大文件)被部署到傳輸延遲較高的設備中,那么客戶機在對熱點對象進行操作時,就會連接傳輸延遲較高的設備,造成網絡傳輸開銷過高和整體系統I/O性能低下的結果。
另一方面,為了提高整體系統的I/O性能,網絡緩存技術是主要手段之一。現在主流的網絡緩存技術主要有客戶機緩存、近客戶機緩存和存儲緩存.客戶機緩存把緩存部署在客戶機本地磁盤中,這樣可以避免用戶二次訪問時的網絡傳輸開銷。客戶機緩存把緩存部署在離客戶機較近或者與客戶機傳輸速率很高的代理服務器上,這樣客戶機二次訪問時直接連接到高傳輸速率的代理服務器上,可以避免客戶機與服務器之間的網絡傳輸開銷.而存儲緩存是把熱點對象部署在存儲集群中一些傳輸速率較高的代理服務器上,提高集群中對熱點對象操作時的傳輸效率。存儲緩存能夠對全體用戶而非部分用戶的數據訪問特征進行分析,根據訪問頻率來緩存全體用戶訪問的熱點對象,從而提高這些熱點對象的網絡傳輸速率。發明內容
針對在異構存儲環境中基于對象分布式文件系統所產生的高頻訪問熱點對象連接傳輸延遲較高設備的網絡傳輸開銷過高和整體I/O性能低下的問題,本發明結合對象存儲系統的數據訪問方式及其特點,提出一種存儲緩存的實現方法,它把熱點文件部署到傳輸延遲比較低的設備中進行緩存。
本發明以基于對象存儲系統的架構為基礎,由客戶端、元數據服務器集群和存儲集群構成。在存儲集群中,把一些傳輸速率較高的存儲設備部署為代理服務器,對數據對象進行緩存。存儲集群中的監視器通過維護設備信息表來維持整體存儲集群的部署調度。設備信息表記錄著每臺設備的存儲信息,包括存儲容量、所在分組、存儲的數據對象的i節點列表、目錄信息和該設備的傳輸延遲等等。設備的信息表更新通過時間戳機制來完成,監視器按照最新時間戳的設備信息表來調度存儲集群。
基于以上存儲緩存的系統架構,本發明還包含了存儲集群服務器中代理服務器和普通服務器中高頻訪問熱點對象的置換策略。其核心思想是把近段時間內用戶訪問頻率較高的數據對象放入緩存,并且還要考慮到代理服務器的存儲容量空間的有限性,即在代理服務器剩余空間不足的情況下替入的對象占用空間應該比替出的對象要小。考慮每個數據對象的兩個參數對象的訪問頻率(以下簡稱f)和對象的大小(以下簡稱S),本發明針對以上原因的基于數據對象訪問頻率的置換策略,其步驟如下A在存儲集群監視器中將緩存中的數據對象按照訪問頻率f降序排列.進入步驟B. B假設緩存中有η個數據對象,考慮數據對象m是否需要置換.若fn>fm則表示m訪問頻率較低,不能置換.若fn<fm,則進入步驟C.C在緩存的數據對象序列中找到一個最大值a,以使對象a到η的占用空間的總和大于 m的占用空間,若fa>fm,則表示m對象占用空間過大,緩存內同等容量的對象的訪問頻率比 m高,所以不能置換.若fa<fm則表示m比緩存內同等容量的對象訪問頻率高,所以把對象a 到η替出,替進m.該策略第一步使用二分法在替換操作發生以后對f隊列進行重新排序。第二步利用一次比較操作來決定是否進行第三步。第三步從f隊末開始向前遍歷隊列,依次比較隊列末尾低訪問頻率對象和m的大小,直到m的大小小于這些對象,此次遍歷才會結束,這時存儲集群的監視器會比較已遍歷對象中的最高訪問頻率和m的頻率。若后者高,則把m替換進緩存,把隊列末所有已遍歷的對象替換出緩存。
本發明有益效果在異構存儲環境下,基于對象分布式文件系統的高頻訪問熱點對象可能會連接傳輸延遲較高的設備,造成較高的網絡傳輸開銷并降低整體系統的I/O性能。采用基于對象分布式文件系統的存儲緩存方法,可以針對高頻訪問的熱點對象進行緩存,使其存儲在傳輸延遲較低的設備中,提高讀寫速度,改善整體系統的I/O吞吐率并減少網絡傳輸開銷。
圖1是基于對象分布式文件系統的存儲緩存模型。
圖2是采用存儲緩存方法的存儲集群的數據訪問方式。
圖3是緩存操作協議的流程圖。
具體實施方式下面結合附圖和具體實施應用過程對本技術解決方案進一步說明。
本技術方案基于對象分布式文件系統的架構,在存儲集群中增加設備性能較高的代理服務器,其結構如圖1所示。整體架構由客戶端、元數據服務器和存儲集群構成。在存儲集群中,一些設備性能較高的存儲設備被部署為代理服務器,對高頻訪問的熱點對象進行緩存。當用戶對這些熱點對象進行操作時將獲得高傳輸速率。利用該方案,客戶機在從存儲集群讀取數據對象時,先查找是否命中緩存,若命中就可以通過連接代理服務器來獲得較高的傳輸帶寬,從而減小網絡延遲開銷;若沒有命中則按照原型系統的數據訪問方式來讀取數據。如圖2所示,代理服務器在硬件設施和軟件配置上和普通存儲設備是一樣的。 在應用該方法之后,存儲集群的總存儲容量和運行機制并不會顯著改變,但是它的傳輸效率因為代理服務器能夠緩存熱點對象而得到了提高.從而在不改變它原有機制的基礎上, 保持了存儲系統的可靠性、擴展性,保有原來系統的功能特性,也提高了系統的文件I/O性能。
采用基于對象分布式文件系統的存儲緩存方法的系統使客戶機、元數據服務器和存儲集群都按照緩存操作協議來維持系統的運行。緩存操作協議是數據對象被訪問時緩存的行為邏輯。以下以讀取一個數據對象為例,介紹對象存儲系統在建立基于對象分布式文件系統存儲緩存后的操作協議。其核心思想是若存儲集群監視器判斷結果為緩存命中,則之后全程數據訪問流程都不涉及傳輸帶寬較低的普通存儲設備,而是連接代理服務器進行速率較高的傳輸操作,從而避免額外的網絡傳輸開銷。其中系統中通信主要涉及以下幾個參數對象文件名、絕對路徑名、數據對象ID)、數據對象的元數據信息、數據對象的數據內容。其流程圖如圖3所示,各個角色之間發送請求格式和傳輸格式為RequestO和 Transfer (),主要步驟如下所以(1)客戶端把被訪問的數據對象的目錄信息轉換為絕對路徑后向元數據服務器集群發起訪問請求,格式為Request (對象文件名,絕對路徑名)。進入步驟(2)。
(2)元數據服務器集群在驗證用戶的權限后,連接存儲集群監視器,查找緩存列表,判斷被訪問的數據對象是否命中緩存。若命中緩存則進入步驟(3),未命中進入步驟 ⑷。
(3)存儲集群監視器在判斷命中緩存后,向被訪問數據對象所在的代理服務器發送元數據發送請求,格式為Request (數據對象ID).進入步驟(5)。
(4)存儲集群監視器在判斷未命中緩存之后,通過置換策略決定是否把該數據對象置換進代理服務器,然后向被訪問數據對象所在的普通存儲設備發送元數據發送請求, 格式為Request (數據對象ID).進入步驟(6)。
(5)代理服務器把數據對象的有關元數據信息發送給元數據服務器集群,格式為 Transfer (數據對象的元數據信息),進入步驟(7)。
(6)數據對象所在的普通存儲設備連接元數據服務器集群,發送有關元數據信息, 格式為Transfer (數據對象的元數據信息),進入步驟8。在發送完有關元數據信息后若置換策略決定將該數據對象置換進代理服務器,則進入步驟(7)。
(7)該普通存儲設備將該數據對象傳輸到存儲集群監視器分配的代理服務器上, 格式為Transfer (數據內容)。
(8)元數據服務器集群在收到元數據信息后向客戶端發送有關目錄信息和該用戶的操作權限。若元數據服務器集群返回的目錄信息表示被訪問對象是在代理服務器上,則是命中緩存的情況,客戶端得到的是代理服務器的物理IP地址,進入步驟(9)。反之,若被訪問對象是在普通存儲設備上,則是未命中緩存的情況,客戶端得到的是普通存儲設備的物理IP地址,進入步驟(10)。
(9)客戶端根據得到的物理IP地址連接代理服務器,發送傳輸請求,格式為 Request(IP).進入步驟(11)。
(10)客戶端根據得到的物理IP地址連接被訪問數據對象所在的普通存儲設備, 發送傳輸請求,格式為Request (IP),進入步驟(12)。
(11)代理服務器確認用戶請求后傳輸數據內容到客戶端,格式為Transfer(數據內容).直到傳輸完畢。
(12)被訪問數據對象所在的普通存儲設備在確認用戶請求后傳輸數據內容到客戶端,格式為Transfer (數據內容),直到傳輸完畢。
總之,該技術的出現,解決了在異構存儲環境中基于對象分布式文件系統的數據對象讀寫操作傳輸速率不穩定的問題,減少了網絡傳輸開銷,并提高了整體系統的I/O性能和管理效率。
權利要求1.一種基于對象分布式文件系統的存儲緩存方法,其特征在于文件系統整體架構由客戶端、元數據服務器集群和存儲集群構成;客戶端負責發送數據對象的操作請求和接收數據內容,元數據服務器集群負責處理客戶端請求和對存儲集群所存儲的數據對象進行元數據管理,存儲集群負責存儲數據對象并對熱點文件進行緩存;所述的存儲集群包含一種監視器,該監視器通過維護設備信息表來維持整體存儲集群的部署調度;該監視器執行了一種基于訪問頻率的緩存置換策略使訪問頻率更高的熱點文件在存儲集群中部署在設備性能較好的代理服務器上; 所述的一種基于訪問頻率的緩存置換策略具體步驟為 步驟A.在存儲集群監視器中將緩存中的數據對象按照訪問頻率降序排列; 步驟B.將考慮置換的數據對象和緩存中最低訪問頻率的數據對象比較訪問頻率,若考慮置換的數據對象的訪問頻率高,則進入下一步,否則置換取消,終止該緩存置換策略;步驟C.在緩存的數據對象隊列末尾尋找到剛好比考慮置換的數據對象的大小要大的數據對象集,將該數據對象集中訪問頻率最高的數據對象與考慮置換的數據對象比較訪問頻率,若考慮置換的數據對象的訪問頻率高,則將該數據對象集置換出緩存,將考慮置換的數據對象置換進緩存,否者置換取消,終止該緩存置換策略。
2.根據權利要求1所述的一種基于對象分布式文件系統的存儲緩存方法,其特征在于所述的設備信息表包含以下兩個方面第一方面記錄著每臺設備的存儲信息、包括存儲容量、所在分組、存儲的數據對象的i節點列表、目錄信息和該設備的傳輸延遲等;第二方面更新通過時間戳機制來完成。
3.根據權利要求1所述的一種基于對象分布式文件系統的存儲緩存方法,其特征在于所述的步驟A是使用二分法對緩存內的數據對象進行重新排序。
4.根據權利要求1所述的一種基于對象分布式文件系統的存儲緩存方法,其特征在于步驟C開始時從數據對象隊列末尾開始向前遍歷隊列,依次比較隊列末尾低訪問頻率對象和考慮置換的數據對象的大小,直到考慮置換的數據對象的大小小于這些數據對象, 此次遍歷才會結束,由此產生數據對象集。
全文摘要本發明涉及一種基于對象分布式文件系統的存儲緩存方法。傳統的基于對象分布式文件系統在異構存儲環境中存在網絡開銷不穩定,整體I/O性能低下的問題。本發明基于對象分布式文件系統的架構,對其傳統的數據訪問模式進行修改,通過在存儲集群中部署代理服務器建立緩存,并采用本發明中的緩存置換策略對訪問頻率高的熱點對象文件進行緩存處理。采用此方法可以提高分布式文件系統的文件存取速度,減少網絡傳輸開銷,使整體系統的I/O性能得到提高。
文檔編號G06F17/30GK102523285SQ20111042027
公開日2012年6月27日 申請日期2011年12月15日 優先權日2011年12月15日
發明者萬健, 任永堅, 周昶, 張紀林, 徐向華, 殷昱煜 申請人:杭州電子科技大學