CN114003091B - 时间同步方法、装置、设备及存储介质 - Google Patents
时间同步方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114003091B CN114003091B CN202111277392.2A CN202111277392A CN114003091B CN 114003091 B CN114003091 B CN 114003091B CN 202111277392 A CN202111277392 A CN 202111277392A CN 114003091 B CN114003091 B CN 114003091B
- Authority
- CN
- China
- Prior art keywords
- time
- virtual
- clock
- hardware
- virtual machine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012986 modification Methods 0.000 claims abstract description 102
- 230000004048 modification Effects 0.000 claims abstract description 100
- 230000008859 change Effects 0.000 claims abstract description 65
- 230000001360 synchronised effect Effects 0.000 claims abstract description 11
- 238000012508 change request Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 9
- 230000003993 interaction Effects 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 description 9
- 230000009467 reduction Effects 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Electric Clocks (AREA)
Abstract
本发明公开了一种时间同步方法、装置、设备及存储介质,属于时间同步领域。本发明的时间同步方法能够获取时钟更改指令和内存调用指令;根据内存调用指令生成虚拟硬件;根据时钟更改指令生成时间更改值;将时间更改值输入至虚拟硬件,以控制物理机获取时间更改值;获取物理机根据时间更改值反馈的同步指令;根据同步指令将时间更改值输入至时间硬件设备,该方法实现了物理机与虚拟机之间无须网络支持的快速时间同步,能够在降低成本的同时提高时间同步的精度。
Description
技术领域
本发明涉及时间同步领域,尤其是一种时间同步方法、装置、设备及存储介质。
背景技术
相关技术中,往往通过网络协议联网获取时间进行时间同步,或者采用定制硬件进行时间同步,前者精度较低且需要网络支持,后者使用环境苛刻且成本高。因此,如何提供一种简单且精度较高的时间同步方法,成为了亟待解决的问题。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种时间同步方法,能够在降低成本的同时提高时间同步的精度。
本发明还提出一种具有上述时间同步方法的时间同步装置。
本发明还提出一种具有上述时间同步方法的时间同步设备。
本发明还提出一种计算机可读存储介质。
根据本发明的第一方面实施例的时间同步方法,,包括:
获取时钟更改指令和内存调用指令;
根据所述内存调用指令生成虚拟硬件;
根据所述时钟更改指令生成时间更改值;
将所述时间更改值输入至所述虚拟硬件,以控制物理机获取所述时间更改值;
获取所述物理机根据所述时间更改值反馈的同步指令;
根据所述同步指令将所述时间更改值输入至时间硬件设备。
根据本发明实施例的时间同步方法,至少具有如下有益效果:通过这一方法,虚拟机系统可以获取到用户在虚拟机软件内进行的时间更改操作,即获取时钟更改指令和内存调用指令,根据内存调用指令生成虚拟硬件;根据时钟更改指令生成时间更改值,并直接通过虚拟机所生成的虚拟硬件将时间更改值进行保存。由于虚拟机直接运行在物理机上,本方法可以直接将虚拟机上产生的时间更改值输入物理机的时间硬件设备中,并避免通过网络同步时间产生的延时导致的时间同步方法精度下降的问题,从而有效的实现物理机与虚拟机之间的时间同步,有效的在不增设其余硬件设备的同时避免了网络传输等方式产生的延时导致的时间同步精度低的问题,在降低成本的同时,提高时间同步的精度。
根据本发明的一些实施例,所述方法还包括:
时间获取步骤:获取当前时刻下的所述时间硬件设备的第一时间和所述虚拟机的第二时间;
根据所述第一时间和所述第二时间执行以下步骤之一:
若所述第一时间与所述第二时间的时间间隔大于第一时间间隔,则将所述虚拟机的时间调整为第一时间;
若所述第一时间与所述第二时间的时间间隔小于或等于第一时间间隔,则在第二时间间隔后返回所述时间获取步骤。
根据本发明的一些实施例,所述根据所述时钟更改指令生成时间更改值,包括:
虚拟时钟获取步骤:获取所述虚拟机的第一虚拟时钟;
根据所述时钟更改指令,将所述虚拟机的时钟调整至第二虚拟时钟;
比较所述第一虚拟时钟与所述第二虚拟时钟;
若所述第一虚拟时钟与所述第二虚拟时钟不相等,则根据所述时钟更改指令生成时间更改值;
若所述第一虚拟时钟与所述第二虚拟时钟相等,则返回所述虚拟时钟获取步骤。
根据本发明的一些实施例,所述将所述时间更改值输入至所述虚拟硬件,以控制物理机获取所述时间更改值,包括:
将所述时间更改值输入至所述虚拟硬件,并检测所述虚拟硬件的存储状态;
若检测所述虚拟硬件内存储有所述时间更改值,则生成中断信息,以控制物理机根据所述中断信息获取所述时间更改值。
根据本发明的第二方面实施例的时间同步装置,包括:
虚拟硬件生成模块,用于获取内存调用指令,并根据所述内存调用指令生成虚拟硬件;
时间更改值生成模块,用于获取时钟更改请求,并根据所述时钟更改请求生成时间更改值;
时间更改值写入模块,用于将所述时间更改值写入所述虚拟硬件;
时间更改值获取模块,用于获取所述时间更改值,并访问时间硬件设备;
时间同步模块,用于将所述时间更改值写入所述时间硬件设备。
根据本发明实施例的时间同步装置,至少具有如下:通过本发明提供的时间同步装置,虚拟机系统可以获取到用户虚拟机软件内进行的时间更改操作,即获取时钟更改指令和内存调用指令,根据内存调用指令生成虚拟硬件;根据时钟更改指令生成时间更改值,并直接通过虚拟机所生成的虚拟硬件将时间更改值进行保存。由于虚拟机直接运行在物理机上,本方法可以直接将虚拟机上产生的时间更改值输入物理机的时间硬件设备中,并避免通过网络同步时间产生的延时导致的时间同步方法精度下降的问题,从而实现物理机与虚拟机之间的时间同步,有效的在不增设其余硬件设备的同时避免了网络传输等方式产生的延时导致的时间同步精度低的问题,在降低成本的同时,提高时间同步的精度。
根据本发明的一些实施例,所述装置还包括:
第一循环模块,用于执行时间获取步骤:获取当前时刻下的所述时间硬件设备的第一时间和所述虚拟机的第二时间;
第一判断模块,用于根据所述第一时间和所述第二时间执行以下步骤之一:
若所述第一时间与所述第二时间的时间间隔大于第一时间间隔,则将所述虚拟机的时间调整为第一时间;
若所述第一时间与所述第二时间的时间间隔小于或等于第一时间间隔,则在第二时间间隔后返回所述时间获取步骤。
根据本发明的一些实施例,所述时间更改值生成模块包括:
第二循环单元,用于执行时钟更改请求获取步骤:获取所述时钟更改请求,并获取所述虚拟机的第一虚拟时钟;
第二判断单元,用于根据所述时钟更改请求,更改所述虚拟机的时钟至第二虚拟时钟,并执行以下步骤之一:
若所述第一虚拟时钟与所述第二虚拟时钟不相等,则根据所述时钟更改请求生成时间更改值;
或者,
若所述第一虚拟时钟与所述第二虚拟时钟相等,则返回所述时钟更改请求获取步骤。
根据本发明的一些实施例,所述时间更改值写入模块,包括:
中断信息生成单元,用于检测所述虚拟硬件的存储状态,当所述虚拟硬件内存储有所述时间更改值时,生成中断信息;
通信单元,用于获取所述中断信息,并建立与时间硬件设备之间的通信交互。
根据本发明的第三方面实施例的时间同步设备,包括:虚拟机,所述虚拟机上设置有虚拟机软件,所述虚拟机软件用于执行如本发明第一方面实施例所述的时间同步方法;
物理机,用于提供所述虚拟机的运行平台,还用于与所述虚拟机进行数据交互。
根据本发明实施例的时间同步设备,至少具有如下有益效果:本发明所提供的时间同步设备可以通过虚拟机获取到用户虚拟机软件内进行的时间更改操作,即获取时钟更改指令和内存调用指令,根据内存调用指令生成虚拟硬件;根据时钟更改指令生成时间更改值,并直接通过虚拟机所生成的虚拟硬件将时间更改值进行保存。由于虚拟机直接运行在物理机上,本方法可以直接将虚拟机上产生的时间更改值输入物理机的时间硬件设备中,并避免通过网络同步时间产生的延时导致的时间同步方法精度下降的问题,以实现物理机与虚拟机之间的时间同步,有效的在不增设其余硬件设备的同时避免了网络传输等方式产生的延时导致的时间同步精度低的问题,在降低成本的同时,提高时间同步的精度。
根据本发明的第四方面实施例的计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,可用于执行如本发明第一方面实施例所述的时间同步方法。
根据本发明实施例的计算机可读存储介质,至少具有如下有益效果:本发明实施例的计算机可读存储介质可用于执行如本发明第一方面实施例的时间同步方法,从而实现通过虚拟机获取到用户虚拟机软件内进行的时间更改操作,即获取时钟更改指令和内存调用指令,根据内存调用指令生成虚拟硬件;根据时钟更改指令生成时间更改值,并直接通过虚拟机所生成的虚拟硬件将时间更改值进行保存。由于虚拟机直接运行在物理机上,本方法可以直接将虚拟机上产生的时间更改值输入物理机的时间硬件设备中,并避免通过网络同步时间产生的延时导致的时间同步方法精度下降的问题,以实现物理机与虚拟机之间的时间同步,有效的在不增设其余硬件设备的同时避免了网络传输等方式产生的延时导致的时间同步精度低的问题,在降低成本的同时,提高时间同步的精度。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
下面结合附图和实施例对本发明做进一步的说明,其中:
图1为本发明实施例时间同步方法的流程图。
图2为本发明实施例时间同步方法的又一流程图。
图3为图1中的步骤S300的具体流程图。
图4为图1中的步骤S400的具体流程图。
图5为本发明实施例时间同步装置的结构示意图。
图6为本发明实施例时间同步装置的又一结构示意图。
图7为图6中的时间更改值生成模块300的具体结构图。
图8为图6中的时间更改值写入模块400的具体结构图。
附图标记:100、指令获取模块;200、虚拟硬件生成模块;300、时间更改值生成模块; 400、时间更改值写入模块;500、时间更改值获取模块;600、时间同步模块;710、第一循环模块;720、第一判断模块;310、第二循环模块;320、第二判断模块;410、中断信息生成单元;420、通信单元。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
本发明的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
第一方面,参照图1,本发明提供一种时间同步方法,包括:
S100,获取时钟更改指令和内存调用指令;
S200,根据内存调用指令生成虚拟硬件;
S300,根据时钟更改指令生成时间更改值;
S400,将时间更改值输入至虚拟硬件,以控制物理机获取时间更改值;
S500,获取物理机根据时间更改值反馈的同步指令;
S600,根据同步指令将时间更改值输入至时间硬件设备。
本发明的时间同步方法,通过获取时钟更改指令和内存调用指令,可以获取到用户在虚拟机上运行的软件内进行更改时钟的指令,并通过内存调用指令通知虚拟机系统对系统内存进行调用,并通过内存调用指令生成虚拟硬件。根据获取到的时钟更改指令,本方法可以控制虚拟机系统根据时钟更改指令生成时间更改值,并将时间更改至输入值虚拟硬件中,从而对物理机的时间进行修改。当物理机根据时间更改值进行更改后,本方法可以控制虚拟机系统获取到物理机根据时间更改值反馈的同步指令,并将同步指令输入至时间硬件设备中,以实现对物理机和虚拟机之间的时间同步。通过这一方法,虚拟机系统可以获取到用户虚拟机软件内进行的时间更改操作,即获取时钟更改指令和内存调用指令,根据内存调用指令生成虚拟硬件;根据时钟更改指令生成时间更改值,并直接通过虚拟机所生成的虚拟硬件将时间更改值进行保存。由于虚拟机直接运行在物理机上,本方法可以直接将虚拟机上产生的时间更改值输入物理机的时间硬件设备中,并避免通过网络同步时间产生的延时导致的时间同步方法精度下降的问题,从而有效的实现物理机与虚拟机之间的时间同步,有效的在不增设其余硬件设备的同时避免了网络传输等方式产生的延时导致的时间同步精度低的问题。
参照图2,在一些实施例中,本发明提供的一种时间同步方法还包括:
S710,时间获取步骤:获取当前时刻下的时间硬件设备的第一时间和虚拟机的第二时间;
S720,根据第一时间和第二时间执行以下步骤之一:
S730,若第一时间与第二时间的时间间隔大于第一时间间隔,则将虚拟机的时间调整为第一时间;
S740,若第一时间与第二时间的时间间隔小于或等于第一时间间隔,则在第二时间间隔后返回时间获取步骤。
本方法中,通过执行时间获取步骤,可以对当前时刻下的时间硬件设备与虚拟机的当前时间进行获取,并将对应于时间硬件设备的第一时间与对应于虚拟机的第二时间进行比较,根据比对结果进行不同的操作。具体地,通过比较第一时间与第二时间的时间间隔,若得到第一时间与第二时间之间的时间间隔大于第一时间间隔,本方法则可以控制虚拟机将虚拟机时间调整为第一时间;若得到第一时间与第二时间之间的时间间隔小于或等于第一时间间隔,本方法则可以控制虚拟机在第二时间间隔后重新执行时间获取步骤,以重新获取第一时间和第二时间。本方法通过控制虚拟机执行步骤S710至步骤S740,可以使虚拟机处于监控虚拟机时间与物理机时间的状态,并通过比较第一时间和第二时间,虚拟机可以判断到当前虚拟机时间与物理机时间是否差距大于预设的第一时间间隔,若大于第一时间间隔,则控制虚拟机将虚拟机的时间调整至于物理机同步的状态,防止因为虚拟机运行错误或其他故障导致的虚拟机时间异常,实现虚拟机与物理机之间的时间同步;若小于等于第一时间间隔,则控制虚拟机在预设的第二时间间隔之后重新获取时间硬件设备的第一时间和虚拟机的第二时间,从而为下一轮检验同步时间做准备。通过预设第二时间间隔,本方法可以有效的降低虚拟机的运行负荷,在可以接受的第二时间间隔后再次执行步骤S710至步骤S740,仍然可以保证时间同步方法的精度。
此外,在一些实施例中,由于虚拟机软件可以直接运行在物理机上,虚拟机软件可以直接访问时间硬件设备,从而获取到物理机的时间值,进而直接修改虚拟机的时间,以避免对虚拟机系统资源的调用,有效的降低了由于虚拟机系统的资源负荷导致的时间同步精度不足的风险。
参照图3,在一些实施例中,步骤S300包括:
S310,虚拟时钟获取步骤:获取虚拟机的第一虚拟时钟;
S320,根据时钟更改指令,将虚拟机的时钟调整至第二虚拟时钟;
S330,比较第一虚拟时钟与第二虚拟时钟;
S340,若第一虚拟时钟与第二虚拟时钟不相等,则根据时钟更改指令生成时间更改值;
S350,若第一虚拟时钟与第二虚拟时钟相等,则返回虚拟时钟获取步骤。
在本方法中,通过步骤S310,虚拟机系统可以获取到第一虚拟时钟,并根据时钟更改指令对虚拟机的时钟更改至第二虚拟时钟,通过比对第一虚拟时钟和第二虚拟时钟,本方法可以使虚拟机系统获取到时间更改值,或者可以避免由于指令获取错误或其他的传输错误导致生成的时间更改值出错的风险。具体地,当虚拟机系统检测到第一虚拟时钟与第二虚拟时钟不相等,则根据时钟更改指令生成时间更改值;若虚拟机系统检测到第一虚拟时钟与第二虚拟时钟相等,则返回虚拟时钟获取步骤,从而实现获取到准确的时间更改值。
参照图4,在一些实施例中,S400包括:
S410,将时间更改值输入至虚拟硬件,并检测虚拟硬件的存储状态;
S420,若检测虚拟硬件内存储有时间更改值,则生成中断信息,以控制物理机根据中断信息获取时间更改值。
在本方法中,虚拟机系统将获取到的时间更改值输入至虚拟硬件,并通过对虚拟硬件的监控,可以获取到虚拟硬件的存储状态,当检测到虚拟硬件内存储有时间更改值时,虚拟机上的虚拟机软件可以监控到终端信息,并根据终端信息获取时间更改值。通过步骤S410和步骤S420,虚拟机可以有效的获取时间更改值。通过监控虚拟硬件的存储状态改变而生成的中断信息,虚拟机系统可以有效的获取时间更改值。在一些具体的实施例中,本方法对虚拟机软件进行修改,使修改后的虚拟机软件具备访问虚拟硬件的权限,并在虚拟机软件获取到时间更改值时,根据生成的中断信息获取虚拟硬件中储存处的时间更改值,有效的实现了时间更改值的获取与存储。
第二方面,参照图5,本发明提供了一种时间同步装置,包括:
虚拟硬件生成模块100,用于获取内存调用指令,并根据内存调用指令生成虚拟硬件
时间更改值生成模块200,用于获取时钟更改请求,并根据时钟更改请求生成时间更改值
时间更改值写入模块300,用于将时间更改值写入虚拟硬件
时间更改值获取模块400,用于获取时间更改值,并访问时间硬件设备
时间同步模块500,用于将时间更改值写入时间硬件设备
本发明提供的时间同步装置包括虚拟硬件生成模块100、时间更改值生成模块200、时间更改值写入模块300、时间更改值获取模块400、时间同步模块500。其中,虚拟硬件生成模块100可以获取内存调用指令,并根据内存调用指令访问对应的内存空间,从而生成虚拟硬件;时间更改值生成模块200可以获取时钟更改请求,并根据时间更改请求生成具体的时间更改值;时间更改值写入模块300,可以将时间更改值写入虚拟硬件,时间更改值获取模块 400,可以获取时间更改值,并访问时间硬件设备;时间同步模块500,可以将时间更改值写入时间硬件设备,从而实现将物理机与虚拟机的时间同步。通过本发明提供的时间同步装置,虚拟机系统可以获取到用户虚拟机软件内进行的时间更改操作,即获取时钟更改指令和内存调用指令,根据内存调用指令生成虚拟硬件;根据时钟更改指令生成时间更改值,并直接通过虚拟机所生成的虚拟硬件将时间更改值进行保存。由于虚拟机直接运行在物理机上,本方法可以直接将虚拟机上产生的时间更改值输入物理机的时间硬件设备中,并避免通过网络同步时间产生的延时导致的时间同步方法精度下降的问题,从而实现物理机与虚拟机之间的时间同步,有效的在不增设其余硬件设备的同时避免了网络传输等方式产生的延时导致的时间同步精度低的问题,在降低成本的同时,提高时间同步的精度。
参照图6,在一些实施例中,时间同步装置还包括:
第一循环模块710,用于执行时间获取步骤:获取当前时刻下的时间硬件设备的第一时间和虚拟机的第二时间;
第一判断模块720,用于根据第一时间和第二时间执行以下步骤之一:
若第一时间与第二时间的时间间隔大于第一时间间隔,则将虚拟机的时间调整为第一时间;
若第一时间与第二时间的时间间隔小于或等于第一时间间隔,则在第二时间间隔后返回时间获取步骤。
本发明提供的时间同步装置,可以通过第一循环模块710获取的虚拟机的当前时间和物理机中时间硬件设备存储的当前时间,并通过第一判断模块720将时间硬件设备中的第一时间虚拟机中的第二时间进行比对,当若第一时间与第二时间的时间间隔大于第一时间间隔时,则将虚拟机的时间调整为第一时间;当第一时间与第二时间的时间间隔小于或等于第一时间间隔时,则在第二时间间隔后返回时间获取步骤,有效的对虚拟机和物理机之间的时间偏差进行纠正,其中,第一判断模块720在判断第一时间与第二时间的时间间隔小于第一时间间隔时,会延迟一个时长为第二时间间隔的等待时间之后,再返回时间获取步骤进行下一次的物理机与虚拟机之间的时间偏差纠错,通过预设第二时间间隔,可以在保证时间同步装置的精度的同时,有效降低时间同步装置的资源负荷,以保证装置的稳定性。
参照图7,在一些实施例中,时间更改值生成模块200包括:
第二循环单元210,用于执行时钟更改请求获取步骤:获取时钟更改请求,并获取虚拟机的第一虚拟时钟
第二判断单元220,用于根据时钟更改请求,更改虚拟机的时钟至第二虚拟时钟,并执行以下步骤之一:
若第一虚拟时钟与第二虚拟时钟不相等,则根据时钟更改请求生成时间更改值
或者,
若第一虚拟时钟与第二虚拟时钟相等,则返回时钟更改请求获取步骤。
在本发明提供的时间同步装置中,第二循环单元210可以获取时钟更改请求,并对虚拟机的当前时间进行检测,并将检测结果定义为第一虚拟时钟,从而通过第二判断单元220根据时钟更改请求将虚拟机的时钟调整至第二虚拟时钟。为了避免更改虚拟机时钟的过程出现预料外的错误,本装置提供的第二判断单元220还可以对第一虚拟时钟和第二虚拟时钟进行比对,当第一虚拟时钟与第二虚拟时钟不相等时,则根据时钟更改请求生成时间更改值;或者,当第一虚拟时钟与第二虚拟时钟相等时,则返回时钟更改请求获取步骤,从而重新获取时间更改请求以重新更改虚拟机时钟。本发明的提供的时间同步装置通过第二循环单元210 和第二判断单元220可以对虚拟机的当前时钟进行更改,并对更改后的虚拟机的时钟进行检测,以保证时钟更改的准确性,在降低成本的同时,提高时间同步的精度。
参照图8,在一些实施例中,时间更改值写入模块300,包括:
中断信息生成单元310,用于检测虚拟硬件的存储状态,当虚拟硬件内存储有时间更改值时,生成中断信息
通信单元320,用于获取中断信息,并建立与时间硬件设备之间的通信交互。
在本发明提供的时间同步装置中,中断信息生成单元310可以检测虚拟硬件的存储状态,当虚拟硬件内存储有时间更改值时,生成中断信息。具体地,虚拟机系统可以调用时间监控钩子,时间监控钩子会实时获取虚拟机软件对虚拟机系统时间的更改,由于在本实施例中,虚拟硬件会保存有时间更改值,故本发明提供的时间同步装置可以控制中断信息生成单元310 根据虚拟硬件中的存储状态变化输出中断信息,以提示虚拟机系统在虚拟机软件中出现了时间更改的时间,并通过通信单元320建立虚拟机系统与时间硬件设备之间的通信交互,以完成对时间更改值的输出。
第三方面,本发明提供了一种时间同步设备,包括:
虚拟机,虚拟机上设置有虚拟机软件,虚拟机软件用于执行如第一方面的的时间同步方法;
物理机,用于提供虚拟机的运行平台,还用于与虚拟机进行数据交互。
本发明所提供的时间同步设备中的虚拟机可以执行如本发明第一方面实施例的时间同步方法,通过运行在虚拟机上的虚拟机软件,时间同步设备可以实现根据用户指令更改时间,通过虚拟硬件可以获取中断信息,并根据中断信息将时间更改值从虚拟机同步至时间硬件设备。本发明所提供的时间同步设备中的物理机可以提供虚拟机的运行平台,并根据与虚拟机的数据交互完成时间同步。本发明所提供的时间同步设备可以通过虚拟机获取到用户虚拟机软件内进行的时间更改操作,即获取时钟更改指令和内存调用指令,根据内存调用指令生成虚拟硬件;根据时钟更改指令生成时间更改值,并直接通过虚拟机所生成的虚拟硬件将时间更改值进行保存。由于虚拟机直接运行在物理机上,本方法可以直接将虚拟机上产生的时间更改值输入物理机的时间硬件设备中,并避免通过网络同步时间产生的延时导致的时间同步方法精度下降的问题,以实现物理机与虚拟机之间的时间同步,有效的在不增设其余硬件设备的同时避免了网络传输等方式产生的延时导致的时间同步精度低的问题,在降低成本的同时,提高时间同步的精度。
第四方面,本发明提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,可用于执行如本发明第一方面实施例的时间同步方法,从而实现通过虚拟机获取到用户虚拟机软件内进行的时间更改操作,即获取时钟更改指令和内存调用指令,根据内存调用指令生成虚拟硬件;根据时钟更改指令生成时间更改值,并直接通过虚拟机所生成的虚拟硬件将时间更改值进行保存。由于虚拟机直接运行在物理机上,本方法可以直接将虚拟机上产生的时间更改值输入物理机的时间硬件设备中,并避免通过网络同步时间产生的延时导致的时间同步方法精度下降的问题,以实现物理机与虚拟机之间的时间同步,有效的在不增设其余硬件设备的同时避免了网络传输等方式产生的延时导致的时间同步精度低的问题,在降低成本的同时,提高时间同步的精度。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。此外,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
Claims (10)
1.时间同步方法,其特征在于,包括:
获取时钟更改指令和内存调用指令;
根据所述内存调用指令生成虚拟硬件;
根据所述时钟更改指令生成时间更改值;
将所述时间更改值输入至所述虚拟硬件,以控制物理机获取所述时间更改值;
获取所述物理机根据所述时间更改值反馈的同步指令;
根据所述同步指令将所述时间更改值输入至时间硬件设备。
2.根据权利要求1所述的时间同步方法,其特征在于,所述方法还包括:
时间获取步骤:获取当前时刻下的所述时间硬件设备的第一时间和虚拟机的第二时间;
根据所述第一时间和所述第二时间执行以下步骤之一:
若所述第一时间与所述第二时间的时间间隔大于第一时间间隔,则将所述虚拟机的时间调整为第一时间;
若所述第一时间与所述第二时间的时间间隔小于或等于第一时间间隔,则在第二时间间隔后返回所述时间获取步骤。
3.根据权利要求1所述的时间同步方法,其特征在于,所述根据所述时钟更改指令生成时间更改值,包括:
虚拟时钟获取步骤:获取虚拟机的第一虚拟时钟;
根据所述时钟更改指令,将所述虚拟机的时钟调整至第二虚拟时钟;
比较所述第一虚拟时钟与所述第二虚拟时钟;
若所述第一虚拟时钟与所述第二虚拟时钟不相等,则根据所述时钟更改指令生成时间更改值;
若所述第一虚拟时钟与所述第二虚拟时钟相等,则返回所述虚拟时钟获取步骤。
4.根据权利要求1所述的时间同步方法,其特征在于,所述将所述时间更改值输入至所述虚拟硬件,以控制物理机获取所述时间更改值,包括:
将所述时间更改值输入至所述虚拟硬件,并检测所述虚拟硬件的存储状态;
若检测所述虚拟硬件内存储有所述时间更改值,则生成中断信息,以控制物理机根据所述中断信息获取所述时间更改值。
5.时间同步装置,其特征在于,包括:
虚拟硬件生成模块,用于获取内存调用指令,并根据所述内存调用指令生成虚拟硬件;
时间更改值生成模块,用于获取时钟更改请求,并根据所述时钟更改请求生成时间更改值;
时间更改值写入模块,用于将所述时间更改值写入所述虚拟硬件;
时间更改值获取模块,用于获取所述时间更改值,并访问时间硬件设备;
时间同步模块,用于将所述时间更改值写入所述时间硬件设备。
6.根据权利要求5所述的时间同步装置,其特征在于,还包括:
第一循环模块,用于执行时间获取步骤:获取当前时刻下的所述时间硬件设备的第一时间和虚拟机的第二时间;
第一判断模块,用于根据所述第一时间和所述第二时间执行以下步骤之一:
若所述第一时间与所述第二时间的时间间隔大于第一时间间隔,则将所述虚拟机的时间调整为第一时间;
若所述第一时间与所述第二时间的时间间隔小于或等于第一时间间隔,则在第二时间间隔后返回所述时间获取步骤。
7.根据权利要求5所述的时间同步装置,其特征在于,所述时间更改值生成模块包括:
第二循环单元,用于执行时钟更改请求获取步骤:获取所述时钟更改请求,并获取虚拟机的第一虚拟时钟;
第二判断单元,用于根据所述时钟更改请求,更改所述虚拟机的时钟至第二虚拟时钟,并执行以下步骤之一:
若所述第一虚拟时钟与所述第二虚拟时钟不相等,则根据所述时钟更改请求生成时间更改值;
或者,
若所述第一虚拟时钟与所述第二虚拟时钟相等,则返回所述时钟更改请求获取步骤。
8.根据权利要求5所述的时间同步装置,其特征在于,所述时间更改值写入模块,包括:
中断信息生成单元,用于检测所述虚拟硬件的存储状态,当所述虚拟硬件内存储有所述时间更改值时,生成中断信息;
通信单元,用于获取所述中断信息,并建立与时间硬件设备之间的通信交互。
9.时间同步设备,其特征在于,包括:
虚拟机,所述虚拟机上设置有虚拟机软件,所述虚拟机软件用于执行如权利要求1至4任一项所述的时间同步方法;
物理机,用于提供所述虚拟机的运行平台,还用于与所述虚拟机进行数据交互。
10.计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,可用于执行如权利要求1至4任一项所述的时间同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111277392.2A CN114003091B (zh) | 2021-10-29 | 2021-10-29 | 时间同步方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111277392.2A CN114003091B (zh) | 2021-10-29 | 2021-10-29 | 时间同步方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114003091A CN114003091A (zh) | 2022-02-01 |
CN114003091B true CN114003091B (zh) | 2024-01-30 |
Family
ID=79925710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111277392.2A Active CN114003091B (zh) | 2021-10-29 | 2021-10-29 | 时间同步方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114003091B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107544619A (zh) * | 2017-06-27 | 2018-01-05 | 新华三云计算技术有限公司 | 时间同步方法及装置 |
CN108829493A (zh) * | 2018-06-22 | 2018-11-16 | 山东超越数控电子股份有限公司 | 一种虚拟机时间同步方法与装置 |
CN110932839A (zh) * | 2018-09-20 | 2020-03-27 | 中兴通讯股份有限公司 | 一种网卡、时间同步方法、设备及计算机存储介质 |
CN111857237A (zh) * | 2020-07-27 | 2020-10-30 | 山东超越数控电子股份有限公司 | 一种时钟同步方法、系统、设备以及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080196043A1 (en) * | 2007-02-08 | 2008-08-14 | David Feinleib | System and method for host and virtual machine administration |
CN102081552A (zh) * | 2009-12-01 | 2011-06-01 | 华为技术有限公司 | 一种物理机到虚拟机的在线迁移方法、装置和系统 |
-
2021
- 2021-10-29 CN CN202111277392.2A patent/CN114003091B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107544619A (zh) * | 2017-06-27 | 2018-01-05 | 新华三云计算技术有限公司 | 时间同步方法及装置 |
CN108829493A (zh) * | 2018-06-22 | 2018-11-16 | 山东超越数控电子股份有限公司 | 一种虚拟机时间同步方法与装置 |
CN110932839A (zh) * | 2018-09-20 | 2020-03-27 | 中兴通讯股份有限公司 | 一种网卡、时间同步方法、设备及计算机存储介质 |
CN111857237A (zh) * | 2020-07-27 | 2020-10-30 | 山东超越数控电子股份有限公司 | 一种时钟同步方法、系统、设备以及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114003091A (zh) | 2022-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2021266341B2 (en) | Session processing method, device, and system | |
US20160110440A1 (en) | Apparatus, and associated method, for synchronizing a group of data objects | |
CN114003091B (zh) | 时间同步方法、装置、设备及存储介质 | |
CN108810166A (zh) | 路由管理方法、系统、计算机设备及计算机可读存储介质 | |
CN113452770B (zh) | 数据同步方法、装置、计算机设备及存储介质 | |
CN109600254A (zh) | 全链路日志的生成方法及相关系统 | |
CN111245071A (zh) | 一种模块化充电器的参数管理方法、系统及装置 | |
CN106453656B (zh) | 一种集群主机选取方法及装置 | |
CN112346933B (zh) | 一种恶意文件扫描方法、装置、设备及介质 | |
CN112732548B (zh) | 一种接口测试方法以及装置 | |
CN116886845B (zh) | 自适应的参数更新方法、装置、计算机设备及存储介质 | |
JP6404500B2 (ja) | ビジター認可の管理方法及び装置 | |
US20130276001A1 (en) | Information processing apparatus, electrical power control method, and computer product | |
CN115239289B (zh) | 基于bim的数字化工程监理方法及系统 | |
CN117033084B (zh) | 虚拟机备份方法、装置、电子设备及存储介质 | |
WO2012001809A1 (ja) | 監視制御装置、サーバ装置、監視制御方法及び監視制御プログラム | |
WO2023236806A1 (zh) | 数据烧录方法、装置、计算机设备和计算机可读存储介质 | |
CN117041414A (zh) | 画面抖动补偿方法、装置、电子设备及计算机存储介质 | |
CN114415877A (zh) | 多窗口交互方法、装置、设备和存储介质 | |
CN118172954A (zh) | 交通灯控制方法、系统、存储介质及电子设备 | |
CN115348201A (zh) | 校准调度方法及相关装置 | |
CN113706010A (zh) | 一种联动处理方法及装置、设备、存储介质 | |
JP3542745B2 (ja) | 設計支援システム | |
CN113687929A (zh) | 一种异常处理方法及相关装置 | |
CN117453540A (zh) | 代码处理方法、装置、计算机设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |