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

文档序号:9506037阅读:来源:国知局
和恢复操作之间的间隔时间,此时,可以对下一优先级的待选时间源进行验证,以确定能够准确表示该间隔时间的目标时间源。
[0099]步骤S303:获取该本地时间源所在系统的第五当前运行时间和第五本地系统时间。
[0100]步骤S304:计算第三当前运行时间和第五当前运行时间的第一时间差值,以及第三本地系统时间和第五本地系统时间的第二时间差值。
[0101]步骤S305:判断该第一时间差值是否小于该第二时间差值,若否,执行步骤S306 ;若是,执行步骤S307。
[0102]步骤S306:选定该本地时间源为目标时间源,并基于所述第二时间差值,更新所述虚拟机的虚拟时间源的当前时间。
[0103]在上述步骤S305的判断结果为否时,说明该本地时间源所在物理机并未重启,其是可用的,此时,上述第一时间差值和第二时间差值通常情况下是相等的,可作为目标时间差更新该虚拟机的系统时间。
[0104]步骤S307:获取各第三方时间源所在系统的第六当前运行时间和第六本地系统时间。
[0105]需要说明的是,上述第三当前运行时间、第四当前运行时间、第五当前运行时间以及第六当前运行时间表示的可以是对应待选时间源所在物理机相应时刻的运行时间。
[0106]步骤S308:计算第四当前运行时间和第六当前运行时间的第三时间差值,以及第四本地系统时间以及第六本地系统时间的第四时间差值。
[0107]步骤S309:判断至少三个第三方时间源对应的第三时间差值是否小于第四时间差值,若否,进入步骤S310 ;若是,结束流程。
[0108]在本实施例中,结合上述分析可知,对于任何一个第三方时间源,若其对应的第三时间差值小于第四时间差值,说明该第三方时间差值所在的物理机发生过重启,该第三方时间源是不可用的。所以,本实施例通过这种方式可在至少三个第三方时间源中确定可用的第三方时间源。
[0109]步骤S310:计算所有第三时间差值不小于第四时间差值的所有第三方时间源对应的第四时间差值的平均值,并基于该计算结果,更新虚拟机的虚拟时间源的当前时间。
[0110]综上所述,本实施例在考虑虚拟机进行备份和恢复操作过程中的时间漂移问题的同时,进一步考虑到了用于解决该时间漂移问题的目标时间源的时间差值信息的可用性问题,即该目标时间源的可用性问题,从而避免所选用的目标时间不可用而导致所得目标时间差值不准确,进而导致对虚拟机的系统时间的校正不准确。针对这种情况,本实施例在选择目标时间源时,可按照上述验证规则以及多个待选时间源的优先级,逐级验证各待选时间源是否可用,在确定该待选时间源可用后,才会利用基于其输出时间获得的时间差值,实现对虚拟机系统时间的校正,从而保证该虚拟机的输出时间的可靠性。
[0111]基于上述分析可知,本实施例提供的这种数据修正方法是否执行,与虚拟机进行备份操作和恢复操作的间隔时间的长短无关,且与当前虚拟化环境中是否构建有NTP服务器也无关,也就是说,无论当前虚拟化环境中是否构建NTP服务器,当前产生的时间漂移的数值多大,都可以利用本实施例提供的数据修正方法对虚拟机的系统时间进行校正,确保其输出时间信息准确、可靠。
[0112]如图4所示,为本申请提供的一种电子设备实施例的结构示意图,该电子设备可以包括:
[0113]时间保存装置410,用于在检测到虚拟机进行备份操作时,保存读取到的多个待选时间源各自的第一当前时间。
[0114]其中,本实施例的多个待选时间源可以包括本地时间源以及至少三个第三方时间源,而且,对于读取到的各待选时间源的第一当前时间,可以在虚拟机状态信息文件中,以供后续调用。
[0115]时间恢复装置420,用于在检测到所述虚拟机对所述备份操作的备份内容进行恢复操作,按照第一预设规则,从所述多个待选时间源中选定目标时间源,读取所述目标时间源的第二当前时间,比较所述目标时间源的第一当前时间和第二当前时间,获得目标时间差值,并基于所述目标时间差值,更新所述虚拟机的虚拟时间源的当前时间。
[0116]可选的,在本实施例实际应用中,该时间恢复装置420可以包括:
[0117]第一验证模块421,用于按照第一预设标准,验证所述本地时间源是否可用。
[0118]具体的,可先验证虚拟机进行备份操作和恢复操作是否在同一个物理机上完成的,若不是,说明该本地时间源不可用;若是,还需要进一步验证在虚拟机从开始备份到恢复所备份内容期间,本地时间源所在物理机是否发生过重启,若是,需要验证其他时间源是否可用;若否,说明该本地时间源可用,可以作为目标时间源。
[0119]其中,关于验证物理机是否重启的具体方法可参照上述方法实施例对应部分的描述,本实施在此不再赘述。
[0120]第二验证模块422,用于在所述第一验证模块的验证结果为否时,验证所述至少三个第三方时间源中是否存在可用的第三方时间源。
[0121]在本实施例中,对于每一个第三方时间源来说,可通过验证虚拟机从开始备份到恢复所备份内容期间,其所在物理机是否发生过重启,若是,说明该第三方时间源不可用,反之,说明该本地时间源可用。其中,关于验证物理机是否发生重启的方法可参照上述方法实施例对应部分的描述,本实施例在此不再赘述。
[0122]目标选定模块423,用于在所述第一验证模块的验证结果为是时,选定所述本地时间源为目标时间源;在所述第二验证模块的验证结果为是时,按照预设优先级,选定一个或多个所述可用的第三方时间源为目标时间源。
[0123]可选的,在上述各实施例的基础上,该时间恢复装置420还可以包括:
[0124]数据传输模块,用于所述检测到虚拟机进行备份操作时,获取每个所述待选时间源所在系统的第一当前运行时间和第一本地系统时间;在所述检测到所述虚拟机对所述备份操作的备份内容进行恢复操作时,获取每个所述待选时间源所在系统的第二当前运行时间和第二本地系统时间
[0125]则所述第一验证模块421和所述第二验证模块423均具体用于计算所述第一当前运行时间和所述第二当前运行时间的第一时间差值,以及所述第一本地系统时间和所述第二本地系统时间的第二时间差值;判断所述第一时间差值是否小于所述第二时间差值。
[0126]其中,若选的的目标时间源是多个可用的第三方时间源,则计算得到每一个第三方时间源对应的时间差值后,可以计算所得时间差值的平均值,并将所得平均时间差作为目标时间差,对虚拟机的系统时间进行更新。
[0127]综上所述,本实施例在检测到虚拟机进行备份操作时,该虚拟机将暂停运行,此时将读取多个待选时间源各自的第一当前时间并保存,当检测到该虚拟机对该备份操作的备份内容进行恢复操作时,按照第一预设规则,从这多个待选时间源中选定目标时间源,读取该目标时间源的第二当前时间,并将其与备份操作时保存的该目标时间源的第一当前时间进行比较,从而获得从备份操作到恢复操作过程的目标时间差值,即虚拟机暂停时间,此时,无论虚拟机暂停时间多长,当前虚拟化环境是否构建有NTP服务器,本申请都会利用该目标时间差值,对虚拟机的系统时间进行准确校正,以解决虚拟机进行备份和恢复操作时产生的时间漂移问题。可见,本申请提供的数据修正方法及电子设备的实现过程并不受时间漂移的数值大小以及当前虚拟化环境是否构建NTP服务器等条件的限制,在各种虚拟化环境中都能够保证虚拟机输出时间准确、可靠,使得该方法及电子设备具有很广的应用范围。
[0128]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个装置、模块或者操作与另一个装置、模块或操作区分开来,而不一定要求或者暗示这些装置、模块或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1