定时器实现方法及相关装置制造方法及图纸

技术编号:18898846 阅读:33 留言:0更新日期:2018-09-08 13:44
本申请涉及计算机领域,更具体地说,涉及定时器实现技术。在一种定时器实现方法中,虚拟机接收包括定时器报文的报文队列;其中,定时器报文是根据虚拟机外部的精准定时器定时插入的;虚拟机解析报文队列中的报文,确定被解析报文的类型,响应于被解析报文的类型为定时器报文,执行预设的定时器动作。相较于现有技术,本申请提供的方案中,摒弃了使用虚拟机内部的定时器执行定时器动作的方式,而采用根据定时器报文执行预设的定时器动作的方式。又由于定时器报文是根据虚拟外部的精准定时器定时插入的,因此,定时器报文不会受到虚拟机无法工作的影响,根据定时器报文执行的定时器动作是准时的。

Timer implementation method and related device

The application relates to the field of computer, and more specifically, to the realization technology of timer. In a timer implementation, the virtual machine receives a message queue including a timer message; in which the timer message is inserted timing according to the precise timer outside the virtual machine; the virtual machine parses the message in the message queue, determines the type of the parsed message, and responds to the type of the parsed message being a timer message. Text, performs preset timer actions. Compared with the existing technology, the scheme provided in this application abandons the use of timers within the virtual machine to perform timer actions, and adopts the method of performing preset timer actions according to timer messages. Because the timer message is inserted according to the precise timer of the virtual external, the timer message is not affected by the virtual machine's inability to work, and the timer action performed according to the timer message is punctual.

