一种时间校正方法、装置及系统的制作方法
【技术领域】
[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