【技术实现步骤摘要】
一种系统时间的同步方法及装置
本专利技术涉及网络
,特别涉及一种系统时间的同步方法及装置。
技术介绍
目前,网络通常应用NTP(NetworkTimeProtocol,网络时间协议)来保持网络中各个设备的系统时间一致。比如:需要以时间作为参照依据,对从不同设备采集来的日志信息、调试信息进行分析的网络管理系统;对设备时间一致性有要求的计费系统;多个系统协同处理同一个比较复杂的事件的场合等等,都采用了NTP来保持网络中各个设备的系统时间一致。假设当前客户端A的时间为10:00:00am,服务器B的时间为11:00:00am。需要将客户端A的时间设定为与服务器B相同。现有技术中,应用如下步骤对客户端A的时间进行设定(假设NTP报文从客户端A到服务器B、从服务器B到客户端A单向传输所需要的时间、服务器B处理NTP报文所需的时间均为1秒):1、客户端A的NTP模块获取客户端A的第一当前时间10:00:00am作为NTP请求报文发送时间,将该NTP请求报文发送时间赋值给NTP请求报文的第一时间戳T1(OriginTimestamp),将封装好的NTP请求报文传送给客户端A的底层驱动模块,由客户端A的底层驱动模块向服务器B发送该NTP请求报文。2、服务器B的底层驱动模块接收该NTP请求报文,并传送给服务器B的NTP模块,服务器B的NTP模块获取服务器B的第一当前时间11:00:01am作为NTP请求报文接收时间,将该NTP请求报文接收时间赋值给NTP响应报文的第二时间戳T2(ReceiveTimestamp)。3、服务器B的NTP模块获取服务器B的第二当前时间11 ...
【技术保护点】
一种系统时间的同步方法,其特征在于,应用于客户端,所述客户端包括第一NTP模块和第一底层驱动模块,该方法包括:所述第一NTP模块填充NTP请求报文中除第一时间戳T1以外的字段,并将所述NTP请求报文发送给所述第一底层驱动模块;所述第一底层驱动模块接收所述NTP请求报文,获取客户端第一当前时间作为NTP请求报文发送时间;所述第一底层驱动模块将所述NTP请求报文发送时间赋值给所述NTP请求报文的第一时间戳T1,并将填充了第一时间戳T1的NTP请求报文发送给包括第二NTP模块和第二底层驱动模块的服务器;所述第一底层驱动模块接收所述服务器的第二底层驱动模块反馈的NTP响应报文,并获取客户端第二当前时间作为所述NTP响应报文接收时间,将所述NTP响应报文和所述NTP响应报文接收时间发送给第一NTP模块;其中,所述NTP响应报文包含第一时间戳T1、第二时间戳T2和第三时间戳T3;所述第二时间戳T2为所述第二底层驱动模块接收所述NTP请求报文的时间,所述第三时间戳T3为所述第二底层驱动模块发送所述NTP响应报文的时间;所述第一NTP模块将所述NTP响应报文接收时间设置为第四时间戳T4;所述第一NTP ...
【技术特征摘要】
1.一种系统时间的同步方法,其特征在于,应用于客户端,所述客户端包括第一NTP模块和第一底层驱动模块,该方法包括:所述第一NTP模块填充NTP请求报文中除第一时间戳T1以外的字段,并将所述NTP请求报文发送给所述第一底层驱动模块;所述第一底层驱动模块接收所述NTP请求报文,获取客户端第一当前时间作为NTP请求报文发送时间;所述第一底层驱动模块将所述NTP请求报文发送时间赋值给所述NTP请求报文的第一时间戳T1,并将填充了第一时间戳T1的NTP请求报文发送给包括第二NTP模块和第二底层驱动模块的服务器;所述第一底层驱动模块接收所述服务器的第二底层驱动模块反馈的NTP响应报文,并获取客户端第二当前时间作为所述NTP响应报文接收时间,将所述NTP响应报文和所述NTP响应报文接收时间发送给第一NTP模块;其中,所述NTP响应报文包含第一时间戳T1、第二时间戳T2和第三时间戳T3;所述第二时间戳T2为所述第二底层驱动模块接收所述NTP请求报文的时间,所述第三时间戳T3为所述第二底层驱动模块发送所述NTP响应报文的时间;所述第一NTP模块将所述NTP响应报文接收时间设置为第四时间戳T4;所述第一NTP模块根据第一时间戳T1、第二时间戳T2、第三时间戳T3、第四时间戳T4,设定客户端的系统时间。2.根据权利要求1所述的方法,其特征在于,所述第一NTP模块根据第一时间戳T1、第二时间戳T2、第三时间戳T3、第四时间戳T4,设定客户端的系统时间,包括:所述第一NTP模块根据下式计算所述客户端与所述服务器的时间差值Offset:Offset=((T2-T1)+(T3-T4))/2;判断所述时间差值Offset是否大于预设阈值,如果是,根据所述时间差值Offset,设定客户端的系统时间。3.根据权利要求1所述的方法,其特征在于,第一NTP模块将所述NTP请求报文发送给第一底层驱动模块,包括:第一NTP模块将所述NTP请求报文及第一时间戳T1在所述NTP请求报文中的位置发送给第一底层驱动模块;所述第一底层驱动模块,按照第一时间戳T1在所述NTP请求报文中的位置,将所述NTP请求报文发送时间赋值给所述NTP请求报文的第一时间戳T1。4.一种系统时间的同步方法,其特征在于,应用于服务器,所述服务器包括第二NTP模块和第二底层驱动模块,该方法包括:所述第二底层驱动模块接收客户端的第一底层驱动模块发送的NTP请求报文,并获取服务器第一当前时间作为所述NTP请求报文接收时间,将所述NTP请求报文和所述NTP请求报文接收时间发送给第一NTP模块;其中,所述NTP请求报文包含第一时间戳T1,所述第一时间戳T1为所述客户端的第一底层驱动模块发送所述NTP请求报文的时间;所述第二NTP模块将所述NTP请求报文接收时间赋值给NTP响应报文的第二时间戳T2;所述第二NTP模块填充NTP响应报文中除第三时间戳T3以外的字段,并将所述NTP响应报文发送给所述第二底层驱动模块;所述第二底层驱动模块接收所述NTP响应报文,获取服务器第二当前时间作为NTP响应报文发送时间;所述第二底层驱动模块将所述NTP响应报文发送时间赋值给所述NTP响应报文的第三时间戳T3,并将填充了第三时间戳T3的NTP响应报文反馈给发送所述NTP请求报文的客户端,以使所述客户端根据第一时间戳T1、第二时间戳T2、第三时间戳T3、第四时间戳T4,设定所述客户端的系统时间。5.根据权利要求1所述的方法,其特征在于,第二NTP模块将所述NTP响应报文发送给第二底层驱动模块,包括:第二NTP模块将所述NTP请求报文及第三时间戳T3在所述NTP响应报文中的位置发送给第二底层驱动模块;所述第二底层驱动模块,按照第三时间戳T3在所述NTP响应报文中的位置,将所述NTP响应报文发送时间赋值给所述NTP响应报文的第三时间戳T3。6.一种系统时间的同步装置,其特征在于,应用于客户端,所述客户端包括第一NTP模块和第一底层驱动模块,该装置包括:设置在所述第一NTP模块中的第一填充发送...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。