本发明涉及时钟同步,具体涉及时间同步方法、装置、计算机设备及存储介质。
背景技术:
1、存储服务使用和依赖的时间通常为机器的系统时间。系统时间,也就是机器的实时时间,该时间可以被用户修改,在一些故障场景下,也会存在时钟跳变和时钟回退的可能,导致系统时间不再准确,进而影响依赖于系统时间的相关存储服务的可靠性。
技术实现思路
1、有鉴于此,本发明提供了一种时间同步方法、装置、计算机设备及存储介质,以解决系统时间不准确,影响存储服务的可靠性的问题。
2、第一方面,本发明提供了一种时间同步方法,应用于集群中的主监控节点中,该方法包括:
3、每隔第一预设时长,获取主监控节点的当前工作时长以及目标时长;第一预设时长为基于处理器时间进行计时得到的;
4、将当前工作时长与目标时长进行对比;
5、若当前工作时长与目标时长之差大于或等于第二预设时长,则基于第二预设时长,对目标时长进行更新;第二预设时长大于第一预设时长;
6、将更新后的目标时长同步至主监控节点对应的其他监控节点以及服务中。
7、如此,通过对主监控节点的工作时长进行计时和更新,将工作时长作为使用的系统时间,同时同步到其他监控节点和相关服务中,使集群中的节点和相关服务不再依靠原本的系统时间,避免时钟跳变和时钟回退的情况的出现,从而提高系统时间的准确性,提高相关服务的可靠性。
8、在一种可选的实施方式中,目标时长基于预设时间计量单位进行存储;第二预设时长为预设时间计量单位对应的单位时长;
9、基于第二预设时长,对目标时长进行更新,包括:
10、将目标时长加一,以对目标时长进行更新。
11、如此,在第二预设时长与预设时间计量单位对应的单位时长一致时,在每次更新时对目标时长加一,从而完成对目标时长的更新。
12、在一种可选的实施方式中,目标时长基于第一时间计量单位进行存储;第二预设时长为第二时间计量单位对应的单位时长;第二时间计量单位为第一时间计量单位对应的下一级或者下多级时间计量单位;
13、基于第二预设时长,对目标时长进行更新,包括:
14、将目标时长增加第一预设值,以对目标时长进行更新;第一预设值为第二预设时长换算到第一时间计量单位下的时间值。
15、如此,在第二预设时间为第一时间计量单位的下级时间计量单位对应的单位时长时,在每次更新时对目标时长增加第一预设值,从而完成对目标时长的更新。
16、在一种可选的实施方式中,该方法还包括:
17、响应于系统启动信号,将目标时长设置为初始值;
18、若目标时长为初始值或者未获取到目标时长,则获取目标时长对应的历史系统时间;历史系统时间为主监控节点在上一次存储目标时长时记录的系统时间;系统时间为主监控节点的实时时间;
19、获取当前系统时间,并将当前系统时间与历史系统时间进行对比;
20、若当前系统时间与历史系统时间之差大于或等于第三预设时长,则基于第三预设时长,对目标时长进行更新;
21、若当前系统时间与历史系统时间之差小于第三预设时长,则间隔第四预设时长,获取当前系统时间,并将当前系统时间与历史系统时间进行对比,直到当前系统时间与历史系统时间之差大于或等于第三预设时长,基于第三预设时长,对目标时长进行更新;第四预设时长为基于处理器时间进行计时得到的时间;
22、将更新后的目标时长同步至主监控节点对应的其他监控节点以及服务中。
23、如此,在主监控节点刚启动或者重启之后,通过主监控节点原本的系统时间对目标时长进行更新。
24、在一种可选的实施方式中,目标时长基于第三时间计量单位进行存储;第三预设时长为第四时间计量单位对应的单位时长;第四时间计量单位为第三时间计量单位对应的下一级或者下多级时间计量单位;
25、基于第三预设时长,对目标时长进行更新,包括:
26、将目标时长在初始值的基础上增加第二预设值,以更新目标时长;第二预设值为第三预设时长换算到第三时间计量单位下的时间值。
27、如此,在第三预设时长为第三时间计量单位的下级时间计量单位对应的单位时长时,在每次更新时对目标时长增加第二预设值,从而完成对目标时长的更新。
28、在一种可选的实施方式中,该方法还包括:
29、若未获取到历史系统时间,则确定时间更新异常,并生成异常日志。
30、如此,在未获取到历史系统时间的情况下,确定时间更新异常。
31、在一种可选的实施方式中,将更新后的目标时长同步至主监控节点对应的其他监控节点以及服务中,包括:
32、将更新后的目标时长发送到主监控节点对应的其他监控节点中,以在其他监控节点中同步更新后的目标时长;
33、将更新后的目标时长发送到主监控节点对应的服务中,以在服务中同步更新后的目标时长。
34、如此,将目标时长更新到其他监控节点以及服务中,以在其他监控节点以及服务中完成时间的同步。
35、第二方面,本发明提供了一种时间同步装置,应用于集群中的主监控节点中,该装置包括:
36、时长获取模块,用于每隔第一预设时长,获取主监控节点的当前工作时长以及目标时长;第一预设时长为基于处理器时间进行计时得到的;
37、时长对比模块,用于将当前工作时长与目标时长进行对比;
38、时长更新模块,用于若当前工作时长与目标时长之差大于或等于第二预设时长,则基于第二预设时长,对目标时长进行更新;第二预设时长大于第一预设时长;
39、时长同步模块,用于将更新后的目标时长同步至主监控节点对应的其他监控节点以及服务中。
40、第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的时间同步方法。
41、第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的时间同步方法。
42、第五方面,本发明提供了一种计算机程序产品,包括计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的时间同步方法。
1.一种时间同步方法,其特征在于,应用于集群中的主监控节点中,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述目标时长基于预设时间计量单位进行存储;所述第二预设时长为所述预设时间计量单位对应的单位时长;
3.根据权利要求1所述的方法,其特征在于,所述目标时长基于第一时间计量单位进行存储;所述第二预设时长为第二时间计量单位对应的单位时长;所述第二时间计量单位为所述第一时间计量单位对应的下一级或者下多级时间计量单位;
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述目标时长基于第三时间计量单位进行存储;所述第三预设时长为第四时间计量单位对应的单位时长;所述第四时间计量单位为所述第三时间计量单位对应的下一级或者下多级时间计量单位;
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述将更新后的所述目标时长同步至所述主监控节点对应的其他监控节点以及服务中,包括:
8.一种时间同步装置,其特征在于,应用于集群中的主监控节点中,所述装置包括:
9.一种计算机设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的时间同步方法。