一种时钟同步的方法、设备和系统转让专利

申请号 : CN201510918940.3

文献号 : CN106877959B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 晏小平

申请人 : 深圳市中兴微电子技术有限公司

摘要 :

本发明实施例公开了一种时钟同步的方法、设备和系统,该方法包括:主设备将生成的第一时间值与获取的第一驻留时间封装至第一报文,并将所述第一报文发送至从设备;所述主设备接收由所述从设备发送的第二报文;其中,所述第二报文包括第三驻留时间;所述主设备在接收所述第二报文时,获取第四驻留时间和第四时间值;所述主设备将所述第四时间值、第四驻留时间以及所述第二报文中的第三驻留时间封装入第三报文,并将所述第三报文发送至从设备。

权利要求 :

1.一种时间同步的方法,其特征在于,所述方法应用于主设备,所述方法包括:主设备将生成的第一时间值与获取的第一驻留时间封装至第一报文,并将所述第一报文发送至从设备;

所述主设备接收由所述从设备发送的第二报文;其中,所述第二报文包括第三驻留时间;

所述主设备在接收所述第二报文时,获取第四驻留时间和第四时间值;

所述主设备将所述第四时间值、第四驻留时间以及所述第二报文中的第三驻留时间封装入第三报文,并将所述第三报文发送至从设备;

其中,所述第一驻留时间为所述主设备在进行所述第一报文发送时,所述第一报文在所述主设备内的驻留时间;

所述第三驻留时间为所述从设备在进行所述第二报文发送时,所述第二报文在所述从设备内的驻留时间;

所述第四驻留时间为所述主设备在接收所述第二报文的过程中,所述第二报文在所述主设备内的驻留时间。

2.根据权利要求1所述的方法,其特征在于,所述主设备包括一个第一主控板和至少一个第一业务板;所述第一报文为sync报文;所述第二报文为delay-req报文;所述第三报文为delay-resp报文。

3.根据权利要求2所述的方法,其特征在于,所述主设备将生成的第一时间值与获取的第一驻留时间封装至第一报文,并将所述第一报文发送至从设备,具体包括:所述第一主控板在生成所述sync报文时记录生成所述sync报文的第一时间值T1,并且将所述第一时间值T1封装于所述sync报文的预留字段;

所述第一主控板将所述sync报文发送至所述第一业务板,并记录所述第一主控板发送所述sync报文的时间Tout1;

所述第一业务板解析所述sync报文,获得所述第一主控板发送所述sync报文的时间Tout1;

所述第一业务板在将所述sync报文向所述从设备发送时,记录所述第一业务板发送所述sync报文的时间tout1,并根据所述第一主控板发送所述sync报文的时间Tout1与所述第一业务板发送所述sync报文的时间tout1获取所述第一驻留时间Δt1,以及将所述第一驻留时间Δt1封装于所述sync报文中的修正域ΔT1向所述从设备发送。

4.根据权利要求2所述的方法,其特征在于,所述主设备在接收所述第二报文时,获取第四驻留时间和第四时间值,具体包括:所述第一业务板在接收所述delay-req报文时,记录所述第一业务板接收所述delay-req报文的时间tin4;

所述第一业务板将所述delay-req报文发送至所述第一主控板;

所述第一主控板记录接收到所述delay-req报文的时间Tin4,并解析所述delay-req报文得到封装的所述第一业务板接收delay-req报文的时间tin4,获取得到所述第四驻留时间Δt4;

所述第一主控板记录解析所述delay-req报文的所述第四时间值T4。

5.根据权利要求2所述的方法,其特征在于,所述主设备将所述第四时间值、第四驻留时间以及所述第二报文中的第三驻留时间封装入第三报文,并将所述第三报文发送至从设备,具体包括:所述第一主控板产生所述delay-resp报文,将所述第四时间值T4、所述第四驻留时间Δt4以及所述delay-req报文修正域中的第三驻留时间Δt3封装入所述delay-resp报文,并将所述delay-resp报文发送至所述第一业务板;

所述第一业务板接收所述第一主控板发送过来的所述delay-resp报文,并将所述delay-resp报文发送至所述从设备。

6.一种时间同步的方法,其特征在于,所述方法应用于从设备,所述方法包括:从设备在接收第一报文时,获取第一驻留时间、第二驻留时间、第一时间值和第二时间值;

从设备记录第三时间值,将获取的第三驻留时间封装至第二报文,并将所述第二报文发送至主设备;

从设备在接收第三报文时,获取第三报文中所包括的第四时间值、第四驻留时间以及第二报文中的第三驻留时间,并根据所述第一时间值、第二时间值、第三时间值和第四时间值,以及所述第一驻留时间、所述第二驻留时间、所述第三驻留时间和所述第四驻留时间,计算出所述主设备与所述从设备之间的时间偏差和时延;

其中,所述第一驻留时间为所述主设备在进行所述第一报文发送时,所述第一报文在所述主设备内的驻留时间;

所述第二驻留时间为所述从设备在接收所述第一报文的过程中,所述第一报文在所述从设备内的驻留时间;

所述第三驻留时间为所述从设备在进行所述第二报文发送时,所述第二报文在所述从设备内的驻留时间;

所述第四驻留时间为所述主设备在接收所述第二报文的过程中,所述第二报文在所述主设备内的驻留时间。

7.根据权利要求6所述的方法,其特征在于,所述从设备包括一个第二主控板和至少一个第二业务板;所述第一报文为sync报文;所述第二报文为delay-req报文;所述第三报文为delay-resp报文。

8.根据权利要求7所述的方法,其特征在于,所述从设备在接收第一报文时,获取第一驻留时间、第二驻留时间、第一时间值和第二时间值,具体包括:所述第二业务板在接收所述sync报文时,记录所述第二业务板接收到所述sync报文的时间tin2;

所述第二业务板将所述sync报文发送至所述第二主控板;

所述第二主控板记录接收到所述sync报文的时间Tin2;并解析所述sync报文得到封装的所述第二业务板接收到sync报文的时间tin2,获取得到所述第二驻留时间Δt2;

所述第二主控板记录解析所述sync报文的第二时间值T2;

所述第二主控板记录sync报文的修正域ΔT1中的第一驻留时间Δt1和预留字段中的第一时间值T1。

9.根据权利要求7所述的方法,其特征在于,所述从设备记录第三时间值,并将获取的第三驻留时间封装至第二报文,并将所述第二报文发送至主设备,具体包括:所述第二主控板在生成所述delay-req报文时记录生成所述delay-req报文的第三时间值T3;

所述第二主控板将所述delay-req报文发送至所述第二业务板,并记录所述第二主控板发送所述delay-req报文的时间Tout3;

所述第二业务板解析所述delay-req报文,获得所述第二主控板发送所述delay-req报文的时间Tout3;

所述第二业务板在将所述delay-req报文向所述主设备发送时,记录所述第二业务板发送所述delay-req报文的时间tout3,并根据所述第二主控板发送所述delay-req报文的时间Tout3与所述第二业务板发送所述delay-req报文的时间tout3获取所述第三驻留时间Δt3,以及将所述第三驻留时间Δt3封装于所述delay-req报文的修正域ΔT2向所述主设备发送。

10.根据权利要求7所述的方法,其特征在于,所述从设备在接收第三报文时,获取第三报文中所包括的第四时间值、第四驻留时间以及第二报文中的第三驻留时间,并根据所述第一时间值、第二时间值、第三时间值和第四时间值,以及所述第一驻留时间、所述第二驻留时间、所述第三驻留时间和所述第四驻留时间,计算出所述主设备与所述从设备之间的时间偏差和时延,具体包括:所述从设备通过精确时间协议PTP的同步机制,根据所述第一时间值、所述第二时间值、所述第三时间值和所述第四时间值分别对应的时间戳T1、T2、T3和T4,以及第一驻留时间Δt1、第二驻留时间Δt2、第三驻留时间Δt3和第四驻留时间Δt4,计算出主设备与从设备之间的时间偏差和时延;其中,所述第一驻留时间Δt1保存在所述第一报文的修正域ΔT1=Δt1,所述第三驻留时间Δt3保存在所述第二报文的修正域ΔT2=Δt3。

11.一种主设备,其特征在于,所述主设备包括:第一主控板和第一业务板;其中,所述第一主控板,用于将生成的第一时间值与获取的第一驻留时间封装至第一报文;

所述第一业务板,用于将所述第一报文发送至从设备;

以及,接收由所述从设备发送的第二报文;所述第二报文包括第三驻留时间;

所述第一主控板,还用于在所述第一业务板接收所述第二报文时,获取第四驻留时间和第四时间值;

以及,将所述第四时间值、第四驻留时间以及所述第二报文中的第三驻留时间封装入第三报文;

所述业务板,还用于将所述第三报文发送至从设备;

