本文討論的實(shí)施方式涉及在存儲(chǔ)網(wǎng)絡(luò)中的存儲(chǔ)的管理。
背景
個(gè)人數(shù)據(jù)(例如照片、視頻、文檔等)的量增加,使得用于存儲(chǔ)個(gè)人數(shù)據(jù)的不同方法和系統(tǒng)也增加。然而,存儲(chǔ)個(gè)人數(shù)據(jù)的很多方法和系統(tǒng)可提供其它挑戰(zhàn),例如是麻煩的和耗時(shí)的,提供不充足的冗余,且不允許在不同設(shè)備上的數(shù)據(jù)的容易可訪問(wèn)性連同其它缺點(diǎn)。
在本文主張的主題不限于解決任何缺點(diǎn)的或只在環(huán)境例如上面所述的環(huán)境中操作的實(shí)施方式。更確切地,這個(gè)背景只被提供來(lái)說(shuō)明一個(gè)示例技術(shù)領(lǐng)域,其中本文所述的一些實(shí)施方式可被實(shí)踐。
概述
示例實(shí)施方式包括可包括為與存儲(chǔ)網(wǎng)絡(luò)相關(guān)的網(wǎng)絡(luò)數(shù)據(jù)的存儲(chǔ)而分配的第一部分的存儲(chǔ)塊。存儲(chǔ)網(wǎng)絡(luò)可包括存儲(chǔ)塊和一個(gè)或多個(gè)其它存儲(chǔ)塊。存儲(chǔ)塊還可包括為本地?cái)?shù)據(jù)的存儲(chǔ)而分配的第二部分。本地?cái)?shù)據(jù)可與包括存儲(chǔ)塊的設(shè)備的一個(gè)或多個(gè)程序相關(guān)。此外,存儲(chǔ)塊可包括第三部分作為存儲(chǔ)塊的自由空間。第三部分可通過(guò)對(duì)存儲(chǔ)在第一部分上的網(wǎng)絡(luò)數(shù)據(jù)的量做出的調(diào)節(jié)而近似地被維持在目標(biāo)大小處。
實(shí)施方式的目的和優(yōu)點(diǎn)將被認(rèn)識(shí)到并至少由在權(quán)利要求中特別指出的元件、特征和組合實(shí)現(xiàn)。
應(yīng)理解,前述一般描述和下面的詳細(xì)描述都是示例性的和解釋性的且并不限制本發(fā)明,如所主張的。
附圖的簡(jiǎn)要說(shuō)明
將通過(guò)附圖的使用以額外的具體性和細(xì)節(jié)描述和解釋示例實(shí)施方式,其中:
圖1示出示例存儲(chǔ)系統(tǒng)的方框圖;
圖2A-2C示出可在圖1的存儲(chǔ)系統(tǒng)中實(shí)現(xiàn)的示例所分配的存儲(chǔ)塊;
圖3是管理在存儲(chǔ)塊上的存儲(chǔ)分配的示例方法的流程圖;以及
圖4是都根據(jù)本文所述的至少一個(gè)實(shí)施方式的管理在存儲(chǔ)塊上的存儲(chǔ)的示例方法的流程圖。
一些示例實(shí)施方式的描述
本文所述的一些實(shí)施方式涉及在移動(dòng)存儲(chǔ)系統(tǒng)上的數(shù)據(jù)的存儲(chǔ)的管理。示例實(shí)施方式包括包含一個(gè)或多個(gè)設(shè)備的存儲(chǔ)網(wǎng)絡(luò),這些設(shè)備包括一個(gè)或多個(gè)存儲(chǔ)代理和一個(gè)或多個(gè)存儲(chǔ)塊。存儲(chǔ)網(wǎng)絡(luò)可包括在本公開(kāi)中可被稱為存儲(chǔ)網(wǎng)絡(luò)管理器的管理服務(wù)。存儲(chǔ)代理可配置成管理在存儲(chǔ)塊之間的數(shù)據(jù)的合作存儲(chǔ)。存儲(chǔ)網(wǎng)絡(luò)管理器可配置成協(xié)調(diào)通過(guò)一個(gè)或多個(gè)存儲(chǔ)代理的行動(dòng)以及在存儲(chǔ)塊當(dāng)中的存儲(chǔ)網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)的存儲(chǔ)。與存儲(chǔ)網(wǎng)絡(luò)相關(guān)的數(shù)據(jù)可被稱為“網(wǎng)絡(luò)數(shù)據(jù)”,并可包括數(shù)據(jù)文件和數(shù)據(jù)對(duì)象以及與數(shù)據(jù)文件和數(shù)據(jù)對(duì)象相關(guān)的元數(shù)據(jù)。在一些實(shí)施方式中,網(wǎng)絡(luò)數(shù)據(jù)可包括存儲(chǔ)在存儲(chǔ)網(wǎng)絡(luò)中的數(shù)據(jù)的目錄,其在一些實(shí)例中可以是存儲(chǔ)在存儲(chǔ)網(wǎng)絡(luò)中的所有數(shù)據(jù)的目錄。
一個(gè)或多個(gè)存儲(chǔ)塊可包括為了網(wǎng)絡(luò)數(shù)據(jù)的存儲(chǔ)而分配的第一部分和為本地?cái)?shù)據(jù)分配的第二部分。本地?cái)?shù)據(jù)可以是可由存儲(chǔ)塊可被包括在其中的設(shè)備的一個(gè)或多個(gè)程序使用和/或管理的數(shù)據(jù)。此外,一個(gè)或多個(gè)存儲(chǔ)塊可包括被分配為自由空間的第三部分。第三部分可具有目標(biāo)大小,使得期望量的自由空間可被維持在存儲(chǔ)塊上。如下所述,可調(diào)節(jié)存儲(chǔ)在第一部分上的存儲(chǔ)網(wǎng)絡(luò)數(shù)據(jù)的量,使得第三部分的實(shí)際大小等于或近似等于目標(biāo)大小。
將參考附圖解釋本公開(kāi)的實(shí)施方式。
圖1示出根據(jù)本公開(kāi)的至少一個(gè)實(shí)施方式配置的示例存儲(chǔ)系統(tǒng)100的方框圖。存儲(chǔ)系統(tǒng)100可包括存儲(chǔ)網(wǎng)絡(luò)102,其包括存儲(chǔ)代理(SA)104a-104c。雖然存儲(chǔ)系統(tǒng)100被示為包括具有被包括在其中的三個(gè)不同的存儲(chǔ)代理104的單個(gè)存儲(chǔ)網(wǎng)絡(luò)102,系統(tǒng)100可包括任何數(shù)量的存儲(chǔ)網(wǎng)絡(luò)102,每個(gè)可包括任何數(shù)量的存儲(chǔ)代理104。
在一些實(shí)施方式中,存儲(chǔ)系統(tǒng)100可配置成存儲(chǔ)、組織和管理數(shù)據(jù)文件,例如照片、視頻、文檔等。在一些實(shí)施方式中,數(shù)據(jù)文件可被包括在數(shù)據(jù)對(duì)象中,數(shù)據(jù)對(duì)象還可包括可提供關(guān)于數(shù)據(jù)文件的信息的元數(shù)據(jù)。在本公開(kāi)中的術(shù)語(yǔ)“數(shù)據(jù)”可以指可由存儲(chǔ)代理104存儲(chǔ)并可包括一個(gè)或多個(gè)數(shù)據(jù)對(duì)象、數(shù)據(jù)文件、元數(shù)據(jù)或其任何組合的任何適當(dāng)信息。
此外,術(shù)語(yǔ)“網(wǎng)絡(luò)數(shù)據(jù)”可以指可由存儲(chǔ)網(wǎng)絡(luò)102的多于一個(gè)存儲(chǔ)代理104共享、存儲(chǔ)在存儲(chǔ)網(wǎng)絡(luò)102的多于一個(gè)存儲(chǔ)代理104上和/或在存儲(chǔ)網(wǎng)絡(luò)102的多于一個(gè)存儲(chǔ)代理104之間同步的任何數(shù)據(jù)。例如,網(wǎng)絡(luò)數(shù)據(jù)可包括數(shù)據(jù)文件、元數(shù)據(jù)、數(shù)據(jù)對(duì)象或其它數(shù)據(jù)如數(shù)據(jù)對(duì)象根和樹(shù)結(jié)構(gòu)信息、存儲(chǔ)代理狀態(tài)信息(在下面更詳細(xì)地解釋)、數(shù)字版權(quán)管理(DRM)許可信息(在下面更詳細(xì)地解釋)、共享票證信息(在下面更詳細(xì)地解釋)、任何其它適當(dāng)?shù)男畔⒒蚱淙魏谓M合。
存儲(chǔ)系統(tǒng)100可配置成以可減小用戶所需的輸入的量的自動(dòng)化方式組織并管理存儲(chǔ)在與存儲(chǔ)代理104a-104c相關(guān)的存儲(chǔ)塊110中的數(shù)據(jù)。因此,存儲(chǔ)系統(tǒng)100可便于由存儲(chǔ)網(wǎng)絡(luò)102內(nèi)的存儲(chǔ)塊110存儲(chǔ)的數(shù)據(jù)的組織和對(duì)該數(shù)據(jù)的訪問(wèn)。
存儲(chǔ)代理104每個(gè)可與處理器150、存儲(chǔ)器152和存儲(chǔ)塊110相關(guān)。例如,在所示實(shí)施方式中,存儲(chǔ)代理104a可包括處理器150a、存儲(chǔ)器152a和存儲(chǔ)塊110a;存儲(chǔ)代理104b可包括處理器150b、存儲(chǔ)器152b和存儲(chǔ)塊110b;以及存儲(chǔ)代理104c可包括處理器150c、存儲(chǔ)器152c和存儲(chǔ)塊110c。
處理器150可包括例如微處理器、微控制器、數(shù)字信號(hào)處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門陣列(FPGA)或配置成解釋和/或執(zhí)行程序指令和/或處理數(shù)據(jù)的任何其它數(shù)字或模擬電路。在一些實(shí)施方式中,處理器150可解釋和/或執(zhí)行程序指令和/或處理存儲(chǔ)在它們相關(guān)的存儲(chǔ)器152和/或一個(gè)或多個(gè)存儲(chǔ)塊110中的數(shù)據(jù)。
存儲(chǔ)器152可包括配置成在一段時(shí)間期間保留程序指令和/或數(shù)據(jù)的任何適當(dāng)?shù)挠?jì)算機(jī)可讀介質(zhì)。作為例子而不是限制,這樣的計(jì)算機(jī)可讀介質(zhì)可包括有形計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、電可擦除可編程只讀存儲(chǔ)器(EEPROM)、光盤只讀存儲(chǔ)器(CD-ROM)或其它光盤存儲(chǔ)器、磁盤存儲(chǔ)器或其它磁性存儲(chǔ)設(shè)備、閃存設(shè)備(例如固態(tài)存儲(chǔ)器設(shè)備)、專用分子序列(例如DNA或RNA)或可用于攜帶或存儲(chǔ)以計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)的形式的期望程序代碼并可由處理器150訪問(wèn)的任何其它存儲(chǔ)介質(zhì)。上述項(xiàng)的組合也可被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。計(jì)算機(jī)可執(zhí)行指令可包括例如使通用計(jì)算機(jī)、專用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備(例如處理器150)執(zhí)行某些功能或功能組的指令和數(shù)據(jù)。
存儲(chǔ)塊110也可以是配置成存儲(chǔ)數(shù)據(jù)和/或數(shù)據(jù)對(duì)象的任何適當(dāng)?shù)挠?jì)算機(jī)可讀介質(zhì)。存儲(chǔ)塊110可在不同的存儲(chǔ)塊110當(dāng)中存儲(chǔ)可以是實(shí)質(zhì)上相同的網(wǎng)絡(luò)數(shù)據(jù),并且還可存儲(chǔ)可以只在特定的存儲(chǔ)塊110上找到的本地?cái)?shù)據(jù)。雖然每個(gè)存儲(chǔ)代理104被描繪為包括單個(gè)存儲(chǔ)塊110,存儲(chǔ)代理104可包括任何數(shù)量的計(jì)算機(jī)可讀介質(zhì)的任何數(shù)量的存儲(chǔ)塊110。例如,存儲(chǔ)代理104可包括是硬盤驅(qū)動(dòng)器的第一存儲(chǔ)塊110和是閃存磁盤驅(qū)動(dòng)器的第二存儲(chǔ)塊110。此外,存儲(chǔ)塊110可包括多于一種類型的計(jì)算機(jī)可讀介質(zhì)。例如,存儲(chǔ)塊110可包括硬盤驅(qū)動(dòng)器和閃存驅(qū)動(dòng)器。
此外,多于一個(gè)存儲(chǔ)代理104可與同一存儲(chǔ)塊110相關(guān),取決于不同的實(shí)現(xiàn)和配置。例如,存儲(chǔ)塊110可以是可在不同的時(shí)間連接到不同的存儲(chǔ)代理104的通用串行總線(USB)存儲(chǔ)設(shè)備或安全數(shù)字(SD)卡。此外,雖然存儲(chǔ)代理104可明確地被描繪為包括處理器150、存儲(chǔ)器152和存儲(chǔ)塊110,不同的實(shí)現(xiàn)可具有不同的配置。例如在一些實(shí)施方式中,存儲(chǔ)代理104可以是被包括在它們的相關(guān)設(shè)備的存儲(chǔ)器152中的帶有計(jì)算機(jī)可執(zhí)行指令的模塊,計(jì)算機(jī)可執(zhí)行指令配置成使它們的相關(guān)設(shè)備的處理器150執(zhí)行與可存儲(chǔ)在存儲(chǔ)塊110上的管理數(shù)據(jù)相關(guān)的操作。
與在存儲(chǔ)網(wǎng)絡(luò)102內(nèi)的數(shù)據(jù)的組織和管理相關(guān)的一些功能可與在存儲(chǔ)塊110中的一個(gè)或多個(gè)部分的分配和管理相關(guān)。通過(guò)分配,存儲(chǔ)塊110的有效使用可被維持。關(guān)于圖2A-2C提供存儲(chǔ)塊110的示例分配和存儲(chǔ)塊110的示例管理過(guò)程。
在一些實(shí)施方式中,一個(gè)或多個(gè)存儲(chǔ)代理104與可包括存儲(chǔ)代理104的部件的任何適當(dāng)?shù)脑O(shè)備包括在一起。例如,存儲(chǔ)代理104可被包括在云存儲(chǔ)服務(wù)器、移動(dòng)電話、平板計(jì)算機(jī)、個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)、攝像機(jī)、個(gè)人數(shù)字助理(PDA)、智能電話、音樂(lè)播放器、視頻播放器、外部硬盤驅(qū)動(dòng)器等中。
與存儲(chǔ)代理104相關(guān)的設(shè)備可包括可允許在存儲(chǔ)代理104之間傳遞數(shù)據(jù)的任何設(shè)備。相應(yīng)地,設(shè)備可提供在存儲(chǔ)代理104之間的某種通信能力,例如互聯(lián)網(wǎng)連接、局域網(wǎng)(LAN)連接、廣域網(wǎng)(WAN)連接、藍(lán)牙連接、3G連接、4G連接、LTE連接、無(wú)線保真(WiFi)連接、機(jī)器對(duì)機(jī)器(M2M)連接、設(shè)備到設(shè)備(D2D)連接、任何其它適當(dāng)?shù)耐ㄐ拍芰蚱淙魏芜m當(dāng)?shù)慕M合。
如上面指示的,存儲(chǔ)代理104可經(jīng)由直接通信和/或經(jīng)由網(wǎng)絡(luò)通信來(lái)執(zhí)行上述通信。在所示實(shí)施方式中,存儲(chǔ)代理104被描繪為通信地直接以及通過(guò)通信網(wǎng)絡(luò)112耦合到彼此。在一些實(shí)施方式中,通信網(wǎng)絡(luò)112可單獨(dú)地或以任何適當(dāng)?shù)慕M合包括互聯(lián)網(wǎng)、內(nèi)聯(lián)網(wǎng)、局部WiFi網(wǎng)絡(luò)、無(wú)線LAN、移動(dòng)網(wǎng)絡(luò)(例如3G、4G和/或LTE網(wǎng)絡(luò))、LAN、WAN或任何其它適當(dāng)?shù)耐ㄐ啪W(wǎng)絡(luò)。
在存儲(chǔ)代理104之間的數(shù)據(jù)的傳遞可相應(yīng)地允許它們的相關(guān)設(shè)備訪問(wèn)并使用可能不一定在本地存儲(chǔ)在它們的相應(yīng)存儲(chǔ)塊110上的網(wǎng)絡(luò)數(shù)據(jù)。因此,存儲(chǔ)網(wǎng)絡(luò)102和存儲(chǔ)代理104可允許網(wǎng)絡(luò)數(shù)據(jù)的存儲(chǔ),同時(shí)也允許對(duì)網(wǎng)絡(luò)數(shù)據(jù)的訪問(wèn),即使數(shù)據(jù)不在本地存儲(chǔ)在特定的存儲(chǔ)代理上。
在一些實(shí)施方式中,存儲(chǔ)代理104可與被包括在基于對(duì)象的文件系統(tǒng)中的客戶端或服務(wù)器類似地起作用。例如,存儲(chǔ)代理104可配置成實(shí)現(xiàn)與在存儲(chǔ)網(wǎng)絡(luò)102和存儲(chǔ)系統(tǒng)100內(nèi)傳遞數(shù)據(jù)相關(guān)的協(xié)議。此外,由存儲(chǔ)代理104管理的一些存儲(chǔ)塊110可配置成只存儲(chǔ)被包括在各種數(shù)據(jù)對(duì)象中的元數(shù)據(jù),而其它存儲(chǔ)塊110可配置成存儲(chǔ)被包括在各種數(shù)據(jù)對(duì)象中的元數(shù)據(jù)和數(shù)據(jù)文件。
在一些實(shí)施方式中,為了管理并提供與在存儲(chǔ)網(wǎng)絡(luò)102中的數(shù)據(jù)的存儲(chǔ)有關(guān)的信息,數(shù)據(jù)的目錄可對(duì)存儲(chǔ)網(wǎng)絡(luò)102產(chǎn)生并被管理。例如,在一些實(shí)施方式中,目錄可包括信息,例如哪些存儲(chǔ)塊110可在本地存儲(chǔ)數(shù)據(jù)對(duì)象、單獨(dú)的數(shù)據(jù)文件和/或任何其它元數(shù)據(jù)。目錄還可包括可與數(shù)據(jù)文件相關(guān)的任何其它元數(shù)據(jù)。在一些實(shí)施方式中,目錄可包括存儲(chǔ)在存儲(chǔ)網(wǎng)絡(luò)102中的數(shù)據(jù)對(duì)象的所有元數(shù)據(jù)的集合。相應(yīng)地,目錄可用于確定哪個(gè)存儲(chǔ)塊110具有存儲(chǔ)在其上的某些數(shù)據(jù)以及關(guān)于存儲(chǔ)在不同的存儲(chǔ)塊110上的數(shù)據(jù)的其它信息。因此,存儲(chǔ)代理104可知道從哪里訪問(wèn)數(shù)據(jù),如果數(shù)據(jù)未在本地存儲(chǔ)在它們相應(yīng)的存儲(chǔ)塊110上。
在一些實(shí)施方式中,存儲(chǔ)代理104可配置成連接到彼此并同步可存儲(chǔ)在存儲(chǔ)網(wǎng)絡(luò)102當(dāng)中的網(wǎng)絡(luò)數(shù)據(jù)。例如,在一些實(shí)施方式中,存儲(chǔ)塊110可配置成存儲(chǔ)來(lái)自與存儲(chǔ)網(wǎng)絡(luò)102相關(guān)的目錄的所有元數(shù)據(jù),使得每個(gè)相關(guān)的存儲(chǔ)代理104可具有關(guān)于由該目錄編索引的不同數(shù)據(jù)文件的信息(例如數(shù)據(jù)文件更新、數(shù)據(jù)文件刪除、數(shù)據(jù)文件添加等)。在這些和其它實(shí)施方式中,存儲(chǔ)代理104可在存儲(chǔ)塊之間同步目錄,使得它們可具有關(guān)于存儲(chǔ)網(wǎng)絡(luò)102的最新信息。
通過(guò)同步網(wǎng)絡(luò)數(shù)據(jù)例如目錄,存儲(chǔ)代理104可以知道或關(guān)于其它存儲(chǔ)代理104的狀態(tài)以及存儲(chǔ)在存儲(chǔ)網(wǎng)絡(luò)102內(nèi)的網(wǎng)絡(luò)數(shù)據(jù)被更新。例如,第一存儲(chǔ)代理104a可與第二存儲(chǔ)代理104b和/或第三存儲(chǔ)代理104c同步,使得第一存儲(chǔ)代理104a關(guān)于第二存儲(chǔ)代理104b和/或第三存儲(chǔ)代理104c的連接或操作狀態(tài)以及存儲(chǔ)在其上的網(wǎng)絡(luò)數(shù)據(jù)被更新。
除了在彼此之間通信以外,在一些實(shí)施方式中,存儲(chǔ)代理104還可與可管理在整個(gè)存儲(chǔ)網(wǎng)絡(luò)中的網(wǎng)絡(luò)數(shù)據(jù)的存儲(chǔ)并可共同地或單獨(dú)地被稱為存儲(chǔ)網(wǎng)絡(luò)管理器114的一個(gè)或多個(gè)存儲(chǔ)網(wǎng)絡(luò)控制器通信。存儲(chǔ)網(wǎng)絡(luò)管理器114可與在分布式存儲(chǔ)系統(tǒng)中的中央服務(wù)類似地起作用。存儲(chǔ)網(wǎng)絡(luò)管理器114可通過(guò)存儲(chǔ)代理104來(lái)執(zhí)行在存儲(chǔ)系統(tǒng)100中的多個(gè)功能,例如協(xié)調(diào)行動(dòng)。例如,存儲(chǔ)網(wǎng)絡(luò)管理器114的功能可包括但不限于找出在存儲(chǔ)網(wǎng)絡(luò)102內(nèi)的數(shù)據(jù)文件的位置,協(xié)調(diào)在存儲(chǔ)代理104之間的網(wǎng)絡(luò)數(shù)據(jù)的同步,以及在存儲(chǔ)塊110之間分配網(wǎng)絡(luò)數(shù)據(jù)。
在一些實(shí)施方式中,存儲(chǔ)網(wǎng)絡(luò)管理器114可被包括在與存儲(chǔ)代理104相同的設(shè)備中,且在其它實(shí)施方式中,存儲(chǔ)網(wǎng)絡(luò)管理器114可被包括在與存儲(chǔ)代理104分離的一個(gè)或多個(gè)設(shè)備中。此外,在一些實(shí)施方式中,存儲(chǔ)網(wǎng)絡(luò)管理器114可執(zhí)行操作,使得存儲(chǔ)網(wǎng)絡(luò)管理器114可充當(dāng)且是存儲(chǔ)代理。例如,存儲(chǔ)網(wǎng)絡(luò)管理器114可存儲(chǔ)一些網(wǎng)絡(luò)數(shù)據(jù),例如目錄和/或與存儲(chǔ)網(wǎng)絡(luò)102相關(guān)的其它元數(shù)據(jù),并可使它的網(wǎng)絡(luò)數(shù)據(jù)與存儲(chǔ)代理104同步,使得存儲(chǔ)網(wǎng)絡(luò)管理器114可關(guān)于這樣的網(wǎng)絡(luò)數(shù)據(jù)充當(dāng)存儲(chǔ)代理。
在一些實(shí)施方式中,存儲(chǔ)網(wǎng)絡(luò)管理器114可經(jīng)由通信網(wǎng)絡(luò)112(如圖1所示)與存儲(chǔ)代理104通信。存儲(chǔ)網(wǎng)絡(luò)管理器114還可配置成經(jīng)由到相應(yīng)的存儲(chǔ)代理104的直接通信(未在圖1中明確示出)與一個(gè)或多個(gè)存儲(chǔ)代理104通信。
在一些實(shí)施方式中,存儲(chǔ)網(wǎng)絡(luò)管理器114可配置成使得存儲(chǔ)在存儲(chǔ)網(wǎng)絡(luò)102中的數(shù)據(jù)文件不存儲(chǔ)在存儲(chǔ)網(wǎng)絡(luò)管理器114上,但與存儲(chǔ)網(wǎng)絡(luò)102的數(shù)據(jù)文件有關(guān)的元數(shù)據(jù)(例如目錄)可存儲(chǔ)在存儲(chǔ)網(wǎng)絡(luò)管理器114上。在一些實(shí)施方式中,存儲(chǔ)網(wǎng)絡(luò)管理器114可將關(guān)于數(shù)據(jù)的存儲(chǔ)的指令傳遞到存儲(chǔ)代理104。存儲(chǔ)代理104可響應(yīng)于從存儲(chǔ)網(wǎng)絡(luò)管理器114傳遞的指令而起作用。
存儲(chǔ)代理104可根據(jù)可存儲(chǔ)在存儲(chǔ)塊110上的元數(shù)據(jù)來(lái)找出在存儲(chǔ)網(wǎng)絡(luò)102內(nèi)的數(shù)據(jù)文件的位置。例如,存儲(chǔ)代理104a可使用存儲(chǔ)在與存儲(chǔ)代理104a相關(guān)的存儲(chǔ)塊110a上的元數(shù)據(jù)(例如目錄)來(lái)找出存儲(chǔ)在存儲(chǔ)網(wǎng)絡(luò)110b上的數(shù)據(jù)文件的位置。找出數(shù)據(jù)文件的位置的一些或所有信息可在存儲(chǔ)代理104之間和/或存儲(chǔ)代理104和存儲(chǔ)網(wǎng)絡(luò)管理器114之間的同步期間被傳遞。此外或可選地,存儲(chǔ)代理104可與存儲(chǔ)網(wǎng)絡(luò)管理器114通信以找出存儲(chǔ)在存儲(chǔ)網(wǎng)絡(luò)102上的數(shù)據(jù)文件。
此外,存儲(chǔ)網(wǎng)絡(luò)管理器114可使用與其它存儲(chǔ)代理104的不可靠或間歇的連接與一個(gè)或多個(gè)存儲(chǔ)代理104通信。例如,存儲(chǔ)代理104c可使用不可靠的連接通信地耦合到存儲(chǔ)代理104b和/或存儲(chǔ)代理104a,或存儲(chǔ)代理104c可被包括在間歇地連接到存儲(chǔ)代理104b和/或存儲(chǔ)代理104a的外部設(shè)備中。存儲(chǔ)網(wǎng)絡(luò)管理器114可經(jīng)由通信網(wǎng)絡(luò)112相應(yīng)地與存儲(chǔ)代理104c通信,然后將關(guān)于存儲(chǔ)代理104c和存儲(chǔ)塊110c的信息(例如網(wǎng)絡(luò)數(shù)據(jù))分程傳遞到存儲(chǔ)代理104b和/或存儲(chǔ)代理104a。
在一些實(shí)施方式中,一個(gè)或多個(gè)存儲(chǔ)代理104(或它們的相關(guān)設(shè)備)可包括本地適配器130。在圖1中,本地適配器130被描繪為包括在第二存儲(chǔ)代理104b中;然而,一個(gè)或多個(gè)其它存儲(chǔ)代理104a和/或104c或它們的相關(guān)設(shè)備可包括本地適配器130。通常,本地適配器130可創(chuàng)建在與存儲(chǔ)代理104b相關(guān)的設(shè)備和存儲(chǔ)網(wǎng)絡(luò)102之間的接口。此外,本地適配器130可配置成執(zhí)行多個(gè)功能,例如瀏覽和閱讀數(shù)據(jù)的目錄,創(chuàng)建新數(shù)據(jù)對(duì)象,以及注冊(cè)并取消注冊(cè)適配器管理的數(shù)據(jù)文件。例如,與存儲(chǔ)代理104b相關(guān)的設(shè)備可產(chǎn)生數(shù)據(jù)對(duì)象,且本地適配器130可配置成便于所產(chǎn)生的數(shù)據(jù)對(duì)象吸收到存儲(chǔ)網(wǎng)絡(luò)102內(nèi)。
在這些和其它情況下,本地適配器130可充當(dāng)數(shù)據(jù)對(duì)象的短期高速緩存存儲(chǔ)器,直到數(shù)據(jù)對(duì)象被吸收到存儲(chǔ)網(wǎng)絡(luò)102內(nèi)為止。在可選的例子中,存儲(chǔ)網(wǎng)絡(luò)管理器114、一個(gè)或多個(gè)存儲(chǔ)代理104或另一系統(tǒng)可配置成檢測(cè)所產(chǎn)生的數(shù)據(jù)對(duì)象的數(shù)據(jù)文件是否是通過(guò)本地適配器130可訪問(wèn)的。當(dāng)數(shù)據(jù)文件是通過(guò)本地適配器130可訪問(wèn)的時(shí),數(shù)據(jù)對(duì)象的元數(shù)據(jù)可存儲(chǔ)在存儲(chǔ)塊110中,使得數(shù)據(jù)對(duì)象可被添加到目錄以向存儲(chǔ)網(wǎng)絡(luò)102的其它存儲(chǔ)代理104提供數(shù)據(jù)對(duì)象和相關(guān)數(shù)據(jù)文件的認(rèn)識(shí)。此外,當(dāng)數(shù)據(jù)文件是通過(guò)本地適配器130可訪問(wèn)的時(shí),存儲(chǔ)網(wǎng)絡(luò)管理器114、存儲(chǔ)代理104或另一系統(tǒng)可配置成防止在存儲(chǔ)塊110中創(chuàng)建數(shù)據(jù)文件的額外拷貝。數(shù)據(jù)文件可因此經(jīng)由本地適配器130由存儲(chǔ)網(wǎng)絡(luò)102可訪問(wèn),本質(zhì)上創(chuàng)建到數(shù)據(jù)文件的模擬鏈接。
如下面更詳細(xì)描述的,可分配存儲(chǔ)塊110以有效地存儲(chǔ)網(wǎng)絡(luò)數(shù)據(jù)并確保在存儲(chǔ)網(wǎng)絡(luò)102內(nèi)的冗余以及存儲(chǔ)塊110的期望配置。圖2A-2C示出根據(jù)本文所述的至少一個(gè)實(shí)施方式的可由存儲(chǔ)代理201管理的示例所分配的存儲(chǔ)塊200。所分配的存儲(chǔ)塊200可實(shí)質(zhì)上類似于關(guān)于圖1討論的存儲(chǔ)塊110。存儲(chǔ)代理201可實(shí)質(zhì)上類似于關(guān)于圖1討論的一個(gè)或多個(gè)存儲(chǔ)代理104。所分配的存儲(chǔ)塊200可被包括在存儲(chǔ)網(wǎng)絡(luò)例如圖1的存儲(chǔ)網(wǎng)絡(luò)102中。此外,存儲(chǔ)代理201和所分配的存儲(chǔ)塊200可與設(shè)備例如圖1的設(shè)備106之一相關(guān)。存儲(chǔ)代理201和所分配的存儲(chǔ)塊200相關(guān)于的存儲(chǔ)網(wǎng)絡(luò)可具有可對(duì)在存儲(chǔ)網(wǎng)絡(luò)內(nèi)存儲(chǔ)的網(wǎng)絡(luò)數(shù)據(jù)編索引的數(shù)據(jù)的目錄。所分配的存儲(chǔ)塊200可配置成存儲(chǔ)數(shù)據(jù)的目錄的數(shù)據(jù)對(duì)象的元數(shù)據(jù)224和/或數(shù)據(jù)的目錄的數(shù)據(jù)對(duì)象的數(shù)據(jù)文件。
圖2A-2C包括根據(jù)本文所述的至少一個(gè)實(shí)施方式的所分配的存儲(chǔ)塊200的分配210a-210c。具體地,圖2A描繪初始分配210a,圖2B描繪中間分配210b,以及圖2C描繪所決定的分配210c。組合地參考圖2A-2C,所分配的存儲(chǔ)塊200可包括第一部分202、第二部分204和第三部分206。
可為了與存儲(chǔ)網(wǎng)絡(luò)有關(guān)的網(wǎng)絡(luò)數(shù)據(jù)的存儲(chǔ)而分配第一部分202,所分配的存儲(chǔ)塊200被包括在存儲(chǔ)網(wǎng)絡(luò)中。例如,存儲(chǔ)在第一部分202上的元數(shù)據(jù)224可包括網(wǎng)絡(luò)數(shù)據(jù)的每個(gè)數(shù)據(jù)對(duì)象的元數(shù)據(jù)。在一些實(shí)施方式中,元數(shù)據(jù)224可被布置為對(duì)所有網(wǎng)絡(luò)數(shù)據(jù)編索引的數(shù)據(jù)的目錄。此外,根據(jù)包括在第一部分202中的存儲(chǔ)空間的量的各種因素,網(wǎng)絡(luò)數(shù)據(jù)的全部或子集可存儲(chǔ)在第一部分202上。在一些實(shí)施方式中,第一部分202的大小(例如被分配到第一部分202的存儲(chǔ)空間的量)可以是存儲(chǔ)空間的最小數(shù)量或所分配的存儲(chǔ)塊200的存儲(chǔ)空間的某個(gè)百分比。在其它實(shí)施方式中,第一部分202的大小可以是在第二部分204的期望大小和第三部分206的目標(biāo)大小被滿足之后在所分配的存儲(chǔ)塊200上留下的存儲(chǔ)空間的量,如在下面更詳細(xì)解釋的。
在這個(gè)和其它實(shí)施方式中,網(wǎng)絡(luò)數(shù)據(jù)的全部或子集是否存儲(chǔ)在第一部分202上可基于第一部分202的可用空間。當(dāng)?shù)谝徊糠?02的可用空間大于網(wǎng)絡(luò)數(shù)據(jù)的大小時(shí),則所有網(wǎng)絡(luò)數(shù)據(jù)可存儲(chǔ)在第一部分202上。可選地,當(dāng)?shù)谝徊糠?02的可用空間小于網(wǎng)絡(luò)數(shù)據(jù)的大小時(shí),網(wǎng)絡(luò)數(shù)據(jù)212的第一子集可存儲(chǔ)在第一部分202上。在一些實(shí)施方式中,存儲(chǔ)網(wǎng)絡(luò)管理器例如圖1的存儲(chǔ)網(wǎng)絡(luò)管理器114可配置成分配網(wǎng)絡(luò)數(shù)據(jù)的哪些數(shù)據(jù)文件可被包括在網(wǎng)絡(luò)數(shù)據(jù)212的第一子集中。
此外,在一些實(shí)施方式中,網(wǎng)絡(luò)數(shù)據(jù)212的第一子集的一個(gè)或多個(gè)數(shù)據(jù)文件可被設(shè)計(jì)為數(shù)據(jù)文件的次級(jí)拷貝或初級(jí)拷貝。初級(jí)拷貝可以是存儲(chǔ)網(wǎng)絡(luò)管理器可指定為存儲(chǔ)在第一部分202上作為相關(guān)數(shù)據(jù)文件的期望冗余的部分的拷貝??蛇x地,次級(jí)拷貝是在本地存儲(chǔ)在第一部分202中的所分配的存儲(chǔ)塊200上的相關(guān)數(shù)據(jù)文件以便于對(duì)在設(shè)備(所分配的存儲(chǔ)塊200和存儲(chǔ)代理201與該設(shè)備相關(guān))上的相關(guān)數(shù)據(jù)文件的訪問(wèn)但不是期望冗余的部分的拷貝。在一些實(shí)施方式中,次級(jí)拷貝可存儲(chǔ)在與所分配的存儲(chǔ)塊200相關(guān)的高速緩存存儲(chǔ)器中。在一些實(shí)施方式中,存儲(chǔ)代理201可被允許從第一部分202單方面地移除數(shù)據(jù)文件的次級(jí)拷貝而沒(méi)有來(lái)自存儲(chǔ)網(wǎng)絡(luò)管理器的允許,但在沒(méi)有來(lái)自存儲(chǔ)網(wǎng)絡(luò)管理器的允許時(shí),不可移除數(shù)據(jù)文件的初級(jí)拷貝。
可為可由與存儲(chǔ)代理201和所分配的存儲(chǔ)塊200相關(guān)的設(shè)備的一個(gè)或多個(gè)程序使用和/或維持的本地?cái)?shù)據(jù)分配所分配的存儲(chǔ)塊200的第二部分204。例如,第二部分204可使與和第一部分202相關(guān)的存儲(chǔ)網(wǎng)絡(luò)無(wú)關(guān)的程序能夠存儲(chǔ)本地?cái)?shù)據(jù)以運(yùn)行和/或處理信息。第二部分204的大小可基于任何數(shù)量的因素,例如設(shè)備類型、設(shè)備的歷史使用、裝到設(shè)備上的多個(gè)程序、裝在設(shè)備上的程序的類型等。例如,設(shè)備可包括可產(chǎn)生可存儲(chǔ)在第二部分204上的文檔的字處理器或電子制表軟件。相應(yīng)地,第二部分204的大小可被分配以適應(yīng)這種類型的數(shù)據(jù)的添加。
此外,第二部分204的大小可通常基于在設(shè)備上運(yùn)行的多個(gè)程序和/或由程序執(zhí)行的過(guò)程的數(shù)量而改變或變化。例如,第二部分204可最初被分配為具有大約與存儲(chǔ)在所分配的存儲(chǔ)塊200上的本地?cái)?shù)據(jù)大約相同的初始大小。當(dāng)本地?cái)?shù)據(jù)的量例如通過(guò)程序的添加而增加時(shí),第二部分204的大小也可增加。
所分配的存儲(chǔ)塊204的第三部分206可被分配為自由空間。術(shù)語(yǔ)“自由空間”用于指可沒(méi)有數(shù)據(jù)文件、元數(shù)據(jù)、程序文件等的所分配的存儲(chǔ)塊200的區(qū)段。第三部分206可包括目標(biāo)大小。目標(biāo)大小可以是第三部分206的期望大小并可以提供使數(shù)據(jù)添加到所分配的存儲(chǔ)塊200的靈活性。在一些實(shí)施方式中,目標(biāo)大小可以是存儲(chǔ)空間的固定量或所分配的存儲(chǔ)塊200的總大小的百分比。
例如,第三部分206的目標(biāo)大小可包括所分配的存儲(chǔ)塊200的預(yù)先確定的百分比、存儲(chǔ)空間的某個(gè)數(shù)量、或?qū)崿F(xiàn)本文所述的功能的某個(gè)其它目標(biāo)大小。作為例子,第三部分206可以是存儲(chǔ)塊200的總存儲(chǔ)容量的25%??蛇x地,第三部分206可包括某個(gè)數(shù)量的位或字節(jié)。在一些實(shí)施方式中,目標(biāo)大小可基于本地?cái)?shù)據(jù)的數(shù)據(jù)文件的平均大小和/或網(wǎng)絡(luò)數(shù)據(jù)的數(shù)據(jù)文件的平均大小,使得所分配的存儲(chǔ)塊200可以有空間來(lái)添加可應(yīng)用的數(shù)據(jù)文件,如果需要。
第三部分206的大小可改變或變化。例如,當(dāng)新數(shù)據(jù)對(duì)象被添加到所分配的存儲(chǔ)塊200(例如被添加到第一部分202、第二部分204或第三部分206)時(shí),在所分配的存儲(chǔ)塊200中的自由空間的量可減小。相應(yīng)地,在一些實(shí)例中,所分配的存儲(chǔ)塊200的第三部分206可減小。例如,新數(shù)據(jù)對(duì)象可包括由設(shè)備拍攝的照片,所分配的存儲(chǔ)塊200被包括在該設(shè)備上。照片可由相關(guān)適配器自動(dòng)添加到所分配的存儲(chǔ)塊200(例如到第一部分202),這可減小在所分配的存儲(chǔ)塊200上的自由存儲(chǔ)空間的量并因此可在一些實(shí)例中減小第三部分206的大小。作為另一例子,在一些實(shí)施方式中,第二部分204可在大小上增加(例如通過(guò)程序的添加等),使得第三部分206可在大小上減小。此外,在一些實(shí)施方式中,網(wǎng)絡(luò)數(shù)據(jù)可以如由存儲(chǔ)網(wǎng)絡(luò)管理器指示的被添加到第一部分202,使得第三部分206的大小可減小。相反,一個(gè)或多個(gè)數(shù)據(jù)文件或數(shù)據(jù)對(duì)象可從第一部分202和/或第二部分204移除,這可增加第三部分206的大小。
存儲(chǔ)代理201和/或存儲(chǔ)網(wǎng)絡(luò)管理器可配置成通過(guò)調(diào)節(jié)存儲(chǔ)在第一部分202上的網(wǎng)絡(luò)數(shù)據(jù)的量來(lái)將第三部分206維持在大約目標(biāo)大小處。例如在一些實(shí)施方式中,可確定第三部分206的大小(例如在所分配的存儲(chǔ)代理上的自由空間的量)大于第三部分206的目標(biāo)大小。相應(yīng)地,在一些實(shí)例中,存儲(chǔ)代理201可將此通知給存儲(chǔ)網(wǎng)絡(luò)管理器,且存儲(chǔ)網(wǎng)絡(luò)管理器可分配來(lái)自網(wǎng)絡(luò)數(shù)據(jù)的額外數(shù)據(jù)文件以存儲(chǔ)在第一部分202上,這可減小第三部分206的大小??勺龀鼍W(wǎng)絡(luò)數(shù)據(jù)的額外數(shù)據(jù)文件到第一部分202的分配,使得第三部分206的大小可等于或近似等于目標(biāo)大小。
此外,在一些實(shí)施方式中,可確定第三部分206的大小小于第三部分206的目標(biāo)大小。例如,第三部分206的大小可由于數(shù)據(jù)到第一部分202和/或第二部分204的添加而減小。相應(yīng)地,在一些實(shí)例中,存儲(chǔ)代理201可從第一部分202移除網(wǎng)絡(luò)數(shù)據(jù),使得第三部分206的大小可增加。網(wǎng)絡(luò)數(shù)據(jù)的移除可被執(zhí)行,直到第三部分206的大小近似等于或等于目標(biāo)大小為止。
在一些實(shí)施方式中,存儲(chǔ)代理201可配置成首先移除被指定為次級(jí)拷貝的網(wǎng)絡(luò)數(shù)據(jù)的數(shù)據(jù)文件,因?yàn)榇渭?jí)拷貝可以不是它們的相關(guān)數(shù)據(jù)文件的期望冗余。相反,在未首先接收到來(lái)自存儲(chǔ)網(wǎng)絡(luò)管理器的允許時(shí),存儲(chǔ)代理201可能不能夠移除被指定為初級(jí)拷貝的數(shù)據(jù)文件。相應(yīng)地,在一些實(shí)施方式中,當(dāng)沒(méi)有存儲(chǔ)在第一部分202上的數(shù)據(jù)文件的更多的次級(jí)拷貝且第三部分206的大小小于目標(biāo)大小時(shí),存儲(chǔ)代理201可將關(guān)于哪些數(shù)據(jù)文件可從第一部分202移除的請(qǐng)求傳遞到存儲(chǔ)網(wǎng)絡(luò)管理器。
圖2A-2C示出當(dāng)?shù)诙糠?04在尺寸上增加使得第三部分206在尺寸上減小到低于目標(biāo)大小時(shí)在所分配的存儲(chǔ)塊200中的行動(dòng)的示例進(jìn)展。圖2A示出初始分配210a。在初始分配中,第三部分206的目標(biāo)大小可以是所分配的存儲(chǔ)塊的總存儲(chǔ)容量的10%,且第三部分206的大小可以近似等于目標(biāo)大小。此外,可為與一個(gè)或多個(gè)程序相關(guān)的本地?cái)?shù)據(jù)分配第二部分204,以及可為元數(shù)據(jù)224和網(wǎng)絡(luò)數(shù)據(jù)212的第一子集的存儲(chǔ)分配第一部分202。
圖2B示出中間分配210b,其中第二部分204增加以包括第三部分206的一部分208。例如,可最初使用第二部分204的程序可增加存儲(chǔ)使用以包括第三部分206的部分208。因此,第三部分206可例如從所分配的存儲(chǔ)塊200的存儲(chǔ)容量的大約10%減小到大約7%。中間分配210b可例如從在包括所分配的存儲(chǔ)塊200的設(shè)備上裝入和/或運(yùn)行的一個(gè)或多個(gè)程序產(chǎn)生。
圖2C示出所決定的分配210c,其中第三部分206可增加。具體地,第三部分206可通過(guò)將第一部分202中的一些重新分配到第三部分206內(nèi)來(lái)返回到目標(biāo)百分比(例如大約10%)。因此,可通過(guò)將第一部分202中的一些重新分配到第三部分206內(nèi)來(lái)維持第三部分206的目標(biāo)大小(例如所分配的存儲(chǔ)塊200的總大小的10%)。
在一些實(shí)施方式中,為了重新分配第一部分202,可檢測(cè)在第一部分202上的一個(gè)或多個(gè)數(shù)據(jù)文件。例如參考圖2A和2C,在初始分配210a中,網(wǎng)絡(luò)數(shù)據(jù)212的第一子集可存儲(chǔ)在所分配的存儲(chǔ)塊200的第一部分202上。在圖2C的所決定的分配中,網(wǎng)絡(luò)數(shù)據(jù)216的第二子集可存儲(chǔ)在第一部分202上,其中數(shù)據(jù)文件216的第二子集可以比數(shù)據(jù)文件212的第一子集小。在數(shù)據(jù)文件可被刪除以維持預(yù)先配置的百分比的實(shí)施方式中,數(shù)據(jù)文件216的第二子集可包括數(shù)據(jù)文件212的第一子集中的一個(gè)或多個(gè)。
圖3是根據(jù)本文所述的至少一個(gè)實(shí)施方式的管理在存儲(chǔ)塊上的存儲(chǔ)分配的示例方法300的流程圖。方法300的一個(gè)或多個(gè)步驟可在一些實(shí)施方式中由在存儲(chǔ)系統(tǒng)中操作的存儲(chǔ)代理和/或存儲(chǔ)網(wǎng)絡(luò)管理器例如在圖1的示例存儲(chǔ)系統(tǒng)100中操作的示例存儲(chǔ)代理104和示例存儲(chǔ)網(wǎng)絡(luò)管理器114實(shí)現(xiàn)。例如,圖1的存儲(chǔ)代理104和/或存儲(chǔ)網(wǎng)絡(luò)管理器114之一可配置成執(zhí)行計(jì)算機(jī)指令以執(zhí)行管理如由方法300的一個(gè)或多個(gè)塊表示的在存儲(chǔ)代理上的存儲(chǔ)分配的操作。雖然被示為分立的塊,各種塊可分成額外的塊,組合成更少的塊,或被消除,取決于期望實(shí)現(xiàn)?,F(xiàn)在將參考圖3討論方法300。
方法300可在塊302開(kāi)始,在塊302,存儲(chǔ)塊的第一部分被分配到用于網(wǎng)絡(luò)數(shù)據(jù)的存儲(chǔ)的第一部分內(nèi)。網(wǎng)絡(luò)數(shù)據(jù)可與包括存儲(chǔ)塊和一個(gè)或多個(gè)其它存儲(chǔ)塊的存儲(chǔ)網(wǎng)絡(luò)相關(guān)。在塊304,可為與包括存儲(chǔ)塊的設(shè)備的一個(gè)或多個(gè)程序相關(guān)的本地?cái)?shù)據(jù)分配存儲(chǔ)塊的第二部分。在塊306,存儲(chǔ)塊的第三部分可被分配為存儲(chǔ)塊的自由空間。第三部分可具有與在存儲(chǔ)塊上的自由空間的期望量相關(guān)的目標(biāo)大小。
在塊308,可通過(guò)調(diào)節(jié)存儲(chǔ)在第一部分上的網(wǎng)絡(luò)數(shù)據(jù)的量來(lái)將第三部分的大小維持在大約目標(biāo)大小處。在一些實(shí)施方式中,第三部分的大小可根據(jù)下面關(guān)于圖4所述的方法400來(lái)近似地被維持在目標(biāo)大小處。
圖4是根據(jù)本文所述的至少一個(gè)實(shí)施方式的管理在存儲(chǔ)塊上的存儲(chǔ)的示例方法400的流程圖。方法400的一個(gè)或多個(gè)步驟可在一些實(shí)施方式中由在存儲(chǔ)系統(tǒng)中操作的存儲(chǔ)代理和/或存儲(chǔ)網(wǎng)絡(luò)管理器例如圖1和2A-2C的示例存儲(chǔ)代理104和201以及在圖1的示例存儲(chǔ)系統(tǒng)100中操作的示例存儲(chǔ)網(wǎng)絡(luò)管理器114實(shí)現(xiàn)。例如,上面所述的存儲(chǔ)代理104、201和/或存儲(chǔ)網(wǎng)絡(luò)管理器114之一可配置成執(zhí)行計(jì)算機(jī)指令以執(zhí)行管理如由方法400的一個(gè)或多個(gè)塊表示的在存儲(chǔ)代理上的存儲(chǔ)分配的操作。雖然被示為分立的塊,各種塊可分成額外的塊,組合成更少的塊,或被消除,取決于期望實(shí)現(xiàn)。
現(xiàn)在將參考圖4討論方法400。在一些實(shí)施方式中,方法400可關(guān)于存儲(chǔ)塊來(lái)實(shí)現(xiàn),存儲(chǔ)塊以如上面關(guān)于圖2A-2C和3所述的方式被分配到網(wǎng)絡(luò)數(shù)據(jù)的第一部分、本地?cái)?shù)據(jù)的第二部分和自由空間的第三部分內(nèi)。為了解釋的目的,下面關(guān)于存儲(chǔ)代理201、所分配的存儲(chǔ)塊200及其相關(guān)的第一部分202、第二部分204和第三部分206描述方法400。然而,方法400不限于這個(gè)特定的實(shí)現(xiàn)。
方法400可在塊402開(kāi)始,在塊402,可為所分配的存儲(chǔ)塊200確定第三部分206的目標(biāo)大小。在一些實(shí)施方式中,存儲(chǔ)代理201可確定自由存儲(chǔ)空間的目標(biāo)大小。在這些或其它實(shí)施方式中,與存儲(chǔ)網(wǎng)絡(luò)(所分配的存儲(chǔ)塊200可被包括在存儲(chǔ)網(wǎng)絡(luò)中)相關(guān)的存儲(chǔ)網(wǎng)絡(luò)管理器也可確定第三部分206的目標(biāo)大小并將目標(biāo)大小傳遞到存儲(chǔ)代理201。
如上面所示的,可在一些實(shí)施方式中基于所分配的存儲(chǔ)塊200的自由存儲(chǔ)空間的期望量來(lái)確定目標(biāo)大小,使得所分配的存儲(chǔ)塊200可添加數(shù)據(jù),如果需要或期望。在一些實(shí)施方式中,目標(biāo)大小可基于網(wǎng)絡(luò)數(shù)據(jù)的平均文件大小、本地?cái)?shù)據(jù)的平均文件大小和/或所分配的存儲(chǔ)塊200的總存儲(chǔ)容量。在這些和其它實(shí)施方式中,目標(biāo)大小可以是所分配的存儲(chǔ)塊200的總存儲(chǔ)容量的百分比或存儲(chǔ)空間的固定量。
在塊404,可監(jiān)控第三部分206的大小。存儲(chǔ)代理201和/或相關(guān)的存儲(chǔ)網(wǎng)絡(luò)管理器可執(zhí)行監(jiān)控。在塊406,可確定第三部分206的大小近似等于或等于與自由存儲(chǔ)空間的期望量相關(guān)的目標(biāo)大小。存儲(chǔ)代理201和/或相關(guān)的存儲(chǔ)網(wǎng)絡(luò)管理器可再一次做出這個(gè)確定。當(dāng)?shù)谌糠?06的大小近似等于或等于目標(biāo)大小時(shí),方法400可返回到用于監(jiān)控第三部分206的大小的塊404。當(dāng)?shù)谌糠?06的大小不近似等于或等于目標(biāo)大小時(shí),方法400可繼續(xù)進(jìn)行到塊408。
在塊408,可確定第三部分206的大小是否大于目標(biāo)大小。在一些實(shí)施方式中,當(dāng)?shù)谌糠?06的大小大于目標(biāo)大小時(shí),方法400可繼續(xù)進(jìn)行到塊410。當(dāng)?shù)谌糠?06的大小大于目標(biāo)大小時(shí),所分配的存儲(chǔ)塊200可能能夠存儲(chǔ)更多的數(shù)據(jù),例如網(wǎng)絡(luò)數(shù)據(jù)。相應(yīng)地,在一些實(shí)施方式中,在塊410,可確定網(wǎng)絡(luò)數(shù)據(jù)的哪些數(shù)據(jù)文件可被添加到第一部分202。
在一些實(shí)施方式中,在塊410,網(wǎng)絡(luò)數(shù)據(jù)的某些數(shù)據(jù)文件可能已經(jīng)由存儲(chǔ)網(wǎng)絡(luò)管理器分配到第一部分202,但分配到第一部分202的數(shù)據(jù)文件可能還未全部保存到第一部分202。因此,可確定這些數(shù)據(jù)文件中的一個(gè)或多個(gè)應(yīng)在塊410被添加到第一部分202。在這些或其它實(shí)施方式中,所有所分配的數(shù)據(jù)文件可存儲(chǔ)在第一部分202上,或分配可能是過(guò)時(shí)的,使得存儲(chǔ)網(wǎng)絡(luò)管理器可根據(jù)任何適當(dāng)?shù)姆峙浞桨府a(chǎn)生可被添加到第一部分202的網(wǎng)絡(luò)數(shù)據(jù)的數(shù)據(jù)文件的列表。相應(yīng)地,在一些實(shí)施方式中,可在塊410確定由存儲(chǔ)網(wǎng)絡(luò)管理器產(chǎn)生的數(shù)據(jù)文件的列表的一個(gè)或多個(gè)數(shù)據(jù)文件應(yīng)被添加到第一部分202。在一些實(shí)施方式中,存儲(chǔ)網(wǎng)絡(luò)管理器可配置成監(jiān)控第一部分202,并可單方面地產(chǎn)生列表,而在其它實(shí)施方式中,存儲(chǔ)代理201可從存儲(chǔ)網(wǎng)絡(luò)管理器請(qǐng)求列表。
在塊412,在塊210中被確定為添加到第一部分202的網(wǎng)絡(luò)數(shù)據(jù)的數(shù)據(jù)文件可被添加到第一部分202。在一些實(shí)施方式中,網(wǎng)絡(luò)數(shù)據(jù)的數(shù)據(jù)文件可從可被包括存儲(chǔ)網(wǎng)絡(luò)中的一個(gè)或多個(gè)其它存儲(chǔ)塊添加到第一部分202,存儲(chǔ)代理201被包括在存儲(chǔ)網(wǎng)絡(luò)中。在塊412之后,方法400可返回到塊404。在一些實(shí)施方式中,方法400可省略塊410和412,且當(dāng)?shù)谌糠值拇笮〈笥谀繕?biāo)大小時(shí)方法400可從塊408繼續(xù)回到塊404。
返回到塊408,其可確定第三部分206的大小是否大于目標(biāo)大小。在一些實(shí)施方式中,當(dāng)?shù)谌糠?06的大小小于目標(biāo)大小時(shí),方法400可繼續(xù)進(jìn)行到塊414。在塊414,可產(chǎn)生存儲(chǔ)在第一部分202上作為次級(jí)拷貝的數(shù)據(jù)文件的列表。在塊416,可移除被指定為次級(jí)拷貝的一個(gè)或多個(gè)數(shù)據(jù)文件。存儲(chǔ)代理201和/或存儲(chǔ)網(wǎng)絡(luò)管理器可配置成產(chǎn)生和/或執(zhí)行與塊414和416相關(guān)的指令。可在一些實(shí)例中首先移除數(shù)據(jù)文件的次級(jí)拷貝,因?yàn)槿缟厦嫣岬降?,它們關(guān)于其相關(guān)數(shù)據(jù)的期望冗余可以不是非常重要。此外,由于操作與數(shù)據(jù)文件的次級(jí)拷貝有關(guān),存儲(chǔ)代理201可能能夠執(zhí)行與塊414和416相關(guān)的操作而沒(méi)有來(lái)自存儲(chǔ)網(wǎng)絡(luò)管理器的授權(quán)。
在塊418,可在刪除一個(gè)或多個(gè)次級(jí)拷貝之后確定第三部分206的大小是否仍然小于目標(biāo)大小。在一些實(shí)施方式中,當(dāng)?shù)谌糠?06的大小小于目標(biāo)大小時(shí),可刪除更多的次級(jí)拷貝,如果它們沒(méi)有全部已經(jīng)被刪除。在這些和其它實(shí)施方式中,在塊420,當(dāng)?shù)谌糠?06的大小仍然小于目標(biāo)大小時(shí),對(duì)于可從第一部分202移除的一個(gè)或多個(gè)數(shù)據(jù)文件的列表,存儲(chǔ)代理210可聯(lián)系存儲(chǔ)網(wǎng)絡(luò)管理器。存儲(chǔ)網(wǎng)絡(luò)管理器可基于可由存儲(chǔ)網(wǎng)絡(luò)管理器使用以將網(wǎng)絡(luò)數(shù)據(jù)分配到存儲(chǔ)代理201的分配方案產(chǎn)生該列表。在塊422,存儲(chǔ)代理201可根據(jù)關(guān)于在塊420產(chǎn)生的請(qǐng)求由存儲(chǔ)網(wǎng)絡(luò)管理器產(chǎn)生的列表從第一部分202移除數(shù)據(jù)文件。按照塊422,方法400可返回到塊404。
相應(yīng)地,方法300和/或400可用于管理在存儲(chǔ)塊上的數(shù)據(jù)的存儲(chǔ)。本領(lǐng)域中的技術(shù)人員將認(rèn)識(shí)到,對(duì)于本文公開(kāi)的這些和其它過(guò)程和方法,在過(guò)程和方法中執(zhí)行的功能可以按不同的順序?qū)崿F(xiàn)。此外,所概述的步驟和操作僅作為例子被提供,且一些步驟和操作可以是可選的、組成為更少的步驟和操作或擴(kuò)展成額外的步驟和操作而不減損所公開(kāi)的實(shí)施方式。此外,雖然特定的元件被公開(kāi)為執(zhí)行特定的步驟,在一些實(shí)施方式中,不同的元件可執(zhí)行相同的步驟。本文所述的實(shí)施方式可包括專用或通用計(jì)算機(jī)——包括各種計(jì)算機(jī)硬件和軟件模塊——的使用,如下面更詳細(xì)討論的。
可使用用于攜帶或具有計(jì)算機(jī)可執(zhí)行指令或存儲(chǔ)在其上的數(shù)據(jù)結(jié)構(gòu)的計(jì)算機(jī)可讀介質(zhì)來(lái)實(shí)現(xiàn)本文討論的實(shí)施方式。這樣的計(jì)算機(jī)可讀介質(zhì)可以是可由通用或?qū)S糜?jì)算機(jī)訪問(wèn)的任何可用介質(zhì)。作為例子而不是限制,這樣的計(jì)算機(jī)可讀介質(zhì)可包括非臨時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),包括RAM、ROM、EEPROM、CD-ROM或其它光盤存儲(chǔ)器、磁盤存儲(chǔ)器或其它磁性存儲(chǔ)設(shè)備或可用于攜帶或存儲(chǔ)以計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)的形式的期望程序代碼模塊并可由通用或?qū)S糜?jì)算機(jī)訪問(wèn)的任何其它非臨時(shí)存儲(chǔ)介質(zhì)。上述項(xiàng)的組合也應(yīng)被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
計(jì)算機(jī)可執(zhí)行指令包括例如使通用計(jì)算機(jī)、專用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備執(zhí)行某個(gè)功能或功能組的指令和數(shù)據(jù)。雖然以結(jié)構(gòu)特征和/或方法行動(dòng)特有的語(yǔ)言描述了主題,應(yīng)理解,在所附權(quán)利要求中定義的主題并不一定限于上面所述的特定特征或行動(dòng)。更確切地,上面所述的特定特征和行動(dòng)被公開(kāi)為實(shí)現(xiàn)權(quán)利要求的示例形式。
如在本文使用的,術(shù)語(yǔ)“模塊”或“部件”可以指配置成執(zhí)行模塊或部件的操作和/或可存儲(chǔ)在通用硬件(例如計(jì)算機(jī)可讀介質(zhì)、處理設(shè)備等)上和/或由通用硬件執(zhí)行的軟件對(duì)象或軟件例程的特定硬件實(shí)現(xiàn)。在一些實(shí)施方式中,本文所述的不同的部件、模塊、引擎和服務(wù)可被實(shí)現(xiàn)為在計(jì)算系統(tǒng)(例如作為單獨(dú)的線程)上執(zhí)行的對(duì)象或過(guò)程。雖然本文所述的一些系統(tǒng)和方法通常被描述為在軟件(存儲(chǔ)在通用硬件上和/或由通用硬件執(zhí)行)中實(shí)現(xiàn),特定的軟件實(shí)現(xiàn)或軟件和特定的硬件實(shí)現(xiàn)的組合也是可能的并被設(shè)想。在這個(gè)描述中,“計(jì)算實(shí)體”可以是如前面在本文定義的任何計(jì)算系統(tǒng)或在計(jì)算系統(tǒng)上運(yùn)行的任何模塊或模塊的組合。
在本文詳述的所有例子和條件語(yǔ)言為教育學(xué)目的而設(shè)計(jì)以幫助讀者理解本公開(kāi)和由發(fā)明人為推進(jìn)本領(lǐng)域而貢獻(xiàn)的概念,且應(yīng)被解釋為沒(méi)有對(duì)這樣特別詳述的例子和條件的限制。雖然本公開(kāi)的實(shí)施方式被詳細(xì)地描述,應(yīng)理解,可對(duì)其作出各種變化、代替和變更而不偏離本公開(kāi)的精神和范圍。