專利名稱:一種機群文件系統中的小文件存儲和訪問方法
技術領域:
本發明涉及一種文件系統中文件的存儲訪問方法。具體地,涉及一種機群文件系 統中的小文件存儲和訪問方法,屬于計算機科學中的文件系統技術領域。 背景技術:
文件系統的I/O性能是計算機機群系統至關重要的性能評價指標之一。然而目 前,半導體技術和網絡技術高速發展,與外部存儲設備發展狀況之間的差距導致了所謂“I/ 0瓶頸”。可見,有效解決“I/O瓶頸”問題,對于提高機群系統計算和存儲能力至關重要。現有的機群文件系統在優化數據密集型I/O訪問的同時普遍忽略了小數據量I/O 訪問;其間,由于小文件的頻繁訪問及文件訪問所普遍存在的拓撲依賴關系,導致其訪問效 率的下降,進而制約著整個文件系統的性能。如何優化機群文件系統中的小文件的存儲和 訪問方法,以提高小文件101/0效率,進而提高機群文件系統的整體性能,是當前高性能計 算領域研究的熱點。在當前國內外的機群文件系統研究領域中,對小文件I/O訪問所采取的優化方 法,主要包括均衡文件存儲負載、聚集訪問以及調整文件存儲位置等。均衡存儲負載主要通過增加元數據服務器的數量來實現,利用多客戶可并發訪問 小文件元數據的能力,取得訪問負載均衡的效果,進而優化小文件I/O訪問性能。典型的多 元數據服務器的機群文件系統包括Clemson大學的PVFS2、Sun公司的Lustre。但均衡存 儲負載由于僅增加元數據服務器數目,還存在不能有效解決小文件的數據分條延遲、冗余 連接延遲等問題。聚集訪問主要通過合并對相同文件的讀寫訪問來減少文件訪問的次數。 典型的研究工作包括訪問接口層的聚集、服務器訪問聚集和I/O磁盤訪問聚集等。但聚合 訪問需要預知多客戶端對文件的訪問模式,并且聚合性能很大程度上取決于聚合算法的實 現是否高效。文件存儲位置的調整主要是通過將小文件的數據和元數據均存儲在同一結點 上,以達到減少請求網絡連接次數的目的。典型的研究包括元數據填充、單數據文件,這些 研究可以很大程度上消除多I/O服務器數據分條帶來的延遲,但會帶來服務器負載增大和 容錯等問題。總而言之,現有的小文件I/O訪問優化方法還存在難以處理數據分條延遲、元數 據服務器負載增大等問題。
發明內容
1、目的本發明的目的是提供一種機群文件系統中的小文件存儲和訪問方法。該方法首先 需要設置閾值,用于區分大小文件;其次,將小文件存儲在元數據服務器上,而非傳統地存 儲在數據服務器上;最后,提出一種針對存儲在元數據服務器上的小文件數據訪問方法,包 括創建、讀寫和刪除。以實現優化小文件IO性能,進而提高機群文件系統整體性能的目的。2、技術方案
為了達到實現上述方法,本發明的技術方案是這樣的如圖1所示,本發明一種機群文件系統中的小文件存儲和訪問方法,該方法包括 以下步驟步驟101 設置閾值,區分大小文件;步驟102 在元數據服務器上,存儲小文件的數據; 步驟103 在元數據服務器上,進行小文件創建、讀寫和刪除;其中,步驟101,需要設置用于區分大小文件的閾值ThresholcK比如IM字節),小 于該閾值的文件定義為小文件,大于該閾值的文件定義為大文件;其中,步驟102,需要把小文件數據存儲在在元數據服務器,而非傳統地存儲在數 據服務器上;由此,需要修改元數據服務器上的用于存儲文件屬性信息(Meta Info)的數 據結構添加SmallFile屬性,用于表示是否為小文件;添加SmallFileData屬性,指向小 文件數據;其中,步驟103,在元數據服務器上進行小文件IO訪問操作;小文件IO訪問操作 分為創建、讀寫和刪除三種;首先判斷IO訪問的類型若為創建,則執行小文件創建;若為 讀寫,則執行小文件讀寫;若為刪除,則執行小文件刪除;執行小文件創建、讀寫或者刪除 完畢后,訪問結束;在小文件IO操作過程中,由于將小文件數據存儲在元數據服務器上,故不需要和 數據服務器交互,從而減少了小文件訪問的網絡延遲,提高了小文件IO的性能。3、優點及功效本發明一種機群文件系統中的小文件存儲訪問的方法。與現有技術相比,其主要 的優點有(1)靈活性通過設置閾值,來區分大小文件,對于大文件和小文件分別采取不 同的存儲訪問策略;(2)高效性將小文件的數據存儲在元數據服務器上,以便對于小文件 的IO訪問,如創建、讀寫及刪除等操作,都只需與元數據服務器交互,無需與數據服務器交 互,減少了小文件訪問的網絡延遲,提高了小文件IO的性能,從而從整體上提高了文件系 統總體的性能。
圖1為小文件存儲訪問流程總體框圖;圖2為通過設置閾值,區分大小文件示意圖;圖3為在元數據服務器上存儲小文件示意圖;圖4為在元數據服務器上進行小文件訪問示意圖;圖5為小文件創建流程示意圖;圖6為小文件讀寫流程示意圖;圖7為小文件刪除流程示意具體實施例方式為使本發明的目的、技術方案和優點表達得更加清楚明白,下面結合附圖及具體 實施例對本發明再作進一步詳細的說明。本發明一種機群文件系統中的小文件存儲和訪問方法,該方法包括以下步驟
步驟101 設置閾值,區分大小文件;步驟102 在元數據服務器上,存儲小文件的數據;步驟103 在元數據服務器上,進行小文件創建、讀寫和刪除;由上述可看出本發明的主要思想(圖1)是,首先通過(101)設置閾值來區分大小 文件,然后(102)把小文件數據存儲在元數據服務器上,進而(103)在元數據服務器上進行 小文件IO訪問,而無需與數據服務器交互,減少了網絡延遲,從而提高小文件的IO性能,最 終實現提高文件系統整體性能的目的。本發明在軟件上,對操作系統要求為Linux系統,運行在Linux機群中提供文件IO 服務的軟件之上,如PVFS(Parallel Virtual File System)并行文件系統;并且需要在該 文件系統中,配置多臺(超過1臺)服務器,其中至少有一臺為元數據服務器,其它為數據 服務器。下面分別詳細說明每一步驟首先,設置閾值來區分大小文件(圖2)。(201)設置閾值Threshold。在此,把閾 值設置為IM字節,因為在文件系統領域普遍把小于IM的文件認定為小文件,把大于IM的 文件認定為大文件。(202)將文件大小與閾值比較,(203)小于該閾值的文件定義為小文 件,(204)大于該閾值的文件定義為大文件。對于小文件,采用本發明提出的方法在元數據 服務器上存儲和訪問。然后,在元數據服務器上存儲小文件的數據(圖3)。修改元數據服務器上的用于 存儲文件屬性信息(Meta Info)的數據結構(301)添加SmallFile屬性,用于表示是否為 小文件;(302)添加SmallFileData屬性,指向小文件數據。如此,就可以在元數據服務器上進行小文件IO訪問(圖4)。小文件IO訪問操作 分為創建、讀寫和刪除。(401)判斷小文件IO訪問請求的類型若為創建,則執行(402)小 文件創建;若為讀寫,則執行(403)小文件讀寫;若為刪除,則執行(404)小文件刪除。執行 小文件創建、讀寫或者刪除完畢后,訪問結束。下面詳細說明小文件創建、讀寫和刪除操作處理流程小文件創建(圖5)元數據服務器在接收到小文件創建請求后,首先(501)執 行常規的文件系統創建文件的操作,如取目錄屬性、創建元數據文件和數據文件等;然后 (502)設置SmallFile屬性,標識該文件為一個小文件;接著(503)設置SmalIFiIeData屬 性,指向小文件數據,用于后續小文件的讀寫操作中;再接著(504)創建目錄表項;最后,小 文件創建結束。小文件讀寫(圖6)元數據服務器在接收到小文件讀寫請求后,首先(601)讀 取文件屬性,然后(602)判斷是讀操作還是寫操作。若是讀操作,則(603)讀取擴展屬 性,即讀取SmallFileData指向的小文件數據;若是寫操作,則(604)設置擴展屬性,向 SmallFileData指向的小文件數據區中寫入數據,然后設置小文件的元數據屬性,如文件大 小。至此,小文件讀寫結束。小文件刪除(圖7):元數據服務器在接受到小文件刪除請求后,首先(701)刪除 該小文件對應的目錄表項;然后(702)獲取并分析小文件的屬性;接著(703)設置小文件 的 SmallFileData屬性,即刪除(釋放)小文件數據;再接著(704)執行常規的文件系統刪 除文件的操作,刪除該小文件的元數據文件和數據文件;最后,小文件刪除結束。
最后所應說明的是以上實施例僅用以說明而非限制本發明的技術方案,盡管參 照上述實施例對本發明進行了詳細說明,本領域的普通技術人員應當理解依然可以對本 發明進行修改或者等同替換, 而不脫離本發明的精神和范圍的任何修改或局部替換,其均 應涵蓋在本發明的權利要求范圍當中。
權利要求
一種機群文件系統中的小文件存儲和訪問方法,其特征在于該方法具體步驟如下步驟一設置閾值Threshold,用于區分大小文件;小于該閾值的文件定義為小文件,大于該閾值的文件定義為大文件;步驟二在元數據服務器上,存儲小文件的數據,而非傳統地存儲在數據服務器上;由此,需要修改元數據服務器上的用于存儲文件屬性信息即Meta Info的數據結構添加SmallFile屬性,用于表示是否為小文件;添加SmallFileData屬性,指向小文件數據;步驟三在元數據服務器上,進行小文件IO訪問操作;小文件IO訪問操作分為創建、讀寫和刪除三種;首先判斷IO訪問的類型若為創建,則執行小文件創建;若為讀寫,則執行小文件讀寫;若為刪除,則執行小文件刪除;執行小文件創建、讀寫和刪除完畢后,訪問操作結束。
全文摘要
本發明提供一種機群文件系統中的小文件存儲和訪問方法。該方法有三大步驟步驟一設置閾值,區分大小文件;步驟二在元數據服務器上,存儲小文件的數據;步驟三在元數據服務器上,進行小文件創建、讀寫和刪除。由于本發明把小文件的數據存儲在元數據服務器上,這樣一來,對于小文件的IO訪問操作,如創建、讀寫和刪除等,發起IO訪問的客戶端只需要與元數據服務器交互,無需與數據服務器交互,減少了小文件訪問的網絡延遲,提高了小文件IO的性能,從而從整體上提高了機群文件系統的IO性能。它在計算機科學的機群文件系統領域具有廣泛地實用價值和應用前景。
文檔編號G06F17/30GK101866359SQ20101020849
公開日2010年10月20日 申請日期2010年6月24日 優先權日2010年6月24日
發明者吳啟蒙, 李秀橋, 祝明發, 肖利民, 董斌, 阮利 申請人:北京航空航天大學