TWI609277B - 與位置獨立之檔案 - Google Patents
與位置獨立之檔案 Download PDFInfo
- Publication number
- TWI609277B TWI609277B TW102101684A TW102101684A TWI609277B TW I609277 B TWI609277 B TW I609277B TW 102101684 A TW102101684 A TW 102101684A TW 102101684 A TW102101684 A TW 102101684A TW I609277 B TWI609277 B TW I609277B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- data unit
- file
- access
- computing device
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/113—Details of archiving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
以下內容係關於檔案系統,且更特定言之,係關於用於與位置獨立之檔案的系統及方法。
電子內容之廣泛使用已導致使用者需要更大量之電子儲存區來儲存此電子內容。然而,使用者累積超過計算裝置之容量的量之電子內容一般並非不尋常的。舉例而言,在個人電腦上的電子儲存區之量可實質上大於攜帶型媒體播放器之儲存量。因此,要求使用者限制自個人電腦傳送至攜帶型媒體播放器的電子內容之量。當試圖使在具有不類似之儲存容量之兩個單獨的計算裝置上之電子內容同步時,可出現類似問題。
對此等問題之一解決方案一般已允許將額外儲存區添加至不完善的裝置。然而,將儲存區添加至一些類型之裝置一般不切實際或甚至不可能。舉例而言,一些類型之攜帶型媒體播放器可能未經組態以允許擴大其儲存容量。在另一實例中,可藉由附接外部儲存裝置(諸如,外部硬碟機)來擴大一些計算裝置(諸如,攜帶型或膝上型電腦)的儲存容量。然而,此解決方案可能不切實際,此係由於膝上型電腦之攜帶性可能變得受到限制。
對此等問題之另一解決方案一般已允許經由網路連接對額外儲存區進行計算裝置存取。亦即,遠端計算裝置經組態以允許本機計算
裝置利用遠端計算裝置之儲存容量。在操作中,具有電子內容之檔案可儲存於遠端計算裝置上。檔案接著由本機計算裝置藉由將來自遠端計算裝置之檔案傳送或複製至本機計算裝置而利用。檔案可永久地或暫時地儲存於本機計算上。然而,此可導致大量的存取滯後時間,此係由於在本機計算裝置處之使用者在存取之前必須等待整個檔案被傳送。此外,在檔案僅暫時儲存於本機計算裝置上之情況下,將有必要用對檔案之任何更新來更新遠端計算系統。又,此一般要求在本機計算裝置上之檔案接著自本機計算裝置傳送回至遠端計算裝置,從而增加額外滯後時間。
因此,本發明技術提供用於管理及使用在多個位置處之電子內容的系統及方法。本發明技術之一態樣為提供電子內容之資料儲存。詳言之,將表示電子內容之一或多個檔案的資料單元轉換為儲存於一或多個位置(本機或遠端)處之一系列資料區段及一存取檔案。資料區段中之每一者表示資料單元之不同部分,與不同雜湊值相關聯,且可經組態以允許其經由通信網路的高速傳輸。
存取檔案含有關於資料單元及相關聯之資料區段的資訊。詳言之,存取檔案包括與資料單元相關聯之後設資料、用於資料區段之分段方案資訊、用於雜湊值之雜湊方案資訊、資料區段之位置,及用於判定資料區段之雜湊值的一或多個雜湊識別值。在一些組態中,該一或多個識別值可藉由資料區段之雜湊值的雜湊產生。或者,該等值亦可為雜湊值自身。
本發明技術可接著用於資料擷取如下。在本機系統處,並不儲存資料單元,替代地儲存用於電子內容之存取檔案,且本機系統經組態以使用對應的存取檔案服務對於資料單元之任何請求。因此,當本機系統請求對資料單元之存取時,存取檔案用以判定資料單元之何部
分需要用於實現請求及判定擷取資料區段中之哪些。此外,基於存取檔案中之雜湊資訊,藉由識別提供匹配雜湊值之資料區段來擷取所需之資料區段。
在藉由資料區段所表示的資料單元之使用足夠高之情況下,本發明技術考慮到至少最頻繁使用的資料區段之持久儲存。或者,資料區段及存取檔案可用以在本機系統處重組譯資料單元。
本發明技術亦考慮到在無需產生資料單元之每一版本之單獨離散複本的情況下資料單元之不同版本的產生。舉例而言,當對資料區段之存取引起資料區段之更新時,用於經更新之區段的所得雜湊值將與原始資料區段之雜湊值不同。因此,可僅藉由如下操作來「產生」經更新之資料單元:藉由基於經更新之資料區段提供新的雜湊識別值來產生表示資料單元之經更新版本的經更新之存取檔案。
本發明技術亦可在其中提供增強型檔案系統及方法。一般而言,在計算裝置處之儲存區大體由已使用部分及未使用部分組成。已使用部分藉由檔案系統在邏輯上管理,以提供用於儲存於本機裝置上的資料單元之邏輯儲存區。在本發明技術中,檔案系統經進一步組態以利用未使用部分作為用於自遠端系統所擷取的資料區段之儲存區。亦即,存取檔案儲存於邏輯儲存區中,且用以服務對於相關聯之資料單元的請求,如先前所描述。資料區段接著儲存於未使用空間中且經由其雜湊值存取。在可用於正擷取之資料區段的空間不足之情況下,可基於優先權準則刪除或覆寫其他資料區段。另外,檔案系統可經組態以基於一些準則按至及自資料區段之資料單元管理邏輯儲存區。
100‧‧‧一般用途計算裝置
110‧‧‧系統匯流排
120‧‧‧處理單元(CPU)
130‧‧‧其他系統記憶體
140‧‧‧唯讀記憶體(ROM)
150‧‧‧隨機存取記憶體(RAM)
160‧‧‧儲存裝置
170‧‧‧裝置輸出
180‧‧‧通信介面
190‧‧‧輸入裝置
202‧‧‧雲端或存取檔案
202A‧‧‧後設資料
202B‧‧‧分段方案資訊
202C‧‧‧雜湊方案資訊
202D‧‧‧位置資訊
202E‧‧‧雜湊識別(雜湊ID)資訊
204‧‧‧資料區段
206‧‧‧位置/資料區段
208‧‧‧雜湊值/複合雜湊值
210‧‧‧複合雜湊值
300‧‧‧計算裝置/計算系統
302‧‧‧檔案系統
304‧‧‧核心儲存區
306‧‧‧邏輯磁碟區部分
308‧‧‧其他部分
310‧‧‧邏輯磁碟區/邏輯儲存區
312‧‧‧內容可定址儲存區(CAS)
314‧‧‧遠端儲存區
500‧‧‧系統
502‧‧‧控制器
504‧‧‧組態資訊
506‧‧‧資料單元
508‧‧‧本機儲存區
510‧‧‧分段系統
512‧‧‧資料單元處理器
514‧‧‧資料區段
516‧‧‧雜湊模組
518‧‧‧雜湊值
520‧‧‧存取檔案產生器
522‧‧‧後設資料
524‧‧‧存取檔案
526‧‧‧遠端儲存區
900‧‧‧計算裝置
902‧‧‧檔案系統
904‧‧‧第一實體裝置
906‧‧‧第二實體裝置
908‧‧‧邏輯儲存裝置
910‧‧‧資料單元
912‧‧‧資料單元
圖1說明一實例計算裝置;圖2為存取檔案及相關聯之資料區段的組態之一實施例之示意性說明;
圖3為計算系統之一實施例之示意性說明;圖4為在用於將資料單元轉換為存取檔案及相關聯之區段的方法之一實施例中之步驟的流程圖;圖5為用於將資料單元轉換為存取檔案及相關聯之區段的系統之一實施例的示意圖;圖6為在用於使用存取檔案及相關聯之區段存取資料單元的方法之一實施例中之步驟的流程圖;圖7為在用於將存取檔案及相關聯之區段轉換為資料單元的方法之一實施例中之步驟的流程圖;圖8為在用於產生資料單元之不同版本的方法之一實施例中之步驟的流程圖;及圖9為計算系統之一替代實施例之示意性說明。
下文詳細論述所揭示之方法及配置的各種實施例。儘管論述了特定實施,但應理解,僅為了說明目的來進行此。熟習相關技術者應認識到,可在不脫離本發明之精神及範疇的情況下使用其他組件、組態及步驟。
參看圖1,展示可為攜帶型或靜止之一般用途計算裝置100,其包括處理單元(CPU)120及系統匯流排110,系統匯流排110將包括諸如唯讀記憶體(ROM)140及隨機存取記憶體(RAM)150之系統記憶體的各種系統組件耦接至處理單元120。其他系統記憶體130亦可用於使用。可瞭解,系統可在具有一個以上CPU 120之計算裝置上或在經網路連接在一起以提供較大處理能力的一群或一叢集之計算裝置上操作。系統匯流排110可為若干類型之匯流排結構中的任一者,包括記憶體匯流排或記憶體控制器、周邊匯流排,及使用多種匯流排架構中之任一者的局域匯流排。儲存於ROM 140或其類似者中之基本輸入/輸出
(BIOS)可提供基本常式,此基本常式(諸如)在起動期間幫助在計算裝置100內之元件之間傳送資訊。計算裝置100進一步包括儲存裝置160,諸如硬碟機、磁碟機、光碟機、磁帶機、固態磁碟,或其類似者。儲存裝置160藉由碟機介面連接至系統匯流排110。磁碟及相關聯之電腦可讀媒體提供電腦可讀指令、資料結構、程式模組及用於計算裝置100之其他資料的非揮發性儲存。在一態樣中,執行特定功能之硬體模組包括如下軟體組件:儲存於與必要的硬體組件(諸如,CPU、匯流排、顯示器等等)連接以執行功能的有形電腦可讀媒體中。基本組件為熟習此項技術者已知的,且取決於裝置之類型,諸如裝置為小的手持型計算裝置、桌上型電腦抑或大型電腦伺服器,涵蓋適當變化。
儘管本文中所描述之例示性環境使用硬碟,但熟習此項技術者應瞭解,可儲存可由電腦存取之資料的其他類型之電腦可讀媒體(諸如,磁性卡帶、快閃記憶體卡、數位影音光碟、卡匣、隨機存取記憶體(RAM)、唯讀記憶體(ROM)、纜線,或含有位元串流之無線信號,及其類似者)亦可用於例示性操作環境中。
為了實現與計算裝置100之使用者互動,輸入裝置190表示任何數目個輸入機構,諸如用於話音之麥克風、用於示意動作或圖形輸入之觸敏式螢幕、鍵盤、滑鼠、運動輸入、話音等等。裝置輸出170亦可為熟習此項技術者已知的數個輸出機構中之一或多者。舉例而言,可連接至或可包括顯示器或揚聲器之視訊輸出裝置或音訊輸出裝置係常見的。另外,視訊輸出裝置及音訊輸出裝置亦可包括用於此等專門功能之增強之效能的專門處理器。在一些例子中,多模態系統使使用者能夠提供多個類型之輸入以與計算裝置100通信。通信介面180一般支配及管理使用者輸入及系統輸出。不存在對在任何特定硬體配置上操作的所揭示之方法及裝置的限制,且因此,基本特徵可易於由改良
之硬體或韌體配置取代,此係由於改良之硬體或韌體配置經過發展。為了解釋之清晰性,將例示性系統呈現為包括個別功能區塊(包括加標籤為「處理器」之功能區塊)。可經由使用共用抑或專用硬體來提供此等區塊表示之功能,此共用抑或專用硬體包括(但不限於)能夠執行軟體的硬體。舉例而言,圖1中所呈現之一或多個處理器的功能可藉由單一共用處理器或多個處理器提供。(術語「處理器」之使用不應被解釋為排他性地指代能夠執行軟體之硬體。)說明性實施例可包括微處理器及/或數位信號處理器(DSP)硬體、用於儲存執行下文所論述之操作之軟體的唯讀記憶體(ROM),及用於儲存結果之隨機存取記憶體(RAM)。亦可提供超大型積體電路(VLSI)、場可程式化閘陣列(FPGA),及特殊應用積體電路(ASIC)硬體實施例。
各種實施例之邏輯操作實施為:(1)執行於一般用途電腦內之可程式化電路上的一連串電腦實施步驟、操作或程序,(2)執行於特殊用途可程式化電路上之一連串電腦實施步驟、操作或程序;及/或(3)可程式化電路內之互連式機器模組或程式引擎。
現轉至圖2,展示根據本發明技術的存取檔案及相關聯之資料區段之一組態的示意性說明。如上文所述,本發明技術之一態樣為提供用於儲存資料單元之替代方式,此資料單元表示電子內容的一或多個項目。將關於圖3及圖4更詳細地描述用於將資料單元轉換為資料區段及存取檔案之處理程序。返回參看圖2,資料單元之轉換結果為雲端或存取檔案202及儲存於一或多個位置206處的一或多個資料區段204。
存取檔案202為由以下項組成之資料檔案:指示經由資料區段204存取資料單元之方式的資料之集合。舉例而言,如在圖2中所示,存取檔案202可經組態以儲存與資料單元相關聯之後設資料202A。如在圖2中所示,後設資料202A可包括用於資料單元的擴大之邏輯大
小。然而,本發明技術在此方面不受限制,且後設資料202A亦可包括與資料單元相關聯之任何其他類型的後設資料。此後設資料可包括日期資訊、使用者資訊、檔案類型資訊及屬性資訊(僅舉幾個例子)。然而,後設資料202A亦可包括任何其他類型之識別資訊或少於上文所提到的資訊。此外,在資料單元表示電子內容之一個以上項目的情況下,每一項目之後設資料亦可包括於存取檔案的後設資料202A中。
除了後設資料202A之外,存取檔案亦可包括分段方案資訊202B。亦即,描述資料區段之組態的任何資訊。舉例而言,如在圖2中所示,分段方案資訊202B可為資料區段204之大小。儘管圖2中之分段方案資訊202B展示資料區段204皆為相同大小64K,但本發明技術在此方面不受限制。在一些情況下,如上文所述,各種資料區段204之大小可變化。此外,分段方案資訊202B不僅僅限於大小資訊。實情為,在一些情況下,分段方案資訊202B可指定關於資料區段204經構成之方式的額外細節。舉例而言,資料區段204可組態為封包或檔案,此封包或檔案包括由與資料單元相關聯之資料及其他部分組成的有效負載部分。其他部分可包括用於錯誤檢查之部分、用於指示資料區段中之資料之資料單元內的開始及結束位置之部分、資料區段與其他區段之關係,及任何其他資訊。因此,分段方案資訊202B可指定資料區段204之組成,使得可在擷取後即正確地自資料區段204提取資料。指定資料區段204之結構及組態的任何其他資訊亦可在分段方案資訊202B中指定。
如上文所提到,資料區段之定大小可變化。然而,在許多組態中,資料區段之定大小可經選擇以提供對資料區段之快速且有效的存取。亦即,資料區段可經定大小,使得其可按幾乎無或無延遲或滯後在網路連接之裝置之間傳送。舉例而言,可按相對小的頻寬要求傳送
上文所描述之64K區段。另外,區段定大小亦可經選擇以利用特定資料儲存或資料封包組態。亦即,許多類型之記憶體裝置及資料封包通常未經組態來個別地存取資料,而實情為,存取包括特定量之資料的區塊。因此,本發明技術亦考慮到對資料區段定大小以利用用於此等區塊之組態,以便維持最高可能輸送量。
本發明技術之一態樣為利用與資料區段206相關聯之雜湊值擷取資料區段。因此,為了判定正確地判定雜湊值之方式,存取檔案202亦可包括雜湊方案資訊202C。在圖2中,雜湊方案資訊202C指定雜湊類型SHA2。然而,本發明技術在此方面不受限制,且任何其他類型之雜湊方案可用於本發明技術中。下文將更詳細地論述雜湊方案之使用。
儘管本發明技術之描述將參考術語「雜湊」、「雜湊值」、「雜湊函數」或其類似者,但此等術語之使用不應被視為以任何方式限制。舉例而言,如本文中所使用之「雜湊函數」指代提供第一大小之第一資料集與小於第一大小的第二大小之第二資料集之間的映射或變換的任何子常式、演算法、處理程序、方法,或其類似者。
存取檔案202之額外部分為位置資訊202D。位置資訊202D可指定資料區段204所位於之一或多個位置206。在圖2中,將位置資訊202D展示為受信賴的統一資源定位符(URL)字串之清單。然而,位置資訊202D可呈任何格式,且可指定資料區段204可位於的任何類型之資源。另外,在一些組態中,位置資訊202D可指示用於存取位置之特定次序。舉例而言,在資料區段之冗餘版本將儲存於主要位置及次要位置之情況下,位置資訊202D可指定首先存取主要位置,且僅在資料區段不可位於主要位置時存取次要位置。
儘管可在存取檔案之產生時固定位置資訊202D之內容,但在一些組態中,位置資訊202D可隨時間而更新。亦即,在用於資料區段
之儲存位置經改變或以其他方式調整之情況下,儲存存取檔案202之計算系統可經組態以接收此等更新且自動調整存取檔案202。此等調整可為全域的或以逐個檔案為基礎。另外,更新亦可反映利用存取檔案202之計算裝置的位置。亦即,更新可基於計算裝置之位置反映如下儲存位置:將引起對與存取檔案202相關聯之資料區段的改良之存取。
存取檔案202亦可包括雜湊識別(雜湊ID)資訊202E。雜湊識別(雜湊ID)資訊202E為直接或間接指定資料區段204之雜湊值的資訊。在一些組態中,雜湊ID資訊202E可指定資料區段的雜湊值之清單。或者,可較佳地限制用於存取檔案202之檔案大小,或向存取檔案提供實質上相同的大小及內容。在此等情況下,與不同資料單元相關聯的雜湊值之數目可基於不同資料單元之大小急劇變化。因此,在一些組態中,雜湊ID資訊202E可指定一或多個複合雜湊值。亦即,自與資料區段相關聯之雜湊值計算一雜湊值。舉例而言,如圖2中所示,對於與資料區段204相關聯之雜湊值208,可計算複合雜湊值210,且將其用作雜湊ID資訊202E。因此,在資料之擷取期間,複合雜湊值210可用以計算雜湊值208,以便擷取資料區段204。
如上文所提到,資料區段204可包括指定資料區段204中之每一者與另一者之關係或其與資料單元之關係的資訊。然而,在本發明技術中,此類型之資訊亦可或替代地經由複合雜湊值210儲存。亦即,複合雜湊值210可不僅用以識別資料區段204,而且可用以判定各種資料區段204之間的關係。舉例而言,當資料單元經歷分段以產生各種資料區段204時,存在定義各種資料區段之內容配置於資料單元內之方式的特定次序、階層,或其類似者。因此,為了產生複合雜湊值210,雜湊值208可首先按對應於資料單元中之資料區段204之間的關係之次序配置。或者,亦可產生表示關係之資料。其後,可藉由獲得
雜湊值208之此結構之雜湊值或雜湊值208與結構資料之組合來產生複合雜湊值210。結果,複合雜湊值210不僅儲存雜湊值208,而且儲存各種資料區段204之關係資訊。因此,關於資料區段204之間的關係之單獨資訊需要儲存於存取檔案202或資料區段204內,從而進一步減小資料區段204及存取檔案202的大小。
值得注意的是,在一些組態中,存取檔案可包括多個複合雜湊值208。複合雜湊值208之數目可基於各種因素。舉例而言,若資料單元由多個檔案組成或可沿著良好定義之邊界劃分成多個部分,則可針對此等檔案或部分中之每一者產生單獨的複合雜湊值208。結果,若僅需要此等檔案或部分中之一者,則僅複合雜湊值208中之對應者將需要處理以判定資料區段204中的相關聯者。
上文所描述之儲存組態實現用於管理資料單元的新類型之檔案系統。此關於圖3示意性地說明。圖3為根據本發明技術所組態的計算裝置300之示意性說明。
如圖3中所示,計算裝置300包括檔案系統302,及用於儲存用於計算系統300且藉由檔案系統302管理之資料的核心儲存區304。在圖3中,將檔案系統302指示為階層式檔案系統加(HFS+),然而,本發明技術在此方面不受限制,且任何其他類型之檔案系統可不受限制地供本發明技術使用。
在操作中,檔案系統302將核心儲存區304作為兩個或兩個以上儲存區域管理。詳言之,可將核心儲存區304作為一或多個邏輯磁碟區部分306(無影線)及其他部分308(有影線)管理。檔案系統302管理邏輯磁碟區部分306,以定義用於管理儲存於計算系統中之資料單元的邏輯磁碟區310。邏輯磁碟區310可藉由檔案系統302按實質上習知方式管理,以執行資料擷取及資料儲存。
其他部分308藉由檔案系統302用以定義用於在計算裝置300處管
理及儲存資料區段之內容可定址儲存區(CAS)312。為了執行資料擷取及資料儲存,檔案系統302及CAS 312如下操作。
關於資料擷取,如上文所述之本發明技術允許資料單元藉由存取檔案及一或多個資料區段表示。因此,當此資料單元或其部分需要藉由計算裝置回應於請求而存取時,檔案系統302經組態以處理用於資料單元之存取檔案及判定針對請求所需的資料區段。
在本發明技術中,存取檔案之位置可變化。在一些組態中,存取檔案可儲存於計算裝置300內。此外,在計算裝置300內,存取檔案可儲存於一或多個位置中。舉例而言,存取檔案可按一或多個組態儲存於邏輯磁碟區310內。在一組態中,將存取檔案作為額外檔案儲存於邏輯磁碟區310中,橫靠儲存於其中之任何資料單元。在另一組態中,可留出(set aside)邏輯磁碟區310之一部分或甚至單獨的邏輯磁碟區(未圖示)用於存取檔案之儲存。然而,存取檔案不需要儲存於邏輯磁碟區內。實情為,可替代地使用計算裝置300中之其他資料儲存位置。舉例而言,檔案系統302可具有專用記憶體或快取記憶體用於儲存存取檔案。
使用此資訊之檔案系統302可接著分析或查詢CAS 312以判定資料區段在其中是否可用。在一些組態中,分析可為CAS 312之掃描,以判定包括基於存取檔案所獲得之雜湊值的資料區段是否儲存於其中。在其他組態中,檔案系統302可存取在計算裝置300處所維持之表,該表包括在具有儲存於其中之資料區段之CAS 312中的位置之清單及與CAS 312中之位置中之每一者相關聯的雜湊值。其後,判定資料區段是否存在於與所要雜湊值相關聯之CAS 312中。
若匹配來自存取檔案之雜湊值的資料區段不可用於CAS 312中,則資料區段可替代地自遠端儲存區314擷取且置放於CAS 312中。可按與資料區段在CAS 312中之定位相同或不同的方式執行資料區段在
遠端儲存區314中的定位。一旦資料區段可用於CAS 312中,則可按需要自資料區段提取資料。一旦CAS 312填充有資料區段及需要被擷取之額外資料區段,則可覆寫較舊或較不頻繁使用之資料區段。類似地,若資料單元需要添加至邏輯磁碟區310且CAS 312填充有資料區段,則可覆寫較舊或較不頻繁使用之資料區段以允許邏輯磁碟區擴大。下文將關於圖6更詳細地描述用於擷取及存取資料區段之處理程序。
關於資料儲存(亦即,將邏輯儲存區310中之資料單元轉換為存取檔案及資料區段),檔案系統302經組態以處理資料單元以產生存取檔案及資料區段。接著可將資料區段複製至至少CAS 312。另外,可將資料區段複製至遠端儲存區314。接著可刪除邏輯儲存區310中之資料單元,且計算系統300可接著依賴於藉由資料存取檔案及資料區段所定義的資料單元之版本。下文將關於圖4及圖5更詳細地描述資料儲存處理程序。
現轉至圖4至圖8,提供用於利用如上文所述之存取檔案及資料區段之結構來實施用於計算裝置的檔案系統之各種特徵的各種方法。
首先,將關於圖4及圖5描述用於轉換資料單元之例示性方法及系統。圖4為根據本發明技術的用於將資料單元轉換為存取檔案及相關聯之資料區段之例示性方法400中之步驟的流程圖。圖5為在計算裝置(諸如,圖3中之計算裝置300)內之例示性系統500的示意圖,系統500用於將資料單元轉換為存取檔案及其相關聯之資料區段及儲存。如在圖5中所示,可提供控制器502以使其控制且提供至系統500之組件的指令或組態資訊504以執行方法400。組態資訊504可包括分段方案資訊、雜湊方案資訊及位置資訊,如上文關於圖2所描述。
方法400開始於區塊402且繼續進行至區塊404。在區塊404處,可選擇待轉換之資料單元。舉例而言,如在圖5中所示,控制器502可
判定本機儲存區508中之特定資料單元506需要轉換為存取檔案及資料區段。在一些組態中,在區塊404處之選擇可為基於一或多個因素或準則之自動選擇。此等準則可包括用途、年限及大小(僅舉幾個例子)。然而,本發明技術在此方面不受限制,且控制器502可經組態以分析任何其他因素或因素之組合以識別資料單元506。在其他組態中,在區塊404處之選擇可為手動選擇。亦即,使用者可直接識別本機儲存區508中之資料單元。在再其他組態中,可提供資料單元506之自動與手動識別的組合。
一旦在區塊404處選擇資料單元506,則方法400繼續進行資料單元之處理,開始於在區塊406處將資料單元506劃分成資料區段。舉例而言,如在圖5中所示,可將資料單元506指引至分段系統510之資料單元處理器512中,以基於組態資訊504產生資料區段514。可根據多種準則執行資料單元506至資料區段514之分段。準則可在資料單元處理器512中為固有的、提供於組態資訊504中,或兩者之組合。舉例而言,如上文所論述,準則可指定資料區段514之大小。準則亦可指定資料單元506中分段將發生之位置。舉例而言,準則可指定分段將發生於每n數目個位元組處。或者,可分析資料單元506,以使其基於功能性、臨界性或與資料單元506之不同部分相關聯的任何其他性質來判定用於資料單元506的邏輯區段或區段群組。另外,準則可取決於將利用資料區段514且與資料區段514互動之系統。舉例而言,若特定系統或通信網路藉由特定大小或具有特定組態之資料區段更有效地操作,則資料單元處理器512可經組態以組態資料區段514以遵照此組態。然而,本發明技術不限於任何特定分段方案,且可使用任何類型之分段方案。
在資料區段514藉由資料單元處理器512在區塊406處產生之後,可在區塊408處產生用於資料區段514之雜湊值。舉例而言,如在圖5
中所示,分段系統510亦可包括雜湊模組516,用於產生用於各種資料區段514之雜湊值518。如先前所描述,本發明技術中可利用任何類型之雜湊方案。然而,為了避免衝突之風險,可使用提供實質上獨特之雜湊值的雜湊方案。用於此等目的之例示性雜湊方案為SHA2。
一旦雜湊值518藉由雜湊模組516在區塊408處計算,則可在區塊410處產生或組譯存取檔案。詳言之,分段系統510可包括存取檔案產生器520以產生存取檔案。存取檔案產生器520可將雜湊值518,連同用於資料單元506之後設資料522,及組態資訊504組合,以產生用於資料單元506之存取檔案524及資料區段514。
可按若干方式獲得後設資料522。舉例而言,如在圖5中所示,資料單元處理器512可經組態以自資料單元506提取後設資料522且將後設資料522轉遞至存取檔案產生器520。然而,本發明技術在此方面不受限制,且在分段系統510內部或外部之任何其他方法可用以獲得後設資料522。
關於待包括於存取檔案524中之雜湊方案資訊、分段方案資訊及位置資訊,此等可藉由存取檔案產生器520自組態資訊504獲得。或者,分段系統510中利用此資訊之模組或單元亦可將此資訊轉遞至存取檔案產生器520。
在區塊408及410之後或與區塊408及410同時,可在區塊412處儲存資料區段514。儲存資料區段514之位置可包括本機儲存區508、遠端儲存區526,或兩者之組合。在一些組態中,資料區段514始終儲存於遠端儲存區526中,以在有必要覆寫資料區段514之情況下提供封存複本,如先前關於圖3所描述。
如上文所提到,在區塊410處所產生之存取檔案524將包括位置資訊。在資料區段514中之至少一些儲存於本機儲存區508中之組態中,可在存取檔案524中識別本機儲存區508,使得本機系統將知曉在
本機儲存區508中查找資料區段514。然而,在一些組態中,本機系統(亦即,檔案系統)可經組態以檢查用於資料區段514之本機儲存區508。因此,存取檔案產生器520可經組態以將本機儲存區508自存取檔案中之位置排除,以進一步減小存取檔案524的大小。
一旦在區塊412處儲存資料區段514且在區塊410處組譯存取檔案524,則方法400可繼續進行至區塊414。在區塊414處,本機系統可經重組態以使用存取檔案524服務對於資料單元506之任何請求。此處理程序可包括將存取檔案524儲存於本機儲存區508或本機系統中之其他儲存區中,且組態用於本機系統之檔案系統以經由存取檔案524存取用於資料單元的資料。視情況,在區塊416處,可自本機儲存區508刪除或清除資料單元506。其後,方法400在步驟418處恢復先前處理,其可包括重複方法400。
圖6為根據本發明技術的用於使用存取檔案及相關聯之資料區段存取資料單元的例示性方法600中之步驟的流程圖。方法600開始於區塊602且繼續至區塊604。在區塊604處,接收對存取資料單元之至少一所選擇部分的請求。亦即,取決於應用或請求,可能需要資料單元之僅一部分。在典型計算裝置中,對於本機系統中之資料單元的請求藉由管理用於本機系統之資料儲存裝置的一或多個檔案系統服務。因此,區塊604可包括將對於資料單元之所選擇部分的請求轉遞至檔案系統。
一旦請求藉由檔案系統在區塊604處接收到,則檔案系統可在區塊606處判定應服務對於資料單元之請求的方式。亦即,在區塊606處,檔案系統可判定其是否已經組態以使用存取檔案及資料區段服務與資料單元相關聯的請求。若檔案系統尚未由此組態,則方法可繼續進行至區塊608,且可使用習知方法自本機儲存區擷取資料單元。其後,方法600可繼續進行至區塊610,且恢復先前處理,其包括重複方
法600。
若在區塊606處,判定檔案系統經組態以利用存取檔案服務對於資料單元之請求,則方法600可繼續進行至區塊612。在區塊612處,可獲得或存取用於所請求之資料單元的存取檔案。在本發明技術中,存取單元之位置可變化。在一些組態中,存取檔案可儲存於本機系統之本機儲存區內,或與駐留於本機系統上之資料單元一起,或儲存於專門位置(諸如,專用記憶體位置)中。舉例而言,本機系統可包括快取記憶體或用於儲存存取檔案的其他所保留記憶體區域。或者,存取檔案亦可儲存於一或多個遠端位置中。在此等組態中,可在區塊612處組態檔案系統,以使其在接收到請求後即存取遠端位置且制出存取檔案之永久或暫時複本以便服務該請求。
一旦在區塊612處獲得存取檔案,則存取檔案之處理可開始於區塊614以獲得需要用於服務請求之資料區段。舉例而言,可基於請求在區塊614處處理存取檔案,以識別將回應於請求及其對應的雜湊值之特定資料區段。舉例而言,可利用存取檔案中之後設資料資訊及分段方案資訊判定資料區段中之哪些與請求相關聯。之後,接著可使用分段方案資訊及雜湊ID資訊判定用於所識別之資料區段的雜湊值。在需要整個資料單元之情況下,獲得所有資料單元之雜湊值。然而,在需要資料區段之僅一部分之情況下,僅需要擷取彼等區段之雜湊值。然而,本發明技術在此方面不受限制。亦即,可獲得任何數目個雜湊值,只要其包括服務該請求所需的資料區段之雜湊值。
此組態之優點中的一者在於,很多時候,使用者通常需要存取資料單元之特定部分且不需要立即存取完整的資料單元。舉例而言,在資料單元由音訊或視訊內容組成之情況下,可僅有必要提供對資料單元之如下部分的存取:對應於音訊或視訊內容之當前正播放的部分加上一些額外部分(例如,以提供內容之一定程度的緩衝)。因此,本
發明技術准許識別資料單元之此等部分及相關聯之資料區段。
在於區塊614處識別資料區段且獲得其雜湊值之後,在區塊616處,可組態本機儲存區以使其提供對所識別之資料區段的存取。此區塊可包括首先執行在各種儲存位置中之搜尋,以判定所識別之資料區段的位置。詳言之,此涉及將所識別之資料區段的雜湊值與在各種儲存位置處可用的資料區段之雜湊值比較。在一些組態中,可動態計算在各種位置處的資料區段之雜湊值。在其他組態中,可預先計算在各種儲存位置處的資料區段之雜湊值。在此等組態中,此等雜湊值可儲存於與資料區段分開之資料檔案中或嵌入於資料區段內。
關於所搜尋之位置,該等位置可至少包括在存取檔案內所指定之位置。然而,所搜尋之位置亦可包括其他位置。舉例而言,亦可搜尋在本機系統內之儲存位置。然而,本發明技術在此方面不受限制,且方法600可經組態以包括用於搜尋之任何其他預設位置,包括本機及遠端位置。此外,如先前所提到,可按預先定義之次序搜尋位置,如在存取檔案中或在本機系統中所指定。
除了執行上文所描述之搜尋之外,區塊616亦可涉及組態本機儲存區以藉由在本機系統中永久或暫時複製所識別之區段來包括所識別之區段。在本發明技術中,用於將所識別之區段儲存於本機系統中的位置可變化。在一些組態中,所識別之區段可儲存於本機系統之本機儲存區內,或與駐留於本機系統上之資料單元一起,或儲存於專門位置(諸如,專用記憶體位置)中。舉例而言,本機系統可包括快取記憶體或用於儲存所識別之區段的其他所保留記憶體區域。
在於區塊616處已經組態本機系統以包括所識別之資料區段之後,方法繼續進行至區塊618。在區塊618處,接著可使用本機系統中之資料區段來服務請求。亦即,可自資料區段提取資料以提供針對請求之資料,而無需使整個資料單元可用。方法600可接著繼續至區塊
610,且恢復先前處理,其包括重複方法600。
如上文關於圖6所論述,有可能使用本機儲存區中之資料區段來服務請求。然而,在經由資料區段頻繁地存取資料單元之大部分的情況下,重組譯本機系統中之資料單元可為更有效的。此處理程序展示於圖7中。圖7為根據本發明技術的用於將存取檔案及相關聯之資料區段轉換為資料單元的例示性方法700中之步驟的流程圖。方法700開始於區塊702,且繼續至區塊704。
在區塊704處,選擇待儲存於本機系統處之資料單元。如上文所論述,可基於使用準則(諸如,與資料單元相關聯的資料區段之使用頻率)來選擇資料單元。然而,本發明技術在此方面不受限制,且可使用任何其他準則來選擇資料單元。舉例而言,若在本機系統處額外空間可用,則可在本機而非經由資料區段來儲存一或多個資料單元。在另一實例中,需要封存資料單元或需要進行複製,可能有必要組譯資料單元。用於選擇資料單元之任何其他準則亦可用於本發明技術中。
在於區塊704處選擇資料單元之後,可在區塊706處擷取用於資料單元之所有資料區段。可按實質上與上文關於圖6所描述相同的方式執行此。其後,一旦所有資料區段在本機系統處可用,則可在區塊708處使用資料區段重組譯資料單元。詳言之,可使用分段方案資訊、後設資料及存取檔案中之其他資訊,結合資料區段中存在之任何資訊,將資料區段置放於正確的配置中,以便重組譯資料單元。
一旦在區塊708處資料單元已在本機系統處重組譯,則接著可在區塊710處重組態本機系統。亦即,若重組譯之資料單元將在本機系統處被維持,則可在區塊710處重組態本機系統以使其使用重組譯之資料單元來服務對於利用資料單元的未來請求。
視情況,在本機系統在區塊710處重組態以利用重組譯之資料單
元之後,可在區塊712處刪除存取檔案及相關聯之資料塊。在一些情況下,此可涉及刪除本機系統處之存取檔案及相關聯之資料塊(data chunk)。此組態因此維持遠端系統中的資料單元之封存複本。或者,區塊712可涉及刪除在本機系統及在一或多個遠端系統處之存取檔案及相關聯之資料塊。結果,可刪除在遠端系統中的資料單元之封存複本。然而,在一些情況下,刪除可限於非封存遠端系統,以便在資料單元自本機系統無意中刪除之情況下或在稍後在本機系統處需要資料單元之「清潔」複本的情況下,提供檔案之備份複本。
如上文所述,根據本發明技術所組態之檔案系統提供與習知方法相比利用減小之量之空間的文件定版本系統。下文關於圖8展示此定版本系統之操作。圖8為根據本發明技術的用於產生資料單元之不同版本的例示性方法800中之步驟的流程圖。
方法800開始於區塊802且繼續進行至區塊804。在區塊804處,檔案系統偵測複製至本機系統之至少一資料區段已被更新。舉例而言,檔案系統可偵測使用者已發出改變資料區段內之資料的命令。或者,檔案系統可偵測資料區段之雜湊值不再匹配根據存取檔案之雜湊值。亦可不受限制地使用用於偵測資料區段之改變的任何其他方法。
一旦在區塊804處偵測到資料區段之改變,則方法800繼續進行至區塊806以產生資料單元之新版本。詳言之,在區塊806處,檔案系統利用(多個)經更新之資料區段產生經更新之存取檔案。經更新之存取檔案實質上類似於與原始資料區段相關聯之存取檔案。然而,經更新之存取檔案經產生,以包括關於(多個)經更新之資料區段之雜湊值的資訊。此外,後設資料或用於經更新之存取檔案的其他資訊可經調整,以反映經更新之存取檔案參考原始存取檔案中的資料單元之不同版本。舉例而言,經更新之存取檔案可進一步包括返回參考原始存取檔案之資訊。
在一些情況下,並不回應於經更新之資料區段產生完整的存取檔案,經更新之存取可經組態以包括如下資訊:指示基於(多個)經更新之資料區段及原始存取檔案中之資訊產生資料單元的新版本之方式。亦即,經更新之存取檔案可經組態以包括識別原始存取檔案之資訊及識別在原始存取檔案中所需要的改變之資訊,以獲得用於存取資料單元之新版本的資料區段。
與經更新之存取檔案的組態無關,一旦在區塊806處產生經更新之存取檔案,則方法800繼續進行至區塊808。在區塊808處,可將經更新之資料區段儲存於與存取檔案相關聯之儲存位置處,供未來存取。區塊808亦可包括將經更新之存取檔案儲存於共用環境中之遠端位置處。亦即,將存取檔案儲存於可藉由其他使用者存取之儲存位置處,使得其他使用者可經由經更新之資料區段存取經更新之資料單元。
在區塊808之後或與區塊808同時,方法800可執行區塊810。在區塊810處,可重組態本機系統,使得本機系統使用經更新之存取檔案服務對於資料單元之新版本的請求。在區塊808及810之後,方法800可視情況繼續進行至區塊812。在區塊812處,若原始資料單元將不進一步在本機系統處使用,則可自本機系統刪除原始存取檔案。舉例而言,若在本機系統處的使用者意圖為覆寫原始資料單元。類似地,若僅將使用(多個)經更新之資料區段,則可自本機系統刪除原始資料區段。最後,方法800可繼續進行至區塊814,且恢復先前處理,其包括重複方法800。
儘管上文已描述如下各種實施例:提供用於藉由使用上文所描述之資料區段方案擴大本機儲存區之容量的方法,但本發明技術在此方面不受限制。在一些實施例中,資料區段之使用亦可用以增強本機系統之效能。
在許多例子中,計算裝置可由各種類型之記憶體裝置組成,該等記憶體裝置具有各種資料傳送速率、存取速度,或關於讀取資料或將資料寫入至記憶體裝置的其他資料存取度量。舉例而言,諸如固態磁碟之固態儲存裝置通常具有顯著高於磁性儲存裝置(諸如,具有磁頭之硬碟機)的存取速度。然而,固態磁碟的每百萬位元組之成本通常顯著高於具有磁頭之硬碟機的每百萬位元組之成本。因此,具有磁頭之硬碟機仍為許多類型之計算裝置中的主要儲存媒體。
然而,值得注意的是,在許多情況下,在藉由計算裝置使用時之資料的量通常顯著小於具有磁頭之硬碟機的總儲存容量。因此,本發明技術之一態樣為充分利用資料區段之用途來提供有效的複合儲存。下文關於圖9描述此複合儲存裝置之操作及組態。
圖9為根據本發明技術之一替代實施例所組態的計算裝置900之示意性說明。如上文所提到,計算裝置900可由管理第一實體裝置904及第二實體裝置906的檔案系統902組成。為了說明性目的,第一實體裝置904為具有高存取速度及低儲存容量的儲存磁碟區,且第二實體裝置906為具有低存取速度及高儲存容量之儲存磁碟區。舉例而言,第一實體裝置904可為磁碟機,且第二實體裝置906可為固態磁碟機。
儘管圖9之例示性實施例係關於檔案系統而描述,但此僅為了易於說明。然而,可在檔案系統層級、磁碟區管理器層級或甚至在裝置驅動程式層級按實質上相同的方式不受限制地實施本文中所描述的多個儲存裝置之控制。
在操作中,資料可藉由計算裝置900按分段形式本機儲存於第二實體裝置906中。此等資料區段之產生及儲存可根據上文所描述的方法中之任一者發生,其中第二實體裝置906按與上文所描述之遠端儲存裝置實質上相同的方式操作。結果,檔案系統902可經組態以使特定資料單元與儲存於第二實體裝置906中之一系列特定資料區段相關
聯。
在習知系統中,若計算裝置900其後請求資料單元之至少一部分,則計算裝置900將僅存取第二實體裝置906中的適當資料區段。然而,在各種實施例中,替代於提供此存取,適當的資料區段替代地複製至第一實體裝置904。此外,檔案系統902經重組態,使得對於經複製之資料區段的未來請求藉由第一實體裝置904服務。結果,第一實體裝置904及第二實體裝置906作為單一邏輯儲存裝置908操作,其中取決於資料區段之複本是否已在第一實體裝置904處產生,自裝置904及906中之一者擷取資料區段。舉例而言,檔案系統902可經組態以自第一實體裝置904存取與資料單元910相關聯之資料區段,及自第二實體裝置906存取與資料單元912相關聯之資料區段。
更重要地,由於計算裝置通常重複存取大量資料單元,因此經由較快之第一實體裝置904進行的對對應資料區段之存取將亦產生計算裝置900的總體增強之效能。
在第一實體裝置904之儲存容量用完之情況下,儲存於其上之資料區段可被覆寫或刪除。如上文所述,可利用任何類型之方案來選擇可刪除或覆寫哪些資料區段。在此等情況下,若第一實體裝置904中尚未發生資料區段之修改,則資料區段可僅被覆寫或刪除,且檔案系統902可經重組態以提供經由第二實體裝置906對資料區段之存取。若第一實體裝置904中已發生資料區段之修改,則第一實體裝置904中之資料區段可用以覆寫第二實體裝置906中之對應的資料區段。儘管將資料區段複製回第二實體裝置906可影響效能,但在典型計算裝置中,正存取的資料之大部分(~90%或更大)通常保持未修改。因此,在大多數情況下,不需要額外複製操作,且資料區段之刪除/覆寫將大體僅由更新檔案系統之操作組成。
或者,來自第一實體裝置904的經修改之資料區段及第二實體裝
置906中之對應的資料區段可皆在第二實體裝置906中得以維持。在此等情況下,此配置可藉由檔案系統902用以儲存資料單元之不同版本,如先前所描述。本發明亦涵蓋,回應於第一實體裝置904中的資料區段之修改,可將經修改之資料區段自動複製至第二實體裝置906以提供資料單元之不同版本的儲存,而不自第一實體裝置904刪除該資料區段。
儘管圖9之例示性實施例係關於存取速度之差來描述,但根據本發明技術之複合儲存裝置可基於具有資料存取度量之差的裝置,該度量包括資料傳送速率、存取速度,或任何其他有關之度量。
本發明涵蓋,上文關於圖9所描述之複合儲存方案可單獨地或與上文所描述的技術中之任一者結合使用。亦即,可以本機-本機為基礎、以遠端-本機為基礎或兩者來利用資料區段。
根據此等實例之其他實施包括用於攜載或具有儲存於其上之電腦可執行指令或資料結構的電腦可讀媒體。此等電腦可讀媒體可為可藉由一般用途或特殊用途電腦存取之任何可用媒體。藉由實例而非限制,此等有形電腦可讀媒體可包括RAM、ROM、EEPROM、CD-ROM或其他光碟儲存裝置、磁碟儲存裝置或其他磁性儲存裝置、固態磁碟儲存器,或可用以攜載或儲存呈電腦可執行指令或資料結構之形式之所要程式碼構件的任何其他媒體。
電腦可執行指令包括(例如)使一般用途電腦、特殊用途電腦或特殊用途處理裝置執行某一功能或功能群組的指令及資料。電腦可執行指令亦包括藉由處於獨立或網路環境中之電腦所執行的程式模組。一般而言,程式模組包括執行特定任務或實施特定抽象資料類型的常式、程式、物件、組件及資料結構。電腦可執行指令、相關聯之資料結構及程式模組表示用於執行本文中所揭示之方法之步驟的程式碼構件之實例。此等可執行指令或相關聯之資料結構的特定序列表示用於
實施此等步驟中所描述之功能的對應動作之實例。
熟習此項技術者應瞭解,可藉由許多類型之電腦系統組態在網路計算環境中實踐本發明之其他實施例,該等電腦系統組態包括個人電腦、手持型裝置、多處理器系統、基於微處理器之或可程式化之消費型電子設備、網路PC、小型電腦、大型電腦,及其類似者。亦可在分散式計算環境中實踐實施例,在分散式計算環境中,藉由本機及遠端處理裝置來執行任務,本機及遠端處理裝置係經由通信網路而連結(藉由固線式鏈路、無線鏈路,或藉由其組合)。在分散式計算環境中,程式模組可位於本機及遠端記憶體儲存裝置兩者中。
在所描述之系統之各個級處的通信可經由區域網路、符記環網路、網際網路、企業內部網路、802.11系列無線信號、光纖網路、無線電或微波傳輸等執行。儘管基礎通信技術可改變,但本文中所描述之基本原理仍適用。
上文所描述之各種實施例僅按說明方式來提供,且不應被解釋為限制性的。熟習此項技術者可認識到各種修改及改變,該等修改及改變可在遵循本文中所說明及描述之實例實施例及應用的同時且在不脫離本發明之真實精神及範疇的情況下進行。
Claims (28)
- 一種方法,其包含:自動選擇一資料單元,其係基於選自該資料單元之一存取頻率、該資料單元之一年限或該資料單元之一大小的一或多個選擇準則;處理該資料單元以產生一或多個資料區段以及與該資料單元相關聯之存取檔案,其中,該資料單元係儲存在一本機系統,及該一或多個資料區段之每一資料區段表示該資料單元的不同部分;將該一或多個資料區段儲存於一或多個位置處;計算該一或多個資料區段中之每一資料區段的一雜湊值(hash value);組譯該存取檔案,該存取檔案包含用於該資料單元之後設資料、指定該一或多個資料區段的組態之分段方案資訊、用於與該一或多個資料區段中之每一資料區段相關聯之該雜湊值之指定一雜湊方案類型之雜湊方案資訊、描述與該一或多個資料區段中之每一資料區段相關聯之該雜湊值之雜湊識別資訊,及識別該一或多個資料區段位於一或多個資源處之該一或多個位置的位置資訊,其中該一或多個位置係由一或多個受信賴的統一資源定位符(URL)字串所指定;及重組態與該本機系統相關聯之一檔案系統以藉由利用該存取檔案及該一或多個資料區段來服務對於該資料單元之一請求,其中,在該重組態前,該檔案系統經組態以服務對於該資料單元之該請求而不用利用該存取檔案;及從該本機系統刪除該資料單元使得服務該請求不用從該本機 系統擷取該資料單元。
- 如請求項1之方法,其進一步包含基於至少一準則選擇該資料單元。
- 如請求項2之方法,其中該至少一準則係基於藉由該資料單元之一存取頻率。
- 如請求項1之方法,其中該一或多個資料區段中之每一資料區段經組態以具有相同大小。
- 如請求項1之方法,其中該雜湊識別資訊包含與該一或多個資料區段中之每一資料區段相關聯之該雜湊值。
- 如請求項1之方法,其中該雜湊識別資訊包含至少一複合雜湊值,該複合雜湊值基於與該一或多個資料區段中之每一資料區段相關聯之該雜湊值來計算,該複合雜湊值儲存與該一或多個資料區段相關聯之關係資訊,以及該關係資訊描述在該資料單元內之該一或多個資料區段之一配置。
- 一種系統,其包含:一計算裝置,其包含一檔案系統,其中該檔案系統經組態以控制該計算裝置執行包括以下之步驟:基於選自該資料單元之一存取頻率、該資料單元之一年限或該資料單元之一大小的一或多個選擇準則而選擇儲存於該計算裝置中之一資料單元;轉換該資料單元為一或多個資料區段及與該資料單元相關聯之一存取檔案;將該一或多個資料區段儲存於一或多個位置中;計算該一或多個資料區段中之每一資料區段的一雜湊值;組譯該存取檔案以用於服務對於該資料單元之一請求,該存取檔案包含用於該資料單元之後設資料、指定該一或多個資料 區段的組態之分段方案資訊、用於與該一或多個資料區段中之每一資料區段相關聯之該雜湊值的指定一雜湊方案類型之雜湊方案資訊、描述與該一或多個資料區段中之每一資料區段相關聯之該雜湊值之雜湊識別資訊,及識別該一或多個資料區段位於一或多個資源處之該一或多個位置的位置資訊,其中該一或多個位置係由一或多個受信賴的統一資源定位符(URL)字串所指定;重組態該檔案系統以藉由利用該存取檔案及該一或多個資料區段來服務對於該資料單元之該請求,其中,在該重組態前,該檔案系統經組態以服務對於該資料單元之該請求而不用利用該存取檔案;以及從該計算裝置刪除該資料單元使得服務該請求不用從計算裝置擷取該資料單元。
- 如請求項7之系統,其中該一或多個位置包含可藉由該計算裝置經由一通信鏈路存取之一或多個遠端儲存位置。
- 如請求項7之系統,其中該計算裝置包含藉由該檔案系統管理以用於儲存該存取檔案之一專用儲存區。
- 如請求項7之系統,其中該檔案系統經進一步組態以控制該計算裝置基於至少一準則選擇該資料單元。
- 如請求項10之系統,其中該至少一準則係基於在該計算裝置處的該資料單元之一存取頻率。
- 如請求項7之系統,其中回應於該一或多個資料區段之該儲存及該存取檔案之該組譯而自該計算裝置刪除該資料單元。
- 一種非暫時性電腦可讀媒體,其經組態以儲存指令,當該等指令由被包括在一計算裝置之一處理器執行時,使得該計算裝置執行包括以下之步驟: 回應於在一計算裝置處存取一資料單元之至少一所選擇部分的一請求,藉由利用對應於該資料單元之一存取檔案及一或多個資料區段來判定與該計算裝置相關聯之一檔案系統是否經組態以服務該資料單元之該所選擇部份的該請求,而不用從該計算裝置擷取該資料單元,其中該資料單元係基於選自該資料單元之一存取頻率、該資料單元之一年限或該資料單元之一大小的一或多個選擇準則而自動選擇來轉換為該一或多個資料區段;及回應該檔案系統經組態以服務該資料單元之該所選擇部份的該請求之判定,該判定係藉由利用對應於該資料單元之該存取檔案及該一或多個資料區段以:獲得對應於該資料單元的該存取檔案,其中該存取檔案包含用於該資料單元之後設資料、指定該一或多個資料區段之組態之分段方案資訊、用於與該一或多個資料區段中之每一資料區段相關聯之該雜湊值之指定一雜湊方案類型之雜湊方案資訊、描述與該一或多個資料區段中之每一資料區段相關聯之該雜湊值之雜湊識別資訊,及識別該一或多個資料區段位於一或多個資源處之一或多個位置的位置資訊,其中該一或多個位置係由一或多個受信賴的統一資源定位符(URL)字串所指定,處理該存取檔案以識別對應於該資料單元之該所選擇部分之來自該一或多個資料區段之至少一資料區段,以產生一經識別之資料區段,基於在該存取檔案中與該經識別之資料區段相關聯之該雜湊值及該位置資訊而組態該計算裝置之一本機儲存區以包含該經識別之資料區段,及使用自該本機儲存區中之該經識別之資料區段所提取之資料 來服務該請求,其中,在藉由利用該存取檔案及該一或多個資料區段服務該請求而經組態前,該檔案系統經組態以服務該請求而不用利用該存取檔案。
- 如請求項13之非暫時性電腦可讀媒體,其中獲得該存取檔案進一步包含:自可藉由該計算裝置經由一通信鏈路存取之一遠端系統擷取該存取檔案。
- 如請求項13之非暫時性電腦可讀媒體,其中處理該存取檔案進一步包含:基於該後設資料及該分段方案資訊判定該經識別之資料區段。
- 如請求項13之非暫時性電腦可讀媒體,其中組態該本機儲存區進一步包含:基於該雜湊方案資訊及該雜湊識別資訊獲得該經識別之資料區段的該雜湊值,以產生一所獲得之雜湊值;基於該所獲得之雜湊值判定該經識別之資料區段是否存在於該本機儲存區中;回應於該經識別之資料區段不存在於該本機儲存區中的一判定,自在該存取檔案中所指定的該一或多個位置之至少一位置擷取該經識別之資料區段;及儲存該經識別之資料區段於該本機儲存區中。
- 一種方法,其包含:回應於在一計算裝置處對於一資料單元之至少一所選擇部分的一請求,藉由利用對應於該資料單元之一存取檔案及一或多個資料區段來判定與該計算裝置相關聯之一檔案系統是否經組態以服務該資料單元之該所選擇部份的該請求,而不用從該計算裝置擷取該資料單元,其中該資料單元係基於選自該資料單 元之一存取頻率、該資料單元之一年限或該資料單元之一大小的一或多個選擇準則而自動選擇來轉換為該一或多個資料區段;及回應該檔案系統經組態以服務該資料單元之該所選擇部份的該請求之判定,該判定係藉由利用對應於該資料單元之該存取檔案及該一或多個資料區段以:獲得對應於該資料單元的該存取檔案,其中該存取檔案包含:用於該資料單元之後設資料、識別儲存定義該資料單元的不同部分之一或多個資料區段之一或多個位置之位置資訊,其中該一或多個位置係由一或多個受信賴的統一資源定位符(URL)字串所指定、指定該一或多個資料區段之組態之分段方案資訊、用於與該一或多個資料區段中之每一資料區段相關聯之該雜湊值之指定一雜湊方案類型之雜湊方案資訊、及基於與該一或多個資料區段中之每一資料區段相關聯之該雜湊值之雜湊識別資訊,識別對應於該資料單元之該所選擇部份之來自該一或多個資料區段之至少一資料區段,基於在該存取檔案中與經識別之至少一資料區段相關聯之該雜湊值及該位置資訊而組態該計算裝置之一本機儲存區以包含該經識別之至少一資料區段;及使用自該本機儲存區中之該經識別之至少一資料區段所提取的資料來服務該請求,其中,在藉由利用該存取檔案及該一或多個資料區段服務該請求而經組態前,該檔案系統經組態以服務該請求而不用利用該存取檔案。
- 如請求項17之方法,其中組態該本機儲存區進一步包含:回應 於該本機儲存區具有用於該經識別之至少一資料區段之不足空間,刪除當前不在使用中之一或多個其他資料區段。
- 如請求項18之方法,其中該等一或多個其他資料區段係至少基於在該計算裝置處的該等一或多個其他資料區段之一使用歷史而選擇以供刪除。
- 如請求項17之方法,其進一步包含:當該經識別之至少一資料區段的該使用滿足一使用準則:則在計算裝置處重組譯該資料單元以產生一重組譯之資料單元,且使用該重組譯之資料單元服務該請求,其中該資料單元係基於該存取檔案而重組譯。
- 一種系統,其包含:一計算裝置,其包含一檔案系統,該檔案系統經組態以利用對應於該資料單元之一原始存取檔案及一或多個資料區段而服務該資料單元之一請求,而不用從該計算裝置擷取該資料單元,其中該資料單元係基於選自該資料單元之一存取頻率、該資料單元之一年限或該資料單元之一大小的一或多個選擇準則而自動選擇來轉換為該一或多個資料區段,及該檔案系統經組態以控制該計算裝置執行包括以下之步驟:經由該原始存取檔案存取儲存用於該資料單元之資料的該一或多個資料區段中之至少一資料區段,以產生一經存取之資料區段,其中該原始存取檔案包含:用於該資料單元之後設資料、指定該一或多個資料區段之組態之分段方案資訊、用於與該一或多個資料區段中之每一資料區段相關聯之該雜湊值之指定一雜湊方案類型之雜湊方案資訊、描述與該一或多個資料區段中之每一資料區段相關聯之該雜湊值之雜湊識別資訊, 及識別該一或多個資料區段位於一或多個資源處之一或多個位置的位置資訊,其中該一或多個位置係由一或多個受信賴的統一資源定位符(URL)字串所指定;偵測該經存取之資料區段已被更新以產生一經更新之資料區段;基於針對該經更新之資料區段所計算的一新的雜湊值產生一經更新之存取檔案,該更新之存取檔案定義用於該資料單元的一經更新之資料單元;及重組態該檔案系統以使用該經更新之存取檔案服務對於經更新之該資料單元之該請求,其中,在藉由利用該原始存取檔案及該一或多個資料區段服務該請求而經組態前,該檔案系統經組態以服務該請求而不用利用該原始存取檔案。
- 如請求項21之系統,其進一步包含將該經更新之資料區段儲存於該一或多個位置中的一者中。
- 如請求項21之系統,其進一步包含將該經更新之存取檔案儲存於一公用位置中。
- 如請求項21之系統,其進一步包含自該計算裝置刪除該原始存取檔案。
- 一種系統,其包含一處理器;一第一儲存裝置;一第二儲存裝置,其具有高於用於該第一儲存裝置之一對應的資料存取度量值的至少一資料存取度量值;及一檔案系統,其經組態以管理該第一儲存裝置及該第二儲存裝置,其中回應於來自該處理器之對於儲存於該第一儲存裝置 中的一資料單元之至少一所選擇部分的一請求,該檔案系統經組態以:利用對應於該資料單元之一存取檔案及一或多個資料區段而服務該資料單元之該所選擇部份之該請求,而不用擷取該資料單元,其中該資料單元資料單元係基於選自該資料單元之一存取頻率、該資料單元之一年限或該資料單元之一大小的一或多個選擇準則而自動選擇來轉換為該一或多個資料區段;回應該檔案系統經組態以服務該資料單元之該所選擇部份的該請求之判定,該判定係藉由利用對應於該資料單元之該存取檔案及該一或多個資料區段以:獲得對應於該資料單元之該存取檔案,該存取檔案包含:用於該資料單元之後設資料、識別儲存定義該資料單元之不同部分的該一或多個資料區段之該第一儲存裝置中的一或多個位置之位置資訊,其中該一或多個位置係由一或多個受信賴的統一資源定位符(URL)字串所指定、指定該一或多個資料區段之分段方案資訊、用於與該一或多個資料區段中之每一資料區段相關聯之該雜湊值之指定一雜湊方案類型之雜湊方案資訊,及基於與該一或多個資料區段相關聯之該雜湊值的雜湊識別資訊,識別該一或多個資料區段中之至少一資料區段對應於該資料單元之該所選擇部分的資料區段;基於在該存取檔案中與經識別之至少一資料區段相關聯之該雜湊值及該位置資訊而組態該第二儲存裝置以包含該經識別之至少一資料區段;及使用自該第二儲存裝置中之該經識別之至少一資料區段 所提取的資料來服務該請求,其中,在藉由利用該存取檔案及該一或多個資料區段服務該請求而經組態前,該檔案系統經組態以服務該請求而不用利用該存取檔案。
- 如請求項25之系統,其中該檔案系統經進一步組態以:回應於該第二儲存裝置具有用於該經識別之至少一資料區段中之不足空間,刪除當前不在使用中之一或多個其他資料區段;及使用該第一儲存裝置中之該一或多個資料區段來服務對於當前不在使用中之該一或多個其他資料區段的一未來請求。
- 如請求項26之系統,其中於當前不在使用中之該一或多個其他資料區段中的至少一些已經修改時,則該檔案系統經進一步組態以:將當前不在使用中之該一或多個其他資料區段的一或多個經修改之資料區段自該第二儲存裝置複製至該第一儲存裝置;及使用該第一儲存裝置服務對於與該等一或多個經修改之資料區段相關聯之一資料單元的一未來請求。
- 如請求項25之系統,其中該第一儲存裝置為一磁碟機,且該第二儲存裝置為一固態磁碟機。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/351,987 US9195666B2 (en) | 2012-01-17 | 2012-01-17 | Location independent files |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201346601A TW201346601A (zh) | 2013-11-16 |
TWI609277B true TWI609277B (zh) | 2017-12-21 |
Family
ID=47599179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102101684A TWI609277B (zh) | 2012-01-17 | 2013-01-16 | 與位置獨立之檔案 |
Country Status (8)
Country | Link |
---|---|
US (1) | US9195666B2 (zh) |
EP (1) | EP2805261A1 (zh) |
JP (1) | JP5886447B2 (zh) |
KR (1) | KR101631004B1 (zh) |
CN (1) | CN104160397B (zh) |
AU (1) | AU2013210018B2 (zh) |
TW (1) | TWI609277B (zh) |
WO (1) | WO2013109490A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8806499B2 (en) * | 2008-05-15 | 2014-08-12 | Novell, Inc. | Mechanism to build dynamic locations to reduce brittleness in a team environment |
US20140279933A1 (en) * | 2013-03-14 | 2014-09-18 | Konica Minolta Laboratory U.S.A., Inc. | Hashing Schemes for Managing Digital Print Media |
US10097431B1 (en) * | 2014-06-06 | 2018-10-09 | Amazon Technologies, Inc. | Routing to tenant services utilizing a service directory |
US10250455B1 (en) | 2014-06-06 | 2019-04-02 | Amazon Technologies, Inc. | Deployment and management of tenant services |
CN105389316A (zh) * | 2014-09-05 | 2016-03-09 | 上海科泰世纪科技有限公司 | 文件管理系统和方法 |
JP6405831B2 (ja) * | 2014-09-25 | 2018-10-17 | 富士ゼロックス株式会社 | 情報処理装置、通信システム及びプログラム |
CN105528347B (zh) * | 2014-09-28 | 2019-03-26 | 北京古盘创世科技发展有限公司 | 数据块储存方法、数据查询方法和数据修改方法 |
WO2016154918A1 (zh) * | 2015-03-31 | 2016-10-06 | 华为技术有限公司 | 一种数据处理方法、装置及设备 |
CN106257450B (zh) * | 2015-06-19 | 2019-09-17 | 杭州海康威视数字技术股份有限公司 | 集群系统的文件定位、存储方法和装置 |
DE102016214671B3 (de) | 2016-08-08 | 2017-12-21 | Audi Ag | Verfahren zum Übertragen einer Datei zwischen einer Steuervorrichtung eines Kraftfahrzeugs und einer fahrzeugexternen Servervorrichtung, Steuervorrichtung und Kraftfahrzeug |
US10552075B2 (en) * | 2018-01-23 | 2020-02-04 | Vmware, Inc. | Disk-image deduplication with hash subset in memory |
CA3109862A1 (en) * | 2020-02-20 | 2021-08-20 | Comcast Cable Communications, Llc | Systems, methods, and apparatuses for storage management |
CN111782632A (zh) * | 2020-06-28 | 2020-10-16 | 百度在线网络技术(北京)有限公司 | 数据处理方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090271454A1 (en) * | 2008-04-29 | 2009-10-29 | International Business Machines Corporation | Enhanced method and system for assuring integrity of deduplicated data |
US20100138384A1 (en) * | 2003-10-27 | 2010-06-03 | Andres Rodriguez | Policy-based management of a redundant array of independent nodes |
US20110107182A1 (en) * | 2009-10-30 | 2011-05-05 | Cleversafe, Inc. | Dispersed storage unit solicitation method and apparatus |
US8086634B2 (en) * | 2008-10-07 | 2011-12-27 | Hitachi, Ltd. | Method and apparatus for improving file access performance of distributed storage system |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6269382B1 (en) * | 1998-08-31 | 2001-07-31 | Microsoft Corporation | Systems and methods for migration and recall of data from local and remote storage |
AU3826901A (en) * | 2000-02-18 | 2001-08-27 | Undoo Inc | Hash file system and method for use in a commonality factoring system |
US20040030731A1 (en) | 2002-04-03 | 2004-02-12 | Liviu Iftode | System and method for accessing files in a network |
US20040117437A1 (en) | 2002-12-16 | 2004-06-17 | Exanet, Co. | Method for efficient storing of sparse files in a distributed cache |
JP4349301B2 (ja) * | 2004-11-12 | 2009-10-21 | 日本電気株式会社 | ストレージ管理システムと方法並びにプログラム |
US7499586B2 (en) | 2005-10-04 | 2009-03-03 | Microsoft Corporation | Photographing big things |
US8161353B2 (en) * | 2007-12-06 | 2012-04-17 | Fusion-Io, Inc. | Apparatus, system, and method for validating that a correct data segment is read from a data storage device |
CN101546320B (zh) * | 2008-03-27 | 2011-11-16 | 北京兴宇中科科技开发股份有限公司 | 一种基于滑动窗口的数据差异分析方法 |
US8909606B2 (en) * | 2008-06-10 | 2014-12-09 | Google Inc. | Data block compression using coalescion |
JP5254141B2 (ja) | 2009-07-14 | 2013-08-07 | 富士通株式会社 | アーカイブ装置、データ格納プログラムおよびデータ格納方法 |
CN101620618B (zh) * | 2009-07-24 | 2011-11-30 | 中兴通讯股份有限公司 | 内存存储数据的维护方法与装置 |
JP5691229B2 (ja) * | 2010-04-08 | 2015-04-01 | 日本電気株式会社 | オンラインストレージシステム、及びオンラインストレージサービスの提供方法 |
US9063656B2 (en) * | 2010-06-24 | 2015-06-23 | Dell Gloval B.V.—Singapore Branch | System and methods for digest-based storage |
WO2012112121A1 (en) * | 2011-02-17 | 2012-08-23 | Jitcomm Networks Pte Ltd | Parallel data partitioning |
-
2012
- 2012-01-17 US US13/351,987 patent/US9195666B2/en active Active
-
2013
- 2013-01-14 EP EP13700967.6A patent/EP2805261A1/en not_active Withdrawn
- 2013-01-14 WO PCT/US2013/021375 patent/WO2013109490A1/en active Application Filing
- 2013-01-14 CN CN201380012500.0A patent/CN104160397B/zh active Active
- 2013-01-14 JP JP2014553335A patent/JP5886447B2/ja active Active
- 2013-01-14 AU AU2013210018A patent/AU2013210018B2/en active Active
- 2013-01-14 KR KR1020147022841A patent/KR101631004B1/ko active IP Right Grant
- 2013-01-16 TW TW102101684A patent/TWI609277B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100138384A1 (en) * | 2003-10-27 | 2010-06-03 | Andres Rodriguez | Policy-based management of a redundant array of independent nodes |
US20090271454A1 (en) * | 2008-04-29 | 2009-10-29 | International Business Machines Corporation | Enhanced method and system for assuring integrity of deduplicated data |
US8086634B2 (en) * | 2008-10-07 | 2011-12-27 | Hitachi, Ltd. | Method and apparatus for improving file access performance of distributed storage system |
US20110107182A1 (en) * | 2009-10-30 | 2011-05-05 | Cleversafe, Inc. | Dispersed storage unit solicitation method and apparatus |
Also Published As
Publication number | Publication date |
---|---|
AU2013210018B2 (en) | 2016-04-21 |
CN104160397B (zh) | 2018-03-06 |
JP5886447B2 (ja) | 2016-03-16 |
WO2013109490A1 (en) | 2013-07-25 |
JP2015510174A (ja) | 2015-04-02 |
TW201346601A (zh) | 2013-11-16 |
KR20140114040A (ko) | 2014-09-25 |
US9195666B2 (en) | 2015-11-24 |
AU2013210018A1 (en) | 2014-08-07 |
KR101631004B1 (ko) | 2016-06-15 |
US20130185266A1 (en) | 2013-07-18 |
CN104160397A (zh) | 2014-11-19 |
EP2805261A1 (en) | 2014-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI609277B (zh) | 與位置獨立之檔案 | |
US9852149B1 (en) | Transferring and caching a cloud file in a distributed filesystem | |
US10248356B2 (en) | Using scratch extents to facilitate copying operations in an append-only storage system | |
US9501365B2 (en) | Cloud-based disaster recovery of backup data and metadata | |
US9678968B1 (en) | Deleting a file from a distributed filesystem | |
US9824095B1 (en) | Using overlay metadata in a cloud controller to generate incremental snapshots for a distributed filesystem | |
US9613064B1 (en) | Facilitating the recovery of a virtual machine using a distributed filesystem | |
US20190108103A9 (en) | Computing device replication using file system change detection methods and systems | |
US9679040B1 (en) | Performing deduplication in a distributed filesystem | |
US9792298B1 (en) | Managing metadata and data storage for a cloud controller in a distributed filesystem | |
US9678981B1 (en) | Customizing data management for a distributed filesystem | |
KR102187127B1 (ko) | 데이터 연관정보를 이용한 중복제거 방법 및 시스템 | |
US10740184B2 (en) | Journal-less recovery for nested crash-consistent storage systems | |
US20130339407A1 (en) | Avoiding client timeouts in a distributed filesystem | |
US20150293699A1 (en) | Network-attached storage enhancement appliance | |
US10496494B1 (en) | Multilayer manifest for data storage systems | |
US10437682B1 (en) | Efficient resource utilization for cross-site deduplication | |
CN103002027A (zh) | 基于键值对系统实现树形目录结构的数据存储系统及方法 | |
US20160139980A1 (en) | Erasure-coding extents in an append-only storage system | |
US11347681B2 (en) | Enhanced reading or recalling of archived files | |
US10223377B1 (en) | Efficiently seeding small files with certain localities | |
US9971797B1 (en) | Method and system for providing clustered and parallel data mining of backup data | |
US10108647B1 (en) | Method and system for providing instant access of backup data | |
US9967310B2 (en) | Using an RPC framework to facilitate out-of-band data transfers | |
US11531644B2 (en) | Fractional consistent global snapshots of a distributed namespace |