其中,所述第一驻留时间为所述主设备在进行所述第一报文发送时,所述第一报文在所述主设备内的驻留时间;

所述第三驻留时间为所述从设备在进行所述第二报文发送时,所述第二报文在所述从设备内的驻留时间;

所述第四驻留时间为所述主设备在接收所述第二报文的过程中,所述第二报文在所述主设备内的驻留时间。

12.根据权利要求11所述的主设备,其特征在于,所述第一报文为sync报文;所述第二报文为delay-req报文;所述第三报文为delay-resp报文。

13.根据权利要求12所述的主设备,其特征在于,所述第一主控板,具体用于在生成所述sync报文时记录生成所述sync报文的第一时间值T1,并且将所述第一时间值T1封装于所述sync报文的预留字段;

以及,将所述sync报文发送至所述第一业务板,并记录发送所述sync报文的时间Tout1;

所述第一业务板,具体用于解析所述sync报文,获得所述发送所述sync报文的时间Tout1;

以及,在将所述sync报文向所述从设备发送时,记录发送所述sync报文的时间tout1,并根据所述第一主控板发送所述sync报文的时间Tout1与所述第一业务板发送所述sync报文的时间tout1获取所述第一驻留时间Δt1,以及将所述第一驻留时间Δt1封装于所述sync报文中的修正域ΔT1向所述从设备发送。

14.根据权利要求12所述的主设备,其特征在于,所述第一业务板,具体用于在接收所述delay-req报文时,记录所述第一业务板接收所述delay-req报文的时间tin4;

以及,将所述delay-req报文发送至所述第一主控板;

所述第一主控板,具体用于记录接收到所述delay-req报文的时间Tin4,并解析所述delay-req报文得到封装的所述第一业务板接收delay-req报文的时间tin4,获取得到所述第四驻留时间Δt4;

以及,记录解析所述delay-req报文的所述第四时间值T4。

15.根据权利要求12所述的主设备,其特征在于,所述第一主控板,具体用于产生所述delay-resp报文,将所述delay-req报文中的所述第四时间值T4,以及所述delay-req报文修正域中的第三驻留时间Δt3封装入所述delay-resp报文,并将所述delay-resp报文发送至所述第一业务板;

所述第一业务板,具体用于接收所述第一主控板发送过来的所述delay-resp报文,并将所述delay-resp报文发送至所述从设备。

16.一种从设备,其特征在于,所述从设备包括第二主控板和第二业务板,其中,所述第二业务板,用于接收第一报文;

所述第二主控板,用于获取第一驻留时间、第二驻留时间、第一时间值和第二时间值;

以及,记录第三时间值,并将获取的第三驻留时间封装至第二报文;

所述第二业务板,还用于将该第二报文发送至主设备;

以及,接收第三报文;

所述第二主控板,还用于获取第三报文中所包括的第四时间值、第四驻留时间以及第二报文中的第三驻留时间,并根据所述第一时间值、第二时间值、第三时间值和第四时间值,以及所述第一驻留时间、所述第二驻留时间、所述第三驻留时间和所述第四驻留时间,计算出所述主设备与所述从设备之间的时间偏差和时延;

其中,所述第一驻留时间为所述主设备在进行所述第一报文发送时,所述第一报文在所述主设备内的驻留时间;

所述第二驻留时间为所述从设备在接收所述第一报文的过程中,所述第一报文在所述从设备内的驻留时间;

所述第三驻留时间为所述从设备在进行所述第二报文发送时,所述第二报文在所述从设备内的驻留时间;

所述第四驻留时间为所述主设备在接收所述第二报文的过程中,所述第二报文在所述主设备内的驻留时间。

17.根据权利要求16所述的从设备,其特征在于,所述第一报文为sync报文;所述第二报文为delay-req报文;所述第三报文为delay-resp报文。

18.根据权利要求17所述的从设备,其特征在于,所述第二业务板,具体用于在接收所述sync报文时,记录所述第二业务板接收到所述sync报文的时间tin2;

以及,将所述sync报文发送至所述第二主控板;

所述第二主控板,具体用于记录接收到所述sync报文的时间Tin2;并解析所述sync报文得到封装的所述第二业务板接收到sync报文的时间tin2,获取得到所述第二驻留时间Δt2;

所述第二主控板记录解析所述sync报文的第二时间值T2;

所述第二主控板记录sync报文的修正域ΔT1中的第一驻留时间Δt1和预留字段中的第一时间值T1。

19.根据权利要求17所述的从设备,其特征在于,所述第二主控板,具体用于在生成所述delay-req报文时记录生成所述delay-req报文的第三时间值T3;

以及,将所述delay-req报文发送至所述第二业务板,并记录所述第二主控板发送所述delay-req报文的时间Tout3;

所述第二业务板,具体用于解析所述delay-req报文,获得所述第二主控板发送所述delay-req报文的时间Tout3;

以及,在将所述delay-req报文向所述主设备发送时,记录所述第二业务板发送所述delay-req报文的时间tout3,并根据所述第二主控板发送所述delay-req报文的时间Tout3与所述第二业务板发送所述delay-req报文的时间tout3获取所述第三驻留时间Δt3,以及将所述第三驻留时间Δt3封装于所述delay-req报文的修正域ΔT2向所述主设备发送。

20.根据权利要求17所述的从设备,其特征在于,所述第二主控板,具体用于通过精确时间协议PTP的同步机制,根据所述第一时间值、所述第二时间值、所述第三时间值和所述第四时间值分别对应的时间戳T1、T2、T3和T4,以及所述第一驻留时间Δt1、所述第二驻留时间Δt2、所述第三驻留时间Δt3和所述第四驻留时间Δt4,计算出所述主设备与所述从设备之间的时间偏差和时延。

21.一种时间同步的系统,其特征在于,所述系统包括:主设备和从设备;其中,所述主设备,用于将生成的第一时间值与获取的第一驻留时间封装至第一报文,并将所述第一报文发送至所述从设备;

以及,接收由所述从设备发送的第二报文;所述第二报文包括第三驻留时间;

以及,在接收所述第二报文时,获取第四驻留时间和第四时间值;其中,所述第二报文包括第三驻留时间;

以及,将所述第二报文中的第四时间值、第四驻留时间以及所述第二报文中的第三驻留时间封装入第三报文,并将所述第三报文发送至从设备;

所述从设备,用于在接收第一报文时,获取第一驻留时间、第二驻留时间、第一时间值和第二时间值;

以及,记录获取第三时间值,将获取的第三驻留时间封装至第二报文,并将该第二报文发送至所述主设备;

以及,在接收第三报文时,获取第三报文中所包括的第四时间值、第四驻留时间以及第二报文中的第三驻留时间,并根据所述第一时间值、第二时间值、第三时间值和第四时间值,以及所述第一驻留时间、所述第二驻留时间、所述第三驻留时间和所述第四驻留时间,计算出所述主设备与所述从设备之间的时间偏差和时延;

其中,所述第一驻留时间为所述主设备在进行所述第一报文发送时,所述第一报文在所述主设备内的驻留时间;

所述第二驻留时间为所述从设备在接收所述第一报文的过程中,所述第一报文在所述从设备内的驻留时间;

所述第三驻留时间为所述从设备在进行所述第二报文发送时,所述第二报文在所述从设备内的驻留时间;

所述第四驻留时间为所述主设备在接收所述第二报文的过程中,所述第二报文在所述主设备内的驻留时间。

说明书 :

一种时钟同步的方法、设备和系统

技术领域

[0001] 本发明涉及网络通信技术,尤其涉及一种时钟同步的方法、设备和系统。

背景技术

[0002] 在现有通信设备中,各设备间进行时间同步的方案大部分都根据电气和电子工程师协会(IEEE,Institute of Electrical and Electronics Engineers)于2002年提出并在2007年进行修改的网络测量和控制系统的精密时钟同步协议标准来实现,该标准又称为IEEE 1588协议。
[0003] 目前,在IEEE 1588协议的应用中,通常采用分布式架构组网方式处理IEEE 1588协议,即每个网络业务节点均运行一套IEEE 1588协议系统,这样的优点就是能够对网络节点进行扩展。但是,由于每个网络节点都要通过运行最佳主时钟算法(BMC,Best Master Clock algorithm)找到本网络节点中各接口的最佳时钟,而本地节点中每个接口的时钟都是来自于上一个主设备的时钟,这样就导致网络节点之间的耦合性较强。因此,出现故障的时候维护比较困难,且实现也较复杂。
[0004] 另外,IEEE 1588协议对传送网的传送驻留有严格的要求,即参与时间同步的设备之间的延时必须是一个相对固定的值,且设备收发双向的驻留时间必须相等,否则对时间同步产生较大的误差。而在光传送网(OTN,Optical Transport Network)网络中,由于存在链路不对称、OTN帧处理延时等现象,可能会导致参与时间同步的设备收发双向驻留时间存在一定的误差,进而影响参与时间同步的设备之间进行时间同步的精度。

