两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

用于統(tǒng)一數(shù)據(jù)存儲的存儲介質(zhì)抽象的制作方法

文檔序號:6495636閱讀:138來源:國知局
用于統(tǒng)一數(shù)據(jù)存儲的存儲介質(zhì)抽象的制作方法
【專利摘要】在此描述了從操作系統(tǒng)將存儲展示成統(tǒng)一存儲設(shè)備,并從各應(yīng)用抽象化對存儲設(shè)備的特定存儲位置和不同屬性的選擇的存儲抽象系統(tǒng)。該應(yīng)用提供要存儲的數(shù)據(jù)以及與該應(yīng)用存儲該數(shù)據(jù)的目標有關(guān)的某些信息,并令操作系統(tǒng)基于該數(shù)據(jù)的特性將該數(shù)據(jù)路由到正確位置。操作系統(tǒng)可基于與數(shù)據(jù)的持久保存要求、期望使用、訪問頻率、和安全性需求等有關(guān)的信息來選擇將該數(shù)據(jù)存儲在從L2高速緩存到基于云的存儲服務(wù)以及這兩者中間的任何事物的任何地方。該系統(tǒng)令應(yīng)用和用戶關(guān)注于表達其對該數(shù)據(jù)的目標和需求,并令操作系統(tǒng)管理硬件。
【專利說明】用于統(tǒng)一數(shù)據(jù)存儲的存儲介質(zhì)抽象
【背景技術(shù)】
[0001]各種設(shè)備存在于用于存儲數(shù)據(jù)的計算機系統(tǒng)中。臺式計算機、服務(wù)器、膝上型計算機和其他計算設(shè)備可包括用于存儲大量數(shù)據(jù)的一個或多個硬盤驅(qū)動器??沙鲇诟鞣N數(shù)據(jù)訪問目的而配置硬盤驅(qū)動器。例如,服務(wù)器可使用提高諸如等待時間、容錯性、安全性、容量、及訪問時間等存儲特性的廉價磁盤冗余陣列(RAID)配置、存儲區(qū)域網(wǎng)(SAN)或其他技術(shù)。膝上型設(shè)備和移動設(shè)備可包括閃存,并且許多計算機系統(tǒng)使用如今以固態(tài)盤(SSD)形式的基于閃存的存儲器。計算系統(tǒng)還具有對諸如來自多個廠商的基于云的存儲服務(wù)、在線備份解決方案、及某組織內(nèi)提供的遠程數(shù)據(jù)中心等遠程存儲的訪問。
[0002]軟件應(yīng)用在存儲數(shù)據(jù)時可以從這些設(shè)備中的任何一個中選擇。應(yīng)用可以生成該應(yīng)用通過調(diào)用一個或多個操作系統(tǒng)存儲應(yīng)用編程接口(API)來存儲的文檔、配置信息或其他輸出。這些API通常涉及顯式地標識要在其上存儲數(shù)據(jù)的存儲設(shè)備的應(yīng)用。例如,操作系統(tǒng)可向每一個可用存儲設(shè)備分配由應(yīng)用沿著驅(qū)動器內(nèi)的文件夾路徑指定要將該應(yīng)用所產(chǎn)生的輸出數(shù)據(jù)存儲在何處的字母或設(shè)備路徑。用戶也變得參與管理數(shù)據(jù)存儲,并通常會記住其文檔被存儲在何處,使得該用戶能夠通知該應(yīng)用或另一應(yīng)用在何處尋找到計算機系統(tǒng)上的經(jīng)存儲數(shù)據(jù)項。用戶可以用一個應(yīng)用來下載文檔或其他數(shù)據(jù)項,并告訴該應(yīng)用將該項存儲在何處,隨后用另一應(yīng)用打開該項,并告訴該應(yīng)用在何處尋找到該項。因此,用戶和應(yīng)用當今深度參與數(shù)據(jù)管理。
[0003]通常,用戶(或管理員)是唯一一個知道計算機系統(tǒng)的配置以及每一存儲設(shè)備的特定存儲特性和益處的人。例如,用戶可以知道驅(qū)動器字母C所標識的存儲設(shè)備是SSDdga器D所標識的存儲設(shè)備是RAID陣列,驅(qū)動器E所標識的存儲設(shè)備是SAN,且驅(qū)動器F所標識的存儲設(shè)備是光盤。用戶可以使用他對每一驅(qū)動器的屬性的知識來判定正在使用應(yīng)用時將數(shù)據(jù)存儲在何處。例如,如果用戶想要對數(shù)據(jù)的快速訪問時間,則他可以選擇將該數(shù)據(jù)存儲在SSD上。如果用戶想要將該數(shù)據(jù)存檔,但不期望頻繁訪問該數(shù)據(jù),則他可以使用光盤驅(qū)動器將該數(shù)據(jù)燒制到光盤中。如果用戶選擇得不好,則該數(shù)據(jù)訪問起來可更難或更慢。隨著數(shù)據(jù)特性改變,諸如文件變得較不頻繁地被用戶訪問,則取決于用戶手動地管理該數(shù)據(jù)以將其刪除、及將其移動到不同的存儲設(shè)備等。操作系統(tǒng)提供程序,而第三方提供僅用于管理應(yīng)用所存儲的數(shù)據(jù)的大量實用程序。數(shù)據(jù)管理通常是困難和耗時的任務(wù)。
[0004]概述
[0005]在此描述了從操作系統(tǒng)將存儲展示成統(tǒng)一存儲設(shè)備,并從各應(yīng)用抽象化對存儲設(shè)備的特定存儲位置和不同屬性的選擇的存儲抽象系統(tǒng)。應(yīng)用提供要存儲的數(shù)據(jù)以及與應(yīng)用存儲該數(shù)據(jù)的目標有關(guān)的某些信息,并使操作系統(tǒng)基于該數(shù)據(jù)的特性將該數(shù)據(jù)路由到正確位置。操作系統(tǒng)可以基于與數(shù)據(jù)的持久保存要求、期望使用、訪問頻率、和安全性需求等有關(guān)的信息來選擇將該數(shù)據(jù)存儲在從L2高速緩存到基于云的存儲服務(wù)以及這兩者中間的任何事物的任何地方。該系統(tǒng)使應(yīng)用和用戶關(guān)注于表達其對數(shù)據(jù)的目標和需求,并期望操作系統(tǒng)來管理硬件使得應(yīng)用和用戶能夠重新關(guān)注于使用該數(shù)據(jù),而非變成被埋沒在管理如何存儲該數(shù)據(jù)的細節(jié)中。[0006]在某些實施例中,存儲抽象系統(tǒng)提供向各應(yīng)用展示的API,該API將存儲介質(zhì)抽象化成遠離存儲動作。在寫數(shù)據(jù)時,操作系統(tǒng)接收上下文信息,確定可用的存儲設(shè)備,并自動地選擇用于存儲該數(shù)據(jù)的位置。操作系統(tǒng)向應(yīng)用提供用于在將來請求該數(shù)據(jù)的引用,該引用即使在該數(shù)據(jù)隨后被移動到了新的位置的情況下也可保持有效。操作系統(tǒng)可以維護數(shù)據(jù)被存儲的地方的索引,使得對數(shù)據(jù)的引用可以被解析成數(shù)據(jù)存儲位置。操作系統(tǒng)可以隨時間監(jiān)視數(shù)據(jù),并確定附加的數(shù)據(jù)特性。隨著數(shù)據(jù)特性改變,操作系統(tǒng)可以選擇要將數(shù)據(jù)轉(zhuǎn)移到的新位置,在該新位置處,應(yīng)用仍可使用所提供的引用來訪問該數(shù)據(jù)。因此,存儲抽象系統(tǒng)將應(yīng)用和用戶從管理數(shù)據(jù)放置中釋放出來,而自動地管理所存儲的數(shù)據(jù)以選擇最合適的存儲介質(zhì)。
[0007]提供本概述是為了以簡化的形式介紹將在以下詳細描述中進一步描述的選擇的概念。本概述并不旨在標識所要求保護主題的關(guān)鍵特性或必要特性,也不旨在用于限制所要求保護主題的范圍。
[0008]附圖簡述
[0009]圖1是示出一個實施例中的存儲抽象系統(tǒng)的各組件的框圖。
[0010]圖2是示出在一個實施例中的存儲抽象系統(tǒng)將應(yīng)用數(shù)據(jù)存儲在自動選擇的位置處的處理的流程圖。
[0011]圖3是示出一個實施例中的存儲抽象系統(tǒng)監(jiān)視所存儲的應(yīng)用數(shù)據(jù)以查找已改變的數(shù)據(jù)特性的處理的流程圖。
[0012]詳細描述
[0013]在此描述了從操作系統(tǒng)將存儲展示成統(tǒng)一存儲設(shè)備,并從各應(yīng)用抽象化對存儲設(shè)備的特定存儲位置和不同屬性的選擇的存儲抽象系統(tǒng)。換言之,存儲抽象系統(tǒng)將應(yīng)用的存儲動作與將數(shù)據(jù)存儲在何處的決策分開。應(yīng)用提供要存儲的數(shù)據(jù)以及與應(yīng)用存儲該數(shù)據(jù)的目標有關(guān)的某些信息,并使操作系統(tǒng)基于該數(shù)據(jù)的特性將該數(shù)據(jù)路由到正確位置。操作系統(tǒng)可基于與數(shù)據(jù)的持久保存要求、期望使用、訪問頻率、和安全性需求等有關(guān)的信息來選擇將該數(shù)據(jù)存儲在從L2高速緩存到基于云的存儲服務(wù)以及這兩者中間的任何事物的任何地方。不像當今非常以設(shè)備為中心并嚴重依賴于應(yīng)用和用戶知識的存儲,存儲抽象系統(tǒng)使應(yīng)用和用戶關(guān)注于表達其對數(shù)據(jù)的目標和需求,并期望操作系統(tǒng)像它最初被設(shè)計成要做的那樣管理硬件。應(yīng)用和用戶可以重新關(guān)注于使用該數(shù)據(jù),而非變成被埋沒在管理如何存儲該數(shù)據(jù)的細節(jié)中。
[0014]在某些實施例中,存儲抽象系統(tǒng)提供向各應(yīng)用展示的API,該API將存儲介質(zhì)抽象化成遠離存儲動作。例如,該API可以向各應(yīng)用提供寫和讀功能,其中寫功能指定關(guān)于數(shù)據(jù)的上下文信息,而不指定數(shù)據(jù)位置,而讀功能指定對該數(shù)據(jù)的不透明引用,該不透明引用并不標識特定位置。在寫數(shù)據(jù)時,操作系統(tǒng)接收上下文信息,確定可用的存儲設(shè)備,并自動地選擇用于存儲該數(shù)據(jù)的位置。操作系統(tǒng)向應(yīng)用提供用于在將來請求該數(shù)據(jù)的引用,即使該數(shù)據(jù)隨后被移動到了新的位置,該引用也可保持有效。操作系統(tǒng)可以維護數(shù)據(jù)被存儲的地方的索引,使得對數(shù)據(jù)的引用可以被解析成數(shù)據(jù)存儲位置。操作系統(tǒng)可以隨時間監(jiān)視數(shù)據(jù),并確定附加的數(shù)據(jù)特性。隨著數(shù)據(jù)特性改變,操作系統(tǒng)可以選擇要將數(shù)據(jù)轉(zhuǎn)移到的新位置,在該新位置處,應(yīng)用仍可使用所提供的引用來訪問該數(shù)據(jù)。
[0015]在某些實施例中,存儲抽象系統(tǒng)接收由提供用于表征數(shù)據(jù)的指令的管理員或其他用戶所配置的一組策略。該應(yīng)用本身和用戶也可以提供用于表征該數(shù)據(jù)的指令。策略確定當存儲沖突時哪些上下文信息勝出,并且該系統(tǒng)使用該策略來選擇所接收的數(shù)據(jù)的合適存儲位置。該系統(tǒng)存儲該數(shù)據(jù)以供稍后使用(潛在地具有該數(shù)據(jù)本身),并開始監(jiān)視數(shù)據(jù)使用模式。監(jiān)視允許該系統(tǒng)檢查數(shù)據(jù)特性的改變,這些改變可以為該數(shù)據(jù)建議不同的存儲位置。該系統(tǒng)可以執(zhí)行周期性批處理,以將較合適地存儲的數(shù)據(jù)重新定位在不同的位置。例如,該系統(tǒng)可以將數(shù)據(jù)從基于閃存的盤驅(qū)動器遷移到傳統(tǒng)的硬盤驅(qū)動器、從硬盤驅(qū)動器遷移到基于云的存儲服務(wù)、或在任何其他存儲位置之間遷移。在某些情況下,該系統(tǒng)可以保持多個數(shù)據(jù)副本,并確定要使用哪個副本以滿足任何特定的應(yīng)用請求。在任何給定時間,該系統(tǒng)將諸如等待時間、安全性、可用性、可靠性、保留能力和大小之類的可用存儲的特性與任何給定數(shù)據(jù)項的確定用于存儲該數(shù)據(jù)的合適存儲介質(zhì)的目的相匹配。因此,存儲抽象系統(tǒng)將各應(yīng)用和用戶從管理數(shù)據(jù)放置中釋放出來,而自動地管理所存儲的數(shù)據(jù)以選擇最合適的存儲介質(zhì)。
[0016]圖1是示出一個實施例中的存儲抽象系統(tǒng)的各組件的框圖。系統(tǒng)100包括一個或多個數(shù)據(jù)存儲110、應(yīng)用接口組件120、存儲元數(shù)據(jù)組件130、位置選擇組件140、存儲策略組件150、數(shù)據(jù)監(jiān)視組件160、數(shù)據(jù)轉(zhuǎn)移組件170和數(shù)據(jù)訪問組件180。這些組件中的每個都在此予以更詳細討論。
[0017]一個或多個數(shù)據(jù)存儲110存儲從一個或多個應(yīng)用接收并由該系統(tǒng)管理的數(shù)據(jù)。數(shù)據(jù)存儲可包括一個或多個易失性存儲器、文件、文件系統(tǒng)、硬盤驅(qū)動器、基于閃存的存儲器設(shè)備、存儲區(qū)域網(wǎng)、數(shù)據(jù)庫、基于云的存儲服務(wù)、或用于隨時間持久保存應(yīng)用數(shù)據(jù)的其他設(shè)施。系統(tǒng)100確定可用于存儲數(shù)據(jù)的數(shù)據(jù)存儲110,并自動地代表應(yīng)用或用戶為任何給定數(shù)據(jù)項選擇合適的數(shù)據(jù)存儲。系統(tǒng)100基于高效地管理數(shù)據(jù)而不將應(yīng)用或用戶埋沒在該任務(wù)中的一個或多個策略或目標來選擇數(shù)據(jù)存儲。
[0018]應(yīng)用接口組件120向一個或多個應(yīng)用提供用于存儲和訪問應(yīng)用所使用的數(shù)據(jù)的接口。該接口可包括一個或多個AP1、用戶接口、用于將信息傳送到系統(tǒng)100或從系統(tǒng)100傳送出的其他通道。應(yīng)用接口組件120從應(yīng)用接收存儲和訪問數(shù)據(jù)的請求,并調(diào)用系統(tǒng)100的其他組件來完成該請求。例如,在接收對來自應(yīng)用的訪問之前存儲的數(shù)據(jù)項的引用后,應(yīng)用接口組件120可以調(diào)用數(shù)據(jù)訪問組件180來定位和檢索所請求的數(shù)據(jù)。
[0019]存儲元數(shù)據(jù)組件130從應(yīng)用接收信息,并自動地確定該應(yīng)用請求要存儲的數(shù)據(jù)的特性。這些特性可包括描述以下的信息:應(yīng)用訪問數(shù)據(jù)將有多頻繁、數(shù)據(jù)的優(yōu)先級、數(shù)據(jù)的可恢復性、數(shù)據(jù)的安全性期望、和對數(shù)據(jù)的法律遵從要求等等。這些數(shù)據(jù)特性影響數(shù)據(jù)可被存儲在何處,以及從哪個數(shù)據(jù)存儲可以最高效地訪問該數(shù)據(jù)。例如,受制于當?shù)氐姆啥荒軐С龅慕】祷驑I(yè)務(wù)信息可能不適于存儲在包括在外國的服務(wù)器的云中。被頻繁訪問的數(shù)據(jù)可以最適于存儲在本地的低等待時間的設(shè)備中,而較低優(yōu)先級或較不頻繁地被訪問的數(shù)據(jù)可能能夠被高效地存儲在遠程或被存儲在較高等待時間的存儲介質(zhì)中。
[0020]位置選擇組件140基于所確定的數(shù)據(jù)特性來自動地選擇要用于存儲接收到的應(yīng)用數(shù)據(jù)的存儲介質(zhì)以及其中的位置。組件140可以枚舉并管理可用存儲設(shè)備的列表,并且可以應(yīng)用一個或多個策略或試探以基于數(shù)據(jù)項特性、系統(tǒng)的目標、和操作系統(tǒng)的需求等來為特定數(shù)據(jù)項選擇合適的存儲介質(zhì)。例如,如果存儲介質(zhì)變滿了或變得嚴重碎片化,則組件140可以選擇不同的存儲介質(zhì)來存儲新數(shù)據(jù)。作為另一示例,該系統(tǒng)可以將等待時間、安全性或其他考慮因素考慮在內(nèi)以選擇將向用戶提供針對數(shù)據(jù)的期望級別的服務(wù)的介質(zhì)。例如,用戶不會期望訪問用戶頻繁訪問的文檔的長延遲,但可以接受訪問幾乎不使用的數(shù)據(jù)的較長延遲。這可允許組件140在遠程存儲和本地存儲、以及低等待時間存儲和高等待時間存儲之間進行選擇。系統(tǒng)100還可以考慮遷移數(shù)據(jù)的帶寬成本。例如,與大型文件相比,小型文件可被放置得更遠,因為與用來檢索大型文件的帶寬相比,用來檢索小型文件的帶寬更小,并由此引起更低的成本。
[0021]存儲策略組件150接收影響所選擇的用于存儲接收到的數(shù)據(jù)的位置和介質(zhì)的一個或多個策略。管理員可以確定某組織的與該組織的內(nèi)部策略一致的一個或多個策略、該組織受制于其來運作的法律遵從、或與將數(shù)據(jù)存儲在何處有關(guān)的其他限制。系統(tǒng)100可以提供通過其管理員或其他用戶可以配置如何存儲數(shù)據(jù)的偏好的用戶接口。系統(tǒng)100可以基于文件類型、創(chuàng)建該數(shù)據(jù)的應(yīng)用、該數(shù)據(jù)被創(chuàng)建在何處、創(chuàng)建該數(shù)據(jù)的用戶、或系統(tǒng)100所呈現(xiàn)的任何其他準則來接收針對不同類型的數(shù)據(jù)的不同策略。
[0022]數(shù)據(jù)監(jiān)視組件160隨時間監(jiān)視所存儲的數(shù)據(jù)以確定數(shù)據(jù)特性是否改變,以及自動選擇的存儲位置是否保持在用于存儲每一數(shù)據(jù)項的合適位置。例如,如果一旦被頻繁訪問的數(shù)據(jù)在閾值時間段沒有被訪問,則組件160可以確定該數(shù)據(jù)可被移動到較高等待時間、較廉價成本的存儲或甚至被刪除。相反,如果數(shù)據(jù)被訪問得比最初所期望的更頻繁,則該系統(tǒng)可以通過將該數(shù)據(jù)移動到低等待時間的、本地存儲設(shè)備或甚至將該數(shù)據(jù)保持在存儲器或L2高速緩存中來使得該數(shù)據(jù)可被容易獲得。數(shù)據(jù)監(jiān)視組件160可以向用戶提供反饋或生成報告給用戶,使得用戶可以管理并監(jiān)視系統(tǒng)100如何作出與用戶的數(shù)據(jù)有關(guān)的決策。
[0023]數(shù)據(jù)轉(zhuǎn)移組件170將最初存儲在第一位置的數(shù)據(jù)移動到由數(shù)據(jù)監(jiān)視組件160所確定的第二位置。數(shù)據(jù)轉(zhuǎn)移組件170可以由于數(shù)據(jù)的改變的特性而移動該數(shù)據(jù)、演變系統(tǒng)100對其操作的計算設(shè)備(例如,逐漸變滿或請求將數(shù)據(jù)轉(zhuǎn)移到新計算設(shè)備的盤)的需求、帶寬成本、或影響數(shù)據(jù)的高效放置的其他因素。數(shù)據(jù)轉(zhuǎn)移組件170可以將數(shù)據(jù)移動到新位置,并惰性地將數(shù)據(jù)從老位置移除,以允許各應(yīng)用繼續(xù)訪問處于兩個位置的數(shù)據(jù),或者更高效地利用計算設(shè)備的資源。本領(lǐng)域的普通技術(shù)人員將意識到,用于高效處理數(shù)據(jù)復制和移動的很多現(xiàn)有技術(shù)可以結(jié)合在此描述的系統(tǒng)100來使用。
[0024]數(shù)據(jù)訪問組件180向各應(yīng)用提供對一個或多個數(shù)據(jù)項的訪問,而不管這些項的、之前由系統(tǒng)100自動選擇的存儲位置。組件180從應(yīng)用接收對數(shù)據(jù)的引用(例如,全局唯一標識符(GUID)),并咨詢系統(tǒng)100所管理的索引或其他數(shù)據(jù)結(jié)構(gòu)以確定該數(shù)據(jù)目前被存儲在何處。組件180隨后訪問在所標識的位置處的數(shù)據(jù),并將該數(shù)據(jù)提供給應(yīng)用。該應(yīng)用可以保持未意識到該數(shù)據(jù)被存儲在何處,并且可以避免與當今計算系統(tǒng)相關(guān)聯(lián)的復雜數(shù)據(jù)管理的負擔。
[0025]在其上面實現(xiàn)了存儲抽象系統(tǒng)的計算設(shè)備可包括中央處理單元、存儲器、輸入設(shè)備(例如,鍵盤和指示設(shè)備)、輸出設(shè)備(例如,顯示設(shè)備),以及存儲設(shè)備(例如,磁盤驅(qū)動器或其他非易失性存儲介質(zhì))。存儲器和存儲設(shè)備是可以是編碼有實現(xiàn)或啟用該系統(tǒng)的計算機可執(zhí)行指令(如軟件)的計算機可讀存儲介質(zhì)。此外,數(shù)據(jù)結(jié)構(gòu)和消息結(jié)構(gòu)可被存儲或經(jīng)由諸如通信鏈路上的信號等數(shù)據(jù)傳輸介質(zhì)傳送??梢允褂酶鞣N通信鏈路,諸如因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)、點對點撥號連接、蜂窩電話網(wǎng)絡(luò)等。
[0026]該系統(tǒng)的實施例可以在各種操作環(huán)境中實現(xiàn),這些操作環(huán)境包括個人計算機、月艮務(wù)器計算機、手持式或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費電子產(chǎn)品、數(shù)碼相機、網(wǎng)絡(luò)PC、小型計算機、大型計算機、包括上述系統(tǒng)或設(shè)備等中任一種的分布式計算環(huán)境、機頂盒、片上系統(tǒng)(SOC)等。計算機系統(tǒng)可以是蜂窩電話、個人數(shù)字助理、智能電話、個人計算機、可編程消費電子設(shè)備、數(shù)碼相機等。
[0027]該系統(tǒng)可以在由一個或多個計算機或其他設(shè)備執(zhí)行的諸如程序模塊等計算機可執(zhí)行指令的通用上下文中描述。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等。通常,程序模塊的功能可在各個實施例中按需進行組合或分布。
[0028]圖2是示出在一個實施例中的存儲抽象系統(tǒng)將應(yīng)用數(shù)據(jù)存儲在自動選擇的位置的處理的流程圖。
[0029]在框210中開始,系統(tǒng)接收存儲應(yīng)用所生成的數(shù)據(jù)的應(yīng)用請求。該請求可包括到一個或多個數(shù)據(jù)字節(jié)的指針、數(shù)據(jù)大小、和該數(shù)據(jù)的一個或多個特性。這些特性可標識訪問該數(shù)據(jù)的期望頻率、該數(shù)據(jù)將被需要多久(例如,臨時文件對照永久存儲)、該數(shù)據(jù)是私有的還是安全性敏感的、和與該數(shù)據(jù)相關(guān)聯(lián)的任何法律遵從限制等等。該系統(tǒng)可以接收這些特性作為由操作系統(tǒng)提供給應(yīng)用的存儲API的一個或多個標志或其他參數(shù)。
[0030]在框220繼續(xù),該系統(tǒng)接收描述對確定將數(shù)據(jù)存儲在何處有用的數(shù)據(jù)特性的元數(shù)據(jù)。如之前所述,該系統(tǒng)可以伴隨存儲該數(shù)據(jù)的請求接收該元數(shù)據(jù),或者可接收描述該數(shù)據(jù)的分開的信息。在某些實施例中,該系統(tǒng)提供允許現(xiàn)有應(yīng)用調(diào)用傳統(tǒng)的文件系統(tǒng)API的后向兼容性層,而另一應(yīng)用或組件提供描述該應(yīng)用所存儲的數(shù)據(jù)的元數(shù)據(jù)。
[0031]在框230中繼續(xù),除了從應(yīng)用接收到的數(shù)據(jù)特性之外,該系統(tǒng)還自動地確定一個或多個數(shù)據(jù)特性。例如,該系統(tǒng)可以記錄提供有該數(shù)據(jù)的應(yīng)用、何時接收到該數(shù)據(jù)、該數(shù)據(jù)有多大、以及可從知識庫訪問的描述該應(yīng)用的典型行為的信息、等等。該系統(tǒng)使用所接收的和所確定的數(shù)據(jù)特性來創(chuàng)建該應(yīng)用將如何使用所存儲的數(shù)據(jù)的完整圖片,使得該系統(tǒng)可以從多個可用存儲設(shè)備中選擇用于該數(shù)據(jù)的合適位置。
[0032]在框240繼續(xù),該系統(tǒng)標識一個或多個潛在存儲位置以及該系統(tǒng)可用來存儲應(yīng)用數(shù)據(jù)的那些所標識位置的屬性。該系統(tǒng)可以調(diào)用用于以下的一個或多個操作系統(tǒng)功能:枚舉附連到其上正運行該系統(tǒng)的計算系統(tǒng)的存儲設(shè)備以及接收描述外部存儲位置(諸如基于云的數(shù)據(jù)存儲、遠程數(shù)據(jù)庫、和文件共享等)的信息。甚至在僅存在單個存儲設(shè)備(例如,硬盤驅(qū)動器)時,該系統(tǒng)仍通過使應(yīng)用從需要理解存儲設(shè)備的數(shù)量中解脫出來而使該應(yīng)用受益。在多個存儲設(shè)備的情況下,該系統(tǒng)將應(yīng)用(和用戶)從復雜的文件管理中釋放出來,并代表應(yīng)用來選擇將數(shù)據(jù)存儲在何處。該系統(tǒng)還可以利用已知的有關(guān)多個應(yīng)用的信息來為整個系統(tǒng)以與任何單個應(yīng)用將使用該信息所做的相比更高效的方式管理數(shù)據(jù)。
[0033]在框250繼續(xù),該系統(tǒng)基于數(shù)據(jù)特性和存儲位置屬性自動地選擇潛在存儲位置之一。該系統(tǒng)使數(shù)據(jù)特性和應(yīng)用期望與存儲位置屬性匹配。例如,如果應(yīng)用請求頻繁訪問數(shù)據(jù)項,且特定存儲位置提供對所存儲的項的快速、低等待時間的訪問,則該系統(tǒng)可判定將該數(shù)據(jù)項存儲在那個存儲位置。該系統(tǒng)還可以考慮該應(yīng)用所不知道的其他屬性,諸如存儲設(shè)備的可用容量、以及存儲設(shè)備所消耗的電力等等。該系統(tǒng)要么不從該應(yīng)用接收存儲位置,要么可忽略該應(yīng)用所提供的位置以基于該系統(tǒng)所選擇的準則來選擇位置。
[0034]在框260繼續(xù),該系統(tǒng)響應(yīng)于存儲請求而向應(yīng)用提供一引用,通過該引用,該應(yīng)用可以訪問該數(shù)據(jù)而不管該數(shù)據(jù)的位置。該引用可以包括該系統(tǒng)可以使用來確定該應(yīng)用正在請求哪個數(shù)據(jù)項以及確定該系統(tǒng)當前將底層的數(shù)據(jù)項存儲在何處的GUID、散列鍵、或其他引用。該系統(tǒng)可以包括用于對數(shù)據(jù)項被存儲何處進行分類以及使所存儲的每一數(shù)據(jù)項與給予該應(yīng)用的、用于檢索該數(shù)據(jù)項的引用匹配的索引或其他數(shù)據(jù)結(jié)構(gòu)。在框260之后,這些步驟結(jié)束。
[0035]圖3是示出一個實施例中的存儲抽象系統(tǒng)監(jiān)視所存儲的應(yīng)用數(shù)據(jù)以查找已改變的數(shù)據(jù)特性的處理的流程圖。
[0036]在框310中開始,該系統(tǒng)監(jiān)視所存儲的數(shù)據(jù)項以標識指示如何使用該數(shù)據(jù)項的一個或多個數(shù)據(jù)訪問特性。例如,該系統(tǒng)可以觀察訪問該數(shù)據(jù)的頻率、訪問該數(shù)據(jù)的時辰、以及該數(shù)據(jù)在其首次被寫入后是否曾經(jīng)被更新過(例如,為單寫多讀(WORM)的數(shù)據(jù))、等等。
[0037]在框320中繼續(xù),該系統(tǒng)基于所標識的數(shù)據(jù)訪問特性來更新描述所存儲的數(shù)據(jù)項的所存儲元數(shù)據(jù)。該系統(tǒng)可以跟蹤元數(shù)據(jù)以查找該系統(tǒng)所存儲的每一項,或查找利用該系統(tǒng)所提供的自動化存儲位置選擇的各項。該元數(shù)據(jù)聚集該系統(tǒng)所知道的描述每一數(shù)據(jù)項如何被使用的信息,使得該系統(tǒng)可以將該聚集信息考慮在與管理該數(shù)據(jù)有關(guān)的決策中。
[0038]在框330繼續(xù),該系統(tǒng)將該數(shù)據(jù)轉(zhuǎn)移到新的位置,而無需通知最初存儲該數(shù)據(jù)的應(yīng)用。該系統(tǒng)將被存儲的數(shù)據(jù)的應(yīng)用知識與數(shù)據(jù)被存儲在何處的系統(tǒng)知識分開,使得該應(yīng)用可以關(guān)注于該應(yīng)用的數(shù)據(jù)上下文,并從管理如何存儲數(shù)據(jù)以及將數(shù)據(jù)存儲在何處中解脫出來。該系統(tǒng)代表多個應(yīng)用來管理如何存儲數(shù)據(jù)以及將數(shù)據(jù)存儲在何處,并可根據(jù)基于信息技術(shù)(IT)策略或其他目標的全局或跨應(yīng)用的策略來管理數(shù)據(jù)。
[0039]在框340中繼續(xù),該系統(tǒng)接收訪問已轉(zhuǎn)移數(shù)據(jù)的應(yīng)用請求,其中該應(yīng)用提供引用來標識該數(shù)據(jù),但該引用不包括指示將該數(shù)據(jù)存儲在何處的信息。該系統(tǒng)使用接收到的引用和該系統(tǒng)所管理的位置信息來查找數(shù)據(jù)的位置。
[0040]在框350繼續(xù),該系統(tǒng)基于接收到的引用來確定該數(shù)據(jù)的存儲位置。該存儲位置可包括特定存儲介質(zhì)、存儲設(shè)備、和存儲設(shè)備內(nèi)的位置。例如,該位置可指示硬盤驅(qū)動器上的文件夾、對基于云的存儲服務(wù)的數(shù)據(jù)引用、或其他存儲位置信息。該系統(tǒng)可包括本地索弓丨、遠程索引或分布式索引,利用這些索引,該系統(tǒng)可以將存儲位置映射到各數(shù)據(jù)項,使得在請求后各數(shù)據(jù)項可被尋找到,而不管其位置,并且無需應(yīng)用知道該系統(tǒng)之前將該數(shù)據(jù)放置在何處或該系統(tǒng)之后將該數(shù)據(jù)轉(zhuǎn)移到何處。
[0041]在框360中繼續(xù),該系統(tǒng)在所確定的位置處訪問所請求的數(shù)據(jù),并將所請求的數(shù)據(jù)提供給應(yīng)用。該系統(tǒng)可使用文件系統(tǒng)AP1、針對云存儲的web服務(wù)AP1、或使用用于訪問數(shù)據(jù)的其他范例來檢索該數(shù)據(jù)。不管該數(shù)據(jù)被存儲在何處也不管該數(shù)據(jù)被存儲的位置的任何唯一屬性,該存儲抽象系統(tǒng)將用于訪問數(shù)據(jù)的統(tǒng)一接口呈現(xiàn)給該應(yīng)用,使得該應(yīng)用從了解和管理不同的設(shè)備特性和訪問方法中解脫出來。在框360之后,這些步驟結(jié)束。
[0042]在某些實施例中,存儲抽象系統(tǒng)將大小不受限制的存儲設(shè)備提供給應(yīng)用。由于當今的應(yīng)用顯式地選擇存儲設(shè)備,當設(shè)備變滿時,該應(yīng)用可以不再將數(shù)據(jù)存儲到設(shè)備。然而,該系統(tǒng)不是將任何一個存儲設(shè)備都呈現(xiàn)給應(yīng)用,而是提供該應(yīng)用可用來存儲潛在的數(shù)量不受限制的數(shù)據(jù)的存儲服務(wù)。在應(yīng)用存儲數(shù)據(jù)時,該系統(tǒng)可以將一些數(shù)據(jù)放置在一個存儲設(shè)備上,而將另一些數(shù)據(jù)放置在其他存儲設(shè)備上,使得隨著應(yīng)用對存儲空間的需求的增長,該系統(tǒng)可以尋找到越來越多的存儲并將其提供給該應(yīng)用。最終,該系統(tǒng)可以將存儲擴展到云或其他外部存儲之上,使得該應(yīng)用不會用完空間。該系統(tǒng)還可以通過以下方式來處理對額外存儲的高峰或不尋常但時間敏感的應(yīng)用請求:標識可用的外部存儲,并將所標識的存儲提供給該應(yīng)用,直到該應(yīng)用返回到正常的存儲需求級別。
[0043]通過前面的描述,將理解,此處描述的存儲抽象系統(tǒng)的特定實施例只是為了說明,但是,在不偏離本發(fā)明的精神和范圍的情況下,可以進行各種修改。因此,本發(fā)明只受所附權(quán)利要求限制。
【權(quán)利要求】
1.一種將應(yīng)用數(shù)據(jù)存儲在自動選擇位置的計算機實現(xiàn)的方法,所述方法包括: 接收對存儲應(yīng)用所生成的數(shù)據(jù)的應(yīng)用請求; 接收描述對確定將所述數(shù)據(jù)存儲在何處有用的所述數(shù)據(jù)的特性的元數(shù)據(jù); 除了從所述應(yīng)用接收的數(shù)據(jù)特性外,還自動確定一個或多個數(shù)據(jù)特性; 標識一個或多個潛在存儲位置以及所述系統(tǒng)能存儲所述應(yīng)用數(shù)據(jù)的所標識位置的屬性; 基于所述數(shù)據(jù)特性和存儲位置屬性自動選擇所述潛在存儲位置之一; 響應(yīng)于所述存儲請求而向所述應(yīng)用提供一引用,通過所述引用,所述應(yīng)用能訪問所述數(shù)據(jù)而不管所述數(shù)據(jù)的位置, 其中前述步驟由至少一個處理器來執(zhí)行。
2.如權(quán)利要求1所述的方法,其特征在于,接收所述應(yīng)用請求包括接收一個或多個數(shù)據(jù)字節(jié)、數(shù)據(jù)大小、以及所述數(shù)據(jù)的一個或多個特性。
3.如權(quán)利要求1所述的方法,其特征在于,接收所述應(yīng)用請求包括接收標識所述應(yīng)用訪問所述數(shù)據(jù)的期望頻率的信息。
4.如權(quán)利要求1所述的方法,其特征在于,接收所述應(yīng)用請求包括接收標識所述數(shù)據(jù)將被所述應(yīng)用需要多久的信息。
5.如權(quán)利要求1所述的方法,其特征在于,接收所述應(yīng)用請求包括接收標識所述數(shù)據(jù)是私有的、安全性敏感的、還是具有與所述數(shù)據(jù)相關(guān)聯(lián)的法律遵從限制的信息。
6.如權(quán)利要求1所述的方法,其特征在于,接收元數(shù)據(jù)包括與所述存儲請求分開地接收元數(shù)據(jù),以允許與調(diào)用傳統(tǒng)的文件系統(tǒng)API來存儲數(shù)據(jù)的現(xiàn)有應(yīng)用的后向兼容性。
7.如權(quán)利要求1所述的方法,其特征在于,自動確定特性包括標識提供有所述數(shù)據(jù)的應(yīng)用。
8.如權(quán)利要求1所述的方法,其特征在于,標識潛在存儲位置包括調(diào)用用于枚舉附連到計算系統(tǒng)的各存儲設(shè)備的一個或多個操作系統(tǒng)功能。
9.如權(quán)利要求1所述的方法,其特征在于,標識潛在存儲位置包括接收描述包括至少一個基于云的數(shù)據(jù)存儲服務(wù)在內(nèi)的一個或多個外部存儲位置的信息。
10.如權(quán)利要求1所述的方法,其特征在于,標識潛在存儲位置包括標識與至少一個其他應(yīng)用對數(shù)據(jù)存儲的使用有關(guān)的信息,以跨多個應(yīng)用高效地管理各數(shù)據(jù)存儲位置。
11.如權(quán)利要求1所述的方法,其特征在于,選擇存儲位置包括使數(shù)據(jù)特性與存儲位置屬性匹配以確定用于存儲所請求的數(shù)據(jù)的存儲位置。
12.如權(quán)利要求1所述的方法,其特征在于,選擇存儲位置包括考慮所述應(yīng)用所不知道的與每一存儲位置有關(guān)的其他屬性。
13.如權(quán)利要求1所述的方法,其特征在于,向所述應(yīng)用提供所述引用包括創(chuàng)建所述系統(tǒng)能夠使用來確定所述應(yīng)用正在查找哪個數(shù)據(jù)項并確定所述系統(tǒng)當前正將所請求的數(shù)據(jù)項存儲在何處的引用。
14.如權(quán)利要求1所述的方法,其特征在于,向所述應(yīng)用提供所述引用包括提供與數(shù)據(jù)項的索引有關(guān)的引用。
15.一種供存儲介質(zhì)抽象提供統(tǒng)一數(shù)據(jù)存儲的計算機系統(tǒng),所述系統(tǒng)包括: 被配置成執(zhí)行包含在以下組件內(nèi)的軟件指令的處理器和存儲器;一個或多個數(shù)據(jù)存儲,所述一個或多個數(shù)據(jù)存儲存儲從一個或多個應(yīng)用接收并由所述系統(tǒng)管理的數(shù)據(jù); 應(yīng)用接口組件,所述應(yīng)用接口組件向一個或多個應(yīng)用提供用于存儲和訪問每一應(yīng)用所使用的數(shù)據(jù)的接口; 存儲元數(shù)據(jù)組件,所述存儲元數(shù)據(jù)組件從應(yīng)用接收信息,并自動地確定該應(yīng)用請求要存儲的數(shù)據(jù)的特性; 位置選擇組件,所述位置選擇組件基于所確定的數(shù)據(jù)特性來自動地選擇用于存儲接收到的應(yīng)用數(shù)據(jù)的存儲介質(zhì)以及其中的用來存儲接收到的應(yīng)用數(shù)據(jù)的位置; 存儲策略組件,所述存儲策略組件接收影響所選擇的用于存儲接收到的數(shù)據(jù)的位置和介質(zhì)的一個或多個策略; 數(shù)據(jù)監(jiān)視組件,所述數(shù)據(jù)監(jiān)視組件隨時間監(jiān)視所存儲的數(shù)據(jù)以確定數(shù)據(jù)特性是否改變,以及自動選擇的存儲位置是否保持在用于存儲每一數(shù)據(jù)項的合適位置; 數(shù)據(jù)轉(zhuǎn)移組件,所述數(shù)據(jù)轉(zhuǎn)移組件將最初存儲在第一位置的數(shù)據(jù)移動到所述數(shù)據(jù)監(jiān)視組件所確定的第二位置;以及 數(shù)據(jù)訪問組件,所述數(shù)據(jù)訪問組件向一個或多個數(shù)據(jù)項提供對各應(yīng)用的訪問,而不管之前由所述系統(tǒng)自動選擇的這些項的`存儲位置。
【文檔編號】G06F9/44GK103620549SQ201280030193
【公開日】2014年3月5日 申請日期:2012年6月18日 優(yōu)先權(quán)日:2011年6月20日
【發(fā)明者】D·福提爾, S·馬耶, J·阿塞姆 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
漳平市| 英德市| 常宁市| 长泰县| 贵阳市| 杨浦区| 苗栗县| 绿春县| 沂南县| 临颍县| 定日县| 姜堰市| 佛山市| 南溪县| 建平县| 伊宁县| 连城县| 娱乐| 苍溪县| 东乌| 凤台县| 罗山县| 宁津县| 诸城市| 策勒县| 无锡市| 衢州市| 永安市| 黑河市| 木兰县| 沧州市| 吉木乃县| 尼勒克县| 广饶县| 维西| 尉犁县| 通榆县| 莎车县| 会泽县| 溆浦县| 澄江县|