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

在部分克隆中使用壓縮的方法及系統(tǒng)的制作方法

文檔序號:6496478閱讀:273來源:國知局
在部分克隆中使用壓縮的方法及系統(tǒng)的制作方法
【專利摘要】提供了一種帶壓縮地對數(shù)據(jù)容器進行部分復(fù)制的方法和系統(tǒng)。存儲操作系統(tǒng)確定源數(shù)據(jù)容器的要被克隆的部分是否包括使用非可變壓縮組尺寸壓縮的多個壓縮塊。操作系統(tǒng)以非可變壓縮組尺寸克隆多個壓縮塊,并且對數(shù)據(jù)容器的不處在非可變壓縮組尺寸之內(nèi)的多個塊進行解壓縮。所述多個壓縮塊和所述不處在非可變壓縮組尺寸之內(nèi)的多個塊隨后被存儲為源數(shù)據(jù)容器的部分克隆副本。
【專利說明】在部分克隆中使用壓縮的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及存儲系統(tǒng)。
【背景技術(shù)】
[0002]存儲系統(tǒng)通常包括可輸入信息并且可以按需從中獲得信息的一個或多個存儲裝置。存儲系統(tǒng)通常包括存儲操作系統(tǒng),其特別是通過調(diào)用支持系統(tǒng)實現(xiàn)的存儲業(yè)務(wù)的存儲操作對系統(tǒng)進行功能性的組織。存儲系統(tǒng)可以按照各種存儲架構(gòu)來實現(xiàn),這些存儲架構(gòu)包括但不限于網(wǎng)絡(luò)附屬存儲環(huán)境、存儲區(qū)域網(wǎng)絡(luò)以及直接附接到用戶或主計算機的存儲裝置。信息存儲優(yōu)選地被實現(xiàn)為物理磁盤的一個或多個存儲“卷”,這些“卷”限定了存儲空間的總體邏輯布置。
[0003]存儲系統(tǒng)通常以存儲陣列存儲信息,然后可將其復(fù)制和存檔以用于災(zāi)難恢復(fù)或任何其他用途。復(fù)制處理通常被稱為“備份”操作。
[0004]存儲系統(tǒng)通常使用非可變壓縮尺寸來對存儲在所述存儲裝置的信息進行壓縮。這種方法在克隆完整的數(shù)據(jù)容器時是高效的。如果數(shù)據(jù)容器被部分克隆,則非可變壓縮組尺寸可能不夠高效,這是因為人們必須解壓縮該數(shù)據(jù)容器的被克隆部分中的所有數(shù)據(jù)塊,并使用非可變壓縮組尺寸來壓縮數(shù)據(jù)容器的該部分。于是需要不斷的努力以改善帶有壓縮的部分克隆技術(shù)。

【發(fā)明內(nèi)容】

[0005]在一個實施例中,提供了一種帶壓縮地對數(shù)據(jù)容器進行部分復(fù)制的方法和系統(tǒng)。存儲操作系統(tǒng)確定源數(shù)據(jù)容器的要被克隆的部分是否包括使用非可變壓縮組尺寸壓縮的多個壓縮塊。操作系統(tǒng)以非可變壓縮組尺寸復(fù)制多個壓縮塊,并且對數(shù)據(jù)容器的不處在非可變壓縮組尺寸之內(nèi)的多個塊進行解壓縮。所述多個壓縮塊和所述不處在非可變壓縮組尺寸之內(nèi)的多個塊隨后被存儲為源數(shù)據(jù)容器的部分克隆副本。
[0006]在另一個實施例中,提供了用于克隆數(shù)據(jù)容器的機器實現(xiàn)的方法,該數(shù)據(jù)容器具有處在非可變壓縮組尺寸之內(nèi)的一些塊以及不處在非可變壓縮組尺寸內(nèi)的一個塊。該方法包括確定使用非可變壓縮組尺寸壓縮的多個壓縮塊;以非可變壓縮組尺寸克隆所述多個壓縮塊;解壓縮數(shù)據(jù)容器的不處在非可變壓縮組尺寸之內(nèi)的多個塊;和存儲所述多個壓縮塊和所述不處在非可變壓縮組尺寸之內(nèi)的多個塊,來作為數(shù)據(jù)容器的部分克隆部分。
[0007]在又一實施例中,提供了用于克隆數(shù)據(jù)容器的機器實現(xiàn)方法。該方法包括掃描源數(shù)據(jù)容器以生成源數(shù)據(jù)容器的一部分的克隆副本。源數(shù)據(jù)容器的該部分包括使用非可變壓縮組尺寸壓縮的多個塊以及不處在非可變壓縮組尺寸之內(nèi)的至少一個塊。
[0008]該方法進一步包括從源數(shù)據(jù)容器讀數(shù)所述至少一個塊,以及使用所述至少一個塊以及使用非可變壓縮組尺寸壓縮的多個塊來生成源數(shù)據(jù)容器的該部分的克隆副本。
[0009]在另一個實施例中提供了一種系統(tǒng)。該系統(tǒng)包括與存儲系統(tǒng)接口的第一計算系統(tǒng),其具有執(zhí)行指令以在存儲裝置中保持多個數(shù)據(jù)容器的硬件處理器。處理器掃描源數(shù)據(jù)容器,以生成數(shù)據(jù)容器的一部分的克隆副本,其中源數(shù)據(jù)容器的該部分包括使用非可變壓縮組尺寸壓縮的多個塊以及不處在非可變壓縮組尺寸之內(nèi)的至少一個塊;從源數(shù)據(jù)容器讀取所述至少一個塊;以及使用所述至少一個塊以及使用非可變壓縮組尺寸壓縮的多個塊來生成源數(shù)據(jù)容器的該部分的克隆副本。
[0010]在又一實施例中提供一種計算機程序產(chǎn)品。該計算機程序產(chǎn)品包括其中嵌入有計算機可讀指令的計算機可用存儲介質(zhì),所述計算機可讀指令用于克隆數(shù)據(jù)容器,該數(shù)據(jù)容器具有處在非可變壓縮組尺寸之內(nèi)的一些塊以及不處在非可變壓縮組尺寸內(nèi)的一個塊。所述計算機可讀指令包括:用于確定使用用于克隆數(shù)據(jù)容器的一部分的非可變壓縮組尺寸壓縮的多個壓縮塊的指令;用于以非可變壓縮組尺寸克隆所述多個壓縮塊的指令;用于解壓縮數(shù)據(jù)容器的不處在非可變壓縮組尺寸之內(nèi)的多個塊的指令;和用于存儲多個壓縮塊和不處在非可變壓縮組尺寸之內(nèi)的多個塊,來作為數(shù)據(jù)容器的部分克隆部分的指令。
[0011]本文所公開的實施例具有優(yōu)點,因為允許用戶同時利用部分SIS克隆和壓縮。
[0012]提供此簡要概述以提供對本發(fā)明特性的快速理解。對本發(fā)明的完整理解可以通過參照結(jié)合附圖對本發(fā)明各個實施例的詳細說明來獲得。
【專利附圖】

【附圖說明】
[0013]下面將參照各種實施例的附圖對前述特征和其它特征進行說明。在附圖中,相同的部件具有相同的附圖標(biāo)記。圖示的實施例旨在說明本發(fā)明,但不限制本發(fā)明。附圖中:
[0014]圖1示出了使用本文所公開的實施例的系統(tǒng)的框圖。
[0015]圖2示出了根據(jù)一個實施例所使用的存儲操作系統(tǒng)的示例。
[0016]圖3示出了存儲數(shù)據(jù)容器的元數(shù)據(jù)的示例。
[0017]圖4A示出了根據(jù)一個實施例的數(shù)據(jù)容器的樹形結(jié)構(gòu)。
[0018]圖4B示出了克隆圖4A的數(shù)據(jù)容器的示例。
[0019]圖4C示出了一個源數(shù)據(jù)容器和該源數(shù)據(jù)容器的部分克隆的示例。
[0020]圖4D示出了壓縮的數(shù)據(jù)容器。
[0021]圖4E示出了根據(jù)一個實施例的處理流程圖。
[0022]圖5示出了根據(jù)一個實施方式使用的處理系統(tǒng)的框圖。
【具體實施方式】
[0023]作為初步說明,本文中所使用的術(shù)語“組件”、“模塊”、“系統(tǒng)”等用來表示與計算機相關(guān)的實體,可以是執(zhí)行可編程指令的通用處理器、硬件、固件以及它們的組合。例如,組件可以是(但不限于)在處理器上運行的進程、處理器、對象、可執(zhí)行文件、執(zhí)行的線程、程序和/或計算機。
[0024]作為示例,在服務(wù)器運行的應(yīng)用程序以及該服務(wù)器都可以是組件。一個或多個組件可以駐留在進程和/或執(zhí)行的線程內(nèi),而且組件可以位于一臺計算機內(nèi)和/或分布在兩個或更多計算機之間。另外,這些組件也可以由其上存儲有各種數(shù)據(jù)結(jié)構(gòu)的各種計算機可讀介質(zhì)執(zhí)行。這些組件也可以例如根據(jù)具有一個或多個數(shù)據(jù)包(例如,來自在本地系統(tǒng)、分布式系統(tǒng)中和/或通過諸如互聯(lián)網(wǎng)的網(wǎng)絡(luò)上通過信號與其它系統(tǒng)交互的組件的數(shù)據(jù))的信號而通過本地和/或遠程進程進行通信。[0025]根據(jù)要求保護主題的計算機可執(zhí)行組件可以被存儲在計算機可讀介質(zhì)上,所述計算機可讀介質(zhì)包括但不限于ASIC (專用集成電路)、⑶(光盤)、DVD (數(shù)字視頻盤)、R0M (只讀存儲器)、軟盤、硬盤、EEPROM (電可擦除可編程只讀存儲器)、存儲棒、閃速存儲裝置或任何其它非易失性存儲裝置,或任何其它存儲裝置。
[0026]在一個實施例中,提供了用于帶壓縮地部分復(fù)制數(shù)據(jù)容器的方法和系統(tǒng)。存儲操作系統(tǒng)確定源數(shù)據(jù)容器的要被克隆的部分是否包括使用非可變壓縮組尺寸壓縮的多個壓縮塊。操作系統(tǒng)以非可變壓縮組尺寸復(fù)制該多個壓縮塊,并且對數(shù)據(jù)容器的不處在非可變壓縮組尺寸之內(nèi)的多個塊進行解壓縮。所述多個壓縮塊和所述不處在非可變壓縮組尺寸之內(nèi)的多個塊隨后被存儲為源數(shù)據(jù)容器的部分克隆副本。
[0027]圖1是包括可以有利地應(yīng)用本發(fā)明的存儲系統(tǒng)108的操作環(huán)境100 (也稱為系統(tǒng)100)的示意框圖。系統(tǒng)100用于存儲一個或多個數(shù)據(jù)容器,例如目錄、文件、結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)。數(shù)據(jù)容器然后可以使用可變和非可變壓縮尺寸進行部分克隆,見下文的詳細描述。
[0028]存儲系統(tǒng)108可以是提供與存儲裝置(例如存儲子系統(tǒng)132的存儲裝置130)中的信息組織相關(guān)的存儲服務(wù)的一個或多個計算系統(tǒng)。存儲裝置130可以是適用于存儲數(shù)據(jù)的例如磁帶驅(qū)動器、普通磁盤、諸如基于⑶-ROM或DVD存儲器的光盤、磁光(MO)存儲器、閃存存儲裝置或任何其他類型的存儲裝置。本文所公開的示例可以將存儲裝置稱作“磁盤驅(qū)動器”,但本文所公開的適應(yīng)性實施例不限于任何特定類型的存儲介質(zhì)/裝置。
[0029]存儲系統(tǒng)108包括通過互連系統(tǒng)(或總線系統(tǒng))124互連的一個或多個處理器112(也稱為中央處理單元)、存儲器114、網(wǎng)絡(luò)適配器126和存儲適配器128。處理器112可以是或可以包括一個或多個可編程通用或?qū)S梦⑻幚砥?、?shù)字信號處理器(DSP)、可編程控制器、專用集成電路(ASIC)、可編程邏輯器件(PLD)等,或這些器件的組合??偩€系統(tǒng)124可以包括例如系統(tǒng)總線、外圍組件互連(PCI)總線、超傳輸或工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)總線、小型計算機系統(tǒng)接口(SCSI)總線、通用串行總線(USB)或電氣和電子工程師協(xié)會(IEEE)標(biāo)準(zhǔn)1394總線(有時也被稱為“火線”)。
[0030]存儲系統(tǒng)108還包括存儲操作系統(tǒng)118,其優(yōu)選地實現(xiàn)諸如文件系統(tǒng)的高級別模塊,以在存儲裝置130上將信息邏輯組織為數(shù)據(jù)容器的層級結(jié)構(gòu)。
[0031]在示例性實施例中,存儲器114包括可由處理器112和其它模塊(例如,存儲適配器128和網(wǎng)絡(luò)適配器126)尋址的用于存儲機器可執(zhí)行的指令的存儲位置。存儲器的一部分可以被進一步組織為用于存儲與本發(fā)明相關(guān)的數(shù)據(jù)結(jié)構(gòu)的“高速緩存”116。
[0032]其中一部分通常駐留在存儲器中并由處理元件執(zhí)行的存儲操作系統(tǒng)118,特別地通過調(diào)用由存儲系統(tǒng)執(zhí)行的存儲操作來在功能上組織系統(tǒng)108。對于本領(lǐng)域技術(shù)人員來說顯而易見的是,可以使用包括各種計算機可讀介質(zhì)的其他處理和存儲器部件來存儲和執(zhí)行關(guān)于本文描述的發(fā)明技術(shù)的程序指令。
[0033]網(wǎng)絡(luò)適配器126包括用于通過如局域網(wǎng)的連接系統(tǒng)106 (也被稱為網(wǎng)絡(luò)106)將存儲系統(tǒng)108連接至一個或多個客戶端系統(tǒng)102(示出為客戶端102)所需的機械、電氣和信令電路,該連接系統(tǒng)可以包括點到點連接或共享介質(zhì)(諸如局域網(wǎng))。作為示例,連接系統(tǒng)106可以實現(xiàn)為以太網(wǎng)或光纖通道(FC)網(wǎng)絡(luò)??蛻舳?02可以通過根據(jù)預(yù)先定義的協(xié)議(如傳輸控制協(xié)議/互聯(lián)網(wǎng)協(xié)議(TCP/IP))交換離散幀或數(shù)據(jù)包來經(jīng)由網(wǎng)絡(luò)106與存儲系統(tǒng)通信。[0034]客戶端102可以配置成執(zhí)行處理器可執(zhí)行的應(yīng)用程序104的通用計算機。此外,客戶端102可以根據(jù)信息傳送的客戶端/服務(wù)器模型與存儲系統(tǒng)108進行交互。S卩,通過在網(wǎng)絡(luò)106上交換數(shù)據(jù)包110,客戶端可以請求存儲系統(tǒng)的服務(wù),并且該存儲系統(tǒng)可以返回由客戶端所請求的服務(wù)的結(jié)果。在訪問文件和目錄形式的信息時,客戶端可基于TCP/IP發(fā)出包括基于文件的訪問協(xié)議(如通用互聯(lián)網(wǎng)文件系統(tǒng)(CIFS)協(xié)議或網(wǎng)絡(luò)文件系統(tǒng)(NFS)協(xié)議)的數(shù)據(jù)包??商鎿Q地,在訪問塊形式的信息時,客戶端可發(fā)出包括基于塊的訪問協(xié)議(如基于TCP封裝的小型計算機系統(tǒng)接口(SCSI)協(xié)議(iSCSI)和基于光纖通道(FCP)封裝的SCSI)的數(shù)據(jù)包。
[0035]存儲適配器128與系統(tǒng)108上執(zhí)行的存儲操作系統(tǒng)118配合來訪問由用戶(或客戶端)請求的信息。存儲適配器包括通過I/o互連安排(如傳統(tǒng)的高性能FC串行鏈路拓撲結(jié)構(gòu))耦接至存儲裝置的輸入/輸出(I/O)接口電路。
[0036]存儲系統(tǒng)108將存儲卷呈現(xiàn)給客戶端以便讀取和寫入數(shù)據(jù)。本文所用的術(shù)語“存儲卷”或“卷”指的是由物理存儲抽象的邏輯數(shù)據(jù)組,其中將一個或多個物理大容量存儲裝置或者其部分組合成一個邏輯存儲對象。然而,每個存儲卷也可以表示一個存儲裝置中的存儲空間、多個存儲裝置的存儲空間的一些或全部的集合、RAID組,或存儲空間的任何其它組合。
[0037]存儲卷通常是物理存儲裝置130的綜合,其共同定義了卷上的卷塊編號(vbn)空間的整體邏輯排列。每個邏輯卷通常(但不一定)關(guān)聯(lián)其自己的文件系統(tǒng)。一個邏輯卷/文件系統(tǒng)中的各存儲裝置通常被組織為一個或多個組,其中每個組可以作為獨立(或廉價)磁盤冗余陣列(RAID)來進行操作。
[0038]為了方便訪問存儲裝置130,在一個實施例中,存儲操作系統(tǒng)118實現(xiàn)了任意位置寫入文件系統(tǒng)。該文件系統(tǒng)在邏輯上將信息組織為命名為數(shù)據(jù)容器(如目錄和文件)的層級結(jié)構(gòu)。每個“磁盤上”的數(shù)據(jù)容器可以被實現(xiàn)為配置成存儲信息(如數(shù)據(jù))的塊的集合,而目錄可以實現(xiàn)為由特殊格式化的數(shù)據(jù)容器,該數(shù)據(jù)容器中存儲了名稱和到其他數(shù)據(jù)容器及目錄的鏈接。存儲裝置130上的塊可以導(dǎo)出為命名邏輯單元號(lun)。
[0039]在該說明性實施例中,存儲操作系統(tǒng)優(yōu)選是可從NetApp公司(Sunnyvale, California)獲得的NetApp ? Data ONTAP的?操作系統(tǒng),其實現(xiàn)了任意位置寫入文件布局(WAFL?)文件系統(tǒng)。然而,可以設(shè)想,任何適當(dāng)?shù)拇鎯Σ僮飨到y(tǒng)都可被強化以按照本文所描述的發(fā)明原理使用。因此,這里使用的術(shù)語“WAFL”泛指任何適用于本公開的教導(dǎo)的存儲操作系統(tǒng)。
[0040]雖然存儲系統(tǒng)108被示為一個獨立的系統(tǒng),即基于非集群的系統(tǒng),但在另一個實施例中,存儲系統(tǒng)108可具有分布式架構(gòu),其可包括例如單獨的N (“網(wǎng)絡(luò)”)刀片和D (磁盤)刀片。簡要地來說,所述N刀片用于與客戶端102進行通信,而D刀片是用于與作為存儲子系統(tǒng)的一部分的各存儲裝置130進行通信。N刀片和D刀片可以使用內(nèi)部協(xié)議互相通信。
[0041]可選地,存儲系統(tǒng)108可以具有集成的架構(gòu),其中,所述網(wǎng)絡(luò)和數(shù)據(jù)組件都包含在單個箱體中。存儲系統(tǒng)108還可以通過交換網(wǎng)耦接至其他具有自己的本地存儲子系統(tǒng)的類似存儲系統(tǒng)(未示出)。通過這種方式,所有的存儲子系統(tǒng)可以形成任何存儲服務(wù)器的任何客戶端都能夠訪問單個的存儲池。
[0042]圖2示出了根據(jù)本發(fā)明一個實施例的存儲操作系統(tǒng)118的一個通用示例。存儲操作系統(tǒng)118管理如下面更詳細地描述的多個數(shù)據(jù)容器。數(shù)據(jù)容器可以使用可變壓縮組尺寸和非可變壓縮組尺寸進行部分克隆,見下文更詳細的說明。
[0043]在一個示例中,操作系統(tǒng)118可包括若干個模塊或“層”。這些層包括一個文件系統(tǒng)管理器202,其跟蹤存儲在各存儲裝置中的數(shù)據(jù)的目錄結(jié)構(gòu)(層級結(jié)構(gòu))并管理讀/寫操作(即執(zhí)行對各存儲裝置130的讀/寫操作)。
[0044]操作系統(tǒng)118還可以包括協(xié)議層204及相關(guān)聯(lián)的網(wǎng)絡(luò)訪問層208,從而使存儲系統(tǒng)108能夠通過網(wǎng)絡(luò)與其他系統(tǒng)(如客戶端102)進行通信。協(xié)議層204可實現(xiàn)下文所述的各種更高級別的網(wǎng)絡(luò)協(xié)議中的一個或多個,如超文本傳輸協(xié)議(HTTP)、TCP/IP等。
[0045]網(wǎng)絡(luò)訪問層208可以包括一個或多個驅(qū)動器,其實現(xiàn)一個或多個通過諸如以太網(wǎng)的網(wǎng)絡(luò)進行通信的較低級別的協(xié)議??蛻舳?02和大容量存儲裝置130之間的互連被示意性示出為一個路徑,其示出了數(shù)據(jù)通過操作系統(tǒng)118的流動。
[0046]操作系統(tǒng)118還可以包括存儲訪問層206和相關(guān)聯(lián)的存儲驅(qū)動器層210,用于與存儲裝置(如130)進行通信。存儲器訪問層206可以實現(xiàn)更高級別的存儲協(xié)議(如RAID),而存儲驅(qū)動器層210可以實現(xiàn)較低級別的存儲裝置訪問協(xié)議(例如SCSI)。
[0047]文件系統(tǒng)管理器302可以包括或者與已在上文中參照圖1詳細描述的系統(tǒng)100的各種組件接口。文件系統(tǒng)202包括或與虛擬化模塊212接口,以允許通過用戶界面(Π>214對發(fā)出訪問存儲系統(tǒng)108的命令的用戶(系統(tǒng)管理員)進行訪問。用戶界面214以使得系統(tǒng)管理或用戶能夠訪問不同的層和系統(tǒng)的方式在存儲操作系統(tǒng)的進行布置。
[0048]應(yīng)當(dāng)注意的是,上述通過操作系統(tǒng)層中的軟件“路徑”也可以替代地以硬件或硬件和軟件的組合來實現(xiàn)。也就是說,在本發(fā)明的一個替代實施例中,存儲訪問請求數(shù)據(jù)路徑可以實現(xiàn)為現(xiàn)場可編程門陣列(FPGA)或ASIC中的邏輯電路。
[0049]在本文中使用術(shù)語“存儲操作系統(tǒng)”一般指的是計算機可執(zhí)行代碼,用于在計算機上執(zhí)行管理數(shù)據(jù)訪問的存儲功能,并且可以實現(xiàn)通用操作系統(tǒng)的數(shù)據(jù)訪問語義分析。存儲操作系統(tǒng)也可以實現(xiàn)為在通用操作系統(tǒng)(如UNIX⑧或Windows XP?)中運行應(yīng)用程序的微內(nèi)核,或?qū)崿F(xiàn)為具有可配置的功能并被配置為如本文所述的存儲應(yīng)用的通用操作系統(tǒng)。
[0050]此外,本領(lǐng)域技術(shù)人員能夠理解,本文描述的發(fā)明可以應(yīng)用于任何類型的特殊用途(例如文件服務(wù)器,文件器(filer)或存儲服務(wù)裝置)或通用計算機,包括由被實現(xiàn)為存儲系統(tǒng)或包括存儲系統(tǒng)的獨立的計算機或其一部分。此外,本公開的教導(dǎo)可以適用于各種存儲系統(tǒng)架構(gòu),包括但不限于網(wǎng)絡(luò)附屬存儲環(huán)境、存儲區(qū)域網(wǎng)絡(luò)以及直接附接至客戶端或主機計算機的存儲裝置。術(shù)語“存儲系統(tǒng)”因此應(yīng)廣義理解為除了被配置為執(zhí)行存儲功能以及與其它裝置或系統(tǒng)相關(guān)聯(lián)的子系統(tǒng)之外,還包括上述的配置。
[0051]例示的文件系統(tǒng)是基于消息的系統(tǒng),其提供了用于訪問存儲在各存儲裝置130中的信息的邏輯卷管理能力。也就是說,除了提供文件系統(tǒng)語義分析,文件系統(tǒng)202提供通常與卷管理器相關(guān)聯(lián)的功能。這些功能包括:(i)存儲裝置的集合,(?)存儲裝置的存儲帶寬的集合,以及(iii)可靠性保證,如鏡像和/或?qū)ΨQ配置(RAID)。
[0052]在一個實施例中,文件系統(tǒng)202示例性地實現(xiàn)了具有磁盤上格式表示法的基于塊的WAFL文件系統(tǒng),其使用例如4千字節(jié)(KB)的塊并使用索引節(jié)點(“inode”)來標(biāo)識數(shù)據(jù)容器和數(shù)據(jù)容器的屬性(如創(chuàng)建時間、訪問權(quán)限、大小和塊的位置)。文件系統(tǒng)202使用的數(shù)據(jù)容器(元數(shù)據(jù)文件)來存儲元數(shù)據(jù),元數(shù)據(jù)描述了其文件系統(tǒng)的布局。這些元數(shù)據(jù)文件包括但不限于具有文件句柄的索引節(jié)點,以及包括用于從存儲位置取出索引節(jié)點的索引節(jié)點號的標(biāo)識符。
[0053]概括地說,任意位置寫入文件系統(tǒng)的所有索引節(jié)點被組織成索引節(jié)點數(shù)據(jù)容器。文件系統(tǒng)(FS)的信息塊指定文件系統(tǒng)中的信息的布局,并包括包含文件系統(tǒng)的所有其他索引節(jié)點的數(shù)據(jù)容器的索引節(jié)點。每個邏輯卷(文件系統(tǒng))具有優(yōu)選地被存儲在例如RAID組內(nèi)固定的位置處的FS信息塊。根FS信息塊的索引節(jié)點可以直接引用(指向)索引節(jié)點文件的塊或引用索引節(jié)點文件的間接塊,這些間接塊引用索引節(jié)點文件的直接塊。索引節(jié)點文件的每個直接塊內(nèi)具有嵌入的索引節(jié)點,其每一個可以引用間接塊,這些間接塊引用數(shù)據(jù)容器的數(shù)據(jù)塊。
[0054]在操作上,來自客戶端102的請求作為數(shù)據(jù)包110通過計算機網(wǎng)絡(luò)1106被轉(zhuǎn)發(fā)至存儲系統(tǒng)108,并在網(wǎng)絡(luò)適配器126處被接收到。(層208的)網(wǎng)絡(luò)驅(qū)動器處理該數(shù)據(jù)包,并在適當(dāng)情況下將其傳送到網(wǎng)絡(luò)協(xié)議和文件訪問層,以便在轉(zhuǎn)發(fā)至任意位置寫入文件系統(tǒng)202之前執(zhí)行附加的處理。這里,如果所請求的數(shù)據(jù)不是駐留在“內(nèi)核”中(即,在高速緩沖存儲器116中),則文件系統(tǒng)生成從存儲裝置130中加載(取出)其的操作。如果信息不在高速緩存中,則文件系統(tǒng)202使用索引節(jié)點號索引到索引節(jié)點數(shù)據(jù)容器,以訪問適當(dāng)?shù)娜肟诓⑷〕鲞壿媣bn。該文件系統(tǒng)然后將包括邏輯vbn的消息結(jié)構(gòu)傳送到存儲訪問層206。邏輯vbn被映射至存儲裝置識別符和盤塊號(盤,dbn),并被發(fā)送到存儲驅(qū)動器210。存儲驅(qū)動器210從指定的磁盤130訪問dbn,并將所請求的數(shù)據(jù)塊加載在高速緩存116中以由存儲系統(tǒng)進行處理。在請求完成時,存儲系統(tǒng)(和操作系統(tǒng))通過網(wǎng)絡(luò)106向客戶端102返回應(yīng)答。
[0055]在示例性實施例中,數(shù)據(jù)容器由適合于存儲在存儲裝置130中的索引節(jié)點代表。索引節(jié)點300也可用于根據(jù)一個實施例生成的部分克隆,如在下文詳細地說明的。圖3提供了一個索引節(jié)點300的示例,其優(yōu)選地包括元數(shù)據(jù)部分310和數(shù)據(jù)部分320。存儲在每個索引節(jié)點300的元數(shù)據(jù)部分310中的信息描述了數(shù)據(jù)容器,并由此包括數(shù)據(jù)容器的類型(例如常規(guī)信息(regular)、目錄、虛擬磁盤)312、數(shù)據(jù)容器的大小314、數(shù)據(jù)容器及其所有者(SP用戶標(biāo)識符(UID318)和組ID (GID320))的時間標(biāo)記(例如,訪問和/或修改)316。然而,取決于類型字段312中定義的索引節(jié)點的類型,每個索引節(jié)點的數(shù)據(jù)部分320的內(nèi)容可能有不同的解釋。例如,目錄索引節(jié)點的數(shù)據(jù)部分320包含由文件系統(tǒng)202控制的元數(shù)據(jù),而常規(guī)索引節(jié)點的數(shù)據(jù)部分包含文件系統(tǒng)數(shù)據(jù)。在后一種情況下,數(shù)據(jù)部分320包括與數(shù)據(jù)容器相關(guān)聯(lián)的數(shù)據(jù)的表示。
[0056]具體而言,常規(guī)索引節(jié)點的數(shù)據(jù)部分320可以包括文件系統(tǒng)數(shù)據(jù)或指針,指針將4kB的數(shù)據(jù)塊指向用于存儲文件系統(tǒng)數(shù)據(jù)的存儲裝置130。每個指針優(yōu)選的是邏輯vbn,以便在訪問存儲的數(shù)據(jù)時促進文件系統(tǒng)202的效率。給定索引節(jié)點的受限制的大小(例如128字節(jié)),則尺寸小于或等于64個字節(jié)的文件系統(tǒng)數(shù)據(jù)整體被表示在索引節(jié)點的數(shù)據(jù)部分內(nèi)。然而,如果文件系統(tǒng)數(shù)據(jù)大于64字節(jié)但小于或等于64KB,那么該索引節(jié)點(例如第一級索引節(jié)點)的數(shù)據(jù)部分可以包括多個指針(例如16個指針),其中每一個指針引用存儲裝置130中的4K數(shù)據(jù)塊。
[0057]此外,如果數(shù)據(jù)的大小大于64kB但小于或等于64兆字節(jié)(MB),則在索引節(jié)點(例如,第二級索引節(jié)點)的數(shù)據(jù)部分320中的每個指針引用一個間接塊(例如第一級塊),其可以包括多個指針,其中每一個指針引用存儲裝置130處的4kB數(shù)據(jù)塊。對于尺寸大于64MB的文件系統(tǒng)數(shù)據(jù),索引節(jié)點(例如第三級索引節(jié)點)的數(shù)據(jù)部分320中的每個指針一個雙間接塊(例如第二級塊),其中可能包括多個指針(例如510個指針),每個指針引用間接(例如第一級)塊。對于包含該510個指針的間接塊,每一個指針引用存儲裝置的4kB數(shù)據(jù)塊。在訪問文件時,每個文件塊可以從存儲裝置130加載到高速緩存116中。
[0058]當(dāng)一個磁盤索引節(jié)點(或塊)是從存儲裝置130加載到高速緩存116時,其相應(yīng)的內(nèi)核結(jié)構(gòu)嵌入磁盤上的結(jié)構(gòu)。例如,圍繞索引節(jié)點300的虛線(Figure.3)表示磁盤上的索引節(jié)點結(jié)構(gòu)的內(nèi)核表示。該內(nèi)核結(jié)構(gòu)是內(nèi)存的一個塊,其存儲了磁盤上的結(jié)構(gòu)加上用于管理內(nèi)存(而非磁盤上的)中的數(shù)據(jù)所需的附加信息。該附加信息可以包括例如“臟”位322。在按照例如寫操作的指令對索引節(jié)點(或塊)中的數(shù)據(jù)進行更新/修改之后,用臟位322將修改后的數(shù)據(jù)標(biāo)記為“臟”,使該索引節(jié)點(塊)可隨后被“沖刷”(存儲)。
[0059]圖4A是可以有利地用于同時使用非可變和可變壓縮組尺寸來生成數(shù)據(jù)容器的部分克隆的本發(fā)明的樹形結(jié)構(gòu)的示意框圖,如在下文更詳細描述的。該樹形結(jié)構(gòu)是加載到高速緩存116并由文件系統(tǒng)202維護的數(shù)據(jù)容器(如文件A400)的塊的內(nèi)部表示。根(頂級)索引節(jié)點402 (如嵌入索引節(jié)點)引用間接(例如I級的)塊404。間接塊(和索引節(jié)點)包括指針405,其最終引用用于存儲文件A的實際數(shù)據(jù)的數(shù)據(jù)塊406。也就是說,文件A400的數(shù)據(jù)被存儲在這些數(shù)據(jù)塊中,這些塊的位置被存儲在文件的間接塊中。
[0060]每個I級間接塊404可以包括指向各塊(例如510個數(shù)據(jù)塊)的指針。根據(jù)文件系統(tǒng)的“任意位置寫入”屬性,這些塊可以位于各存儲裝置130的任何位置。
[0061]存儲管理員/用戶可能想“克隆”文件系統(tǒng)或其一部分。為了有效地利用存儲空間,常使用單實例存儲(SIS)克隆技術(shù)。在SIS克隆中,使用新的I級塊來創(chuàng)建新的索引節(jié)點,但這些I級塊指向原始數(shù)據(jù)容器的O級塊。圖4B提供了 SIS克隆的一個示例,其中文件400A是圖4A的文件400的克隆。
[0062]類似于索引節(jié)點402的索引節(jié)點403是一個獨立的結(jié)構(gòu),具有類似404的多個間接塊407。類似于405的指針409指向圖4A的相同的數(shù)據(jù)塊406。因此,在克隆副本中,只創(chuàng)建了新的索引節(jié)點403和間接I級塊407。O級數(shù)據(jù)塊的原始數(shù)據(jù)保持不變。這種技術(shù)有效使用了存儲空間,因為存儲實際數(shù)據(jù)的數(shù)據(jù)塊不被復(fù)制,即讀出原始O級數(shù)據(jù)和寫入復(fù)制的/新的O級數(shù)據(jù),因此避免了不必要的存儲裝置輸入/輸出操作。
[0063]存儲系統(tǒng)也可以在克隆時使用壓縮以節(jié)省存儲空間。由于大量的數(shù)據(jù)可被克隆,因此存儲系統(tǒng)108通常使用非可變壓縮組尺寸來壓縮各塊。例如,存儲系統(tǒng)108可以將8個塊壓縮為一組,而不是單獨壓縮每個塊。這是有效的,因為它節(jié)省了計算資源。
[0064]可變壓縮組尺寸的使用在大多數(shù)情況下是可取的,但對于克隆數(shù)據(jù)容器/文件系統(tǒng)的各部分的部分SIS克隆可能不夠優(yōu)選。以下將參照圖4C對部分SIS克隆進行描述。
[0065]圖4C示出了具有行410所示的從O開始到24的文件偏移量的數(shù)據(jù)容器408。行412示出了 vbn空間中的塊編號V0-V24,同時行414示出了 pbn空間中的物理存儲空間塊編號P0-P24。數(shù)據(jù)容器408中被部分克隆的部分示為416。
[0066]在克隆結(jié)構(gòu)中,行418示出了從O開始到15的文件偏移量。行420示出了各新的I級塊,其示為V4-V19。行420的各I級塊420指向422的各pbn塊。值得注意的是,行422和行414的塊是相同的。[0067]如果存儲系統(tǒng)108使用非可變壓縮組尺寸(例如從偏移量“O”開始的8),則存儲系統(tǒng)108首先要解壓縮行418所示的各塊的全部信息。存儲系統(tǒng)然后可以使用壓縮組尺寸8重新壓縮各塊,然后將壓縮塊復(fù)制到克隆部分416。
[0068]在局部SIS克隆中使用非可變壓縮組尺寸的挑戰(zhàn)如圖4D所示,其中數(shù)據(jù)容器424是圖4C所示的數(shù)據(jù)容器408的壓縮版本。圖4D中的行426示出了塊編號0-24。圖4C中的8個塊0-7被壓縮成3個塊,在行428中示為Vcl、Vc2和Vc3。塊Hl包括壓縮塊0_7的壓縮信息。標(biāo)注了 “T”的塊包括填充信息。
[0069]行430包括pbn空間中的壓縮塊,其示為Pel、Pc2和Pc3,表示文件408的P1-P7被壓縮成Pc1、Pc2和Pc3。行430中的Hl包括由文件系統(tǒng)202使用來解壓縮存儲信息的
壓縮信息。
[0070]塊8-15被壓縮成4個塊,示為Vc9-Vcl2。塊8_15的文件頭在行428中示為H。同樣,數(shù)據(jù)容器408的塊16-23使用Vcl7-Vcl9進行壓縮。文件頭用于存儲壓縮信息。
[0071]對于部分SIS克隆,根據(jù)用戶的請求,只有行426的示為段432的塊4_19被克隆。因為存儲系統(tǒng)108從偏移量O開始壓縮源數(shù)據(jù)容器424,因此必須解壓縮所有受到克隆影響的塊,即首先解壓縮段432中的所有塊,接下來以段426的塊4作為起始偏移量再次壓縮然后進行復(fù)制,進行部分SIS克隆。因此,使用非可變壓縮組尺寸對于局部SIS克隆可能不是很理想。
[0072]在一個實施例中,將可變壓縮組尺寸和非可變壓縮組尺寸同時用于局部SIS克隆。部分組尺寸通常用于固定塊位置之前或后面的塊編號。例如,對于部分克隆段432,將可變壓縮尺寸用于段434和438,而對段436的原始源數(shù)據(jù)容器保持非可變壓縮組尺寸。
[0073]為了克隆段434中行426的標(biāo)記為4、5、6和7的塊,文件系統(tǒng)202首先解壓縮這些塊,然后克隆解壓縮的各塊。與塊4、5、6和7類似,首先對標(biāo)記為16、17、18和19的塊解壓縮,然后進行復(fù)制。
[0074]然而不對段436中標(biāo)記為8-15的塊解壓縮,而只是從原始壓縮的數(shù)據(jù)容器424進行復(fù)制。
[0075]在一個實施例中,塊4、5、6和7以及塊16、17、18和19可以在克隆的版本中以可
變塊尺寸4進行壓縮。根據(jù)上述示例,段434和438具有可變壓縮組尺寸,而段436保持原始壓縮組尺寸。這為想要在局部SIS克隆中使用壓縮的用戶節(jié)省了計算資源和空間。
[0076]圖4E示出了根據(jù)一個實施例的使用可變和非可變壓縮組尺寸的處理440的處理流程圖。當(dāng)存儲操作系統(tǒng)118接收到部分地克隆數(shù)據(jù)容器的請求時,該處理在框S442處開始。該請求識別出數(shù)據(jù)容器并且可以經(jīng)由用戶界面214被接收。
[0077]在框S444中,文件系統(tǒng)202取回數(shù)據(jù)容器并且確定部分克隆的初始偏移量是否與壓縮的源數(shù)據(jù)容器的起始偏移量相匹配。這意味著間接塊符合用來壓縮數(shù)據(jù)容器塊的非可變壓縮組尺寸。例如,參照圖4D,如果請求是為了部分克隆行426的塊0-15,則文件系統(tǒng)202僅將行428中的各塊復(fù)制成克隆版本,這是因為部分克隆的初始偏移量與壓縮塊的偏移量相匹配。
[0078]如果部分克隆的請求不與非可變壓縮組尺寸的初始偏移量相匹配,則在框S446處,文件系統(tǒng)202解壓縮源數(shù)據(jù)容器塊,并且還存儲解壓縮的塊,或者使用不同于默認的非可變壓縮組尺寸的壓縮組尺寸(例如8)對解壓縮的塊進行壓縮。參照圖4D,如果部分克隆請求是針對段434開始的塊,則首先讀取段434的所有塊,然后復(fù)制或使用塊尺寸4進行壓縮。段436中的塊被簡單復(fù)制,這是因為它們使用了默認的壓縮組尺寸。以類似于段434的方式對段438中的塊進行處理。
[0079]本文所公開的實施例具有優(yōu)點,因為允許用戶同時利用部分SIS克隆和壓縮。
[0080]圖5是示出了較高級別的處理系統(tǒng)的架構(gòu)示例的高級別框圖,其中可以實現(xiàn)上述針對圖4E的處理的可執(zhí)行指令。該處理系統(tǒng)500可以代表客戶端系統(tǒng)102。請注意,與本發(fā)明沒有密切關(guān)系的某些標(biāo)準(zhǔn)的和眾所周知的組件未在圖5中示出。
[0081]存儲系統(tǒng)500包括耦接至總線系統(tǒng)505的一個或多個處理器502和存儲器504。圖4所示的總線系統(tǒng)505是代表任意一個或多個單獨的物理總線和/或通過適當(dāng)?shù)臉蚪?、適配器和/或控制器連接的點對點連接的抽象表示。因此總線系統(tǒng)505可以包括例如系統(tǒng)總線、外圍組件互連(PCI)總線、超傳輸或工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)總線、小型計算機系統(tǒng)接口(SCSI)總線、通用串行總線(USB)或電氣和電子工程師協(xié)會(IEEE)標(biāo)準(zhǔn)1394總線(有時也被稱為“火線”)。
[0082]處理器502是處理系統(tǒng)500的中央處理單元(CPU),用于控制其總體操作。在某些實施例中,處理器502通過執(zhí)行存儲在內(nèi)存504中的可編程指令506來實現(xiàn)控制。處理器502可以是,或可以包括一個或多個可編程通用或?qū)S梦⑻幚砥?、?shù)字信號處理器(DSP)、可編程控制器、專用集成電路(ASIC)、可編程邏輯器件(PLD)等,或這些器件的組合。
[0083]存儲器504表示任何形式的隨機存取存儲器(RAM)、只讀存儲器(ROM)、閃速存儲器等,或這些器件的組合。存儲器504包括處理系統(tǒng)500的主存儲器。實現(xiàn)了圖4E的處理步驟的指令506可以駐留在內(nèi)存504中并可(通過處理器502)從內(nèi)存504執(zhí)行。
[0084]一個或多個內(nèi)部大容量存儲裝置510以及網(wǎng)絡(luò)適配器512也通過總線系統(tǒng)505連接到處理器502。內(nèi)部大容量存儲裝置510可以是或可以包括任何以非易失性方式存儲大量數(shù)據(jù)的常規(guī)介質(zhì),例如一個或多個磁盤或光盤。網(wǎng)絡(luò)適配器512為處理系統(tǒng)500提供了通過網(wǎng)絡(luò)與遠程裝置進行通信的能力,并且可以是例如以太網(wǎng)適配器、光纖通道適配器等。該處理系統(tǒng)500還包括一個或多個耦接到總線系統(tǒng)505的輸入/輸出(I/O)裝置508。該I/O裝置508可以包括例如顯示裝置、鍵盤、鼠標(biāo)等。
[0085]云計算:上述系統(tǒng)和技術(shù)在即將到來的云計算環(huán)境中非常有用。云計算意味著在計算資源及其底層技術(shù)架構(gòu)(例如服務(wù)器、存儲器、網(wǎng)絡(luò))之間提供抽象的計算能力,實現(xiàn)了對可配置計算資源共享池的便捷、按需的網(wǎng)絡(luò)訪問,該可配置計算資源能夠以最小的管理工作或服務(wù)提供商交互來快速配備和釋放。術(shù)語“云”指的是允許共享資源的互聯(lián)網(wǎng)和云計算,例如類似公共事業(yè)的按需可得的軟件和信息。
[0086]典型的云計算提供商在線傳送能夠通過其他網(wǎng)頁服務(wù)或類似網(wǎng)頁瀏覽器的軟件來訪問的常見的商業(yè)應(yīng)用,而該軟件和數(shù)據(jù)遠程存儲在服務(wù)器上。云計算架構(gòu)使用分層方法來提供應(yīng)用服務(wù)。第一層是由客戶端計算機執(zhí)行的應(yīng)用層。在這個示例中,該應(yīng)用允許客戶端通過云訪問存儲器。
[0087]在應(yīng)用層之后是云平臺和云基礎(chǔ)架構(gòu),其后是“服務(wù)器”層,該服務(wù)器層包括設(shè)計用于特定云服務(wù)的硬件和計算機軟件。關(guān)于這些層的細節(jié)與本發(fā)明的實施例沒有密切關(guān)系。以上所述的存儲系統(tǒng)可以是用于提供存儲服務(wù)的服務(wù)器層的一部分。
[0088]綜上,提供了在部分SIS克隆中使用可變和非可變壓縮組尺寸的方法和裝置。請注意,在整個說明書中提及的“一個實施例”意味著結(jié)合該實施例而描述的特定特征、結(jié)構(gòu)或特性被包括在本發(fā)明的至少一個實施例中。因此,應(yīng)當(dāng)強調(diào)并且應(yīng)當(dāng)理解,在本說明書各部分中兩處或兩處以上提及的“一個實施例”或“替代實施例”不一定指的是同一實施例。此外,本領(lǐng)域的普通技術(shù)人員能夠認識到,所述特定的特征、結(jié)構(gòu)或特性可以適當(dāng)?shù)亟M合在本發(fā)明的一個或多個實施例中。
[0089] 雖然針對當(dāng)前認為的最優(yōu)實施例對本發(fā)明進行了以上說明,但應(yīng)當(dāng)理解,本發(fā)明并不限于以上所述的內(nèi)容。與此相反,本發(fā)明旨在覆蓋落入所附權(quán)利要求的精神和范圍內(nèi)的各種修改和等同配置。
【權(quán)利要求】
1.一種用于克隆數(shù)據(jù)容器的機器實現(xiàn)方法,所述數(shù)據(jù)容器具有處在非可變壓縮組尺寸之內(nèi)的一些塊以及不處在非可變壓縮組尺寸內(nèi)的一個塊,所述方法包括: 確定使用非可變壓縮組尺寸壓縮的多個壓縮塊; 以非可變壓縮組尺寸克隆所述多個壓縮塊; 解壓縮數(shù)據(jù)容器的不處在非可變壓縮組尺寸之內(nèi)的多個塊;和 存儲所述多個壓縮塊和所述不處在非可變壓縮組尺寸之內(nèi)的多個塊,來作為數(shù)據(jù)容器的部分克隆部分。
2.如權(quán)利要求1的方法,其中所述被解壓縮的多個塊在與克隆的多個壓縮塊一起存儲之前被壓縮。
3.如權(quán)利要求1的方法,其中數(shù)據(jù)容器由處理器可執(zhí)行的存儲操作系統(tǒng)以層級結(jié)構(gòu)進行存儲。
4.如權(quán)利要求3的方法,其中所述層級結(jié)構(gòu)包括標(biāo)識數(shù)據(jù)容器的第一數(shù)據(jù)結(jié)構(gòu),與第一數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)的第二數(shù)據(jù)結(jié)構(gòu),所述第二數(shù)據(jù)結(jié)構(gòu)存儲指向第三數(shù)據(jù)結(jié)構(gòu)的地址指針,所述第三數(shù)據(jù)結(jié)構(gòu)存儲與存儲裝置的物理存儲空間相關(guān)聯(lián)的塊編號。
5.如權(quán)利要求1的方法,其中所述非可變壓縮組尺寸為至少八個塊。
6.一種用于克隆數(shù) 據(jù)容器的機器實現(xiàn)方法,包括: 掃描源數(shù)據(jù)容器以生成源數(shù)據(jù)容器的一部分的克隆副本,其中源數(shù)據(jù)容器的所述一部分包括使用非可變壓縮組尺寸壓縮的多個塊以及不處在非可變壓縮組尺寸之內(nèi)的至少一個塊; 從源數(shù)據(jù)容器讀數(shù)所述至少一個塊;以及 使用所述至少一個塊以及使用非可變壓縮組尺寸壓縮的多個塊來生成源數(shù)據(jù)容器的所述一部分的克隆副本。
7.如權(quán)利要求6的方法,其中所述被解壓縮的多個塊在與克隆的多個壓縮塊一起存儲之前被壓縮。
8.如權(quán)利要求6的方法,其中數(shù)據(jù)容器由處理器可執(zhí)行的存儲操作系統(tǒng)以層級結(jié)構(gòu)進行存儲。
9.如權(quán)利要求8的方法,其中所述層級結(jié)構(gòu)包括標(biāo)識源數(shù)據(jù)容器的第一數(shù)據(jù)結(jié)構(gòu),與第一數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)的第二數(shù)據(jù)結(jié)構(gòu),所述第二數(shù)據(jù)結(jié)構(gòu)存儲指向第三數(shù)據(jù)結(jié)構(gòu)的地址指針,所述第三數(shù)據(jù)結(jié)構(gòu)存儲與存儲裝置的物理存儲空間相關(guān)聯(lián)的塊編號。
10.如權(quán)利要求6的方法,其中所述非可變壓縮組尺寸為至少八個塊。
11.一種系統(tǒng),包括: 第一計算系統(tǒng),其與存儲系統(tǒng)接口,其具有執(zhí)行指令以在存儲裝置中保持多個數(shù)據(jù)容器的硬件處理器;其中所述處理器掃描源數(shù)據(jù)容器,以生成數(shù)據(jù)容器的一部分的克隆副本,其中源數(shù)據(jù)容器的所述一部分包括使用非可變壓縮組尺寸壓縮的多個塊以及不處在非可變壓縮組尺寸之內(nèi)的至少一個塊;從源數(shù)據(jù)容器讀取所述至少一個塊;以及使用所述至少一個塊以及使用非可變壓縮組尺寸壓縮的多個塊來生成源數(shù)據(jù)容器的所述一部分的克隆副本。
12.如權(quán)利要求11的系統(tǒng),其中所述被解壓縮的多個塊在與克隆的多個壓縮塊一起存儲之前被壓縮。
13.如權(quán)利要求11的系統(tǒng),其中數(shù)據(jù)容器由處理器可執(zhí)行的存儲操作系統(tǒng)以層級結(jié)構(gòu)進行存儲。
14.如權(quán)利要求13的系統(tǒng),其中所述層級結(jié)構(gòu)包括標(biāo)識源數(shù)據(jù)容器的第一數(shù)據(jù)結(jié)構(gòu),與第一數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)的第二數(shù)據(jù)結(jié)構(gòu),所述第二數(shù)據(jù)結(jié)構(gòu)存儲指向第三數(shù)據(jù)結(jié)構(gòu)的地址指針,所述第三數(shù)據(jù)結(jié)構(gòu)存儲與存儲裝置的物理存儲空間相關(guān)聯(lián)的塊編號。
15.如權(quán)利要求13的系統(tǒng),其中所述非可變壓縮組尺寸為至少八個塊。
16.一種計算機程序產(chǎn)品,包括: 嵌入有計算機可讀指令的計算機可用存儲介質(zhì),所述計算機可讀指令用于克隆數(shù)據(jù)容器,該數(shù)據(jù)容器具有處在非可變壓縮組尺寸之內(nèi)的一些塊以及不處在非可變壓縮組尺寸內(nèi)的一個塊,所述計算機可讀指令包括: 用于確定使用用于克隆數(shù)據(jù)容器的一部分的非可變壓縮組尺寸壓縮的多個壓縮塊的指令; 用于以非可變壓縮組尺寸克隆所述多個壓縮塊的指令; 用于解壓縮數(shù)據(jù)容器的不處在非可變壓縮組尺寸之內(nèi)的多個塊的指令;和 用于存儲所述多個壓縮塊和所述不處在非可變壓縮組尺寸之內(nèi)的多個塊,來作為數(shù)據(jù)容器的部分克隆部分的指令。
17.如權(quán)利要求16的計算機程序產(chǎn)品,其中所述被解壓縮的多個塊在與克隆的多個壓縮塊一起存儲之前被壓縮。
18.如權(quán)利要求16的計算機程序產(chǎn)品,其中數(shù)據(jù)容器由處理器可執(zhí)行的存儲操作系統(tǒng)以層級結(jié)構(gòu)進行存儲。
19.如權(quán)利要求18的計算機程序產(chǎn)品,其中所述層級結(jié)構(gòu)包括標(biāo)識數(shù)據(jù)容器的第一數(shù)據(jù)結(jié)構(gòu),與第一數(shù)據(jù)結(jié)構(gòu)相關(guān)聯(lián)的第二數(shù)據(jù)結(jié)構(gòu),所述第二數(shù)據(jù)結(jié)構(gòu)存儲指向第三數(shù)據(jù)結(jié)構(gòu)的地址指針,所述第三數(shù)據(jù)結(jié)構(gòu)存儲與存儲裝置的物理存儲空間相關(guān)聯(lián)的塊編號。
20.如權(quán)利要求16的計算機程序產(chǎn)品,其中所述非可變壓縮組尺寸為至少八個塊。
【文檔編號】G06F17/00GK103842987SQ201280044922
【公開日】2014年6月4日 申請日期:2012年9月14日 優(yōu)先權(quán)日:2011年9月14日
【發(fā)明者】桑迪普·亞達夫, 德亞內(nèi)施沃·帕瓦爾, 阿南德·納塔拉詹 申請人:網(wǎng)絡(luò)存儲技術(shù)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
桓仁| 都兰县| 永济市| 怀化市| 扬中市| 襄樊市| 寻甸| 丹凤县| 中阳县| 镇安县| 漯河市| 绍兴市| 乌拉特中旗| 肥乡县| 大名县| 炎陵县| 河北省| 松江区| 兴隆县| 萝北县| 略阳县| 松溪县| 玉树县| 黄平县| 历史| 逊克县| 沙洋县| 墨脱县| 海兴县| 萨迦县| 嘉峪关市| 宿松县| 甘德县| 文昌市| 光山县| 和田县| 晋江市| 龙里县| 东乌珠穆沁旗| 安吉县| 毕节市|