发明内容

[0005] 有鉴于此,本发明实施例期望提供一种时钟同步的方法、设备和系统,降低了时间同步时网络节点之间的耦合性,提高了参与时间同步的设备之间进行时间同步的精度。
[0006] 为达到上述目的,本发明的技术方案是这样实现的:
[0007] 第一方面,本发明实施例提供一种时间同步的方法,所述方法应用于主设备,所述方法包括:主设备将生成的第一时间值与获取的第一驻留时间封装至第一报文,并将所述第一报文发送至从设备;所述主设备接收由所述从设备发送的第二报文;其中,所述第二报文包括第三驻留时间;所述主设备在接收所述第二报文时,获取第四驻留时间和第四时间值;所述主设备将所述第四时间值、第四驻留时间以及所述第二报文中的第三驻留时间封装入第三报文,并将所述第三报文发送至从设备。
[0008] 在上述方案中,所述主设备包括一个第一主控板和至少一个第一业务板;所述第一报文为sync报文;所述第二报文为delay-req报文;所述第三报文为delay-resp报文。
[0009] 在上述方案中,所述主设备将生成的第一时间值与获取的第一驻留时间封装至第一报文,并将所述第一报文发送至从设备,具体包括:所述第一主控板在生成所述sync报文时记录生成所述sync报文的第一时间值T1,并且将所述第一时间值T1封装于所述sync报文的预留字段;所述第一主控板将所述sync报文发送至所述第一业务板,并记录所述第一主控板发送所述sync报文的时间Tout1;所述第一业务板解析所述sync报文,获得所述第一主控板发送所述sync报文的时间Tout1;所述第一业务板在将所述sync报文向所述从设备发送时,记录所述第一业务板发送所述sync报文的时间tout1,并根据所述第一主控板发送所述sync报文的时间Tout1与所述第一业务板发送所述sync报文的时间tout1获取所述第一驻留时间Δt1,以及将所述第一驻留时间Δt1封装于所述sync报文中的修正域ΔT1向所述从设备发送。
[0010] 在上述方案中,所述主设备在接收所述第二报文时,获取第四驻留时间和第四时间值,具体包括:所述第一业务板在接收所述delay-req报文时,记录所述第一业务板接收所述delay-req报文的时间tin4;所述第一业务板将所述delay-req报文发送至所述第一主控板;所述第一主控板记录接收到所述delay-req报文的时间Tin4,并解析所述delay-req报文得到封装的所述第一业务板接收delay-req报文的时间tin4,获取得到所述第四驻留时间Δt4;所述第一主控板记录解析所述delay-req报文的所述第四时间值T4。
[0011] 在上述方案中,所述主设备将所述第四时间值、第四驻留时间以及所述第二报文中的第三驻留时间封装入第三报文,并将所述第三报文发送至从设备,具体包括:所述第一主控板产生所述delay-resp报文,将所述第四时间值T4、所述第四驻留时间Δt4以及所述delay-req报文修正域中的第三驻留时间Δt3封装入所述delay-resp报文,并将所述delay-resp报文发送至所述第一业务板;所述第一业务板接收所述第一主控板发送过来的所述delay-resp报文,并将所述delay-resp报文发送至所述从设备。
[0012] 第二方面,本发明实施例提供一种时间同步的方法,所述方法应用于从设备,所述方法包括:从设备在接收第一报文时,获取第一驻留时间、第二驻留时间、第一时间值和第二时间值;从设备记录第三时间值,将获取的第三驻留时间封装至第二报文,并将所述第二报文发送至主设备;从设备在接收第三报文时,获取第三报文中所包括的第四时间值、第四驻留时间以及第二报文中的第三驻留时间,并根据所述第一时间值、第二时间值、第三时间值和第四时间值,以及所述第一驻留时间、所述第二驻留时间、所述第三驻留时间和所述第四驻留时间,计算出所述主设备与所述从设备之间的时间偏差和时延。
[0013] 在上述方案中,所述从设备包括一个第二主控板和至少一个第二业务板;所述第一报文为sync报文;所述第二报文为delay-req报文;所述第三报文为delay-resp报文。
[0014] 在上述方案中,所述从设备在接收第一报文时,获取第一驻留时间、第二驻留时间、第一时间值和第二时间值,具体包括:所述第二业务板在接收所述sync报文时,记录所述第二业务板接收到所述sync报文的时间tin2;所述第二业务板将所述sync报文发送至所述第二主控板;所述第二主控板记录接收到所述sync报文的时间Tin2;并解析所述sync报文得到封装的所述第二业务板接收到sync报文的时间tin2,获取得到所述第二驻留时间Δt2;所述第二主控板记录解析所述sync报文的第二时间值T2;所述第二主控板记录sync报文的修正域ΔT1中的第一驻留时间Δt1和预留字段中的第一时间值T1。
[0015] 在上述方案中,所述从设备记录第三时间值,并将获取的第三驻留时间封装至第二报文,并将所述第二报文发送至主设备,具体包括:所述第二主控板在生成所述delay-req报文时记录生成所述delay-req报文的第三时间值T3;所述第二主控板将所述delay-req报文发送至所述第二业务板,并记录所述第二主控板发送所述delay-req报文的时间Tout3;所述第二业务板解析所述delay-req报文,获得所述第二主控板发送所述delay-req报文的时间Tout3;所述第二业务板在将所述delay-req报文向所述主设备发送时,记录所述第二业务板发送所述delay-req报文的时间tout3,并根据所述第二主控板发送所述delay-req报文的时间Tout3与所述第二业务板发送所述delay-req报文的时间tout3获取所述第三驻留时间Δt3,以及将所述第三驻留时间Δt3封装于所述delay-req报文的修正域ΔT2向所述主设备发送。
[0016] 在上述方案中,所述从设备在接收第三报文时,获取第三报文中所包括的第四时间值、第四驻留时间以及第二报文中的第三驻留时间,并根据所述第一时间值、第二时间值、第三时间值和第四时间值,以及所述第一驻留时间、所述第二驻留时间、所述第三驻留时间和所述第四驻留时间,计算出所述主设备与所述从设备之间的时间偏差和时延,具体包括:所述从设备通过精确时间协议PTP的同步机制,根据所述第一时间值、所述第二时间值、所述第三时间值和所述第四时间值分别对应的时间戳T1、T2、T3和T4,以及第一驻留时间Δt1、第二驻留时间Δt2、第三驻留时间Δt3和第四驻留时间Δt4,计算出主设备与从设备之间的时间偏差和时延;其中,所述第一驻留时间Δt1保存在所述第一报文的修正域ΔT1=Δt1,所述第三驻留时间Δt3保存在所述第二报文的修正域ΔT2=Δt3。
[0017] 第三方面,本发明实施例提供一种主设备,所述主设备包括:第一主控板和第一业务板;其中,所述第一主控板,用于将生成的第一时间值与获取的第一驻留时间封装至第一报文;所述第一业务板,用于将所述第一报文发送至从设备;以及,接收由所述从设备发送的第二报文;所述第二报文包括第三驻留时间;所述第一主控板,还用于在所述第一业务板接收所述第二报文时,获取第四驻留时间和第四时间值;以及,将所述第四时间值、第四驻留时间以及所述第二报文中的第三驻留时间封装入第三报文;所述业务板,还用于将所述第三报文发送至从设备。
[0018] 在上述方案中,所述第一报文为sync报文;所述第二报文为delay-req报文;所述第三报文为delay-resp报文。
[0019] 在上述方案中,所述第一主控板,具体用于在生成所述sync报文时记录生成所述sync报文的第一时间值T1,并且将所述第一时间值T1封装于所述sync报文的预留字段;以及,将所述sync报文发送至所述第一业务板,并记录发送所述sync报文的时间Tout1;所述第一业务板,具体用于解析所述sync报文,获得所述发送所述sync报文的时间Tout1;以及,在将所述sync报文向所述从设备发送时,记录发送所述sync报文的时间tout1,并根据所述第一主控板发送所述sync报文的时间Tout1与所述第一业务板发送所述sync报文的时间tout1获取所述第一驻留时间Δt1,以及将所述第一驻留时间Δt1封装于所述sync报文中的修正域ΔT1向所述从设备发送。
[0020] 在上述方案中,所述第一业务板,具体用于在接收所述delay-req报文时,记录所述第一业务板接收所述delay-req报文的时间tin4;以及,将所述delay-req报文发送至所述第一主控板;所述第一主控板,具体用于记录接收到所述delay-req报文的时间Tin4,并解析所述delay-req报文得到封装的所述第一业务板接收delay-req报文的时间tin4,获取得到所述第四驻留时间Δt4;以及,记录解析所述delay-req报文的所述第四时间值T4。
[0021] 在上述方案中,所述第一主控板,具体用于产生所述delay-resp报文,将所述delay-req报文中的所述第四时间值T4,以及所述delay-req报文修正域中的第三驻留时间Δt3封装入所述delay-resp报文,并将所述delay-resp报文发送至所述第一业务板;所述第一业务板,具体用于接收所述第一主控板发送过来的所述delay-resp报文,并将所述delay-resp报文发送至所述从设备。
[0022] 第四方面,本发明实施例提供一种从设备,所述从设备包括第二主控板和第二业务板,其中,所述第二业务板,用于接收第一报文;所述第二主控板,用于获取第一驻留时间、第二驻留时间、第一时间值和第二时间值;以及,记录第三时间值,并将获取的第三驻留时间封装至第二报文;所述第二业务板,还用于将该第二报文发送至主设备;以及,接收第三报文;所述第二主控板,还用于获取第三报文中所包括的第四时间值、第四驻留时间以及第二报文中的第三驻留时间,并根据所述第一时间值、第二时间值、第三时间值和第四时间值,以及所述第一驻留时间、所述第二驻留时间、所述第三驻留时间和所述第四驻留时间,计算出所述主设备与所述从设备之间的时间偏差和时延。
[0023] 在上述方案中,所述第一报文为sync报文;所述第二报文为delay-req报文;所述第三报文为delay-resp报文。
[0024] 在上述方案中,所述第二业务板,具体用于在接收所述sync报文时,记录所述第二业务板接收到所述sync报文的时间tin2;以及,将所述sync报文发送至所述第二主控板;所述第二主控板,具体用于记录接收到所述sync报文的时间Tin2;并解析所述sync报文得到封装的所述第二业务板接收到sync报文的时间tin2,获取得到所述第二驻留时间Δt2;所述第二主控板记录解析所述sync报文的第二时间值T2;所述第二主控板记录sync报文的修正域ΔT1中的第一驻留时间Δt1和预留字段中的第一时间值T1。
[0025] 在上述方案中,所述第二主控板,具体用于在生成所述delay-req报文时记录生成所述delay-req报文的第三时间值T3;以及,将所述delay-req报文发送至所述第二业务板,并记录所述第二主控板发送所述delay-req报文的时间Tout3;所述第二业务板,具体用于解析所述delay-req报文,获得所述第二主控板发送所述delay-req报文的时间Tout3;以及,在将所述delay-req报文向所述主设备发送时,记录所述第二业务板发送所述delay-req报文的时间tout3,并根据所述第二主控板发送所述delay-req报文的时间Tout3与所述第二业务板发送所述delay-req报文的时间tout3获取所述第三驻留时间Δt3,以及将所述第三驻留时间Δt3封装于所述delay-req报文的修正域ΔT2向所述主设备发送。
[0026] 在上述方案中,所述第二主控板,具体用于通过精确时间协议PTP的同步机制,根据所述第一时间值、所述第二时间值、所述第三时间值和所述第四时间值分别对应的时间戳T1、T2、T3和T4,以及所述第一驻留时间Δt1、所述第二驻留时间Δt2、所述第三驻留时间Δt3和所述第四驻留时间Δt4,计算出所述主设备与所述从设备之间的时间偏差和时延。
[0027] 第五方面,本发明实施例提供一种时间同步的系统,所述系统包括:主设备和从设备;其中,
[0028] 所述主设备,用于将生成的第一时间值与获取的第一驻留时间封装至第一报文,并将所述第一报文发送至所述从设备;以及,接收由所述从设备发送的第二报文;所述第二报文包括第三驻留时间;以及,在接收所述第二报文时,获取第四驻留时间和第四时间值;其中,所述第二报文包括第三驻留时间;以及,将所述第二报文中的第四时间值、第四驻留时间以及所述第二报文中的第三驻留时间封装入第三报文,并将所述第三报文发送至从设备;
[0029] 所述从设备,用于在接收第一报文时,获取第一驻留时间、第二驻留时间、第一时间值和第二时间值;以及,记录获取第三时间值,将获取的第三驻留时间封装至第二报文,并将该第二报文发送至所述主设备;以及,在接收第三报文时,获取第三报文中所包括的第四时间值、第四驻留时间以及第二报文中的第三驻留时间,并根据所述第一时间值、第二时间值、第三时间值和第四时间值,以及所述第一驻留时间、所述第二驻留时间、所述第三驻留时间和所述第四驻留时间,计算出所述主设备与所述从设备之间的时间偏差和时延。
[0030] 本发明实施例提供了一种时钟同步的方法、设备和系统,通过主、从设备之间的多次报文交互,从而能够获取主、从设备收发双向的驻留时间,并且根据主、从设备收发双向的驻留时间获知主、从设备间延时,降低了时间同步时网络节点之间的耦合性,提高了参与时间同步的设备之间进行时间同步的精度。

