專利名稱:應(yīng)用模板抓取方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及應(yīng)用程序的模板,尤其是應(yīng)用程序的模板的抓取方法及裝置。
背景技術(shù):
應(yīng)用模板,就是應(yīng)用程序的模板,就是我們經(jīng)常所見(jiàn)到的一些免安裝版的軟件,解壓到硬盤就可以直接使用的應(yīng)用,綠色破解版等等這種應(yīng)用都屬于應(yīng)用模板,現(xiàn)在市面能夠看到的一些應(yīng)用模板都只是一些小工具或者游戲等等?,F(xiàn)有技術(shù)中應(yīng)用模板的制作方法一般制作一個(gè)應(yīng)用的模板,無(wú)非就是在安裝應(yīng)用之前,對(duì)文件做一個(gè)鏡像,儲(chǔ)存當(dāng)前文件系統(tǒng)的信息,等安裝應(yīng)用之后再做一次鏡像,通過(guò)前后鏡像對(duì)比,對(duì)新增的文件進(jìn)行抓取。抓取出來(lái)的文件就是一個(gè)應(yīng)用模板。但如果像Office和Adobe系列的軟件要做成一個(gè)通用的免安裝的模板基本是不太可能的,因?yàn)閼?yīng)用程序在安裝的過(guò)程中除了生成必要的文件還會(huì)記錄大量的注冊(cè)表信息,其中與當(dāng)前用戶相關(guān)的一系列注冊(cè)表信息成為了不能制作通用的模板的關(guān)鍵。所以一個(gè)模板應(yīng)用不是簡(jiǎn)單的說(shuō)把安裝過(guò)程中產(chǎn)生的文件提取出來(lái)就是一個(gè)模板,除了文件還有注冊(cè)表,注冊(cè)表里記錄了當(dāng)前系統(tǒng)的軟硬件配置以及當(dāng)前用戶的相關(guān)信息,如果生硬的拿到另一個(gè)用戶中去使用肯定會(huì)有問(wèn)題。此外,由于上述軟件安裝過(guò)程中生成文件比較多,占用空間大。因此,制作多次鏡像需要占用磁盤空間巨大,比較鏡像獲取新增文件需要的時(shí)間很長(zhǎng)。用戶需要制作模板時(shí)需要耗費(fèi)很長(zhǎng)的等待時(shí)間,需要準(zhǔn)備大量的存儲(chǔ)空間。Shadoffin虛擬機(jī)的特性已經(jīng)決定了他是一個(gè)適合抓取通用模板的虛擬機(jī),首先每個(gè)虛擬用戶的系統(tǒng)和用戶信息是一致的,所以根本不需要考慮用戶信息存在差異的問(wèn)題,模板不但可以抓取,抓取后的模板還可以給ShadoWin的每個(gè)用戶實(shí)現(xiàn)通用,其次根據(jù)ShadoWin虛擬機(jī)的特性,對(duì)于這樣抓取的模板可以便于加載,可以實(shí)現(xiàn)模板的“共用”,這個(gè)也是ShadoWin虛擬機(jī)獨(dú)有的一個(gè)模板機(jī)制。舉例來(lái)說(shuō)明共用的特點(diǎn),一個(gè)公司有一臺(tái)服務(wù)器給100個(gè)員工使用,每個(gè)員工的電腦里面要求這些應(yīng)用,例如Office, Photoshop, Skype等等,將這些應(yīng)用所占的網(wǎng)絡(luò)硬盤資源大小預(yù)估為10G,如果一臺(tái)服務(wù)器有100個(gè)用戶的情況來(lái)說(shuō)明,每個(gè)用戶都要安裝這些應(yīng)用就需要1000G,在云桌面中假如用戶單單安裝一些應(yīng)用就浪費(fèi)了 IOG的空間,對(duì)于云桌面上寸土寸金的用戶網(wǎng)盤資源,這恐怕是用戶接受不了的,而ShadoWin獨(dú)有的模板和加載方式恰恰解決了這個(gè)難題,服務(wù)器上只需要保留這IOG模板即可,每個(gè)用戶都可以加載此模板,并不占用任何用戶網(wǎng)盤空間,而且加載時(shí)間短、速度快,這是此方法獲得應(yīng)用模板的特點(diǎn)。模板的抓取成為解決上述技術(shù)問(wèn)題的基礎(chǔ)和關(guān)鍵,因此提出一種模板的抓取方法,能夠快速便捷地生成軟件應(yīng)用模板。
發(fā)明內(nèi)容
一種應(yīng)用模板的抓取方法,包括以下步驟
步驟A,接收抓取軟件應(yīng)用模板的指令;步驟B,更改虛擬機(jī)文件系統(tǒng)的根的映射關(guān)系;步驟C,等待所述軟件的安裝過(guò)程執(zhí)行完畢,安裝過(guò)程中的新增的文件被重定向到所述映射關(guān)系指向的真實(shí)位置;步驟D,找到虛擬機(jī)文件系統(tǒng)的根映射的真實(shí)位置,將該真實(shí)位置包含的文件及目錄打包獲得模板文件。如上所述的抓取方法,其中步驟A中的指令包括用戶觸發(fā)指示信息,用于指示系統(tǒng),要求抓取一個(gè)或多個(gè)軟件的應(yīng)用模板。如上所述的抓取方法,步驟B中的映射關(guān)系由一個(gè)虛實(shí)關(guān)系對(duì)應(yīng)表來(lái)進(jìn)行設(shè)置,將虛擬機(jī)文件系統(tǒng)中的路徑映射到網(wǎng)絡(luò)硬盤上真實(shí)的位置。如上所述的抓取方法,在上述步驟B之前,保存虛擬機(jī)文件系統(tǒng)的根的原始映射關(guān)系,當(dāng)步驟D完成之后,則將虛擬機(jī)文件系統(tǒng)的根的映射關(guān)系恢復(fù)為原始映射關(guān)系。一種應(yīng)用模板的抓取裝置,包括以下模塊接收模塊,接收抓取軟件應(yīng)用模板的指令;更改模塊,更改虛擬機(jī)文件系統(tǒng)的映射關(guān)系;安裝模塊,等待所述軟件的安裝過(guò)程執(zhí)行完畢,安裝過(guò)程中的新增的文件被重定向到所述映射關(guān)系指向的真實(shí)位置;打包模塊,找到虛擬機(jī)文件系統(tǒng)的根映射的真實(shí)位置,將該真實(shí)位置目錄中包含的文件及目錄打包獲得模板文件。如上所述的抓取裝置,其中接收模塊接收的指令包括指示信息,用于指示系統(tǒng),要求抓取一個(gè)或多個(gè)軟件的應(yīng)用模板。如上所述的抓取裝置,更改中的映射關(guān)系由一個(gè)虛實(shí)關(guān)系對(duì)應(yīng)表來(lái)進(jìn)行設(shè)置,將虛擬機(jī)文件系統(tǒng)中的路徑映射到網(wǎng)絡(luò)硬盤上真實(shí)的位置。
圖I為依據(jù)本發(fā)明的應(yīng)用模板抓取裝置示意2為依據(jù)本發(fā)明的應(yīng)用模板抓取方法示意3為依據(jù)本發(fā)明的路徑映射關(guān)系示意圖
具體實(shí)施例方式本發(fā)明提供了一種應(yīng)用模板的抓取方法,包括以下步驟步驟A,接收抓取軟件應(yīng)用模板的指令;步驟B,更改虛擬機(jī)文件系統(tǒng)的根的映射關(guān)系;步驟C,等待所述軟件的安裝過(guò)程執(zhí)行完畢,安裝過(guò)程中的新增的文件被重定向到所述映射關(guān)系指向的真實(shí)位置;步驟D,找到虛擬機(jī)文件系統(tǒng)的根映射的真實(shí)位置,將該真實(shí)位置包含的文件及目錄打包獲得模板文件。以下借助示例性的而非限制性的實(shí)施例來(lái)詳細(xì)解釋上述步驟。步驟A,系統(tǒng)接收抓取軟件應(yīng)用模板的指令。該指令包括指示信息,能夠明確指示系統(tǒng),要求抓取一個(gè)或多個(gè)軟件的應(yīng)用模板。步驟B,更改虛擬機(jī)文件系統(tǒng)的根的映射關(guān)系。虛擬機(jī)文件系統(tǒng)實(shí)際上為一個(gè)虛擬的文件系統(tǒng),該文件系統(tǒng)中的每個(gè)目錄或文件都與網(wǎng)絡(luò)硬盤上真實(shí)的位置相對(duì)應(yīng),即每個(gè)虛擬路徑都映射到真實(shí)路徑。這種映射關(guān)系在系統(tǒng)中由一個(gè)虛實(shí)關(guān)系對(duì)應(yīng)表來(lái)進(jìn)行設(shè)置。文件系統(tǒng)的根可以理解為整個(gè)文件系統(tǒng)的最低級(jí)的根目錄,文件系統(tǒng)中的各個(gè)邏輯驅(qū)動(dòng)器可以作為該根目錄的子目錄。當(dāng)然,各個(gè)邏輯驅(qū)動(dòng)器中還可以再包括更多層級(jí)的子目錄或文件。例如虛擬機(jī)文件系統(tǒng)中一個(gè)典型的目錄可以是“C :\windows\system”,其在網(wǎng)絡(luò)硬盤上對(duì)應(yīng)著一個(gè)實(shí)際的位置,例如是“@(NTR00T)\C\windows\system”。這兩者之間的映射關(guān)系是由系統(tǒng)中的虛實(shí)關(guān)系對(duì)應(yīng)表規(guī)定的。因此通常在虛擬機(jī)文件系統(tǒng)中的寫入操作則會(huì)被映射到網(wǎng)絡(luò)硬盤中的真實(shí)位置進(jìn)行。在步驟B中,將虛擬機(jī)文件系統(tǒng)的根的映射關(guān)系進(jìn)行更改,映射到一個(gè)預(yù)設(shè)的網(wǎng)絡(luò)硬盤的真實(shí)目錄中,例如可以是(NTM0DULE) ”。優(yōu)選地,該預(yù)設(shè)的網(wǎng)絡(luò)硬盤的真實(shí)目錄應(yīng)當(dāng)為一個(gè)空目錄。步驟C,等待步驟A中指示的軟件的安裝過(guò)程執(zhí)行完畢。此時(shí),所述一個(gè)或多個(gè)軟件的安裝源文件被分別啟動(dòng)運(yùn)行,軟件安裝過(guò)程中可能會(huì)向虛擬機(jī)文件系統(tǒng)的多個(gè)邏輯驅(qū)動(dòng)器中寫入文件,如果存在對(duì)注冊(cè)表的修改或增加,則會(huì)寫入注冊(cè)表文件中。由于在步驟B中,虛擬機(jī)文件系統(tǒng)的根的映射關(guān)系已經(jīng)被更改,因此,上述安裝過(guò)程當(dāng)中的文件寫入,都被重定向到映射的網(wǎng)絡(luò)硬盤中的真實(shí)位置上。例如可以是“O(NTMODULE) ”目錄中。步驟D,找到根映射的真實(shí)位置,將該真實(shí)位置目錄中包含的文件打包獲得模板文件。安裝結(jié)束后,安裝過(guò)程中新增的所有文件,包括注冊(cè)表文件,都會(huì)保存在虛擬機(jī)文件系統(tǒng)的根的映射的網(wǎng)絡(luò)硬盤中的真實(shí)位置目錄中,將該位置的目錄中的所有新增的文件及目錄打包,即得到應(yīng)用模板。在上述實(shí)施例的基礎(chǔ)上,本發(fā)明還提供進(jìn)一步對(duì)功能優(yōu)化和增強(qiáng)的可選實(shí)施例。優(yōu)選地,在上述步驟B之前,可以保存虛擬機(jī)文件系統(tǒng)的根的原始映射關(guān)系,當(dāng)步驟D完成之后,則將虛擬機(jī)文件系統(tǒng)的根的映射關(guān)系恢復(fù)為原始映射關(guān)系。優(yōu)選地,在上述步驟D中,為了節(jié)省存儲(chǔ)空間,可以將上述打包得到的應(yīng)用模板進(jìn)行壓縮。優(yōu)選地,在上述步驟A中,可以獲取所述軟件安裝所需要的空間容量,在步驟B之后步驟C之前,判斷虛擬機(jī)文件系統(tǒng)的根映射的真實(shí)位置剩余的空間容量,當(dāng)剩余空間容量不足時(shí)提示模板抓取可能失敗,以及提示用戶是否需要擴(kuò)充空間容量。當(dāng)用戶確定擴(kuò)充空間容量時(shí),為虛擬機(jī)文件系統(tǒng)的根映射的真實(shí)位置分配足夠的空間容量。本發(fā)明還提供了一種應(yīng)用模板的抓取裝置,包括以下模塊接收模塊,接收抓取軟件應(yīng)用模板的指令;更改模塊,更改虛擬機(jī)文件系統(tǒng)的根的映射關(guān)系;安裝模塊,等待所述軟件的安裝過(guò)程執(zhí)行完畢,安裝過(guò)程中的新增的文件被重定向到所述映射關(guān)系指向的真實(shí)位置;打包模塊,找到虛擬機(jī)文件系統(tǒng)的根映射的真實(shí)位置,將該真實(shí)位置目錄中包含的文件及目錄打包獲得模板文件。如上所述的抓取裝置,其中接收模塊接收的指令包括指示信息,用于指示系統(tǒng),要求抓取一個(gè)或多個(gè)軟件的應(yīng)用模板。
如上所述的抓取裝置,更改中的映射關(guān)系由一個(gè)虛實(shí)關(guān)系對(duì)應(yīng)表來(lái)進(jìn)行設(shè)置,將虛擬機(jī)文件系統(tǒng)中的路徑映射到網(wǎng)絡(luò)硬盤上真實(shí)的位置。通過(guò)采用本發(fā)明描述的應(yīng)用模板抓取方法和裝置,能夠一次抓取所需要的一個(gè)或多個(gè)應(yīng)用程序的模板,抓取過(guò)程不僅涵蓋了新增文件及目錄信息,而且還包括了注冊(cè)表的變化信息,抓取的模板通用性好,便于多用戶之間的共享共用,而不必每個(gè)用戶都自行抓取。抓取所需的空間容量小,不必耗費(fèi)大量空間用于保存安裝前后的鏡像對(duì)比,由于節(jié)省了上述步驟同時(shí)也提高了抓取的速度。與傳統(tǒng)抓取模板方法相比,本發(fā)明能夠節(jié)省抓取模板所需的空間、提高抓取模板速度,獲得的模板通用性好,便于在多用戶之間共享,節(jié)省用戶資源。解決了一直以來(lái)懸而未決的技術(shù)問(wèn)題,取得了顯著的技術(shù)效果。本發(fā)明的實(shí)施方式中的方法和/或模塊均可以通過(guò)軟件、固件、硬件中的一種或多種的組合來(lái)實(shí)現(xiàn),并不限于使用某一種方式來(lái)實(shí)現(xiàn)。以上的實(shí)施方式均為示例性的描述,并非對(duì)本發(fā)明保護(hù)范圍的限定。
權(quán)利要求
1.一種應(yīng)用模板的抓取方法,包括以下步驟 步驟A,接收抓取軟件應(yīng)用模板的指令; 步驟B,更改虛擬機(jī)文件系統(tǒng)的根的映射關(guān)系; 步驟C,等待所述軟件的安裝過(guò)程執(zhí)行完畢,安裝過(guò)程中的新增的文件被重定向到所述映射關(guān)系指向的真實(shí)位置; 步驟D,找到虛擬機(jī)文件系統(tǒng)的根映射的真實(shí)位置,將該真實(shí)位置目錄中包含的文件及目錄打包獲得模板文件。
2.如權(quán)利要求I所述的抓取方法,其中步驟A中的指令包括指示信息,用于指示系統(tǒng),要求抓取一個(gè)或多個(gè)軟件的應(yīng)用模板。
3.如權(quán)利要求I所述的抓取方法,步驟B中的映射關(guān)系由一個(gè)虛實(shí)關(guān)系對(duì)應(yīng)表來(lái)進(jìn)行設(shè)置,將虛擬機(jī)文件系統(tǒng)中的路徑映射到網(wǎng)絡(luò)硬盤上真實(shí)的位置。
4.如權(quán)利要求I所述的抓取方法,在上述步驟B之前,保存虛擬機(jī)文件系統(tǒng)的根的原始映射關(guān)系,當(dāng)步驟D完成之后,則將虛擬機(jī)文件系統(tǒng)的根的映射關(guān)系恢復(fù)為原始映射關(guān)系。
5.一種應(yīng)用模板的抓取裝置,包括以下模塊 接收模塊,接收抓取軟件應(yīng)用模板的指令; 更改模塊,更改虛擬機(jī)文件系統(tǒng)的根的映射關(guān)系; 安裝模塊,等待所述軟件的安裝過(guò)程執(zhí)行完畢,安裝過(guò)程中的新增的文件被重定向到所述映射關(guān)系指向的真實(shí)位置; 打包模塊,找到虛擬機(jī)文件系統(tǒng)的根映射的真實(shí)位置,將該真實(shí)位置目錄中包含的文件及目錄打包獲得模板文件。
6.如權(quán)利要求5所述的抓取裝置,其中接收模塊接收的指令包括指示信息,用于指示系統(tǒng),要求抓取一個(gè)或多個(gè)軟件的應(yīng)用模板。
7.如權(quán)利要求5所述的抓取裝置,更改中的映射關(guān)系由一個(gè)虛實(shí)關(guān)系對(duì)應(yīng)表來(lái)進(jìn)行設(shè)置,將虛擬機(jī)文件系統(tǒng)中的路徑映射到網(wǎng)絡(luò)硬盤上真實(shí)的位置。
全文摘要
本發(fā)明提供了一種應(yīng)用程序的模板的抓取方法及裝置。該方法包括接收抓取軟件應(yīng)用模板的指令;更改虛擬機(jī)文件系統(tǒng)的根的映射關(guān)系;等待所述軟件的安裝過(guò)程執(zhí)行完畢,安裝過(guò)程中的新增的文件被重定向到所述映射關(guān)系指向的真實(shí)位置;找到虛擬機(jī)文件系統(tǒng)的根映射的真實(shí)位置,將該真實(shí)位置目錄中包含的文件及目錄打包獲得模板文件。采用本發(fā)明能夠節(jié)省抓取模板所需的空間、提高抓取模板速度,獲得的模板通用性好,便于在多用戶之間共享,節(jié)省用戶資源。
文檔編號(hào)G06F9/44GK102929625SQ20121042123
公開(kāi)日2013年2月13日 申請(qǐng)日期2012年10月30日 優(yōu)先權(quán)日2012年10月30日
發(fā)明者李瑞平 申請(qǐng)人:北京伸得緯科技有限公司, 國(guó)際伸得緯有限公司