【技术实现步骤摘要】
定时器实现方法及相关装置
本申请涉及计算机领域,更具体地说,涉及定时器实现技术。
技术介绍
虚拟机软件(VirtualMachineware,VMware)、内核虚拟机(Kernel-basedVirtualMachine,KVM)等环境的虚拟化技术的原理是,将一台物理机的物理资源虚拟成多个虚拟机(VirtualMachine,VM),使得每个VM都可以实现物理机的功能。在现在方式中,虚拟机根据内部定时器执行预设的定时器动作。上述定时器动作例如可包括定时刷新信息、定时执行特定动作、计算准确的时间间隔等。然而,虚拟机工作依赖于物理CPU的调度(也即在物理CPU上运行)。如果物理CPU上部署有多个虚拟机,则对于某一虚拟机而言,其可能得不到物理CPU的及时调度,例如,可能因被其他进程抢占而得不到物理CPU的及时调度。在虚拟机得不到及时调度的情况下,虚拟机的内部定时器也无法正常工作,进而影响定时器动作的准时执行。
技术实现思路
有鉴于此,本申请实施例的目的在于提供定时器实现方法及相关装置,以解决上述问题。为实现上述目的,本申请实施例提供如下技术方案:一方面,本申请的实施例提供一种定时器实现方法,包括:接收报文队列;其中,所述报文队列中包括定时器报文,所述定时器报文是根据外部的精准定时器定时插入所述报文队列的;解析所述报文队列中的报文,确定被解析报文的类型;响应于所述被解析报文的类型为定时器报文,执行预设的定时器动作。上述方法可应用于虚拟化场景,由虚拟机执行,在此场景下,在一个示例中,可由虚拟交换机OVS生成定时器报文并定时插入报文队列中。在虚拟化场景下,本申请实施例提供的定时器实现方法摒弃了使用虚拟机内部的定时器执行定时器动作的方式,而采用根据定时器报文执行预设的定时器动作的方式。又由于定时器报文是根据虚拟外部的精准定时器定时插入的,因此,定时器报文不会受到虚拟机无法工作的影响,根据定时器报文执行的定时器动作是准时的。此外,上述方法也可应用于非虚拟化场景,由报文的接收方执行。这样报文的接收方也可不使用其内部的定时器执行定时器动作。在一个可能的设计中,在应用于虚拟化场景时,上述外部的精准定时器为宿主机定时器。由于host上的定时器能够保证精确性,因此可保证根据定时器报文执行的定时器动作是准时的。在一个可能的设计中,上述定时器报文由虚拟交换机OVS根据宿主机定时器定时插入上述报文队列。这样,只要能顺序的处理报文队列中的报文,就可准时执行预设的定时器动作。在一个可能的设计中,上述定时器报文的内容至少包含当前时间信息。定时器报文包含当前时间信息,有利于虚拟机得到两定时器报文之间的时间间隔,并根据时间间隔决定是否做一些定时器动作。此外在有需要时,虚拟机也可根据定时器报文中的时间信息更新系统当前时间。在一个可能的设计中,上述定时器报文为以太网报文,以与业务报文保持一致。又一方面,本申请实施例提供了一种由虚拟交换机OVS执行的定时器实现方法,该方法包括:接收报文;在接收到的报文需要发送至虚拟机时,将所述报文放入向虚拟机转发的报文队列中;在所述报文队列中定时插入定时器报文;所述定时器报文用于所述虚拟机执行预设的定时器动作;转发插入定时器报文的报文队列。在一个示例中,所述定时插入定时器报文包括:根据宿主机定时器定时插入定时器报文。在一个可能的设计中,上述定时器报文的内容至少包含当前时间信息。定时器报文包含当前时间信息,有利于虚拟机得到两定时器报文之间的时间间隔,并根据时间间隔决定是否做一些定时器动作。此外在有需要时,虚拟机也可根据定时器报文中的时间信息更新系统当前时间。又一方面,本申请实施例提供了一种定时器实现装置,该定时器实现装置具有实现上述方法实际中虚拟机行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。又一方面,本申请实施例提供了一种定时器实现装置,该定时器实现装置具有实现上述方法实际中虚拟交换机行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。又一方面,本申请实施例提供了一种宿主机Host,该Host包括:运行在Host上的OVS及中间软件层Hypervisor,所述Hypervisor上运行有至少一个虚拟机VM;所述VM具有实现上述方法实际中虚拟机行为的功能。又一方面,本申请实施例提供了一种宿主机Host,该Host包括:运行在Host上的OVS及中间软件层Hypervisor,所述Hypervisor上运行有至少一个虚拟机VM;所述OVS具有实现上述方法实际中OVS行为的功能。又一方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。又一方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。相较于现有技术,本申请提供的方案中,摒弃了使用虚拟机内部的定时器执行定时器动作的方式,而采用根据定时器报文执行预设的定时器动作的方式。又由于定时器报文是根据虚拟外部的精准定时器定时插入的,因此,定时器报文不会受到虚拟机无法工作的影响,根据定时器报文执行的定时器动作是准时的。附图说明图1为本申请实施例提供的、基于物理主机构建的虚拟化系统的结构示例图;图2为本申请实施例提供的OVS与VM的应用场景示意图;图3、5为本申请实施例提供的定时器实现方法的交互流程图;图4a为在现有方式中,虚拟机得到及时调度时,虚拟机的刷新及报文接收情况;图4b为在现有方式中,虚拟机未得到及时调度时,虚拟机的刷新及报文接收情况;图4c为本申请实施例提供的、采用本申请提供的方案后,在虚拟机未得到及时调度时,虚拟机在t0~t2期间的报文接收情况;图6为本申请实施例提供的虚拟机的示例性结构图;图7为本申请实施例提供的虚拟交换机的示例性结构图。具体实施方式本申请实施例提供了定时器实现方法及相关装置(定时器实现装置、宿主机、物理主机、基于物理主机构建的虚拟化系统),以解决定时器动作无法准时执行的问题。其中,物理主机可包括图1所示的硬盘110、中央处理器111、网络接口卡112和存储器113。而基于上述物理主机构建的虚拟化系统104的一种可能的结构示意图可参见图1,包括3个部分,分别为硬件平台100(或称为硬件层)、中间软件层(Hypervisor)101和虚拟机执行空间102。硬件平台100中可以包括硬盘110、中央处理器111、网络接口卡112和存储器113。Hypervisor101和虚拟机执行空间102分别提供了虚拟机的硬件平台和软件平台。Hypervisor101运行在宿主机(Host)上,是运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件。其中,Hypervisor101包含了虚拟机监视器120a、120b¨¨120n。Hypervisor是物理硬件和虚拟机之间的中间层,负责协调各个虚拟机对硬件平台的访问。虚拟机监视器包括实现虚拟机的虚拟硬件平台。图1中,虚拟机监视器120a中包含虚拟硬件平台121a,虚拟硬件平台中包含了虚拟出来的存储器122,中央处理器123,硬盘124,显卡125和网络接口卡126等。虚拟机执行空间102中运行了本文档来自技高网...

