欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

多卷文件支持的制作方法

文檔序號:6488403閱讀:212來源:國知局
專利名稱:多卷文件支持的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機(jī)系統(tǒng)的文件系統(tǒng)領(lǐng)域,更具體地說,涉及對于文件系統(tǒng)內(nèi)的文件的存儲空間的分配。
背景技術(shù)
計算機(jī)系統(tǒng)實現(xiàn)文件系統(tǒng)來管理由操作系統(tǒng)使用的文件和/或在計算機(jī)系統(tǒng)上執(zhí)行的應(yīng)用程序。執(zhí)行文件系統(tǒng)軟件來管理文件系統(tǒng)中的文件。過去,文件系統(tǒng)通常用單卷名字空間實現(xiàn),因此文件系統(tǒng)中的所有文件具有相同的存儲特征(例如,存儲裝置的類型,可靠性特征等)。不同的卷可具有不同的性能特征、不同的成本、和不同的可靠性特征。然而,可以認(rèn)為一些文件比其它的文件“更重要”,因此對于這些文件,期望更高的可靠性特征(即使付出更低的性能特征的代價)。其它文件可被頻繁地訪問和更新,因此期望高性能特征(即使付出更低的可靠性特征的代價)。另外,文件可具有數(shù)據(jù)(存儲在文件中的信息)和元數(shù)據(jù)(關(guān)于數(shù)據(jù)的信息)兩者。元數(shù)據(jù)通常被認(rèn)為比數(shù)據(jù)“更重要”,因此期望更高的可靠性特征。對于單卷名字空間,不可能為不同文件或文件的不同部分提供不同的性能、可靠性、和/或成本特征。
已進(jìn)行了一些有限的提供靈活性的嘗試。例如,出自SiliconGraphics,Inc(SGI)的XFS文件系統(tǒng)被用在諸如視頻服務(wù)器、視頻編輯等的實時關(guān)鍵應(yīng)用中。XFS文件系統(tǒng)提供一個實時空間和一個“正常”空間(非實時空間),并嘗試提供對實時空間中的數(shù)據(jù)的實時訪問(潛在地?fù)p害對正??臻g的訪問的情況下)。QFS文件系統(tǒng)允許將存儲裝置分為兩個池,一個用于存儲數(shù)據(jù),另一個用于存儲元數(shù)據(jù)。因此,數(shù)據(jù)或元數(shù)據(jù)被自動存儲在對應(yīng)的池中的裝置上。其它文件系統(tǒng)(例如,出自Digital Equipment Corporation后來被康柏計算機(jī)獲得的ADVFS,后來被惠普獲得)包含卷管理器的功能,在文件系統(tǒng)中直接提供諸如鏡像、分割、廉價冗余磁盤陣列(RAID)等的特征。
文件系統(tǒng)一般不具有將文件分配給具有該文件期望的特征的卷的靈活性,也無法將文件數(shù)據(jù)和文件元數(shù)據(jù)以可能期望的靈活性進(jìn)行分配。

發(fā)明內(nèi)容
在一個實施例中,一種計算機(jī)可訪問介質(zhì)可包括指令,所述指令當(dāng)被執(zhí)行時接收請求來為文件分配一個或多個塊。至少一個分配策略被分配給該文件,其中,分配策略指定將在其上分配塊的一個或多個存儲單元。在一些實施例中,存儲單元可包括卷,或者在其它實施例中,存儲單元可包括存儲裝置。此外,如果多于一個存儲單元被包括在一個或多個存儲單元中,則分配策略包括控制指示,其指示一種在存儲單元之中進(jìn)行選擇的機(jī)制。這些指令當(dāng)被執(zhí)行時還可根據(jù)分配策略分配塊。不同的分配策略可被分配給不同的文件,允許在將文件分配給存儲單元的過程中的靈活性。例如,在一些實現(xiàn)中,不同的文件可被分配給具有不同的性能、可靠性、和成本特征的卷。
在另一實施例中,一種計算機(jī)可訪問介質(zhì)包括指令,所述指令當(dāng)被執(zhí)行時接收請求來為文件系統(tǒng)中的文件分配一個或多個塊并根據(jù)分配策略來分配塊。分配策略在文件系統(tǒng)中兩個或更多級別的粒度上可指定。例如,在一些情況下,分配策略可在盤區(qū)、文件、目錄、文件集、和/或文件系統(tǒng)級別上指定。在一些實施例中,分配策略在操作期間可被改變。隨后的塊分配可根據(jù)新分配策略發(fā)生。以另一種方式看,塊分配可在分配時根據(jù)一個或多個分配策略被執(zhí)行。


