一種時間校正方法、裝置及系統的制作方法
【技術領域】
[0001]本發明涉及通信技術領域,尤其涉及一種時間校正方法、裝置及系統。
【背景技術】
[0002]隨著云技術的推廣,越來越多的電信類業務使用云技術。其中,網絡功能虛擬化(英文:network funct1n virtualizat1n,縮寫:NFV)是云技術中的一種虛擬化技術。在NFV系統中,通過對虛擬網絡功能(英文:virtualized network funct1n,縮寫:VNF)進行實例化(英文:instantiate),使得該VNF能夠運行在通用的硬件設備上,從而通過該通用的硬件設備,實現特定的網絡功能。
[0003]在NFV系統中,一個VNF可被配置在一個或多個虛擬機上。為滿足用戶的不同需求,虛擬機常常會發生熱迀移。虛擬機熱迀移是指在業務不中斷的情況下,將一臺硬件設備上運行的虛擬機轉移到另一臺硬件設備上運行。但是,在虛擬機熱迀移的過程中,虛擬機在一個很短的時間內會停止運行,導致虛擬機的系統時間會有短暫的停止,一般為0.5到0.8秒,有時也會達到I秒以上,這樣會對依賴于虛擬機的系統時間的業務產生影響。
[0004]現有技術中,一般會配置外部的網絡時間協議(英文:Network Time Protocol,縮寫:NTP)系統時間源,并周期性的將虛擬機的系統時間與外部的NTP系統時間源進行校驗以糾正虛擬機的系統時間。但是,存在的問題是:一般周期性的將虛擬機的系統時間與外部的NTP系統時間源進行校驗的周期為5分鐘、10分鐘或者更長時間,從虛擬機停止運行,到上述周期到達之前的這段時間,虛擬機的系統時間不準確,因此,會對這段時間內進行的一些依賴于虛擬機的系統時間的業務產生影響。
【發明內容】
[0005]本發明的實施例提供一種時間校正方法、裝置及系統,可以及時校正虛擬機的系統時間,從而可以保證對虛擬機的系統時間有依賴的業務不被影響。
[0006]為達到上述目的,本發明的實施例采用如下技術方案:
[0007]本發明實施例的第一方面,提供一種時間校正方法,應用于網絡功能虛擬化NFV系統,所述時間校正方法包括:
[0008]虛擬網絡功能管理器VNFM接收基礎設施虛擬化管理器VM在第一虛擬機發生熱迀移后發送的熱迀移通告消息,所述熱迀移通告消息中包含所述第一虛擬機的標識ID,所述第一虛擬機的ID用于指示待校正的虛擬機為所述第一虛擬機;
[0009]所述VNFM根據所述第一虛擬機的ID,查找所述VNFM中存儲的虛擬機的ID與業務控制虛擬網絡功能VNF的標識的對應關系,確定第一業務控制VNF,所述第一業務控制VNF的標識與所述第一虛擬機的ID對應;
[0010]所述VNFM向所述第一業務控制VNF發送所述熱迀移通告消息,所述熱迀移通告消息用于指示所述第一業務控制VNF校正所述第一虛擬機的系統時間。
[0011]結合第一方面,在第一方面的第一種可能的實現方式中,所述熱迀移通告消息,具體用于指示所述第一業務控制VNF根據網絡時間協議NTP系統時間源的時間校正所述第一虛擬機的系統時間。
[0012]結合第一方面,在第一方面的第二種可能的實現方式中,所述熱迀移通告消息中還包含:虛擬機停機時長,所述虛擬機停機時長為熱迀移過程中所述第一虛擬機停止運行的時長;
[0013]所述熱迀移通告消息,具體用于指示所述第一業務控制VNF根據所述虛擬機停機時長校正所述第一虛擬機的系統時間。
[0014]結合第一方面的第一種可能的實現方式,在第一方面的第三種可能的實現方式中,所述熱迀移通告消息中還包含:虛擬機停機時長,所述虛擬機停機時長為熱迀移過程中所述第一虛擬機停止運行的時長;
[0015]所述熱迀移通告消息,還用于指示所述第一業務控制VNF根據所述NTP系統時間源的時間校正所述第一虛擬機的系統時間,并在根據所述NTP系統時間源的時間校正所述第一虛擬機的系統時間失敗時,根據所述虛擬機停機時長校正所述第一虛擬機的系統時間。
[0016]結合第一方面和上述可能的實現方式,在第一方面的第四種可能的實現方式中,所述熱迀移通告消息中還包含虛擬機停機起始時間,所述虛擬機停機起始時間為所述熱迀移過程中所述第一虛擬機停止運行的起始時間。
[0017]結合第一方面和上述可能的實現方式,在第一方面的第五種可能的實現方式中,所述虛擬網絡功能管理器VNFM接收基礎設施虛擬化管理器VM在第一虛擬機發生熱迀移后發送的熱迀移通告消息,包括:
[0018]所述VNFM通過V1-Vnfm接口接收所述VM在所述第一虛擬機發生熱迀移后發送的所述熱迀移通告消息;
[0019]所述VNFM向所述第一業務控制VNF發送所述熱迀移通告消息,包括:
[0020]所述VNFM通過Ve-Vnfm接口向所述第一業務控制VNF發送所述熱迀移通告消息。
[0021]本發明實施例的第二方面,提供一種時間校正方法,應用于網絡功能虛擬化NFV系統,所述時間校正方法包括:
[0022]在第一虛擬機發生熱迀移后,第一業務控制虛擬網絡功能VNF接收虛擬網絡功能管理器VNFM發送的熱迀移通告消息,所述第一業務控制VNF為所述第一虛擬機的業務控制VNF,所述熱迀移通告消息中包含所述第一虛擬機的標識ID,所述第一虛擬機的ID用于指示待校正的虛擬機為所述第一虛擬機;
[0023]所述第一業務控制VNF校正所述第一虛擬機的系統時間。
[0024]結合第二方面,在第二方面的第一種可能的實現方式中,所述第一業務控制VNF校正所述第一虛擬機的系統時間,包括:
[0025]所述第一業務控制VNF獲取網絡時間協議NTP系統時間源的時間,并將所述第一虛擬機的系統時間校正為所述NTP系統時間源的時間。
[0026]結合第二方面,在第二方面的第二種可能的實現方式中,所述熱迀移通告消息中還包含虛擬機停機時長,所述虛擬機停機時長為熱迀移過程中所述第一虛擬機停止運行的時長;
[0027]所述第一業務控制VNF校正所述第一虛擬機的系統時間,包括:
[0028]所述第一業務控制VNF在所述第一虛擬機的系統時間上增加所述虛擬機停機時長,并將增加后的系統時間作為所述第一虛擬機的新的系統時間。
[0029]結合第二方面的第一種可能的實現方式,在第二方面的第三種可能的實現方式中,所述熱迀移通告消息中還包含虛擬機停機時長,所述虛擬機停機時長為熱迀移過程中所述第一虛擬機停止運行的時長;
[0030]所述第一業務控制VNF校正所述第一虛擬機的系統時間,包括:
[0031]所述第一業務控制VNF獲取所述NTP系統時間源的時間;
[0032]若所述第一業務控制VNF獲取所述NTP系統時間源的時間失敗,則所述第一業務控制VNF在所述第一虛擬機的系統時間上增加所述虛擬機停機時長,并將增加后的系統時間作為所述第一虛擬機的新的系統時間。
[0033]結合第二方面和上述可能的實現方式,在第二方面的第四種可能的實現方式中,所述熱迀移通告消息中還包含虛擬機停機起始時間,所述虛擬機停機起始時間為所述熱迀移過程中所述第一虛擬機停止運行的起始時間,所述第一業務控制VNF為呼叫控制VNF ;
[0034]所述時間校正方法還包括:
[0035]所述呼叫控制VNF根據所述虛擬機停機起始時間,確定在所述虛擬機停機起始時間時未結束、且在所述呼叫控制VNF接收到所述熱迀移通告消息時已結束的業務;
[0036]所述呼叫控制VNF獲取所述業務發生的總時長;
[0037]所述呼叫控制VNF在所述總時長上增加所述虛擬機停機時長,并將增加后的時長作為新的所述業務發生的總時長。
[0038]結合第二方面的第四種可能的實現方式,在第二方面的第五種可能的實現方式中,所述時間校正方法還包括:
[0039]所述呼叫控制VNF向計費控制VNF發送熱迀移計費補償消息,所述熱迀移計費補償消息中包含:所述業務的標識、所述虛擬機停機時長和所述虛擬機停機起始時間,所述熱迀移計費補償消息用于指示所述業務計費VNF校正所述業務發生的總時長,并根據校正后的所述業務發生的總時長進行計費。
[0040]結合第二方面和上述可能的實現方式,在第二方面的第六種可能的實現方式中,所述在第一虛擬機發生熱迀移后,第一業務控制虛擬網絡功能VNF接收虛擬網絡功能管理器VNFM發送的熱迀移通告消息,包括:
[0041]在所述第一虛擬機發生熱迀移后,所述第一業務控制VNF通過Ve-Vnfm接口接收所述VNFM發送的所述熱迀移通告消息。
[0042]本發明實施例的第三方面,提供一種時間校正方法,應用于網絡功能虛擬化NFV系統,所述時間校正方法包括:
[0043]在第一虛擬機發生熱迀移后,基礎設施虛擬化管理器VM接收網絡功能虛擬化基礎設施NFVI發送的虛擬機迀移消息,所述虛擬機迀移消息中包含所述第一虛擬機的標識ID,所述第一虛擬機的ID用于指示待校正的虛擬機為所述第一虛擬機;
[0044]所述VIM將所述虛擬機迀移消息轉換為熱迀移通告消息,所述熱迀移通告消息中包含所述第一虛擬機的ID ;
[0045]所述VM向虛擬網絡功能管理器VNFM發送所述熱迀移通告消息,以指示所述VNFM通過業務控制虛擬網絡功能VNF校正所述第一虛擬機的系統時間。
[0046]結合第三方面,在第三方面的第一種可能的實現方式中,所述在第一虛擬機發生熱迀移后,基礎設施虛擬化管理器VIM接收網絡功能虛擬化基礎設施NFVI發送的虛擬機迀移消息,包括:
[0047]在所述第一虛擬機發生熱迀移后,所述VM通過Nf-Vi接口接收所述NFVI發送的所述虛擬機迀移消息;
[0048]所述VM向虛擬網絡功能管理器VNFM發送所述熱迀移通告消息,包括:
[0049]所述VIM通過V1-Vnfm接口向所述VNFM發送所述熱迀移通告消息。
[0050]本發明實施例的第四方面,提供一種時間校正方法,應用于網絡功能虛擬化NFV系統,所述時間校正方法包括:
[0051]在第一虛擬機發生熱迀移后,網絡功能虛擬化基礎設施NFVI獲取虛擬機停機時長,所述虛擬機停機時長為熱迀移過程中所述第一虛擬機停止運行的時長;
[0052]所述NFVI獲取所述第一虛擬機的中央處理器CPU的主頻;
[0053]所述NFVI根據所述第一虛擬機的CPU的主頻和所述虛擬機停機時長計算所述第一虛擬機的時間戳計數器TSC的計數增加值;
[0054]所述NFVI在所述第一虛擬機的TSC計數值上增加所述計數增加值,并將增加后的值作為所述第一虛擬機的新的TSC計數值。
[0055]結合第四方面,在第四方面的第一種可能的實現方式中,所述NFVI根據所述第一虛擬機的CPU的主頻和所述虛擬機停機時長計算所述第一虛擬機的時間戳計數器TSC的計數增加值,包括:
[0056]所述NFVI根據以下公式計算所述計數增加值:
[0057]所述計數增加值=所述虛擬機停機時長X所述第一虛擬機的CPU的主頻/1000 ;
[0058]其中,所述虛擬機停機時長的單位為毫秒,所述第一虛擬機的CPU的主頻的單位為赫茲。
[0059]本發明實施例的第五方面,提供一種時間校正裝置,應用于網絡功能虛擬化NFV系統,所述時間校正裝置包括:
[0060]接收單元,用于接收基礎設施虛擬化管理器VM在第一虛擬機發生熱迀移后發送的熱迀移通告消息,所述熱迀移通告消息中包含所述第一虛擬機的標識ID,所述第一虛擬機的ID用于指示待校正的虛擬機為所述第一虛擬機;
[0061]確定單元,用于根據所述第一虛擬機的ID,查找所述VNFM中存儲的虛擬機的ID與業務控制虛擬網絡功能VNF的標識的對應關系,確定第一業務控制VNF,所述第一業務控制VNF的標識與所述第一虛擬機的ID對應;
[0062]發送單元,用于向所述第一業務控制VNF發送所述熱迀移通告消息,所述熱迀移通告消息用于指示所述第一業務控制VNF校正所述第一虛擬機的系統時間。
[0063]結合第五方面,在第五方面的第一種可能的實現方式中,所述熱迀移通告消息,具體用于指示所述第一業務控制VNF根據網絡時間協議NTP系統時間源的時間校正所述第一虛擬機的系統時間。
[0064]結合第五方面,在第五方面的第二種可能的實現方式中,所述熱迀移通告消息中還包含:虛擬機停機時長,所述虛擬機停機時長為熱迀移過程中所述第一虛擬機停止運行的時長;
[0065]所述熱迀移通告消息,具體用于指示所述第一業務控制VNF根據所述虛擬機停機時長校正所述第一虛擬機的系統時間。
[0066]結合第五方面的第一種可能的實現方式,在第五方面的第三種可能的實現方式中,所述熱迀移通告消息中還包含:虛擬機停機時長,所述虛擬機停機時長為熱迀移過程中所述第一虛擬機停止運行的時長;
[0067]所述熱迀移通告消息,還用于指示所述第一業務控制VNF根據所述NTP系統時間源的時間校正所述第一虛擬機的系統時間,并在根據所述NTP系統時間源的時間校正所述第一虛擬機的系統時間失敗時,根據所述虛擬機停機時長校正所述第一虛擬機的系統時間。
[0068]結合第五方面和上述可能的實現方式,在第五方面的第四種可能的實現方式中,所述熱迀移通告消息中還包含虛擬機停機起始時間,所述虛擬機停機起始時間為所述熱迀移過程中所述第一虛擬機停止運行的起始時間。
[0069]結合第五方面和上述可能的實現方式,在第五方面的第五種可能的實現方式中,所述接收單元,具體用于通過V1-Vnfm接口接收所述VIM在所述第一虛擬機發生熱迀移后發送的所述熱迀移通告消息;
[0070]所述發送單元,具體用于通過Ve-Vnfm接口向所述第一業務控制VNF發送所述熱迀移通告消息。
[0071]本發明實施例的第六方面,提供一種時間校正裝置,應用于網絡功能虛擬化NFV系統,所述時間校正裝置包括:
[0072]接收單元,用于在第一虛擬機發生熱迀移后,接收虛擬網絡功能管理器VNFM發送的熱迀移通告消息,所述熱迀移通告消息中包含所述第一虛擬機的標識ID,所述第一虛擬機的ID用于指示待校正的虛擬機為所述第一虛擬機;
[0073]校正單元,用于校正所述第一虛擬機的系統時間。
[0074]結合第六方面,在第六方面的第一種可能的實現方式中,所述校正單元,包括:
[0075]獲取子模塊,用于獲取網絡時間協議NTP系統時間源的時間;
[0076]校正子模塊,用于將所述第一虛擬機的系統時間校正為所述NTP系統時間源的時間。
[0077]結合第六方面,在第六方面的第二種可能的實現方式中,所述熱迀移通告消息中還包含虛擬機停機時長,所述虛擬機停機時長為熱迀移過程中所述第一虛擬機停止運行的時長;
[0078]所述校正單元,包括:
[0079]加法子模塊,用于在所述第一虛擬機的系統時間上增加所述虛擬機停機時長;
[0080]校正子模塊,用于將增加后的系統時間作為所述第一虛擬機的新的系統時間。
[0081]結合第六方面的第一種可能的實現方式,在第六方面的第三種可能的實現方式中,所述熱迀移通告消息中還包含虛擬機停機時長,所述虛擬機停機時長為熱迀移過程中所述第一虛擬機停止運行的時長;
[0082]所述校正單元,還包括:
[0083]加法子模塊,用于在所述獲取子模塊獲取所述NTP系統時間源的時間失敗時,在所述第一虛擬機的系統時間上增加所述虛擬機停機時長;
[0084]所述校正子模塊,還用于將增加后的系統時間作為所述第一虛擬機的新的系統時間。
[0085]結合第六方面和上述可能的實現方式,在第六方面的第四種可能的實現方式中,所述熱迀移通告消息中還包含虛擬機停機起始時間,所述虛擬機停機起始時間為所述熱迀移過程中所述第一虛擬機停止運行的起始時間,所述時間校正裝置為呼叫控制VNF ;
[0086]所述時間校正裝置還包括:
[0