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

位置獨立文件的制作方法

文檔序號:6533221閱讀:280來源:國知局
位置獨立文件的制作方法
【專利摘要】本發(fā)明公開了通過將數(shù)據(jù)單元轉換成數(shù)據(jù)段和訪問文件來管理數(shù)據(jù)單元,所述訪問文件描述如何使用數(shù)據(jù)段的散列值來檢索數(shù)據(jù)段。在數(shù)據(jù)存儲操作中,將數(shù)據(jù)單元分成數(shù)據(jù)段并生成訪問文件。訪問文件包括數(shù)據(jù)段的分段方案信息、散列值的散列方案信息、描述散列值的散列識別信息、以及識別可用數(shù)據(jù)段處的位置的位置信息。在數(shù)據(jù)檢索操作中,通過訪問數(shù)據(jù)段并從其提取數(shù)據(jù)來檢索來自數(shù)據(jù)單元的數(shù)據(jù),其中基于數(shù)據(jù)單元的訪問文件來檢索數(shù)據(jù)段。
【專利說明】位置獨立文件

【技術領域】
[0001] 以下發(fā)明涉及文件系統(tǒng),并且更具體地,涉及用于位置獨立文件的系統(tǒng)和方法。

【背景技術】
[0002] 電子內容的廣泛使用已導致用戶要求更大的電子存儲量來存儲此類電子內容。然 而,對于用戶積累超過計算設備的容量的電子內容量通常是不常見的。例如,個人計算機上 的電子存儲量可基本上大于便攜式媒體播放器的電子存儲量。因此,需要用戶限制從個人 計算機傳輸至便攜式媒體播放器的電子內容量。類似的問題可在試圖在具有不同存儲容量 的兩個獨立的計算設備上同步電子內容時出現(xiàn)。
[0003] 此類情況的一個解決方案通常是允許向不足量的設備添加另外的存儲裝置。然 而,向一些類型的設備添加存儲裝置通常是不可行的或甚至是不可能的。例如,一些類型的 便攜式媒體播放器可能未被配置為允許擴展它們的存儲容量。又如,可通過附接外部存儲 設備諸如外部硬盤驅動器來擴展一些計算設備的存儲容量,這些計算設備諸如便攜式或膝 上型計算機。然而,由于膝上型計算機的便攜性可能變得受限,所以該解決方案可能不可 行。
[0004] 此類情況的另一個解決方案通常是允許計算設備經(jīng)由網(wǎng)絡連接來訪問另外的存 儲裝置。即,遠程計算設備被配置為允許本地計算設備利用遠程計算設備的存儲容量。在 操作中,可將具有電子內容的文件存儲在遠程計算設備上。隨后本地計算設備可通過將文 件從遠程計算設備傳輸或復制到本地計算設備來利用該文件??捎谰玫鼗驎簳r地將文件存 儲在本地計算設備上。然而,由于本地計算設備處的用戶在訪問前必須等待全部文件被傳 輸,這可能導致對訪問的明顯的時延。另外,在文件只是暫時地存儲在本地計算設備上的情 況下,將有必要利用對文件的任何更新來更新遠程計算系統(tǒng)。另外,這通常需要隨后將本地 計算設備上的文件從本地計算設備傳輸回遠程計算設備,從而增加另外的時延。


【發(fā)明內容】

[0005] 因此,本技術提供了用于管理和使用在多個位置處的電子內容的系統(tǒng)和方法。本 技術的一個方面是提供電子內容的數(shù)據(jù)存儲。具體地,將代表電子內容的一個或多個文件 的數(shù)據(jù)單元轉換成訪問文件和存儲在一個或多個位置(本地或遠程)處的一系列數(shù)據(jù)段。 數(shù)據(jù)段中的每一個代表與不同的散列值相關聯(lián)的數(shù)據(jù)單元的不同部分,并且可被配置為允 許通過通信網(wǎng)絡對其進行高速傳輸。
[0006] 訪問文件包含關于數(shù)據(jù)單元和相關聯(lián)的數(shù)據(jù)段的信息。具體地,訪問文件包括與 數(shù)據(jù)單元相關聯(lián)的元數(shù)據(jù)、數(shù)據(jù)段的分段方案信息、散列值的散列方案信息、數(shù)據(jù)段的位置 和用于確定數(shù)據(jù)段的散列值的一個或多個散列識別值。在一些配置中,所述一個或多個識 別值可由數(shù)據(jù)段的散列值的散列生成。作為另外一種選擇,所述值還可以是散列值本身。
[0007] 本技術隨后可按如下所示用于進行數(shù)據(jù)檢索。在本地系統(tǒng)處,不是存儲數(shù)據(jù)單元, 而是存儲電子內容的訪問文件,并且本地系統(tǒng)被配置為使用對應的訪問文件來服務數(shù)據(jù)單 元的任何請求。因此,當本地系統(tǒng)請求訪問數(shù)據(jù)單元時,利用訪問文件來確定需要用數(shù)據(jù)單 元的哪部分來履行請求,并且確定檢索哪個數(shù)據(jù)段。另外,基于訪問文件中的散列信息,通 過識別提供匹配的散列值的數(shù)據(jù)段來檢索所需的數(shù)據(jù)段。
[0008] 在由數(shù)據(jù)段所代表的數(shù)據(jù)單元的使用率足夠高的事件中,本技術允許至少使用頻 率最高的數(shù)據(jù)段的持久存儲。作為另外一種選擇,可使用數(shù)據(jù)段和訪問文件在本地系統(tǒng)處 重新組裝數(shù)據(jù)單元。
[0009] 本技術還允許生成數(shù)據(jù)單元的不同版本,而不需要生成數(shù)據(jù)單元的每個版本的獨 立的分立副本。例如,當訪問數(shù)據(jù)段導致數(shù)據(jù)段的更新時,所更新的片段的所得散列值將不 同于初始數(shù)據(jù)段的散列值。因此,可僅通過生成代表數(shù)據(jù)單元的更新版本的更新訪問文件 來"創(chuàng)建"更新的數(shù)據(jù)單元,其中通過基于更新的數(shù)據(jù)段提供新散列識別值來代表數(shù)據(jù)單元 的更新版本。
[0010] 本技術還可提供增強的文件系統(tǒng)及其方法。一般來講,計算設備處的存儲裝置通 常包括使用的和未使用的部分。通過文件系統(tǒng)在邏輯上管理使用部分來提供存儲在本地設 備上的數(shù)據(jù)單元的邏輯存儲裝置。在本技術中,文件系統(tǒng)還被配置為利用未使用部分作為 從遠程系統(tǒng)檢索的數(shù)據(jù)段的存儲。即,如先前所述,訪問文件存儲在邏輯存儲裝置中并用于 服務相關聯(lián)的數(shù)據(jù)單元的請求。隨后將數(shù)據(jù)段存儲在未使用的空間中并經(jīng)由它們的散列值 來進行訪問。在對于正檢索的數(shù)據(jù)段不具有可用的足夠空間的事件中,可基于優(yōu)先級標準 將其他的數(shù)據(jù)段刪除或覆寫。另外,文件系統(tǒng)可被配置為通過基于一些標準的至和來自數(shù) 據(jù)段的數(shù)據(jù)單元來管理邏輯存儲裝置。

【專利附圖】

【附圖說明】
[0011] 圖1示出了示例性計算設備;
[0012] 圖2是訪問文件和相關聯(lián)的數(shù)據(jù)段的配置的實施例的示意圖;
[0013] 圖3是計算系統(tǒng)的實施例的示意圖;
[0014] 圖4是用于將數(shù)據(jù)單元轉換成訪問文件和相關聯(lián)的片段的方法的實施例中的步 驟的流程圖;
[0015] 圖5是用于將數(shù)據(jù)單元轉換成訪問文件和相關聯(lián)的片段的系統(tǒng)的實施例的示意 圖;
[0016] 圖6是用于使用訪問文件和相關聯(lián)的片段來訪問數(shù)據(jù)單元的方法的實施例中的 步驟的流程圖;
[0017] 圖7是用于將訪問文件和相關聯(lián)的片段轉換成數(shù)據(jù)單元的方法的實施例中的步 驟的流程圖;
[0018] 圖8是用于生成數(shù)據(jù)單元的不同版本的方法的實施例中的步驟的流程圖;以及
[0019] 圖9是計算系統(tǒng)的另選實施例的示意圖。

