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

文档序号:9506037阅读:来源:国知局
得到的时间差值信息的准确性的角度考虑,在进行上述恢复操作时,可按照本地时间源、第三方时间源的顺序,设置对这多个待选时间源的优先级,但并不局限于此。
[0073]由此可见,若该上述多个待选时间源包括本地时间源和至少三个第三方时间源,如图2所示,本申请可以按照下述步骤选择目标时间源:
[0074]步骤201:按照第一预设标准,验证本地时间源是否可用,若可用,执行步骤S202 ;若不可用,执行步骤S203。
[0075]在本实施例中,不可用的时间源可知是指输出时间信息无法准确计算出虚拟机进行备份和恢复操作的时间差,并不一定是指该时间源故障。
[0076]基于此,对于本地时间源来说,若虚拟机进行的备份操作和恢复操作不是在同一个物理机上进行,或者说,两者是在同一个物理机上进行,但是在此期间该物理机发生过重启等情况,都会导致基于该本地时间源得到的时间差值信息不准确,也就是说,发生这种情况时,该本地时间源就是不可用的。也就是说,如该本地时间源可用,虚拟机所进行的恢复操作与所述备份操作在同一个物理机上进行,且从发生所述备份操作到进行所述恢复操作期间该物理机未发生过重启。
[0077]而对于第三方时间源来说,在虚拟机从开始进行备份操作到完成恢复操作的期间,若其所在物理机发生过重启,也会导致基于该第三方时间源得到的时间差值信息不准确,即这种情况下,该第三方时间源就是不可用的。其中,在本实施例中,为了避免在虚拟机从开始备份到完成恢复操作的期间,没有一个可用的时间源,本实施例可选择至少三个第三方时间源作为待选时间源,同时,本实施例选择至少三个第三方时间源也提高了所得时间差值信息的可信度。
[0078]由此可见,无论哪种待选时间源,只要其所在物理机发生过重启,该待选时间源就不可用了,而本地时间源还需要判断虚拟机是否在同一个物理机上执行备份和恢复操作,才能确定该本地时间源是否可用。所以,在本实施例中,待选时间源不可用可以包括:从虚拟机发生备份操作到进行恢复操作期间,该待选时间源所在物理机发生过重启。其中,判断待选时间源是否可用的具体过程可参照下文描述,本实施在此不再详述。
[0079]步骤S202:选定所述本地时间源为目标时间源。
[0080]步骤S203:验证所述至少三个第三方时间源中是否存在可用的第三方时间源,若存在,执行步骤S204 ;若不存在,结束流程。
[0081]如上述描述,按照预设待选时间源的优先级,当需要得知虚拟机从开始执行备份操作到完成恢复操作的时间差时,本实施例将先验证本地时间源是否可用,在该本地时间源不可用的情况下,才会从第三方时间源中选取可用的第三方时间源作为目标时间源。
[0082]步骤S204:按照预设优先级,选定一个或多个所述可用的第三方时间源为目标时间源。
[0083]在本实施例中,对于预先选定的第三方时间源也可以设定优先级,具体可以依据这些第三方时间源向该虚拟机传输时间差信息的传输方式决定,但并不局限于此。
[0084]可选的,在本实施例中,在判断本地时间源和第三方时间源是否可用时,所涉及到的判断所在物理机是否重启的过程类似,在此之前,具体是在虚拟机进行备份操作时,需要获得每个待选时间源所在系统的第一当前运行时间和第一本地系统时间,并在检测到所述虚拟机对所述备份操作的备份内容进行恢复操作时,获取每个所述待选时间源所在系统的第二当前运行时间和第二本地系统时间,在该条件下,验证从发生所述备份操作到进行所述恢复操作期间,待选时间源所在物理机是否发生过重启的步骤具体可以包括:
[0085]计算所述第一当前运行时间和所述第二当前运行时间的第一时间差值,以及所述第一本地系统时间和所述第二本地系统时间的第二时间差值;判断所述第一时间差值是否小于所述第二时间差值,若是,说明该待选时间源所在物理机发生过重启,其是不可用的;若否,将针对该待选时间源具体类型,确定该待选时间源是否可用。如若该待选时间源此时是指本地时间源,那么在此之前,还需要验证虚拟机的备份操作和恢复操作是否是在同一个物理机上进行的,若是,才需要进一步验证该物理机在此期间是否发生过重启,若否,说明该本地时间源不可用,并不需要进行后续验证。
[0086]步骤S130:比较所述目标时间源的第一当前时间和第二当前时间,获得目标时间差值。
[0087]由于待选时间源的时间更新情况并不会受虚拟机是否工作的影响,也就是说,在虚拟机完成备份而暂停后,该待选时间源仍然在更新其时间信息,所以,本实施例获得目标时间源从虚拟机进行备份操作开始,到该虚拟机针对该备份操作所备份内容完成恢复操作时的时间信息,其实际上就是该虚拟机从备份操作到恢复操作的暂停时间。
[0088]可选的,若选定的目标时间源是多个可用的第三方时间源,在利用每一个第三方时间源的第一当前时间和第二当前时间,获得每一个第三方时间源的时间差值后,可计算这多个可用的第三方时间源对应的时间差值的平均值,并将计算得到的平均时间差值作为目标时间差值,以进行后续步骤。需要说明的是,在目标时间源是多个可用时间源的情况下,获得目标时间差值的方式并不局限于这种方式。
[0089]步骤S140:基于所述目标时间差值,更新所述虚拟机的虚拟时间源的当前时间。
[0090]基于上述描述内容可知,本实施例所得目标时间差实际上就是虚拟机进行备份和恢复操作之间的时间差值,因此,在该虚拟机完成针对其备份操作所备份的内容的恢复操作时,将利用该目标时间差值对该虚拟机的虚拟时间源进行增量更新,从而使其更新后的时间准确,满足用户的需求。
[0091]其中,在本实施例实际应用中,在得到目标时间差值后,具体可以在虚拟机完成所述恢复操作且接收到第一次时钟中断信号时,利用该目标时间差值对系统时间全局变量进行增量更新,但并不局限于此。
[0092]由此可见,本实施例不仅考虑到了虚拟机进行备份和恢复操作过程中的时间漂移问题,实现了对虚拟机的系统时间的准确校正,确保其输出时间信息准确、可靠;而且,本实施例提供的数据修正方法对虚拟机的虚拟时间源进行更新时,并不需要其所在环境构建NTP服务器,不受时间漂移的数值大小的影响,所以,无论虚拟机进行备份和恢复操作间隔时间多长,当前虚拟化环境中是否构建有NTP服务器,都能够在虚拟机进行恢复操作时对该虚拟机的系统时间进行准确校正,增大了本申请技术方案的应用范围。
[0093]如图3所示,为本申请提供的一种数据修正方法具体实施例的流程示意图,该方法可以包括:
[0094]步骤S301:在检测到虚拟机进行备份操作时,获取本地时间源所在系统的第三当前运行时间和第三本地系统时间,以及各第三方时间源所在系统的第四当前运行时间和第四本地系统时间并保存。
[0095]其中,该第三当前运行时间是指当前本地时间源所在物理机的运行时间,正常情况下,物理机的运行时间是与本地系统时间一致,若该物理机重启后,其运行时间将从零开始重新计时,此时,物理机的当前运行时间与当前系统时间不同。
[0096]结合上述分析可知,在确定本地时间不可以用后,将进一步验证是否有可用的第三方时间源,所以,此时还需要获取各第三方时间源所在的系统的第四当前运行时间和第四本地系统时间。
[0097]步骤S302:检测到该虚拟机对该备份操作的备份内容进行恢复操作时,验证该恢复操作和该备份操作是否在同一个物理机上进行,若是,进入步骤S303 ;若否,执行步骤S307o
[0098]在本实施例实际应用中,可以在虚拟机进行备份操作和恢复操作时,获取当前所在物理机的属性信息,这样,通过对该属性进行比较,来验证备份操作和恢复操作是否在同一个物理机上进行,但并不局限这种验证方式。若不在一个物理机上进行,说明该本地时间源不可用,其所得时间差信息不能准确表示虚拟机进行备份
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1