欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

VMware場(chǎng)景中恢復(fù)NTFS高級(jí)壓縮文件的方法

文檔序號(hào):6526974閱讀:349來源:國(guó)知局
VMware場(chǎng)景中恢復(fù)NTFS高級(jí)壓縮文件的方法
【專利摘要】本發(fā)明涉及一種VMware場(chǎng)景中恢復(fù)NTFS高級(jí)壓縮文件的方法,包括以下步驟:1)讀取并解析VMDK文件;2)識(shí)別文件分區(qū)格式;3)讀取NTFS分區(qū)下的文件屬性;4)讀取壓縮數(shù)據(jù);5)重新組織已讀取的壓縮數(shù)據(jù);6)對(duì)壓縮單元進(jìn)行解壓縮;7)將數(shù)據(jù)寫到指定的文件;8)通過步驟4)、5)、6)、7)循環(huán)讀取和寫入,直至讀取的數(shù)據(jù)結(jié)束來完成文件的完整恢復(fù)。與現(xiàn)有技術(shù)相比,本發(fā)明具有實(shí)現(xiàn)了在VMware虛擬機(jī)備份后的文件級(jí)粒度恢復(fù)中能夠快速、高效的恢復(fù)出NTFS高級(jí)壓縮文件等優(yōu)點(diǎn)。
【專利說明】VMware場(chǎng)景中恢復(fù)NTFS高級(jí)壓縮文件的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種壓縮文件恢復(fù)方法,尤其是涉及一種VMware場(chǎng)景中恢復(fù)NTFS高級(jí)壓縮文件的方法。
【背景技術(shù)】
[0002]服務(wù)器虛擬化已成為IT界現(xiàn)在的熱門話題之一,目前服務(wù)器虛擬化應(yīng)用市場(chǎng)的領(lǐng)先者是VMware,其產(chǎn)品占據(jù)了半數(shù)以上的市場(chǎng)份額,其VMware ESX Server虛擬化產(chǎn)品是其虛擬化平臺(tái)應(yīng)用管理的主要角色之一,VMware ESX Server將每個(gè)虛擬機(jī)與服務(wù)器硬件及其他虛擬機(jī)相隔離,確保在某個(gè)虛擬機(jī)崩潰時(shí)不會(huì)影響其他虛擬機(jī)。虛擬機(jī)相互之間不會(huì)泄露數(shù)據(jù),而且應(yīng)用程序只能通過配置的網(wǎng)絡(luò)連接進(jìn)行通信,VMware ESX Server將虛擬機(jī)環(huán)境封裝為一組文件包括虛擬機(jī)存儲(chǔ)文件VMDK和配置文件VMX等,以便備份、移動(dòng)和復(fù)制。
[0003]現(xiàn)有的VMware虛擬化保護(hù)技術(shù)主要采用的vStorage API接口來完成,VMwareESX Server提供了方便的vStorageAPI接口,其中的虛擬磁盤開發(fā)工具包(VDDK:VMware’sVirtual Disk Development Kit)用于對(duì)虛擬機(jī)的數(shù)據(jù)存儲(chǔ)文件VMDK和配置文件VMX進(jìn)行讀取。
[0004]VMware的虛擬機(jī)備份主要通過三個(gè)步驟完成:靜默應(yīng)用、對(duì)虛擬機(jī)做快照,對(duì)虛擬機(jī)的數(shù)據(jù)文件和配置文件進(jìn)行復(fù)制遷移,而對(duì)于虛擬機(jī)的數(shù)據(jù)恢復(fù)則可以通過多種技術(shù)完成,一般根據(jù)恢復(fù)粒度的大小分為以下三種應(yīng)用:
[0005]1.整臺(tái)虛擬機(jī)粒度恢復(fù),即恢復(fù)時(shí)將備份時(shí)的所有VMDK和VMX文件恢復(fù)到指定位置;
[0006]2.文件級(jí)粒度恢復(fù),即通過讀取VMDK文件的二進(jìn)制數(shù)據(jù)來解析虛擬機(jī)的文件系統(tǒng),識(shí)別文件系統(tǒng)中某個(gè)文件的數(shù)據(jù)存儲(chǔ)的位置,從VMDK中讀取該位置的二進(jìn)制數(shù)據(jù)恢復(fù)到指定的位置;
[0007]3.應(yīng)用級(jí)粒度恢復(fù),即通過解析虛擬機(jī)的文件系統(tǒng)對(duì)應(yīng)用注冊(cè)表和配置信息進(jìn)行識(shí)別,比如判斷Exchange應(yīng)用的恢復(fù)將會(huì)分析文件系統(tǒng)下該應(yīng)用包含的應(yīng)用程序文件和用戶數(shù)據(jù)文件,將這些文件通過文件級(jí)粒度恢復(fù)的方式來完成應(yīng)用級(jí)的恢復(fù)。
[0008]NTFS (New Technology File System)為 Microsoft 的 Windows 系列操作系統(tǒng)提供文件系統(tǒng),其特點(diǎn)之一是高級(jí)壓縮功能,高級(jí)壓縮功能采用LZNTl算法與WinRAR、360壓縮等第三方壓縮軟件的區(qū)別在于NTFS是基于系統(tǒng)層的壓縮方式,支持對(duì)分區(qū)、文件夾和文件的壓縮。在NTFS文件系統(tǒng)啟動(dòng)的場(chǎng)景中,任何基于Windows的應(yīng)用程序?qū)TFS分區(qū)上的壓縮文件進(jìn)行讀寫時(shí)不需要事先由其他程序進(jìn)行解壓縮,當(dāng)對(duì)文件進(jìn)行讀取時(shí),文件將在內(nèi)存中完成自動(dòng)解壓縮,文件關(guān)閉或保存時(shí)會(huì)自動(dòng)對(duì)文件進(jìn)行壓縮,其可進(jìn)行壓縮的單位為一個(gè)壓縮單元。
[0009]Vffware虛擬機(jī)使用文件級(jí)粒度恢復(fù)方式時(shí),恢復(fù)經(jīng)過NTFS系統(tǒng)層的壓縮文件目前較好的方式是通過內(nèi)置微型虛擬機(jī)平臺(tái),將已備份的虛擬機(jī)通過掛載或注冊(cè)的方式將虛擬機(jī)啟動(dòng),然后在進(jìn)入NTFS文件系統(tǒng)后使用Windows API (Application ProgrammingInterface,應(yīng)用程序編程接口讀取文件,此時(shí)讀取的數(shù)據(jù)都是經(jīng)過自動(dòng)解壓縮以后的數(shù)據(jù),再將該讀取的數(shù)據(jù)恢復(fù)到指定的位置完成恢復(fù)。該種方式需要內(nèi)置虛擬機(jī)平臺(tái)并且需要啟動(dòng)虛擬機(jī)的文件系統(tǒng)才能正常讀取到數(shù)據(jù)和恢復(fù)數(shù)據(jù),虛擬機(jī)平臺(tái)需要占用額外的空間,啟動(dòng)虛擬機(jī)的文件系統(tǒng)需要占用CPU和內(nèi)存資源,其恢復(fù)流程繁雜也使得恢復(fù)效率極低。

【發(fā)明內(nèi)容】

[0010]本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種VMware場(chǎng)景中恢復(fù)NTFS高級(jí)壓縮文件的方法,具有實(shí)現(xiàn)了在VMware虛擬機(jī)備份后的文件級(jí)粒度恢復(fù)中能夠快速、高效的恢復(fù)出NTFS高級(jí)壓縮文件。
[0011]本發(fā)明的目的可以通過以下技術(shù)方案來實(shí)現(xiàn):
[0012]一種VMware場(chǎng)景中恢復(fù)NTFS高級(jí)壓縮文件的方法,其特征在于,包括以下步驟:
[0013]I)讀取并解析VMDK文件;
[0014]2)識(shí)別文件分區(qū)格式;
[0015]3)讀取NTFS分區(qū)下的文件屬性;
[0016]4)讀取壓縮數(shù)據(jù);
[0017]5)重新組織已讀取的壓縮數(shù)據(jù);
[0018]6)對(duì)壓縮單元進(jìn)行解壓縮;
[0019]7)將數(shù)據(jù)寫到指定的文件;
[0020]8)通過步驟4)、5)、6)、7)循環(huán)讀取和寫入,直至讀取的數(shù)據(jù)結(jié)束來完成文件的完
整恢復(fù)。
[0021 ] VMware虛擬機(jī)組織一臺(tái)虛擬機(jī)的方式包括11種文件:
[0022].vmx:配置文件;
[0023].vmxf:附件的配置文件;
[0024].vmdk:主硬盤文件;
[0025].flat, vmdk:預(yù)先分配的二進(jìn)制格式的硬盤文件;
[0026].vswp:交換文件;
[0027].nvram:保存虛擬機(jī)的BIOS信息;
[0028].vmss:虛擬機(jī)掛起時(shí)產(chǎn)生的suspend文件;
[0029].log:日志文件;
[0030].vmsd:存放快照的元數(shù)據(jù)和其他信息;
[0031].vmsn:快照數(shù)據(jù)文件;
[0032].delta, vmdk:快照文件;
[0033]其中.配置文件中記錄了.vmdk,通過VDDK來讀取.vmdk時(shí),VMWare將為該操作找到.vmdk的附屬硬盤文件,VDDK讀取vmdk所得到的塊數(shù)據(jù)就相當(dāng)于讀取一塊硬盤的塊數(shù)據(jù)。
[0034]所述的識(shí)別文件分區(qū)的格式具體為:
[0035]從步驟I)得到的VMDK文件中的硬盤分區(qū)表信息讀取,并根據(jù)該硬盤分區(qū)表信息判斷該分區(qū)屬于那種文件格式,其中文件格式包括FAT32、NTFS和EXT3。
[0036]所述的讀取NTFS分區(qū)下的文件屬性具體為:
[0037]將步驟2)中識(shí)別出的NTFS分區(qū),根據(jù)其分區(qū)啟示位置來讀取文件記錄信息,并進(jìn)一步讀取文件記錄信息中的文件屬性信息,其中的文件屬性信息包括存儲(chǔ)數(shù)據(jù)屬性。
[0038]所述的存儲(chǔ)數(shù)據(jù)屬性包括常駐屬性和非常駐屬性,其中常駐屬性是指數(shù)據(jù)存放在文件記錄信息中,非常駐屬性是指數(shù)據(jù)存放在文件記錄信息外部。
[0039]所述的讀取的壓縮數(shù)據(jù)為非常駐屬性數(shù)據(jù),需通過RunList (運(yùn)行流記錄或運(yùn)行流列表)找到該數(shù)據(jù),其中RunList中保存了多個(gè)Run (運(yùn)行流),通過讀取Run獲取到偏移并取出數(shù)據(jù)。
[0040]所述的重新組織已讀取的壓縮數(shù)據(jù)具體為:
[0041]將步驟4)讀取的Run分成兩部分,前半部分為壓縮后的數(shù)據(jù),后半部分為指定大小的無需分配空間的數(shù)據(jù),這兩部分組成了一個(gè)壓縮單元,并在存儲(chǔ)數(shù)據(jù)屬性中獲取該壓縮單元的大小。
[0042]所述的壓縮單元的大小為16個(gè)簇,簇的大小記錄在硬盤分區(qū)表中。
[0043]所述的對(duì)壓縮單元進(jìn)行解壓縮具體為:
[0044]將步驟5)得到的壓縮單元采用LZNTl解壓縮算法,將壓縮數(shù)據(jù)還原成原來的數(shù)據(jù)。
[0045]所述的將數(shù)據(jù)寫到指定的文件具體為:
[0046]使用WinAPI創(chuàng)建或打開一個(gè)文件,將步驟6)中解壓縮后的數(shù)據(jù)寫到文件中。
[0047]與現(xiàn)有技術(shù)相比,本發(fā)明具有對(duì)VMware中的虛擬機(jī)完成備份以后,通過使用VDDK而無需虛擬平臺(tái)或者啟動(dòng)虛擬機(jī)的文件系統(tǒng)便可以直接讀取到文件壓縮后的數(shù)據(jù),并通過重新組織數(shù)據(jù)后使用LZNTl解壓縮算法完成數(shù)據(jù)的完整提取和恢復(fù),提高恢復(fù)效率并降低了恢復(fù)環(huán)境的要求。
【專利附圖】