【具體實施方式】
[0020] 下面詳細討論了本發(fā)明所公開的方法和布置的各種實施例。雖然討論了特定的具 體實施,但應當理解這僅僅是為了說明性目的而進行的。相關領域中的技術人員將認識到, 在不脫離本公開的實質和范圍的情況下可使用其他部件、配置和步驟。
[0021] 參考圖1,其示出了可為便攜式或固定式的通用計算設備100,所述通用計算設備 包括處理單元(CPU) 120以及將各種系統(tǒng)部件耦合到處理器120的系統(tǒng)總線110,這些系統(tǒng) 部件包括系統(tǒng)存儲器,諸如只讀存儲器(ROM) 140和隨機存取存儲器(RAM) 150。其他系統(tǒng)存 儲器130也可加以使用??梢岳斫猓鞠到y(tǒng)可在具有多于一個CPU 120的計算設備上或者在 聯(lián)網(wǎng)在一起以提供更大處理能力的計算設備的群組或群集上操作。系統(tǒng)總線110可以是若 干類型的總線結構中的任一種,這些總線結構包括存儲器總線或存儲器控制器、外圍總線, 以及使用若干總線架構中的任一種的本地總線。存儲在ROM 140等中的基本輸入/輸出系 統(tǒng)(BIOS)可以提供基本例程,該例程有助于在諸如啟動期間在計算設備100內的元件之間 傳輸信息。計算設備1〇〇還包括存儲設備160,諸如硬盤驅動器、磁盤驅動器、光盤驅動器、 磁帶驅動器、固態(tài)驅動器等。存儲設備160通過驅動器接口連接到系統(tǒng)總線110。驅動器和 相關聯(lián)的計算機可讀介質為計算設備100提供計算機可讀指令、數(shù)據(jù)結構、程序模塊和其 他數(shù)據(jù)的非易失性存儲。在一個方面,執(zhí)行特定功能的硬件模塊包括存儲在有形的計算機 可讀介質中的軟件部件,該有形的計算機可讀介質結合有必要的硬件部件,諸如CPU、總線、 顯示器等以執(zhí)行該功能?;静考τ诒绢I域的那些技術人員是已知的,并且根據(jù)設備的 類型可以設想到適當?shù)淖冃?,這些設備的類型諸如設備是小型的手持計算設備、臺式計算 機或是大型的計算機服務器。
[0022] 雖然本文所述的示例性環(huán)境采用了硬盤,但本領域的那些技術人員應當理解,在 示例性操作環(huán)境中也可使用可存儲可由計算機訪問的數(shù)據(jù)的其他類型的計算機可讀介質, 該計算機可讀介質諸如磁帶盒、閃存卡、數(shù)字通用光盤、卡盤、隨機存取存儲器(RAM)、只讀 存儲器(ROM)、包含比特流等的電纜或無線信號等。
[0023] 為了使得用戶能夠與計算設備100進行交互,輸入設備190代表任何數(shù)量的輸入 機構,諸如鍵盤、鼠標、運動輸入、語音、用于語音的麥克風、用于手勢或圖形輸入的觸摸屏 等。輸出設備170也可以是本領域的那些技術人員已知的多個輸出機構中的一個或多個。 例如,可連接于或可包含顯示器或揚聲器的視頻輸出或音頻輸出設備是常見的。另外,視頻 輸出和音頻輸出設備還可包括針對這些特定功能的增強性能的特定處理器。在一些情況 下,多模系統(tǒng)使得用戶能夠提供多種類型的輸入以與計算設備100通信。通信接口 180通 常支配和管理用戶輸入和系統(tǒng)輸出。對在任何特定硬件布置上操作的公開的方法和設備不 存在限制并且因此所述基本特征可容易地在開發(fā)出改進的硬件或固件布置之后替換為這 些硬件或固件布置。為了清楚地說明,示例性系統(tǒng)被呈現(xiàn)為包括各個功能塊,(包括被標記 為"處理器"的功能塊)。這些塊所代表的功能可通過使用共享的或專用的硬件來提供,所 述硬件包括但不限于能執(zhí)行軟件的硬件。例如,圖1中呈現(xiàn)的一個或多個處理器的功能可 由單個共享的處理器或多個處理器提供。(術語"處理器"的使用不應當理解為唯一地指 代能夠執(zhí)行軟件的硬件。)示例性實施例可包括微處理器和/或數(shù)字信號處理器(DSP)硬 件、用于存儲執(zhí)行下文討論的操作的軟件的只讀存儲器(ROM)、以及用于存儲結果的隨機存 取存儲器(RAM)。還可提供超大規(guī)模集成電路(VLSI)、現(xiàn)場可編程門陣列(FPGA)和專用集 成電路(AW)硬件實施例。
[0024] 各實施例的邏輯操作被實現(xiàn)為:(1)運行于通用計算機內的可編程電路上的一系 列計算機實施的步驟、操作或過程,(2)運行于專用可編程電路上的一系列計算機實施的步 驟、操作或過程;和/或(3)可編程電路內的互連的機器模塊或程序引擎。
[0025] 現(xiàn)在轉向圖2,其示出了根據(jù)本技術的訪問文件和相關聯(lián)的數(shù)據(jù)段的配置的示意 圖。如上所述,本技術的一個方面提供了用于存儲數(shù)據(jù)單元的替代方法,所述數(shù)據(jù)單元代表 電子內容的一個或多個項目。參考圖3和4將詳細描述將數(shù)據(jù)單元轉換成數(shù)據(jù)段和訪問文 件的處理。重新參考圖2,數(shù)據(jù)單元的轉換結果是云或訪問文件202和存儲在一個或多個位 置206的一個或多個數(shù)據(jù)段204。
[0026] 訪問文件202是包括數(shù)據(jù)集合的數(shù)據(jù)文件,所述數(shù)據(jù)集合指出如何經(jīng)由數(shù)據(jù)段 204來訪問數(shù)據(jù)。例如,如圖2所示,訪問文件202可被配置為存儲與數(shù)據(jù)單元相關聯(lián)的元 數(shù)據(jù)202A。如圖2所示,元數(shù)據(jù)202A可包括數(shù)據(jù)單元的擴展的邏輯大小。然而,本發(fā)明并 不限于此,并且元數(shù)據(jù)202A還可包括與數(shù)據(jù)單元相關聯(lián)的任何類型的元數(shù)據(jù)。舉例來說, 該元數(shù)據(jù)可包括日期信息、用戶信息、文件類型信息以及屬性信息。然而,202A還可包括任 何其他類型的識別信息或比上述信息少的信息。在所述數(shù)據(jù)單元代表電子內容的多于一個 項目的情況下,還可將每個項目的元數(shù)據(jù)包括在訪問文件的元數(shù)據(jù)202A中。
[0027] 除了元數(shù)據(jù)202A,訪問文件還可包括分段方案信息202B。即,描述數(shù)據(jù)段的配置 的任何信息。例如,如圖2所示,分段方案信息202B可以是數(shù)據(jù)段204的大小。雖然圖2 中的分段方案信息202B示出了全部數(shù)據(jù)段204具有相同的大小64K,但是本技術并不限于 此。如上所述,在一些情況下,各種數(shù)據(jù)段204的大小可變化。另外,分段方案信息202B并 不僅限于大小信息。相反,在一些情況下,分段方案信息202B可規(guī)定關于如何構造數(shù)據(jù)段 204的另外的細節(jié)。例如,數(shù)據(jù)段204可被配置為包括其他部分和由與數(shù)據(jù)單元相關聯(lián)的 數(shù)據(jù)組成的有效載荷部分的分組或文件。其他部分可包括用于錯誤檢查、用于指示數(shù)據(jù)段 中的數(shù)據(jù)的數(shù)據(jù)單元內的開始和結束位置、數(shù)據(jù)段和其他片段的關系以及任何其他信息的 部分。因此,分段方案信息202B可規(guī)定數(shù)據(jù)段204的組成,使得在檢索時將數(shù)據(jù)從數(shù)據(jù)段 中正確地提取出來。規(guī)定該數(shù)據(jù)段204的結構和配置的任何其他信息還可在分段方案信息 202B中被規(guī)定。
[0028] 如上所述,數(shù)據(jù)段的大小可變化。然而,在許多配置中,可選擇數(shù)據(jù)段的大小以提 供對數(shù)據(jù)段的快速且有效的訪問。即,可設置數(shù)據(jù)段的大小使得它們可以很小的或沒有延 遲或滯后在聯(lián)網(wǎng)的設備之間傳輸。例如,可以相對小的帶寬要求傳輸上述64K的片段。另 夕卜,還可選擇片段大小以利用特定數(shù)據(jù)存儲或數(shù)據(jù)分組進行配置。即,通常不將許多類型的 存儲設備和數(shù)據(jù)分組配置為各自訪問數(shù)據(jù),而是訪問包括特定量的數(shù)據(jù)的塊。因此,本技術 還允許設置片段的大小以利用此類塊的配置以便保持最高可能的吞吐量。
[0029] 本技術的一個方面利用與數(shù)據(jù)段206相關聯(lián)的散列值來檢索數(shù)據(jù)段。因此,為了 確定如何正確地確定散列值,訪問文件202還可包括散列方案信息202C。在圖2中,散列方 案信息202C指定SHA2的散列類型。然而,本技術并不僅限于此,并且本技術中可使用任何 其他類型的散列方案。下面將更加詳細討論散列方案的使用。
[0030] 雖然本發(fā)明的描述將涉及術語"散列"、"散列值"、"散列函數(shù)"等,但是不應考慮以 任何方式對這些術語的使用進行限制。例如,本文中所用的"散列函數(shù)"指代提供第一大小 的第一數(shù)據(jù)集與小于第一大小的第二大小的第二數(shù)據(jù)集之間的映射或轉換的任何子例程、 算法、處理、方法等。
[0031] 訪問文件202的另外的部分是位置信息202D。位置信息202D可指定定位有數(shù)據(jù) 段204的一個或多個位置206。在圖2中,位置信息202D作為可信的統(tǒng)一資源定位符(URL) 字符串的列表示出。然而,位置信息202D可在可定位有數(shù)據(jù)段204的位置處采用任何格式 并且可指定任何類型的資源。另外,在一些配置中,位置信息202D可指示訪問該位置的特 定次序。例如,在其中數(shù)據(jù)段的冗余版本將要存儲在主要和次要位置處的情況下,位置信息 202D可指定首先訪問主要位置,并且僅在數(shù)據(jù)段無法定位在主要位置時訪問次要位置。
[0032] 盡管位置信息202D的內容可以在創(chuàng)建訪問文件時固定,但是在一些配置中,位置 信息202D可隨時間更新。即,在數(shù)據(jù)段的存儲位置改變或者以其他方式調整的事件中,存 儲訪問文件202的計算系統(tǒng)可被配置為接收此類更新并自動調整訪問文件202。此類調整 可以是全局性的或以逐個文件為基礎。另外,更新還可反映利用訪問文件202的計算設備 的位置。即,基于計算設備的位置,所述更新可反映將導致對與訪問文件202相關聯(lián)的數(shù)據(jù) 段的改善的訪問的存儲位置。
[0033] 訪問文件202還可包括散列識別(散列ID)信息202E。即信息直接或間接地指 定數(shù)據(jù)段204的散列值。在一些配置中,散列ID信息202E可指定數(shù)據(jù)段的散列值的列表。 作為另外一種選擇,其可優(yōu)選地限制訪問文件202的文件大小或向訪問文件提供基本上相 同的大小和內容。在此類情況下,與不同數(shù)據(jù)單元相關聯(lián)的散列值的數(shù)量可基于不同數(shù)據(jù) 單元的大小顯著變化。因此,在一些配置中,散列ID信息202E可指定一個或多個復合散列 值。即,從與數(shù)據(jù)段相關聯(lián)的散列值計算散列值。例如,如圖2所示,對于與數(shù)據(jù)段204相 關聯(lián)的散列值208,可計算復合散列值210并將其用作散列ID信息202E。因此,在檢索數(shù) 據(jù)期間,可使用復合散列值210計算散列值208以檢索數(shù)據(jù)段204。
[0034] 如上所述,數(shù)據(jù)段204可包括指定數(shù)據(jù)段204的每個之間的關系或其與數(shù)據(jù)單元 的關系的信息。然而,本技術中該類型的信息還可或作為另外一種選擇,通過復合散列值 210來存儲。即,利用復合散列值210不僅可識別數(shù)據(jù)段204,還可確定各種數(shù)據(jù)段204之 間的關系。例如,當數(shù)據(jù)單元經(jīng)歷分段以生成各種數(shù)據(jù)分段204時,存在定義各種數(shù)據(jù)段的 內容如何在數(shù)據(jù)單元內布置的特定的次序、層次等。因此,為了生成復合散列值210,散列值 208可首先以對應于數(shù)據(jù)單元中的數(shù)據(jù)段204之間的關系的次序布置。作為另外一種選擇, 還可生成代表關系的數(shù)據(jù)。然后,可通過獲取散列值208的該結構的散列值或散列值208 和結構數(shù)據(jù)的組合來生成復合散列值210。因此,復合散列值210不僅存儲散列值208,還 存儲各種數(shù)據(jù)段204的關系信息。因此,需要將關于數(shù)據(jù)段204之間的關系的單獨的信息 存儲在訪問文件202或數(shù)據(jù)段204內,這進一步減少了數(shù)據(jù)段204和訪問文件202的大小。
[0035] 值得注意的是在一些配置中,訪問文件可包括多個復合散列值208。復合散列值 208的數(shù)量可基于各種因素。例如,如果數(shù)據(jù)單元包括多個文件或可沿明確限定的邊界被分 成多個部分,則可對于這些文件或部分生成單獨的復合散列值208。因此,如果僅需要這些 文件或部分中的一個,則只有復合散列值208中的對應的一個需要處理以確定數(shù)據(jù)段204 中的相關聯(lián)的一個。
[0036] 上述存儲配置啟用了用于管理數(shù)據(jù)單元的新類型的文件系統(tǒng)。其參考圖3示意性 地例示。圖3為根據(jù)本技術配置的計算設備300的示意圖。
[0037] 如圖3所示,計算設備300包括文件系統(tǒng)302和用于存儲計算系統(tǒng)300的數(shù)據(jù)并 由文件系統(tǒng)302管理的核心存儲裝置304。在圖3中,文件系統(tǒng)302被指示為增強的分層文 件系統(tǒng)(HFS+),然而,本技術并不限于此,并且利用本技術可不限制地使用其他任何類型的 文件系統(tǒng)。
[0038] 在操作中,文件系統(tǒng)302將核心存儲裝置304管理作為兩個或多個存儲區(qū)域。具 體地,可將核心存儲裝置304管理作為一個或多個的邏輯卷部分306 (非陰影化的)和其他 部分308 (陰影化的)。文件系統(tǒng)302管理邏輯卷部分306以定義用于管理存儲在計算系統(tǒng) 中的數(shù)據(jù)單元的邏輯卷310??捎晌募到y(tǒng)302以基本上常規(guī)的方式管理邏輯卷310以執(zhí) 行數(shù)據(jù)檢索和數(shù)據(jù)存儲。
[0039] 文件系統(tǒng)302可使用其他部分308來定義用于在計算設備300處管理和存儲數(shù)據(jù) 段的內容可尋址存儲裝置(CAS)312。為了執(zhí)行數(shù)據(jù)檢索和數(shù)據(jù)存儲,文件系統(tǒng)302和CAS 312按如下進行操作。
[0040] 相對于數(shù)據(jù)檢索,如上所述,本發(fā)明允許由訪問文件和一個或多個數(shù)據(jù)段來代表 數(shù)據(jù)單元。因此,當響應于請求而需要由計算設備來訪問此類數(shù)據(jù)單元或其部分時,文件系 統(tǒng)302被配置為處理數(shù)據(jù)單元的訪問文件并確定該請求所需的數(shù)據(jù)段。
[0041] 在本技術中,訪問文件的位置可變化。在一些配置中,訪問文件可存儲在計算設備 300內。另外,在計算設備300內,訪問文件可存儲在一個或多個位置中。例如,在一個或多 個配置中,訪問文件可存儲在邏輯卷310內。在一個配置中,訪問文件和在其中存儲的任何 數(shù)據(jù)單元一起作為另外的文件而存儲在邏輯卷310中。在另一個配置中,對于訪問文件的 存儲可留出邏輯卷310的一部分或甚至單獨的一個邏輯卷(未示出)。然而,不需將訪問 文件存儲在邏輯卷內。相反,可使用計算設備300中的其他數(shù)據(jù)存儲裝置。例如,文件系統(tǒng) 302可具有專用的存儲器或高速緩存以用于存儲訪問文件。
[0042] 使用該信息,文件系統(tǒng)302可隨后分析或查詢CAS 312以確定其中的數(shù)據(jù)段是否 可用。在一些配置中,分析可以是掃描CAS 312以確定數(shù)據(jù)段是否存儲在其中,并包括基于 訪問文件獲取的散列值。在其他配置中,文件系統(tǒng)302可訪問在計算設備300處維護的表, 該表包括存儲有數(shù)據(jù)段的CAS 312中位置的列表和與CAS 312中的位置中的每個相關聯(lián)的 散列值。然后,確定在CAS 312中存在的數(shù)據(jù)段是否與期望的散列值相關聯(lián)。
[0043] 如果匹配來自訪問文件的散列值的數(shù)據(jù)段在CAS 312中不可用,則可從遠程存儲 裝置314中檢索數(shù)據(jù)段并將該數(shù)據(jù)段放置于CAS 312中。遠程存儲裝置314中數(shù)據(jù)段的定 位可以與CAS 312中數(shù)據(jù)段的定位相同或不同的方式執(zhí)行。一旦數(shù)據(jù)段在CAS 312中可 用,數(shù)據(jù)就按需要從數(shù)據(jù)段中提取。一旦CAS 312用數(shù)據(jù)段填充并且需要檢索另外的數(shù)據(jù) 段,就可覆寫較舊的或使用頻率不高的數(shù)據(jù)段。相似地,如果需要將數(shù)據(jù)單元添加至邏輯卷 310并且CAS 312用數(shù)據(jù)填充段,則可覆寫較舊的或使用頻率不高的數(shù)據(jù)段以允許擴展邏 輯卷。下面將參考圖6對數(shù)據(jù)段的檢索和訪問過程進行更加詳細的描述。
[0044] 相對于數(shù)據(jù)存儲(即將邏輯存儲裝置310中的數(shù)據(jù)單元轉換成訪問文件和數(shù)據(jù) 段),文件系統(tǒng)302被配置為處理數(shù)據(jù)單元以生成訪問文件和數(shù)據(jù)段??呻S后將數(shù)據(jù)段復制 到至少CAS 312。另外,可將數(shù)據(jù)段復制到遠程存儲裝置314。可隨后將邏輯存儲裝置310 中的數(shù)據(jù)單元刪除并且計算系統(tǒng)300可隨后依靠訪問文件和數(shù)據(jù)段所定義的數(shù)據(jù)單元的 版本。下面將參考圖4和5對數(shù)據(jù)存儲過程進行更加詳細的描述。
[0045] 現(xiàn)在轉向圖4-8,如上所述,提供了利用訪問文件和數(shù)據(jù)段的結構的各種方法以實 現(xiàn)計算設備的文件系統(tǒng)的各種特征。
[0046] 首先,將參考圖4和5對轉換數(shù)據(jù)單元的示例性方法和系統(tǒng)進行描述。圖4為根 據(jù)本技術的用于將數(shù)據(jù)單元轉換成訪問文件和相關聯(lián)的數(shù)據(jù)段的示例性方法400中的步 驟的流程圖。圖5為用于將數(shù)據(jù)單元轉換成訪問文件和相關聯(lián)的數(shù)據(jù)段及其存儲內容的計 算設備(諸如圖3中的計算設備300)內的示意性系統(tǒng)500的示意圖。如圖5所示,可提供 控制器502以控制指令或配置信息504并向系統(tǒng)500的部件提供指令或配置信息504以進 行方法400。如上參考圖2所述,配置信息504可包括分段方案信息、散列方案信息和位置 信息。
[0047] 方法400開始于框402處并繼續(xù)進行到框404。在框404處,可選擇要進行轉換的 數(shù)據(jù)單元。例如,如圖5所示,控制器502可確定需要將本地存儲裝置508中的特定數(shù)據(jù)單 元506轉換成訪問文件和數(shù)據(jù)段。在一些配置中,框402處的選擇可以是基于一個或多個因 素或標準的自動選擇。舉例來說,此類標準可包括用途、年齡和大小。然而,本技術并不限 于此并且控制器502可被配置為分析任何其他的因素或因素的組合以識別數(shù)據(jù)單元506。 在其他配置中,框404處的選擇可以是手動選擇。即,用戶可直接識別本地存儲裝置508中 的數(shù)據(jù)單元。在另外的其他配置中,可提供對數(shù)據(jù)單元506的自動和手動識別的組合。
[0048] 一旦在框404處選擇了數(shù)據(jù)單元506,方法400就繼續(xù)進行以處理數(shù)據(jù)單元,從在 框406處將數(shù)據(jù)單元506分成數(shù)據(jù)段開始。例如,如圖5所示,可將數(shù)據(jù)單元506引導至分 段系統(tǒng)510的數(shù)據(jù)單元處理器512以基于配置信息504來生成數(shù)據(jù)段514??筛鶕?jù)各種標 準執(zhí)行數(shù)據(jù)單元506至數(shù)據(jù)段514的分段。該標準在數(shù)據(jù)單元處理器512中是固有的、在配 置信息504中被提供,或二者的組合。例如,如上所述,標準可指定數(shù)據(jù)段514的大小。標 準還可指定要發(fā)生分段的數(shù)據(jù)單元506中的位置。例如,標準可指定在每η個字節(jié)處進行 分段。作為另外一種選擇,可對數(shù)據(jù)單元506進行分析以基于與數(shù)據(jù)單元506的不同部分 相關聯(lián)的功能性、關鍵性、或其他特性確定數(shù)據(jù)單元504的邏輯片段或片段組。另外,該標 準可取決于將利用數(shù)據(jù)段514并與數(shù)據(jù)段514進行交互的系統(tǒng)。例如,如果特定系統(tǒng)或通 信網(wǎng)絡對于具有特定大小或具有特定配置的數(shù)據(jù)段更有效率地操作,則可將數(shù)據(jù)單元處理 器512配置為將數(shù)據(jù)段514配置為符合該配置。然而,本技術并不限于任何特定分段方案 并且可使用任何類型的分段方案。
[0049] 在框406處由數(shù)據(jù)單元處理器512生成數(shù)據(jù)段514后,在框408處可生成數(shù)據(jù)段 514的散列值。例如,如圖5所示,分段系統(tǒng)510還可包括用于生成各種數(shù)據(jù)段514的散列 值518的散列模塊516。如先前所述,本技術可利用任何類型的散列方案,然而,為了避免沖 突的危險,可使用提供基本上唯一的散列值的散列方案。用于此類目的的一種示例性散列 方案是SHA2。
[0050] -旦在框408處由散列模塊516計算出了散列值518,就可在框410處生成或組裝 訪問文件。具體地,分段系統(tǒng)510可包括訪問文件生成器520以生成訪問文件。訪問文件 生成器520可將散列值518與數(shù)據(jù)單元506的元數(shù)據(jù)522以及配置信息504組合以生成數(shù) 據(jù)段514和數(shù)據(jù)單元506的訪問文件524。
[0051] 可以若干種方式來獲取元數(shù)據(jù)522。例如,如圖5所示,數(shù)據(jù)單元處理器512可被配 置為從數(shù)據(jù)單元506提取元數(shù)據(jù)522并將元數(shù)據(jù)522轉發(fā)至訪問文件生成器520。然而,本 技術并不限于此并且可使用分段系統(tǒng)510內部或外部的任何其他方法來獲取元數(shù)據(jù)522。
[0052] 相對于要包括在訪問文件524中的散列方案信息、分段方案信息、以及位置信息, 可由訪問文件生成器520從配置信息504獲取這些信息。作為另外一種選擇,利用此類信 息的分段系統(tǒng)510的模塊或單元還可將該信息轉發(fā)至訪問文件生成器520。
[0053] 在框408和410之后或同時,在框412處可存儲數(shù)據(jù)段514。數(shù)據(jù)段514進行存儲 的位置可包括本地存儲裝置508、遠程存儲裝置526、或兩者的組合。
[0054] 在一些配置中,如上參考圖3所述,總是在遠程存儲裝置526中存儲數(shù)據(jù)段514以 提供存檔副本以防有必要覆寫數(shù)據(jù)段514的情況。
[0055] 如上所述,在框410處生成的訪問文件524將包括位置信息。在至少一些數(shù)據(jù)段 514存儲在本地存儲裝置508中的配置中,可在訪問文件524中識別本地存儲裝置508,使 得本地系統(tǒng)可知道在本地存儲裝置508中查找數(shù)據(jù)段514。然而,在一些配置中,本地系統(tǒng) (即文件系統(tǒng))可被配置為在本地存儲裝置508中檢查數(shù)據(jù)段514。因此,訪問文件生成器 520可被配置為從訪問文件中的地址中排除本地存儲裝置508,以進一步減小訪問文件524 的大小。
[0056] -旦在框412處存儲了數(shù)據(jù)段514,并且在框410處組裝了訪問文件524,方法400 就可繼續(xù)進行到框414。在框414處,本地系統(tǒng)可被重新配置為使用訪問文件524來服務數(shù) 據(jù)單元506的任何請求。該處理可包括將訪問文件524存儲在本地存儲裝置508中或本地 系統(tǒng)中的其他存儲裝置,并針對本地系統(tǒng)配置文件系統(tǒng)以經(jīng)由訪問文件524來訪問數(shù)據(jù)單 元的數(shù)據(jù)。任選地,在框416處可從本地存儲裝置508中刪除或清除數(shù)據(jù)單元506。然后, 方法400恢復步驟418處的可包括重復方法400的先前處理。
[0057] 圖6為根據(jù)本技術的用于使用訪問文件和相關聯(lián)的數(shù)據(jù)段來訪問數(shù)據(jù)單元的示 例性方法600中的步驟的流程圖。方法600開始于框602處并進行至框604。在框604處, 接收訪問數(shù)據(jù)單元的至少選擇部分的請求。即,取決于應用或請求,僅需要數(shù)據(jù)單元的一部 分。在典型的計算設備中,由管理本地系統(tǒng)的數(shù)據(jù)存儲設備的一個或多個文件系統(tǒng)來服務 本地系統(tǒng)中的數(shù)據(jù)單元的請求。因此,框604可包括將數(shù)據(jù)單元的選擇部分的請求轉發(fā)至 文件系統(tǒng)。
[0058] -旦在框604處文件系統(tǒng)接收到請求,在框606處文件系統(tǒng)就可確定應如何服務 對數(shù)據(jù)單元的請求。即,在框606處,文件系統(tǒng)可確定是否其已被配置為使用訪問文件和數(shù) 據(jù)段來服務與數(shù)據(jù)單元相關聯(lián)的請求。如果文件系統(tǒng)還沒有按此配置,則方法可繼續(xù)進行 到框608并且可使用常規(guī)方法從本地存儲裝置中檢索數(shù)據(jù)單元。然后,方法600可繼續(xù)進 行到框610并恢復包括重復方法600的先前處理。
[0059] 如果在框606處確定了文件系統(tǒng)被配置為利用訪問文件來服務對數(shù)據(jù)單元的請 求,則方法600可繼續(xù)進行到框612。在框612處,可獲取或訪問所請求的數(shù)據(jù)單元的訪問 文件。在本技術中,訪問單元的位置可變化。在一些配置中,訪問文件可存儲在本地系統(tǒng)的 本地存儲裝置內,或者與駐留本地系統(tǒng)上的數(shù)據(jù)單元一起存儲或者存儲在特定位置諸如專 用的存儲位置中。例如,本地系統(tǒng)可包括高速緩存或用于存儲訪問文件的其他保留的存儲 區(qū)域。作為另外一種選擇,訪問文件還可存儲在一個或多個遠程位置中。在此類配置中,在 框612處文件系統(tǒng)可被配置為在接收到請求時訪問遠程位置并制作訪問文件的永久的或 暫時的副本以服務該請求。
[0060] 一旦在框612處獲取了訪問文件,就可在框614處開始處理訪問文件以獲取服務 請求所需的數(shù)據(jù)段。例如,可在框614處基于請求處理訪問文件,以識別將響應請求的特定 的數(shù)據(jù)段以及它們對應的散列值。例如,可利用訪問文件中的元數(shù)據(jù)信息和分段方案信息 來確定哪個數(shù)據(jù)段與請求相關聯(lián)。然后,可使用分段方案信息和散列ID信息來確定識別的 數(shù)據(jù)段的散列值。在需要整個數(shù)據(jù)單元的情況下,獲取所有數(shù)據(jù)單元的散列值。然而,在僅 需要數(shù)據(jù)段的一部分的情況下,僅需要檢索這些片段的散列值。然而,本技術并不限于此。 艮P,可獲取任何數(shù)量的散列值,只要它們包括服務請求所需的數(shù)據(jù)段的散列值。
[0061] 該配置的一個優(yōu)勢在于在很多情況下,用戶通常需要訪問數(shù)據(jù)單元的特定部分而 并不需要立即訪問整個的數(shù)據(jù)單元。例如,在數(shù)據(jù)單元由音頻或視頻內容組成的情況下,可 僅需要向對應于當前正在顯示的音頻或視頻內容部分的數(shù)據(jù)單元的部分以及一些另外的 部分提供訪問(例如,提供內容的一些緩沖)。因此,本技術允許識別數(shù)據(jù)單元的這些部分 以及相關聯(lián)的數(shù)據(jù)段。
[0062] 在框614處在識別數(shù)據(jù)段并獲取它們的散列值后,在框616處,可配置本地存儲裝 置以提供對所識別的數(shù)據(jù)段的訪問。該框可包括首先在各種存儲位置中執(zhí)行搜索以確定所 識別的數(shù)據(jù)段的位置。具體地,這包括將所識別的數(shù)據(jù)段的散列值與各種存儲位置處的可 用的數(shù)據(jù)段的散列值進行比較。在一些配置中,可動態(tài)地計算各種位置的數(shù)據(jù)段的散列值, 在其他的配置中,可預先計算各種存儲位置處的數(shù)據(jù)段的散列值。在此類配置中,可將這些 散列值存儲在與數(shù)據(jù)段分開的數(shù)據(jù)文件中,或嵌入到數(shù)據(jù)段內。
[0063] 相對于搜索的位置,所述位置可包括訪問文件內的至少指定的位置。然而,搜索的 位置還可包括其他位置。例如,還可搜索本地系統(tǒng)中的存儲位置。但是,本技術并不限于此 并且方法600可被配置為包括任何其他默認的搜索位置,包括本地和遠程位置。另外,如上 所述,可以在訪問文件或本地系統(tǒng)中指定的預先定義的順序來搜索位置。
[0064] 除了進行上述搜索外,框616還可涉及通過永久地或暫時地在本地系統(tǒng)中制作所 識別的片段的副本來配置本地存儲裝置以包括所識別的片段。在本技術中,在本地系統(tǒng)中 存儲所識別的片段的位置可變化。在一些配置中,可在本地系統(tǒng)中的本地存儲裝置內存儲 所識別的片段,或者與駐留于本地系統(tǒng)的數(shù)據(jù)單元一起存儲,或者存儲在特定位置諸如專 用的存儲位置中。例如,本地系統(tǒng)可包括高速緩存或用于存儲所識別的片段的其他保留的 存儲器區(qū)域。
[0065] 在框616處將本地系統(tǒng)配置為包括所識別的數(shù)據(jù)段后,方法繼續(xù)進行到框618。在 框618處,隨后可使用本地系統(tǒng)中的數(shù)據(jù)段來服務請求。即,可從數(shù)據(jù)段中提取數(shù)據(jù)以提供 針對請求的數(shù)據(jù),而不需使全部數(shù)據(jù)單元可用。隨后方法600繼續(xù)進行到框610并恢復包 括重復方法600的先前處理。
[0066] 如上參考圖6所述,可使用本地存儲裝置中的數(shù)據(jù)段來服務請求。然而,在數(shù)據(jù) 單元的大部分經(jīng)由數(shù)據(jù)段頻繁被訪問的情況下,在本地系統(tǒng)中重新組裝數(shù)據(jù)單元可更有效 率。圖7中示出了該處理。圖7為根據(jù)本技術的將訪問文件和相關聯(lián)的數(shù)據(jù)段轉換成數(shù)據(jù) 單元的示例性方法700中的步驟的流程圖。方法700開始于框702并繼續(xù)進行到框704。
[0067] 在框704處,選擇要存儲至本地系統(tǒng)處的數(shù)據(jù)單元。如上所述,可基于使用標準諸 如與數(shù)據(jù)單元相關聯(lián)的數(shù)據(jù)段的使用頻率來選擇數(shù)據(jù)單元。然而,本技術并不限于此并且 可使用任何其他標準來選擇數(shù)據(jù)單元。例如,如果本地系統(tǒng)處的另外的空間可用,則可不經(jīng) 由數(shù)據(jù)段而在本地存儲一個或多個數(shù)據(jù)單元。又如,需要歸檔數(shù)據(jù)單元或需要制作復件,這 對組裝數(shù)據(jù)單元可為有必要的。在本技術中還可利用任何用于選擇數(shù)據(jù)單元的其他標準。
[0068] 在框704處選擇數(shù)據(jù)單元后,在框706處可檢索數(shù)據(jù)單元的所有數(shù)據(jù)段。這可以 與如上參考圖6所述的方法基本上相同的方法執(zhí)行。然后,一旦本地系統(tǒng)處的所有的數(shù)據(jù) 段可用,就可在框708處使用數(shù)據(jù)段來重新組裝數(shù)據(jù)單元。具體地,可結合數(shù)據(jù)段中存在的 任何信息,使用分段方案信息、元數(shù)據(jù)、以及其他訪問文件中的信息來將數(shù)據(jù)段以適當?shù)牟?置放置,從而重新組裝數(shù)據(jù)單元。
[0069] 一旦在框708處在本地系統(tǒng)處重新組裝數(shù)據(jù)單元,就可在框710處將本地系統(tǒng)重 新配置。即,如果在本地系統(tǒng)處維護重新組裝的數(shù)據(jù)單元,則在框710處可重新配置本地系 統(tǒng)以使用重新組裝的數(shù)據(jù)單元來服務對利用數(shù)據(jù)單元的將來的請求。
[0070] 任選地,在框710處重新配置本地系統(tǒng)以利用重新組裝的數(shù)據(jù)單元后,在框712處 可刪除訪問文件和相關聯(lián)的數(shù)據(jù)塊,在一些情況下,這可包括在本地系統(tǒng)處刪除訪問文件 和相關聯(lián)的數(shù)據(jù)塊。因此此類配置在遠程系統(tǒng)中維護了數(shù)據(jù)單元的存檔復件。作為另外一 種選擇,框712可涉及在本地系統(tǒng)和一個或多個遠程系統(tǒng)兩者中刪除訪問文件和相關聯(lián)的 數(shù)據(jù)塊。因此,可刪除遠程系統(tǒng)中的數(shù)據(jù)單元的存檔副本。然而,在一些情況下,可將刪除 限制為對非存檔的遠程系統(tǒng)進行以在如果數(shù)據(jù)單元從本地系統(tǒng)中不注意地刪除或如果以 后在本地系統(tǒng)處需要數(shù)據(jù)單元的"干凈"的副本的情況下,提供文件的備份副本。
[0071] 如上所述,根據(jù)本技術來配置的文件系統(tǒng)提供了與常規(guī)方法相比利用減少量的空 間的文檔型式系統(tǒng)。下面參考圖8來示出了該型式系統(tǒng)的操作。圖8為根據(jù)本技術的用于 生成數(shù)據(jù)單元的不同版本的示例性方法800中的步驟的流程圖。
[0072] 方法800開始于框802處并繼續(xù)進行到框804。在框804處,文件系統(tǒng)檢測到已經(jīng) 更新復制到本地系統(tǒng)的至少一個數(shù)據(jù)段。例如,文件系統(tǒng)可檢測到用戶已發(fā)出了改變數(shù)據(jù) 段內的數(shù)據(jù)的命令。作為另外一種選擇,文件系統(tǒng)可檢測到數(shù)據(jù)段的散列值不再與根據(jù)訪 問文件的散列值匹配??蔁o限制地使用用于檢測數(shù)據(jù)段中的改變的任何其他方法。
[0073] -旦在框804處檢測到數(shù)據(jù)段中的改變,方法800就繼續(xù)進行到框806以生成數(shù) 據(jù)單元的新版本。具體地,在框806處,文件系統(tǒng)利用一個或多個更新的數(shù)據(jù)段來生成更新 訪問文件。更新訪問文件基本上與和初始數(shù)據(jù)段相關聯(lián)的訪問文件相似。然而,生成更新 訪問文件以包括關于一個或多個更新的數(shù)據(jù)段的散列值的信息。另外,可調整針對更新訪 問文件的元數(shù)據(jù)或其他信息以反映涉及初始訪問文件中的數(shù)據(jù)單元的不同版本的更新訪 問文件。例如,更新訪問文件還可包括重新涉及初始訪問文件的信息。
[0074] 在一些情況下,與響應于更新的數(shù)據(jù)段來生成完全的訪問文件相反,更新的訪問 可被配置為包括基于一個或多個更新的數(shù)據(jù)段和初始訪問文件中的信息來指示如何生成 數(shù)據(jù)單元的新版本的信息。即,更新訪問文件可被配置為包括識別初始訪問文件的信息和 識別初始訪問文件所需的改變的信息以獲取用于訪問數(shù)據(jù)單元的新版本的數(shù)據(jù)段。
[0075] 無論更新訪問文件的配置如何,一旦在框806處生成更新訪問文件,方法800就繼 續(xù)進行到框808。在框808處,可將更新的數(shù)據(jù)段存儲在與訪問文件相關聯(lián)的存儲位置處以 用于將來的訪問???08還可包括將更新訪問文件存儲在在共享的環(huán)境中的遠程位置處。 艮P,將訪問文件存儲在其他用戶可訪問的存儲位置處,使得其他用戶可經(jīng)由更新的數(shù)據(jù)段 來訪問更新的數(shù)據(jù)單元。
[0076] 在框808之后或同時,方法800可執(zhí)行框810。在框810處,可重新配置本地系統(tǒng) 使得本地系統(tǒng)使用更新訪問文件來服務對數(shù)據(jù)單元的新版本的請求。在框808和框810之 后,方法800可任選地繼續(xù)進行到框812。在框812處,如果在本地系統(tǒng)處不進一步使用初 始數(shù)據(jù)單元,則可從本地系統(tǒng)刪除初始訪問文件。例如,如果在本地系統(tǒng)處的用戶的目的是 覆寫初始數(shù)據(jù)單元。類似地,如果僅使用一個或多個更新的數(shù)據(jù)段,則可從本地系統(tǒng)刪除初 始數(shù)據(jù)段。最后,方法800可繼續(xù)進行到框814并恢復包括重復方法800的先前處理。
[0077] 盡管上面描述了提供通過使用上述數(shù)據(jù)段方案擴展本地存儲裝置的容量的方法 的各種實施例,但是本技術并不僅限于此。在一些實施例中,還可利用數(shù)據(jù)段的用途以增強 本地系統(tǒng)的性能。
[0078] 在許多情況下,計算設備可包括具有各種數(shù)據(jù)傳輸速率、訪問速度、或相對于向存 儲設備讀取或寫入數(shù)據(jù)的其他數(shù)據(jù)訪問尺度的各種類型的存儲設備。例如,固態(tài)存儲設備 諸如固態(tài)驅動器,其通常比磁性存儲設備諸如具有磁頭的硬盤驅動器具有明顯更高的訪問 速度。然而,固態(tài)驅動器的每兆字節(jié)的費用通常明顯高于具有磁頭的硬盤驅動器的每兆字 節(jié)的費用。因此,在許多類型的計算設備中,具有磁頭的硬盤驅動器仍然是主要的存儲介 質。
[0079] 但是,需要指出的是在許多情況下,計算設備使用的數(shù)據(jù)量通常明顯小于具有磁 頭的硬盤驅動器的總存儲容量。因此,本技術的一個方面是利用數(shù)據(jù)段的使用來提供有效 的復合存儲裝置。下面參考圖9來描述此類復合存儲設備的操作和配置。
[0080] 圖9是根據(jù)本技術的另選實施例配置的計算設備900的示意圖。如上所述,計算 設備900可包括管理第一物理設備904和第二物理設備906的文件系統(tǒng)902。為了進行示 意性的說明,第一物理設備904是具有高訪問速度和低存儲容量的存儲卷,并且第二物理 設備906是具有低訪問速度和高存儲容量的存儲卷。例如,第一物理設備904可以是磁盤 驅動器,并且第二物理設備906可以是固態(tài)硬盤驅動器。
[0081] 盡管參照文件系統(tǒng)對圖9的示例性實施例進行了描述,但是其只是為了便于說 明。然而,本文中所述的多個存儲設備的控制可在文件系統(tǒng)級、卷管理器級、或甚至設備驅 動級以無限制的基本上相同的方式實現(xiàn)。
[0082] 在操作中,數(shù)據(jù)可由計算設備900在第二物理設備906中以分段的形式在本地存 儲??筛鶕?jù)上述方法的任一種生成或存儲此類數(shù)據(jù)段,其中第二物理設備906以與上述遠 程存儲設備基本上相同的方式操作。因此,文件系統(tǒng)902可被配置為將特定數(shù)據(jù)單元與存 儲在第二物理設備906中的特定系列的數(shù)據(jù)段相關聯(lián)。
[0083] 在常規(guī)系統(tǒng)中,如果計算設備900此后請求數(shù)據(jù)單元的至少一部分,則計算設備 900將僅訪問第二物理設備906中的合適的數(shù)據(jù)段。然而,在各種實施例中,與提供此類訪 問相反,將合適的數(shù)據(jù)段復制到第一物理設備904。另外,重新配置文件系統(tǒng)902使得由第 一物理設備904來服務對復制的數(shù)據(jù)段的將來的請求。因此,第一物理設備904和第二物 理設備906作為單個邏輯存儲設備908工作,其中根據(jù)是否在第一物理設備904處創(chuàng)建了 數(shù)據(jù)段的復件來從設備904和906之一檢索數(shù)據(jù)段。例如,文件系統(tǒng)902可被配置為從第 一物理設備904訪問與數(shù)據(jù)單元910相關聯(lián)的數(shù)據(jù)段并且從第二物理設備906訪問與數(shù)據(jù) 單元912相關聯(lián)的數(shù)據(jù)段。
[0084] 更重要地,由于計算設備通常重復訪問大量數(shù)據(jù)單元,所以經(jīng)由更快的第一物理 設備904來訪問對應的數(shù)據(jù)段也將導致計算設備900的總體性能增強。
[0085] 在第一物理設備904的存儲容量用盡的事件中,可覆寫或刪除在其上存儲的數(shù)據(jù) 段。如上所述,可利用任何類型的方案來選擇哪個數(shù)據(jù)段可刪除或覆寫。在此類情況下,如 果在第一物理設備904中未發(fā)生對數(shù)據(jù)段的修改,則可簡單地覆寫或刪除數(shù)據(jù)段,并且文 件系統(tǒng)902可被重新配置為經(jīng)由第二物理設備906來提供對數(shù)據(jù)段的訪問。如果在第一物 理設備904中發(fā)生對數(shù)據(jù)段的修改,則可使用第一物理設備904中的數(shù)據(jù)段來覆寫第二物 理設備906中的對應的數(shù)據(jù)段。盡管將數(shù)據(jù)段復制回第二物理設備906會影響性能,但是 在典型的計算設備中被訪問的數(shù)據(jù)的大部分(90%或更高)通常保持未被修改。因此,在大 多數(shù)情況下,不需要另外的復制操作并且數(shù)據(jù)段的刪除/覆寫通常僅包括更新文件系統(tǒng)的 操作。
[0086] 作為另外一種選擇,可在第二物理設備906中維護第一物理設備904中修改的數(shù) 據(jù)段和第二物理設備906中對應的數(shù)據(jù)段兩者。在此類情況下,如上所述,文件系統(tǒng)902可 利用該布置以存儲數(shù)據(jù)單元的不同版本。本公開還設想響應于對第一物理設備904中的數(shù) 據(jù)段的修改,可自動地將修改的數(shù)據(jù)段復制到第二物理設備906以提供對數(shù)據(jù)單元的不同 版本的存儲而不從第一物理設備904刪除數(shù)據(jù)段。
[0087] 盡管圖9的示例性實施例參照不同的訪問速度而被描述,但是根據(jù)本技術的復合 存儲設備可基于具有不同數(shù)據(jù)訪問尺度的設備,所述不同數(shù)據(jù)訪問尺度包括數(shù)據(jù)傳輸速 率、訪問速度、或任何其他感興趣的尺度。
[0088] 本公開設想可單獨或結合上述技術的任一種來使用上述參考圖9的復合存儲方 案。即,可基于本地-本地、遠程-本地或兩者來利用數(shù)據(jù)段。
[0089] 根據(jù)這些實例的其他具體實施包括用于承載或具有存儲在其上的計算機可執(zhí)行 指令或數(shù)據(jù)結構的計算機可讀介質。此類計算機可讀介質可以是可由通用或專用計算機 訪問的任何可用介質。以舉例而非限制的方式,此類有形計算機可讀介質可包括RAM、R0M、 EEPROM、CD-ROM或其他光盤存儲裝置、磁盤存儲裝置或其他磁性存儲設備、固態(tài)硬盤存儲裝 置、或任何其他介質,其可用于承載或存儲呈計算機可執(zhí)行指令或數(shù)據(jù)結構形式的所需程 序代碼裝置。
[0090] 計算機可執(zhí)行指令包括例如使得通用計算機、專用計算機或專用處理設備來執(zhí)行 某些功能或一組功能的指令和數(shù)據(jù)。計算機可執(zhí)行指令也包括由計算機在獨立或網(wǎng)絡環(huán)境 中執(zhí)行的程序模塊。一般來講,程序模塊包括執(zhí)行特定任務或實現(xiàn)特定抽象數(shù)據(jù)類型的例 程、程序、對象、部件和數(shù)據(jù)結構。計算機可執(zhí)行指令、相關聯(lián)的數(shù)據(jù)結構和程序模塊代表用 于執(zhí)行本文所公開的方法的步驟的程序代碼裝置的實例。此類可執(zhí)行指令或相關聯(lián)的數(shù)據(jù) 結構的特定序列代表用于實現(xiàn)在此類步驟中描述的功能的對應動作的實例。
[0091] 本領域的那些技術人員將會理解,本發(fā)明的其他實施例可在具有許多類型的計算 機系統(tǒng)配置的網(wǎng)絡計算環(huán)境中實踐,所述許多類型的計算機系統(tǒng)配置包括個人計算機、手 持設備、多處理器系統(tǒng)、基于微處理器的或可編程的消費電子產品、網(wǎng)絡PC、微型計算機、大 型計算機等。實施例也可在分布式計算環(huán)境中實踐,在該環(huán)境中任務由通過通信網(wǎng)絡(或 者通過硬連線鏈路、無線鏈路,或者通過它們的組合)鏈接的本地和遠程處理設備來執(zhí)行。 在分布式計算環(huán)境中,程序模塊可位于本地存儲器存儲設備和遠程存儲器存儲設備兩者 中。
[0092] 可通過本地網(wǎng)絡、令牌環(huán)網(wǎng)絡、互聯(lián)網(wǎng)、企業(yè)內聯(lián)網(wǎng)、802. 11系列無線信號、光纖網(wǎng) 絡、無線或微波傳輸?shù)葓?zhí)行所述系統(tǒng)各級的通信。盡管潛在通信技術可變化,但是本文所述 的基本原理仍可應用。
[0093] 上文描述的各種實施例僅僅以舉例方式提供,而不應解釋為進行限制。本領域的 那些技術人員可認識到,在遵從本文舉例說明和描述的示例性實施例和應用且不脫離本公 開的實質和范圍的情況下,可做出各種修改和變化。
【權利要求】
1. 一種方法,包括: 在一個或多個位置處存儲一個或多個數(shù)據(jù)段,所述數(shù)據(jù)段中的每一個代表數(shù)據(jù)單元的 不同部分; 計算所述數(shù)據(jù)段中的每一個的散列值; 組裝訪問文件,所述訪問文件包括所述數(shù)據(jù)單元的元數(shù)據(jù)、所述數(shù)據(jù)段的分段方案信 息、所述散列值的散列方案信息、描述所述散列值的散列識別信息、以及識別所述位置的位 置信息;以及 通過處理所述訪問文件使用所述數(shù)據(jù)段來配置文件系統(tǒng)以服務對所述數(shù)據(jù)單元的請 求。
2. 根據(jù)權利要求1所述的方法,還包括基于至少一個標準來選擇所述數(shù)據(jù)單元。
3. 根據(jù)權利要求2所述的方法,其中所述至少一個標準基于用戶對完全數(shù)據(jù)單元的訪 問頻率。
4. 根據(jù)權利要求1所述的方法,其中所述數(shù)據(jù)段中的每一個被配置為相同的大小。
5. 根據(jù)權利要求1所述的方法,其中所述散列識別信息包括所述數(shù)據(jù)段的所述散列 值。
6. 根據(jù)權利要求1所述的方法,其中所述散列識別信息包括基于所述散列值的至少一 個復合散列值。
7. 一種系統(tǒng),包括: 包括文件系統(tǒng)的計算設備,所述文件系統(tǒng)被配置為控制所述計算設備以執(zhí)行下列步 驟: 將存儲在所述計算設備中的數(shù)據(jù)單元轉換成一個或多個數(shù)據(jù)段; 將所述數(shù)據(jù)段存儲在一個或多個位置中; 計算所述數(shù)據(jù)段中的每一個的散列值;以及 組裝用于服務對所述數(shù)據(jù)單元的請求的訪問文件,所述訪問文件包括所述數(shù)據(jù)單元的 元數(shù)據(jù)、所述數(shù)據(jù)段的分段方案信息、所述散列值的散列方案信息、描述所述散列值的散列 識別信息、以及識別所述位置的位置信息。
8. 根據(jù)權利要求7所述的系統(tǒng),其中所述位置包括由所述計算設備經(jīng)由通信鏈路可訪 問的一個或多個遠程存儲位置。
9. 根據(jù)權利要求7所述的系統(tǒng),其中所述計算設備包括由所述文件系統(tǒng)管理的用于存 儲所述訪問文件的專用存儲裝置。
10. 根據(jù)權利要求7所述的系統(tǒng),其中所述文件系統(tǒng)還被配置為控制所述計算設備以 基于至少一個標準來選擇所述數(shù)據(jù)單元。
11. 根據(jù)權利要求10所述的系統(tǒng),其中所述至少一個標準基于在所述計算設備處的對 所述數(shù)據(jù)單元的訪問頻率。
12. 根據(jù)權利要求7所述的系統(tǒng),其中所述文件系統(tǒng)還被配置為控制所述計算設備以 響應于存儲所述數(shù)據(jù)段和組裝所述訪問文件而從所述計算設備清除所述數(shù)據(jù)單元。
13. -種包括計算機可執(zhí)行指令的非暫態(tài)計算機可讀介質,所述計算機可執(zhí)行指令用 于: 響應于在計算設備處訪問數(shù)據(jù)單元的至少所選擇部分的請求,獲取對應于所述數(shù)據(jù)單 元的訪問文件并識別包括所述數(shù)據(jù)單元的數(shù)據(jù)的一個或多個數(shù)據(jù)段; 處理所述訪問文件以至少識別對應于所述數(shù)據(jù)單元的所選擇部分的數(shù)據(jù)段以產生所 識別的數(shù)據(jù)段; 配置所述計算設備的本地存儲裝置以至少包括所識別的數(shù)據(jù)段;以及 使用從所述本地存儲裝置中的數(shù)據(jù)段提取的數(shù)據(jù)來服務所述請求, 其中所述訪問文件包括所述數(shù)據(jù)單元的元數(shù)據(jù)、所述數(shù)據(jù)段的分段方案信息、所述散 列值的散列方案信息、描述所述散列值的散列識別信息、以及識別所述位置的位置信息。
14. 根據(jù)權利要求13所述的非暫態(tài)計算機可讀介質,其中所述獲取還包括從由所述計 算設備通過通信鏈路可訪問的遠程系統(tǒng)檢索所述訪問文件。
15. 根據(jù)權利要求13所述的非暫態(tài)計算機可讀介質,其中所述處理還包括基于所述元 數(shù)據(jù)和所述分段方案信息來確定所識別的數(shù)據(jù)段。
16. 根據(jù)權利要求13所述的非暫態(tài)計算機可讀介質,其中所述配置還包括: 基于所述散列方案信息和所述散列識別信息來獲取所識別的數(shù)據(jù)段的散列值以產生 所獲取的散列值; 基于所獲取的散列值來確定是否有任何所識別的數(shù)據(jù)段不存在于所述本地存儲裝置 中;以及 對于不存在于所述本地存儲裝置中的所識別的數(shù)據(jù)段中的每一個,從在所述訪問文件 中指定的任何所述位置檢索所識別的數(shù)據(jù)段中的所述一個。
17. -種方法,包括: 響應于在計算設備處對數(shù)據(jù)單元的至少所選擇部分的請求,獲取訪問文件,所述訪問 文件包括所述數(shù)據(jù)單元的元數(shù)據(jù)、存儲定義所述數(shù)據(jù)單元的不同部分并且與散列值相關聯(lián) 的一個或多個數(shù)據(jù)段的位置、所述數(shù)據(jù)段的分段方案信息、所述散列值的散列方案信息、以 及基于所述散列值的散列識別信息; 識別對應于所述數(shù)據(jù)單元的所選擇部分的所述數(shù)據(jù)段中的至少一些; 配置所述計算設備的本地存儲裝置以至少包括所識別的數(shù)據(jù)段;以及 使用從所述本地存儲裝置中的數(shù)據(jù)段提取的數(shù)據(jù)來服務所述請求。
18. 根據(jù)權利要求17所述的方法,其中所述配置還包括響應于所述本地存儲裝置針對 所識別的數(shù)據(jù)段中的一個或多個具有不足的空間來刪除當前未使用的一個或多個其他數(shù) 據(jù)段。
19. 根據(jù)權利要求18所述的方法,其中基于在所述計算設備處的至少所述其他數(shù)據(jù)段 的使用歷史,選擇所述其他數(shù)據(jù)段進行刪除。
20. 根據(jù)權利要求17所述的方法,還包括: 如果所識別的數(shù)據(jù)段的所述使用滿足使用標準,則在計算設備處重新組裝所述數(shù)據(jù)單 元以產生重新組裝的數(shù)據(jù)單元并使用所述重新組裝的數(shù)據(jù)單元來服務所述請求,其中基于 所述訪問文件重新組裝所述數(shù)據(jù)單元。
21. -種系統(tǒng),包括: 計算設備,所述計算設備包括文件系統(tǒng),所述文件系統(tǒng)被配置為控制所述計算設備以 執(zhí)行下列步驟: 經(jīng)由訪問文件,訪問存儲有數(shù)據(jù)單元的數(shù)據(jù)的一個或多個數(shù)據(jù)段中的至少一個以產生 至少一個所訪問的數(shù)據(jù)段; 檢測已更新所訪問的數(shù)據(jù)段以產生至少一個更新的數(shù)據(jù)段; 基于針對所更新的數(shù)據(jù)段而計算的散列值生成定義所述數(shù)據(jù)單元的更新數(shù)據(jù)單元的 更新訪問文件;以及 使用所更新訪問文件來配置所述本地系統(tǒng)以服務對所述數(shù)據(jù)單元的請求, 其中所述訪問文件包括所述數(shù)據(jù)單元的元數(shù)據(jù)、所述數(shù)據(jù)段的分段方案信息、所述散 列值的散列方案信息、描述所述散列值的散列識別信息、以及識別位置的位置信息。
22. 根據(jù)權利要求21所述的系統(tǒng),還包括將所更新的數(shù)據(jù)段存儲在所述位置之一中。
23. 根據(jù)權利要求21所述的系統(tǒng),還包括將所更新的訪問文件存儲在公共位置中。
24. 根據(jù)權利要求21所述的系統(tǒng),還包括從所述計算設備刪除所述訪問文件。
25. -種系統(tǒng),包括 處理器; 第一存儲設備; 第二存儲設備,所述第二存儲設備具有高于所述第一存儲設備的對應數(shù)據(jù)訪問尺度值 的至少一個數(shù)據(jù)訪問尺度值;和 文件系統(tǒng),所述文件系統(tǒng)用于管理所述第一存儲設備和所述第二存儲設備,其中響應 于來自所述處理器的針對存儲在所述第一存儲設備中的數(shù)據(jù)單元的至少所選擇部分的請 求,所述文件系統(tǒng)被配置為: 獲取訪問文件,所述訪問文件包括所述數(shù)據(jù)單元的元數(shù)據(jù)、所述第一存儲設備中的存 儲定義所述數(shù)據(jù)單元的不同部分并且與散列值相關聯(lián)的一個或多個數(shù)據(jù)段的位置、所述數(shù) 據(jù)段的分段方案信息、所述散列值的散列方案信息、以及基于所述散列值的散列識別信息, 至少識別對應于所述數(shù)據(jù)單元的所選擇部分的數(shù)據(jù)段中的一些, 配置所述第二存儲設備以至少包括所識別的數(shù)據(jù)段;以及 使用從所述第二存儲設備中的數(shù)據(jù)段提取的數(shù)據(jù)來服務所述請求。
26. 根據(jù)權利要求25所述的系統(tǒng),其中所述文件系統(tǒng)還被配置為: 響應于所述第二存儲設備針對所識別的數(shù)據(jù)段中的一個或多個具有不足的空間來刪 除當前未使用的一個或多個其他數(shù)據(jù)段;以及 使用所述第一存儲設備中的所述數(shù)據(jù)段來服務對當前未使用的所述一個或多個其他 數(shù)據(jù)段的將來的請求。
27. 根據(jù)權利要求26所述的系統(tǒng),其中如果已修改了當前未使用的所述一個或多個其 他數(shù)據(jù)段中的至少一些,則所述文件系統(tǒng)還被配置為將當前未使用的所述一個或多個其他 數(shù)據(jù)段中的修改的數(shù)據(jù)段從所述第二存儲設備復制到所述第一存儲設備,并使用所述第一 存儲設備來服務對與所修改的數(shù)據(jù)段相關聯(lián)的數(shù)據(jù)單元的將來的請求。
28. 根據(jù)權利要求25所述的系統(tǒng),其中所述第一存儲設備為磁盤驅動器,并且所述第 二存儲設備為固態(tài)硬盤驅動器。
【文檔編號】G06F17/30GK104160397SQ201380012500
【公開日】2014年11月19日 申請日期:2013年1月14日 優(yōu)先權日:2012年1月17日
【發(fā)明者】D·S·霍恩, J·D·沖, 王文廣 申請人:蘋果公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
姚安县| 宝应县| 梅州市| 衡东县| 九寨沟县| 栾城县| 嘉禾县| 县级市| 黑龙江省| 环江| 博客| 霞浦县| 余姚市| 赣榆县| 甘孜| 铁力市| 尖扎县| 南部县| 罗田县| 桃江县| 徐汇区| 五大连池市| 江达县| 溧阳市| 砀山县| 株洲市| 应城市| 罗定市| 平江县| 绥芬河市| 宜春市| 翁牛特旗| 克拉玛依市| 武平县| 油尖旺区| 新昌县| 盐源县| 易门县| 乌恰县| 丹巴县| 余江县|