一种网络时间校准方法、装置及计算机终端
- 国知局
- 2024-08-02 14:03:25
本发明涉及互联网,特别是涉及一种网络时间校准方法、装置及计算机终端。
背景技术:
1、网络时间协议(ntp,network time protocol)是用于互联网中时间同步的标准互联网协议。网络时间协议的用途是把计算机的时间同步到某些时间标准。目前采用的时间标准是世界协调时 utc(universal time coordinated)。
2、网络时间协议已成为 tcp/ip 协议家族的一员,其采用的传输层协议为udp,使用的udp端口号为123。目前互联网上安装了网络时间协议软件的时间服务器向其客户端计算机提供时间服务基准。一级时间服务器一般称之为参考时钟,通常从gps接收机获得utc的绝对时刻信息,下级时间服务器通过基于tcp/ip的网络从上级服务器获得utc时间。所有需要时间同步的客户端计算机通过安装ntp的客户端程序,从指定的时间服务器上获得utc时间信息,用于校准自身的当前时间信息。然而,由于实际网络结构各不相同,网络负载动态变化,服务器与客户机操作系统、性能各有差异,使得客户端计算机的时间同步精确度不高,影响客户使用体验。
技术实现思路
1、基于此,有必要针对客户端计算机的时间同步精确度不高,影响客户使用体验的问题,提供一种网络时间校准方法、装置及算机终端。
2、一种网络时间校准方法,应用于ntp客户端,包括:
3、生成当前网络状态下可与所述ntp客户端进行ntp通信的ntp服务器列表;
4、若所述ntp服务器列表中ntp服务器的数量大于1,则确定所述列表中每个ntp服务器的最后同步时间,根据所述最后同步时间确定至少一个第一目标ntp服务器;
5、确定每个所述第一目标ntp服务器与主ntp服务器之间的时间同步误差,根据所述时间同步误差确定至少一个第二目标ntp服务器;
6、确定每个所述第二目标ntp服务器与所述ntp客户端之间的同步距离,根据所述同步距离确定至少一个第三目标ntp服务器,所述同步距离用于表征所述ntp客户端与所述第二目标ntp服务器之间进行时间同步的难易程度;
7、与所述第三目标ntp服务器进行ntp通信,以进行本地时间校准。
8、上述网络时间校准方法在执行时,首先生成当前网络状态下可与ntp客户端进行ntp通信的ntp服务器列表,若ntp服务器列表中ntp服务器的数量大于1,则确定列表中每个ntp服务器的最后同步时间,根据最后同步时间确定至少一个第一目标ntp服务器,然后确定每个第一目标ntp服务器与主ntp服务器之间的时间同步误差,根据时间同步误差确定至少一个第二目标ntp服务器,接着确定每个第二目标ntp服务器与ntp客户端之间的同步距离,根据同步距离确定至少一个第三目标ntp服务器;最后与第三目标ntp服务器进行ntp通信,以进行本地时间校准。可以看出,通过在ntp服务器列表中的ntp服务器中依次筛选出第一目标ntp服务器、第二目标ntp服务器及第三目标ntp服务器,并通过第三目标ntp服务器进行本地时间校准,可以剔除掉误差较大的ntp服务器,从而提高本地时间校准的精确度。
9、在其中一个实施例中,所述确定所述列表中每个ntp服务器的最后同步时间,根据所述最后同步时间确定至少一个第一目标ntp服务器包括:
10、确定所述列表中每个ntp服务器的最后同步时间之后,进一步确定所述列表中每个ntp服务器的当前时间;
11、计算所述列表中每个ntp服务器的当前时间与对应最后同步时间的差值;
12、若所述差值小于第一预设阈值,则将对应的ntp服务器确定为第一目标ntp服务器。
13、在其中一个实施例中,所述确定每个所述第一目标ntp服务器与主ntp服务器之间的时间同步误差,根据所述时间同步误差确定至少一个第二目标ntp服务器包括:
14、确定每个所述第一目标ntp服务器与主ntp服务器之间的时间同步误差之后,比较每个所述第一目标ntp服务器对应的时间同步误差与第二预设阈值的大小;
15、将小于所述第二预设阈值的时间同步误差所对应的第一目标ntp服务器确定为第二目标ntp服务器。
16、在其中一个实施例中,所述同步距离=delay/2+dispersion;
17、所述delay为所述ntp客户端与每个所述第二目标ntp服务器之间的网络往返延迟时间,所述dispersion为每个所述第二目标ntp服务器相对于所述ntp客户端的最大误差。
18、在其中一个实施例中,所述根据所述同步距离确定至少一个第三目标ntp服务器包括:
19、比较每个所述第二目标ntp服务器的同步距离与第三预设阈值的大小;
20、将小于所述第三预设阈值的同步距离对应的第二目标ntp服务器确定为第三目标ntp服务器。
21、在其中一个实施例中,所述方法还包括:
22、向所述第三目标ntp服务器发送请求报文;
23、根据所述第三目标ntp服务器发送的数据包确定多组第一时间同步结果;
24、按照预设处理方式剔除误差较大的第一时间同步结果,根据剩余的第一时间同步结果进行本地时间校准。
25、在其中一个实施例中,所述方法还包括:
26、若所述ntp服务器列表中ntp服务器的数量等于1,则向所述ntp服务器列表中的ntp服务器发送请求报文;
27、读取所述ntp服务器列表中ntp服务器发送的每个数据包的长度;
28、比较每个数据包的长度与第四预设阈值的大小,将长度大于第四预设阈值的数据包进行丢包操作。
29、在其中一个实施例中,所述方法还包括:
30、根据所述ntp服务器列表中的ntp服务器发送的数据包确定多组第二时间同步结果;
31、按照预设处理方式剔除误差较大的第二时间同步结果,根据剩余的第二时间同步结果进行本地时间校准。
32、一种网络时间校准装置,应用于ntp客户端,包括:
33、生成模块,用于生成当前网络状态下可与所述ntp客户端进行ntp通信的ntp服务器列表;
34、第一确定模块,用于若所述ntp服务器列表中ntp服务器的数量大于1,则确定所述列表中每个ntp服务器的最后同步时间,根据所述最后同步时间确定至少一个第一目标ntp服务器;
35、第二确定模块,用于确定每个所述第一目标ntp服务器与主ntp服务器之间的时间同步误差,根据所述时间同步误差确定至少一个第二目标ntp服务器;
36、第三确定模块,用于确定每个所述第二目标ntp服务器与所述ntp客户端之间的同步距离,根据所述同步距离确定至少一个第三目标ntp服务器;
37、校准模块,用于与所述第三目标ntp服务器进行ntp通信,以进行本地时间校准。
38、一种计算机终端,包括存储器、执行器,所述存储器用于存储可执行代码,所述执行器用于根据所述可执行代码执行上述的网络时间校准方法。
本文地址:https://www.jishuxx.com/zhuanli/20240801/241565.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表