一种电信领域中网络时间同步的时间调整算法的制作方法

文档序号:7613824阅读:134来源:国知局
专利名称:一种电信领域中网络时间同步的时间调整算法的制作方法
技术领域
本发明涉及一种电信领域中网络时间同步的时间调整算法,特别适用于以太网络或其它传输网络中,用于精确地实现网络内各个设备的时间同步。
背景技术
伴随着20世纪70年代的个人计算机革命,出现了一个巨大的时间和频率的用户群。这些人需要将计算机保持精确时间。但是计算机时钟在保持时间方面不可能特别精确,这是由计算机的时间保持原理所决定的。
自从1984年出现了IBM-AT个人计算机以后,所有的PC兼容机以同样的方式保持时间。不管它们是286、386、486或是奔腾微处理器,每个PC包含两个时钟软时钟和硬时钟。
软时钟由Intel8254定时器或类似的功能设备产生。定时器每54.936毫秒产生一个中断,每秒大约18.2个中断。计算机的BISO中有一个程序,计算中断请求,产生一个对应于“天”的时钟,该时间可通过其它软件读取或修改。例如,操作系统能够使用该程序产生的时间信息,给文件打上时间戳。
软件时钟的时间保持功能较差,由于受中断请求稳定性的限制,它的时间不可靠,任何中断请求速度上的变化都会影响时钟的快慢,软件时钟也受限于分辨率,软件时钟的最大缺点是,当计算机停止运行后,时钟停止运行,并丢失time-of-day的信息。
硬件时钟基于Motorola146818实时钟芯片或类似设备,当计算机关机后,硬件时钟使用电池供电,当计算机启动后,软件时钟从硬件时钟中获得当前时间,尽管软/硬件时钟在上电的时候同步过,但它们以各自的速率运行,在计算机运行时彼此之间会有所不同。
硬件时钟每秒更新一次,但是不显示一秒的小数部分,时间的可信度由晶振的质量决定,它们对温度等其它因素敏感,精确度不会好于1*10-5,大约一天误差1秒,在实际情况中,硬件时钟每天偏差5-15秒,典型值是每天偏10秒。
目前应用较广的时间同步方式,一种为因特网时间同步如果计算机与因特网连接,能够通过因特网时间服务器同步计算机的时钟。
因特网时间服务器使用三种主要的协议时间协议、白天协议、网络时间协议。时间服务器不断地监听同步请求,当服务器接收到一个请求,它会以适当的格式向你的计算机发送时间。
另一种为拨号时间设置服务如果计算机没有与因特网连接,能够使用标准的电话线和类似的调制解调器,将计算机时间与NIST实现同步。这种服务称为ACTS自动计算机时间服务,开始于1988年,ACTS仅需要一台计算机、一个调制解调器和电话线及一些简单的软件,当一个计算机通过电话与ACTS连接,它接收ASCII时间码,时间码中包含当前时间的信息。
第三种为无线时钟因特网时间同步和拨号时间设置服务都有一个共同的缺点,那就是需要有电缆线将时间服务器与计算机连接起来。如果通过使用无线时钟,那么可以随时随地获得精确时间,有许多不同类型的无线时钟,可通过无线电接收时间码。
第四种为硬件时钟通过使用一个更好的时钟代替原来PC上的时钟,能够提高它的时钟保持能力。先前提到,普通的PC使用低成本的晶体振荡器来保持时间。如果选用更好的硬件基础平台,就能获得更好的时间保持能力。精确的时钟板给PC总线提供脉冲,时钟板使用的晶振比PC中的晶振好很多,能有效地代替硬件时钟。
但不管使用哪一种方式,应用于电信领域,都存在一定的局限性。后三种方法,由于需要特殊的硬件支持,无法得到广泛的使用。第一种因特网时间同步方法虽然使用方便,但精度较低,需作某些改进。

