CN103077067A - 虚拟机系统时间确定方法、装置及设备 - Google Patents

虚拟机系统时间确定方法、装置及设备 Download PDF

Info

Publication number
CN103077067A
CN103077067A CN2012105759620A CN201210575962A CN103077067A CN 103077067 A CN103077067 A CN 103077067A CN 2012105759620 A CN2012105759620 A CN 2012105759620A CN 201210575962 A CN201210575962 A CN 201210575962A CN 103077067 A CN103077067 A CN 103077067A
Authority
CN
China
Prior art keywords
time
offset
zone
module
utc
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.)
Granted
Application number
CN2012105759620A
Other languages
English (en)
Other versions
CN103077067B (zh
Inventor
孟小珍
武利珍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Gaohang Intellectual Property Operation Co ltd
Haining hi tech Zone Science and Innovation Center Co.,Ltd.
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210575962.0A priority Critical patent/CN103077067B/zh
Publication of CN103077067A publication Critical patent/CN103077067A/zh
Priority to PCT/CN2013/080606 priority patent/WO2014101414A1/zh
Application granted granted Critical
Publication of CN103077067B publication Critical patent/CN103077067B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Electric Clocks (AREA)

Abstract

本发明公开了一种虚拟机系统时间确定方法、装置及设备,属于计算机技术领域。所述方法包括:在启动时获取虚拟化平台时间,所述虚拟化平台时间等于协调世界时UTC时间;在预设位置读取时间偏移量,所述时间偏移量包括当前所在时区相对于所述UTC时间的时差;将所述虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间。本发明通过在预设位置读取时间偏移量,该时间偏移量包括当前所在时区相对于UTC时间的时差;将虚拟化平台时间与时间偏移量相加,并将相加的结果作为系统时间;解决了现有方案获取的系统时间不准确的问题;达到了在虚拟化平台下,虚拟机所显示的系统时间与当地时间一致的效果。

Description

虚拟机系统时间确定方法、装置及设备
技术领域
本发明涉及计算机技术领域,特别涉及一种虚拟机系统时间确定方法、装置及设备。
背景技术
虚拟机可以运行于虚拟化平台之上,而虚拟化平台可以构建于硬件服务器上。虚拟机中运行的操作系统可以是不同的,比如,有的虚拟机运行的是Linux系统,有的虚拟机运行的是Windows系统。
Linux系统和Mac系统以当前硬件服务器的硬件CMOS(ComplementaryMetal Oxide Semiconductor,互补金属氧化物半导体)时间为UTC(Universal TimeCoordinated,协调世界时)时间,再根据系统设置的时区来确定系统时间,比如,硬件CMOS时间为UTC时间03:00,设置时区为东八区,设该硬件服务器上运行的一个虚拟机运行Linux或者Mac系统,则该虚拟机获得UTC时间03:00,将UTC时间和时区时间相加作为系统时间,即为11:00。而Windows系统则直接把硬件服务器的硬件CMOS时间确定为系统时间,设上述硬件服务器上运行的另一台虚拟机运行Windows系统,则该虚拟机显示的系统时间则为03:00。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:运行有Windows系统的虚拟机根据现有方法确定的系统时间为硬件CMOS时间,当该硬件CMOS时间为UTC时间,该虚拟机位于非0时区时,该虚拟机确定的系统时间与实际的当地时间不吻合。
发明内容
为了解决现有方案获取的系统时间不准确的问题,本发明实施例提供了一种虚拟机系统时间确定方法、设备和系统。所述技术方案如下:
根据本发明的一个方面,本发明实施例提供了一种虚拟机系统时间确定方法,所述方法包括:
在启动时获取虚拟化平台时间,所述虚拟化平台时间等于协调世界时UTC时间;
在预设位置读取时间偏移量,所述时间偏移量包括时区信息项,所述时区信息项用于记录当前所在时区相对于所述UTC时间的时差;
将所述虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间。
在第一方面的第一种可能的实施方式中,所述在预设位置读取时间偏移量之前,还包括:
检测本次启动是否为第一次启动;
若检测到本次启动是第一次启动,则获取被设置的时区作为当前所在时区;
将所述当前所在时区相对于所述UTC时间的时差写入在预设位置的所述时间偏移量的时区信息项中;
将所述虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间;若检测到本次启动不是第一次启动,则执行所述在预设位置读取时间偏移量的步骤。
结合第一方面的第一种可能的实施方式,在第二种可能的实施方式中,所述时间偏移量还包括有启动时间项,所述若检测到本次启动是第一次启动之后,所述将所述虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间之前,还包括:
获取启动时间,所述启动时间为本次启动到启动完毕所花费的时间;
将所述启动时间写入在预设位置的所述时间偏移量的启动时间项中。
结合第一方面的第二种可能的实施方式,在第三种可能的实施方式中,所述若检测到本次启动不是第一次启动之后,所述在预设位置读取时间偏移量之前,还包括:
获取启动时间,所述启动时间为本次启动到启动完毕所花费的时间;
将所述时间偏移量的启动时间项中的启动时间更新为本次启动获取到的启动时间。
结合第一方面、第一方面的第一种、第二种或者第三种可能的实施方式,在第四种可能的实施方式中,所述将所述虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间,包括:
将所述虚拟化平台时间与所述时间偏移量中的所有项相加,并将相加的结果写入本地的模拟CMOS时间中;
读取所述本地的模拟CMOS时间作为系统时间。
结合第一方面、第一方面的第一种、第二种或者第三种可能的实施方式,在第五种可能的实施方式中,所述时间偏移量还包括有时间变化项,所述将所述虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间之后,还包括:
检测所述系统时间是否变化为新的系统时间;
若检测到所述系统时间变化为新的系统时间,则将所述新的系统时间与所述系统时间的差值写入所述在预设位置的时间偏移量的时间变化项中。
第二方面,提供了一种虚拟机系统时间确定装置,所述装置包括:
时间获取模块,用于在启动时获取虚拟化平台时间,所述虚拟化平台时间等于协调世界时UTC时间;
偏移量读取模块,用于在预设位置读取时间偏移量,所述时间偏移量包括时区信息项,所述时区信息项用于记录当前所在时区相对于所述UTC时间的时差;
时间累加模块,用于将所述时间获取模块获取到的虚拟化平台时间与所述偏移量读取模块读取到的时间偏移量相加,并将相加的结果作为系统时间。
在第二方面的第一种可能的实施方式中,所述装置,还包括:
启动检测模块、时区获取模块、时间计算模块和偏移量写入模块;
所述启动检测模块,用于检测本次启动是否为第一次启动;
所述时区获取模块,用于若所述启动检测模块检测到本次启动是第一次启动,则获取被设置的时区作为当前所在时区;
所述时间计算模块,用于将所述虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间;
所述偏移量写入模块,用于将所述当前所在时区相对于所述UTC时间的时差写入在预设位置的所述时间偏移量的时区信息项中;
所述偏移量读取模块,用于若所述启动检测模块检测到本次启动不是第一次启动,则执行所述在预设位置读取时间偏移量的步骤。
结合第二方面的第一种可能的实施方式,在第二种可能的实施方式中,所述装置,包括:启动获取模块;
所述启动获取模块,用于获取启动时间,所述启动时间为本次启动到启动完毕所花费的时间;
所述偏移量写入模块,还用于将所述启动获取模块获取到的启动时间写入在预设位置的所述时间偏移量的启动时间项中。
结合第二方面的第二种可能的实施方式,在第三种可能的实施方式中,所述装置,还包括:启动更新模块;
所述启动获取模块,用于获取启动时间,所述启动时间为本次启动到启动完毕所花费的时间;
所述启动更新模块,用于将所述时间偏移量的启动时间项中的启动时间更新为本次启动所述启动获取模块获取到的启动时间。
结合第二方面、第二方面的第一种、第二种或者第三种可能的实施方式,在第四种可能的实施方式中,所述时间累加模块,包括:
时间写入单元和时间读取单元;
所述时间写入单元,用于将所述虚拟化平台时间与所述时间偏移量中的所有项相加,并将相加的结果写入本地的模拟CMOS时间中;
所述时间读取单元,用于读取所述时间写入单元写入的本地的模拟CMOS时间作为系统时间。
结合第二方面、第二方面的第一种、第二种或者第三种可能的实施方式,在第五种可能的实施方式中,所述装置,还包括:时间检测模块;
所述时间检测模块,用于检测所述系统时间是否变化为新的系统时间;
所述偏移量写入模块,还用于若检测到所述系统时间变化为新的系统时间,则将所述新的系统时间与所述系统时间的差值写入所述在预设位置的时间偏移量的时间变化项中。
第三方面,提供了一种运行有虚拟机的设备,包括第二方面和第二方面的各种可能的实施方式中任一所述的虚拟机系统时间确定装置。
本发明实施例提供的技术方案带来的有益效果是:通过在预设位置读取时间偏移量,该时间偏移量包括当前所在时区相对于UTC时间的时差;将虚拟化平台时间与时间偏移量相加,并将相加的结果作为系统时间;解决了现有方案获取的系统时间不准确的问题;达到了在虚拟化平台下,虚拟机所显示的系统时间与当地时间一致的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例所涉及的一种实施环境的结构示意图;
图2是本发明实施例一提供的虚拟机系统时间确定方法的方法流程图;
图3是本发明实施例二提供的虚拟机系统时间确定方法的方法流程图;
图4是本发明实施例三提供的虚拟机系统时间确定方法的方法流程图;
图5是本发明实施例四提供的虚拟机系统时间确定方法的方法流程图;
图6是本发明实施例五提供的虚拟机系统时间确定装置的结构示意图;
图7是本发明实施例六提供的虚拟机系统时间确定装置的结构示意图;
图8是本发明实施例七提供的虚拟机系统时间确定装置的结构示意图;
图9是本发明实施例八提供的虚拟机系统时间确定装置的结构示意图;
图10是本发明实施例九提供的运行有虚拟机的设备的结构方框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
请参考图2,其示出了本发明实施例一提供的虚拟机系统时间确定方法的方法流程图。本实施例主要以硬件服务器中的硬件CMOS时间是UTC时间,该虚拟机系统时间确定方法应用于运行有Windows系统的虚拟机中来举例说明。该虚拟机系统时间确定方法包括:
步骤202,在启动时获取虚拟化平台时间,虚拟化平台时间等于协调世界时UTC时间;
结合图1可知,设硬件服务器107中的硬件CMOS时间101是UTC时间。虚拟化平台106会获取硬件CMOS时间101作为虚拟化平台时间102。虚拟机103在启动时会获取虚拟化平台时间102,该虚拟化平台时间102等于UTC时间。
步骤204,在预设位置读取时间偏移量,时间偏移量包括时区信息项,时区信息项用于记录当前所在时区相对于UTC时间的时差;
虚拟机103可以在预设位置读取时间偏移量104,预设位置可以在虚拟化平台106所能访问的存储设备上的该虚拟机103的配置文件里,该时间偏移量104包括时区信息项,时区信息项用于记录当前所在时区相对于UTC时间的时差。
步骤206,将虚拟化平台时间与时间偏移量相加,并将相加的结果作为系统时间;
虚拟机103将获取到的虚拟化平台时间102与读取到的时间偏移量104相加,并将相加的结果作为自身的系统时间。
综上所述,本实施例提供的虚拟机系统时间确定方法,通过在预设位置读取时间偏移量,时间偏移量包括时区信息项,时区信息项用于记录当前所在时区相对于UTC时间的时差;将虚拟化平台时间与时间偏移量相加,并将相加的结果作为系统时间;解决了现有方案获取的系统时间不准确的问题;达到了在虚拟化平台下,虚拟机所显示的系统时间与当地时间一致的效果。
实施例二
请参考图3,其示出了本发明实施例二提供的虚拟机系统时间确定方法的方法流程图。本实施例主要以硬件服务器中的硬件CMOS时间是UTC时间,该虚拟机系统时间确定方法应用于运行有Windows系统的虚拟机中来举例说明。该虚拟机系统时间确定方法,包括:
步骤301,在启动时获取虚拟化平台时间,虚拟化平台时间等于协调世界时UTC时间;
结合图1可知,设硬件服务器107中的硬件CMOS时间101是UTC时间。虚拟化平台106会获取硬件CMOS时间101作为虚拟化平台时间102。虚拟机103在启动时会获取虚拟化平台时间102,该虚拟化平台时间102等于UTC时间。
步骤302,检测本次启动是否为第一次启动;
虚拟机103检测本次启动是否为第一次启动。比如,虚拟机103可以在Windows操作系统注册表中预先设定一个注册表项,用来记录虚拟机103是否为第一次启动。该注册表项的键值为0时,表示虚拟机103的本次启动为第一次启动;该注册表项的键值为1时,表示虚拟机103的本次启动不是第一次启动。虚拟机103可以通过该注册表项的键值来判断虚拟机103是否为第一次启动。若检测到本次启动是第一次启动,则进入步骤303;若检测到本次启动不是第一次启动,则进入步骤306。
步骤303,若检测到本次启动是第一次启动,则获取被设置的时区作为当前所在时区;
若检测到本次启动是第一次启动,虚拟机103将获取被用户设置的时区作为当前所在时区。
步骤304,将当前所在时区相对于UTC时间的时差写入在预设位置的时间偏移量中的时区信息项中;
虚拟机103将当前所在时区相对于UTC时间的时差写入在预设位置的时间偏移量104中的时区信息项。该预设位置可以在虚拟化平台所能访问的存储设备上的该虚拟机103的配置文件里。
步骤305,将虚拟化平台时间与时间偏移量相加,并将相加的结果作为系统时间;
虚拟机103将虚拟化平台时间102与时间偏移量104相加,并将相加的结果作为系统时间。当前所在时区可以是用户在虚拟机103第一次启动时设置的时区。
步骤306,若检测到本次启动不是第一次启动,则在预设位置读取时间偏移量,时间偏移量包括时区信息项,时区信息项用于记录当前所在时区相对于UTC时间的时差;
若检测到本次启动不是第一次启动,虚拟机103将在预设位置读取时间偏移量104,时间偏移量104包括时区信息项,时区信息项用于记录当前所在时区相对于UTC时间的时差。
步骤307,将虚拟化平台时间作为UTC时间与时间偏移量相加得到系统时间;
虚拟机103将获取到的虚拟化平台时间102作为UTC时间与时间偏移量104相加,并将相加的结果写入本地的模拟CMOS时间105中;虚拟机103读取本地的模拟CMOS时间105作为系统时间。
综上所述,本实施例提供的虚拟机系统时间确定方法,通过检测本次启动是否为第一次启动,若检测到本次启动为第一次启动,则获取被用户设置的时区作为当前所在时区,并将当前所在时区相对于UTC时间的时差写入时间偏移量中的时区信息项;在预设位置读取时间偏移量,将虚拟化平台时间与时间偏移量相加,并将相加的结果作为系统时间;解决了现有方案获取的系统时间不准确的问题;达到了在虚拟化平台下,虚拟机所显示的系统时间与当地时间一致的效果。
实施例三
请参考图4,其示出了本发明实施例三提供的虚拟机系统时间确定方法的方法流程图。本实施例主要以硬件服务器中的硬件CMOS时间是UTC时间,该虚拟机系统时间确定方法应用于运行有Windows系统的虚拟机中来举例说明。作为基于上一实施例提供的更为优选地实施例,本实施例中的时间偏移量不仅包括时区信息项,还包括时间变化项。该虚拟机系统时间确定方法,包括:
步骤401,在启动时获取虚拟化平台时间,虚拟化平台时间等于协调世界时UTC时间;
结合图1可知,设硬件服务器107中的硬件CMOS时间101是UTC时间。虚拟化平台106会获取硬件CMOS时间101作为虚拟化平台时间102。虚拟机104在启动时会获取虚拟化平台时间102,该虚拟化平台时间102等于UTC时间。
步骤402,检测本次启动是否为第一次启动;
虚拟机103检测本次启动是否为第一次启动。比如,虚拟机103可以在Windows操作系统注册表中预先设定一个注册表项,用来记录虚拟机103是否为第一次启动。该注册表项的键值为0时,表示虚拟机103的本次启动为第一次启动;该注册表项的键值为1时,表示虚拟机103的本次启动不是第一次启动。虚拟机103可以通过该注册表项的键值来判断虚拟机103是否为第一次启动。若检测到本次启动是第一次启动,则进入步骤403;如检测到本次启动不是第一次启动,则进入步骤406。
步骤403,若检测到本次启动是第一次启动,则获取被设置的时区作为当前所在时区;
若检测到本次启动是第一次启动,虚拟机103将获取被用户设置的时区作为当前所在时区。
步骤404,将当前所在时区相对于UTC时间的时差写入在预设位置的时间偏移量的时区信息项中;
虚拟机103将当前所在时区相对于UTC时间的时差写入在预设位置的时间偏移量104中的时区信息项。该预设位置可以在虚拟化平台106所能访问的存储设备上的该虚拟机103的配置文件里。
步骤405,将虚拟化平台时间与时间偏移量相加,并将相加的结果作为系统时间;
虚拟机103将虚拟化平台时间102与时间偏移量104相加,并将相加的结果作为系统时间。当前所在时区可以是用户在虚拟机103第一次启动时设置的时区。
步骤406,若检测到本次启动不是第一次启动,则在预设位置读取时间偏移量,时间偏移量包括时区信息项和时间变化项;
与上一实施例不同的是,时间偏移量104包括时区信息项和时间变化项。时区信息项为当前所在时区相对于UTC时间的时差。时间变化项为上次启动时系统时间变化值。系统时间的变化可能是来自用户的主动修改,或者时间同步等原因。如果系统时间没有变化,则时间变化项为空。
步骤407,将虚拟化平台时间作为UTC时间与时间偏移量相加得到系统时间;
虚拟机103将获取到的虚拟化平台时间102作为UTC时间与时间偏移量104相加,并将相加的结果写入本地的模拟CMOS时间105中;虚拟机103读取本地的模拟CMOS时间105作为系统时间。在虚拟机103将虚拟化平台时间102与时间偏移量104相加的过程中,虚拟机103将虚拟化平台时间102与时间偏移量104中的全部两项相加,也即将虚拟化平台时间102与时区信息项和时间变化项同时相加。
步骤408,检测系统时间是否变化为新的系统时间;
在本次启动后,虚拟机103也会检测系统时间是否变化为新的系统时间。比如,系统时间被用户修改为新的系统时间,或者系统时间被NTP(Network TimeProtocol,网络时间协议)时间同步后变为新的系统时间。
步骤409,若检测到系统时间变化为新的系统时间,则将新的系统时间与系统时间的差值写入在预设位置的时间偏移量的时间变化项中;
若检测到系统时间变化为新的系统时间,虚拟机103将新的系统时间与系统时间的差值写入在预设位置的时间偏移量104中的时间变化项中。比如,系统时间为11:00,新的系统时间为12:00,则将新的系统时间与系统时间的差值1:00写入在预设位置的时间偏移量中104的时间变化项中,以便下一次启动时生效。
综上所述,本实施例提供的虚拟机系统时间确定方法,通过检测本次启动是否为第一次启动,若检测到本次启动为第一次启动,则获取被用户设置的时区作为当前所在时区,将当前所在时区相对于UTC时间的时差写入在预设位置的时间偏移量中的时区信息项,将虚拟化平台时间与时间偏移量相加,并将相加的结果作为系统时间;将虚拟化平台时间与时间偏移量相加的结果作为系统时间之后,还通过检测系统时间是否变化为新的系统时间,并将新的系统时间与系统时间的差值写入在预设位置的时间偏移量的时间变化项,以便再次启动时可以直接读取时间偏移量,将获取到的虚拟化平台时间作为UTC时间与读取到的时间偏移量相加,得到正确的系统时间。解决了现有方案获取的系统时间不准确的问题;达到了在虚拟化平台下,虚拟机所显示的系统时间与当地时间一致的效果。
实施例四
请参考图5,其示出了本发明实施例四提供的虚拟机系统时间确定方法的方法流程图。本实施例主要以硬件服务器中的硬件CMOS时间是UTC时间,该虚拟机系统时间确定方法应用于运行有Windows系统的虚拟机中来举例说明。作为基于上一实施例提供的更为优选地实施例,本实施例中的时间偏移量不仅包括时区信息项和时间变化项,还包括启动时间项。该虚拟机系统时间确定方法,包括:
步骤501,在启动时获取虚拟化平台时间,虚拟化平台时间等于协调世界时UTC时间;
结合图1可知设硬件服务器107中的硬件CMOS时间101是UTC时间。虚拟化平台106会获取硬件CMOS时间101作为虚拟化平台时间102。虚拟机103在启动时会获取虚拟化平台时间102,该虚拟化平台时间102等于UTC时间。
步骤502,检测本次启动是否为第一次启动;
虚拟机103检测本次启动是否为第一次启动。比如,虚拟机103可以在Windows操作系统注册表中预先设定一个注册表项,用来记录虚拟机103是否为第一次启动。该注册表项的键值为0时,表示虚拟机103的本次启动为第一次启动;该注册表项的键值为1时,表示虚拟机103的本次启动不是第一次启动。虚拟机103可以通过该注册表项的键值来判断虚拟机103是否为第一次启动。若检测到本次启动是第一次启动,则进入步骤503;如检测到本次启动不是第一次启动,则进入步骤508。
步骤503,若检测到本次启动是第一次启动,则获取被设置的时区作为当前所在时区;
若检测到本次启动是第一次启动,虚拟机103将获取被用户设置的时区作为当前所在时区。
步骤504,将当前所在时区相对于UTC时间的时差写入在预设位置的时间偏移量104中的时区信息项中;
虚拟机103将当前所在时区相对于UTC时间的时差写入在预设位置的时间偏移量104中的时区信息项中。该预设位置可以在虚拟化平台106所能访问的存储设备上的该虚拟机103的配置文件里。
步骤505,获取启动时间,该启动时间为本次启动到启动完毕所花费的时间;
虚拟机103获取本次启动到启动完毕所花费的时间为启动时间。
步骤506,将启动时间写入在预设位置的时间偏移量的启动时间项中;
虚拟机103将启动时间写入在预设位置的时间偏移量104的启动时间项中中。
步骤507,将虚拟化平台时间与时间偏移量相加,并将相加的结果作为系统时间;
虚拟机103将虚拟化平台时间102与时间偏移量104相加,并将相加的结果作为系统时间。
步骤508,若检测到本次启动不是第一次启动,则获取启动时间,该启动时间为本次启动到启动完毕所花费的时间;
若检测到本次启动不是第一次启动,虚拟机103获取本次启动到启动完毕所花费的时间为启动时间。
步骤509,将时间偏移量的启动时间项中的启动时间更新为本次启动获取到的启动时间;
虚拟机103将时间偏移量104的启动时间项中的启动时间更新为本次启动获取到的启动时间。
步骤510,在预设位置读取时间偏移量,时间偏移量包括时区信息项、时间变化项和启动时间项。
与上一实施例不同的是,时间偏移量104包括时区信息项、时间变化项和启动时间项。时区信息项为当前所在时区相对于UTC时间的时差;时间变化项为上次启动时系统时间变化值,系统时间的变化可能是来自用户的主动修改,或者时间同步等原因。如果系统时间没有变化,则时间变化项为空。时间启动项为本次启动获取到的启动时间。
步骤511,将虚拟化平台时间作为UTC时间与时间偏移量相加得到系统时间;
虚拟机103将获取到的虚拟化平台时间102作为UTC时间与时间偏移量104相加,并将相加的结果写入本地的模拟CMOS时间105中;虚拟机103读取本地的模拟CMOS时间105作为系统时间。在虚拟机103将虚拟化平台时间102与时间偏移量104相加的过程中,虚拟机103将虚拟化平台时间102与时间偏移量104中的全部三项相加,也即将虚拟化平台时间102与时区信息项、时间变化项和启动时间项同时相加。
步骤512,检测系统时间是否变化为新的系统时间;
在本次启动后,虚拟机103也会检测系统时间是否变化为新的系统时间。比如,系统时间被用户修改为新的系统时间,或者系统时间被NTP(Network TimeProtocol,网络时间协议)时间同步后变为新的系统时间。
步骤513,若检测到系统时间变化为新的系统时间,则将新的系统时间与系统时间的差值写入在预设位置的时间偏移量中的时间变化项中;
虚拟机103将新的系统时间与系统时间的差值写入在预设位置的时间偏移量104中的时间变化项中。比如,系统时间为11:00,新的系统时间为12:00,则将新的系统时间与系统时间的差值1:00写入在预设位置的时间偏移量104中的时间变化项中,以便下一次启动时生效。
综上所述,本实施例提供的虚拟机系统时间确定方法,通过检测本次启动是否为第一次启动,若检测到本次启动为第一次启动,则获取被用户设置的时区作为当前所在时区,将当前所在时区相对于UTC时间的时差写入在预设位置读取时间偏移量中的时区信息项;同时获取本次启动到启动完毕所花费的时间为启动时间,将启动时间写入在预设位置的时间偏移量的启动时间项;将虚拟化平台时间与时间偏移量相加,并将相加的结果作为系统时间;将虚拟化平台时间与时间偏移量相加的结果作为系统时间之后,还通过检测系统时间是否变化为新的系统时间,并将新的系统时间与系统时间的差值写入在预设位置的时间偏移量的时间变化项,以便再次启动时可以直接读取时间偏移量,将获取到的虚拟化平台时间作为UTC时间与读取到的时间偏移量相加,得到正确的系统时间。解决了现有方案获取的系统时间不准确的问题;达到了在虚拟化平台下,虚拟机所显示的系统时间与当地时间一致的效果。
实施例五
请参考图6,其示出了实施例五提供的虚拟机系统时间确定装置的结构示意图,本实施例主要以硬件服务器中的硬件CMOS时间是UTC时间,该虚拟机系统时间确定方法应用于运行有Windows系统的虚拟机中来举例说明。该虚拟机系统时间确定装置,包括时间获取模块620、偏移量读取模块660和时间累加模块680。
时间获取模块620,用于在启动时获取虚拟化平台时间,所述虚拟化平台时间等于协调世界时UTC时间。
偏移量读取模块660,用于在预设位置读取时间偏移量,所述时间偏移量包括时区信息项,所述时区信息项用于记录当前所在时区相对于所述UTC时间的时差,所述预设位置可以在虚拟化平台所能访问的存储设备上的该虚拟机的配置文件里。
时间累加模块680,用于将所述时间获取模块620获取到的虚拟化平台时间与所述偏移量读取模块660读取到的时间偏移量相加,并将相加的结果作为系统时间。
综上所述,本实施例提供的虚拟机系统时间确定装置,通过在预设位置读取时间偏移量,所述时间偏移量包括时区信息项,所述时区信息项用于记录当前所在时区相对于所述UTC时间的时差;将虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间;解决了现有方案获取的系统时间不准确的问题;达到了在虚拟化平台下,虚拟机所显示的系统时间与当地时间一致的效果。
实施例六
请参考图7,其示出了实施例六提供的虚拟机系统时间确定装置的结构示意图,本实施例主要以硬件服务器中的硬件CMOS时间是UTC时间,该虚拟机系统时间确定装置实现为运行有Windows系统的虚拟机中的一部分来举例说明。作为基于图6所示实施例提供的更为优选的实施例,该虚拟机系统时间确定装置,包括时间获取模块620、启动检测模块630、时区获取模块632、时区写入模块634、时间计算模块638、偏移量读取模块660和时间累加模块680。
时间获取模块620,用于在启动时获取虚拟化平台时间,所述虚拟化平台时间等于协调世界时UTC时间。
启动检测模块630,用于检测本次启动是否为第一次启动。
时区获取模块632,用于若所述启动检测模块630检测到本次启动是第一次启动,获取被设置的时区作为当前所在时区。
时区写入模块634,用于将当前所在时区相对于UTC时间的时差写入在预设位置的时间偏移量中的时区信息项中。
时间计算模块638,用于将所述时间获取模块620获取到的虚拟化平台时间与所述偏移量写入模块634写入的时间偏移量相加,并将相加的结果作为系统时间。
偏移量读取模块660,用于若所述启动检测模块630检测到本次启动不是第一次启动,在预设位置读取时间偏移量,所述时间偏移量包括时区信息项,所述时区信息项用于记录当前所在时区相对于UTC时间的时差,所述预设位置可以在虚拟化平台所能访问的存储设备上的该虚拟机的配置文件里。
时间累加模块680,用于将虚拟化平台时间作为UTC时间与所述时间偏移量相加得到系统时间;具体的,时间累加模块680包括:
CMOS写入单元682和CMOS读取单元684;
所述CMOS写入单元682,用于将所述时间获取模块620获取到的虚拟化平台时间作为UTC时间与所述偏移量读取模块660读取到的时间偏移量相加,并将相加的结果写入本地的模拟CMOS时间中;
所述CMOS读取单元684,用于读取本地的模拟CMOS时间作为系统时间。
综上所述,本实施例提供的虚拟机系统时间确定装置,通过检测本次启动是否为第一次启动,若检测到本次启动为第一次启动,则获取被用户设置的时区作为当前所在时区,并将所述当前所在时区相对于UTC时间的时差写入时间偏移量中的时区信息项;在预设位置读取时间偏移量,将虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间;解决了现有方案获取的系统时间不准确的问题;达到了在虚拟化平台下,虚拟机所显示的系统时间与当地时间一致的效果。
实施例七
请参考图8,其示出了实施例七提供的虚拟机系统时间确定装置的结构示意图,本实施例主要以硬件服务器中的硬件CMOS时间是UTC时间,该虚拟机系统时间确定装置实现为运行有Windows系统的虚拟机中的一部分来举例说明。作为基于图7所示实施例提供的更为优选的实施例,本实施例中的时间偏移量不仅包括时区信息项,还包括时间变化项。该虚拟机系统时间确定装置,包括时间获取模块620、启动检测模块630、时区获取模块632、时区写入模块634、时间计算模块638、偏移量读取模块660、时间累加模块680、时间检测模块692和变化写入模块694。
时间获取模块620,用于在启动时获取虚拟化平台时间,所述虚拟化平台时间等于协调世界时UTC时间。
启动检测模块630,用于检测本次启动是否为第一次启动。
时区获取模块632,用于若所述启动检测模块630检测到本次启动是第一次启动,获取被设置的时区作为当前所在时区。
时区写入模块634,用于将当前所在时区相对于UTC时间的时差写入在预设位置的时间偏移量的时区信息项中。
时间计算模块638用于将所述时间获取模块620获取到的虚拟化平台时间作为UTC时间与所述时区获取模块632作为的当前所在时区相对于所述UTC时间的时差相加得到系统时间。
偏移量读取模块660,用于若所述启动检测模块630检测到本次启动不是第一次启动,在预设位置读取时间偏移量,所述时间偏移量包括时区信息项和时间变化项;所述时区信息项为时区写入模块634写入的当前所在时区相对于UTC时间的时差;所述时间变化项为上次启动时系统时间变化值,所述预设位置可以在虚拟化平台所能访问的存储设备上的该虚拟机的配置文件里。时间累加模块680,用于将虚拟化平台时间作为UTC时间与所述时间偏移量相加得到系统时间;具体的,时间累加模块680包括:
CMOS写入单元682和CMOS读取单元684;
所述CMOS写入单元682,用于将所述时间获取模块620获取到的虚拟化平台时间作为UTC时间与所述偏移量读取模块660读取到的当前所在时区相对于UTC时间的时差相加,并将相加的结果写入本地的模拟CMOS时间中;
所述CMOS读取单元684,用于读取本地的模拟CMOS时间作为系统时间;
时间检测模块692,用于检测所述系统时间是否变化为新的系统时间;
变化写入模块694,用于若所述时间检测模块692检测到所述系统时间变为新的系统时间,将所述新的系统时间与所述系统时间的差值,写入在预设位置的时间偏移量中的时间变化项中。
综上所述,本实施例提供的虚拟机系统时间确定装置,通过检测本次启动是否为第一次启动,若检测到本次启动为第一次启动,则获取被用户设置的时区作为当前所在时区,将所述当前所在时区相对于UTC时间的时差写入在预设位置的时间偏移量中的时区信息项,将虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间;所述将虚拟化平台时间与所述时间偏移量相加的结果作为系统时间之后,还通过检测所述系统时间是否变化为新的系统时间,并将所述新的系统时间与所述系统时间的差值写入在预设位置的时间偏移量的时间变化项,以便再次启动时可以直接读取时间偏移量,将所述获取到的虚拟化平台时间作为UTC时间与所述读取到的时间偏移量相加,得到正确的系统时间。解决了现有方案获取的系统时间不准确的问题;达到了在虚拟化平台下,虚拟机所显示的系统时间与当地时间一致的效果。
实施例八
请参考图9,其示出了实施例八提供的虚拟机系统时间确定装置的结构示意图,本实施例主要以硬件服务器中的硬件CMOS时间是UTC时间,该虚拟机系统时间确定装置实现为运行有Windows系统的虚拟机中的一部分来举例说明。作为基于图8所示实施例提供的更为优选的实施例,本实施例中的时间偏移量不仅包括时区信息项和时间变化项,还包括启动时间项。该虚拟机系统时间确定装置,包括时间获取模块620、启动检测模块630、时区获取模块632、时区写入模块634、启动获取模块635、启动写入模块637、时间计算模块638、启动更新模块640、偏移量读取模块660、时间累加模块680,时间检测模块692和变化写入模块694。
时间获取模块620,用于在启动时获取虚拟化平台时间,所述虚拟化平台时间等于协调世界时UTC时间。
启动检测模块630,用于检测本次启动是否为第一次启动。
时区获取模块632,用于若所述启动检测模块630检测到本次启动是第一次启动,获取被设置的时区作为当前所在时区。
时区写入模块634,用于将当前所在时区相对于UTC时间的时差写入在预设位置的时间偏移量的时区信息项中。
启动获取模块635,用于获取启动时间,所述启动时间为本次启动到启动完毕所花费的时间。
启动写入模块637,用于将所述启动时间写入在预设位置的所述时间偏移量的启动时间项中。
时间计算模块638,用于将所述虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间。
启动获取模块635,还用于若检测到本次启动不是第一次启动,获取启动时间,所述启动时间为本次启动到启动完毕所花费的时间。
启动更新模块640,用于将所述时间偏移量的启动时间项中的启动时间更新为本次启动获取到的启动时间。
偏移量读取模块660,用于在预设位置读取时间偏移量,所述时间偏移量包括时区信息项、时间变化项和启动时间项,所述时区信息项为时区写入模块634写入的当前所在时区相对于UTC时间的时差;所述时间变化项为上次启动时系统时间变化值,所述启动时间项为所述启动更新模块640更新后的启动时间,所述预设位置可以在虚拟化平台所能访问的存储设备上的该虚拟机的配置文件里。
时间累加模块680,用于将所述虚拟化平台时间作为UTC时间与所述时间偏移量相加得到系统时间;具体的,时间累加模块680包括:
CMOS写入单元682和CMOS读取单元684;
所述CMOS写入单元682,用于将所述时间获取模块620获取到的虚拟化平台时间作为UTC时间与所述偏移量读取模块660读取到的当前所在时区相对于UTC时间的时差相加,并将相加的结果写入本地的模拟CMOS时间中;
所述CMOS读取单元684,用于读取本地的模拟CMOS时间作为系统时间。
时间检测模块692,用于检测所述系统时间是否变化为新的系统时间。
变化写入模块694,用于若所述时间检测模块692检测到所述系统时间变为新的系统时间,将所述新的系统时间与所述系统时间的差值,写入在预设位置的时间偏移量中的时间变化项中。
综上所述,本实施例提供的虚拟机系统时间确定装置,通过检测本次启动是否为第一次启动,若检测到本次启动为第一次启动,则获取被用户设置的时区作为当前所在时区,将所述当前所在时区相对于UTC时间的时差写入在预设位置读取时间偏移量中的时区信息项;同时获取本次启动到启动完毕所花费的时间为启动时间,将所述启动时间写入在预设位置的所述时间偏移量的启动时间项;将所述虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间;所述将虚拟化平台时间与所述时间偏移量相加的结果作为系统时间之后,还通过检测所述系统时间是否变化为新的系统时间,并将所述新的系统时间与所述系统时间的差值写入在预设位置的时间偏移量的时间变化项,以便再次启动时可以直接读取时间偏移量,将所述获取到的虚拟化平台时间作为UTC时间与所述读取到的时间偏移量相加,得到正确的系统时间。解决了现有方案获取的系统时间不准确的问题;达到了在虚拟化平台下,虚拟机所显示的系统时间与当地时间一致的效果。
实施例九
请参考图10,其示出了本发明实施例七提供的运行有虚拟机的设备的结构方框图。本实施例主要以硬件服务器中的硬件CMOS时间是UTC时间,该虚拟机系统时间确定方法应用于运行有Windows系统的虚拟机中来举例说明。所述设备包括:处理器1001和存储器1002;
所述处理器1001,用于在启动时获取虚拟化平台时间,所述虚拟化平台时间等于协调世界时UTC时间。
所述处理器1001,还用于从所述存储器1002的预设位置读取时间偏移量,
所述时间偏移量包括时区信息项,所述时区信息项用于记录当前所在时区相对于所述UTC时间的时差,所述预设位置可以在虚拟化平台所能访问的存储设备上的该虚拟机的配置文件里。
所述处理器1001,还用于将获取到的虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间。
综上所述,本实施例提供的运行有虚拟机的设备,通过在预设位置读取时间偏移量,所述时间偏移量包括时区信息项,所述时区信息项用于记录当前所在时区相对于所述UTC时间的时差;将虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间;解决了现有方案获取的系统时间不准确的问题;达到了在虚拟化平台下,虚拟机所显示的系统时间与当地时间一致的效果。
作为上一实施例的更为优选的实施例,所述处理器1001和存储器1002还可以具有如下功能:
所述处理器1001,用于在启动时获取虚拟化平台时间,所述虚拟化平台时间等于协调世界时UTC时间。
所述处理器1001,还用于检测本次启动是否为第一次启动。
若检测到本次启动是第一次启动,所述处理器1001还用于将所述虚拟化平台时间作为UTC时间与当前所在时区相对于所述UTC时间的时差相加得到系统时间。
所述处理器1001,还用于若检测到本次启动是第一次启动,获取被设置的时区作为当前所在时区。
所述处理器1001,还用于将当前所在时区相对于UTC时间的时差写入在预设位置的时间偏移量中的时区信息项中。
所述处理器1001,还用于所述虚拟化平台时间作为UTC时间与所述时间偏移量相加,并将相加的结果作为系统时间。
所述处理器1001,还用于若检测到本次启动不是第一次启动,在所述存储器1002的预设位置读取时间偏移量,所述时间偏移量包括时区信息项,所述时区信息项用于记录当前所在时区相对于UTC时间的时差,所述预设位置可以在虚拟化平台所能访问的存储设备上的该虚拟机的配置文件里。
所述处理器1001,还用于将虚拟化平台时间作为UTC时间与所述时间偏移量相加得到系统时间;具体的,所述处理器1001,用于将所述虚拟化平台时间作为UTC时间与所述时间偏移量相加,并将相加的结果写入所述存储器1002的模拟CMOS时间中;所述处理器1001,还用于读取所述存储器1002的模拟CMOS时间作为系统时间;
所述处理器1001,还用于读取所述存储器1002的本地模拟CMOS时间作为系统时间。
综上所述,本实施例提供的运行有虚拟机的设备,通过检测本次启动是否为第一次启动,若检测到本次启动为第一次启动,则获取被用户设置的时区作为当前所在时区,并将所述当前所在时区相对于UTC时间的时差写入时间偏移量中的时区信息项;在预设位置读取时间偏移量,将虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间;解决了现有方案获取的系统时间不准确的问题;达到了在虚拟化平台下,虚拟机所显示的系统时间与当地时间一致的效果。
作为上一实施例的更为优选的实施例,所述处理器1001和存储器1002还可以具有如下功能:
所述处理器1001,用于在启动时获取虚拟化平台时间,所述虚拟化平台时间等于协调世界时UTC时间。
所述处理器1001,还用于检测本次启动是否为第一次启动。
若检测到本次启动是第一次启动,所述处理器1001还用于获取被设置的时区作为当前所在时区。
所述处理器1001,还用于将当前所在时区相对于UTC时间的时差写入在预设位置的时间偏移量的时区信息项中。
所述处理器1001,还用于将所述虚拟化平台时间作为UTC时间与所述当前所在时区相对于所述UTC时间的时差相加得到系统时间。
若检测到本次启动不是第一次启动,所述处理器1001,还用于在预设位置读取时间偏移量,所述时间偏移量包括时区信息项和时间变化项;所述时区信息项为当前所在时区相对于UTC时间的时差;所述时间变化项为上次启动时系统时间变化值,所述预设位置可以在虚拟化平台所能访问的存储设备上的该虚拟机的配置文件里。
所述处理器1001,还用于将所述虚拟化平台时间作为UTC时间与所述时间偏移量相加得到系统时间;具体的,所述处理器1001,用于将所述虚拟化平台时间作为UTC时间与所述时间偏移量相加,并将相加的结果写入所述存储器1002的模拟CMOS时间中;所述处理器1001,还用于读取所述存储器1002的模拟CMOS时间作为系统时间;
所述处理器1001,还用于读取所述存储器1002的本地模拟CMOS时间作为系统时间。
所述处理器1001,还用于检测所述系统时间是否变化为新的系统时间。
若检测到所述系统时间变为新的系统时间,所述处理器1001,还用于将所述新的系统时间与所述系统时间的差值,写入在预设位置的时间偏移量中的时间变化项中。
综上所述,本实施例提供的运行有虚拟机的设备,通过检测本次启动是否为第一次启动,若检测到本次启动为第一次启动,则获取被用户设置的时区作为当前所在时区,将所述当前所在时区相对于UTC时间的时差写入在预设位置的时间偏移量中的时区信息项,将虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间;所述将虚拟化平台时间与所述时间偏移量相加的结果作为系统时间之后,还通过检测所述系统时间是否变化为新的系统时间,并将所述新的系统时间与所述系统时间的差值写入在预设位置的时间偏移量的时间变化项,以便再次启动时可以直接读取时间偏移量,将所述获取到的虚拟化平台时间作为UTC时间与所述读取到的时间偏移量相加,得到正确的系统时间。解决了现有方案获取的系统时间不准确的问题;达到了在虚拟化平台下,虚拟机所显示的系统时间与当地时间一致的效果。
作为上一实施例的更为优选的实施例,所述处理器1001和存储器1002还可以具有如下功能:
述处理器1001,用于在启动时获取虚拟化平台时间,所述虚拟化平台时间等于协调世界时UTC时间。
所述处理器1001,还用于检测本次启动是否为第一次启动。
若检测到本次启动是第一次启动,所述处理器1001还用于获取被设置的时区作为当前所在时区。
若检测到本次启动不是第一次启动,所述处理器1001,还用于获取被设置的时区作为当前所在时区。
所述处理器1001,还用于将当前所在时区相对于UTC时间的时差写入在预设位置的时间偏移量的时区信息项中。
所述处理器1001,还用于获取启动时间,所述启动时间为本次启动到启动完毕所花费的时间。
所述处理器1001,还用于将所述启动时间写入在预设位置的所述时间偏移量的启动时间项中。
所述处理器1001,还用于将所述虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间。
若检测到本次启动不是第一次启动,所述处理器1001,还用于获取启动时间,所述启动时间为本次启动到启动完毕所花费的时间。
所述处理器1001,还用于将所述时间偏移量的启动时间项中的启动时间更新为本次启动获取到的启动时间。
所述处理器1001,还用于在所述存储器1002的预设位置读取时间偏移量,所述时间偏移量包括时区信息项、时间变化项和启动时间项,所述时区信息项为当前所在时区相对于UTC时间的时差;所述时间变化项为上次启动时系统时间变化值,所述启动时间项为更新后的启动时间,所述预设位置可以在虚拟化平台所能访问的存储设备上的该虚拟机的配置文件里。
所述处理器1001,还用于将所述虚拟化平台时间作为UTC时间与所述时间偏移量相加得到系统时间;具体的,所述处理器1001,用于将所述虚拟化平台时间作为UTC时间与所述时间偏移量相加,并将相加的结果写入所述存储器1002的模拟CMOS时间中;所述处理器1001,还用于读取所述存储器1002的模拟CMOS时间作为系统时间;
所述处理器1001,还用于读取所述存储器1002的本地模拟CMOS时间作为系统时间。
所述处理器1001,还用于检测所述系统时间是否变化为新的系统时间。
若检测到所述系统时间变为新的系统时间,所述处理器1001,还用于将所述新的系统时间与所述系统时间的差值,写入在预设位置的时间偏移量中的时间变化项中。
综上所述,本实施例提供的运行有虚拟机的设备,通过检测本次启动是否为第一次启动,若检测到本次启动为第一次启动,则获取被用户设置的时区作为当前所在时区,将所述当前所在时区相对于UTC时间的时差写入在预设位置读取时间偏移量中的时区信息项;同时获取本次启动到启动完毕所花费的时间为启动时间,将所述启动时间写入在预设位置的所述时间偏移量的启动时间项;将所述虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间;所述将虚拟化平台时间与所述时间偏移量相加的结果作为系统时间之后,还通过检测所述系统时间是否变化为新的系统时间,并将所述新的系统时间与所述系统时间的差值写入在预设位置的时间偏移量的时间变化项,以便再次启动时可以直接读取时间偏移量,将所述获取到的虚拟化平台时间作为UTC时间与所述读取到的时间偏移量相加,得到正确的系统时间。解决了现有方案获取的系统时间不准确的问题;达到了在虚拟化平台下,虚拟机所显示的系统时间与当地时间一致的效果。
需要说明的是:上述实施例提供的虚拟机系统时间确定装置在进行虚拟机系统时间确定时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的虚拟机系统时间确定方法、装置及设备实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (13)

1.一种虚拟机系统时间确定方法,其特征在于,所述方法包括:
在启动时获取虚拟化平台时间,所述虚拟化平台时间等于协调世界时UTC时间;
在预设位置读取时间偏移量,所述时间偏移量包括时区信息项,所述时区信息项用于记录当前所在时区相对于所述UTC时间的时差;
将所述虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间。
2.根据权利要求1所述的虚拟机系统时间确定方法,其特征在于,所述在预设位置读取时间偏移量之前,还包括:
检测本次启动是否为第一次启动;
若检测到本次启动是第一次启动,则获取被设置的时区作为当前所在时区;
将所述当前所在时区相对于所述UTC时间的时差写入在预设位置的所述时间偏移量的时区信息项中;
将所述虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间;
若检测到本次启动不是第一次启动,则执行所述在预设位置读取时间偏移量的步骤。
3.根据权利要求2所述的虚拟机系统时间确定方法,其特征在于,所述时间偏移量还包括有启动时间项,所述若检测到本次启动是第一次启动之后,所述将所述虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间之前,还包括:
获取启动时间,所述启动时间为本次启动到启动完毕所花费的时间;
将所述启动时间写入在预设位置的所述时间偏移量的启动时间项中。
4.根据权利要求3所述的虚拟机系统时间确定方法,其特征在于,所述若检测到本次启动不是第一次启动之后,所述在预设位置读取时间偏移量之前,还包括:
获取启动时间,所述启动时间为本次启动到启动完毕所花费的时间;
将所述时间偏移量的启动时间项中的启动时间更新为本次启动获取到的启动时间。
5.根据权利要求1至4任一所述的虚拟机系统时间确定方法,其特征在于,所述将所述虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间,包括:
将所述虚拟化平台时间与所述时间偏移量中的所有项相加,并将相加的结果写入本地的模拟CMOS时间中;
读取所述本地的模拟CMOS时间作为系统时间。
6.根据权利要求1至4任一所述的虚拟机系统时间确定方法,所述时间偏移量还包括时间变化项,其特征在于,所述将所述虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间之后,还包括:
检测所述系统时间是否变化为新的系统时间;
若检测到所述系统时间变化为新的系统时间,则将所述新的系统时间与所述系统时间的差值写入所述在预设位置的时间偏移量的时间变化项中。
7.一种虚拟机系统时间确定装置,其特征在于,所述装置包括:
时间获取模块,用于在启动时获取虚拟化平台时间,所述虚拟化平台时间等于协调世界时UTC时间;
偏移量读取模块,用于在预设位置读取时间偏移量,所述时间偏移量包括时区信息项,所述时区信息项用于记录当前所在时区相对于所述UTC时间的时差;
时间累加模块,用于将所述时间获取模块获取到的虚拟化平台时间与所述偏移量读取模块读取到的时间偏移量相加,并将相加的结果作为系统时间。
8.根据权利要求7所述的虚拟机系统时间确定装置,其特征在于,所述装置,还包括:
启动检测模块、时区获取模块、时间计算模块和偏移量写入模块;
所述启动检测模块,用于检测本次启动是否为第一次启动;
所述时区获取模块,用于若所述启动检测模块检测到本次启动是第一次启动,则获取被设置的时区作为当前所在时区;
所述时间计算模块,用于将所述虚拟化平台时间与所述时间偏移量相加,并将相加的结果作为系统时间;
所述偏移量写入模块,用于将所述当前所在时区相对于所述UTC时间的时差写入在预设位置的所述时间偏移量的时区信息项中;
所述偏移量读取模块,用于若所述启动检测模块检测到本次启动不是第一次启动,则执行所述在预设位置读取时间偏移量的步骤。
9.根据权利要求8所述的虚拟机系统时间确定装置,其特征在于,所述装置,还包括:启动获取模块;
所述启动获取模块,用于获取启动时间,所述启动时间为本次启动到启动完毕所花费的时间;
所述偏移量写入模块,还用于将所述启动获取模块获取到的启动时间写入在预设位置的所述时间偏移量的启动时间项中。
10.根据权利要求9所述的虚拟机系统时间确定装置,其特征在于,所述装置,还包括:启动更新模块;
所述启动获取模块,用于获取启动时间,所述启动时间为本次启动到启动完毕所花费的时间;
所述启动更新模块,用于将所述时间偏移量的启动时间项中的启动时间更新为本次启动所述启动获取模块获取到的启动时间。
11.根据权利要求7至10任一所述的虚拟机系统时间确定装置,其特征在于,所述时间累加模块,包括:
时间写入单元和时间读取单元;
所述时间写入单元,用于将所述虚拟化平台时间与所述时间偏移量中的所有项相加,并将相加的结果写入本地的模拟CMOS时间中;
所述时间读取单元,用于读取所述时间写入单元写入的本地的模拟CMOS时间作为系统时间。
12.根据权利要求7至10任一所述的虚拟机系统时间确定装置,其特征在于,所述装置,还包括:
时间检测模块;
所述时间检测模块,用于检测所述系统时间是否变化为新的系统时间;
所述偏移量写入模块,还用于若检测到所述系统时间变化为新的系统时间,则将所述新的系统时间与所述系统时间的差值写入所述在预设位置的时间偏移量的时间变化项中。
13.一种运行有虚拟机的设备,包括如权利要求7到12任一所述的虚拟机系统时间确定装置。
CN201210575962.0A 2012-12-26 2012-12-26 虚拟机系统时间确定方法、装置及设备 Active CN103077067B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201210575962.0A CN103077067B (zh) 2012-12-26 2012-12-26 虚拟机系统时间确定方法、装置及设备
PCT/CN2013/080606 WO2014101414A1 (zh) 2012-12-26 2013-08-01 虚拟机系统时间确定方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210575962.0A CN103077067B (zh) 2012-12-26 2012-12-26 虚拟机系统时间确定方法、装置及设备

Publications (2)

Publication Number Publication Date
CN103077067A true CN103077067A (zh) 2013-05-01
CN103077067B CN103077067B (zh) 2016-03-30

Family

ID=48153604

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210575962.0A Active CN103077067B (zh) 2012-12-26 2012-12-26 虚拟机系统时间确定方法、装置及设备

Country Status (2)

Country Link
CN (1) CN103077067B (zh)
WO (1) WO2014101414A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014101414A1 (zh) * 2012-12-26 2014-07-03 华为技术有限公司 虚拟机系统时间确定方法、装置及设备
CN105260227A (zh) * 2015-09-29 2016-01-20 联想(北京)有限公司 一种数据修正方法及电子设备
WO2017166950A1 (zh) * 2016-03-30 2017-10-05 中兴通讯股份有限公司 一种系统时间设置方法和装置
CN107241365A (zh) * 2017-08-14 2017-10-10 中国电子科技集团公司第二十八研究所 一种云平台时间同步方法
CN107544619A (zh) * 2017-06-27 2018-01-05 新华三云计算技术有限公司 时间同步方法及装置
CN107729123A (zh) * 2017-10-24 2018-02-23 郑州云海信息技术有限公司 虚拟机与宿主机时间时区同步的方法、装置、设备和介质
CN113126694A (zh) * 2021-04-13 2021-07-16 山东英信计算机技术有限公司 计算机管理子系统的对时方法、系统、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110218988A1 (en) * 2010-03-08 2011-09-08 International Business Machines Corporation Determination of applicable time zone of a web browser
CN102413055A (zh) * 2011-12-19 2012-04-11 曙光信息产业(北京)有限公司 一种软硬件结合实现的报文时间戳标记系统和方法
CN102572711A (zh) * 2012-01-21 2012-07-11 中广传播集团有限公司 一种终端时钟与外部时钟的差距同步方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101470203A (zh) * 2007-12-26 2009-07-01 英业达股份有限公司 更新时间的方法
US10521265B2 (en) * 2008-09-19 2019-12-31 Microsoft Technology Licensing, Llc Coalescing periodic timer expiration in guest operating systems in a virtualized environment
CN102833843B (zh) * 2012-07-27 2015-06-17 华为技术有限公司 接入控制器与接入点的本地时间统一方法、接入控制器、接入点以及无线局域网络系统
CN103077067B (zh) * 2012-12-26 2016-03-30 华为技术有限公司 虚拟机系统时间确定方法、装置及设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110218988A1 (en) * 2010-03-08 2011-09-08 International Business Machines Corporation Determination of applicable time zone of a web browser
CN102413055A (zh) * 2011-12-19 2012-04-11 曙光信息产业(北京)有限公司 一种软硬件结合实现的报文时间戳标记系统和方法
CN102572711A (zh) * 2012-01-21 2012-07-11 中广传播集团有限公司 一种终端时钟与外部时钟的差距同步方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014101414A1 (zh) * 2012-12-26 2014-07-03 华为技术有限公司 虚拟机系统时间确定方法、装置及设备
CN105260227A (zh) * 2015-09-29 2016-01-20 联想(北京)有限公司 一种数据修正方法及电子设备
CN105260227B (zh) * 2015-09-29 2019-04-26 联想(北京)有限公司 一种数据修正方法及电子设备
WO2017166950A1 (zh) * 2016-03-30 2017-10-05 中兴通讯股份有限公司 一种系统时间设置方法和装置
CN107544619A (zh) * 2017-06-27 2018-01-05 新华三云计算技术有限公司 时间同步方法及装置
CN107544619B (zh) * 2017-06-27 2020-05-12 新华三云计算技术有限公司 时间同步方法及装置
CN107241365A (zh) * 2017-08-14 2017-10-10 中国电子科技集团公司第二十八研究所 一种云平台时间同步方法
CN107729123A (zh) * 2017-10-24 2018-02-23 郑州云海信息技术有限公司 虚拟机与宿主机时间时区同步的方法、装置、设备和介质
CN113126694A (zh) * 2021-04-13 2021-07-16 山东英信计算机技术有限公司 计算机管理子系统的对时方法、系统、设备及存储介质
CN113126694B (zh) * 2021-04-13 2023-08-04 山东英信计算机技术有限公司 计算机管理子系统的对时方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN103077067B (zh) 2016-03-30
WO2014101414A1 (zh) 2014-07-03

Similar Documents

Publication Publication Date Title
CN103077067A (zh) 虚拟机系统时间确定方法、装置及设备
US10990257B2 (en) Object displaying method, terminal device, and computer storage medium
CN103412644B (zh) 附属设备架构
RU2613025C1 (ru) Способ и устройство для управления вращением экрана
JP5857374B2 (ja) データ収集方法および装置並びに移動端末
CN108024079A (zh) 录屏方法、装置、终端及存储介质
CN102541450B (zh) 一种应用程序图标的显示控制方法及装置
CN103135921A (zh) 电子设备及触摸操作处理方法
CN104267981B (zh) 一种加载桌面上的应用布局的方法及装置
CN102053814A (zh) 用于控制图像处理器的方法、机器可读存储介质和计算机
CN103827820A (zh) 管理计算设备的数据使用
CN103383620A (zh) 在移动终端上显示帮助信息的方法及移动终端
CN103309566A (zh) 显示控制装置和显示控制方法
CN104424122A (zh) 一种电子设备及内存划分方法
CN103106007A (zh) 一种图标显示方法及装置
CN109547647A (zh) 静电干扰控制方法及相关产品
CN102023836A (zh) 移动终端矢量地图的显示方法及移动终端
CN104461231A (zh) 信息显示控制装置以及信息显示控制方法
CN105023285A (zh) 图片拆分方法和装置、图片加载方法和装置
CN104731401A (zh) 图形输入友好功能选择的方法和装置
CN104461603B (zh) 一种信息处理方法及电子设备
CN104020972A (zh) 背景显示方法、装置及电子设备
CN101947386A (zh) 基于空间位置推算技术玩音乐指挥家类游戏的实现方法和装置
CN106201564A (zh) 在线升级基于内核虚拟机模块的设备和方法
CN102385453A (zh) 信息处理装置及其控制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191213

Address after: 314400 No.11, Weisan Road, Nongfa District, Chang'an Town, Haining City, Jiaxing City, Zhejiang Province

Patentee after: Haining hi tech Zone Science and Innovation Center Co.,Ltd.

Address before: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee before: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Effective date of registration: 20191213

Address after: 510000 unit 2414-2416, building, No. five, No. 371, Tianhe District, Guangdong, China

Patentee after: GUANGDONG GAOHANG INTELLECTUAL PROPERTY OPERATION Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.