亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于轉(zhuǎn)換存儲的邏輯數(shù)據(jù)對象的方法和系統(tǒng)的制作方法

文檔序號:6350003閱讀:256來源:國知局
專利名稱:用于轉(zhuǎn)換存儲的邏輯數(shù)據(jù)對象的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算系統(tǒng),更具體地,涉及能夠轉(zhuǎn)換計算系統(tǒng)中存儲的邏輯數(shù)據(jù)對象的方法和系統(tǒng)及其網(wǎng)絡(luò)。
背景技術(shù)
隨著對于更快的需求的增長,更強健且更有效的存儲信息的方式、存儲技術(shù)的優(yōu)化成為關(guān)鍵難題。出于傳輸和/或存儲目的,邏輯數(shù)據(jù)對象(數(shù)據(jù)文件、圖像文件、數(shù)據(jù)塊等)可以被轉(zhuǎn)換。該轉(zhuǎn)換可以包括壓縮、加密、編碼等和/或它們的組合。例如,數(shù)據(jù)壓縮技術(shù)被用于減少要存儲或傳輸?shù)臄?shù)據(jù)量,以分別減少存儲容量和傳輸時間。壓縮可以通過使用本領(lǐng)域已知的不同壓縮算法來實現(xiàn)。以明文存儲的數(shù)據(jù)對于潛在的惡意使用(例如,未經(jīng)授權(quán)的訪問、濫用、竊取等)是公開的,而本領(lǐng)域已知的用于周邊和/或訪問控制的解決方案(例如,防火墻、虛擬專用網(wǎng)、LUN掩碼控制和SAN存儲網(wǎng)絡(luò)中的分區(qū)、NAS安全控制特征等)仍留有安全弱點。加密要存儲的數(shù)據(jù)可以顯著地減少安全威脅;這種加密可以通過使用本領(lǐng)域已知的不同算法來提供?,F(xiàn)有技術(shù)已經(jīng)認(rèn)識到對用于存儲的數(shù)據(jù)進(jìn)行壓縮、帶加密的壓縮或其它轉(zhuǎn)換的問題,并且已經(jīng)開發(fā)了各種系統(tǒng)來提供如以下申請中的方案,例如2007年12月12日公布的轉(zhuǎn)讓給本申請的受讓人的國際申請W02007138600、W02007138601和W02007138602。在此通過引用并入全部上述國際申請的全部內(nèi)容。

發(fā)明內(nèi)容
存儲的數(shù)據(jù)的優(yōu)化可能要求將該存儲的數(shù)據(jù)從原始形式轉(zhuǎn)變?yōu)檗D(zhuǎn)換的形式。這種優(yōu)化可以使得能夠例如減少存儲/盤空間,減少對于存儲的運行時間I/O需求,增加數(shù)據(jù)安全性等。已知的將存儲的原始數(shù)據(jù)直接前向轉(zhuǎn)變成轉(zhuǎn)換的形式的處理需要存儲系統(tǒng)的停機時間,該停機時間可能非常長(例如,壓縮大型企業(yè)中存儲的數(shù)據(jù)所需的停機時間可能是幾個月甚至幾年)。本發(fā)明的一些實施例的優(yōu)勢之一是使得能夠以基本上無縫的方式將原始數(shù)據(jù)轉(zhuǎn)變?yōu)檗D(zhuǎn)換的形式,無需該處理的停機時間。根據(jù)本申請的主題的一些方面,提供了一種將存儲設(shè)備中存儲的未經(jīng)轉(zhuǎn)換的邏輯數(shù)據(jù)對象(LO)轉(zhuǎn)換為該存儲設(shè)備中存儲的轉(zhuǎn)換的LO的方法,該存儲設(shè)備能夠以至少一種存儲協(xié)議運行。該方法包括a)響應(yīng)于相應(yīng)的轉(zhuǎn)換請求,將未經(jīng)轉(zhuǎn)換的LO邏輯地劃分為第一分段和一個或更多個未經(jīng)轉(zhuǎn)換的后續(xù)分段,所述分段具有預(yù)定尺寸;b)為相應(yīng)的轉(zhuǎn)換的 LO產(chǎn)生首部,所述首部包括表示轉(zhuǎn)換處理“進(jìn)行中”的指示;c)處理所述第一分段,從而產(chǎn)生轉(zhuǎn)換的第一分段,該轉(zhuǎn)換的第一分段包括處于轉(zhuǎn)換的形式的數(shù)據(jù);d)在所產(chǎn)生的首部和所述轉(zhuǎn)換的第一分段的總尺寸匹配預(yù)定尺寸準(zhǔn)則的情況下,由所產(chǎn)生的首部和所述轉(zhuǎn)換的第一分段重寫所述第一分段;e)為所述轉(zhuǎn)換的第一分段和所述一個或更多個未經(jīng)轉(zhuǎn)換的后續(xù)分段做索引來構(gòu)成所述轉(zhuǎn)換的LO的一部分,從而產(chǎn)生帶索引的分段;f)產(chǎn)生至少一個索引部,該索引部包括至少保存與所述帶索引的分段相關(guān)的信息的至少一個條目,所述信息包括每個分段在所述未經(jīng)轉(zhuǎn)換的LO中的偏移、相應(yīng)的帶索引的分段的存儲位置的指示、 以及所述帶索引的分段是否包含原始形式或轉(zhuǎn)換的形式的數(shù)據(jù)的指示;以及g)更新該首部中的指示以表明未經(jīng)轉(zhuǎn)換的LO已經(jīng)被轉(zhuǎn)換成轉(zhuǎn)換的L0,該轉(zhuǎn)換的LO包括所產(chǎn)生的首部、 所述轉(zhuǎn)換的第一分段、包含處于未經(jīng)轉(zhuǎn)換形式的數(shù)據(jù)的所述一個或更多個后續(xù)分段以及所述至少一個索引部。每個未經(jīng)轉(zhuǎn)換的后續(xù)分段的尺寸可以被配置為等于按照相應(yīng)的存儲協(xié)議的單個 I/O操作中的數(shù)據(jù)的最大尺寸。第一分段的尺寸可以被配置為等于首部的預(yù)定尺寸與按照相應(yīng)的存儲協(xié)議的單個I/O操作中的數(shù)據(jù)的最大尺寸的總和,或者替代地,等于單個I/O操作中的數(shù)據(jù)的最大尺寸。轉(zhuǎn)換請求可以通過截取對未經(jīng)轉(zhuǎn)換的LO的訪問請求、并在所述未經(jīng)轉(zhuǎn)換的LO匹配預(yù)定轉(zhuǎn)換準(zhǔn)則的情況下產(chǎn)生轉(zhuǎn)換未經(jīng)轉(zhuǎn)換的LO的請求來獲得。替代地或附加地,可以從維護單元接收轉(zhuǎn)換請求,該維護單元能夠識別所存儲的LO中的未經(jīng)轉(zhuǎn)換的LO并產(chǎn)生轉(zhuǎn)換所識別的未經(jīng)轉(zhuǎn)換LO的請求??蛇x地,第一轉(zhuǎn)換的分段和一個或更多個后續(xù)未經(jīng)轉(zhuǎn)換的分段可以被索引成數(shù)據(jù)塊,該數(shù)據(jù)塊被順序容納到具有預(yù)定尺寸的一個或更多個存儲塊中,其中容納順序?qū)?yīng)于分段在未經(jīng)轉(zhuǎn)換的LO中的順序。根據(jù)其它方面,該方法可以還包括a)響應(yīng)于進(jìn)一步轉(zhuǎn)換的請求,在索引部的幫助下識別包含具有實時數(shù)據(jù)的范圍且匹配預(yù)定進(jìn)一步轉(zhuǎn)換準(zhǔn)則的至少一個后續(xù)未經(jīng)轉(zhuǎn)換的分段;b)處理相應(yīng)的范圍并將所產(chǎn)生的帶有轉(zhuǎn)換的數(shù)據(jù)的數(shù)據(jù)塊作為新日志順序容納在所分配的具有預(yù)定尺寸的存儲塊中;以及c)以促進(jìn)未經(jīng)轉(zhuǎn)換的LO中的數(shù)據(jù)范圍中的每個點與要從轉(zhuǎn)換的LO中讀取的實時數(shù)據(jù)之間的一對一關(guān)系的方式更新索引部。進(jìn)一步轉(zhuǎn)換的請求可以如下方式獲得截取對于未經(jīng)轉(zhuǎn)換的LO的寫入請求,分析相應(yīng)的轉(zhuǎn)換的LO是否包括原始形式的數(shù)據(jù),并且在是的情況下產(chǎn)生轉(zhuǎn)換以原始形式存儲在所述轉(zhuǎn)換的LO中的數(shù)據(jù)的請求。替代地或附加地,可以從維護單元接收進(jìn)一步轉(zhuǎn)換請求,該維護單元能夠掃描存儲設(shè)備中存儲的轉(zhuǎn)換的L0、識別包含原始形式的數(shù)據(jù)的L0、以及按照預(yù)定進(jìn)一步轉(zhuǎn)換準(zhǔn)則產(chǎn)生轉(zhuǎn)換該數(shù)據(jù)的請求。根據(jù)其它方面,該方法可以還包括將數(shù)據(jù)范圍寫入轉(zhuǎn)換的L0。該寫入進(jìn)一步包括 a)響應(yīng)于相應(yīng)的寫入請求,處理與所述數(shù)據(jù)范圍對應(yīng)的一個或更多個順序獲得的數(shù)據(jù)塊, 其中所處理的數(shù)據(jù)塊中的至少一個包括處于由所述處理導(dǎo)致的轉(zhuǎn)換的形式的數(shù)據(jù);b)將所處理的數(shù)據(jù)塊順序容納在所分配的具有預(yù)定尺寸的存儲塊中,其中該容納按照接收數(shù)據(jù)塊的順序來提供;以及c)以促進(jìn)數(shù)據(jù)范圍中的數(shù)據(jù)與要從轉(zhuǎn)換的LO中讀取的相應(yīng)數(shù)據(jù)之間的一對一關(guān)系的方式更新索引部。根據(jù)其它方面,該方法可以還包括從轉(zhuǎn)換的LO讀取數(shù)據(jù)范圍,所述讀取包括a)響應(yīng)于相應(yīng)的讀取請求,檢查與所述數(shù)據(jù)范圍內(nèi)的數(shù)據(jù)相關(guān)的索引部中的所有創(chuàng)建的和/ 或上次更新的條目;b)按照由條目提供的映射以如下方式提取數(shù)據(jù)i)對于容納于第一分段中的要讀取的數(shù)據(jù),解除該分段的轉(zhuǎn)換并提取所需的數(shù)據(jù);ii)對于容納于一個或更多個后續(xù)未經(jīng)轉(zhuǎn)換的分段中的要讀取的數(shù)據(jù),讀取相應(yīng)的分段并提取所需的數(shù)據(jù);iii)對于其它的要讀取的容納的數(shù)據(jù),解除相應(yīng)的一個或更多個存儲塊的轉(zhuǎn)換并提取所需的數(shù)據(jù); 以及c)按照其在數(shù)據(jù)范圍中的順序布置所提取的數(shù)據(jù)。對于訪問請求(例如,寫入請求、讀取請求等)的響應(yīng)可以被配置為具有比對于進(jìn)一步轉(zhuǎn)換的請求的響應(yīng)更高的優(yōu)先級。根據(jù)本申請的主題的其它方面,提供了能夠在存儲網(wǎng)絡(luò)中操作并被配置為執(zhí)行所提供的方法的通信設(shè)備和/或存儲設(shè)備和/或轉(zhuǎn)換設(shè)備。根據(jù)本申請的主題的其它方面,提供了一種能夠?qū)⒋鎯Φ奈唇?jīng)轉(zhuǎn)換的邏輯數(shù)據(jù)對象(LO)轉(zhuǎn)換為轉(zhuǎn)換的LO的系統(tǒng)。該系統(tǒng)包括a)用于將未經(jīng)轉(zhuǎn)換的LO邏輯地劃分為第一分段和一個或更多個未經(jīng)轉(zhuǎn)換的后續(xù)分段的裝置,所述分段具有預(yù)定尺寸;b)用于為相應(yīng)的轉(zhuǎn)換的LO產(chǎn)生首部的裝置,所述首部包括表示轉(zhuǎn)換處理“進(jìn)行中”的指示;c)用于處理所述第一分段從而產(chǎn)生轉(zhuǎn)換的第一分段的裝置,該轉(zhuǎn)換的第一分段包括處于轉(zhuǎn)換的形式的數(shù)據(jù);d)用于使得能夠在所產(chǎn)生的首部和所述轉(zhuǎn)換的第一分段的總尺寸匹配預(yù)定尺寸準(zhǔn)則的情況下由所產(chǎn)生的首部和所述轉(zhuǎn)換的第一分段重寫所述第一分段的裝置;e)用于為所述轉(zhuǎn)換的第一分段和所述一個或更多個未經(jīng)轉(zhuǎn)換的后續(xù)分段做索引來構(gòu)成所述轉(zhuǎn)換的LO 的一部分從而產(chǎn)生帶索引的分段的裝置;f)用于產(chǎn)生至少一個索引部的裝置,該索引部包括至少保存與所述帶索引的分段相關(guān)的信息的至少一個條目,所述信息包括每個分段在所述未經(jīng)轉(zhuǎn)換的LO的偏移、相應(yīng)的帶索引的分段的存儲位置的指示、以及所述帶索引的分段是否包含原始形式或轉(zhuǎn)換的形式的數(shù)據(jù)的指示;以及g)用于更新該首部中的指示以表明未經(jīng)轉(zhuǎn)換的LO已經(jīng)被轉(zhuǎn)換成轉(zhuǎn)換的LO的裝置,該轉(zhuǎn)換的LO包括所產(chǎn)生的首部、所述轉(zhuǎn)換的第一分段、包含未經(jīng)轉(zhuǎn)換形式的數(shù)據(jù)的所述一個或更多個后續(xù)分段以及所述至少一個索引部。該系統(tǒng)可以還包括用于截取對未經(jīng)轉(zhuǎn)換的LO的訪問請求、并在所述未經(jīng)轉(zhuǎn)換的 LO匹配預(yù)定轉(zhuǎn)換準(zhǔn)則的情況下產(chǎn)生轉(zhuǎn)換未經(jīng)轉(zhuǎn)換的LO的請求的裝置。替代地或附加地,該系統(tǒng)可以還包括維護單元,該維護單元能夠識別所存儲的LO 中的未經(jīng)轉(zhuǎn)換的LO并產(chǎn)生轉(zhuǎn)換所識別的未經(jīng)轉(zhuǎn)換LO的請求。根據(jù)其它方面,該系統(tǒng)可以還包括a)用于在索引部的幫助下識別包含具有實時數(shù)據(jù)的范圍且匹配預(yù)定進(jìn)一步轉(zhuǎn)換準(zhǔn)則的至少一個后續(xù)未經(jīng)轉(zhuǎn)換的分段的裝置;b)用于處理相應(yīng)的范圍并將所產(chǎn)生的帶有轉(zhuǎn)換的數(shù)據(jù)的數(shù)據(jù)塊作為新日志順序容納在所分配的具有預(yù)定尺寸的存儲塊中的裝置;以及c)用于以促進(jìn)未經(jīng)轉(zhuǎn)換的LO中的數(shù)據(jù)范圍中的每個點與要從轉(zhuǎn)換的LO中讀取的實時數(shù)據(jù)之間的一對一關(guān)系的方式更新索引部的裝置。根據(jù)其它方面,該系統(tǒng)可以還包括用于截取對于未經(jīng)轉(zhuǎn)換的LO的寫入請求、分析相應(yīng)的轉(zhuǎn)換的LO是否包括原始形式的數(shù)據(jù)、并且在是的情況下產(chǎn)生轉(zhuǎn)換以原始形式存儲在所述轉(zhuǎn)換的LO中的數(shù)據(jù)的請求的裝置。替代地或附加地,該系統(tǒng)可以還包括維護單元,該維護單元能夠掃描存儲在存儲設(shè)備處的轉(zhuǎn)換的L0、識別包含處于原始形式的數(shù)據(jù)的L0、以及按照預(yù)定進(jìn)一步轉(zhuǎn)換準(zhǔn)則產(chǎn)生轉(zhuǎn)換該數(shù)據(jù)的請求。根據(jù)本申請的主題的其它方面,提供了一種維護單元,該維護單元被配置為與能夠?qū)⒋鎯Φ奈唇?jīng)轉(zhuǎn)換的邏輯數(shù)據(jù)對象(LO)轉(zhuǎn)換為轉(zhuǎn)換的LO的系統(tǒng)協(xié)同工作。該維護單元被配置為識別所存儲的LO中的未經(jīng)轉(zhuǎn)換的L0,并產(chǎn)生對于該系統(tǒng)的轉(zhuǎn)換所識別的未經(jīng)轉(zhuǎn)換的LO的一個或更多個請求。該維護單元可以被進(jìn)一步配置為掃描所存儲的轉(zhuǎn)換的L0、識別包含原始形式的數(shù)據(jù)的L0、以及按照預(yù)定進(jìn)一步轉(zhuǎn)換準(zhǔn)則產(chǎn)生轉(zhuǎn)換該數(shù)據(jù)的一個或更多個請求。


