一种基于NTP协议的级联步进式防跳变时钟同步方法与流程

未命名 09-07 阅读:145 评论:0

一种基于ntp协议的级联步进式防跳变时钟同步方法
技术领域
1.本发明涉及监控系统技术领域,具体为一种基于ntp协议的级联步进式防跳变时钟同步方法。


背景技术:

2.在scada监控系统领域,随着业务的不断扩展和数据处理的难度提升,现在主流的技术方案均采用分布式集群架构,以多节点任务分担的模式增加业务范畴,提高系统性能。
3.在项目部署运行过程中,多机器节点的时钟同步异常一直是一大难点,如卫星钟时间失步、时间跳变等情况,而由时钟同步异常造成的问题包括数据时间戳混乱、应用程序运行紊乱或崩溃,甚至可进而造成系统瘫痪的后果,此外,传统的部署方案主要是被授时节点向单一授时源请求时间,未能考虑到集群机器节点数量众多的情况下,导致授时响应延迟,授时可靠性降低。


技术实现要素:

4.本部分的目的在于概述本发明的实施方式的一些方面以及简要介绍一些较佳实施方式。在本部分以及本技术的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
5.鉴于上述和/或现有的scada监控系统中存在的问题,提出了本发明。
6.因此,本发明的目的是提供一种基于ntp协议的级联步进式防跳变时钟同步方法,有效解决集群机器节点间的时间不一致、机器时间跳变等问题,为集群机器节点间时间步调一致、机器时间连续可靠、系统稳定奠定底层基础。
7.为解决上述技术问题,根据本发明的一个方面,本发明提供了如下技术方案:
8.一种基于ntp协议的级联步进式防跳变时钟同步方法,其包括:
9.构建1-n的多级域;
10.一级域内的时钟源服务器与卫星钟直接对时,一级域内的机器节点与本域内的时钟源服务器通过ntp协议通讯获取时间并进行时钟同步;
11.2-n级的每一级域内的时钟源服务器与上一级域内的代理时钟源服务器通过ntp协议通讯获取时间并进行时钟同步,且2-n级的每一级域内机器节点与本域内的时钟源服务器通过ntp协议通讯获取时间并进行时钟同步;
12.其中,1-n级的每一级域内代理时钟源服务器均与本域内的时钟源服务器通过ntp协议通讯获取时间并进行时钟同步。
13.作为本发明所述的一种基于ntp协议的级联步进式防跳变时钟同步方法的一种优选方案,其中,所述时钟源服务器包括时钟源主机以及时钟源备机,且在初始状态下,通过配置文件确定时钟源主备机,且每个域内的所有机器节点同时只与时钟源主机或者时钟源备机对时;
14.当本域内的时钟源主机和时钟源备机均能获得上一级域内的代理时钟源服务器的时间,该域内其它机器节点由本域内的时钟源主机授时;
15.当本域内的时钟源主机可以获取上一级域内的代理时钟源服务器的时间,而时钟源备机无法获取上一级域内的代理时钟源服务器的时间,该域内其它机器节点由本域内的时钟源主机授时;
16.当本域内的时钟源主机无法获取上一级域内的代理时钟源服务器的时间,而时钟源备机可以获取上一级域内的代理时钟源服务器的时间,该域内其它机器节点由本域内的时钟源备机授时,同时,定时监测时钟源主机是否恢复有效,一旦恢复则切换为由域内时钟源主机授时;
17.当本域内的时钟源主机和时钟源备机均无法获得上一级域内的代理时钟源服务器的时间,即均处于失步状态时,此时该域内其它机器节点由时钟源主机授时,同时,定时监测时钟源主备机是否恢复有效,若备机先恢复有效则切换为由域内备机授时,此后若主机也恢复有效,则切换为由域内主机授时。
18.作为本发明所述的一种基于ntp协议的级联步进式防跳变时钟同步方法的一种优选方案,其中,所述时钟源主机或者时钟源备机的有效性检测如下:
19.在初始状态下,默认时钟源主机或者时钟源备机有效;
20.周期性的对时钟源主机或者时钟源备机进行通讯检测,若连续三次出现以下异常中的一种,则判定时钟源主机或者时钟源备机无效;其中,
21.第一种异常为:连续两次从钟源主机或者时钟源备机获取到的时钟源时间差与请求的时间间隔之差大于对应阈值;
22.第二种异常为:时钟源主机或者时钟源备机的授时时间带有“未同步”标志;
23.机器节点请求时钟源时间,在请求周期内未能收到钟源主机或者时钟源备机的响应;
24.机器节点链路未能连接到时钟源主机或者时钟源备机节点,双网链路连接均失败。
25.作为本发明所述的一种基于ntp协议的级联步进式防跳变时钟同步方法的一种优选方案,其中,所述阈值为10ms。
26.作为本发明所述的一种基于ntp协议的级联步进式防跳变时钟同步方法的一种优选方案,其中,机器节点与本域内的时钟源服务器通过ntp协议通讯获取时间并进行时钟同步的步骤如下:
27.本域内的机器节点周期性的向时钟源主机或者时钟源备机请求时间,根据ntp协议计算时钟源主机或者时钟源备机授时的标准时间,并与本机时间比较时间差是否大于允许的偏差范围;
28.若时钟源主机或者时钟源备机授时的标准时间与本机时间的时间差小于允许的偏差范围,则本机时间准确,无需校对,若大于允许的偏差范围,则进一步判断标准时间与本机时间差是否小于步进时间;
29.若时钟源主机或者时钟源备机授时的标准时间与本机时间差小于步进时间,则本机直接写入标准时间,若大于步进时间,则按照步进请求周期向时钟源主机或者时钟源备机请求时间,根据ntp协议计算标准时间,并与本机时间比较时间差是否大于步进时间;
30.若标准时间超前本机时间,则将本机时间加步进时间后写入本机,若标准时间滞后本机时间,则将本机时间减步进时间后写入本机。
31.作为本发明所述的一种基于ntp协议的级联步进式防跳变时钟同步方法的一种优选方案,其中,所述本域内的机器节点向时钟源主机或者时钟源备机请求时间的周期时间为5min。
32.作为本发明所述的一种基于ntp协议的级联步进式防跳变时钟同步方法的一种优选方案,其中,所述标准时间与本机时间的比较时间差的偏差范围为0-3ms。
33.作为本发明所述的一种基于ntp协议的级联步进式防跳变时钟同步方法的一种优选方案,其中,所述步进时间为50ms。
34.作为本发明所述的一种基于ntp协议的级联步进式防跳变时钟同步方法的一种优选方案,其中,所述步进请求周期为800ms。
35.与现有技术相比,本发明具有的有益效果是:针对scada系统集群架构方案,级联步进式防跳变时钟同步方法一方面在部署上可支持机器节点的分层级联结构,被授时节点可在不同层级按照时钟源主备机选择策略自主选择出可靠授时源,降低授时源因被授时节点众多造成的过大的负载压力,以保证授时可靠性;另一方面,采用步进式防跳变策略,可以有效防范授时时间的不连续等异常情况导致被授时节点出现时间跳变等问题,从而保证了机器时间的连续性。本发明在提升系统时间的安全性、稳定连续性方面提出了可行可靠的解决方案,在集群架构下的系统时间安全可靠方面具有普适性和推广价值。
附图说明
36.为了更清楚地说明本发明实施方式的技术方案,下面将将结合附图和详细实施方式对本发明进行详细说明,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
37.图1为本发明多级域时钟同步部署场景示意图;
38.图2为本发明一种基于ntp协议的级联步进式防跳变时钟同步方法的流程图;
39.图3为本发明一种基于ntp协议的级联步进式防跳变时钟同步方法的时钟源有效性判定流程图;
40.图4为本发明一种基于ntp协议的级联步进式防跳变时钟同步方法的单机步进式时钟同步流程图。
具体实施方式
41.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
42.其次,本发明结合示意图进行详细描述,在详述本发明实施方式时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
43.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的实施方式作进一步地详细描述。
44.本发明提供一种基于ntp协议的级联步进式防跳变时钟同步方法,有效解决集群机器节点间的时间不一致、机器时间跳变等问题,为集群机器节点间时间步调一致、机器时间连续可靠、系统稳定奠定底层基础。
45.实施例1
46.如图1和图2所示,本发明首先构建1-n的多级域,每级域均具有时钟源服务器、对应与时钟源服务器连接的机器节点以及用于与下一级域内的时钟源服务器通信的代理时钟源服务器,其中,一级域为中心域,其内的时钟源服务器与卫星钟直接对时,并且一级域内的机器节点与本域内的时钟源服务器通过ntp协议通讯获取时间并进行时钟同步,时钟源服务器包括时钟源主机以及时钟源备机。
47.2-n级的每一级域内的时钟源服务器与上一级域内的代理时钟源服务器通过ntp协议通讯获取时间并进行时钟同步,且2-n级的每一级域内机器节点与本域内的时钟源服务器通过ntp协议通讯获取时间并进行时钟同步;其中,1-n级的每一级域内代理时钟源服务器均与本域内的时钟源服务器通过ntp协议通讯获取时间并进行时钟同步。
48.通过该种方法,使每个域内都有独立的时钟源主机以及时钟源备机,每个域内的时钟源主备机只需要同上级域内的代理时钟源主备机通讯获取时间并进行时钟同步,再由各域内的其它机器节点分别与该域时钟源主备机通讯获取时间并进行时钟同步,以ntp协议为基础,以机器节点分层级联式结构部署,具有一定的扩展性,被授时节点可被划分在不同层级,并按照时钟源主备机选择策略自主选择出可靠授时源,降低授时源因被授时节点众多造成的过大的负载压力,以保证授时可靠性。
49.实施例2
50.如图1-图3所示,本发明首先构建1-n的多级域,每级域均具有时钟源服务器、对应与时钟源服务器连接的机器节点以及用于与下一级域内的时钟源服务器通信的代理时钟源服务器,其中,一级域为中心域,其内的时钟源服务器与卫星钟直接对时,并且一级域内的机器节点与本域内的时钟源服务器通过ntp协议通讯获取时间并进行时钟同步,时钟源服务器包括时钟源主机以及时钟源备机。
51.2-n级的每一级域内的时钟源服务器与上一级域内的代理时钟源服务器通过ntp协议通讯获取时间并进行时钟同步,且2-n级的每一级域内机器节点与本域内的时钟源服务器通过ntp协议通讯获取时间并进行时钟同步;其中,1-n级的每一级域内代理时钟源服务器均与本域内的时钟源服务器通过ntp协议通讯获取时间并进行时钟同步。
52.在初始状态下,通过配置文件确定时钟源主备机,且每个域内的所有机器节点同时只与时钟源主机或者时钟源备机对时;
53.当本域内的时钟源主机和时钟源备机均能获得上一级域内的代理时钟源服务器的时间,该域内其它机器节点由本域内的时钟源主机授时;
54.当本域内的时钟源主机可以获取上一级域内的代理时钟源服务器的时间,而时钟源备机无法获取上一级域内的代理时钟源服务器的时间,该域内其它机器节点由本域内的时钟源主机授时;
55.当本域内的时钟源主机无法获取上一级域内的代理时钟源服务器的时间,而时钟源备机可以获取上一级域内的代理时钟源服务器的时间,该域内其它机器节点由本域内的时钟源备机授时,同时,定时监测时钟源主机是否恢复有效,一旦恢复则切换为由域内时钟
源主机授时;
56.当本域内的时钟源主机和时钟源备机均无法获得上一级域内的代理时钟源服务器的时间,即均处于失步状态时,此时该域内其它机器节点由时钟源主机授时,同时,定时监测时钟源主备机是否恢复有效,若备机先恢复有效则切换为由域内备机授时,此后若主机也恢复有效,则切换为由域内主机授时。
57.通过该方法,保证每个域内的机器节点可以在其中一个时钟源机器授时存在问题时,切换至另一正常的时钟源机器,以保证机器节点正常的获取时间并进行时钟同步。
58.其中,在本实施方式中,所述时钟源主机或者时钟源备机的有效性检测如下:
59.在初始状态下,默认时钟源主机或者时钟源备机有效;
60.周期性的对时钟源主机或者时钟源备机进行通讯检测,若连续三次出现以下异常中的一种,则判定时钟源主机或者时钟源备机无效;其中,
61.第一种异常为:连续两次从钟源主机或者时钟源备机获取到的时钟源时间差与请求的时间间隔之差大于对应阈值(阈值为10ms);
62.第二种异常为:时钟源主机或者时钟源备机的授时时间带有“未同步”标志;
63.机器节点请求时钟源时间,在请求周期内未能收到钟源主机或者时钟源备机的响应;
64.机器节点链路未能连接到时钟源主机或者时钟源备机节点,双网链路连接均失败。
65.实施例3
66.如图1-图4所示,本发明首先构建1-n的多级域,每级域均具有时钟源服务器、对应与时钟源服务器连接的机器节点以及用于与下一级域内的时钟源服务器通信的代理时钟源服务器,其中,一级域为中心域,其内的时钟源服务器与卫星钟直接对时,并且一级域内的机器节点与本域内的时钟源服务器通过ntp协议通讯获取时间并进行时钟同步,时钟源服务器包括时钟源主机以及时钟源备机。
67.2-n级的每一级域内的时钟源服务器与上一级域内的代理时钟源服务器通过ntp协议通讯获取时间并进行时钟同步,且2-n级的每一级域内机器节点与本域内的时钟源服务器通过ntp协议通讯获取时间并进行时钟同步;其中,1-n级的每一级域内代理时钟源服务器均与本域内的时钟源服务器通过ntp协议通讯获取时间并进行时钟同步。
68.在初始状态下,通过配置文件确定时钟源主备机,且每个域内的所有机器节点同时只与时钟源主机或者时钟源备机对时;
69.当本域内的时钟源主机和时钟源备机均能获得上一级域内的代理时钟源服务器的时间,该域内其它机器节点由本域内的时钟源主机授时;
70.当本域内的时钟源主机可以获取上一级域内的代理时钟源服务器的时间,而时钟源备机无法获取上一级域内的代理时钟源服务器的时间,该域内其它机器节点由本域内的时钟源主机授时;
71.当本域内的时钟源主机无法获取上一级域内的代理时钟源服务器的时间,而时钟源备机可以获取上一级域内的代理时钟源服务器的时间,该域内其它机器节点由本域内的时钟源备机授时,同时,定时监测时钟源主机是否恢复有效,一旦恢复则切换为由域内时钟源主机授时;
72.当本域内的时钟源主机和时钟源备机均无法获得上一级域内的代理时钟源服务器的时间,即均处于失步状态时,此时该域内其它机器节点由时钟源主机授时,同时,定时监测时钟源主备机是否恢复有效,若备机先恢复有效则切换为由域内备机授时,此后若主机也恢复有效,则切换为由域内主机授时。
73.机器节点与本域内的时钟源服务器通过ntp协议通讯获取时间并进行时钟同步时,本域内的机器节点周期性(周期时间为5min)的向时钟源主机或者时钟源备机请求时间,根据ntp协议计算时钟源主机或者时钟源备机授时的标准时间,并与本机时间比较时间差是否大于允许的偏差范围,偏差范围为0-3ms;
74.若时钟源主机或者时钟源备机授时的标准时间与本机时间的时间差小于允许的偏差范围,则本机时间准确,无需校对,若大于允许的偏差范围,则进一步判断标准时间与本机时间差是否小于步进时间,步进时间为50ms;
75.若时钟源主机或者时钟源备机授时的标准时间与本机时间差小于步进时间,则本机直接写入标准时间,若大于步进时间,则按照步进请求周期(步进请求周期为800ms)向时钟源主机或者时钟源备机请求时间,根据ntp协议计算标准时间,并与本机时间比较时间差是否大于步进时间;
76.若标准时间超前本机时间,则将本机时间加步进时间后写入本机,若标准时间滞后本机时间,则将本机时间减步进时间后写入本机。
77.通过该方法,采用步进式防跳变策略,可以有效防范授时时间的不连续卫星钟时间失步等异常情况导致被授时节点出现时间跳变等问题,保证了机器时间的连续性。
78.虽然在上文中已经参考实施方式对本发明进行了描述,然而在不脱离本发明的范围的情况下,可以对其进行各种改进并且可以用等效物替换其中的部件。尤其是,只要不存在结构冲突,本发明所披露的实施方式中的各项特征均可通过任意方式相互结合起来使用,在本说明书中未对这些组合的情况进行穷举性的描述仅仅是出于省略篇幅和节约资源的考虑。因此,本发明并不局限于文中公开的特定实施方式,而是包括落入权利要求的范围内的所有技术方案。

技术特征:
1.一种基于ntp协议的级联步进式防跳变时钟同步方法,其特征在于,包括:构建1-n的多级域;一级域内的时钟源服务器与卫星钟直接对时,一级域内的机器节点与本域内的时钟源服务器通过ntp协议通讯获取时间并进行时钟同步;2-n级的每一级域内的时钟源服务器与上一级域内的代理时钟源服务器通过ntp协议通讯获取时间并进行时钟同步,且2-n级的每一级域内机器节点与本域内的时钟源服务器通过ntp协议通讯获取时间并进行时钟同步;其中,1-n级的每一级域内代理时钟源服务器均与本域内的时钟源服务器通过ntp协议通讯获取时间并进行时钟同步。2.根据权利要求1所述的一种基于ntp协议的级联步进式防跳变时钟同步方法,其特征在于,所述时钟源服务器包括时钟源主机以及时钟源备机,且在初始状态下,通过配置文件确定时钟源主备机,且每个域内的所有机器节点同时只与时钟源主机或者时钟源备机对时;当本域内的时钟源主机和时钟源备机均能获得上一级域内的代理时钟源服务器的时间,该域内其它机器节点由本域内的时钟源主机授时;当本域内的时钟源主机可以获取上一级域内的代理时钟源服务器的时间,而时钟源备机无法获取上一级域内的代理时钟源服务器的时间,该域内其它机器节点由本域内的时钟源主机授时;当本域内的时钟源主机无法获取上一级域内的代理时钟源服务器的时间,而时钟源备机可以获取上一级域内的代理时钟源服务器的时间,该域内其它机器节点由本域内的时钟源备机授时,同时,定时监测时钟源主机是否恢复有效,一旦恢复则切换为由域内时钟源主机授时;当本域内的时钟源主机和时钟源备机均无法获得上一级域内的代理时钟源服务器的时间,即均处于失步状态时,此时该域内其它机器节点由时钟源主机授时,同时,定时监测时钟源主备机是否恢复有效,若备机先恢复有效则切换为由域内备机授时,此后若主机也恢复有效,则切换为由域内主机授时。3.根据权利要求2所述的一种基于ntp协议的级联步进式防跳变时钟同步方法,其特征在于,所述时钟源主机或者时钟源备机的有效性检测如下:在初始状态下,默认时钟源主机或者时钟源备机有效;周期性的对时钟源主机或者时钟源备机进行通讯检测,若连续三次出现以下异常中的一种,则判定时钟源主机或者时钟源备机无效;其中,第一种异常为:连续两次从钟源主机或者时钟源备机获取到的时钟源时间差与请求的时间间隔之差大于对应阈值;第二种异常为:时钟源主机或者时钟源备机的授时时间带有“未同步”标志;机器节点请求时钟源时间,在请求周期内未能收到钟源主机或者时钟源备机的响应;机器节点链路未能连接到时钟源主机或者时钟源备机节点,双网链路连接均失败。4.根据权利要求3所述的一种基于ntp协议的级联步进式防跳变时钟同步方法,其特征在于,所述阈值为10ms。5.根据权利要求1所述的一种基于ntp协议的级联步进式防跳变时钟同步方法,其特征
在于,机器节点与本域内的时钟源服务器通过ntp协议通讯获取时间并进行时钟同步的步骤如下:本域内的机器节点周期性的向时钟源主机或者时钟源备机请求时间,根据ntp协议计算时钟源主机或者时钟源备机授时的标准时间,并与本机时间比较时间差是否大于允许的偏差范围;若时钟源主机或者时钟源备机授时的标准时间与本机时间的时间差小于允许的偏差范围,则本机时间准确,无需校对,若大于允许的偏差范围,则进一步判断标准时间与本机时间差是否小于步进时间;若时钟源主机或者时钟源备机授时的标准时间与本机时间差小于步进时间,则本机直接写入标准时间,若大于步进时间,则按照步进请求周期向时钟源主机或者时钟源备机请求时间,根据ntp协议计算标准时间,并与本机时间比较时间差是否大于步进时间;若标准时间超前本机时间,则将本机时间加步进时间后写入本机,若标准时间滞后本机时间,则将本机时间减步进时间后写入本机。6.根据权利要求5所述的一种基于ntp协议的级联步进式防跳变时钟同步方法,其特征在于,所述本域内的机器节点向时钟源主机或者时钟源备机请求时间的周期时间为5min。7.根据权利要求1所述的一种基于ntp协议的级联步进式防跳变时钟同步方法,其特征在于,所述标准时间与本机时间的比较时间差的偏差范围为0-3ms。8.根据权利要求1所述的一种基于ntp协议的级联步进式防跳变时钟同步方法,其特征在于,所述步进时间为50ms。9.根据权利要求5所述的一种基于ntp协议的级联步进式防跳变时钟同步方法,其特征在于,所述步进请求周期为800ms。

技术总结
本发明公开一种基于NTP协议的级联步进式防跳变时钟同步方法,包括构建1-N的多级域、一级域内的时钟源服务器与卫星钟直接对时,一级域内的机器节点与本域内的时钟源服务器通过NTP协议通讯获取时间并进行时钟同步;2-N级的每一级域内的时钟源服务器与上一级域内的代理时钟源服务器通过NTP协议通讯获取时间并进行时钟同步,且2-N级的每一级域内机器节点与本域内的时钟源服务器通过NTP协议通讯获取时间并进行时钟同步,其中,1-N级的每一级域内代理时钟源服务器均与本域内的时钟源服务器通过NTP协议通讯获取时间并进行时钟同步,本发明有效解决集群机器节点间的时间不一致、机器时间跳变等问题。时间跳变等问题。时间跳变等问题。


技术研发人员:汪贤浩 李德军 刘柱云
受保护的技术使用者:国电南京自动化股份有限公司
技术研发日:2023.06.12
技术公布日:2023/9/6
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