新四季網

使用標準塊和標準塊標識符的文件傳送的製作方法

2023-05-22 10:00:16 1

專利名稱:使用標準塊和標準塊標識符的文件傳送的製作方法
技術領域:
本發明 一般地涉及使用標準塊和標準塊標識符的文件傳送。
背景技術:
包括一個或多個客戶作業系統和應用程式的虛擬機可以由虛擬機圖像文件表示。
因此,虛擬機可以使用傳統文件操作(複製、移動、拷貝與粘貼)進行克隆和傳送。 每個虛擬機在虛擬機圖像文件中是自持的。該文件駐留在宿主機器上。虛擬機圖
像文件可以通過網絡被拷貝和傳送。如果機器必須從一個物理位置移動到另一物理位置,
那麼僅需要通過計算機網絡將虛擬機圖像文件從第一位置處的宿主機器拷貝到第二位置
處的另一宿主機器。然而,由於虛擬機圖像文件非常大,拷貝虛擬機圖像需要高帶寬連接並
且可能花費非常長的時間。 儘管每個虛擬機圖像文件可能需要千兆字節的空間進行存儲,但是這些虛擬機文 件中的大量內容是相同的。這是因為現今的軟體和作業系統是單一種源的。僅有幾個操作 系統的變體,例如Windows XP 、 Windows VistaTM^P Redhat Li皿x。此外,少量應用佔 用每個機器上大部分的應用程式組。因此,注意到當虛擬機圖像文件被從一個位置向另一 位置拷貝時,拷貝的大多數信息已經存在於目的地處的其它虛擬機文件中。
本申請要求了於2008年9月4日遞交的美國臨時申請No. 61/094, 215的權益。

發明內容
根據第一方面,本發明提供了一種系統,包括SBID至S塊轉換器,用於響應於通 過網絡從目標系統接收的標準塊標識符,通過所述網絡向所述目標系統返回相應標準數據 塊的版本,所述SBID至塊轉換器存儲多個標準數據塊的版本以及從所述標準數據塊的相 應拷貝生成的標準哈希值,所述SBID至塊轉換器將相應的標準塊標識符與所述標準數據 塊的相應一種相關聯。所述系統還包括哈希值至SBID轉換器,用於響應於所述哈希值至 SBID轉換器從所述源系統接收到與從所述標準數據塊的第一種生成的第一標準哈希值相 匹配的第一文件哈希值,通過所述網絡向源系統返回用於所述第一標準數據塊的第一標準 塊標識符。 根據第二方面,本發明提供了一種方法,包括在源系統上將原始文件轉換為原始 塊;從所述原始塊生成文件哈希值;將所述文件哈希值中的一些通過網絡傳輸到SBID服務 器系統;區分匹配從標準塊生成的標準哈希值的文件哈希值以及不匹配所述標準哈希值的 那些文件哈希值;對於匹配標準哈希值的所述文件哈希值的每一個,將相應的標準塊標識 符返回到所述源系統;生成包括所述標準塊標識符的格式文件;以及通過所述網絡將所述 格式文件傳送到目標系統。 根據第三方面,本發明提供了一種包括計算機可讀存儲介質的製品,所述就計算 機可讀存儲介質編碼有計算機可執行指令的程序和標準數據塊,所述程序包括以下步驟 將原始文件劃分成未壓縮的文件塊;壓縮所述未壓縮的文件塊以產生壓縮文件塊;從所述壓縮文件塊生成文件哈希值;對於所述文件哈希值中的每個,當其變成當前處理的哈希值 時,確定它是否匹配在關聯先前處理的文件哈希值與文件塊標識符的表中的條目中表示的 先前處理的文件哈希值;在當前處理的文件哈希值匹配先前處理的文件哈希值的情況下, 將用於當前處理的文件哈希值的文件塊標識符與用於匹配的先前處理的文件哈希值的文 件塊標識符相關聯,以及在當前處理的文件哈希值不匹配先前處理的文件哈希值的情況 下,將當前處理的文件哈希值傳輸到SBID伺服器系統,並且如果從所述SBID伺服器系統返 回了指示該哈希值對應於標準塊的SBID,則將該SBID包括在所述格式文件中。


圖1是根據本發明實施例的計算機系統的網絡系統的簡要示圖。 圖2是在圖1的網絡系統中使用的格式文件和文件塊表的簡要示圖。 圖3是圖1的網絡系統中的文件編碼器的簡要示圖。 圖4是圖1的網絡系統中的文件解碼器的簡要示圖。 圖5是根據本發明的圖1的網絡系統上下文中實現的方法的流程圖。 圖6是圖5方法的編碼步驟的流程圖。 圖7是圖5方法的解碼步驟的流程圖。 圖8是根據本發明的另一網絡系統的簡要示圖。 在附圖中"B塊"是文件被劃分成的多個塊中的一個;"C塊"是B塊的壓縮版本;
並且"D塊"是C塊的解壓縮版本。"B哈希值"是從B塊直接生成的哈希值;C哈希值是從C 塊生成的哈希值;"CQ哈希值"是通過網絡傳輸的"查詢"C哈希值,而"CR哈希值"是與先 前生成的CQ哈希值相匹配的(非CQ哈希值)"引用"C哈希值。"FBID"代表"文件塊標識 符";每個B塊、C塊、D塊、B哈希值、C哈希值、CQ哈希值和CR哈希值對應於各自的FBID。 "SU塊"是已經分配標準塊標識符(SBID)的未壓縮的標準塊。"S塊"是SU塊的壓縮版本。
具體實施例方式
本發明通過替換將被傳送的文件的至少一些塊的標準塊標識符(SBID)來解決這 些以及相關問題。更具體地說,原始文件被劃分成文件塊;這些塊被壓縮,並且文件哈希值 從文件塊生成並且與從預先存在的標準塊集生成的"標準"哈希值相比較。包括用於匹配 非匹配文件塊的壓縮版本和文件塊的SBID的格式文件(recipe file)被從源系統傳送到 目標系統。部分通過交換傳送的SBID以得到他們所代表的標準塊,在目標系統上構建原始 文件的複製件。儘管可以傳送多種文件類型,這種基於SBID的方法對於虛擬機來說特別適 用。虛擬機通常共享常用主機和客戶軟體,所以共享數據塊是相對普遍的。而且,由於虛擬 機盤(vmdk)文件是文件系統的圖像,所以來自文件系統的塊趨向於良好對準。
圖1中簡要示出了根據本發明的網絡系統AP1。 一般而言,本發明適用於多種網絡 系統,包括區域網(LAN)、廣域網(WAN)、網際網路、以及他們的組合。網絡系統AP1包括並且 描述了源系統11、目標系統13以及標準塊標識符(SBID)伺服器系統15之間的連接。通 常,本發明描述的源系統、目標系統和SBID伺服器系統是個體計算機或者他們是計算機的 網絡。在本發明的一些實施例中,源、目標和SBID伺服器系統中的兩個或多個運行在相同 計算機的各自資源上。
這裡關注的目標是從源系統11上的原始虛擬機圖像文件19在目標系統13上創 建複製的虛擬機圖像文件17。為此目的,源系統ll的編碼器21對相對大的原始文件19 進行編碼以在源系統11上產生相對小的格式文件23。源系統11上的格式文件23被傳送 (而非原始文件19)到目標系統13。目標系統13上的解碼器對格式文件23進行解碼以生 成複製文件17。 格式文件23可以包括"標準塊標識符"或"SBID" 29。 SBID 29代表相應的未壓 縮標準塊或"SU塊"30,並且進而代表存儲在標準塊存儲裝置32中的那些塊的壓縮版本, 即,壓縮標準塊或"S塊"31。解碼器27將SBID33從格式文件23通過網絡系統API傳輸到 SBID伺服器系統5,其中SBID33由SBID至S塊轉換器35接收。轉換器35包括存儲裝置 31和將SBID值映射到S塊31的SBID至S塊表37。對於從目標系統13接收的每個SBID 值,SBID伺服器系統15返回對應S塊的版本。在圖示的實施例中,S塊是未壓縮標準SU塊 30的壓縮版本。另一實施例描述了未壓縮標準塊的存儲和/或傳輸。例如,標準塊可以以 未壓縮格式存儲,並且隨後被壓縮用以進行傳輸。 源系統編碼器21負責在格式文件23中包括SBID。編碼器21將原始文件19劃 分成文件塊,例如B塊,並且從這些塊生成哈希值,例如C哈希值。在圖示的實施例中,編碼 器21首先壓縮塊,然後從壓縮塊生成哈希值。在另一實施例中,哈希值是直接從未壓縮文 件塊生成的。至少這些哈希值中的一些,例如CQ哈希值39是通過網絡系統API被傳輸到 SBID伺服器系統15的。SBID伺服器系統15包括S哈希值至SBID轉換器41, S哈希值至 SBID轉換器41進一步包括將S哈希值44映射到SBID 29的S哈希值至SBID表43。
在圖示的實施例中,S哈希值是從S塊生成的;在另一實施例中,哈希值是從SU塊 生成的,其中SU塊是S塊的未壓縮版本。當轉換器41從源系統11接收CQ哈希值時,轉換 器41進行檢查以確定CQ哈希值是否匹配表43中的S哈希值。如果存在匹配,那麼轉換器 41將關聯的SBID 45返回到編碼器21。再這種情況下,從其生成了匹配CQ哈希值的塊與 標準塊相同。如果進入的CQ哈希值沒有匹配表43中的S哈希值條目,那麼轉換器41向編 碼器21返回"未命中"指示,代表從其生成了 CQ哈希值的塊不匹配任何標準塊的情形。方 便的是,諸如SBID = 0的SBID值可以預留用做"未命中"指示。編碼器21在格式文件23 中存儲每個返回的SBID 45。編碼器21還在格式文件23中存儲發生SBID未命中的塊的壓 縮版本。 圖2更詳細地描述了格式文件23。格式文件23的主體被C塊所消耗,其中C塊是
B塊的壓縮版本,而B塊是由編碼器21對原始文件19進行劃分而得到的。由於C塊是經壓
縮的,並且尺寸會變化,因此對於每個存儲在格式文件23中的C塊,相應的C塊長度51在
格式文件23中進行規定。在另一實施例中,壓縮塊的尺寸在塊自身中進行規定。 並非所有C塊都包括在格式文件23中。與C哈希值而非CQ哈希值相關聯的C塊
以及匹配S哈希值的C塊未被包括在格式文件23中。然而,所有C塊都在C塊表53中描
述,其壓縮拷貝55被包括在格式文件23中。此外,格式文件23規定表53的實際(未壓
縮)塊表尺寸57、壓縮C塊表55的尺寸58、以及壓縮C塊表55的偏移位置59。 每個B塊被分配文件塊標識符或"FBID" B01-B99 (為說明目的,示出的FBID的範
圍在B01-B99,儘管在實踐中,將需要更大的FBID值來處理虛擬機圖像文件數以百萬計的B
塊)。這些FBID還被用做關鍵字欄位以標識C塊表53中的相應條目。與表53中的每個FBID相關聯的是相應的位置類型和相應的位置值。三種類型的位置被區分。SBID類型位 置由SBID定義,偏移類型位置由格式文件23內的偏移定義,並且引用(reference)類型位 置由對FBID的引用定義的。在一個實施例中,對於與SBID相關聯的FBID,解碼器27將把 SBID傳輸到SBID伺服器系統15,並且使用返回的S塊34來生成複製文件17。對於與偏移 相關聯的FBID,解碼器27將使用格式文件23中處於該偏移處的C塊來生成複製文件17。
對於與引用值相關聯的FBID,引用值指的是不同的FBID,例如與SBID類型位置相 關聯的FBID或者與偏移類型位置相關聯的FBID。對於對SBID類型位置的間接引用的示 例,在圖2中,FBID B03具有對FBID BOl的引用類型位置引用,其中FBID BOl具有對SBID =10的SBID類型引用。解碼器27將與SBID = 10相關聯的S塊(或那個S塊的解壓縮 版本)與FBID B03相關聯以生成複製文件17。對於對偏移類型位置的間接引用的示例, FBIDB04與引用類型位置B02相關聯。解碼器27將FBID B04與FBID B02所指的偏移位置 處的C塊相關聯。 圖3中更詳細描述了編碼器21。編碼器21包括分塊器(chunker)61。分塊器61 用於將原始虛擬機圖像文件19分成包括標準尺寸的B塊63在內的未壓縮B塊。B塊的尺 寸(本圖示例子中是4kB)是更可能匹配的較小尺寸和更難於管理的較大尺寸之間的折衷。 在其他實施例中,基於系統性能的優化可以為B塊分配不同的尺寸,並且對於不同的塊尺 寸可以不同。根據B塊在原始文件19中的位置,每個B塊被分配FBID B01-B99。
編碼器21的塊壓縮器54壓縮B塊63以生成壓縮的"C塊"65。每個C塊與源B 塊的FBID相關聯。通常,B塊在其能夠被壓縮的程度方面有所不同。在一個實施例中,C塊 具有不同的尺寸。 編碼器21的哈希值生成器71生成哈希值,即C哈希值69。每個FBID因此具有對 應的C哈希值。在圖示的實施例中,C哈希值是直接從C塊生成的,因此是間接從B塊生成 的。在另一實施例中,B哈希值是直接從B塊生成的。在後一個實施例中,代表標準塊的哈 希值是從那些塊的未壓縮版本生成的。 哈希值生成器71使用生成256位哈希值的SHA-2算法,又被稱為"指紋"、"籤名" 和"文摘",因此與4kB值形成對照,比較是在32位元組值之間進行的。具有不同哈希值的兩 個塊必定不同。SHA-2哈希值是抗衝突的(collision resistant),因此不太可能具有相同 哈希值的兩個塊會不同。為了防止錯配的任何可能,可以使用整個塊的逐位比較來確認哈 希值的比較所指示的匹配。SHA-2哈希值還具有與安全性相關的加密屬性,這使得很難從其 哈希值確定塊。另一實施例使用其他哈希算法,例如SHA-1和MD5。 編碼器21的哈希值管理器75處理C哈希值73。在圖示的實施例中,C哈希值被 順序處理。另一實施例以並行方式處理哈希值的組以提高性能。對於每個C哈希值,哈希 值管理器75確定其是否匹配哈希值表79中的CQ哈希值77之一。對於將被處理的第一 C 哈希值,哈希值表79為空,從而發生未命中。如果發生未命中,哈希值管理器75將不匹配 的C哈希值的壓縮查詢CQ哈希值拷貝傳輸到SBID伺服器系統15。在圖3中,該功能由門 81表示,其中門81由未命中指示使能,並且由"非未命中"或"命中"指示禁用。並且,哈希 值管理器75將CQ哈希值輸入哈希值表79,將其與源C哈希值的FBID相關聯。在第一 C哈 希值的情形中,該FBID是BOl 。 對於哈希值管理器75處理的第二和後續C哈希值,命中或未命中是可能的。如上所述,對於未命中的情形,CQ哈希值被傳輸並且對應的條目被添加到哈希值表79。對於命 中的情形,沒有CQ哈希值被傳輸或者被輸入到哈希值表79。非CQ C哈希值這裡被稱為"壓 縮引用哈希值"或"CR哈希值"。編碼器21的C塊表生成器81將匹配CQ哈希值的FBID與 C塊表53中的CR哈希值條目的FBID相關聯。 當編碼器21將CQ哈希值傳輸到SBID伺服器系統15時,將返回正的SBID或者 "未命中"指示(SBID = 0)。對於返回正的SBID的情形,認為關聯的CQ塊與相應的S塊相 同。因此,C塊表發生器81將SBID與C塊表53中處理的CQ哈希值的FBID相關聯。
對於返回未命中指示(SBID = 0)的情形,關聯的C塊沒有匹配S塊並且不能由 SBID表示。因此,編碼器21的格式生成器83在格式文件23內的相應偏移位置處(例如, 偏移位置Q02)包括格式文件23中不匹配的C塊。C塊表生成器81隨後將該偏移位置與被 處理的CQ哈希值的FBID相關聯。由於壓縮文件具有不同的尺寸,格式生成器83將每個非 標準CQ塊與長度規範51 (圖2)相關聯,從而格式文件23中下一項目的開始位置可以被容 易地計算。 —旦所有FBID均被處理,則編碼器21的表壓縮器85壓縮C塊表53以產生壓縮C 塊表55 (圖2)。格式生成器83隨後將壓縮C塊表55連同用於壓縮C塊表55的實際(未 壓縮)尺寸規範57、壓縮表尺寸規範58以及偏移位置規範59 —起插入格式文件23中。所 得的格式文件23隨後被從源系統11傳送到目標系統13,其在這裡被稱為格式文件23。
解碼器27包括C塊表擴展器91, C塊表擴展器91用於擴展格式文件的壓縮C塊 表55以在目標系統13上產生C塊表92,該C塊表92是源系統11上的C塊表53的複製 件。解碼器27的C塊表解析器93順序處理表條目。對於與SBID相關聯的FBID,解析器 93利用SBID伺服器系統15來交換SBID以得到其所代表的S塊。返回的S塊由塊擴展器 94擴展以產生"解壓縮塊"或"D塊"95。解碼器27的文件彙編器96將D塊插入複製文件 17中。 對於與格式文件偏移相關聯的FBID,表解析器93從格式文件23提取關聯C塊,並 且將其提供給塊擴展器94。塊擴展器94生成解壓縮D塊,其中所述解壓縮D塊被文件彙編 器96插入到複製文件17中。對於與先前處理的FBID相關聯的FBID,解析器93將先前處 理的FBID的標識傳送到文件彙編器96。文件彙編器96隨後將關聯D塊的拷貝插入到與當 前處理的FBID相關聯的文件位置中。 圖5中以流程圖的方式示出了本發明的編碼-傳送-解碼方法MEl。步驟S1包括 在源系統上對虛擬機圖像文件進行編碼以產生包括SBID的格式文件。步驟S2包括將格式 文件從源系統通過網絡傳送到目標系統。步驟S3包括對格式文件進行解碼以產生與原始 虛擬機圖像文件19相同的複製虛擬機圖像文件17。 圖6中以流程圖的方式更詳細地示出了編碼步驟S1。在步驟S11,分塊器61將原 始文件19劃分成未壓縮的B塊。在圖示的實施例中,源系統11上的文件系統將原始文件 19存儲為4kB的塊,並且這些預先存在的塊變成B塊。在另一實施例中,現有塊劃分被忽 略並且這個劃分步驟S11創建新塊。在任何一種情形中,B塊可以被分配相應的順序FBID B01-B99。 在步驟S12, B塊被壓縮以產生相應的壓縮C塊。在另一實施例中,原始文件被存 儲為一組壓縮塊,因為沒有使用單獨的塊壓縮步驟。
在步驟S13,為B塊版本之一進行哈希運算。在圖示的實施例中,從C塊計算C哈 希值。在另一些實施例中,哈希值是直接從預壓縮或未壓縮的B塊生成的。每個C哈希值 與關聯於B塊的FBID相關聯,其中C哈希值從所述B塊直接或間接生成。
從步驟S14開始,操作在邏輯上由FBID安排。在圖示的實施例中,塊和哈希值以 他們FBID的順序被處理,例如,具有FBID BOl的C哈希值在具有FBID B02的C哈希值之 前被處理。在另一實施例中,C哈希值被成組布置,並且每個組內的哈希值被並行處理。在 這些並行實施例中的一些實施例中,採取措施從而儘管是對哈希值的並行處理也能獲得與 順序處理相關聯的排序效果。 在步驟S14,確定當前處理的C哈希值是否匹配先前處理的C哈希值。在圖示的實 施例中,通過將當前哈希值輸入哈希值表79(其初始為空)作出該確定。因此,對於與FBID BOl相關聯的第一 C哈希值,找不到匹配,其因而被識別為CQ哈希值。當找不到匹配的時 候,在步驟S15向表79添加新條目,從而將FBID BOl與當前CQ哈希值相關聯的條目被加 入表79。並且,在步驟S16,非匹配的CQ哈希值被傳輸到SBID伺服器系統15。
在步驟S17,伺服器系統15確定接收到的CQ哈希值是否匹配S哈希值至SBID表 43中的S哈希值。在與FBID BOl相關聯的CQ哈希值的情形中,找到與S哈希值的匹配。 這意味著與FBID BOl相關聯的B塊匹配標準SU塊。從而,目標系統13將能夠從SBID服 務器系統15獲取S塊,而非從源系統11獲取C塊。在圖示的實施例中,標準塊以壓縮的形 式存儲,因此實際匹配是在C塊和S塊之間的。 在步驟S18,響應於S哈希值匹配,SBID伺服器系統15將SBID返回到源系統11。 在步驟S19,返回的SBID與塊表53中的匹配CQ哈希值的FBID相關聯。
如果在步驟S17,當前CQ哈希值不匹配S哈希值,那麼在步驟S20處SBID伺服器 15向源系統ll返回"未命中"指示。在圖示的實施例中,SBID值為零被預留作為未命中指 示。在步驟S21,當前C塊被寫入格式文件23中的偏移位置。在步驟S22,偏移位置與塊表 53中的當前FBID相關聯。因此,由於與FBID B02相關聯的CQ哈希值沒有匹配S哈希值, 所以格式文件23中的關聯CQ塊的偏移值與塊表53中的當前FBID相關聯。
在步驟S14,只有當前C哈希值沒能匹配哈希值表79中的條目時,CQ哈希值才從 當前C哈希值生成。如果當前C哈希值匹配表79中的哈希值,那麼當前C哈希值與先前處 理的C哈希值相同。假定上,對應的文件塊也匹配。因此,在步驟S23在塊表79中作出對 與先前處理的CQ哈希值相對應的塊的引用。換句話說,先前處理的CQ哈希值的FBID的引 用類型條目與表79中的當前FBID相關聯。 例如,具有FBID B03的CR哈希值匹配哈希值表79中與FBID B01相關聯的CQ哈 希值。從而,與FBID B01相關聯的SBID間接與塊表53中的FBID B03相關聯。對於另一 示例,具有FBID B04的CR哈希值匹配哈希值表79中與FBID B02相關聯的CQ哈希值。從 而,與FBID B02相關聯的C塊將憑藉塊表53而間接與FBID B04相關聯。 一旦所有C哈希 值被處理(步驟S14-S23),則在步驟S24處塊表53被壓縮以產生壓縮塊表55,壓縮塊表55 被插入格式文件23。在步驟S2(圖5)格式文件23隨後被傳送到目標系統13。
圖7中以流程圖的方式詳細描述了解碼步驟S3。在步驟S31,格式文件23中的壓 縮C塊表55被解壓縮以產生C塊表92,其是C塊表53的複製件。在一個實施例中,C塊表 53存儲格式中存儲的C塊的FBID、 SBID和偏移。在步驟S32,解析器93以FBID的順序解析C塊表92。對C塊表條目的進一步處理取決於條目類型,如步驟S33處所確定的那樣。
對於SBID類型條目的情形,在步驟S34處交換SBID以得到S塊。特別地,目標系 統13將SBID傳輸到SBID伺服器系統15, SBID伺服器系統15返回S塊以與當前FBID相 關聯。該S塊在步驟S35處被解壓縮以產生解壓縮"D塊"。該D塊在步驟S36處被插入復 制虛擬機圖像文件。 對於偏移條目的情形,在步驟S37處對格式文件23中的引用偏移位置處的C塊進 行解壓縮以產生D塊,D塊被插入複製文件17中。對於引用條目的情形,作出先前解壓縮 的D塊的拷貝;該拷貝隨後被插入複製文件17中。對於間接文件的情形,這可以簡單意味 著複製塊指針被插入文件的元數據中。 一旦表92的所有條目已被處理,那麼複製虛擬機圖 像文件17完成。 第二網絡系統AP2包括源系統201、目標系統203以及分布式SBID伺服器系統 205。源系統201包括用於從原始文件211生成格式209的編碼器207。目標系統203包括 用於從格式209生成與原始文件211相同的複製文件215的解碼器213,其中格式文件209 是從原始系統201傳送到目標系統203的格式209的拷貝。SBID伺服器系統205包括兩個 SBID伺服器221和223, SBID伺服器221和223實質上彼此相同,並且與網絡系統API的 SBID伺服器系統15實質上相同。 網絡系統AP2提供源系統201和目標系統203之間相對慢的網際網路連接225。格 式文件209正是通過這個網際網路連接225而從源系統201傳送到目標系統203以產生格式 文件209。網絡系統AP2還提供1)在編碼器207和SBID伺服器221之間相對快的區域網 (LAN)連接227 ;以及2)在解碼器213和SBID伺服器223之間相對快的LAN連接229。這 意味著編碼器207的SBID請求將被快速滿足,並且更為重要的是,解碼器213的S塊請求 被快速滿足。因此,系統AP2不僅將源系統201從必須傳送標準塊釋放出來,並且還提供了 比源系統201所能提供的更快的標準塊傳送。因此,與在系統AP1環境中相比,在系統AP2 環境中,圖6中的步驟S16-S18以及圖7中的步驟S34可以更高速執行。
系統AP2還包括計算機可讀存儲介質300形式的製品,其上編碼有在系統API或 AP2上實現方法ME1所需的計算機可執行指令的所有數據和程序,包括編碼器、解碼器、轉 換器、原始文件、以及生成的複製文件和格式文件。 還可以通過讓源系統或目標系統或兩者記錄其系統上表示的標準塊而採用利用 本地化SBID伺服器的策略。從而,當SBID返回源系統的時候,源系統可以維護將該SBID 映射到對應B塊的SBID表。類似地,當目標系統接收S塊時,其可以記錄用來獲取S塊的 SBID以及最終D塊的位置。下一次需要SBID或需要S塊的時候,可以檢查本地SBID表,並 且如果發生命中,那麼將省略與SBID伺服器系統的交換。 在一些實施例中使用了加密技術。例如,格式文件可以包括壓縮文件塊的加密版 本,並且SBID伺服器系統可以存儲和/或傳輸標準塊的加密版本。文件哈希值可以從文件 塊的任何版本生成,並且標準哈希值可以從標準塊的任何版本生成。在一些實施例中,生成 標準哈希值的版本與返回到目標系統的S塊的版本不相同。從文件或標準塊的任何版本直 接生成的標準哈希值或文件被認為是從標準或文件塊(直接或間接)生成的。
如本領域普通技術人員將能理解的,並且如上面的說明書所解釋的,本發明提供 了多種替代性實施例。對所示實施例這樣或那樣的變化和修改可以由本發明提供,本發明的範圍由權利要求限定。 儘管為了理解的清晰已經比較詳細地描述了本發明的一個或多個實施例,但是很 明顯在權利要求的範圍內可以進行一些修改和改變。因此,所描述的實施例應被認為僅是 示例性的而非限制性的,權利要求的範圍不受這裡給出的細節的限制,而是可以在權利要 求的範圍和等同物之內進行修改。在權利要求中,元素和/或步驟並不暗示操作的任何特 定順序,除非在權利要求中有明確陳述。 此外,儘管所描述的虛擬化方法通常認為虛擬機呈現與特定硬體系統一致的接 口 ,但是本領域普通技術人員將意識到,所描述的方法可以結合併非直接對應於任何特定 硬體系統的虛擬化而使用。可以預想根據多種實施例被實現為主實施例、非主實施例或者 想要模糊二者區別的實施例的虛擬化系統。此外,多種虛擬化操作可以全部或部分以硬體 實現。例如,硬體實現可以使用查找表用於修改存儲裝置訪問請求,進而保護非盤數據。
許多變形、修改、添加和改進都是可能的,而與虛擬化的級別無關。虛擬化軟體因 此可以包括主機、控制臺或執行虛擬化功能的客戶作業系統的組件。多個實例可以用於這 裡描述為單個實例的組件、操作或結構。最後,多個組件、操作和數據存儲之間的邊界某種 意義上是任意的,並且特定操作在具體示例性配置的上下文中示出。可以預想其它功能分 配並且也落在本發明的範圍之內。 一般而言,在示例性配置中呈現為分立組件的結構和功 能可以被實現為組合結構或組件。類似地,呈現為單個組件的結構和功能可以被實現為分 立組件。這些以及其它變形、修改、添加和改進可以落在權利要求的範圍之內。
權利要求
一種系統,包括SBID至S塊轉換器,用於響應於通過網絡從目標系統接收的標準塊標識符,通過所述網絡向所述目標系統返回相應標準數據塊的版本,所述SBID至塊轉換器存儲多個標準數據塊的版本以及從所述標準數據塊的相應一種生成的標準哈希值,所述SBID至塊轉換器將相應的標準塊標識符與所述標準數據塊的相應一種相關聯;以及哈希值至SBID轉換器,用於響應於所述哈希值至SBID轉換器從所述源系統接收到與從所述標準數據塊的第一種生成的第一標準哈希值相匹配的第一文件哈希值,通過所述網絡向源系統返回用於所述第一標準數據塊的第一標準塊標識符。
2. 如權利要求1所述的系統,其中所述哈希值至SBID轉換器響應於從所述源系統接收 到與所述標準數據塊的任何一種不同的第二文件哈希值,返回所述第二文件哈希值不對應 於所述標準數據塊的任何一種的指示。
3. 如權利要求2所述的系統,進一步包括所述源系統和所述目標系統,所述源系統包 括用於通過編碼原始文件而生成格式文件的編碼器,所述目標系統包括用於通過解碼所述 格式文件而生成所述原始文件的複製件的解碼器,所述格式文件包括所述原始文件的第一 文件塊的版本以及所述第一標準塊標識符。
4. 如權利要求3所述的系統,其中所述源系統包括用於將所述原始文件劃分成文件塊 的分塊器、用於從所述文件塊生成文件哈希值的哈希值生成器、以及用於將所述文件哈希 值與關聯於所述文件塊的相應文件塊標識符相關聯的哈希值表,所述編碼器在當前處理的文件哈希值匹配先前處理的文件哈希值的情況下,在所述格式文件中將 用於所述當前處理的文件塊的文件塊標識符與用於所述先前處理的文件哈希值的文件塊 標識符相關聯,以及在當前處理的文件哈希值不匹配先前處理的文件哈希值的情況下,在所述哈希值表中 添加與所述當前處理的文件哈希值相關聯的條目並且在所述哈希值表中添加其文件塊標 識符,並且將所述當前處理的文件哈希值傳輸到所述哈希值至UID轉換器。
5. 如權利要求4所述的系統,其中所述第一輸入哈希值沒有被傳輸到所述哈希值至 SBID轉換器。
6. 如權利要求1所述的系統,其中所述原始文件是虛擬機圖像文件。
7. —種方法,包括在源系統上將原始文件轉換為原始塊; 從所述原始塊生成文件哈希值;將所述文件哈希值中的一些通過網絡傳輸到SBID伺服器系統;區分匹配從標準塊生成的標準哈希值的文件哈希值以及不匹配所述標準哈希值的那 些文件哈希值;對於匹配標準哈希值的所述文件哈希值的每一個,將相應的標準塊標識符返回到所述 源系統;以及生成包括所述標準塊標識符的格式文件; 通過所述網絡將所述格式文件傳送到目標系統。
8. 如權利要求7所述的方法,進一步包括對於不匹配標準哈希值的所述文件哈希值的每一個,將所述文件哈希值不匹配標準哈希值的指示返回到所述源系統;以及對於不匹配標準哈希值的所述文件哈希值的每一個,在所述格式文件中包括從中生成 所述文件哈希值的原始塊的壓縮版本,此包括過程不適用於匹配標準哈希值的任何文件哈 希值。
9. 如權利要求8所述的方法,進一步包括確定當前處理的文件哈希值是否匹配先前處理的文件哈希值;以及 如果匹配,則在所述格式文件中將用於所述當前處理的文件哈希值的文件塊標識符與用於所述先前處理的文件哈希值的文件塊標識符相關聯,並且不將所述當前處理的文件哈希值傳輸到所述SBID伺服器系統,以及如果不匹配,則將所述當前處理的文件哈希值傳輸到所述SBID伺服器系統。
10. 如權利要求9所述的方法,進一步包括對所述格式文件解碼,以在所述目標系統上 產生所述原始文件的複製文件。
11. 如權利要求IO所述的方法,其中所述解碼包括將所述格式文件中的SBID從所述目標系統通過所述網絡傳輸到所述SBID伺服器系 統;以及將所述標準塊的版本從所述SBID伺服器系統通過所述網絡返回到所述目標系統。
12. 如權利要求7所述的方法,其中所述原始文件是虛擬機圖像文件。
13. —種包括計算機可讀存儲介質的製品,所述就計算機可讀存儲介質編碼有計算機 可執行指令的程序和標準數據塊,所述程序包括以下步驟將原始文件劃分成未壓縮的文件塊; 壓縮所述未壓縮的文件塊以產生壓縮文件塊; 從所述壓縮文件塊生成文件哈希值;對於所述文件哈希值中的每個,當其變成當前處理的哈希值時,確定它是否匹配在 關聯先前處理的文件哈希值與文件塊標識符的表中的條目中表示的先前處理的文件哈希 值;在當前處理的文件哈希值匹配先前處理的文件哈希值的情況下,將用於當前處理的文 件哈希值的文件塊標識符與用於匹配的先前處理的文件哈希值的文件塊標識符相關聯,以 及在當前處理的文件哈希值不匹配先前處理的文件哈希值的情況下,將當前處理的文件 哈希值傳輸到SBID伺服器系統,並且如果從所述SBID伺服器系統返回了指示該哈希值對 應於標準塊的SBID,則將該SBID包括在所述格式文件中。
14. 如權利要求13所述的製品,其中如果所述SBID系統返回所述當前處理的文件哈希 值沒有對應於標準塊的指示,則在所述格式文件中包括從中生成所述當前處理的哈希值的 壓縮文件塊的拷貝。
15. 如權利要求13所述的製品,其中所述程序進一步包括以下步驟將所述格式文件從源系統傳輸到目標系統;以及 解碼所述格式文件以產生所述原始文件的複製件。
16. 如權利要求15所述的製品,其中所述解碼包括將所述格式文件中的SBID傳輸到所 述SBID伺服器系統以及在所述複製文件中包括作為交換接收到的標準塊的版本。
17. 如權利要求16所述的製品,其中所述解碼包括對所述格式文件中的所述壓縮塊的 所述拷貝進行解壓縮以及在所述複製文件中包括所得的擴展塊。
18. 如權利要求13所述的製品,其中所述原始文件是虛擬機圖像文件。
全文摘要
與從源系統向目標系統傳送諸如虛擬機圖像文件的大原始文件不同,原始文件被編碼以定義被傳送的格式文件。格式隨後被解碼以在目標系統上產生原始文件的複製件。編碼涉及標識出原始文件中的標準塊,並且在格式中包括用於標準塊的標準塊標識符以代替原始塊。解碼涉及與標準塊標識符伺服器系統進行交換,標準塊標識符伺服器系統響應於接收到的標準塊標識符而提供標準塊。
文檔編號H04L29/08GK101710324SQ20091015745
公開日2010年5月19日 申請日期2009年7月30日 優先權日2008年9月4日
發明者加內特·蒂莫西, 沙阿·米拉, 阿斯蒂德·馬修, 阿瑪拉辛哈·薩滿P 申請人:威睿公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