附图说明

[0031] 图1为本发明实施例提供的一种时钟同步的方法详细流程示意图;
[0032] 图2为本发明实施例提供的一种主设备发送第一报文的具体流程示意图;
[0033] 图3为本发明实施例提供的一种从设备获取第二驻留时间和第二时间值的具体流程示意图;
[0034] 图4为本发明实施例提供的一种从设备发送第二报文的具体流程示意图;
[0035] 图5为本发明实施例提供的一种主设备获取第四驻留时间和第四时间值的具体流程示意图;
[0036] 图6为本发明实施例提供的一种主设备发送第三报文的具体流程示意图;
[0037] 图7为本发明实施例提供的一种主设备的结构示意图;
[0038] 图8为本发明实施例提供的一种从设备的结构示意图;
[0039] 图9为本发明实施例提供的另一种主设备发送第一报文的具体流程示意图;
[0040] 图10为本发明实施例提供的另一种从设备获取第二驻留时间和第二时间值的具体流程示意图;
[0041] 图11为本发明实施例提供的另一种从设备发送第二报文的具体流程示意图;
[0042] 图12为本发明实施例提供的另一种主设备获取第四驻留时间和第四时间值的具体流程示意图;
[0043] 图13为本发明实施例提供的另一种主设备发送第三报文的具体流程示意图;
[0044] 图14为本发明实施例提供的一种主设备侧的时间同步方法流程示意图;
[0045] 图15为本发明实施例提供的一种从设备侧的时间同步方法流程示意图;
[0046] 图16为本发明实施例提供的另一种主设备的结构示意图;
[0047] 图17为本发明实施例提供的另一种从设备的结构示意图;
[0048] 图18为本发明实施例提供的一种时间同步的系统结构示意图。

具体实施方式

[0049] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0050] 实施例一
[0051] 参见图1,为本发明实施例提供的一种时间同步的方法,该方法可以应用于一时间同步的系统,该系统可以包括:进行报文交互的主设备和从设备;其中,主设备包括一个第一主控板和至少一个第一业务板,从设备包括一个第二主控板和至少一个第二业务板。该方法可以包括:
[0052] S101:主设备将生成的第一时间值与获取的第一驻留时间封装至第一报文,并将该第一报文发送至从设备;
[0053] 需要说明的是,第一报文可以为主设备向从设备发送的同步sync报文,也可以为其他类型的报文,本发明实施例对此不作具体限定。而且,第一驻留时间为主设备在进行报文发送时,报文在主设备内的驻留时间。
[0054] 示例性地,由于主设备可以包括一个第一主控板和至少一个第一业务板,因此,步骤S101的实现过程如图2所示,具体可以包括:
[0055] S1011:第一主控板在生成sync报文时记录生成sync报文的第一时间值T1,并且将第一时间值T1封装于sync报文的预留字段;具体在本实施例中,第一主控板将第一时间值T1可以通过系统时间戳的形式进行保存,封装于sync报文的precisetime字段域;
[0056] S1012:第一主控板将sync报文发送至第一业务板,并记录第一主控板发送sync报文的时间Tout1;具体地,第一主控板发送sync报文的时间Tout1也可以通过系统时间戳的形式进行保存,并封装于sync报文中PTP信息之后、FCS校验之前的字段域;可以理解地,T1要早于Tout1;
[0057] S1013:第一业务板解析sync报文,获得第一主控板发送sync报文的时间Tout1;
[0058] S1014:第一业务板在将sync报文向从设备发送时,记录第一业务板发送sync报文的时间tout1,并根据第一主控板发送sync报文的时间Tout1与第一业务板发送sync报文的时间tout1获取第一驻留时间Δt1,以及将第一驻留时间Δt1封装于sync报文中向从设备发送;具体地,第一驻留时间Δt1=tout1-Tout1,第一驻留时间可以封装于sync报文的修正域,从而有ΔT1=Δt1。
[0059] 可选地,在步骤S1011中,第一时间值T1可以封装于sync报文之后发送的Follow-up报文中,并由第一业务板发送至从设备,需要说明的是,对于Follow-up报文,第一业务板仅负责发送,并不进行解析等其他处理。
[0060] S102:从设备在接收第一报文时,获取第一时间值、第二时间值、第一驻留时间和第二驻留时间;
[0061] 需要说明的是,第二驻留时间为从设备在接收报文的过程中,报文在从设备内的驻留时间。可以理解地,本实施例中以第一报文为sync报文为例进行说明,此时,从设备获得第一时间值、第二时间值、第一驻留时间和第二驻留时间。
[0062] 示例性地,由于从设备可以包括一个第二主控板和至少一个第二业务板,因此,步骤S102的实现过程如图3所示,具体可以包括:
[0063] S1021:第二业务板在接收sync报文时,记录第二业务板接收到sync报文的时间tin2;具体地,第二业务板接收到sync报文的时间tin2也可以通过系统时间戳的形式进行保存,并封装于sync报文中位于PTP信息之后、FCS校验之前的字段域;
[0064] S1022:第二业务板将sync报文发送至第二主控板;
[0065] S1023:第二主控板记录接收到sync报文的时间Tin2;并解析sync报文得到封装的第二业务板接收到sync报文的时间tin2,获取得到第二驻留时间Δt2;
[0066] 具体地,第二主控板可以通过解析sync报文中位于PTP信息之后、FCS校验之前的字段域获取得到tin2,随后根据Δt2=Tin2-tin2获取得到第二驻留时间。
[0067] S1024:第二主控板记录解析sync报文的第二时间值T2,具体在本实施例中,第二主控板可以将第二时间值T2通过系统时间戳的形式进行保存;同时,记录sync报文的修正域ΔT1中的第一驻留时间Δt1和precisetime字段域中的第一时间值T1。
[0068] S103:从设备记录第三时间值,将获取的第三驻留时间封装至第二报文,并将所述第二报文发送至主设备;
[0069] 需要说明的是,第二报文可以为从设备向主设备发送的delay-req报文,也可以为其他类型的报文,本发明实施例对此不作具体限定。而且,第三驻留时间为从设备在进行报文发送时,报文在从设备内的驻留时间。
[0070] 示例性地,由于从设备可以包括一个第二主控板和至少一个第二业务板,因此,步骤S103的实现过程如图4所示,具体可以包括:
[0071] S1031:第二主控板在生成delay-req报文时记录生成delay-req报文的第三时间值T3;具体在本实施例中,第二主控板可以将第三时间值T3通过系统时间戳的形式进行保存;
[0072] S1032:第二主控板将delay-req报文发送至第二业务板,并记录第二主控板发送delay-req报文的时间Tout3;具体地,第二主控板发送delay-req报文的时间Tout3也可以通过系统时间戳的形式进行保存,并封装于delay-req报文中PTP信息之后、FCS校验之前的字段域;可以理解地,T3要早于Tout3;
[0073] S1033:第二业务板解析delay-req报文,获得第二主控板发送delay-req报文的时间Tout3;
[0074] S1034:第二业务板在将delay-req报文向主设备发送时,记录第二业务板发送delay-req报文的时间tout3,并根据第二主控板发送delay-req报文的时间Tout3与第二业务板发送delay-req报文的时间tout3获取第三驻留时间Δt3,以及将第三驻留时间封装于delay-req报文中向主设备发送;具体地,第三驻留时间Δt3=Tout3-tout3,第三驻留时间Δt3可以封装于delay-req报文的修正域,从而有ΔT2=Δt3。
[0075] S104:主设备在接收第二报文时,获取第四驻留时间和第四时间值;
[0076] 需要说明的是,第四驻留时间为主设备在接收报文的过程中,报文在主设备内的驻留时间。
[0077] 示例性地,由于主设备可以包括一个第一主控板和至少一个第一业务板,因此,步骤S104的实现过程如图5所示,具体可以包括:
[0078] S1041:第一业务板在接收delay-req报文时,记录第一业务板接收delay-req报文的时间tin4;具体地,第一业务板接收delay-req报文的时间也可以通过系统时间戳的形式进行保存,并封装于delay-req报文中位于PTP信息之后、FCS校验之前的字段域;
[0079] S1042:第一业务板将delay-req报文发送至第一主控板;
[0080] S1043:第一主控板记录接收到delay-req报文的时间Tin4,并解析delay-req报文得到封装的第一业务板接收delay-req报文的时间tin4,获取得到第四驻留时间Δt4;
[0081] 具体地,第一主控板可以通过解析delay-req报文中位于PTP信息之后、FCS校验之前的字段域获取到tin4,随后根据Δt4=Tin4-tin4获取得到第四驻留时间。
[0082] S1044:第一主控板记录解析delay-req报文的第四时间值T4;具体在本实施例中,第一主控板可以将第四时间值T4通过系统时间戳的形式进行保存。
[0083] S105:主设备将所述第四时间值、第四驻留时间以及所述第二报文中的第三驻留时间封装入第三报文,并将该第三报文发送至从设备;
[0084] 需要说明的是,第三报文可以为主设备向从设备发送的delay-resp报文,也可以为其他类型的报文,本发明实施例对此不作具体限定。
[0085] 示例性地,由于主设备可以包括一个第一主控板和至少一个第一业务板,因此,步骤S105的实现过程如图6所示,具体可以包括:
[0086] S1051:第一主控板产生delay-resp报文,将delay-req报文中的第四时间值T4、第四驻留时间Δt4以及delay-req报文修正域中的第三驻留时间Δt3封装入delay-resp报文,并将delay-resp报文发送至第一业务板;
[0087] S1052:第一业务板接收第一主控板发送过来的delay-resp报文,并将delay-resp报文发送至从设备。
[0088] S106:从设备在接收第三报文时,获取第四时间值、第四驻留时间以及第二报文中的第三驻留时间,并根据所述第一时间值、第二时间值、第三时间值和第四时间值,以及所述第一驻留时间、第二驻留时间、第三驻留时间和第四驻留时间,计算出所述主设备与所述从设备之间的时间偏差和时延,通过时间偏差和时延来调整从设备的当前时间,使主从设备时间同步。
[0089] 需要说明的是,第三报文可以为主设备向从设备发送的delay-resp报文,也可以为其他类型的报文,本发明实施例对此不作具体限定。
[0090] 另外,第一时间值T1可以在从设备之前收到的sync报文的precisetime字段域中获取得到,并且第一报文修正域中的数值ΔT'1也可以在上述sync报文的修正域中获取得到。
[0091] 在具体实施过程中,由精确时间协议(PTP,Precision Time Protocol)的同步机制,根据第一时间值、第二时间值、第三时间值和第四时间值分别对应的时间戳T1、T2、T3和T4,以及第一驻留时间Δt1、第二驻留时间Δt2、第三驻留时间Δt3和第四驻留时间Δt4,计算出主设备与从设备之间的时间偏差和时延;其中,第一驻留时间Δt1保存在第一报文的修正域ΔT1=Δt1,第三驻留时间Δt3保存在第二报文的修正域ΔT2=Δt3。
[0092] 具 体 来 说 ,可 以 根 据 时 间 偏 差 和 时 延计算出主从设备之间的时间偏差和时
延,进而根据PTP得到第一主控板的当前时间,实现了将主设备的第一主控板的当前时间同步到从设备的第二主控板的目的。
[0093] 需要说明的是,业务板还需要与各自设备中的主控板对时,使得所有设备中的单板的时间保持一致。
[0094] 实施例二
[0095] 基于上述实施例相同的技术构思,本实施例提供了一种时间同步的方法具体实现流程,该具体实现流程对实施例一中各步骤的具体实现过程进行了描述。
[0096] 具体的,在本实施例中,如图7所示,主设备包含一个第一主控板和至少一个第一业务板;其中,第一主控板除了CPU外,还包含第一FPGA模块和第一主控板sgmii接口,第一FPGA模块又包含:第一Sync单元、第一Delay-req单元、第一Delay-resp单元、第一Timer0单元、第一Timer1单元;第一业务板包含第一业务板sgmii接口、第一Framer模块和第一光模块,第一Framer模块又包含第一Framer serdes单元;需要说明的是,第一Sync单元、第一Delay-req单元、第一Delay-resp单元均为第一主控板进行报文处理的单元,对相应类型的报文进行处理。
[0097] 如图8所示,从设备包含一个第二主控板和至少一个第二业务板;其中,第二主控板中包含第二FPGA模块和第二主控板sgmii接口,第二FPGA模块又包含:第二Sync单元、第二Delay-req单元、第二Delay-resp单元、第二Timer0单元、第二Timer1单元;第二业务板包含第二业务板sgmii接口、第二Framer模块和第二光模块,第二Framer模块又包含第二Framer serdes单元;需要说明的是,第二Sync单元、第二Delay-req单元、第二Delay-resp单元均为第二主控板进行报文处理的单元,对相应类型的报文进行处理。
[0098] 本领域技术人员可以意识到,本发明实施方式并不局限于上述的场景中,而还可以适用于其他任意的场景之中。
[0099] 基于上述设备的具体构成,针对实施例一中各步骤的具体实现如下:
[0100] 优选地,参见图9,对于步骤S101:所述主设备将生成的第一时间值与获取的第一驻留时间封装至第一报文,并将该第一报文发送至从设备的实现过程可以包括:
[0101] S901:主设备上的第一Sync单元产生并发送sync报文至第一Timer0单元,第一Timer0单元接收第一Sync单元发送过来的sync报文,并将sync报文发送至第一Timer1单元;
[0102] S902:第一主控板记录第一Timer0单元发送sync报文的时间为第一时间值,以时间戳T1的形式保存,并将时间戳T1装入sync报文的precisetime字段域;
[0103] S903:第一Timer1单元接收第一Timer0单元发送过来的sync报文,并将sync报文发送至第一主控板sgmii接口模块;
[0104] S904:第一主控板记录第一Timer1单元发送sync报文的时间,以系统时间戳Tout1的形式保存,并将系统时间戳Tout1装入sync报文中位于PTP信息之后、FCS校验之前的字段域;
[0105] S905:第一主控板sgmii接口模块接收第一Timer1单元发送过来的sync报文,并将sync报文传输至第一业务板sgmii接口模块;
[0106] S906:第一业务板sgmii接口模块接收第一主控板sgmii接口模块传输过来的sync报文,并将sync报文发送至第一Framer模块;
[0107] S907:第一Framer模块中的第一Framer串行器(serdes,SERializer)单元接收并发送sync报文,并将sync报文发送至第一光模块;
[0108] S908:第一业务板记录第一Framer serdes单元发送sync报文的时间,并以系统时间戳tout1的形式保存;
[0109] S909:第一业务板解析sync报文中位于PTP信息之后、FCS校验之前的字段域,以获取第一Timer1单元发送sync报文的时间Tout1;
[0110] S910:第一业务板计算出第一Timer1单元发送sync报文和第一Framer serdes单元发送sync报文之间的时间差值,具体可以记为第一驻留时间Δt1=tout1-Tout1,并且将第一驻留时间Δt1写入sync报文的修正域ΔT1=Δt1;
[0111] S911:第一光模块接收第一Framer serdes单元发送过来的sync报文,并将sync报文发送至从设备。
[0112] 可选地,在步骤S901中,第一时间值T1可以封装于sync报文之后发送的Follow-up报文中,并由第一业务板发送至从设备,需要说明的是,对于Follow-up报文,第一业务板仅负责发送,并不进行解析等其他处理。
[0113] 优选地,参见图10,对于步骤S102:所述从设备在接收第一报文时,获取第一时间值、第二时间值、第一驻留时间和第二驻留时间的实现过程可以包括:
[0114] S1001:从设备中的第二光模块接收主设备发送过来的报文,并发送报文至第二Framer模块,由第二Framer模块识别出sync报文,并将sync报文统一到板间通信定义的以太网报文格式上;
[0115] S1002:第二Framer模块中的第二Framer serdes单元接收sync报文,并将sync报文发送至第二业务板sgmii接口模块;
[0116] S1003:第二业务板记录第二Framer serdes单元接收sync报文的时间,以时间戳tin2的形式保存,并将时间戳tin2封装入sync报文中位于PTP信息之后、FCS校验之前的字段域;
[0117] S1004:第二业务板sgmii接口模块接收第二Framer serdes单元发送过来的sync报文,并将sync报文传输至第二主控板sgmii接口模块;
[0118] S1005:第二主控板sgmii接口模块接收第二业务板sgmii接口模块传输过来的sync报文,再将sync报文发送至第二Timer1单元;
[0119] S1006:第二主控板记录第二Timer1单元接收sync报文的时间,以系统时间戳Tin2的形式保存;
[0120] S1007:第二主控板解析sync报文中位于PTP信息之后、FCS校验之前的字段域,得到第二Framer serdes单元接收sync报文的时间tin2;
[0121] S1008:第二主控板计算出第二Framer serdes单元接收sync报文和第二Timer1单元接收sync报文之间的时间差值,具体可以记为第二驻留时间Δt2=Tin2-tin2;
[0122] S1009:第二Timer1单元发送sync报文至第二Timer0单元,记录第二Timer0单元接收sync报文的时间为第二时间值,以时间戳T2的形式保存;
[0123] S1010:第二Timer0单元发送sync报文至第二Sync单元,第二Sync单元解析sync报文,并记录sync报文的修正域ΔT1中的第一驻留时间Δt1和precisetime字段域中的第一时间值T1。
[0124] 优选地,参见图11,对于步骤S103,所述从设备记录第三时间值,将获取的第三驻留时间封装至第二报文,并将所述第二报文发送至主设备的实现过程可以包括:
[0125] S1101:从设备中的第二Delay-req单元产生delay-req报文后,第二Timer0单元接收第二Delay-req单元发送过来的delay-req报文,并将delay-req报文发送至第二Timer1单元;
[0126] S1102:第二主控板记录第二Timer0单元发送delay-req报文的时间为第三时间值,以时间戳T3的形式保存;
[0127] S1103:第二Timer1单元接收第二Timer0单元发送过来的delay-req报文,并将delay-req报文发送至第二主控板sgmii接口模块;
[0128] S1104:第二主控板记录第二Timer1单元发送delay-req报文的时间,以系统时间戳Tout3的形式保存,并将系统时间戳Tout3装入delay-req报文中位于PTP信息之后、FCS校验之前的字段域;
[0129] S1105:第二主控板sgmii接口模块接收第二Timer1单元发送过来的delay-req报文,并将delay-req报文传输至第二业务板sgmii接口模块;
[0130] S1106:第二业务板sgmii接口模块接收第二主控板sgmii接口模块传输过来的delay-req报文,并将delay-req报文发送至第二Framer模块;
[0131] S1107:第二Framer模块中的第二Framer serdes单元接收delay-req报文,并将delay-req报文发送至第二光模块;
[0132] S1108:第二业务板记录第二Framer serdes单元发送delay-req报文的时间,并以系统时间戳tout3的形式保存;
[0133] S1109:第二业务板解析delay-req报文中位于PTP信息之后、FCS校验之前的字段域,以获取第二Timer1单元发送delay-req报文的时间Tout3;
[0134] S1110:第二业务板计算出第二Timer1单元发送delay-req报文和第二Framer serdes单元发送delay-req报文之间的时间差值,具体可以记为第三驻留时间Δt3=tout3-Tout3,并且将第三驻留时间Δt3写入delay-req报文的修正域ΔT2=Δt3;
[0135] S1111:第二光模块接收第二Framer serdes单元发送过来的delay-req报文,并将delay-req报文发送至主设备。
[0136] 优选地,参见图12,对于步骤S104,所述主设备在接收第二报文时,获取第四驻留时间和第四时间值的实现过程可以包括:
[0137] S1201:主设备中的第一光模块接收从设备发送过来的报文,并发送报文至第一Framer模块,由第一Framer模块识别出delay-req报文,并将delay-req报文统一到板间通信定义的以太网报文格式上;
[0138] S1202:第一Framer模块中的第一Framer serdes单元接收delay-req报文,并将delay-req报文发送至第一业务板sgmii接口模块;
[0139] S1203:第一业务板记录第一Framer serdes单元接收delay-req报文的时间,以时间戳tin4的形式保存,并将时间戳tin4封装入delay-req报文中位于PTP信息之后、FCS校验之前的字段域;
[0140] S1204:第一业务板sgmii接口模块接收第一Framer serdes单元发送过来的delay-req报文,再将delay-req报文传输至第一主控板sgmii接口模块;
[0141] S1205:第一主控板sgmii接口模块接收第一业务板sgmii接口模块传输过来的sync报文,再将delay-req报文发送至第一Timer1单元;
[0142] S1206:第一主控板记录第一Timer1单元接收delay-req报文的时间,以系统时间戳Tin4的形式保存;
[0143] S1207:第一主控板解析delay-req报文中位于PTP信息之后、FCS校验之前的字段域,得到第一Framer serdes单元接收delay-req报文的时间tin4;
[0144] S1208:第一主控板计算出第一Framer serdes单元接收delay-req报文和第一Timer1单元接收delay-req报文之间的时间差值,具体可以记为第四驻留时间Δt4=Tin4-tin4;
[0145] S1209:第一Timer1单元发送delay-req报文至第一Timer0单元,记录第一Timer0单元接收delay-req报文的时间为第四时间值,以时间戳T4的形式保存;
[0146] S1210:第一Timer0单元发送delay-req报文至第一delay-req单元,第一delay-req单元接收并解析delay-req报文;
[0147] 优选地,参见图13,对于步骤S105:所述主设备将所述第四时间值、第四驻留时间以及所述第二报文中的第三驻留时间封装入第三报文,并将该第三报文发送至从设备的实现过程可以包括:
[0148] S1301:主设备中的第一Delay-resp单元产生delay-resp报文,将delay-req报文中的第四时间值T4、第四驻留时间Δt4以及delay-req报文修正域中的第三驻留时间Δt3封装入delay-resp报文,并将delay-resp报文发送至第一Timer0单元;
[0149] S1302:第一Timer0单元接收第一Delay-resp单元发送过来的delay-resp报文,并将delay-resp报文发送至第一Timer1单元;
[0150] S1303:第一Timer1单元接收第一Timer0单元发送过来的delay-resp报文,并将delay-resp报文发送至的至第一主控板sgmii接口模块;
[0151] S1304:第一主控板sgmii接口模块接收第一Timer1单元发送过来的delay-resp报文,并将delay-resp报文传输至第一业务板sgmii接口模块;
[0152] S1305:第一业务板sgmii接口模块接收第一主控板sgmii接口模块发送过来的delay-resp报文,并将delay-resp报文经第一Framer模块发送至第一光模块;
[0153] S1306:第一光模块接收第一Framer模块发送过来的delay-resp报文,并将delay-resp报文发送至从设备。
[0154] 优选地,对于步骤S106:所述从设备在接收第三报文时,获取第四时间值、第四驻留时间以及第二报文中的第三驻留时间,并根据所述第一时间值、第二时间值、第三时间值和第四时间值,以及所述第一驻留时间、第二驻留时间、第三驻留时间和第四驻留时间,计算出所述主设备与所述从设备之间的时间偏差和时延,通过时间偏差和时延来调整从设备的当前时间,使主从设备时间同步的实现过程可以包括:
[0155] 由精确时间协议(PTP,Precision Time Protocol)的同步机制,根据第一时间值、第二时间值、第三时间值和第四时间值分别对应的时间戳T1、T2、T3和T4,以及第一驻留时间、第二驻留时间、第三驻留时间和第四驻留时间,计算出主设备与从设备之间的时间偏差和时延;其中,第一驻留时间Δt1保存在第一报文的修正域ΔT1=Δt1,第三驻留时间Δt3保存在第二报文的修正域ΔT2=Δt3。
[0156] 需要说明的是,第三报文可以为主设备向从设备发送的delay-resp报文,也可以为其他类型的报文,本发明实施例对此不作具体限定。
[0157] 另外,第一时间值T1可以在从设备之前收到的sync报文的precisetime字段域中获取得到,并且第一报文修正域中的数值ΔT1也可以在上述sync报文的修正域中获取得到。
[0158] 具体地,可以根据时间偏差 和时延计算出主从设备之间的时间偏差和时
延,进而根据PTP得到第一主控板的当前时间,实现了将主设备的第一主控板的当前时间同步到从设备的第二主控板的目的。
[0159] 还需要说明的是,业务板还需要与各自设备中的主控板时间同步,使得所有设备中的单板的时间保持一致,具体时间同步的过程可以按照上述过程进行,本发明实施例对此不作赘述。
[0160] 实施例三
[0161] 基于上述两个实施例相同的技术构思,参见图14,其示出了本发明实施例提供的一种主设备侧的时间同步方法流程,该方法可以包括:
[0162] S1401:主设备将生成的第一时间值与获取的第一驻留时间封装至第一报文,并将所述第一报文发送至从设备;
[0163] S1402:主设备接收由所述从设备发送的第二报文;
[0164] 其中,所述第二报文包括第三驻留时间;
[0165] S1403:主设备在接收所述第二报文时,获取第四驻留时间和第四时间值;
[0166] S1404:主设备将所述第二报文中的第四时间值、第四驻留时间以及所述第二报文中的第三驻留时间封装入第三报文,并将所述第三报文发送至从设备。
[0167] 示例性地,主设备可以包括一个第一主控板和至少一个第一业务板;所述第一报文为sync报文;所述第二报文为delay-req报文;所述第三报文为delay-resp报文。
[0168] 优选地,所述主设备将生成的第一时间值与获取的第一驻留时间封装至第一报文,并将所述第一报文发送至从设备,具体包括:
[0169] 所述第一主控板在生成所述sync报文时记录生成所述sync报文的第一时间值T1,并且将所述第一时间值T1封装于所述sync报文的预留字段;
[0170] 所述第一主控板将所述sync报文发送至所述第一业务板,并记录所述第一主控板发送所述sync报文的时间Tout1;
[0171] 所述第一业务板解析所述sync报文,获得所述第一主控板发送所述sync报文的时间Tout1;
[0172] 所述第一业务板在将所述sync报文向所述从设备发送时,记录所述第一业务板发送所述sync报文的时间tout1,并根据所述第一主控板发送所述sync报文的时间Tout1与所述第一业务板发送所述sync报文的时间tout1获取所述第一驻留时间Δt1,以及将所述第一驻留时间Δt1封装于所述sync报文中的修正域ΔT1向所述从设备发送。
[0173] 优选地,所述主设备在接收所述第二报文时,获取第四驻留时间和第四时间值;并将所述第四驻留时间和所述第四时间值封装于所述第二报文中,具体包括:
[0174] 所述第一业务板在接收所述delay-req报文时,记录所述第一业务板接收所述delay-req报文的时间tin4;
[0175] 所述第一业务板将所述delay-req报文发送至所述第一主控板;
[0176] 所述第一主控板记录接收到所述delay-req报文的时间Tin4,并解析所述delay-req报文得到封装的所述第一业务板接收delay-req报文的时间tin4,获取得到所述第四驻留时间Δt4;
[0177] 所述第一主控板记录解析所述delay-req报文的所述第四时间值T4。
[0178] 优选地,所述主设备将所述第四时间值、第四驻留时间以及所述第二报文中的第三驻留时间封装入第三报文,并将所述第三报文发送至从设备,具体包括:
[0179] 所述第一主控板产生所述delay-resp报文,将所述第四时间值T4、所述第四驻留时间Δt4以及所述delay-req报文修正域中的第三驻留时间Δt3封装入所述delay-resp报文,并将所述delay-resp报文发送至所述第一业务板;
[0180] 所述第一业务板接收所述第一主控板发送过来的所述delay-resp报文,并将所述delay-resp报文发送至所述从设备。
[0181] 实施例四
[0182] 基于前述实施例相同的技术构思,参见图15,其示出了本发明实施例提供的一种从设备侧的时间同步方法流程,该方法可以包括:
[0183] S1501:从设备在接收第一报文时,获取第一驻留时间、第二驻留时间、第一时间值和第二时间值;
[0184] S1502:从设备记录第三时间值,将获取的第三驻留时间封装至第二报文,并将该第二报文发送至主设备;
[0185] S1503:从设备在接收第三报文时,获取第三报文中所包括的第四时间值、第四驻留时间以及第二报文中的第三驻留时间,并根据所述第一时间值、第二时间值、第三时间值和第四时间值,以及所述第一驻留时间、所述第二驻留时间、所述第三驻留时间和所述第四驻留时间,计算出所述主设备与所述从设备之间的时间偏差和时延。
[0186] 示例性地,所述从设备包括一个第二主控板和至少一个第二业务板;所述第一报文为sync报文;所述第二报文为delay-req报文;所述第三报文为delay-resp报文。
[0187] 优选地,所述从设备在接收第一报文时,获取第一驻留时间、第二驻留时间、第一时间值和第二时间值;具体包括:
[0188] 所述第二业务板在接收所述sync报文时,记录所述第二业务板接收到所述sync报文的时间tin2;
[0189] 所述第二业务板将所述sync报文发送至所述第二主控板;
[0190] 所述第二主控板记录接收到所述sync报文的时间Tin2;并解析所述sync报文得到封装的所述第二业务板接收到sync报文的时间tin2,获取得到所述第二驻留时间Δt2;
[0191] 所述第二主控板记录解析所述sync报文的第二时间值T2;
[0192] 所述第二主控板记录sync报文的修正域ΔT1中的第一驻留时间Δt1和precisetime字段域中的第一时间值T1。
[0193] 优选地,所述从设备记录第三时间值,并将获取的第三驻留时间封装至第二报文,并将所述第二报文发送至主设备,具体包括:
[0194] 所述第二主控板在生成所述delay-req报文时记录生成所述delay-req报文的第三时间值T3;
[0195] 所述第二主控板将所述delay-req报文发送至所述第二业务板,并记录所述第二主控板发送所述delay-req报文的时间Tout3;
[0196] 所述第二业务板解析所述delay-req报文,获得所述第二主控板发送所述delay-req报文的时间Tout3;
[0197] 所述第二业务板在将所述delay-req报文向所述主设备发送时,记录所述第二业务板发送所述delay-req报文的时间tout3,并根据所述第二主控板发送所述delay-req报文的时间Tout3与所述第二业务板发送所述delay-req报文的时间tout3获取所述第三驻留时间Δt3,以及将所述第三驻留时间Δt3封装于所述delay-req报文的修正域ΔT2向所述主设备发送。
[0198] 优选地,所述从设备在接收第三报文时,获取第三报文中所包括的第四时间值、第四驻留时间以及第二报文中的第三驻留时间,并根据所述第一时间值、第二时间值、第三时间值和第四时间值,以及所述第一驻留时间、所述第二驻留时间、所述第三驻留时间和所述第四驻留时间,计算出所述主设备与所述从设备之间的时间偏差和时延,具体包括:
[0199] 从设备通过精确时间协议PTP的同步机制,根据所述第一时间值、所述第二时间值、所述第三时间值和所述第四时间值分别对应的时间戳T1、T2、T3和T4,以及第一驻留时间Δt1、第二驻留时间Δt2、第三驻留时间Δt3和第四驻留时间Δt4,计算出主设备与从设备之间的时间偏差和时延;其中,所述第一驻留时间Δt1保存在所述第一报文的修正域ΔT1=Δt1,所述第三驻留时间Δt3保存在所述第二报文的修正域ΔT2=Δt3。
[0200] 实施例五
[0201] 基于上述实施例相同的技术构思,参见图16,其示出了本发明实施例提供的一种主设备160,该主设备160包括:第一主控板1601和第一业务板1602;其中,[0202] 所述第一主控板1601,用于将生成的第一时间值与获取的第一驻留时间封装至第一报文;
[0203] 所述第一业务板1602,用于将所述第一报文发送至从设备;
[0204] 以及,接收由所述从设备发送的第二报文;所述第二报文包括第三驻留时间;
[0205] 所述第一主控板1601,还用于在所述第一业务板1602接收所述第二报文时,获取第四驻留时间和第四时间值;
[0206] 以及,将所述第四时间值、第四驻留时间以及所述第二报文中的第三驻留时间封装入第三报文;
[0207] 所述业务板,还用于将所述第三报文发送至从设备。
[0208] 示例性地,所述第一报文为sync报文;所述第二报文为delay-req报文;所述第三报文为delay-resp报文。
[0209] 优选地,所述第一主控板1601,具体用于在生成所述sync报文时记录生成所述sync报文的第一时间值T1,并且将所述第一时间值T1封装于所述sync报文的预留字段;
[0210] 以及,将所述sync报文发送至所述第一业务板1602,并记录发送所述sync报文的时间Tout1;
[0211] 所述第一业务板1602,具体用于解析所述sync报文,获得所述发送所述sync报文的时间Tout1;
[0212] 以及,在将所述sync报文向所述从设备发送时,记录发送所述sync报文的时间tout1,并根据所述第一主控板1601发送所述sync报文的时间Tout1与所述第一业务板1602发送所述sync报文的时间tout1获取所述第一驻留时间Δt1,以及将所述第一驻留时间Δt1封装于所述sync报文中的修正域ΔT1向所述从设备发送。
[0213] 优选地,所述第一业务板1602,具体用于在接收所述delay-req报文时,记录所述第一业务板1602接收所述delay-req报文的时间tin4;
[0214] 以及,将所述delay-req报文发送至所述第一主控板1601;
[0215] 所述第一主控板1601,具体用于记录接收到所述delay-req报文的时间Tin4,并解析所述delay-req报文得到封装的所述第一业务板1602接收delay-req报文的时间tin4,获取得到所述第四驻留时间Δt4;
[0216] 以及,记录解析所述delay-req报文的所述第四时间值。
[0217] 优选地,所述第一主控板1601,具体用于产生所述delay-resp报文,将所述delay-req报文中的所述第四时间值T4,以及所述delay-req报文修正域中的第三驻留时间Δt3封装入所述delay-resp报文,并将所述delay-resp报文发送至所述第一业务板1602;
[0218] 所述第一业务板1602,具体用于接收所述第一主控板1601发送过来的所述delay-resp报文,并将所述delay-resp报文发送至所述从设备。
[0219] 实施例六
[0220] 基于前述实施例相同的技术构思,参见图17,其示出了本发明实施例提供的一种从设备170,该从设备170可以包括第二主控板1701和第二业务板1702,其中,[0221] 所述第二业务板1702,用于接收第一报文;
[0222] 所述第二主控板1701,用于获取第一驻留时间、第二驻留时间、第一时间值和第二时间值;
[0223] 以及,记录第三时间值,并将获取的第三驻留时间封装至第二报文;
[0224] 所述第二业务板1702,还用于将该第二报文发送至主设备;
[0225] 以及,接收第三报文;
[0226] 所述第二主控板1701,还用于获取第三报文中所包括的第四时间值、第四驻留时间以及第二报文中的第三驻留时间,并根据所述第一时间值、第二时间值、第三时间值和第四时间值,以及所述第一驻留时间、所述第二驻留时间、所述第三驻留时间和所述第四驻留时间,计算出所述主设备与所述从设备之间的时间偏差和时延。
[0227] 示例性地,所述第一报文为sync报文;所述第二报文为delay-req报文;所述第三报文为delay-resp报文。
[0228] 优选地,所述第二业务板1702,具体用于在接收所述sync报文时,记录所述第二业务板1702接收到所述sync报文的时间tin2;
[0229] 以及,将所述sync报文发送至所述第二主控板1701;
[0230] 所述第二主控板1701,具体用于记录接收到所述sync报文的时间Tin2;并解析所述sync报文得到封装的所述第二业务板1702接收到sync报文的时间tin2,获取得到所述第二驻留时间Δt2;
[0231] 以及,记录解析所述sync报文的第二时间值T2。
[0232] 所述第二主控板1701记录sync报文的修正域ΔT1中的第一驻留时间Δt1和precisetime字段域中的第一时间值T1。
[0233] 优选地,所述第二主控板1701,具体用于在生成所述delay-req报文时记录生成所述delay-req报文的第三时间值T3;
[0234] 以及,将所述delay-req报文发送至所述第二业务板1702,并记录所述第二主控板1701发送所述delay-req报文的时间Tout3;
[0235] 所述第二业务板1702,具体用于解析所述delay-req报文,获得所述第二主控板1701发送所述delay-req报文的时间Tout3;
[0236] 以及,在将所述delay-req报文向所述主设备发送时,记录所述第二业务板1702发送所述delay-req报文的时间tout3,并根据所述第二主控板1701发送所述delay-req报文的时间Tout3与所述第二业务板1702发送所述delay-req报文的时间tout3获取所述第三驻留时间Δt3,以及将所述第三驻留时间Δt3封装于所述delay-req报文的修正域ΔT2向所述主设备发送。
[0237] 优选地,所述第二主控板1701,具体用于通过精确时间协议PTP的同步机制,根据所述第一时间值、所述第二时间值、所述第三时间值和所述第四时间值分别对应的时间戳T1、T2、T3和T4,以及所述第一驻留时间Δt1、所述第二驻留时间Δt2、所述第三驻留时间Δt3和所述第四驻留时间Δt4,计算出所述主设备与所述从设备之间的时间偏差和时延。
[0238] 实施例七
[0239] 基于前述实施例相同的技术构思,参见图18,其示出了本发明实施例提供的一种时间同步的系统180,该系统180包括:主设备160和从设备170;
[0240] 其中,
[0241] 所述主设备160,用于将生成的第一时间值与获取的第一驻留时间封装至第一报文,并将所述第一报文发送至所述从设备170;
[0242] 以及,接收由所述从设备170发送的第二报文;所述第二报文包括第三驻留时间;
[0243] 以及,在接收所述第二报文时,获取第四驻留时间和第四时间值;其中,所述第二报文包括第三驻留时间;
[0244] 以及,将所述第二报文中的第四时间值、第四驻留时间以及所述第二报文中的第三驻留时间封装入第三报文,并将所述第三报文发送至从设备170;
[0245] 所述从设备170,用于在接收第一报文时,获取第一驻留时间、第二驻留时间、第一时间值和第二时间值;
[0246] 以及,记录获取第三时间值,将获取的第三驻留时间封装至第二报文,并将该第二报文发送至所述主设备160;
[0247] 以及,在接收第三报文时,获取第三报文中所包括的第四时间值、第四驻留时间以及第二报文中的第三驻留时间,并根据所述第一时间值、第二时间值、第三时间值和第四时间值,以及所述第一报文和第二报文修正域中的数值,计算出所述主设备160与所述从设备170之间的时间偏差和时延。
[0248] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0249] 本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0250] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0251] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0252] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。