本發(fā)明實(shí)施例涉及虛擬機(jī)技術(shù),尤其涉及一種虛擬機(jī)批量創(chuàng)建方法及裝置。
背景技術(shù):
:云計(jì)算是一種服務(wù)的交付和消費(fèi)模式。云服務(wù)供應(yīng)商(CloudServiceProvider,簡(jiǎn)稱:CSP)將大量計(jì)算資源用網(wǎng)絡(luò)連接起來(lái)并進(jìn)行統(tǒng)一的管理、分配和調(diào)度,構(gòu)成一個(gè)巨大的計(jì)算資源池向用戶提供服務(wù),其中,云計(jì)算資源包括網(wǎng)絡(luò),服務(wù)器,存儲(chǔ),應(yīng)用軟件以及服務(wù)等;提供資源的網(wǎng)絡(luò)即稱為“云”。對(duì)用戶而言,云計(jì)算資源可無(wú)限擴(kuò)展,具有按需索取、按使用付費(fèi)等高效靈活的特點(diǎn)。一般來(lái)說(shuō),云服務(wù)大致可分為三個(gè)層次:即基礎(chǔ)設(shè)施即服務(wù)(Infrastructureasaservice,簡(jiǎn)稱:IaaS,也稱為I層)、平臺(tái)即服務(wù)(Platformasaservice,簡(jiǎn)稱:PaaS,也稱為P層)和軟件即服務(wù)(Softwareasaservice,簡(jiǎn)稱:SaaS,也稱為S層)。目前,業(yè)界最多的為I層供應(yīng)商,如亞馬遜網(wǎng)絡(luò)服務(wù)(AmazonWebServices,簡(jiǎn)稱:AWS)平臺(tái)。I層主要為用戶提供計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)傳輸?shù)然A(chǔ)設(shè)施能力。CSP通常以虛擬機(jī)的方式為用戶提供I層服務(wù)。在實(shí)際的應(yīng)用中,需要批量創(chuàng)建一組類似的虛擬機(jī),如網(wǎng)絡(luò)(Web)服務(wù)器采用集群的方式創(chuàng)建多個(gè)實(shí)例。這些虛擬機(jī)上的操作系統(tǒng)、軟件等相同或者類似。通常在啟動(dòng)虛擬機(jī)之后,用戶還希望能夠自動(dòng)執(zhí)行一些指令,比如聯(lián)網(wǎng)下載軟件安裝,配置環(huán)境變量、程序設(shè)置,注冊(cè)到負(fù)載均衡服務(wù)器,連接到數(shù)據(jù)庫(kù)等指令。這些指令通常以腳本的形式存在,虛擬機(jī)啟動(dòng)操作系統(tǒng)之后自動(dòng)執(zhí)行腳本內(nèi)的指令。一種比較通用的虛擬機(jī)批量創(chuàng)建方法是單獨(dú)創(chuàng)建每一臺(tái)虛擬機(jī),加載模板中指定的鏡像啟動(dòng)虛擬機(jī);每臺(tái)虛擬機(jī)啟動(dòng)之后下載用戶數(shù)據(jù)(UserData) 腳本并執(zhí)行UserData腳本內(nèi)的指令。當(dāng)模板中虛擬機(jī)組的某些屬性更新時(shí),整個(gè)虛擬機(jī)組需要重新創(chuàng)建。為此,需要重新創(chuàng)建每一臺(tái)虛擬機(jī)并再次執(zhí)行所有UserData腳本內(nèi)的指令。上述虛擬機(jī)批量創(chuàng)建方法不僅耗時(shí),而且多臺(tái)虛擬機(jī)下載對(duì)云平臺(tái)的系統(tǒng)帶寬資源占用也較高,批量創(chuàng)建時(shí)效率較低。另外,當(dāng)彈性虛擬機(jī)組在后續(xù)運(yùn)行過(guò)程中需要新建虛擬機(jī)時(shí),新建的虛擬機(jī)仍然需要重新完整執(zhí)行所有UserData腳本內(nèi)的指令,彈性擴(kuò)展效率低。技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例提供一種虛擬機(jī)批量創(chuàng)建方法及裝置,以解決現(xiàn)有技術(shù)中虛擬機(jī)批量創(chuàng)建方法效率低及彈性擴(kuò)展效率差的問(wèn)題。第一方面,本發(fā)明實(shí)施例提供一種虛擬機(jī)批量創(chuàng)建方法,包括:云平臺(tái)接收用于創(chuàng)建虛擬機(jī)的指令,所述指令包括要?jiǎng)?chuàng)建的所述虛擬機(jī)所采用的虛擬機(jī)組模板;所述云平臺(tái)解析所述虛擬機(jī)組模板,獲取虛擬機(jī)組的屬性信息,所述屬性信息包括所述虛擬機(jī)組的標(biāo)識(shí)信息、創(chuàng)建所述虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置、所述虛擬機(jī)組的容量M和要加載的初始鏡像、公共腳本及差異腳本,所述公共腳本為在所述虛擬機(jī)組內(nèi)所有虛擬機(jī)上執(zhí)行效果相同的腳本,所述差異腳本為在所述虛擬機(jī)組內(nèi)所有虛擬機(jī)上執(zhí)行效果不同或必須在所述虛擬機(jī)上運(yùn)行才可以達(dá)到效果的腳本,所述M為自然數(shù);若在所述虛擬機(jī)組模板中,所述云平臺(tái)查詢到所述虛擬機(jī)組的標(biāo)識(shí)信息對(duì)應(yīng)的中間鏡像,根據(jù)所述虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置,創(chuàng)建M臺(tái)第一虛擬機(jī),所述中間鏡像通過(guò)為所述第一虛擬機(jī)加載所述初始鏡像后執(zhí)行所述公共腳本得到;所述云平臺(tái)為每一臺(tái)所述第一虛擬機(jī)加載所述中間鏡像,得到M臺(tái)第二虛擬機(jī);所述云平臺(tái)控制每一臺(tái)所述第二虛擬機(jī)執(zhí)行所述差異腳本,獲得M臺(tái)所述虛擬機(jī)。根據(jù)第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述方法還包括:若在所述虛擬機(jī)組模板中,所述云平臺(tái)未查詢到所述虛擬機(jī)組的標(biāo)識(shí)信息對(duì)應(yīng)的所述中間鏡像,則根據(jù)所述虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置,創(chuàng)建一臺(tái)所述第一虛擬機(jī);所述云平臺(tái)為所述第一虛擬機(jī)加載所述初始鏡像,得到第三虛擬機(jī);所述云平臺(tái)控制所述第三虛擬機(jī)執(zhí)行所述公共腳本,得到一臺(tái)所述第二虛擬機(jī),并為所述第二虛擬機(jī)創(chuàng)建鏡像,將所述鏡像作為所述中間鏡像保存至所述虛擬機(jī)組模板中;所述云平臺(tái)根據(jù)所述虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置,創(chuàng)建M-1臺(tái)所述第一虛擬機(jī),所述M為大于1的正整數(shù);所述云平臺(tái)為所述M-1臺(tái)第一虛擬機(jī)加載所述中間鏡像,得到M-1臺(tái)所述第二虛擬機(jī);所述云平臺(tái)控制每一臺(tái)所述第二虛擬機(jī)執(zhí)行所述差異腳本,獲得M臺(tái)所述虛擬機(jī)。根據(jù)第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述云平臺(tái)控制所述第三虛擬機(jī)執(zhí)行所述公共腳本之前,所述方法還包括:所述云平臺(tái)發(fā)送第一地址給所述第三虛擬機(jī),所述第一地址為所述公共腳本在所述云平臺(tái)的存儲(chǔ)位置。根據(jù)第一方面的第一種或第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述云平臺(tái)控制所述第三虛擬機(jī)執(zhí)行所述公共腳本,得到一臺(tái)所述第二虛擬機(jī)之后,所述方法還包括:所述云平臺(tái)接收所述第二虛擬機(jī)發(fā)送的第一響應(yīng),所述第一響應(yīng)用于指示已完成所述公共腳本的執(zhí)行。根據(jù)第一方面、第一方面的第一種至第三種可能的實(shí)現(xiàn)方式中任意一種,在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述云平臺(tái)控制所述第二虛擬機(jī)執(zhí)行所述差異腳本之前,所述方法還包括:所述云平臺(tái)發(fā)送第二地址給所述第二虛擬機(jī),所述第二地址為所述差異腳本在所述云平臺(tái)的存儲(chǔ)位置。根據(jù)第一方面、第一方面的第一種至第四種可能的實(shí)現(xiàn)方式中任意一種,在第一方面的第五種可能的實(shí)現(xiàn)方式中,所述云平臺(tái)控制所述第二虛擬機(jī)執(zhí) 行所述差異腳本,獲得M臺(tái)所述虛擬機(jī)之后,所述方法還包括:所述云平臺(tái)接收所述虛擬機(jī)發(fā)送的第二響應(yīng),所述第二響應(yīng)用于指示已完成所述差異腳本的執(zhí)行。第二方面,本發(fā)明實(shí)施例提供一種虛擬機(jī)批量創(chuàng)建方法,包括:云平臺(tái)接收用于創(chuàng)建虛擬機(jī)的指令,所述指令包括要?jiǎng)?chuàng)建的所述虛擬機(jī)所采用的虛擬機(jī)組模板的標(biāo)識(shí)信息和要?jiǎng)?chuàng)建的所述虛擬機(jī)的數(shù)量N,所述N為自然數(shù);所述云平臺(tái)根據(jù)所述虛擬機(jī)組模板的標(biāo)識(shí)信息,獲取虛擬機(jī)組的屬性信息,所述屬性信息包括創(chuàng)建所述虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置和要加載的中間鏡像及差異腳本,所述中間鏡像為對(duì)根據(jù)所述硬件配置創(chuàng)建的第一虛擬機(jī)加載所述初始鏡像后執(zhí)行公共腳本得到,所述公共腳本為在所述虛擬機(jī)組內(nèi)所有虛擬機(jī)上執(zhí)行效果相同的腳本,所述差異腳本為在所述虛擬機(jī)組內(nèi)所有虛擬機(jī)上執(zhí)行效果不同或必須在所述虛擬機(jī)上運(yùn)行才可以達(dá)到效果的腳本;所述云平臺(tái)根據(jù)所述虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置,創(chuàng)建N臺(tái)所述第一虛擬機(jī);所述云平臺(tái)為每一臺(tái)所述第一虛擬機(jī)加載所述中間鏡像,得到N臺(tái)第二虛擬機(jī);所述云平臺(tái)控制每一臺(tái)所述第二虛擬機(jī)執(zhí)行所述差異腳本,獲得N臺(tái)所述虛擬機(jī)。根據(jù)第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述云平臺(tái)控制所述第二虛擬機(jī)執(zhí)行所述差異腳本之前,所述方法還包括:所述云平臺(tái)發(fā)送地址給所述第二虛擬機(jī),所述地址為所述差異腳本在所述云平臺(tái)的存儲(chǔ)位置。根據(jù)第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述云平臺(tái)控制所述第二虛擬機(jī)執(zhí)行所述差異腳本,獲得N臺(tái)所述虛擬機(jī)之后,所述方法還包括:所述云平臺(tái)接收所述虛擬機(jī)發(fā)送的響應(yīng),所述響應(yīng)用于指示已完成所述差異腳本的執(zhí)行。第三方面,本發(fā)明實(shí)施例提供一種虛擬機(jī)批量創(chuàng)建裝置,包括:資源部署模塊,用于接收用于創(chuàng)建虛擬機(jī)的指令,所述指令包括要?jiǎng)?chuàng)建的所述虛擬機(jī)所采用的虛擬機(jī)組模板;解析所述虛擬機(jī)組模板,獲取虛擬機(jī)組的屬性信息,所述屬性信息包括所述虛擬機(jī)組的標(biāo)識(shí)信息、創(chuàng)建所述虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置、所述虛擬機(jī)組的容量M和要加載的初始鏡像、公共腳本及差異腳本,所述公共腳本為在所述虛擬機(jī)組內(nèi)所有虛擬機(jī)上執(zhí)行效果相同的腳本,所述差異腳本為在所述虛擬機(jī)組內(nèi)所有虛擬機(jī)上執(zhí)行效果不同或必須在所述虛擬機(jī)上運(yùn)行才可以達(dá)到效果的腳本,所述M為自然數(shù);向虛擬機(jī)管理模塊發(fā)送創(chuàng)建所述虛擬機(jī)的第一請(qǐng)求,所述第一請(qǐng)求攜帶所述虛擬機(jī)組的屬性信息;所述虛擬機(jī)管理模塊,用于接收所述第一請(qǐng)求;若在所述虛擬機(jī)組模板中,查詢到所述虛擬機(jī)組的標(biāo)識(shí)信息對(duì)應(yīng)的中間鏡像,根據(jù)所述虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置,創(chuàng)建M臺(tái)第一虛擬機(jī),所述中間鏡像通過(guò)為所述第一虛擬機(jī)加載所述初始鏡像后執(zhí)行所述公共腳本得到;為每一臺(tái)所述第一虛擬機(jī)加載所述中間鏡像,得到M臺(tái)第二虛擬機(jī);控制每一臺(tái)所述第二虛擬機(jī)執(zhí)行所述差異腳本,獲得M臺(tái)所述虛擬機(jī)。根據(jù)第三方面,在第三方面的第一種可能的實(shí)現(xiàn)方式中,所述虛擬機(jī)管理模塊還用于:若在所述虛擬機(jī)組模板中,未查詢到所述虛擬機(jī)組的標(biāo)識(shí)信息對(duì)應(yīng)的所述中間鏡像,則根據(jù)所述虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置,創(chuàng)建一臺(tái)所述第一虛擬機(jī);為所述第一虛擬機(jī)加載所述初始鏡像,得到第三虛擬機(jī);控制所述第三虛擬機(jī)執(zhí)行所述公共腳本,得到一臺(tái)所述第二虛擬機(jī),并為所述第二虛擬機(jī)創(chuàng)建鏡像,將所述鏡像作為所述中間鏡像保存至所述虛擬機(jī)組模板中;根據(jù)所述虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置,創(chuàng)建M-1臺(tái)所述第一虛擬機(jī),所述M為大于1的正整數(shù);為所述M-1臺(tái)第一虛擬機(jī)加載所述中間鏡像,得到M-1臺(tái)所述第二虛擬機(jī);控制每一臺(tái)所述第二虛擬機(jī)執(zhí)行所述差異腳本,獲得M臺(tái)所述虛擬機(jī)。根據(jù)第三方面或第三方面的第一種可能的實(shí)現(xiàn)方式,在第三方面的第二種可能的實(shí)現(xiàn)方式中,所述裝置還包括鏡像管理模塊,用于管理所述初始鏡像和所述中間鏡像。根據(jù)第三方面、第三方面的第一種至第二種可能的實(shí)現(xiàn)方式中任意一種, 在第三方面的第三種可能的實(shí)現(xiàn)方式中,所述裝置還包括腳本管理模塊,用于管理所述公共腳本和所述差異腳本。根據(jù)第三方面的第一種至第三種可能的實(shí)現(xiàn)方式中任意一種,在第三方面的第四種可能的實(shí)現(xiàn)方式中,所述虛擬機(jī)管理模塊還用于:發(fā)送第一地址給所述第三虛擬機(jī),所述第一地址為所述公共腳本在所述虛擬機(jī)批量創(chuàng)建裝置的存儲(chǔ)位置;和/或,發(fā)送第二地址給所述第二虛擬機(jī),所述第二地址為所述差異腳本在所述虛擬機(jī)批量創(chuàng)建裝置的存儲(chǔ)位置;和/或,接收所述第二虛擬機(jī)發(fā)送的第一響應(yīng),所述第一響應(yīng)用于指示已完成所述公共腳本的執(zhí)行;和/或,接收所述虛擬機(jī)發(fā)送的第二響應(yīng),所述第二響應(yīng)用于指示已完成所述差異腳本的執(zhí)行。第四方面,本發(fā)明實(shí)施例提供一種虛擬機(jī)批量創(chuàng)建裝置,包括:資源管理模塊,用于接收用于創(chuàng)建虛擬機(jī)的指令,所述指令包括要?jiǎng)?chuàng)建的所述虛擬機(jī)所采用的虛擬機(jī)組模板的標(biāo)識(shí)信息和要?jiǎng)?chuàng)建的所述虛擬機(jī)的數(shù)量N,所述N為自然數(shù);根據(jù)所述虛擬機(jī)組模板的標(biāo)識(shí)信息,獲取虛擬機(jī)組的屬性信息,所述屬性信息包括創(chuàng)建所述虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置和要加載的中間鏡像及差異腳本,所述中間鏡像為對(duì)根據(jù)所述硬件配置創(chuàng)建的第一虛擬機(jī)加載所述初始鏡像后執(zhí)行公共腳本得到,所述公共腳本為在所述虛擬機(jī)組內(nèi)所有虛擬機(jī)上執(zhí)行效果相同的腳本,所述差異腳本為在所述虛擬機(jī)組內(nèi)所有虛擬機(jī)上執(zhí)行效果不同或必須在所述虛擬機(jī)上運(yùn)行才可以達(dá)到效果的腳本;向虛擬機(jī)管理模塊發(fā)送創(chuàng)建所述虛擬機(jī)的第一請(qǐng)求,所述第一請(qǐng)求攜帶所述虛擬機(jī)組的屬性信息;所述虛擬機(jī)管理模塊,用于接收所述第一請(qǐng)求;根據(jù)所述虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置,創(chuàng)建N臺(tái)所述第一虛擬機(jī);為每一臺(tái)所述第一虛擬機(jī)加載所述中間鏡像,得到N臺(tái)第二虛擬機(jī);控制每一臺(tái)所述第二虛擬機(jī)執(zhí)行所述差異腳本,獲得N臺(tái)所述虛擬機(jī)。根據(jù)第四方面,在第四方面的第一種可能的實(shí)現(xiàn)方式中,所述裝置還包括鏡像管理模塊,用于管理所述初始鏡像和所述中間鏡像。根據(jù)第四方面或第四方面的第一種可能的實(shí)現(xiàn)方式,在第四方面的第二 種可能的實(shí)現(xiàn)方式中,所述裝置還包括腳本管理模塊,用于管理所述公共腳本和所述差異腳本。根據(jù)第四方面的第一種可能的實(shí)現(xiàn)方式,在第四方面的第三種可能的實(shí)現(xiàn)方式中,所述虛擬機(jī)管理模塊,還用于發(fā)送獲取所述初始鏡像的第二請(qǐng)求給所述鏡像管理模塊;所述鏡像管理模塊,還用于接收所述第二請(qǐng)求;反饋所述初始鏡像的地址給所述虛擬機(jī)管理模塊。根據(jù)第四方面、第四方面的第一種至第三種可能的實(shí)現(xiàn)方式中任意一種,在第四方面的第四種可能的實(shí)現(xiàn)方式中,所述虛擬機(jī)管理模塊還用于:發(fā)送地址給所述第二虛擬機(jī),所述地址為所述差異腳本在所述虛擬機(jī)批量創(chuàng)建裝置的存儲(chǔ)位置;和/或,接收所述虛擬機(jī)發(fā)送的響應(yīng),所述響應(yīng)用于指示已完成所述差異腳本的執(zhí)行。本發(fā)明實(shí)施例虛擬機(jī)批量創(chuàng)建方法及裝置,在批量創(chuàng)建虛擬機(jī)時(shí)可不用再執(zhí)行或不重復(fù)執(zhí)行公共腳本,加快虛擬機(jī)的創(chuàng)建速度,從而提高批量創(chuàng)建虛擬機(jī)的效率,且所述虛擬機(jī)組容量的彈性擴(kuò)展效率高。附圖說(shuō)明為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖做一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明應(yīng)用場(chǎng)景的示例圖;圖2為本發(fā)明虛擬機(jī)批量創(chuàng)建方法實(shí)施例一的流程圖;圖3為本發(fā)明虛擬機(jī)批量創(chuàng)建方法實(shí)施例二的流程圖;圖4為本發(fā)明虛擬機(jī)批量創(chuàng)建方法實(shí)施例三的流程圖;圖5為本發(fā)明虛擬機(jī)批量創(chuàng)建裝置實(shí)施例一的結(jié)構(gòu)示意圖;圖6為本發(fā)明虛擬機(jī)批量創(chuàng)建裝置實(shí)施例二的結(jié)構(gòu)示意圖。具體實(shí)施方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā) 明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。為了用戶更方便地使用I層云計(jì)算資源,云服務(wù)通常還會(huì)提供基礎(chǔ)設(shè)施的自動(dòng)部署服務(wù),如AWS提供了CloudFormation服務(wù)幫助用戶自動(dòng)部署和管理云計(jì)算資源,最流行的開(kāi)源云計(jì)算平臺(tái)OpenStack提供Heat項(xiàng)目來(lái)完成云計(jì)算資源部署功能。這些自動(dòng)部署服務(wù)通常是事先定義一系列的模板規(guī)范,用戶根據(jù)需要編寫自定義的模板文件提供給云計(jì)算平臺(tái)(以下簡(jiǎn)稱“云平臺(tái)”)去自動(dòng)部署云計(jì)算資源。為了描述這種部署,OpenStack提供了幾種相關(guān)的模板:InstanceGroup:數(shù)量固定的虛擬機(jī)組。AutoScalingGroup:可根據(jù)一定的策略數(shù)量動(dòng)態(tài)增減的彈性虛擬機(jī)組。這一資源應(yīng)用比較廣泛,創(chuàng)建指定數(shù)量的虛擬機(jī)后,云平臺(tái)可以監(jiān)控虛擬機(jī)的狀態(tài),如果某臺(tái)虛擬機(jī)掛起,系統(tǒng)可以自動(dòng)重新建立一臺(tái)虛擬機(jī)保證虛擬機(jī)組的數(shù)量。另外,還可以根據(jù)一定的策略增減虛擬機(jī)的數(shù)量。比如監(jiān)控虛擬機(jī)組的負(fù)載情況,如果負(fù)載過(guò)高,可以自動(dòng)新建虛擬機(jī)增加虛擬機(jī)組的數(shù)量以提高虛擬機(jī)組整體的處理能力。LaunchConfiguration:主要描述上述虛擬機(jī)組中單臺(tái)虛擬機(jī)的硬件配置、初始鏡像、開(kāi)機(jī)執(zhí)行的腳本等信息。如下是一個(gè)簡(jiǎn)化的模板例子(部分無(wú)關(guān)內(nèi)容省略):在該模板例子中,WebServerGroup表示一個(gè)AutoScalingGroup資源,Type表明云計(jì)算資源的類型,Properties字段指定云計(jì)算資源的相關(guān)屬性。其中,LaunchConfigrationName字段指定了虛擬機(jī)組按照名為L(zhǎng)aunchConfig的LaunchConfigration資源描述來(lái)創(chuàng)建該虛擬機(jī)組內(nèi)的虛擬機(jī);Desired_capaciy描述初始創(chuàng)建的虛擬機(jī)數(shù)量;MaxSize和MinSize是虛擬機(jī)組數(shù)量的最大最小值,用于限制虛擬機(jī)組內(nèi)虛擬機(jī)數(shù)量的變化。其中LaunchConfig具體描述了WebServerGroup的虛擬機(jī)組中單臺(tái)虛擬機(jī)硬件配置、初始鏡像、開(kāi)機(jī)腳本等屬性信息。具體地,ImageId為虛擬機(jī)啟動(dòng)時(shí)加載的初始鏡像,InstanceType為虛擬機(jī)的硬件配置類型,UserData為虛擬機(jī)啟動(dòng)之后需要自動(dòng)執(zhí)行的腳本命令。虛擬機(jī)組中所有的虛擬機(jī)啟動(dòng)之后都需要執(zhí)行UserData中的腳本命令。其中,硬件配置包括虛擬機(jī)的中央處理器(CentralProcessingUnit,簡(jiǎn)稱:CPU)核數(shù)、內(nèi)存大小、存儲(chǔ)容量等虛擬機(jī)信息,云平臺(tái)可根據(jù)這些信息申請(qǐng)?zhí)摂M硬件資源來(lái)創(chuàng)建虛擬機(jī)。另外,虛擬機(jī)的快照技術(shù)是一種基于時(shí)間點(diǎn)的數(shù)據(jù)拷貝技術(shù)??煺盏哪康脑谟谀軌蛴涗浱摂M機(jī)在某一個(gè)時(shí)刻的數(shù)據(jù)信息并將其保存??煺占夹g(shù)分為兩類:物理拷貝和邏輯拷貝,物理拷貝就是對(duì)虛擬機(jī)的原始數(shù)據(jù)的完全拷貝;邏輯拷貝就是只針對(duì)發(fā)生過(guò)改變的數(shù)據(jù)進(jìn)行拷貝,邏輯拷貝需要配合原虛擬機(jī)的數(shù)據(jù)進(jìn)行使用。物理拷貝快照和鏡像的工作方式是一樣的,都是將某個(gè)目標(biāo)數(shù)據(jù)源的內(nèi) 容完整的拷貝到另外的地方,但是快照是在某個(gè)時(shí)刻點(diǎn)的拷貝,過(guò)后目標(biāo)數(shù)據(jù)的變化將不再被記錄,而鏡像是時(shí)時(shí)刻刻都要保證目標(biāo)數(shù)據(jù)和拷貝數(shù)據(jù)的一致性。但在描述虛擬機(jī)的初始鏡像時(shí),初始鏡像是靜態(tài)保存的操作系統(tǒng)鏡像,并不是動(dòng)態(tài)更新的,初始鏡像只是業(yè)界的通常說(shuō)法,可以與物理拷貝快照概念混用,均指某一時(shí)間點(diǎn)的數(shù)據(jù)完全拷貝。本發(fā)明后續(xù)所述的鏡像與快照技術(shù)均指物理拷貝快照技術(shù)?,F(xiàn)有技術(shù)在批量部署虛擬機(jī)時(shí),每臺(tái)虛擬機(jī)啟動(dòng)之后需要執(zhí)行一系列腳本命令,如下載安裝軟件、配置環(huán)境、連接數(shù)據(jù)庫(kù)等操作。其中有些操作如下載安裝軟件,耗時(shí)較長(zhǎng),在每臺(tái)虛擬機(jī)上都執(zhí)行的話,批量部署時(shí)效率較低。需注意的是,虛擬機(jī)開(kāi)機(jī)后要執(zhí)行的腳本命令可以分為兩類:一類是在所有虛擬機(jī)上執(zhí)行效果相同的命令,如下載安裝軟件、配置相同的環(huán)境變量等,這些腳本可以稱為公共腳本;另一類是在不同的虛擬機(jī)上執(zhí)行效果不同或者必須在虛擬機(jī)上運(yùn)行一次才能達(dá)到效果的腳本,如將本機(jī)IP及ID等信息注冊(cè)到負(fù)載均衡服務(wù)器(LoadBalancer),連接到數(shù)據(jù)庫(kù)等,這些腳本可以稱為差異腳本。其中,負(fù)載均衡服務(wù)器負(fù)責(zé)把用戶的請(qǐng)求分配到具體的網(wǎng)絡(luò)服務(wù)器上進(jìn)行處理,網(wǎng)絡(luò)服務(wù)器在啟動(dòng)后通常會(huì)在負(fù)載均衡服務(wù)器注冊(cè),通知負(fù)載均衡服務(wù)器其自身已經(jīng)可以接受請(qǐng)求。在實(shí)際應(yīng)用中,當(dāng)虛擬機(jī)組需要重建時(shí),虛擬機(jī)組可能只改變了虛擬機(jī)硬件配置等屬性,而公共腳本并未變化,重復(fù)執(zhí)行公共腳本的話,重建效率低?;谏鲜?,本發(fā)明實(shí)施例提供一種虛擬機(jī)批量創(chuàng)建方法及裝置。首先,接收批量部署虛擬機(jī)的指令,解析指令中的虛擬機(jī)組模板,獲取初始鏡像、硬件配置、公共腳本和差異腳本;其次,創(chuàng)建一臺(tái)第一虛擬機(jī),為第一虛擬機(jī)加載初始鏡像,執(zhí)行公共腳本,得到第三虛擬機(jī);再次,為第三虛擬機(jī)創(chuàng)建快照,并保存為中間鏡像;然后,創(chuàng)建剩余的虛擬機(jī),加載中間鏡像得到第二虛擬機(jī),并啟動(dòng)第二虛擬機(jī);最后,所有的第二虛擬機(jī)執(zhí)行差異腳本,完成整個(gè)批量部署過(guò)程。當(dāng)需要重建虛擬機(jī)組時(shí),如果公共腳本沒(méi)有變化,則采用已保存的中間鏡像來(lái)創(chuàng)建虛擬機(jī),每臺(tái)虛擬機(jī)創(chuàng)建成功后執(zhí)行差異腳本。本發(fā)明的實(shí)施例采用OpenStack的Heat模板來(lái)描述虛擬機(jī)的批量創(chuàng)建。如圖1所示,應(yīng)用場(chǎng)景是在OpenStack上批量創(chuàng)建一組初始數(shù)量為4的虛擬機(jī)組(WebServerGroup),每臺(tái)虛擬機(jī)作為一個(gè)網(wǎng)絡(luò)服務(wù)器(WebServer)實(shí)例,分別標(biāo)識(shí)為虛擬機(jī)11、虛擬機(jī)12、虛擬機(jī)13和虛擬機(jī)14;虛擬機(jī)被創(chuàng)建后需要進(jìn)行一些安裝配置工作,故虛擬機(jī)11、虛擬機(jī)12、虛擬機(jī)13和虛擬機(jī)14向負(fù)載均衡服務(wù)器10注冊(cè),并連接到系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)(Database)20。這組虛擬機(jī)在操作系統(tǒng)啟動(dòng)之后具體需要執(zhí)行以下操作:1.下載安裝阿帕奇(Apache)、湯姆貓(Tomcat)、MySql等軟件工具;2.下載網(wǎng)絡(luò)應(yīng)用程序文件(WebArchivefile,簡(jiǎn)稱:War)包;3.獲取后臺(tái)數(shù)據(jù)庫(kù)節(jié)點(diǎn)的網(wǎng)絡(luò)信息(如IP和端口號(hào)等);4.配置環(huán)境變量和Apache、Tomcat、MySql等軟件的配置;5.向負(fù)載均衡服務(wù)器10注冊(cè)WebServer信息;6.連接到指定后臺(tái)數(shù)據(jù)庫(kù)20;7.啟動(dòng)網(wǎng)絡(luò)服務(wù)。需說(shuō)明的是,在如下實(shí)施例中,術(shù)語(yǔ)“第一虛擬機(jī)”、“第二虛擬機(jī)”及“第三虛擬機(jī)”僅用于區(qū)分虛擬機(jī)創(chuàng)建過(guò)程中不同階段得到的結(jié)果。圖2為本發(fā)明虛擬機(jī)批量創(chuàng)建方法實(shí)施例一的流程圖。本發(fā)明實(shí)施例提供一種虛擬機(jī)批量創(chuàng)建方法,該方法可以由任意執(zhí)行虛擬機(jī)批量創(chuàng)建方法的裝置來(lái)執(zhí)行,該裝置可以通過(guò)軟件和/或硬件實(shí)現(xiàn)。本實(shí)施例中,該裝置可以集成在云平臺(tái)中。如圖2所示,該方法包括:S201、云平臺(tái)接收用于創(chuàng)建虛擬機(jī)的指令,該指令包括要?jiǎng)?chuàng)建的虛擬機(jī)所采用的虛擬機(jī)組模板。具體地,當(dāng)云服務(wù)用戶(CloudServiceConsumer,簡(jiǎn)稱:CSC)創(chuàng)建虛擬機(jī)組時(shí),CSC向云平臺(tái)發(fā)送用于為虛擬機(jī)組創(chuàng)建虛擬機(jī)的指令。對(duì)應(yīng)地,云平臺(tái)接收所述指令。對(duì)于所述指令的用途,可以理解為以下含義:用于指示云平臺(tái)首次使用該虛擬機(jī)組模板,批量創(chuàng)建該虛擬機(jī)組對(duì)應(yīng)的虛擬機(jī);或者,云平臺(tái)非首次使用該虛擬機(jī)組模板,為該虛擬機(jī)組新增虛擬機(jī)。對(duì)于虛擬機(jī)組模板,其描述了虛擬機(jī)組的容量,虛擬機(jī)組內(nèi)虛擬機(jī)的硬件配置(InstanceType)、要加載的初始鏡像(ImageId)、開(kāi)機(jī)后要執(zhí)行的公共腳本(BaseData)和差異腳本(UserData)等屬性信息。這里,僅給出虛擬機(jī)組模板中基本的虛擬機(jī)信息,其他信息在此不贅述?,F(xiàn)有的虛擬機(jī)組模板中所有的腳本保存在UserData字段。本實(shí)施例在現(xiàn)有的虛擬機(jī)組模板中增加BaseData字段,用于描述公共腳本;原有的UserData字段用于描述差異腳本。本發(fā)明實(shí)施例的虛擬機(jī)組模板示例如下:該示例中各符號(hào)含義具體可參考上述模板例子,此處不再贅述。在如圖1所示示例對(duì)應(yīng)的說(shuō)明中,虛擬機(jī)在操作系統(tǒng)啟動(dòng)后執(zhí)行的操作1,2,3對(duì)應(yīng)的腳本可以作為公共腳本保存在BaseData字段;操作5,6,7對(duì)應(yīng)的腳本必須要在每臺(tái)虛擬機(jī)上運(yùn)行一次,因此作為差異腳本保存在UserData字段。其中,操作4根據(jù)具體情況,如果各虛擬機(jī)配置完全相同,可作為公共腳本;如果各虛擬機(jī)配置有所差別,可以作為差異腳本,具體劃分可由模板編寫者來(lái)指定,本示例中將操作4對(duì)應(yīng)的腳本按差異腳本對(duì)待。本實(shí)施例創(chuàng)建虛擬機(jī)組時(shí),要?jiǎng)?chuàng)建的虛擬機(jī)數(shù)量為虛擬機(jī)組模板指定的 默認(rèn)數(shù)量4(Desired_capacity)。S202、云平臺(tái)解析虛擬機(jī)組模板,獲取虛擬機(jī)組的屬性信息。其中,屬性信息包括虛擬機(jī)組的標(biāo)識(shí)信息、創(chuàng)建虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置、虛擬機(jī)組的容量M和要加載的初始鏡像、公共腳本及差異腳本,M為自然數(shù)。其中,公共腳本為在虛擬機(jī)組內(nèi)所有虛擬機(jī)上執(zhí)行效果相同的腳本;差異腳本為在虛擬機(jī)組內(nèi)所有虛擬機(jī)上執(zhí)行效果不同或必須在虛擬機(jī)上運(yùn)行才可以達(dá)到效果的腳本??蛇x地,云平臺(tái)保存虛擬機(jī)組模板。其中,云平臺(tái)可通過(guò)多種形式保存虛擬機(jī)組模板,例如云平臺(tái)可通過(guò)如表1所示的形式保存虛擬機(jī)組模板。表1云平臺(tái)保存虛擬機(jī)模板的形式示例本例中硬件配置為m1.large,m1.large為4核8G內(nèi)存80G硬盤空間的虛擬機(jī);初始鏡像為ubuntu-12.04;容量為4;中間鏡像為Webservergroup-intermediate公共腳本和差異腳本的下載地址為\\dataserver\\。需說(shuō)明的是,虛擬機(jī)組模板中可以直接包括各種腳本(公共腳本和/或差異腳本),也可以引用其他腳本文件,還可以是其它形式,只要云平臺(tái)解析時(shí)能獲得最終的公共腳本和/或差異腳本即可。S203、若在虛擬機(jī)組模板中,云平臺(tái)查詢到虛擬機(jī)組的標(biāo)識(shí)信息對(duì)應(yīng)的中間鏡像,根據(jù)虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置,創(chuàng)建M臺(tái)第一虛擬機(jī)。其中,中間鏡像通過(guò)為第一虛擬機(jī)加載初始鏡像后執(zhí)行公共腳本得到。其中,具體的中間鏡像生成技術(shù)可參考快照技術(shù),此處不再贅述。如表1所示,其中,中間鏡像的值不為空(NULL),也就是說(shuō),標(biāo)識(shí)信息為WebServerGroup的虛擬機(jī)組對(duì)應(yīng)中間鏡像Webservergroup-intermediate。因此,云平臺(tái)根據(jù)虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置,創(chuàng)建M臺(tái)第一虛擬機(jī)。其中,硬件配置包括虛擬機(jī)的CPU核數(shù)、內(nèi)存大小、存儲(chǔ)容量等虛擬機(jī)信息,云平臺(tái)可根據(jù)這些信息申請(qǐng)?zhí)摂M硬件資源來(lái)創(chuàng)建虛擬機(jī)。S204、云平臺(tái)為每一臺(tái)第一虛擬機(jī)加載中間鏡像,得到M臺(tái)第二虛擬機(jī)?,F(xiàn)有技術(shù)中,云平臺(tái)在根據(jù)虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置,創(chuàng)建第一虛擬機(jī)之后,為第一虛擬機(jī)加載初始鏡像。不同于現(xiàn)有技術(shù),在本發(fā)明實(shí)施例中,云平臺(tái)在根據(jù)虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置,創(chuàng)建第一虛擬機(jī)之后,為第一虛擬機(jī)加載中間鏡像,從而得到的第二虛擬機(jī)是已完成公共腳本的執(zhí)行后獲得的。這樣,相較于每次創(chuàng)建一臺(tái)虛擬機(jī)都要執(zhí)行公共腳本,明顯降低虛擬機(jī)創(chuàng)建的速度。S205、云平臺(tái)控制每一臺(tái)所述第二虛擬機(jī)執(zhí)行差異腳本,獲得M臺(tái)所述虛擬機(jī)。本發(fā)明實(shí)施例虛擬機(jī)批量創(chuàng)建方法及裝置,首先,云平臺(tái)接收用于創(chuàng)建虛擬機(jī)的指令,該指令包含虛擬機(jī)組模板;然后,云平臺(tái)基于在該虛擬機(jī)組模板中能夠查詢到創(chuàng)建所述虛擬機(jī)所需加載的中間鏡像的結(jié)果,為根據(jù)所述虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置所批量創(chuàng)建的第一虛擬機(jī)加載該中間鏡像,得到第二虛擬機(jī);最后,云平臺(tái)控制所述第二虛擬機(jī)執(zhí)行差異腳本,獲得所述虛擬機(jī)。因此,在虛擬機(jī)組模板中已包含中間鏡像的前提下,云平臺(tái)在批量創(chuàng)建虛擬機(jī)時(shí)可不用再執(zhí)行或者不再重復(fù)執(zhí)行公共腳本(首次創(chuàng)建一虛擬機(jī)組內(nèi)的虛擬機(jī)時(shí)需執(zhí)行一次公共腳本),加快批量虛擬機(jī)的創(chuàng)建速度,從而提高批量創(chuàng)建虛擬機(jī)的效率,且所述虛擬機(jī)組容量的彈性擴(kuò)展效率高。以下通過(guò)具體的實(shí)施例詳細(xì)說(shuō)明云平臺(tái)在使用所述虛擬機(jī)組模板首次創(chuàng)建虛擬機(jī)的過(guò)程。其中,此過(guò)程包括所述中間鏡像的獲取過(guò)程。S301、云平臺(tái)接收用于創(chuàng)建虛擬機(jī)的指令,該指令包括要?jiǎng)?chuàng)建的虛擬機(jī)所采用的虛擬機(jī)組模板。該步驟同S201,此處不再贅述。S302、云平臺(tái)解析虛擬機(jī)組模板,獲取虛擬機(jī)組的屬性信息。該步驟同S202,此處不再贅述。S303、若在虛擬機(jī)組模板中,云平臺(tái)未查詢到虛擬機(jī)組的標(biāo)識(shí)信息對(duì)應(yīng)的中間鏡像,則根據(jù)虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置,創(chuàng)建一臺(tái)第一虛擬機(jī)。表2云平臺(tái)保存虛擬機(jī)模板的形式示例表2為與表1對(duì)應(yīng)設(shè)置的云平臺(tái)保存虛擬機(jī)模板的形式。因?yàn)槭堑谝淮蝿?chuàng)建該虛擬機(jī)組內(nèi)的虛擬機(jī),所以云平臺(tái)中還沒(méi)有此虛擬機(jī)組對(duì)應(yīng)的中間鏡像,云平臺(tái)中虛擬機(jī)組信息如表2所示,查詢中間鏡像為NULL。因此,該實(shí)施例中先生成該中間鏡像。具體地,通過(guò)云平臺(tái)執(zhí)行S303至S305獲得中間鏡像。S304、云平臺(tái)為第一虛擬機(jī)加載初始鏡像,得到第三虛擬機(jī)。云平臺(tái)一般會(huì)通過(guò)一個(gè)專門的鏡像管理服務(wù)提供一些預(yù)置的鏡像,如各種版本的操作系統(tǒng)鏡像等。CSC需要在虛擬機(jī)組模板中指定虛擬機(jī)要加載的初始鏡像,云平臺(tái)根據(jù)虛擬機(jī)組模板中指定的初始鏡像的標(biāo)識(shí)在云平臺(tái)的鏡像管理服務(wù)中找到對(duì)應(yīng)的初始鏡像,加載到第一虛擬機(jī)中獲得第三虛擬機(jī)。第三虛擬機(jī)啟動(dòng)以后,云平臺(tái)中虛擬機(jī)的狀態(tài)為啟動(dòng)成功狀態(tài)(START_SUCCESS),例如如表3所示。表3虛擬機(jī)狀態(tài)表虛擬機(jī)的標(biāo)識(shí)信息狀態(tài)Webserver-01START_SUCCESS…………其中,要?jiǎng)?chuàng)建的虛擬機(jī)的標(biāo)識(shí)信息例如為Webserver-01;省略號(hào)表示其他要?jiǎng)?chuàng)建的虛擬機(jī)的標(biāo)識(shí)信息及其狀態(tài)。S305、云平臺(tái)控制第三虛擬機(jī)執(zhí)行公共腳本,得到一臺(tái)第二虛擬機(jī),并為第二虛擬機(jī)創(chuàng)建鏡像,將所述鏡像作為中間鏡像保存至虛擬機(jī)組模板中。待第三虛擬機(jī)執(zhí)行公交腳本完成之后,云平臺(tái)中虛擬機(jī)的狀態(tài)更新為公共腳本執(zhí)行完成狀態(tài)(BASEDATA_COMPLATE),例如如表4所示。表4虛擬機(jī)狀態(tài)表虛擬機(jī)的標(biāo)識(shí)信息狀態(tài)Webserver-01BASEDATA_COMPLATE…………公共腳本執(zhí)行完成之后,云平臺(tái)為第二虛擬機(jī)創(chuàng)建鏡像并保存在虛擬機(jī)組模板中作為中間鏡像,如表1所示。此時(shí),云平臺(tái)中虛擬機(jī)的狀態(tài)更新為中間鏡像保存完成狀態(tài)(IMAGE_COMPLETE),例如如表5所示。表5虛擬機(jī)狀態(tài)表虛擬機(jī)的標(biāo)識(shí)信息狀態(tài)Webserver-01IMAGE_COMPLETE…………S306、云平臺(tái)根據(jù)虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置,創(chuàng)建M-1臺(tái)第一虛擬機(jī)。其中,云平臺(tái)根據(jù)虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置創(chuàng)建第一虛擬機(jī)的過(guò)程可參考現(xiàn)有技術(shù),此處不再贅述,這里的“第一虛擬機(jī)”僅為區(qū)別最后要?jiǎng)?chuàng)建的虛擬機(jī)。云平臺(tái)在監(jiān)控到虛擬機(jī)的狀態(tài)為IMAGE_COMPLETE時(shí),說(shuō)明中間鏡像已經(jīng)保存完畢,接下來(lái)將創(chuàng)建剩余M-1臺(tái)第一虛擬機(jī),并更新虛擬機(jī)的狀態(tài)為等待執(zhí)行差異腳本狀態(tài)(WAITING_FOR_USERDATA)。此時(shí),具體的創(chuàng)建過(guò)程與現(xiàn)有技術(shù)中根據(jù)虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置創(chuàng)建虛擬機(jī)的創(chuàng)建過(guò)程類似,但要加載的鏡像為中間鏡像(從表1中可得到中間鏡像為webservergroup-intermediate),即云平臺(tái)執(zhí)行S307。S307、云平臺(tái)為M-1臺(tái)第一虛擬機(jī)加載中間鏡像,得到M-1臺(tái)第二虛擬機(jī)。在S305保存中間鏡像之后,云平臺(tái)創(chuàng)建虛擬機(jī)就可以采用加載中間鏡像的方式來(lái)加快虛擬機(jī)的創(chuàng)建速度。云平臺(tái)為第一虛擬機(jī)加載中間鏡像得到第二虛擬機(jī)。所有第二虛擬機(jī)啟動(dòng)成功后,云平臺(tái)中虛擬機(jī)的狀態(tài)如表6所示。表6虛擬機(jī)狀態(tài)表虛擬機(jī)的標(biāo)識(shí)信息狀態(tài)Webserver-01WAITING_FOR_USERDATAWebserver-02WAITING_FOR_USERDATAWebserver-03WAITING_FOR_USERDATAWebserver-04WAITING_FOR_USERDATA表6中以創(chuàng)建4個(gè)虛擬機(jī)為例說(shuō)明,這4個(gè)虛擬機(jī)的標(biāo)識(shí)信息分別為Webserver-01、Webserver-02、Webserver-03和Webserver-04。S308、云平臺(tái)控制每一臺(tái)第二虛擬機(jī)執(zhí)行差異腳本,獲得M臺(tái)虛擬機(jī)。云平臺(tái)監(jiān)控虛擬機(jī)組中所有虛擬機(jī)的狀態(tài),當(dāng)監(jiān)控到虛擬機(jī)的狀態(tài)為WAITING_FOR_USERDATA時(shí),云平臺(tái)控制每一臺(tái)第二虛擬機(jī)執(zhí)行差異腳本。差異腳本執(zhí)行完畢之后,云平臺(tái)中虛擬機(jī)的狀態(tài)更新為創(chuàng)建完成狀態(tài)(CREATE_COMPLETE),如表7所示。當(dāng)云平臺(tái)監(jiān)控到所有M臺(tái)虛擬機(jī)的狀態(tài)都是CREATE_COMPLETE時(shí),整個(gè)虛擬機(jī)批量創(chuàng)建的過(guò)程結(jié)束。表7虛擬機(jī)狀態(tài)表虛擬機(jī)的標(biāo)識(shí)信息狀態(tài)Webserver-01CREATE_COMPLETEWebserver-02CREATE_COMPLETEWebserver-03CREATE_COMPLETEWebserver-04CREATE_COMPLETE本發(fā)明實(shí)施例僅在首次創(chuàng)建虛擬機(jī)時(shí)需執(zhí)行公共腳本,其余在根據(jù)虛擬機(jī)組模板中的硬件配置創(chuàng)建第一虛擬機(jī)之后,為該第一虛擬機(jī)加載中間鏡像后執(zhí)行差異腳本,從而節(jié)省了批量創(chuàng)建虛擬機(jī)時(shí)資源的占用,加快批量創(chuàng)建虛擬機(jī)的速度;另外,因差異腳本在每一虛擬機(jī)上執(zhí)行,因此,任兩臺(tái)虛擬機(jī)的差異腳本之間相互獨(dú)立,因此,差異腳本可自由編寫,靈活度高。在上述實(shí)施例中,云平臺(tái)控制第三虛擬機(jī)執(zhí)行公共腳本之前,所該方法還可以包括:云平臺(tái)發(fā)送第一地址給第三虛擬機(jī),該第一地址為公共腳本在云平臺(tái)的存儲(chǔ)位置。該實(shí)施例中,云平臺(tái)發(fā)送第一地址給第三虛擬機(jī),由第三虛擬機(jī)到第一地址獲取公共腳本,然后執(zhí)行公共腳本??蛇x地,云平臺(tái)控制第三虛擬機(jī)執(zhí)行公共腳本,得到一臺(tái)第二虛擬機(jī)之 后,該方法還可以包括:云平臺(tái)接收第二虛擬機(jī)發(fā)送的第一響應(yīng),第一響應(yīng)用于指示已完成公共腳本的執(zhí)行。該實(shí)施例通過(guò)云平臺(tái)與第二虛擬機(jī)的交互保證云平臺(tái)對(duì)虛擬機(jī)狀態(tài)的監(jiān)控。在上述實(shí)施例的基礎(chǔ)上,云平臺(tái)控制第二虛擬機(jī)執(zhí)行差異腳本之前,該方法還可以包括:云平臺(tái)發(fā)送第二地址給第二虛擬機(jī),第二地址為差異腳本在云平臺(tái)的存儲(chǔ)位置。該實(shí)施例中,云平臺(tái)發(fā)送第二地址給第二虛擬機(jī),由第二虛擬機(jī)到第二地址獲取差異腳本,然后執(zhí)行差異腳本。進(jìn)一步地,云平臺(tái)控制第二虛擬機(jī)執(zhí)行差異腳本,獲得M臺(tái)虛擬機(jī)之后,該方法還可以包括:云平臺(tái)接收虛擬機(jī)發(fā)送的第二響應(yīng),第二響應(yīng)用于指示已完成差異腳本的執(zhí)行。該實(shí)施例通過(guò)云平臺(tái)與虛擬機(jī)的交互保證云平臺(tái)對(duì)虛擬機(jī)狀態(tài)的監(jiān)控。通常情況下,如果已經(jīng)創(chuàng)建了一虛擬機(jī)組,該虛擬機(jī)組會(huì)對(duì)應(yīng)一個(gè)標(biāo)識(shí)信息,例如,身份標(biāo)識(shí)(ID)或名稱(Name)之類的標(biāo)識(shí)。另外,云平臺(tái)也會(huì)保存虛擬機(jī)組模板等信息,云平臺(tái)提供一個(gè)對(duì)外的接口來(lái)擴(kuò)展虛擬機(jī)組,用戶需要提供要擴(kuò)展的虛擬機(jī)組的標(biāo)識(shí)信息以及數(shù)量N等參數(shù),云平臺(tái)可以根據(jù)虛擬機(jī)組的標(biāo)識(shí)信息獲取已保存的虛擬機(jī)組模板。因此,本發(fā)明實(shí)施例還提供另一種虛擬機(jī)批量創(chuàng)建方法,該方法與上述實(shí)施例所保護(hù)的方法的區(qū)別在于:用于創(chuàng)建虛擬機(jī)的指令中包括要?jiǎng)?chuàng)建的虛擬機(jī)所采用的虛擬機(jī)組模板的標(biāo)識(shí)信息和要?jiǎng)?chuàng)建的虛擬機(jī)的數(shù)量N,其中,N為自然數(shù)。以下通過(guò)具體實(shí)施例說(shuō)明該虛擬機(jī)批量創(chuàng)建方法。圖4為本發(fā)明虛擬機(jī)批量創(chuàng)建方法實(shí)施例三的流程圖。本發(fā)明實(shí)施例的方法可以由任意執(zhí)行虛擬機(jī)批量創(chuàng)建方法的裝置來(lái)執(zhí)行,該裝置可以通過(guò)軟件和/或硬件實(shí)現(xiàn)。本實(shí)施例中,該裝置可以集成在云平臺(tái)中。如圖4所示,該方法包括:S401、云平臺(tái)接收用于創(chuàng)建虛擬機(jī)的指令。其中,該指令包括要?jiǎng)?chuàng)建的虛擬機(jī)所采用的虛擬機(jī)組模板的標(biāo)識(shí)信息和要?jiǎng)?chuàng)建的虛擬機(jī)的數(shù)量N,其中,N為自然數(shù)。S402、云平臺(tái)根據(jù)虛擬機(jī)組模板的標(biāo)識(shí)信息,獲取虛擬機(jī)組的屬性信息。其中,上述屬性信息包括創(chuàng)建虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置和要加載的中間鏡像及差異腳本。中間鏡像為對(duì)根據(jù)硬件配置創(chuàng)建的第一虛擬機(jī)加載 初始鏡像后執(zhí)行公共腳本得到。公共腳本為在虛擬機(jī)組內(nèi)所有虛擬機(jī)上執(zhí)行效果相同的腳本。差異腳本為在虛擬機(jī)組內(nèi)所有虛擬機(jī)上執(zhí)行效果不同或必須在虛擬機(jī)上運(yùn)行才可以達(dá)到效果的腳本。S403、云平臺(tái)根據(jù)虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置,創(chuàng)建N臺(tái)第一虛擬機(jī)。S404、云平臺(tái)為每一臺(tái)第一虛擬機(jī)加載中間鏡像,得到N臺(tái)第二虛擬機(jī)。S405、云平臺(tái)控制每一臺(tái)第二虛擬機(jī)執(zhí)行差異腳本,獲得N臺(tái)虛擬機(jī)。前述實(shí)施例已說(shuō)明,云平臺(tái)在首次創(chuàng)建虛擬機(jī)時(shí),可保存虛擬機(jī)組模板等信息,云平臺(tái)提供一個(gè)對(duì)外的接口來(lái)擴(kuò)展虛擬機(jī)組。該實(shí)施例中各個(gè)步驟的解釋可參考前述實(shí)施例,這里不再贅述。本發(fā)明實(shí)施例虛擬機(jī)批量創(chuàng)建方法及裝置,首先,云平臺(tái)接收用于創(chuàng)建虛擬機(jī)的指令,該指令包含虛擬機(jī)組的標(biāo)識(shí)信息;然后,云平臺(tái)基于該虛擬機(jī)組的標(biāo)識(shí)信獲取虛擬機(jī)組的屬性信息,為根據(jù)所述虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置所批量創(chuàng)建的第一虛擬機(jī)加載中間鏡像,得到第二虛擬機(jī);最后,云平臺(tái)控制所述第二虛擬機(jī)執(zhí)行差異腳本,獲得所述虛擬機(jī)。因?yàn)樯鲜鲋虚g鏡像已被保存,因此,云平臺(tái)在創(chuàng)建虛擬機(jī)時(shí)可不用再執(zhí)行公共腳本,加快虛擬機(jī)的創(chuàng)建速度,從而提高批量創(chuàng)建虛擬機(jī)的效率,且所述虛擬機(jī)組容量的彈性擴(kuò)展效率高。需說(shuō)明的是,虛擬機(jī)組模板中可以直接包括各種腳本(公共腳本和/或差異腳本),也可以引用其他腳本文件,還可以是其它形式,例如,腳本的地址信息等,只要云平臺(tái)解析時(shí)能獲得最終的公共腳本和/或差異腳本即可。另外,云平臺(tái)在根據(jù)虛擬機(jī)組模板的硬件配置創(chuàng)建第一虛擬機(jī)之后,為該第一虛擬機(jī)加載中間鏡像后執(zhí)行差異腳本,從而節(jié)省了批量創(chuàng)建虛擬機(jī)時(shí)資源的占用,加快批量創(chuàng)建虛擬機(jī)的速度;且,因差異腳本在每一虛擬機(jī)上執(zhí)行,因此,任兩臺(tái)虛擬機(jī)的差異腳本之間相互獨(dú)立,因此,差異腳本可自由編寫,靈活度高。在上述實(shí)施例的基礎(chǔ)上,S405之前,該方法還可以包括:云平臺(tái)發(fā)送地址給第二虛擬機(jī),該地址為差異腳本在云平臺(tái)的存儲(chǔ)位置。該實(shí)施例中,云平臺(tái)發(fā)送地址給第二虛擬機(jī),由第二虛擬機(jī)到地址獲取差異腳本,然后執(zhí)行差異腳本。進(jìn)一步地,S405之前,該方法還可以包括:云平臺(tái)接收虛擬機(jī)發(fā)送的響應(yīng),該響應(yīng)用于指示已完成差異腳本的執(zhí)行。該實(shí)施例通過(guò)云平臺(tái)與虛擬機(jī)的交互保證云平臺(tái)對(duì)虛擬機(jī)狀態(tài)的監(jiān)控。圖5為本發(fā)明虛擬機(jī)批量創(chuàng)建裝置實(shí)施例一的結(jié)構(gòu)示意圖。如圖5所示,虛擬機(jī)批量創(chuàng)建裝置50包括資源部署模塊51和虛擬機(jī)管理模塊52。其中,資源部署模塊51用于接收用于創(chuàng)建虛擬機(jī)的指令,該指令包括要?jiǎng)?chuàng)建的虛擬機(jī)所采用的虛擬機(jī)組模板;解析虛擬機(jī)組模板,獲取虛擬機(jī)組的屬性信息,屬性信息包括虛擬機(jī)組的標(biāo)識(shí)信息、創(chuàng)建虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置、虛擬機(jī)組的容量M和要加載的初始鏡像、公共腳本及差異腳本,公共腳本為在虛擬機(jī)組內(nèi)所有虛擬機(jī)上執(zhí)行效果相同的腳本,差異腳本為在虛擬機(jī)組內(nèi)所有虛擬機(jī)上執(zhí)行效果不同或必須在虛擬機(jī)上運(yùn)行才可以達(dá)到效果的腳本,M為自然數(shù);向虛擬機(jī)管理模塊52發(fā)送創(chuàng)建虛擬機(jī)的第一請(qǐng)求,第一請(qǐng)求攜帶虛擬機(jī)組的屬性信息。虛擬機(jī)管理模塊52用于接收第一請(qǐng)求;若在虛擬機(jī)組模板中,查詢到虛擬機(jī)組的標(biāo)識(shí)信息對(duì)應(yīng)的中間鏡像,根據(jù)虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置,創(chuàng)建M臺(tái)第一虛擬機(jī),中間鏡像通過(guò)為第一虛擬機(jī)加載初始鏡像后執(zhí)行公共腳本得到;為每一臺(tái)第一虛擬機(jī)加載中間鏡像,得到M臺(tái)第二虛擬機(jī);控制每一臺(tái)第二虛擬機(jī)執(zhí)行差異腳本,獲得M臺(tái)虛擬機(jī)。本實(shí)施例的裝置,可以用于執(zhí)行圖2所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。概括地說(shuō),資源部署模塊51用于接收CSC提交的用于批量創(chuàng)建虛擬機(jī)的指令,并根據(jù)指令獲得虛擬機(jī)組的屬性信息,控制整個(gè)資源部署過(guò)程。虛擬機(jī)管理模塊52用于管理虛擬機(jī)的整個(gè)生命流程,包括虛擬機(jī)創(chuàng)建、更新、刪除、生成鏡像等。進(jìn)一步地,虛擬機(jī)管理模塊52還可以用于:若在虛擬機(jī)組模板中,未查詢到虛擬機(jī)組的標(biāo)識(shí)信息對(duì)應(yīng)的中間鏡像,則根據(jù)虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置,創(chuàng)建一臺(tái)第一虛擬機(jī);為第一虛擬機(jī)加載初始鏡像,得到第三虛擬機(jī);控制第三虛擬機(jī)執(zhí)行公共腳本,得到一臺(tái)第二虛擬機(jī),并為第二虛擬機(jī)創(chuàng)建鏡像,將鏡像作為中間鏡像保存至虛擬機(jī)組模板中;根據(jù)虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置,創(chuàng)建M-1臺(tái)第一虛擬機(jī),M為大于1的正整數(shù);為M-1 臺(tái)第一虛擬機(jī)加載中間鏡像,得到M-1臺(tái)第二虛擬機(jī);控制每一臺(tái)第二虛擬機(jī)執(zhí)行差異腳本,獲得M臺(tái)虛擬機(jī)。該實(shí)施例說(shuō)明在首次創(chuàng)建虛擬機(jī)組內(nèi)的虛擬機(jī)時(shí),云平臺(tái)創(chuàng)建虛擬機(jī)的過(guò)程。具體步驟的實(shí)施例可參考如圖3所示實(shí)施例的描述。圖6為本發(fā)明虛擬機(jī)批量創(chuàng)建裝置實(shí)施例二的結(jié)構(gòu)示意圖。如圖6所示,虛擬機(jī)批量創(chuàng)建裝置60包括資源部署模塊61、虛擬機(jī)管理模塊62、鏡像管理模塊63和腳本管理模塊64。其中,資源部署模塊61和虛擬機(jī)管理模塊62的功能和作用類似資源部署模塊51和虛擬機(jī)管理模塊52的功能和作用。鏡像管理模塊63用于管理初始鏡像和中間鏡像。腳本管理模塊64用于管理公共腳本和差異腳本。具體地,資源部署模塊61接收CSC的指令并通過(guò)對(duì)虛擬機(jī)組模板的解析,獲取要批量部署的虛擬機(jī)的數(shù)量,每臺(tái)虛擬機(jī)的硬件配置、要加載的初始鏡像、公共腳本和差異腳本(僅給出了最基本的虛擬機(jī)信息,其他信息在此不贅述)。資源部署模塊61將虛擬機(jī)組模板的公共腳本和差異腳本保存在腳本管理模塊64中。腳本管理模塊64將各腳本的下載地址返回資源部署模塊61,后續(xù)根據(jù)該下載地址,虛擬機(jī)可從腳本管理模塊64中下載對(duì)應(yīng)腳本。資源部署模塊61中保存虛擬機(jī)組模板和虛擬機(jī)組模板中各資源的信息,具體可參考如表1或表2所示。在第一次創(chuàng)建虛擬機(jī)組對(duì)應(yīng)的虛擬機(jī)時(shí),資源部署模塊61中還沒(méi)有此虛擬機(jī)組對(duì)應(yīng)的中間鏡像,如表1所示,查詢中間鏡像為NULL;當(dāng)虛擬機(jī)組創(chuàng)建以后,會(huì)保存一份中間鏡像,可查詢到對(duì)應(yīng)的中間鏡像為。虛擬機(jī)管理模塊62內(nèi)置了幾種固定硬件配置的虛擬機(jī)類型。在第一次創(chuàng)建虛擬機(jī)組模塊對(duì)應(yīng)的虛擬機(jī)時(shí),資源部署模塊61向虛擬機(jī)管理模塊62發(fā)送申請(qǐng)一臺(tái)虛擬機(jī)的第一請(qǐng)求,該第一請(qǐng)求中包含獲取的硬件配置(例如m1.large)、初始鏡像、公共腳本和差異腳本的下載地址等信息。虛擬機(jī)管理模塊62在收到資源部署模塊61創(chuàng)建虛擬機(jī)的第一請(qǐng)求之后,發(fā)送獲取初始鏡像的第二請(qǐng)求到鏡像管理模塊63,鏡像管理模塊63返回初始鏡像的下載地址。虛擬機(jī)管理模塊62從自身的資源池中創(chuàng)建一臺(tái)例如m1.large類型的虛擬機(jī)作為第一虛擬機(jī),并從鏡像管理模塊63返回的初始鏡像下載地址中獲取初始鏡像加載到第一虛擬機(jī)中,得到第三虛擬機(jī),并啟動(dòng) 此第三虛擬機(jī)。虛擬機(jī)管理模塊62自身提供的初始鏡像在操作系統(tǒng)啟動(dòng)以后會(huì)自動(dòng)啟動(dòng)第三虛擬機(jī),其中,虛擬機(jī)可內(nèi)置代理模塊,該代理(Agent)模塊用于虛擬機(jī)操作系統(tǒng)與資源部署模塊61交互并執(zhí)行指令。第三虛擬機(jī)啟動(dòng)以后,代理模塊自動(dòng)啟動(dòng),并更新虛擬機(jī)的狀態(tài)為START_SUCCESS,如表3所示。資源部署模塊61監(jiān)控虛擬機(jī)狀態(tài)表。當(dāng)資源部署模塊61確定虛擬機(jī)的狀態(tài)為START_SUCCESS,說(shuō)明第三虛擬機(jī)啟動(dòng)成功,之后,發(fā)送公共腳本和差異腳本的下載地址到第三虛擬機(jī)。第三虛擬機(jī)接收上述下載地址后,根據(jù)下載地址從腳本管理模塊64中下載公共腳本和差異腳本到第三虛擬機(jī),且,第三虛擬機(jī)執(zhí)行公共腳本,得到第二虛擬機(jī)。虛擬機(jī)上的代理模塊監(jiān)控到公交腳本執(zhí)行完成之后,更新虛擬機(jī)的狀態(tài)為BASEDATA_COMPLATE,如表4所示。資源部署模塊61監(jiān)控到虛擬機(jī)的狀態(tài)為BASEDATA_COMPLATE,說(shuō)明第三虛擬機(jī)上公共腳本執(zhí)行完畢。資源部署模塊61向虛擬機(jī)管理模塊62發(fā)出為第二虛擬機(jī)創(chuàng)建鏡像的請(qǐng)求;虛擬機(jī)管理模塊62接收該請(qǐng)求后,為第二虛擬機(jī)生成鏡像,并向鏡像管理模塊63發(fā)出鏡像保存請(qǐng)求,鏡像保存請(qǐng)求中至少包含虛擬機(jī)的標(biāo)識(shí)信息及鏡像文件;鏡像管理模塊63將此鏡像文件保存為中間鏡像后,返回保存的中間鏡像索引標(biāo)識(shí);虛擬機(jī)管理模塊62接收到中間鏡像索引標(biāo)識(shí)后,將中間鏡像索引標(biāo)識(shí)返回資源部署模塊61。其中,具體的鏡像生成技術(shù)可參考快照技術(shù),此處不再贅述。資源部署模塊61在接收到中間鏡像索引標(biāo)識(shí),即中間鏡像保存成功之后,保存中間鏡像索引標(biāo)識(shí)。此時(shí),更新虛擬機(jī)組模塊的信息如表1所示;更新虛擬機(jī)的狀態(tài)為IMAGE_COMPLETE,如表5所示。資源部署模塊61在監(jiān)控到虛擬機(jī)的狀態(tài)為IMAGE_COMPLETE時(shí),說(shuō)明第二虛擬機(jī)對(duì)應(yīng)的中間鏡像已經(jīng)保存完畢,向虛擬機(jī)管理模塊62發(fā)出創(chuàng)建剩余虛擬機(jī)的請(qǐng)求,并更新虛擬機(jī)的狀態(tài)為WAITING_FOR_USERDATA,如表6所示。此時(shí),剩余虛擬機(jī)具體的創(chuàng)建過(guò)程與第一虛擬機(jī)創(chuàng)建過(guò)程類似,但每臺(tái)第一虛擬機(jī)根據(jù)硬件配置等信息申請(qǐng)資源之后加載的鏡像為鏡像管理模塊63中保存的中間鏡像(從表1中可得到中間鏡像為webservergroup-intermediate)。因?yàn)橹虚g鏡像已經(jīng)包含公共腳本和差異腳本, 因此剩余虛擬機(jī)不需要再次下載公共腳本。第二虛擬機(jī)啟動(dòng)成功后,更新虛擬機(jī)的狀態(tài)為WAITING_FOR_USERDATA。所有第二虛擬機(jī)啟動(dòng)成功后,虛擬機(jī)狀態(tài)如表6所示。資源部署模塊61監(jiān)控虛擬機(jī)組中所有虛擬機(jī)的狀態(tài),當(dāng)監(jiān)控到虛擬機(jī)的狀態(tài)為WAITING_FOR_USERDATA時(shí),資源部署模塊61通知對(duì)應(yīng)虛擬機(jī)的執(zhí)行差異腳本。虛擬機(jī)啟動(dòng)差異腳本并監(jiān)控其執(zhí)行,在差異腳本執(zhí)行完畢之后,更新對(duì)應(yīng)虛擬機(jī)的狀態(tài)為CREATE_COMPLETE,如表7所示。資源部署模塊61在監(jiān)控到所有虛擬機(jī)的狀態(tài)都是CREATE_COMPLETE時(shí),整個(gè)批量創(chuàng)建虛擬機(jī)的過(guò)程結(jié)束?;谏鲜稣f(shuō)明,虛擬機(jī)管理模塊62還可以用于:發(fā)送第一地址給第三虛擬機(jī),該第一地址為公共腳本在虛擬機(jī)批量創(chuàng)建裝置60的存儲(chǔ)位置。和/或,虛擬機(jī)管理模塊62還可以用于:發(fā)送第二地址給第二虛擬機(jī),該第二地址為差異腳本在虛擬機(jī)批量創(chuàng)建裝置60的存儲(chǔ)位置。和/或,虛擬機(jī)管理模塊62還可以用于:接收第二虛擬機(jī)發(fā)送的第一響應(yīng),該第一響應(yīng)用于指示已完成公共腳本的執(zhí)行。和/或,虛擬機(jī)管理模塊62還可以用于:接收虛擬機(jī)發(fā)送的第二響應(yīng),該第二響應(yīng)用于指示已完成差異腳本的執(zhí)行。本實(shí)施例的裝置,可以用于執(zhí)行圖3所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。不同于上述實(shí)施例,仍參考圖5,資源管理模塊51用于接收用于創(chuàng)建虛擬機(jī)的指令,該指令包括要?jiǎng)?chuàng)建的虛擬機(jī)所采用的虛擬機(jī)組模板的標(biāo)識(shí)信息和要?jiǎng)?chuàng)建的虛擬機(jī)的數(shù)量N,N為自然數(shù);根據(jù)虛擬機(jī)組模板的標(biāo)識(shí)信息,獲取虛擬機(jī)組的屬性信息,該屬性信息包括創(chuàng)建虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置和要加載的中間鏡像及差異腳本,該中間鏡像為對(duì)根據(jù)硬件配置創(chuàng)建的第一虛擬機(jī)加載初始鏡像后執(zhí)行公共腳本得到,公共腳本為在虛擬機(jī)組內(nèi)所有虛擬機(jī)上執(zhí)行效果相同的腳本,差異腳本為在虛擬機(jī)組內(nèi)所有虛擬機(jī)上執(zhí)行效果不同或必須在虛擬機(jī)上運(yùn)行才可以達(dá)到效果的腳本;向虛擬機(jī)管理模塊52發(fā)送創(chuàng)建虛擬機(jī)的第一請(qǐng)求,該第一請(qǐng)求攜帶虛擬機(jī)組的屬性信息。虛擬機(jī)管理模塊52用于接收上述第一請(qǐng)求;根據(jù)虛擬機(jī)組內(nèi)的虛擬機(jī)的硬件配置,創(chuàng)建N臺(tái)第一虛擬機(jī);為每一臺(tái)第一虛擬機(jī)加載中間鏡像,得到N臺(tái)第 二虛擬機(jī);控制每一臺(tái)第二虛擬機(jī)執(zhí)行差異腳本,獲得N臺(tái)虛擬機(jī)。本實(shí)施例的裝置,可以用于執(zhí)行圖4所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。參考圖6所示的結(jié)構(gòu),在上述實(shí)施例的基礎(chǔ)上,虛擬機(jī)管理模塊62還可以用于發(fā)送獲取初始鏡像的第二請(qǐng)求給鏡像管理模塊63。進(jìn)一步地,鏡像管理模塊63還可以用于接收第二請(qǐng)求;反饋初始鏡像的地址給虛擬機(jī)管理模塊62。更進(jìn)一步地,虛擬機(jī)管理模塊62還可以用于:發(fā)送地址給第二虛擬機(jī),該地址為差異腳本在虛擬機(jī)批量創(chuàng)建裝置60的存儲(chǔ)位置。和/或,虛擬機(jī)管理模塊62還可以用于:接收虛擬機(jī)發(fā)送的響應(yīng),該響應(yīng)用于指示已完成差異腳本的執(zhí)行。本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。當(dāng)前第1頁(yè)1 2 3