一种数据修正方法及电子设备的制造方法

文档序号:9506037阅读:387来源:国知局
一种数据修正方法及电子设备的制造方法
【技术领域】
[0001]本发明主要涉及虚拟化技术领域,更具体地说是涉及一种数据修正方法及电子设备。
【背景技术】
[0002]虚拟机的在线迀移技术是指将在源物理主机上运行的虚拟机操作系统及应用程序移动到目标物理主机上或虚拟机上,并在该目标物理主机上正常运行,无需中断物理主机,从而提高了物理主机工作的可靠性。
[0003]基于此,在实际应用中,尤其是在系统的备份和恢复应用中,当检测到有不稳定表现的物理服务器时,由于虚拟机的高可靠性这一特性,可直接将虚拟机动态迀离,这并不会影响该虚拟机中应用或服务的运行;且在分布式虚拟化环境中,可以将位于高负载物理服务器上的虚拟机动态迀移到低负载的物理服务器上,从而实现分布式环境中的负载平衡。
[0004]由此可见,虚拟机的在线迀移技术在系统的备份和恢复应用中非常实用,然而,当虚拟机从之前备份的状态文件中恢复时,由于其系统时间和真实系统时间之间会产生时间漂移,因而,现有技术中通常会使用NTP服务器及时校正虚拟机的系统时间,以保证其时间信息的正确性。
[0005]然而,在实际应用中,并不是所有虚拟化环境都搭建有NTP服务器,且其必须要连接外网才能进行时间校正,还要求虚拟机的备份操作和恢复操作的间隔时间不能太长,否则将导致时间漂移数值过大,该NTP服务器将停止时间校正,由此可见,如何解决各虚拟化环境中的时间漂移问题,以保证虚拟机输出时间可靠,成为目前亟需解决的问题。

【发明内容】

