專利名稱:使復(fù)制目標(biāo)能夠回收瘦供給存儲系統(tǒng)上未使用的存儲空間的系統(tǒng)和方法
使復(fù)制目標(biāo)能夠回收瘦供給存儲系統(tǒng)上未使用的存儲空間的系統(tǒng)和方法
背景技術(shù):
很多組織機(jī)構(gòu)依賴于數(shù)據(jù)復(fù)制以增強(qiáng)可靠性、容錯性、和/或其應(yīng)用和/或數(shù)據(jù)的可訪問性。數(shù)據(jù)復(fù)制典型地涉及從主站點或裝置(例如應(yīng)用服務(wù)器)向輔助(即,備份)站點或裝置(也稱為“復(fù)制目標(biāo)”)復(fù)制數(shù)據(jù)。由于在數(shù)據(jù)復(fù)制過程中產(chǎn)生大量的數(shù)據(jù),數(shù)據(jù)復(fù)制服務(wù)的供應(yīng)商長久以來一直尋求最大化數(shù)據(jù)存儲性能,同時最小化存儲成本。為此,一些供應(yīng)商已轉(zhuǎn)向瘦供給解決方案以有效地利用可用的存儲空間。典型地,瘦供給解決方案按照需要或即時地從公共池向計算系統(tǒng)分配存儲空間以防止存儲空間浪費(fèi)。不幸的是,典型的文件或塊級復(fù)制技術(shù)可以阻止復(fù)制目標(biāo)識別從主站點(例如,應(yīng)用服務(wù)器)復(fù)制數(shù)據(jù)內(nèi)可用的或未使用的部分。例如,在無法訪問由主站點(在產(chǎn)生數(shù)據(jù)時) 使用的各種應(yīng)用程序和/或文件系統(tǒng)API的情況下,復(fù)制目標(biāo)也許不能夠解釋從主站點接收的應(yīng)用程序或文件系統(tǒng)數(shù)據(jù)。在缺乏這種知識時,復(fù)制目標(biāo)不能夠有效地使用瘦供給存儲系統(tǒng)來存儲復(fù)制數(shù)據(jù),因為復(fù)制目標(biāo)將不能識別(并在隨后指令瘦供應(yīng)存儲系統(tǒng)來回收)瘦供給存儲系統(tǒng)上存儲的復(fù)制數(shù)據(jù)內(nèi)可用的或未使用的存儲空間。
發(fā)明內(nèi)容
如以下更為詳細(xì)說明的,本披露總體上涉及使復(fù)制目標(biāo)能夠回收瘦供給存儲系統(tǒng)上未使用的存儲空間的多種系統(tǒng)及方法。在一個實例中,在此描述的各種系統(tǒng)中的一種或多種可以通過如下操作完成這種任務(wù)1)從復(fù)制源(例如服務(wù)器)向復(fù)制目標(biāo)復(fù)制數(shù)據(jù)(例如利用文件或塊級復(fù)制技術(shù)),2)識別復(fù)制數(shù)據(jù)中未使用的存儲空間(利用在此描述的方法中的一種或多種),3)產(chǎn)生一條回收請求以便從瘦供給存儲系統(tǒng)回收未使用的存儲空間,該系統(tǒng)為復(fù)制目標(biāo)提供瘦供給存儲,然后4)向該瘦供給存儲系統(tǒng)發(fā)布該回收請求以便從該瘦供給存儲系統(tǒng)回收未使用的存儲空間。在此描述的系統(tǒng)可以采用各種方式并且在各種情況下識別復(fù)制數(shù)據(jù)內(nèi)未使用的存儲空間。在一個實例中,復(fù)制目標(biāo)可以通過從復(fù)制源接收(例如,通過帶內(nèi)通信協(xié)議)識別該未使用的存儲空間的信息來識別復(fù)制數(shù)據(jù)內(nèi)未使用的存儲空間。在一些實例中,該可用空間信息可以包括一條攔截的最初從復(fù)制源發(fā)送至瘦供給存儲系統(tǒng)的回收請求,該系統(tǒng)為復(fù)制源提供瘦供給存儲。在其他實例中,該可用空間信息可以使識別由在復(fù)制源上執(zhí)行的計算操作(例如磁盤碎片整理操作或文件移除操作)所釋放的存儲空間。在一些實例中,該復(fù)制目標(biāo)可以響應(yīng)于復(fù)制目標(biāo)所發(fā)出的請求從復(fù)制源接收該可用空間信息。例如,復(fù)制目標(biāo)可以定期地或按照需要請求(并且復(fù)制源可以相應(yīng)地提供)可用空間信息。在另一個實例中,復(fù)制目標(biāo)可以通過以下操作識別復(fù)制數(shù)據(jù)內(nèi)未使用的存儲空間1)中止數(shù)據(jù)復(fù)制,然后2)使用數(shù)據(jù)管理API (例如文件系統(tǒng)和/或應(yīng)用程序API)來獨(dú)立地識別復(fù)制數(shù)據(jù)內(nèi)未使用的存儲空間。一旦回收了該未使用的存儲空間,復(fù)制目標(biāo)可以指令復(fù)制源恢復(fù)數(shù)據(jù)復(fù)制。如以下更為詳細(xì)解釋的,在此描述的系統(tǒng)和方法可以使復(fù)制目標(biāo)能夠從瘦供給存儲系統(tǒng)回收未使用的存儲空間,該系統(tǒng)為復(fù)制目標(biāo)提供瘦供給存儲。因此,這些系統(tǒng)和方法可以使系統(tǒng)管理員能夠在瘦供給存儲環(huán)境內(nèi)對復(fù)制解決方案進(jìn)行配置,從而實現(xiàn)可能的空間和財政節(jié)約。來自上述任一個實施方案的多種特征可以根據(jù)在此說明的通用原理彼此相互結(jié)合使用。通過閱讀以下的詳細(xì)說明連同附圖
和權(quán)利要求,將會更加全面地理解這些以及其他的實施方案、特征和優(yōu)點。附圖簡要說明附圖展示了多個示例性實施方案并且是本說明書的一部分。這些附圖與以下的說明一起展現(xiàn)并解釋了本披露的不同原理。 圖I是一種使復(fù)制目標(biāo)能夠回收瘦供給存儲系統(tǒng)上未使用的存儲空間的示例性系統(tǒng)的方框圖。圖2是一種使復(fù)制目標(biāo)能夠回收瘦供給存儲系統(tǒng)上未使用的存儲空間的示例性系統(tǒng)的方框圖。圖3是一種使復(fù)制目標(biāo)能夠回收瘦供給存儲系統(tǒng)上未使用的存儲空間的附加示例性系統(tǒng)的方框圖。圖4是一種使復(fù)制目標(biāo)能夠回收瘦供給存儲系統(tǒng)上未使用的存儲空間的示例性方法的流程圖。圖5是一種示例性計算系統(tǒng)的方框圖,該計算系統(tǒng)能夠?qū)嵤┰诖苏f明和/或展示的這些實施方案中的一個或多個。圖6是一種示例性計算網(wǎng)絡(luò)的方框圖,該計算網(wǎng)絡(luò)能夠?qū)嵤┰诖苏f明和/或展示的這些實施方案中的一個或多個。貫穿這些附圖,相同的參考字符以及說明表示相似的但并不一定完全相同的要素。雖然在此說明的這些示例性實施方案可容許進(jìn)行不同的修改以及多種替代形式,在此仍在附圖中以舉例的方式示出多個具體的實施方案并且對其進(jìn)行了詳細(xì)的說明。然而,在此說明的多個示例性實施方案并非旨在限于所披露的這些具體形式。相反,本披露覆蓋落入所附權(quán)利要求范圍內(nèi)的所有修改形式、等效物、以及替代方案。示例性實施方案的詳細(xì)說明以下將參考圖I至3提供使復(fù)制目標(biāo)能夠回收瘦供給存儲系統(tǒng)上未使用的存儲空間的示例性系統(tǒng)的詳細(xì)說明。還將結(jié)合圖4提供相應(yīng)的計算機(jī)實現(xiàn)的方法的詳細(xì)說明。另夕卜,將結(jié)合圖5和圖6對應(yīng)地提供一種示例性計算系統(tǒng)和網(wǎng)絡(luò)體系結(jié)構(gòu)的詳細(xì)說明,它們能夠?qū)嵤┰诖苏f明的這些實施方案中的一個或多個。圖I是一種使復(fù)制目標(biāo)能夠回收瘦供給存儲系統(tǒng)上的未使用的存儲空間的示例性系統(tǒng)100的方框圖。如此圖中所示,示例性系統(tǒng)100可以包括用于執(zhí)行一項或多項任務(wù)的一個或多個模塊102。例如,如以下更為詳細(xì)解釋的,示例性系統(tǒng)100可以包括一個復(fù)制模塊104,該模塊被編程為從復(fù)制源向復(fù)制目標(biāo)復(fù)制數(shù)據(jù)。示例性系統(tǒng)100還可以包括一個識別模塊106,該模塊被編程為識別復(fù)制數(shù)據(jù)內(nèi)未使用的存儲空間。另外,如以下更為詳細(xì)解釋的,示例性系統(tǒng)100可以包括一個回收模塊108,該模塊被編程為從瘦供給存儲系統(tǒng)回收未使用的存儲空間,該瘦供給存儲系統(tǒng)為復(fù)制目標(biāo)提供存儲空間。盡管展示為多個分離的元件,圖I中的模塊102中的一個或多個可以代表一個單一模塊或應(yīng)用程序中的多個部分。在某些實施方案中,圖I中模塊102的一個或多個可以代表一個或多個軟件應(yīng)用程序或程序,這些軟件應(yīng)用程序或程序在由計算裝置執(zhí)行時可以使該計算裝置執(zhí)行一個或多個任務(wù)。例如,如以下更為詳細(xì)解釋的,模塊102中的一個或多個可以代表存儲并配置為運(yùn)行在一個或多個計算裝置上的多個軟件模塊,例如圖2中所示的裝置(例如,復(fù)制源202和/或復(fù)制目標(biāo)222)、圖3中所示的裝置(例如,復(fù)制源302和/或復(fù)制目標(biāo)322)、圖5中的計算系統(tǒng)510、和/或圖6中的示例性網(wǎng)絡(luò)體系結(jié)構(gòu)600的多個部分。圖I中模塊102的一個或多個還可以代表被配置用于執(zhí)行一項或多項任務(wù)的一個或多個專用計算機(jī)的全部或一些部分。如圖I所示,示例性系統(tǒng)100還可以包括一個或多個數(shù)據(jù)庫,例如數(shù)據(jù)庫120。在一個實例中,數(shù)據(jù)庫120可以包括有待從復(fù)制源復(fù)制到復(fù)制目標(biāo)的數(shù)據(jù)122 (例如,存儲在該復(fù)制源上)。數(shù)據(jù)庫120可以代表一個單一數(shù)據(jù)庫或計算裝置的多個部分或者多個數(shù)據(jù) 庫或計算裝置。例如,數(shù)據(jù)庫120可以代表圖2中所示的裝置(例如,復(fù)制源202和/或復(fù)制目標(biāo)222)、圖3中所示的裝置(例如,復(fù)制源302和/或復(fù)制目標(biāo)322)、圖5中的計算系統(tǒng)510中的一部分、和/或圖6中的示例性網(wǎng)絡(luò)體系結(jié)構(gòu)600的多個部分。可替代地,圖I中的數(shù)據(jù)庫120可以代表一個或多個物理上分離的裝置,這些裝置能夠由計算裝置訪問,例如圖2中所示的裝置(例如,復(fù)制源202和/或復(fù)制目標(biāo)222)、圖3中所示的裝置(例如,復(fù)制源302和/或復(fù)制目標(biāo)322)、圖5中的計算系統(tǒng)510、和/或圖6中的示例性網(wǎng)絡(luò)體系架構(gòu)600的多個部分。圖I中的示例性系統(tǒng)100可以采用各種方式進(jìn)行部署。例如,示例性系統(tǒng)100的全部或一部分可以代表圖2中示例性系統(tǒng)200的多個部分。如圖2中所示,系統(tǒng)200可以包括與復(fù)制目標(biāo)222進(jìn)行通信的復(fù)制源202。在此實例中,瘦供給存儲系統(tǒng)232可以為復(fù)制源202提供瘦供給存儲空間(例如,分配的空間235(1))。類似地,附加的瘦供給存儲系統(tǒng)252可以為復(fù)制目標(biāo)222提供瘦供給存儲空間(例如,分配的空間255(1))。在一個實施方案中,如以下更為詳細(xì)描述的,圖I模塊102的一個或多個可以使復(fù)制目標(biāo)222能夠通過以下方式回收瘦供給存儲系統(tǒng)252上未使用的存儲空間1)從復(fù)制源(例如,復(fù)制源202)接收復(fù)制數(shù)據(jù),2)識別(例如,利用在此描述的各種技術(shù)中的一種)復(fù)制數(shù)據(jù)中的未使用的存儲空間(例如,分配的空間255(1)的未使用部分259(1) ),3)產(chǎn)生一條回收請求以便從瘦供給存儲系統(tǒng)(例如,瘦供給存儲系統(tǒng)252)回收未使用的存儲空間,該系統(tǒng)為復(fù)制目標(biāo)提供瘦供給存儲,以及4)向該瘦供給存儲系統(tǒng)發(fā)出該回收請求以便從該瘦供給存儲系統(tǒng)回收未使用的存儲空間。復(fù)制源202總體上代表能夠向復(fù)制目標(biāo)復(fù)制數(shù)據(jù)的任意類型或形式的計算裝置。復(fù)制源202的實例包括但不限于被配置用于提供各種數(shù)據(jù)庫服務(wù)和/或運(yùn)行某些軟件應(yīng)用程序的應(yīng)用程序服務(wù)器和數(shù)據(jù)庫服務(wù)器、圖5中的示例性計算系統(tǒng)510、或任意其他適合的計算裝置。類似地,復(fù)制目標(biāo)222總體上代表能夠接收并存儲復(fù)制數(shù)據(jù)的任意類型或形式的計算裝置。在一個實例中,復(fù)制源202可以復(fù)制數(shù)據(jù)和/或通過帶內(nèi)通信協(xié)議210向復(fù)制目標(biāo)222發(fā)送與復(fù)制數(shù)據(jù)相關(guān)的元數(shù)據(jù)。
如圖2所示,在一些實例中復(fù)制源202可以包括一個應(yīng)用程序204。應(yīng)用程序204總體上代表能夠產(chǎn)生和/或管理數(shù)據(jù)的任意類型或形式的應(yīng)用程序(例如,數(shù)據(jù)庫)。在一些實例中,應(yīng)用程序204可以在瘦供給存儲系統(tǒng)(例如,瘦供給存儲系統(tǒng)232)和/或本地存儲裝置(以下結(jié)合圖3進(jìn)行解釋)中存儲數(shù)據(jù)。復(fù)制源202還可以包括一個文件系統(tǒng)206。在一些示例中,文件系統(tǒng)206可以包含多個瘦供給卷(即,由瘦供給存儲系統(tǒng)(例如瘦供給存儲系統(tǒng)232)上的存儲器支持的邏輯卷)。復(fù)制源202還可以包括從復(fù)制源202向復(fù)制目標(biāo)222復(fù)制數(shù)據(jù)的復(fù)制代理208。復(fù)制代理208總體上代表能夠從復(fù)制源(例如復(fù)制源202)向復(fù)制目標(biāo)(例如復(fù)制目標(biāo)222)復(fù)制數(shù)據(jù)的任意類型或形式的主機(jī)或服務(wù)器側(cè)代理或模塊。如以下更為詳細(xì)解釋的,復(fù)制代理208可以利用文件級或塊級復(fù)制技術(shù)來復(fù)制數(shù)據(jù)。 類似地,復(fù)制目標(biāo)222上的復(fù)制代理228可以代表能夠從復(fù)制源(例如復(fù)制源202)接收復(fù)制數(shù)據(jù)的任意類型或形式的客戶端側(cè)代理或模塊。如以下更為詳細(xì)解釋的,在一些實例中,應(yīng)用程序204、文件系統(tǒng)206、復(fù)制代理208、和/或復(fù)制代理228可以包括圖I模塊102的一個或多個。瘦供給存儲系統(tǒng)232和252總體上代表能夠按照需要和/或即時地為計算系統(tǒng)存儲數(shù)據(jù)的任意類型或形式的存儲系統(tǒng)或裝置(例如磁盤陣列)。在一個實例中,瘦供給存儲系統(tǒng)232和252可以在邏輯上分為多個邏輯單元號(LUN)(例如,分別為LUN 234 (I)-(N)和254 (I)-(N)),這些單元號的每一個可以代表對瘦供給存儲系統(tǒng)232或252的物理部分的邏輯引用。LUN 234(I)-(N)和254(1)-(N)可以代表瘦供給存儲系統(tǒng)232或252內(nèi)的磁盤、磁盤的一個區(qū)段、整個磁盤陣列、和/或磁盤陣列的一個區(qū)段。在一些實例中,瘦供給存儲系統(tǒng)232可以為復(fù)制源202的一個或多個應(yīng)用程序或文件系統(tǒng)(例如,應(yīng)用程序204和/或文件系統(tǒng)206)提供瘦供給存儲。在一些實例中,復(fù)制源202和/或復(fù)制目標(biāo)222可以通過API 240分別與瘦供給存儲系統(tǒng)232和252對接。API 240總體上代表與瘦供給存儲系統(tǒng)進(jìn)行對接的任意類型或形式的編程接口。在一些實例中,與圖2相不同的是,復(fù)制源可以不采用瘦供給存儲。例如,圖3中的復(fù)制源302可以將一個或多個本地存儲裝置(例如,數(shù)據(jù)集334(1)-(N))內(nèi)存儲的數(shù)據(jù)通過帶內(nèi)通信協(xié)議310復(fù)制到復(fù)制目標(biāo)322。在此實例中,數(shù)據(jù)集334(I)-(N)可以包含復(fù)制源302上的應(yīng)用程序或文件系統(tǒng)產(chǎn)生和/或管理的數(shù)據(jù)。與圖2中的示例性系統(tǒng)200 —樣,瘦供給存儲系統(tǒng)352可以為復(fù)制目標(biāo)322提供瘦供給存儲。圖4是一種使復(fù)制目標(biāo)能夠回收瘦供給存儲系統(tǒng)上未使用的存儲空間的示例性計算機(jī)實現(xiàn)方法400的流程圖。圖4所示的步驟可以由任何適合的計算機(jī)可執(zhí)行代碼和/或計算系統(tǒng)來執(zhí)行。在一些實施方案中,圖4所示步驟可以由圖I中系統(tǒng)100、圖2中系統(tǒng)200、圖5中計算系統(tǒng)510的多個組件、和/或圖6中示例性體系結(jié)構(gòu)600的多個部分中的一個或多個來執(zhí)行。如圖4所示,在步驟402在此描述的各種系統(tǒng)的一個或多個可以從復(fù)制源向復(fù)制目標(biāo)復(fù)制數(shù)據(jù)。例如,圖I中的復(fù)制模塊104作為圖2中復(fù)制源202的一部分(例如復(fù)制代理208的一部分)可以從復(fù)制源202向復(fù)制目標(biāo)222復(fù)制數(shù)據(jù)。在此描述的系統(tǒng)可以利用各種復(fù)制技術(shù)中的任意一種來復(fù)制數(shù)據(jù)。例如,復(fù)制代理208可以利用基于塊的復(fù)制技術(shù)(即,復(fù)制代理208可以在塊級別上識別復(fù)制數(shù)據(jù))和/或基于文件的復(fù)制技術(shù)(即,復(fù)制代理208可以在文件級別上識別復(fù)制數(shù)據(jù))從復(fù)制源202向復(fù)制目標(biāo)222復(fù)制數(shù)據(jù)。在一些實例中,在此描述的系統(tǒng)可以利用基于服務(wù)器或主機(jī)的復(fù)制技術(shù)來復(fù)制數(shù)據(jù),這種技術(shù)與基于磁盤的復(fù)制技術(shù)截然不同。例如,復(fù)制代理208可以在復(fù)制源202上執(zhí)行,而不是在復(fù)制源202 (例如,瘦供給存儲系統(tǒng)232)所采用的存儲上執(zhí)行。在一些實例中,步驟402中復(fù)制數(shù)據(jù)可以代表應(yīng)用程序和/或文件系統(tǒng)所存儲和/或管理的數(shù)據(jù)。例如,復(fù)制代理208可以復(fù)制數(shù)據(jù)庫應(yīng)用程序所存儲和/或管理的數(shù)據(jù),例如應(yīng)用程序204。另外或可替代地,復(fù)制代理208可以復(fù)制文件系統(tǒng)(例如文件系統(tǒng)206)的一個或多個卷。
在此描述的系統(tǒng)可以復(fù)制本地儲存和/或存儲在瘦供給存儲系統(tǒng)上的數(shù)據(jù)。例如,在圖2所示的實例中,復(fù)制代理208可以復(fù)制在瘦供給存儲系統(tǒng)232上存儲的數(shù)據(jù)(例如,復(fù)制代理208可以將分配給瘦供給存儲系統(tǒng)232的LUN 234 (I)內(nèi)的復(fù)制源202的數(shù)據(jù)復(fù)制到復(fù)制目標(biāo)222)。類似地,圖3中的復(fù)制代理308可以從復(fù)制源302向復(fù)制目標(biāo)322復(fù)制本地存儲的數(shù)據(jù)集334(1)。返回到圖4,在步驟404,在此描述的系統(tǒng)可以識別復(fù)制數(shù)據(jù)內(nèi)未使用的存儲空間。例如,圖I中的識別模塊106作為復(fù)制源202和/或復(fù)制目標(biāo)222的一部分(例如,應(yīng)用程序204、文件系統(tǒng)206、復(fù)制代理208、和/或復(fù)制代理228的一部分)可以識別從復(fù)制源202復(fù)制到復(fù)制目標(biāo)222的數(shù)據(jù)內(nèi)未使用的存儲空間。類似地,識別模塊106作為圖3中復(fù)制源302和/或復(fù)制目標(biāo)322的一部分(例如,應(yīng)用程序304、文件系統(tǒng)306、復(fù)制代理308、和/或復(fù)制代理328的一部分)可以識別從復(fù)制源302復(fù)制到復(fù)制目標(biāo)322的數(shù)據(jù)內(nèi)的未使用的存儲空間。在此描述的系統(tǒng)可以采用各種方式并且在各種情況下識別復(fù)制數(shù)據(jù)中未使用的存儲空間。例如,步驟404的全部或一些部分可以由復(fù)制源、復(fù)制目標(biāo)或其組合來執(zhí)行。例如,復(fù)制目標(biāo)222可以通過從復(fù)制源202接收信息(該信息識別從復(fù)制源202復(fù)制的數(shù)據(jù)內(nèi)未使用的存儲空間)來執(zhí)行步驟404。例如,識別模塊106作為圖2復(fù)制源202上的應(yīng)用程序204、文件系統(tǒng)206、和/或復(fù)制代理208的一部分可以1)識別(例如,利用應(yīng)用程序或文件系統(tǒng)API)分配的空間235(1)內(nèi)的存儲空間的未使用部分239(1),然后2)將識別這種未使用的存儲空間的信息傳送至復(fù)制目標(biāo)222。類似地,識別模塊106作為圖3復(fù)制源302上的應(yīng)用程序304、文件系統(tǒng)306、和/或復(fù)制代理308的一部分可以1)識別(例如,利用應(yīng)用程序或文件系統(tǒng)API)數(shù)據(jù)集334(1)的未使用部分339(1),然后2)將識別這種未使用的存儲空間的信息傳送至復(fù)制目標(biāo)322。在一些實例中,識別模塊106可以將這種可用空間信息通過帶內(nèi)通信協(xié)議(例如圖2中帶內(nèi)通信協(xié)議210)從復(fù)制源傳輸?shù)綇?fù)制目標(biāo)。本文使用的短語“帶內(nèi)通信協(xié)議”可以指代任意類型或形式的通信機(jī)制,該通信機(jī)制既可以傳輸復(fù)制數(shù)據(jù),又可以在相同的通信頻帶內(nèi)傳輸與該復(fù)制數(shù)據(jù)相關(guān)聯(lián)的元數(shù)據(jù)。帶內(nèi)通信協(xié)議的實例包括但不限于VERITASVOLUME REPLICATOR 所使用的 IBC API。在一些實例中,響應(yīng)于復(fù)制目標(biāo)222所發(fā)出的請求,復(fù)制目標(biāo)222可以從復(fù)制源202接收可用空間信息。例如,識別模塊106作為復(fù)制目標(biāo)222的一部分可以1)從復(fù)制源202請求可用空間信息,然后2)從復(fù)制源202接收該可用空間信息。復(fù)制目標(biāo)222可以在各種情況中(包括例如定期地和/或按照需求地)從復(fù)制源202請求這種信息。在一些實例中,從復(fù)制源接收的可用空間信息可以代表一條攔截的最初從復(fù)制源(例如通過瘦供給API)發(fā)送至瘦供給存儲系統(tǒng)的回收請求,該系統(tǒng)為復(fù)制源提供瘦供給存儲。例如,識別模塊106 (例如,作為復(fù)制源202上的復(fù)制代理208的一部分)可以攔截應(yīng)用程序204和/或文件系統(tǒng)206通過API 240向瘦供給存儲系統(tǒng)232發(fā)出的回收請求,以便回收分配的空間235 (I)的未使用部分239 (I)。一旦攔截到該回收請求,識別模塊106可以通過帶內(nèi)通信協(xié)議210將其傳送至復(fù)制目標(biāo)222。然后復(fù)制目標(biāo)222可以使用該攔截的回收請求以識別從復(fù)制源202復(fù)制的數(shù)據(jù)內(nèi)未使用的存儲空間。在一些實例中,從復(fù)制源接收的可用空間信息可以識別在復(fù)制源上執(zhí)行的計算操作所釋放的存儲空間。例如,識別模塊106作為圖3中復(fù)制源302上的應(yīng)用程序304、文件系統(tǒng)306、和/或復(fù)制代理308的一部分可以識別應(yīng)用程序304和/或文件系統(tǒng)306執(zhí)行的計算操作所釋放的存儲空間(例如數(shù)據(jù)集334 (I)的未使用部分339 (I)。然后識別模塊106可以通過帶內(nèi)通信協(xié)議310向復(fù)制目標(biāo)322傳送識別計算操作所釋放的存儲空間(例如,未 使用部分339 (I))的信息。在以上實例中,短語“計算操作”可以指代能夠釋放存儲系統(tǒng)內(nèi)的空間的任意類型或形式的計算操作。這種計算操作的實例包括但不限于磁盤碎片整理操作、文件移除操作等等。這種操作可以由應(yīng)用程序(例如應(yīng)用程序304)、文件系統(tǒng)(例如文件系統(tǒng)306)等執(zhí)行。在另一個實例中,復(fù)制目標(biāo)可以在步驟404中通過以下操作識別復(fù)制數(shù)據(jù)內(nèi)未使用的存儲空間1)中止數(shù)據(jù)復(fù)制,然后2)使用數(shù)據(jù)管理API來識別復(fù)制數(shù)據(jù)內(nèi)未使用的存儲空間。例如,圖I中的復(fù)制模塊104作為圖2中復(fù)制目標(biāo)222的一部分(例如,作為復(fù)制代理228的一部分)可以指令(例如通過帶內(nèi)指示協(xié)議210)復(fù)制源202中止或暫停從復(fù)制源202向復(fù)制目標(biāo)222復(fù)制數(shù)據(jù)。當(dāng)接收到這種指令時,復(fù)制代理208 (如以上詳細(xì)所述,它可以包括圖I的復(fù)制模塊104)可以致使復(fù)制源202上的復(fù)制數(shù)據(jù)進(jìn)入一致狀態(tài)。例如,復(fù)制代理208可以凍結(jié)或中止應(yīng)用程序204和/或文件系統(tǒng)206的操作,從而確保分配給瘦供給存儲系統(tǒng)232內(nèi)的復(fù)制源202的存儲處于一致狀態(tài)。接著,復(fù)制代理208可以(例如,通過帶內(nèi)通信協(xié)議210)從復(fù)制源202向復(fù)制目標(biāo)222發(fā)送表明復(fù)制數(shù)據(jù)(在本實例中,是瘦供給存儲系統(tǒng)232分配給復(fù)制源202的存儲)處于一致狀態(tài)的消息。當(dāng)從復(fù)制源202接收到該消息時,復(fù)制目標(biāo)222可以1)限制實施所有即將進(jìn)行的復(fù)制寫操作,然后2)使用數(shù)據(jù)管理API識別瘦供給存儲系統(tǒng)252上分配的空間255(1)內(nèi)未使用的存儲空間。例如圖I的識別模塊106作為圖2中復(fù)制目標(biāo)222的一部分可以使用文件系統(tǒng)API和/或應(yīng)用程序API來識別瘦供給存儲系統(tǒng)252上分配的空間255 (I)內(nèi)的未使用部分259(1)。當(dāng)回收了該未使用的存儲空間時(采用以下詳述的結(jié)合步驟406和408的方式),復(fù)制目標(biāo)222上的復(fù)制代理228可以指令復(fù)制源202恢復(fù)數(shù)據(jù)復(fù)制。返回到圖4,在步驟406在此描述的系統(tǒng)可以產(chǎn)生回收請求以便從瘦供給存儲系統(tǒng)回收步驟404識別的未使用的存儲空間,該系統(tǒng)為復(fù)制目標(biāo)提供瘦供給儲存。例如,圖I的回收模塊108作為圖2中復(fù)制目標(biāo)222的一部分可以產(chǎn)生回收請求以便從瘦供給存儲系統(tǒng)252回收未使用的存儲空間259(1)。類似地,圖I的回收模塊108作為圖3中復(fù)制模塊322的一部分可以產(chǎn)生回收請求以便從瘦供給存儲系統(tǒng)352回收未使用的存儲空間359(1)。在此描述的系統(tǒng)可以采用各種方式執(zhí)行步驟406。在一個實例中,回收模塊108可以利用瘦供給API (例如圖2和3中的API 240和340)產(chǎn)生回收請求。在步驟408,在此描述的系統(tǒng)可以向瘦供給存儲系統(tǒng)發(fā)出回收請求,以便從瘦供給存儲系統(tǒng)回收未使用的存儲空間。例如,圖I的回收模塊108作為圖2中復(fù)制目標(biāo)222的一部分可以向瘦供給存儲系統(tǒng)252發(fā)出步驟406中產(chǎn)生的回收請求,以便回收未使用的部分259(1)。類似地,圖I的回收模塊108作為圖3中復(fù)制目標(biāo)322的一部分,可以向瘦供給存儲系統(tǒng)352發(fā)出步驟406中產(chǎn)生的回收請求,以便回收未使用的部分359(1)。在此描述的系統(tǒng)可以采用各種方式執(zhí)行步驟408。在一個實例中,回收模塊108可以利用瘦供給API (例如圖2和3中的API 240和340)產(chǎn)生回收請求。當(dāng)完成步驟408時,圖4中的示例性方法400可以結(jié)束。 如上詳細(xì)所述,在此描述的系統(tǒng)和方法可以使復(fù)制目標(biāo)能夠從瘦供給存儲系統(tǒng)回收未使用的存儲空間,該系統(tǒng)為復(fù)制目標(biāo)提供瘦供給存儲。因此,這些系統(tǒng)和方法可以使系統(tǒng)管理員能夠在瘦供給存儲環(huán)境內(nèi)對復(fù)制解決方案進(jìn)行配置,從而實現(xiàn)可能的空間和財政節(jié)約。圖5是一個示例性計算系統(tǒng)510的方框圖,該系統(tǒng)能夠?qū)嵤┰诖苏f明和/或展示的一個或多個實施方案。計算系統(tǒng)510廣義上代表能夠執(zhí)行計算機(jī)可讀指令的任何單處理器或多處理器的計算裝置或系統(tǒng)。計算系統(tǒng)510的多個實例包括但不限于工作站、膝上型計算機(jī)、客戶側(cè)終端、服務(wù)器、分布式計算系統(tǒng)、手持裝置、或任何其他計算系統(tǒng)或裝置。在其最基本的配置中,計算系統(tǒng)510可以包括至少一個處理器514以及一個系統(tǒng)內(nèi)存516。處理器514總體上代表能夠處理數(shù)據(jù)或解釋并執(zhí)行多個指令的任何類型或形式的處理單元。在某些實施方案中,處理器514可以從軟件應(yīng)用程序或模塊中接收指令。這些指令可以使處理器514執(zhí)行在此所說明和/或展示的這些示例性實施方案中的一個或多個的功能。例如,處理器514可以單獨(dú)地或與其他元件相結(jié)合來執(zhí)行和/或作為一種手段來執(zhí)行在此描述的復(fù)制、識別、生成、回收、發(fā)布、接收、發(fā)送、請求、中止、使用以及恢復(fù)步驟中的一個或多個。處理器514還可以執(zhí)行和/或作為一種手段來執(zhí)行在此說明和/或展示的任何其他步驟、方法、或過程。系統(tǒng)內(nèi)存516總體上代表能夠存儲數(shù)據(jù)和/或其他計算機(jī)可讀指令的任何類型或形式的易失性或非易失性存儲裝置或媒質(zhì)。系統(tǒng)內(nèi)存516的多個實例包括(但不限于)隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、閃存、或任何其他適當(dāng)?shù)拇鎯ρb置。盡管未作要求,在某些實施方案中計算系統(tǒng)510可以既包括易失性內(nèi)存單元(例如,像系統(tǒng)內(nèi)存516)又包括非易失性存儲裝置(例如,像以下詳細(xì)說明的主存儲裝置532)。在一個實例中,圖I模塊102中的一個或多個可以載入到系統(tǒng)內(nèi)存516中。在某些實施方案中,除了處理器514和系統(tǒng)內(nèi)存516以外,示例性計算系統(tǒng)510還可以包括一個或多個組件或元件。例如,如圖5所示,計算系統(tǒng)510可以包括內(nèi)存控制器518、輸入/輸出(I/O)控制器520、以及通信接口 522,它們中的每一個可以通過一個通信基礎(chǔ)設(shè)施512相互連接。通信基礎(chǔ)設(shè)施512總體上代表能夠幫助在計算裝置的一個或多個組件之間進(jìn)行通信的任意類型或形式的基礎(chǔ)設(shè)施。通信基礎(chǔ)設(shè)施512的實例包括但不限于通信總線(例如ISA、PCI、PCIe、或類似總線)和網(wǎng)絡(luò)。內(nèi)存控制器518總體上代表在計算系統(tǒng)510的一個或多個組件之間操作內(nèi)存或數(shù)據(jù)或者控制通信的任意類型或形式的裝置。例如。在某些實施方案中,內(nèi)存控制器518可以通過通信基礎(chǔ)設(shè)施512控制處理器514、系統(tǒng)內(nèi)存516以及I/O控制器520之間的通信。在某些實施方案中,內(nèi)存控制器518可以獨(dú)立地或與其他元件相結(jié)合地執(zhí)行和/或作為一種手段執(zhí)行在此描述和/或展示的多個步驟或特征中的一個或多個,例如復(fù)制、識別、生成、回收、發(fā)布、接收、發(fā)送、請求、中止、使用以及恢復(fù)。I/O控制器520總體上代表能夠協(xié)調(diào)和/或控制計算裝置的輸入和輸出功能的任何類型或形式的模塊。例如,在某些實施方案中,I/o控制器520可以控制或協(xié)助計算系統(tǒng)510的一個或多個元件之間的數(shù)據(jù)傳輸,例如處理器514、系統(tǒng)內(nèi)存516、通信接口 522、顯示適配器526、輸入接口 530以及存儲器接口 534。例如,I/O控制器520可以獨(dú)立地或結(jié)合其他元件執(zhí)行和/或作為一種手段執(zhí)行在此描述的復(fù)制、識別、生成、回收、發(fā)布、接收、發(fā)送、請求、中止、使用以及恢復(fù)步驟中的一個或多個。I/O控制器520還可用于執(zhí)行和/或作為 一種手段用于執(zhí)行本披露中提出的其他步驟和特征。通信接口 522廣義地代表能夠協(xié)助示例性計算系統(tǒng)510與一個或多個附加裝置之間進(jìn)行通信的任何類型或形式的通信裝置或適配器。例如,在某些實施方案中,通信接口 522可以協(xié)助計算系統(tǒng)510與包括多個附加的計算系統(tǒng)的私有或公共網(wǎng)絡(luò)之間的通信。通信接口 522的實例包括而不限于有線網(wǎng)絡(luò)接口(例如網(wǎng)絡(luò)接口卡)、無線網(wǎng)絡(luò)接口(例如無線網(wǎng)絡(luò)接口卡)、調(diào)制解調(diào)器、以及任何其他適當(dāng)?shù)慕涌凇T谥辽僖粋€實施方案中,通信接口522可通過到網(wǎng)絡(luò)(如互聯(lián)網(wǎng))的直接鏈接來提供到遠(yuǎn)程服務(wù)器的直接連接。通信接口 522還可以間接地提供這種連接,例如通過局域網(wǎng)(如以太網(wǎng))、個人局域網(wǎng)、電話或纜線網(wǎng)、蜂窩電話連接、衛(wèi)星數(shù)據(jù)連接、或任何其他適當(dāng)?shù)倪B接。在某些實施方案中,通信接口 522還可以代表主機(jī)適配器,該主機(jī)適配器被配置為用于通過外部總線或通信信道協(xié)助計算系統(tǒng)510與一個或多個附加網(wǎng)絡(luò)或存儲裝置之間的通信。主機(jī)適配器的實例包括但不限于SCSI主機(jī)適配器、USB主機(jī)適配器、IEEE 1394主機(jī)適配器、SATA和eSATA主機(jī)適配器、ATA和PATA主機(jī)適配器、光纖通道接口適配器、以太網(wǎng)適配器等。通信接口 522還可以允許計算系統(tǒng)510參與分布式計算或遠(yuǎn)程計算。例如,通信接口 522可以從遠(yuǎn)程裝置接收指令或向遠(yuǎn)程裝置發(fā)送指令用于執(zhí)行。在某些實施方案中,通信接口 522可以獨(dú)立地或與其他元件相結(jié)合地執(zhí)行和/或作為一種手段執(zhí)行在此描述的復(fù)制、識別、生成、回收、發(fā)布、接收、發(fā)送、請求、中止、使用以及恢復(fù)步驟中的一個或多個。通信接口 522還可以用于執(zhí)行和/或作為一種手段用于執(zhí)行本披露中提出的其他步驟和特征。如圖5所示,計算系統(tǒng)510還可以包括通過顯示適配器526連接至通信基礎(chǔ)設(shè)施512的至少一個顯示裝置524。顯示裝置524總體上代表能夠可視地呈現(xiàn)顯示適配器526所轉(zhuǎn)發(fā)的顯示信息的任意類型或形式的裝置。類似地,顯示適配器526總體上代表任意類型或形式的裝置,這些裝置被配置用于從通信基礎(chǔ)設(shè)施512 (或從本領(lǐng)域已知的幀緩沖器)轉(zhuǎn)發(fā)圖形、文本以及其他數(shù)據(jù)以便顯示在顯示裝置524上。如圖5所示,示例性計算系統(tǒng)510還可以包括通過輸入接口 530連接至通信基礎(chǔ)設(shè)施512的至少一個輸入裝置528。輸入裝置528總體上代表能夠向示例性計算系統(tǒng)510提供計算機(jī)或人員生成的輸入的任意類型或形式的輸入裝置。輸入裝置528的實例包括但不限于鍵盤、定位裝置、語音識別裝置或任意其他輸入裝置。在至少一個實施方案中,輸入裝置528可以獨(dú)立地或結(jié)合其他元件執(zhí)行和/或作為一種手段執(zhí)行在此描述的復(fù)制、識別、生成、回收、發(fā)布、接收、發(fā)送、請求、中止、使用以及恢復(fù)步驟中的一個或多個。輸入裝置528還可以用于執(zhí)行和/或作為一種手段來執(zhí)行本披露中提出的其他步驟和特征。如圖5所示,示例性計算系統(tǒng)510還包括通過存儲接口 534連接至通信基礎(chǔ)設(shè)施512的主存儲裝置532和備份存儲裝置533。存儲裝置532和533總體上代表能夠存儲數(shù)據(jù)和/或其他計算機(jī)可讀指令的任意類型或形式的儲存裝置或媒質(zhì)。例如,存儲裝置532與533可以是磁盤驅(qū)動器(例如,所謂的硬盤驅(qū)動器)、軟盤驅(qū)動器、磁帶驅(qū)動器、光盤驅(qū)動器、閃存驅(qū)動器、或者類似裝置。存儲接口 534總體上代表用于在存儲裝置532和533以及計算系統(tǒng)510的其他組件之間傳輸數(shù)據(jù)的任意類型或形式的接口或裝置。在一個實例中,圖I的數(shù)據(jù)庫120可以存儲在主存儲裝置532中。
在某些實施方案中,存儲裝置532和533可以被配置為用于讀取自和/或?qū)懭氲娇梢苿哟鎯卧?,該可移動存儲單元被配置為用于存儲計算機(jī)軟件、數(shù)據(jù)、或其他計算機(jī)可讀信息。適當(dāng)?shù)目梢苿哟鎯卧膶嵗ǖ幌抻谲洷P、磁帶、光盤、閃存裝置如等等。存儲裝置532和533還可以包括其他類似的結(jié)構(gòu)或裝置,以允許計算機(jī)軟件、數(shù)據(jù)或其他計算機(jī)可讀指令下載到計算系統(tǒng)510中。例如,存儲裝置532和533可以被配置用于讀或?qū)戃浖?、?shù)據(jù)或其他計算機(jī)可讀信息。存儲裝置532和533還可以作為計算系統(tǒng)510的一部分或可以是通過其他接口系統(tǒng)訪問的一個分離的裝置。在某些實施方案中,存儲裝置532和533可以用于例如獨(dú)立地或結(jié)合其他元件執(zhí)行和/或作為一種手段執(zhí)行在此描述的復(fù)制、識別、生成、回收、發(fā)布、接收、發(fā)送、請求、中止、使用以及恢復(fù)步驟中的一個或多個。存儲裝置532和533還可以被用于執(zhí)行和/或作為一種手段用于執(zhí)行本披露提出的其他步驟和特征。很多其他裝置或子系統(tǒng)可以連接至計算系統(tǒng)510上。相反地,為了實施在此描述和/展示的實施方案,不需要圖5中所示的所有組件和裝置。以上提到的這些裝置和子系統(tǒng)還能夠以不同于圖5中所示的方式進(jìn)行相互連接。計算系統(tǒng)510還可使用任何數(shù)目的軟件、固件、和/或硬件的配置。例如,在此披露的示例性實施方案中的一個或多個可以被編碼為一種計算機(jī)可讀媒質(zhì)上的計算機(jī)程序(也稱為計算機(jī)軟件、軟件應(yīng)用程序、計算機(jī)可讀指令、或計算機(jī)控制邏輯)。短語“計算機(jī)可讀媒質(zhì)”總體上是指能夠存儲或攜帶計算機(jī)可讀指令的任何形式的裝置、載體、或媒質(zhì)。計算機(jī)可讀媒質(zhì)的實例包括但不限于傳輸型媒質(zhì),如載波,以及物理媒質(zhì),如磁性存儲媒質(zhì)(例如,硬盤驅(qū)動器和軟盤驅(qū)動器)、光存儲媒質(zhì)(例如,CD-ROM或DVD-ROM)、電子存儲媒質(zhì)(例如,固態(tài)驅(qū)動器和閃存媒質(zhì))、以及其他分布式系統(tǒng)。包含計算機(jī)程序的計算機(jī)可讀媒質(zhì)可以載入到計算系統(tǒng)510中。存儲在計算機(jī)可讀媒質(zhì)上的所有或部分計算機(jī)程序然后可以存儲在系統(tǒng)內(nèi)存516和/或存儲裝置532和533的不同部分上。當(dāng)由處理器514執(zhí)行時,載入到計算系統(tǒng)510中的計算機(jī)程序可以使處理器514執(zhí)行和/或作為一種手段執(zhí)行在此描述和/或展示的示例性實施方案中的一個或多個的功能。額外地或可替代地,在此所說明和/或展示的示例性實施方案中的一個或多個可以在固件和/或硬件中實施。例如計算系統(tǒng)510可被配置用作一種專用集成電路(ASIC),它被適配為用于實施在此所披露的這些示例性實施方案中的一個或多個。圖6是示例性網(wǎng)絡(luò)結(jié)構(gòu)體系600的方框圖,其中客戶端系統(tǒng)610、620和630以及服務(wù)器640和645可以連接至網(wǎng)絡(luò)650??蛻舳讼到y(tǒng)610、620和630總體上代表任意類型或形式的計算裝置或系統(tǒng),例如圖5中的示例性計算系統(tǒng)510。類似地,服務(wù)器640和645總體上代表被配置為用于提供不同的數(shù)據(jù)庫服務(wù)和/或運(yùn)行某些軟件應(yīng)用程序的計算裝置或系統(tǒng),如應(yīng)用程序服務(wù)器或數(shù)據(jù)庫服務(wù)器。網(wǎng)絡(luò)650總體上代表任何電信或計算機(jī)網(wǎng)絡(luò),例如它包括內(nèi)部網(wǎng)、廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)、個人區(qū)域網(wǎng)(PAN)、或互聯(lián)網(wǎng)。在一個實例中,客戶端系統(tǒng)610、620和/或630和/或服務(wù)器640和/或645可以包括圖I的模塊102。如圖6所示,一個或多個存儲裝置660(1)-(N)可以直接附接至服務(wù)器640。類似地,一個或多個存儲裝置670 (I)-(N)可以直接附接至服務(wù)器645。存儲裝置660 (I) - (N)和存儲裝置670 (I)-(N)總體上代表能夠存儲數(shù)據(jù)和/或其他計算機(jī)可讀指令的任意類型或形式的存儲裝置或媒質(zhì)。在某些實施方案中,存儲裝置660 (I)-(N)和存儲裝置670 (I)-(N) 可代表被配置為用于使用不同協(xié)議(例如NFS、SMB、或CIFS)來與服務(wù)器640和645進(jìn)行通信的網(wǎng)絡(luò)附聯(lián)存儲(NAS )裝置。服務(wù)器640和645還可以連接至存儲區(qū)域網(wǎng)絡(luò)(SAN)結(jié)構(gòu)680。SAN結(jié)構(gòu)680總體上代表能夠協(xié)助多個存儲裝置之間通信的任意類型或形式的計算機(jī)網(wǎng)絡(luò)或體系結(jié)構(gòu)。SAN結(jié)構(gòu)680可以協(xié)助服務(wù)器640和645與多個存儲裝置690 (I)-(N)和/或智能存儲器陣列695之間的通信。SAN結(jié)構(gòu)680還可以通過網(wǎng)絡(luò)650和服務(wù)器640和645協(xié)助客戶端系統(tǒng)610,620和630與存儲裝置690 (I)-(N)和/或智能存儲器陣列695之間的通信,其方式為裝置690 (I)-(N)以及陣列695對客戶端系統(tǒng)610、620和630呈現(xiàn)為本地附接的裝置。與存儲裝置660 (I)-(N)和存儲裝置670 (I)-(N) —樣,存儲裝置690 (I) - (N)和存儲陣列695總體上代表能夠存儲數(shù)據(jù)和/或其他計算機(jī)可讀指令的任意類型或形式的存儲裝置或媒質(zhì)。在某些實施方案中,參考圖5的示例性計算系統(tǒng)510,通信接口(例如,圖5中的通信接口 522)可用于在每一個客戶端系統(tǒng)610、620和630以及網(wǎng)絡(luò)650之間提供連接性。客戶端系統(tǒng)610、620和630能夠利用例如網(wǎng)絡(luò)瀏覽器或其他客戶端軟件來訪問服務(wù)器640和645上的信息。這種軟件可以允許客戶端系統(tǒng)610、620和630訪問由服務(wù)器640、服務(wù)器645、存儲裝置660 (I) - (N)、存儲裝置670 (I) - (N)、存儲裝置690 (I) - (N)或智能存儲器陣列695管理的數(shù)據(jù)。盡管圖6描繪了使用網(wǎng)絡(luò)(例如互聯(lián)網(wǎng))交換數(shù)據(jù),但在此描述和/或展示的實施方案不限于互聯(lián)網(wǎng)或任意具體的基于網(wǎng)絡(luò)的環(huán)境。在至少一個實施方案中,在此披露的示例性實施方案中的一個或多個的全部或一部分可被編碼為計算機(jī)程序并且加載到服務(wù)器640、服務(wù)器645、存儲裝置660 (I)-(N)、存儲裝置670 (I)-(N)、存儲裝置690 (I)-(N)、智能存儲陣列695、或它們中的任意組合上并由其執(zhí)行。在此披露的多個示例性實施方案的一個或多個的全部或一部分還可以被編碼為計算機(jī)程序,存儲在服務(wù)器640中,由服務(wù)器645運(yùn)行,并在網(wǎng)絡(luò)650上分發(fā)給客戶端系統(tǒng)610,620和630。因此,網(wǎng)絡(luò)體系架構(gòu)600可以獨(dú)立地或與其他元件相結(jié)合地執(zhí)行和/或作為一種手段執(zhí)行在此描述和/或展示的多個步驟或特征中的一個或多個,例如復(fù)制、識別、生成、回收、發(fā)布、接收、發(fā)送、請求、中止、使用以及恢復(fù)步驟中的一個或多個。網(wǎng)絡(luò)體系結(jié)構(gòu)600還可以用于執(zhí)行和/或作為一種手段來執(zhí)行本披露中提出的其他步驟和特征。
如以上所述,計算系統(tǒng)510和/或網(wǎng)絡(luò)體系結(jié)構(gòu)600的一個或者多個部件可以單獨(dú)地亦或與其他元件相結(jié)合地執(zhí)行和/或作為一種手段來執(zhí)行使復(fù)制目標(biāo)能夠回收瘦供給存儲系統(tǒng)上未使存儲空間的示例性方法的一個或多個步驟。在一個實施方案中,這種方法可以包括1)從復(fù)制源向復(fù)制目標(biāo)復(fù)制數(shù)據(jù),2)識別復(fù)制數(shù)據(jù)中未使用的存儲空間,3)產(chǎn)生一條回收請求以便從瘦供給存儲系統(tǒng)回收未使用的存儲空間,該系統(tǒng)為復(fù)制目標(biāo)提供瘦供給存儲,然后4)向該瘦供給存儲系統(tǒng)發(fā)布該回收請求以便從該瘦供給存儲系統(tǒng)回收未使用的存儲空間。在一些實例中,從復(fù)制源向復(fù)制目標(biāo)復(fù)制數(shù)據(jù)可以包括利用基于塊和/或基于文件的復(fù)制技術(shù)來復(fù)制數(shù)據(jù)。另外,復(fù)制源可以表示服務(wù)器計算裝置并且復(fù)制目標(biāo)可以表示客戶端計算裝置。在一個實例中,識別復(fù)制數(shù)據(jù)內(nèi)未使用的存儲空間可以包括從復(fù)制源接收識別未使用的存儲空間的信息。在一些實例中,該信息可以包括一條攔截的最初從復(fù)制源發(fā)送至瘦供給存儲系統(tǒng)的回收請求,該系統(tǒng)為復(fù)制源提供瘦供給存儲。在其他實例中,該信息可以識別在復(fù)制源上執(zhí)行的計算操作所釋放的存儲空間。 在一些實施方案中,從復(fù)制源接收信息可以包括通過帶內(nèi)通信協(xié)議接收信息。從復(fù)制源接收信息還可以包括1)從復(fù)制源請求信息,然后2)響應(yīng)于該請求,從復(fù)制源接收該信息。在一些實例中,從復(fù)制源請求信息可以包括定期地和/或按照需求地從復(fù)制源請求信息。在一個實例中,識別復(fù)制數(shù)據(jù)內(nèi)未使用的存儲空間可以包括I)中止數(shù)據(jù)復(fù)制,然后2)使用數(shù)據(jù)管理API來識別復(fù)制目標(biāo)上的數(shù)據(jù)的副本內(nèi)的未使用的存儲空間。在此實例中,中止數(shù)據(jù)復(fù)制可以包括1)使復(fù)制源上的復(fù)制數(shù)據(jù)進(jìn)入一致狀態(tài),然后2)從復(fù)制源接收表示該復(fù)制數(shù)據(jù)處于一致狀態(tài)的信息。在此實例中,該方法還可以包括在發(fā)出回收請求時恢復(fù)數(shù)據(jù)復(fù)制。該數(shù)據(jù)管理API可以包括文件系統(tǒng)API和/或應(yīng)用程序API。雖然以上披露使用了多個具體的框圖、流程圖、以及實例闡明了不同的實施方案,在此說明和/或展示的每個框圖部件、流程圖步驟、操作、和/或部件都可以單獨(dú)地和/或共同地使用一個大范圍的硬件、軟件、或者固件(或者它們的任何組合)配置來實施。另外,在其他部件之中所包括的任何部件的披露都應(yīng)該看作本質(zhì)上是示例性的,因為可以實施許多其他的體系結(jié)構(gòu)來達(dá)到同樣的功能。在一些實例中,圖I中示例性系統(tǒng)100的全部或一部分可以表示云計算的或基于網(wǎng)絡(luò)的環(huán)境的多個部分。云計算環(huán)境可以通過互聯(lián)網(wǎng)提供不同的服務(wù)和應(yīng)用程序。這些基于云的服務(wù)(例如,軟件即服務(wù)、平臺即服務(wù)、基礎(chǔ)設(shè)施即服務(wù)等等)可以通過網(wǎng)絡(luò)瀏覽器或其他的遠(yuǎn)程接口進(jìn)行訪問。在此所述的不同功能可以通過遠(yuǎn)程桌面環(huán)境或任何其他的基于云的計算環(huán)境來提供。在此說明和/或展示的進(jìn)程的參數(shù)以及步驟的順序僅僅是以舉例的方式給出并且可以按希望來更改。例如,雖然在此展示和/或說明的這些步驟可以按照一個具體的順序來示出或討論,但這些步驟并非必須按照所展示或者所討論的順序來執(zhí)行。在此說明和/或展示的不同的示例性方法還可以省略在此說明或展示的一個或者多個步驟或者還可以包括除所披露的那些之外的額外步驟。雖然不同的實施方案在此已經(jīng)在全功能性計算系統(tǒng)的背景下進(jìn)行了說明和/或展示,這些示例性實施方案中的一個或者多個能夠以多種形式作為一個程序產(chǎn)品來分發(fā),而無論實際用于進(jìn)行該分發(fā)的計算機(jī)可讀媒質(zhì)的具體形式如何。在此披露的這些實施方案還可以通過使用執(zhí)行一些特定任務(wù)的軟件模塊來實施。這些軟件模塊可以包括腳本、成批文件、或者其他可執(zhí)行文件,它們可以存儲在一種計算機(jī)可讀的存儲媒質(zhì)上或者在一種計算系統(tǒng)中。在一些實施方案中,這些軟件模塊可以將一個計算系統(tǒng)配置用于實施在此披露的一個或者多個示例性的實施方案。另外,在此所述的這些模塊中的一個或多個可以將數(shù)據(jù)、物理裝置、和/或物理裝置的表示從一種形式轉(zhuǎn)換到另一種形式。例如,通過在從瘦供給存儲系統(tǒng)252和/或353回收未使用的存儲空間(例如,未使用的部分259 (I)和/或359(1),圖I中的回收模塊108可以轉(zhuǎn)變圖2和3中的瘦供給存儲系統(tǒng)252和/或353的特性或性質(zhì)。已經(jīng)提供了以上說明用于使本領(lǐng)域的其他普通技術(shù)人員能夠最好地使用在此披露的這些示例性實施方案的不同方面。這種示例性說明并非旨在是窮盡性的或者被限制在所披露的任何準(zhǔn)確的形式上。許多修改與變更都是可能的而不背離本披露的精神與范圍。 應(yīng)該認(rèn)為在此披露的這些實施方案在所有方面都是展示性的而非限制性的。應(yīng)該參照所附權(quán)利要求及其等效物來確定本披露的范圍。除非另外說明,如在本說明書與權(quán)利要求中所使用的,術(shù)語“一種”或“一個”將被解釋為“至少一個”的意思。此外,為便于使用,如在本說明書以及權(quán)利要求中所使用的文字“包含”和“具有”是可以互換的并且具有與文字“包括”相同的含義。
權(quán)利要求
1.一種用于使復(fù)制目標(biāo)能夠回收瘦供給存儲系統(tǒng)上未使用的存儲空間的計算機(jī)實現(xiàn)方法,該方法的至少一部分由包括至少一個處理器的計算裝置來執(zhí)行,該方法包括 從復(fù)制源向復(fù)制目標(biāo)復(fù)制數(shù)據(jù); 識別復(fù)制數(shù)據(jù)內(nèi)未使用的存儲空間; 產(chǎn)生一條回收請求以便從瘦供給存儲系統(tǒng)回收未使用的存儲空間,該系統(tǒng)為該復(fù)制目標(biāo)提供瘦供給存儲; 向該瘦供給存儲系統(tǒng)發(fā)出該回收請求,以便從該瘦供給存儲系統(tǒng)回收未使用的存儲空間。
2.如權(quán)利要求I所述的方法,其中從該復(fù)制源向該復(fù)制目標(biāo)復(fù)制數(shù)據(jù)包括 利用基于塊的復(fù)制技術(shù)來復(fù)制數(shù)據(jù); 利用基于文件的復(fù)制技術(shù)來復(fù)制數(shù)據(jù)。
3.如權(quán)利要求I所述的方法,其中識別該復(fù)制數(shù)據(jù)內(nèi)未使用的存儲空間包括從該復(fù)制源接收識別該未使用的存儲空間的信息。
4.如權(quán)利要求3所述的方法,其中該信息包括一條攔截的最初從該復(fù)制源向瘦供給存儲系統(tǒng)發(fā)送的回收請求,該系統(tǒng)為該復(fù)制源提供瘦供給存儲。
5.如權(quán)利要求3所述的方法,其中該信息識別由在該復(fù)制源上執(zhí)行的計算操作所釋放的存儲空間。
6.如權(quán)利要求3所述的方法,其中從該復(fù)制源接收信息包括通過帶內(nèi)通信協(xié)議來接收該信息。
7.如權(quán)利要求3所述的方法,其中從該復(fù)制源接收信息包括 從該復(fù)制源請求該信息; 響應(yīng)于該請求從該復(fù)制源接收該信息。
8.如權(quán)利要求7所述的方法,其中從該復(fù)制源請求該信息包括以下操作中的至少一項 定期地從該復(fù)制源請求該信息; 按照需要從該復(fù)制源請求該信息。
9.如權(quán)利要求I所述的方法,其中識別該復(fù)制數(shù)據(jù)內(nèi)未使用的存儲空間包括 中止數(shù)據(jù)復(fù)制; 利用數(shù)據(jù)管理API來識別該復(fù)制目標(biāo)上的數(shù)據(jù)的副本內(nèi)的未使用的存儲空間。
10.如權(quán)利要求9所述的方法,其中中止數(shù)據(jù)復(fù)制包括 使該復(fù)制源上的復(fù)制數(shù)據(jù)進(jìn)入一致狀態(tài); 從該復(fù)制源接收表明該復(fù)制數(shù)據(jù)處于一致狀態(tài)的消息。
11.如權(quán)利要求9所述的方法,其中該數(shù)據(jù)管理API包括以下內(nèi)容中的至少一項 文件系統(tǒng)API ; 應(yīng)用程序API。
12.如權(quán)利要求9所述的方法,進(jìn)一步包括在發(fā)出該回收請求時恢復(fù)數(shù)據(jù)復(fù)制。
13.如權(quán)利要求I所述的方法,其中 該復(fù)制源包括服務(wù)器計算裝置; 該復(fù)制目標(biāo)包括客戶端計算裝置。
14.一種用于使復(fù)制目標(biāo)能夠回收瘦供給存儲系統(tǒng)上的未使用的存儲空間的系統(tǒng),該系統(tǒng)包括 一個復(fù)制模塊,該模塊被編程為從復(fù)制源向復(fù)制目標(biāo)復(fù)制數(shù)據(jù); 一個識別模塊,該模塊被編程為識別該復(fù)制數(shù)據(jù)內(nèi)的未使用的存儲空間; 一個回收模塊,該模塊被編程為 產(chǎn)生一條回收請求以便從瘦供給存儲系統(tǒng)回收未使用的存儲空間; 向該瘦供給存儲系統(tǒng)發(fā)出該回收請求以便從該瘦供給存儲系統(tǒng)回收未使用的存儲空間; 至少一個處理器,該處理器被配置用于執(zhí)行該復(fù)制模塊、該識別模塊以及該回收模塊。
15.如權(quán)利要求14所述的系統(tǒng),其中該識別模塊通過識別從該復(fù)制源接收的識別該未使用的存儲空間的信息來識別該復(fù)制數(shù)據(jù)內(nèi)未使用的存儲空間。
16.如權(quán)利要求15所述的系統(tǒng),其中該信息包括一條攔截的最初從該復(fù)制源向瘦供給存儲系統(tǒng)發(fā)送的回收請求,該系統(tǒng)為該復(fù)制源提供瘦供給存儲。
17.如權(quán)利要求15所述的系統(tǒng),其中該信息識別由在該復(fù)制源上執(zhí)行的計算操作所釋放的存儲空間。
18.如權(quán)利要求15所述的系統(tǒng),其中該回收模塊進(jìn)一步被編程用于 從該復(fù)制源請求該信息; 響應(yīng)于該請求從該復(fù)制源接收該信息。
19.如權(quán)利要求14所述的系統(tǒng),其中 該回收模塊進(jìn)一步被編程用于中止數(shù)據(jù)復(fù)制; 該識別模塊通過利用數(shù)據(jù)管理API來識別該復(fù)制數(shù)據(jù)內(nèi)的未使用的存儲空間,以識別該復(fù)制目標(biāo)上的數(shù)據(jù)的副本內(nèi)的未使用的存儲空間。
20.一種計算機(jī)可讀存儲媒質(zhì),包括計算機(jī)可執(zhí)行指令,當(dāng)由計算裝置的至少一個處理器執(zhí)行時,這些指令使得該計算裝置 從復(fù)制源向復(fù)制目標(biāo)復(fù)制數(shù)據(jù); 識別該復(fù)制數(shù)據(jù)內(nèi)的未使用的存儲空間; 產(chǎn)生一 條回收請求以便從瘦供給存儲系統(tǒng)回收未使用的存儲空間,該系統(tǒng)為該復(fù)制目標(biāo)提供瘦供給存儲; 向該瘦供給存儲系統(tǒng)發(fā)出該回收請求以便從該瘦供給存儲系統(tǒng)回收未使用的存儲空間。
全文摘要
一種使復(fù)制目標(biāo)能夠回收瘦供給存儲系統(tǒng)上的未使用的存儲空間的計算機(jī)實現(xiàn)方法可以包括1)從復(fù)制源向復(fù)制目標(biāo)復(fù)制數(shù)據(jù);2)識別復(fù)制數(shù)據(jù)中未使用的存儲空間;3)產(chǎn)生一條回收請求以便從瘦供給存儲系統(tǒng)回收未使用的存儲空間,該系統(tǒng)為復(fù)制目標(biāo)提供瘦供給存儲;然后4)向該瘦供給存儲系統(tǒng)發(fā)布該回收請求以便從該瘦供給存儲系統(tǒng)回收未使用的存儲空間。在此還披露了不同的相關(guān)系統(tǒng)、方法、以及經(jīng)過配置的計算機(jī)可讀媒質(zhì)。
文檔編號G06F3/06GK102782639SQ201080063625
公開日2012年11月14日 申請日期2010年12月15日 優(yōu)先權(quán)日2010年2月24日
發(fā)明者N·潘德哈克, S·V·馬拉施, V·塔塔娃提 申請人:賽門鐵克公司