CN103138865B - 一种时间同步方法和装置 - Google Patents
一种时间同步方法和装置 Download PDFInfo
- Publication number
- CN103138865B CN103138865B CN201310033194.0A CN201310033194A CN103138865B CN 103138865 B CN103138865 B CN 103138865B CN 201310033194 A CN201310033194 A CN 201310033194A CN 103138865 B CN103138865 B CN 103138865B
- Authority
- CN
- China
- Prior art keywords
- node
- clock node
- time
- sync message
- 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
Links
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种时间同步方法,该方法包括:从时钟节点主动发送Sync报文,获得主时钟节点收发Sync报文的时间,以及Sync报文在TC时钟节点上的驻留时间,计算从时间节点相对于主时钟节点的时钟偏差。基于同样的发明构思,本申请还提出一种装置,能够减少协议报文类别、协议报文数量,降低CPU的负担。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种时间同步方法和装置。
背景技术
在通信网络中,许多业务的正常运行都要求网络时钟同步,即整个网络各设备之间的时间或频率差保持在合理的误差水平内。现有的时间同步协议中,网络时间协议(Network Time Protocol,NTP)一般只能达到亚秒级的时间同步精度,已经达不到当今网络高精度的要求;而全球定位系统(Global Positioning System,GPS)需要较高的建设和维护成本,在国家安全方面也非常被动,因此一种新型的时间同步协议精确时间协议(Precision Time Protocol,PTP)同步协议应运而生。
PTP同步的基本原理为主、从时钟节点之间交互同步报文并记录报文的收发时间,通过计算报文往返的时间差来计算主、从时钟节点之间的往返总延时,如果网络是对称的,即两个方向的传输延时相同,则往返总延时的一半就是单向延时,这个单向延时便是主、从时钟节点之间的时钟偏差,从时钟节点按照该偏差来调整本地时间,就可以实现其与主时钟的同步。
PTP协议定义了两种传播延时测量机制:第一种为请求应答(Requset_Response)机制;第二种为端延时(Peer Delay)机制,且这两种机制都以网络对称为前提,下面以第一种请求应答机制为例来详细说明时间同步实现过程。请求应答方式只能用于端到端的延时测量。端延时机制与请求应答机制不同,端延时机制采用端延时(Pdelay)报文来计算链路延时,该机制只能用于点到点的延时测量。
参见图1,图1为现有实现中请求应答机制的实现过程。具体步骤为:
步骤101,主时钟节点向从时钟节点发送时间同步(Sync)报文。
主时钟节点向从时钟节点发送Sync报文时记录发送时间t1。如果是单步模式,将t1携带发送的Sync报文中。如果是双步模式,Sync报文不携带t1,而是在主时钟节点发送Sync报文之后,紧接着发送一个携带有t1的跟随(Follow_Up)报文;经过TC设备时,将Sync报文在端到端透明时钟(E2E TC)上的驻留时间添加到Follow_Up报文,然后从另外一个E2E TC端口转发给主时钟节点.
步骤102,E2E TC节点将Sync报文在本节点的驻留时间tc1携带在该报文中转发给从时钟节点。
从时钟节点接收到Sync报文时,记录接收Sync报文的时间t2,并获得该Sync报文种携带的t1和tc1。
参见图2,图2为现有实现中报文的属性列表。发送Sync报文或Follow_Up报文时,将t1携带在报文中如图2所示的源时钟戳(originTimestamp)属性字段中,校正时间tc1携带在报文中如图2所示的校正值(correctionField)属性字段中。其他报文中需要携带报文发送时间时,将发送时间携带在originTimestamp属性字段中,将经过E2E TC节点时携带的校正时间携带在correctionField属性字段中。
步骤103,从时钟节点向主时钟节点发送延时请求(Delay_Req)报文。
从时钟节点在发送Delay_Req报文时,记录发送该报文的时间t3。
步骤104,E2E TC节点在接收到的Delay_Req报文中携带该报文在本节点的驻留时间tc2,并转发给主时钟节点。
主时钟节点记录接收Delay_Req报文的时间为t4。
步骤105,主时钟节点向从时钟节点发送携带t4的延时响应(Delay_Resp)报文。
步骤106,E2E TC节点在接收主时钟节点发送的Delay_Resp报文中携带该报文在本节点的驻留时间tc2发送给从时钟节点。
从时钟节点接收到主时钟节点发送的Delay_Resp报文时,获得该报文中携带的t4和tc2,根据接收Sync报文时获得的tc1和t1,以及记录的t2和t3,获得从时钟相对于主时钟的时钟偏差为:Offset=t2-(t1+tc1+Master到Slave的路径时延)=(t2-t1-tc1)-[(t2-t1-tc1)+(t4-t3-tc2)]/2=[(t2-t1-tc1)-(t4-t3-tc2)]/2。
由上可见,在请求应答机制中的单步模式中需要交互的报文类别有三种,分别为Sync报文、Delay_Req报文和Delay_Resp报文。双步模式下交互的报文类别有四种,分别为Sync报文、Delay_Req报文、Delay_Resp报文和Follow_Up报文。在端延时机制中单步模式下报文类别有四种,分别为Sync报文、对等请求(Pdelay_Req)报文、对等响应(Pdelay_Resp)报文和对等响应跟随(Pdelay_Resp_Follow_Up)报文,而在双步模式下还增加Follow_Up报文共五种,并且发送的报文数量较多。由于高精度的时间同步需要频繁发送协议报文来维持,会发送处理大量的不同协议类别的报文,给CPU增加负担。
发明内容
有鉴于此,本申请提供一种时间同步方法和系统,能够减少协议报文类别、协议报文数量,降低CPU的负担。
为解决上述技术问题,本发明的技术方案是这样实现的:
一种时间同步方法,该方法应用于包含主时钟节点、从时钟节点和透明时钟TC节点的网络中的从时钟节点,包括:
当所述网络中的各节点配置请求应答机制,且配置单步模式实现时间同步时;
所述从时钟节点向主时钟节点发送时间同步Sync报文,并记录发送Sync报文的时间t1;当从时钟节点接收到主时钟节点返回的Sync报文时,记录接收该Sync报文的时间t4,并获得该Sync报文中携带的t3、t2-tc1和tc2,其中t3为主时钟节点发送该Sync报文的时间,t2为主时钟节点接收从时钟节点发送的Sync报文的时间,tc1为从时钟节点向主时钟节点发送Sync报文时,在E2E TC节点上的驻留时间,tc2为主时钟节点向从时钟节点发送的该Sync报文在E2E TC节点上的驻留时间;其中,所述E2E TC节点为配置请求应答机制的TC节点;
从时钟节点根据本地记录的t1、t4,以及获得的t3、t2-tc1和tc2,获得从时钟节点相对于主时钟节点的时钟偏差offset为[(t4–t3–tc2)-(t2–t1–tc1)]/2,并通过该时钟偏差调整本地时间;
或,
当所述网络中各节点配置端延时机制,且配置单步模式实现时间同步时;
所述从时钟节点向主时钟节点发送时间同步Sync报文,并记录发送Sync报文的时间t5;
该从时钟节点接收到本从时钟节点发出的Sync报文时,记录接收该Sync报文的时间t7,获得该Sync报文中携带的t6和t8,并根据获得的t6和t8,以及记录的t7和t5,获得从时钟节点到P2P TC节点的路径时延T1为[(t32-t31)+(t36-t35)]/2;其中,t6为P2P TC时钟节点接收从时钟节点向主时钟节点发送Sync报文的时间,t8为P2P TC时钟节点向从时钟节点发送Sync报文的时间;,所述P2P TC节点为配置端延时机制的TC节点;
该从时钟节点接收到P2P TC节点发送的Follow_Up报文时,获得Follow_Up报文中携带的t9和T2+tc3,并根据获得t9、T2+tc3和T1,以及记录的t5计算获得从时钟相对于主时钟节点的时钟偏差offset为t9–t5-(T2+tc3)-T1,并通过该时钟偏差调整本地时间,其中,t9为主时钟节点接收从时钟节点发送的Sync报文,T2为主时钟节点和P2P TC节点间的路径时延,tc3为本从时钟节点向主时钟节点发送Sync报文时,在P2P TC节点上的驻留时间。
一种时间同步方法,该方法应用于包含主时钟节点、从时钟节点和透明时钟TC节点的网络中的主时钟节点,包括:
当所述网络中的各节点配置请求应答机制,且配置单步模式实现时间同步时;
主时钟节点接收从时钟节点向本主时钟节点发送的时间同步Sync报文,并记录接收该Sync报文的时间t01;获取该Sync报文中携带的,该Sync报文在主时钟节点和从时钟节点间的E2E TC节点上的驻留时间tc01,并将t01与tc01的差值t01-tc01,以及向从时钟节点发送Sync报文的时间t02携带在接收的Sync报文中,向从时钟节点发送,使所述从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间;
或,
当所述网络中各节点配置端延时机制,且配置单步模式实现时间同步时;
所述主时钟节点接收到所述从时钟节点通过P2P TC节点转发的Sync报文时,记录接收该Sync报文的时间t03,并将t03,以及向从时钟节点发送Sync报文的时间t04携带在接收的Sync报文中,向从时钟节点发送,使所述从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间。
一种装置,可应用于包含主时钟节点、从时钟节点和透明时钟TC节点的网络中的从时钟节点上,该装置包括:配置单元、收发单元、记录单元和处理单元;
所述配置单元,用于在本从时钟节点上配置请求应答机制,且配置单步模式实现时间同步,或配置端延时机制,且配置单步模式实现时间同步;
所述收发单元,用于当所述配置单元请求应答机制,且配置单步模式实现时间同步时,向主时钟节点发送时间同步Sync报文,接收主时钟节点返回的Sync报文;当所述配置单元配置端延时机制,且配置单步模式实现时间同步时,向主时钟节点发送时间同步Sync报文,接收主时钟节点返回的Sync报文;接收P2P TC节点发送的Follow_Up报文,其中,所述P2P TC节点为配置端延时机制的TC节点;
所述记录单元,用于所述配置单元配置请求应答机制,且配置单步模式实现时间同步时,记录所述收发单元发送Sync报文的时间t1;记录所述收发单元接收该Sync报文的时间t4,当所述配置单元配置端延时机制,且配置单步模式实现时间同步时,记录发送Sync报文的时间t5;接收该Sync报文的时间t7;
所述处理单元,用于当所述配置单元配置请求应答机制,且配置单步模式实现时间同步时,获得所述收发单元接收的Sync报文中携带的t3、t2-tc1和tc2,其中t3为主时钟节点发送该Sync报文的时间,t2为主时钟节点接收从时钟节点发送的Sync报文的时间,tc1为从时钟节点向主时钟节点发送Sync报文时,在E2E TC节点上的驻留时间,tc2为主时钟节点向从时钟节点发送的该Sync报文在E2E TC节点上的驻留时间;根据所述记录单元记录的t1、t4,以及获得的t3、t2-tc1和tc2,获得从时钟节点相对于主时钟节点的时钟偏差offset为[(t4–t3–tc2)-(t2–t1–tc1)]/2,并通过该时钟偏差调整本地时间,其中,所述E2E TC节点为配置请求应答机制的TC节点;当所述配置单元配置端延时机制,且配置单步模式实现时间同步时,获得所述收发单元接收的Sync报文中携带的t6和t8,并根据获得的t6和t8,以及所述记录单元记录的t7和t5,获得从时钟节点到P2P TC节点的路径时延T1为[(t32–t31)+(t36–t35)]/2;其中,t6为P2P TC时钟节点接收从时钟节点向主时钟节点发送Sync报文的时间,t8为P2P TC时钟节点向从时钟节点发送Sync报文的时间;获得所述收发单元接收的Follow_Up报文中携带的t9和T2+tc3,并根据获得t9、T2+tc3和T1,以及所述记录单元记录的t5计算获得从时钟相对于主时钟节点的时钟偏差offset为t9–t5-(T2+tc3)-T1,并通过该时钟偏差调整本地时间,其中,t9为主时钟节点接收从时钟节点发送的Sync报文,T2为主时钟节点和P2PTC节点间的路径时延,tc3为本从时钟节点向主时钟节点发送Sync报文时,在P2PTC节点上的驻留时间。
一种装置,可应用于包含主时钟节点、从时钟节点和透明时钟TC节点的网络中的主时钟节点上,该装置包括:配置单元、接收单元、记录单元和处理单元;
所述配置单元,用于配置请求应答机制,且配置单步模式实现时间同步;配置端延时机制,且配置单步模式实现时间同步;
所述接收单元,用于接收从时钟节点向本主时钟节点发送的时间同步Sync报文;
所述记录单元,用于当所述配置单元配置请求应答机制,且配置单步模式实现时间同步时,记录所述接收单元接收Sync报文的时间t01;当所述配置单元配置端延时机制,且配置单步模式实现时间同步时,记录所述接收单元接收Sync报文的时间t03;
所述处理单元,用于当所述配置单元配置请求应答机制,且配置单步模式实现时间同步时,获取所述接收单元接收的Sync报文中携带的,该Sync报文在主时钟节点和从时钟节点间的E2E TC节点上的驻留时间tc01,并将t01与tc01的差值t01-tc01,以及向从时钟节点发送Sync报文的时间t02携带在接收的Sync报文中,向从时钟节点发送,使所述从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间;当所述配置单元配置端延时机制,且配置单步模式实现时间同步时,向从时钟节点发送Sync报文的时间t04携带在接收的Sync报文中,向从时钟节点发送,使所述从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间。
综上所述,本申请通过从时钟节点主动发起Sync报文,主时钟节点接收到Sync报文后,将接收Sync报文的时间携带在该Sync报文中,返回给从时钟节点,从时钟节点根据本地记录的时间点和接收的Sync报文中携带的时间点获得从时钟节点相对于主时钟节点的时间偏差,能够减少协议报文类别、协议报文数量,降低CPU的负担。
附图说明
图1为现有实现中请求应答机制的实现过程;
图2为现有实现中报文的属性列表;
图3为本发明实施例一中时间同步方法流程示意图;
图4为本发明具体实施例中报文属性列表示意图;
图5为本发明实施例二中时间同步方法流程示意图;
图6为本发明实施例三中时间同步方法流程示意图;
图7为本发明实施例四中时间同步方法流程示意图;
图8为本发明实施例五中时间同步方法流程示意图;
图9为本发明实施例六中时间同步方法流程示意图;
图10为本发明实施例七中时间同步方法流程示意图;
图11为本发明实施例八中时间同步方法流程示意图;
图12为本发明实施例九中时间同步方法流程示意图;
图13为本发明实施例十中时间同步方法流程示意图;
图14为本发明实施例十一中时间同步方法流程示意图;
图15为本发明实施例十二中时间同步方法流程示意图;
图16为本发明具体实施例中应用于从时钟节点上的装置的结构示意图;
图17为本发明具体实施例中应用于主时钟节点上的装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明实施例中提出一种时间同步方法,通过从时钟节点主动发送Sync报文,获得主时钟节点收发Sync报文的时间,以及Sync报文在TC时钟节点上的驻留时间,计算从时间节点相对于主时钟节点的时钟偏差。能够减少协议报文类别,减少协议报文数量,降低CPU的负担。
在现有实现中,有两种机制下实现时间同步,分别为请求应答机制和端延时机制,两种机制都以网络对称为前提,在两种机制下又都存在单步模式和双步模式下实现时间同步,下面通过具体实施例详细说明各种情况下从时钟节点如何实现同主时钟节点的时间同步的。
实施例一
网络中包含主时钟节点、从时钟节点和TC节点,网络中的各节点配置请求应答机制,且配置单步模式实现时间同步,配置请求应答机制的TC节点称为E2E TC节点。
该网络中从时钟节点进行时间同步的过程参见图3,图3为本发明实施例一中时间同步方法流程示意图。具体步骤为:
步骤301,从时钟节点向主时钟节点发送时间同步Sync报文,并记录发送Sync报文的时间t1。
该从时钟节点向主时钟节点发送的Sync报文会经过E2E TC节点转发给主时钟节点,在E2E TC节点转发该Sync报文时会携带该Sync报文在本E2E TC节点上的驻留时间。
步骤302,当从时钟节点接收到主时钟节点返回的Sync报文时,记录接收该Sync报文的时间t4,并获得该Sync报文中携带的t3、t2-tc1和tc2。
本步骤中t3为主时钟节点发送该Sync报文的时间,t2为主时钟节点接收从时钟节点发送的Sync报文的时间,tc1为从时钟节点向主时钟节点发送Sync报文时,在E2E TC节点上的驻留时间,tc2为主时钟节点向从时钟节点发送的该Sync报文在E2E TC节点上的驻留时间。
主时钟节点接收到E2E TC节点转发的主从时钟节点发送的Sync报文,会记录接收从时钟节点发Sync报文的时间t2,并获得接收的Sync报文中携带的驻留时间tc12,将该差值以及发送该Sync报文的时间携带在接收的Sync报文中返回给从时钟节点。并在返回的从时钟节点经过E2E TC节点时携带上返回该Sync报文在该E2E TC节点上的驻留时间tc2。
参见图4,图4为本发明具体实施例中报文属性列表示意图。图4中报文的属性列表同现有实现的属性列表的不同之处为,图4中的属性列表中增加接收时间戳(receiveTimestamp)属性字段。其他属性字段同现有实现,并且本发明具体实施例中的Sync报文和Follow_UP报文的属性字段包含的内容均同图4中所给出的属性字段。只是在messageType字段中填充的报文类型不同。
本实施例中驻留时间tc11仍然携带在correctionField属性字段中。将计算的差值t12-tc11添加在新增加的receiveTimestamp属性字段中,将发送Sync报文的时间t13添加在originTimestamp属性字段中发送。
在E2E TC节点转发主时钟节点发送Sync报文时,将该Sync报文在E2E TC节点上的驻留时间tc2携带在Sync报文中的correctionField属性字段中。
从时钟节点从接收的Sync报文中的originTimestamp属性字段中获得t3,从该Sync报文中新增的receiveTimestamp属性字段中获得t2-tc1,从该Sync报文中的correctionField属性字段中获得tc12。
步骤303,该从时钟节点根据本地记录的t1、t4,以及获得的t3、t2-tc1和tc2,获得从时钟节点相对于主时钟节点的时钟偏差offset为[(t4–t3–tc2)-(t2–t1–tc1)]/2,并通过该时钟偏差调整本地时间。
该从时钟节点计算,主、从时钟节点间的往返总延时为(t2-t1–tc1)+(t4-t3-tc2),由于网络是对称的,所以主、从时钟节点间的单向延时为[(t2-t1-tc1)+(t4-t3-tc2)]/2。因此,从时钟节点相对于主时钟节点的时钟偏差为:Offset=t4-(t3+tc2+主时钟节点到从时钟节点的路径时延)=(t4-t3-tc2)-[(t2-t1-tc1)+(t4-t3-tc2)]/2=[(t4-t3-tc2)-(t2-t1-tc1)]/2。
由该实施例可见,在请求应答机制下单步模式实现时间同步时,只使用了一种协议报文类别即Sync报文,减少了协议报文类别,以及协议报文数量,降低了CPU的负担,并给开发和维护带来了方便。
实施例二
网络中包含主时钟节点、从时钟节点和TC节点,网络中的各节点配置端延时机制,且配置单步模式实现时间同步,配置端延时机制的TC节点称为P2P TC节点。
参见图5,图5为本发明实施例二中时间同步方法流程示意图。具体步骤为:
步骤501,从时钟节点向主时钟节点发送时间同步Sync报文,并记录发送Sync报文的时间t5。
步骤502,该从时钟节点接收到本从时钟节点发出的Sync报文时,记录接收该Sync报文的时间t7,获得该Sync报文中携带的t6和t8。
本步骤中的t6为P2P TC节点接收从时钟节点向主时钟节点发送Sync报文的时间,t8为P2P TC时钟节点向从时钟节点发送Sync报文的时间。
该从时钟节点向主时钟节点发送Sync报文经过P2P TC节点时,P2P TC节点记录接收该Sync报文的时间t6,以及返回该Sync报文的时间t8。
本步骤中获得该Sync报文中携带的t6和t8,包括:从Sync报文中新增的receiveTimestamp属性字段中获得t6,从Sync报文中originTimestamp属性字段中获得t8。
步骤503,该从时钟节点根据获得的t6和t8,以及记录的t7和t5,获得从时钟节点到P2P TC节点的路径时延T1为[(t32–t31)+(t36–t35)]/2。
步骤504,该从时钟节点接收到P2P TC节点发送的Follow_Up报文时,获得Follow_Up报文中携带的t9和T2+tc3。
本步骤中获得Follow_Up报文中携带的t9和T2+tc3,包括:从Follow_Up报文中新增的receiveTimestamp属性字段中获得t9,从Follow_Up报文中correctionField属性字段中获得T2+tc3。
本步骤中t9为主时钟节点接收从时钟节点发送的Sync报文,T2为主时钟节点和P2P TC节点间的路径时延,tc3为本从时钟节点向主时钟节点发送Sync报文时,在P2P TC节点上的驻留时间。
步骤505,该从时钟节点根据获得的t9、T2+tc3和T1,以及记录的t5计算获得从时钟相对于主时钟节点的时钟偏差offset为t9-t5-(T2+tc3)-T1,并通过该时钟偏差调整本地时间。
实施例三
网络中包含主时钟节点、从时钟节点和TC节点,网络中的各节点配置请求应答机制,且配置双步模式实现时间同步,配置请求应答机制的TC节点称为E2E TC节点。
参见图6,图6为本发明实施例三中时间同步方法流程示意图。具体步骤为:
步骤601,从时钟节点向主时钟节点发送时间同步Sync报文,并记录发送Sync报文的时间t10。
从时钟节点向主时钟节点发送的Sync报文被E2E TC节点接收到时,会携带上该Sync报文向在本E2E TC节点上的驻留时间向所述主节点发送。
步骤602,该从时钟节点接收到E2E TC节点转发的主时钟节点发送的Sync报文时,记录接收该Sync报文的时间t13。
主时钟节点接收到从时钟节点发送的Sync报文时,记录接收该Sync报文的时间,并计算接收该Sync报文的时间与该报文中携带的驻留时间进行差值计算为t11-tc4。并向从时钟几返回该Sync报文。
该主时钟节点记录向从时钟节点返回Sync报文的时间,并将该时间t12以及差值t11-tc4携带在Follow_Up报文中向从时钟节点发送。
该主时钟节点将tc5携带在Follow_Up报文中的correctionField属性字段中,将t11-tc4携带在Follow_Up报文中新增的receiveTimestamp属性字段中,将t12携带在Follow_Up报文中originTimestamp属性字段中。
该主时钟节点与从时钟节点间的E2E TC节点接收到主时钟节点向从时钟节点转发的Follow_Up报文时,将Sync报文在本E2E TC节点上的驻留时间携带上,并转发从时钟节点。驻留时间携带在Follow_Up报文中的correctionField属性字段中。
步骤603,该时钟节点接收到E2E TC节点转发的主时钟节点发送的Follow_Up报文时,获取Follow_Up报文中携带的t11-tc4、tc5和t12。
本步骤中,t11为主时钟节点接收本从时钟节点向该主时钟节点发送的Sync报文的时间,tc4为本从时钟节点向该主时钟节点发送Sync报文时在主时钟节点和从时钟节点间的E2E TC节点上的驻留时间,tc5为主时钟节点向从时钟节点发送的Sync报文在所述E2E TC节点上的驻留时间,t12为主时钟节点向从时钟节点发送Sync报文的时间;
该从时钟节点从该Follow_Up报文中的correctionField属性字段中获取tc5,从该Follow_Up报文中新增的receiveTimestamp属性字段中获取t11-tc4,从该Follow_Up报文中originTimestamp属性字段中获取t12。
步骤604,该从时钟节点根据本地记录的t10、t13,以及获得的t12、t11-tc4和tc5,获得从时钟节点相对于主时钟节点的时钟偏差offset为[(t13-t12-tc5)-(t11-t10-tc4)]/2,并通过该时钟偏差调整本地时间。
主、从时钟节点间的往返总延时为(t11-t10-tc4)+(t13-t12-tc5),由于网络是对称的,所以主、从时钟节点间的单向延时为[(t11-t10-tc4)+(t13-t12-tc5)]/2。因此,从时钟节点相对于主时钟节点的时钟偏差为:Offset=t13-(t12+tc5+主时钟节点到从时钟节点的路径时延)=(t13-t12-tc5)-[(t11-t10-tc4)+(t13-t12-tc5)]/2=[(t13-t12-tc5)-(t5-t4-tc4)]/2。
由该实施例可见,在请求应答机制下双步模式实现时间同步时,只使用了两种协议报文类别即Sync报文和Follow_Up报文,同现有实现的四种报文协议类别相比,减少了协议报文类别,以及协议报文的数量,降低了CPU的负担,并给开发和维护带来了方便。
实施例四
网络中包含主时钟节点、从时钟节点和TC节点,网络中各节点配置端延时机制,且配置双步模式实现时间同步;配置端延时机制的TC节点称为P2P TC节点。
参见图7,图7为本发明实施例四中时间同步方法流程示意图。具体步骤为:
步骤701,从时钟节点向主时钟节点发送Sync报文,并记录发送Sync报文的时间t14。
步骤702,该从时钟节点接收到P2P TC节点发送的Sync报文时,记录接收该Sync报文的时间t15。
步骤703,该从时钟节点接收到P2P TC节点发送的Follow_Up报文时,获得该Follow_Up报文中携带的t16和t17。
本步骤中t16为P2P TC节点接收本从时钟节点发送的Sync报文的时间,t17为该P2P TC节点向本从时钟节点发送Sync报文的时间。
本步骤中获得该Follow_Up报文中携带的t16和t17,包括:从Follow_Up报文中新增的receiveTimestamp属性字段中获得t16,从Follow_Up报文中originTimestamp属性字段中获得t17。
步骤704,该从时钟节点根据获得的t16和t17,以及本地记录的t14和t15获得从时钟节点到P2P TC节点的路径时延T3为[(t16-t14)+(t15-t17)]/2。
步骤705,该从时钟节点接收到P2P TC节点转发的主时钟节点发送的Follow_Up报文时,获得Follow_Up报文中携带的t18和T3+tc6。
本步骤中t18为所述主时钟节点接收本从时钟节点发送的Sync报文的时间,T4为主时钟节点和P2P TC节点之间的路径时延,tc6为本从时钟节点向主时钟节点发送Sync报文时经过P2P TC节点时的驻留时间。
本步骤中获得Follow_Up报文中携带的t18和T4+tc6,包括:从Follow_Up报文中新增的receiveTimestamp属性字段中获得t18,从Follow_Up报文中correctionField属性字段中获得T4+tc6。
步骤706,该从时钟节点根据获得t18、T4+tc6和T3,以及记录的t14计算获得从时钟相对于主时钟节点的时钟偏差offset为t18-t14-(T4+tc6)-T3,并通过该时钟偏差调整本地时间。
实施例五
网络中包含主时钟节点、从时钟节点和TC节点,该网络中的各节点配置请求应答机制,且配置单步模式实现时间同步,配置请求应答机制的TC节点称为ETE TC节点。
参见图8,图8为本发明实施例五中时间同步方法流程示意图。具体步骤为:
步骤801,主时钟节点接收从时钟节点向本主时钟节点发送的时间同步Sync报文,并记录接收该Sync报文的时间t01。
步骤802,该主时钟节点获取该Sync报文中携带的,该Sync报文在主时钟节点和从时钟节点间的E2E TC节点上的驻留时间tc01。
本步骤中获取该Sync报文中携带的,该Sync报文在主时钟节点和从时钟节点间的E2E TC节点上的驻留时间tc01,包括:从该Sync报文中的correctionField属性字段中获得该Sync报文在主时钟节点和从时钟节点间的E2E TC节点上的驻留时间tc01。
步骤803,该主时钟节点将t01与tc01的差值t01-tc01,以及向从时钟节点发送Sync报文的时间t02携带在接收的Sync报文中,向从时钟节点发送,使所述从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间。
本步骤中将t01与tc01的差值t01-tc01,以及向从时钟节点发送Sync报文的时间t02携带在接收的Sync报文中,包括:将t01-tc01携带在接收的Sync报文中新增的接收时间戳receiveTimestamp属性字段中,将t02携带在接收的Sync报文中的originTimestamp属性字段中。
实施例六
网络中包含主时钟节点、从时钟节点和TC节点,该网络中各节点配置端延时机制,且配置单步模式实现时间同步,配置端延时机制的TC节点称为P2P TC节点。
参见图9,图9为本发明实施例六中时间同步方法流程示意图。具体步骤为:
步骤901,主时钟节点接收到所述从时钟节点通过P2P TC节点转发的Sync报文时,记录接收该Sync报文的时间t03。
步骤902,该主时钟节点将t03,以及向从时钟节点发送Sync报文的时间t04携带在接收的Sync报文中,向从时钟节点发送,使所述从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间。
本步骤中将t03,以及向从时钟节点发送Sync报文的时间t04携带在接收的Sync报文中,包括:将t03携带在Sync报文中新增的receiveTimestamp属性字段中,将t04携带在Sync报文中originTimestamp属性字段中。
实施例七
网络中包含主时钟节点、从时钟节点和TC节点,该网络中的各节点配置请求应答机制,且配置双步模式实现时间同步,所述配置请求应答机制的TC节点称为E2E TC节点。
参见图10,图10为本发明实施例七中时间同步方法流程示意图。具体步骤为:
步骤1001,主时钟节点接收到E2E TC节点转发的从时钟节点发送的Sync报文时,记录接收该Sync报文的时间t05。
步骤1002,该主时钟节点获取该Sync报文中携带的,该Sync报文在主时钟节点和该从时钟节点间的E2E TC节点上的驻留时间tc02,并将接收的Sync报文转发给从时钟节点。
本步骤中获取该Sync报文中携带的,该Sync报文在主时钟节点和该从时钟节点间的E2E TC节点上的驻留时间tc02,包括:从该Sync报文中的correctionField属性字段中获取该Sync报文在主时钟节点和该从时钟节点间的E2E TC节点上的驻留时间tc02。
步骤1003,该主时钟节点记录向所述从时钟节点发送Sync报文的时间t06,计算t05与获取的tc02的差值t05-tc02。
步骤1004,该主时钟节点将t05-tc02,以及t06携带在跟随Follow_Up报文中向从时钟节点发送,使从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间。
本步骤中将t05-tc02,以及t06携带在跟随Follow_Up报文中向从时钟节点发送,包括:将t05-tc02携带在Follow_Up报文中新增的receiveTimestamp属性字段中,t06携带在Follow_Up报文中originTimestamp属性字段中发送给从时钟节点。
实施例八
网络中包含主时钟节点、从时钟节点和TC节点,该网络中各节点配置端延时机制,且配置双步模式实现时间同步,所述配置端延时机制的TC节点称为P2P TC节点。
参见图11,图11为本发明实施例八中时间同步方法流程示意图。具体步骤为:
步骤1101,主时钟节点接收到P2P TC节点转发的从时钟节点发送的Sync报文时,记录接收该Sync报文的时间t07。
步骤1102,该主时钟节点将该Sync报文发送给从时钟节点,记录发送Sync报文的时间t08。
步骤1103,该主时钟节点将t07和t08携带在Follow_Up报文中,通过本主时钟节点与从时钟节点间的P2P TC节点转发给从时钟节点,使从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间。
本步骤中该主时钟节点将t07和t08携带在Follow_Up报文中,包括:该主时钟节点将t07携带在Follow_Up报文中新增的receiveTimestamp属性字段中,将t08携带在Follow_Up报文中originTimestamp属性字段中。
实施例九
本实施例以网络中配置请求应答机制单步模式下实现时间同步为例,配置请求应答机制的网络中包括从时钟节点、主时钟节点和E2E TC节点,以任一从时钟节点进行时间同步为例。
参见图12,图12为本发明实施例九中时间同步方法流程示意图。具体步骤为:
步骤1201,从时钟节点向主时钟节点发送Sync报文,并记录发送Sync报文的时间t11。
步骤1202,E2E TC节点接收到从时钟节点向主时钟节点发送的Sync报文时,在接收的Sync报文中携带该Sync报文在本E2E TC节点上的驻留时间tc11后,转发给主时钟节点。
步骤1203,主时钟节点接收到E2E TC节点转发的从时钟节点发送的Sync报文时,将接收该Sync报文的时间t12与该Sync报文中携带的tc11的差t12-tc11,以及向从时钟节点发送Sync报文的时间t13携带在Sync报文中,并向从时钟节点发送。
主时钟节点接收到E2E TC转发的Sync报文,记录接收Sync报文的时间t12,将接收Sync报文的时间t12与接收的Sync报文中correctionField属性字段中的tc11进行差值计算,将该差值t12-tc11添加在receiveTimestamp属性字段中,将发送Sync报文的时间t13添加在originTimestamp属性字段中,携带在Sync报文中向从时钟节点发送。
步骤1204,E2E TC节点接收到主时钟节点向从时钟节点发送的Sync报文时,在接收的Sync报文中携带该Sync报文在本E2E TC节点上的驻留时间tc12后,向从时钟节点发送。
本步骤中的tc12添加到Sync报文中的correctionField属性字段中。E2E TC节点向从时钟转发Sync报文时,从接收到从时钟发送的Sync报文的端口转发给从时钟节点。
步骤1205,从时钟节点接收到E2E TC节点转发的主时钟节点发送的Sync报文时,记录接收该Sync报文的时间t14,并获得该Sync报文中携带的t13、t12-tc11和tc12。
从时钟节点接收到Sync报文时,从该Sync报文中的correctionField属性字段中获取tc12,从receiveTimestamp属性字段中获取t12-tc11,从originTimestamp属性字段中获取tc13。
步骤1206,从时钟节点根据本地记录的t11、t14,以及获得的t13、t12-tc11和tc12,计算获得从时钟节点相对于主时钟节点的时钟偏差offset为[(t14–t13–tc12)-(t12–t11–tc11)]/2,并通过该时钟偏差调整本地时间。
主、从时钟节点间的往返总延时为(t12–t11–tc11)+(t14–t13–tc12),由于网络是对称的,所以主、从时钟节点间的单向延时为[(t12–t11–tc11)+(t14–t13–tc12)]/2。因此,从时钟节点相对于主时钟节点的时钟偏差为:Offset=t14-(t13+tc12+主时钟节点到从时钟节点的路径时延)=(t14–t13–tc12)-[(t12–t11–tc11)+(t14–t13–tc12)]/2=[(t14–t13–tc12)-(t12–t11–tc11)]/2。
由该实施例可见,在请求应答机制下单步模式实现时间同步时,只使用了一种协议报文类别即Sync报文,减少了协议报文类别,以及协议报文数量,降低了CPU的负担,并给开发和维护带来了方便。
实施例十
本实施例以网络中各节点配置请求应答机制双步模式实现时间同步为例,在请求应答机制下网络中包括从时钟节点、主时钟节点和E2E TC节点,以任一从时钟节点进行时间同步为例。
参见图13,图13为本发明实施例十中时间同步方法流程示意图。具体步骤为:
步骤1301,从时钟节点向主时钟节点发送Sync报文,并记录发送Sync报文的时间t21。
步骤1302,E2E TC节点接收到从时钟节点向主时钟节点发送的Sync报文时,在接收的Sync报文中携带在本E2E TC节点上的驻留时间tc21后,转发给主时钟节点。
步骤1303,主时钟节点接收到E2E TC节点转发的从时钟节点发送的Sync报文时,记录接收该Sync报文的时间t22,获取Sync报文中携带的tc21,并将接收的Sync报文转发给从时钟节点。
步骤1304,主时钟节点记录发送Sync报文的时间t23,计算t22与获取的tc21的差值t22-tc21,并将t22-tc21以及t23携带在Follow_Up报文中向从时钟节点发送。
在双步模式下Sync报文不携带发送报文的时间,而是另外发送一个Follow_Up报文携带。该实施例中t22-tc21携带在Follow_Up报文中新增的receiveTimestamp属性字段中,t23携带在Follow_Up报文中的originTimestamp属性字段中发送给从时钟节点,Follow_Up报文的属性列表参见图4。
步骤1305,E2E TC节点接收到主时钟节点向从时钟节点发送的Sync报文时,将该Sync报文转发给从时钟节点,并记录该Sync报文在本节点的驻留时间tc22。
步骤1306,E2E TC节点接收到主时钟发送的Follow_Up报文时,在接收的Follow_Up报文中携带在本节点上记录的驻留时间tc22,并转发给从时钟节点。
E2E TC节点只记录Sync报文在本节点的驻留时间tc22,不携带在发送的Sync报文中,在后续转发的Follow_Up报文时,将驻留时间tc22添加到correctionField属性字段中。在向从时钟节点转发Sync报文和Follow_Up报文时,从接收从时钟节点发送的Sync报文的端口转发。
步骤1307,从时钟节点接收到E2E TC节点转发的主时钟节点发送的Sync报文时,记录接收该Sync报文的时间t24。
步骤1308,从时钟节点接收到E2E TC节点转发的主时钟节点发送的Follow_Up报文时,获取报文中携带的t22-tc21、tc22和t23。
从时钟节点接收到Follow_Up报文时,从该Follow_Up报文中的correctionField属性字段中获取tc22,从receiveTimestamp属性字段中获取t22-tc21,从originTimestamp属性字段中获取t23。
步骤1309,从时钟节点根据本地记录的t21、t24,以及获得的t23、t22-tc21和tc22,计算获得从时钟节点相对于主时钟节点的时钟偏差offset为[(t24-t23-tc22)-(t22-t21-tc21)]/2,并通过该时钟偏差调整本地时间。
主、从时钟节点间的往返总延时为(t22-t21-tc21)+(t24-t23-tc22),由于网络是对称的,所以主、从时钟节点间的单向延时为[(t22-t21-tc21)+(t24-23-tc22)]/2。因此,从时钟节点相对于主时钟节点的时钟偏差为:Offset=t24-(t23+tc22+主时钟节点到从时钟节点的路径时延)=(t24-t2-tc22)-[(t22-t21-tc21)+(t24-t23-tc22)]/2=[(t24-t23-tc22)-(t22-t21-tc21)]/2。
由该实施例可见,在请求应答机制下双步模式实现时间同步时,只使用了两种协议报文类别即Sync报文和Follow_Up报文,同现有实现的四种报文协议类别相比,减少了协议报文类别,以及协议报文的数量,降低了CPU的负担,并给开发和维护带来了方便。
实施例十一
本实施例以网络中配置端延时机制单步模式下实现时间同步为例,在端延时机制网络中包括从时钟节点、主时钟节点和P2P TC节点,以任一从时钟节点进行时间同步为例。
参见图14,图14为本发明实施例十一中时间同步方法流程示意图。具体步骤为:
步骤1401,从时钟节点向主时钟节点发送Sync报文,并记录发送Sync报文的时间t31。
步骤1402,P2P TC节点接收到从时钟节点向主时钟节点发送的Sync报文时,复制该Sync报文并携带接收该Sync报文的时间t32和发送该Sync报文的时间t35转发给从时钟节点。
本步骤中t32携带在Sync报文中的新增加的receiveTimestamp属性字段中,将发送Sync报文的时间t35携带在Sync报文中的originTimestamp属性字段中。该Sync报文的属性列表参见图4。
P2P TC节点将携带t32和t35的Sync报文从接收从时钟节点发送的Sync报文的端口转发给从时钟节点。
步骤1403,从时钟节点接收到本从时钟节点发出的Sync报文时,记录接收该Sync报文的时间t36,获得该Sync报文中携带的t32,t35,并根据t36、t32、t31和t35获得从时钟节点到TC节点的路径时延T31为[(t32–t31)+(t36–t35)]/2。
本步骤中从Sync报文中新增的receiveTimestamp属性字段中获得t32,从Sync报文中originTimestamp属性字段中获得t35。
步骤1404,P2P TC节点向主时钟节点发送接收从时钟节点发送的Sync报文,记录向主时钟节点发送该Sync报文的时间t33,并计算该Sync报文在本P2P TC节点的驻留时间tc31为t33-t32。
步骤1405,主时钟节点接收到P2P TC节点转发的从时钟节点发送的Sync报文时,将接收该Sync报文的时间t34以及发送该Sync报文的时间t37携带在接收的Sync报文中向从时钟节点发送。
本步骤中将t34携带在主时钟节点向从时钟节点发送的Sync报文中新增的receiveTimestamp属性字段中,将t37携带在主时钟节点向从时钟节点发送的Sync报文中originTimestamp属性字段中。
步骤606,P2P TC节点接收到主时钟节点向从时钟节点发送的Sync报文时,记录接收该Sync报文的时间t38,并根据记录的t38、t33以及该Sync报文中携带的t34和t37获得主时钟节点到P2P TC节点的路径时延T32为[(t38–t37)+(t34–t33)]/2。
步骤607,P2P TC节点将获得T32与tc31的和T32+tc31,以及t34携带在Follow_Up报文中发送给从时钟节点。
本步骤中将T32+tc31携带在P2P TC节点向从时钟节点发送的Follow_Up报文中的correctionField属性字段中;将t34携带在P2P TC节点向从时钟节点发送的Follow_Up报文中新增的receiveTimestamp属性字段中。
步骤1408,从时钟节点接收到P2P TC节点发送的Follow_Up报文时,获得报文中携带的t34和T32+tc31,并根据获得t34、T32+tc31和T31,以及记录的t31计算获得从时钟相对于主时钟节点的时钟偏差offset为t34–t31-(tc31+T32)-T31,并通过该时钟偏差调整本地时间。
本步骤中从Follow_Up报文中新增的receiveTimestamp属性字段中获得t34,从Follow_Up报文中的correctionField属性字段中获得T32+tc31。
由于T31为[(t32–t31)+(t36–t35)]/2,T32为[(t38–t37)+(t34–t33)]/2,因此,从时钟相对于主时钟节点的时钟偏差offset为t34–t31-(tc31+T31)-T32=t34–t31-{tc31+[(t34–t33)+(t38–t37)]/2}-[(t32–t31)+(t36–t35)]/2。
由该实施例可见,在端延时机制下单步模式实现时间同步时,只使用了两种协议报文类别即Sync报文和Follow_Up报文,同现有实现的四种报文协议类别相比,减少了协议报文类别,以及协议报文数量,降低了CPU的负担,并给开发和维护带来了方便。
实施例十二
本实施例以网络中各节点配置端延时机制双步模式下实现时间同步为例,在端延时机制网络中包括从时钟节点、主时钟节点和P2P TC节点,以任一从时钟节点进行时间同步为例。
参见图15,图15为本发明实施例十二中时间同步方法流程示意图。具体步骤为:
步骤1501,从时钟节点向主时钟节点发送Sync报文,并记录发送Sync报文的时间t41。
步骤1502,P2P TC节点接收到从时钟节点向主时钟节点发送的Sync报文时,记录接收Sync报文的时间t42,复制该Sync报文并转发给从时钟节点,记录向从时钟节点发送该Sync报文的时间t45;向从时钟节点发送携带t42和t45的Follow_Up报文。
本步骤中t42、t45携带在Follow_Up报文中,而不是携带在Sync报文中。将t42携带在Follow_Up报文中新增加的receiveTimestamp属性字段中,将发送Sync报文的时间t45携带在Follow_Up报文中新增加的originTimestamp属性字段中。该Follow_Up报文的属性列表参见图4。
P2P TC节点将携带t42和t45的Follow_Up报文从接收从时钟节点发送的Sync报文的端口转发给从时钟节点。
步骤1503,从时钟节点接收到P2P TC节点发送的Sync报文时,记录接收该Sync报文的时间t46;接收到P2P TC节点发送的Follow_Up报文时,获得报文中携带的t42和t45,并根据获得的t42和t45,以及本地记录的t41和t46获得从时钟节点到P2P TC节点的路径时延T41为[(t42–t41)+(t46–t45)]/2。
本步骤中从Follow_Up报文中新增的receiveTimestamp属性字段中获得t42,从Follow_Up报文中originTimestamp属性字段中获得t45。
步骤1504,P2P TC节点向主时钟节点发送接收从时钟节点发送的Sync报文,记录向主时钟节点发送该Sync报文的时间t43,并计算该Sync报文在本P2P TC节点的驻留时间tc41为t43-t42。
步骤1505,主时钟节点接收到P2P TC节点转发的从时钟节点发送的Sync报文时,记录接收该Sync报文的时间t44,并将该Sync报文转发给P2P TC节点,记录转发给Sync报文的时间t47。
步骤1506,主时钟节点将t44和t47携带在Follow_Up报文中发送给P2P TC节点。
本步骤中将t44携带在Follow_Up报文中新增的receiveTimestamp属性字段中,将t47携带在Follow_Up报文中originTimestamp属性字段中。
步骤1507,P2P TC节点接收到主时钟节点发送的Sync报文时,记录接收该Sync报文的时间t48;接收到主时钟节点发送的Follow_Up报文时,获得该报文中携带的t44和t47,并根据本地记录的t43和t48获得主时钟节点到TC节点的路径时延T42为[(t48-t47)+(t44-t43)]/2。
本步骤中从Follow_Up报文中新增的receiveTimestamp属性字段中获得t44,从Follow_Up报文中originTimestamp属性字段中获得t47。
步骤1508,P2P TC节点将获得T42与Follow_Up报文中携带的tc41的和T42+tc41以及t44携带在Follow_Up报文中发送给从时钟节点。
本步骤中将t44携带在Follow_Up报文中新增的receiveTimestamp属性字段中,将T42+tc41携带在Follow_Up报文中correctionField属性字段中。
步骤1509,从时钟节点接收到P2P TC节点发送的Follow_Up报文时,获得该Follow_Up报文中携带的t44和T42+tc41,并根据获得t44、T42+tc41和T41,以及记录的t41计算获得从时钟相对于主时钟节点的时钟偏差offset为t44–t41-(tc41+T42)-T41,并通过该时钟偏差调整本地时间。
本步骤中从Follow_Up报文中新增的receiveTimestamp属性字段中获得t44,从Follow_Up报文中correctionField属性字段中获得T42+tc41。获得的T41为本地记录获得的。
由于T41为[(t42–t41)+(t46–t45)]/2,T42为[(t48–t47)+(t44–t43)]/2,因此,从时钟相对于主时钟节点的时钟偏差offset为t44–t41-(tc41+T42)-T41=t44–t41-{tc41+[(t44–t43)+(t48–t47)]/2}-[(t42–t41)+(t46–t45)]/2。
由该实施例可见,在端延时机制下双步模式实现时间同步时,只使用了两种协议报文类别即Sync报文和Follow_Up报文,同现有实现的五种报文协议类别相比,减少了协议报文类别的使用,降低了CPU的负担,并给开发和维护带来了方便。
本发明具体实施例中基于同样的发明构思,还提出一种装置,可应用于包含主时钟节点、从时钟节点和透明时钟TC节点的网络中的从时钟节点上,参见图16,图16为本发明具体实施例中应用于从时钟节点上的装置的结构示意图。该装置包括:配置单元1601、收发单元1602、记录单元1603和处理单元1604。
配置单元1601,用于在本从时钟节点上配置请求应答机制,且配置单步模式实现时间同步,或配置端延时机制,且配置单步模式实现时间同步。
收发单元1602,用于当配置单元1601配置请求应答机制,且配置单步模式实现时间同步时,向主时钟节点发送时间同步Sync报文,接收主时钟节点返回的Sync报文;当配置单元1601配置端延时机制,且配置单步模式实现时间同步时,向主时钟节点发送时间同步Sync报文,接收主时钟节点返回的Sync报文;接收P2P TC节点发送的Follow_Up报文,其中,所述P2P TC节点为配置端延时机制的TC节点。
记录单元1603,用于配置单元1601配置请求应答机制,且配置单步模式实现时间同步时,记录收发单元1602发送Sync报文的时间t1;记录收发单元1602接收该Sync报文的时间t4,当配置单元1601配置端延时机制,且配置单步模式实现时间同步时,记录收发单元1602发送Sync报文的时间t5;收发单元1602接收该Sync报文的时间t7。
处理单元1604,用于当配置单元1601配置请求应答机制,且配置单步模式实现时间同步时,获得收发单元1603接收的Sync报文中携带的t3、t2-tc1和tc2,其中t3为主时钟节点发送该Sync报文的时间,t2为主时钟节点接收从时钟节点发送的Sync报文的时间,tc1为从时钟节点向主时钟节点发送Sync报文时,在E2ETC节点上的驻留时间,tc2为主时钟节点向从时钟节点发送的该Sync报文在E2ETC节点上的驻留时间;根据记录单元1603记录的t1、t4,以及获得的t3、t2-tc1和tc2,获得从时钟节点相对于主时钟节点的时钟偏差offset为[(t4–t3–tc2)-(t2–t1–tc1)]/2,并通过该时钟偏差调整本地时间,其中,所述E2E TC节点为配置请求应答机制的TC节点;当配置单元1601配置端延时机制,且配置单步模式实现时间同步时,获得收发单元1602接收的Sync报文中携带的t6和t8,并根据获得的t6和t8,以及记录单元1603记录的t7和t5,获得从时钟节点到P2P TC节点的路径时延T1为[(t32–t31)+(t36–t35)]/2;其中,t6为P2P TC时钟节点接收从时钟节点向主时钟节点发送Sync报文的时间,t8为P2P TC时钟节点向从时钟节点发送Sync报文的时间;获得收发单元1602接收的Follow_Up报文中携带的t9和T2+tc3,并根据获得t9、T2+tc3和T1,以及所述记录单元记录的t5计算获得从时钟相对于主时钟节点的时钟偏差offset为t9–t5-(T2+tc3)-T1,并通过该时钟偏差调整本地时间,其中,t9为主时钟节点接收从时钟节点发送的Sync报文,T2为主时钟节点和P2P TC节点间的路径时延,tc3为本从时钟节点向主时钟节点发送Sync报文时,在P2P TC节点上的驻留时间。
较佳地,
处理单元1604,用于配置单元1601配置请求应答机制,且配置单步模式实现时间同步时,从收发单元1602接收的Sync报文中的originTimestamp属性字段中获得t3,从该Sync报文中新增的receiveTimestamp属性字段中获得t2-tc1,从该Sync报文中的correctionField属性字段中获得tc12;当配置单元1601配置端延时机制,且配置单步模式实现时间同步时,从收发单元1602接收到的Sync报文中新增的receiveTimestamp属性字段中获得t6,从Sync报文中originTimestamp属性字段中获得t8;从Follow_Up报文中新增的receiveTimestamp属性字段中获得t9,从Follow_Up报文中correctionField属性字段中获得T2+tc3。
较佳地,
配置单元1601,用于在本时钟节点上配置请求应答机制,且配置双步模式实现时间同步;配置端延时机制,且配置双步模式实现时间同步。
收发单元1602,用于向主时钟节点发送时间同步Sync报文,接收E2E TC节点转发的主时钟节点发送的Sync报文;接收E2E TC节点转发的主时钟节点发送的Follow_Up报文。
记录单元1603,用于配置单元1601配置请求应答机制,且配置双步模式实现时间同步时,记录发送Sync报文的时间t10;记录接收该Sync报文的时间t13;配置单元1601配置端延时机制,且配置双步模式实现时间同步时,记录发送Sync报文的时间t14,记录接收该Sync报文的时间t15。
处理单元1604,用于当配置单元1601配置请求应答机制,且配置双步模式实现时间同步时,获取收发单元1602接收的Follow_Up报文中携带的t11-tc4、tc5和t12;其中,t11为主时钟节点接收本从时钟节点向该主时钟节点发送的Sync报文的时间,tc4为本从时钟节点向该主时钟节点发送Sync报文时在主时钟节点和从时钟节点间的E2E TC节点上的驻留时间,tc5为主时钟节点向从时钟节点发送的Sync报文在所述E2E TC节点上的驻留时间,t12为主时钟节点向从时钟节点发送Sync报文的时间;根据记录单元1603中记录的t10、t13,以及获得的t12、t11-tc4和tc5,获得从时钟节点相对于主时钟节点的时钟偏差offset为[(t13–t12–tc5)-(t11–t10–tc4)]/2,并通过该时钟偏差调整本地时间;当配置单元1601配置端延时机制,且配置双步模式实现时间同步时,获得收发单元1602接收的Follow_Up报文中携带的t16和t17,并根据获得的t16和t17,以及记录单元1603记录的t14和t15获得从时钟节点到P2P TC节点的路径时延T3为[(t16–t14)+(t15–t17)]/2;其中,t16为P2P TC节点接收本从时钟节点发送的Sync报文的时间,t17为该P2P TC节点向本从时钟节点发送Sync报文的时间;获得收发单元1602接收的Follow_Up报文中携带的t18和T3+tc6;其中,t18为所述主时钟节点接收本从时钟节点发送的Sync报文的时间,T4为主时钟节点和P2P TC节点之间的路径时延,tc6为本从时钟节点向主时钟节点发送Sync报文时经过P2P TC节点时的驻留时间;根据获得t18、T4+tc6和T3,以及记录单元1603记录的t14计算获得从时钟相对于主时钟节点的时钟偏差offset为t18–t14-(T4+tc6)-T3,并通过该时钟偏差调整本地时间。
较佳地,
处理单元1604,用于当配置单元1601配置请求应答机制,且配置双步模式实现时间同步时,从收发单元1602接收的Follow_Up报文中的correctionField属性字段中获取tc5,从该Follow_Up报文中新增的receiveTimestamp属性字段中获取t11-tc4,从该Follow_Up报文中originTimestamp属性字段中获取t12;当配置单元1601配置端延时机制,且配置双步模式实现时间同步时,从收发单元1602接收到的Follow_Up报文中新增的receiveTimestamp属性字段中获得t16,从Follow_Up报文中originTimestamp属性字段中获得t17;从Follow_Up报文中新增的receiveTimestamp属性字段中获得t18,从Follow_Up报文中correctionField属性字段中获得T4+tc6。
基于同样的发明构思,本申请还提出一种装置,可应用于包含主时钟节点、从时钟节点和透明时钟TC节点的网络中的主时钟节点上。参见图17,图17为本发明具体实施例中应用于主时钟节点上的装置的结构示意图。该装置包括:配置单元1701、接收单元1702、记录单元1703和处理单元1704。
配置单元1701,用于配置请求应答机制,且配置单步模式实现时间同步;配置端延时机制,且配置单步模式实现时间同步。
接收单元1702,用于接收从时钟节点向本主时钟节点发送的时间同步Sync报文。
记录单元1704,用于当配置单元1701配置请求应答机制,且配置单步模式实现时间同步时,记录接收单元1702接收Sync报文的时间t01;当配置单元1701配置端延时机制,且配置单步模式实现时间同步时,记录接收单元1702接收Sync报文的时间t03。
处理单元1704,用于当配置单元1701配置请求应答机制,且配置单步模式实现时间同步时,获取接收单元1702接收的Sync报文中携带的,该Sync报文在主时钟节点和从时钟节点间的E2E TC节点上的驻留时间tc01,并将t01与tc01的差值t01-tc01,以及向从时钟节点发送Sync报文的时间t02携带在接收的Sync报文中,向从时钟节点发送,使所述从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间;当配置单元1701配置端延时机制,且配置单步模式实现时间同步时,向从时钟节点发送Sync报文的时间t04携带在接收的Sync报文中,向从时钟节点发送,使所述从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间。
较佳地,
处理单元1704,用于当配置单元1701配置请求应答机制,且配置单步模式实现时间同步时,从接收单元1702接收的Sync报文中的correctionField属性字段中获得该Sync报文在主时钟节点和从时钟节点间的E2E TC节点上的驻留时间tc01;将t01-tc01携带在接收的Sync报文中新增的接收时间戳receiveTimestamp属性字段中,将t02携带在接收的Sync报文中的源时间戳originTimestamp属性字段中;当配置单元1701配置端延时机制,且配置单步模式实现时间同步时,将t03携带在Sync报文中新增的receiveTimestamp属性字段中,将t04携带在Sync报文中originTimestamp属性字段中。
较佳地,
配置单元1701,用于配置请求应答机制,且配置双步模式实现时间同步;配置端延时机制,且配置双步模式实现时间同步。
接收单元1702,用于当配置单元1701配置请求应答机制,且配置双步模式实现时间同步时,接收E2E TC节点转发的从时钟节点发送的Sync报文;当配置单元1701配置端延时机制,且配置双步模式实现时间同步时,接收P2P TC节点转发的从时钟节点发送的Sync报文。
记录单元1704,用于当配置单元1701配置请求应答机制,且配置双步模式实现时间同步,记录接收单元1702接收的Sync报文的时间t05,记录向从时钟节点发送Sync报文的时间t06;当配置单元1701配置配置端延时机制,且配置双步模式实现时间同步时,记录接收单元1702接收该Sync报文的时间t07;记录发送Sync报文的时间t08。
处理单元1704,用于当配置单元1701配置请求应答机制,且配置双步模式实现时间同步时,获取接收单元1702接收的Sync报文中携带的,该Sync报文在主时钟节点和该从时钟节点间的E2E TC节点上的驻留时间tc02,并将接收的Sync报文转发给从时钟节点;并计算t05与获取的tc02的差值t05-tc02,并将t05-tc02,以及t06携带在跟随Follow_Up报文中向从时钟节点发送,使从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间;当配置单元1701配置配置端延时机制,且配置双步模式实现时间同步时,将记录单元1704记录的t07和t08携带在Follow_Up报文中,通过本主时钟节点与从时钟节点间的P2P TC节点转发给从时钟节点,使从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间。
较佳地,
处理单元1704,用于当配置单元1701配置请求应答机制,且配置双步模式实现时间同步时,从接收单元1702接收的Sync报文中的correctionField属性字段中获取该Sync报文在主时钟节点和该从时钟节点间的E2E TC节点上的驻留时间tc02;将t05-tc02携带在Follow_Up报文中新增的receiveTimestamp属性字段中,t06携带在Follow_Up报文中originTimestamp属性字段中发送给从时钟节点;当配置单元1701配置端延时机制,且配置双步模式实现时间同步时,将t07携带在Follow_Up报文中新增的receiveTimestamp属性字段中,将t08携带在Follow_Up报文中originTimestamp属性字段中。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
综上所述,本发明具体实施例中从时钟节点主动发起Sync报文,主时钟节点接收到Sync报文后,将接收Sync报文的时间携带在该Sync报文中,返回给从时钟节点,从时钟节点根据本地记录的时间点和接收的Sync报文中携带的时间点获得从时钟节点相对于主时钟节点的时间偏差,能够减少协议报文类别和协议报文数量,降低CPU的负担。
本发明具体实施例中分别给出了请求应答机制下单步和双步模式下,以及端延时机制下单步和双步模式下,如何实现时间同步,本发明具体实施例的实现方式,大大减少了协议报文的类别,使得第一时间同步就能够准确。特别是再高精度时间同步的情况下,大大减少了节点的CPU负担,提高了各节点的性能。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (16)
1.一种时间同步方法,该方法应用于包含主时钟节点、从时钟节点和透明时钟TC节点的网络中的从时钟节点,其特征在于,包括:
当所述网络中的各节点配置请求应答机制,且配置单步模式实现时间同步时,
所述从时钟节点向主时钟节点发送时间同步Sync报文,并记录发送Sync报文的时间t1;当从时钟节点接收到主时钟节点返回的Sync报文时,记录接收该Sync报文的时间t4,并获得该Sync报文中携带的t3、t2-tc1和tc2,其中t3为主时钟节点发送该Sync报文的时间,t2为主时钟节点接收从时钟节点发送的Sync报文的时间,tc1为从时钟节点向主时钟节点发送Sync报文时,在端到端E2E TC节点上的驻留时间,tc2为主时钟节点向从时钟节点发送的该Sync报文在E2E TC节点上的驻留时间;其中,所述E2E TC节点为配置请求应答机制的TC节点;
从时钟节点根据本地记录的t1、t4,以及获得的t3、t2-tc1和tc2,获得从时钟节点相对于主时钟节点的时钟偏差offset为[(t4–t3–tc2)-(t2–t1–tc1)]/2,并通过该时钟偏差调整本地时间;
或,
当所述网络中各节点配置端延时机制,且配置单步模式实现时间同步时;
所述从时钟节点向主时钟节点发送时间同步Sync报文,并记录发送Sync报文的时间t5;
该从时钟节点接收到本从时钟节点发出的Sync报文时,记录接收该Sync报文的时间t7,获得该Sync报文中携带的t6和t8,并根据获得的t6和t8,以及记录的t7和t5,获得从时钟节点到对等P2P TC节点的路径时延T1为[(t32–t31)+(t36–t35)]/2;其中,t6为P2P TC时钟节点接收从时钟节点向主时钟节点发送Sync报文的时间,t8为P2P TC时钟节点向从时钟节点发送Sync报文的时间;所述P2P TC节点为配置端延时机制的TC节点;
该从时钟节点接收到P2P TC节点发送的跟随Follow_Up报文时,获得Follow_Up报文中携带的t9和T2+tc3,并根据获得t9、T2+tc3和T1,以及记录的t5计算获得从时钟相对于主时钟节点的时钟偏差offset为t9–t5-(T2+tc3)-T1,并通过该时钟偏差调整本地时间,其中,t9为主时钟节点接收从时钟节点发送的Sync报文的时间,T2为主时钟节点和P2P TC节点间的路径时延,tc3为本从时钟节点向主时钟节点发送Sync报文时,在P2P TC节点上的驻留时间。
2.根据权利要求1所述的方法,其特征在于,
当所述网络中的各节点配置请求应答机制,且配置单步模式实现时间同步时,所述获得该Sync报文中携带的t3、t2-tc1和tc2,包括:从该Sync报文中的源时间戳originTimestamp属性字段中获得t3,从该Sync报文中新增的接收时间戳receiveTimestamp属性字段中获得t2-tc1,从该Sync报文中的校验值correctionField属性字段中获得tc12;
当所述网络中各节点配置端延时机制,且配置单步模式实现时间同步时,所述获得该Sync报文中携带的t6和t8,包括:从Sync报文中新增的receiveTimestamp属性字段中获得t6,从Sync报文中originTimestamp属性字段中获得t8;
所述获得Follow_Up报文中携带的t9和T2+tc3,包括:从Follow_Up报文中新增的receiveTimestamp属性字段中获得t9,从Follow_Up报文中correctionField属性字段中获得T2+tc3。
3.根据权利要求1或2所述的方法,其特征在于,所述方法进一步包括:
当所述网络中的各节点配置请求应答机制,且配置双步模式实现时间同步时;
该从时钟节点向主时钟节点发送时间同步Sync报文,并记录发送Sync报文的时间t10;
该从时钟节点接收到E2E TC节点转发的主时钟节点发送的Sync报文时,记录接收该Sync报文的时间t13;接收到E2E TC节点转发的主时钟节点发送的Follow_Up报文时,获取Follow_Up报文中携带的t11-tc4、tc5和t12;其中,t11为主时钟节点接收本从时钟节点向该主时钟节点发送的Sync报文的时间,tc4为本从时钟节点向该主时钟节点发送Sync报文时在主时钟节点和从时钟节点间的E2E TC节点上的驻留时间,tc5为主时钟节点向从时钟节点发送的Sync报文在所述E2E TC节点上的驻留时间,t12为主时钟节点向从时钟节点发送Sync报文的时间;
该从时钟节点根据本地记录的t10、t13,以及获得的t12、t11-tc4和tc5,获得从时钟节点相对于主时钟节点的时钟偏差offset为[(t13–t12–tc5)-(t11–t10–tc4)]/2,并通过该时钟偏差调整本地时间;
或,
当所述网络中各节点配置端延时机制,且配置双步模式实现时间同步时;
该从时钟节点向主时钟节点发送Sync报文,并记录发送Sync报文的时间t14;
该从时钟节点接收到P2P TC节点发送的Sync报文时,记录接收该Sync报文的时间t15;接收到P2P TC节点发送的Follow_Up报文时,获得该Follow_Up报文中携带的t16和t17,并根据获得的t16和t17,以及本地记录的t14和t15获得从时钟节点到P2P TC节点的路径时延T3为[(t16–t14)+(t15–t17)]/2;其中,t16为P2P TC节点接收本从时钟节点发送的Sync报文的时间,t17为该P2P TC节点向本从时钟节点发送Sync报文的时间;
该从时钟节点接收到P2P TC节点转发的主时钟节点发送的Follow_Up报文时,获得Follow_Up报文中携带的t18和T3+tc6;其中,t18为所述主时钟节点接收本从时钟节点发送的Sync报文的时间,T4为主时钟节点和P2P TC节点之间的路径时延,tc6为本从时钟节点向主时钟节点发送Sync报文时经过P2P TC节点时的驻留时间;
该从时钟节点根据获得t18、T4+tc6和T3,以及记录的t14计算获得从时钟相对于主时钟节点的时钟偏差offset为t18–t14-(T4+tc6)-T3,并通过该时钟偏差调整本地时间。
4.根据权利要求3所述的方法,其特征在于,
当所述网络中的各节点配置请求应答机制,且配置双步模式实现时间同步时,所述获取Follow_Up报文中携带的t11-tc4、tc5和t12,包括:从该Follow_Up报文中的correctionField属性字段中获取tc5,从该Follow_Up报文中新增的receiveTimestamp属性字段中获取t11-tc4,从该Follow_Up报文中originTimestamp属性字段中获取t12;
当所述网络中各节点配置端延时机制,且配置双步模式实现时间同步时,所述获得该Follow_Up报文中携带的t16和t17,包括:从Follow_Up报文中新增的receiveTimestamp属性字段中获得t16,从Follow_Up报文中originTimestamp属性字段中获得t17;
所述获得Follow_Up报文中携带的t18和T4+tc6,包括:从Follow_Up报文中新增的receiveTimestamp属性字段中获得t18,从Follow_Up报文中correctionField属性字段中获得T4+tc6。
5.一种时间同步方法,该方法应用于包含主时钟节点、从时钟节点和透明时钟TC节点的网络中的主时钟节点,其特征在于,包括:
当所述网络中的各节点配置请求应答机制,且配置单步模式实现时间同步时;
主时钟节点接收从时钟节点向本主时钟节点发送的时间同步Sync报文,并记录接收该Sync报文的时间t01;获取该Sync报文中携带的,该Sync报文在主时钟节点和从时钟节点间的端到端E2E TC节点上的驻留时间tc01,并将t01与tc01的差值t01-tc01,以及向从时钟节点发送Sync报文的时间t02携带在接收的Sync报文中,向从时钟节点发送,使所述从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间;其中,E2E TC节点为配置请求应答机制的TC节点;
或,
当所述网络中各节点配置端延时机制,且配置单步模式实现时间同步时;
所述主时钟节点接收到所述从时钟节点通过对等P2P TC节点转发的Sync报文时,记录接收该Sync报文的时间t03,并将t03,以及向从时钟节点发送Sync报文的时间t04携带在接收的Sync报文中,向从时钟节点发送,使所述从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间,其中,所述P2P TC节点为配置端延时机制的TC节点。
6.根据权利要求5所述的方法,其特征在于,
当所述网络中的各节点配置请求应答机制,且配置单步模式实现时间同步时,所述获取该Sync报文中携带的,该Sync报文在主时钟节点和从时钟节点间的E2E TC节点上的驻留时间tc01,包括:从该Sync报文中的校验值correctionField属性字段中获得该Sync报文在主时钟节点和从时钟节点间的E2E TC节点上的驻留时间tc01;
所述将t01与tc01的差值t01-tc01,以及向从时钟节点发送Sync报文的时间t02携带在接收的Sync报文中,包括:将t01-tc01携带在接收的Sync报文中新增的接收时间戳receiveTimestamp属性字段中,将t02携带在接收的Sync报文中的源时间戳originTimestamp属性字段中;
当所述网络中各节点配置端延时机制,且配置单步模式实现时间同步时,所述将t03,以及向从时钟节点发送Sync报文的时间t04携带在接收的Sync报文中,包括:将t03携带在Sync报文中新增的receiveTimestamp属性字段中,将t04携带在Sync报文中originTimestamp属性字段中。
7.根据权利要求5或6所述的方法,其特征在于,所述方法进一步包括:
当所述网络中的各节点配置请求应答机制,且配置双步模式实现时间同步时,所述TC节点称为E2E TC节点;
该主时钟节点接收到E2E TC节点转发的从时钟节点发送的Sync报文时,记录接收该Sync报文的时间t05,获取该Sync报文中携带的,该Sync报文在主时钟节点和该从时钟节点间的E2E TC节点上的驻留时间tc02,并将接收的Sync报文转发给从时钟节点;
该主时钟节点记录向所述从时钟节点发送Sync报文的时间t06,计算t05与获取的tc02的差值t05-tc02,并将t05-tc02,以及t06携带在跟随Follow_Up报文中向从时钟节点发送,使从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间;
或,
当所述网络中各节点配置端延时机制,且配置双步模式实现时间同步时,所述TC节点称为P2P TC节点;
该主时钟节点接收到P2P TC节点转发的从时钟节点发送的Sync报文时,记录接收该Sync报文的时间t07,并将该Sync报文发送给从时钟节点,记录发送Sync报文的时间t08;并将t07和t08携带在Follow_Up报文中,通过本主时钟节点与从时钟节点间的P2P TC节点转发给从时钟节点,使从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间。
8.根据权利要求7所述的方法,其特征在于,
当所述网络中的各节点配置请求应答机制,且配置双步模式实现时间同步时,所述获取该Sync报文中携带的,该Sync报文在主时钟节点和该从时钟节点间的E2ETC节点上的驻留时间tc02,包括:从该Sync报文中的correctionField属性字段中获取该Sync报文在主时钟节点和该从时钟节点间的E2E TC节点上的驻留时间tc02;
所述将t05-tc02,以及t06携带在跟随Follow_Up报文中向从时钟节点发送,包括:将t05-tc02携带在Follow_Up报文中新增的receiveTimestamp属性字段中,t06携带在Follow_Up报文中originTimestamp属性字段中发送给从时钟节点;
当所述网络中各节点配置端延时机制,且配置双步模式实现时间同步时,将t07和t08携带在Follow_Up报文中,包括:将t07携带在Follow_Up报文中新增的receiveTimestamp属性字段中,将t08携带在Follow_Up报文中originTimestamp属性字段中。
9.一种装置,可应用于包含主时钟节点、从时钟节点和透明时钟TC节点的网络中的从时钟节点上,其特征在于,该装置包括:配置单元、收发单元、记录单元和处理单元;
所述配置单元,用于在本从时钟节点上配置请求应答机制,且配置单步模式实现时间同步,或配置端延时机制,且配置单步模式实现时间同步;
所述收发单元,用于当所述配置单元配置请求应答机制,且配置单步模式实现时间同步时,向主时钟节点发送时间同步Sync报文,接收主时钟节点返回的Sync报文;当所述配置单元配置端延时机制,且配置单步模式实现时间同步时,向主时钟节点发送时间同步Sync报文,接收主时钟节点返回的Sync报文;接收对等P2P TC节点发送的跟随Follow_Up报文,其中,所述P2P TC节点为配置端延时机制的TC节点;
所述记录单元,用于所述配置单元配置请求应答机制,且配置单步模式实现时间同步时,记录所述收发单元发送Sync报文的时间t1;记录所述收发单元接收该Sync报文的时间t4,当所述配置单元配置端延时机制,且配置单步模式实现时间同步时,记录所述收发单元发送Sync报文的时间t5;所述收发单元接收该Sync报文的时间t7;
所述处理单元,用于当所述配置单元配置请求应答机制,且配置单步模式实现时间同步时,获得所述收发单元接收的Sync报文中携带的t3、t2-tc1和tc2,其中t3为主时钟节点发送该Sync报文的时间,t2为主时钟节点接收从时钟节点发送的Sync报文的时间,tc1为从时钟节点向主时钟节点发送Sync报文时,在端到端E2E TC节点上的驻留时间,tc2为主时钟节点向从时钟节点发送的该Sync报文在E2E TC节点上的驻留时间;根据所述记录单元记录的t1、t4,以及获得的t3、t2-tc1和tc2,获得从时钟节点相对于主时钟节点的时钟偏差offset为[(t4–t3–tc2)-(t2–t1–tc1)]/2,并通过该时钟偏差调整本地时间,其中,所述E2E TC节点为配置请求应答机制的TC节点;当所述配置单元配置端延时机制,且配置单步模式实现时间同步时,获得所述收发单元接收的Sync报文中携带的t6和t8,并根据获得的t6和t8,以及所述记录单元记录的t7和t5,获得从时钟节点到P2P TC节点的路径时延T1为[(t32–t31)+(t36–t35)]/2;其中,t6为P2P TC时钟节点接收从时钟节点向主时钟节点发送Sync报文的时间,t8为P2P TC时钟节点向从时钟节点发送Sync报文的时间;获得所述收发单元接收的Follow_Up报文中携带的t9和T2+tc3,并根据获得t9、T2+tc3和T1,以及所述记录单元记录的t5计算获得从时钟相对于主时钟节点的时钟偏差offset为t9–t5-(T2+tc3)-T1,并通过该时钟偏差调整本地时间,其中,t9为主时钟节点接收从时钟节点发送的Sync报文的时间,T2为主时钟节点和P2P TC节点间的路径时延,tc3为本从时钟节点向主时钟节点发送Sync报文时,在P2P TC节点上的驻留时间。
10.根据权利要求9所述的装置,其特征在于,
所述处理单元,用于所述配置单元配置请求应答机制,且配置单步模式实现时间同步时,从所述收发单元接收的Sync报文中的源时间戳originTimestamp属性字段中获得t3,从该Sync报文中新增的接收时间戳receiveTimestamp属性字段中获得t2-tc1,从该Sync报文中的校验值correctionField属性字段中获得tc12;当所述配置单元配置端延时机制,且配置单步模式实现时间同步时,从所述收发单元接收到的Sync报文中新增的receiveTimestamp属性字段中获得t6,从Sync报文中originTimestamp属性字段中获得t8;从Follow_Up报文中新增的receiveTimestamp属性字段中获得t9,从Follow_Up报文中correctionField属性字段中获得T2+tc3。
11.根据权利要求9或10所述的装置,其特征在于,
所述配置单元,用于在本从时钟节点上配置请求应答机制,且配置双步模式实现时间同步;配置端延时机制,且配置双步模式实现时间同步;
所述收发单元,用于向主时钟节点发送时间同步Sync报文,接收E2E TC节点转发的主时钟节点发送的Sync报文;接收E2E TC节点转发的主时钟节点发送的Follow_Up报文;
所述记录单元,用于所述配置单元配置请求应答机制,且配置双步模式实现时间同步时,记录发送Sync报文的时间t10;记录接收该Sync报文的时间t13;所述配置单元配置端延时机制,且配置双步模式实现时间同步时,记录发送Sync报文的时间t14,记录接收该Sync报文的时间t15;
所述处理单元,用于当所述配置单元配置请求应答机制,且配置双步模式实现时间同步时,获取所述收发单元接收的Follow_Up报文中携带的t11-tc4、tc5和t12;其中,t11为主时钟节点接收本从时钟节点向该主时钟节点发送的Sync报文的时间,tc4为本从时钟节点向该主时钟节点发送Sync报文时在主时钟节点和从时钟节点间的E2E TC节点上的驻留时间,tc5为主时钟节点向从时钟节点发送的Sync报文在所述E2E TC节点上的驻留时间,t12为主时钟节点向从时钟节点发送Sync报文的时间;根据所述记录单元中记录的t10、t13,以及获得的t12、t11-tc4和tc5,获得从时钟节点相对于主时钟节点的时钟偏差offset为[(t13–t12–tc5)-(t11–t10–tc4)]/2,并通过该时钟偏差调整本地时间;当所述配置单元配置端延时机制,且配置双步模式实现时间同步时,获得所述收发单元接收的Follow_Up报文中携带的t16和t17,并根据获得的t16和t17,以及所述记录单元记录的t14和t15获得从时钟节点到P2P TC节点的路径时延T3为[(t16–t14)+(t15–t17)]/2;其中,t16为P2P TC节点接收本从时钟节点发送的Sync报文的时间,t17为该P2P TC节点向本从时钟节点发送Sync报文的时间;获得所述收发单元接收的Follow_Up报文中携带的t18和T3+tc6;其中,t18为所述主时钟节点接收本从时钟节点发送的Sync报文的时间,T4为主时钟节点和P2P TC节点之间的路径时延,tc6为本从时钟节点向主时钟节点发送Sync报文时经过P2P TC节点时的驻留时间;根据获得t18、T4+tc6和T3,以及所述记录单元记录的t14计算获得从时钟相对于主时钟节点的时钟偏差offset为t18–t14-(T4+tc6)-T3,并通过该时钟偏差调整本地时间。
12.根据权利要求11所述的装置,其特征在于,
所述处理单元,用于当所述配置单元配置请求应答机制,且配置双步模式实现时间同步时,从所述收发单元接收的Follow_Up报文中的correctionField属性字段中获取tc5,从该Follow_Up报文中新增的receiveTimestamp属性字段中获取t11-tc4,从该Follow_Up报文中originTimestamp属性字段中获取t12;当所述配置单元配置端延时机制,且配置双步模式实现时间同步时,从所述收发单元接收到的Follow_Up报文中新增的receiveTimestamp属性字段中获得t16,从Follow_Up报文中originTimestamp属性字段中获得t17;从Follow_Up报文中新增的receiveTimestamp属性字段中获得t18,从Follow_Up报文中correctionField属性字段中获得T4+tc6。
13.一种装置,可应用于包含主时钟节点、从时钟节点和透明时钟TC节点的网络中的主时钟节点上,其特征在于,该装置包括:配置单元、接收单元、记录单元和处理单元;
所述配置单元,用于配置请求应答机制,且配置单步模式实现时间同步;配置端延时机制,且配置单步模式实现时间同步;
所述接收单元,用于接收从时钟节点向本主时钟节点发送的时间同步Sync报文;
所述记录单元,用于当所述配置单元配置请求应答机制,且配置单步模式实现时间同步时,记录所述接收单元接收Sync报文的时间t01;当所述配置单元配置端延时机制,且配置单步模式实现时间同步时,记录所述接收单元接收Sync报文的时间t03;
所述处理单元,用于当所述配置单元配置请求应答机制,且配置单步模式实现时间同步时,获取所述接收单元接收的Sync报文中携带的,该Sync报文在主时钟节点和从时钟节点间的端到端E2E TC节点上的驻留时间tc01,并将t01与tc01的差值t01-tc01,以及向从时钟节点发送Sync报文的时间t02携带在接收的Sync报文中,向从时钟节点发送,使所述从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间;其中,所述E2E TC节点为配置请求应答机制的TC节点;当所述配置单元配置端延时机制,且配置单步模式实现时间同步时,向从时钟节点发送Sync报文的时间t04携带在接收的Sync报文中,向从时钟节点发送,使所述从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间。
14.根据权利要求13所述的装置,其特征在于,
所述处理单元,用于当所述配置单元配置请求应答机制,且配置单步模式实现时间同步时,从所述接收单元接收的Sync报文中的校验值correctionField属性字段中获得该Sync报文在主时钟节点和从时钟节点间的E2E TC节点上的驻留时间tc01;将t01-tc01携带在接收的Sync报文中新增的接收时间戳receiveTimestamp属性字段中,将t02携带在接收的Sync报文中的源时间戳originTimestamp属性字段中;当所述配置单元配置端延时机制,且配置单步模式实现时间同步时,将t03携带在Sync报文中新增的receiveTimestamp属性字段中,将t04携带在Sync报文中originTimestamp属性字段中。
15.根据权利要求13或14所述的装置,其特征在于,
所述配置单元,用于配置请求应答机制,且配置双步模式实现时间同步;配置端延时机制,且配置双步模式实现时间同步;
所述接收单元,用于当所述配置单元配置请求应答机制,且配置双步模式实现时间同步时,接收E2E TC节点转发的从时钟节点发送的Sync报文;当所述配置单元配置端延时机制,且配置双步模式实现时间同步时,接收对等P2P TC节点转发的从时钟节点发送的Sync报文,其中,所述P2P TC为配置端延时机制的TC节点;
所述记录单元,用于当所述配置单元配置请求应答机制,且配置双步模式实现时间同步,记录所述接收单元接收的Sync报文的时间t05,记录向从时钟节点发送Sync报文的时间t06;当所述配置单元配置配置端延时机制,且配置双步模式实现时间同步时,记录所述接收单元接收该Sync报文的时间t07;记录发送Sync报文的时间t08;
所述处理单元,用于当所述配置单元配置请求应答机制,且配置双步模式实现时间同步时,获取所述接收单元接收的Sync报文中携带的,该Sync报文在主时钟节点和该从时钟节点间的E2E TC节点上的驻留时间tc02,并将接收的Sync报文转发给从时钟节点;并计算t05与获取的tc02的差值t05-tc02,并将t05-tc02,以及t06携带在跟随Follow_Up报文中向从时钟节点发送,使从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间;当所述配置单元配置配置端延时机制,且配置双步模式实现时间同步时,将所述记录单元记录的t07和t08携带在Follow_Up报文中,通过本主时钟节点与从时钟节点间的P2P TC节点转发给从时钟节点,使从时钟节点计算该从时钟节点相对于该主时钟节点的时钟偏差offset,并通过该时钟偏差调整本地时间。
16.根据权利要求15所述的装置,其特征在于,
所述处理单元,用于当所述配置单元配置请求应答机制,且配置双步模式实现时间同步时,从所述接收单元接收的Sync报文中的correctionField属性字段中获取该Sync报文在主时钟节点和该从时钟节点间的E2E TC节点上的驻留时间tc02;将t05-tc02携带在Follow_Up报文中新增的receiveTimestamp属性字段中,t06携带在Follow_Up报文中originTimestamp属性字段中发送给从时钟节点;当所述配置单元配置端延时机制,且配置双步模式实现时间同步时,将t07携带在Follow_Up报文中新增的receiveTimestamp属性字段中,将t08携带在Follow_Up报文中originTimestamp属性字段中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310033194.0A CN103138865B (zh) | 2013-01-25 | 2013-01-25 | 一种时间同步方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310033194.0A CN103138865B (zh) | 2013-01-25 | 2013-01-25 | 一种时间同步方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103138865A CN103138865A (zh) | 2013-06-05 |
CN103138865B true CN103138865B (zh) | 2015-09-16 |
Family
ID=48498232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310033194.0A Active CN103138865B (zh) | 2013-01-25 | 2013-01-25 | 一种时间同步方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103138865B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106921456B (zh) * | 2015-12-24 | 2018-06-19 | 中国科学院沈阳自动化研究所 | 基于ptp协议的多跳无线回程网络时间同步误差补偿方法 |
CN105516342B (zh) * | 2015-12-30 | 2019-02-22 | 深圳市有信网络技术有限公司 | 一种p2p穿透同步方法及系统 |
CN108023656A (zh) * | 2016-10-31 | 2018-05-11 | 深圳市中兴微电子技术有限公司 | 一种时间同步方法和设备 |
CN109327900B (zh) * | 2018-11-23 | 2021-04-20 | 中国电子科技集团公司第五十四研究所 | 一种基于非扩频无线通信系统的定位授时方法 |
CN109495202A (zh) * | 2018-12-20 | 2019-03-19 | 北京明朝万达科技股份有限公司 | 一种时间同步方法及装置 |
CN111385048B (zh) * | 2018-12-29 | 2023-06-30 | 中兴通讯股份有限公司 | 一种时间同步方法及系统 |
WO2021174399A1 (zh) * | 2020-03-02 | 2021-09-10 | Oppo广东移动通信有限公司 | 时钟同步方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102104475A (zh) * | 2011-01-31 | 2011-06-22 | 上海交通大学 | 基于ieee1588的同步系统及其同步方法 |
CN102299788A (zh) * | 2011-09-21 | 2011-12-28 | 烽火通信科技股份有限公司 | 自动发送ieee1588协议报文的控制方法及装置 |
CN102546142A (zh) * | 2010-12-11 | 2012-07-04 | 上海博达数据通信有限公司 | 透明时钟的频率同步方法以及同步报文的存储转发方法 |
CN102664696A (zh) * | 2012-03-29 | 2012-09-12 | 上海交通大学 | 面向无线传输环境的ieee1588协议优化系统及其方法 |
-
2013
- 2013-01-25 CN CN201310033194.0A patent/CN103138865B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546142A (zh) * | 2010-12-11 | 2012-07-04 | 上海博达数据通信有限公司 | 透明时钟的频率同步方法以及同步报文的存储转发方法 |
CN102104475A (zh) * | 2011-01-31 | 2011-06-22 | 上海交通大学 | 基于ieee1588的同步系统及其同步方法 |
CN102299788A (zh) * | 2011-09-21 | 2011-12-28 | 烽火通信科技股份有限公司 | 自动发送ieee1588协议报文的控制方法及装置 |
CN102664696A (zh) * | 2012-03-29 | 2012-09-12 | 上海交通大学 | 面向无线传输环境的ieee1588协议优化系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103138865A (zh) | 2013-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103138865B (zh) | 一种时间同步方法和装置 | |
CN102983927B (zh) | 一种基于ieee 1588协议的主从时钟对时的时间补偿方法 | |
CN105429725B (zh) | 一种基于sopc组网的亚微秒级时钟同步方法及系统 | |
US10432336B2 (en) | System and method of synchronizing a distributed clock in a packet-compatible network | |
KR101749202B1 (ko) | 타임스탬프를 생성하는 방법, 장치, 그리고 시스템 | |
CN101447861B (zh) | Ieee 1588时间同步系统及其实现方法 | |
CN102013931B (zh) | 时间同步方法及系统、从属定时设备及主定时设备 | |
WO2018082665A1 (zh) | 频率同步的方法以及从时钟 | |
CN102378350B (zh) | 时间同步方法、服务器及系统 | |
JP2013106329A (ja) | 通信装置 | |
CN102577194A (zh) | 不访问实时时间而根据网络设备中驻留时间的实时数值的测量和调整 | |
CN101485126A (zh) | 同步基站组件的方法 | |
CN102474410A (zh) | 高精度同步方法和系统 | |
CN103546268A (zh) | 一种系统时间的补偿方法及设备 | |
WO2021063303A1 (zh) | 获取数据流的时间戳的方法、装置、存储介质和电子装置 | |
CN104243079A (zh) | 一种实时以太网的微秒级时钟同步方法 | |
CN108039933A (zh) | 一种局域物联网时间精确同步方法 | |
CN103532693A (zh) | 一种时间同步装置和方法 | |
CN101783725B (zh) | 一种输出同步时间的方法、装置和系统 | |
CN102342051B (zh) | 用于通过经由至少一个时间分发协议分开传输第一和第二数据来同步时钟的方法和相关的系统及模块 | |
CN103546273A (zh) | 基于ptp帧的频率同步装置及方法 | |
WO2020164100A1 (zh) | 时钟同步的方法和装置 | |
Schwartz et al. | Modern trends in the development of network synchronization systems. From plesiochronous to coherent networks | |
CN105960820B (zh) | 一种同步装置及方法 | |
CN101257361B (zh) | 通过同步数字体系网络进行精确时间传送的方法及网元 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |