[發明專利]一種分布式文件系統中客戶端目錄緩存的組織方法無效
| 申請號: | 201110326448.9 | 申請日: | 2011-10-25 |
| 公開(公告)號: | CN102541985A | 公開(公告)日: | 2012-07-04 |
| 發明(設計)人: | 楊浩;常濤;呂明強;邵宗有;劉新春;苗艷超;王勇 | 申請(專利權)人: | 曙光信息產業(北京)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京安博達知識產權代理有限公司 11271 | 代理人: | 徐國文 |
| 地址: | 100084 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 分布式 文件系統 客戶端 目錄 緩存 組織 方法 | ||
技術領域
本發明涉及分布式文件系統中目錄項管理,具體來說,涉及一種分布式文件系統中客戶端目錄緩存的組織方法。?
背景技術
隨著計算機技術的飛速發展,各種應用對于存儲的需求越來越大,這其中,以網絡的應用最為典型。網絡應用的存儲需求大致分為兩種,一種是大文件為主的存儲需求,如視音頻網絡應用,這類應用的特點是文件數目不多,但是單個文件的大小通常是GB甚至TB級別;另外一種以小文件為主的存儲需求,如網上商城、門戶網站等,這類需求的特點是單個文件不大,但是文件數量巨大,通常單個目錄下存放上千萬個文件,并且此類文件通常只寫入一次,以后以讀取為主。?
在大部分網絡應用中,為了滿足存儲的需求,分布式文件系統被引入到各種網絡應用中,這其中具有代表性的是NFS、lustre、GPFS等。這類分布式文件系統的特點是對于大文件的操作有比較好的性能,但是如果單個目錄下有數量巨大的小文件,則此類文件系統的檢索目錄項的效率則很難令人滿意。因此,很多網絡公司,如淘寶、網易、騰訊等,為了滿足自己的需求,紛紛針對小文件存儲設計了適合自己需求的存儲架構。?
在目前見到的針對小文件存儲進行優化的并行文件系統中,絕大部分采用單組元數據架構,并且客戶端在進行元數據訪問時,通常在需要時才去元數據服務器上讀取。這樣的以來,網絡的延遲就會對客戶端的響應速度照成很大的影響,并且如果客戶端需要訪問的數據不在元數據服務器的內存中,則還需要訪問磁盤,這就使得應用程序的訪問時間有很大一部分浪費在IO上面,影響了應用的實時性。?
發明內容
本發明旨在公開一種分布式文件系統中客戶端目錄項緩存的組織方法,該方法可以有效地解決網絡應用中單目錄下海量小文件訪問效率低下的問題。?
一種分布式文件系統中客戶端目錄緩存的組織方法,?
根據需要劃分目錄子集,將單個目錄中的目錄項進行哈希運算,存儲到每個目錄子集中,每個目錄子集分布在一臺元數據服務器上,客戶端上的目錄項緩存結構按照目錄子集進行組織。?
優選的,當有應用需要遍歷所述目錄時,客戶端首先查詢本地緩存是否存在,如果存在,則直接返回給客戶;如果不存在,則向元數據服務器讀取,讀取完成后,客戶端將其存放在本地緩存,然后返回給應用。?
優選的,所述讀取采用并行方式進行讀取。?
優選的,所述客戶端在第一次讀取目錄后,會對該目錄下的文件?進行預取。?
優選的,所述預取的策略為:將該目錄下的所有目錄項對應到元數據服務器上讀取相應的索引節點。?
優選的,所述預取的命令可以由應喲能發出,客戶端在接收到預取請求時,將該批文件的索引節點從元數據服務器上讀回,然后再去數據服務器預取數據。?
在本發明中,分布式文件系統采用多元數據服務器架構,即單個目錄的內容分布在多個元數據服務器上。之所以選用多元數據的架構,主要是為了分散元數據訪問的壓力,提高并發度。針對網絡應用寫少讀多的特性,本發明在客戶端的緩存中保留目錄項的內容以及對應的索引節點,以避免客戶端多次讀取時需要和服務器進行多次通信;同時,在初次訪問一個目錄時,對分布在不同元數據服務器上的該目錄的目錄項進行并行預讀,同時,根據默認的預讀策略或應用程序下發的預讀策略,對文件索引節點和文件內容進行預讀。這樣以來,當應用程序需要訪問目錄項的某個文件時,該文件的元數據和數據可能已經預讀進客戶端本地緩存中,因而能夠大大加速應用程序的執行速率。?
具體實施方式
下面結合實施例做詳細說明:?
(1)本發明中,單個目錄中的目錄項,先根據其名字進行哈希,將其分成若干子集,每個子集分布在一臺元數據服務器上。?
(2)客戶端上的目錄項緩存結構按照目錄項子集進行組織,即對分布在各個元數據上的目錄項分別進行管理,相互之間保持獨立。?
(3)當應用需要遍歷某個目錄時,客戶端先查詢本地緩存是否存在,如果存在,則直接返回給用戶。如果緩存不存在,則需要向元數據服務器讀取。讀取時,由于單個目錄的所有目錄項按照子集存放在不同的元數據服務器上,因此發明中采用并行的方式進行讀取,這樣能夠加速目錄項讀取的速率。目錄項讀取回來之后,客戶端先將其存放在本地緩存,然后給應用程序返回。?
(4)通常應用程序訪問一個目錄的最終目的是訪問其下的文件,因此在目錄項遍歷之后,緊接著會陸續有訪問該目錄下各個文件的請求下發給文件系統的客戶端。為了充分利用應用程序業務自身處理的時間,本發明中,文件系統客戶端在第一次讀取目錄后,會對該目錄下的文件進行預取。預取的默認策略是,對該目錄下的所有目錄項對應到元數據服務器上讀取相應的索引節點信息。應用程序也可以根據自身的特點,給客戶端下發預讀的策略,如需要預讀某一批文件,客戶端在接收到預讀策略請求后,會將該批文件的索引節點從元數據服務器上讀回,然后再去數據服務器上預取數據。這樣以來,當應用程序需要訪問具體的文件時,可能其需要的數據已經通過預讀進入到了客戶端的本地緩存,因而能大大減少應用程序的響應時間。?
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于曙光信息產業(北京)有限公司,未經曙光信息產業(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110326448.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種接地開關的絕緣罩
- 下一篇:一種帶螺紋柱的分體式靜觸頭