[0006]有鉴于此,本发明提供了一种数据修正方法及电子设备,解决了现有的数据修正方法要求当前虚拟环境必须构建NTP服务器,且能够连接外网,还要求在该虚拟化环境中进行的备份和恢复操作的间隔时间较短的前提下,才能使用该NTP服务器校正虚拟机输出时间,应用非常局限,只要其中任意一条不满足都无法解决该虚拟化环境中的时间漂移问题,从而无法保证虚拟机输出时间的准确性和可靠性。
[0007]为了实现上述目的,本申请提供了以下技术方案:
[0008]一种数据修正方法,所述方法包括:
[0009]检测到虚拟机进行备份操作,读取多个待选时间源各自的第一当前时间并保存;
[0010]检测到所述虚拟机对所述备份操作的备份内容进行恢复操作,按照第一预设规贝1J,从所述多个待选时间源中选定目标时间源,并读取所述目标时间源的第二当前时间;
[0011]比较所述目标时间源的第一当前时间和第二当前时间,获得目标时间差值;
[0012]基于所述目标时间差值,更新所述虚拟机的虚拟时间源的当前时间。
[0013]优选的,若所述多个待选时间源包括本地时间源和至少三个第三方时间源,则所述按照第一预设规则,从所述多个待选时间源中选定目标时间源包括:
[0014]按照第一预设标准,验证所述本地时间源是否可用;
[0015]在所述本地时间源可用时,选定所述本地时间源为目标时间源;
[0016]在所述本地时间源不可用时,验证所述至少三个第三方时间源中是否存在可用的第三方时间源;
[0017]当所述至少三个第三方时间源中存在可用的第三方时间源,按照预设优先级,选定一个或多个所述可用的第三方时间源为目标时间源。
[0018]优选的,按照以下方法验证所述待选时间源是否可用,所述待选时间源具体是所述本地时间源或所述第三方时间源:
[0019]验证从发生所述备份操作到进行所述恢复操作期间,所述待选时间源所在物理机是否发生过重启;
[0020]则所述待选时间源不可用包括:
[0021]从发生所述备份操作到进行所述恢复操作期间,所述待选时间源所在物理机发生过重启。
[0022]优选的,当所述待选时间源具体是本地时间源时,在验证从发生所述备份操作到进行所述恢复操作期间,所述待选时间源所在物理机是否发生过重启之前,所述方法还包括:
[0023]验证所述恢复操作和所述备份操作是否在同一个物理机上进行;
[0024]当所述恢复操作与所述备份操作在同一个物理机上进行,执行所述验证从发生所述备份操作到进行所述恢复操作期间,所述待选时间源所在物理机是否发生过重启步骤;
[0025]则所述本地时间源可用具体为:
[0026]所述恢复操作与所述备份操作在同一个物理机上进行,且从发生所述备份操作到进行所述恢复操作期间所述物理机未发生过重启;
[0027]所述本地时间源不可用具体为:
[0028]所述恢复操作与所述备份操作不在同一个物理机上;或者,所述恢复操作与所述备份操作在同一个物理机上进行,但所述物理机在从发生所述备份操作到进行所述恢复操作期间发生过重启。
[0029]优选的,当选定多个可用的第三时间源为目标时间源时,所述比较所述目标时间源的第一当前时间和第二当前时间,获得目标时间差值包括:
[0030]比较每一个可用的第三方时间源的第一当前时间和第二当前时间,获得所述每一个可用的第三时间源对应的时间差值;
[0031]计算所获得的所述多个可用的第三方时间源对应的时间差值的平均值,将计算得到的平均时间差值作为目标时间差值。
[0032]优选的,在所述检测到虚拟机进行备份操作时,所述方法还包括:
[0033]获取每个所述待选时间源所在系统的第一当前运行时间和第一本地系统时间;
[0034]在所述检测到所述虚拟机对所述备份操作的备份内容进行恢复操作时,所述方法还包括:
[0035]获取每个所述待选时间源所在系统的第二当前运行时间和第二本地系统时间;
[0036]则所述验证从发生所述备份操作到进行所述恢复操作期间,所述待选时间源所在物理机是否发生过重启包括:
[0037]计算所述第一当前运行时间和所述第二当前运行时间的第一时间差值,以及所述第一本地系统时间和所述第二本地系统时间的第二时间差值;
[0038]判断所述第一时间差值是否小于所述第二时间差值;
[0039]则所述从发生所述备份操作到进行所述恢复操作期间,所述待选时间源所在物理机发生过重启具体为:
[0040]所述第一时间差值小于所述第二时间差值。
[0041]优选的,所述基于所述目标时间差值,更新所述虚拟机的虚拟时间源的当前时间具体为:
[0042]在所述虚拟机完成所述恢复操作且接收到第一次时钟中断信号时,利用所述目标时间差值对系统时间全局变量进行增量更新。
[0043]—种电子设备,所述电子设备包括:
[0044]时间保存装置,用于在检测到虚拟机进行备份操作时,保存读取到的多个待选时间源各自的第一当前时间;
[0045]时间恢复装置,用于在检测到所述虚拟机对所述备份操作的备份内容进行恢复操作,按照第一预设规则,从所述多个待选时间源中选定目标时间源,读取所述目标时间源的第二当前时间,比较所述目标时间源的第一当前时间和第二当前时间,获得目标时间差值,并基于所述目标时间差值,更新所述虚拟机的虚拟时间源的当前时间。
[0046]优选的,若所述多个待选时间源包括本地时间源和至少三个第三方时间源,所述时间恢复装置包括:
[0047]第一验证模块,用于按照第一预设标准,验证所述本地时间源是否可用;
[0048]第二验证模块,用于在所述第一验证模块的验证结果为否时,验证所述至少三个第三方时间源中是否存在可用的第三方时间源;
[0049]目标选定模块,用于在所述第一验证模块的验证结果为是时,选定所述本地时间源为目标时间源;在所述第二验证模块的验证结果为是时,按照预设优先级,选定一个或多个所述可用的第三方时间源为目标时间
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1