本發(fā)明實(shí)施例涉及通信領(lǐng)域,并且更具體地,涉及一種啟動虛擬機(jī)的方法和裝置。
背景技術(shù):
:在運(yùn)營商、數(shù)據(jù)中心、云計算服務(wù)商以及大型網(wǎng)絡(luò)企業(yè)中,nfv的部署與應(yīng)用占據(jù)著越來越重要的地位。nfv即網(wǎng)絡(luò)功能虛擬化(networkfunctionvirtualization),通過使用x86等通用性硬件以及虛擬化技術(shù),來承載很多功能的軟件處理,從而降低網(wǎng)絡(luò)昂貴的設(shè)備成本。nfv可以通過軟硬件解耦及功能抽象,使網(wǎng)絡(luò)設(shè)備功能不再依賴于專用硬件,資源可以充分靈活共享,實(shí)現(xiàn)新業(yè)務(wù)的快速開發(fā)和部署,并基于實(shí)際業(yè)務(wù)(在本領(lǐng)域所提到的網(wǎng)絡(luò)均指網(wǎng)絡(luò)業(yè)務(wù))需求進(jìn)行自動部署、彈性伸縮、故障隔離和自愈等。按照nfv的技術(shù)原理,一個網(wǎng)絡(luò)業(yè)務(wù)可以包括至少一個vnf(vnf,virtualisednetworkfunction),每個vnf又可以分解為一組vnfc(vnfc,virtualisednetworkfunctioncomponent);即nfv網(wǎng)絡(luò)由一個或者多個vnf組成;vnf又由一個或者多個vnfc組成;其中vnfc是提供特定網(wǎng)絡(luò)業(yè)務(wù)功能的軟件包的一組進(jìn)程或軟件模塊,vnfc對應(yīng)到物理上包括:接口板、軟件包、交換板、業(yè)務(wù)處理板、主控板等;vnfc對應(yīng)到軟件上包括:接口進(jìn)程、交換進(jìn)程、業(yè)務(wù)處理進(jìn)程、主控進(jìn)程等。相同種類的vnfc能夠?qū)崿F(xiàn)相同的功能,每個vnfc最終映射到一個虛擬機(jī)(vm,virtualmachine)上。通常同一種vnfc會在多個虛擬機(jī)上運(yùn)行(從而提供更強(qiáng)的業(yè)務(wù)處理能力或者更高的業(yè)務(wù)可靠性),同一個虛擬機(jī)也會運(yùn)行多個不同的虛擬化網(wǎng)絡(luò)功能組件。虛擬機(jī)啟動時,虛擬機(jī)上運(yùn)行的虛擬化網(wǎng)絡(luò)功能組件同時啟動并運(yùn)行。通常情況下,一個vnf可以擁有若干種vnfc,其中每種vnfc各自實(shí)現(xiàn)的功能都是不同的。在一個完整的nfv網(wǎng)絡(luò)中,同一種vnf的個數(shù)為x0,那么該種vnf的各種vnfc也對應(yīng)著有x0個;對于同一種vnfc可以有多個,只是啟動的時間或運(yùn)行所在的虛擬機(jī)有所差別,值得注意的是所有的vnfc并不是規(guī)則地分布在虛擬機(jī)中。請參閱圖1,圖1為一種vnfc在虛擬機(jī)中的分布示意圖。以vfn0和vnf11為例,vnf0包含的vnfc為vnf000、vnf001、vnf002,vnf1包含的vnfc為vnf010、vnf011。圖1中,vm0和vm4表示同一種vnf的所有vnfc都可以運(yùn)行在同一個虛擬機(jī)中,且不同的虛擬機(jī)中運(yùn)行的vnf可能不同;圖1中,vm1表示一個虛擬機(jī)中可以只運(yùn)行一種vnf的部分vnfc;圖1中,vm4和vm5表示一個虛擬機(jī)中可以運(yùn)行一種vnf的部分vnfc,并且每種vnfc的個數(shù)也可以為一個或多個;圖1中,vm3表示一個虛擬機(jī)中可以運(yùn)行不同vnf的vnfc。nfv網(wǎng)絡(luò)能夠正常提供業(yè)務(wù)需要至少一個特定的vnfc集合正常工作,該vnfc集合通常包含不同vnf的vnfc。不同類型或者優(yōu)先級的業(yè)務(wù)的vnfc集合可能不同。大型的nfv網(wǎng)絡(luò)會運(yùn)行大量的虛擬機(jī),這些虛擬機(jī)共享物理資源,例如存儲,網(wǎng)絡(luò)和主機(jī)資源等。這些虛擬機(jī)啟動時,需要從共享存儲讀取os(operationssystem,操作系統(tǒng))和vnfc進(jìn)程等數(shù)據(jù),會產(chǎn)生大量存儲i/o操作,如果同時啟動的虛擬機(jī)太多,形成虛擬機(jī)啟動風(fēng)暴,會導(dǎo)致共享存儲i/o等資源過載,導(dǎo)致每個虛擬機(jī)啟動時間都很長甚至引起復(fù)位或者掛死等異常。因此nfv網(wǎng)絡(luò)的虛擬機(jī)管理系統(tǒng)會限制同時啟動的虛擬機(jī)的數(shù)量,避免虛擬機(jī)啟動時共享存儲i/o等資源過載。虛擬機(jī)管理系統(tǒng)限制同時啟動的虛擬機(jī)數(shù)量的情況下會相應(yīng)地帶來可靠性的問題,現(xiàn)有技術(shù)中虛擬機(jī)管理系統(tǒng)按照主機(jī)或者vnf順序啟動虛擬機(jī)(逐個啟動部署在各個主機(jī)上的虛擬機(jī)或者逐個啟動各個vnf的虛擬機(jī))。由于同時啟動的虛擬機(jī)數(shù)量有限且沒有規(guī)劃,而無法迅速啟動所有的虛擬機(jī)以運(yùn)行某一特定網(wǎng)絡(luò)業(yè)務(wù)要求的所有vnfc,由于某一特定的網(wǎng)絡(luò)業(yè)務(wù)要求的vnfc沒有全部運(yùn)行,而使得在啟動的一段時間內(nèi),該網(wǎng)絡(luò)業(yè)務(wù)不能正常提供,造成提供網(wǎng)絡(luò)業(yè)務(wù)的效率低下。技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例提供了一種啟動虛擬機(jī)的方法和裝置,在虛擬機(jī)業(yè)務(wù)故障恢復(fù)或者初始系統(tǒng)建立的過程中,可以實(shí)現(xiàn)業(yè)務(wù)快速提供以及業(yè)務(wù)處理能力的快速提升。第一方面,本發(fā)明實(shí)施例提供了一種啟動虛擬機(jī)的方法,所述方法應(yīng)用于部署了第一網(wǎng)絡(luò)業(yè)務(wù)的網(wǎng)絡(luò)功能虛擬化nfv網(wǎng)絡(luò),所述nfv網(wǎng)絡(luò)由運(yùn)行于計算設(shè)備上的多個虛擬機(jī)實(shí)現(xiàn),所述第一網(wǎng)絡(luò)業(yè)務(wù)由n個類型的虛擬化網(wǎng)絡(luò)功能組件vnfc共同實(shí)現(xiàn),所述方法包括:獲取所述n個類型的vnfc與所述多個虛擬機(jī)的分布關(guān)系,所述分布關(guān)系描述了所述n個類型的vnfc中每個類型的vnfc在所述多個虛擬機(jī)中的每個虛擬機(jī)中的數(shù)量;根據(jù)所述分布關(guān)系,從所述多個虛擬機(jī)中選擇至少一個未啟動虛擬機(jī)作為待啟動虛擬機(jī)集合,使得第一組虛擬機(jī)中的所述每個類型的vnfc的數(shù)量總和分別滿足所述每個類型的vnfc對應(yīng)的預(yù)設(shè)數(shù)量,所述第一組虛擬機(jī)集合包括已啟動虛擬機(jī)集合及所述待啟動虛擬機(jī)集合,所述已啟動虛擬機(jī)集合中的已啟動虛擬機(jī)數(shù)量大于等于0,當(dāng)數(shù)量大于0時,所述已啟動虛擬機(jī)屬于所述多個虛擬機(jī);啟動所述待啟動虛擬機(jī)集合中的虛擬機(jī)。該方法能夠根據(jù)各個虛擬機(jī)中vnfc的種類和數(shù)量,有針對性地、有選擇性地選擇出來盡量少的虛擬機(jī),進(jìn)而能夠?qū)崿F(xiàn)nfv網(wǎng)絡(luò)中第一網(wǎng)絡(luò)業(yè)務(wù)的盡快實(shí)現(xiàn)。第二方面,本發(fā)明實(shí)施例提供了一種啟動虛擬機(jī)的裝置,所述裝置應(yīng)用于應(yīng)用于部署了第一網(wǎng)絡(luò)業(yè)務(wù)的網(wǎng)絡(luò)功能虛擬化nfv網(wǎng)絡(luò),所述nfv網(wǎng)絡(luò)由運(yùn)行于計算設(shè)備上的多個虛擬機(jī)實(shí)現(xiàn),所述第一網(wǎng)絡(luò)業(yè)務(wù)由n個類型的虛擬化網(wǎng)絡(luò)功能組件vnfc共同實(shí)現(xiàn),其中n為正整數(shù),所述裝置包括:獲取模塊,用于獲取所述n個類型的vnfc與所述多個虛擬機(jī)的分布關(guān)系,所述分布關(guān)系描述了所述n個類型的vnfc中每個類型的vnfc在所述多個虛擬機(jī)中的每個虛擬機(jī)中的數(shù)量;選擇模塊,用于根據(jù)所述獲取模塊獲取到的分布關(guān)系,從所述多個虛擬機(jī)中選擇至少一個未啟動虛擬機(jī)作為待啟動虛擬機(jī)集合,使得第一組虛擬機(jī)中的所述每個類型的vnfc的數(shù)量總和分別滿足所述每個類型的vnfc對應(yīng)的預(yù)設(shè)數(shù)量,所述第一組虛擬機(jī)集合包括已啟動虛擬機(jī)集合及所述待啟動虛擬機(jī)集合,所述已啟動虛擬機(jī)集合中的已啟動虛擬機(jī)數(shù)量大于等于0,當(dāng)數(shù)量大于0時,所述已啟動虛擬機(jī)屬于所述多個虛擬機(jī);啟動模塊,用于啟動所述選擇模塊選擇出來的待啟動虛擬機(jī)集合中的虛擬機(jī)。該裝置能夠根據(jù)各個虛擬機(jī)中vnfc的種類和數(shù)量,有針對性地、有選擇性地選擇出來盡量少的虛擬機(jī),進(jìn)而能夠?qū)崿F(xiàn)nfv網(wǎng)絡(luò)中業(yè)務(wù)的盡快實(shí)現(xiàn)。第一方面和第二方面的技術(shù)方案可以應(yīng)用于單一業(yè)務(wù)類型需求的場景中;單一業(yè)務(wù)類型需求的場景包括兩種情況:一種是指nfv網(wǎng)絡(luò)只有一種業(yè)務(wù)優(yōu)先級sla(servicelevelagreement,服務(wù)水平協(xié)議)可用度級別的業(yè)務(wù),網(wǎng)絡(luò)中不存在其他不同業(yè)務(wù)優(yōu)先級的業(yè)務(wù),網(wǎng)絡(luò)中所有的虛擬機(jī)都支持這一種優(yōu)先級業(yè)務(wù)類型的業(yè)務(wù)。另一種是指nfv網(wǎng)絡(luò)中存在多種業(yè)務(wù),網(wǎng)絡(luò)中的虛擬機(jī)中含有不同業(yè)務(wù)對應(yīng)的vnfc,但是本次啟動虛擬機(jī)的目的只為了實(shí)現(xiàn)其中一種特定的業(yè)務(wù)。根據(jù)第一方面或者第二方面,在一種可能的設(shè)計中,所述根據(jù)所述分布關(guān)系,從所述未啟動的虛擬機(jī)中選擇至少一個待啟動虛擬機(jī)包括:步驟1:根據(jù)確定所述第一組虛擬機(jī)中所述每個類型的vnfc的當(dāng)前數(shù)量權(quán)重,其中,α_i為第i類型的vnfc的當(dāng)前數(shù)量權(quán)重,qi為所述第一組虛擬機(jī)中所述第i類型的vnfc的當(dāng)前數(shù)量總和,qj為所述第一組虛擬機(jī)中第j類型的vnfc的當(dāng)前數(shù)量總和,所述第i類型的vnfc以及所述第j類型的vnfc屬于所述n個類型的vnfc,所述i,j的取值范圍包括不大于n的正整數(shù);步驟2:根據(jù)確定的所述每個類型的vnfc的當(dāng)前數(shù)量權(quán)重與所述每個類型的vnfc的預(yù)設(shè)數(shù)量權(quán)重,查找出當(dāng)前數(shù)量權(quán)重低于預(yù)設(shè)數(shù)量權(quán)重程度最大的第k類型的vnfc,所述第k類型的vnfc為所述n個類型vnfc中的一個;步驟3:從所述多個虛擬機(jī)中選擇一個含有所述第k類型的vnfc的未啟動虛擬機(jī)加入到所述待啟動虛擬機(jī)集合中;按順序重復(fù)執(zhí)行所述步驟1、所述步驟2和所述步驟3,直到所述第一組虛擬機(jī)中的所述n個類型中每個類型的vnfc的數(shù)量總和分別滿足所述每個類型的vnfc對應(yīng)的預(yù)設(shè)數(shù)量。該技術(shù)方案能夠根據(jù)各個虛擬機(jī)中vnfc的種類和數(shù)量,通過一定的算法,有選擇地選擇最稀缺的vnfc所在的虛擬機(jī),在保證第一網(wǎng)絡(luò)中業(yè)務(wù)盡快實(shí)現(xiàn)的前提下,能夠充分發(fā)揮當(dāng)前已經(jīng)啟動的虛擬機(jī)中的vnfc的最大效能,使得第一網(wǎng)絡(luò)業(yè)務(wù)的業(yè)務(wù)能力迅速提升。根據(jù)第一方面或者第二方面,在一種可能的設(shè)計中,所述從所述多個虛擬機(jī)中選擇一個含有所述第k類型的vnfc的未啟動虛擬機(jī)加入到所述待啟動虛擬機(jī)集合中包括以下任一方式:選擇一個含有所述第k類型的vnfc的數(shù)量最多的未啟動虛擬機(jī)加入到所述待啟動虛擬機(jī)集合中;或若含有所述第k類型的vnfc的數(shù)量最多的未啟動虛擬機(jī)為多個時,則選擇一個含有所述n個類型中vnfc類型數(shù)量最多的未啟動虛擬機(jī)加入到所述待啟動虛擬機(jī)集合中,或者選擇一個含有用于實(shí)現(xiàn)所述第一網(wǎng)絡(luò)業(yè)務(wù)的vnfc數(shù)量總和最多的未啟動虛擬機(jī)加入到所述待啟動虛擬機(jī)集合中。該技術(shù)方案使得系統(tǒng)在選擇虛擬機(jī)時面臨同種篩選條件的未啟動虛擬機(jī)存在多個時,提供一種優(yōu)先的選擇方案。根據(jù)第一方面或者第二方面,在一種可能的設(shè)計中,在所述按順序重復(fù)執(zhí)行所述步驟1、所述步驟2和所述步驟3的過程中,獲取所述至少一個未啟動虛擬機(jī)的選擇順序;所述啟動所述待啟動虛擬機(jī)集合中的虛擬機(jī)包括:按照所述選擇順序,啟動所述至少一個未啟動虛擬機(jī)。該技術(shù)方案使得在選擇至少一個未啟動虛擬機(jī)的過程中,無疑產(chǎn)生了一個虛擬機(jī)編排啟動的順序,與現(xiàn)有技術(shù)相比,啟動的順序已經(jīng)不在是單純地按照虛擬機(jī)編號,并且這種順序使得已啟動的虛擬機(jī)中的vnfc能夠發(fā)揮最大效能。根據(jù)第一方面或者第二方面,在一種可能的設(shè)計中,從所述多個虛擬機(jī)中選擇至少一個未啟動虛擬機(jī)作為待啟動虛擬機(jī)集合包括:根據(jù)所述分布關(guān)系確定出k個類型,所述k個類型為所述n個類型的子集,且所述k個類型的vnfc在所述已啟動虛擬機(jī)中不存在;按照第一預(yù)設(shè)規(guī)則從所述多個虛擬機(jī)中選擇出l個未啟動虛擬機(jī)加入到所述待啟動虛擬機(jī)集合中中,所述l個虛擬機(jī)中包含所述k個類型的vnfc,所述第一預(yù)設(shè)規(guī)則使得l不大于k;再按照第二預(yù)設(shè)規(guī)則從所述多個虛擬機(jī)中選擇出h個未啟動虛擬機(jī)加入到所述待啟動虛擬機(jī)集合中,所述第二預(yù)設(shè)規(guī)則使得所述第一組虛擬機(jī)中的所述每個類型的vnfc的數(shù)量總和分別滿足所述每個類型的vnfc對應(yīng)的預(yù)設(shè)數(shù)量。其中,第一預(yù)設(shè)規(guī)則可以是優(yōu)先選擇含有k個類型中種類最豐富的未啟動虛擬機(jī);例如k=3,類型分別為k1、k2、k3,優(yōu)先選擇同時含有k1、k2、k3這三種vnfc的虛擬機(jī),若沒有則選擇含有k1、k2、k3其中兩種的vnfc的虛擬機(jī),若還沒有再選擇含有k1、k2、k3其中一種的vnfc的虛擬機(jī)。第二預(yù)設(shè)規(guī)則可以是一種隨機(jī)順序,只需要遵照簡單的加法原理即可;第二預(yù)設(shè)規(guī)則也可以是一種數(shù)量優(yōu)先的順序,即含有第一業(yè)務(wù)對應(yīng)的vnfc數(shù)量(只看數(shù)量不看種類)最多的虛擬機(jī)優(yōu)先被選擇;第二預(yù)設(shè)規(guī)則也可以是一種種類優(yōu)先的順序,即含有第一業(yè)務(wù)對應(yīng)的vnfc種類最多的虛擬機(jī)優(yōu)先被選擇。在上述任何一種預(yù)設(shè)規(guī)則的具體實(shí)現(xiàn)形式中,若出現(xiàn)優(yōu)先級等同的虛擬機(jī)有多個時,可以采用隨機(jī)的方式進(jìn)行選擇。該技術(shù)方案可以使得啟動數(shù)量盡可能少的虛擬機(jī)就能保證第一網(wǎng)絡(luò)業(yè)務(wù)的基本實(shí)現(xiàn),使得在虛擬機(jī)故障或者新建一個虛擬機(jī)系統(tǒng)時第一網(wǎng)絡(luò)業(yè)務(wù)功能起碼能夠恢復(fù)或者建立。根據(jù)第一方面或者第二方面,在一種可能的設(shè)計中,在所述按照第一預(yù)設(shè)規(guī)則從所述多個虛擬機(jī)中選擇出l個未啟動虛擬機(jī)的過程中,獲取所述l個未啟動虛擬機(jī)的第一選擇順序;在所述按照第二預(yù)設(shè)規(guī)則從所述多個虛擬機(jī)中選擇出h個未啟動虛擬機(jī)的過程中,獲取所述h個未啟動虛擬機(jī)的第二選擇順序;所述啟動所述待啟動虛擬機(jī)集合中的虛擬機(jī)包括:先按照所述第一選擇順序啟動所述l個未啟動虛擬機(jī),再按照所述第二選擇順序啟動所述h個未啟動虛擬機(jī)。按照上述的選擇順序進(jìn)行編排啟動虛擬機(jī),能夠使已啟動的虛擬機(jī)中包含盡可能數(shù)量眾多、種類豐富的vnfc,實(shí)現(xiàn)了第一網(wǎng)絡(luò)業(yè)務(wù)的快速恢復(fù)或者建立。根據(jù)第一方面或者第二方面,在一種可能的設(shè)計中,任意一個虛擬機(jī)的屬性信息表中包含一個vnfc字段,所述一個vnfc字段記錄了所述任意一個虛擬機(jī)中運(yùn)行的第i類型的vnfc數(shù)量;所述獲取所述n個類型的vnfc與虛擬機(jī)的分布關(guān)系包括:讀取所述一個vnfc字段,得到所述任意一個虛擬機(jī)中運(yùn)行的第i類型的vnfc數(shù)量。這是一種獲取vnfc在虛擬機(jī)中分布關(guān)系的一種方法,可以使系統(tǒng)掌握每個虛擬機(jī)運(yùn)行的vnfc的情況以及每種vnfc在哪些虛擬機(jī)中有分布情況。根據(jù)第一方面或者第二方面,在一種可能的設(shè)計中,任意一個虛擬機(jī)中含有軟件包,所述軟件包中記錄所述第i類型的vnfc的數(shù)量;所述獲取所述n個類型的vnfc與虛擬機(jī)的分布關(guān)系包括:通過加載軟件包獲取到所述任意一個虛擬機(jī)中含有所述第i類型的vnfc的數(shù)量。這是另一種獲取vnfc在虛擬機(jī)中分布關(guān)系的一種方法,可以使系統(tǒng)掌握每個虛擬機(jī)運(yùn)行的vnfc的情況以及每種vnfc在哪些虛擬機(jī)中有分布情況。根據(jù)第一方面或者第二方面,在一種可能的設(shè)計中,在啟動上述至少一個待啟動虛擬機(jī)之后,可以按照隨機(jī)的順序啟動剩余的還沒啟動的待啟動虛擬機(jī)。通常每一次啟動的虛擬機(jī)都會在滿足vnfc目標(biāo)使用量的前提下留有一定的余量,以確保vnfc具備一定的可靠性。而本方法在實(shí)現(xiàn)目標(biāo)使用量的vnfc之后,可以不再對之后啟動的虛擬機(jī)有任何的順序限定,可以減少系統(tǒng)的處理功耗。第三方面,本發(fā)明實(shí)施例提供了一種啟動虛擬機(jī)的方法,所述方法應(yīng)用于部署了m個網(wǎng)絡(luò)業(yè)務(wù)的網(wǎng)絡(luò)功能虛擬化nfv網(wǎng)絡(luò),所述nfv網(wǎng)絡(luò)由運(yùn)行于計算設(shè)備上的多個虛擬機(jī)實(shí)現(xiàn),其中,第x業(yè)務(wù)為所述m個網(wǎng)絡(luò)業(yè)務(wù)中的一個網(wǎng)絡(luò)業(yè)務(wù);所述第x業(yè)務(wù)由n(x)個類型的vnfc共同實(shí)現(xiàn),n為正整數(shù);x的取值包括不大于m的所有正整數(shù),m為大于1的自然數(shù);所述方法包括:獲取所述n(x)個類型的vnfc與所述多個虛擬機(jī)的分布關(guān)系;所述分布關(guān)系描述了第xi類型的vnfc分布在所述多個虛擬機(jī)中的每個虛擬機(jī)中的數(shù)量;其中,所述第xi類型為所述第x業(yè)務(wù)對應(yīng)的n(x)個類型中的一個,i的取值包括不大于所述n(x)的所有正整數(shù);根據(jù)所述分布關(guān)系,從所述多個虛擬機(jī)中選擇至少一個未啟動虛擬機(jī)作為待啟動虛擬機(jī)集合,使得第一組虛擬機(jī)中的m個網(wǎng)絡(luò)業(yè)務(wù)下的每個類型的vnfc的數(shù)量總和滿足所述每個類型的vnfc對應(yīng)的預(yù)設(shè)數(shù)量,所述第一組虛擬機(jī)集合包括已啟動虛擬機(jī)集合及所述待啟動虛擬機(jī)集合,所述已啟動虛擬機(jī)集合中的已啟動虛擬機(jī)數(shù)量大于等于0,當(dāng)數(shù)量大于0時,所述已啟動虛擬機(jī)屬于所述多個虛擬機(jī);啟動所述待啟動虛擬機(jī)集合中的虛擬機(jī)。該方法能夠根據(jù)各個虛擬機(jī)中vnfc的種類和數(shù)量,有針對性地、有選擇性地選擇出來盡量少的虛擬機(jī),進(jìn)而能夠?qū)崿F(xiàn)m個業(yè)務(wù)的盡快實(shí)現(xiàn)。第四方面,本發(fā)明實(shí)施例提供了一種啟動虛擬機(jī)的裝置,所述裝置應(yīng)用于部署了m個網(wǎng)絡(luò)業(yè)務(wù)的網(wǎng)絡(luò)功能虛擬化nfv網(wǎng)絡(luò),所述nfv網(wǎng)絡(luò)由運(yùn)行于計算設(shè)備上的多個虛擬機(jī)實(shí)現(xiàn),其中,第x業(yè)務(wù)為所述m個網(wǎng)絡(luò)業(yè)務(wù)中的一個網(wǎng)絡(luò)業(yè)務(wù);所述第x業(yè)務(wù)由n(x)個類型的vnfc共同實(shí)現(xiàn),n為正整數(shù);x的取值包括不大于m的所有正整數(shù),m為大于1的自然數(shù);所述裝置包括:獲取模塊,用于獲取所述n(x)個類型的vnfc與所述多個虛擬機(jī)的分布關(guān)系;所述分布關(guān)系描述了第xi類型的vnfc分布在所述多個虛擬機(jī)中的每個虛擬機(jī)中的數(shù)量;其中,所述第xi類型為所述第x業(yè)務(wù)對應(yīng)的n(x)個類型中的一個,i的取值包括不大于所述n(x)的所有正整數(shù);選擇模塊,用于根據(jù)所述獲取模塊獲取到的分布關(guān)系,從所述多個虛擬機(jī)中選擇至少一個未啟動虛擬機(jī)作為待啟動虛擬機(jī)集合,使得第一組虛擬機(jī)中的m個網(wǎng)絡(luò)業(yè)務(wù)下的每個類型的vnfc的數(shù)量總和滿足所述每個類型的vnfc對應(yīng)的預(yù)設(shè)數(shù)量,所述第一組虛擬機(jī)集合包括已啟動虛擬機(jī)集合及所述待啟動虛擬機(jī)集合,所述已啟動虛擬機(jī)集合中的已啟動虛擬機(jī)數(shù)量大于等于0,當(dāng)數(shù)量大于0時,所述已啟動虛擬機(jī)屬于所述多個虛擬機(jī);啟動模塊,用于啟動所述選擇模塊選擇出來的待啟動虛擬機(jī)集合中的虛擬機(jī)。該裝置能夠根據(jù)各個虛擬機(jī)中vnfc的種類和數(shù)量,有針對性地、有選擇性地選擇出來盡量少的虛擬機(jī),進(jìn)而能夠?qū)崿F(xiàn)nfv網(wǎng)絡(luò)中業(yè)務(wù)的盡快實(shí)現(xiàn)。根據(jù)第三方面或者第四方面,在一種可能的設(shè)計中,所述根據(jù)所述分布關(guān)系,從所述多個虛擬機(jī)中選擇至少一個未啟動虛擬機(jī)作為待啟動虛擬機(jī)集合包括:步驟1:根據(jù)確定所述第一組虛擬機(jī)中所述第xi類型的vnfc的當(dāng)前數(shù)量權(quán)重;其中,αxi為第xi類型的vnfc的當(dāng)前數(shù)量權(quán)重,qxi為所述第一組虛擬機(jī)中所述第xi類型的vnfc的當(dāng)前數(shù)量總和,qxj為所述第一組虛擬機(jī)中第xj類型的vnfc的當(dāng)前數(shù)量總和,所述第xj類型為所述第x業(yè)務(wù)對應(yīng)的n(x)個類型中的一個,j的取值包括不大于n(x)的所有正整數(shù);步驟2:根據(jù)確定的所述第xi類型的vnfc的當(dāng)前數(shù)量權(quán)重αxi與所述第xi類型的vnfc的預(yù)設(shè)數(shù)量權(quán)重,查找出當(dāng)前數(shù)量權(quán)重低于預(yù)設(shè)數(shù)量權(quán)重程度最大的第k類型的vnfc,所述第k類型的vnfc為所述n(x)個類型vnfc中的一個;步驟3:從所述多個虛擬機(jī)中選擇一個含有所述第k類型的vnfc的未啟動虛擬機(jī)加入到所述待啟動虛擬機(jī)集合中;按順序重復(fù)執(zhí)行所述步驟1、所述步驟2和所述步驟3,直到所述第一組虛擬機(jī)中所含有的m個網(wǎng)絡(luò)業(yè)務(wù)下的每個類型的vnfc的數(shù)量總和滿足所述每個類型的vnfc對應(yīng)的預(yù)設(shè)數(shù)量。該技術(shù)方案能夠根據(jù)各個虛擬機(jī)中vnfc的種類和數(shù)量,通過一定的算法,有選擇地選擇最稀缺的vnfc所在的虛擬機(jī),在保證m個業(yè)務(wù)盡快實(shí)現(xiàn)的前提下,能夠充分發(fā)揮當(dāng)前已經(jīng)啟動的虛擬機(jī)中的vnfc的最大效能。根據(jù)第三方面或者第四方面,在一種可能的設(shè)計中,所述根據(jù)所述分布關(guān)系,從所述多個虛擬機(jī)中選擇至少一個未啟動虛擬機(jī)作為待啟動虛擬機(jī)集合包括:確定所述m個業(yè)務(wù)的優(yōu)先級的高低順序,并按照所述優(yōu)先級的高低順序依次對所述m個業(yè)務(wù)中的各個業(yè)務(wù)執(zhí)行業(yè)務(wù)拉通操作;所述業(yè)務(wù)拉通操作包括:步驟1:根據(jù)確定所述第一組虛擬機(jī)中每個類型的vnfc的當(dāng)前數(shù)量權(quán)重;其中,αxi為第xi類型的vnfc的當(dāng)前數(shù)量權(quán)重,qxi為所述第一組虛擬機(jī)中所述第xi類型的vnfc的當(dāng)前數(shù)量總和,qxj為所述第一組虛擬機(jī)中所述第xj類型的vnfc的當(dāng)前數(shù)量總和,xj的取值包括不大于所述當(dāng)前業(yè)務(wù)對應(yīng)的n(x)的所有正整數(shù);步驟2:根據(jù)確定的所述當(dāng)前業(yè)務(wù)中每個類型的vnfc的當(dāng)前數(shù)量權(quán)重αxi與所述當(dāng)前業(yè)務(wù)中每個類型的vnfc的預(yù)設(shè)數(shù)量權(quán)重,查找出當(dāng)前數(shù)量權(quán)重低于預(yù)設(shè)數(shù)量權(quán)重程度最大的第k類型的vnfc,所述第k類型為所述當(dāng)前業(yè)務(wù)中n(x)個類型中的一個;步驟3:從所述多個虛擬機(jī)中選擇一個含有所述第k類型的vnfc的未啟動虛擬機(jī)加入到所述待啟動虛擬機(jī)集合中;按順序重復(fù)執(zhí)行所述步驟1、所述步驟2和所述步驟3,直到所述第一組虛擬機(jī)中的當(dāng)前業(yè)務(wù)下每個類型的vnfc的數(shù)量總和分別滿足所述當(dāng)前業(yè)務(wù)中每個類型的vnfc對應(yīng)的預(yù)設(shè)數(shù)量。該技術(shù)方案能夠根據(jù)各個虛擬機(jī)中vnfc的種類和數(shù)量,通過一定的算法,有選擇地選擇最稀缺的vnfc所在的虛擬機(jī),在保證m個業(yè)務(wù)盡快實(shí)現(xiàn)的前提下,能夠充分發(fā)揮當(dāng)前已經(jīng)啟動的虛擬機(jī)中的vnfc的最大效能,并且具有業(yè)務(wù)優(yōu)先級的區(qū)分,優(yōu)先保證優(yōu)先級高的業(yè)務(wù)的vnfc能夠達(dá)到最大效能后,再去考慮優(yōu)先級低的業(yè)務(wù)的vnfc,尤其確保了高優(yōu)先級的業(yè)務(wù)快速恢復(fù)。根據(jù)第三方面或者第四方面,在一種可能的設(shè)計中,所述從所述多個虛擬機(jī)中選擇一個含有所述第k類型的vnfc的未啟動虛擬機(jī)加入到所述待啟動虛擬機(jī)集合中包括以下任一方式:選擇一個含有所述第k類型的vnfc的數(shù)量最多的未啟動虛擬機(jī)加入到所述待啟動虛擬機(jī)集合中;若含有所述第k類型的vnfc的數(shù)量最多的未啟動虛擬機(jī)為多個時,則選擇一個含有vnfc類型數(shù)量最多的未啟動虛擬機(jī)加入到所述待啟動虛擬機(jī)集合中;或者選擇一個含有vnfc數(shù)量最多的未啟動虛擬機(jī)加入到所述待啟動虛擬機(jī)集合中。該技術(shù)方案為系統(tǒng)在選擇至少一個未虛擬機(jī)時面臨同種篩選條件的未啟動虛擬機(jī)存在多個時,提供一種優(yōu)先的選擇方案。根據(jù)第三方面或者第四方面,在一種可能的設(shè)計中,在所述重復(fù)執(zhí)行所述步驟1、所述步驟2和所述步驟3的過程中,獲取所述選擇的至少一個未啟動虛擬機(jī)的選擇順序;所述啟動所述待啟動虛擬機(jī)集合中的虛擬機(jī)包括:按照所述選擇順序,啟動所述選擇的至少一個未啟動虛擬機(jī)。在選擇至少一個未啟動虛擬機(jī)的過程中,無疑產(chǎn)生了一個虛擬機(jī)編排啟動的順序,與現(xiàn)有技術(shù)相比,啟動的順序已經(jīng)不在是單純地按照虛擬機(jī)編號,并且這種順序使得已啟動的虛擬機(jī)中的vnfc能夠發(fā)揮最大效能。根據(jù)第三方面或者第四方面,在一種可能的設(shè)計中,在所述按照所述優(yōu)先級的高低順序依次對所述m個業(yè)務(wù)中的各個業(yè)務(wù)執(zhí)行所述業(yè)務(wù)拉通操作過程中,獲取所述選擇的至少一個未啟動虛擬機(jī)的選擇順序;所述啟動所述待啟動虛擬機(jī)集合中的虛擬機(jī)包括:按照所述選擇順序,啟動所述選擇的至少一個未啟動虛擬機(jī)。在選擇至少一個未啟動虛擬機(jī)的過程中,無疑產(chǎn)生了一個虛擬機(jī)編排啟動的順序,與現(xiàn)有技術(shù)相比,啟動的順序已經(jīng)不在是單純地按照虛擬機(jī)編號,并且這種順序使得已啟動的虛擬機(jī)中的vnfc能夠發(fā)揮最大效能。根據(jù)第三方面或者第四方面,在一種可能的設(shè)計中,所述從所述多個虛擬機(jī)中選擇至少一個未啟動虛擬機(jī)作為待啟動虛擬機(jī)集合包括:根據(jù)所述分布關(guān)系確定出k個類型,所述k個類型為所述m個業(yè)務(wù)對應(yīng)的所有vnfc類型的子集,且所述k個類型的vnfc在所述已啟動虛擬機(jī)中不存在;按照第一預(yù)設(shè)規(guī)則從所述多個虛擬機(jī)中選擇出l個未啟動啟動虛擬機(jī)加入到所述待啟動虛擬機(jī)集合中,所述l個未啟動虛擬機(jī)中包含所述k個類型的vnfc,所述第一預(yù)設(shè)規(guī)則使得l不大于k;再按照第二預(yù)設(shè)規(guī)則從所述多個虛擬機(jī)中選擇出h個未啟動虛擬機(jī)加入到所述待啟動虛擬機(jī)集合中,所述第二預(yù)設(shè)規(guī)則使得所述第一組虛擬機(jī)中所含有的m個網(wǎng)絡(luò)業(yè)務(wù)下的每個類型的vnfc的數(shù)量總和滿足所述每個類型的vnfc對應(yīng)的預(yù)設(shè)數(shù)量。例如k=3,類型分別為k1、k2、k3,優(yōu)先選擇同時含有k1、k2、k3這三種vnfc的虛擬機(jī),若沒有則選擇含有k1、k2、k3其中兩種的vnfc的虛擬機(jī),若還沒有再選擇含有k1、k2、k3其中一種的vnfc的虛擬機(jī)。第二預(yù)設(shè)規(guī)則可以是一種隨機(jī)順序,只需要遵照簡單的加法原理即可;第二預(yù)設(shè)規(guī)則也可以是一種數(shù)量優(yōu)先的順序,即含有相應(yīng)業(yè)務(wù)對應(yīng)的vnfc數(shù)量(只看數(shù)量不看種類)最多的虛擬機(jī)優(yōu)先被選擇;第二預(yù)設(shè)規(guī)則也可以是一種種類優(yōu)先的順序,即含有第一業(yè)務(wù)對應(yīng)的vnfc種類最多的虛擬機(jī)優(yōu)先被選擇。在上述任何一種預(yù)設(shè)規(guī)則的具體實(shí)現(xiàn)形式中,若出現(xiàn)優(yōu)先級等同的虛擬機(jī)有多個時,可以采用隨機(jī)的方式進(jìn)行選擇。該技術(shù)方案提供了一種新的虛擬機(jī)編排啟動方法,可以使得啟動數(shù)量盡可能少的虛擬機(jī)就能保證業(yè)務(wù)的基本實(shí)現(xiàn),使得在虛擬機(jī)故障或者新建一個虛擬機(jī)系統(tǒng)時m個業(yè)務(wù)功能能夠恢復(fù)或者建立。根據(jù)第三方面或者第四方面,在一種可能的設(shè)計中,在所述按照第一預(yù)設(shè)規(guī)則從所述多個虛擬機(jī)中選擇出l個未啟動虛擬機(jī)的過程中,獲取所述l個待啟動虛擬機(jī)的第一選擇順序;在所述按照第二預(yù)設(shè)規(guī)則從所述多個虛擬機(jī)中選擇出h個未啟動虛擬機(jī)的過程中,獲取所述h個待啟動虛擬機(jī)的第二選擇順序;所述啟動所述待啟動虛擬機(jī)集合中的虛擬機(jī)包括:先按照所述第一選擇順序啟動所述l個未啟動虛擬機(jī),再按照所述第二先后選擇順序啟動所述h個未啟動虛擬機(jī)。該技術(shù)方案提供了一種新的虛擬機(jī)編排啟動方法,可以使得啟動數(shù)量盡可能少的虛擬機(jī)就能保證業(yè)務(wù)的基本實(shí)現(xiàn),使得在虛擬機(jī)故障或者新建一個虛擬機(jī)系統(tǒng)時m個業(yè)務(wù)功能能夠恢復(fù)或者建立。根據(jù)第三方面或者第四方面,在一種可能的設(shè)計中,從所述多個虛擬機(jī)中選擇至少一個未啟動虛擬機(jī)作為待啟動虛擬機(jī)集合包括:確定所述m個業(yè)務(wù)的優(yōu)先級的高低順序,并按照所述優(yōu)先級的高低順序依次對所述m個業(yè)務(wù)中的每個業(yè)務(wù)執(zhí)行業(yè)務(wù)保障操作,從所述多個虛擬機(jī)中選擇出h1個未啟動虛擬機(jī)加入到所述待啟動虛擬機(jī)集合中;對所述m個業(yè)務(wù)中的每個業(yè)務(wù)執(zhí)行業(yè)務(wù)保障操作之后,再按照第四預(yù)設(shè)規(guī)則從所述多個虛擬機(jī)中選擇出h2個未啟動虛擬機(jī)加入到所述待啟動虛擬機(jī)集合中,所述第四預(yù)設(shè)規(guī)則使得所述第一組虛擬機(jī)中所含有的m個網(wǎng)絡(luò)業(yè)務(wù)下的每個類型的vnfc的數(shù)量總和滿足所述每個類型的vnfc對應(yīng)的預(yù)設(shè)數(shù)量;其中;所述業(yè)務(wù)保障操作包括:根據(jù)所述分布關(guān)系確定出k(x)個類型,所述k(x)個類型為當(dāng)前業(yè)務(wù)中n(x)個類型的子集,且所述k(x)個類型的vnfc在所述已啟動虛擬機(jī)中不存在;按照第三預(yù)設(shè)規(guī)則從所述多個虛擬機(jī)中選擇出l(x)個未啟動虛擬機(jī)加入到所述待啟動虛擬機(jī)集合中,所述l(x)個未啟動虛擬機(jī)中包含所述k(x)個類型的vnfc,所述第三預(yù)設(shè)規(guī)則使得l(x)不大于k(x)。該技術(shù)方案提供一種虛擬機(jī)編排選擇方法,這種編排順序可以使得啟動數(shù)量盡可能少的虛擬機(jī)就能保證業(yè)務(wù)的基本實(shí)現(xiàn),尤其是多業(yè)務(wù)存在的時候,能保證優(yōu)先級高的業(yè)務(wù)優(yōu)先實(shí)現(xiàn),使得在虛擬機(jī)故障或者新建一個虛擬機(jī)系統(tǒng)時業(yè)務(wù)功能起碼能夠恢復(fù)或者建立。根據(jù)第三方面或者第四方面,在一種可能的設(shè)計中,在對所述m個業(yè)務(wù)中的每個業(yè)務(wù)執(zhí)行業(yè)務(wù)保障操作的過程中,獲取所述h1個未啟動虛擬機(jī)的第三選擇順序;在所述按照第四預(yù)設(shè)規(guī)則從所述多個虛擬機(jī)中選擇出h2個未啟動虛擬機(jī)的過程中,獲取所述h2個未啟動虛擬機(jī)的第四選擇順序;所述啟動所述待啟動虛擬機(jī)集合中的虛擬機(jī)包括:先按照所述第三選擇順序啟動所述h1個未啟動虛擬機(jī),再按照所述第四選擇順序啟動所述h2個未啟動虛擬機(jī)。該技術(shù)方案可以使得啟動數(shù)量盡可能少的虛擬機(jī)就能保證業(yè)務(wù)的基本實(shí)現(xiàn),尤其是多業(yè)務(wù)存在的時候,能保證優(yōu)先級高的業(yè)務(wù)優(yōu)先實(shí)現(xiàn),使得在虛擬機(jī)故障或者新建一個虛擬機(jī)系統(tǒng)時業(yè)務(wù)功能起碼能夠恢復(fù)或者建立。根據(jù)第三方面或者第四方面,在一種可能的設(shè)計中,任意一個虛擬機(jī)的屬性信息表中包含一個vnfc字段,所述一個vnfc字段記錄了所述任意一個虛擬機(jī)中運(yùn)行的第xi類型的vnfc數(shù)量;所述獲取所述n(x)個類型的vnfc與虛擬機(jī)的分布關(guān)系包括:讀取所述一個vnfc字段,得到所述任意一個虛擬機(jī)中運(yùn)行的第xi類型的vnfc數(shù)量。這是一種獲取vnfc在虛擬機(jī)中分布關(guān)系的一種方法,可以使系統(tǒng)掌握每個虛擬機(jī)運(yùn)行的vnfc的情況以及每種vnfc在哪些虛擬機(jī)中有分布情況。根據(jù)第三方面或者第四方面,在一種可能的設(shè)計中,任意一個虛擬機(jī)中含有軟件包,所述軟件包中記錄所述第xi類型的vnfc的數(shù)量;所述獲取所述n個類型的vnfc與虛擬機(jī)的分布關(guān)系包括:通過加載所述軟件包獲取到所述任意一個虛擬機(jī)中含有所述第xi類型的vnfc的數(shù)量。這是另一種獲取vnfc在虛擬機(jī)中分布關(guān)系的一種方法,可以使系統(tǒng)掌握每個虛擬機(jī)運(yùn)行的vnfc的情況以及每種vnfc在哪些虛擬機(jī)中有分布情況。根據(jù)第三方面或者第四方面,在一種可能的設(shè)計中,在啟動上述至少一個待啟動虛擬機(jī)之后,可以按照隨機(jī)的順序啟動剩余的還沒啟動的待啟動虛擬機(jī);在實(shí)現(xiàn)目標(biāo)使用量的vnfc之后,可以不再對之后啟動的虛擬機(jī)有任何的順序限定。通常每一次啟動的虛擬機(jī)都會在滿足vnfc目標(biāo)使用量的前提下留有一定的余量,以確保vnfc具備一定的可靠性。不限定次序可以減少系統(tǒng)的處理功耗。第五方面,本發(fā)明提供了一種虛擬機(jī)啟動設(shè)備,所述設(shè)備至少包括:處理器、存儲器和總線;所述處理器、所述存儲器通過所述總線連接通信;所述存儲器存儲有程序和指令,所述處理器調(diào)用所述存儲器中的程序和指令,用于實(shí)現(xiàn)上述任意一種可能的設(shè)計方法與等同方法?,F(xiàn)有技術(shù)中,為了避免虛擬機(jī)的啟動風(fēng)暴,需要限制同時啟動的虛擬機(jī)數(shù)量,因此在存在啟動數(shù)量的約束下,通常按照主機(jī)或者vnf的順序啟動虛擬機(jī),這樣會導(dǎo)致實(shí)現(xiàn)某種特定業(yè)務(wù)(目標(biāo)業(yè)務(wù))的必備的多種類型的vnfc不能快速啟動齊全,從而導(dǎo)致業(yè)務(wù)啟動效率較低。而在本發(fā)明實(shí)施例中,通過獲取虛擬機(jī)中vnfc的類型和數(shù)量分布情況,可以按照業(yè)務(wù)需求選擇出待啟動虛擬機(jī)并對待啟動虛擬機(jī)編排順序,該方法可以保證用于運(yùn)行有特定業(yè)務(wù)或高優(yōu)先級業(yè)務(wù)對應(yīng)的vnfc類型的虛擬機(jī)優(yōu)先被啟動,而不再像現(xiàn)有技術(shù)中隨機(jī)的批量啟動,從而實(shí)現(xiàn)業(yè)務(wù)快速提供和業(yè)務(wù)處理能力的快速提升。附圖說明圖1為一種vnfc在虛擬機(jī)中的分布示意圖;圖2a為本發(fā)明實(shí)施例可以應(yīng)用的nfv系統(tǒng)000的系統(tǒng)架構(gòu)示意圖;圖2b為一種虛擬機(jī)共享物理資源示意圖;圖3為一種nfv網(wǎng)絡(luò)中業(yè)務(wù)與vnfc的對應(yīng)關(guān)系示意圖;圖4是本發(fā)明實(shí)施例中一種啟動虛擬機(jī)的方法的流程示意圖;圖5是本發(fā)明實(shí)施例中一種會話控制業(yè)務(wù)中的vnf與vnfc的對應(yīng)關(guān)系圖;圖6是本發(fā)明實(shí)施例中一種多業(yè)務(wù)場景下啟動虛擬機(jī)的方法的流程示意圖;圖7a和圖7b為采用現(xiàn)有技術(shù)和本發(fā)明方法對虛擬機(jī)進(jìn)行編排的對比實(shí)例;圖8是本發(fā)明實(shí)施例中一種啟動虛擬機(jī)的裝置結(jié)構(gòu)示意圖;圖9為本發(fā)明實(shí)施例中一種虛擬機(jī)啟動裝置中的選擇模塊303示意圖;圖10為本發(fā)明實(shí)施例中另一種虛擬機(jī)啟動裝置中的選擇模塊303示意圖;圖11為本發(fā)明實(shí)施例中一種虛擬機(jī)啟動的計算機(jī)結(jié)構(gòu)示意圖。具體實(shí)施方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。請參考圖2a,為本發(fā)明實(shí)施例可以應(yīng)用的nfv系統(tǒng)000的系統(tǒng)架構(gòu)示意圖。需要說明的是,該nfv系統(tǒng)只是舉例說明,本發(fā)明的應(yīng)用范圍并不局限于此。圖2a所示的nfv系統(tǒng)可以通過多種網(wǎng)絡(luò)實(shí)現(xiàn),例如數(shù)據(jù)中心網(wǎng)絡(luò)、服務(wù)提供者網(wǎng)絡(luò)、或者局域網(wǎng)(localareanetwork,lan)。如圖2a所示,該nfv系統(tǒng)可以包括nfv管理和編制系統(tǒng)(managementandorchestrationsystem)028,nfv基礎(chǔ)設(shè)施(nfvinfrastructure,nfvi)030,多個虛擬網(wǎng)絡(luò)功能(vnf)008,多個網(wǎng)元管理系統(tǒng)(elementmanagementsystem,ems)022,服務(wù)、vnf和基礎(chǔ)設(shè)施描述(service,vnfandinfrastructuredescription)系統(tǒng)026,以及一個或多個運(yùn)營支撐系統(tǒng)/業(yè)務(wù)支撐系統(tǒng)(operationsupportsystem/businesssupportsystem,oss/bss)024。nfv管理和編制系統(tǒng)128可以包括編制器(orchestrator)002、一個或多個vnf管理器(vnfmanager)004,以及一個或多個虛擬基礎(chǔ)設(shè)施管理器(virtualizedinfrastructuremanager)006。nfvi030可以包括計算硬件012、存儲硬件014、網(wǎng)絡(luò)硬件016組成的硬件資源層、虛擬化層、以及虛擬計算010(例如虛擬機(jī))、虛擬存儲018和虛擬網(wǎng)絡(luò)020組成的虛擬資源層。計算硬件012可以為專用的處理器或通用的用于提供處理和計算功能的處理器。存儲硬件014用于提供存儲能力,該存儲能力可以是存儲硬件014本身提供的(例如一臺服務(wù)器的本地內(nèi)存),也可以通過網(wǎng)絡(luò)提供(例如服務(wù)器通過網(wǎng)絡(luò)連接一個網(wǎng)絡(luò)存儲設(shè)備)。網(wǎng)絡(luò)硬件016可以是交換機(jī)、路由器和/或其他網(wǎng)絡(luò)設(shè)備,網(wǎng)絡(luò)硬件016用于實(shí)現(xiàn)多個設(shè)備之間的通信,多個設(shè)備之間通過無線或有線連接。nfvi030中的虛擬化層用于抽象硬件資源層的硬件資源,將vnf008和硬件資源所屬的物理層解耦,向vnf提供虛擬資源。如圖2a所示,虛擬資源可以包括虛擬計算010、虛擬存儲018和虛擬網(wǎng)絡(luò)020。虛擬計算010、虛擬存儲018可以以虛擬機(jī)或其他虛擬容器的形式向vnf008提供,例如一個或多個vnf008可以部署在一臺虛擬機(jī)上。虛擬化層通過抽象網(wǎng)絡(luò)硬件016形成虛擬網(wǎng)絡(luò)020。虛擬網(wǎng)絡(luò)020,例如虛擬交換機(jī)(例如vswitches),用于實(shí)現(xiàn)多個虛擬機(jī)之間,或多個承載vnf的其他類型的虛擬容器之間的通信。網(wǎng)絡(luò)硬件的虛擬化可以通過虛擬lan(vrituallan,vlan)、虛擬專用局域網(wǎng)業(yè)務(wù)(virtualprivatelanservice,vpls)、虛擬可擴(kuò)展局域網(wǎng)(virtualextensiblelocalareanetwork,vxlan)或通用路由封裝網(wǎng)絡(luò)虛擬化(nerworkvirtualizationusinggenericroutingencapsulation,nvgre)等技術(shù)實(shí)現(xiàn)。oss/bss124主要面向電信服務(wù)運(yùn)營商,提供綜合的網(wǎng)絡(luò)管理和業(yè)務(wù)運(yùn)營功能,包括網(wǎng)絡(luò)管理(例如故障監(jiān)控、網(wǎng)絡(luò)信息收集等)、計費(fèi)管理以及客戶服務(wù)管理等。vnf和基礎(chǔ)設(shè)施描述系統(tǒng)026在etsigsnfv002v1.1.1標(biāo)準(zhǔn)中有詳細(xì)介紹,本發(fā)明實(shí)施例在此不再贅述。nfv管理和編制系統(tǒng)028可以用于實(shí)現(xiàn)vnf008和nfvi030的監(jiān)控和管理。編制器002可以與一個或多個vnf管理器004通信以實(shí)現(xiàn)與資源相關(guān)的請求、發(fā)送配置信息給vnf管理器004、以及收集vnf008的狀態(tài)信息。另外,編制器002還可以與虛擬基礎(chǔ)設(shè)施管理器006進(jìn)行通信以實(shí)現(xiàn)資源分配,和/或?qū)崿F(xiàn)虛擬化硬件資源的配置信息和狀態(tài)信息的預(yù)留和交換。vnf管理器004可以用于管理一個或多個vnf008,執(zhí)行各種管理功能,例如初始化、更新、查詢、和/或終止vnf008。虛擬基礎(chǔ)設(shè)施管理器006可以用于控制和管理vnf108和計算硬件012、存儲硬件014、網(wǎng)絡(luò)硬件016、虛擬計算010、虛擬存儲018、虛擬網(wǎng)絡(luò)020的交互。例如,虛擬基礎(chǔ)設(shè)施管理器006可以用于執(zhí)行資源向vnf008的分配操作。vnf管理器004和虛擬基礎(chǔ)設(shè)施管理器006可以互相通信以交換虛擬化硬件資源配置和狀態(tài)信息。nfvi030包含硬件和軟件,二者共同建立虛擬化環(huán)境以部署、管理和執(zhí)行vnf008。換句話說,硬件資源層和虛擬資源層用于向vnf008提供虛擬資源,例如虛擬機(jī)和/或其他形式的虛擬容器。如圖2a所示,vnf管理器004可以與vnf008和ems022通信以執(zhí)行vnf生命周期管理和實(shí)現(xiàn)配置信息/狀態(tài)信息的交換。vnf008是至少一個網(wǎng)絡(luò)功能的虛擬化,該網(wǎng)絡(luò)功能之前是由物理網(wǎng)絡(luò)設(shè)備提供的。在一種實(shí)現(xiàn)方式下,vnf008可以是一個虛擬化的移動管理實(shí)體(mobilitymanagemententity,mme)節(jié)點(diǎn),用于提供典型的非虛擬化的mme設(shè)備提供的所有網(wǎng)絡(luò)功能。在另一種實(shí)現(xiàn)方式下,vnf008可以用于實(shí)現(xiàn)非虛擬化的mme設(shè)備上提供的全部組件中的部分組件的功能。一個虛擬機(jī)(或其他形式的虛擬容器)上可以部署有一個或多個vnf008。ems022可以用于管理一個或多個vnf。mme是3gpp(3rdgenerationpartnershipproject)協(xié)議lte(longtermevolution)接入網(wǎng)絡(luò)的關(guān)鍵控制節(jié)點(diǎn),它負(fù)責(zé)空閑模式的ue(userequipment)的定位,傳呼和中繼,簡單的說mme負(fù)責(zé)信令處理部分。當(dāng)一個ue初始化并且連接到該mme時,該mme負(fù)責(zé)為這個ue選擇一個sgw(servinggateway)。mme還用于通過和hss(homesubscriberserver)交互認(rèn)證一個用戶,為一個用戶分配一個臨時id(identifier)。mme也支持在法律許可的范圍內(nèi)進(jìn)行攔截和監(jiān)聽。本發(fā)明中涉及到對虛擬網(wǎng)絡(luò)功能的編排和管理,因此本發(fā)明所涉及的方法和裝置主要對應(yīng)于028虛擬網(wǎng)絡(luò)功能管理和編排系統(tǒng)。本發(fā)明中首先需要關(guān)注的是nfv網(wǎng)絡(luò)中vnfc的分布情況,大型的nfv網(wǎng)絡(luò)會運(yùn)行大量的虛擬機(jī),這些虛擬機(jī)可以共享一些物理資源,物理資源包括主機(jī)和共享存儲,例如。如圖2b所示,vm0和vm1共享主機(jī)1,vm2和vm3共享主機(jī)2,vm4和vm5共享主機(jī)3,vm6和vm7共享主機(jī)4,vm0、vm1、vm2、vm3、vm4、vm5、vm6和vm7共享存儲資源。vnfc組件運(yùn)行在虛擬機(jī)上,通常多個虛擬機(jī)會運(yùn)行相同的vnfc,從而提供更強(qiáng)的業(yè)務(wù)處理能力或者更高的業(yè)務(wù)可靠性,有些虛擬機(jī)也會運(yùn)行多個不同的虛擬化網(wǎng)絡(luò)功能組件,如圖2b所示,vm0和vm2均運(yùn)行vnfc000和vnfc001,vm1和vm3運(yùn)行vnfc002,vm4和vm5運(yùn)行vnfc010,以及vm6和vm7運(yùn)行vnfc010。在實(shí)際應(yīng)用中,nfv網(wǎng)絡(luò)需要正常提供一個或多個網(wǎng)絡(luò)業(yè)務(wù)(簡稱業(yè)務(wù)),每一個網(wǎng)絡(luò)業(yè)務(wù)都對應(yīng)有一個特定的vnfc集合,因此上述nfv網(wǎng)絡(luò)就需要一個或多個特定的vnfc集合正常工作。不同類型業(yè)務(wù)的vnfc集合一般不盡不同。例如,如圖3所示,業(yè)務(wù)0需要{vnfc000,vnfc001,vnfc010,vnfc011}這個集合中vnfc來共同實(shí)現(xiàn),業(yè)務(wù)1需要{vnfc000,vnfc002,vnfc020,vnfc021}這個集合中的vnfc來共同實(shí)現(xiàn)。其中,vnfc000,vnfc001和vnfc002屬于vnf00,vnfc010和vnfc011屬于vnf01,vnfc020和vnfc021屬于vnf02;值得注意的是,不同的vnf通常不會對應(yīng)有相同的vnfc。具體實(shí)現(xiàn)過程中,一個大的nfv網(wǎng)絡(luò)能夠提供眾多的網(wǎng)絡(luò)業(yè)務(wù),如語音業(yè)務(wù)、融合通信rcs(短消息、圖片共享)業(yè)務(wù)等等。對于任何一個特定的業(yè)務(wù),nfv網(wǎng)絡(luò)都需要一個特定的vnfc集合,該集合中至少包含一種類型的vnfc,并且vnfc集合中的vnfc種類各不相同;該集合中的所有vnfc共同組合實(shí)現(xiàn)這一特定的網(wǎng)絡(luò)業(yè)務(wù),且缺一不可?,F(xiàn)有技術(shù)中,為了避免虛擬機(jī)的啟動風(fēng)暴,需要限制同時啟動的虛擬機(jī)數(shù)量,因此在存在啟動數(shù)量的約束下通常按照主機(jī)或者vnf的順序啟動虛擬機(jī),這樣會導(dǎo)致實(shí)現(xiàn)某種特定業(yè)務(wù)(目標(biāo)業(yè)務(wù))的必備的多種類型的vnfc不能快速啟動齊全,從而導(dǎo)致業(yè)務(wù)啟動效率較低。在虛擬機(jī)的集中啟動的過程中或者在虛擬機(jī)大片出現(xiàn)故障需要恢復(fù)的場景中,該問題尤為需要解決。因此為了解決該問題,本文提供了一種啟動虛擬機(jī)的方法和裝置,能夠根據(jù)vnfc在虛擬機(jī)中的分布情況對虛擬機(jī)的啟動順序進(jìn)行合理的編排規(guī)劃,使得能夠在盡量短的時間內(nèi)能夠恢復(fù)目標(biāo)業(yè)務(wù)。滿足目標(biāo)業(yè)務(wù)需求主要包括以下兩個方面:1)目標(biāo)業(yè)務(wù)能夠盡快實(shí)現(xiàn),提供目標(biāo)業(yè)務(wù)的全套vnfc能夠啟動齊全;例如若目標(biāo)業(yè)務(wù)為業(yè)務(wù)0,則需要vnfc000、vnfc001、vnfc010、vnfc011這四種vnfc啟動齊全,使業(yè)務(wù)0的功能得以實(shí)現(xiàn)或恢復(fù)。2)目標(biāo)業(yè)務(wù)的每種vnfc的數(shù)量盡快達(dá)到預(yù)設(shè)數(shù)量,以滿足對目標(biāo)業(yè)務(wù)服務(wù)的數(shù)量需求;例如若目標(biāo)業(yè)務(wù)為業(yè)務(wù)1(業(yè)務(wù)1對應(yīng)的vnfc包括vnfc000、vnfc002、vnfc020、vnfc021),服務(wù)商通過對用戶使用習(xí)慣的大量統(tǒng)計得出vnfc000、vnfc002、vnfc020、vnfc021的預(yù)計運(yùn)行數(shù)量,通常每一種vnfc的預(yù)計數(shù)量各不相同,大部分時間用戶可能是在利用vnfc000,僅有小部分的時間在利用vnfc002,假設(shè)服務(wù)商所期望的vnfc000、vnfc002、vnfc020、vnfc021的數(shù)量分別為100個、30個、20個、10個;此時服務(wù)商則需要盡快啟動一些虛擬機(jī)以使得vnfc000、vnfc002、vnfc020、vnfc021最終在已啟動虛擬機(jī)中運(yùn)行的個數(shù)分別達(dá)到100個、30個、20個、10個。在沒有啟動齊全的過程中,服務(wù)商希望vnfc000、vnfc002、vnfc020、vnfc021的數(shù)量比例能夠接近100:30:20:10,以充分利用當(dāng)前已啟動虛擬機(jī)中有限數(shù)量的vnfc000、vnfc002、vnfc020、vnfc021。由于本發(fā)明的應(yīng)用場景按照需求不同可以涉及到單一業(yè)務(wù)類型和多業(yè)務(wù)類型,因此下文也將主要針對這兩種場景進(jìn)行分開闡述。一.單一業(yè)務(wù)場景單一業(yè)務(wù)類型需求場景包括兩種情況:一種是指nfv網(wǎng)絡(luò)只有一種業(yè)務(wù)優(yōu)先級sla(servicelevelagreement,服務(wù)水平協(xié)議)可用度級別的業(yè)務(wù),網(wǎng)絡(luò)中不存在其他不同業(yè)務(wù)優(yōu)先級的業(yè)務(wù),網(wǎng)絡(luò)中所有的虛擬機(jī)都支持這一種優(yōu)先級業(yè)務(wù)類型的業(yè)務(wù)。另一種是指nfv網(wǎng)絡(luò)中存在多種業(yè)務(wù),網(wǎng)絡(luò)中的虛擬機(jī)中含有不同業(yè)務(wù)對應(yīng)的vnfc,但是本次啟動虛擬機(jī)的目的只為了實(shí)現(xiàn)其中一種特定的業(yè)務(wù)。請參閱圖4,圖4是本發(fā)明實(shí)施例中一種啟動虛擬機(jī)的方法的流程示意圖。該方法100包括:步驟101:根據(jù)第一網(wǎng)絡(luò)業(yè)務(wù),確定n個類型的虛擬化網(wǎng)絡(luò)功能組件vnfc,其中,第一網(wǎng)絡(luò)業(yè)務(wù)為虛擬機(jī)能夠?qū)崿F(xiàn)的眾多網(wǎng)絡(luò)業(yè)務(wù)中的任意一種網(wǎng)絡(luò)業(yè)務(wù),如語音或多媒體傳輸?shù)?;這n個類型構(gòu)成第一vnfc集合,n為正整數(shù);步驟102:獲取這n個類型的vnfc與虛擬機(jī)的分布關(guān)系,該分布關(guān)系描述了第i類型的vnfc分布在目標(biāo)查詢范圍內(nèi)每個虛擬機(jī)中的數(shù)量;其中,每個虛擬機(jī)包括已啟動虛擬機(jī)和未啟動虛擬機(jī),第i類型為上述n個類型中的一個,i的取值包括不大于n的所有正整數(shù);未啟動虛擬機(jī)即還沒有上電運(yùn)行的虛擬機(jī),可以包括系統(tǒng)自動檢測到的由于故障需要重啟的虛擬機(jī),也可以包括系統(tǒng)初始化階段需要啟動的虛擬機(jī);已啟動虛擬機(jī)可以包括已經(jīng)執(zhí)行完啟動動作的虛擬機(jī)以及在執(zhí)行本次啟動操作之前就已經(jīng)在運(yùn)行工作的虛擬機(jī)。值得注意的是,本申請文件中所指的待啟動虛擬機(jī)是指從未啟動虛擬機(jī)中已經(jīng)被選擇出來的,被編排即將啟動的虛擬機(jī)。因此,整個虛擬機(jī)系統(tǒng)在方法執(zhí)行前的組成包括:已啟動虛擬機(jī)(數(shù)量可以為0)和未啟動虛擬機(jī);整個虛擬機(jī)系統(tǒng)在方法執(zhí)行過程中的組成包括:已啟動虛擬機(jī)、待啟動虛擬機(jī)、和未啟動虛擬機(jī)。步驟103:根據(jù)102中獲得的分布關(guān)系,從未啟動的虛擬機(jī)中選擇至少一個未啟動虛擬機(jī),使得第一組虛擬機(jī)中所含有的第i類型的vnfc的數(shù)量總和滿足相應(yīng)的預(yù)設(shè)數(shù)量,第一組虛擬機(jī)集合包括已啟動虛擬機(jī)和選出的至少一個未啟動虛擬機(jī)。其中,至少一個未啟動虛擬機(jī)可以作為待啟動虛擬機(jī)集合。步驟104:啟動103中確定的至少一個待啟動虛擬機(jī)。以下以第一業(yè)務(wù)為例進(jìn)行說明,第一業(yè)務(wù)對應(yīng)的vnfc集合為{vnfc1,vnfc2,vnfc3,vnfc4},其中,第一業(yè)務(wù)并非某一特定業(yè)務(wù)也不是限定次序,而是一種業(yè)務(wù)的泛指,在實(shí)現(xiàn)方法的原理上可以進(jìn)行等同替換的任何業(yè)務(wù)都應(yīng)屬于本發(fā)明所保護(hù)的范圍。作為可選的,步驟102可以具體為:任意一個虛擬機(jī)的屬性信息表中包含一個vnfc字段,這一個vnfc字段記錄了所述任意一個虛擬機(jī)中運(yùn)行的第i類型的vnfc數(shù)量;讀取這一個vnfc字段,得到所述任意一個虛擬機(jī)中運(yùn)行的第i類型的vnfc數(shù)量。通常這個屬性信息表是虛擬機(jī)在創(chuàng)建時生成的,可以設(shè)置一個專門的vnfc字段,或替換現(xiàn)有的某個字段,來記錄虛擬機(jī)與vnfc的對應(yīng)關(guān)系。如下表所示。字段名稱描述vmtypenamevm類型名image虛擬機(jī)加載運(yùn)行的軟件包c(diǎn)puresource需要的cpu資源memoryresource需要的內(nèi)存資源volumeresource需要的存儲資源vnfcvm上運(yùn)行的vnfc類型及數(shù)量(列表)…其他字段作為可選的,步驟102也可以具體為:任意一個虛擬機(jī)中含有軟件包,軟件包中記錄第i類型的vnfc的數(shù)量;所述任意一個虛擬機(jī)通過加載軟件包獲取到所述任意一個虛擬機(jī)中含有第i類型的vnfc的數(shù)量,獲知虛擬機(jī)與vnfc的對應(yīng)關(guān)系。軟件包中的描述文件如下表所示。字段名稱描述imagename軟件包名稱vnfc軟件包包含的vnfc類型及數(shù)量(列表)…其他字段上述虛擬機(jī)與vnfc的對應(yīng)關(guān)系可以包含一個虛擬機(jī)標(biāo)識和在該虛擬機(jī)上運(yùn)行的所有vnfc類型標(biāo)識,不僅可以得到虛擬機(jī)中運(yùn)行vnfc的情形,如:vm0{10-vnfc000}表示vm0虛擬機(jī)中運(yùn)行著10個vnfc000,vm1{10-vnfc000,20-vnfc001,30-vnfc100}表示vm1虛擬機(jī)中運(yùn)行著10個vnfc000、20個vnfc001、30個vnfc100;還可以得到vnfc在虛擬機(jī)中的分布情形,如:vnfc000{10-vm0,20-vm1,30-vm3}表示vnfc000分布在vm0、vm1、vm3中的數(shù)量各為10、20、30;vnfc001{15-vm2,25-vm3}表示vnfc001分布在vm2、vm3中的數(shù)量各為15、25。需要說明的是,本發(fā)明技術(shù)方案不限定虛擬機(jī)與vnfc的對應(yīng)關(guān)系配置數(shù)據(jù)具體的配置方式或者存儲方式以及字段的表現(xiàn)方式。作為可選的,步驟103可以具體為:根據(jù)102中獲得的分布關(guān)系,執(zhí)行“業(yè)務(wù)保障操作”,其中“業(yè)務(wù)保障操作”可以具體為:判斷已啟動虛擬機(jī)中是否已經(jīng)包含了第一業(yè)務(wù)對應(yīng)的4個vnfc類型。若判斷結(jié)果為否,則確定出已啟動虛擬機(jī)中還沒有覆蓋到4個vnfc類型中的哪些,也就是還需要運(yùn)行哪些類型的vnfc才能夠?qū)崿F(xiàn)第一業(yè)務(wù);然后從未啟動虛擬機(jī)中選出l個待啟動虛擬機(jī)(l不大于4),這l個待啟動虛擬機(jī)含有已啟動虛擬機(jī)中還未包含的第一vnfc集合中的k個vnfc類型(k不大于4,且不小于l)。例如,第一業(yè)務(wù)需要{vnfc1,vnfc2,vnfc3,vnfc4}這個集合中的vnfc來共同實(shí)現(xiàn),如果已經(jīng)啟動的虛擬機(jī)中只運(yùn)行有vnfc1和vnfc3,此時第一業(yè)務(wù)是實(shí)現(xiàn)不了的,因?yàn)檫€需要有vnfc2和vnfc4;此時就要選擇含有vnfc2和含有vnfc4的未啟動虛擬機(jī),并且可以優(yōu)先選擇同時運(yùn)行有vnfc2和vnfc4的未啟動虛擬機(jī),并且含有vnfc2和vnfc4的數(shù)量越多越好;如果不存在同時含有vnfc2和含有vnfc4的未啟動虛擬機(jī),可以先挑選含有vnfc2數(shù)量最多的一個未啟動虛擬機(jī),然后再挑選含有vnfc4數(shù)量最多的一個未啟動虛擬機(jī)。具體的選擇順序不限定,總之,已啟動虛擬機(jī)中和已編排啟動的虛擬機(jī)中沒有哪一種vnfc,就選擇一個含有該種vnfc數(shù)量最多的一個未啟動虛擬機(jī),直到已啟動的虛擬機(jī)和這l個虛擬機(jī)中含有第一業(yè)務(wù)對應(yīng)的所有種類的vnfc。作為一種可選的實(shí)現(xiàn)方式,在編排了l個待啟動虛擬機(jī)之后,再從未啟動虛擬機(jī)中選擇出h個待啟動虛擬機(jī),其中,已啟動虛擬機(jī)、l個待啟動虛擬機(jī)、h個待啟動虛擬機(jī)中所含有的第一業(yè)務(wù)對應(yīng)的所有種類的vnfc的數(shù)量都滿足相應(yīng)的預(yù)設(shè)數(shù)量。若判斷結(jié)果為是,則從未啟動虛擬機(jī)中選出l個待啟動虛擬機(jī);所述已啟動虛擬機(jī)和所述l個待啟動虛擬機(jī)中所含有的第一業(yè)務(wù)對應(yīng)的所有種類的vnfc的數(shù)量都滿足相應(yīng)的預(yù)設(shè)數(shù)量。這一實(shí)現(xiàn)思路可以通過簡單的加法原理來實(shí)現(xiàn)。例如vnfc1,vnfc2,vnfc3,vnfc4的數(shù)量分別達(dá)到400,300,200,100個以及以上。作為另一種可能的設(shè)計中,步驟103可以具體為:根據(jù)步驟102中獲得的分布關(guān)系,執(zhí)行“業(yè)務(wù)高效操作”,其中“業(yè)務(wù)高效操作”可以具體包括:步驟1031:確定第i類型的vnfc的實(shí)際數(shù)量權(quán)重其中,qi為第二組虛擬機(jī)中第i類型的vnfc的數(shù)量總和,qj為第二組虛擬機(jī)中第j類型的vnfc的數(shù)量總和,j的取值包括不大于n的所有正整數(shù);本發(fā)明中所指的第二組虛擬機(jī)包括當(dāng)前已啟動的虛擬機(jī)和當(dāng)前已經(jīng)選擇完的待啟動虛擬機(jī)。步驟1032:根據(jù)第i類型的vnfc的實(shí)際數(shù)量權(quán)重αi與第i類型的vnfc的預(yù)設(shè)數(shù)量權(quán)重,查找出實(shí)際數(shù)量權(quán)重低于自身預(yù)設(shè)數(shù)量權(quán)重程度最大的第k類型;第k類型為所述n個類型中的一個;步驟1033:選擇一個含有第k類型的vnfc的虛擬機(jī)作為新的待啟動虛擬機(jī);若含有第k類型的vnfc的數(shù)量最多的虛擬機(jī)為多個時,選擇單元3033可以從中選擇一個含有n個類型中vnfc類型數(shù)量最多的虛擬機(jī);或者,選擇一個含有第一業(yè)務(wù)的vnfc數(shù)量總和最多的虛擬機(jī),第一業(yè)務(wù)的vnfc為上述n個vnfc類型中各種類型的vnfc。重復(fù)執(zhí)行步驟1031、步驟1032和步驟1033,直到第一組虛擬機(jī)中所含有的第i類型的vnfc的數(shù)量總和滿足相應(yīng)的預(yù)設(shè)數(shù)量。作為補(bǔ)充說明,本申請文件中的第二組虛擬機(jī)也可以理解為每次進(jìn)行新一輪運(yùn)算時的當(dāng)前第一組虛擬機(jī),即第一組虛擬機(jī)在每次編排選擇出來一個新的待啟動虛擬機(jī)后,都是實(shí)時更新的。如下為舉例說明:在具體實(shí)現(xiàn)的過程中,最簡單的情形是存在一個未啟動虛擬機(jī),該未啟動虛擬機(jī)中所包含的各組件的數(shù)量足夠的多使得能夠滿足預(yù)定的數(shù)量。然而這種情形極為少見或者說幾乎不存在,絕大多數(shù)的實(shí)際情況是為了運(yùn)行達(dá)到預(yù)定數(shù)量的各種vnfc,往往要啟動很多個未啟動虛擬機(jī),通常至少為幾百個,這個時候就面臨一個問題,在眾多的未啟動虛擬機(jī)中需要先啟動哪些。正如上文提到的,服務(wù)商通過對用戶習(xí)慣的大量統(tǒng)計會得出滿足用戶需求的各組件的基本數(shù)量關(guān)系。仍以第一業(yè)務(wù)需要vnfc1,vnfc2,vnfc3,vnfc4的預(yù)定數(shù)量分別為400,300,200,100個為例;然而這僅是一個最終值,已啟動的虛擬機(jī)可能無法立刻達(dá)到這種數(shù)量關(guān)系,待啟動虛擬機(jī)在逐漸地進(jìn)行啟動,數(shù)量會逐漸地逼近這個預(yù)定數(shù)量。從最終的數(shù)量也不難得出vnfc1、vnfc2、vnfc3、vnfc4這4種組件在數(shù)量比例滿足400:300:200:100(即4:3:2:1)的條件時,第一業(yè)務(wù)的實(shí)現(xiàn)效率是最高的。這伴隨著每一種組件都有一個預(yù)定的數(shù)量權(quán)重,vnfc1、vnfc2、vnfc3、vnfc4的預(yù)定數(shù)量權(quán)重分別為:rvnfc1=4/(1+2+3+4)=0.4;rvnfc2=3/(1+2+3+4)=0.3;rvnfc3=2/(1+2+3+4)=0.2;rvnfc4=1/(1+2+3+4)=0.1。由于在實(shí)際情況中,當(dāng)前正在編排啟動的待啟動虛擬機(jī)(即當(dāng)前已經(jīng)選擇完的待啟動虛擬機(jī))和當(dāng)前已啟動的虛擬機(jī)中含有的各種vnfc的數(shù)量并不是時時刻刻完全符合比例的,絕大多數(shù)時間內(nèi)是處在一個動態(tài)的波動中,因此業(yè)務(wù)的實(shí)現(xiàn)效率取決于這些vnfc中實(shí)際數(shù)量權(quán)重相對預(yù)設(shè)數(shù)量權(quán)重偏少的那一種。首先需要確定當(dāng)前的vnfc1、vnfc2、vnfc3、vnfc4各自的實(shí)際數(shù)量權(quán)重,比如某一時刻第二組虛擬機(jī)(即當(dāng)前已啟動的虛擬機(jī)和當(dāng)前正在編排啟動的待啟動虛擬機(jī))中運(yùn)行的vnfc1、vnfc2、vnfc3、vnfc4的實(shí)際數(shù)量為50、10、10、30,相應(yīng)的實(shí)際數(shù)量權(quán)重為:r’vnfc1=50/(50+10+10+30)=0.5;r’vnfc2=10/(50+10+10+30)=0.1;r’vnfc3=10/(50+10+10+30)=0.1;r’vnfc4=30/(50+10+10+30)=0.3。這些vnfc在第二組虛擬機(jī)中實(shí)際數(shù)量權(quán)重相對預(yù)設(shè)數(shù)量權(quán)重的偏離程度可以用公式s=(r’-r)/r來進(jìn)行評價。則該時刻,vnfc1、vnfc2、vnfc3、vnfc4在第二組虛擬機(jī)中的實(shí)際數(shù)量權(quán)重相對預(yù)設(shè)數(shù)量權(quán)重的偏離程度對應(yīng)為:svnfc1=(0.5-0.4)/0.4=+25%;svnfc2=(0.1-0.3)/0.3=-66.7%;svnfc3=(0.1-0.2)/0.2=-50%;svnfc4=(0.3-0.1)/0.1=+200%;不難看出,偏離結(jié)果為正表明該種vnfc的數(shù)量過剩,且正值結(jié)果越大,過剩程度越大;偏離結(jié)果為負(fù)表明該種vnfc的數(shù)量偏少,且負(fù)值結(jié)果越小,表明稀缺程度越大。本例中可以看出就當(dāng)下vnfc的數(shù)量分布情況而言,第二組虛擬機(jī)中vnfc1和vnfc4相對數(shù)量過剩,尤其vnfc4數(shù)量更是相對偏多,而vnfc2、vnfc3數(shù)量相對偏少,尤其是vnfc2偏少的程度最大。所以如果想要盡快地使第一業(yè)務(wù)能夠充分利用當(dāng)前vnfc的資源,使得當(dāng)前vnfc的利用效率盡快提升的方法就是首先增加vnfc2的數(shù)量。因此此時更需要選擇出含有vnfc2的未啟動虛擬機(jī),并且優(yōu)先選擇含有vnfc2數(shù)量最多的虛擬機(jī),如果含有vnfc2的數(shù)量最多的未啟動虛擬機(jī)同時存在多個,那么這些未啟動虛擬機(jī)中同時能含有其他的vnfc種類越多、或數(shù)量越多,被優(yōu)先選擇啟動的機(jī)會也就越大。比如優(yōu)先選擇含有最多vnfc2、且含有vnfc3的未啟動虛擬機(jī),或者優(yōu)先選擇含有最多vnfc2且含有vnfc1和vnfc3和vnfc4的未啟動虛擬機(jī)??傊?,能夠盡快補(bǔ)充稀缺vnfc資源的虛擬機(jī)具有更高的被選擇優(yōu)先級,尤其是能同時補(bǔ)充所有稀缺vnfc資源的虛擬機(jī)。每選擇完一個新的待啟動虛擬機(jī)后,第二組虛擬機(jī)的vnfc分布情況就會更新,系統(tǒng)也會對第二組虛擬機(jī)中的vnfc的實(shí)際數(shù)量權(quán)重相對預(yù)設(shè)數(shù)量權(quán)重的偏離程度進(jìn)行計算更新,每次更新后的結(jié)果也是千差萬別的,所以在虛擬機(jī)逐個被選擇編排進(jìn)行的過程中,各vnfc組件的偏離程度的正負(fù)與偏離大小都是動態(tài)變化的,每一次更新計算后所采用的優(yōu)先選擇機(jī)理都如上所述,使得在選擇的過程中,vnfc能發(fā)揮當(dāng)前各自數(shù)量下的最大效能,直到第一組虛擬機(jī)中所有類別的vnfc都達(dá)到了預(yù)定數(shù)量,比如連續(xù)啟動了若干個虛擬機(jī)后,vnfc1、vnfc2、vnfc3、vnfc4所需要的數(shù)量都分別達(dá)到了400、300、200、100個,代表著此時第一組虛擬機(jī)已經(jīng)能夠滿足用戶對第一業(yè)務(wù)的需求,那么此后被選擇的待啟動虛擬機(jī)就可以不再受到任何順序的約束而隨機(jī)進(jìn)行了。相應(yīng)地,在待啟動虛擬機(jī)的選擇過程中存在著一個先后選擇順序,這些待啟動虛擬機(jī)的啟動順序也如同上述先后選擇順序一樣進(jìn)行。例如,在重復(fù)執(zhí)行上述步驟1031-步驟1033的過程當(dāng)中,每執(zhí)行一次步驟1031-步驟1033,就會選擇出一個相對最合適的待啟動虛擬機(jī)出來,可以被編排列入到啟動序列中,多次執(zhí)行后,待啟動的虛擬機(jī)也就存在著被選擇的先后順序,相應(yīng)地,越先被選擇的待啟動虛擬機(jī)在啟動序列中排列越靠前,就會越先被啟動。虛擬機(jī)的啟動機(jī)制按照該先后順序進(jìn)行啟動選擇出來的待啟動虛擬機(jī)。作為可選的,一種虛擬機(jī)的啟動方式為:起初會得到一個待啟動虛擬機(jī)的編排啟動順序,接下來會按照該啟動順序?qū)Υ龁犹摂M機(jī)進(jìn)行啟動操作,若待啟動虛擬機(jī)數(shù)量過多,例如超出了啟動風(fēng)暴的限制數(shù)量,假設(shè)限制數(shù)量為c,因此會有c個虛擬機(jī)迅速啟動;由于每個虛擬機(jī)自身運(yùn)行狀況的千差萬別,使得各自的啟動時間也長短不一;若某一時刻同時有c個待啟動虛擬機(jī)在啟動了,則排序在這c個待啟動虛擬機(jī)后面的待啟動虛擬機(jī)不能立即啟動,而是需要當(dāng)前正在啟動的某個虛擬機(jī)啟動完成后,才能啟動待啟動序列中的下一個虛擬機(jī),類似于堆棧溢出的方式,這種方法無疑可以解決虛擬機(jī)的啟動風(fēng)暴的限制下,仍能發(fā)揮已啟動虛擬機(jī)中vnfc的最大效能。上述計算偏離程度的算法僅僅是一種舉例說明,還可以根據(jù)數(shù)學(xué)原理將其衍生和變形成其他的計算方式,本發(fā)明實(shí)施例中不進(jìn)行詳細(xì)的一一列舉。此外,在選擇虛擬機(jī)的過程中,有可能會遇到滿足條件的未啟動虛擬機(jī)為多個時,比如滿足某一條件的兩個未啟動虛擬機(jī)中運(yùn)行的vnfc的種類、和各自的數(shù)量都完全一樣,那么此時可以隨機(jī)選擇當(dāng)中的一個。任何進(jìn)行簡單的、不加創(chuàng)造性的等同替換方案理應(yīng)屬于本發(fā)明所保護(hù)的范圍。在具體實(shí)現(xiàn)過程中,步驟103的實(shí)現(xiàn)方式還可以有很多種,可因系統(tǒng)預(yù)先設(shè)置的業(yè)務(wù)策略的不同從而衍生出多種實(shí)現(xiàn)方式。例如,在選擇至少一個待啟動虛擬機(jī)的過程中(不限定全過程,包括一些局部過程):可以按照含有vnfc1、vnfc2、vnfc3、vnfc4最多的順序?qū)Ξ?dāng)前未啟動虛擬機(jī)進(jìn)行重復(fù)輪詢選擇;也可以按照虛擬機(jī)中含有vnfc總數(shù)量從多到少的順序?qū)Ξ?dāng)前未啟動虛擬機(jī)進(jìn)行輪詢選擇;也可以按照虛擬機(jī)中含有vnfc種類數(shù)量從多到少的順序當(dāng)前未啟動虛擬機(jī)進(jìn)行輪詢選擇;直到已啟動虛擬機(jī)和已編排啟動的待虛擬機(jī)中含有的第i類型的vnfc達(dá)到預(yù)定數(shù)量。值得說明的是以上任意情況出現(xiàn)多個虛擬機(jī)具備相同的篩選條件時,可以采用隨機(jī)的方式擇一選擇,也可以參照一定的算法規(guī)定。本發(fā)明實(shí)施例提供了一種啟動虛擬機(jī)的方法,通過根據(jù)vnfc與虛擬機(jī)的分布關(guān)系,有針對性地按照一定的規(guī)則選擇出待啟動虛擬機(jī),并按選擇的先后順序進(jìn)行相應(yīng)地啟動,能在較短的時間內(nèi)將業(yè)務(wù)的性能提升并充分利用當(dāng)前已啟動虛擬機(jī)中的vnfc資源,使得vnfc在資源較少的條件下,能夠?qū)崿F(xiàn)效率利用最大化。為了更加清楚地理解本發(fā)明,以下將以一個實(shí)際應(yīng)用的示例進(jìn)行詳細(xì)說明。請參見圖5,圖5是本發(fā)明實(shí)施例中一種會話控制業(yè)務(wù)中的vnf與vnfc的對應(yīng)關(guān)系圖。在一種簡單的ims會話控制業(yè)務(wù)中,終端ue1發(fā)起語音呼叫,語音信號經(jīng)由ims(ipmultimediasubsystem)ip多媒體系統(tǒng)到達(dá)終端ue2。ims包括p-cscf(proxy-callsessioncontrolfuntion),i-cscf(interrogatingcallsessioncontrolfunction),s-cscf(servingcallsessioncontrolfunction)。1)代理cscf(p-cscf)p-cscf即代理呼叫會話控制功能。p-cscf是連接ims終端和ims網(wǎng)絡(luò)的入口節(jié)點(diǎn),所有ims終端發(fā)起和終止于ims終端的會話發(fā)起協(xié)議sip(sessioninitiationprotocol)信令都要通過p-cscf。p-cscf實(shí)際上扮演了一個代理服務(wù)器的角色,它接收sip請求與響應(yīng),并向ims網(wǎng)絡(luò)或ims用戶轉(zhuǎn)發(fā)。p-cscf可以處于拜訪網(wǎng)絡(luò),也可以處于歸屬網(wǎng)絡(luò)。2)查詢cscf(i-cscf)i-cscf即詢問呼叫會話控制功能。i-cscf是處于拜訪網(wǎng)絡(luò)中的ims終端進(jìn)入本地ims網(wǎng)絡(luò)域的入口節(jié)點(diǎn)。i-cscf路由外地終端的sip請求和響應(yīng)至本地s-cscf。i-cscf處于歸屬網(wǎng)絡(luò),在特殊情況下,也可以處于拜訪網(wǎng)絡(luò)。3)服務(wù)cscf(s-cscf)s-cscf即服務(wù)呼叫會話控制功能。s-cscf是sip信令平面的中心節(jié)點(diǎn),其作用類似軟交換系統(tǒng)中的軟交換設(shè)備。s-cscf為ims終端執(zhí)行會話控制服務(wù),并保持會話狀態(tài)。所有ims終端發(fā)出和接收的sip信令都要通過s-cscf,它檢查這些sip信令,決定是否需要訪問應(yīng)用服務(wù)器,并將信令轉(zhuǎn)發(fā)至最終目的地。s-cscf總是處于歸屬網(wǎng)絡(luò)。p-cscf,i-cscf,s-cscf都有完成語音呼叫業(yè)務(wù)所必需的:dpu、scu、rdb。其中,dpu(dispatchingunit)分發(fā)單元,是cscf系統(tǒng)對外的出入口,用于完成sip消息的分發(fā);scu(sessioncontrolunit)會話處理單元,用于完成各邏輯網(wǎng)元的業(yè)務(wù)處理功能;rdb(remotedistributeddatabase)分布式存儲單元,用于完成用戶數(shù)據(jù)和會話數(shù)據(jù)的分布式存儲,實(shí)現(xiàn)數(shù)據(jù)與程序的分離。在語音呼叫業(yè)務(wù)中,對應(yīng)的vnf為p-cscf、i-cscf、s-cscf。p-cscf、i-cscf、s-cscf各自有相應(yīng)的進(jìn)程/軟件模塊,這個進(jìn)程/軟件模塊就是vnfc,例如p-cscf中的dpu00、scu01、rdb02,i-cscf中的dpu10、scu11、rdb12,s-cscf中的dpu20、scu21、rdb22。當(dāng)然p-cscf、i-cscf、s-cscf中還會有一些其它附加功能的vnfc,由于在語音呼叫中不是必需的,因此本實(shí)施例中不予以列舉和贅述。在本發(fā)明的方案中,根據(jù)語音呼叫業(yè)務(wù),確定出的vnfc類型為dpu00、scu01、rdb02、dpu10、scu11、rdb12、dpu20、scu21、rdb22。例如某運(yùn)營商需要完成一項語音呼叫業(yè)務(wù)部署工作,預(yù)期dpu00、scu01、rdb02、dpu10、scu11、rdb12、dpu20、scu21、rdb22的個數(shù)分別為1000、2500、1500、600、1500、900、400、1000、600;即dpu00、scu01、rdb02、dpu10、scu11、rdb12、dpu20、scu21、rdb22的相應(yīng)的預(yù)設(shè)權(quán)重分別為:10%、25%、15%、6%、15%、9%、4%、10%、6%。虛擬網(wǎng)絡(luò)功能管理和編排系統(tǒng)通過讀取各個虛擬機(jī)的屬性信息來獲知上述9個vnfc在各個虛擬機(jī)中的分布關(guān)系,即上述9個vnfc在已啟動的虛擬機(jī)中的分布數(shù)量各有多少,以及上述9個vnfc在未啟動的虛擬機(jī)中的分布數(shù)量各有多少。并計算dpu00、scu01、rdb02、dpu10、scu11、rdb12、dpu20、scu21、rdb22在已啟動虛擬機(jī)中的初始實(shí)際權(quán)重。選擇出初始實(shí)際權(quán)重低于預(yù)設(shè)數(shù)量權(quán)重、并且偏離程度最大(相對最為稀缺)的一種vnfc,例如scu01。那么根據(jù)分布關(guān)系來確定出含有scu01的未啟動虛擬機(jī)有哪些,并從中選擇出含有scu01數(shù)量最多的一個未啟動虛擬機(jī)作為新的待啟動虛擬機(jī),如果scu01數(shù)量最多且數(shù)量一樣的未啟動虛擬機(jī)有多個時,可以從中選擇出一個含有這9個vnfc數(shù)量總和最多的一個,或者從中選擇出一個含有這9個vnfc中類型最多的一個,倘若有多個未啟動虛擬機(jī)含有vnfc的類型以及各類型數(shù)量都一樣,則可以采取隨機(jī)的方式選擇一個。選擇完這個新的待啟動虛擬機(jī)后,第二組虛擬機(jī)新增了一個虛擬機(jī),因此dpu00、scu01、rdb02、dpu10、scu11、rdb12、dpu20、scu21、rdb22在第二組虛擬機(jī)中的數(shù)量發(fā)生了變化,因此實(shí)際權(quán)重被更新;因此基于新的實(shí)際權(quán)重,依照與上述方法等同的規(guī)則選擇出一個新的待啟動虛擬機(jī);每選擇出一個虛擬機(jī)后,基于新的實(shí)際權(quán)重,依照同樣的規(guī)則選擇出新的待啟動虛擬機(jī),反復(fù)輪詢執(zhí)行多次,直到第一組虛擬機(jī)中dpu00、scu01、rdb02、dpu10、scu11、rdb12、dpu20、scu21、rdb22的個數(shù)分別達(dá)到1000、2500、1500、600、1500、900、400、1000、600以上,如果后續(xù)還有備用的未啟動虛擬機(jī)需要編排啟動,可以繼續(xù)遵照與上述方法等同的規(guī)則繼續(xù)進(jìn)行虛擬機(jī)的選擇,或者可以采取隨機(jī)的方式編排啟動的順序。二.多業(yè)務(wù)場景多業(yè)務(wù)是指nfv網(wǎng)絡(luò)支持多種不同業(yè)務(wù)優(yōu)先級的業(yè)務(wù),不同業(yè)務(wù)類型的業(yè)務(wù)vnfc集合不相同。在有些場景下,大量運(yùn)行高優(yōu)先級業(yè)務(wù)vnfc的vm與運(yùn)行低優(yōu)先級業(yè)務(wù)vnfc的vm同時啟動時,先啟動哪些虛擬機(jī)要考慮的因素就會更加復(fù)雜,本發(fā)明會根據(jù)用戶對業(yè)務(wù)的實(shí)際需求策略給出相應(yīng)的技術(shù)方案。多業(yè)務(wù)類型可以指:nfv網(wǎng)絡(luò)中有a種業(yè)務(wù)優(yōu)先級sla(servicelevelagreement,服務(wù)水平協(xié)議)可用度級別的業(yè)務(wù),本次啟動虛擬機(jī)的目的為了實(shí)現(xiàn)其中b種特定的業(yè)務(wù),其中b小于等于a,a、b均為正整數(shù)。例如某一次批量啟動虛擬機(jī)為了滿足用戶對第二業(yè)務(wù)、第三業(yè)務(wù)和第四業(yè)務(wù)的需求,其中第二業(yè)務(wù)需要{vnfc21,vnfc22,vnfc23,vnfc24}這個集合中vnfc來共同實(shí)現(xiàn),第三業(yè)務(wù)需要{vnfc31,vnfc32,vnfc33}這個集合中vnfc來共同實(shí)現(xiàn),第四業(yè)務(wù)需要{vnfc41,vnfc42}這個集合中vnfc來共同實(shí)現(xiàn)??梢姸鄻I(yè)務(wù)需求中,涉及到的vnfc種類繁多,因此現(xiàn)有的虛擬機(jī)啟動方式會因?yàn)関nfc的不確定分布而使得啟動的過程中不能充分利用已經(jīng)啟動的vnfc資源,因此本發(fā)明對于多業(yè)務(wù)需求的環(huán)境下也進(jìn)行了虛擬機(jī)的啟動規(guī)劃,具體方案如下。請參閱圖6,圖6是本發(fā)明實(shí)施例中一種多業(yè)務(wù)場景下啟動虛擬機(jī)的方法的流程示意圖。該方法應(yīng)用于具有m個網(wǎng)絡(luò)業(yè)務(wù)需求的網(wǎng)絡(luò)功能虛擬化nfv網(wǎng)絡(luò),其中m為大于1的自然數(shù);該方法200包括:步驟201:根據(jù)第x業(yè)務(wù),確定與第x業(yè)務(wù)對應(yīng)的n(x)個類型的虛擬化網(wǎng)絡(luò)功能組件vnfc;其中,所述第x業(yè)務(wù)為m個網(wǎng)絡(luò)業(yè)務(wù)中的一個網(wǎng)絡(luò)業(yè)務(wù);所述n(x)個類型的vnfc能夠共同實(shí)現(xiàn)所述第x業(yè)務(wù),n為正整數(shù);x的取值包括不大于m的所有正整數(shù);步驟202:獲取所述n(x)個類型的vnfc與虛擬機(jī)的分布關(guān)系;分布關(guān)系描述了第xi類型的vnfc分布在每個虛擬機(jī)中的數(shù)量;其中,每個虛擬機(jī)包括已啟動虛擬機(jī)和未啟動虛擬機(jī),第xi類型為所述n(x)個類型中的一個,xi的取值包括不大于所述n(x)的所有正整數(shù)。步驟203:根據(jù)202中的分布關(guān)系,從未啟動的虛擬機(jī)中選擇至少一個待啟動虛擬機(jī),使得第一組虛擬機(jī)中所含有的第xi類型的vnfc的數(shù)量總和滿足相應(yīng)的預(yù)設(shè)數(shù)量,第一組虛擬機(jī)集合包括已啟動虛擬機(jī)和所述至少一個待啟動虛擬機(jī);其中,至少一個未啟動虛擬機(jī)可以作為待啟動虛擬機(jī)集合。步驟204:啟動203中確定的至少一個待啟動虛擬機(jī)。在具體實(shí)現(xiàn)過程中,可選的,若策略中對于某一業(yè)務(wù)沒有絕對的優(yōu)先級,例如第二業(yè)務(wù)、第三業(yè)務(wù)、第四業(yè)務(wù)并沒有區(qū)分誰具有絕對的優(yōu)先級,此時并不在意某業(yè)務(wù)一定要優(yōu)先達(dá)到預(yù)期的性能標(biāo)準(zhǔn),而是以每一種業(yè)務(wù)下的各個類型的vnfc達(dá)到各自預(yù)計的數(shù)量為目標(biāo)。這種情形下,步驟203可以具體為:根據(jù)步驟202中獲得的分布關(guān)系,執(zhí)行“業(yè)務(wù)高效操作”,其中“業(yè)務(wù)高效操作”可以具體包括:步驟2031a:確定第xi類型的vnfc的實(shí)際數(shù)量權(quán)重其中,qxi為第二組虛擬機(jī)中第xi類型的vnfc的總和,qxj為第二組虛擬機(jī)中第xj類型的vnfc的總和,xj的取值包括不大于n(x)的所有正整數(shù);第二組虛擬機(jī)包括當(dāng)前已啟動的虛擬機(jī)和當(dāng)前已經(jīng)選擇完的待啟動虛擬機(jī);步驟2032a:根據(jù)第xi類型的vnfc的實(shí)際數(shù)量權(quán)重αxi與第xi類型的vnfc的預(yù)設(shè)數(shù)量權(quán)重,查找出實(shí)際數(shù)量權(quán)重低于自身預(yù)設(shè)數(shù)量權(quán)重程度最大的第k類型;步驟2033a:選擇一個含有所述第k類型的vnfc的未啟動虛擬機(jī)作為新的待啟動虛擬機(jī);重復(fù)執(zhí)行步驟2031a、步驟2032a和步驟2033a,直到第一組虛擬機(jī)中所含有的第xi類型的vnfc的數(shù)量總和滿足相應(yīng)的預(yù)設(shè)數(shù)量。作為補(bǔ)充說明,本申請文件中的第二組虛擬機(jī)也可以理解為每次進(jìn)行新一輪運(yùn)算時的當(dāng)前第一組虛擬機(jī),即第一組虛擬機(jī)在每次編排選擇出來一個新的待啟動虛擬機(jī)后,都是實(shí)時更新的。在另一種具體實(shí)現(xiàn)過程中,若策略中對于某一業(yè)務(wù)有絕對的優(yōu)先級,例如第二業(yè)務(wù)大于第三業(yè)務(wù)大于第四業(yè)務(wù),首先一定要使得第二業(yè)務(wù)滿足預(yù)期的業(yè)務(wù)能力,即使得第二業(yè)務(wù)下面的各種vnfc的數(shù)量都達(dá)到相應(yīng)的預(yù)設(shè)數(shù)量,之后才去關(guān)注第三業(yè)務(wù),使得第三業(yè)務(wù)下面的各種vnfc的數(shù)量都達(dá)到相應(yīng)的預(yù)設(shè)數(shù)量,再去關(guān)注第四業(yè)務(wù),使得第四業(yè)務(wù)下面的各種vnfc的數(shù)量都達(dá)到相應(yīng)的預(yù)設(shè)數(shù)量。這種情形下,步驟203可以具體包括:確定m個業(yè)務(wù)的優(yōu)先級的高低順序,并按照優(yōu)先級的高低順序依次對m個業(yè)務(wù)中的各個業(yè)務(wù)執(zhí)行“業(yè)務(wù)拉通操作”;所述“業(yè)務(wù)拉通操作”包括:步驟2031b:確定當(dāng)前業(yè)務(wù)中第xi類型的vnfc的實(shí)際數(shù)量權(quán)重其中,qxi為第二組虛擬機(jī)中當(dāng)前業(yè)務(wù)中第xi類型的vnfc的總和,qxj為第二組虛擬機(jī)中當(dāng)前業(yè)務(wù)中第xj類型的vnfc的總和,xj的取值包括不大于當(dāng)前業(yè)務(wù)對應(yīng)的n(x)的所有正整數(shù),第二組虛擬機(jī)包括當(dāng)前已啟動的虛擬機(jī)和當(dāng)前已經(jīng)選擇完的待啟動虛擬機(jī);步驟2032b:根據(jù)當(dāng)前業(yè)務(wù)中第xi類型的vnfc的實(shí)際數(shù)量權(quán)重αxi與當(dāng)前業(yè)務(wù)中第xi類型的vnfc的預(yù)設(shè)數(shù)量權(quán)重,查找出實(shí)際數(shù)量權(quán)重低于自身預(yù)設(shè)數(shù)量權(quán)重程度最大的第k類型;步驟2033b:選擇一個含有第k類型的vnfc的未啟動虛擬機(jī)作為新的待啟動虛擬機(jī);重復(fù)執(zhí)行步驟2031b、步驟2032b和步驟2033b,直到第一組虛擬機(jī)中所含有當(dāng)前業(yè)務(wù)的第xi類型的vnfc的數(shù)量總和滿足相應(yīng)的預(yù)設(shè)數(shù)量。在上述方法的具體實(shí)現(xiàn)過程中,在未啟動虛擬機(jī)中選擇一個含有第k類型的vnfc的虛擬機(jī)作為新的待啟動虛擬機(jī)時,可以選擇一個含有第k類型的vnfc的數(shù)量最多的未啟動虛擬機(jī),若含有第k類型的vnfc的數(shù)量最多的未啟動虛擬機(jī)為多個時,則從中選擇一個含有vnfc類型數(shù)量最多的未啟動虛擬機(jī);或者從中選擇一個含有vnfc(不分類別)數(shù)量最多的未啟動虛擬機(jī);此外,在選擇虛擬機(jī)的過程中,有可能會遇到運(yùn)行vnfc情形完全一樣的未啟動虛擬機(jī)為多個情形,比如滿足某一條件的兩個未啟動虛擬機(jī)中運(yùn)行的vnfc的種類、和各自的數(shù)量都完全一樣,那么此時可以選擇隨機(jī)選擇當(dāng)中的一個。在重復(fù)執(zhí)行上述步驟2031a-步驟2033a或者步驟2031b-步驟2033b的過程當(dāng)中,每執(zhí)行一次步驟2031a-步驟2033a或者步驟2031b-步驟2033b,就會選擇出一個相對最合適的未啟動虛擬機(jī)出來,并列入到待啟動序列中,多次執(zhí)行后,被選擇出來的待啟動的虛擬機(jī)也就在序列中存在著選擇的先后順序,虛擬機(jī)的編排啟動機(jī)制使得這些被選中的待啟動虛擬機(jī)后續(xù)能夠按照該先后順序進(jìn)行啟動。在具體實(shí)現(xiàn)過程中,步驟203在具體執(zhí)行的過程中,還要參考系統(tǒng)預(yù)先制定的策略。步驟203可因預(yù)先設(shè)置的多業(yè)務(wù)策略的不同從而衍生出多種實(shí)現(xiàn)方式。例如:選擇該至少一個待啟動虛擬機(jī)的過程中,可以針對多個業(yè)務(wù)對應(yīng)的每種vnfc,按照含有當(dāng)前類型vnfc數(shù)量最多的順序在未啟動虛擬機(jī)中重復(fù)輪詢選擇;也可以按照虛擬機(jī)中含有vnfc總數(shù)量從多到少的順序從未啟動虛擬機(jī)中重復(fù)輪詢進(jìn)行選擇;也可以按照虛擬機(jī)中含有vnfc種類數(shù)量從多到少的順序從未啟動虛擬機(jī)中重復(fù)輪詢進(jìn)行選擇;值得說明的是以上任意情況出現(xiàn)多個未啟動虛擬機(jī)具備相同的篩選條件時,均可以采用隨機(jī)的方式擇一啟動。本發(fā)明實(shí)施例可以應(yīng)用于網(wǎng)絡(luò)初始化階段,即所有的虛擬機(jī)均未運(yùn)行,此時可以按照業(yè)務(wù),來啟動虛擬機(jī);本發(fā)明實(shí)施例也可以應(yīng)用于網(wǎng)絡(luò)運(yùn)行階段,例如,在現(xiàn)有技術(shù)中按照虛擬機(jī)順序或者主機(jī)順序啟動了虛擬機(jī)之后,在網(wǎng)絡(luò)的運(yùn)行階段,如果有多個新加入的虛擬機(jī),或者由于大面積中斷故障后恢復(fù)的虛擬機(jī),需要按照業(yè)務(wù)來啟動新加入的虛擬機(jī)或者中斷的虛擬機(jī)。在本發(fā)明實(shí)施例中,確定第一業(yè)務(wù)對應(yīng)的n個vnfc類型,根據(jù)n個類型的vnfc與虛擬機(jī)的分布關(guān)系,從需要啟動的虛擬機(jī)中確定出待啟動虛擬機(jī),并啟動待啟動虛擬機(jī)。本發(fā)明可以盡快啟動運(yùn)行特定業(yè)務(wù)對應(yīng)的vnfc類型的虛擬機(jī),從而可以解決限制虛擬機(jī)啟動數(shù)量避免虛擬機(jī)啟動風(fēng)暴所帶來的,業(yè)務(wù)長時間無法提供或者業(yè)務(wù)處理能力長時間無法提升的問題,從而實(shí)現(xiàn)業(yè)務(wù)快速提供或業(yè)務(wù)處理能力的快速提升。另外,上述方法中所提到的單/多業(yè)務(wù)策略能夠通過當(dāng)前虛擬機(jī)中vnfc的數(shù)量狀態(tài),來選擇出最稀缺的vnfc所在的未啟動虛擬機(jī),從而使得當(dāng)前已啟動虛擬機(jī)中所運(yùn)行的當(dāng)前業(yè)務(wù)下的vnfc在各個時段能夠充分發(fā)揮利用效率,提高系統(tǒng)的效能。舉一個比較簡單的例子,業(yè)務(wù)0對應(yīng)的vnfc類型為vnfc000、vnfc001、vnfc010、vnfc011,8個初始未啟動虛擬機(jī)vm0-vm7中含有的vnfc狀態(tài)如圖7a所示(與業(yè)務(wù)0無關(guān)的vnfc在圖中未視出)。如果按照現(xiàn)有技術(shù)按照虛擬機(jī)編號的順序進(jìn)行編排啟動(如圖7a)所示,需要在編排啟動了vm0-vm6這7個虛擬機(jī)之后才可以使得業(yè)務(wù)0正常運(yùn)行,如果按照本發(fā)明實(shí)施例中的方法,即按照當(dāng)前選擇業(yè)務(wù)0中最缺少的vnfc類型的虛擬機(jī)進(jìn)行選擇,只需要啟動了vm0(或vm1)、vm2(或vm3)、vm4(或vm5)、vm6(或vm7)這4個虛擬機(jī)之后就可以使得業(yè)務(wù)0正常運(yùn)行,一種可能的實(shí)現(xiàn)形式如圖7b;從而本發(fā)明可以保證啟動最少的未啟動虛擬機(jī)即可盡快地提供業(yè)務(wù),從而使得提供業(yè)務(wù)的時間縮短。請參閱圖8,圖8是本發(fā)明實(shí)施例中一種啟動虛擬機(jī)的裝置結(jié)構(gòu)示意圖。該裝置300包括:確定模塊301、獲取模塊302、選擇模塊303以及啟動模塊304。由于可能的實(shí)現(xiàn)方式較多,下文將繼續(xù)以示例的方式對該裝置進(jìn)行說明,對于任何可以進(jìn)行等同和替換的技術(shù)方案,都應(yīng)屬于本發(fā)明的保護(hù)范圍內(nèi)。示例1一種啟動虛擬機(jī)的裝置,該裝置應(yīng)用于具有單一網(wǎng)絡(luò)業(yè)務(wù)需求的網(wǎng)絡(luò)功能虛擬化nfv網(wǎng)絡(luò)(單一業(yè)務(wù)類型需求場景如上文所述,該示例1繼續(xù)以第一業(yè)務(wù)為例),該裝置300包括:確定模塊301,用于根據(jù)第一業(yè)務(wù),確定n個類型的虛擬化網(wǎng)絡(luò)功能組件vnfc;其中,第一業(yè)務(wù)為虛擬機(jī)能夠?qū)崿F(xiàn)的眾多網(wǎng)絡(luò)業(yè)務(wù)中的一種網(wǎng)絡(luò)業(yè)務(wù);這n個類型的vnfc能夠共同實(shí)現(xiàn)所述第一業(yè)務(wù),n為正整數(shù);獲取模塊302,用于獲取確定模塊301確定的n個類型的vnfc與虛擬機(jī)的分布關(guān)系,該分布關(guān)系描述了第i類型的vnfc分布在每個虛擬機(jī)中的數(shù)量;其中,每個虛擬機(jī)包括已啟動虛擬機(jī)和未啟動虛擬機(jī),所述第i類型為所述n個類型中的一個,i的取值包括不大于n的所有正整數(shù);選擇模塊303,用于根據(jù)獲取模塊302獲取到的分布關(guān)系,從未啟動的虛擬機(jī)中選擇至少一個待啟動虛擬機(jī),使得第一組虛擬機(jī)中所含有的第i類型的vnfc的數(shù)量總和滿足相應(yīng)的預(yù)設(shè)數(shù)量,第一組虛擬機(jī)集合包括已啟動虛擬機(jī)和所述至少一個待啟動虛擬機(jī);啟動模塊304,用于啟動選擇模塊303選擇出來的至少一個待啟動虛擬機(jī)。在具體實(shí)現(xiàn)的過程中,獲取模塊302獲取所述n個類型的vnfc與虛擬機(jī)的分布關(guān)系的形式有很多種,典型的兩種方式可參見上述實(shí)施例中的表1和表2所對應(yīng)的實(shí)現(xiàn)方法。在具體實(shí)現(xiàn)的過程中,區(qū)別于傳統(tǒng)的啟動虛擬機(jī)裝置,本發(fā)明中的選擇模塊303起著非常關(guān)鍵的作用,可以根據(jù)獲取模塊302獲取到的分布關(guān)系來選擇未啟動虛擬機(jī)編排為待啟動虛擬機(jī)。一種可選的方式是,運(yùn)用加法理論,可以先挑選出y個未啟動虛擬機(jī),使得這y個虛擬機(jī)和已啟動的虛擬機(jī)中運(yùn)行的第i類型的vnfc總和達(dá)到相應(yīng)的預(yù)定數(shù)量。選擇模塊303的實(shí)現(xiàn)方式有很多種,可因其內(nèi)部存儲或調(diào)用的業(yè)務(wù)策略的不同從而衍生出多種實(shí)現(xiàn)方式。仍以上述實(shí)施例中的第一業(yè)務(wù)為例,例如:按照vnfc1、vnfc2、vnfc3、vnfc4的順序重復(fù)輪詢選擇(step1:選出含有vnfc1的未啟動虛擬機(jī);step2:選出含有vnfc2的未啟動虛擬機(jī),step3:選出含有vnfc3的未啟動虛擬機(jī);step4:選出含有vnfc4的未啟動虛擬機(jī);重復(fù)執(zhí)行step1-step4,直到已啟動虛擬機(jī)和被編排啟動的待啟動虛擬機(jī)中所含有的各種vnfc的數(shù)量能夠滿足第一業(yè)務(wù)對應(yīng)的各種vnfc的預(yù)定數(shù)量),在輪詢的過程中,由于含有vnfc1的虛擬機(jī)個數(shù)大于1,因此可以優(yōu)先選擇含有vnfc1數(shù)量最多的那個未啟動虛擬機(jī);對于其他種類的vnfc,同理。再例如,也可以按照虛擬機(jī)中含有vnfc總數(shù)量從多到少的順序進(jìn)行依次選擇;也可以按照虛擬機(jī)中含有vnfc種類數(shù)量從多到少的順序進(jìn)行依次選擇,值得說明的是以上任意情況出現(xiàn)多個未啟動虛擬機(jī)具備相同的篩選條件時,均可以采用隨機(jī)的方式擇一選擇。相應(yīng)地,啟動模塊可以根據(jù)待啟動虛擬機(jī)被選擇的先后順序依次對被選擇的待啟動虛擬機(jī)進(jìn)行啟動。相比于傳統(tǒng)的虛擬機(jī)按序號啟動方式,按照分布關(guān)系來選擇虛擬機(jī)更有快速的針對性,使得第一業(yè)務(wù)的第i類型的vnfc總和達(dá)到預(yù)定的數(shù)量這一目標(biāo)能夠更快被滿足,從而使得第一業(yè)務(wù)的業(yè)務(wù)能力能盡快滿足預(yù)期效果。在一種可能的設(shè)計中,選擇模塊303可以根據(jù)獲取模塊302獲得的分布關(guān)系,執(zhí)行上述實(shí)施例中的“業(yè)務(wù)保障操作”、該方法對應(yīng)的實(shí)例以及所有可以進(jìn)行等同替換的實(shí)現(xiàn)方式。在另一種可能的設(shè)計中,選擇模塊303可以根據(jù)獲取模塊302獲得的分布關(guān)系,執(zhí)行上述實(shí)施例中的“業(yè)務(wù)高效操作”,即步驟1031-步驟1033所述的方法、該方法對應(yīng)的實(shí)例以及所有可以進(jìn)行等同替換的實(shí)現(xiàn)方式。在一種可能的設(shè)計中,選擇模塊303的形式可以請參閱圖9,圖9為本發(fā)明實(shí)施例中一種虛擬機(jī)啟動裝置中的選擇模塊303示意圖,該裝置應(yīng)用于具有單一網(wǎng)絡(luò)業(yè)務(wù)需求的網(wǎng)絡(luò)功能虛擬化nfv網(wǎng)絡(luò),具體實(shí)施方式如下:選擇模塊303包括計算單元3031、確定單元3032、選擇單元3033。計算單元3031用于確定所述第i類型的vnfc的實(shí)際數(shù)量權(quán)重其中,qi為第二組虛擬機(jī)中所述第i類型的vnfc的數(shù)量總和,qj為第二組虛擬機(jī)中第j類型的vnfc的數(shù)量總和,j的取值包括不大于n的所有正整數(shù);第二組虛擬機(jī)包括當(dāng)前已啟動的虛擬機(jī)和當(dāng)前已經(jīng)選擇完的待啟動虛擬機(jī);確定單元3032,用于根據(jù)所述第i類型的vnfc的預(yù)設(shè)數(shù)量權(quán)重與計算單元3031得到的第i類型的vnfc的實(shí)際數(shù)量權(quán)重αi,查找出實(shí)際數(shù)量權(quán)重低于自身預(yù)設(shè)數(shù)量權(quán)重程度最大的第k類型,第k類型為所述n個類型中的一個;選擇單元3033,用于選擇一個含有確定單元3032確定出的第k類型的vnfc的未啟動虛擬機(jī)作為新的待啟動虛擬機(jī);可以選擇一個含有第k類型的vnfc的數(shù)量最多的未啟動虛擬機(jī);若含有第k類型的vnfc的數(shù)量最多的未啟動虛擬機(jī)為多個時,選擇單元3033可以從中選擇一個含有n個類型中vnfc類型數(shù)量最多的未啟動虛擬機(jī);或者,選擇一個含有第一業(yè)務(wù)的vnfc數(shù)量總和最多的未啟動虛擬機(jī),第一業(yè)務(wù)的vnfc為上述n個vnfc類型中各種類型的vnfc。選擇模塊303還可以包括控制單元3034,用于控制計算單元3031、確定單元3032、選擇單元3033按順序依次循環(huán)工作,直到第一組虛擬機(jī)中所含有的第i類型的vnfc的數(shù)量總和滿足相應(yīng)的預(yù)設(shè)數(shù)量。在控制單元3034控制計算單元3031、確定單元3032、選擇單元3033按順序循環(huán)工作的過程中,存在選擇單元3033對所述至少一個待啟動虛擬機(jī)的先后選擇順序;選擇模塊303還可以包括順序記錄單元3035,順序記錄單元3035用于記錄所述至少一個待啟動虛擬機(jī)被選擇單元選擇的先后順序;啟動模塊304按照順序記錄單元記錄的先后順序,對所述至少一個待啟動虛擬機(jī)進(jìn)行相應(yīng)地啟動。選擇模塊303在具體實(shí)現(xiàn)過程中,可因其內(nèi)部存儲或調(diào)用的策略的不同從而衍生出多種實(shí)現(xiàn)方式。例如,在選擇至少一個待啟動虛擬機(jī)的過程中(不限定全過程,包括一些局部過程):可以按照含有vnfc1、vnfc2、vnfc3、vnfc4最多的順序?qū)Ξ?dāng)前未啟動虛擬機(jī)進(jìn)行重復(fù)輪詢選擇;也可以按照虛擬機(jī)中含有vnfc總數(shù)量從多到少的順序?qū)Ξ?dāng)前未啟動虛擬機(jī)進(jìn)行輪詢選擇;也可以按照虛擬機(jī)中含有vnfc種類數(shù)量從多到少的順序當(dāng)前未啟動虛擬機(jī)進(jìn)行輪詢選擇;直到已啟動虛擬機(jī)和已編排啟動的待虛擬機(jī)中含有的第i類型的vnfc達(dá)到預(yù)定數(shù)量。值得說明的是以上任意情況出現(xiàn)多個虛擬機(jī)具備相同的篩選條件時,均可以采用隨機(jī)的方式擇一選擇,也可以參照一定的算法規(guī)定。示例2一種啟動虛擬機(jī)的裝置,該裝置應(yīng)用于具有m個網(wǎng)絡(luò)業(yè)務(wù)需求的網(wǎng)絡(luò)功能虛擬化nfv網(wǎng)絡(luò),(多業(yè)務(wù)場景如上文所述,該示例2繼續(xù)以m個網(wǎng)絡(luò)業(yè)務(wù)為例)其中m為大于1的自然數(shù);該裝置300包括:確定模塊301,用于根據(jù)第x業(yè)務(wù),確定與所述第x業(yè)務(wù)對應(yīng)的n(x)個類型的虛擬化網(wǎng)絡(luò)功能組件vnfc類型;其中,第x業(yè)務(wù)為m個網(wǎng)絡(luò)業(yè)務(wù)中的一個網(wǎng)絡(luò)業(yè)務(wù);這n(x)個類型的vnfc能夠共同實(shí)現(xiàn)上述第x業(yè)務(wù),n為正整數(shù);x的取值包括不大于m的所有正整數(shù);獲取模塊302,用于獲取確定模塊301確定的n(x)個類型的vnfc與虛擬機(jī)的分布關(guān)系;該分布關(guān)系描述了第xi類型的vnfc分布在每個虛擬機(jī)中的數(shù)量;其中,所述每個虛擬機(jī)包括已啟動虛擬機(jī)和未啟動虛擬機(jī),所述第xi類型為所述第x業(yè)務(wù)對應(yīng)的n(x)個類型中的一個,i的取值包括不大于n(x)的所有正整數(shù);選擇模塊303,用于根據(jù)預(yù)設(shè)的多業(yè)務(wù)策略以及獲取模塊302獲取到的分布關(guān)系,從未啟動的虛擬機(jī)中選擇至少一個待啟動虛擬機(jī),使得第一組虛擬機(jī)中所含有的第xi類型的vnfc的數(shù)量總和滿足相應(yīng)的預(yù)設(shè)數(shù)量,第一組虛擬機(jī)集合包括已啟動虛擬機(jī)和所述至少一個待啟動虛擬機(jī);啟動模塊304,用于啟動選擇模塊303選擇出來的至少一個待啟動虛擬機(jī)。在具體實(shí)現(xiàn)的過程中,獲取模塊302獲取n(x)個類型的vnfc與虛擬機(jī)的分布關(guān)系的形式有很多種,如同上述示例1中獲取模塊302的描述,此處不再贅述。在一種可能的設(shè)計中,若策略中對于某一業(yè)務(wù)沒有絕對的優(yōu)先級,例如第二業(yè)務(wù)、第三業(yè)務(wù)、第四業(yè)務(wù)并沒有區(qū)分誰具有絕對的優(yōu)先級,此時并不在意某業(yè)務(wù)一定要優(yōu)先達(dá)到預(yù)期的性能標(biāo)準(zhǔn),而是以每一種業(yè)務(wù)下的各個類型的vnfc達(dá)到各自預(yù)計的數(shù)量為目標(biāo)。這種情形下,選擇模塊303可以執(zhí)行如同步驟2031a-2033a所述的方法、該方法所對應(yīng)的實(shí)例以及所有可以進(jìn)行等同替換的實(shí)現(xiàn)方式。在一種可能的設(shè)計中,選擇模塊303的實(shí)現(xiàn)形式可以參閱圖11,圖11為本發(fā)明實(shí)施例中另一種虛擬機(jī)啟動裝置中的選擇模塊303的結(jié)構(gòu)示意圖,此時m個網(wǎng)絡(luò)業(yè)務(wù)不需要區(qū)分優(yōu)先級,具體實(shí)施方式如下:選擇模塊303包括計算單元3031a、確定單元3032a、選擇單元3033a。計算單元3031a用于確定所述第xi類型的vnfc的實(shí)際數(shù)量權(quán)重其中,qxi為第二組虛擬機(jī)中所述第xi類型的vnfc的總和,qxj為第二組虛擬機(jī)中第xj類型的vnfc的總和,所述第xj類型為所述第x業(yè)務(wù)對應(yīng)的n(x)個類型中的一個,j的取值包括不大于n(x)的所有正整數(shù);第二組虛擬機(jī)包括當(dāng)前已啟動的虛擬機(jī)和當(dāng)前已經(jīng)選擇完的待啟動虛擬機(jī);確定單元3032a,用于根據(jù)所述第xi類型的vnfc的預(yù)設(shè)數(shù)量權(quán)重與計算單元3031a計算出來的第xi類型的vnfc的實(shí)際數(shù)量權(quán)重αxi,查找出實(shí)際數(shù)量權(quán)重低于自身預(yù)設(shè)數(shù)量權(quán)重程度最大的第k類型,第k類型為所述n(x)個類型中的一個;選擇單元3033a,用于選擇一個含有確定單元3032a確定出的第k類型的vnfc的未啟動虛擬機(jī)作為新的待啟動虛擬機(jī);可以選擇一個含有第k類型的vnfc的數(shù)量最多的未啟動虛擬機(jī);若含有第k類型的vnfc的數(shù)量最多的未啟動虛擬機(jī)為多個時,選擇單元3033a可以從中選擇一個含有vnfc類型數(shù)量最多的未啟動虛擬機(jī);或者,選擇一個含有vnfc數(shù)量總和最多的未啟動虛擬機(jī)。該選擇模塊還可以包括控制單元3034a,用于控制計算單元3031a、確定單元3032a、選擇單元3033a按順序依次循環(huán)工作,直到第一組虛擬機(jī)中所含有的第xi類型的vnfc的數(shù)量總和滿足相應(yīng)的預(yù)設(shè)數(shù)量。在控制單元3034a控制計算單元3031a、確定單元3032a、選擇單元3033a按順序依次循環(huán)工作的過程中,存在選擇單元3033a選擇待啟動虛擬機(jī)的先后選擇順序;該裝置還包括順序記錄單元3036a,用于記錄選擇單元3033a對待啟動虛擬機(jī)的先后選擇順序,啟動模塊304獲取所述順序記錄單元3036a記錄的先后選擇順序后,按照先后選擇順序,對選擇單元3033a選擇的待啟動虛擬機(jī)進(jìn)行啟動。在另一種可能的設(shè)計中,若啟動策略中對于某一業(yè)務(wù)有絕對的優(yōu)先級,例如第二業(yè)務(wù)大于第三業(yè)務(wù)大于第四業(yè)務(wù),此時需要第二業(yè)務(wù)優(yōu)先達(dá)到預(yù)期的性能標(biāo)準(zhǔn),即需要第二業(yè)務(wù)對應(yīng)的各類vnfc全部達(dá)到預(yù)期數(shù)量后,然后再去以同樣的思路去考慮第三業(yè)務(wù),再去考慮第四業(yè)務(wù)。這種情形下,選擇模塊303可以執(zhí)行如同步驟2031b-2033b所述的方法、該方法所對應(yīng)的實(shí)例以及所有可以進(jìn)行等同替換的實(shí)現(xiàn)方式。在一種可能的設(shè)計中,選擇模塊303的實(shí)現(xiàn)形式可以參閱圖10,圖10為本發(fā)明實(shí)施例中另一種虛擬機(jī)啟動裝置中的選擇模塊303示意圖,此時m個網(wǎng)絡(luò)業(yè)務(wù)區(qū)分優(yōu)先級,具體實(shí)施方式如下:選擇模塊303包括計算單元3031b、確定單元3032b、選擇單元3033b,還可以包含控制單元3034b,遍歷單元3035b。圖10中的計算單元3031b、確定單元3032b、選擇單元3033b、控制單元3034b與圖9中計算單元3031a、確定單元3032a、選擇單元3033a、控制單元3034a對應(yīng)執(zhí)行的功能是相同的,且單元之間的信號傳遞原理也是相似的,都是按照“計算單元-確定單元-選擇單元”這個工作模式來進(jìn)行工作的,并且控制單元來控制計算單元、確定單元、選擇單元按照這個工作模式重復(fù)執(zhí)行。區(qū)別在于圖10所示的實(shí)施例中還有遍歷單元3035b,遍歷單元3035b用于確定所述m個業(yè)務(wù)的優(yōu)先級的高低順序,使控制單元3034b按照業(yè)務(wù)的優(yōu)先級針對每個業(yè)務(wù)都控制計算單元3031b、確定單元3032b、選擇單元3033b按照“計算單元-確定單元-選擇單元”這個工作模式依次循環(huán)工作,直到第一組虛擬機(jī)中每個業(yè)務(wù)下的各類vnfc的數(shù)量都已經(jīng)達(dá)到各自的預(yù)設(shè)數(shù)量。在遍歷單元3035b使控制單元3034b針對每個業(yè)務(wù)都控制計算單元3031b、確定單元3032b、選擇單元按照3033b“計算單元-確定單元-選擇單元”這個工作模式依次循環(huán)工作的過程中,存在選擇單元3033b選擇待啟動虛擬機(jī)的先后選擇順序;順序記錄單元3036b,用于記錄選擇單元3033b對待啟動虛擬機(jī)的先后選擇順序,啟動模塊304獲取到所述先后選擇順序后,對選擇單元3033b選擇出來的待啟動虛擬機(jī)進(jìn)行啟動。選擇模塊303在具體實(shí)現(xiàn)過程中,可因其內(nèi)部存儲或調(diào)用的策略的不同從而衍生出多種實(shí)現(xiàn)方式。例如,在選擇至少一個待啟動虛擬機(jī)的過程中(不限定全過程,包括一些局部過程):可以按照含有vnfc1、vnfc2、vnfc3、vnfc4最多的順序?qū)Ξ?dāng)前未啟動虛擬機(jī)進(jìn)行重復(fù)輪詢選擇;也可以按照虛擬機(jī)中含有vnfc總數(shù)量從多到少的順序?qū)Ξ?dāng)前未啟動虛擬機(jī)進(jìn)行輪詢選擇;也可以按照虛擬機(jī)中含有vnfc種類數(shù)量從多到少的順序當(dāng)前未啟動虛擬機(jī)進(jìn)行輪詢選擇;直到已啟動虛擬機(jī)和已編排啟動的待虛擬機(jī)中含有的第i類型的vnfc達(dá)到預(yù)定數(shù)量。值得說明的是以上任意情況出現(xiàn)多個虛擬機(jī)具備相同的篩選條件時,均可以采用隨機(jī)的方式擇一選擇,也可以參照一定的算法規(guī)定。在本發(fā)明實(shí)施例中,一種啟動虛擬機(jī)的裝置包括確定模塊、獲取模塊、選擇模塊和啟動模塊。確定模塊用于確定第x業(yè)務(wù)對應(yīng)的n(x)個vnfc類型,選擇模塊根據(jù)單/多業(yè)務(wù)策略以及獲取模塊獲取到的n個類型的vnfc與虛擬機(jī)的分布關(guān)系,從需要啟動的虛擬機(jī)中確定出待啟動虛擬機(jī),由啟動模塊啟動。本發(fā)明可以根據(jù)業(yè)務(wù)需求的vnfc而盡快查找出并啟動運(yùn)行特定業(yè)務(wù)對應(yīng)的vnfc類型的虛擬機(jī),從而可以解決限制虛擬機(jī)啟動數(shù)量避免虛擬機(jī)啟動風(fēng)暴所帶來的,業(yè)務(wù)長時間無法提供或者業(yè)務(wù)處理能力長時間無法提升的問題,從而實(shí)現(xiàn)業(yè)務(wù)快速提供或業(yè)務(wù)處理能力的快速提升。另外,上述選擇模塊的多種實(shí)現(xiàn)方式能夠通過當(dāng)前虛擬機(jī)中vnfc的數(shù)量狀態(tài),來選擇出最稀缺的vnfc所在的未啟動虛擬機(jī),從而使得當(dāng)前虛擬機(jī)中所運(yùn)行的當(dāng)前業(yè)務(wù)下的vnfc在各個時段能夠充分發(fā)揮利用效率,提高系統(tǒng)的效能。請參閱圖11,圖11為本發(fā)明實(shí)施例中一種虛擬機(jī)啟動的計算機(jī)結(jié)構(gòu)示意圖。該設(shè)備500包括:處理器501,用于產(chǎn)生相應(yīng)的操作控制信號,發(fā)給計算處理設(shè)備相應(yīng)的部件,讀取以及處理軟件中的數(shù)據(jù),尤其是讀取和處理存儲器502中的數(shù)據(jù)和程序,以使其中的各個功能模塊執(zhí)行相應(yīng)的功能,從而控制相應(yīng)的部件按指令的要求進(jìn)行動作。存儲器502,用于存儲程序和各種數(shù)據(jù),主要存儲操作系統(tǒng)、應(yīng)用和功能指令等軟件單元、或者他們的子集、或者他們的擴(kuò)展集。操作系統(tǒng)包括各種系統(tǒng)程序如windows系列等,用于實(shí)現(xiàn)各種基礎(chǔ)業(yè)務(wù)以及處理基于硬件的任務(wù)器,還可以包括非易失性隨機(jī)存取存儲器(nvram),向處理器501提供包括管理計算處理設(shè)備中的硬件、軟件及數(shù)據(jù)資源,支持控制軟件和應(yīng)用。上述各個硬件單元可以通過總線503連接進(jìn)行通信。如此一來,通過調(diào)用存儲器502存儲的程序或指令,處理器501根據(jù)第一業(yè)務(wù),確定n個類型的虛擬化網(wǎng)絡(luò)功能組件vnfc,并獲得所述n個類型的vnfc與虛擬機(jī)的分布關(guān)系,該分布關(guān)系描述了第i類型的vnfc分布在每個虛擬機(jī)中的數(shù)量,第i類型為所述n個類型中的一個,i的取值包括不大于n的所有正整數(shù);根據(jù)所述分布關(guān)系以及存儲器502中預(yù)設(shè)的業(yè)務(wù)策略,從未啟動的虛擬機(jī)中選擇至少一個待啟動虛擬機(jī),使得第一組虛擬機(jī)中所含有的第i類型的vnfc的數(shù)量總和滿足相應(yīng)的預(yù)設(shè)數(shù)量,所述第一組虛擬機(jī)集合包括已啟動虛擬機(jī)和所述至少一個待啟動虛擬機(jī);啟動所述至少一個待啟動虛擬機(jī)。同理,通過調(diào)用存儲器502存儲的程序或指令,處理器501可以執(zhí)行步驟101-104、步驟201-204所述的方法及相關(guān)實(shí)例。另外,在具體實(shí)現(xiàn)過程中,通過調(diào)用存儲器502存儲的程序或指令,處理器501可以執(zhí)行上述方法實(shí)施例中所有場景下可能實(shí)現(xiàn)的方法、方法對應(yīng)的實(shí)例以及所有可以等同替換的方法。本領(lǐng)域普通技術(shù)人員可知,上述方法中的全部或部分步驟可以通過程序指令相關(guān)的硬件完成,該程序可以存儲于一計算機(jī)可讀存儲介質(zhì)中。通過以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可以用硬件實(shí)現(xiàn),或固件實(shí)現(xiàn),或它們的組合方式來實(shí)現(xiàn)。以上上述僅為本發(fā)明技術(shù)方案的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍。只要滿足按照業(yè)務(wù)來啟動相應(yīng)的虛擬機(jī)即在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁12