胥婕 郑潇男 唐松 蔡青 郑专杰 / .上海市计量测试技术研究院;2.国家时间频率计量中心上海实验室;3.上海市在线检测与控制技术重点实验室;.上海交通大学医学院附属新华医院
时间频率作为一个重要的基本物理量在国民经济、基础科学研究中起着重要的作用。它是目前最准确的基本物理量,具有良好的传递性,并且与人们的日常生活密切相关。随着电子信息技术和互联网的迅猛发展,电子商务、电子政务等高准确度时间业务对整个社会的时间同步要求越来越严格,医药行业、交通领域、教育系统、金融行业、电信、移动通信、电网数字化变电站、电子停车计时计费系统等公共服务系统都需要实现安全可靠和高准确度的时间同步。
目前各行业时间同步主要采取四种方式:
1)同步于GPS系统时间。由于GPS系统时间无法量值溯源,且不具有法律效力,GPS系统时间存在不可靠性。
2)同步于网络时间服务器。由于从网上自行选择的网络时间服务器的时间源,不能确定时间的准确来源,导致时间源存在不稳定性和不可靠性。
3)同步于采用码分多址通信技术时钟。时钟容易受到电磁干扰影响,存在信号中断的情况,时间源也存在不稳定性和不可靠性。
4)由时钟本身的内部晶振保持时间。这些时钟的振荡器在不受校对的自由振荡的状况下工作。由于温度变化、电磁干扰、振荡器老化和生产调试等原因,时钟的振荡频率和标准频率之间存在误差。长期积累误差会产生相当大的影响。
综上所述,由于四种时间同步的方式不一样,时间源不可靠且不具有法律效力,时间同步准确度也差异较大,导致各行业的时间不一致,无法满足各行业秒级的时间约束业务的要求。因此,如何在各行业网络系统中实现高准确度时间同步是一个相当重要的问题。
网络时间协议(network time protocol,简称NTP),是目前互联网应用非常广泛的时间同步协议。它最早由美国德拉瓦大学的D.L.Mills教授于1985年提出,并进行设计和实现。其目的是通过本地计算机与时钟源进行时钟同步,提高本地时间的准确度,从而使国际互联网上不同的机器间能维持一个统一的、标准的时间,为在多种及广泛的分布式网络环境中运行的系统分配准确和可靠的时间信息[1]。
网络时间同步技术在不断地推陈出新。早期的时间同步技术需要组建专用网络为各系统提供服务,成本较高。NTP除了可以将网络中各设备的时间统一到一个时间上,这个时间可以是绝对时间(比如世界协调时)或者相对时间(网络中某台主机的时间),还可以估算封包在网络上的往返时延,并独立地估算计算机时钟的时刻偏差[2],从而实现在网络上的高准确度计算机校时,它是使互联网上不同的机器维持相同时间的一种通信协定。
时间服务器是利用NTP的一种服务器,通过它可以使网络中的机器维持时间同步。NTP主要应用于互联网中计算机时钟的同步,它提供广泛的接近国家时间和频率的服务,组织时间子网的时间同步和调整子网中的地方性时钟。时间同步系统一旦出现问题,往往会给应用系统带来不良影响,甚至造成巨大的损失,所以有必要就基于NTP的网络时间同步系统在应用层面需要注意的方面进行研究和归纳。
NTP/v1出现于1988年6月,它描述了首个完整的NTP的规范和相关算法。这个版本已经采用了客户端/服务端模式以及对称操作。但是它不支持鉴权和 NTP 的控制消息。1989年9月推出了NTP/v2[3]。几乎同时,DEC 公司也推出了一个时间同步协议,即数字时间同步服务[Digital Time Synchronization Service(DTSS)]。
在1992年3月,NTP/v3问世,该版本总结和综合了NTP的先前版本和DTSS,正式引入了校正原则,并改进了时钟选择和时钟滤波的算法,而且还引入了时间消息发送的广播模式。这个版本取代了NTP的先前版本。NTP/v3实现的一个重要功能是对计算机操作系统的时钟调整。与此同时,有关在操作系统核心中改进时间保持功能的研究也在同步地进行。1994年推出了RFC 1589,即精密时间保持的核心模式,其实现了把计算机操作系统的时间准确度保持在微秒数量级。几乎同时,又提出了NTP/v4 改进建议。对本地时钟调整算法、通信模式、新的时钟驱动器和适配规则等方面描述了具体改进方向[4]。
现在研究和测试中的 NTP/v4 将适用于IPV6、改进时钟模型,在各种同步源和网络通路的情况下更准确地预测和调节频率和时间,提出相应的新算法将降低网络抖动和振荡器漂移的冲突[5],并且将加速起始的时间同步收敛速度、在锁频环和锁相环或者两者混合模式下重新设计工作的时钟校正算法;还将提供关于自动配置、可靠性、降低互联网话务量和加强网络安全性鉴权等方面的新特性[6]。
本文基于网络时间协议搭建了一套网络时间传递系统(系统物理结构如图1),提供了一种高准确度网络时间传输方法。传输系统包括:外部时间源、时码产生器,网络时间服务器、网络交换机、用户设备、服务器端时间传输模块和用户设备传输模块。
图1 系统物理结构
其中外部时间源作为网络时间服务器参考时间信号的时间源,采用原子钟组,包括铯钟和氢钟。采用铯钟驾驭氢钟的方式,通过ALGOS原子时算法获得稳定的、高准确度的时间标准。
时码产生器将原子钟组输出的时间信号转化为网络时间服务器能够接收的B码信号。
网络时间服务器是获得时间源和支持时间传输的服务器。
网络交换机用于连接用户设备。
服务器端时间传输模块包括串口数据处理、本地时钟更新、时间数据处理、请求接收和响应发送等五部分内容。串口数据处理是通过串口和网络时间服务器与外部时间源进行通信,获得外部时间源的标准时间信息;本地时钟更新是根据外部时间源的标准时间数据对网络时间服务器的本地时钟进行时间更新;时间数据处理是基于NTP对时间数据进行处理;请求接收部分用于接收用户设备的校时请求;响应发送部分用于发送标准时间信息至用户设备。
用户设备传输模块包括本地时钟更新、时间数据处理、请求发送和响应接收等四部分内容。本地时钟更新是根据网络时间服务器传输的标准时间数据对用户设备的本地时钟进行时间更新;时间数据处理是基于NTP对接收的时间数据进行处理;请求发送部分用于发送校时请求时间信息;响应接收部分用于接收网络时间服务器传输的时间信息;用户设备是需要高准确度时间的计算机。
基于原子钟组的网络时间传输方法包括以下步骤:
1)氢钟和铯钟形成的原子钟组稳定运行半年。
2)基于原子钟组运行半年的数据,采用原子时算法计算标准时间。
3)采用铯钟驾驭氢钟的方式,通过时码产生器将原子钟组输出的标准时间信号转换为网络时间服务器能够接收的B码时间信号。
4)网络时间服务器连接时码产生器,网络时间服务器与时码产生器进行串口通信,利用串口数据处理部分获取原子钟组的标准时间信号。
5)解析原子钟组的标准时间信号,将解析后的时间信号对网络时间服务的本地时钟进行更新,使网络时间服务的时间与原子钟组的时间同步。
6)用户设备通过网络交换机发送校时请求给网络时间服务器,并记录发送时间t1。
7)服务器端时间传输模块侦听用户设备发送的校时请求,记录获取校时请求的时间t2,并基于NTP构建时间数据包。
8)服务器端时间传输模块将构建的时间数据包通过网路交换机发送给用户设备,并记录发送的时间t3。
9)用户设备接收服务器端发送的时间数据包,并记录接收时间t4。
10)用户设备传输模块基于网络时间协议解析时间数据包,将用户设备接收数据包的时间与服务器发送数据包的时间的差值减去服务器接收数据包的时间与用户设备发送数据包的时间的差值的一半计算得到时间偏差,将用户设备接收数据包的时间与服务器发送数据包的时间的差值加上服务器接收数据包的时间与用户设备发送数据包的时间的差值的一半计算得到网络时延td。
11) 重复步骤6)~10),根据统计学中心极限定理,当总体分布未知而样本数量足够大时,样本均值趋于正态分布。
12)当网络时延偏离均值较大时,可以认为网络发生拥塞或网络出现问题,测量得到的该组时间偏差数据没有意义,可以将其过滤剔除。本文设置网络偏差测量数据的置信度为0.99,将不在置信区间的数据剔除。
13)用户设备传输模块根据保留的时间偏差数据,将均值作为最终的时间偏差结果,利用该时间偏差对本地时钟进行更新,使用户设备的时间与网络时间服务器的时间同步。
基于网络时间传输方法设计用户设备时间同步软件(界面见图2),软件包括本地时钟更新、时间数据处理、请求发送和响应接收等四部分内容。本地时钟更新根据网络时间服务器传输的标准时间数据对用户设备的本地时钟进行时间更新,时间数据处理部分基于NTP对接收到的时间数据进行处理,请求发送部分用于发送校时请求时间信息,响应接收部分用于接收网络时间服务器传输的时间信息。图3为用户设备通信流程图。
图2 用户设备时间同步软件界面
图3 客户端通信流程
软件主要功能为向服务端发送 NTP 报文,请求授时,并对返回的 NTP 报文进行计算,得出本地时钟的时刻偏差和网络时延,调整本地时钟。在返回的每一个报文中都含有四个时间戳,根据四个时间戳计算出时刻偏差和网络时延。而每一次同步过程需要进行多次 NTP 报文交换,每次都可以获得一组网络时延和时钟的时刻偏差,用户设备利用过滤算法从多组网络时延和时钟的时刻偏差中选取最准确的一组同步本地时钟。
通常,医疗药理分析对时间同步准确度需要控制在秒级以内。目前医疗行业在药理分析方面有强烈的时间同步需求。医疗机构实验室对临床标本采集时间、送达时间、失效时间以及检测时间均有严格的先后时间顺序。时间控制顺序混乱,将导致检验结果不准确,甚至造成临床的误诊。因此,确保医院信息系统的时间记录准确,保证医院设备或系统的时间完全统一且准确就显得格外重要。本文根据搭建的网络时间传递系统,对某医疗机构的8台数字时间牌(图4)开展网络授时服务。
图4 医疗机构授时的时间牌
在整个网络处于正常运行状态下,同步成功后计算数字时间牌和上海市计量测试技术研究院时间服务器的时间数据,得出两者的差值,从而验证网络时间传递系统时间同步的效果。每5 min测试一次,测试24 h,测试数据如表1所示。
表1 数字时间牌时刻偏差测试数据
经过计算,8台数字时间牌的平均时刻偏差的最大值为129 ms,最大时刻偏差的最大值为272 ms,时刻偏差的标准方差的最大值为75 ms。实验数据表明,最大时刻偏差优于300 ms,时刻偏差未出现较大的抖动,网络授时系统具有良好的准确度和稳定度,符合设计要求。
网络授时服务是高准确度时间应用领域中的重要研究方向,在上海建设“智慧城市”的过程中,各大行业都有时间同步的需求。金融行业需要统一的实时授时服务,进一步保障金融数据的安全;电力行业急需实现全网的时间统一,且对时间同步要求达到微秒级;下一代电信网络对时间同步的要求达到百纳秒级;形变监测、精准农业、城市安全管理对时间同步的要求已经达到了纳秒级甚至更高;交通运输调度中心、输油输气管道控制中心、航空空管等公共服务系统的在线监测中更加需要实现安全可靠和高准确度的时间同步。本文为后续时间同步技术的研究积累经验,从而进一步为各行各业提供准确的授时服务,实现时间统一。