為了理解本發(fā)明并明白其在實踐中可以如何實現(xiàn),現(xiàn)在將僅以非限制性實例的形式參考附圖來描述實施例,在附圖中圖1例示適用于本發(fā)明的一些實施例的存儲網(wǎng)絡(luò)架構(gòu)的示意性框圖;圖2例示根據(jù)本發(fā)明的一些實施例的將存儲的未經(jīng)轉(zhuǎn)換的邏輯數(shù)據(jù)對象(LO)轉(zhuǎn)變?yōu)檗D(zhuǎn)換的LO的概括流程圖;圖3例示根據(jù)本發(fā)明的一些實施例的轉(zhuǎn)換的邏輯數(shù)據(jù)對象的示意圖;如例示根據(jù)本發(fā)明的一些實施例的進(jìn)一步轉(zhuǎn)換處理和并發(fā)更新處理期間的轉(zhuǎn)換的邏輯數(shù)據(jù)對象的示意圖;圖5例示根據(jù)本發(fā)明的一些實施例的轉(zhuǎn)換系統(tǒng)的示意性功能框圖;圖6例示根據(jù)本發(fā)明的一些實施例的對于轉(zhuǎn)換的邏輯數(shù)據(jù)對象的讀取操作的概括流程圖。
具體實施例方式在以下的詳細(xì)描述中,提出大量具體細(xì)節(jié)以提供本發(fā)明的全面理解。但是,本領(lǐng)域技術(shù)人員能夠理解本發(fā)明可以在沒有這些具體細(xì)節(jié)的情況下實施。在其它情況下,沒有描述熟知的方法、過程、部件和電路以避免使得本發(fā)明模糊。除非另有具體陳述,從以下的討論中可以清楚,應(yīng)該理解在本說明書全文的采用諸如“處理”、“計算”、“演算”、“確定”、“產(chǎn)生”、“激活”、“讀取”、“寫入”等的用語的討論指的是操縱和/或轉(zhuǎn)換數(shù)據(jù)為其它數(shù)據(jù)的計算機的動作和/或處理,所述數(shù)據(jù)表現(xiàn)為物理的 (諸如電子的)量和/或所述數(shù)據(jù)表現(xiàn)為物理對象。用語“計算機”應(yīng)該被擴張解釋為覆蓋具有數(shù)據(jù)處理能力的任何種類的電子設(shè)備。 根據(jù)此處的教導(dǎo)的操作可以通過專為期望的目的構(gòu)建的計算機執(zhí)行,或者可以利用計算機可讀存儲介質(zhì)中存儲的計算機程序通過專為期望的目的配置的通用計算機執(zhí)行。本發(fā)明的實施例不參考任何特定的編程語言進(jìn)行描述。應(yīng)該理解多種編程語言可以用于實施如此處描述的本發(fā)明的教導(dǎo)。本專利說明書中使用的用語“邏輯數(shù)據(jù)對象(LO) ”應(yīng)該被擴張解釋為包括計算機系統(tǒng)中使用且作為一個單元處理的任何類型和粒度的數(shù)據(jù)單元(例如,數(shù)據(jù)文件、歸檔文件、圖像文件、數(shù)據(jù)庫文件、存儲器數(shù)據(jù)塊、流數(shù)據(jù)塊、預(yù)定的文件分段等)。記住此點,將注意力引向圖1,其例示適用于本發(fā)明的一些實施例的存儲網(wǎng)絡(luò)架構(gòu)的示意圖。來自客戶機11(工作站、應(yīng)用服務(wù)器等)的邏輯數(shù)據(jù)對象(LO)經(jīng)由網(wǎng)絡(luò)12和/或13傳輸?shù)酱鎯υO(shè)備14 (例如,專用NAS文件服務(wù)器、通用文件服務(wù)器、SAN存儲設(shè)備、流存儲設(shè)備等)和/或14a。網(wǎng)絡(luò)包括促進(jìn)數(shù)據(jù)傳輸?shù)囊粋€或更多個通信設(shè)備15 (例如交換器、路由器、網(wǎng)橋等)。所示網(wǎng)絡(luò)中的存儲可以使用塊模式訪問和/或文件模式訪問存儲協(xié)議全部或部分地實施。在文件模式訪問中,邏輯數(shù)據(jù)對象(LO)由文件構(gòu)成,并且網(wǎng)絡(luò)是IP 網(wǎng)絡(luò)(例如局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、它們的組合等)。在塊模式訪問實施例中,邏輯數(shù)據(jù)對象由數(shù)據(jù)塊構(gòu)成,并且網(wǎng)絡(luò)是實施例如光纖通道或iSCSI協(xié)議的存儲區(qū)域網(wǎng)絡(luò)(SAN)。 在一些實施例中,存儲設(shè)備Ha可以例如經(jīng)由塊模式訪問存儲協(xié)議(如SCSI、光纖通道等) 直接連接至客戶機11。這種直接訪問存儲可以包括例如內(nèi)部附接本地盤驅(qū)動器或外部附接 RAID(獨立盤冗余陣列)或者JBOD(簡單盤集群)等。一些LO可以作為未經(jīng)轉(zhuǎn)換的LO存儲,并且包括原始形式的數(shù)據(jù)。替代地或附加地,一些LO可以作為轉(zhuǎn)換的LO存儲,并且包括轉(zhuǎn)換的形式和/或原始形式的數(shù)據(jù)。按照本發(fā)明的一些實施例,所存儲的未經(jīng)轉(zhuǎn)換的LO的至少一部分可以被轉(zhuǎn)變?yōu)檗D(zhuǎn)換的L0。作為非限制性實例,該轉(zhuǎn)換或其一部分可以通過轉(zhuǎn)換系統(tǒng)16提供,轉(zhuǎn)換系統(tǒng)16操作性地耦接到客戶機和存儲設(shè)備。典型地,用于加密(在需要的情況下)的安全密鑰被與提供加密和/或存儲的設(shè)備分離地保存,例如,它們可以被保存在與轉(zhuǎn)換系統(tǒng)16操作性地耦接的密鑰保存平臺17處。類似地,轉(zhuǎn)換處理中涉及的編碼表和類似的外部數(shù)據(jù)可以與處理和/或存儲設(shè)備分離地保存。本專利說明書中使用的用語“未經(jīng)轉(zhuǎn)換的邏輯數(shù)據(jù)對象”應(yīng)該被擴張解釋為包括任何在根據(jù)本申請的教導(dǎo)提供的轉(zhuǎn)換之前的邏輯對象。未經(jīng)轉(zhuǎn)換的邏輯對象其中包括相對于進(jìn)一步提供的轉(zhuǎn)換是原始形式的數(shù)據(jù)。本領(lǐng)域技術(shù)人員應(yīng)該容易地理解原始形式的數(shù)據(jù)可以代表原始數(shù)據(jù)和/或可以從之前的處理得出的數(shù)據(jù)。作為非限制性實例,未經(jīng)轉(zhuǎn)換的 LO可以包括原始數(shù)據(jù)(原始形式),而轉(zhuǎn)換的LO可以包括壓縮和/或加密的原始數(shù)據(jù)(轉(zhuǎn)換的形式)。作為另一非限制性實例,未經(jīng)轉(zhuǎn)換的LO可以包括壓縮的數(shù)據(jù)(原始形式)或轉(zhuǎn)變的數(shù)據(jù)(原始形式),而轉(zhuǎn)換的LO可以包括加密的壓縮的數(shù)據(jù)(轉(zhuǎn)換的形式),加密的編碼數(shù)據(jù)(轉(zhuǎn)換的形式)、壓縮的編碼數(shù)據(jù)(轉(zhuǎn)換的形式)等。轉(zhuǎn)換系統(tǒng)16被配置為截取LO呼叫操作(L0訪問相關(guān)請求)以及一些控制事務(wù) (例如,設(shè)置LO的結(jié)束)并且用作對于一些事務(wù)的代理(例如,保持對于大部分控制事務(wù)的吞吐量以及對于數(shù)據(jù)事務(wù)和一些控制事務(wù)的代理)。轉(zhuǎn)換系統(tǒng)能夠?qū)С霾⑻幚砼c所截取 LO訪問相關(guān)的請求相對應(yīng)的數(shù)據(jù),促進(jìn)與文件系統(tǒng)的通信和/或文件系統(tǒng)內(nèi)的通信以將所處理的數(shù)據(jù)存儲在存儲介質(zhì)處作為至少一個轉(zhuǎn)換的L0,和/或促進(jìn)與所處理的所截取LO訪問相關(guān)的請求相對應(yīng)的數(shù)據(jù)的至少一部分的解除轉(zhuǎn)換。在對于要針對存儲被處理的LO的 “寫”操作期間,轉(zhuǎn)換系統(tǒng)16通過網(wǎng)絡(luò)13從客戶機11接收對應(yīng)于所述LO的數(shù)據(jù),轉(zhuǎn)換所述數(shù)據(jù)并促進(jìn)在存儲設(shè)備14處的寫入?!白x取”操作按相反方向進(jìn)行;所需的LO由轉(zhuǎn)換系統(tǒng)檢索,解除轉(zhuǎn)換(部分或全部地,根據(jù)所需的數(shù)據(jù)范圍)并被發(fā)送到適當(dāng)?shù)目蛻魴C。在適當(dāng)?shù)那闆r下,轉(zhuǎn)換系統(tǒng)能夠與外部平臺(例如,密鑰保存平臺17)通信以獲得轉(zhuǎn)換處理中涉及的外部數(shù)據(jù)(例如,安全密鑰和/或其安全值或者轉(zhuǎn)換中涉及的其它元數(shù)據(jù))。注意,本發(fā)明并不受限于參考圖1描述的具體架構(gòu)。本領(lǐng)域技術(shù)人員應(yīng)該容易理解本發(fā)明類似地適用于促進(jìn)在物理和/或邏輯路徑上的一個或更多個邏輯數(shù)據(jù)對象(和/ 或其包含的數(shù)據(jù))的轉(zhuǎn)換的任何計算系統(tǒng)和任何存儲網(wǎng)絡(luò)架構(gòu),該路徑在發(fā)送對于邏輯數(shù)據(jù)對象的數(shù)據(jù)訪問請求的計算機與適當(dāng)數(shù)據(jù)的存儲位置之間,包括其中轉(zhuǎn)換系統(tǒng)與通信設(shè)備、客戶機和/或存儲設(shè)備全部或部分地集成的實施例。參考圖2,圖2例示根據(jù)本發(fā)明的一些實施例的將存儲的未經(jīng)轉(zhuǎn)換的邏輯數(shù)據(jù)對象(LO)轉(zhuǎn)變?yōu)檗D(zhuǎn)換的LO的概括流程圖;僅出于例示的目的,針對以下情況進(jìn)行描述由轉(zhuǎn)換系統(tǒng)16處理存儲設(shè)備處存儲的邏輯數(shù)據(jù)對象,將所處理的數(shù)據(jù)寫入到存儲設(shè)備14,從存儲設(shè)備讀取要解除轉(zhuǎn)換(例如解密、解壓等)的數(shù)據(jù),以及由轉(zhuǎn)換系統(tǒng)16對它們解除轉(zhuǎn)換。但是,應(yīng)該注意本發(fā)明以相似方式適用于任何目的的設(shè)備,該設(shè)備操作性地位于物理和/或邏輯路線上且適配成實施本發(fā)明的教導(dǎo),該路線在發(fā)送訪問相關(guān)請求(例如,打開、讀取、寫入等)到LO的計算機與作為相應(yīng)LO的存儲位置(包括所述路線的端點,即,所述計算機和所述存儲設(shè)備)的存儲設(shè)備之間。還應(yīng)該注意,本發(fā)明類似地適用于將處理的數(shù)據(jù)寫入所述路線上的任何設(shè)備的存儲器中,并隨后將轉(zhuǎn)換的LO的全部或其部分轉(zhuǎn)發(fā)以存儲在存儲位置處,以及將要從該存儲位置讀取的轉(zhuǎn)換的數(shù)據(jù)轉(zhuǎn)發(fā)到所述路線上的任何設(shè)備并進(jìn)一步解除轉(zhuǎn)換。響應(yīng)于獲得用于轉(zhuǎn)換所存儲的LO的請求(210),轉(zhuǎn)換系統(tǒng)獲得相應(yīng)的LO并將該未經(jīng)轉(zhuǎn)換的邏輯對象劃分為具有預(yù)定尺寸的一個或更多個分段(211)。該請求可以不同的方式獲得。作為非限制性實例,轉(zhuǎn)換系統(tǒng)可以截取對于某一 LO 的訪問(例如,寫入)請求,分析所述某一 LO是否匹配預(yù)定準(zhǔn)則(例如,所述某一 LO不具有首部,該首部包括先前提供的信息的指示),并在“是”的情況下,可以產(chǎn)生用于轉(zhuǎn)換相應(yīng)的LO的內(nèi)部請求。附加地或替換地,可有專用維護單元,其與轉(zhuǎn)換系統(tǒng)和/或存儲設(shè)備和/ 或其它外部設(shè)備全部或部分地集成,所述單元被配置為分析所存儲的L0,識別未經(jīng)轉(zhuǎn)換的 L0,并根據(jù)預(yù)定準(zhǔn)則來產(chǎn)生用于轉(zhuǎn)換該未經(jīng)轉(zhuǎn)換的LO的請求。作為非限制性實例,該預(yù)定準(zhǔn)則可以與邏輯數(shù)據(jù)對象的特性(例如,轉(zhuǎn)換的/未經(jīng)轉(zhuǎn)換的L0,LO的尺寸,預(yù)定的數(shù)據(jù)類型和/或格式等)和/或預(yù)定/可配置的時間表(例如,在非工作時間期間)和/或預(yù)定/ 可配置的事件(例如,管理員的請求,在預(yù)定/可配置時段期間缺少對于給定LO的數(shù)據(jù)訪問相關(guān)請求,符合預(yù)定/可配置準(zhǔn)則的可用網(wǎng)絡(luò)帶寬,獲取預(yù)定數(shù)目的被識別為要轉(zhuǎn)換的 LO等)有關(guān)。分段的尺寸可以根據(jù)實施的存儲協(xié)議被預(yù)先定義。例如,在本發(fā)明的一些實施例中,分段的尺寸可以被定義為由某一協(xié)議限定的單個(或,可選地,多個)I/O操作中的數(shù)據(jù)的最大尺寸。作為非限制性實例,對于NFS協(xié)議的分段的尺寸可被預(yù)先定義為3 字節(jié),對于CIFS為60K字節(jié),對于光纖通道為64K等。可選地,第一分段的尺寸可以與其它分段的尺寸不同,如將參考圖3所進(jìn)一步詳述的。在本發(fā)明的一些實施例中,分段的預(yù)定尺寸可以對于不同的LO變化,例如,取決于LO的類型(例如,DB文件,圖像文件等)。轉(zhuǎn)換系統(tǒng)進(jìn)一步將所劃分的未經(jīng)轉(zhuǎn)換的LO的第一分段轉(zhuǎn)換為轉(zhuǎn)換的第一分段 012),并產(chǎn)生相應(yīng)的轉(zhuǎn)換的LO的首部013)。該首部包括表明轉(zhuǎn)換處理的狀態(tài)的指示(例如,一個或更多個旗標(biāo)),并且將參考圖3做進(jìn)一步詳述。初始產(chǎn)生的頭部中的旗標(biāo)(或其它指示)表明將所存儲的未經(jīng)轉(zhuǎn)換的LO轉(zhuǎn)變成轉(zhuǎn)換的LO的“進(jìn)行中”狀態(tài)。在轉(zhuǎn)換的第一分段的尺寸大于預(yù)定最大尺寸的情況下,轉(zhuǎn)換系統(tǒng)停止LO的轉(zhuǎn)換處理。在本發(fā)明的一些實施例中,轉(zhuǎn)換系統(tǒng)可以測量或估測所轉(zhuǎn)換的第一分段的尺寸,并因而可以在實際的數(shù)據(jù)轉(zhuǎn)換和/或產(chǎn)生首部之前停止所存儲的LO的轉(zhuǎn)換。在轉(zhuǎn)換的第一分段的尺寸等于或小于預(yù)定最大尺寸的情況下,轉(zhuǎn)換系統(tǒng)用所產(chǎn)生的首部和轉(zhuǎn)換的第一分段重寫所存儲的LO的原始的第一分段(214)。這些操作構(gòu)成轉(zhuǎn)變/替換處理的第一階段。所轉(zhuǎn)換的第一分段的最大尺寸是預(yù)定的,由此原始的第一分段可以由轉(zhuǎn)換的分段連同轉(zhuǎn)換的LO的首部(以及可選地,適用的其它首部和信息部)原地替換。因而,所述最大尺寸可以被定為第一分段的預(yù)定尺寸與轉(zhuǎn)換的LO的首部的預(yù)定尺寸(例如512B)之間的差(并且,可選地,應(yīng)該進(jìn)一步減去容納部的首部的尺寸,如參照圖3進(jìn)一步詳述的)。另夕卜,在本發(fā)明的一些實施例中,第一分段的預(yù)定尺寸和轉(zhuǎn)換的第一分段的最大尺寸被配置為使得能夠經(jīng)由單個寫入操作提供原始的第一分段的原地替換。一旦成功完成第一階段,轉(zhuǎn)換系統(tǒng)提供分段的初始索引,產(chǎn)生包括關(guān)于所有分段的信息的至少一個索引部(216),并將該索引部寫入LO的結(jié)束處。如參考圖3將進(jìn)一步詳述的,在初始索引之后,關(guān)于某一分段的信息至少包括該分段在未經(jīng)轉(zhuǎn)換的LO中的偏移和尺寸,該分段的存儲位置的指示,以及該分段是否包括原始或轉(zhuǎn)換的形式的數(shù)據(jù)的指示。因而,所產(chǎn)生的索引部將初始地包括如下信息表明分段 (除了第一分段之外)包括原始形式的數(shù)據(jù)且位于原始物理位置,并且第一分段包括轉(zhuǎn)換的形式的數(shù)據(jù)且以等于轉(zhuǎn)換的LO的首部的預(yù)定尺寸的偏移位于原始位置內(nèi)??蛇x地(例如,為了保持對于分段中的未經(jīng)轉(zhuǎn)換的數(shù)據(jù)以及進(jìn)一步轉(zhuǎn)換的原始和 /或更新的數(shù)據(jù)的一致的方法),如將參考圖3進(jìn)一步詳述的,分段可以被初始索引為順序容納在一個或更多個具有預(yù)定尺寸的存儲塊(以下稱為容納部或“AS”)中的數(shù)據(jù)塊,其中容納順序?qū)?yīng)于分段在未經(jīng)轉(zhuǎn)換的LO中的順序。因而,當(dāng)對分段初始做索引時,轉(zhuǎn)換系統(tǒng)分配位于分段的物理位置處的一個或更多個容納部(過渡AQ 015),并將分段定義為與所分配的容納部有關(guān)。在具有固定尺寸的邏輯對象的本發(fā)明的一些實施例中(例如在塊訪問協(xié)議的情況下),壓縮比有時可能不足以在LO的結(jié)束處提供足夠?qū)懭胨饕康目臻e空間。因而,轉(zhuǎn)換系統(tǒng)可以被配置為檢測即將到來的溢出事件(例如,通過確定LU中的空閑空間,等)并因而促進(jìn)將存儲邏輯單元擴大預(yù)定或計算的空間。轉(zhuǎn)換系統(tǒng)可以被進(jìn)一步配置為檢測所述 LU擴大的失敗(例如,因為不可用的附加磁盤空間,存儲設(shè)備不能支持動態(tài)LU變化等),以停止轉(zhuǎn)換處理并在必要時將LO或其一部分恢復(fù)為未經(jīng)轉(zhuǎn)換的形式。這些做索引和可選的分配過渡容納部的操作構(gòu)成轉(zhuǎn)變/替換處理的第二階段。一旦成功完成第二階段,作為轉(zhuǎn)變/替換處理的第三階段,轉(zhuǎn)換系統(tǒng)更新所產(chǎn)生的首部017),使得更新后的首部中的旗標(biāo)(或其它指示)表明將所存儲的未經(jīng)轉(zhuǎn)換的LO 轉(zhuǎn)變成轉(zhuǎn)換的LO的“完成”狀態(tài)。首部還可以包括表明轉(zhuǎn)換的邏輯對象包括轉(zhuǎn)換的形式和未經(jīng)轉(zhuǎn)換的形式的數(shù)據(jù)的指示。由于上述三個階段,未經(jīng)轉(zhuǎn)換的LO被轉(zhuǎn)換的LO替換。除非未經(jīng)轉(zhuǎn)換的LO僅包括一個分段,此階段(以下稱為過渡階段)的轉(zhuǎn)換的LO包括處于轉(zhuǎn)換的形式和處于原始形式這兩種形式的數(shù)據(jù)。在上述轉(zhuǎn)變/替換處理期間對于LO的所有I/O將被保存在待決列表中,并將在該處理的第三階段的結(jié)束處被恢復(fù)。在第三階段完成之后,LO將由來自任何適當(dāng)?shù)挠脩?應(yīng)用的訪問相關(guān)的請求可訪問。
尺寸小于或等于第一分段的預(yù)定尺寸的小邏輯對象的轉(zhuǎn)變/替換可以在一個階段中提供。在不做索引的情況下提供由轉(zhuǎn)換的分段連同轉(zhuǎn)換的LO的首部對第一分段(未經(jīng)轉(zhuǎn)換的L0)的替換,其中首部被配置為表明轉(zhuǎn)換完成。參考圖3進(jìn)一步詳述轉(zhuǎn)換的LO的結(jié)構(gòu),圖3例示根據(jù)本發(fā)明的一些實施例的轉(zhuǎn)換的邏輯數(shù)據(jù)對象的示意圖。未經(jīng)轉(zhuǎn)換的LO 31被邏輯劃分η個分段31^3。作為非限制性實例,分段31「31η 的尺寸等于按照相應(yīng)的存儲協(xié)議的單個I/O操作中的數(shù)據(jù)的最大尺寸(以下稱為“I/O尺寸”),最后分段的尺寸可以等于或小于I/O尺寸。在本發(fā)明的一些實施例中,第一分段的尺寸可以等于I/O尺寸與轉(zhuǎn)換的LO的首部的預(yù)定尺寸的總和。這種尺寸促進(jìn)了保持對于轉(zhuǎn)換的LO(具有首部)和未經(jīng)轉(zhuǎn)換的LO的讀取操作的一致方法。在過渡階段的轉(zhuǎn)換的LO 32包括首部301、包含轉(zhuǎn)換的數(shù)據(jù)的分段32工、包含原始數(shù)據(jù)的分段322-32η、和索引部303。首部和分段3 的總尺寸等于或小于I/O尺寸。因此, 用首部和轉(zhuǎn)換的第一分段重寫原始的第一分段可以通過單個寫入操作提供,由此使得能夠?qū)崿F(xiàn)數(shù)據(jù)完整性,如將在下面詳述的。如果首部和分段3 的總尺寸小于I/O尺寸,則轉(zhuǎn)換系統(tǒng)可以將分段3 的結(jié)束與下一分段3 的開始之間的字節(jié)處理為無意義。轉(zhuǎn)換的LO的首部301包括唯一的LO描述符;表明轉(zhuǎn)換狀態(tài)的旗標(biāo),該旗標(biāo)在相應(yīng)的階段完成時更新(例如,進(jìn)行中,完成,恢復(fù));關(guān)于未經(jīng)轉(zhuǎn)換的LO 31的尺寸的信息; 以及可選地,表明LO已經(jīng)由轉(zhuǎn)換系統(tǒng)16處理的簽名。該首部還可以包括對于索引部303 的物理位置的指針,以及可選地,分段的至少一部分是否包括原始形式的數(shù)據(jù)的指示??蛇x地,在本發(fā)明的一些實施例中(例如,在其中轉(zhuǎn)換/解除轉(zhuǎn)換功能與存儲設(shè)備集成等的一些實施例中等),首部301或其一部分和/或其組合可以構(gòu)成文件系統(tǒng)的一部分。例如,在某一文件系統(tǒng)中使用的文件標(biāo)識符(例如,節(jié)點ID)可以用在壓縮文件的唯一文件描述符,文件系統(tǒng)中記錄的文件可以被修改并且可以包括附加字段,例如,用于有關(guān)原始文件的尺寸的信息、所述簽名等的字段。索引部或其部分也可以構(gòu)成文件系統(tǒng)的一部分。分段32^3 被索引成順序容納在具有預(yù)定尺寸的一個或更多個存儲塊中的數(shù)據(jù)塊,其中容納順序?qū)?yīng)于分段在未經(jīng)轉(zhuǎn)換的LO中的順序。所述存儲塊用作LO上的輸入/ 輸出事務(wù)期間的轉(zhuǎn)換/解除轉(zhuǎn)換操作的原子級元素。在以下描述中,用語“容納部(AS)”應(yīng)該被擴大解釋為覆蓋具有預(yù)定尺寸的任何存儲塊,該存儲塊被配置為容納轉(zhuǎn)換的LO內(nèi)的數(shù)據(jù)塊,并用作根據(jù)本發(fā)明的某些實施例的轉(zhuǎn)換/解除轉(zhuǎn)換操作的原子級元素。容納部可以具有相等的預(yù)定尺寸,或者替代地,轉(zhuǎn)換系統(tǒng)可以按照預(yù)定準(zhǔn)則為某一或一些容納部計算預(yù)定尺寸。這種預(yù)定準(zhǔn)則可以是產(chǎn)生轉(zhuǎn)換的LO來替換未經(jīng)轉(zhuǎn)換的LO的事件,并且對于該事件的容納部(以下稱為“過渡容納部”)的尺寸可以被定義為一定數(shù)目的分段的尺寸, 或未經(jīng)轉(zhuǎn)換的LO中包括的所有η個分段的總尺寸,或其它情況。在圖3所示的非限制性實例中,過渡容納部302的尺寸等于“η女I/O尺寸減去首部301的尺寸”。作為另一非限制性實例,過渡容納部302的尺寸可以等于“η女I/O尺寸”。在必要的情況下,轉(zhuǎn)換系統(tǒng)可以進(jìn)一步為轉(zhuǎn)換的第一分段和/或最后分段提供數(shù)據(jù)填充以使容納的η個分段的總尺寸符合容納部的尺寸。僅處于例示的目的,以下針對以日志(log)形式容納在轉(zhuǎn)換的LO中的數(shù)據(jù)塊(以下稱為日志)進(jìn)行描述。應(yīng)該注意,本發(fā)明不受該日志形式的束縛,并且類似地適用于流水賬(journal)或任何其它形式的順序容納的數(shù)據(jù)塊。在本發(fā)明的一些實施例中,每個容納部具有所分配的旗標(biāo)(例如位旗標(biāo)1或0) (未示出),該旗標(biāo)表明該容納部的使用/重用狀況并被存儲在索引部中。因而,容納部內(nèi)的每個日志具有與該容納部相同的旗標(biāo)。當(dāng)被容納在新物理位置處時,容納部被設(shè)置有旗標(biāo)0。過渡容納部(及相應(yīng)的日志)也被設(shè)置有旗標(biāo)0。當(dāng)被容納在先前由另一容納部占用的物理位置處時,該容納部被設(shè)置有與被重寫的所述另一容納部的旗標(biāo)相反的旗標(biāo)。因而,被寫入某一物理位置的新日志可以與在所述物理位置處先前被容納在舊(被重寫)容納部內(nèi)的舊日志被區(qū)分為具有不同的旗標(biāo)。該處理在例如2007年12月12日公布的轉(zhuǎn)讓給本申請的受讓人的國際申請W02007138600、W02007138601和W02007138602中被進(jìn)一步詳述,在此通過引用并入它們的全部內(nèi)容。典型地,容納部包括容納部的首部。該首部包括該容納部的唯一標(biāo)識符。該首部還可以包括與該容納部相關(guān)的物理存儲位置的指示以及分配給該容納部并表明使用/重用狀態(tài)的容納部;替代地或附加地,該信息可以被存儲在索引部中??蛇x地,容納部的首部 (和/或首部301和/或索引部)也可以包括與轉(zhuǎn)換中涉及的外部數(shù)據(jù)有關(guān)的信息(例如, 與容納部中包含的數(shù)據(jù)塊的加密所用的安全密鑰有關(guān)的信息,諸如例如密鑰ID、對于密鑰物理位置的指針、與密鑰相關(guān)的元數(shù)據(jù)等)。在本發(fā)明的一些實施例中(例如,如圖3所例示的),過渡AS不包括首部,并且所有的必要信息存儲在索引部中。過渡AS的唯一標(biāo)識符可以被索引部中的指示替代,該指示表明過渡AS(除了第一分段之外,該第一分段可以具有特定索引)包括與未經(jīng)轉(zhuǎn)換的LO位于相同位置的相同數(shù)據(jù)。在實施例中,當(dāng)過渡AS包括首部時,LO首部、AS首部和轉(zhuǎn)換的第一分段3 的總尺寸應(yīng)該等于或小于的第一分段的原始尺寸。索引部303包括與至少一個容納部相關(guān)聯(lián)的至少一個條目,該條目包含對于容納部的物理存儲位置的指針(或其它指示符)和與AS中容納的相應(yīng)日志有關(guān)的記錄(例如, 日志在未經(jīng)轉(zhuǎn)換的LO中的偏移和尺寸、與容納部的關(guān)聯(lián)、分配給日志的一個或更多個旗標(biāo)、表明日志的至少一部分是否包含處于原始形式和/或處于轉(zhuǎn)換的形式的數(shù)據(jù)的簽名), 所述記錄以下稱為“日志記錄”。如將參考圖4進(jìn)一步詳述的,索引部中的信息促進(jìn)未經(jīng)轉(zhuǎn)換的數(shù)據(jù)范圍內(nèi)的每個點與要從日志中讀取的數(shù)據(jù)之間的一對一關(guān)系。參考圖2和3詳述的將存儲的未經(jīng)轉(zhuǎn)換的LO轉(zhuǎn)變/替換為轉(zhuǎn)換的LO的處理使得能夠?qū)崿F(xiàn)在轉(zhuǎn)變/替換處理的所有階段的邏輯數(shù)據(jù)對象的數(shù)據(jù)完整性。例如,如果在第一階段之后恢復(fù)是必要的(即,當(dāng)用首部和轉(zhuǎn)換的第一分段重寫第一分段時),恢復(fù)可以如下提供a)讀取首部;b)如果首部包括表明轉(zhuǎn)換“進(jìn)行中”的指示,則恢復(fù)第一分段,LO中的數(shù)據(jù)的其它部分是原始的并且不需要恢復(fù);c)如果LO以讀取 /寫入許可被打開,則進(jìn)行轉(zhuǎn)變處理。如果LO以只讀許可被打開,則轉(zhuǎn)換處理將停止,并且恢復(fù)的LO將是未經(jīng)轉(zhuǎn)換的L0。如果恢復(fù)在產(chǎn)生和寫入索引的任何時間(第二階段)是必要的,則恢復(fù)處理與第一階段相同,其中既存的索引被忽略并被從頭開始產(chǎn)生。索引部的偏移可以根據(jù)首部中包含的LO的原始尺寸識別。
返回參考圖2,轉(zhuǎn)換的LO中包含的其余原始數(shù)據(jù)的轉(zhuǎn)換(218)可以在剛剛完成上述第三階段之后開始,或者全部地或部分地,根據(jù)預(yù)定準(zhǔn)則隨后提供。轉(zhuǎn)換系統(tǒng)進(jìn)一步更新索引部和首部(219),如將參考圖進(jìn)一步詳述的。進(jìn)一步轉(zhuǎn)換的推遲處理可以不同的方式被觸發(fā)。作為非限制性實例,轉(zhuǎn)換系統(tǒng)可以截取對于轉(zhuǎn)換的LO的寫入請求,分析所述LO是否包括處于原始形式的數(shù)據(jù)(例如,按照 LO的首部中包含的信息),并如果“是”,可以產(chǎn)生用于轉(zhuǎn)換相應(yīng)的LO中存儲的未經(jīng)轉(zhuǎn)換的數(shù)據(jù)的內(nèi)部請求。該內(nèi)部請求可以具有低于對于相應(yīng)LO的任何訪問請求更低的優(yōu)先級。附加地或替代地,與轉(zhuǎn)換系統(tǒng)或與存儲設(shè)備集成的專用維護單元可以掃描在存儲設(shè)備處存儲的轉(zhuǎn)換的L0,識別包含處于原始形式的數(shù)據(jù)的L0,并按照預(yù)定準(zhǔn)則產(chǎn)生用于轉(zhuǎn)換原始數(shù)據(jù)的請求。作為非限制性實例,該準(zhǔn)則可以與邏輯數(shù)據(jù)對象的特性(例如,LO的尺寸,數(shù)據(jù)和 /或LO的預(yù)定的類型和/或格式)和/或預(yù)定/可配置的時間表(例如,在非工作時間期間)和/或預(yù)定/可配置的事件(例如,管理員的請求,存儲優(yōu)化處理的開始,在預(yù)定/可配置時段期間缺少對于給定LO的數(shù)據(jù)訪問相關(guān)請求,符合預(yù)定/可配置準(zhǔn)則的可用網(wǎng)絡(luò)帶寬,獲取預(yù)定數(shù)目的識別的LO等)有關(guān)。參考圖4a_圖如,圖4a_圖如例示根據(jù)本發(fā)明的一些實施例的進(jìn)一步轉(zhuǎn)換處理和并發(fā)更新處理期間的轉(zhuǎn)換的邏輯數(shù)據(jù)對象的示意圖。在圖如所示的實例中,構(gòu)成原始LO的分段31廠314已經(jīng)被索引為容納在過渡容納部302-1中的順序日志32^3 ,其中日志3 包括處于轉(zhuǎn)換的形式的數(shù)據(jù),日志322_324 包括處于原始形式的數(shù)據(jù)。索引部303包括與所示容納部及其日志有關(guān)的信息。作為非限制性實例,例示的索引部包括容納部ID和相應(yīng)記錄的列表,該容納部ID具有對于物理位置 (QWORD)的指針,該相應(yīng)記錄的列表包括與該容納部中容納的日志相對應(yīng)的原始數(shù)據(jù)的偏移(QWORD)和長度(WORD)。每個例示的記錄還包括對于相應(yīng)的日志包括處于原始形式的 (0)還是處于轉(zhuǎn)換的形式(1)的數(shù)據(jù)的指示。 在本發(fā)明的一些實施例中,索引部可以包括對于每個日志的僅一個最近更新的日志記錄;在其它實施例中,條目可以包括對于相同日志的更新的和過時的記錄。有幾種更新索引部303的方式。相應(yīng)的條目可以與存儲的邏輯對象的每次更新同時地寫入/更新,或者在基于容納部中包含的數(shù)據(jù)、但不遲于邏輯數(shù)據(jù)對象結(jié)束的某一隨后時間(例如當(dāng)開始新的容納部時)寫入/更新。例示的索引部中的信息意味著未經(jīng)轉(zhuǎn)換的LO中的范圍AB (偏移A,長度L)對應(yīng)于日志3 中的轉(zhuǎn)換的數(shù)據(jù);范圍BC(偏移B,長度L)對應(yīng)于日志3 中的原始數(shù)據(jù);范圍 CD (偏移C,長度L)對應(yīng)于日志3 中的原始數(shù)據(jù);以及范圍DE (偏移D,長度L)對應(yīng)于日志3 中的原始數(shù)據(jù)。圖4b中例示的示意圖例示了導(dǎo)致寫入請求由轉(zhuǎn)換系統(tǒng)截取的上述轉(zhuǎn)換的L0。所例示的請求是用于寫入長度為Ll的新數(shù)據(jù)塊315的請求,所述數(shù)據(jù)塊應(yīng)該替換從偏移C1開始的未經(jīng)轉(zhuǎn)換的LO中的數(shù)據(jù),其中(q+Ll) =F<D。新數(shù)據(jù)塊由轉(zhuǎn)換系統(tǒng)轉(zhuǎn)換,并且應(yīng)該被容納在相應(yīng)的容納部中。該轉(zhuǎn)換以及進(jìn)一步I/O操作可以與在例如2007年12月12日公布的轉(zhuǎn)讓給本申請的受讓人的國際申請W02007138600、W02007138601和W02007138602 中被詳述的相似的方式提供,在此通過引用并入它們的全部內(nèi)容。容納部可以是具有空閑空間的當(dāng)前活動的AS,或者其可以是由轉(zhuǎn)換系統(tǒng)在必要時分配的新AS (例如,如果沒有當(dāng)前活動的分配的AS,或如果其中沒有足夠的空閑空間)。在例示的示例中,在容納部302-1中沒有足夠的空閑空間。因而,打開新的容納部302-2,并將包括與所接收的新數(shù)據(jù)塊對應(yīng)的轉(zhuǎn)換的數(shù)據(jù)的新日志3 存儲在該容納部中。先前容納的日志保持不變,而索引部303以促進(jìn)未經(jīng)轉(zhuǎn)換的數(shù)據(jù)范圍中的每個點與要從日志中讀取的 “實時”數(shù)據(jù)之間的一對一關(guān)系的方式被更新。在圖4b例示的示例中,索引部僅包括上次更新的記錄。索引部中的更新的信息意味著更新的范圍AE對應(yīng)于日志中的以下數(shù)據(jù)-范圍AB對應(yīng)于要從具有物理位置X的容納部#1中的日志3 解除轉(zhuǎn)換的數(shù)據(jù),-范圍BC1對應(yīng)于要從具有物理位置X的容納部#1中的日志3 讀取的原始數(shù)據(jù)的一部分(即,偏移B,長度L2),-更新的范圍C1F對應(yīng)于要從具有物理位置Y的容納部#2中的新日志3 解除轉(zhuǎn)換的數(shù)據(jù),-范圍FD對應(yīng)于具有物理位置X的容納部#1中的日志3 中的原始數(shù)據(jù)的一部分(即,偏移F,長度L3),-范圍DE對應(yīng)于具有物理位置X的容納部#1中的日志3 中的原始數(shù)據(jù)。在例示的示例中,日志32ρ332、3&中包含的全部數(shù)據(jù)是實時的,而日志3 中包含的數(shù)據(jù)的一部分(S卩,范圍ClC)和日志3 中包含的數(shù)據(jù)的一部分(S卩,范圍CF)是過時的。圖如中的例示示意圖例示容納在過渡AS中的未經(jīng)轉(zhuǎn)換的數(shù)據(jù)的一部分的進(jìn)一步轉(zhuǎn)換所導(dǎo)致的轉(zhuǎn)換的L0。一旦接受到用于進(jìn)一步轉(zhuǎn)換的請求(如參考轉(zhuǎn)換操作218所詳述的),轉(zhuǎn)換系統(tǒng)檢查索引部中的記錄以識別分段322-3、中的一個或更多個包括處于未經(jīng)轉(zhuǎn)換的形式的實時(即,還未更新的)范圍的日志。當(dāng)找到這種范圍時,轉(zhuǎn)換系統(tǒng)處理相應(yīng)的范圍并將轉(zhuǎn)換的數(shù)據(jù)作為新日志順序容納在活動容納部中。在本發(fā)明的一些實施例中, 轉(zhuǎn)換系統(tǒng)可以被配置為根據(jù)預(yù)定準(zhǔn)則提供這種處理一例如,僅在給定分段中的數(shù)據(jù)的全部范圍是實時數(shù)據(jù)的情況下,或?qū)崟r數(shù)據(jù)構(gòu)成不大于分段中的全部數(shù)據(jù)的一定部分的情況下等。轉(zhuǎn)換系統(tǒng)可以進(jìn)一步配置成在處理來自包含實時數(shù)據(jù)和過時數(shù)據(jù)的組合的分段的實時數(shù)據(jù)之前,處理僅包含實時數(shù)據(jù)的分段。當(dāng)給定范圍的處理完成時,壓縮系統(tǒng)準(zhǔn)備要被記錄在索引部中的日志相關(guān)信息。 轉(zhuǎn)換系統(tǒng)進(jìn)一步檢查是否存在具有活動的未經(jīng)轉(zhuǎn)換的數(shù)據(jù)的下一范圍,并重復(fù)轉(zhuǎn)換處理。 在本發(fā)明的一些實施例中,轉(zhuǎn)換系統(tǒng)可以在獲得對于相應(yīng)LO的訪問請求時中斷用于下一范圍的轉(zhuǎn)換操作的重復(fù)。下一范圍的轉(zhuǎn)換也可以根據(jù)一定準(zhǔn)則(例如,預(yù)定/可配置的時間表和/或預(yù)定/可配置的事件)來推遲。如果活動容納部中的空閑空間不足以容納下一轉(zhuǎn)換的日志(例如對于目標(biāo)緩沖器溢出的寫入操作失敗,估計的預(yù)期日志尺寸大于所述空閑空間,空閑空間小于要被處理的數(shù)據(jù)塊或其預(yù)定部分的尺寸,等),但是過渡容納部中的期望數(shù)據(jù)仍沒有被全部轉(zhuǎn)換,則轉(zhuǎn)換系統(tǒng)分配新的容納部。轉(zhuǎn)換的日志被以“同步清洗”方式移動到存儲位置,使得所有的待決輸出被清洗到輸出(存儲)緩沖器,而無需轉(zhuǎn)換操作的復(fù)位。進(jìn)一步提供的更新索引部促進(jìn)了未經(jīng)轉(zhuǎn)換的邏輯數(shù)據(jù)對象中的數(shù)據(jù)與容納在容納部中的數(shù)據(jù)之間的映射。
在圖如例示的示例實施例中,轉(zhuǎn)換系統(tǒng)被配置為從具有作為未經(jīng)轉(zhuǎn)換形式的實時數(shù)據(jù)的整個數(shù)據(jù)范圍的日志(例示實例中的日志324)開始進(jìn)一步轉(zhuǎn)換。轉(zhuǎn)換系統(tǒng)轉(zhuǎn)換日志中的數(shù)據(jù),并將轉(zhuǎn)換的日志3 容納在容納部302-2中。日志3 和日志3 按照它們被處理的次序被順序容納。在本發(fā)明的一些實施例中,轉(zhuǎn)換系統(tǒng)可以提供與具有高于進(jìn)一步轉(zhuǎn)換未經(jīng)轉(zhuǎn)換的數(shù)據(jù)的優(yōu)先級的I/O操作相關(guān)的處理。索引部中的更新的信息意味著更新的范圍AE對應(yīng)于日志中的以下數(shù)據(jù)-范圍AB對應(yīng)于要從具有物理位置X的容納部#1中的日志3 解除轉(zhuǎn)換的數(shù)據(jù),-范圍BC1對應(yīng)于要從具有物理位置X的容納部#1中的日志322讀取的原始數(shù)據(jù)的一部分(即,偏移B,長度L2),-更新的范圍C1F對應(yīng)于要從具有物理位置Y的容納部#2中的日志332解除轉(zhuǎn)換的數(shù)據(jù),-范圍FD對應(yīng)于具有物理位置X的容納部#1中的日志3 中的原始數(shù)據(jù)的一部分(即,偏移F,長度L3),-范圍DE對應(yīng)于要從具有物理位置Y的容納部#2中的新日志3 解除轉(zhuǎn)換的數(shù)據(jù)。在例示的示例中,日志32ρ332、3&中包含的全部數(shù)據(jù)是實時的,而日志3 中包含的數(shù)據(jù)的一部分(即,范圍ClC)和日志3 中包含的數(shù)據(jù)的一部分(即,范圍CF)、以及日志3 中的數(shù)據(jù)是過時的。如圖4a4c中的非限制性實例所例示的,本發(fā)明的教導(dǎo)使得能夠處理包含轉(zhuǎn)換的形式和原始形式的數(shù)據(jù)的所存儲的轉(zhuǎn)換的邏輯數(shù)據(jù)對象,以及使得用戶能夠與轉(zhuǎn)換處理并發(fā)地提供I/O操作。圖5例示根據(jù)本發(fā)明的一些實施例的轉(zhuǎn)換系統(tǒng)16的示意性功能框圖。該轉(zhuǎn)換系統(tǒng)包括客戶端輸入/輸出(I/O)塊51,其耦接到會話管理器52??蛻舳薎/O塊從外部客戶端/應(yīng)用或從內(nèi)部維護單元56-3獲取數(shù)據(jù)訪問相關(guān)請求(例如,讀取、寫入、設(shè)置LO的結(jié)束/截尾等),并將它們轉(zhuǎn)發(fā)到會話管理器。會話由對于邏輯數(shù)據(jù)對象的訪問請求(例如,LUN容量請求,諸如例如SCSI LUN容量請求命令;打開文件請求等)而啟動,并且由從相同的IP地址(用戶)接收的針對相同邏輯對象的斷開請求(例如“LUN斷開”、“關(guān)閉文件”等)而結(jié)束。會話可以處理一個或更多個尋址到相同邏輯數(shù)據(jù)對象的訪問請求(例如,來自在相同客戶端上運行的多個應(yīng)用, 來自某一單個應(yīng)用的多個請求,來自多個客戶端的請求等)。會話管理器52保存所有的會話專用數(shù)據(jù),諸如例如源會話地址、會話計數(shù)、會話狀態(tài)、使用的緩沖器的所有實例等。會話管理器還在邏輯數(shù)據(jù)對象打開時處理所有相關(guān)源的阻斷,以及在斷開時釋放所述源。會話管理器還被配置為利用尋址到相同邏輯數(shù)據(jù)對象的會話請求來管理一個或更多個會話。會話管理器將所有請求傳輸?shù)脚c會話管理器操作性地耦接的分配器53。分配器 53操作性地耦接到邏輯數(shù)據(jù)對象管理器54、緩沖器管理器55和轉(zhuǎn)換單元56。根據(jù)本發(fā)明的一些實施例,分配器53與邏輯數(shù)據(jù)對象管理器M通信以進(jìn)行數(shù)據(jù)相關(guān)事務(wù)(例如,讀取、寫入、設(shè)置LO的結(jié)束等),并與轉(zhuǎn)換單元56通信以進(jìn)行轉(zhuǎn)換操作。轉(zhuǎn)換單元能夠壓縮、加密和/或以其它方式轉(zhuǎn)換數(shù)據(jù),并將其通過存儲I/O 58發(fā)送到物理盤;以及通過存儲I/O從物理盤讀取數(shù)據(jù),解除轉(zhuǎn)換(例如解密和/或解壓)相應(yīng)的緩沖器,以及可選地對原始和/或部分轉(zhuǎn)換的數(shù)據(jù)塊分段和/或組合以進(jìn)一步處理。轉(zhuǎn)換單元可以包括一個或更多個負(fù)責(zé)一些轉(zhuǎn)換操作的轉(zhuǎn)換塊(例如,壓縮-解壓塊56-1,其與加密/解密塊56-2操作性地耦接,被配置成啟動如參考圖2-4詳述地由轉(zhuǎn)換的LO替換未經(jīng)轉(zhuǎn)換的LO的維護單元56-3),并被配置為促進(jìn)所述塊之間的數(shù)據(jù)傳輸和必要的同步。轉(zhuǎn)換單元還被配置為作為“容量狀態(tài)”的答復(fù)而報告未經(jīng)轉(zhuǎn)換的邏輯數(shù)據(jù)對象的尺寸(和空閑存儲容量)。轉(zhuǎn)換單元56還被配置為與一個或更多個外部平臺通信,該平臺存儲與轉(zhuǎn)換處理中涉及的數(shù)據(jù)相關(guān)的外部信息(例如,用于接收密鑰的安全密鑰和/或其元數(shù)據(jù));接收所述信息,提取或產(chǎn)生必要數(shù)據(jù)(例如密鑰ID)以及對其進(jìn)行管理。接收的信息可以被暫時容納在轉(zhuǎn)換系統(tǒng)內(nèi)的置信存儲器中,其中轉(zhuǎn)換單元塊可以提供所述信息的管理(例如,根據(jù)一定的策略在一定時段內(nèi)管理一些密鑰在所述存儲器中的容納)。在本發(fā)明的一些實施例中,加密/解密塊56-2可以進(jìn)一步產(chǎn)生一個或更多個待用于加密的加密初始化矢量(例如與安全密鑰一起)。邏輯對象管理器M負(fù)責(zé)不同邏輯數(shù)據(jù)對象及其一部分的排序和存儲器共享。緩沖器管理器55管理存儲器緩沖器資源,并負(fù)責(zé)分配和釋放存儲器緩沖器用于其它塊的操作。轉(zhuǎn)換系統(tǒng)還包括完整性管理器57,其耦接到會話管理器、緩沖器管理器和數(shù)據(jù)塊管理器。完整性管理器負(fù)責(zé)轉(zhuǎn)換系統(tǒng)中的所有處理的同步和總體控制,諸如例如保持邏輯數(shù)據(jù)對象的完整性等。它還負(fù)責(zé)通過存儲物理I/O接口 58將存儲器緩沖器清洗到物理盤,以及在需要時從盤讀取。本領(lǐng)域技術(shù)人員能夠容易地理解本發(fā)明不受圖5的配置的束縛;等效和/或修改的功能性可以其它方式被合并或劃分,并且可以軟件、固件、硬件或其任意組合來實施。參考圖6,圖6例示根據(jù)本發(fā)明的一些實施例的對于轉(zhuǎn)換的邏輯數(shù)據(jù)對象(LO)的讀取操作的概括流程圖。讀取操作開始以讀取請求600,其識別數(shù)據(jù)在LO中的偏移以及要讀取的數(shù)據(jù)范圍。轉(zhuǎn)換系統(tǒng)16尋址所有的索引部(例如,從上一索引部或從當(dāng)前打開的索引部順序開始; 或者一起打開所有索引部,等)以找出601所有上次更新的與范圍內(nèi)的數(shù)據(jù)相關(guān)的條目。如參考圖4所詳述的,索引部中的上次更新的條目促進(jìn)范圍內(nèi)的數(shù)據(jù)與要從日志提取的實時 (最新更新的)數(shù)據(jù)之間的一對一關(guān)系。因而,轉(zhuǎn)換系統(tǒng)順序解除轉(zhuǎn)換602(例如,解密、解壓、解碼等)與所找到的條目對應(yīng)的容納部之一,并找到所需數(shù)據(jù)603。在本發(fā)明的一些實施例中,如果對于一定范圍的上次更新的條目對應(yīng)于過渡容納部中的日志,并且因而包括位于原始位置的未經(jīng)轉(zhuǎn)換的數(shù)據(jù)(除了對應(yīng)于第一分段的日志之外),轉(zhuǎn)換系統(tǒng)可以讀取相應(yīng)的日志而不讀取整個過渡AS。對于接著的容納部重復(fù)604操作602-603,直到范圍內(nèi)的所有的數(shù)據(jù)被找到。找到的數(shù)據(jù)按照其在范圍內(nèi)的次序布置605。在數(shù)據(jù)已經(jīng)準(zhǔn)備好之后,它們可以被發(fā)送606到應(yīng)用。應(yīng)該理解,本發(fā)明在其應(yīng)用上不限于此處包含的說明書中提出的或在附圖中例示的細(xì)節(jié)。本發(fā)明能夠具有其它實施例,并以各種方式被實施和實踐。因此,應(yīng)該理解此處采用的措詞和術(shù)語是用于描述的目的,而不應(yīng)該被認(rèn)為是限制。由此,本領(lǐng)域技術(shù)人員能夠理解本公開所基于的原理可以被容易地用作基礎(chǔ)來設(shè)計其它結(jié)構(gòu)、方法和系統(tǒng),以實現(xiàn)本發(fā)明的若干目的。應(yīng)該理解,根據(jù)本發(fā)明的系統(tǒng)可以是適當(dāng)編程的計算機。類似地,本發(fā)明預(yù)期可由計算機讀取以執(zhí)行本發(fā)明的方法的計算機程序。本發(fā)明還預(yù)期機器可讀存儲器,其有形地實現(xiàn)可由機器執(zhí)行的程序指令以執(zhí)行本發(fā)明的方法。本領(lǐng)域的技術(shù)人員會容易地理解,各種修改和改變可以被應(yīng)用于如在前描述的本發(fā)明的實施例,而不偏離其范圍,該范圍在所附權(quán)利要求中并由權(quán)利要求限定。
權(quán)利要求
1.一種將存儲設(shè)備中存儲的未經(jīng)轉(zhuǎn)換的邏輯數(shù)據(jù)對象(LO)轉(zhuǎn)換為該存儲設(shè)備中存儲的轉(zhuǎn)換的LO的方法,該存儲設(shè)備能夠以至少一種存儲協(xié)議運行,所述方法包括a)響應(yīng)于相應(yīng)的轉(zhuǎn)換請求,將未經(jīng)轉(zhuǎn)換的LO邏輯地劃分為第一分段和一個或更多個未經(jīng)轉(zhuǎn)換的后續(xù)分段,所述分段具有預(yù)定尺寸;b)為相應(yīng)的轉(zhuǎn)換的LO產(chǎn)生首部,所述首部包括表示轉(zhuǎn)換處理“進(jìn)行中”的指示;c)處理所述第一分段,從而產(chǎn)生轉(zhuǎn)換的第一分段,該轉(zhuǎn)換的第一分段包括處于轉(zhuǎn)換的形式的數(shù)據(jù);d)在所產(chǎn)生的首部和所述轉(zhuǎn)換的第一分段的總尺寸匹配預(yù)定尺寸準(zhǔn)則的情況下,由所產(chǎn)生的首部和所述轉(zhuǎn)換的第一分段重寫所述第一分段;e)為所述轉(zhuǎn)換的第一分段和所述一個或更多個未經(jīng)轉(zhuǎn)換的后續(xù)分段做索引來構(gòu)成所述轉(zhuǎn)換的LO的一部分,從而產(chǎn)生帶索引的分段;f)產(chǎn)生至少一個索引部,該索引部包括至少保存與所述帶索引的分段相關(guān)的信息的至少一個條目,所述信息包括每個分段在所述未經(jīng)轉(zhuǎn)換的LO中的偏移、相應(yīng)的帶索引的分段的存儲位置的指示、以及所述帶索引的分段是否包含原始形式或轉(zhuǎn)換的形式的數(shù)據(jù)的指示;以及g)更新所述首部中的指示以表明所述未經(jīng)轉(zhuǎn)換的LO已經(jīng)被轉(zhuǎn)換成所述轉(zhuǎn)換的L0,所述轉(zhuǎn)換的LO包括所產(chǎn)生的首部、所述轉(zhuǎn)換的第一分段、包含處于未經(jīng)轉(zhuǎn)換形式的數(shù)據(jù)的所述一個或更多個后續(xù)分段以及所述至少一個索引部。
2.根據(jù)權(quán)利要求1所述的方法,其中所述第一分段的尺寸被配置為等于所述首部的預(yù)定尺寸與按照所述至少一個存儲協(xié)議的單個I/O操作中的數(shù)據(jù)的最大尺寸的總和。
3.根據(jù)權(quán)利要求1所述的方法,其中每個未經(jīng)轉(zhuǎn)換的后續(xù)分段的尺寸被配置為等于按照所述至少一個存儲協(xié)議的單個I/O操作中的數(shù)據(jù)的最大尺寸。
4.根據(jù)權(quán)利要求1所述的方法,其中所述預(yù)定尺寸準(zhǔn)則至少由所述首部的預(yù)定尺寸與所述轉(zhuǎn)換的第一分段的預(yù)定最大尺寸的總和表征。
5.根據(jù)權(quán)利要求1所述的方法,其中所述轉(zhuǎn)換請求通過截取對所述未經(jīng)轉(zhuǎn)換的LO的訪問請求、并在所述未經(jīng)轉(zhuǎn)換的LO匹配預(yù)定轉(zhuǎn)換準(zhǔn)則的情況下產(chǎn)生轉(zhuǎn)換所述未經(jīng)轉(zhuǎn)換的LO 的請求來獲得。
6.根據(jù)權(quán)利要求5所述的方法,其中所述預(yù)定轉(zhuǎn)換準(zhǔn)則選自包含與所述邏輯數(shù)據(jù)對象的特性、預(yù)定時間表、預(yù)定事件及其組合相關(guān)的準(zhǔn)則的組。
7.根據(jù)權(quán)利要求1所述的方法,其中從維護單元接收所述轉(zhuǎn)換請求,該維護單元能夠識別所存儲的LO中的未經(jīng)轉(zhuǎn)換的LO并產(chǎn)生轉(zhuǎn)換所識別的未經(jīng)轉(zhuǎn)換LO的請求。
8.根據(jù)權(quán)利要求1所述的方法,其中所述轉(zhuǎn)換的第一分段和一個或更多個后續(xù)未經(jīng)轉(zhuǎn)換的分段可以被索引成數(shù)據(jù)塊,該數(shù)據(jù)塊被順序容納到具有預(yù)定尺寸的一個或更多個存儲塊中,其中容納順序?qū)?yīng)于所述分段在所述未經(jīng)轉(zhuǎn)換的LO中的順序。
9.根據(jù)權(quán)利要求1所述的方法,還包括a)響應(yīng)于進(jìn)一步轉(zhuǎn)換的請求,在所述索引部的幫助下識別包含具有實時數(shù)據(jù)的范圍且匹配預(yù)定進(jìn)一步轉(zhuǎn)換準(zhǔn)則的至少一個后續(xù)未經(jīng)轉(zhuǎn)換的分段;b)處理相應(yīng)的范圍并將所產(chǎn)生的帶有轉(zhuǎn)換的數(shù)據(jù)的數(shù)據(jù)塊作為新日志而順序容納在所分配的具有預(yù)定尺寸的存儲塊中;以及c)以促進(jìn)所述未經(jīng)轉(zhuǎn)換的LO中的數(shù)據(jù)范圍中的每個點與要從所述轉(zhuǎn)換的LO中讀取的實時數(shù)據(jù)之間的一對一關(guān)系的方式更新所述索引部。
10.根據(jù)權(quán)利要求9所述的方法,其中所述進(jìn)一步轉(zhuǎn)換的請求可以如下方式獲得截取對于所述未經(jīng)轉(zhuǎn)換的LO的寫入請求,分析相應(yīng)的轉(zhuǎn)換的LO是否包括原始形式的數(shù)據(jù),并且在是的情況下產(chǎn)生轉(zhuǎn)換以原始形式存儲在所述轉(zhuǎn)換的LO中的數(shù)據(jù)的請求。
11.根據(jù)權(quán)利要求9所述的方法,其中從所述維護單元接收所述進(jìn)一步轉(zhuǎn)換請求,該維護單元能夠掃描存儲設(shè)備中存儲的所述轉(zhuǎn)換的L0、識別包含原始形式的數(shù)據(jù)的L0、以及按照預(yù)定進(jìn)一步轉(zhuǎn)換準(zhǔn)則產(chǎn)生轉(zhuǎn)換該數(shù)據(jù)的請求。
12.根據(jù)權(quán)利要求9所述的方法,其中所述預(yù)定轉(zhuǎn)換準(zhǔn)則選自包含與所述邏輯數(shù)據(jù)對象的特性、預(yù)定時間表、預(yù)定事件及其組合相關(guān)的準(zhǔn)則的組。
13.根據(jù)權(quán)利要求9所述的方法,還包括將數(shù)據(jù)范圍寫入所述轉(zhuǎn)換的L0,該寫入進(jìn)一步包括a)響應(yīng)于相應(yīng)的寫入請求,處理與所述數(shù)據(jù)范圍對應(yīng)的一個或更多個順序獲得的數(shù)據(jù)塊,其中所處理的數(shù)據(jù)塊中的至少一個包括處于由所述處理導(dǎo)致的轉(zhuǎn)換的形式的數(shù)據(jù);b)將所處理的數(shù)據(jù)塊順序容納在所分配的具有預(yù)定尺寸的存儲塊中,其中該容納按照接收數(shù)據(jù)塊的順序來提供;以及c)以促進(jìn)所述數(shù)據(jù)范圍中的數(shù)據(jù)與要從所述轉(zhuǎn)換的LO中讀取的相應(yīng)數(shù)據(jù)之間的一對一關(guān)系的方式更新所述索引部。
14.根據(jù)權(quán)利要求13所述的方法,對于寫入請求的響應(yīng)具有比對于所述進(jìn)一步轉(zhuǎn)換的請求的響應(yīng)更高的優(yōu)先級。
15.根據(jù)權(quán)利要求1所述的方法,還包括將數(shù)據(jù)范圍寫入所述轉(zhuǎn)換的L0,所述寫入進(jìn)一步包括a)響應(yīng)于相應(yīng)的寫入請求,處理與所述數(shù)據(jù)范圍對應(yīng)的一個或更多個順序獲得的數(shù)據(jù)塊,其中所處理的數(shù)據(jù)塊中的至少一個包括處于由所述處理導(dǎo)致的轉(zhuǎn)換的形式的數(shù)據(jù);b)將所處理的數(shù)據(jù)塊順序容納在所分配的具有預(yù)定尺寸的存儲塊中,其中該容納按照接收數(shù)據(jù)塊的順序來提供;以及c)以促進(jìn)所述數(shù)據(jù)范圍中的數(shù)據(jù)與要從所述轉(zhuǎn)換的LO中讀取的相應(yīng)數(shù)據(jù)之間的一對一關(guān)系的方式更新所述索引部。
16.根據(jù)權(quán)利要求1所述的方法,還包括從轉(zhuǎn)換的LO讀取數(shù)據(jù)范圍,所述讀取包括a)響應(yīng)于相應(yīng)的讀取請求,檢查與所述數(shù)據(jù)范圍內(nèi)的數(shù)據(jù)相關(guān)的索引部中的所有創(chuàng)建的和/或上次更新的條目;b)按照由所述條目提供的映射以如下方式提取數(shù)據(jù)i)對于容納于所述第一分段中的要讀取的數(shù)據(jù),解除所述第一分段的轉(zhuǎn)換并提取所需的數(shù)據(jù); )對于容納于一個或更多個后續(xù)未經(jīng)轉(zhuǎn)換的分段中的要讀取的數(shù)據(jù),讀取相應(yīng)的分段并提取所需的數(shù)據(jù);iii)對于其它的要讀取的容納的數(shù)據(jù),解除相應(yīng)的一個或更多個存儲塊的轉(zhuǎn)換并提取所需的數(shù)據(jù);以及c)按照其在所述數(shù)據(jù)范圍中的順序布置所提取的數(shù)據(jù)。
17.—種通信設(shè)備,能夠在存儲網(wǎng)絡(luò)中操作并被配置為執(zhí)行權(quán)利要求1的方法階段。
18.一種存儲設(shè)備,能夠在存儲網(wǎng)絡(luò)中操作并被配置為執(zhí)行權(quán)利要求1的任一個的方法階段。
19.根據(jù)權(quán)利要求18所述的存儲設(shè)備,其中所述首部構(gòu)成文件系統(tǒng)的一部分。
20.一種能夠?qū)⒋鎯υ诖鎯υO(shè)備中的未經(jīng)轉(zhuǎn)換的LO轉(zhuǎn)換為存儲在所述存儲設(shè)備中的轉(zhuǎn)換的LO的系統(tǒng),所述存儲設(shè)備以串行的方式操作性地耦接到所述系統(tǒng),所述系統(tǒng)用作針對存儲的數(shù)據(jù)的透明橋,并被配置為執(zhí)行權(quán)利要求1的方法階段。
21.一種能夠?qū)⒋鎯Φ奈唇?jīng)轉(zhuǎn)換的邏輯數(shù)據(jù)對象(LO)轉(zhuǎn)換為轉(zhuǎn)換的LO的系統(tǒng),所述系統(tǒng)包括a)用于將未經(jīng)轉(zhuǎn)換的LO邏輯地劃分為第一分段和一個或更多個未經(jīng)轉(zhuǎn)換的后續(xù)分段的裝置,所述分段具有預(yù)定尺寸;b)用于為相應(yīng)的轉(zhuǎn)換的LO產(chǎn)生首部的裝置,所述首部包括表示轉(zhuǎn)換處理“進(jìn)行中”的指示;c)用于處理所述第一分段從而產(chǎn)生轉(zhuǎn)換的第一分段的裝置,該轉(zhuǎn)換的第一分段包括處于轉(zhuǎn)換的形式的數(shù)據(jù);d)用于使得能夠在所產(chǎn)生的首部和所述轉(zhuǎn)換的第一分段的總尺寸匹配預(yù)定尺寸準(zhǔn)則的情況下由所產(chǎn)生的首部和所述轉(zhuǎn)換的第一分段重寫所述第一分段的裝置;e)用于為所述轉(zhuǎn)換的第一分段和所述一個或更多個未經(jīng)轉(zhuǎn)換的后續(xù)分段做索引來構(gòu)成所述轉(zhuǎn)換的LO的一部分從而產(chǎn)生帶索引的分段的裝置;f)用于產(chǎn)生至少一個索引部的裝置,該索引部包括至少保存與所述帶索引的分段相關(guān)的信息的至少一個條目,所述信息包括每個分段在所述未經(jīng)轉(zhuǎn)換的LO的偏移、相應(yīng)的帶索引的分段的存儲位置的指示、以及所述帶索引的分段是否包含原始形式或轉(zhuǎn)換的形式的數(shù)據(jù)的指示;以及g)用于更新該首部中的指示以表明所述未經(jīng)轉(zhuǎn)換的LO已經(jīng)被轉(zhuǎn)換成所述轉(zhuǎn)換的LO的裝置,所述轉(zhuǎn)換的LO包括所產(chǎn)生的首部、所述轉(zhuǎn)換的第一分段、包含未經(jīng)轉(zhuǎn)換形式的數(shù)據(jù)的所述一個或更多個后續(xù)分段以及所述至少一個索引部。
22.根據(jù)權(quán)利要求21所述的系統(tǒng),還包括用于截取對所述未經(jīng)轉(zhuǎn)換的LO的訪問請求、 并在所述未經(jīng)轉(zhuǎn)換的LO匹配預(yù)定轉(zhuǎn)換準(zhǔn)則的情況下產(chǎn)生轉(zhuǎn)換所述未經(jīng)轉(zhuǎn)換的LO的請求的裝置。
23.根據(jù)權(quán)利要求21所述的系統(tǒng),還包括維護單元,該維護單元能夠識別所存儲的LO 中的未經(jīng)轉(zhuǎn)換的LO并產(chǎn)生轉(zhuǎn)換所識別的未經(jīng)轉(zhuǎn)換LO的請求。
24.根據(jù)權(quán)利要求21所述的系統(tǒng),還包括a)用于在所述索引部的幫助下識別包含具有實時數(shù)據(jù)的范圍且匹配預(yù)定進(jìn)一步轉(zhuǎn)換準(zhǔn)則的至少一個后續(xù)未經(jīng)轉(zhuǎn)換的分段的裝置;b)用于處理相應(yīng)的范圍并將所產(chǎn)生的帶有轉(zhuǎn)換的數(shù)據(jù)的數(shù)據(jù)塊作為新日志而順序容納在所分配的具有預(yù)定尺寸的存儲塊中的裝置;以及c)用于以促進(jìn)所述未經(jīng)轉(zhuǎn)換的LO中的數(shù)據(jù)范圍中的每個點與要從所述轉(zhuǎn)換的LO中讀取的實時數(shù)據(jù)之間的一對一關(guān)系的方式更新所述索引部的裝置。
25.根據(jù)權(quán)利要求M所述的系統(tǒng),還包括用于截取對于所述未經(jīng)轉(zhuǎn)換的LO的寫入請求、分析相應(yīng)的轉(zhuǎn)換的LO是否包括原始形式的數(shù)據(jù)、并且在是的情況下產(chǎn)生轉(zhuǎn)換以原始形式存儲在所述轉(zhuǎn)換的LO中的數(shù)據(jù)的請求的裝置。
26.根據(jù)權(quán)利要求M所述的系統(tǒng),還包括維護單元,該維護單元能夠掃描存儲在所述存儲設(shè)備處的所述轉(zhuǎn)換的L0、識別包含處于原始形式的數(shù)據(jù)的L0、以及按照預(yù)定進(jìn)一步轉(zhuǎn)換準(zhǔn)則產(chǎn)生轉(zhuǎn)換該數(shù)據(jù)的請求。
27.—種維護單元,該維護單元被配置為與能夠?qū)⒋鎯Φ奈唇?jīng)轉(zhuǎn)換的邏輯數(shù)據(jù)對象 (LO)轉(zhuǎn)換為轉(zhuǎn)換的LO的系統(tǒng)協(xié)同工作,該維護單元進(jìn)一步被配置為識別所存儲的LO中的未經(jīng)轉(zhuǎn)換的L0,并產(chǎn)生對于該系統(tǒng)的轉(zhuǎn)換所識別的未經(jīng)轉(zhuǎn)換的LO的一個或更多個請求。
28.根據(jù)權(quán)利要求27所述的維護單元,所述維護單元進(jìn)一步被配置為掃描所存儲的轉(zhuǎn)換的L0、識別包含處于原始形式的數(shù)據(jù)的L0、以及按照預(yù)定進(jìn)一步轉(zhuǎn)換準(zhǔn)則產(chǎn)生對該系統(tǒng)的轉(zhuǎn)換該數(shù)據(jù)的一個或更多個請求。
29.一種計算機程序,包括用于在所述程序運行于計算機上時執(zhí)行權(quán)利要求1的所有步驟的計算機程序代碼裝置。
30.根據(jù)權(quán)利要求27所述的計算機程序,被實現(xiàn)于計算機可讀介質(zhì)上。
全文摘要
一種將設(shè)備中存儲的未經(jīng)轉(zhuǎn)換的邏輯數(shù)據(jù)對象(LO)轉(zhuǎn)換為轉(zhuǎn)換的LO的方法,該方法包括a)響應(yīng)于轉(zhuǎn)換請求,將未經(jīng)轉(zhuǎn)換的LO邏輯地劃分為第一分段和一個或更多個后續(xù)分段,每個分段具有預(yù)定尺寸;b)為轉(zhuǎn)換的LO產(chǎn)生首部;c)處理所述第一分段;d)由所產(chǎn)生的首部和所述轉(zhuǎn)換的第一分段重寫所述第一分段;e)為所述轉(zhuǎn)換的第一分段和未經(jīng)轉(zhuǎn)換的后續(xù)分段做索引來構(gòu)成所述轉(zhuǎn)換的LO的一部分;f)產(chǎn)生至少一個索引部;以及g)更新首部中的指示以表明未經(jīng)轉(zhuǎn)換的LO已經(jīng)被轉(zhuǎn)換成轉(zhuǎn)換的LO,該轉(zhuǎn)換的LO包括所產(chǎn)生的首部、所述轉(zhuǎn)換的第一分段、包含處于未經(jīng)轉(zhuǎn)換形式的數(shù)據(jù)的所述一個或更多個后續(xù)分段以及所述至少一個索引部。
文檔編號G06F17/30GK102473188SQ201080033224
公開日2012年5月23日 申請日期2010年7月27日 優(yōu)先權(quán)日2009年7月27日
發(fā)明者H·考伊夫曼, S·馬倫科夫, Y·阿米特 申請人:國際商業(yè)機器公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1