本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種物理機升級方法、業(yè)務(wù)遷移方法及裝置。
背景技術(shù):
傳統(tǒng)網(wǎng)絡(luò)設(shè)備,其軟件和硬件上通過一個設(shè)備提供的,而網(wǎng)絡(luò)功能虛擬化(Network Functions Virtualization,簡稱為NFV)正是要改變這一點,即:軟件和硬件需要分離,從而讓軟件和硬件獨立發(fā)展。NFV工作組的研究目標主要是希望通過廣泛采用標準化的虛擬化技術(shù),采用業(yè)界標準的大容量服務(wù)器、存儲和交換機承載各種各樣的網(wǎng)絡(luò)軟件功能,實現(xiàn)軟件的靈活加載,實現(xiàn)在數(shù)據(jù)中心、網(wǎng)絡(luò)節(jié)點和用戶端等各個位置靈活的部署配置,從而加快網(wǎng)絡(luò)部署和調(diào)整的速度,降低業(yè)務(wù)部署的復(fù)雜度,提高網(wǎng)絡(luò)設(shè)備的統(tǒng)一化、通用化、適配性等,最終降低網(wǎng)絡(luò)的Capex和Opex。按照NFV設(shè)計,從縱向看網(wǎng)絡(luò)分為三層:基礎(chǔ)設(shè)施層、虛擬網(wǎng)絡(luò)層和運營支撐層。
(1)基礎(chǔ)設(shè)施層網(wǎng)絡(luò)功能虛擬化基礎(chǔ)設(shè)施(NFV Infrastructure,簡稱為NFVI):從云計算的角度看,就是一個資源池。NFVI映射到物理基礎(chǔ)設(shè)施就是多個地理上分散的數(shù)據(jù)中心,通過高速通信網(wǎng)連接起來。NFVI需要將物理計算/存儲/交換資源通過虛擬化轉(zhuǎn)換為虛擬的計算/存儲/交換資源池。
(2)虛擬網(wǎng)絡(luò)層:虛擬網(wǎng)絡(luò)層對應(yīng)的就是目前各個電信業(yè)務(wù)網(wǎng)絡(luò),每個物理網(wǎng)元映射為一個虛擬網(wǎng)元虛擬化網(wǎng)絡(luò)功能(Virtualized Network Function,簡稱為VNF),VNF所需資源需要分解為虛擬的計算/存儲/交換資源,由NFVI來承載,VNF之間的接口依然采用傳統(tǒng)網(wǎng)絡(luò)定義的信令接口,VNF的業(yè)務(wù)網(wǎng)管依然采用網(wǎng)元(Net Element,簡稱為NE)-交換側(cè)操作維護中心(Operation Maintenance Centre–Switching,簡稱為EMS)-網(wǎng)絡(luò)管理系統(tǒng)(Network Management System,簡稱為NMS)體制。
(3)運營支撐層:運營支撐層就是目前的運營支撐系統(tǒng)(Operations Support System,簡稱為OSS)/業(yè)務(wù)支持系統(tǒng)(Business Support System,簡稱為BSS)。
具體的,根據(jù)歐洲電信標準化協(xié)會(European Telecommunications Standards Institute,簡稱為ETSI)規(guī)范要求,在網(wǎng)路功能虛擬化管理與協(xié)調(diào)流程(NFV Management and Orchestration,簡稱為NFV-MANO)域定義一套NFV規(guī)范,實現(xiàn)電信業(yè)務(wù)軟件的組織架構(gòu)。NFV同傳統(tǒng)網(wǎng)絡(luò)最大區(qū)別就是增加了一個管理編排域,簡稱MANO,MANO負責(zé)對整個NFVI資源的管理和編排,負責(zé)業(yè)務(wù)網(wǎng)絡(luò)和NFVI資源的映射和關(guān)聯(lián),負責(zé)OSS業(yè)務(wù)資源流程的實施等。MANO內(nèi)部包括VIM、虛擬化網(wǎng)絡(luò)功能管理(Virtualized Network Function Manager,簡稱為VNFM)和網(wǎng)絡(luò)功能虛擬化編排(Network Functions Virtualization Orchestrator,簡稱為NFVO)三個實體,分別完成對NFVI,VNF和業(yè)務(wù)網(wǎng)絡(luò)提供的網(wǎng)絡(luò)服務(wù)(Network Service,簡稱為NS)三個層次的管理。
在這樣的架構(gòu)下,各個層次間分離,互相之間無法感知,當?shù)讓拥腣IM層進行升級時,將會影響到上層的業(yè)務(wù)運行,導(dǎo)致上層業(yè)務(wù)中斷,甚至業(yè)務(wù)數(shù)據(jù)的丟失,造成嚴重的后果。由此可知在相關(guān)技術(shù)中存在著當VIM升級時,會造成業(yè)務(wù)中斷運行的問題。
針對相關(guān)技術(shù)中存在的當VIM升級時,會造成業(yè)務(wù)中斷運行的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本發(fā)明提供了一種物理機升級方法、業(yè)務(wù)遷移方法及裝置,以至少解決相關(guān)技術(shù)中存在的當VIM升級時,會造成業(yè)務(wù)中斷運行的問題。
根據(jù)本發(fā)明的一個方面,提供了一種物理機升級方法,包括:接收虛擬化基礎(chǔ)設(shè)施管理VIM發(fā)送的升級請求,其中,所述升級請求用于請求升級第一物理機,所述第一物理機上駐留有一個或多個第一虛擬機;根據(jù)所述升級請求執(zhí)行將所述一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上的處理;在處理完成后,向所述VIM發(fā)送用于將所述一個或多個第一虛擬機遷移到一個或多個第三虛擬機上的遷移消息;接收所述VIM返回的遷移結(jié)果;根據(jù)所述遷移結(jié)果,通知所述VIM執(zhí)行所述第一物理機的升級處理。
可選地,根據(jù)所述升級請求執(zhí)行將所述一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上的處理包括:向網(wǎng)絡(luò)功能虛擬化VNF控制器發(fā)送用于請求查詢所述一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)的請求消息;接收所述VNF控制器返回的所述一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài);根據(jù)所述一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)執(zhí)行向所述VNF控制器發(fā)送用于將所述一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到所述一個或多個第二虛擬機上的遷移消息的處理。
可選地,根據(jù)所述一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)執(zhí)行向所述VNF控制器發(fā)送用于將所述一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到所述一個或多個第二虛擬機上的遷移消息的處理包括:當所述一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)為主用狀態(tài)和/或負荷分擔(dān)狀態(tài)時,向所述VNF控制器發(fā)送所述遷移消息;當所述一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)為備用狀態(tài)時,不向所述VNF控制器發(fā)送所述遷移消息。
可選地,根據(jù)所述遷移結(jié)果,通知所述VIM執(zhí)行所述第一物理機的升級處理包括:當所述遷移結(jié)果為遷移成功時,通知所述VIM對所述第一物理機進行升級;和/或,當所述遷移結(jié)果為遷移失敗時,通知所述VIM不對所述第一物理機進行升級。
可選地,在接收所述VIM返回的遷移結(jié)果之后,還包括:通知網(wǎng)絡(luò)功能虛擬化VNF 控制器進行數(shù)據(jù)同步操作;和/或,通知網(wǎng)絡(luò)功能虛擬化VNF控制器存儲與所述一個或多個第三虛擬機的映射關(guān)系。
可選地,在向所述VIM發(fā)送用于將所述一個或多個第一虛擬機遷移到一個或多個第三虛擬機上的遷移消息之后,還包括:設(shè)置與所述一個或多個第三虛擬機的親和關(guān)系。
根據(jù)本發(fā)明的另一方面,提供了一種物理機升級方法,包括:向網(wǎng)絡(luò)功能虛擬化編排NFVO發(fā)送升級請求,其中,所述升級請求用于請求升級第一物理機,所述第一物理機上駐留有一個或多個第一虛擬機;接收所述NFVO在根據(jù)所述升級請求執(zhí)行了將所述一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上的處理之后發(fā)送的遷移消息,其中,所述遷移消息用于將所述一個或多個第一虛擬機遷移到一個或多個第三虛擬機上;根據(jù)所述遷移消息執(zhí)行將所述一個或多個第一虛擬機遷移到一個或多個第三虛擬機上的操作;向所述NFVO發(fā)送遷移結(jié)果;根據(jù)接收的由所述NFVO根據(jù)所述遷移結(jié)果返回的通知消息對所述第一物理機進行升級處理。
可選地,所述遷移結(jié)果包括遷移失敗結(jié)果和遷移成功結(jié)果,其中,當所述遷移結(jié)果為遷移失敗結(jié)果時,根據(jù)接收的由所述NFVO根據(jù)所述遷移結(jié)果返回的通知消息對所述第一物理機進行升級處理包括:接收所述NFVO根據(jù)所述遷移失敗結(jié)果返回的升級檢查失敗消息;在接收到所述升級檢查失敗消息后,不對所述第一物理機進行升級;和/或,當所述遷移結(jié)果為遷移成功結(jié)果時,根據(jù)接收的由所述NFVO根據(jù)所述遷移結(jié)果返回的通知消息對所述第一物理機進行升級處理包括:接收所述NFVO根據(jù)所述遷移成功結(jié)果返回的升級檢查成功消息;在接收到所述升級檢查成功消息后,對所述第一物理機進行升級。
可選地,在根據(jù)所述遷移消息執(zhí)行將所述一個或多個第一虛擬機遷移到一個或多個第三虛擬機上的操作之后,還包括:設(shè)置與所述一個或多個第三虛擬機的親和關(guān)系。
根據(jù)本發(fā)明的另一方面,提供了一種業(yè)務(wù)遷移方法,包括:接收網(wǎng)絡(luò)功能虛擬化編排NFVO發(fā)送的請求消息;根據(jù)所述請求消息查詢一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài),其中,所述一個或多個第一虛擬機駐留于待升級的第一物理機上;將查詢到的所述一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)發(fā)送給所述NFVO;接收所述NFVO根據(jù)所述一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)發(fā)送的遷移消息;根據(jù)所述遷移消息將所述一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上。
可選地,在根據(jù)所述遷移消息將所述一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上之后,還包括:接收所述NFVO在虛擬化基礎(chǔ)設(shè)施管理VIM將所述一個或多個第一虛擬機遷移到一個或多個第三虛擬機上之后發(fā)送的通知消息;根據(jù)所述通知消息進行數(shù)據(jù)同步操作,和/或,根據(jù)所述通知消息存儲與所述一個或多個第三虛擬機的映射關(guān)系。
根據(jù)本發(fā)明的另一方面,提供了一種物理機升級裝置,包括:第一接收模塊,用于 接收虛擬化基礎(chǔ)設(shè)施管理VIM發(fā)送的升級請求,其中,所述升級請求用于請求升級第一物理機,所述第一物理機上駐留有一個或多個第一虛擬機;第一執(zhí)行模塊,用于根據(jù)所述升級請求執(zhí)行將所述一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上的處理;第一發(fā)送模塊,用于在處理完成后,向所述VIM發(fā)送用于將所述一個或多個第一虛擬機遷移到一個或多個第三虛擬機上的遷移消息;第二接收模塊,用于接收所述VIM返回的遷移結(jié)果;第一通知模塊,用于根據(jù)所述遷移結(jié)果,通知所述VIM執(zhí)行所述第一物理機的升級處理。
可選地,所述第一執(zhí)行模塊包括:第一發(fā)送單元,用于向網(wǎng)絡(luò)功能虛擬化VNF控制器發(fā)送用于請求查詢所述一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)的請求消息;接收單元,用于接收所述VNF控制器返回的所述一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài);執(zhí)行單元,用于根據(jù)所述一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)執(zhí)行向所述VNF控制器發(fā)送用于將所述一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到所述一個或多個第二虛擬機上的遷移消息的處理。
可選地,所述執(zhí)行單元包括:當所述一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)為主用狀態(tài)和/或負荷分擔(dān)狀態(tài)時,向所述VNF控制器發(fā)送所述遷移消息;當所述一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)為備用狀態(tài)時,不向所述VNF控制器發(fā)送所述遷移消息。
可選地,所述第一通知模塊包括:當所述遷移結(jié)果為遷移成功時,通知所述VIM對所述第一物理機進行升級;和/或,當所述遷移結(jié)果為遷移失敗時,通知所述VIM不對所述第一物理機進行升級。
可選地,所述裝置還包括:第二通知模塊,用于通知網(wǎng)絡(luò)功能虛擬化VNF控制器進行數(shù)據(jù)同步操作;和/或,通知網(wǎng)絡(luò)功能虛擬化VNF控制器存儲與所述一個或多個第三虛擬機的映射關(guān)系。
可選地,所述裝置還包括:第一設(shè)置模塊,用于設(shè)置與所述一個或多個第三虛擬機的親和關(guān)系。
根據(jù)本發(fā)明的另一方面,提供了一種網(wǎng)絡(luò)功能虛擬化編排NFVO,包括上述任一項所述的裝置。
根據(jù)本發(fā)明的另一方面,提供了一種物理機升級裝置,包括:第二發(fā)送模塊,用于向網(wǎng)絡(luò)功能虛擬化編排NFVO發(fā)送升級請求,其中,所述升級請求用于請求升級第一物理機,所述第一物理機上駐留有一個或多個第一虛擬機;第三接收模塊,用于接收所述NFVO在根據(jù)所述升級請求執(zhí)行了將所述一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上的處理之后發(fā)送的遷移消息,其中,所述遷移消息用于將所述一個或多個第一虛擬機遷移到一個或多個第三虛擬機上;第二執(zhí)行模塊,用于根據(jù)所述遷移消息執(zhí)行將所述一個或多個第一虛擬機遷移到一個或多個第三虛擬機上的操作;第三發(fā)送模塊,用于向所述NFVO發(fā)送遷移結(jié)果;第一處理模塊,用于根據(jù)接收的由所述 NFVO根據(jù)所述遷移結(jié)果返回的通知消息對所述第一物理機進行升級處理。
可選地,所述遷移結(jié)果包括遷移失敗結(jié)果和遷移成功結(jié)果,其中,當所述遷移結(jié)果為遷移失敗結(jié)果時,所述第一處理模塊包括:接收所述NFVO根據(jù)所述遷移失敗結(jié)果返回的升級檢查失敗消息;在接收到所述升級檢查失敗消息后,不對所述第一物理機進行升級;和/或,當所述遷移結(jié)果為遷移成功結(jié)果時,所述第一處理模塊包括:接收所述NFVO根據(jù)所述遷移成功結(jié)果返回的升級檢查成功消息;在接收到所述升級檢查成功消息后,對所述第一物理機進行升級。
可選地,所述裝置還包括:第二設(shè)置模塊,用于設(shè)置與所述一個或多個第三虛擬機的親和關(guān)系。
根據(jù)本發(fā)明的另一方面,提供了一種虛擬化基礎(chǔ)設(shè)施管理VIM,包括上述任一項所述的裝置。
根據(jù)本發(fā)明的另一方面,提供了一種業(yè)務(wù)遷移裝置,包括:第四接收模塊,用于接收網(wǎng)絡(luò)功能虛擬化編排NFVO發(fā)送的請求消息;查詢模塊,用于根據(jù)所述請求消息查詢一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài),其中,所述一個或多個第一虛擬機駐留于待升級的第一物理機上;第四發(fā)送模塊,用于將查詢到的所述一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)發(fā)送給所述NFVO;第五接收模塊,用于接收所述NFVO根據(jù)所述一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)發(fā)送的遷移消息;遷移模塊,用于根據(jù)所述遷移消息將所述一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上。
可選地,所述裝置還包括:第六接收模塊,用于接收所述NFVO在虛擬化基礎(chǔ)設(shè)施管理VIM將所述一個或多個第一虛擬機遷移到一個或多個第三虛擬機上之后發(fā)送的通知消息;第二處理模塊,用于根據(jù)所述通知消息進行數(shù)據(jù)同步操作,和/或,根據(jù)所述通知消息存儲與所述一個或多個第三虛擬機的映射關(guān)系。
根據(jù)本發(fā)明的另一方面,提供了一種網(wǎng)絡(luò)功能虛擬化VNF控制器,包括上述任一項所述的裝置。
通過本發(fā)明,采用接收虛擬化基礎(chǔ)設(shè)施管理VIM發(fā)送的升級請求,其中,所述升級請求用于請求升級第一物理機,所述第一物理機上駐留有一個或多個第一虛擬機;根據(jù)所述升級請求執(zhí)行將所述一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上的處理;在處理完成后,向所述VIM發(fā)送用于將所述一個或多個第一虛擬機遷移到一個或多個第三虛擬機上的遷移消息;接收所述VIM返回的遷移結(jié)果;根據(jù)所述遷移結(jié)果,通知所述VIM執(zhí)行所述第一物理機的升級處理,解決了相關(guān)技術(shù)中存在的當VIM升級時,會造成業(yè)務(wù)中斷運行的問題,進而達到了在保證業(yè)務(wù)不中斷的情況下實現(xiàn)VIM升級的效果。
附圖說明
此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:
圖1是根據(jù)本發(fā)明實施例的第一種物理機升級方法的流程圖;
圖2是根據(jù)本發(fā)明實施例的第二種物理機升級方法的流程圖;
圖3是根據(jù)本發(fā)明實施例的業(yè)務(wù)遷移方法的流程圖;
圖4是根據(jù)本發(fā)明實施例的第一種物理機升級裝置的結(jié)構(gòu)框圖;
圖5是根據(jù)本發(fā)明實施例的第一種物理機升級裝置中第一執(zhí)行模塊44的結(jié)構(gòu)框圖;
圖6是根據(jù)本發(fā)明實施例的第一種物理機升級裝置的優(yōu)選結(jié)構(gòu)框圖一;
圖7是根據(jù)本發(fā)明實施例的第一種物理機升級裝置的優(yōu)選結(jié)構(gòu)框圖二;
圖8是根據(jù)本發(fā)明實施例的NFVO 82的結(jié)構(gòu)框圖;
圖9是根據(jù)本發(fā)明實施例的第二種物理機升級裝置的結(jié)構(gòu)框圖;
圖10是根據(jù)本發(fā)明實施例的第二種物理機升級裝置的優(yōu)選結(jié)構(gòu)框圖;
圖11是根據(jù)本發(fā)明實施例的VIM的結(jié)構(gòu)框圖;
圖12是根據(jù)本發(fā)明實施例的業(yè)務(wù)遷移裝置的結(jié)構(gòu)框圖;
圖13是根據(jù)本發(fā)明實施例的業(yè)務(wù)遷移裝置的優(yōu)選結(jié)構(gòu)框圖;
圖14是根據(jù)本發(fā)明實施例的VNF控制器的結(jié)構(gòu)框圖;
圖15是根據(jù)本發(fā)明實施例的系統(tǒng)結(jié)構(gòu)框圖;
圖16是根據(jù)本發(fā)明實施例的虛擬機處于停機狀態(tài)或者虛擬機處于激活且其承載的業(yè)務(wù)為備用時,VIM升級過程示意圖;
圖17是根據(jù)本發(fā)明實施例的虛擬機處于激活狀態(tài)且承載的業(yè)務(wù)為主用時,VIM升級過程示意圖;
圖18是根據(jù)本發(fā)明實施例的VIM升級,VNF業(yè)務(wù)為主備備份時,VNF業(yè)務(wù)切換和虛擬機遷移示意圖;
圖19是根據(jù)本發(fā)明實施例的VIM升級,VNF業(yè)務(wù)為主備備份和負荷分擔(dān)方式時,VNF業(yè)務(wù)切換、遷移和虛擬機遷移示意圖;
圖20是根據(jù)本發(fā)明實施例的VIM升級,VNF有業(yè)務(wù)故障態(tài)的虛擬機時,VNF業(yè)務(wù)切換和虛擬機遷移示意圖。
具體實施方式
下文中將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。
在本實施例中提供了一種物理機升級方法,圖1是根據(jù)本發(fā)明實施例的第一種物理機升級方法的流程圖,如圖1所示,該流程包括如下步驟:
步驟S102,接收虛擬化基礎(chǔ)設(shè)施管理VIM發(fā)送的升級請求,其中,該升級請求用于請求升級第一物理機,該第一物理機上駐留有一個或多個第一虛擬機;
步驟S104,根據(jù)上述升級請求執(zhí)行將一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上的處理;
步驟S106,在處理完成后,向VIM發(fā)送用于將一個或多個第一虛擬機遷移到一個或多個第三虛擬機上的遷移消息;
步驟S108,接收上述VIM返回的遷移結(jié)果;
步驟S110,根據(jù)上述遷移結(jié)果,通知VIM執(zhí)行第一物理機的升級處理。
通過上述步驟,VIM在進行物理機的升級之前,將物理機上駐留的虛擬機上運行的業(yè)務(wù)以及虛擬機遷移到其他虛擬機上,從而能夠在VIM升級時,保證業(yè)務(wù)的持續(xù)不中斷,解決了相關(guān)技術(shù)中存在的當VIM升級時,會造成業(yè)務(wù)中斷運行的問題,進而達到了在保證業(yè)務(wù)不中斷的情況下實現(xiàn)VIM升級的效果。
在一個可選的實施例中,根據(jù)上述升級請求執(zhí)行將一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上的處理包括:向網(wǎng)絡(luò)功能虛擬化VNF控制器發(fā)送用于請求查詢該一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)的請求消息;接收VNF控制器返回的一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài);根據(jù)該一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)執(zhí)行向VNF控制器發(fā)送用于將一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上的遷移消息的處理。由此可知,在該實施例中,是利用了VNF控制器進行虛擬機上業(yè)務(wù)的遷移。其中,上述的執(zhí)行向VNF控制器發(fā)送用于將一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上的遷移消息的處理可以包括向VNF發(fā)送遷移消息和不向VNF發(fā)送遷移消息兩種情況,在實際應(yīng)用中,根據(jù)具體情況來確定是否需要向VNF發(fā)送遷移消息,例如,當一個或多個第一虛擬機上都沒有運行業(yè)務(wù)時,可以不用進行業(yè)務(wù)的遷移,則不用向VNF發(fā)送遷移消息。
在一個可選的實施例中,根據(jù)一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)執(zhí)行向VNF控制器發(fā)送用于將一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機 上的遷移消息的處理包括:當一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)為主用狀態(tài)和/或負荷分擔(dān)狀態(tài)時,向該VNF控制器發(fā)送遷移消息;當一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)為備用狀態(tài)時,不向VNF控制器發(fā)送遷移消息。
在一個可選的實施例中,根據(jù)上述遷移結(jié)果,通知VIM執(zhí)行第一物理機的升級處理包括:當遷移結(jié)果為遷移成功時,通知該VIM對第一物理機進行升級;和/或,當遷移結(jié)果為遷移失敗時,通知VIM不對第一物理機進行升級。
在一個可選的實施例中,在接收VIM返回的遷移結(jié)果之后,還包括:通知網(wǎng)絡(luò)功能虛擬化VNF控制器進行數(shù)據(jù)同步操作;和/或,通知網(wǎng)絡(luò)功能虛擬化VNF控制器存儲與上述一個或多個第三虛擬機的映射關(guān)系。
在一個可選的實施例中,在向VIM發(fā)送用于將一個或多個第一虛擬機遷移到一個或多個第三虛擬機上的遷移消息之后,還包括:設(shè)置與該一個或多個第三虛擬機的親和關(guān)系。
圖2是根據(jù)本發(fā)明實施例的第二種物理機升級方法的流程圖,如圖2所示,該流程包括如下步驟:
步驟S202,向網(wǎng)絡(luò)功能虛擬化編排NFVO發(fā)送升級請求,其中,該升級請求用于請求升級第一物理機,該第一物理機上駐留有一個或多個第一虛擬機;
步驟S204,接收NFVO在根據(jù)上述升級請求執(zhí)行了將一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上的處理之后發(fā)送的遷移消息,其中,該遷移消息用于將一個或多個第一虛擬機遷移到一個或多個第三虛擬機上;
步驟S206,根據(jù)該遷移消息執(zhí)行將一個或多個第一虛擬機遷移到一個或多個第三虛擬機上的操作;
步驟S208,向該NFVO發(fā)送遷移結(jié)果;
步驟S210,根據(jù)接收的由NFVO根據(jù)上述遷移結(jié)果返回的通知消息對第一物理機進行升級處理。
執(zhí)行上述流程的主體可以是VIM,從而通過上述步驟,在VIM進行物理機的升級之前,NFVO將物理機上駐留的虛擬機上運行的業(yè)務(wù)以及虛擬機遷移到其他虛擬機上,從而能夠在VIM升級時,保證業(yè)務(wù)的持續(xù)不中斷,解決了相關(guān)技術(shù)中存在的當VIM升級時,會造成業(yè)務(wù)中斷運行的問題,進而達到了在保證業(yè)務(wù)不中斷的情況下實現(xiàn)VIM升級的效果。
在一個可選的實施例中,上述遷移結(jié)果包括遷移失敗結(jié)果和遷移成功結(jié)果,其中,當該遷移結(jié)果為遷移失敗結(jié)果時,根據(jù)接收的由NFVO根據(jù)上述遷移結(jié)果返回的通知消息對第一物理機進行升級處理包括:接收NFVO根據(jù)上述遷移失敗結(jié)果返回的升級檢查 失敗消息;在接收到上述升級檢查失敗消息后,不對第一物理機進行升級;和/或,當上述遷移結(jié)果為遷移成功結(jié)果時,根據(jù)接收的由NFVO根據(jù)上述遷移結(jié)果返回的通知消息對第一物理機進行升級處理包括:接收NFVO根據(jù)上述遷移成功結(jié)果返回的升級檢查成功消息;在接收到該升級檢查成功消息后,對第一物理機進行升級。
在一個可選的實施例中,在根據(jù)上述遷移消息執(zhí)行將一個或多個第一虛擬機遷移到一個或多個第三虛擬機上的操作之后,還包括:設(shè)置與該一個或多個第三虛擬機的親和關(guān)系。
圖3是根據(jù)本發(fā)明實施例的業(yè)務(wù)遷移方法的流程圖,如圖3所示,該流程包括如下步驟:
步驟S302,接收網(wǎng)絡(luò)功能虛擬化編排NFVO發(fā)送的請求消息;
步驟S304,根據(jù)上述請求消息查詢一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài),其中,該一個或多個第一虛擬機駐留于待升級的第一物理機上;
步驟S306,將查詢到的一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)發(fā)送給NFVO;
步驟S308,接收上述NFVO根據(jù)一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)發(fā)送的遷移消息;
步驟S310,根據(jù)該遷移消息將一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上。
通過上述步驟,在物理機升級之前,對物理機上駐留的虛擬機上運行的業(yè)務(wù)進行遷移,從而能夠在物理機升級時,保證業(yè)務(wù)的持續(xù)不中斷,解決了相關(guān)技術(shù)中存在的當物理機升級時,會造成業(yè)務(wù)中斷運行的問題,進而達到了在保證業(yè)務(wù)不中斷的情況下實現(xiàn)物理機升級的效果。
在一個可選的實施例中,在根據(jù)上述遷移消息將一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上之后,還包括:接收該NFVO在虛擬化基礎(chǔ)設(shè)施管理VIM將一個或多個第一虛擬機遷移到一個或多個第三虛擬機上之后發(fā)送的通知消息;根據(jù)該通知消息進行數(shù)據(jù)同步操作,和/或,根據(jù)該通知消息存儲與一個或多個第三虛擬機的映射關(guān)系。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
在本實施例中還提供了一種物理機升級裝置、業(yè)務(wù)遷移裝置,該裝置用于實現(xiàn)上述實施例及優(yōu)選實施方式,已經(jīng)進行過說明的不再贅述。如以下所使用的,術(shù)語“模塊”可以實現(xiàn)預(yù)定功能的軟件和/或硬件的組合。盡管以下實施例所描述的裝置較佳地以軟件來實現(xiàn),但是硬件,或者軟件和硬件的組合的實現(xiàn)也是可能并被構(gòu)想的。
圖4是根據(jù)本發(fā)明實施例的第一種物理機升級裝置的結(jié)構(gòu)框圖,如圖4所示,該裝置包括第一接收模塊42、第一執(zhí)行模塊44、第一發(fā)送模塊46、第二接收模塊48和第一通知模塊410,下面對該裝置進行說明。
第一接收模塊42,用于接收虛擬化基礎(chǔ)設(shè)施管理VIM發(fā)送的升級請求,其中,該升級請求用于請求升級第一物理機,第一物理機上駐留有一個或多個第一虛擬機;第一執(zhí)行模塊44,連接至上述第一接收模塊42,用于根據(jù)上述升級請求執(zhí)行將一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上的處理;第一發(fā)送模塊46,連接至上述第一執(zhí)行模塊44,用于在處理完成后,向VIM發(fā)送用于將該一個或多個第一虛擬機遷移到一個或多個第三虛擬機上的遷移消息;第二接收模塊48,連接至上述第一發(fā)送模塊46,用于接收VIM返回的遷移結(jié)果;第一通知模塊410,連接至上述第二接收模塊48,用于根據(jù)上述遷移結(jié)果,通知VIM執(zhí)行第一物理機的升級處理。
圖5是根據(jù)本發(fā)明實施例的第一種物理機升級裝置中第一執(zhí)行模塊44的結(jié)構(gòu)框圖,如圖5所示,該第一執(zhí)行模塊44包括第一發(fā)送單元52、接收單元54和執(zhí)行單元56,下面對該第一執(zhí)行模塊44進行說明。
第一發(fā)送單元52,用于向網(wǎng)絡(luò)功能虛擬化VNF控制器發(fā)送用于請求查詢該一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)的請求消息;接收單元54,連接至上述第一發(fā)送單元52,用于接收VNF控制器返回的一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài);執(zhí)行單元56,連接至上述接收單元54,用于根據(jù)上述一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)執(zhí)行向VNF控制器發(fā)送用于將一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上的遷移消息的處理。
可選地,上述執(zhí)行單元56包括:當一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)為主用狀態(tài)和/或負荷分擔(dān)狀態(tài)時,向該VNF控制器發(fā)送上述遷移消息;當該一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)為備用狀態(tài)時,不向VNF控制器發(fā)送上述遷移消息。
可選地,上述第一通知模塊410包括:當上述遷移結(jié)果為遷移成功時,通知VIM對第一物理機進行升級;和/或,當上述遷移結(jié)果為遷移失敗時,通知VIM不對第一物理機進行升級。
圖6是根據(jù)本發(fā)明實施例的第一種物理機升級裝置的優(yōu)選結(jié)構(gòu)框圖一,如圖6所示,該裝置除包括圖4所示的所有模塊外,還包括:第二通知模塊62,下面對該裝置進行說明。
第二通知模塊62,連接至上述第二接收模塊48,用于通知網(wǎng)絡(luò)功能虛擬化VNF控制器進行數(shù)據(jù)同步操作;和/或,通知網(wǎng)絡(luò)功能虛擬化VNF控制器存儲與該一個或多個第三虛擬機的映射關(guān)系。
圖7是根據(jù)本發(fā)明實施例的第一種物理機升級裝置的優(yōu)選結(jié)構(gòu)框圖二,如圖7所示,該裝置除包括圖4所示的所有模塊外,還包括第一設(shè)置模塊72,下面對該裝置進行說明。
第一設(shè)置模塊72,連接至上述第一發(fā)送模塊46,用于設(shè)置與一個或多個第三虛擬機的親和關(guān)系。
圖8是根據(jù)本發(fā)明實施例的NFVO 82的結(jié)構(gòu)框圖,如圖8所示,該NFVO 82包括上述任一項的第一種物理機升級裝置84。
圖9是根據(jù)本發(fā)明實施例的第二種物理機升級裝置的結(jié)構(gòu)框圖,如圖9所示,該裝置包括第二發(fā)送模塊92、第三接收模塊94、第二執(zhí)行模塊96、第三發(fā)送模塊98和第一處理模塊910,下面對該裝置進行說明。
第二發(fā)送模塊92,用于向網(wǎng)絡(luò)功能虛擬化編排NFVO發(fā)送升級請求,其中,該升級請求用于請求升級第一物理機,第一物理機上駐留有一個或多個第一虛擬機;第三接收模塊94,連接至上述第二發(fā)送模塊92,用于接收NFVO在根據(jù)上述升級請求執(zhí)行了將一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上的處理之后發(fā)送的遷移消息,其中,該遷移消息用于將一個或多個第一虛擬機遷移到一個或多個第三虛擬機上;第二執(zhí)行模塊96,連接至上述第三接收模塊94,用于根據(jù)遷移消息執(zhí)行將一個或多個第一虛擬機遷移到一個或多個第三虛擬機上的操作;第三發(fā)送模塊98,連接至上述第二執(zhí)行模塊96,用于向NFVO發(fā)送遷移結(jié)果;第一處理模塊910,連接至上述第三發(fā)送模塊98,用于根據(jù)接收的由NFVO根據(jù)遷移結(jié)果返回的通知消息對第一物理機進行升級處理。
可選地,上述遷移結(jié)果包括遷移失敗結(jié)果和遷移成功結(jié)果,其中,當遷移結(jié)果為遷移失敗結(jié)果時,上述第一處理模塊910包括:接收NFVO根據(jù)遷移失敗結(jié)果返回的升級檢查失敗消息;在接收到該升級檢查失敗消息后,不對第一物理機進行升級;和/或,當遷移結(jié)果為遷移成功結(jié)果時,上述第一處理模塊910包括:接收述NFVO根據(jù)遷移成功結(jié)果返回的升級檢查成功消息;在接收到該升級檢查成功消息后,對第一物理機進行升級。
圖10是根據(jù)本發(fā)明實施例的第二種物理機升級裝置的優(yōu)選結(jié)構(gòu)框圖,如圖10所示,該裝置除包括圖9所示的所有模塊外,還包括第二設(shè)置模塊102,下面對該裝置進行說明。
第二設(shè)置模塊102,連接至上述第二執(zhí)行模塊96,用于設(shè)置與一個或多個第三虛擬機的親和關(guān)系。
圖11是根據(jù)本發(fā)明實施例的VIM的結(jié)構(gòu)框圖,如圖11所示,該VIM 112包括上述任一項的第二種物理機升級裝置114。
圖12是根據(jù)本發(fā)明實施例的業(yè)務(wù)遷移裝置的結(jié)構(gòu)框圖,如圖12所示,該裝置包括第四接收模塊122、查詢模塊124、第四發(fā)送模塊126、第五接收模塊128和遷移模塊1210,下面對該裝置進行說明。
第四接收模塊122,用于接收網(wǎng)絡(luò)功能虛擬化編排NFVO發(fā)送的請求消息;查詢模塊124,連接至上述第四接收模塊122,用于根據(jù)上述請求消息查詢一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài),其中,該一個或多個第一虛擬機駐留于待升級的第一物理機上;第四發(fā)送模塊126,連接至上述查詢模塊124,用于將查詢到的一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)發(fā)送給NFVO;第五接收模塊128,連接至上述第四發(fā)送模塊126,用于接收NFVO根據(jù)一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)發(fā)送的遷移消息;遷移模塊1210,連接至上述第五接收模塊128,用于根據(jù)上述遷移消息將一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上。
圖13是根據(jù)本發(fā)明實施例的業(yè)務(wù)遷移裝置的優(yōu)選結(jié)構(gòu)框圖,如圖13所示,該裝置除包括圖12所示的所有模塊外,還包括第六接收模塊132和第二處理模塊134,下面對該裝置進行說明。
第六接收模塊132,連接至上述遷移模塊1210,用于接收NFVO在虛擬化基礎(chǔ)設(shè)施管理VIM將一個或多個第一虛擬機遷移到一個或多個第三虛擬機上之后發(fā)送的通知消息;第二處理模塊134,連接至上述第六接收模塊132,用于根據(jù)通知消息進行數(shù)據(jù)同步操作,和/或,根據(jù)通知消息存儲與一個或多個第三虛擬機的映射關(guān)系。
圖14是根據(jù)本發(fā)明實施例的VNF控制器的結(jié)構(gòu)框圖,如圖14所示,該VNF控制器142包括上述任一項的業(yè)務(wù)遷移裝置144。
上述的實施例中,分別是從NFVO、VIM和VNF控制器側(cè)單獨進行說明的,下面對整體流程進行說明:在電信設(shè)備網(wǎng)絡(luò)功能虛擬化的NFV-MANO域規(guī)范中,提出了一套VIM升級時實現(xiàn)VNF業(yè)務(wù)不中斷方法,保證業(yè)務(wù)數(shù)據(jù)的完整性和業(yè)務(wù)的持續(xù)性。本系統(tǒng)設(shè)計了一個負責(zé)實現(xiàn)VIM升級時,業(yè)務(wù)模塊的遷移和切換方法,在NFV-MANO域的實際應(yīng)用中,因為隔離了各個層次之間的直接關(guān)聯(lián),當I層進行升級時,VNF業(yè)務(wù)由于無法感知底層的變化,無法做出適當?shù)恼{(diào)整,并且業(yè)務(wù)模塊部署的分散性以及各個VNF業(yè)務(wù)的差異性,導(dǎo)致難以保證業(yè)務(wù)的持續(xù)性運行。為了適應(yīng)新的技術(shù)發(fā)展,上述的各實施例中的方案能夠在NFVI和VIM升級時,及時、快速的實現(xiàn)VNF業(yè)務(wù)的遷移和切換,從而保證VNF業(yè)務(wù)的數(shù)據(jù)完整性和運行的可持續(xù)性。
根據(jù)ETSI規(guī)范要求,在NFV-MANO域定義一套自動化部署規(guī)范,實現(xiàn)一套虛擬化應(yīng)用部署流程和架構(gòu)。在這個架構(gòu)中,負責(zé)整個虛擬化管理平臺內(nèi)的VNF和資源的管理和調(diào)度的Orchestrator,即NFVO,負責(zé)虛擬網(wǎng)絡(luò)功能的生命周期管理的VNFM以 及相關(guān)聯(lián)的功能實體(VNF,EMS,VIM)。
本發(fā)明實施例中的電信設(shè)備虛擬化技術(shù)下的VIM升級時VNF業(yè)務(wù)不中斷系統(tǒng)包括以下模塊:負責(zé)整個虛擬化管理平臺內(nèi)的VNF和資源的管理和調(diào)度的NFVO模塊,負責(zé)虛擬網(wǎng)絡(luò)功能的NFVI層進行管理的VIM模塊以及業(yè)務(wù)層的VNF模塊等。
還包括:
VIM升級時VNF業(yè)務(wù)不中斷系統(tǒng):由NFVO的升級代理模塊、VNF的VNF控制器模塊和VIM的升級處理模塊等三個子模塊組成,如圖15所示,圖15是根據(jù)本發(fā)明實施例的系統(tǒng)結(jié)構(gòu)框圖,下面分別介紹各組件:
升級代理模塊:
本模塊由NFVO實現(xiàn)。當VIM需要升級時,從VIM上下發(fā)升級請求到NFVO的升級代理模塊,該升級信息主要包括要升級的硬件和虛擬資源對應(yīng)的主機列表等。NFVO收到升級請求后把VIM所發(fā)出的升級信息,該信息包含要升級的硬件和虛擬資源對應(yīng)的主機列表,發(fā)給升級代理模塊。升級代理模塊對當前虛擬機和主機資源所對應(yīng)的VNF實例信息存儲匹配關(guān)系,根據(jù)收到NFVO的請求信息,對波及影響的虛機運行狀態(tài)進行檢查,同時結(jié)合內(nèi)部所管理的VNF實例信息,對業(yè)務(wù)模塊開始進行處理。
圖16是根據(jù)本發(fā)明實施例的虛擬機處于停機狀態(tài)或者虛擬機處于激活且其承載的業(yè)務(wù)為備用時,VIM升級過程示意圖,圖17是根據(jù)本發(fā)明實施例的虛擬機處于激活狀態(tài)且承載的業(yè)務(wù)為主用時,VIM升級過程示意圖。下面結(jié)合圖16、17對升級代理模塊的具體處理流程進行說明:
1.1如果VIM升級所影響的虛擬機處于未啟動激活狀態(tài)(如圖16所示),則升級代理模塊對這部分虛擬機不做處理。
1.2如果VIM升級所影響的虛擬機處于激活狀態(tài)(如圖17所示),則升級代理模塊對這部分虛擬機所在的VNF發(fā)送業(yè)務(wù)運行狀態(tài)查詢消息,VNF將該消息轉(zhuǎn)發(fā)給VNF控制器,由VNF控制器判斷其是否在運行業(yè)務(wù),并返回查詢結(jié)果到NFVO,根據(jù)查詢結(jié)果作如下處理:
(1)如果該虛擬機當前業(yè)務(wù)為主用狀態(tài),則升級代理模塊發(fā)出業(yè)務(wù)主用狀態(tài)切換為備用狀態(tài)請求給VNF控制器,VNF控制器切換當前虛擬機業(yè)務(wù)的主用狀態(tài)為備用狀態(tài)。
(2)如果該虛擬機當前業(yè)務(wù)為備用狀態(tài),則無需進行業(yè)務(wù)主備切換。
(3)如果該虛擬機當前業(yè)務(wù)為負荷分擔(dān),則升級代理模塊發(fā)出業(yè)務(wù)遷移請求給VNF控制器,VNF控制器遷移當前虛擬機業(yè)務(wù)的到其他備用模塊。
以上流程完成后,升級代理模塊向NFVO發(fā)出遷移虛擬機請求,將該虛擬機遷移到 新的宿主物理機,并根據(jù)VNF要求進行親和關(guān)系設(shè)置,該設(shè)置為可選。由NFVO把請求發(fā)給VIM后,VIM進行虛擬機進行遷移,并對新遷移后的虛擬機設(shè)置親和關(guān)系,可選配置。VIM通知NFVO執(zhí)行結(jié)果,若是成功,則NFVO把信息返回給升級代理模塊后,升級代理模塊存儲相關(guān)信息,若是失敗,則NFVO通知VIM,無法進行升級,并上報升級失敗原因。全部流程由于變動的是業(yè)務(wù)當前未激活的虛擬機,因此對業(yè)務(wù)無影響。
其中業(yè)務(wù)虛擬機遷移方法:
(1)VIM對新切換的虛擬機根據(jù)NFVO所帶給其的VNF鏡像,在新的物理主機上重新創(chuàng)建VM的方式處理。
(2)VIM新創(chuàng)建完VM后,并根據(jù)NFVO發(fā)出的親和互斥關(guān)系進行設(shè)置,然后,返回相關(guān)新的VM信息給NFVO。
(3)NFVO收到信息后轉(zhuǎn)給升級代理模塊,升級代理模塊更新自己存儲的VNF所對應(yīng)的相關(guān)虛擬資源信息,并對新虛擬機加載VNF所對應(yīng)的版本軟件,然后把信息發(fā)給VNF控制器,VNF控制器完成新虛擬機數(shù)據(jù)從主用的虛擬機向備用虛擬機分發(fā)的操作。
以上流程處理完成后,升級代理模塊通知VIM,業(yè)務(wù)切換和遷移完成,可以進行升級處理。
本模塊能夠通過業(yè)務(wù)模塊的虛擬機遷移,實現(xiàn)業(yè)務(wù)數(shù)據(jù)完整性,以防硬件或者軟件升級時導(dǎo)致的數(shù)據(jù)丟失;通過業(yè)務(wù)的主備切換,實現(xiàn)業(yè)務(wù)的不中斷運行,保證了業(yè)務(wù)的可持續(xù)性。整個流程由NFV-MANO中的NFVO負責(zé)控制與VIM交互,VNF無需感知到下層的變化。因此,本發(fā)明能夠在NFV-MANO規(guī)范的網(wǎng)絡(luò)功能虛擬化中實現(xiàn)VIM升級時VNF業(yè)務(wù)不中斷運行。
VNF控制器模塊:
本模塊由VNF實現(xiàn)。負責(zé)實現(xiàn)的功能主要有:
判斷虛擬機所承載的業(yè)務(wù)模塊的運行狀態(tài),并返回查詢結(jié)果。
負責(zé)對虛擬機所承載的業(yè)務(wù)模塊進行主備倒換,并返回結(jié)果。
NFVO返回遷移后的虛擬機信息,通知VNF進行數(shù)據(jù)分發(fā)操作。
VIM的升級處理模塊:
本模塊由VIM實現(xiàn),負責(zé)下發(fā)要升級的升級信息,遷移虛擬機并設(shè)置親和關(guān)系等。
實施例一:
圖18是根據(jù)本發(fā)明實施例的VIM升級,VNF業(yè)務(wù)為主備備份時,VNF業(yè)務(wù)切換和虛擬機遷移示意圖,如圖18所示,一個VIM系統(tǒng)管理著4個物理主機,分別是HOST1,HOST2,HOST3,HOST4。VIM的虛擬機管理系統(tǒng)駐留在HOST1中,其中4101實體為NFVO,4102實體為VNF控制器,4201,4202,4301,4302分別為該VNF的業(yè)務(wù)虛擬機,其中4201和4301業(yè)務(wù)關(guān)系為互為主備,4202和4302業(yè)務(wù)關(guān)系上互為主備,4401,4402虛擬機尚未創(chuàng)建,在虛擬機遷移過程中被創(chuàng)建。
VIM通知4101,將要進行升級,下發(fā)的升級信息為:升級的物理機為HOST2,HOST2上駐留的虛擬機為4201,4202。
4101模塊收到升級信息后,判斷虛擬機4201,4202的運行狀態(tài),是否啟用。本實例虛擬機都是啟用狀態(tài)。4101模塊將虛擬機4201,4202和自己管理的虛擬機和VNF信息進行對比匹配。
4101模塊根據(jù)匹配的結(jié)果,將虛擬機4201,4202分別下發(fā)到4102,通知4102分別查詢4201,4202承載業(yè)務(wù)的運行狀態(tài)。
4102模塊收到請求后,查詢4201,4202承載業(yè)務(wù)的運行狀態(tài)。本實例中4201、4302虛擬機承載業(yè)務(wù)為主用,4202、4301虛擬機承載業(yè)務(wù)為備用。4102模塊將查詢結(jié)果發(fā)送給4101模塊。
4101模塊通知4102模塊,對主用狀態(tài)的4201進行業(yè)務(wù)倒換。
4102模塊收到消息后,對4201進行主備切換,并將結(jié)果返回給4101模塊。
4101模塊收到業(yè)務(wù)切換結(jié)果,若是切換失敗,則4101模塊通知VIM升級檢查失敗,不能進行升級操作。若是成功,此時,HOST2上虛擬機4201,4202承載的業(yè)務(wù)狀態(tài)都為備用,HOST3上虛擬機301,302則為主用狀態(tài)。4101模塊通知VIM對HOST2上虛擬機4201,4202進行遷移,遷移到物理機HOST4上,虛擬機分別為4401,4402。
VIM操作完成后,通知4101,操作結(jié)果。若是操作失敗,則4101模塊通知VIM升級檢查失敗,不能進行升級操作。若是成功,4101模塊通知4102模塊,進行數(shù)據(jù)同步操作,并且存儲信息虛擬機映射關(guān)系。
4101模塊通知VIM升級檢查成功,可以對HOST2物理機進行升級操作。
實施例二:
圖19是根據(jù)本發(fā)明實施例的VIM升級,VNF業(yè)務(wù)為主備備份和負荷分擔(dān)方式時,VNF業(yè)務(wù)切換、遷移和虛擬機遷移示意圖,如圖19所示,一個VIM系統(tǒng)管理著4個物 理主機,分別是HOST1,HOST2,HOST3,HOST4。VIM的虛擬機管理系統(tǒng)駐留在HOST1中,其中5101實體為NFVO,5102實體為VNF控制器,5201,5202,5301,5302分別為該VNF的業(yè)務(wù)虛擬機,其中5201和5301業(yè)務(wù)關(guān)系為負荷分擔(dān),5202和5302業(yè)務(wù)關(guān)系為主備模式,5202為主,5302為備,5401,5402虛擬機尚未創(chuàng)建,在虛擬機遷移過程中被創(chuàng)建。
VIM通知5101,將要進行升級,下發(fā)的升級信息為:升級的物理機為HOST2,HOST2上駐留的虛擬機為5201,5202。
5101模塊收到升級信息后,判斷虛擬機5201,5202的運行狀態(tài),是否啟用。本實例虛擬機都是啟用狀態(tài)。5101模塊將虛擬機5201,5202和自己管理的虛擬機和VNF信息進行對比匹配。
5101模塊根據(jù)匹配的結(jié)果,將虛擬機5201,5202分別下發(fā)到5102,通知5102分別查詢5201,5202承載業(yè)務(wù)的運行狀態(tài)。
5102模塊收到請求后,查詢5201,5202承載業(yè)務(wù)的運行狀態(tài)。本實例中5201、5301運行的業(yè)務(wù)為負荷分擔(dān)方式,5202、5302為主備模式,5202為主,5302為備。5102模塊將查詢結(jié)果發(fā)送給5101模塊。
5101模塊通知5102模塊,對5201的業(yè)務(wù)進行業(yè)務(wù)遷移,遷移到5301,并且對5202的業(yè)務(wù)進行主備切換。
5102模塊收到消息后,對5201進行業(yè)務(wù)遷移、5202進行業(yè)務(wù)主備切換,并將結(jié)果返回給5101模塊。
5101模塊收到執(zhí)行結(jié)果,若是執(zhí)行失敗,則5101模塊通知VIM升級檢查失敗,不能進行升級操作。若是成功,此時,HOST2上虛擬機5201,5202承載的業(yè)務(wù)狀態(tài)都為備用,HOST3上虛擬機5301,5302則為主用狀態(tài)。5101模塊通知VIM對HOST2上虛擬機5201,5202進行遷移,遷移到物理機HOST4上,虛擬機分別為5401,5402。
VIM操作完成后,通知5101,操作結(jié)果。若是操作失敗,則5101模塊通知VIM升級檢查失敗,不能進行升級操作。若是成功,5101模塊通知5102模塊,進行數(shù)據(jù)同步操作,并且存儲信息虛擬機映射關(guān)系。
5101模塊通知VIM升級檢查成功,可以對HOST2物理機進行升級操作。
實施例三:
圖20是根據(jù)本發(fā)明實施例的VIM升級,VNF有業(yè)務(wù)故障態(tài)的虛擬機時,VNF業(yè)務(wù)切換和虛擬機遷移示意圖,如圖20所示,一個VIM系統(tǒng)管理著4個物理主機,分別是HOST1,HOST2,HOST3,HOST4。VIM的虛擬機管理系統(tǒng)駐留在HOST1中,其中6101 實體為NFVO,6102實體為VNF控制器,6201,6202,6301,6302分別為該VNF的業(yè)務(wù)虛擬機,其中6201和6301業(yè)務(wù)關(guān)系為互為主備,6202和6302業(yè)務(wù)關(guān)系上互為主備,6302虛擬機出現(xiàn)故障,無法運行業(yè)務(wù),6401,6402虛擬機尚未創(chuàng)建,在虛擬機遷移過程中被創(chuàng)建。
VIM通知6101,將要進行升級,下發(fā)的升級信息為:升級的物理機為HOST2,HOST2上駐留的虛擬機為6201,6202。
6101模塊收到升級信息后,判斷虛擬機6201,6202的運行狀態(tài),是否啟用。本實例虛擬機都是啟用狀態(tài)。6101模塊將虛擬機6201,6202和自己管理的虛擬機和VNF信息進行對比匹配。
6101模塊根據(jù)匹配的結(jié)果,將虛擬機6201,6202分別下發(fā)到6102,通知6102分別查詢6201,6202承載業(yè)務(wù)的運行狀態(tài)。
6102模塊收到請求后,查詢6201,6202承載業(yè)務(wù)的運行狀態(tài)。本實例中6201虛擬機承載業(yè)務(wù)為備用,6301、6202虛擬機承載業(yè)務(wù)為主用,6302虛擬機承載業(yè)務(wù)為故障狀態(tài)。6102模塊將查詢結(jié)果發(fā)送給6101模塊。
6101模塊發(fā)現(xiàn)有故障狀態(tài)的虛擬機,直接通知VIM,無法進行升級,升級流程終止。
需要說明的是,上述各個模塊是可以通過軟件或硬件來實現(xiàn)的,對于后者,可以通過以下方式實現(xiàn),但不限于此:上述模塊均位于同一處理器中;或者,上述模塊分別位于多個處理器中。
本發(fā)明的實施例還提供了一種存儲介質(zhì)??蛇x地,在本實施例中,上述存儲介質(zhì)可以被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
S11,接收虛擬化基礎(chǔ)設(shè)施管理VIM發(fā)送的升級請求,其中,該升級請求用于請求升級第一物理機,該第一物理機上駐留有一個或多個第一虛擬機;
S12,根據(jù)上述升級請求執(zhí)行將一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上的處理;
S13,在處理完成后,向VIM發(fā)送用于將一個或多個第一虛擬機遷移到一個或多個第三虛擬機上的遷移消息;
S14,接收上述VIM返回的遷移結(jié)果;
S15,根據(jù)上述遷移結(jié)果,通知VIM執(zhí)行第一物理機的升級處理。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
S21,向網(wǎng)絡(luò)功能虛擬化編排NFVO發(fā)送升級請求,其中,該升級請求用于請求升 級第一物理機,該第一物理機上駐留有一個或多個第一虛擬機;
S22,接收NFVO在根據(jù)上述升級請求執(zhí)行了將一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上的處理之后發(fā)送的遷移消息,其中,該遷移消息用于將一個或多個第一虛擬機遷移到一個或多個第三虛擬機上;
S23,根據(jù)該遷移消息執(zhí)行將一個或多個第一虛擬機遷移到一個或多個第三虛擬機上的操作;
S24,向該NFVO發(fā)送遷移結(jié)果;
S25,根據(jù)接收的由NFVO根據(jù)上述遷移結(jié)果返回的通知消息對第一物理機進行升級處理。
可選地,在本實施例中,上述存儲介質(zhì)可以包括但不限于:U盤、只讀存儲器(Read-Only Memory,簡稱為ROM)、隨機存取存儲器(Random Access Memory,簡稱為RAM)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
可選地,存儲介質(zhì)還被設(shè)置為存儲用于執(zhí)行以下步驟的程序代碼:
S31,接收網(wǎng)絡(luò)功能虛擬化編排NFVO發(fā)送的請求消息;
S32,根據(jù)上述請求消息查詢一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài),其中,該一個或多個第一虛擬機駐留于待升級的第一物理機上;
S33,將查詢到的一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)發(fā)送給NFVO;
S34,接收上述NFVO根據(jù)一個或多個第一虛擬機的業(yè)務(wù)運行狀態(tài)發(fā)送的遷移消息;
S35,根據(jù)該遷移消息將一個或多個第一虛擬機上運行的業(yè)務(wù)遷移到一個或多個第二虛擬機上。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行上述步驟S11-S15。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行上述步驟S21-S25。
可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行上述步驟S31-S35。
可選地,本實施例中的具體示例可以參考上述實施例及可選實施方式中所描述的示例,本實施例在此不再贅述。
針對相關(guān)技術(shù)中存在的NFV-MANO中對把NFV技術(shù)下的現(xiàn)有電信網(wǎng)絡(luò)分離為三個層面,當VIM升級時,VNF不能感知VIM的變化,進而會導(dǎo)致VIM升級時VNF層 業(yè)務(wù)運行中斷或者數(shù)據(jù)丟失等狀況。本發(fā)明實施例能夠在NFVI和VIM升級時,及時、快速的實現(xiàn)VNF業(yè)務(wù)的遷移和切換,通過業(yè)務(wù)模塊的虛擬機遷移,實現(xiàn)業(yè)務(wù)數(shù)據(jù)完整性,以防硬件或者軟件升級時導(dǎo)致的數(shù)據(jù)丟失;通過業(yè)務(wù)的主備切換,實現(xiàn)業(yè)務(wù)的不中斷運行,保證了業(yè)務(wù)的可持續(xù)性。因此,本發(fā)明補充了NFV-MANO規(guī)范,保證了NFV層業(yè)務(wù)在VIM升級時的完整性。
顯然,本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,并且在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。
以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。