一种基于二次多项式的时间同步方法技术

技术编号:25230266 阅读:26 留言:0更新日期:2020-08-11 23:17
本发明专利技术公开了一种基于二次多项式的时间同步方法,包括客户端、服务器端两部分,具体实现方法如下:首先,本方法为客户端与服务器端定义若干种状态,在进行时间同步时,根据不同状态发送不同数据包;其次,客户端无法直接从服务器获取明文的时间数据,需要对时间数据进行特定公式的计算才可以获得时间信息;最终,客户端根据获得的时间信息与服务器端进行时间同步。本方法在时间同步过程中,不使用明文时间数据进行传输,增加了服务器端的信息安全,并且服务器端与客户端进行时间数据封装与解析时,使用二次多项式的方法,避免复杂的加密解密过程,降低服务器端与客户端的性能功耗。

【技术实现步骤摘要】
一种基于二次多项式的时间同步方法
本专利技术涉及计算机时间同步
,具体是一种基于二次多项式的时间同步方法。
技术介绍
目前,在计算机领域时间同步绝大部分使用网络时间协议(NTP),该协议可以提供高精准度的时间校正,但是该协议在时间同步过程中,使用明文数据进行传输校对,这会大大降低服务器安全性。
技术实现思路
为了克服上述现有技术的缺点,本专利技术提供一种基于二次多项式的时间同步方法,有效提高了在时间同步时服务器数据传输的安全性。本专利技术是以如下技术方案实现的:一种基于二次多项式的时间同步方法,其特征在于:包括客户端、服务器端两部分;首先,为客户端与服务器端定义若干种状态,在进行时间同步时,根据不同状态发送不同数据包;其次,客户端无法直接从服务器获取明文的时间数据,需要对时间数据进行二次多项式计算可以获得时间信息;最终,客户端根据获得的时间信息与服务器端进行时间同步。优选的,客户端有5种状态,分别是:Down状态、Init状态、Active状态、Exchange状态、Full状态;具体每种状态设计如下:(1)Down状态:客户端尚未开启的时间同步协议;(2)Init状态:客户端开启的时间同步协议,在该状态下,客户端主动向服务器端发送时间同步请求;(3)Active状态:当客户端在Init状态下,接收到服务器端返回的Ready包时,客户端从Init状态变为该状态,若接收到服务器端返回的Wait包,客户端状态不发生改变,仍为Init状态;(4)Exchange状态:当客户端在Active状态下,向服务器端发送日期请求Request-Date包时,客户端变为该状态,在该状态下,客户端接收到服务器返回的Offer-Date包后,再次向服务器发送时间请求Request-Time包,服务器端接收到Request-Time包后,返回Offer-Time包给客户端;(5)Full状态:当客户端成功获取到日期与时间数据后,通过特定公式计算出时间,并同步完成后,进入该状态,在该状态下,表示客户端已经与服务器时间同步完成,默认30分钟后客户端重新进入Init状态并重新进行时间同步。优选的,服务器端有3种状态,分别是:Down状态、Ready状态、Exchange状态;具体每种状态设计如下:(1)Down状态:服务器端尚未开启本专利技术的时间同步协议;(2)Ready状态:服务器端开启本专利技术的时间同步协议,在该状态下,表示服务器端可以进行时间同步,若接收到客户端发送的Hello包,则会回复Ready包;(3)Exchange状态:当服务器端在Ready状态下,回复过Ready包后,进入该状态,在该状态下,若服务器端收到客户端发送的Request-Date包与Request-Time包,会回复对应的Offer-Date包与Offer-Time包,若收到客户端发送的Hello包,则会回复Wait包,若对应一组Offer-Date包与Offer-Time包发送完毕后,则服务器端变回Ready状态。优选的,各种状态中,其数据包格式如下:(1)Hello包:数据包类型-固定值01代表本包类型、源IP地址、目标IP地址;(2)Ready包:数据包类型-固定值02代表本包类型、状态类型(固定值ready)、源IP地址、目标IP地址;(3)Wait包:数据包类型-固定值03代表本包类型、状态类型(固定值wait)、说明、源IP地址、目标IP地址;(4)Request-Date包:数据包类型-固定值04代表本包类型、请求日期字段、源IP地址、目标IP地址;(5)Offer-Date包:数据包类型-固定值05代表本包类型、源IP地址、目标IP地址、日期数据;(6)Request-Time包:数据包类型-固定值06代表本包类型、请求时间字段、源IP地址、目标IP地址;(7)Offer-Time包:数据包类型-固定值07代表本包类型、源IP地址、目标IP地址、时间数据。优选的,日期同步计算方法如下:服务器端利用二次多项式y=ax2+bx+c来进行对日期数据的封装,其中a表示年份,b表示月份,c表示日,分别随机3个x值,根据公式分别计算出y值,根据x值与y值以(x,y)的形式放入Offer-Date包中的日期数据字段返回给客户端,客户端接收到3组(x,y)后,分别将x值与y值带入公式中,通过计算,可以得到a、b、c,即年、月、日。优选的,时间同步计算方法如下:服务器端利用二次多项式y=mx2+nx+q来进行对时间数据的封装,其中m表示小时,n表示分钟,q表示秒,分别随机3个x值,根据公式分别计算出y值,根据x值与y值以(x,y)的形式放入Offer-Time包中的时间数据字段返回给客户端,客户端接收到3组(x,y)后,分别将x值与y值带入公式中,通过计算,可以得到m、n、q,即时、分、秒。与已有技术方案相比,本专利技术的有益效果:(1)在时间同步过程中,不使用明文时间数据进行传输,增加了服务器端的信息安全;(2)服务器端与客户端进行时间数据封装与解析时,使用二次多项式的方法,避免复杂的加密解密过程,降低服务器端与客户端的性能功耗。附图说明下面结合附图对本专利技术作进一步说明。图1为本专利技术的整体流程图;图2为本专利技术中客户端状态示意图;图3为本专利技术中服务器端状态示意图;图4为本专利技术中Hello包格式示意图;图5为本专利技术中Ready包格式示意图;图6为本专利技术中Wait包格式示意图;图7为本专利技术中Request-Date包格式示意图;图8为本专利技术中Offer-Date包格式示意图;图9为本专利技术中Request-Time包格式示意图;图10为本专利技术中Offer-Time包格式示意图。具体实施方式如图1所示一种基于二次多项式的时间同步方法及其通信协议,包括客户端、服务器端两部分,具体实现方法如下:首先,本方法为客户端与服务器端定义若干种状态,在进行时间同步时,根据不同状态发送不同数据包。其次,客户端无法直接从服务器获取明文的时间数据,需要对时间数据进行特定公式的计算才可以获得时间信息。最终,客户端根据获得的时间信息与服务器端进行时间同步。如图2所示,本专利技术中客户端有5种状态,客户端有5种状态,分别是:Down状态、Init状态、Active状态、Exchange状态、Full状态,具体每种状态设计如下:(1)Down状态:客户端尚未开启的时间同步协议;(2)Init状态:客户端开启的时间同步协议,在该状态下,客户端主动向服务器端发送时间同步请求;默认每10秒向服务器发送一次Hello包;(3)Active状态:当客户端在Init状态下,接收到服务器端返回的Ready包时,客户端从Init状态变为该状态,若接收到服务器端返回本文档来自技高网...

【技术保护点】
1.一种基于二次多项式的时间同步方法,其特征在于:包括客户端、服务器端两部分;/n首先,为客户端与服务器端定义若干种状态,在进行时间同步时,根据不同状态发送不同数据包;/n其次,客户端无法直接从服务器获取明文的时间数据,需要对时间数据进行二次多项式计算可以获得时间信息;/n最终,客户端根据获得的时间信息与服务器端进行时间同步。/n

【技术特征摘要】
1.一种基于二次多项式的时间同步方法,其特征在于:包括客户端、服务器端两部分;
首先,为客户端与服务器端定义若干种状态,在进行时间同步时,根据不同状态发送不同数据包;
其次,客户端无法直接从服务器获取明文的时间数据,需要对时间数据进行二次多项式计算可以获得时间信息;
最终,客户端根据获得的时间信息与服务器端进行时间同步。


2.根据权利要求1所述的一种基于二次多项式的时间同步方法,其特征在于:客户端有5种状态,分别是:Down状态、Init状态、Active状态、Exchange状态、Full状态;具体每种状态设计如下:
(1)Down状态:客户端尚未开启的时间同步协议;
(2)Init状态:客户端开启的时间同步协议,在该状态下,客户端主动向服务器端发送时间同步请求;
(3)Active状态:当客户端在Init状态下,接收到服务器端返回的Ready包时,客户端从Init状态变为该状态,若接收到服务器端返回的Wait包,客户端状态不发生改变,仍为Init状态;
(4)Exchange状态:当客户端在Active状态下,向服务器端发送日期请求Request-Date包时,客户端变为该状态,在该状态下,客户端接收到服务器返回的Offer-Date包后,再次向服务器发送时间请求Request-Time包,服务器端接收到Request-Time包后,返回Offer-Time包给客户端;
(5)Full状态:当客户端成功获取到日期与时间数据后,通过特定公式计算出时间,并同步完成后,进入该状态,在该状态下,表示客户端已经与服务器时间同步完成,默认30分钟后客户端重新进入Init状态并重新进行时间同步。


3.根据权利要求1所述的一种基于二次多项式的时间同步方法,其特征在于:服务器端有3种状态,分别是:Down状态、Ready状态、Exchange状态;具体每种状态设计如下:
(1)Down状态:服务器端尚未开启本发明的时间同步协议;
(2)Ready状态:服务器端开启本发明的时间同步协议,在该状态下,表示服务器端可以进行时间同步,若接收到客户端发送的Hello包,则会回复Ready包;
(3)Exchange状态:当服务器端在Ready状态下,回复过Ready包后,进入该状态,在该状态下,若服务器端收到客户端发送的Request-Date包与R...

【专利技术属性】
技术研发人员:张昊吴响谢勇武精明吴剑秋
申请(专利权)人:徐州市口腔医院徐州医科大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1