CN106788836B - 一种系统时间的同步方法及装置 - Google Patents

一种系统时间的同步方法及装置 Download PDF

Info

Publication number
CN106788836B
CN106788836B CN201610214482.XA CN201610214482A CN106788836B CN 106788836 B CN106788836 B CN 106788836B CN 201610214482 A CN201610214482 A CN 201610214482A CN 106788836 B CN106788836 B CN 106788836B
Authority
CN
China
Prior art keywords
ntp
time
request message
bottom layer
response message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610214482.XA
Other languages
English (en)
Other versions
CN106788836A (zh
Inventor
王剑鸣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201610214482.XA priority Critical patent/CN106788836B/zh
Publication of CN106788836A publication Critical patent/CN106788836A/zh
Application granted granted Critical
Publication of CN106788836B publication Critical patent/CN106788836B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明实施例公开了一种系统时间的同步方法及装置,方法包括:客户端的底层驱动模块将NTP请求报文发送时间赋值给NTP请求报文的第一时间戳T1;服务器的底层驱动模块获取服务器接收到NTP请求报文的时间作为第二时间戳T2;服务器的底层驱动模块将NTP响应报文发送时间赋值给NTP响应报文的第三时间戳T3;客户端的底层驱动模块获取客户端接收到NTP响应报文的时间作为第四时间戳T4。由此可见,时间戳中的时间避免了NTP模块与底层驱动模块之间传送报文的时间延迟,提高了客户端的时间和服务器时间的一致性,避免了在流量不稳定的环境里造成的客户端系统时间不停震荡。

Description

一种系统时间的同步方法及装置
技术领域
本发明涉及网络技术领域,特别涉及一种系统时间的同步方法及装置。
背景技术
目前,网络通常应用NTP(Network Time Protocol,网络时间协议)来保持网络中各个设备的系统时间一致。比如:需要以时间作为参照依据,对从不同设备采集来的日志信息、调试信息进行分析的网络管理系统;对设备时间一致性有要求的计费系统;多个系统协同处理同一个比较复杂的事件的场合等等,都采用了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(Receive Timestamp)。
3、服务器B的NTP模块获取服务器B的第二当前时间11:00:02am作为NTP响应报文发送时间,将该NTP响应报文发送时间赋值给NTP响应报文的第三时间戳T3(TransmitTimestamp),将封装好的NTP响应报文传送给服务器B的底层驱动模块,由服务器B的底层驱动模块向客户端A发送该NTP响应报文。
4、客户端A的底层驱动模块接收该NTP响应报文,并传送给客户端A的NTP模块,客户端A的NTP模块获取客户端A的第二当前时间10:00:03am作为NTP响应报文接收时间,将该NTP响应报文接收时间赋值给第四时间戳T4(Destination Timestamp)。客户端A的NTP模块利用上述四个时间戳来计算时间偏差:Offset=((T2-T1)+(T3-T4))/2=1小时,客户端A根据Offset,重新设定自身时间。
通常情况下,从NTP模块封装NTP报文到该NTP报文从底层驱动模块发送出去的耗时在1毫秒以下,而从底层驱动模块接收NTP报文并传送给NTP模块进行处理的耗时通常也在1毫秒左右,可以忽略不计。
但是现实网络里并非所有的NTP设备的NTP模块与底层驱动模块之间传送报文的耗时都在1毫秒以内。比如,在一些低端设备上从NTP模块封装NTP报文到该NTP报文从底层驱动模块发送出去可能需要10毫秒或者更久,底层驱动模块接收到一个报文并传送给NTP模块进行处理可能需要100毫秒或者更久;即使性能比较高的设备在CPU很忙的情况下,从NTP模块封装NTP报文到该NTP报文从底层驱动模块发送出去耗时也可能会出现10毫秒以上的延迟,底层驱动模块接收到一个报文并传送给NTP模块进行处理则可能会出现100毫秒以上的延迟。低端设备在CPU比较忙的情况下NTP模块与底层驱动模块之间传送报文延迟会更明显,比较极端的情况下甚至可能会出现秒级以上的延迟。
假设从客户端A的NTP模块封装NTP请求报文到该NTP请求报文从客户端A的底层驱动模块发送出去耗时0.5秒;服务器B的底层驱动模块接收到NTP请求报文并传送给服务器B的NTP模块进行处理耗时0.2秒;从服务器B的NTP模块封装NTP响应报文到该NTP响应报文从服务器B的底层驱动模块发送出去耗时0.1秒;客户端A的底层驱动模块接收到NTP响应报文并传送给客户端A的NTP模块进行处理耗时0.8秒,则对客户端A的时间进行设定的过程中:
客户端A的NTP模块获取客户端A的第一当前时间10:00:00am,并赋值给第一时间戳T1,但实际NTP请求报文发送时间为10:00:00am+0.5s;服务器B的NTP模块接收到该NTP请求报文时的服务器B的第一当前时间11:00:01am+0.5s+0.2s,将该时间赋值给第二时间戳T2;服务器B的NTP模块为第三时间戳T3赋值为11:00:02am+0.5s+0.2s,但实际NTP响应报文发送时间为11:00:02am+0.5s+0.2s+0.1s;客户端A的NTP模块接收到该NTP响应报文时的客户端A的第二当前时间10:00:03am+0.5s+0.2s+0.1s+0.8s,将该时间赋值给第四时间戳T4。此时计算Offset=((T2-T1)+(T3-T4))/2=59分59.9秒,与忽略NTP模块与底层驱动模块之间传送报文延迟的理想情况Offset=1小时,相差0.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,设定客户端的系统时间。
可选的,所述第一NTP模块根据第一时间戳T1、第二时间戳T2、第三时间戳T3、第四时间戳T4,设定客户端的系统时间,可以包括:
所述第一NTP模块根据下式计算所述客户端与所述服务器的时间差值Offset:
Offset=((T2-T1)+(T3-T4))/2;
判断所述时间差值Offset是否大于预设阈值,如果是,根据所述时间差值Offset,设定客户端的系统时间。
可选的,第一NTP模块将所述NTP请求报文发送给第一底层驱动模块,可以包括:
第一NTP模块将所述NTP请求报文及第一时间戳T1在所述NTP请求报文中的位置发送给第一底层驱动模块;
所述第一底层驱动模块,按照第一时间戳T1在所述NTP请求报文中的位置,将所述NTP请求报文发送时间赋值给所述NTP请求报文的第一时间戳T1。
为达到上述目的,本发明实施例还公开了一种系统时间的同步方法,应用于服务器,所述服务器包括第二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,设定所述客户端的系统时间。
可选的,第二NTP模块将所述NTP响应报文发送给第二底层驱动模块,可以包括:
第二NTP模块将所述NTP请求报文及第三时间戳T3在所述NTP响应报文中的位置发送给第二底层驱动模块;
所述第二底层驱动模块,按照第三时间戳T3在所述NTP响应报文中的位置,将所述NTP响应报文发送时间赋值给所述NTP响应报文的第三时间戳T3。
为达到上述目的,本发明实施例还公开了一种系统时间的同步装置,应用于客户端,所述客户端包括第一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响应报文接收时间设置为第四时间戳T4,
所述设定单元,用于根据第一时间戳T1、第二时间戳T2、第三时间戳T3、第四时间戳T4,设定客户端的系统时间。
可选的,所述设定单元,可以包括:
计算子单元,用于根据下式计算所述客户端与所述服务器的时间差值Offset:
Offset=((T2-T1)+(T3-T4))/2;
判断子单元,用于判断所述时间差值Offset是否大于预设阈值,如果是,根据所述时间差值Offset,设定客户端的系统时间。
可选的,所述第一填充发送单元,具体可以用于:填充NTP请求报文中除第一时间戳T1以外的字段,并将所述NTP请求报文及第一时间戳T1在所述NTP请求报文中的位置发送给第一底层驱动模块;
所述第一赋值发送单元,按照第一时间戳T1在所述NTP请求报文中的位置,将所述NTP请求报文发送时间赋值给所述NTP请求报文的第一时间戳T1。
为达到上述目的,本发明实施例还公开了一种系统时间的同步装置,应用于服务器,所述服务器包括第二NTP模块和第二底层驱动模块,该装置包括:设置在所述第二NTP模块中的赋值单元和第二填充发送单元;设置在所述第二底层驱动模块中的第二接收获取发送单元、第二接收获取单元和第二赋值发送单元,其中,
所述第二接收获取发送单元,用于接收客户端的第一底层驱动模块发送的NTP请求报文,并获取服务器第一当前时间作为所述NTP请求报文接收时间,将所述NTP请求报文和所述NTP请求报文接收时间发送给第一NTP模块;其中,所述NTP请求报文包含第一时间戳T1,所述第一时间戳T1为所述客户端的第一底层驱动模块发送所述NTP请求报文的时间;
所述赋值单元,用于将所述NTP请求报文接收时间赋值给NTP响应报文的第二时间戳T2;
所述第二填充发送单元,用于填充NTP响应报文中除第三时间戳T3以外的字段,并将所述NTP响应报文发送给所述第二底层驱动模块;
所述第二接收获取单元,用于接收所述NTP响应报文,获取服务器第二当前时间作为NTP响应报文发送时间;
所述第二赋值发送单元,用于将所述NTP响应报文发送时间赋值给所述NTP响应报文的第三时间戳T3,并将填充了第三时间戳T3的NTP响应报文反馈给发送所述NTP请求报文的客户端,以使所述客户端根据第一时间戳T1、第二时间戳T2、第三时间戳T3、第四时间戳T4,设定所述客户端的系统时间。
可选的,所述第二填充发送单元,具体可以用于:填充NTP响应报文中除第三时间戳T3以外的字段,并将所述NTP请求报文及第三时间戳T3在所述NTP响应报文中的位置发送给第二底层驱动模块;
所述第二赋值发送单元,按照第三时间戳T3在所述NTP响应报文中的位置,将所述NTP响应报文发送时间赋值给所述NTP响应报文的第三时间戳T3。
由上述技术方案可见,应用本发明所示实施例,客户端的底层驱动模块将NTP请求报文发送时间赋值给NTP请求报文的第一时间戳T1,相比于现有技术中客户端的NTP模块为第一时间戳T1赋值,第一时间戳T1中的时间更接近于NTP请求报文离开客户端的时间;服务器的底层驱动模块获取第二时间戳T2的值,相比于现有技术中服务器的NTP模块获取第二时间戳T2的值,第二时间戳T2中的时间更接近于服务器接收到NTP请求报文的时间;服务器的底层驱动模块将NTP响应报文发送时间赋值给NTP响应报文的第三时间戳T3,相比于现有技术中服务器的NTP模块为第三时间戳T3赋值,第三时间戳T3的时间更接近于NTP响应报文离开服务器的时间;客户端的底层驱动模块获取第四时间戳T4的值,相比于现有技术中客户端的NTP模块获取第四时间戳T4的值,第四时间戳T4中的时间更接近于客户端接收到NTP响应报文的时间。由此可见,时间戳中的时间避免了NTP模块与底层驱动模块之间传送报文的时间延迟,提高了客户端的时间和服务器时间的一致性,避免了在流量不稳定的环境里造成的客户端系统时间不停震荡。
当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中NTP网络结构示意图;
图2为本发明实施例提供的一种应用于客户端的系统时间的同步方法的流程示意图;
图3为本发明实施例提供的一种应用于服务器的系统时间的同步方法的流程示意图;
图4为本发明实施例提供的一种应用于客户端的系统时间的同步装置的结构示意图;
图5为本发明实施例提供的一种应用于服务器的系统时间的同步装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术问题,本发明实施例提供了一种系统时间的同步方法及装置。在本发明实施例中,将网络中待重新设定系统时间的设备确定为客户端,将网络中作为时间参照的设备确定为服务器。
本发明实施例应用NTP技术。NTP通过时钟层数来定义时钟的准确度。时钟层数的取值范围为1~16,取值越小,时钟准确度越高。层数为1~15的时钟处于同步状态;层数为16的时钟处于未同步状态。
在实际应用中,如图1所示,可以将从权威时钟(如原子时钟)获得时间同步的NTP服务器的层数设置为1,并将其作为主时间服务器,为网络中其他设备的时钟提供时间同步。网络中的设备与主时间服务器的NTP距离,即NTP同步链上NTP服务器的数目,决定了设备上时钟的层数。例如,从主时间服务器获得时间同步的设备的时钟层数为2,即比主时间服务器的时钟层数大1;从时钟层数为2的时间服务器获得时间同步的设备的时钟层数为3,以此类推。
为了保证时间的准确性和可靠性,可以为一台设备指定多个时间服务器,设备根据时钟层数等参数进行时钟过滤、选择和合并,这样基本可以使设备时间更接近于权威时钟。
在某些网络中,例如无法与外界通信的孤立网络,网络中的设备无法与权威时钟进行时间同步。此时,可以从该网络中选择一台时钟较为准确的设备,指定该设备为主时间服务器,并为网络中的其他设备提供时间同步,从而实现整个网络的时间同步。
下面首先对本发明实施例提供的一种应用于客户端的系统时间的同步方法进行详细说明。
图2为本发明实施例提供的一种应用于客户端的系统时间的同步方法的流程示意图,客户端包括第一NTP模块和第一底层驱动模块,该方法可以包括步骤:
S101:第一NTP模块填充NTP请求报文中除第一时间戳T1以外的字段,并将NTP请求报文发送给第一底层驱动模块。
具体的,第一NTP模块将所述NTP请求报文发送给第一底层驱动模块,包括:第一NTP模块将所述NTP请求报文及第一时间戳T1在所述NTP请求报文中的位置发送给第一底层驱动模块。
在实际应用中,NTP采用的传输层协议为UDP,第一时间戳T1在NTP请求报文中的位置为偏移IP头+UDP头+24字节处,大小为64位(即8字节)。
S102:第一底层驱动模块接收NTP请求报文,获取客户端第一当前时间作为NTP请求报文发送时间。
S103:第一底层驱动模块将NTP请求报文发送时间赋值给NTP请求报文的第一时间戳T1,并将填充了第一时间戳T1的NTP请求报文发送给包括第二NTP模块和第二底层驱动模块的服务器。
具体的,第一底层驱动模块,按照第一时间戳T1在所述NTP请求报文中的位置,将所述NTP请求报文发送时间赋值给所述NTP请求报文的第一时间戳T1。
S104:第一底层驱动模块接收服务器的第二底层驱动模块反馈的NTP响应报文,并获取客户端第二当前时间作为NTP响应报文接收时间,将NTP响应报文和NTP响应报文接收时间发送给第一NTP模块。
其中,所述NTP响应报文包含第一时间戳T1、第二时间戳T2和第三时间戳T3;所述第二时间戳T2为所述第二底层驱动模块接收所述NTP请求报文的时间,所述第三时间戳T3为所述第二底层驱动模块发送所述NTP响应报文的时间。
S105:第一NTP模块将NTP响应报文接收时间设置为第四时间戳T4。
S106:第一NTP模块根据第一时间戳T1、第二时间戳T2、第三时间戳T3、第四时间戳T4,设定客户端的系统时间。
具体的,本步骤中,可以包括:
所述第一NTP模块根据下式计算所述客户端与所述服务器的时间差值Offset:
Offset=((T2-T1)+(T3-T4))/2;
判断所述时间差值Offset是否大于预设阈值,如果是,根据所述时间差值Offset,设定客户端的系统时间。
假设当前客户端A的时间为10:00:00am,服务器B的时间为11:00:00am,NTP报文从客户端A到服务器B、从服务器B到客户端A单向传输所需要的时间、服务器B处理NTP报文所需的时间均为1秒。
客户端A的第一NTP模块填充NTP请求报文中除第一时间戳T1以外的字段,并将该NTP请求报文发送给客户端A的第一底层驱动模块。
客户端A的第一底层驱动模块接收NTP请求报文,获取客户端A第一当前时间10:00:00am作为NTP请求报文发送时间;将NTP请求报文发送时间10:00:00am赋值给NTP请求报文的第一时间戳T1,并将填充了第一时间戳T1的NTP请求报文发送给包括第二NTP模块和第二底层驱动模块的服务器B。
服务器B的第二底层驱动模块接收客户端A的第一底层驱动模块发送的NTP请求报文,并获取服务器B第一当前时间11:00:01am作为NTP请求报文接收时间,将NTP请求报文和NTP请求报文接收时间11:00:01am发送给第一NTP模块;其中,所述NTP请求报文包含第一时间戳T1,第一时间戳T1为客户端A的第一底层驱动模块发送NTP请求报文的时间10:00:00am。
服务器B的第二NTP模块将NTP请求报文接收时间11:00:01am赋值给NTP响应报文的第二时间戳T2。
服务器B的第二NTP模块填充NTP响应报文中除第三时间戳T3以外的字段,并将NTP响应报文发送给服务器B的第二底层驱动模块。
服务器B的第二底层驱动模块接收NTP响应报文,获取服务器第二当前时间11:00:02am作为NTP响应报文发送时间;
服务器B的第二底层驱动模块将NTP响应报文发送时间11:00:02am赋值给NTP响应报文的第三时间戳T3,并将填充了第三时间戳T3的NTP响应报文反馈给发送NTP请求报文的客户端A。
客户端A的第一底层驱动模块接收服务器B的第二底层驱动模块反馈的NTP响应报文,并获取客户端第二当前时间10:00:03am作为NTP响应报文接收时间,将NTP响应报文和NTP响应报文接收时间10:00:03am发送给第一NTP模块.其中,NTP响应报文包含第一时间戳T1(10:00:00am)、第二时间戳T2(11:00:01am)和第三时间戳T3(11:00:02am);第二时间戳T2为所述第二底层驱动模块接收NTP请求报文的时间11:00:01am,第三时间戳T3为第二底层驱动模块发送NTP响应报文的时间11:00:02am。
客户端A的第一NTP模块将NTP响应报文接收时间10:00:03am设置为第四时间戳T4;
客户端A的第一NTP模块根据第一时间戳T1(10:00:00am)、第二时间戳T2(11:00:01am)、第三时间戳T3(11:00:02am)、第四时间戳T4(10:00:03am),设定客户端的系统时间:
客户端A与服务器B的时间差值Offset=((T2-T1)+(T3-T4))/2=1小时。
假设预设阈值为1分钟,判断时间差值Offset 1小时大于预设阈值,则客户端A的第一NTP模块根据时间差值Offset 1小时,将客户端的系统时间调快1小时。
应用本发明图2所示实施例,客户端的底层驱动模块将NTP请求报文发送时间赋值给NTP请求报文的第一时间戳T1,相比于现有技术中客户端的NTP模块为第一时间戳T1赋值,第一时间戳T1中的时间更接近于NTP请求报文离开客户端的时间;服务器的底层驱动模块获取第二时间戳T2的值,相比于现有技术中服务器的NTP模块获取第二时间戳T2的值,第二时间戳T2中的时间更接近于服务器接收到NTP请求报文的时间;服务器的底层驱动模块将NTP响应报文发送时间赋值给NTP响应报文的第三时间戳T3,相比于现有技术中服务器的NTP模块为第三时间戳T3赋值,第三时间戳T3的时间更接近于NTP响应报文离开服务器的时间;客户端的底层驱动模块获取第四时间戳T4的值,相比于现有技术中客户端的NTP模块获取第四时间戳T4的值,第四时间戳T4中的时间更接近于客户端接收到NTP响应报文的时间。
由此可见,时间戳中的时间避免了NTP模块与底层驱动模块之间传送报文的时间延迟,提高了客户端的时间和服务器时间的一致性,避免了在流量不稳定的环境里造成的客户端系统时间不停震荡。
图3为本发明实施例提供的一种应用于服务器的系统时间的同步方法的流程示意图,服务器包括第二NTP模块和第二底层驱动模块,该方法可以包括步骤:
S201:第二底层驱动模块接收客户端的第一底层驱动模块发送的NTP请求报文,并获取服务器第一当前时间作为NTP请求报文接收时间,将NTP请求报文和NTP请求报文接收时间发送给第一NTP模块。
其中,所述NTP请求报文包含第一时间戳T1,所述第一时间戳T1为所述客户端的第一底层驱动模块发送所述NTP请求报文的时间;
S202:第二NTP模块将NTP请求报文接收时间赋值给NTP响应报文的第二时间戳T2。
S203:第二NTP模块填充NTP响应报文中除第三时间戳T3以外的字段,并将NTP响应报文发送给第二底层驱动模块。
具体的,第二NTP模块将NTP响应报文发送给第二底层驱动模块,可以包括:第二NTP模块将NTP请求报文及第三时间戳T3在NTP响应报文中的位置发送给第二底层驱动模块。
在实际应用中,NTP采用的传输层协议为UDP,第三时间戳T3在NTP请求报文中的位置为偏移IP头+UDP头+40字节处,大小为64位(即8字节)。
S204:第二底层驱动模块接收NTP响应报文,获取服务器第二当前时间作为NTP响应报文发送时间。
S205:第二底层驱动模块将NTP响应报文发送时间赋值给NTP响应报文的第三时间戳T3,并将填充了第三时间戳T3的NTP响应报文反馈给发送NTP请求报文的客户端,以使所述客户端根据第一时间戳T1、第二时间戳T2、第三时间戳T3、第四时间戳T4,设定所述客户端的系统时间。
具体的,第二底层驱动模块,按照第三时间戳T3在所述NTP响应报文中的位置,将所述NTP响应报文发送时间赋值给所述NTP响应报文的第三时间戳T3。
假设当前客户端A的时间为10:00:00am,服务器B的时间为11:00:00am,NTP报文从客户端A到服务器B、从服务器B到客户端A单向传输所需要的时间、服务器B处理NTP报文所需的时间均为1秒。
服务器B的第二底层驱动模块接收客户端A的第一底层驱动模块发送的NTP请求报文,并获取服务器B第一当前时间11:00:01am作为NTP请求报文接收时间,将NTP请求报文和NTP请求报文接收时间11:00:01am发送给第一NTP模块;其中,所述NTP请求报文包含第一时间戳T1,第一时间戳T1为客户端A的第一底层驱动模块发送NTP请求报文的时间10:00:00am。
服务器B的第二NTP模块将NTP请求报文接收时间11:00:01am赋值给NTP响应报文的第二时间戳T2。
服务器B的第二NTP模块填充NTP响应报文中除第三时间戳T3以外的字段,并将NTP响应报文发送给服务器B的第二底层驱动模块。
服务器B的第二底层驱动模块接收NTP响应报文,获取服务器第二当前时间11:00:02am作为NTP响应报文发送时间;
服务器B的第二底层驱动模块将NTP响应报文发送时间11:00:02am赋值给NTP响应报文的第三时间戳T3,并将填充了第三时间戳T3的NTP响应报文反馈给发送NTP请求报文的客户端A。
客户端A的第一底层驱动模块接收服务器B的第二底层驱动模块反馈的NTP响应报文,并获取客户端第二当前时间10:00:03am作为NTP响应报文接收时间,将NTP响应报文和NTP响应报文接收时间10:00:03am发送给第一NTP模块.其中,NTP响应报文包含第一时间戳T1(10:00:00am)、第二时间戳T2(11:00:01am)和第三时间戳T3(11:00:02am);第二时间戳T2为所述第二底层驱动模块接收NTP请求报文的时间11:00:01am,第三时间戳T3为第二底层驱动模块发送NTP响应报文的时间11:00:02am。
客户端A的第一NTP模块将NTP响应报文接收时间10:00:03am设置为第四时间戳T4;
客户端A的第一NTP模块根据第一时间戳T1(10:00:00am)、第二时间戳T2(11:00:01am)、第三时间戳T3(11:00:02am)、第四时间戳T410:00:03am,设定客户端的系统时间:
客户端A与服务器B的时间差值Offset=((T2-T1)+(T3-T4))/2=1小时。
假设预设阈值为1分钟,判断时间差值Offset 1小时大于预设阈值,则客户端A的第一NTP模块根据时间差值Offset 1小时,将客户端的系统时间调快1小时。
应用本发明图3所示实施例,客户端的底层驱动模块将NTP请求报文发送时间赋值给NTP请求报文的第一时间戳T1,相比于现有技术中客户端的NTP模块为第一时间戳T1赋值,第一时间戳T1中的时间更接近于NTP请求报文离开客户端的时间;服务器的底层驱动模块获取第二时间戳T2的值,相比于现有技术中服务器的NTP模块获取第二时间戳T2的值,第二时间戳T2中的时间更接近于服务器接收到NTP请求报文的时间;服务器的底层驱动模块将NTP响应报文发送时间赋值给NTP响应报文的第三时间戳T3,相比于现有技术中服务器的NTP模块为第三时间戳T3赋值,第三时间戳T3的时间更接近于NTP响应报文离开服务器的时间;客户端的底层驱动模块获取第四时间戳T4的值,相比于现有技术中客户端的NTP模块获取第四时间戳T4的值,第四时间戳T4中的时间更接近于客户端接收到NTP响应报文的时间。
由此可见,时间戳中的时间避免了NTP模块与底层驱动模块之间传送报文的时间延迟,提高了客户端的时间和服务器时间的一致性,避免了在流量不稳定的环境里造成的客户端系统时间不停震荡。
与上述的方法实施例相对应,本发明实施例还提供一种系统时间的同步装置。
图4为本发明实施例提供的一种应用于客户端的系统时间的同步装置的结构示意图,客户端包括第一NTP模块和第一底层驱动模块,该装置可以包括:设置在所述第一NTP模块中的第一填充发送单元301、设置单元305和设定单元306;设置在所述第一底层驱动模块中的第一接收获取单元302、第一赋值发送单元303和第一接收获取发送单元304,其中,
第一填充发送单元301,用于填充NTP请求报文中除第一时间戳T1以外的字段,并将所述NTP请求报文发送给所述第一底层驱动模块;
第一接收获取单元302,用于接收所述NTP请求报文,获取客户端第一当前时间作为NTP请求报文发送时间;
第一赋值发送单元303,用于将所述NTP请求报文发送时间赋值给所述NTP请求报文的第一时间戳T1,并将填充了第一时间戳T1的NTP请求报文发送给包括第二NTP模块和第二底层驱动模块的服务器;
第一接收获取发送单元304,用于接收所述服务器的第二底层驱动模块反馈的NTP响应报文,并获取客户端第二当前时间作为所述NTP响应报文接收时间,将所述NTP响应报文和所述NTP响应报文接收时间发送给第一NTP模块;其中,所述NTP响应报文包含第一时间戳T1、第二时间戳T2和第三时间戳T3;所述第二时间戳T2为所述第二底层驱动模块接收所述NTP请求报文的时间,所述第三时间戳T3为所述第二底层驱动模块发送所述NTP响应报文的时间;
设置单元305,用于将所述NTP响应报文接收时间设置为第四时间戳T4,
设定单元306,用于根据第一时间戳T1、第二时间戳T2、第三时间戳T3、第四时间戳T4,设定客户端的系统时间。
具体的,第一填充发送单元301,具体可以用于:填充NTP请求报文中除第一时间戳T1以外的字段,并将所述NTP请求报文及第一时间戳T1在所述NTP请求报文中的位置发送给第一底层驱动模块。
第一赋值发送单元303,按照第一时间戳T1在所述NTP请求报文中的位置,将所述NTP请求报文发送时间赋值给所述NTP请求报文的第一时间戳T1。
具体的,设定单元306,可以包括:计算子单元和判断子单元(图中未示出),
计算子单元,用于根据下式计算所述客户端与所述服务器的时间差值Offset:
Offset=((T2-T1)+(T3-T4))/2;
判断子单元,用于判断所述时间差值Offset是否大于预设阈值,如果是,根据所述时间差值Offset,设定客户端的系统时间。
应用本发明图4所示实施例,客户端的底层驱动模块将NTP请求报文发送时间赋值给NTP请求报文的第一时间戳T1,相比于现有技术中客户端的NTP模块为第一时间戳T1赋值,第一时间戳T1中的时间更接近于NTP请求报文离开客户端的时间;服务器的底层驱动模块获取第二时间戳T2的值,相比于现有技术中服务器的NTP模块获取第二时间戳T2的值,第二时间戳T2中的时间更接近于服务器接收到NTP请求报文的时间;服务器的底层驱动模块将NTP响应报文发送时间赋值给NTP响应报文的第三时间戳T3,相比于现有技术中服务器的NTP模块为第三时间戳T3赋值,第三时间戳T3的时间更接近于NTP响应报文离开服务器的时间;客户端的底层驱动模块获取第四时间戳T4的值,相比于现有技术中客户端的NTP模块获取第四时间戳T4的值,第四时间戳T4中的时间更接近于客户端接收到NTP响应报文的时间。
由此可见,时间戳中的时间避免了NTP模块与底层驱动模块之间传送报文的时间延迟,提高了客户端的时间和服务器时间的一致性,避免了在流量不稳定的环境里造成的客户端系统时间不停震荡。
图5为本发明实施例提供的一种应用于服务器的系统时间的同步装置的结构示意图,服务器包括第二NTP模块和第二底层驱动模块,该装置可以包括:设置在所述第二NTP模块中的赋值单元402和第二填充发送单元403;设置在所述第二底层驱动模块中的第二接收获取发送单元401、第二接收获取单元404和第二赋值发送单元405,其中,
第二接收获取发送单元401,用于接收客户端的第一底层驱动模块发送的NTP请求报文,并获取服务器第一当前时间作为所述NTP请求报文接收时间,将所述NTP请求报文和所述NTP请求报文接收时间发送给第一NTP模块;其中,所述NTP请求报文包含第一时间戳T1,所述第一时间戳T1为所述客户端的第一底层驱动模块发送所述NTP请求报文的时间;
赋值单元402,用于将所述NTP请求报文接收时间赋值给NTP响应报文的第二时间戳T2;
第二填充发送单元403,用于填充NTP响应报文中除第三时间戳T3以外的字段,并将所述NTP响应报文发送给所述第二底层驱动模块;
第二接收获取单元404,用于接收所述NTP响应报文,获取服务器第二当前时间作为NTP响应报文发送时间;
第二赋值发送单元405,用于将所述NTP响应报文发送时间赋值给所述NTP响应报文的第三时间戳T3,并将填充了第三时间戳T3的NTP响应报文反馈给发送所述NTP请求报文的客户端,以使所述客户端根据第一时间戳T1、第二时间戳T2、第三时间戳T3、第四时间戳T4,设定所述客户端的系统时间。
具体的,第二填充发送单元,具体可以用于:填充NTP响应报文中除第三时间戳T3以外的字段,并将所述NTP请求报文及第三时间戳T3在所述NTP响应报文中的位置发送给第二底层驱动模块。
第二赋值发送单元405,按照第三时间戳T3在所述NTP响应报文中的位置,将所述NTP响应报文发送时间赋值给所述NTP响应报文的第三时间戳T3。
应用本发明图5所示实施例,客户端的底层驱动模块将NTP请求报文发送时间赋值给NTP请求报文的第一时间戳T1,相比于现有技术中客户端的NTP模块为第一时间戳T1赋值,第一时间戳T1中的时间更接近于NTP请求报文离开客户端的时间;服务器的底层驱动模块获取第二时间戳T2的值,相比于现有技术中服务器的NTP模块获取第二时间戳T2的值,第二时间戳T2中的时间更接近于服务器接收到NTP请求报文的时间;服务器的底层驱动模块将NTP响应报文发送时间赋值给NTP响应报文的第三时间戳T3,相比于现有技术中服务器的NTP模块为第三时间戳T3赋值,第三时间戳T3的时间更接近于NTP响应报文离开服务器的时间;客户端的底层驱动模块获取第四时间戳T4的值,相比于现有技术中客户端的NTP模块获取第四时间戳T4的值,第四时间戳T4中的时间更接近于客户端接收到NTP响应报文的时间。
由此可见,时间戳中的时间避免了NTP模块与底层驱动模块之间传送报文的时间延迟,提高了客户端的时间和服务器时间的一致性,避免了在流量不稳定的环境里造成的客户端系统时间不停震荡。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

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模块中的第一填充发送单元、设置单元和设定单元;设置在所述第一底层驱动模块中的第一接收获取单元、第一赋值发送单元和第一接收获取发送单元,其中,
所述第一填充发送单元,用于填充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响应报文接收时间设置为第四时间戳T4,
所述设定单元,用于根据第一时间戳T1、第二时间戳T2、第三时间戳T3、第四时间戳T4,设定客户端的系统时间。
7.根据权利要求6所述的装置,其特征在于,所述设定单元,包括:
计算子单元,用于根据下式计算所述客户端与所述服务器的时间差值Offset:
Offset=((T2-T1)+(T3-T4))/2;
判断子单元,用于判断所述时间差值Offset是否大于预设阈值,如果是,根据所述时间差值Offset,设定客户端的系统时间。
8.根据权利要求6所述的装置,其特征在于,所述第一填充发送单元,具体用于:填充NTP请求报文中除第一时间戳T1以外的字段,并将所述NTP请求报文及第一时间戳T1在所述NTP请求报文中的位置发送给第一底层驱动模块;
所述第一赋值发送单元,按照第一时间戳T1在所述NTP请求报文中的位置,将所述NTP请求报文发送时间赋值给所述NTP请求报文的第一时间戳T1。
9.一种系统时间的同步装置,其特征在于,应用于服务器,所述服务器包括第二NTP模块和第二底层驱动模块,该装置包括:设置在所述第二NTP模块中的赋值单元和第二填充发送单元;设置在所述第二底层驱动模块中的第二接收获取发送单元、第二接收获取单元和第二赋值发送单元,其中,
所述第二接收获取发送单元,用于接收客户端的第一底层驱动模块发送的NTP请求报文,并获取服务器第一当前时间作为所述NTP请求报文接收时间,将所述NTP请求报文和所述NTP请求报文接收时间发送给第一NTP模块;其中,所述NTP请求报文包含第一时间戳T1,所述第一时间戳T1为所述客户端的第一底层驱动模块发送所述NTP请求报文的时间;
所述赋值单元,用于将所述NTP请求报文接收时间赋值给NTP响应报文的第二时间戳T2;
所述第二填充发送单元,用于填充NTP响应报文中除第三时间戳T3以外的字段,并将所述NTP响应报文发送给所述第二底层驱动模块;
所述第二接收获取单元,用于接收所述NTP响应报文,获取服务器第二当前时间作为NTP响应报文发送时间;
所述第二赋值发送单元,用于将所述NTP响应报文发送时间赋值给所述NTP响应报文的第三时间戳T3,并将填充了第三时间戳T3的NTP响应报文反馈给发送所述NTP请求报文的客户端,以使所述客户端根据第一时间戳T1、第二时间戳T2、第三时间戳T3、第四时间戳T4,设定所述客户端的系统时间。
10.根据权利要求9所述的装置,其特征在于,所述第二填充发送单元,具体用于:填充NTP响应报文中除第三时间戳T3以外的字段,并将所述NTP请求报文及第三时间戳T3在所述NTP响应报文中的位置发送给第二底层驱动模块;
所述第二赋值发送单元,按照第三时间戳T3在所述NTP响应报文中的位置,将所述NTP响应报文发送时间赋值给所述NTP响应报文的第三时间戳T3。
CN201610214482.XA 2016-04-06 2016-04-06 一种系统时间的同步方法及装置 Active CN106788836B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610214482.XA CN106788836B (zh) 2016-04-06 2016-04-06 一种系统时间的同步方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610214482.XA CN106788836B (zh) 2016-04-06 2016-04-06 一种系统时间的同步方法及装置

Publications (2)

Publication Number Publication Date
CN106788836A CN106788836A (zh) 2017-05-31
CN106788836B true CN106788836B (zh) 2019-09-06

Family

ID=58971966

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610214482.XA Active CN106788836B (zh) 2016-04-06 2016-04-06 一种系统时间的同步方法及装置

Country Status (1)

Country Link
CN (1) CN106788836B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612564B (zh) * 2017-08-23 2024-06-14 华为技术有限公司 一种报文处理的方法和网络设备
CN108833047A (zh) * 2018-08-13 2018-11-16 东软集团股份有限公司 时间同步方法、装置、可读存储介质和电子设备
CN109981206B (zh) * 2019-02-26 2021-01-26 深圳猛犸电动科技有限公司 对时方法、装置、系统及终端设备、存储介质
CN110838885B (zh) * 2019-11-20 2021-11-05 金蝶软件(中国)有限公司 系统时间同步方法以及相关装置
CN111585685B (zh) * 2020-05-15 2023-04-21 南京艾科朗克信息科技有限公司 一种基于udp增量行情的柜台系统时间校准方法
CN112153443B (zh) * 2020-09-01 2022-02-22 青岛海信传媒网络技术有限公司 Pts获取方法和显示设备
CN112134750B (zh) * 2020-09-02 2022-06-03 中国信息通信研究院 网络时间协议压力测试方法和装置
CN113179441B (zh) * 2021-03-26 2023-06-30 卡莱特云科技股份有限公司 一种同步播放方法、装置、系统及计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244572A (zh) * 2011-07-18 2011-11-16 中兴通讯股份有限公司 一种实现时钟同步的方法及装置
CN103475461A (zh) * 2013-09-30 2013-12-25 武汉邮电科学研究院 一种1588时钟同步功能实现系统及方法
CN105187148A (zh) * 2015-08-17 2015-12-23 武汉理工大学 一种基于arm的网络时钟同步系统及方法
CN108667547A (zh) * 2018-08-10 2018-10-16 电信科学技术第五研究所有限公司 一种网络时间协议转换方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102244572A (zh) * 2011-07-18 2011-11-16 中兴通讯股份有限公司 一种实现时钟同步的方法及装置
CN103475461A (zh) * 2013-09-30 2013-12-25 武汉邮电科学研究院 一种1588时钟同步功能实现系统及方法
CN105187148A (zh) * 2015-08-17 2015-12-23 武汉理工大学 一种基于arm的网络时钟同步系统及方法
CN108667547A (zh) * 2018-08-10 2018-10-16 电信科学技术第五研究所有限公司 一种网络时间协议转换方法及系统

Also Published As

Publication number Publication date
CN106788836A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106788836B (zh) 一种系统时间的同步方法及装置
CN103929293B (zh) 非对称延迟的时间同步方法及系统
CN107017958B (zh) 一种基于ntp的时间同步方法及相应系统
US10129844B2 (en) Timing synchronization for small cells with limited backhaul
CN108880727B (zh) 一种基于PTPd2协议的精确时钟同步实现方法
JP2018521303A5 (zh)
CN106130710B (zh) 一种时钟同步方法及系统
US11503557B2 (en) Time synchronization in integrated 5G wireless and time-sensitive networking systems
MX2009007877A (es) Metodos y mensajes de protocolo de tiempo de servidor.
CN106911414A (zh) 时钟同步方法和装置
CN102064981A (zh) 双向转发检测方法和系统
CN108599888A (zh) 一种分布式网络时钟同步系统
CN109462454A (zh) 基于ptp协议的汽车传感器时间同步方法及系统
CN101534249A (zh) 一种在捆绑链路上发送数据的方法及网络设备
CN105634840A (zh) 一种丢包的测量方法及装置
CN101808167B (zh) 一种流程跟踪方法以及装置和系统
CN101136738A (zh) 网络时钟同步方法、装置及系统
CN108683472A (zh) 一种基于延时测量的时钟同步方法
US11963123B2 (en) Transmission management
CN105099650B (zh) 同步客户端及其同步方法和系统
CN104991530A (zh) 基于can总线的通信方法及配电终端
CN105681105B (zh) 网元配置信息同步方法和装置
WO2006044140A3 (en) System and method for time synchronizing nodes in an automotive network
CN106972904B (zh) 一种时钟同步的方法和系统
CN102571252B (zh) 高精度ntp授时系统的授时方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant