专利摘要:
本申請提供了一種收縮虛擬磁碟鏡像檔案的方法及裝置,以解決目前的虛擬磁碟鏡像檔案即使刪除資料也不會使檔案減小,從而浪費儲存空間的問題。該方法包括:查找檔案中的垃圾資料區塊,並修改該垃圾資料區塊在區塊分配表中的相應記錄,其中該垃圾資料區塊為不保存有效資料的資料區塊;將位於垃圾資料區塊後面的有效資料區塊遷移至垃圾資料區塊的位置,並修改遷移後的有效資料區塊在區塊分配表中的相應記錄;在完成資料區塊遷移後,將該檔案進行截短。本申請使得虛擬磁碟鏡像檔案刪除某些資料後,鏡像檔案的大小也可以減小,從而節省檔案所需的儲存空間。
公开号:TW201308083A
申请号:TW101102261
申请日:2012-01-19
公开日:2013-02-16
发明作者:zhen-hua Song;wei-cai Chen;Qian Wang;Jia Wan
申请人:Alibaba Group Holding Ltd;
IPC主号:G06F3-00
专利说明:
收縮虛擬磁碟鏡像檔的方法及裝置
本申請係關於電腦檔案處理技術,特別係關於一種收縮虛擬磁碟鏡像檔案的方法及裝置。
鏡像檔案其實和ZIP壓縮包類似,它將特定的一系列檔案按照一定的格式製作成單一的檔案,以方便用戶下載和使用,例如一個測試版的作業系統、遊戲等。它最重要的特點是可以被特定的軟體識別並可直接燒錄到光碟上。其實通常意義上的鏡像檔案可以再擴展一下,在鏡像檔案中可以包含更多的資訊。比如說系統檔案、引導檔案、分區表資訊等,這樣鏡像檔案就可以包含一個分區甚至是一區塊硬碟的所有資訊。
VHD(Virtual Hard Disk)是一種虛擬磁碟的鏡像檔案格式。VHD格式的檔案可以作為一種虛擬磁碟,進行檔案系統格式化、儲存虛擬機的資料。
VHD包括三種類型:固定(fixed)磁碟鏡像、動態(dynamic)磁碟鏡像、增量(differencing)磁碟鏡像。固定磁碟鏡像檔案的大小在建立時就被確定,在它上面格式化檔案系統、寫入資料、刪除資料都不會改變鏡像檔案的大小。動態磁碟鏡像檔案和增量磁碟鏡像檔案會隨著寫入資料的增加而增長,但當資料被刪除後,鏡像檔案的大小不會減小。
例如,建立一個2GB的動態磁碟鏡像檔案,它的最初大小僅為十幾KB,隨著寫入的資料不斷增加,它的大小最多可以增長到約2GB,但刪除資料並不會使它的大小減少。
基於這種特性,該動態磁碟鏡像檔案和增量磁碟鏡像檔案一旦寫入資料,其檔案大小就會增長,即使以後刪除資料也不會使檔案減小,因此這部分刪除的資料相當於仍在佔用VHD的儲存空間,造成了儲存空間的浪費。
本申請提供了一種收縮虛擬磁碟鏡像檔案的方法及裝置,以解決目前的虛擬磁碟鏡像檔案即使刪除資料也不會使檔案減小,從而浪費儲存空間的問題。
為了解決上述問題,本申請公開了一種收縮虛擬磁碟鏡像檔案的方法,其中:該檔案包含資料區塊和用於記錄每個資料區塊資訊的區塊分配表;該方法包括:查找檔案中的垃圾資料區塊,並修改該垃圾資料區塊在區塊分配表中的相應記錄,其中該垃圾資料區塊為不保存有效資料的資料區塊;將位於垃圾資料區塊後面的有效資料區塊遷移至垃圾資料區塊的位置,並修改遷移後的有效資料區塊在區塊分配表中的相應記錄;在完成資料區塊遷移後,將該檔案進行截短。
較佳的,每個資料區塊包含磁區和用於記錄每個磁區資訊的磁區位元圖;查找檔案中的垃圾資料區塊之前,還包括:查找檔案資料區塊中的垃圾磁區,並修改該垃圾磁區在磁區位元圖中的相應記錄。
較佳的,查找檔案中的垃圾資料區塊,包括:查找檔案資料區塊中的磁區位元圖,將磁區位元圖中對應所有磁區的記錄都表示為垃圾磁區的資料區塊作為垃圾資料區塊。
較佳的,查找檔案資料區塊中的垃圾磁區,包括:查找檔案資料區塊中的磁區位元圖,如果磁區位元圖中對應某個磁區的記錄表示該磁區中儲存著資料,則繼續進行以下判斷:如果該檔案是動態磁碟鏡像檔案,則判斷該磁區中儲存的資料是否全為0,如果是,則將該磁區作為垃圾磁區;如果該檔案是增量磁碟鏡像檔案,則判斷該磁區中儲存的資料是否與父鏡像檔案中相同磁區位置的資料一致,如果一致,則將該磁區作為垃圾磁區。
較佳的,查找檔案資料區塊中的垃圾磁區,包括:如果該檔案是動態磁碟鏡像檔案,則獲取檔案資料區塊的原始磁區位元圖和表示對應磁區是否儲存有效資料的反轉磁區位元圖;對比該原始磁區位元圖和反轉磁區位元圖的每一位元:如果原始磁區位元圖中對應某個磁區的記錄表示該磁區中儲存著資料,並且該磁區在反轉磁區位元圖中的相應記錄表示該磁區中沒有儲存資料,則將該磁區作為垃圾磁區。
較佳的,查找檔案資料區塊中的垃圾磁區,包括:如果該檔案是增量磁碟鏡像檔案,則獲取檔案資料區塊的原始磁區位元圖和表示對應磁區是否儲存有效資料的反轉磁區位元圖以及祖先鏡像檔案中相同資料區塊的磁區位元圖;對比該原始磁區位元圖、反轉磁區位元圖和祖先鏡像磁區位元圖的每一位元:如果原始磁區位元圖中對應某個磁區的記錄表示該磁區中儲存著資料,並且該磁區在祖先鏡像磁區位元圖中的相應記錄表示該磁區中沒有儲存資料,並且該磁區在反轉磁區位元圖中的相應記錄表示該磁區中沒有儲存資料,則將該磁區作為垃圾磁區。
較佳的,在完成資料區塊遷移後,將該檔案進行截短,包括:在完成資料區塊遷移後,檔案末尾形成一區塊等於所有垃圾資料區塊大小的無用區域,將該無用區域截斷,得到截短之後的檔案。
本申請還提供了一種收縮虛擬磁碟鏡像檔案的裝置,其中:該檔案包含資料區塊和用於記錄每個資料區塊資訊的區塊分配表;該裝置包括:垃圾資料區塊查找模組,用於查找檔案中的垃圾資料區塊,並修改該垃圾資料區塊在區塊分配表中的相應記錄,其中該垃圾資料區塊為不保存有效資料的資料區塊;資料遷移模組,用於將位於垃圾資料區塊後面的有效資料區塊遷移至垃圾資料區塊的位置,並修改遷移後的有效資料區塊在區塊分配表中的相應記錄;檔案截短模組,用於在完成資料區塊遷移後,將該檔案進行截短。
較佳的,每個資料區塊包含磁區和用於記錄每個磁區資訊的磁區位元圖;該裝置還包括:垃圾磁區查找模組,用於查找檔案資料區塊中的垃圾磁區,並修改該垃圾磁區在磁區位元圖中的相應記錄。
較佳的,該垃圾資料區塊查找模組透過查找檔案資料區塊中的磁區位元圖,將磁區位元圖中對應所有磁區的記錄都表示為垃圾磁區的資料區塊作為垃圾資料區塊。
較佳的,該垃圾磁區查找模組包括:磁區位元圖查找子模組,用於查找檔案資料區塊中的磁區位元圖,如果磁區位元圖中對應某個磁區的記錄表示該磁區中儲存著資料,則觸發判斷子模組;判斷子模組,用於進行以下判斷:如果該檔案是動態磁碟鏡像檔案,則判斷該磁區中儲存的資料是否全為0,如果是,則將該磁區作為垃圾磁區;如果該檔案是增量磁碟鏡像檔案,則判斷該磁區中儲存的資料是否與父鏡像檔案中相同磁區位置的資料一致,如果一致,則將該磁區作為垃圾磁區。
較佳的,如果該檔案是動態磁碟鏡像檔案,則該垃圾磁區查找模組包括:第一獲取子模組,用於獲取檔案資料區塊的原始磁區位元圖和表示對應磁區是否儲存有效資料的反轉磁區位元圖;第一對比子模組,用於對比該原始磁區位元圖和反轉磁區位元圖的每一位元:如果原始磁區位元圖中對應某個磁區的記錄表示該磁區中儲存著資料,並且該磁區在反轉磁區位元圖中的相應記錄表示該磁區中沒有儲存資料,則將該磁區作為垃圾磁區。
較佳的,如果該檔案是增量磁碟鏡像檔案,則該垃圾磁區查找模組包括:第二獲取子模組,用於獲取檔案資料區塊的原始磁區位元圖和表示對應磁區是否儲存有效資料的反轉磁區位元圖以及祖先鏡像檔案中相同資料區塊的磁區位元圖;第二對比子模組,對比該原始磁區位元圖、反轉磁區位元圖和祖先鏡像磁區位元圖的每一位元:如果原始磁區位元圖中對應某個磁區的記錄表示該磁區中儲存著資料,並且該磁區在祖先鏡像磁區位元圖中的相應記錄表示該磁區中沒有儲存資料,並且該磁區在反轉磁區位元圖中的相應記錄表示該磁區中沒有儲存資料,則將該磁區作為垃圾磁區。
與現有技術相比,本申請包括以下優點:首先,本申請透過查找虛擬磁碟鏡像檔案中的垃圾資料區塊,並將垃圾資料區塊後面的有效資料區塊遷移至垃圾資料區塊的位置,使檔案末尾形成一區塊無用的區域,最後再將這部分無用的區域截斷,就可以清除檔案中的垃圾資料區塊,進而收縮檔案的大小。本申請使得VHD格式的動態磁碟鏡像檔案和增量磁碟鏡像檔案刪除某些資料後,鏡像檔案的大小也可以減小,從而節省檔案所需的儲存空間。
其次,本申請在查找垃圾資料區塊的過程中,提出一種快速計算垃圾磁區的方法,可以更加快速地識別出資料區塊中哪些磁區是垃圾磁區,進而將所有磁區都是垃圾磁區的資料區塊作為垃圾資料區塊。
當然,實施本申請的任一產品不一定需要同時達到以上所述的所有優點。
為使本申請的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖和具體實施方式對本申請作進一步詳細的說明。
本申請提出一種清除虛擬磁碟鏡像檔案中的垃圾資料、進而收縮檔案的方法,使得鏡像檔案中刪除某些資料後,應用該方法,鏡像檔案的大小也可以減小,從而節省檔案所需的儲存空間。
其中,該垃圾資料是指在虛擬機運行過程中產生的,後來又刪除的不再需要的,但仍存在於虛擬磁碟鏡像檔案中的資料。
下面以VHD格式的鏡像檔案為例對本申請該方法的實現流程進行詳細說明。
首先介紹VHD鏡像檔案的格式。
參照圖1,是本申請實施例中VHD鏡像檔案的格式的示意圖。一個VHD鏡像檔案通常包括以下幾部分:footer(底部資訊)、header(頭資訊)、BAT(Block Allocation Table,區塊分配表)和data block(資料區塊)。每部分的詳細說明如下: 1)footer
footer中記錄著header的起始磁區、檔案大小、鏡像類型(動態鏡像或增量鏡像)等等資訊。footer位於檔案的最後,每當有新的資料寫入鏡像檔案時,都要隨著向後移動,寫到檔案的最後。而且,由於footer是VHD檔案最重要的資訊,所以在VHD的最開始,保留了footer的一個備份拷貝。 2)header
header中記錄著BAT的起始磁區、BAT中的項數(即最多可能有多少個data block)、Data Block的大小等資訊。此外,如果是增量鏡像檔案,還記錄著它的父盤(即父鏡像檔案)的位置資訊。 3)BAT
BAT中的每一項記錄了對應的data block的起始磁區,如果某個表項並沒有對應的data block,則記錄為0xFFFFFFFF(表示尚未分配的data block)。 4)data block
每個data block由一個磁區位元圖(sector bitnap)和其後的資料區(磁區)組成。
對於動態VHD,磁區位元圖中的某一位元(bit)為0,表示對應的磁區(sector)中沒有保存資料;如果某一位元(bit)為1,表示對應的磁區(sector)中保存著資料,但是如果該磁區的資料被刪除了,該位元不會復位,仍然是1。換而言之,如果某個磁區中的資料從該data block被分配給VHD檔案後,沒有被修改過,則對應的位元圖中的位元為0;否則只要被修改過,就為1。
對於增量VHD,某一位元為1,表示該增量盤自身的該磁區中保存著有效資料;如果為0,表示該增量盤自身的該磁區中沒有保存有效資料,需要到它的父盤中對應的磁區中讀取資料。如果父盤也是一個增量盤,則需要進一步檢查是否需要到父盤的父盤中讀取資料,直至回溯到一個非增量的(固定大小的或動態的)祖先盤。
同一個鏡像檔案中的所有data block大小相同,並且記錄在header中。
基於圖1所示的鏡像檔案格式,當建立一個動態鏡像檔案或增量鏡像檔案時,新建立的鏡像檔案僅僅包含footer、header、BAT等部分,並沒有分配data block。當要寫入資料時,才會為該資料分配若干個data block,用於保存資料,並且更新BAT中對應項記錄的data block起始磁區。
當要讀取保存在VHD鏡像檔案中的資料時,需要將要讀取的邏輯磁區號碼(相對於保存資料的邏輯磁區號碼,而不是相對於VHD鏡像檔案的物理磁區號碼)換算成相對VHD鏡像檔案的物理磁區號碼。換算方法如下:BlockNumber=LogicalSectorNumber/SectorsPerBlock其中,符號“/”表示除取下整,如“5/3=1”;SectorInBlock=LogicalSectorNumber%SectorsPerBlock其中,符號“%”表示除取餘數,如“5%3=2”;PhysicalSectorLocation=BAT[BlockNumber]+BlockBitmapSectorCount+SectorInBlock其中:LogicalSectorNumber:邏輯磁區號碼;BlockNumber:所在的data block號碼;SectorsPerBlock:每個data block所包含的磁區數;SectorInBlock:在所在的data block中的磁區號碼;PhysicalSectorLocation:相對VHD鏡像檔案的物理磁區號碼;BlockBitmapSectorCount:磁區位元圖的磁區數。
需要說明的是,在虛擬機用戶看來,VHD鏡像檔案就像一個磁碟分區一樣,可以部署某個檔案系統使用。當要寫入資料時,根據不同的檔案系統的資料寫策略,可能會寫到檔案系統的不同物理區域,大部分情況下,不會從檔案系統的起始位置依次向後(指從磁區號碼相對於起始位置較小的部分向較大的部分)寫。所以對於VHD檔案來說,各data block的順序與它們各自的起始磁區號碼的大小順序通常都不同。
如圖1中,假設每個data block的大小為2MB,虛擬機用戶如果一開始要在第3MB的地方寫入幾KB資料,則系統會先分配data block 1給VHD檔案,而不會把data block 0分配給VHD檔案。
再例如圖2,是本申請實施例中BAT的示意圖。
針對某個最多可以有16個data block的VHD檔案,某個時刻BAT中記錄了這16個data block的序號DB0~DB15,以及各個data block的起始磁區號碼,該起始磁區號碼即為各data block在VHD檔案中的相對位置。其中,起始磁區號碼為0xFFFFFFFF的data block表示該data block尚未分配。
從圖2可以看出,BAT中各data block的起始磁區號碼的大小並不是按照DB0~DB15的順序遞增。
基於上述內容,下面分析現有技術為什麼刪除資料也不會使VHD檔案減小。
在現有技術中,當要寫入的磁區對應的data block尚未分配時(對應的BAT項中記錄為0xFFFFFFFF),則新分配一個data block(對應的BAT項中記錄為新分配的data block的起始磁區號碼),並且在該新分配的data block的磁區位元圖中將要寫入的磁區對應的位元修改為1。但是,如果刪除了某些資料,即使某個data block中的資料都不再有效,該data block的磁區位元圖中的對應位元也不會復位,仍是1,即表示該data block仍處於被分配的狀態,因此現有技術無法回收該data block所占的儲存空間來儲存其他的資料,從而造成儲存空間的浪費。
基於這種原因,要想節省VHD檔案所占的空間,則要能夠截短檔案。在截短檔案之前,先將原來在檔案偏後位置處的資料,遷移到存放垃圾資料的位置,使得檔案最後形成一區塊無用的區域,最後再將這部分無用的區域截斷。
基於這種思路,本申請提出一種收縮虛擬磁碟鏡像檔案的方法,可以有效地清除檔案中的垃圾資料,進而達到收縮檔案的目的。
下面透過實施例對本申請的內容進行詳細說明。
參照圖3,是本申請實施例該一種收縮虛擬磁碟鏡像檔案的方法流程圖。
仍以VHD鏡像檔案的收縮為例,步驟如下:步驟301,查找檔案中的垃圾資料區塊,並修改該垃圾資料區塊在區塊分配表中的相應記錄,其中該垃圾資料區塊為不保存有效資料的資料區塊;檔案中的data block基本分為垃圾資料區塊和有效資料區塊,有效資料區塊是指存放了有效資料的data block,該垃圾資料區塊是指已經刪除了區塊中全部資料的data block,即該data block中的資料都不再有效。
查找到垃圾data block後,將該垃圾data block在區塊分配表BAT中記錄的起始磁區號碼值為0xFFFFFFFF,即表示該data block對應的邏輯資料區塊不再保存資料。
步驟302,將位於垃圾資料區塊後面的有效資料區塊遷移至垃圾資料區塊的位置,並修改遷移後的有效資料區塊在區塊分配表中的相應記錄;該“後面”是指在檔案的物理儲存區域,將檔案偏後位置的有效資料區塊遷移至垃圾資料區塊的位置,同時將區塊分配表BAT中對應該有效資料區塊的起始磁區號碼修改為原來該垃圾資料區塊的起始磁區號碼。
該“遷移”具體是指複製的過程,即將位於垃圾資料區塊後面的有效資料區塊中的資料複製到垃圾資料區塊的位置。
步驟303,在完成資料區塊遷移後,將該檔案進行截短。
上述遷移的目的是為了將有效資料區塊儘量向前移到檔案的前部,從而使檔案的最後形成一區塊無用的區域,最後將這部分無用區域進行截斷,就可以使檔案的長度減小。
為了使本領域技術人員更加瞭解圖3所示實施例的內容,下面透過圖4所示的另一較佳實施例進行更加詳細地說明。
參照圖4,是本申請另一實施例該一種收縮虛擬磁碟鏡像檔案的方法流程圖。仍以VHD檔案為例:步驟401,查找檔案資料區塊中的垃圾磁區;具體的查找方法如下:對於每一個data block中的每一個磁區,查找data block中的磁區位元圖,如果磁區位元圖中對應某個磁區的記錄表示該磁區中儲存著資料,例如磁區位元圖中的某個位元為1,則表示對應的磁區中可能儲存著有效資料,也可能已經刪除了資料,所以需要繼續進行以下判斷:1)如果該檔案是動態磁碟鏡像檔案,則判斷該磁區中儲存的資料是否全為0,如果是,則將該磁區作為垃圾磁區;2)如果該檔案是增量磁碟鏡像檔案,則判斷該磁區中儲存的資料是否與父鏡像檔案中相同磁區位置的資料一致,如果一致,則將該磁區作為垃圾磁區。
步驟402,修改該垃圾磁區在磁區位元圖中的相應記錄;查找到垃圾磁區後,可以將垃圾磁區在磁區位元圖中對應的位元清0,即表示對應的磁區中沒有保存資料。
步驟403,查找檔案中的垃圾資料區塊;具體的查找方法如下:查找檔案資料區塊中的磁區位元圖,將磁區位元圖中對應所有磁區的記錄都表示為垃圾磁區的資料區塊作為垃圾資料區塊。
對於每一個data block,如果一個data block被使用(BAT中對應項記錄的不為0xFFFFFFFF),但經過上面的兩步之後,該data block的磁區位元圖全為0,則該data block可以認為是一個垃圾data block,因為其中不再保存有效的資料。
但是,如果一個data block的磁區位元圖中,有些磁區的對應位元為0,有些磁區的對應位元為1,則該data block不是一個垃圾data block,仍是有效資料區塊。
步驟404,修改該垃圾資料區塊在區塊分配表中的相應記錄;在BAT中,將垃圾data block對應的起始磁區記錄置為0xFFFFFFFF。
例如,圖2中起始磁區分別為12327、24639、28743的三個data block DB5、DB13和DB14,經上述三步驟,發現為垃圾data block,則將它們的BAT項置為0xFFFFFFFF,如圖5所示。
步驟405,資料遷移;將位於垃圾data block(目標位置)後面的有效data block(源位置),拷貝(包括磁區位元圖和資料)至該垃圾data block處,並更新遷移後的有效data block在BAT中的起始磁區。
例如,圖5中,可以把起始磁區為36951(DB8)的有效data block,遷移至起始磁區為12327的區域中,對應的BAT[8]的起始磁區改為12327;把起始磁區為32847(DB7)的有效data block,遷移至起始磁區為24639的區域中,對應的BAT[7]的起始磁區改為24639,最後形成如圖6所示的檔案。這樣,在檔案的末尾處,起始磁區為28743的data block仍為垃圾data block,而起始磁區為32847和36951的data block中的資料被複製到了起始磁區改為24639和12327的data block中,所以起始磁區為32847和36951的data block對VHD檔案來說不必要保留,這三個資料區塊構成一區塊無用的區域。
當然,也可以有其他的遷移方法,但總而言之宗旨是:使檔案末尾形成一區塊無用的區域,以便進行截斷。
步驟406,截短檔案。
在完成資料區塊遷移後,即步驟403中找到的垃圾data block處都重新保存著有效資料、或者後面不再有有效的data block可以拷貝過來,則檔案末尾形成一區塊無用區域,將該無用區域截斷,即可得到截短之後的檔案。截短的大小最多可以是找到的垃圾data block的大小,如圖7所示,即將檔案末尾的三個資料區塊截斷。
綜上所述,經過以上步驟的處理,完成了垃圾資料的清除,使得VHD格式的動態磁碟鏡像檔案和增量磁碟鏡像檔案刪除某些資料後,鏡像檔案的大小也可以減小,從而節省檔案所需的儲存空間。
此外,在上述查找垃圾磁區的過程中,除了採用上述方法分別從本盤(動態)或父盤(增量)中依次讀取磁區位元圖進行比對、進而判斷是否為垃圾磁區外,本申請還提出一種快速計算垃圾磁區的方法,可以更加快速地識別出資料區塊中哪些磁區是垃圾磁區,進而將所有磁區都是垃圾磁區的資料區塊作為垃圾資料區塊。
仍以VHD鏡像檔案為例,下面詳細說明該快速識別方法。
1.對於增量磁碟鏡像檔案而言:首先,對於每個data block,得到三個sector bitmap(磁區位元圖),分別是:1)source bitmap,簡寫為src_bmp,原始磁區位元圖:該VHD中該data block的sector bitmap;2)parent bitmap,簡寫為prt_bmp,祖先鏡像磁區位元圖:讀取父鏡像中該data block的sector bitmap,如果某位元為1,則為1;否則,繼續回溯父鏡像的父鏡像,直至祖先鏡像,當讀到祖先鏡像時該位元為0,則為0。
3)block bitmap,簡寫為blk_bmp,反轉磁區位元圖:根據虛擬機用戶在該VHD鏡像檔案上建立的檔案系統,反轉得到的sector bitmap,表示在該位元上的sector是否真正儲存著有效資訊。
通常的檔案系統,都透過某種方式記錄著資料的位元圖資訊,標記著哪些磁區保存著有效資訊,哪些磁區沒有保存有效資訊。比如Linux中常用的ext2/3/4,透過每個區塊組中的bitmap區塊,記錄著哪些區塊中保存著有效資料;再比如Windows中常用的NTFS,透過$Bitmap檔案記錄區塊的位元圖資訊。其中一個區塊包含若干個磁區。
獲得檔案系統中的磁區位元圖資訊後,透過前面介紹的邏輯磁區號碼與物理磁區號碼間的換算方法,就可以得到在VHD檔案中哪些磁區中保存著有效資訊,從而得到blk_bmp。
然後,比對這三個bitmap,生成一個最終的目標位元圖dst_bmp,作為該VHD中該data block在將垃圾磁區在bitmap中對應的位元清0後(即上述步驟402之後)的sector bitmap。對於每一位元:if src_bmp=0,then dst_bmp=0;if src_bmp=1,then if prt_bmp=0 and blk_bmp=1,then dst_bmp=1;/表示相對於父盤來說,新寫了資料/if prt_bmp=1 and blk_bmp=0,then dst_bmp=1;/表示相對於父盤來說,刪除了資料/if prt_bmp=0 and blk_bmp=0,then dst_bmp=0;/表示相對於父盤來說,新寫了資料,但最後又刪除了這部分新寫的資料/
if prt_bmp=1 and blk_bmp=1表示相對於父盤來說,發生了修改,這時分別從本鏡像與父鏡像中讀取資料並比較,如果一致則置dst_bmp為0,不一致則置dst_bmp為1。
由上可知,上述第三種判斷:如果原始磁區位元圖中對應某個磁區的記錄表示該磁區中儲存著資料(src_bmp=1),並且該磁區在祖先鏡像磁區位元圖中的相應記錄表示該磁區中沒有儲存資料(prt_bmp=0),並且該磁區在反轉磁區位元圖中的相應記錄表示該磁區中沒有儲存資料(blk_bmp=0),則將該磁區作為垃圾磁區。
還有一種情況也可以判為垃圾磁區,即上述最後一種判斷,如果src_bmp=1,並且prt_bmp=1 and blk_bmp=1,這時分別從本鏡像與父鏡像中讀取資料並比較,如果一致則置dst_bmp為0,此時也可以將該磁區作為垃圾磁區。
2.對於動態磁碟鏡像檔案而言,則相對簡單,如下:首先,對於每個data block,獲取source bitmap和block bitmap,不需要獲取parent bitmap。
然後,比對這兩個bitmap,生成一個最終的目標位元圖dst_bmp,作為上述步驟402之後的sector bitmap。對於每一位元:if src_bmp=0,then dst_bmp=0;if src_bmp=1,then if blk_bmp=1,then dst_bmp=1;/表示新寫了資料/if blk_bmp=0,then dst_bmp=0;/表示新寫了資料,但最後又刪除了這部分新寫的資料/
由上可知,如果原始磁區位元圖中對應某個磁區的記錄表示該磁區中儲存著資料(src_bmp=1),並且該磁區在反轉磁區位元圖中的相應記錄表示該磁區中沒有儲存資料(blk_bmp=0),則將該磁區作為垃圾磁區。
上述實施例是以VHD格式的鏡像檔案為例進行說明,但具體應用中也可以應用到其他格式的虛擬磁碟鏡像檔案中,其實施原理與上述實施例相似,故不再贅述。
需要說明的是,對於前述的方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本申請並不受所描述的動作順序的限制,因為依據本申請,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬於較佳實施例,所涉及的動作並不一定是本申請所必須的。
基於上述方法實施例的說明,本申請還提供了相應的收縮虛擬磁碟鏡像檔案的裝置實施例,來實現上述方法實施例所述的內容。
參照圖8,是本申請實施例所述一種收縮虛擬磁碟鏡像檔案的裝置結構圖。
該收縮虛擬磁碟鏡像檔案的裝置可以包括垃圾資料區塊查找模組81、資料遷移模組82和檔案截短模組83,其中,垃圾資料區塊查找模組81,用於查找檔案中的垃圾資料區塊,並修改該垃圾資料區塊在區塊分配表中的相應記錄,其中該垃圾資料區塊為不保存有效資料的資料區塊;資料遷移模組82,用於將位於垃圾資料區塊後面的有效資料區塊遷移至垃圾資料區塊的位置,並修改遷移後的有效資料區塊在區塊分配表中的相應記錄;其中,該遷移是指複製操作;檔案截短模組83,用於在完成資料區塊遷移後,將該檔案進行截短。
較佳的,由於每個資料區塊包含磁區和用於記錄每個磁區資訊的磁區位元圖,因此該裝置還可以包括以下模組:垃圾磁區查找模組84,用於查找檔案資料區塊中的垃圾磁區,並修改該垃圾磁區在磁區位元圖中的相應記錄。
進一步較佳的,基於該垃圾磁區查找模組84,該垃圾資料區塊查找模組81透過查找檔案資料區塊中的磁區位元圖,可以將磁區位元圖中對應所有磁區的記錄都表示為垃圾磁區的資料區塊作為垃圾資料區塊。
對於該垃圾磁區查找模組84,可透過兩種方法進行垃圾磁區的查找。對於第一種查找方法,即從本盤(動態)或父盤(增量)中依次讀取磁區位元圖進行比對、進而判斷是否為垃圾磁區,相應的該垃圾磁區查找模組84具體可以包括以下子模組:磁區位元圖查找子模組,用於查找檔案資料區塊中的磁區位元圖,如果磁區位元圖中對應某個磁區的記錄表示該磁區中儲存著資料,則觸發判斷子模組;判斷子模組,用於進行以下判斷:如果該檔案是動態磁碟鏡像檔案,則判斷該磁區中儲存的資料是否全為0,如果是,則將該磁區作為垃圾磁區;如果該檔案是增量磁碟鏡像檔案,則判斷該磁區中儲存的資料是否與父鏡像檔案中相同磁區位置的資料一致,如果一致,則將該磁區作為垃圾磁區。
對於第二種快速查找的方法,相應的該垃圾磁區查找模組84具體又可以包括以下子模組:1)如果該檔案是動態磁碟鏡像檔案,則該垃圾磁區查找模組84具體可以包括:第一獲取子模組,用於獲取檔案資料區塊的原始磁區位元圖和表示對應磁區是否儲存有效資料的反轉磁區位元圖;第一對比子模組,用於對比該原始磁區位元圖和反轉磁區位元圖的每一位元:如果原始磁區位元圖中對應某個磁區的記錄表示該磁區中儲存著資料,並且該磁區在反轉磁區位元圖中的相應記錄表示該磁區中沒有儲存資料,則將該磁區作為垃圾磁區。
2)如果該檔案是增量磁碟鏡像檔案,則該垃圾磁區查找模組84具體可以包括:第二獲取子模組,用於獲取檔案資料區塊的原始磁區位元圖和表示對應磁區是否儲存有效資料的反轉磁區位元圖以及祖先鏡像檔案中相同資料區塊的磁區位元圖;第二對比子模組,對比該原始磁區位元圖、反轉磁區位元圖和祖先鏡像磁區位元圖的每一位元:如果原始磁區位元圖中對應某個磁區的記錄表示該磁區中儲存著資料,並且該磁區在祖先鏡像磁區位元圖中的相應記錄表示該磁區中沒有儲存資料,並且該磁區在反轉磁區位元圖中的相應記錄表示該磁區中沒有儲存資料,則將該磁區作為垃圾磁區。
綜上所述,上述實施例所述的收縮虛擬磁碟鏡像檔案的裝置可使VHD格式的動態磁碟鏡像檔案和增量磁碟鏡像檔案刪除某些資料後,鏡像檔案的大小也可以減小,從而節省檔案所需的儲存空間。
對於上述收縮虛擬磁碟鏡像檔案的裝置實施例而言,由於其與方法實施例基本相似,所以描述的比較簡單,相關之處參見圖1至圖7所示方法實施例的部分說明即可。
本說明書中的各個實施例均採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。
以上對本申請所提供的一種收縮虛擬磁碟鏡像檔案的方法及裝置,進行了詳細介紹,本文中應用了具體個例對本申請的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本申請的方法及其核心思想;同時,對於本領域的一般技術人員,依據本申請的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本申請的限制。
81‧‧‧垃圾資料區塊查找模組
82‧‧‧資料遷移模組
83‧‧‧檔案截短模組
84‧‧‧垃圾磁區查找模組
圖1是本申請實施例中VHD鏡像檔案的格式的示意圖;圖2是本申請實施例中BAT的示意圖;圖3是本申請實施例所述一種收縮虛擬磁碟鏡像檔案的方法流程圖;圖4是本申請另一實施例所述一種收縮虛擬磁碟鏡像檔案的方法流程圖;圖5是本申請圖2所示實施例中經過垃圾資料區塊查找後的BAT示意圖;圖6是本申請圖5所示實施例中經過資料遷移後的BAT示意圖;圖7是本申請圖6所示實施例中經過檔案截短後的BAT示意圖;圖8是本申請實施例所述一種收縮虛擬磁碟鏡像檔案的裝置結構圖。
权利要求:
Claims (13)
[1] 一種收縮虛擬磁碟鏡像檔案的方法,其特徵在於:該檔案包含資料區塊和用於記錄每個資料區塊資訊的區塊分配表;該方法包括:查找檔案中的垃圾資料區塊,並修改該垃圾資料區塊在區塊分配表中的相應記錄,其中該垃圾資料區塊為不保存有效資料的資料區塊;將位於垃圾資料區塊後面的有效資料區塊遷移至垃圾資料區塊的位置,並修改遷移後的有效資料區塊在區塊分配表中的相應記錄;在完成資料區塊遷移後,將該檔案進行截短。
[2] 根據申請專利範圍第1項所述的方法,其中,每個資料區塊包含磁區和用於記錄每個磁區資訊的磁區位元圖;在查找檔案中的垃圾資料區塊之前,還包括:查找檔案資料區塊中的垃圾磁區,並修改該垃圾磁區在磁區位元圖中的相應記錄。
[3] 根據申請專利範圍第2項所述的方法,其中,查找檔案中的垃圾資料區塊,包括:查找檔案資料區塊中的磁區位元圖,將磁區位元圖中對應所有磁區的記錄都表示為垃圾磁區的資料區塊作為垃圾資料區塊。
[4] 根據申請專利範圍第2項所述的方法,其中,查找檔案資料區塊中的垃圾磁區,包括:查找檔案資料區塊中的磁區位元圖,如果磁區位元圖中對應某個磁區的記錄表示該磁區中儲存著資料,則繼續進行以下判斷:如果該檔案是動態磁碟鏡像檔案,則判斷該磁區中儲存的資料是否全為0,如果是,則將該磁區作為垃圾磁區;如果該檔案是增量磁碟鏡像檔案,則判斷該磁區中儲存的資料是否與父鏡像檔案中相同磁區位置的資料一致,如果一致,則將該磁區作為垃圾磁區。
[5] 根據申請專利範圍第2項所述的方法,其中,查找檔案資料區塊中的垃圾磁區,包括:如果該檔案是動態磁碟鏡像檔案,則獲取檔案資料區塊的原始磁區位元圖和表示對應磁區是否儲存有效資料的反轉磁區位元圖;對比該原始磁區位元圖和反轉磁區位元圖的每一位元:如果原始磁區位元圖中對應某個磁區的記錄表示該磁區中儲存著資料,並且該磁區在反轉磁區位元圖中的相應記錄表示該磁區中沒有儲存資料,則將該磁區作為垃圾磁區。
[6] 根據申請專利範圍第2項所述的方法,其中,查找檔案資料區塊中的垃圾磁區,包括:如果該檔案是增量磁碟鏡像檔案,則獲取檔案資料區塊的原始磁區位元圖和表示對應磁區是否儲存有效資料的反轉磁區位元圖以及祖先鏡像檔案中相同資料區塊的磁區位元圖;對比該原始磁區位元圖、反轉磁區位元圖和祖先鏡像磁區位元圖的每一位元:如果原始磁區位元圖中對應某個磁區的記錄表示該磁區中儲存著資料,並且該磁區在祖先鏡像磁區位元圖中的相應記錄表示該磁區中沒有儲存資料,並且該磁區在反轉磁區位元圖中的相應記錄表示該磁區中沒有儲存資料,則將該磁區作為垃圾磁區。
[7] 根據申請專利範圍第1項所述的方法,其中,在完成資料區塊遷移後,將該檔案進行截短,包括:在完成資料區塊遷移後,檔案末尾形成一區塊等於所有垃圾資料區塊大小的無用區域,將該無用區域截斷,得到截短之後的檔案。
[8] 一種收縮虛擬磁碟鏡像檔案的裝置,其特徵在於:該檔案包含資料區塊和用於記錄每個資料區塊資訊的區塊分配表;該裝置包括:垃圾資料區塊查找模組,用於查找檔案中的垃圾資料區塊,並修改該垃圾資料區塊在區塊分配表中的相應記錄,其中該垃圾資料區塊為不保存有效資料的資料區塊;資料遷移模組,用於將位於垃圾資料區塊後面的有效資料區塊遷移至垃圾資料區塊的位置,並修改遷移後的有效資料區塊在區塊分配表中的相應記錄;檔案截短模組,用於在完成資料區塊遷移後,將該檔案進行截短。
[9] 根據申請專利範圍第8項所述的裝置,其中,每個資料區塊包含磁區和用於記錄每個磁區資訊的磁區位元圖;該裝置還包括:垃圾磁區查找模組,用於查找檔案資料區塊中的垃圾磁區,並修改該垃圾磁區在磁區位元圖中的相應記錄。
[10] 根據申請專利範圍第9項所述的裝置,其中,該垃圾資料區塊查找模組透過查找檔案資料區塊中的磁區位元圖,將磁區位元圖中對應所有磁區的記錄都表示為垃圾磁區的資料區塊作為垃圾資料區塊。
[11] 根據申請專利範圍第9項所述的裝置,其中,該垃圾磁區查找模組包括:磁區位元圖查找子模組,用於查找檔案資料區塊中的磁區位元圖,如果磁區位元圖中對應某個磁區的記錄表示該磁區中儲存著資料,則觸發判斷子模組;判斷子模組,用於進行以下判斷:如果該檔案是動態磁碟鏡像檔案,則判斷該磁區中儲存的資料是否全為0,如果是,則將該磁區作為垃圾磁區;如果該檔案是增量磁碟鏡像檔案,則判斷該磁區中儲存的資料是否與父鏡像檔案中相同磁區位置的資料一致,如果一致,則將該磁區作為垃圾磁區。
[12] 根據申請專利範圍第9項所述的裝置,其中,如果該檔案是動態磁碟鏡像檔案,則該垃圾磁區查找模組包括:第一獲取子模組,用於獲取檔案資料區塊的原始磁區位元圖和表示對應磁區是否儲存有效資料的反轉磁區位元圖;第一對比子模組,用於對比該原始磁區位元圖和反轉磁區位元圖的每一位元:如果原始磁區位元圖中對應某個磁區的記錄表示該磁區中儲存著資料,並且該磁區在反轉磁區位元圖中的相應記錄表示該磁區中沒有儲存資料,則將該磁區作為垃圾磁區。
[13] 根據申請專利範圍第9項所述的裝置,其中,如果該檔案是增量磁碟鏡像檔案,則該垃圾磁區查找模組包括:第二獲取子模組,用於獲取檔案資料區塊的原始磁區位元圖和表示對應磁區是否儲存有效資料的反轉磁區位元圖以及祖先鏡像檔案中相同資料區塊的磁區位元圖;第二對比子模組,對比該原始磁區位元圖、反轉磁區位元圖和祖先鏡像磁區位元圖的每一位元:如果原始磁區位元圖中對應某個磁區的記錄表示該磁區中儲存著資料,並且該磁區在祖先鏡像磁區位元圖中的相應記錄表示該磁區中沒有儲存資料,並且該磁區在反轉磁區位元圖中的相應記錄表示該磁區中沒有儲存資料,則將該磁區作為垃圾磁區。
类似技术:
公开号 | 公开日 | 专利标题
TWI540432B|2016-07-01|Method and apparatus for collapsing virtual disk mirrors
JP6430499B2|2018-11-28|Posix互換なファイル・システム、ファイル・リストを生成する方法および記憶デバイス
JP5386111B2|2014-01-15|ファイルシステムの記録方法
JP4159506B2|2008-10-01|階層記憶装置、その復旧方法、及び復旧プログラム
US10649897B2|2020-05-12|Access request processing method and apparatus, and computer device
CN103729262B|2017-08-11|操作系统热备份方法、装置及文件系统重构方法
US11030092B2|2021-06-08|Access request processing method and apparatus, and computer system
JP4825719B2|2011-11-30|高速ファイル属性検索
US20040068635A1|2004-04-08|Universal disk format volumes with variable size
JP6156517B2|2017-07-05|書き込み情報記憶装置、方法、及び、プログラム
US20170351608A1|2017-12-07|Host device
TWI610219B|2018-01-01|資料儲存系統
TWI536161B|2016-06-01|備份方法、還原方法及其電腦、電腦程式產品與電腦可讀取記錄媒體
JP4998737B2|2012-08-15|情報処理装置、プログラム及びバックアップ方法
KR100775141B1|2007-11-12|저널링이 적용된 fat 파일 시스템의 구현 방법
JP2004005524A|2004-01-08|データ記録装置、データ記録方法、当該方法を実行するためのプログラム及びプログラム記録媒体
JP2004362479A|2004-12-24|ファイル管理装置,ファイル記録装置,ファイル管理方法,ファイル管理プログラムおよびファイル管理プログラムを記録した記録媒体
JP2004102660A|2004-04-02|ロールバック可能fatファイルシステム及びプログラム
CN111007990A|2020-04-14|一种对快照系统中数据块引用进行快速定位的定位方法
TW201346544A|2013-11-16|母盤製作方法及裝置
WO2016137524A1|2016-09-01|File level snapshots in a file system
JP2006277268A|2006-10-12|ファイル管理装置、ファイル管理方法、ファイル管理プログラムおよびコンピュータに読み取り可能な記録媒体
JP2008242501A|2008-10-09|データ記録装置、データ記録方法および記録媒体
同族专利:
公开号 | 公开日
CN102929884B|2016-05-04|
JP2017091583A|2017-05-25|
CN102929884A|2013-02-13|
US10331349B2|2019-06-25|
US20130041927A1|2013-02-14|
WO2013023133A8|2013-12-19|
US9501225B2|2016-11-22|
US20160335018A1|2016-11-17|
TWI540432B|2016-07-01|
JP2014527231A|2014-10-09|
HK1176438A1|2013-07-26|
EP2742417A1|2014-06-18|
JP6360215B2|2018-07-18|
JP6092868B2|2017-03-08|
WO2013023133A1|2013-02-14|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
JP4280055B2|2001-11-28|2009-06-17|株式会社Access|メモリ制御方法および装置|
JP4438457B2|2003-05-28|2010-03-24|株式会社日立製作所|記憶領域割当方法、システム及び仮想化装置|
US20050027938A1|2003-07-29|2005-02-03|Xiotech Corporation|Method, apparatus and program storage device for dynamically resizing mirrored virtual disks in a RAID storage system|
US7284109B1|2003-11-21|2007-10-16|Symantec Corporation|Partition creation|
US7139864B2|2003-12-30|2006-11-21|Sandisk Corporation|Non-volatile memory and method with block management system|
US7296180B1|2004-06-30|2007-11-13|Sun Microsystems, Inc.|Method for recovery of data|
US7873782B2|2004-11-05|2011-01-18|Data Robotics, Inc.|Filesystem-aware block storage system, apparatus, and method|
CN1277213C|2004-12-31|2006-09-27|大唐微电子技术有限公司|一种闪存文件系统管理方法|
US7647468B2|2005-12-09|2010-01-12|Microsoft Corporation|Compaction, de-fragmentation, and merging of virtual storage device of virtual machine|
US7409523B2|2005-12-16|2008-08-05|Microsoft Corporation|Online storage volume shrink|
CN100485681C|2006-03-23|2009-05-06|北京握奇数据系统有限公司|智能卡存储系统及该系统中文件创建管理的方法|
US7779056B2|2006-09-15|2010-08-17|Sandisk Corporation|Managing a pool of update memory blocks based on each block's activity and data order|
EP2137629A4|2007-03-20|2010-12-29|Sanggyu Lee|MOBILE VIRTUAL MACHINE IMAGE|
CN100543748C|2007-04-25|2009-09-23|北京中星微电子有限公司|一种利用文件分配表进行文件寻道的方法及系统|
US8195866B2|2007-04-26|2012-06-05|Vmware, Inc.|Adjusting available persistent storage during execution in a virtual computer system|
JP4995024B2|2007-10-02|2012-08-08|キヤノン株式会社|パターン認識方法、パターン認識装置及びプログラム|
US8464241B2|2008-05-20|2013-06-11|Citrix Systems, Inc.|Methods and systems for patching multiple disk images derived from a common base disk image|
US8812809B2|2008-06-10|2014-08-19|Oracle America, Inc.|Method and apparatus for allocating memory for immutable data on a computing device|
JP4508279B2|2008-07-17|2010-07-21|ソニー株式会社|画像処理装置、画像処理方法、及び、プログラム|
US8495316B2|2008-08-25|2013-07-23|Symantec Operating Corporation|Efficient management of archival images of virtual machines having incremental snapshots|
CN101661486B|2008-08-28|2012-11-07|国际商业机器公司|对包含虚拟机的宿主机硬盘进行碎片整理的方法和系统|
US8171201B1|2008-10-07|2012-05-01|Vizioncore, Inc.|Systems and methods for improving virtual machine performance|
US8452930B2|2009-03-27|2013-05-28|Hitachi, Ltd.|Methods and apparatus for backup and restore of thin provisioning volume|
US8176294B2|2009-04-06|2012-05-08|Red Hat Israel, Ltd.|Reducing storage expansion of a virtual machine operating system|
US8805788B2|2009-05-04|2014-08-12|Moka5, Inc.|Transactional virtual disk with differential snapshots|
CN102576330B|2009-06-12|2015-01-28|提琴存储器公司|具有持久化无用单元收集机制的存储系统|
US8402218B2|2009-12-15|2013-03-19|Microsoft Corporation|Efficient garbage collection and exception handling in a hardware accelerated transactional memory system|
JP5427011B2|2009-12-17|2014-02-26|株式会社日立製作所|仮想ハードディスクの管理サーバおよび管理方法、管理プログラム|
US9372712B2|2009-12-17|2016-06-21|International Business Machines Corporation|Optimizing virtual storage size in a virtual computer system based on information related to virtual machines, user inputs and/or configuration parameters|
US8627000B2|2010-02-08|2014-01-07|Microsoft Corporation|Virtual disk manipulation operations|
US20120005677A1|2010-06-30|2012-01-05|Yuji Fujiwara|Computing Machine and Method for Controlling Computing Machine|
US20120054743A1|2010-08-31|2012-03-01|Yuji Fujiwara|Information Processing Apparatus and Client Management Method|
US8417912B2|2010-09-03|2013-04-09|International Business Machines Corporation|Management of low-paging space conditions in an operating system|
US8874859B2|2010-12-22|2014-10-28|Vmware, Inc.|Guest file system introspection and defragmentable virtual disk format for space efficiency|
US8904136B2|2011-03-15|2014-12-02|Symantec Corporation|Optimized shrinking of virtual disks|
US8819383B1|2012-02-17|2014-08-26|Netapp, Inc.|Non-disruptive realignment of virtual data|
US8856078B2|2012-02-21|2014-10-07|Citrix Systems, Inc.|Dynamic time reversal of a tree of images of a virtual hard disk|
US20130219069A1|2012-02-22|2013-08-22|Computer Associates Think, Inc.|System and method for managing virtual hard disks in cloud environments|
US20140033188A1|2012-07-26|2014-01-30|Microsoft Corporation|System updates from cloud blob storage using vhd differentials|KR102081167B1|2012-11-13|2020-02-26|삼성전자주식회사|메모리 장치를 이용하는 방법 및 그 장치|
US9959070B2|2013-03-06|2018-05-01|Ab Initio Technology Llc|Managing operations on stored data units|
US9875054B2|2013-03-06|2018-01-23|Ab Initio Technology Llc|Managing operations on stored data units|
US10133500B2|2013-03-06|2018-11-20|Ab Initio Technology Llc|Managing operations on stored data units|
US9633027B1|2013-03-14|2017-04-25|EMC IP Holding Company LLC|High speed backup|
CN103389946B|2013-07-16|2016-08-10|中国科学院计算技术研究所|去碎片化方法及系统|
US20160232060A1|2013-09-27|2016-08-11|Hewlett Packard Enterprise Development Lp|Excluding file system objects from raw image backups|
CN104156175B|2014-08-06|2017-05-24|厦门天锐科技股份有限公司|一种虚拟磁盘容量平滑拓展方法|
CN105630401A|2014-11-04|2016-06-01|中兴通讯股份有限公司|数据的保存方法、装置及读取方法、装置|
US10067945B2|2015-02-24|2018-09-04|Quest Software Inc.|File and move data to shrink datafiles|
CN106708831B|2015-07-31|2020-12-01|炬芯科技股份有限公司|一种fat镜像文件处理的方法及装置|
US10108631B2|2016-01-06|2018-10-23|Acronis International Gmbh|System and method of removing unused regions of a data file|
CN107918521A|2016-10-09|2018-04-17|深圳市深信服电子科技有限公司|虚拟磁盘的缩减方法及装置|
WO2018107361A1|2016-12-13|2018-06-21|华为技术有限公司|镜像处理方法以及计算设备|
CN106598503B|2016-12-23|2019-09-24|郑州云海信息技术有限公司|一种云平台下优化虚拟磁盘占用存储空间的方法和装置|
CN107391544B|2017-05-24|2020-06-30|阿里巴巴集团控股有限公司|列式存储数据的处理方法、装置、设备及计算机储存介质|
JP6696052B2|2017-06-20|2020-05-20|株式会社日立製作所|ストレージ装置及び記憶領域管理方法|
CN107332904A|2017-06-29|2017-11-07|郑州云海信息技术有限公司|一种跨存储系统的数据迁移方法、装置及系统|
CN108021630B|2017-11-21|2021-03-30|深圳市雷鸟网络传媒有限公司|垃圾文件清理方法、智能终端及计算机可读存储介质|
CN109597571B|2018-11-15|2022-02-15|金蝶软件(中国)有限公司|数据存储方法、数据读取方法、装置和计算机设备|
CN112988077B|2021-04-27|2021-07-23|云宏信息科技股份有限公司|一种虚拟磁盘复制方法和计算机可读存储介质|
法律状态:
优先权:
申请号 | 申请日 | 专利标题
CN201110228838.2A|CN102929884B|2011-08-10|2011-08-10|一种收缩虚拟磁盘镜像文件的方法及装置|
[返回顶部]