【附圖說明】
[0048]圖1為VMDK中NTFS高級(jí)壓縮文件的恢復(fù)流程圖;
[0049]圖2為VMDK中NTFS高級(jí)壓縮文件的恢復(fù)結(jié)構(gòu)圖;
[0050]圖3為MBR硬盤分區(qū)表。
【具體實(shí)施方式】
[0051]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說明。
[0052]下面結(jié)合本發(fā)明中的附圖,對(duì)發(fā)明中使用的具體技術(shù)和步驟進(jìn)行實(shí)例描述,以進(jìn)行更加詳細(xì)完整的說明。所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的其他所有實(shí)施例,都屬于本發(fā)明的保護(hù)范圍。
[0053]本發(fā)明旨在對(duì)VMware中的虛擬機(jī)完成備份以后,通過使用VDDK而無需虛擬平臺(tái)或者啟動(dòng)虛擬機(jī)的文件系統(tǒng)便可以直接讀取到文件壓縮后的數(shù)據(jù),并通過重新組織數(shù)據(jù)后使用LZNTl解壓縮算法完成數(shù)據(jù)的完整提取和恢復(fù),其恢復(fù)流程如圖1所示,具體步驟如下:[0054]1.解析VMDK文件,VMware虛擬機(jī)組織一臺(tái)虛擬機(jī)的方式包括11種文件:.vmx (配置文件)、.vmxf (附件的配置文件)、.vmdk(磁盤文件)、.flat.vmdk(預(yù)先分配的二進(jìn)制格式的磁盤文件)、.vswp (交換文件)、.nvram(保存虛擬機(jī)的BIOS信息)、.vmss (suspend文件,虛擬機(jī)掛起時(shí)會(huì)產(chǎn)生)、.log(日志文件)、.vmsd(存放快照的元數(shù)據(jù)和其他信息)、.vmsn(快照數(shù)據(jù)文件)和.delta.vmdk(快照文件即redo-log文件),其中.vmx中配置文件中記錄了主磁盤文件.vmdk,通過VDDK來讀取主磁盤文件時(shí),VMWare將為該操作找到主磁盤文件的附屬磁盤文件,此時(shí)VDDK讀取vmdk所得到的塊數(shù)據(jù)就相當(dāng)于讀取一塊硬盤的塊數(shù)據(jù)。
[0055]2.識(shí)別NTFS分區(qū)格式,通過步驟I)可以將虛擬機(jī)的硬盤數(shù)據(jù)以塊的方式讀取出來,硬盤主要采用MBR(Master Boot Record,主引導(dǎo)記錄)或者GPT (Globally UniqueIdentifier Partition Table Format,全局唯一標(biāo)識(shí)分區(qū)表)的組織方式來引導(dǎo)進(jìn)入文件系統(tǒng),MBR或者GPT不屬于任何一個(gè)文件系統(tǒng),但其包含了 DPT (Disk Partition Table,硬盤分區(qū)表)各分區(qū)格式化以后的信息,通過讀取分區(qū)表信息可以獲取到該分區(qū)是哪種文件系統(tǒng)格式(如FAT32、NTFS或者EXT3等)組織該分區(qū)中的文件數(shù)據(jù)。
[0056]3.讀取NTFS分區(qū)下的文件屬性,步驟I)中的DPT記錄著卷起始位置,NTFS以MFT (Master File Table,主文件表)文件來記錄分區(qū)各個(gè)File Record (文件記錄)的信息,卷中的所有文件都由至少一個(gè)文件記錄來描述,MFT位于卷起始位置,對(duì)于使用多個(gè)文件記錄的文件,其第一個(gè)文件記錄叫基本文件記錄,其余的叫做擴(kuò)展文件記錄。每個(gè)FileRecord都包含基本文件屬性信息和擴(kuò)展文件屬性信息,基本文件屬性中記錄著文件是隱藏、壓縮、加密等屬性。
[0057]4.讀取壓縮數(shù)據(jù),在File Record中有一個(gè)$DATA屬性即儲(chǔ)存數(shù)據(jù)的屬性,該屬性根據(jù)數(shù)據(jù)量大小一般又分為常駐屬性和非常駐屬性,通常的理解是常駐屬性是指數(shù)據(jù)存放在File Record中,非常駐屬性是指數(shù)據(jù)存放在File Record外部,而對(duì)于帶壓縮屬性的數(shù)據(jù)其$DATA屬性都是為非常駐屬性,需要通過RunList (運(yùn)行流記錄或運(yùn)行流列表)來找到數(shù)據(jù),RunList中保存了多個(gè)Run(運(yùn)行流),通過讀取Run獲取到偏移取出數(shù)據(jù)。
[0058]5.重新組織已讀取的壓縮數(shù)據(jù),對(duì)于壓縮屬性通過步驟4讀取的Run包含兩部分,前半部分為壓縮后的數(shù)據(jù),后半部分為指定大小的無需分配空間的數(shù)據(jù),這兩部分組成了一個(gè)壓縮單元,在$DATA屬性中可以獲取到壓縮單元大小,壓縮單元的大小一般為16個(gè)簇,簇的大小記錄在DPT中。
[0059]6.對(duì)壓縮單元進(jìn)行解壓縮,通過步驟5讀取到數(shù)據(jù)組織成壓縮單元后,使用LZNTl解壓縮算法,可以將壓縮數(shù)據(jù)還原成原來的數(shù)據(jù)。
[0060]7.將數(shù)據(jù)寫到指定的文件,使用WinAPI創(chuàng)建或打開一個(gè)文件,將步驟6中解壓縮后的數(shù)據(jù)寫到文件中,
[0061]8.完成恢復(fù),通過步驟4、5、6、7循環(huán)讀取和寫入到讀取的數(shù)據(jù)結(jié)束來完成文件的
完整恢復(fù)。
[0062]本發(fā)明中實(shí)施例中擬定一個(gè)客戶端Clientl從VMWare虛擬平臺(tái)中備份名稱為Windows-NTFS的虛擬機(jī)VMl,備份的數(shù)據(jù)存儲(chǔ)到介質(zhì)服務(wù)端MediaServerl中,為了恢復(fù)VMl中分區(qū)I中帶高級(jí)壓縮屬性的文本文件1.txt到客戶端Client2中,Client2通過讀取MediaServerl中的VMDK文件,來將虛擬機(jī)中的文件1.txt數(shù)據(jù)讀取到本地并寫入到名稱為2.txt的文件中。
[0063]其實(shí)施例整體結(jié)構(gòu)如圖2所示,客戶端Clientl通過VMWare提供的接口 vStorageAPI和VDDK中的VixMntapi來將需要備份的VMWare中的虛擬機(jī)VMl進(jìn)行應(yīng)用靜默,然后對(duì)VMl做快照,然后將VMl通過TCP / IP協(xié)議掛載到Clientl中,再通過VDDK中的vixDiskLib將VMl以二進(jìn)制塊數(shù)據(jù)的讀取方式將VMl讀取出來并通過網(wǎng)絡(luò)轉(zhuǎn)存到介質(zhì)服務(wù)端。
[0064]介質(zhì)服務(wù)端MediaServerl對(duì)接收到的數(shù)據(jù)以VMl中的原樣格式寫到本地磁盤上,其中包括VMl的主數(shù)據(jù)文件VMl.VMDK、附屬數(shù)據(jù)文件VM1-001.VMDK和配置文件VMl.VMX文件等。
[0065]客戶端Client2需要恢復(fù)介質(zhì)服務(wù)端的VMl備份副本中的1.txt文本文件,則Client2通過網(wǎng)絡(luò)讀取介質(zhì)服務(wù)端的配置文件VMl.VMX獲取到其主VMDK文件為VMl.VMDK文件,Client2通過VDDK工具將MediaServerl中的VMl.VMDK打開進(jìn)行讀取。
[0066]對(duì)于主VMl.VMDK打開以后相當(dāng)于一個(gè)硬盤的方式在讀取硬盤的二進(jìn)制數(shù)據(jù),根據(jù)硬盤分區(qū)格式MBR或GPT的標(biāo)示要求,可以判別該硬盤分區(qū)格式為MBR或GPT格式,本實(shí)施例中以MBR說明,首先MBR位于整個(gè)硬盤的0柱面0磁頭I扇區(qū)位置即讀取硬盤的第一個(gè)扇區(qū)512個(gè)字節(jié)時(shí)即為主引導(dǎo)記錄MBR,MBR的引導(dǎo)程序占了其中的446個(gè)字節(jié),隨后的64個(gè)字節(jié)為硬盤分區(qū)表DPT,總共4個(gè)DPT,每個(gè)DPT占用16字節(jié)其結(jié)構(gòu)如圖3所示,其中第4個(gè)DPT為擴(kuò)展分區(qū)表,MBR的最后兩個(gè)字節(jié)為“55AA”來標(biāo)識(shí)分區(qū)的有效結(jié)束。
[0067]DPT中記錄了該分區(qū)是否為活動(dòng)分區(qū)、分區(qū)格式的類型、分區(qū)起始扇區(qū)位置信息,其中分區(qū)格式類型分為NTFS、FAT32或EXT3等類型,其分區(qū)格式類型決定了,當(dāng)跳轉(zhuǎn)到分區(qū)起始位置時(shí)該以何種格式來讀取相應(yīng)的文件存儲(chǔ)信息,DPTl中記錄的分區(qū)格式為NTFS類型,起始扇區(qū)位置為63,那么跳轉(zhuǎn)到硬盤扇區(qū)63位置時(shí),起始數(shù)據(jù)將以DBR格式讀取NTFS的文件系統(tǒng)引導(dǎo)記錄信息,BPB (BIOS Parameter Block,BIOS分區(qū)參數(shù)塊)用于指示NTFS分區(qū)中起始MFT文件位置、扇區(qū)大小、每簇扇區(qū)數(shù)和一個(gè)File Record占用的扇區(qū)數(shù)。
[0068]MFT文件的$DATA屬性一般是非常駐屬性,其RunList指示了所有File Record所在位置,每個(gè)File Record都是依次排列著,每個(gè)File Record占用的扇區(qū)數(shù)通過BPB可以獲取到,所以在使用RunList取到數(shù)據(jù)后通過公式1:File Record N=首個(gè)FileRecord+(N-1)*每個(gè)File Record占用的扇區(qū)數(shù),根據(jù)NTFS文件的組織結(jié)構(gòu)前24個(gè)FileRecord為系統(tǒng)File Record文件,而第5號(hào)File Record文件為根目錄(?)文件,因?yàn)镹TFS是以B+樹進(jìn)行索引的,文件是B+樹中的Root結(jié)點(diǎn),通過該結(jié)點(diǎn)可以檢索到該目錄下的文件。
[0069]使用Root結(jié)點(diǎn)找到1.txt文件所在的文件號(hào)以后,通過該索引記錄中指示的FileRecord Number再以公式I計(jì)算跳轉(zhuǎn)到該1.txt的File Record位置,NTFS中每個(gè)FileRecord都是由屬性組成。每個(gè)屬性由相同的格式構(gòu)成如表1所示,第一個(gè)是標(biāo)準(zhǔn)屬性記錄頭,然后存放屬性的專用數(shù)據(jù),標(biāo)準(zhǔn)屬性記錄頭中存著該文件的高級(jí)屬性如壓縮、加密、歸檔、隱藏,通過該屬性可以獲得1.txt帶有壓縮屬性。
[0070]表1
【權(quán)利要求】
1.一種VMware場(chǎng)景中恢復(fù)NTFS高級(jí)壓縮文件的方法,其特征在于,包括以下步驟: 1)讀取并解析VMDK文件; 2)識(shí)別文件分區(qū)格式; 3)讀取NTFS分區(qū)下的文件屬性; 4)讀取壓縮數(shù)據(jù); 5)重新組織已讀取的壓縮數(shù)據(jù); 6)對(duì)壓縮單元進(jìn)行解壓縮; 7)將數(shù)據(jù)寫到指定的文件; 8)通過步驟4)、5)、6)、7)循環(huán)讀取和寫入,直至讀取的數(shù)據(jù)結(jié)束來完成文件的完整恢復(fù)。
2.根據(jù)權(quán)利要求1所述的VMware場(chǎng)景中恢復(fù)NTFS高級(jí)壓縮文件的方法,其特征在于,VMware虛擬機(jī)組織一臺(tái)虛擬機(jī)的方式包括11種文件:.vmx:配置文件;.vmxf:附件的配置文件;.vmdk:主硬盤文件;.flat, vmdk:預(yù)先分配的二進(jìn)制格式的硬盤文件; ?vswp:交換文件;.nvram:保存虛擬機(jī)的BIOS信息;.vmss:虛擬機(jī)掛起時(shí)產(chǎn)生的suspend文件;.log:日志文件;.vmsd:存放快照的元數(shù)據(jù)和其他信息;.vmsn:快照數(shù)據(jù)文件; ?delta, vmdk:快照文件;其中?配置文件中記錄了 ? vmdk`,通過VDDK來讀取? vmdk時(shí),VMWare將為該操作找到.vmdk的附屬硬盤文件,VDDK讀取vmdk所得到的塊數(shù)據(jù)就相當(dāng)于讀取一塊硬盤的塊數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的VMware場(chǎng)景中恢復(fù)NTFS高級(jí)壓縮文件的方法,其特征在于,所述的識(shí)別文件分區(qū)的格式具體為: 從步驟I)得到的VMDK文件中的硬盤分區(qū)表信息讀取,并根據(jù)該硬盤分區(qū)表信息判斷該分區(qū)屬于那種文件格式,其中文件格式包括FAT32、NTFS和EXT3。
4.根據(jù)權(quán)利要求3所述的VMware場(chǎng)景中恢復(fù)NTFS高級(jí)壓縮文件的方法,其特征在于,所述的讀取NTFS分區(qū)下的文件屬性具體為: 將步驟2)中識(shí)別出的NTFS分區(qū),根據(jù)其分區(qū)啟示位置來讀取文件記錄信息,并進(jìn)一步讀取文件記錄信息中的文件屬性信息,其中的文件屬性信息、包括存儲(chǔ)數(shù)據(jù)屬性。
5.根據(jù)權(quán)利要求4所述的VMware場(chǎng)景中恢復(fù)NTFS高級(jí)壓縮文件的方法,其特征在于,所述的存儲(chǔ)數(shù)據(jù)屬性包括常駐屬性和非常駐屬性,其中常駐屬性是指數(shù)據(jù)存放在文件記錄信息中,非常駐屬性是指數(shù)據(jù)存放在文件記錄信息外部。
6.根據(jù)權(quán)利要求5所述的VMware場(chǎng)景中恢復(fù)NTFS高級(jí)壓縮文件的方法,其特征在于,所述的讀取的壓縮數(shù)據(jù)為非常駐屬性數(shù)據(jù),需通過運(yùn)行流記錄或運(yùn)行流列表RunList找到該數(shù)據(jù),其中RunList中保存了多個(gè)運(yùn)行流Run,通過讀取Run獲取到偏移并取出數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的VMware場(chǎng)景中恢復(fù)NTFS高級(jí)壓縮文件的方法,其特征在于,所述的重新組織已讀取的壓縮數(shù)據(jù)具體為: 將步驟4)讀取的Run分成兩部分,前半部分為壓縮后的數(shù)據(jù),后半部分為指定大小的無需分配空間的數(shù)據(jù),這兩部分組成了一個(gè)壓縮單元,并在存儲(chǔ)數(shù)據(jù)屬性中獲取該壓縮單元的大小。
8.根據(jù)權(quán)利要求7所述的VMware場(chǎng)景中恢復(fù)NTFS高級(jí)壓縮文件的方法,其特征在于,所述的壓縮單元的大小為16個(gè)簇,簇的大小記錄在硬盤分區(qū)表中。
9.根據(jù)權(quán)利要求7所述的VMware場(chǎng)景中恢復(fù)NTFS高級(jí)壓縮文件的方法,其特征在于,所述的對(duì)壓縮單元進(jìn)行解壓縮具體為: 將步驟5)得到的壓縮單元采用LZNTl解壓縮算法,將壓縮數(shù)據(jù)還原成原來的數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的VMware場(chǎng)景中恢復(fù)NTFS高級(jí)壓縮文件的方法,其特征在于,所述的將數(shù)據(jù)寫到指定的文件具體為: 使用WinAPI創(chuàng)建或打開一個(gè)文件,將步驟6)中解壓縮后的數(shù)據(jù)寫到文件中。
【文檔編號(hào)】G06F17/30GK103678713SQ201310751914
【公開日】2014年3月26日 申請(qǐng)日期:2013年12月31日 優(yōu)先權(quán)日:2013年12月31日
【發(fā)明者】郭家樂 申請(qǐng)人:上海愛數(shù)軟件有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
徐闻县| 类乌齐县| 泾川县| 岱山县| 阳江市| 绥德县| 怀来县| 姚安县| 营口市| 盐亭县| 湘西| 巴林左旗| 邵阳市| 泸定县| 万源市| 内乡县| 丰顺县| 邢台县| 修文县| 西青区| 全南县| 贵定县| 米脂县| 台江县| 六枝特区| 从江县| 河南省| 潮州市| 涟水县| 广安市| 浦江县| 高尔夫| 海淀区| 平远县| 台中市| 偃师市| 镇江市| 乌审旗| 庄河市| 牙克石市| 于都县|