本申請涉及計算機技術(shù)領(lǐng)域,具體涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及用于生成鏡像文件的方法和裝置。
背景技術(shù):
鏡像文件通常就是一個獨立的文件,和其他文件不同,它是由多個文件通過刻錄軟件或者鏡像文件制作工具制作而成的。隨著網(wǎng)絡(luò)科技的發(fā)展,提供商可以將鏡像文件上傳至云服務(wù)器以供用戶使用,方便了鏡像文件的使用和傳遞。
然而,現(xiàn)有的鏡像文件制作方式,往往需要人為創(chuàng)建虛擬主機。然后在虛擬主機上通過手動設(shè)置來安裝操作系統(tǒng),并對操作系統(tǒng)進行定制,如:安裝一些安全防護軟件或者修復(fù)軟件等。在對虛擬主機進行清理之后,將磁盤中存儲虛擬主機的文件(即鏡像文件)提供給用戶。整個制作過程一般主要依靠人為參與完成。
技術(shù)實現(xiàn)要素:
本申請的目的在于提出一種改進的用于生成鏡像文件的方法和裝置,來解決以上背景技術(shù)部分提到的技術(shù)問題。
第一方面,本申請?zhí)峁┝艘环N用于生成鏡像文件的方法,該方法包括:獲取生成鏡像文件的需求信息,其中,需求信息包括待生成鏡像的文件的標(biāo)識信息以及與待生成鏡像的文件對應(yīng)的配置信息;根據(jù)標(biāo)識信息,獲取待生成鏡像的文件的安裝文件;在預(yù)先創(chuàng)建的虛擬主機上安裝該安裝文件以生成待生成鏡像的文件;從預(yù)先存儲的定制文件集合中選取出與配置信息匹配的定制文件,其中,定制文件中包含修改文件內(nèi)容所需的數(shù)據(jù);基于與配置信息匹配的定制文件更新待生成鏡像的文件,生成鏡像文件。
在一些實施例中,基于與配置信息匹配的定制文件更新待生成鏡像的文件,生成鏡像文件,包括:將與配置信息匹配的定制文件復(fù)制到虛擬主機上,生成鏡像定制文件;基于鏡像定制文件更新待生成鏡像的文件,生成鏡像文件;清除虛擬主機上的歷史記錄信息。
在一些實施例中,方法還包括:對鏡像文件進行測試,若測試通過,確定鏡像文件為目標(biāo)鏡像文件。
在一些實施例中,方法還包括:若測試不通過,獲取修改后的與配置信息匹配的定制文件;基于修改后的與配置信息匹配的定制文件更新待生成鏡像的文件,生成鏡像文件。
在一些實施例中,基于修改后的與配置信息匹配的定制文件更新待生成鏡像的文件,生成鏡像文件,包括:根據(jù)修改后的與配置信息匹配的定制文件更新鏡像定制文件;基于更新后的鏡像定制文件更新待生成鏡像的文件,生成鏡像文件;清除虛擬主機上的歷史記錄信息。
在一些實施例中,安裝文件包括待生成鏡像的文件的安裝包以及與安裝包對應(yīng)的應(yīng)答文件,其中,應(yīng)答文件中包括安裝該安裝包所需的設(shè)置參數(shù)。
在一些實施例中,在預(yù)先創(chuàng)建的虛擬主機上安裝該安裝文件以生成待生成鏡像的文件,包括:基于應(yīng)答文件,在預(yù)先創(chuàng)建的虛擬主機上安裝該安裝包,以生成待生成鏡像的文件。
在一些實施例中,定制文件包括以下至少一種:腳本程序、二進制程序、應(yīng)用軟件的安裝文件以及包含安裝應(yīng)用軟件所需數(shù)據(jù)的輔助文件。
第二方面,本申請?zhí)峁┝艘环N用于生成鏡像文件的裝置,裝置包括:第一獲取單元,配置用于獲取生成鏡像文件的需求信息,其中,需求信息包括待生成鏡像的文件的標(biāo)識信息以及與待生成鏡像的文件對應(yīng)的配置信息;第二獲取單元,配置用于根據(jù)標(biāo)識信息,獲取待生成鏡像的文件的安裝文件;安裝單元,配置用于在預(yù)先創(chuàng)建的虛擬主機上安裝該安裝文件以生成待生成鏡像的文件;選取單元,配置用于從預(yù)先存儲的定制文件集合中選取出與配置信息匹配的定制文件,其中,定制文件中包含修改文件內(nèi)容所需的數(shù)據(jù);生成單元,配置用于基于與配置信息匹配的定制文件更新待生成鏡像的文件,生成鏡像文件。
在一些實施例中,裝置還包括測試單元,配置用于對鏡像文件進行測試,若測試通過,確定鏡像文件為目標(biāo)鏡像文件。
在一些實施例中,選取單元還配置用于:若測試不通過,獲取修改后的與配置信息匹配的定制文件;生成單元還配置用于:基于修改后的與配置信息匹配的定制文件更新待生成鏡像的文件,生成鏡像文件。
第三方面,本申請?zhí)峁┝艘环N服務(wù)器,該服務(wù)器包括:一個或多個處理器;存儲裝置,用于存儲一個或多個程序,當(dāng)一個或多個程序被一個或多個處理器執(zhí)行,使得一個或多個處理器實現(xiàn)第一方面的方法。
第四方面,本申請?zhí)峁┝艘环N計算機可讀存儲介質(zhì),其上存儲有計算機程序,該計算機程序被處理器執(zhí)行時實現(xiàn)第一方面的方法。
本申請?zhí)峁┑挠糜谏社R像文件的方法和裝置,通過獲取生成鏡像文件的需求信息,根據(jù)需求信息中的待生成鏡像的文件的標(biāo)識信息獲取其安裝文件,并在預(yù)先創(chuàng)建的虛擬主機上安裝。實現(xiàn)了待生成鏡像的文件的自動安裝。再根據(jù)需求信息中的配置信息,從存儲的定制文件集合中選取出匹配的定制文件,以更新虛擬主機上的待生成鏡像的文件,從而生成鏡像文件。與背景技術(shù)相比,本申請實現(xiàn)了鏡像文件的自動生成,從而有利于鏡像文件的批量制作。同時,減少了人為參與過程,有利于保證相同鏡像文件的一致性。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優(yōu)點將會變得更明顯:
圖1是本申請可以應(yīng)用于其中的示例性系統(tǒng)架構(gòu)圖;
圖2是根據(jù)本申請的用于生成鏡像文件的方法的一個實施例的流程圖;
圖3是根據(jù)本申請的用于生成鏡像文件的方法的一個應(yīng)用場景的示意圖;
圖4是根據(jù)本申請的用于生成鏡像文件的方法的又一個實施例的流程圖;
圖5是根據(jù)本申請的用于生成鏡像文件的裝置的一個實施例的結(jié)構(gòu)示意圖;
圖6是適于用來實現(xiàn)本申請實施例的服務(wù)器的計算機系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
下面結(jié)合附圖和實施例對本申請作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋相關(guān)發(fā)明,而非對該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關(guān)發(fā)明相關(guān)的部分。
需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結(jié)合實施例來詳細說明本申請。
圖1示出了可以應(yīng)用本申請的用于生成鏡像文件的方法或用于生成鏡像文件的裝置的實施例的示例性系統(tǒng)架構(gòu)100。
如圖1所示,系統(tǒng)架構(gòu)100可以包括終端設(shè)備101、102、103,網(wǎng)絡(luò)104、106,服務(wù)器105和數(shù)據(jù)庫服務(wù)器107。網(wǎng)絡(luò)104用以在終端設(shè)備101、102、103與服務(wù)器105之間提供通信鏈路的介質(zhì)。網(wǎng)絡(luò)106用以在服務(wù)器105和數(shù)據(jù)庫服務(wù)器107之間提供通信鏈路的介質(zhì)。網(wǎng)絡(luò)104、106可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等等。
用戶可以使用終端設(shè)備101、102、103,通過網(wǎng)絡(luò)104向服務(wù)器105發(fā)送生成鏡像文件的需求信息。終端設(shè)備101、102、103上可以安裝有各種客戶端應(yīng)用,例如網(wǎng)頁瀏覽器應(yīng)用、下載應(yīng)用、即時通信工具等。
終端設(shè)備101、102、103可以是各種電子設(shè)備,包括但不限于智能手機、平板電腦、電子書閱讀器、膝上型便攜計算機和臺式計算機等等。
數(shù)據(jù)庫服務(wù)器107可以是存儲有待生成鏡像的文件的安裝文件和/或定制文件集合的服務(wù)器。
服務(wù)器105可以是提供各種服務(wù)的服務(wù)器,例如對獲取到的終端設(shè)備101、102、103發(fā)送的生成鏡像文件的需求信息進行處理的后臺鏡像文件生成服務(wù)器。后臺鏡像文件生成服務(wù)器可以從數(shù)據(jù)庫服務(wù)器107中獲取相關(guān)文件的安裝文件和匹配的定制文件,并對這些數(shù)據(jù)進行分析等處理,并將處理結(jié)果(例如鏡像文件已生成的提示信息)反饋給終端設(shè)備。
需要說明的是,本申請實施例所提供的用于生成鏡像文件的方法一般由服務(wù)器105執(zhí)行,相應(yīng)地,用于生成鏡像文件的裝置一般設(shè)置于服務(wù)器105中。
應(yīng)該理解,圖1中的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器的數(shù)目僅僅是示意性的。根據(jù)實現(xiàn)需要,可以具有任意數(shù)目的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器。需要說明的是,在服務(wù)器105中存儲有相關(guān)文件的安裝文件和定制文件集合的情況下,系統(tǒng)架構(gòu)100中可以不設(shè)置數(shù)據(jù)庫服務(wù)器107。
繼續(xù)參見圖2,示出了根據(jù)本申請的用于生成鏡像文件的方法的一個實施例的流程200。該方法包括以下步驟:
步驟201,獲取生成鏡像文件的需求信息。
在本實施例中,用于生成鏡像文件的方法運行于其上的電子設(shè)備(例如圖1所示的服務(wù)器105)可以通過有線連接方式或者無線連接方式從用戶所使用的終端獲取生成鏡像文件的需求信息。其中,上述需求信息包括了待生成鏡像的文件的標(biāo)識信息以及與待生成鏡像的文件對應(yīng)的配置信息。
在本實施例中,待生成鏡像的文件可以是各種操作系統(tǒng)文件,例如:Centos(Community Enterprise Operating System,社區(qū)企業(yè)操作系統(tǒng))或Windows(視窗電腦操作系統(tǒng))等。待生成鏡像的文件也可以是各種應(yīng)用軟件,比如:即時通訊軟件、下載軟件或視頻播放軟件等等。鏡像文件可以是由待生成鏡像的文件所生成的各種文件,例如Windows 7操作系統(tǒng)的ISO文件。生成的鏡像文件的格式在本申請中并不限制,可以是.iso、.bin或.nrg等等。
在本實施例中,標(biāo)識信息可以是待生成鏡像的文件的名稱和\或版本號,例如:Windows 7。也可以是數(shù)字、字符、文字或者三者中的任意組合。作為示例,標(biāo)識信息為1,與1對應(yīng)的待生成鏡像的文件為Windows 7操作系統(tǒng)。這種對應(yīng)關(guān)系可以是用戶預(yù)先設(shè)置的,并保存在電子設(shè)備中。此外,配置信息也可以是數(shù)字、字符、文字或者三者中的任意組合。比如:配置信息是客戶A,與客戶A對應(yīng)的配置需求是安全防護。同樣,這種對應(yīng)關(guān)系也可以是用戶預(yù)先設(shè)置的,并保存在電子設(shè)備中。
步驟202,根據(jù)標(biāo)識信息,獲取待生成鏡像的文件的安裝文件。
在本實施例中,基于步驟201中得到的需求信息,上述電子設(shè)備(例如圖1所示的服務(wù)器105)可以獲取需求信息中的待生成鏡像的文件的標(biāo)識信息。然后根據(jù)標(biāo)識信息,可以從如圖1所示的數(shù)據(jù)庫服務(wù)器107中獲取該文件的安裝文件。也可以先從本地查找是否存儲有該文件的安裝文件。當(dāng)本地查找失敗時,再從數(shù)據(jù)庫服務(wù)器中獲取。需要說明的是,安裝文件的具體存儲位置在本申請中并不限制。
在本實施例的一些可選的實現(xiàn)方式中,安裝文件可以包括待生成鏡像的文件的安裝包以及與安裝包對應(yīng)的應(yīng)答文件。其中,應(yīng)答文件中包括安裝該安裝包所需的設(shè)置參數(shù)。例如:kickstart、preseed和Windows的AutoUnattend.xml文件。Kickstart是針對Centos等操作系統(tǒng)的自動安裝而制定的問答文件。Preseed是對Debian(自由操作系統(tǒng))等操作系統(tǒng)的自動安裝而制定的問答文件。
步驟203,在預(yù)先創(chuàng)建的虛擬主機上安裝該安裝文件以生成待生成鏡像的文件。
在本實施例中,基于步驟202中得到的待生成鏡像的文件的安裝文件,上述電子設(shè)備上(例如圖1所示的服務(wù)器105)可以在預(yù)先創(chuàng)建的虛擬主機上安裝該安裝文件,以生成待生成鏡像的文件。
在本實施例中,上述電子設(shè)備可以根據(jù)安裝文件中待生成鏡像的文件的名稱和/或版本號,從預(yù)先存儲的應(yīng)答文件集合中選取出與該待生成鏡像的文件匹配的應(yīng)答文件。例如,待生成鏡像的文件為Centos操作系統(tǒng),從應(yīng)答文件集合中選取出適用于Centos操作系統(tǒng)的應(yīng)答文件Kickstart。然后根據(jù)應(yīng)答文件中的數(shù)據(jù),在虛擬主機上安裝該安裝文件。需要說明的是,應(yīng)答文件集合的存儲位置在本申請中同樣不限制。其可以存儲在本地,也可以存儲在如圖1所示的數(shù)據(jù)庫服務(wù)器107中。
在本實施例中,虛擬主機可以是上述電子設(shè)備在獲取上述需求信息之前,根據(jù)預(yù)先存儲的配置文件而創(chuàng)建的。也可以是上述電子設(shè)備獲取到上述需求信息求之后,根據(jù)預(yù)先存儲的配置文件而創(chuàng)建的。其中,配置文件包括創(chuàng)建虛擬主機所需的數(shù)據(jù)。此外,在創(chuàng)建的虛擬主機中可以配置SSH(Secure Shell,安全外殼協(xié)議)服務(wù),以實現(xiàn)各虛擬主機之間或者上述電子設(shè)備與虛擬主機之間的通信。需要說明的是,當(dāng)待生成鏡像的文件為操作系統(tǒng)時,一個待生成鏡像的文件可以對應(yīng)一個虛擬主機。但本申請并不限定,可以根據(jù)實際需求進行設(shè)置。此外,配置文件的存儲位置以及虛擬主機的位置在本申請中并不限定。
在本實施例的一些可選的實現(xiàn)方式中,當(dāng)安裝文件中既包括待生成鏡像的文件的安裝包,又包括與安裝包對應(yīng)的應(yīng)答文件時,上述電子設(shè)備可以基于該應(yīng)答文件,直接在預(yù)先創(chuàng)建的虛擬主機上安裝上述安裝包,以生成待生成鏡像的文件。
步驟204,從預(yù)先存儲的定制文件集合中選取出與配置信息匹配的定制文件。
在本實施例中,基于步驟201中得到的需求信息中的配置信息,上述電子設(shè)備可以從定制文件集合中選取出與配置信息匹配的定制文件。其中,定制文件中包含修改文件內(nèi)容所需的數(shù)據(jù)。作為示例,配置信息為安全防護,則可以從定制文件集合中選出與安全防護相關(guān)的定制文件(如:殺毒軟件)。再作為示例,配置信息為客戶A,則可以從定制文件集合中選取出名稱為客戶A的定制文件??梢岳斫獾氖?,定制文件集合的存儲位置并不限定。
在本實施例的一些可選的實現(xiàn)方式中,定制文件可以包括以下至少一種:腳本程序、二進制程序、應(yīng)用軟件的安裝文件以及包含安裝應(yīng)用軟件所需數(shù)據(jù)的輔助文件。
步驟205,基于與配置信息匹配的定制文件更新待生成鏡像的文件,生成鏡像文件。
在本實施例中,基于步驟204選取出的與配置信息匹配的定制文件,上述電子設(shè)備可以根據(jù)定制文件中的數(shù)據(jù),更新虛擬主機上的待生成鏡像的文件的內(nèi)容,以生成鏡像文件。例如:定制文件中包含網(wǎng)絡(luò)配置數(shù)據(jù),上述電子設(shè)備可根據(jù)該定制文件,修改待生成鏡像的文件的網(wǎng)絡(luò)配置,并將修改后的待生成鏡像的文件作為鏡像文件。
本申請的上述實施例提供的方法,通過需求信息中的待生成鏡像的文件的標(biāo)識信息和與該文件相關(guān)的配置信息,來獲取該文件的安裝文件和匹配的定制文件,從而在虛擬主機上自動安裝并更新該文件,生成鏡像文件。減少了人為參與過程,實現(xiàn)了鏡像文件的批量制作,并有利于保證相同鏡像文件的一致性。
在本實施例的一些可選的實現(xiàn)方式中,步驟205可以進一步通過以下步驟實現(xiàn):
將與配置信息匹配的定制文件復(fù)制到虛擬主機上,生成鏡像定制文件;
基于鏡像定制文件更新待生成鏡像的文件,生成鏡像文件;
清除虛擬主機上的歷史記錄信息。
其中,歷史記錄信息可以包括以下至少一種:歷史操作信息、日志文件信息、其他殘留的配置信息以及鏡像定制文件等。當(dāng)鏡像文件為操作系統(tǒng)時,清除虛擬主機上的這些歷史記錄信息后,可以提供給用戶一個全新的操作系統(tǒng),以防止用戶在使用該操作系統(tǒng)的過程中出現(xiàn)問題(比如:網(wǎng)絡(luò)不通)。
繼續(xù)參見圖3,圖3是根據(jù)本實施例的用于生成鏡像文件的方法的應(yīng)用場景的一個示意圖。
在圖3的應(yīng)用場景中,用戶首先利用終端發(fā)送一個生成修復(fù)漏洞后的32位的Linux系統(tǒng)的鏡像文件的需求信息(如圖中301所示);之后,服務(wù)器可以利用獲取到的需求信息中的32位的Linux系統(tǒng)的標(biāo)識信息(如圖中302所示),從數(shù)據(jù)庫服務(wù)器中獲取32位的Linux系統(tǒng)的安裝文件(如圖中303所示);然后,服務(wù)器在預(yù)先創(chuàng)建的虛擬主機上安裝該安裝文件(如圖中304所示);服務(wù)器再利用獲取到的需求信息中的修復(fù)漏洞的配置信息(如圖中302所示),從數(shù)據(jù)庫服務(wù)器中存儲的定制文件集合中,選取出與修復(fù)漏洞相關(guān)的定制文件(如圖中305所示);最后,服務(wù)器基于該定制文件修復(fù)虛擬主機上的32位的Linux系統(tǒng)的漏洞,生成修復(fù)漏洞后的32位的Linux系統(tǒng)的鏡像文件(如圖中306所示)。
本申請的上述實施例提供的方法,通過需求信息中的待生成鏡像的文件的標(biāo)識信息和與該文件相關(guān)的配置信息,來獲取該文件的安裝文件和匹配的定制文件,從而在虛擬主機上自動安裝并更新該文件,生成鏡像文件。減少了人為參與過程,實現(xiàn)了鏡像文件的批量制作,并有利于保證相同鏡像文件的一致性。
進一步參見圖4,其示出了用于生成鏡像文件的方法的又一個實施例的流程400。該方法的流程400包括以下步驟:
步驟401,獲取生成鏡像文件的需求信息。
在本實施例中,用于生成鏡像文件的方法運行于其上的電子設(shè)備(例如圖1所示的服務(wù)器105)可以通過有線連接方式或者無線連接方式從用戶所使用的終端獲取生成鏡像文件的需求信息。其中,上述需求信息包括了待生成鏡像的文件的標(biāo)識信息以及與待生成鏡像的文件對應(yīng)的配置信息。
步驟402,根據(jù)標(biāo)識信息,獲取待生成鏡像的文件的安裝文件。
在本實施例中,上述電子設(shè)備可以根據(jù)待生成鏡像的文件的標(biāo)識信息,來獲取該文件的安裝文件。具體可參見圖2所示的步驟202,此處不再贅述。
步驟403,在預(yù)先創(chuàng)建的虛擬主機上安裝該安裝文件以生成待生成鏡像的文件。
在本實施例中,基于步驟402中得到的安裝文件,上述電子設(shè)備上可以在預(yù)先創(chuàng)建的虛擬主機上安裝該安裝文件,以生成待生成鏡像的文件。具體可參見圖2所示的步驟203,此處不再贅述。
步驟404,從預(yù)先存儲的定制文件集合中選取出與配置信息匹配的定制文件。
在本實施例中,利用步驟401中的配置信息,上述電子設(shè)備可以從預(yù)先存儲的定制文件集合中選取出與配置信息匹配的定制文件。其中,定制文件中包含修改文件內(nèi)容所需的數(shù)據(jù)。
步驟405,基于與配置信息匹配的定制文件更新待生成鏡像的文件,生成鏡像文件。
在本實施例中,基于步驟404選取出的與配置信息匹配的定制文件,上述電子設(shè)備可以根據(jù)定制文件中的數(shù)據(jù),更新虛擬主機上的待生成鏡像的文件的內(nèi)容,以生成鏡像文件。
步驟406,對鏡像文件進行測試。
在本實施例中,上述電子設(shè)備可以按照存儲的測試程序?qū)︾R像文件的基本功能和運行穩(wěn)定性等性能進行測試,例如冒煙測試。如果測試通過,則可以執(zhí)行步驟407。如果測試不通過,則可以執(zhí)行步驟408。
步驟407,若測試通過,確定鏡像文件為目標(biāo)鏡像文件。
在本實施例中,若測試通過,上述電子設(shè)備可以將鏡像文件確定為目標(biāo)鏡像文件。此外,電子設(shè)備可以對目標(biāo)鏡像文件的使用情況進行監(jiān)測,并定期清理那些在預(yù)設(shè)時間區(qū)間內(nèi)未被使用過的目標(biāo)鏡像文件,以保證具有足夠的存儲空間來生成鏡像文件。
步驟408,若測試不通過,獲取修改后的與配置信息匹配的定制文件。
在本實施例中,若測試不通過,上述電子設(shè)備可以實時或定時從定制文件集合中,再次選取出與配置信息匹配的定制文件。并將再次選取的定制文件與此前選取的定制文件進行比較。若存在差異,確定再次選取的定制文件為修改后的與配置信息匹配的定制文件。
步驟409,基于修改后的與配置信息匹配的定制文件更新待生成鏡像的文件,生成鏡像文件。
在本實施例中,步驟409的具體內(nèi)容可以參見步驟405,此處不再贅述。
在本實施例的一些可選的實現(xiàn)方式中,步驟409可以進一步通過以下步驟實現(xiàn):
根據(jù)修改后的與配置信息匹配的定制文件更新鏡像定制文件;
基于更新后的鏡像定制文件更新待生成鏡像的文件,生成鏡像文件;
清除虛擬主機上的歷史記錄信息。
需要說明的是,在一些應(yīng)用場景中,可以利用Git倉庫管理技術(shù)對鏡像定制文件進行更新。作為示例,通過“git init”命令創(chuàng)建一個倉庫;當(dāng)上述電子設(shè)備獲取到修改后的與配置信息匹配的定制文件時,可以通過“git status”命令查看并發(fā)現(xiàn)匹配的定制文件有更新;然后使用“git add.”命令將該定制文件放入倉庫的暫存區(qū);再通過“git commit-m”命令將暫存區(qū)的該定制文件放入倉庫中(即更新后的鏡像定制文件)。這樣便于更新的追溯管理。
從圖4中可以看出,與圖2對應(yīng)的實施例相比,本實施例中的用于生成鏡像文件的方法的流程400突出了對鏡像文件進行測試的步驟。由此,本實施例描述的方案可以引入更多的測試內(nèi)容,從而實現(xiàn)更完善的鏡像文件的生成過程和更有效的鏡像文件。
進一步參見圖5,作為對上述各圖所示方法的實現(xiàn),本申請?zhí)峁┝艘环N用于生成鏡像文件的裝置的一個實施例,該裝置實施例與圖2所示的方法實施例相對應(yīng),該裝置具體可以應(yīng)用于各種電子設(shè)備中。
如圖5所示,本實施例的用于生成鏡像文件的裝置500包括:第一獲取單元501、第二獲取單元502、安裝單元503、選取單元504和生成單元505。其中,第一獲取單元501配置用于獲取生成鏡像文件的需求信息,其中,需求信息包括待生成鏡像的文件的標(biāo)識信息以及與待生成鏡像的文件對應(yīng)的配置信息;第二獲取單元502配置用于根據(jù)標(biāo)識信息,獲取待生成鏡像的文件的安裝文件;安裝單元503配置用于在預(yù)先創(chuàng)建的虛擬主機上安裝該安裝文件以生成待生成鏡像的文件;選取單元504配置用于從預(yù)先存儲的定制文件集合中選取出與配置信息匹配的定制文件,其中,定制文件中包含修改文件內(nèi)容所需的數(shù)據(jù);生成單元505配置用于基于與配置信息匹配的定制文件更新待生成鏡像的文件,生成鏡像文件。
在本實施例的一些可選的實現(xiàn)方式中,生成單元505進一步配置用于:將與配置信息匹配的定制文件復(fù)制到虛擬主機上,生成鏡像定制文件;基于鏡像定制文件更新待生成鏡像的文件,生成鏡像文件;清除虛擬主機上的歷史記錄信息。
在本實施例的一些可選的實現(xiàn)方式中,上述裝置還包括測試單元,配置用于對鏡像文件進行測試,若測試通過,確定鏡像文件為目標(biāo)鏡像文件。
在本實施例的一些可選的實現(xiàn)方式中,選取單元504還配置用于若測試不通過,獲取修改后的與配置信息匹配的定制文件;生成單元505還配置用于基于修改后的與配置信息匹配的定制文件更新待生成鏡像的文件,生成鏡像文件。
在本實施例的一些可選的實現(xiàn)方式中,生成單元505進一步配置用于:根據(jù)修改后的與配置信息匹配的定制文件更新鏡像定制文件;基于更新后的鏡像定制文件更新待生成鏡像的文件,生成鏡像文件;清除虛擬主機上的歷史記錄信息。
在本實施例的一些可選的實現(xiàn)方式中,安裝文件包括待生成鏡像的文件的安裝包以及與安裝包對應(yīng)的應(yīng)答文件,其中,應(yīng)答文件中包括安裝該安裝包所需的設(shè)置參數(shù)。
在本實施例的一些可選的實現(xiàn)方式中,安裝單元503進一步配置用于:基于應(yīng)答文件,在預(yù)先創(chuàng)建的虛擬主機上安裝該安裝包,以生成待生成鏡像的文件。
在本實施例的一些可選的實現(xiàn)方式中,定制文件包括以下至少一種:腳本程序、二進制程序、應(yīng)用軟件的安裝文件以及包含安裝應(yīng)用軟件所需數(shù)據(jù)的輔助文件。
下面參見圖6,其示出了適于用來實現(xiàn)本申請實施例的服務(wù)器的計算機系統(tǒng)600的結(jié)構(gòu)示意圖。圖6示出的服務(wù)器僅僅是一個示例,不應(yīng)對本申請實施例的功能和使用范圍帶來任何限制。
如圖6所示,計算機系統(tǒng)600包括中央處理單元(CPU)601,其可以根據(jù)存儲在只讀存儲器(ROM)602中的程序或者從存儲部分608加載到隨機訪問存儲器(RAM)603中的程序而執(zhí)行各種適當(dāng)?shù)膭幼骱吞幚?。在RAM 603中,還存儲有系統(tǒng)600操作所需的各種程序和數(shù)據(jù)。CPU 601、ROM 602以及RAM 603通過總線604彼此相連。輸入/輸出(I/O)接口605也連接至總線604。
以下部件連接至I/O接口605:包括鍵盤、鼠標(biāo)等的輸入部分606;包括諸如陰極射線管(CRT)、液晶顯示器(LCD)等以及揚聲器等的輸出部分607;包括硬盤等的存儲部分608;以及包括諸如LAN卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分609。通信部分609經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動器610也根據(jù)需要連接至I/O接口605??刹鹦督橘|(zhì)611,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲器等等,根據(jù)需要安裝在驅(qū)動器610上,以便于從其上讀出的計算機程序根據(jù)需要被安裝入存儲部分608。
特別地,根據(jù)本公開的實施例,上文參考流程圖描述的過程可以被實現(xiàn)為計算機軟件程序。例如,本公開的實施例包括一種計算機程序產(chǎn)品,其包括承載在計算機可讀介質(zhì)上的計算機程序,該計算機程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實施例中,該計算機程序可以通過通信部分609從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)611被安裝。在該計算機程序被中央處理單元(CPU)601執(zhí)行時,執(zhí)行本申請的方法中限定的上述功能。需要說明的是,本申請上述的計算機可讀介質(zhì)可以是計算機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)或者是上述兩者的任意組合。計算機可讀存儲介質(zhì)例如可以是(但不限于)電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算機可讀存儲介質(zhì)的更具體的例子可以包括但不限于:具有一個或多個導(dǎo)線的電連接、便攜式計算機磁盤、硬盤、隨機訪問存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPROM或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本申請中,計算機可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。而在本申請中,計算機可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計算機可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質(zhì)還可以是計算機可讀存儲介質(zhì)以外的任何計算機可讀介質(zhì),該計算機可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。計算機可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括但不限于:無線、電線、光纜、RF等等,或者上述的任意合適的組合。
附圖中的流程圖和框圖,圖示了按照本申請各種實施例的裝置、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系架構(gòu)、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,該模塊、程序段、或代碼的一部分包含一個或多個用于實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時也可以按相反的順序執(zhí)行,這依據(jù)所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實現(xiàn),或者可以用專用硬件與計算機指令的組合來實現(xiàn)。
描述于本申請實施例中所涉及到的單元可以通過軟件的方式實現(xiàn),也可以通過硬件的方式來實現(xiàn)。所描述的單元也可以設(shè)置在處理器中,例如,可以描述為:一種處理器包括第一獲取單元、第二獲取單元、安裝單元、選取單元和生成單元。其中,這些單元的名稱在某種情況下并不構(gòu)成對該單元本身的限定,例如,第一獲取單元還可以被描述為“獲取生成鏡像文件的需求信息的單元”。
作為另一方面,本申請還提供了一種計算機可讀介質(zhì),該計算機可讀介質(zhì)可以是上述實施例中描述的服務(wù)器中所包含的;也可以是單獨存在,而未裝配入該服務(wù)器中。上述計算機可讀介質(zhì)承載有一個或者多個程序,當(dāng)上述一個或者多個程序被該服務(wù)器執(zhí)行時,使得該服務(wù)器:獲取生成鏡像文件的需求信息,其中,需求信息包括待生成鏡像的文件的標(biāo)識信息以及與待生成鏡像的文件對應(yīng)的配置信息;根據(jù)標(biāo)識信息,獲取待生成鏡像的文件的安裝文件;在預(yù)先創(chuàng)建的虛擬主機上安裝該安裝文件以生成待生成鏡像的文件;從預(yù)先存儲的定制文件集合中選取出與配置信息匹配的定制文件,其中,定制文件中包含修改文件內(nèi)容所需的數(shù)據(jù);基于與配置信息匹配的定制文件更新待生成鏡像的文件,生成鏡像文件。
以上描述僅為本申請的較佳實施例以及對所運用技術(shù)原理的說明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本申請中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時也應(yīng)涵蓋在不脫離上述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請中公開的(但不限于)具有類似功能的技術(shù)特征進行互相替換而形成的技術(shù)方案。