发明内容
本发明的目的是发明一种高效、精确的电信领域中网络时间同步的时间调整算法。
为实现以上目的,本发明的技术方案是提供一种基于网络时间同步的时间逼近调节算法,其特征在于,使用网络时间逼近算法,采用时间收敛逼近的方法,使得设备的时间逐步向时间服务器的时间收敛逼近,最后将设备的时间与时间服务器的标准时间之间的偏差控制在一个较小的范围内,该算法为第一步.先定义网络中进行时间同步的服务器端设备定义为S;进行时间同步的客户端设备定义为C;客户端C和服务端S使用NTP协议进行通讯,设定偏差纠正门限为ε,调整幅度为δ,使得δ<ε;第二步.访问客户端C服务器;第三步.计算出客户端C同步NTP消息包和服务端S之间的时间偏差Toffset;第四步.如果客户端C从未初始化过时间,初始化系统当前时间,则将客户端C当前的系统时间Tc加上Toffset设置为客户端C的当前时间;第五步.如果客户端C已经初始化过时间,则以客户端C的当前系统时间Tc为基准,以Toffset为参考,微调客户端C的时间,进行修正;第六步.使用网络时间逼近算法,修正后的时间为如果Toffset≥+ε,说明使得客户端C的时间比服务器端S的时间快。修正客户端C的时间,即将客户端C的当前时间往回调整δ,使得修正后的时间Tc′等于Tc-δ;如果Toffset≤-ε,说明使得客户端C的时间比服务器端S的时间慢。修正客户端C的时间,即将客户端C的当前时间往前调整δ,使得修正后的时间Tc′等于Tc+δ;如果-ε<Toffset<ε,修正客户端C的时间,使得修正后的时间Tc′等于Tc+Toffset,即将客户端C的当前时间调整到服务器端S的时间;第七步.重复第五步步骤反复修正。
在网络时间同步中,影响时间精确度的关键原因在于由网络延迟的随机性而导致时钟延迟计算不准确,本发明在调整本地客户端的时间时,只有在客户端从未获取过时间的前提下,使用NTP算法得到的时间,执行一次时间初始化的动作,此时,获得的时间并不一定准确。
在随后的过程中,本发明的算法每次只是对客户端C的时间进行微量调整,尽管单个数据包的网络延迟存在随机性,但是从总体上,大量数据包的延迟是有规律的,正偏和负偏的概率是对称的,通过一次次的微调,使得客户端C的时间向正确方向逐步逼近,随着调整次数越来越多,则客户端C的时间越来越逼近时间服务器S的时间。使用该算法,从整个时间同步过程来看,刚开始客户端的时间并不很准确,精确度同使用SNTP算法获得的结果属同样数量级;但随着时间同步次数的不断增加,客户端的时间向标准时间逐步逼近,呈现收敛特性同步次数足够多时,客户端时间与标准时间之间的偏差收敛到±δ附近,随后便维持在这一水平上,不再发生较大的时间偏差或抖动。
本发明可适用于局域网范围内和广域网范围内各种网络时间同步的客户端设备的时间要求。
本发明的优点是1不易受网络传输状况的影响,即使在传输较不稳定的情况下,也有较高的时间同步精度;2能够迅速获得一个能够使用的粗略时间,同时,随着时间同步调整次数的增多,时间越来越准确,抗干扰能力也越来越强;3使用本发明,客户端C的时间的线性一致性比较好,不会出现明显的时间阶跃现象;4.本发明对硬件要求不高。


图1为客户端时间同步方案流程图;图2为未调整前的时间偏差视图;图3为SNTP算法后的效果图;图4为网络时间逼近算法流程图;图5为使用网络时间逼近算法后的效果图。
具体实施例方式
以下结合附图和实施例对本发明作进一步说明。
实施例如图1所示,为客户端时间同步方案流程图,
第一步.在局域网N中,存在一台支持NTP协议的网络时间服务器S,一台客户端的设备C,C也在N网络中,C设备通过网络从S设备处获得时间,需要C提供准确的秒脉冲输出供其它设备使用,同时C设备不具有频率调节的硬件基础平台,在本例中使用SNTP算法和网络时间逼近算法,设置网络时间逼近算法的偏差纠正门限ε和调整幅度δ,使得δ<ε。门限ε设置为100微秒,调整幅度δ设置为30微秒。
第二步.访问客户端C服务器,客户端C服务器时间偏离的情况,如图2所示,可以看出,由于时钟频率的偏差,在没有作时间调整的情况下,C设备的时间呈线性偏离标准时间。
如图3所示,为SNTP算法后的效果图,在使用SNTP算法情况下,C设备的时间偏离被不断纠正回来,但由于网络传输不稳定的影响,C设备的时间存在较大的抖动。
第三步.如图4所示,为网络时间逼近算法流程图;使用网络时间逼近算法,计算出客户端C同步NTP消息包和服务端S之间的时间偏差Toffset;第四步.如果客户端C从未初始化过时间,初始化系统当前时间,则将客户端C当前的系统时间Tc加上Toffset设置为客户端C的当前时间;第五步.如果客户端C已经初始化过时间,则以客户端C的当前系统时间Tc为基准,以Toffset为参考,微调客户端C的时间,进行修正;第六步.修正后的时间为如果Toffset≥+ε,说明使得客户端C的时间比服务器端S的时间快。修正客户端C的时间,即将客户端C的当前时间往回调整δ,使得修正后的时间Tc′等于Tc-δ;如果Toffset≤-ε,说明使得客户端C的时间比服务器端S的时间慢。修正客户端C的时间,即将客户端C的当前时间往前调整δ,使得修正后的时间Tc′等于Tc+δ;
如果-ε<Toffset<ε,修正客户端C的时间,使得修正后的时间Tc′等于Tc+Toffset,即将客户端C的当前时间调整到服务器端S的时间;第七步.重复第五步步骤反复修正。
在使用网络时间逼近算法情况下,经过一段时间的逼近调整,C设备的时间逐步趋于准确,同时由于调整幅度δ的限制,使得网络传输干扰对C时间的影响减小很多,如图5所示,为使用网络时间逼近算法后的效果图,可以看出,随着时间同步次数的不断增加,客户端的时间向标准时间逐步收敛,当同步次数足够多时,客户端时间与标准时间之间的偏差收敛到±δ附近,此后时间偏差便维持在±δ的水平上。在图中所示的230秒位置以后,该算法将客户端的时间与标准时间偏差控制在±δ左右,即±30微秒。
从两种算法的运行结果可以看出,运行网络时间调整算法,设备C的时间明显比SNTP算法得到的时间精确、稳定。
通过网络实现时间同步,是一种比较方便的途径,也能保证一定的时间精确度,比较目前应用广泛的几种算法,其中NTP算法和SNTP算法最具有典型的代表性,下表对比分析了这两种网络时间同步算法和网络时间逼近算法之间的优缺点表一、算法的性能比较

通过上表可以看出,尽管NTP算法能够达到很高的精确度,但是该算法需要有比较特殊的硬件支持,如可调节频率的时钟晶振以及相位监测电路等,否则无法发挥作用。而网络时间逼近算法不需要特殊硬件的支持,就可以达到较高的精度。
权利要求
1.一种基于网络时间同步的时间逼近调节算法,其特征在于,使用网络时间逼近算法,采用时间收敛逼近的方法,使得设备的时间逐步向时间服务器的时间收敛逼近,最后将设备的时间与时间服务器的标准时间之间的偏差控制在一个较小的范围内,该算法为第一步.先定义网络中进行时间同步的服务器端设备定义为S;进行时间同步的客户端设备定义为C;客户端C和服务端S使用NTP协议进行通讯,设定偏差纠正门限为ε,调整幅度为δ,使得δ<ε;第二步.访问客户端C服务器;第三步.计算出客户端C同步NTP消息包和服务端S之间的时间偏差Toffset;第四步.如果客户端C从未初始化过时间,初始化系统当前时间,则将客户端C当前的系统时间Tc加上Toffset设置为客户端C的当前时间;第五步.如果客户端C已经初始化过时间,则以客户端C的当前系统时间Tc为基准,以Toffset为参考,微调客户端C的时间,进行修正;第六步.使用网络时间逼近算法,修正后的时间为如果Toffset≥+ε,说明使得客户端C的时间比服务器端S的时间快。修正客户端C的时间,即将客户端C的当前时间往回调整δ,使得修正后的时间Tc′等于Tc-δ;如果Toffset≤-ε,说明使得客户端C的时间比服务器端S的时间慢。修正客户端C的时间,即将客户端C的当前时间往前调整δ,使得修正后的时间Tc′等于Tc+δ;如果-ε<Toffset<ε,修正客户端C的时间,使得修正后的时间Tc′等于Tc+Toffset,即将客户端C的当前时间调整到服务器端S的时间;第七步.重复第五步步骤反复修正。
全文摘要
本发明涉及一种基于网络时间同步的时间逼近调节算法,其特征在于,使用网络时间逼近算法,采用时间收敛逼近的方法,使得设备的时间逐步向时间服务器的时间收敛逼近,最后将设备的时间与时间服务器的标准时间之间的偏差控制在一个较小的范围内,本发明的优点是不易受网络传输状况的影响,即使在传输较不稳定的情况下,也有较高的时间同步精度;能够迅速获得一个能够使用的粗略时间,同时,随着时间同步调整次数的增多,时间越来越准确,抗干扰能力也越来越强,使用本发明,客户端C的时间的线性一致性比较好,不会出现明显的时间阶跃现象;本发明对硬件要求不高。
文档编号H04L12/24GK1933414SQ20051002958
公开日2007年3月21日 申请日期2005年9月13日 优先权日2005年9月13日
发明者张永生, 许永毅, 王传法, 王炼栋 申请人:上海欣泰通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1