发明内容
本发明的目的是提供一种授时装置、方法及系统,用于提高终端设备在请求授时过程中授时的时间精度。
为提高终端设备在请求授时过程中授时的时间精度,本发明提供一种网络授时装置,该网络授时装置包括:处理模块、输入输出模块;其中,
所述处理模块,用于产生授时请求,发送给所述输入输出模块;接收经所述输入输出模块返回的授时请求,以及根据所述返回的授时请求中的时间信息计算标准授时时间,并将所述标准授时时间作为所述网络授时装置的系统时间;
所述输入输出模块,用于接收来自所述处理模块的授时请求并加盖第一时间戳,以及将加盖第一时间戳的授时请求传输给至少两个网络授时服务器;接收经所述网络授时服务器授时处理后返回的授时请求并加盖第二时间戳,以及将加盖第二时间戳的授权请求返回给所述处理模块。
优选的,所述第一时间戳和所述第二时间戳由所述输入输出模块根据所述处理模块的系统时间加盖。
优选的,所述经所述输入输出模块返回的授时请求中的时间信息包括所述第一时间戳、所述第二时间戳、第三时间戳和第四时间戳;
其中,所述第三时间戳由所述网络授时服务器在接收来自所述输入输出模块的授时请求时根据自身的系统时间对所述授时请求加盖;
所述第四时间戳由所述网络授时服务器在要向所述输入输出模块返回授时请求时,根据自身的系统时间对所述授时请求加盖。
优选的,所述处理模块根据所述授时请求中的时间信息,计算每个授时请求的网络延时;
所述处理模块根据所述每个授时请求的网络延时,计算第一延时平均值,以及每个授时请求的网络延时与所述第一延时平均值之间的误差;
所述处理模块筛选出误差不大于第一延时参考误差的网络延时进行计算平均值,得到第二延时平均值;
所述处理模块根据所述每个授时请求的第四时间戳的时间信息,计算第一授时平均值,以及每个第四时间戳的时间信息与所述第一授时平均值之间的误差;
所述处理模块筛选出误差不大于第一授时参考误差的第四时间戳的时间信息进行计算平均值,得到第二授时平均值;
所述处理模块将第二延时平均值与所述第二授时平均值相加得到所述标准授时时间。
优选的,所述处理模块隔一段时间向所述网络授时服务器发起一次授时请求,
当请求授时的次数等于M时,所述处理模块根据第M次请求授时之前每个网络授时服务器授时处理过的授时请求的网络延时,计算所述每个网络授时服务器的第三延时平均值,以及每个网络授时服务器授时处理的第M个授时请求的网络延时与所述第三延时平均值之间的误差;
所述处理模块将所述误差与预设的第二延时参考误差比较,并根据所述误差不大于第二延时参考误差的授时请求的网络延时,计算所述第一延时平均值。
优选的,所述网络授时装置处理模块在第M次请求授时之前,每个网络授时服务器的第三延时平均值的计算公式如下:
其中,为所述处理模块在第M次请求授时时,第j个网络授时服务器的第三延时平均值;δij为所述处理模块在第i次请求授时过程中,第j个网络授时服务器授时处理过的授时请求的网络延时,i、j均为正整数。
优选的,所述网络授时装置还包括检测模块;所述检测模块,用于监测外部控制设备向终端设备发送的对时命令,当所述检测模块监测到外部控制设备向终端设备发送的对时命令时,所述检测模块根据已经同步对时有效的所述处理模块的系统时间,更新所述对时命令中的时间,并将更新后的对时命令发送给所述终端设备。
优选的,所述网络授时装置还包括RTC电路模块、温度传感器;
所述RTC电路模块,为工业级RTC电路,用于为所述处理模块的系统时钟提供守时服务;
所述温度传感器,用于获取所述处理模块的系统时钟所处环境的温度信息;
所述处理模块根据所述温度信息采用数字温差补偿方法,修正所述处理模块的系统时间。
优选的,所述处理模块隔一段时间将已对时的处理模块的系统时间通过输入输出模块发送给终端设备进行授时,或者所述处理模块根据终端设备的授时请求,将已对时的处理模块的系统时间通过输入输出模块发送给所述终端设备进行授时。
为提高终端设备在请求授时过程中授时的时间精度,相应于本发明提供的上述网络授时装置,本发明还提供一种卫星授时装置,该卫星授时装置包括:本发明提供的上述网络授时装置、卫星授时定位模块、判断模块;
所述卫星授时定位模块,用于获取卫星的时间,以及定位;
所述判断模块,用于判断所述卫星授时定位模块获取的卫星时间是否有效,如果所述卫星时间有效,所述判断模块将所述卫星时间发送给所述网络授时装置,所述网络授时装置中的所述处理模块将所述卫星时间作为所述卫星授时装置的系统时间;如果所述卫星时间无效,所述网络授时装置中的所述处理模块将所述标准授时时间作为所述卫星授时装置的系统时间。
为提高终端设备在请求授时过程中授时的时间精度,相应于本发明提供的上述网络授时装置,卫星授时装置,本发明还提供一种配电终端设备,该配电终端设备包括上述的网络授时装置或卫星授时装置;所述网络授时装置或所述卫星授时装置,用于为所述配电终端设备提供系统时间。
为提高终端设备在请求授时过程中授时的时间精度,相应于本发明上述提供的网络授时装置,本发明还提供了一种授时方法,该方法包括以下步骤:
采用所述输入输出模块将授时请求加盖第一时间戳,并将加盖第一时间戳的授时请求传输给至少两个网络授时服务器;以及将经所述网络授时服务器授时处理后返回的授时请求加盖第二时间戳。
根据所述所述输入输出模块返回的授时请求中的时间信息计算标准授时时间,并将所述标准授时时间作为所述网络授时装置的系统时间。
优选的,所述第一时间戳和所述第二时间戳由所述输入输出模块根据所述处理模块的系统时间加盖。
优选的,所述经所述输入输出模块返回的授时请求中的时间信息包括所述第一时间戳、所述第二时间戳、第三时间戳和第四时间戳;
其中,所述第三时间戳由所述网络授时服务器在接收来自所述输入输出模块的授时请求时根据自身的系统时间对所述授时请求加盖;
所述第四时间戳由所述网络授时服务器在要向所述输入输出模块返回授时请求时,根据自身的系统时间对所述授时请求加盖。
优选的,所述根据经所述输入输出模块返回的授时请求中的时间信息,计算标准授时时间的步骤,包括:
根据每个所述授时请求中的时间信息,计算每个授时请求的网络延时;
根据所述每个授时请求的网络延时,计算第一延时平均值,以及每个授时请求的网络延时与所述第一延时平均值之间的误差;
筛选出误差不大于第一延时参考误差的网络延时进行计算平均值,得到第二延时平均值;
根据所述每个授时请求的第四时间戳的时间信息,计算第一授时平均值,以及每个第四时间戳的时间信息与所述第一授时平均值之间的误差;
筛选出误差不大于第一授时参考误差的第四时间戳的时间信息进行计算平均值,得到第二授时平均值;
将第二延时平均值与所述第二授时平均值相加得到所述标准授时时间。
优选的,所述根据所述每个授时请求的网络延时,计算第一延时平均值的步骤,包括:
当向所述网络授时服务器请求授时的次数等于M时,根据第M次请求授时之前每个网络授时服务器授时处理过的授时请求的网络延时,计算所述每个网络授时服务器的第三延时平均值,以及每个网络授时服务器授时处理的第M个授时请求的网络延时与所述第三延时平均值之间的误差;
将所述误差与预设的第二延时参考误差比较,并根据所述误差不大于第二延时参考误差的授时请求的网络延时,计算所述第一延时平均值。
优选的,所述每个网络授时服务器的第三延时平均值的计算公式如下:
其中,为在第M次请求授时时,第j个网络授时服务器的第三延时平均值;δij为在第i次请求授时过程中,第j个网络授时服务器授时处理过的授时请求的网络延时,i、j均为正整数。
为提高终端设备在请求授时过程中授时的时间精度,相应于本发明上述提供的网络授时装置、卫星授时装置及授时方法,本发明还提供一种授时系统,该系统包括卫星系统、网络授时服务器、卫星授时装置,以及上述的网络授时装置;
所述卫星系统,用于向所述的卫星授时装置提供卫星授时信号;
所述网络授时服务器,用于为所述卫星授时装置、所述网络授时装置提供时间信息;
所述卫星授时装置,用于接收卫星授时信号以及向网络授时服务器请求授时,所述卫星授时装置将所述卫星授时信号进行处理后向终端设备进行授时;
所述网络授时装置,用于向所述网络授时服务器、所述卫星授时装置请求授时,将所述网络授时服务器、所述卫星授时装置的时间信息进行处理后向客户端进行授时。
本发明在设计的上述网络授时装置,采用的是通过向多个网络授时服务器请求授时,和对时间信息的计算分析,剔除所有授时请求中较大的网络延时和较大的网络授时服务器授时时间(该授时时间指的是授时请求离开网络授时服务器时,网络授时服务器加盖的时间戳的时间),剩余的较小网络延时计算平均值,以及将剩余较小的授时时间计算平均值,将两种平均值相加即可得到较高精度的授时时间(本发明中所称的标准授时时间)。在现有的NTP算法中是将网络授时服务器授时时间与授时请求的网络延时直接相加,而本发明将NTP算法做了改进,即向多个网络授时服务器请求授时,通过去除误差较大的授时时间和网络延时,进而提高了授时的精度。
其次,为防止由于授时请求传输路径的突变或者故障,而涉入较大的授时请求的网络延时,本发明在设计上述网络授时装置时,设定一个预设值M,当网络授时装置请求授时的次数等于该值时,通过分析以往每次请求授时过程中,每一个网络授时服务器处理过的授时请求的网络延时数据,剔除由于传输路径的突变或者故障而引起的较大的网络延时,进而保障和提高网络授时的精度。
另外,本发明在设计的上述卫星授时装置时,引入卫星定位授时模块,用于获取卫星的时间,作为优选的授时时间,在上述网络授时装置的基础上进一步提高授时的可靠性,同时可作为时间源为其他授时装置提供准确的时间。此外,本卫星授时装置可为终端设备提供定位功能,利用卫星定位功能,动态的建立起终端设备地理位置信息系统,依据终端设备地理位置信息大数据,配合手机端的智能应用,可以做到故障点设备自动导航,节省故障点位置查找时间以及无法查找的难题。
再者,本发明提供的一种配电终端设备,在校准终端设备的系统时间时,无需对配电终端设备的主要部分做改动,而只需在设备的无线公网通信模块中加入本法发明的网络授时装置或者卫星授时装置即可。
最后,本发明在设计上述的授时系统时,将上述的网络授时装置和卫星授时装置共同用于多个需要授时的终端设备,由于卫星授时装置可以向卫星,NTP服务器请求授时,且优选卫星时间作为最终的授时时间,因此卫星授时装置的系统时间相对来说会更准确;基于此,由于网络授时装置既可以向卫星授时装置请求授时,又可以向NTP请求授时,因此当在众多的终端设备中应用网络授时装置和卫星授时装置时,网络授时装置和卫星授时装置时形成的多源交叉时间同步的网络,成本上升不高,而可靠性高,即使个别模块有问题时或极端天气下亦可保证整个系统的时间稳定性。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1是本发明实施例提供的一种网络授时装置的结构示意图。如图1所示,其中本实施采用卫星和NTP服务器作为本实施例网络授时装置请求授时的时间源。本实施例提供的网络授时装置包括处理模块101、输入输出接口102、检测模块103、RTC电路模块104、温度传感器105、卫星授时定位模块106;
其中,处理模块101基于NTP协议产生用于向NTP服务器请求授时的NTP授时请求;处理模块101将产生的NTP授时请求通过输入输出接口102同时发送给若干个NTP服务器;当NTP授时请求经过输入输出接口102时,输入输出接口102向处理模块101获取当时的系统时间,将经过的NTP授时请求加盖第一时间戳;当经各个NTP服务器授时处理后并返回的授时请求经过输入输出接口102时,输入输出接口102向处理模块101获取当时的系统时间,将各个NTP服务器返回的授时请求加盖第二时间戳后传输给给所述处理模块101。
处理模块101根据经所述输入输出模块102返回的各个授时请求中的时间信息,计算标准授时时间,并将处理模块101的系统时间与所述标准授时时间同步后作为本网络授时装置的系统时间。
输入输出模块102包括驱动模块和执行模块;当处理模块101产生的NTP授时请求经过输入输出模块102时,驱动模块向处理模块101发送指令,获取处理模块101的系统时间,并根据所获取当时的系统时间将所述NTP授时请求加盖第一时间戳,执行模块将加盖第一时间戳的NTP授时请求同时发送给若干个NTP服务器;当NTP服务器将接收的授时请求进行收拾处理并经过输入输出模块102返回时,驱动模块向处理模块101发送指令,获取处理模块101当时的系统时间,并根据所获取的系统时间将NTP服务器返回的授时请求加盖第二时间戳后传输给给所述处理模块101。
RTC电路模块104处理模块101中的时钟晶振提供守时服务,保障网络授时装置的系统时间精度;温度传感器104检测处理模块101中的时钟晶振所处的环境温度;处理模块101根据温度传感器104检测的温度信息,采用数字温漂补偿方法实时对处理模块101的系统时间进行修正。
检测模块103监测外部控制设备向需要授时的终端设备发送的对时命令,当检测模块103监测到外部控制设备向需要授时的终端设备发送的对时命令时,检测模块103根据已经同步对时有效的处理模块101的系统时间,更新所述对时命令中的时间,并将更新后的对时命令发送给需要授时的终端设备。
图2是本实施例的网络授时装置第i次向第j个NTP服务器请求授时时返回的NTP授时请求的报文示意图。如图2所示,由于本实施例的网络授时装置隔一段时间向j个NTP服务器发起一次授时请求,且每次从处理模块101发出NTP授时请求到每个NTP服务器返回NTP授时请求的机制是一致的,因此可通过阐述本实施例的网络授时装置任意一次向任意一个NTP服务请求授时的过程来说明本实施例的网络授时装置的请求授时机制。以下是本实施例的网络授时装置中处理模块101第i次向第j个NTP服务器请求授时的具体过程:
处理模块101产生NTP授时请求,并将产生的NTP授时请求输出至输入输出接口102;当输入输出接口102检测到处理模块101发出的NTP授时请求经过时,输入输出接口102向处理模块101获取处理模块101当时的系统时间,并根据所获取的系统时间将检测到的处理模块101发出的NTP授时请求加盖时间戳Ti1(该时间戳记为第i次请求授时时,每一个授时请求的第一时间戳),然后发送给NTP服务器NTPj;
NTP服务器NTPj接收到盖有时间戳Ti1的NTP授时请求时,根据自身当时的系统时间将盖有时间戳Ti1的NTP授时请求加盖时间戳Ti-NTPj-1(该时间戳记为该授时请求的第三时间戳);当NTP服务器NTPj向输入输出接口102发出盖有时间戳Ti1、时间戳Ti-NTPj-1的NTP授时请求时,NTP服务器NTPj根据自身当时的系统时间将盖有时间戳Ti1、时间戳Ti-NTPj-1的NTP授时请求加盖时间戳Ti-NTPj-2(该时间戳记为该授时请求的第四时间戳);输入输出接口102接收到NTP服务器NTPj返回的盖有时间戳Ti1、时间戳Ti-NTPj-1、时间戳Ti-NTPj-2的NTP授时请求时,输入输出接口102根据处理模块101当时的系统时间,将NTP服务器NTPj返回的盖有时间戳Ti1、时间戳Ti-NTPj-1、时间戳Ti-NTPj-2的NTP授时请求加盖时间戳Ti2-NTPj(该时间戳记为该授时请求的第二时间戳);得到盖有时间戳Ti1、时间戳Ti-NTPj-1、时间戳Ti-NTPj-2、时间戳Ti2-NTPj的NTP授时请求;输入输出接口102将盖有时间戳Ti1、时间戳Ti-NTPj-1、时间戳Ti-NTPj-2、时间戳Ti2-NTPj的NTP授时请求传输给处理模块101;
根据上述过程,得到本实施例的网络授时装置前i次向j个NTP服务器请求授时时返回的NTP授时请求的报文,如图3所示,图3是图1中的网络授时装置前i次向j个NTP服务器请求授时时返回的NTP授时请求的报文示意图。
当处理模块101向j个NTP服务器进行第i次请求授时时,处理模块101根据各个NTP服务器返回的每一个NTP授时请求中时间戳的时间信息,计算处理模块101第i次请求授时时的第二延时平均值与所述第二授时平均值并将第二延时平均值与所述第二授时平均值相加,得到处理模块101第i次请求授时的标准授时时间,具体过程如下。
第二延时平均值的计算过程如下:
处理模块101采用NTP算法,通过以下公式,计算第i次请求授时的过程中每一个NTP授时请求的网络延时:
其中,δij为处理模块101第i次向第j个NTP服务器请求授时的过程中,发出的NTP授时请求往返的网络延时的平均值,记为该NTP授时请求的网络延时,Ti2NTPj为时间戳Ti2-NTPj的时间信息,TiNTPj2为时间戳Ti-NTPj-2的时间信息,TiNTPj1为时间戳Ti-NTPj-1的时间信息,Ti1为时间戳Ti1的时间信息,i、j为正整数。
根据公式(Ι)计算得到处理模块101第i次请求授时的过程中每一个NTP授时请求的网络延时:δi1,δi2,…δi(j-1),δij,如图4所示,图4是前i次向j个NTP服务器请求授时过程中,均通过公式(Ι)计算得到的各个NTP授时请求的网络延时。
得到第i次请求授时的过程中每一个NTP授时请求的网络延时后,处理模块101计算第i次请求授时的过程中,所有NTP授时请求的网络延时的平均值,作为第一延时平均值具体如下:
其中,为处理模块101第i次向j个NTP服务器请求授时过程中,所有NTP授时请求的网络延时的平均值,即处理模块101第i次请求授时的第一延时平均值
得到第一延时平均值后,处理模块101计算每个NTP授时请求的网络延时与第一延时平均值之间的误差,具体如下:
其中,δij为处理模块101第i次向第j个NTP服务器请求授时过程中,发送的NTP授时请求的网络延时,Δδij为处理模块101第i次向第j个NTP服务器请求授时过程中,发送的NTP授时请求的网络延时与第一延时平均值之间的误差。
得到每个NTP授时请求的网络延时与第一延时平均值之间的误差后,将每个NTP授时请求的网络延时的误差分别与预设的第一延时参考误差Δδ1进行比较,并根据误差不大于第一延时参考误差Δδ1的网络延时,计算第二延时平均值具体为:
如果Δδij不大于Δδ1,则将误差不大于Δδ1的NTP授时请求的网络延时进行计算平均值,并将计算得到的结果作为第二延时平均值例如:
Δδi1,Δδi2,…Δδi(j-1),Δδij中,Δδi2、…、Δδi(j-1)都不大于第一延时参考误差Δδ1,则:
其中,为处理模块101第i次请求授时的第二延时平均值,(j-2)表示误差不大于第一延时参考误差Δδ1的网络延时的个数。
第二授时平均值的计算过程如下:
处理模块101根据每一个授时请求的第四时间戳的时间信息(即NTP服务器在向输入输出模块102返回的NTP授时请求时对所述NTP授时请求加盖的时间戳的时间信息),计算处理模块101第i次请求授时的第一授时平均值具体如下:
其中,为处理模块101第i次请求授时的第一授时平均值,TiNTP12、TiNTP22、…、TiNTP(j-1)2、TiNTPj2为每一个授时请求的第四时间戳的时间信息。
得到处理模块101第i次请求授时的第一授时平均值后,处理模块101分别计算每一个授时请求的第四时间戳的时间信息(即时间信息TiNTP1、2TiNTP2、2…、TiNTP(j-1)2、TiNTPj2)与第一授时平均值之间的误差,具体如下:
其中,ΔTij为时间戳Ti-NTPj-2的时间信息TiNTPj2与第一授时平均值之间的误差;Ti-NTPj-2为处理模块101根据第i次请求授时时,第j个NTP服务器在向输入输出模块102返回的NTP授时请求时对所述NTP授时请求加盖的时间戳。
得到每一个授时请求的第四时间戳的时间信息与第一授时平均值的误差后,将每一个授时请求的第四时间戳的时间信息与第一授时平均值的误差分别与预设的第一授时参考误差ΔT1进行比较,并根据误差不大于第一授时参考误差ΔT1的时间信息,计算第二授时平均值,例如:
ΔTi1,ΔTi2,…ΔTi(j-1),ΔTij中,ΔTi2、…、ΔTi(j-1)都不大于第一授时参考误差ΔT1,则第二授时平均值为:
其中,为处理模块101第i次请求授时的第二授时平均值,(j-2)表示误差不大于第一授时参考误差ΔT1的时间信息的个数。
得到处理模块101第i次请求授时的第二延时平均值第二授时平均值后,将第二延时平均值第二授时平均值相加,即得到处理模块101第i次请求授时的标准授时时间。
图5是本实施例的网络授时装置请求授时次数等于预设值M时的NTP授时请求的网络延时分布示意图。如图5所示,由于处理模块101为隔一段时间产生一次授时请求,因此当所述处理模块101向NTP服务器请求授时的次数等于预设值M时,处理模块101从第M次请求授时开始(包括第M次),第一延时平均值的计算具体为:
处理模块101计算在第M次请求授时之前,每个NTP服务器授时处理过的NTP授时请求的网络延时的平均值,作为所述每个网络授时服务器各自的第三延时平均值具体为:
其中,为处理模块101在第M次请求授时时,第j个网络授时服务器的第三延时平均值;δij为所述处理模块101在第i次请求授时过程中,第j个NTP服务器授时处理过的NTP授时请求的网络延时。
采用公式(Ⅱ)计算得到每个NTP服务器各自的第三延时平均值后,处理模块101计算每个NTP服务器授时处理的第M个NTP授时请求的网络延时与每个NTP服务器各自的第三延时平均值之间的误差,以及将所述误差与预设的第二延时参考误差Δδ2比较,并根据所述误差不大于第二延时参考误差Δδ2的NTP授时请求的网络延时,计算处理模块101第M次请求授时时的第一延时平均值具体过程为:
其中ΔδMj为处理模块101第M次请求授时时,第j个NTP服务器授时处理的第M个NTP授时请求的网络延时与第j个NTP服务器的第三延时平均值之间的误差;δMj为处理模块101第M次请求授时时,第j个NTP服务器授时处理的第M个NTP授时请求的网络延时。
通过上述公式计算得到每个NTP服务器处理的的第M个NTP授时请求的网络延时与每个NTP服务器的第三延时平均值之间的误差:ΔδM1、ΔδM2、…、ΔδM(j-1)、ΔδMj,处理模块101将ΔδM1、ΔδM2、…、ΔδM(j-1)、ΔδMj分别与第二延时参考误差Δδ2比较,例如:
ΔδM1、ΔδM2、…、ΔδM(j-1)、ΔδMj中,ΔδM2、…、ΔδM(j-1)都不大于第二延时参考误差Δδ2,则处理模块101第M次请求授时时的第一延时平均值为:
其中,为处理模块101请求授时时的第一延时平均值,δM2、…、δM(j-1)为处理模块101请求授时时,第2个NTP服务器至第(j-1)个服务器处理的NTP授时请求的网络延时,(j-2)表示网络延时误差不大于第二延时参考误差Δδ2的NTP授时请求的个数。
得到处理模块101第M次请求授时时的第一延时平均值后,处理模块101可继续根据得到的第一延时平均值计算第二延时平均值
本实施例中所采用的NTP服务器的个数可根据具体需求而定,本实施例优选四个,即j=4。
通过上述计算过程,得到标准授时时间,处理模块101将处理模块101的系统时间与标准授时时间同步,并将同步后的系统时间标记至有效。
检测模块103监测外部控制设备(如前置机)向需要授时的终端设备发送的对时命令,当检测模块103监测到外部控制设备向需要授时的终端设备发送的对时命令时,检测模块103判断处理模块101的系统时间是否有效,若处理模块101的系统时间有效,则检测模块103根据处理模块101的系统时间,更新所述对时命令中的时间,并将更新后的对时命令发送给需要授时的终端设备;若处理模块101的系统时间无效,则检测模块103不对所述对时命令中的时间做处理。
RTC电路模块104采用工业级的RTC电路,用于与处理模块101中的时钟晶振连接,为处理模块101中的时钟晶振提供守时服务,保证网络授时装置的授时精度,其月守时误差<1秒。
温度传感器104检测处理模块101中的时钟晶振所处的环境温度;处理模块101根据温度传感器104检测的温度信息,采用数字温漂补偿方法实时对处理模块101的系统时间进行修正。
通过上述实现的网络授时装置,可隔一段时间将已和有效的处理模块101的系统时间通过输入输出模块102发送给终端设备进行授时,或者当接收到终端设备的授时请求时,将有效的处理模块101的系统时间通过输入输出模块102发送给所述终端设备进行授时,或者当监测到外部控制设备(如前置机)向终端设备发送对时命令时,将所述对时命令中的时间进行更新,并将更新后的对时命令发送给需要授时的终端设备。
如图6所示,相应于上述网络授时装置,本发明提供一种卫星授时装置的实施例,该卫星授时装置包括:卫星授时定位模块106、判断模块107、以及上述实施例中的网络授时装置;
卫星授时定位模块106采用北斗、GPS双模授时方式获取卫星时间;判断模块107对卫星授时定位模块106获取的卫星时间进行判断,如果卫星授时定位模块106获取的卫星时间有效,判断模块107将所述卫星时间发送给网络授时装置,网络授时装置中的处理模块101将处理模块101的系统时间与卫星时间同步,作为网络授时装置的系统时间,此时网络授时装置的系统时间即为卫星授时装置的系统时间;如果卫星授时定位模块106获取的卫星时间无效,网络授时装置中的处理模块101将向NTP服务器请求授时并计算得到的标准授时时间作为所述卫星授时装置的系统时间。
卫星授时定位模块106采用北斗、GPS双模授时方式获取的卫星时间,其误差小于20ns,此外卫星授时定位模块106为本卫星授时装置提供定位功能。
基于上述实施例提供的网络授时装置和卫星授时装置,本发明实施例还提供一种配电终端设备,设备该配电终端包括上述的网络授时装置或卫星授时装置;所述网络授时装置或所述卫星授时装置,用于为所述配电终端设备提供系统时间。
相应于上述网络授时装置的实施例,本发明提供一种授时方法的实施例,采用该授时方法,隔一段时间向每个NTP服务器进行一次授时请求,每一次授时请求包括以下步骤:
采用所述输入输出模块102将授时请求加盖第一时间戳,并将加盖第一时间戳的授时请求传输给至少两个网络授时服务器;以及将经所述网络授时服务器授时处理后返回的授时请求加盖第二时间戳。
根据所述所述输入输出模块102返回的授时请求中的时间信息计算标准授时时间,并将所述标准授时时间作为所述网络授时装置的系统时间。
所述第一时间戳和所述第二时间戳由所述输入输出模块102根据所述处理模块101的系统时间加盖。其中,第一时间戳为NTP授时请求在经过所述输入输出模块102时,输入输出模块102根据当时的本地时间,将所述NTP授时请求加盖的时间戳;第二时间戳为NTP服务器返回的NTP授时请求经过输入输出模块102时,输入输出模块102根据当时的本地时间,对所述NTP授时请求加盖的时间戳。
上述经所述输入输出模块102返回的授时请求中的时间信息包括第一时间戳、所述第二时间戳、第三时间戳和第四时间戳;
其中,第三时间戳由所述网络授时服务器在接收来自所述输入输出模块102的授时请求时根据自身的系统时间对所述授时请求加盖;
第四时间戳由所述网络授时服务器在要向所述输入输出模块102返回授时请求时,根据自身的系统时间对所述授时请求加盖。
根据经所述输入输出模块102返回的授时请求中的时间信息,计算标准授时时间的步骤,包括:
根据每个所述授时请求中的时间信息,采用NTP算法计算每个授时请求的网络延时;(具体计算过程,如上述实施例网络授时装置中对每一个NTP授时请求的网络延时的计算)
根据所述每个授时请求的网络延时,计算第一延时平均值,以及每个授时请求的网络延时与所述第一延时平均值之间的误差;(每个NTP授时请求的网络延时与第一延时平均值之间误差的计算过程,如上述实施例网络授时装置中对每个NTP授时请求的网络延时与第一延时平均值之间误差的计算)
将所述每个授时请求的网络延时的误差与预设的第一延时参考误差进行比较,并根据误差不大于第一延时参考误差的网络延时,计算第二延时平均值;(每个NTP授时请求的网络延时的误差与预设的第一延时参考误差的比较过程,以及第二延时平均值的计算过程,如上述实施例网络授时装置中对每个NTP授时请求的网络延时的误差与预设的第一延时参考误差Δδ1的比较,以及对第二延时平均值的计算)
根据所述每个授时请求的第四时间戳的时间信息,计算第一授时平均值,以及每个第四时间戳的时间信息与所述第一授时平均值之间的误差;(第一授时平均值的计算,以及每个第四时间戳的时间信息与第一授时平均值之间误差的计算,如上述实施例网络授时装置中对第一授时平均值的计算,以及对每个第四时间戳的时间信息与第一授时平均值之间误差的计算)
将所述每个第四时间戳的时间信息的误差与预设的第一授时参考误差进行比较,并根据误差不大于第一授时参考误差的第四时间戳的时间信息,计算第二授时平均值;(每个第四时间戳的时间信息的误差与预设的第一授时参考误差进行比较过程,以及第二授时平均值的具体计算过程如上述实施例网络授时装置中对每个第四时间戳的时间信息的误差与预设的第一授时参考误差进行的比较,以及对第二授时平均值的计算)
将所述第二延时平均值与所述第二授时平均值相加得到所述标准授时时间。
其中,根据所述每个授时请求的网络延时,计算第一延时平均值的步骤,包括:
当向所述网络授时服务器请求授时的次数等于M时,根据第M次请求授时之前每个网络授时服务器授时处理过的授时请求的网络延时,计算所述每个网络授时服务器的第三延时平均值,以及每个网络授时服务器授时处理的第M个授时请求的网络延时与所述第三延时平均值之间的误差;
将所述误差与预设的第二延时参考误差比较,并根据所述误差不大于第二延时参考误差的授时请求的网络延时,计算所述第一延时平均值。
其中,每个NTP服务器各自的第三延时平均值的计算公式如下:
其中,为处理模块101在第M次请求授时之前,第j个网络授时服务器的第三延时平均值;δij为所述处理模块101在第i次请求授时过程中,第j个NTP服务器授时处理过的NTP授时请求的网络延时,第i、j均为正整数。
图7时本发明实施例提供的一种授时系统的结构示意图。如图7所示,相应于上述实施例的网络授时装置、卫星授时模块,及授时方法,本发明提供了一种授时系统,该系统包括:卫星系统、NTP服务器,以及上述实施例中的网络授时装置、卫星授时装置;本实施例采用两个网络授时装置和三个卫星授时装置;NTP服务器若干个,具体数目可根据具体情况而定,但不少于两个;卫星系统包括北斗卫星系统、GPS卫星系统。
卫星授时装置1、卫星授时装置2、卫星授时装置3、网络授时装置1、网络授时装置2分别安装或者嵌入在需要授时的终端设备中。其中,卫星授时装置1、卫星授时装置2、卫星授时装置3隔一段时间分别向卫星系统和各个NTP服务器的时间进行一次授时请求,以及各自将获取的时间信息进行处理后更新各自的系统时间,并向各自的终端设备进行授时;网络授时装置1、网络授时装置2隔一段时间分别向卫星授时装置1、卫星授时装置2、卫星授时装置3和各个NTP服务器进行一次授时请求,以及各自将获取的时间信息进行处理后更新各自的系统时间,并向各自的终端设备进行授时。当各个授时装置检测到外部控制设备向终端设备发送的对时命令时,各授时装置根据各自的系统时间是否已同步有效,如果有效则将对时命令中的时间信息替换掉,并将更新后的对时命令发送给相应的终端设备。
在实际情况中,可根据实际需求将卫星授时装置用于给重要的终端是被授时,网络授时装置用于给相对次要的终端设备授时;
以上各个授时装置的数目,在实际情况中可根据实际需求选择网络授时装置和卫星授时装置而定。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。