【技术保护点】
1.一种定时器实现方法,其特征在于,应用于虚拟机,包括:接收报文队列;其中,所述报文队列中包括定时器报文,所述定时器报文是根据所述虚拟机外部的精准定时器定时插入所述报文队列的;解析所述报文队列中的报文,确定被解析报文的类型;响应于所述被解析报文的类型为定时器报文,执行预设的定时器动作。

【技术特征摘要】
1.一种定时器实现方法,其特征在于,应用于虚拟机,包括:接收报文队列;其中,所述报文队列中包括定时器报文,所述定时器报文是根据所述虚拟机外部的精准定时器定时插入所述报文队列的;解析所述报文队列中的报文,确定被解析报文的类型;响应于所述被解析报文的类型为定时器报文,执行预设的定时器动作。2.如权利要求1所述的方法,其特征在于,所述外部的精准定时器为宿主机定时器。3.如权利要求2所述的方法,其特征在于,所述定时器报文是由虚拟交换机OVS根据宿主机定时器定时插入所述报文队列的。4.如权利要求1所述的方法,其特征在于,所述定时器报文的内容至少包含当前时间信息。5.如权利要求1-4任一项所述的方法,其特征在于,所述定时器报文为以太网报文。6.一种定时器实现方法,其特征在于,应用于虚拟交换机OVS,包括:接收报文;在接收到的报文需要发送至虚拟机时,将所述报文放入向虚拟机转发的报文队列中;在所述报文队列中定时插入定时器报文;所述定时器报文用于所述虚拟机执行预设的定时器动作;转发插入定时器报文的报文队列。7.如权利要求6所述的方法,其特征在于,所述定时插入定时器报文包括:根据宿主机定时器定时插入定时器报文。8.如权利要求6或7所述的方法,其特征在于,所述定时器报文的内容至少包含当前时间信息。9.一种定时器实现装置,其特征在于,包括:第一接收单元,用于接收报文队列;其中,所述报文队列中包括定时器报文,所述定时器报文是根据所述定时器实现装置外部的精准定时器定时插入所述报文队列的;解析单元,用于解析所述报文队列中的报文,确定被解析报文的类型;执行单元,用于响应于所述被解析报文的类型为定时器报文,执行预设的定时器动作。10.如权利要求9所述的装置,其特征在于,所述外部的精准定时器为宿主机定时器。11.如权利要求10所述的装置,其特征在于,所述定时器报文是由虚拟交换机OVS根据宿主机定时器定时插入所述报文队列的。12.如权利要求9所述的装置,其特征在于,所述定时器报文的内容至少包含当前时间信息。13.如权利要求9-12任一项所述的装置,其特征在于,所述定时器报文为以太网报文。14.一种定时器实现装置,其特征在于,包括:第二接收单元,用于接收报文;报文分发单元,在接收到的报文需要发送至虚拟机时,将所述报文放入报文队列;所述报文队列将向所述虚拟机转发;定时器处理单元,用于在所述报文队列中定时插入定时器报文;所述定时器报文用于所述虚拟机执行预设的定时器动作;转发单元,用于转发插入定时器报文的报文队列。15.如权利要求14所述的装置,其特征在于,在所述定...

【专利技术属性】
技术研发人员:杨华志熊鹰吴昊
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1