專利名稱:用于管理海量存儲系統(tǒng)的方法和數(shù)據(jù)處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及一種用于管理海量存儲系統(tǒng)的方法和數(shù)據(jù)處理系統(tǒng),并具體地涉及一種用于管理大量文件從一存儲空間到另一存儲空間的遷移的方法和數(shù)據(jù)處理系統(tǒng)。
背景技術(shù):
海量存儲系統(tǒng)一般被用于管理、存儲和檢索典型地在一個文件系統(tǒng)中所組織的大量文件。海量存儲系統(tǒng)一般包括層級存儲管理(HSM)系統(tǒng)和其上物理地存儲文件的高速與較慢存儲設(shè)備。因此,請求從文件系統(tǒng)存儲或檢索文件的應(yīng)用不必非要知道文件所存儲的位置。層級存儲管理系統(tǒng)把滿足某種標(biāo)準(zhǔn)的文件(例如超過100天的文件)從高速存儲設(shè)備(諸如硬磁盤設(shè)備)遷移到較慢存儲設(shè)備(諸如磁帶設(shè)備)。如果文件已被遷移到較慢存儲設(shè)備,并且用戶想要訪問該文件,則它被拷貝到高速存儲設(shè)備并隨之對用戶可用。因此,訪問存儲在較慢存儲設(shè)備上的文件花費時間較長。因此,層級存儲管理系統(tǒng)應(yīng)該以一種智能方式來安排高速存儲設(shè)備和較慢存儲設(shè)備上的文件,使得經(jīng)常由用戶請求的文件被保持在高速存儲設(shè)備上。
原則上,始終把所有文件存儲在高速存儲設(shè)備上將是理想的。但是,高速存儲設(shè)備通常比起較慢存儲設(shè)備更昂貴,從而通過利用較慢存儲設(shè)備可以降低海量存儲系統(tǒng)的總成本。
如果必須由層級存儲管理系統(tǒng)來管理大量文件,則會出現(xiàn)關(guān)于選擇用于遷移的適當(dāng)文件的問題。如果達到了高速存儲設(shè)備(其例如可以是層1存儲設(shè)備)的存儲使用的高閾,則基于閾的自動遷移可開始遷移文件。典型地,合格的文件被預(yù)先確定。如果文件數(shù)量極大,例如大于108個文件,則必須被執(zhí)行以便確定用于遷移的文件的對所有文件的查詢需要極長的時間量。此外,難于找到最合格的文件,因為存儲在高速存儲設(shè)備上的所有文件需要首先被全體掃描,用來確定用于更多或更少個合格文件的標(biāo)準(zhǔn)。需要第二查詢來基于所述第一查詢的標(biāo)準(zhǔn)搜索文件。因此,難于以及時的方式確定用于合格候選者的標(biāo)準(zhǔn)。用于遷移的合格候選者例如可能是相對舊或相對大的文件,而應(yīng)該被留在快速存儲設(shè)備上的候選者是相對新或相對小的文件。
IBM的Tivoli Storage Manager(TSM)系統(tǒng)的層級存儲管理系統(tǒng)使用例如候選者列表,其包含了被包含在文件系統(tǒng)中的所有文件的集合的子集。所述子集借助通過文件系統(tǒng)的迭代來進行持續(xù)優(yōu)化。由于候選者列表包含最大數(shù)量的條目,所以未被包含在列表中的文件無法被標(biāo)識為候選者。因此,候選者列表僅包含有限數(shù)量的合格文件。無論何時當(dāng)發(fā)現(xiàn)新的合格候選者時,其它文件就必須從候選者列表中移出。如果108至109個文件需要被層級存儲管理系統(tǒng)管理,則這導(dǎo)致大量的CPU使用和對文件系統(tǒng)的輸入/輸出訪問。
因此,需要一種用于管理海量存儲系統(tǒng)的改進方法和數(shù)據(jù)處理系統(tǒng)。
發(fā)明內(nèi)容根據(jù)本發(fā)明的實施例,提供了一種用于管理海量存儲系統(tǒng)的方法,其中所述海量存儲系統(tǒng)包括第一存儲空間和第二存儲空間。生成文件索引,所述文件索引以均勻分布方式列出每個文件連同第一特性量、第二特性量和狀態(tài)信息,其中所述狀態(tài)信息指定所述文件是被保持在所述第一存儲空間上還是所述第二存儲空間上。從所述文件索引中選擇文件樣本。所述文件樣本包含給定數(shù)量的文件,其中所述給定數(shù)量的文件中的每個文件的所述狀態(tài)信息指定所述文件被保持在所述第一存儲空間上。通過使用所述文件樣本中包括的每個文件的所述第一特性量來確定第一關(guān)鍵值,以及通過使用所述文件樣本中的每個文件的所述第二特性量來確定第二關(guān)鍵值。接著確定文件的第一子集,對于其所包括的每個文件,所述第一特性量大于所述第一關(guān)鍵值,所述第二特性量大于所述第二關(guān)鍵值,并且所述文件通過所述狀態(tài)信息指定被所述第一存儲空間所保持。
生成文件索引,所述文件索引以均勻分布方式列出文件系統(tǒng)的每個文件連同第一和第二特性量以及狀態(tài)信息。以均勻分布方式列出所述文件。因此,以下述方式在所述文件索引中列出文件,所述方式是將所述文件在所述第一和所述第二存儲空間上的安排完全分離。從所述文件索引選出文件樣本。所述文件樣本包含被保持在所述第一存儲空間上的給定數(shù)量的文件。保持在所述第一存儲空間上的文件可通過在每個文件被分配給文件樣本之前檢查每個文件的狀態(tài)信息來標(biāo)識。通過使用包含在所述文件樣品中的文件的第一特性量,確定第一關(guān)鍵值。同樣地,通過使用包括在所述文件樣品中的文件的第二特性量,確定第二關(guān)鍵值。確定文件的第一子集,其包括包含在所述文件索引中的所有文件,對于所述文件,所述第一特性量大于所述第一關(guān)鍵值,所述第二特性量大于所述第二關(guān)鍵值,并且所述狀態(tài)信息指定所述文件被所述第一存儲空間所保持。
僅包含在所述文件樣本中的文件的第一和第二特性量被用于確定所述第一和第二關(guān)鍵值。包含在所述文件樣本中的給定數(shù)量的文件可以比包含在所述文件索引中的全部數(shù)量的文件少得多。因此,可以迅速確定所述第一和第二關(guān)鍵值。由于以均勻分布方式在文件索引中列出文件,所以所述文件樣本包含文件的代表性分布,并由此所述第一關(guān)鍵值和所述第二關(guān)鍵值提供了用于給文件索引的所有文件分類的有用的量。
根據(jù)本發(fā)明實施例,確定文件的第二子集,其中對于文件的第二子集所包括的每個文件,所述第一特性量小于所述第一關(guān)鍵值但大于第一閾值,所述第二特性量大于所述第二關(guān)鍵值,并且所述文件通過所述狀態(tài)信息指定被所述第一存儲空間所保持。確定文件的第三子集,對于其所包括的每個文件,所述第一特性量大于所述第一關(guān)鍵值,所述第二特性量小于所述第二關(guān)鍵值但大于第二閾值,并且所述文件通過所述狀態(tài)信息指定被所述第一存儲空間所保持。此外,確定文件的第四子集,對于其所包括的每個文件,所述第一特性量小于所述第一關(guān)鍵值但大于所述第一閾值,所述第二特性量小于所述第二關(guān)鍵值但大于所述第二閾值。
如果包含在文件索引中的文件滿足以上給定條件,則它們被分類成文件的第一、第二、第三或第四子集。通過使用所述文件索引以及通過使用所述第一關(guān)鍵值、第二關(guān)鍵值、第一閾值和第二閾值,標(biāo)識出例如可從第一存儲空間中進行移動的合格候選者。當(dāng)需要時常得出文件索引,并且僅通過使用所述文件索引選出的樣本來確定所述第一關(guān)鍵值及所述第二關(guān)鍵值時,根據(jù)本發(fā)明的方法是尤其有利的。因此,所述第一關(guān)鍵值及所述第二關(guān)鍵值可被迅速確定,因為未使用整個文件索引。
根據(jù)本發(fā)明實施例,如果在所述文件的第一子集中包含多于所述給定數(shù)量的文件,則將所述文件的第一子集中給定數(shù)量的文件從所述第一存儲空間移動到所述第二存儲空間,并且如果在所述文件的第一子集中包含少于所述給定數(shù)量的文件,則將包含在第一存儲空間中的所述文件的第一子集的所有文件從所述第一存儲空間移動到所述第二存儲空間。此外,移動所述文件的第二子集或所述文件的第三子集或所述文件的第四子集中的剩余數(shù)量的文件,使得總共所述給定數(shù)量的文件從所述第一存儲空間移動到所述第二存儲空間。更新所述文件的第一子集、所述文件的第二子集、所述文件的第三子集和所述文件的第四子集。
因此,通過使用將所述文件分類成文件的第一、第二、第三和第四子集,確定用于移動文件的合格候選者。優(yōu)選地,移動所述文件的第一子集中的下述文件,對于所述文件,所述第一特性量大于所述第一關(guān)鍵值,所述第二特性量大于所述第二關(guān)鍵值。如果假定給定數(shù)量的文件將被移動,并且在所述文件的第一子集中包含多于給定數(shù)量文件的文件,則從所述文件的第一子集中移動給定數(shù)量的文件。不過,如果假定多于在所述文件的第一子集中包含的文件數(shù)量的文件將被移動,則來自所述文件的第二子集和/或所述文件的第三子集的文件被移動到所述第二存儲空間。此外,如果在所述文件的第二和第三子集中未包含足夠文件,則移動來自所述文件的第四子集的文件。文件的總數(shù)可指代由管理員指定的數(shù)量。文件的總數(shù)還可被隱含地給出,例如通過指定必須在所述第一存儲空間上可用的給定存儲量而給出。那么,達到釋放給定存儲量所需那么多的文件從所述第一存儲空間移動到所述第二存儲空間。
根據(jù)本發(fā)明實施例,在所述給定數(shù)量的文件從所述第一存儲空間移動到所述第二存儲空間之前,所述文件的第一子集、所述文件的第二子集、所述文件的第三子集和所述文件的第四子集被動態(tài)確定,并且僅當(dāng)所述文件的第一子集、所述文件的第二子集和所述文件的第三子集中未包含足夠文件時,才移動來自所述文件的第四子集的文件。因此,僅在對于文件從所述第一存儲空間到所述第二存儲空間的遷移進行調(diào)度之前,所述文件的第一子集、所述文件的第二子集、所述文件的第三子集和所述文件的第四子集中包含的文件被確定。
根據(jù)本發(fā)明實施例,根據(jù)被添加到海量存儲系統(tǒng)的新文件的數(shù)量或根據(jù)包含在文件的第一、第二、第三或第四子集中的文件數(shù)量,重新生成文件索引。
根據(jù)本發(fā)明實施例,所述第一特性量指定文件年齡(age),并且所述第二特性量指定文件大小。因此,在本發(fā)明的本實施例中,為所述文件索引中的每個文件列出的第一特性量指代文件年齡。文件年齡通常指代從該文件上次被訪問開始的時間段。不過,文件年齡還可指代從該文件被創(chuàng)建開始的時間段。所述第二特性量指代文件大小。那么,通過使用每個文件的所述第一特性量確定的第一關(guān)鍵值將是指定某個文件年齡的值。那么,通過使用所述第二特性量確定的第二關(guān)鍵值將是指定某個文件大小的值。
根據(jù)本發(fā)明實施例,通過計算包含在所述文件樣本中的文件的平均年齡來確定所述第一關(guān)鍵值,并且通過計算由包含在所述文件樣本中的文件所占據(jù)的平均空間來確定所述第二關(guān)鍵值。
根據(jù)本發(fā)明實施例,所述海量存儲系統(tǒng)是層級存儲管理系統(tǒng),其中所述第一存儲空間由層一存儲設(shè)備提供,并且其中所述第二存儲空間由層二存儲設(shè)備提供。
根據(jù)本發(fā)明實施例,所述第一存儲空間和所述第二存儲空間由一個存儲設(shè)備提供,或者可替換地,所述第一存儲空間和所述第二存儲空間由兩個分開的存儲設(shè)備提供。
所述第一存儲空間可以例如被分配在存儲設(shè)備的一個分區(qū)上,而所述第二存儲空間可以被分配在同一存儲設(shè)備的另一個分區(qū)上。那么文件可以用壓縮方式存儲在所述第二存儲空間上??商鎿Q地,所述第一存儲空間可以由高速存儲設(shè)備提供,而所述第二存儲空間可以由較慢存儲設(shè)備提供。
根據(jù)本發(fā)明實施例,通過使用散列算法來執(zhí)行在所述文件索引內(nèi)的條目的訪問,其中所述散列算法被用于存儲和檢索所述文件索引中由所述第一或第二存儲空間保持的每個文件的信息狀態(tài)和屬性,并且其中所述第一和第二特性量被包括在每個文件的屬性中。
通過掃描包含在所述第一存儲空間和所述第二存儲空間中的所有文件,并通過使用用于在所述文件索引中安排文件的散列算法,生成所述文件索引。由于使用了散列算法,在所述文件索引中以均勻分布方式列出文件。這具有下述優(yōu)點,即,從完全的文件列表中得到的任何文件樣本均表示包含在所述文件索引中的文件的正態(tài)分布。在從所述文件索引中得到的隨機樣本中,如果選擇了適當(dāng)?shù)臉颖敬笮?,將不會呈現(xiàn)局部偏離。因此,樣本大小(即,包含在樣本中的給定數(shù)量的文件)可以比包含在所述第一和第二存儲空間中的文件數(shù)量少得多。例如,在所述第一存儲空間和所述第二存儲空間中可以包含多于108或109個文件,而在文件樣本中僅可列出10000個文件。大體上,因為由于文件索引的均勻分布方式導(dǎo)致文件樣本是文件索引的示意性概貌,并從而是海量存儲系統(tǒng)的示意性概貌,所以沒有理由不把樣本中的文件數(shù)量保持成很低的數(shù)量。
在另一方面,本發(fā)明涉及一種計算機程序產(chǎn)品,其包括用于執(zhí)行根據(jù)前述權(quán)利要求
的任一項的方法的計算機可執(zhí)行指令。
在另一方面,本發(fā)明涉及一種用于管理海量存儲系統(tǒng)的數(shù)據(jù)處理系統(tǒng),其中所述海量存儲系統(tǒng)包括第一存儲空間和第二存儲空間,并且其中所述數(shù)據(jù)處理系統(tǒng)包括用于生成文件索引的裝置,所述文件索引以均勻分布方式列出每個文件連同第一特性量、第二特性量和狀態(tài)信息。所述狀態(tài)信息指定所述文件是被保持在所述第一存儲空間上還是所述第二存儲空間上。所述數(shù)據(jù)處理系統(tǒng)還包括用于從所述文件索引中選擇文件樣本的裝置,所述文件樣本包含給定數(shù)量的文件,并且其中所述給定數(shù)量的文件中的每個文件的所述狀態(tài)信息指定所述文件被保持在所述第一存儲空間上。所述數(shù)據(jù)處理系統(tǒng)還包括用于通過使用所述文件樣本中的每個文件的所述第一特性量來確定第一關(guān)鍵值的裝置和用于通過使用所述文件樣本中的每個文件的所述第二特性量來確定第二關(guān)鍵值的裝置,以及用于確定文件的第一子集的另外的裝置,對于所述文件的第一子集所包括的每個文件,所述第一特性量大于所述第一關(guān)鍵值,所述第二特性量大于所述第二關(guān)鍵值,并且所述文件通過所述狀態(tài)信息指定被所述第一存儲空間所保持。
下文中將僅通過示例并參考附圖來更詳細地描述本發(fā)明的優(yōu)選實施例,在附圖中圖1示出了包括海量存儲系統(tǒng)的計算機系統(tǒng)的框圖;圖2描述了示出由根據(jù)本發(fā)明的方法執(zhí)行的基本步驟的流程圖;圖3描述了在大型文件系統(tǒng)內(nèi)文件相對于文件年齡的典型分布;圖4示出了文件數(shù)量相對于文件大小的典型分布;以及圖5在圖形上示出了用于確定文件的第一、第二、第三和第四子集的標(biāo)準(zhǔn)。
具體實施方式圖1示出了包括海量存儲系統(tǒng)的計算機系統(tǒng)100的框圖。計算機系統(tǒng)100包括非易失性存儲設(shè)備106、微處理器108、易失性存儲設(shè)備102、屏幕150和輸入設(shè)備152。海量存儲系統(tǒng)包括第一存儲空間102和第二存儲空間104,在此示例中此二者均被分配在非易失性存儲設(shè)備106上。第一存儲空間102保持第一多個文件114,例如多于108個文件。第二存儲空間104保持第二多個文件116,例如也多于108個文件。
微處理器108執(zhí)行同樣是海量存儲系統(tǒng)一部分的計算機程序產(chǎn)品110。計算機程序產(chǎn)品110包括用于執(zhí)行根據(jù)本發(fā)明方法的指令。通過掃描第一存儲空間102以及可選地掃描第二存儲空間104而生成文件索引118。文件索引118存儲在易失性存儲設(shè)備112上。它被永久性存儲在第一存儲空間102上。也可能文件索引118僅被部分地加載到易失性存儲設(shè)備112中,特別是當(dāng)該索引很大的時候。
文件索引118列出了存儲在第一存儲空間102以及可選地存儲在第二存儲空間104中的每個文件。因此,文件索引列出了第一多個文件114和第二多個文件116中的每個文件。對于文件索引118中列出的文件120,還在文件索引118中存儲了第一特性量122、第二特性量124和狀態(tài)信息126。狀態(tài)信息126指定該文件是被保持在第一存儲空間102上還是第二存儲空間104上。狀態(tài)信息126還可指定文件地址,例如,該文件在第一存儲空間102或第二存儲空間104上存儲的位置,使得該文件可被立刻訪問到。在本發(fā)明實施例中,通過掃描第一存儲空間102以及掃描第二存儲空間104,以及通過使用散列算法來把第一多個文件114或第二多個文件116中的每個文件的文件信息存儲在文件索引118中,而生成文件索引118。通常,散列算法允許用高效方式存儲不僅僅第一和第二特性量。可以通過使用散列算法用高效方式存儲許多屬性。第一特性量和第二特性量則屬于所述屬性。信息狀態(tài)也屬于所述屬性,信息狀態(tài)指定文件在非易失性存儲設(shè)備106上存儲的位置。以均勻分布方式在文件索引118中列出文件,例如這通過使用散列算法來確保。
從文件索引118中選擇文件樣本128。文件樣本128包含文件索引118中的給定數(shù)量130個文件。文件樣本128中的文件例如可以從文件索引118中列出的第一文件中取得,或者它們可以隨機地從文件索引118中挑選出來。給定數(shù)量130例如可以由系統(tǒng)管理員來設(shè)置。例如當(dāng)初始化系統(tǒng)時,在屏幕150上顯現(xiàn)的請求將要求系統(tǒng)管理員通過使用輸入設(shè)備152來鍵入給定數(shù)量130,給定數(shù)量130將存儲在易失性存儲設(shè)備112上或可替換地存儲在非易失性存儲設(shè)備106上。
對于文件樣本128,僅考慮物理地存儲在第一存儲空間102內(nèi)的文件。這可以通過在將所選文件分配到文件樣本128之前檢查所選文件的狀態(tài)信息來完成。例如,如果文件120被分配到文件樣本128,則之前已檢查看狀態(tài)信息126,以便確保文件120最初存儲在第一多個文件114上。
通過使用文件樣本128中包含的每個文件的第一特性量來確定第一關(guān)鍵值134。因此,通過使用文件120的第一特性量122連同文件樣本128的其它文件的其它第一特性量,確定第一關(guān)鍵值134。
通過使用文件樣本128中包含的每個文件的第二特性量來確定第二關(guān)鍵值136。因此,通過使用文件120的第二特性量124連同文件樣本128中包含的所有其它文件的其它第二特性量,確定第二關(guān)鍵值136。第一關(guān)鍵值134和第二關(guān)鍵值136存儲在易失性存儲設(shè)備112上或可替換地存儲在非易失性存儲設(shè)備106上。
確定文件的第一子集138。來自文件索引118的文件140被分配給文件的第一子集138,由此其第一特性量154大于第一關(guān)鍵值134,并且由此其第二特性量156大于第二關(guān)鍵值136,并且所述文件140的狀態(tài)信息158指定在第一存儲空間102上保持文件。
還確定文件的第二子集142,其包括來自文件索引118的所有文件144,所述文件144具有的第一特性量小于第一關(guān)鍵值134但大于第一閾值158,且具有的第二特性量大于第二關(guān)鍵值136,所述文件144由狀態(tài)信息指定在第一存儲空間102上存儲。
還確定文件的第三子集146,其包括來自文件索引118的所有文件148,所述文件148具有的第一特性量大于第一關(guān)鍵值134,且具有的第二特性量小于第二關(guān)鍵值136但大于第二閾值160,所述文件148由狀態(tài)信息指定在第一存儲空間102上存儲。
還確定文件的第四子集154,其包括來自文件索引118的所有文件156,所述文件156具有的第一量小于第一關(guān)鍵值134但大于第一閾值158,且具有的第二特性量小于第二關(guān)鍵值136但大于第二閾值160,所述文件156由狀態(tài)信息指定在第一存儲空間102上存儲。第一閾值158和第二閾值160是例如由系統(tǒng)管理員指定的恒定值。
因此,文件的第一子集138、文件的第二子集142、文件的第三子集146和文件的第四子集154包括滿足以上給定條件的文件。大致上,文件子集138、142、146和154例如可被系統(tǒng)管理員用來得出關(guān)于第一存儲空間102的統(tǒng)計。在本發(fā)明的優(yōu)選實施例中,文件子集138、142、146和154用于標(biāo)識候選文件,所述候選文件被假定從第一多個文件114移動到第二多個文件116。優(yōu)選地,包括在文件的第一子集138中的文件被首先移動,接著包括在文件的第二和第三子集144和148中的文件被移動。最后,如果文件的第一、第二和第三子集的所有文件都已被移動,則來自文件的第四子集154的文件從第一存儲空間102被移動到第二存儲空間104。典型地,將從文件的第一子集138中移出給定數(shù)量的文件。給定數(shù)量可被選擇,從而例如使得在第一存儲空間102上一定量的存儲空間可用。如果比文件的第一子集138中可用文件更多的文件必須被移動,則包含在文件的第二子集142和/或文件的第三子集146中的文件將被移動。最后,如果在文件的第一、第二和第三子集138、142和146中未包含足夠文件,則來自文件的第四子集154的文件將被移動。在文件已被移動之后,在文件的第一子集138、文件的第二子集142、文件的第三子集146和文件的第四子集154中包含的文件必須被相應(yīng)地更新。這大致上意味著,已經(jīng)從第一多個文件114移動到第二多個文件116的文件必須從相應(yīng)的文件子集中取消。從而,文件索引118必須被更新,這意味著已經(jīng)從第一存儲空間102移動到第二存儲空間104的文件的狀態(tài)信息必須被改變。
典型地,在文件從第一存儲空間移動到第二存儲空間之前,文件的第一子集138、文件的第二子集142、文件的第三子集146和文件的第四子集154被動態(tài)確定。這確保各種文件子集138、142、146和154包含滿足在當(dāng)調(diào)度遷移之時由第一關(guān)鍵值134和136設(shè)置的需求的文件。
當(dāng)包含在文件的第一、第二、第三或第四子集138中的文件數(shù)量變得非常少,以至于基本上在這些文件子集中未包含足夠的文件時,重新生成文件索引118,來提供一種在第一存儲空間中生成足夠的自由空間的充分方式。
在優(yōu)選實施例中,文件的第一特性量對應(yīng)于文件年齡(age)。第二特性量對應(yīng)于文件大小。那么第一關(guān)鍵值134例如是特定文件年齡。那么第二關(guān)鍵值136是特定文件大小。將在以下描述確定這些值的各種可能性。那么第一閾值158將是另一特定文件年齡,而第二閾值160將指代另一特定文件大小。包含在文件的第一子集138中的文件是相對老和相對大的文件,因為這些文件所具有的第一特性量134大于第一關(guān)鍵值158,且其具有的第二特性量136大于第二關(guān)鍵值160。
在圖1示出的示例中,第一存儲空間102和第二存儲空間104被分配在一個非易失性存儲設(shè)備106上。非易失性存儲設(shè)備106可以例如是硬盤驅(qū)動器。那么第一存儲空間102可以是硬盤驅(qū)動器上的已分配空間。那么第二存儲空間可以是例如其中以包括方式在硬盤上存儲文件的存儲空間。在本發(fā)明的另一實施例中,第一存儲空間可以是在硬盤上,而第二存儲空間可以被分配在不同存儲設(shè)備上,所述存儲設(shè)備例如可以是磁帶驅(qū)動器。此外,第一存儲空間例如可以位于客戶端計算機系統(tǒng)上,從而用戶可快捷迅速地訪問包含在第一存儲空間上的文件中存儲的數(shù)據(jù)。那么第二存儲空間可以是位于服務(wù)器計算機上的存儲空間,所述服務(wù)器計算機通過因特網(wǎng)連接而連接于客戶端計算機,從而包含在服務(wù)器計算機上的數(shù)據(jù)僅可以用較慢的方式對客戶端計算機上的用戶可用。
圖2描述了示出由根據(jù)本發(fā)明的方法執(zhí)行的基本步驟的流程圖。在步驟200,生成以均勻分布方式列出每個文件連同第一特性量、第二特性量和狀態(tài)信息的文件索引。狀態(tài)信息指定將文件保持在第一存儲空間或第二存儲空間上。在步驟202,從文件索引中選擇文件樣本。文件樣本包含給定數(shù)量的文件,而所述給定數(shù)量的文件中的每個文件的狀態(tài)信息指定將文件保持在第一存儲空間上。在步驟204,通過使用所述文件樣本中的每個文件的第一特性量來確定第一關(guān)鍵值,而在步驟206,通過使用所述文件樣本中的每個文件的第二特性量來確定第二關(guān)鍵值。在步驟208,確定文件的第一子集。
在本發(fā)明實施例中,根據(jù)本發(fā)明的方法進行到步驟210,在步驟210確定文件的第二子集,并且本發(fā)明的方法進行到步驟212,在步驟212確定文件的第三子集,并且本發(fā)明的方法進行到步驟214,在步驟214確定文件的第四子集。此外,在步驟216,優(yōu)選地來自文件的第一子集的文件從第一存儲空間遷移到第二存儲空間。
圖3描述了對于大型文件系統(tǒng)的文件數(shù)量相對于文件年齡的典型分布300。x軸302指代以天為單位的文件年齡,而y軸304指代文件數(shù)量。文件年齡通常指代從該文件上次被訪問開始的時間段。如從圖中可見,對于特定年齡的文件數(shù)量基本未偏離文件的平均數(shù)量Nave306。因此,在文件系統(tǒng)內(nèi),文件數(shù)量相對于文件年齡或多或少地均衡分布?;旧?,僅可以使用一個標(biāo)準(zhǔn)(即文件年齡)來確定假定要從第一存儲空間遷移到第二存儲空間的文件。例如,可以遷移比一個月更久的所有文件。不過,如圖3所示,文件數(shù)量相對于文件年齡或多或少地均衡分布。因此,僅僅文件年齡不會真正地提供用于遷移文件的非常有用的標(biāo)準(zhǔn)。
圖4示出了文件數(shù)量相對于文件大小的典型分布400。在此圖中,文件數(shù)量404被示出為文件大小402的函數(shù)。如可見的,文件數(shù)量404相對于文件大小402減少。因此,僅僅少量文件包含所存儲的多數(shù)數(shù)據(jù),而大多數(shù)其它文件相對較小。因此,文件大小是用于決定文件是否應(yīng)該被移動到第二存儲空間的相對強的標(biāo)準(zhǔn),因為僅通過移動少數(shù)文件(即最大的那些文件),就可以使第一存儲空間上的相對大量的自由空間可用。
圖5在圖形上示出了用于確定文件的第一、第二、第三和第四子集的標(biāo)準(zhǔn)。圖500的x軸502指代文件大小,而圖的y軸504指代文件年齡。由第一特性量(在此情形中為文件年齡)以及由第二特性量(在此情形中為文件大小)指定的文件系統(tǒng)的任何文件可被置于圖500中的相應(yīng)坐標(biāo)。
在此示例中第一關(guān)鍵值Tavg是通過包含在文件樣本中的文件確定的特定文件年齡。第一閾值Tthreshold可以例如是由系統(tǒng)管理員設(shè)置的值,其指代最小文件年齡。預(yù)見到較新的文件不會被移動。Tavg可以例如通過文件樣本中比Tthreshold更老的文件的平均年齡來確定。
第二關(guān)鍵值Nsize506可以通過由包含在隨機樣本中的文件所占據(jù)的存儲容量C來確定。第二關(guān)鍵值Nsize506例如是存儲容量的一半C50%。該值可以通過以下方法迭代計算通過所有文件i的文件大小來為所有文件i分類;對于所有文件i,進行C=C+文件i的文件大??;C50%=C/2;While(i=0;sum=sum+小于C50%的文件i的文件大??;在最后i=i+1;文件i的大小等于大小(C50%))第二閾值Nthreshold510可以例如指代由系統(tǒng)管理員設(shè)置的特定文件大小,其指代最小文件大小。預(yù)見到較小的文件不會被移動。
第一關(guān)鍵值Tavg508和第二關(guān)鍵值Nsize506是下述標(biāo)準(zhǔn),通過所述標(biāo)準(zhǔn),各種文件子集彼此分開。因此,文件的第一子集514位于圖500的右上象限。文件的第二子集516在文件的第一子集514之下。文件的第三子集518和文件的第四子集520由第一關(guān)鍵值Tavg508分開。
只要在文件的第一子集514中有足夠的文件可用作為遷移候選者,就只有這些文件應(yīng)該被遷移,因為這些文件是所找到的最佳候選者。因此,選擇文件i的概率Pi是Pi=1。當(dāng)文件的第一子集514中未剩下文件時,同樣其它象限應(yīng)被用于選擇用于遷移的文件。文件的第二子集516和文件的第三子集518比文件的第四子集520更合適,因此它們將被首先查詢??赡苄允菑奈募牡诙蛹?16或從文件的第三子集518中隨機選擇文件。
另一可能性是選擇文件的第二和第三子集中最合適用于遷移的文件。盡管在文件的第二和第三子集中已經(jīng)滿足一個標(biāo)準(zhǔn)(年齡或大小),但其它標(biāo)準(zhǔn)可見為取決于實際年齡(Agei)或大小(Sizei)在0和1之間的概率P(Agei)和P(Sizei)。包含在文件的第四子集520中的文件是最差選擇,因此僅在文件的其它子集的象限中未剩下文件時才應(yīng)該選擇它們。對于包含在文件的第四子集中的文件的概率Pi需要基于兩個實際值(Agei,Sizei)。此外,年齡和大小之間的優(yōu)先級可通過權(quán)重因子(WeightAge,WeightSize)來調(diào)整。權(quán)重因子可在0到<1的范圍內(nèi)選擇,其中WeightAge+WeightSize<1。
文件的概率Pi被實現(xiàn)為隨機選擇。隨機選擇本身可通過隨機數(shù)生成器來實現(xiàn),隨機數(shù)生成器為每個文件生成隨機數(shù)R。如果隨機數(shù)R小于文件的概率P,則該文件將被遷移。
因此,可以通過以下情形來表示選擇方法1.如果文件i包含在文件的第一子集514中Pi=12.如果文件i包含在文件的第三子集518中Pi=P(Sizei)*WeightSize3.如果文件i包含在文件的第二子集516中Pi=P(Agei)*WeightAge4.如果文件i包含在文件的第四子集520中Pi=0如果R<Pi(始終會是這樣),則從文件的第一子集中得到文件。從文件的第三和第二子集中得到文件,且R<Pi,這意味著選擇較老和較大文件的概率大于選擇較新和較小的文件。R始終大于第四象限的Pi=0。因此,最初不會從第四象限中得到文件。
如果在文件的第一、第二和第三子集中未包含文件,則給出一個例外。對于此情況,以上情況4將用以下方式來替換如果文件i包含在文件的第四子集中Pi=P(Agei)*WeightAge+P(Sizei)*WeightSize在每次掃描其中在文件索引中更新了文件屬性的文件系統(tǒng)之后,調(diào)節(jié)用于區(qū)分四個象限的第一關(guān)鍵值508和第二關(guān)鍵值506。
權(quán)利要求
1.一種用于管理海量存儲系統(tǒng)的方法,所述海量存儲系統(tǒng)包括第一存儲空間和第二存儲空間,所述方法包括生成文件索引,所述文件索引以均勻分布方式列出每個文件連同第一特性量、第二特性量和狀態(tài)信息,所述狀態(tài)信息指定所述文件是被保持在所述第一存儲空間上還是所述第二存儲空間上;從所述文件索引中選擇文件樣本,所述文件樣本包含給定數(shù)量的文件,其中所述給定數(shù)量的文件中的每個文件的所述狀態(tài)信息指定所述文件被保持在所述第一存儲空間上;通過使用所述文件樣本中的每個文件的所述第一特性量來確定第一關(guān)鍵值;通過使用所述文件樣本中的每個文件的所述第二特性量來確定第二關(guān)鍵值;以及確定文件的第一子集,對于其所包括的每個文件,所述第一特性量大于所述第一關(guān)鍵值,所述第二特性量大于所述第二關(guān)鍵值,并且所述文件通過所述狀態(tài)信息指定被所述第一存儲空間所保持。
2.根據(jù)權(quán)利要求
1所述的方法,其中所述方法還包括確定文件的第二子集,對于其所包括的每個文件,所述第一特性量小于所述第一關(guān)鍵值但大于第一閾值,所述第二特性量大于所述第二關(guān)鍵值,并且所述文件通過所述狀態(tài)信息指定被所述第一存儲空間所保持;確定文件的第三子集,對于其所包括的每個文件,所述第一特性量大于所述第一關(guān)鍵值,所述第二特性量小于所述第二關(guān)鍵值但大于第二閾值,并且所述文件通過所述狀態(tài)信息指定被所述第一存儲空間所保持;以及確定文件的第四子集,對于其所包括的每個文件,所述第一特性量小于所述第一關(guān)鍵值但大于所述第一閾值,所述第二特性量小于所述第二關(guān)鍵值但大于所述第二閾值。
3.根據(jù)權(quán)利要求
1和2所述的方法,所述方法還包括如果在所述文件的第一子集中包含多于所述給定數(shù)量的文件,則將所述文件的第一子集中給定數(shù)量的文件從所述第一存儲空間移動到所述第二存儲空間;如果在所述文件的第一子集中包含少于所述給定數(shù)量的文件,則將所述文件的第一子集的所有文件從所述第一存儲空間移動到所述第二存儲空間,并且移動所述文件的第二子集或所述文件的第三子集或所述文件的第四子集中的剩余數(shù)量的文件,使得總共所述給定數(shù)量的文件從所述第一存儲空間移動到所述第二存儲空間;以及更新所述文件的第一子集、所述文件的第二子集、所述文件的第三子集和所述文件的第四子集。
4.根據(jù)權(quán)利要求
3所述的方法,其中在所述給定數(shù)量的文件從所述第一存儲空間移動到所述第二存儲空間之前,所述文件的第一子集、所述文件的第二子集、所述文件的第三子集和所述文件的第四子集被動態(tài)確定,并且其中僅當(dāng)在所述第一子集、所述第二子集和所述第三子集中未包含足夠文件時,才從所述文件的第四子集中移動文件。
5.根據(jù)權(quán)利要求
1至4的任一項所述的方法,其中根據(jù)被添加到海量存儲系統(tǒng)的新文件的數(shù)量或根據(jù)包含在文件的第一、第二、第三或第四子集中的文件數(shù)量,重新生成所述文件索引。
6.根據(jù)權(quán)利要求
1至5的任一項所述的方法,其中所述第一特性量指定文件年齡,并且其中所述第二特性量指定文件大小。
7.根據(jù)權(quán)利要求
1至6的任一項所述的方法,其中通過計算包含在所述文件樣本中的文件的平均年齡來確定所述第一關(guān)鍵值,并且其中通過計算由包含在所述文件樣本中的文件所占據(jù)的平均空間來確定所述第二關(guān)鍵值。
8.根據(jù)權(quán)利要求
1至7的任一項所述的方法,其中所述海量存儲系統(tǒng)是層級存儲管理系統(tǒng),其中所述第一存儲空間由層一存儲設(shè)備提供,并且其中所述第二存儲空間由層二存儲設(shè)備提供。
9.根據(jù)權(quán)利要求
1至8的任一項所述的方法,其中所述第一存儲空間和所述第二存儲空間由一個存儲設(shè)備提供,或者其中所述第一存儲空間和所述第二存儲空間由兩個分開的存儲設(shè)備提供。
10.根據(jù)權(quán)利要求
1至9的任一項所述的方法,其中通過使用散列算法生成所述文件索引,其中所述散列算法被用于存儲和檢索所述文件索引中由所述第一或所述第二存儲空間保持的每個文件的信息狀態(tài)和屬性,并且其中所述第一和所述第二特性量被包括在每個文件的屬性中。
11.一種用于管理海量存儲系統(tǒng)的數(shù)據(jù)處理系統(tǒng),所述海量存儲系統(tǒng)包括第一存儲空間和第二存儲空間,所述數(shù)據(jù)處理系統(tǒng)包括用于生成文件索引的裝置,所述文件索引以均勻分布方式列出每個文件連同第一特性量、第二特性量和狀態(tài)信息,所述狀態(tài)信息指定所述文件是被保持在所述第一存儲空間上還是所述第二存儲空間上;用于從所述文件索引中選擇文件樣本的裝置,所述文件樣本包含給定數(shù)量的文件,其中所述給定數(shù)量的文件中的每個文件的所述狀態(tài)信息指定所述文件被保持在所述第一存儲空間上;用于通過使用所述文件樣本中的每個文件的所述第一特性量來確定第一關(guān)鍵值的裝置;用于通過使用所述文件樣本中的每個文件的所述第二特性量來確定第二關(guān)鍵值的裝置;以及用于確定文件的第一子集的裝置,對于所述文件的第一子集所包括的每個文件,所述第一特性量大于所述第一關(guān)鍵值,所述第二特性量大于所述第二關(guān)鍵值,并且所述文件通過所述狀態(tài)信息指定被所述第一存儲空間所保持。
12.根據(jù)權(quán)利要求
11所述的數(shù)據(jù)處理系統(tǒng),其中所述數(shù)據(jù)處理系統(tǒng)還包括用于確定文件的第二子集的裝置,對于所述文件的第二子集所包括的每個文件,所述第一特性量小于所述第一關(guān)鍵值但大于第一閾值,所述第二特性量大于所述第二關(guān)鍵值,并且所述文件通過所述狀態(tài)信息指定被所述第一存儲空間所保持;用于確定文件的第三子集的裝置,對于所述文件的第三子集所包括的每個文件,所述第一特性量大于所述第一關(guān)鍵值,所述第二特性量小于所述第二關(guān)鍵值但大于第二閾值,并且所述文件通過所述狀態(tài)信息指定被所述第一存儲空間所保持;以及用于確定文件的第四子集的裝置,對于所述文件的第四子集所包括的每個文件,所述第一特性量小于所述第一關(guān)鍵值但大于所述第一閾值,所述第二特性量小于所述第二關(guān)鍵值但大于所述第二閾值。
13.根據(jù)權(quán)利要求
11和12所述的數(shù)據(jù)處理系統(tǒng),所述數(shù)據(jù)處理系統(tǒng)還包括用于如果在所述文件的第一子集中包含多于所述給定數(shù)量的文件,則將所述文件的第一子集中給定數(shù)量的文件從所述第一存儲空間移動到所述第二存儲空間的裝置;用于如果在所述文件的第一子集中包含少于所述給定數(shù)量的文件,則將所述文件的第一子集的所有文件從所述第一存儲空間移動到所述第二存儲空間,并且移動所述文件的第二子集或所述文件的第三子集或所述文件的第四子集中的剩余數(shù)量的文件,使得總共所述給定數(shù)量的文件從所述第一存儲空間移動到所述第二存儲空間的裝置;以及用于更新所述文件的第一子集、所述文件的第二子集、所述文件的第三子集和所述文件的第四子集的裝置。
14.根據(jù)權(quán)利要求
12所述的數(shù)據(jù)處理系統(tǒng),其中在所述給定數(shù)量的文件從所述第一存儲空間移動到所述第二存儲空間之前,所述文件的第一子集、所述文件的第二子集和所述文件的第三子集被動態(tài)確定。
15.根據(jù)權(quán)利要求
11至14的任一項所述的數(shù)據(jù)處理系統(tǒng),其中所述第一特性量指定文件年齡,并且其中所述第二特性量指定文件大小。
16.根據(jù)權(quán)利要求
11至15的任一項所述的數(shù)據(jù)處理系統(tǒng),其中通過計算包含在所述文件樣本中的文件的平均年齡來確定所述第一關(guān)鍵值,并且其中通過計算由包含在所述文件樣本中的文件所占據(jù)的平均空間來確定所述第二關(guān)鍵值。
17.根據(jù)權(quán)利要求
11至16的任一項所述的數(shù)據(jù)處理系統(tǒng),其中所述海量存儲系統(tǒng)是層級存儲管理系統(tǒng),其中所述第一存儲空間由層一存儲設(shè)備提供,并且其中所述第二存儲空間由層二存儲設(shè)備提供。
18.根據(jù)權(quán)利要求
11至17的任一項所述的數(shù)據(jù)處理系統(tǒng),其中所述第一存儲空間和所述第二存儲空間由一個存儲設(shè)備提供,或者其中所述第一存儲空間和所述第二存儲空間由兩個分開的存儲設(shè)備提供。
19.根據(jù)權(quán)利要求
11至18的任一項所述的數(shù)據(jù)處理系統(tǒng),其中通過使用散列算法生成所述文件索引,其中所述散列算法被用于存儲和檢索所述文件索引中由所述第一或所述第二存儲空間保持的每個文件的信息狀態(tài)和屬性,并且其中所述第一和所述第二特性量被包括在每個文件的屬性中。
專利摘要
提供了一種用于管理海量存儲系統(tǒng)的方法,其中所述海量存儲系統(tǒng)包括第一存儲空間和第二存儲空間。生成文件索引,所述文件索引以均勻分布方式列出每個文件連同第一特性量、第二特性量和狀態(tài)信息,其中所述狀態(tài)信息指定所述文件是被保持在所述第一存儲空間上還是所述第二存儲空間上。從所述文件索引中選擇文件樣本。所述文件樣本包含給定數(shù)量的文件,其中所述給定數(shù)量的文件中的每個文件的所述狀態(tài)信息指定所述文件被保持在所述第一存儲空間上。通過使用所述文件樣本中包括的每個文件的所述第一特性量來確定第一關(guān)鍵值,以及通過使用所述文件樣本中的每個文件的所述第二特性量來確定第二關(guān)鍵值。接著確定文件的第一子集。
文檔編號G06F17/30GK1996312SQ200710001514
公開日2007年7月11日 申請日期2007年1月4日
發(fā)明者J-P·阿克爾貝因, C·米勒, J·福特 申請人:國際商業(yè)機器公司導(dǎo)出引文BiBTeX, EndNote, RefMan