下面的詳細(xì)描述參考附圖,現(xiàn)在簡短描述附圖。
圖1是系統(tǒng)的一個實施例的框圖。
圖2是文件系統(tǒng)、卷管理器、和各種卷或卷集的一個實施例的框圖。
圖3是更詳細(xì)的文件系統(tǒng)軟件的一個實施例的框圖。
圖4是i節(jié)點(diǎn)的一個實施例的框圖。
圖5是存儲文件數(shù)據(jù)的i節(jié)點(diǎn)的一個實施例的框圖。
圖6是存儲一個或多個對數(shù)據(jù)塊的指針的i節(jié)點(diǎn)的一個實施例的框圖。
圖7是存儲一個或多個對間接塊的指針的i節(jié)點(diǎn),且每個間接塊存儲一個或多個對數(shù)據(jù)塊的指針的一個實施例的框圖。
圖8是示出圖7中顯示的分配器的一個實施例的操作的流程圖。
圖9是示出應(yīng)用“按給出”分配策略的一個實施例的流程圖。
圖10是示出應(yīng)用“最空”分配策略的一個實施例的流程圖。
圖11是示出應(yīng)用“最小尺寸”分配策略的一個實施例的流程圖。
圖12是示出關(guān)于分配策略可被使用的命令的一個實施例的表。
圖13是更詳細(xì)的文件系統(tǒng)軟件的第二實施例的框圖。
圖14是示出包括在創(chuàng)建文件的過程中的行為的一個實施例的流程圖。
圖15是計算機(jī)可訪問介質(zhì)的一個實施例的框圖。
盡管本發(fā)明容許各種修改和替換形式,但其特定實施例通過附圖中的示例被顯示并將在此被詳細(xì)描述。然而,應(yīng)該理解,附圖和對其的詳細(xì)描述不是意圖將本發(fā)明限制為公開的特定形式,正相反,本發(fā)明將覆蓋落入由所附權(quán)利要求限定的本發(fā)明的精神和范圍內(nèi)的所有修改、等同物和選擇對象。
具體實施例方式
圖1是系統(tǒng)的一個實施例的框圖。在圖1的實施例中,該系統(tǒng)包括執(zhí)行硬件10和與執(zhí)行硬件10連接的多個存儲裝置12A-12N。
執(zhí)行硬件10可包括被設(shè)計以在使用期間執(zhí)行指令的至少一個處理器。多個處理器可被包括在一些實施例中。執(zhí)行硬件10可選擇性地包括其它組件(例如用于存儲由處理器執(zhí)行的指令和將由處理器操作的數(shù)據(jù)的系統(tǒng)存儲器、各種輸入/輸出(I/O)裝置等)。
存儲裝置12A-12N可包括任何類型的計算機(jī)可存取介質(zhì)。例如,在各種實施例中,存儲裝置12A-12N可包括小計算機(jī)系統(tǒng)接口(SCSI)盤、電子集成驅(qū)動器(IDE)盤、個人計算機(jī)存儲卡國際協(xié)會(PCMCIA)盤、通用串行總線(USB)盤、火線盤等。存儲裝置12A-12N還可包括固態(tài)存儲器(例如存儲器12N),其可包括各種非易失性存儲器裝置,諸如有電池支持的隨即存取存儲器(RAM)、閃速存儲器;各種可編程只讀存儲器(PROM),諸如可擦除PROM(EPROM)、電可擦除PROM(EEPROM)等。存儲裝置12A-12N還可包括可拆卸存儲器,諸如軟盤。存儲裝置12A-12N可經(jīng)由各種外設(shè)互連(例如IDE、外設(shè)組件互連(PCI)、USB、串行或并行接口等)被連接到執(zhí)行硬件10。另一方面,存儲裝置12A-12N可經(jīng)由網(wǎng)絡(luò)(有線或無線)被連接到執(zhí)行硬件10。在一些實施例中,存儲裝置12A-12N可被配置為存儲區(qū)域網(wǎng)(SAN)或者可以是網(wǎng)絡(luò)附加存儲器(NAS)。直接附加的存儲裝置和組網(wǎng)的存儲裝置的組合可在各種實施例中使用。
圖2是示出可在圖1顯示的系統(tǒng)的一些實施例中使用的某軟件基礎(chǔ)結(jié)構(gòu)的框圖。在圖2的實施例中,顯示了文件系統(tǒng)14、卷管理器16、和包括存儲裝置12A-12N的卷。文件系統(tǒng)和卷管理器軟件在使用期間可在執(zhí)行硬件10上被執(zhí)行。
一般,卷管理器16包括將存儲裝置組織成卷(和/或卷集)的軟件,并使得這些卷對于文件系統(tǒng)14可用,以用于文件的存儲。各種卷可具有不同的特征(例如不同的性能特征。不同的可靠性特征等)。如在此使用的,術(shù)語“卷(volume)”指的是在被組織并稱為單元的一個或多個存儲裝置12A-12N上的存儲塊的集合。一個卷可包括一個存儲裝置的所有塊、存儲裝置的一部分塊(例如盤分區(qū))、多個存儲裝置的所有塊?;蛘叨鄠€存儲裝置的每個上的一部分塊。如在此使用的,“存儲塊(storage block)”,或者更簡短地說,“塊”可以是在存儲裝置上(或在卷內(nèi))分配存儲空間的最小單位。塊尺寸可隨著實施例的不同而變化。例如,盡管可使用任意塊尺寸,但是4千字節(jié)的塊尺寸是普遍的。
卷的組織可提供特定的性能和/或可靠性特征。例如,圖2中的卷1是包括存儲裝置12A-12B的鏡像卷。卷管理器16可用相同的數(shù)據(jù)寫兩個存儲裝置12A-12B,因此裝置12A-12B中的一個產(chǎn)生故障不會導(dǎo)致數(shù)據(jù)的丟失。因此,卷1提供了鏡像冗余。其它卷可包括更多存儲裝置以提供數(shù)據(jù)的額外的鏡像,提供額外的冗余(從而提供更高的可靠性)。作為可靠性的另一示例,卷3可包括卷管理器16可作為RAID存儲器進(jìn)行管理的多個存儲裝置(包括圖2中的裝置12D和12E)。例如,RAID等級5可被實現(xiàn)在一些實施例中。其它實施例可實現(xiàn)任何RAID等級。一些性能特征可以是包括在卷中的存儲裝置或多個存儲裝置的結(jié)果(例如,不同類型的裝置可具有不同的延遲和帶寬特征)。因此,卷2和6基于包括在卷中的存儲裝置12C和12N可具有不同的性能特征。然而,性能特征還可經(jīng)由卷的組織被建立。例如,卷4包括被分割以增加性能的存儲裝置12F和12G。除了性能和可靠性特征之外,基于其下的存儲裝置的成本,每個卷還可具有成本特征。此外,幾個卷可被限定具有相同的成本、性能、和可靠性特征。不同的用戶可使用這樣的卷中的不同的卷,以確保用戶在訪問卷的過程中不會彼此干擾(例如,確保每個用戶可具有到對應(yīng)卷的專用帶寬)。
卷管理器16還可支持卷集的創(chuàng)建(例如圖2中的卷集18)。如在此使用的,“卷集”可以是被組織為用于被文件系統(tǒng)14進(jìn)行訪問的單個對象的一個或多個卷的集合。卷集內(nèi)的卷可由文件系統(tǒng)14使用卷集名稱和卷集內(nèi)期望的卷的索引來尋址。卷集內(nèi)的卷可具有不同的特征(例如,卷集18內(nèi)的卷5和卷7可具有不同的特征)。
一般,文件系統(tǒng)14可包括對更高級別的軟件(例如,操作系統(tǒng)、應(yīng)用程序等)所使用的文件進(jìn)行組織和跟蹤的軟件。文件系統(tǒng)14可將文件分等級地組織進(jìn)目錄中,并管理用于文件的存儲空間的分配。在圖2的實施例中,文件系統(tǒng)14可在由卷管理器16提供的一個或多個卷上分配塊來存儲文件數(shù)據(jù)(和文件元數(shù)據(jù))。在其它實施例中,如果不包括卷管理器16,則文件系統(tǒng)14可在各種存儲裝置12A-12N上直接分配塊。在這樣的實施例中,存儲裝置12A-12N中的每個可被文件系統(tǒng)14以與卷相似的方式對待。在文件系統(tǒng)中存儲的所有數(shù)據(jù)(例如,文件數(shù)據(jù)、元數(shù)據(jù)等)在此可被稱為文件系統(tǒng)數(shù)據(jù)。
分配策略文件系統(tǒng)14可為文件系統(tǒng)的指定各種分配策略。一般,“分配策略”可指定可被用于分配的一個或多個存儲單元。在實現(xiàn)卷管理器16的實施例中,存儲單元可包括卷(包括卷集內(nèi)的卷)。在沒有實現(xiàn)卷管理器16的實施例中,存儲單元可包括存儲裝置12A-12N。為了簡化剩余的討論,將指定一個或多個卷來討論分配策略。然而,其它實施例可具有一個或多個存儲裝置,并且將“卷”替換為“存儲裝置”(或者,更一般化地,將“卷”替換為“存儲單元”),則相似的操作可應(yīng)用。此外,如果分配策略指定多于一個存儲單元,則分配策略可包括指示在存儲器之中進(jìn)行選擇的機(jī)制的控制指示。在一些實施例中,可提供各種其它控制標(biāo)志(例如,非特權(quán)用戶是否可向文件分配策略的指示、策略對于所有分配是否要被嚴(yán)格的遵守的指示等)。分配策略還可被編碼為“空”,這意味著分配策略未被指定。在各種實施例中,一個缺省分配策略可被用于分配塊,或者在其它粒度級別上指定的分配策略可被使用。
當(dāng)為文件分配塊時,文件系統(tǒng)14可應(yīng)用分配策略。即,文件系統(tǒng)14可在由分配策略指定的卷上分配塊,并且在分配策略中未指定的卷上不可以分配塊(即使在分配策略中未指定的卷上塊是可用的)。在一些實施例中,分配策略可被用于控制哪個卷被用于給定的文件,因此可向文件系統(tǒng)14的用戶提供靈活性以控制各種文件被存儲在其上的存儲器的性能、成本、和可靠性特征。在一些實施例中,卷可具有由管理員分配的一個或多個特征。例如,這樣的分配特征可以基于位于卷外部的并且對于管理員已知的信息來識別卷。例如,管理員可分配特征,該特征識別卷的位置、網(wǎng)絡(luò)到卷和卷到網(wǎng)絡(luò)所期望的通信量等。分配策略可被定義以基于這樣的分配特征來控制分配。分配的特征可以以各種方式被表示(例如名稱/值對)。
在一個實施例中,分配策略可被單獨(dú)地分配給文件。即,每個文件可具有分配的一個或多個分配策略。例如,在一個實施例中,文件可由一個或多個i節(jié)點(diǎn)描述。一般,如在此使用的,“i節(jié)點(diǎn)(i node)”可包括描述文件的數(shù)據(jù)結(jié)構(gòu)。i節(jié)點(diǎn)被存儲在文件系統(tǒng)中,并被用于識別文件系統(tǒng)中的文件。i節(jié)點(diǎn)可存儲分配給文件的一個或多個分配策略(或者可存儲識別分配策略的標(biāo)簽,并且分配策略自身可被存儲在分配策略數(shù)據(jù)結(jié)構(gòu)中)。因此,每個文件可具有分配策略,并且不同文件的分配策略可能不同。此外,在一些實施例中,文件數(shù)據(jù)的i節(jié)點(diǎn)和文件元數(shù)據(jù)的i節(jié)點(diǎn)可以是分開的。因此,文件數(shù)據(jù)和文件元數(shù)據(jù)的分配策略可能不同。例如,文件元數(shù)據(jù)可被存儲在具有比對應(yīng)的文件數(shù)據(jù)更高的可靠性特征的卷上。對于不同類型的元數(shù)據(jù)也可存在分開的i節(jié)點(diǎn),允許分配策略對于不同類型的元數(shù)據(jù)不同。一般,元數(shù)據(jù)可以是描述文件(或文件中的數(shù)據(jù))的數(shù)據(jù)。例如,目錄信息可以是元數(shù)據(jù)。各種擴(kuò)展文件屬性(被諸如操作系統(tǒng)或應(yīng)用程序的更高級別的軟件所使用)可被存儲為元數(shù)據(jù)。到文件的符號鏈接可以是元數(shù)據(jù)。在各種實施例中,可提供任何元數(shù)據(jù)。分配策略還可逐i節(jié)點(diǎn)類型地分配(例如,文件數(shù)據(jù)i節(jié)點(diǎn)相對于元數(shù)據(jù)i節(jié)點(diǎn),或者各種類型的元數(shù)據(jù)i節(jié)點(diǎn),諸如目錄數(shù)據(jù)、擴(kuò)展文件屬性、符號鏈接等)。
在另一實施例中,分配策略可在文件系統(tǒng)中多于一個的粒度級別上被分配。例如,分配策略可對于作為整體的文件系統(tǒng)、對于文件系統(tǒng)內(nèi)的文件集、對于文件系統(tǒng)或文件集內(nèi)的目錄、以及對于文件系統(tǒng)(或文件集)內(nèi)的文件進(jìn)行分配。對于給定的分配,對于非空文件可使用在最精細(xì)粒度級別上的分配策略。如在此使用的,“盤區(qū)(extent)”是卷內(nèi)被分配給一個文件的相鄰塊的集合。給盤區(qū)的分配策略可以允許控制如果該盤區(qū)被擴(kuò)大時存儲器被添加到所述盤區(qū)。在另一實施例中,分配策略可被分配給成批的文件。
應(yīng)該注意到文件系統(tǒng)可包括一個或多個文件集。文件集可以是被當(dāng)作一個單元對待的文件的集合(類似于卷集和卷之間的關(guān)系)。在一些實施例中,文件集可以是文件系統(tǒng)內(nèi)獨(dú)立的名字空間。在一個實施例中,文件集可被用于備份的目的。文件集之一可以是主(活動)文件集,其它文件集可以是的對文件系統(tǒng)狀態(tài)進(jìn)行快照的克隆以用于備份目的。在這樣的實施例中,文件集也可被稱為“檢查點(diǎn)”。
一個或多個分配策略可在操作中如期望地被動態(tài)改變。用于對應(yīng)文件的新分配可遵守新分配策略。如果期望,則用于文件的存儲器可在策略改變之后被重新分配,從而新分配策略被用于整個文件。
現(xiàn)在轉(zhuǎn)向圖3,顯示文件系統(tǒng)14的一部分的一個實施例的框圖。在圖3的實施例中,文件系統(tǒng)14包括分配器20、應(yīng)用程序接口(API)22、和命令接口24。分配器20、API 22和命令接口24可訪問文件系統(tǒng)策略、一個或多個文件集策略(例如用于文件系統(tǒng)中的每個文件集的一個文件集策略)、和可被定義以分配給文件的各種其它策略。文件系統(tǒng)策略、文件集策略、和其它策略一起可形成文件系統(tǒng)14的多個分配策略26。該多個分配策略26可被文件系統(tǒng)14存儲為一個數(shù)據(jù)結(jié)構(gòu)(例如,在文件系統(tǒng)14的一個卷上)。分配器20還可訪問限定文件系統(tǒng)內(nèi)的每個卷的空閑塊的一套數(shù)據(jù)結(jié)構(gòu)(例如卷1的空閑塊列表,標(biāo)號28A,以及卷N的空閑塊列表,標(biāo)號28N,被顯示在圖3中)。
分配器20可包括當(dāng)(例如在執(zhí)行硬件10上)被執(zhí)行時響應(yīng)于塊分配請求為文件存儲分配塊的指令。塊分配請求可由正在更新文件的應(yīng)用程序、操作系統(tǒng)軟件等發(fā)起。塊分配請求可包括分配給文件的分配策略(或其指示)以及請求的塊數(shù)。另一方面,塊分配請求可識別為其分配塊的文件,并且分配器20可獲得對應(yīng)于該文件的分配策略(例如,從諸如分配策略26的對于分配器20可訪問的數(shù)據(jù)結(jié)構(gòu)中)。例如,在一個實施例中,塊分配請求包括對其請求塊的i節(jié)點(diǎn)以及塊數(shù)。該i節(jié)點(diǎn)可識別為其請求塊的文件,并還可指定分配給文件的分配策略。在其它實施例中,文件的分配策略可被存儲在可由分配器20訪問的數(shù)據(jù)結(jié)構(gòu)(例如分配策略26)中,因此不可以在塊分配請求中被明確指定。在這樣的實施例中,分配器20可使用文件標(biāo)識(例如i節(jié)點(diǎn))來查詢i節(jié)點(diǎn)的分配策略。
分配器20可將文件的分配策略應(yīng)用于塊分配請求,并可將分配的塊數(shù)和塊的指針返回給請求者。實際分配的塊數(shù)可能少于請求的塊數(shù)(例如,如果該數(shù)量的塊不是定位為分配策略中包括的卷之一上的相鄰組)。在這樣的情況下,請求者可反復(fù)請求(從請求的塊數(shù)中減去分配的塊數(shù))直到期望的塊數(shù)被分配(或者直到指示塊不可能被分配的錯誤出現(xiàn))??捎糜诜峙涞膲K可由空閑塊列表28A-28N指示,并且分配器響應(yīng)于為文件分配塊而更新空閑塊列表28A-28N以從列表中去除分配的塊。在各種粒度級別上指定分配策略的實施例中,分配器20可應(yīng)用這樣的分配策略,該分配策略位于適用于請求的最精細(xì)級別的粒度上并且非空。
命令接口24可包括響應(yīng)于各種管理命令而執(zhí)行的指令(例如在執(zhí)行硬件10上)。管理命令可由用戶輸入(例如,經(jīng)由命令殼)。屬于分配策略的一套命令可被實現(xiàn)(例如,添加分配策略、指定策略、改變策略等)。一套示例命令顯示在圖12中并在下面更詳細(xì)地描述。API 22可接收由應(yīng)用程序產(chǎn)生的應(yīng)用命令。應(yīng)用命令可以是對API 22中各種軟件例程的調(diào)用。應(yīng)用命令可以是管理命令的子集,并可被應(yīng)用程序(和操作系統(tǒng)軟件)使用來管理分配策略。在一些實施例中,用于管理分配策略的應(yīng)用命令的集合可以與管理命令的集合相同。文件系統(tǒng)14的管理員可控制向應(yīng)用程序提供多少許可來管理分配策略,并且API 22可對許可實行任何限制。
接下來轉(zhuǎn)到圖4,顯示i節(jié)點(diǎn)30的一個實施例的框圖。在圖4的實施例中,i節(jié)點(diǎn)30包括數(shù)據(jù)策略字段32、間接策略字段34、其它屬性36、和指針字段38。
示出的實施例通過數(shù)據(jù)策略字段32和間接策略字段34為每個i節(jié)點(diǎn)提供兩個分配策略。在直接策略字段32中指定的數(shù)據(jù)策略可用于數(shù)據(jù)塊請求,在間接策略字段34中指定的間接策略用于間接塊請求。因此,對于此實施例,由分配器20接收的塊分配請求還可包括請求是對于數(shù)據(jù)塊還是對于間接塊的指示。如在此使用的數(shù)據(jù)塊是被分配以存儲文件數(shù)據(jù)(或元數(shù)據(jù))的塊。間接塊是被分配以存儲一個或多個數(shù)據(jù)塊或其它間接塊的指示的塊。間接塊可包括任何形式的文件索引(例如,對數(shù)據(jù)塊或其它間接塊的指針;識別數(shù)據(jù)塊和其它間接塊的位映射等)。數(shù)據(jù)塊和間接塊具有不同的分配策略是可取的。數(shù)據(jù)塊可被更頻繁地分配在大盤區(qū)中,而間接塊可被更頻繁地分配為較少數(shù)量的塊。通過使用不同的分配策略,間接塊分配更不可能使用于數(shù)據(jù)塊分配的卷產(chǎn)生碎片。注意到直接策略字段32和間接策略字段34可存儲識別分配策略26之一的標(biāo)簽,而不是存儲實際的策略本身。如在此使用的,通過包括分配策略或者通過包括識別分配策略的標(biāo)簽,i節(jié)點(diǎn)可“指定”分配策略。
指針字段38可存儲塊的一個或多個指針。在一些實施例中,如果文件數(shù)據(jù)足夠小以致可被存儲在指針字段38中,則文件數(shù)據(jù)可代替指針或多個指針被存儲。
其它屬性36可存儲用于對應(yīng)于i節(jié)點(diǎn)的文件的其它信息(例如,訪問許可、所有者、時間戳等)。期望的任何其它信息可被存儲,或者沒有信息可被存儲。在一個實施例中,其它屬性36可指示指針字段38是否包括文件數(shù)據(jù)、對數(shù)據(jù)塊的一個或多個指針、對間接塊的一個或多個指針。
圖5、6和7示出i節(jié)點(diǎn)30的各種實施例i節(jié)點(diǎn)30A、i節(jié)點(diǎn)30B、i節(jié)點(diǎn)30C等。i節(jié)點(diǎn)30A可以是在指針字段38中存儲了文件數(shù)據(jù)的i節(jié)點(diǎn)的示例。i節(jié)點(diǎn)30B可以是具有對數(shù)據(jù)塊(例如圖6中的塊40A和40B)的一個或多個指針的i節(jié)點(diǎn)的示例。i節(jié)點(diǎn)30C可以是具有對間接塊(例如指向數(shù)據(jù)塊44A和44B的間接塊42A、指向數(shù)據(jù)塊44C和44D的間接塊42B)的一個或多個指針的i節(jié)點(diǎn)的示例。如圖5、6和7所示,i節(jié)點(diǎn)30A-30C每個包括數(shù)據(jù)策略字段32和間接策略字段34。
盡管在圖4-7的實施例中顯示了兩個分配策略字段,但是在其中每個i節(jié)點(diǎn)指定一種分配策略或者每個i節(jié)點(diǎn)指定多于兩種分配策略的其它實施例被設(shè)想。另外,分配策略字段在各種實施例中可被存儲在其它地方。例如,分配策略字段可與其它元數(shù)據(jù)存儲在一起。分配策略字段還可存儲在間接塊等中。
現(xiàn)在轉(zhuǎn)到圖8,顯示了流程圖,示出分配器20的一個實施例響應(yīng)于塊分配請求的操作。圖8示出的實施例可被用在在其中分配策略可以以各種級別的粒度被建立的實施例中。對于示出的實施例,分配策略在i節(jié)點(diǎn)中提供(例如圖4),并還可在文件集和文件系統(tǒng)級別被指定。圖8的流程圖可表示包括在分配器20中的指令,這些指令當(dāng)被執(zhí)行時實現(xiàn)圖8中顯示的操作。
分配器20可確定塊分配請求是對于數(shù)據(jù)塊還是對于間接塊(判定框50)。如果請求是對于數(shù)據(jù)塊的,則分配器20可檢查由在請求中提供的i節(jié)點(diǎn)指定的數(shù)據(jù)策略(判定框52)。如果數(shù)據(jù)策略非空(判定框52,“是”分支),則分配器20可應(yīng)用數(shù)據(jù)策略來分配塊(框54)。另一方面,如果請求是對于間接塊,則分配器20可檢查由在請求中提供的i節(jié)點(diǎn)指定的間接策略(判定框56)。如果間接策略非空(判定框56,“是”分支),則分配器20可應(yīng)用間接策略來分配塊(框58)。
如果請求是對于間接塊并且由i節(jié)點(diǎn)指定的間接策略為空,或者如果請求是對于數(shù)據(jù)塊并且由i節(jié)點(diǎn)指定的數(shù)據(jù)策略為空,則分配器20可檢查包括該文件的文件集的文件集策略(判定框60)。如果文件集策略非空(判定框60,“是”分支),則分配器20可應(yīng)用文件集策略來分配塊(框62)。類似地,如果文件集策略為空,則分配器20可檢查文件系統(tǒng)策略(判定框64)。如果文件系統(tǒng)策略非空(判定框64,“是”分支),則分配器20可應(yīng)用文件系統(tǒng)策略來分配塊(框66)。如果文件系統(tǒng)策略為空(判定框64,“否”分支),則分配器20可應(yīng)用缺省策略(框68)。缺省策略可以是任何期望的策略。例如,缺省策略可以是分配附于文件系統(tǒng)的任何卷上的塊。
分配器20返回對分配的塊的指針和分配的塊的數(shù)量(框70)。如上所述,在一些情況下,對于給定的請求,可能分配比請求的塊數(shù)少的塊。如果對于給定的請求沒有塊可被分配,則可返回錯誤作為代替。
圖8的實施例示出在i節(jié)點(diǎn)(文件)級別的粒度上分開的數(shù)據(jù)和間接策略以及在更粗級別的粒度(例如,文件集和文件系統(tǒng)級別)的一個策略。在其它實施例中,更粗級別粒度也可具有分開的數(shù)據(jù)策略和間接策略。在這樣的實施例中,基于塊分配請求是對于數(shù)據(jù)塊還是對于間接塊,將在每個更粗級別選擇間接或數(shù)據(jù)策略。
盡管示出的實施例包括在文件、文件集、和文件系統(tǒng)級別的粒度上的分配策略(如果沒有指定策略,則包括一個缺省策略),但其它實施例可使用粒度的任何子集。除了示出的級別(或示出的級別的任何子集)之外,其它實施例可實現(xiàn)盤區(qū)或文件范圍(file range)級別的粒度。
在其它實施例中,文件系統(tǒng)14不可為分配策略實現(xiàn)多級別的粒度(即,僅可實現(xiàn)文件級策略)。在這樣的實施例中,如果請求是對于間接塊并且由i節(jié)點(diǎn)指定的間接策略為空,或者如果請求是對于數(shù)據(jù)塊并且由i節(jié)點(diǎn)指定的數(shù)據(jù)策略為空,則可使用缺省策略。
注意到,在另一實施例中,取決于請求類型,分配器20可僅檢查在i節(jié)點(diǎn)中指定的數(shù)據(jù)策略和間接策略。當(dāng)創(chuàng)建文件時,在不同粒度上的策略可生效。即,執(zhí)行類似于圖8的流程圖的代碼可在文件創(chuàng)建期間被執(zhí)行以設(shè)置正被創(chuàng)建的文件的i節(jié)點(diǎn)中的數(shù)據(jù)策略字段32和間接策略字段34(這里,可分配用戶指定的策略,或者如果未提供用戶指定的策略,則可使用文件集或文件系統(tǒng)策略)。
如上所述,在使用期間可修改各種分配策略。圖8的流程圖在塊分配請求被接收到時可有效使用分配策略。
在塊54、58、62和66的每個,分配策略被應(yīng)用。應(yīng)用分配策略一般可包括如果多于一個卷被列出,則在控制指示的控制下嘗試從包括在分配策略中的卷進(jìn)行分配。應(yīng)用用于各種控制指示編碼的策略的幾個示例顯示在圖9-11中。即,取決于分配策略中的控制指示,使用圖9-11中顯示的任何流程圖,任意塊54、58、62和66可被實現(xiàn)。圖9-11的流程圖每個可表示形成分配器20的指令,這些指令當(dāng)被執(zhí)行時實現(xiàn)圖9-11中顯示的操作。
圖9是示出“按給出(as given)”策略的應(yīng)用的流程圖(即,控制指示被編碼以指示“按給出”)。對于此策略,為了在分配策略中列出它們,進(jìn)行從卷進(jìn)行分配的嘗試。即,如果分配策略中的第一卷具有至少一個可用塊,則該塊將被分配以響應(yīng)請求。如果第一卷為空,則嘗試從分配策略中的第二卷進(jìn)行分配,等。
因此,分配器20可以按在分配策略中列出的順序掃描卷(更具體地說,分配器20可訪問用于卷的空閑塊列表28A-28N)(框80)。分配器20可在分配策略中有空間的第一個卷上分配一個或多個塊(框82)。
另一方面,分配器20可在卷上掃描請求的分配尺寸(按在分配策略中列出的順序)并可在具有所請求的尺寸的相鄰塊的第一個卷上分配請求的尺寸。如果請求的尺寸不可用,則分配器20可從具有對于分配可用的任意塊的第一個卷分配塊。
圖10是示出“最空(least full)”策略的應(yīng)用的流程圖(即,控制指示被編碼以指示“最空”)。對于此策略,在分配策略中最空的卷(例如,在各種實施例中,具有最多可用塊,或按卷中全部塊的百分比具有最多可用塊)上分配塊。因此,分配器20可掃描卷(更具體地說,分配器20可訪問用于卷的空閑塊列表28A-28N)以找到最空卷(框84)。分配器20可在最空卷上分配塊(框86)。
已設(shè)想除了順序和豐滿度之外的標(biāo)準(zhǔn)可被用于在分配策略中指定的卷之中進(jìn)行選擇以用于響應(yīng)于塊分配請求的分配。例如,卷的碎片化可被考慮,獨(dú)立于塊分配請求而提供的期望的最小分配尺寸可被考慮,等。例如,圖11是示出“最小尺寸(MinSize)”策略的應(yīng)用的流程圖(即,控制指示被編碼以指示“最小尺寸”)。對于此策略,分配器20嘗試從分配策略的任意卷分配較小的請求尺寸(塊數(shù))或最小尺寸(塊數(shù))。最小尺寸可以是可編程的(全局地對于文件系統(tǒng),或者在分配策略內(nèi))或者可以是固定的。
因此,分配器20可按在策略中列出的順序掃描卷(更具體地說,分配器20可訪問用于卷的空閑塊列表28A-28N)(框88)。如果最小尺寸(或者請求的尺寸)的塊被找到(框90,“是”分支),則分配器20可在該找到的卷上分配塊(框92)。如果最小尺寸(或者請求的尺寸)的塊未被找到(框90,“否”分支),則分配器20可使用按給出策略來分配塊(框94)。
也設(shè)想其它策略。例如,設(shè)想這樣一種策略,其將“按給出”和“最小尺寸策略”組合,帶有指示一種策略相對于另一種策略被偏重地應(yīng)用的程度的權(quán)重。此外,已設(shè)想多個分配策略可被應(yīng)用于給定的文件所期望的卷的子集。
接下來轉(zhuǎn)到圖12,顯示了關(guān)于分配策略的、可被命令接口24支持的各種管理命令的一個實施例的表。命令的一個類似的集合或者一個子集可經(jīng)由API 22從應(yīng)用被支持。其它實施例可如期望地實現(xiàn)命令或其它附加命令的任何子集。其它附加命令也可被支持以用于其它文件系統(tǒng)。
Add volume(增加卷)命令可用于將卷添加到文件系統(tǒng)。Addvolume命令不可將卷添加到任何分配策略。Remove volume(刪除卷)命令可用于從文件系統(tǒng)去除卷。Remove volume命令可能使仍在一個或多個分配策略中被指定的卷停止作用。Resize volume命令可被用于調(diào)整卷的尺寸(例如,增加或減少卷中的塊數(shù))。
Creat allocation policy命令可用于創(chuàng)建分配策略(例如,將新分配策略添加到分配策略26)。Delete allocation policy命令可用于從分配策略26刪除分配策略。Allocation policy info命令可用于取回指定的分配策略的內(nèi)容。
Assign fileset allocation policy命令可用于以文件集級別的粒度分配一個或多個分配策略。類似地,assign filesystem allocation policy命令可用于以文件系統(tǒng)級別的粒度分配一個或多個分配策略。對應(yīng)的fileset allocation policy info和filesystem allocation policy info命令可用于分別在文件集和文件系統(tǒng)級別的粒度上取回這些策略的內(nèi)容。
Assign file allocation policy命令可用于分配文件的分配策略(數(shù)據(jù)和/或間接的)。File allocation policy info命令可用于取回文件的策略的內(nèi)容。
Encapsulate命令可用于用覆蓋整個卷的一個數(shù)據(jù)盤區(qū)來創(chuàng)建一個文件。如在下面的示例部分會更詳細(xì)地描述的,此命令可用于封裝數(shù)據(jù)庫使用的原始卷。
此外,在一些實施例中,一種根據(jù)與分配給文件的分配策略不同的分配策略來重新分配文件的命令可被支持。這樣的命令可用于根據(jù)不同的分配策略重新分配文件,而實際上不改變文件的分配策略。
現(xiàn)在轉(zhuǎn)到圖13,顯示了文件系統(tǒng)14的一部分的第二實施例的框圖。圖13的實施例示出分配器20、API 22、命令接口24、分配策略26、和空閑塊列表28A-28N。此外,顯示了可被分配器20訪問的自動分配策略表100。
自動分配策略表100可用于當(dāng)特定文件被創(chuàng)建時分配用于這些文件的分配策略。自動分配策略表100可包括多個條目。每個條目可包括一個與輸入索引值匹配的索引值;和被分配給具有匹配的輸入索引值的文件的一個或多個分配策略。在各種實施例中,任何文件屬性可被用作表中的輸入索引。例如,可使用文件名后綴(其經(jīng)常用于指示文件中數(shù)據(jù)的類型)。在其它實施例中,可使用文件名的其它部分。在其它實施例中,可使用文件尺寸。在其它實施例中,可使用文件的所有者或創(chuàng)建者。如果找到表中的匹配的索引值(一次“命中”),則在表中指定的對應(yīng)的分配策略可被分配給文件。
圖14是示出分配器20的一個實施例響應(yīng)于請求而創(chuàng)建文件的操作的流程圖。圖14的流程圖可表示形成分配器20的指令,這些指令當(dāng)被執(zhí)行時實現(xiàn)圖14中顯示的操作。
分配器20可確定文件是否在自動策略表100中命中(判定框102)。如果命中(判定框102,“是”分支),則從自動策略表100分配文件的一個或多個分配策略(框104)。如果未命中(判定框102,“否”分支),則分配器20可確定文件是否要從雙親(例如目錄、文件集或文件系統(tǒng))繼承一個或多個分配策略(判定框106)。例如,文件系統(tǒng)14是可編程的以提供分配策略的繼承。另一方面,是否提供繼承可以在其它級別的粒度(例如文件集、目錄等)上指定。其它實施例可不實現(xiàn)繼承。如果文件要繼承分配策略(判定框106,“是”分支),則分配器20可分配雙親的一個或多個策略(框108)。如果文件不打算繼承分配策略(判定框106,“否”分支),則分配器20可將一個或多個空策略分配給文件。另一方面,如果期望,文件集分配策略或文件系統(tǒng)分配策略可在框106分配。
分配策略使用的示例分配策略可以以許多方式使用以實現(xiàn)將文件各式各樣地分配給文件系統(tǒng)中的卷。以下提供的示例沒有意圖窮舉。
一個應(yīng)用程序可能要將給定檢查點(diǎn)中的文件分配給一個或多個卷。這樣的分配可允許文件系統(tǒng)的管理員限制檢查點(diǎn)使用的空間,它還可防止檢查點(diǎn)使主文件集中的空間產(chǎn)生碎片。多個檢查點(diǎn)也可被分配給相同的卷。對于此應(yīng)用,文件系統(tǒng)可起初具有一個文件集(主文件集),其具有包括一個卷的分配策略。一個包括不同的卷的新分配策略可被創(chuàng)建,并且具有分配給其的新分配策略的檢查點(diǎn)文件集可被創(chuàng)建。
另一應(yīng)用可能要分開文件數(shù)據(jù)與元數(shù)據(jù)。如先前所述,元數(shù)據(jù)經(jīng)常被認(rèn)為比文件數(shù)據(jù)更有價值。因此,與文件數(shù)據(jù)相比,將元數(shù)據(jù)存儲在具有更高的可靠性特征的卷上、甚至允許用于不同類別的元數(shù)據(jù)的不同級別的可靠性是可取的。對于此應(yīng)用,可將包括第一一個或多個卷的第一分配策略分配給文件數(shù)據(jù)i節(jié)點(diǎn),并可將包括不與第一一個或多個卷重疊的第二一個或多個卷的第二分配策略分配給元數(shù)據(jù)i節(jié)點(diǎn)。第二卷可具有比第一卷更高的可靠性特征。如果期望不同級別的可靠性用于不同類別的元數(shù)據(jù),則額外的分配策略可被創(chuàng)建。
另一示例性應(yīng)用可能要將文件系統(tǒng)意向日志(intent log)存儲在不同于其它文件的物理存儲裝置上。一些文件系統(tǒng)(例如出自VERITAS軟件公司,Mountain View,CA的VERITAS文件系統(tǒng))可包括用于記錄修改各種文件系統(tǒng)數(shù)據(jù)的意向的意向日志。如果系統(tǒng)在所有的修改完成之前崩潰,則意向日志可用于檢測本來應(yīng)該更新什么并且完成該更新或者撤銷該更新。將意向日志(其被頻繁更新)放在與其它文件分離的物理存儲裝置上可防止在裝置上(在意向日志和其它文件之間)的頻繁查找,并還可防止使帶有意向日志數(shù)據(jù)塊的卷產(chǎn)生碎片。對于此應(yīng)用,一種指定單個卷(或多個卷)被用于意向日志的分配策略可被創(chuàng)建,并可被分配給意向日志i節(jié)點(diǎn)。其它分配策略不可使用用于意向日志的一個或多個卷。類似的機(jī)制可用于隔離在它們自己的物理盤上的其它日志(例如,VERITAS文件系統(tǒng)實現(xiàn)的文件變化日志,其記錄對文件的改變)。
數(shù)據(jù)庫軟件(諸如Oracle)經(jīng)常使用原始卷來存儲其數(shù)據(jù)(例如,管理塊分配自身)。由于原始卷不包含任何文件,所以備份數(shù)據(jù)庫卷是復(fù)雜的,將數(shù)據(jù)從卷復(fù)制到文件來備份文件會很耗時。對于此應(yīng)用,encapsulate命令可用于將原始卷添加到文件系統(tǒng)并將該卷封裝為一個文件。
一些文件可具有相關(guān)的“名稱流”結(jié)構(gòu)。名稱流可用于存儲關(guān)于文件的其它信息(例如,與文件相配的圖標(biāo)等)。將名稱流存儲在與文件數(shù)據(jù)不同的卷中是可取的。對于此應(yīng)用,名稱流i節(jié)點(diǎn)可被分配與文件數(shù)據(jù)i節(jié)點(diǎn)不同的分配策略。
更一般化地,基于用戶定義的標(biāo)準(zhǔn)將不同的文件存儲在不同的卷上是可取的。例如,一些文件(例如多媒體文件)可具有與其它文件不同的訪問模式。將這樣的文件存儲在對于那些類型的訪問模式執(zhí)行得更好的卷上是可取的。用戶可被允許將分配策略分配給文件來實現(xiàn)期望的分配。在一些實施例中,分配策略可具有指示非特權(quán)用戶是否訪問給定的分配策略的標(biāo)志。這樣的標(biāo)志可允許管理員控制用戶可使用哪種分配策略。
在其它實施例中,可實現(xiàn)另外的管理控制。另外的管理控制可允許在允許特定用戶或用戶組定義分配策略、將分配策略分配給文件等的過程中的更多的靈活性。
另一示例可允許在尺寸上比單個卷的最大尺寸更大的文件系統(tǒng)。對于此示例,多個卷可被附于文件系統(tǒng),并且用于文件系統(tǒng)的分配策略可在任何可用卷上分配文件。
計算機(jī)可訪問介質(zhì)現(xiàn)在轉(zhuǎn)到圖15,顯示了計算機(jī)可訪問介質(zhì)120的框圖。一般來說,計算機(jī)可訪問介質(zhì)可包括在使用期間可由計算機(jī)訪問的任何介質(zhì),以將指令和/或數(shù)據(jù)提供給計算機(jī)。例如,計算機(jī)可訪問介質(zhì)可包括諸如磁或光學(xué)介質(zhì)的存儲介質(zhì),例如,盤(固定或可卸載)、CD-ROM、或DVD-ROM;易失性或非易失性存儲器介質(zhì),諸如RAM(例如,SDRAM、RDRAM、SRAM等)、ROM等;以及經(jīng)由傳輸介質(zhì)或信號(諸如電信號、電磁信號、或數(shù)字信號)可訪問、經(jīng)由通信介質(zhì)(諸如網(wǎng)絡(luò)和/或無線鏈路)可傳達(dá)的介質(zhì)。圖15中的計算機(jī)可訪問介質(zhì)120可存儲文件系統(tǒng)軟件14(例如,包括分配器20、API 22、和/或命令接口24)、分配策略26、和自動策略表100中的一個或多個。
一旦完全理解了以上公開,對于本領(lǐng)域的技術(shù)人員,許多變更和修改將變得清楚。所附權(quán)利要求旨在被解釋以支持所有這樣的變更和修改。
權(quán)利要求
1.一種計算機(jī)可訪問介質(zhì)包括指令,所述指令當(dāng)被執(zhí)行時接收請求來為文件分配一個或多個塊,其中,至少一個分配策略被分配給該文件,其中,分配策略指定將在其上分配所述塊的一個或多個存儲單元,如果多于一個存儲單元被指定,則控制指示指示一種在存儲單元之中進(jìn)行選擇的機(jī)制;和根據(jù)所述分配策略分配塊。
2.如權(quán)利要求1所述的計算機(jī)可訪問介質(zhì),其中,文件的i節(jié)點(diǎn)指定分配策略。
3.如權(quán)利要求2所述的計算機(jī)可訪問介質(zhì),其中,i節(jié)點(diǎn)指定用于間接塊請求的第一分配策略和用于數(shù)據(jù)塊請求的第二分配策略,其中,所述請求包括請求是對于間接塊還是數(shù)據(jù)塊的指示,其中,所述指令當(dāng)被執(zhí)行時根據(jù)所述指示選擇第一分配策略或第二分配策略。
4.如權(quán)利要求1所述的計算機(jī)可訪問介質(zhì),其中,所述指令當(dāng)被執(zhí)行時如果分配策略為空,則檢查對應(yīng)于包括該文件的文件集的文件集分配策略。
5.如權(quán)利要求4所述的計算機(jī)可訪問介質(zhì),其中,所述指令當(dāng)被執(zhí)行時如果文件集分配策略為空,則檢查對應(yīng)于包括該文件集的文件系統(tǒng)的文件系統(tǒng)分配策略。
6.如權(quán)利要求5所述的計算機(jī)可訪問介質(zhì),其中,所述指令當(dāng)被執(zhí)行時如果文件系統(tǒng)分配策略為空,則使用缺省分配策略。
7.如權(quán)利要求1所述的計算機(jī)可訪問介質(zhì),其中,所述指令當(dāng)被執(zhí)行時如果分配策略為空,則檢查對應(yīng)于包括該文件的目錄的目錄分配策略。
8.如權(quán)利要求1所述的計算機(jī)可訪問介質(zhì),其中,所述指令當(dāng)被執(zhí)行時確定在文件的創(chuàng)建期間確定是否指定分配策略的自動分配;和響應(yīng)于確定了指定自動分配來分配分配策略。
9.如權(quán)利要求8所述的計算機(jī)可訪問介質(zhì),其中,確定是否指定自動分配的步驟包括檢查文件屬性的表和對應(yīng)的分配策略。
10.如權(quán)利要求9所述的計算機(jī)可訪問介質(zhì),其中,文件屬性包括文件名后綴。
11.如權(quán)利要求9所述的計算機(jī)可訪問介質(zhì),其中,文件屬性包括文件尺寸。
12.如權(quán)利要求1所述的計算機(jī)可訪問介質(zhì),其中,存儲單元包括卷。
13.如權(quán)利要求1所述的計算機(jī)可訪問介質(zhì),其中,控制指示指示按在分配策略中給出的順序來選擇存儲單元。
14.如權(quán)利要求1所述的計算機(jī)可訪問介質(zhì),其中,控制指示指示按在分配策略中指定的最空存儲單元來選擇存儲單元。
15.如權(quán)利要求1所述的計算機(jī)可訪問介質(zhì),其中,控制指示指示存儲單元將被掃描以找到最小尺寸盤區(qū),具有最小尺寸盤區(qū)的存儲單元將被選擇,如果沒有找到最小尺寸的盤區(qū),則將按在分配策略中給出的順序來選擇存儲單元。
16.一種方法,包括接收請求來為文件分配一個或多個塊,其中,至少一個分配策略被分配給該文件,其中,所述分配策略指定將在其上分配所述塊的一個或多個存儲單元,如果多于一個存儲單元被指定,則控制指示指示一種在存儲單元之中進(jìn)行選擇的機(jī)制;和根據(jù)所述分配策略分配塊。
17.如權(quán)利要求16所述的方法,其中,文件的i節(jié)點(diǎn)指定分配策略。
18.如權(quán)利要求17所述的方法,其中,i節(jié)點(diǎn)指定用于間接塊請求的第一分配策略和用于數(shù)據(jù)塊請求的第二分配策略,其中,所述請求包括請求是對于間接塊還是數(shù)據(jù)塊的指示,其中,該方法還包括根據(jù)所述指示選擇第一分配策略或第二分配策略。
19.如權(quán)利要求16所述的方法,還包括改變分配給文件的分配策略,其中,所述分配在分配發(fā)生時有效地響應(yīng)分配策略。
20.一種計算機(jī)可訪問介質(zhì)包括指令,所述指令當(dāng)被執(zhí)行時接收請求來為文件系統(tǒng)中的文件分配一個或多個塊;和根據(jù)分配策略來分配所述塊,其中,分配策略在文件系統(tǒng)中兩個或更多級別的粒度上可指定。
21.如權(quán)利要求20所述的計算機(jī)可訪問介質(zhì),其中,粒度的第一級別包括文件。
22.如權(quán)利要求21所述的計算機(jī)可訪問介質(zhì),其中,粒度的第二級別包括包含該文件的文件集。
23.如權(quán)利要求21所述的計算機(jī)可訪問介質(zhì),其中,粒度的第二級別包括包含該文件的文件系統(tǒng)。
24.如權(quán)利要求21所述的計算機(jī)可訪問介質(zhì),其中,粒度的第二級別包括該文件的盤區(qū)。
25.如權(quán)利要求21所述的計算機(jī)可訪問介質(zhì),其中,粒度的第二級別包括該文件的范圍。
26.一種方法,包括產(chǎn)生在文件系統(tǒng)中使用的一個或多個分配策略,其中,分配策略控制將文件系統(tǒng)數(shù)據(jù)分配到與該文件系統(tǒng)相關(guān)聯(lián)的多個存儲單元;和將分配策略分配給文件系統(tǒng)數(shù)據(jù)。
27.如權(quán)利要求26所述的方法,其中,所述一個或多個分配策略中的每個指定具有一個或多個存儲特征的多個存儲單元中的一個或多個,籍此,特定文件系統(tǒng)數(shù)據(jù)的分配與所述一個或多個存儲特征相互關(guān)聯(lián)。
28.如權(quán)利要求27所述的方法,其中,所述一個或多個存儲特征包括存儲單元的性能特征。
29.如權(quán)利要求27所述的方法,其中,所述一個或多個存儲特征包括存儲單元的可靠性特征。
30.如權(quán)利要求27所述的方法,其中,所述一個或多個存儲特征至少包括分配給存儲單元的第一存儲特征。
31.如權(quán)利要求27所述的方法,其中,第一存儲特征由管理員分配。
32.如權(quán)利要求26所述的方法,其中,文件系統(tǒng)數(shù)據(jù)包括主文件集和至少一個其它文件集,其中,分配分配策略的步驟包括將第一分配策略分配給主文件集和將第二分配策略分配給所述其它文件集。
33.如權(quán)利要求32所述的方法,其中,第一分配策略指定多個存儲單元中的第一一個或多個,第二分配策略指定除了所述多個存儲單元中的第一一個或多個之外的所述多個存儲單元中的第二一個或多個。
34.如權(quán)利要求26所述的方法,其中,文件系統(tǒng)數(shù)據(jù)包括文件數(shù)據(jù)和元數(shù)據(jù),其中,分配分配策略的步驟包括將第一分配策略分配給文件數(shù)據(jù)和將第二分配策略分配給元數(shù)據(jù)。
35.如權(quán)利要求34所述的方法,其中,第一分配策略指定多個存儲單元中的第一一個或多個,第二分配策略指定多個存儲單元中的第二一個或多個,其中,多個存儲單元中的第二一個或多個具有比多個存儲單元中的第一一個或多個更高的可靠性特征。
36.如權(quán)利要求24所述的方法,其中,文件系統(tǒng)包括一個或多個日志,其中,分配分配策略的步驟包括將第一分配策略分配給所述一個或多個日志和將所述多個分配策略中的其它分配策略分配給其它文件系統(tǒng)數(shù)據(jù)。
37.如權(quán)利要求36所述的方法,其中,第一分配策略指定多個存儲單元中的第一一個或多個,第二分配策略指定除了所述多個存儲單元中的第一一個或多個之外的所述多個存儲單元中的第二一個或多個。
38.如權(quán)利要求36所述的方法,其中,所述一個或多個日志包括意向日志。
39.如權(quán)利要求36所述的方法,其中,所述一個或多個日志包括文件變化日志。
40.如權(quán)利要求26所述的方法,其中,文件系統(tǒng)數(shù)據(jù)包括名稱流和對應(yīng)的文件數(shù)據(jù),其中,分配分配策略的步驟包括將第一分配策略分配給名稱流和將第二分配策略分配給對應(yīng)的文件數(shù)據(jù)。
41.如權(quán)利要求26所述的方法,其中,存儲單元包括卷,其中,第一分配策略導(dǎo)致在任意卷上的分配。
42.如權(quán)利要求26所述的方法,其中,產(chǎn)生的步驟包括將一個或多個管理控制應(yīng)用于多個分配策略中的一個或多個。
全文摘要
一種計算機(jī)可訪問介質(zhì)可包括指令,所述指令當(dāng)被執(zhí)行時接收請求來為文件分配一個或多個塊。至少一個分配策略被分配給該文件,其中,分配策略指定將在其上分配塊的一個或多個存儲單元。此外,如果多于一個存儲單元指定,則分配策略包括控制指示,其指示一種在存儲單元之中進(jìn)行選擇的機(jī)制。這些指令當(dāng)被執(zhí)行時還可根據(jù)分配策略分配塊。在另一實現(xiàn)中,一種計算機(jī)可訪問介質(zhì)包括指令,所述指令當(dāng)被執(zhí)行時接收請求來為文件系統(tǒng)中的文件分配一個或多個塊并根據(jù)分配策略來分配塊。分配策略在文件系統(tǒng)中兩個或更多級別的粒度上可指定。
文檔編號G06F17/30GK1816795SQ200480019220
公開日2006年8月9日 申請日期2004年5月28日 優(yōu)先權(quán)日2003年5月30日
發(fā)明者查爾斯·H·西爾弗斯, 羅納德·S·卡爾, 約翰·A·科爾格羅夫 申請人:維瑞泰斯操作公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
易门县| 澎湖县| 怀来县| 成安县| 七台河市| 马鞍山市| 肃南| 盱眙县| 桦甸市| 大邑县| 交口县| 东乌珠穆沁旗| 苏尼特右旗| 望城县| 武穴市| 广州市| 五原县| 凌海市| 汝阳县| 三台县| 文水县| 潼关县| 河津市| 天气| 苗栗县| 南召县| 景洪市| 郸城县| 汪清县| 广宁县| 渭南市| 日照市| 秦安县| 保定市| 石河子市| 日喀则市| 茶陵县| 剑河县| 顺义区| 永嘉县| 阳江市|