CN111385050B - 时钟同步方法、装置和存储介质 - Google Patents
时钟同步方法、装置和存储介质 Download PDFInfo
- Publication number
- CN111385050B CN111385050B CN201811645611.6A CN201811645611A CN111385050B CN 111385050 B CN111385050 B CN 111385050B CN 201811645611 A CN201811645611 A CN 201811645611A CN 111385050 B CN111385050 B CN 111385050B
- Authority
- CN
- China
- Prior art keywords
- clock
- node
- master
- maximum
- source node
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0641—Change of the master or reference, e.g. take-over or failure of the master
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0644—External master-clock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0679—Clock or time synchronisation in a network by determining clock distribution path in a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0016—Arrangements for synchronising receiver with transmitter correction of synchronization errors
- H04L7/0033—Correction by delay
- H04L7/0037—Delay of clock signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本申请公开了一种时钟同步方法、装置和存储介质,属于通信技术领域。所述方法包括:网络设备先接收来自第一主时钟节点的Announce报文和来自第二主时钟节点的Announce报文,当第一主时钟节点的Announce报文中携带的第一时钟源节点的标识与第二主时钟节点的Announce报文中携带的第二时钟源节点的标识相同时,从第一主时钟节点和第二主时钟节点中选择带来的时钟偏差较小的主时钟节点,再根据该主时钟节点的时间信息校准该网络设备的时钟。本申请选择时钟偏差较小的主时钟节点作为网络设备进行时钟同步的主时钟节点,使得该网络设备进行时钟同步的精确度更高,进而使得该网络设备校准之后的时钟的精度更高。
Description
技术领域
本申请涉及通信技术领域,特别涉及一种时钟同步方法、装置和存储介质。
背景技术
随着电信网络的不断发展,电信网络对时钟同步的精确度要求越来越高,使得越来越多的精准时钟同步协议应运而生。其中,G.8275.1协议是一种由国际电信联盟电信标准分局(International Telecommunication Union-TelecommunicationStandardization Sector,ITU-T)基于IEEE 1588协议定义的适用于电信应用的协议。G.8275.1协议明确了时钟同步网络中的各时钟节点的互操作性所必需的IEEE 1588协议的功能,在遵循G.8275.1协议的时钟同步网络中,通常包括至少一个时钟源节点和多个时钟节点。对于该多个时钟节点中的任一时钟节点,该时钟节点可以与一个或多个上游网络设备连接,此时,该上游网络设备可以称为主时钟节点。对于连接有多个主时钟节点的情况,往往需要从该多个主时钟节点中选择一个主时钟节点来进行时钟同步。
G.8275.1协议定义了一种主时钟节点的选择算法。该选择算法也可以称为备选最佳主时钟算法(Alternative-Best Master Clock Algorithm,A-BMCA)。当一个时钟节点连接有多个主时钟节点时,该时钟节点会接收到分别来自该多个主时钟节点的多个通知(Announce)报文(message)。每个Announce报文中携带位于主时钟节点的上游的时钟源节点的时钟等级、时钟精度、时钟方差、第二优先级、时钟本地优先级、时钟源节点的标识,以及主时钟节点到位于上游的时钟源节点的跳数。通过A-BMCA对接收到的不同的Announce报文中携带的时钟等级、时钟精度、时钟方差、第二优先级、以及时钟本地优先级这些字段进行比较。如果一个Announce报文中携带的上述这些字段与另一个Announce报文中携带的上述这些字段分别相同,则可以判断接收到的不同的Announce报文中携带的时钟等级是否小于或等于127。如果不同的Announce报文中的时钟等级均小于或等于127,则对该多个主时钟节点到位于上游的时钟源节点的跳数进行比较,并选择对应较小跳数的主时钟节点进行时钟同步。如果时钟等级均大于127,则可以判断接收到的Announce报文中携带的时钟源节点的标识是否相同。如果相同,则对该多个主时钟节点到位于上游的时钟源节点的跳数进行比较,并选择对应较小跳数的主时钟节点进行时钟同步。然而,通过跳数选择出的主时钟节点的精确度可能并不高,从而降低了时钟同步的精确度。
发明内容
本申请提供了一种时钟同步方法、装置和存储介质,可以解决相关技术中网络设备选择主时钟节点精度不高,从而降低网络设备进行时钟同步的精确度的问题。所述技术方案如下:
第一方面,提供了一种时钟同步方法,所述方法包括:网络设备接收来自第一主时钟节点的Announce报文和来自第二主时钟节点的Announce报文,来自所述第一主时钟节点的Announce报文携带第一时钟源节点的标识和第一最大时钟偏差累计值,来自所述第二主时钟节点的Announce报文携带第二时钟源节点的标识和第二最大时钟偏差累计值;所述网络设备将所述第一时钟源节点的标识与所述第二时钟源节点的标识进行比较;当所述第一时钟源节点的标识与所述第二时钟源节点的标识相同时,所述网络设备根据所述第一最大时钟偏差累计值和所述第二最大时钟偏差累计值,从所述第一主时钟节点和所述第二主时钟节点中选择进行时钟同步的主时钟节点;所述网络设备根据选择的主时钟节点的时间信息校准所述网络设备的时钟。
需要说明的是,网络设备可以是时钟同步网络中连接有至少两个主时钟节点的设备。Announce报文是一种由精确时钟协议(Precision Time Protocol,PTP)定义的报文。第一时钟源节点的标识是用于唯一指示第一时钟源节点的标识。第二时钟源节点的标识是用于唯一指示第二时钟源节点的标识。第一最大时钟偏差累计值是第一时钟源节点到第一主时钟节点的路径上的多个第一最大时钟偏差之和,第二最大时钟偏差累计值是第二时钟源节点到第二主时钟节点的路径上的多个第二最大时钟偏差之和。校准网络设备的时钟即是将该网络设备的时钟的参数设置为与选择的主时钟节点的时钟的参数相同。时钟的参数可以是时钟的时间、时钟的频率、或者时钟的时间以及频率。
在本申请实施例中,该网络设备可以先将第一时钟源节点的标识与第二时钟源节点的标识进行比较,当第一时钟源节点的标识与第二时钟源节点的标识相同时,表明第一主时钟节点和第二主时钟节点对应着同一个时钟源节点。此时,该网络设备再根据第一最大时钟偏差累计值和第二最大时钟偏差累计值,从第一主时钟节点和第二主时钟节点中选择进行时钟同步的主时钟节点。该网络设备根据选择的主时钟节点的时间信息校准网络设备的时钟。
可选地,来自所述第一主时钟节点的Announce报文还携带所述第一时钟源节点的时钟等级,来自所述第二主时钟节点的Announce报文还携带所述第二时钟源节点的时钟等级;所述网络设备将所述第一时钟源节点的标识和所述第二时钟源节点的标识进行比较之前,所述方法还包括:所述网络设备将所述第一时钟源节点的时钟等级与所述第二时钟源节点的时钟等级进行比较;当所述第一时钟源节点的时钟等级等于所述第二时钟源节点的时钟等级时,所述网络设备判断所述第一时钟源节点的时钟等级是否小于或等于127;所述网络设备将所述第一时钟源节点的标识和所述第二时钟源节点的标识进行比较,包括:当所述第一时钟源节点的时钟等级大于127时,所述网络设备将所述第一时钟源节点的标识和所述第二时钟源节点的标识进行比较。
需要说明的是,时钟源节点的时钟等级用于指示时钟源节点的时钟级别,且时钟源节点的时钟等级的数值越小其所对应的时钟源节点的时钟级别越高。当第一时钟源节点的时钟等级等于第二时钟源节点的时钟等级时,表明第一时钟源节点的时钟级别与第二时钟源节点的时钟级别相同。此时,可以判断第一时钟源节点的时钟等级是否小于或等于127,由于第一时钟源节点的时钟等级与第二时钟源节点的时钟等级相等,所以判断第一时钟源节点的时钟等级是否小于或等于127也即是判断第二时钟源节点的时钟等级是否小于或等于127。在一种可能的实现方式中,当第一时钟源节点的时钟等级大于127时,表明第一时钟源节点不仅可以作为被其他从时钟节点跟踪的时钟源节点,还可以作为跟踪其他时钟源节点的从时钟节点。同理,当第二时钟源节点的时钟等级大于127时,表明第二时钟源节点不仅可以作为被其他从时钟节点跟踪的时钟源节点,还可以作为跟踪其他时钟源节点的从时钟节点。
可选地,所述网络设备判断所述第一时钟源节点的时钟等级是否小于或等于127之后,所述方法还包括:当所述第一时钟源节点的时钟等级小于或等于127时,所述网络设备根据所述第一最大时钟偏差累计值和所述第二最大时钟偏差累计值,从所述第一主时钟节点和所述第二主时钟节点中选择进行时钟同步的主时钟节点;所述网络设备根据选择的主时钟节点的时间信息校准所述网络设备的时钟。
需要说明的是,当第一时钟源节点的时钟等级小于或等于127时,也即第二时钟源节点的时钟等级小于或等于127时,表明第一时钟源节点只能作为被其他从时钟节点跟踪的时钟源节点,而不能作为跟踪其他时钟源节点的从时钟节点。同理,当第一时钟源节点的时钟等级小于或等于127时,表明第二时钟源节点只能作为被其他从时钟节点跟踪的时钟源节点,而不能作为跟踪其他时钟源节点的从时钟节点。
可选地,所述多个第一最大时钟偏差是指所述第一时钟源节点到所述第一主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差,所述多个第二最大时钟偏差是指所述第二时钟源节点到所述第二主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差。
需要说明的是,第一时钟源节点与第一主时钟节点之间可能存在多条路径,第一时钟源节点到第一主时钟节点的路径上的多个时钟节点可以是位于该多条路径上的多个时钟节点。类似地,第二时钟源节点与第二主时钟节点之间可能存在多条路径,第二时钟源节点到第二主时钟节点的路径上的多个时钟节点可以是指位于该多条路径上的多个时钟节点。并且,第一时钟源节点到第一主时钟节点的路径上的多个时钟节点可以包括第一主时钟节点,且不包括第一时钟源节点。类似地,第二时钟源节点到第二主时钟节点的路径上的多个时钟节点可以包括第二主时钟节点,且不包括第二时钟源节点。
可选地,所述网络设备根据所述第一最大时钟偏差累计值和所述第二最大时钟偏差累计值,从所述第一主时钟节点和所述第二主时钟节点中选择进行时钟同步的主时钟节点,包括:所述网络设备将所述第一最大时钟偏差累计值与所述第二最大时钟偏差累计值进行比较;当所述第一最大时钟偏差累计值小于所述第二最大时钟偏差累计值时,所述网络设备将所述第一主时钟节点确定为进行时钟同步的主时钟节点。
需要说明的是,将第一最大时钟偏差累计值和第二最大时钟偏差累计值进行比较。当第一最大时钟偏差累计值小于第二最大时钟偏差累计值时,表明通过第一主时钟节点进行时钟同步的精确度高于通过第二主时钟节点进行时钟同步的精确度。这种情况下,该网络设备将第一主时钟节点确定为进行时钟同步的主时钟节点,可以使该网络设备进行时钟同步的精确度更高。当第一最大时钟偏差累计值大于第二最大时钟偏差累计值时,表明通过第二主时钟节点进行时钟同步的精确度高于通过第一主时钟节点进行时钟同步的精确度。这种情况下,该网络设备可以将第二主时钟节点确定为进行时钟同步的主时钟节点,可以使该网络设备进行时钟同步的精确度更高。
在本申请实施例中,时钟源节点到主时钟节点的路径上带来的时钟偏差越小,通过该主时钟节点进行时钟同步的精确度越高。所以可以将第一主时钟节点的第一最大时钟偏差累计值与第二主时钟节点的第二最大时钟偏差累计值的大小进行比较,选择其中较小的一项对应的主时钟节点作为网络设备进行时钟同步的主时钟节点可以使网络设备进行时钟同步的精确度更高,进而使得该网络设备校准之后的时钟的精度更高。
可选地,来自所述第一主时钟节点的Announce报文还携带第一时钟方差值,来自所述第二主时钟节点的Announce报文还携带第二时钟方差值,所述网络设备将所述第一最大时钟偏差累计值与所述第二最大时钟偏差累计值进行比较之后,所述方法还包括:当所述第一最大时钟偏差累计值等于所述第二最大时钟偏差累计值时,所述网络设备将所述第一时钟方差值与所述第二时钟方差值进行比较;当所述第一时钟方差值小于所述第二时钟方差值时,所述网络设备将所述第一主时钟节点确定为进行时钟同步的主时钟节点。
需要说明的是,第一时钟方差值是指多个第一时钟偏差方差值的平方和的平方根。第二时钟方差值是指多个第二时钟偏差方差值的平方和的平方根。第一时钟偏差方差值是指第一时钟源节点到第一主时钟节点的路径上的一个时钟节点对应的多个时钟偏差的方差值。第二时钟偏差方差值是指第二时钟源节点到第二主时钟节点的路径上的一个时钟节点对应的多个时钟偏差的方差值。
在本申请实施例中,当第一时钟方差值小于第二时钟方差值时,表明通过第一主时钟节点进行时钟同步的精确度高于通过第二主时钟节点进行时钟同步的精确度。这种情况下,该网络设备将第一主时钟节点确定为进行时钟同步的主时钟节点,可以使该网络设备进行时钟同步的精确度更高。类似地,当第一时钟方差值大于第二时钟方差值时,表明通过第二主时钟节点进行时钟同步的精确度高于通过第一主时钟节点进行时钟同步的精确度。这种情况下,该网络设备可以将第二主时钟节点确定为进行时钟同步的主时钟节点,可以使该网络设备进行时钟同步的精确度更高。
可选地,所述多个第一最大时钟偏差是指所述第一时钟源节点到所述第一主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差,以及所述第一时钟源节点到所述第一主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点之间的传输介质分别对应的至少一个最大时钟偏差,所述多个第二最大时钟偏差是指所述第二时钟源节点到所述第二主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差,以及所述第二时钟源节点到所述第二主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点之间的传输介质分别对应的至少一个最大时钟偏差。
需要说明的是,第一时钟源节点到第一主时钟节点的路径上的一对相邻时钟节点是指第一时钟源节点到第一主时钟节点的路径上可以直接进行Announce报文交互的两个时钟节点。类似地,第二时钟源节点到第二主时钟节点的路径上的一对相邻时钟节点是指第二时钟源节点到第二主时钟节点的路径上可以直接进行Announce报文交互的两个时钟节点。
可选地,所述网络设备根据所述第一最大时钟偏差累计值和所述第二最大时钟偏差累计值,从所述第一主时钟节点和所述第二主时钟节点中选择进行时钟同步的主时钟节点,包括:所述网络设备确定第三最大时钟偏差累计值和第四最大时钟偏差累计值,所述网络设备将所述第三最大时钟偏差累计值与所述第四最大时钟偏差累计值进行比较;当所述第三最大时钟偏差累计值小于所述第四最大时钟偏差累计值时,所述网络设备将所述第一主时钟节点确定为进行时钟同步的主时钟节点。
需要说明的是,第三最大时钟偏差累计值是指第一主时钟节点与网络设备之间的传输介质对应的最大时钟偏差与第一最大时钟偏差累计值之和。第四最大时钟偏差累计值是指第二主时钟节点与网络设备之间的传输介质对应的最大时钟偏差与第二最大时钟偏差累计值之和。
在本申请实施例中,当第三最大时钟偏差累计值小于第四最大时钟偏差累计值时,表明通过第一主时钟节点进行时钟同步的精确度高于通过第二主时钟节点进行时钟同步的精确度。这种情况下,该网络设备将第一主时钟节点确定为进行时钟同步的主时钟节点,可以使该网络设备进行时钟同步的精确度更高。当第三最大时钟偏差累计值大于第四最大时钟偏差累计值时,表明通过第二主时钟节点进行时钟同步的精确度高于通过第一主时钟节点进行时钟同步的精确度。这种情况下,该网络设备将第二主时钟节点确定为进行时钟同步的主时钟节点,可以使该网络设备进行时钟同步的精确度更高。
可选地,来自所述第一主时钟节点的Announce报文还携带第一时钟方差值,来自所述第二主时钟节点的Announce报文还携带第二时钟方差值,所述第一时钟方差值是指多个第一时钟偏差方差值的平方和的平方根,所述第二时钟方差值是指多个第二时钟偏差方差值的平方和的平方根,所述多个第一时钟偏差方差值包括所述第一时钟源节点到所述第一主时钟节点的路径上的每个时钟节点对应的多个时钟偏差的方差值,以及所述第一时钟源节点到所述第一主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点中每对相邻时钟节点之间的传输介质对应的多个时钟偏差的方差值,所述多个第二时钟偏差方差值包括所述第二时钟源节点到所述第二主时钟节点的路径上的每个时钟节点对应的多个时钟偏差的方差值,以及所述第二时钟源节点到所述第二主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点中每对相邻时钟节点之间的传输介质对应的多个时钟偏差的方差值;所述网络设备将所述第三最大时钟偏差累计值与所述第四最大时钟偏差累计值进行比较之后,所述方法还包括:当所述第三最大时钟偏差累计值等于所述第四最大时钟偏差累计值时,所述网络设备确定第三时钟方差值和第四时钟方差值,所述网络设备将所述第三时钟方差值与所述第四时钟方差值进行比较;当所述第三时钟方差值小于所述第四时钟方差值时,所述网络设备将所述第一主时钟节点确定为进行时钟同步的主时钟节点。
需要说明的是,第三时钟方差值是第一主时钟节点与网络设备之间的传输介质对应的多个时钟偏差的方差值与第一时钟方差值的平方和的平方根。第四时钟方差值是第二主时钟节点与网络设备之间的传输介质对应的多个时钟偏差的方差值与第二时钟方差值的平方和的平方根。
在本申请实施例中,当第三时钟方差值小于第四时钟方差值时,表明通过第一主时钟节点进行时钟同步的精确度高于通过第二主时钟节点进行时钟同步的精确度。这种情况下,该网络设备将第一主时钟节点确定为进行时钟同步的主时钟节点,可以使该网络设备进行时钟同步的精确度更高。类似地,当第三时钟方差值大于第四时钟方差值时,表明通过第二主时钟节点进行时钟同步的精确度高于通过第一主时钟节点进行时钟同步的精确度。这种情况下,该网络设备将第二主时钟节点确定为进行时钟同步的主时钟节点,可以使该网络设备进行时钟同步的精确度更高。
第二方面,提供了一种时钟同步装置,所述时钟同步装置具有实现上述第一方面中时钟同步方法行为的功能。所述时钟同步装置包括至少一个模块,所述至少一个模块用于实现上述第一方面所提供的时钟同步方法。
第三方面,提供了一种时钟同步装置,所述时钟同步装置的结构中包括处理器和存储器,所述存储器用于存储支持时钟同步装置执行上述第一方面所提供的时钟同步方法的程序,以及存储用于实现上述第一方面所述的时钟同步方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述时钟同步装置还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的时钟同步方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的时钟同步方法。
上述第二方面、第三方面、第四方面和第五方面所获得的技术效果与上述第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
本申请提供的技术方案至少可以带来以下有益效果:网络设备先接收来自第一主时钟节点的Announce报文和来自第二主时钟节点的Announce报文,来自第一主时钟节点的Announce报文携带第一时钟源节点的标识和第一最大时钟偏差累计值,来自第二主时钟节点的Announce报文携带第二时钟源节点的标识和第二最大时钟偏差累计值。然后该网络设备再将第一时钟源节点的标识与第二时钟源节点的标识进行比较,当第一时钟源节点的标识与第二时钟源节点的标识相同时,表明第一主时钟节点和第二主时钟节点对应同一时钟源节点,此时,根据第一最大时钟偏差累计值和第二最大时钟偏差累计值有助于从第一主时钟节点和第二主时钟节点中,选择时钟源节点到主时钟节点路径上带来的时钟偏差较小的主时钟节点,再根据选择的主时钟节点的时间信息校准该网络设备的时钟。时钟源节点到主时钟节点的路径上带来的时钟偏差较小的话,通过该主时钟节点进行时钟同步的精确度更高,进而使得该网络设备校准之后的时钟的精度更高。
附图说明
图1是本申请实施例提供的一种实施环境的示意图。
图2是本申请实施例提供的一种网络设备的结构示意图。
图3是本申请实施例提供的第一种时钟同步方法的流程图。
图4是本申请实施例提供的第二种时钟同步方法的流程图。
图5是本申请实施例提供的一种时钟同步装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
在对本申请实施例进行详细的解释说明之前,先对本申请实施例的实施环境进行介绍:
图1是本申请实施例提供的一种实施环境的示意图,参见图1,该实施环境包括卫星101、卫星102以及网络设备103-网络设备111,卫星101、卫星102以及网络设备103-网络设备111组成时钟同步网络。卫星101通过卫星信号向网络设备103传输时间信息,卫星102通过卫星信号向网络设备109传输时间信息,网络设备103-网络设备111之间可以通过光纤连接,并通过光纤传输时间信息。卫星101和卫星102均可以是全球定位系统(GlobalPositioning System,GPS)、全球卫星导航系统(Global Navigation Satellite System,GLONASS)或者北斗导航卫星系统(BeiDou Navigation Satellite System)等。网络设备103-网络设备111均可以是运营商路由器(provider router)、运营商边缘路由器(provider edge router)和用户边缘路由器(customer edge router)等。
其中,卫星101和卫星102位于时钟同步网络的上游,网络设备111位于时钟同步网络的下游。卫星101可以通过向网络设备103发送时钟信号来实现与网络设备103之间的时钟同步。类似地,卫星102可以通过向网络设备109发送时钟信号来实现与网络设备109之间的时钟同步。
具体地,以卫星101和网络设备103为例,当卫星101是GPS时,卫星101可以包括原子时钟(atomic clock)。网络设备103可以包含通信楼定时供给系统(buildingintegrated timing supply,BITS)时钟,BITS时钟包括GPS接收机。卫星101可以在原子时钟的驱动下,向网络设备103发送GPS信号。该GPS信号中可以包括精度与原子时钟的精度相同的时间信息。网络设备103中的BITS时钟的GPS接收机接收到该GPS信号后,可以根据该GPS信号中的时间信息,将网络设备103中的BITS时钟与GPS卫星中的原子时钟进行时钟同步。由于时钟同步包括时间同步和频率同步,因此,具体地,网络设备103可以将网络设备103中的BITS时钟的时间与GPS卫星中的原子时钟的时间进行同步,以及网络设备103可以将网络设备103中的BITS时钟的频率与GPS卫星中的原子时钟的频率进行同步。网络设备103与卫星101进行时钟同步后,网络设备103可以作为一个时间源节点。类似地,通过上述方法可以将网络设备109与卫星102之间进行时钟同步,并将进行时钟同步后的网络设备109作为另一个时钟源节点。
网络设备103作为时间源节点,可以使位于网络设备103下游的网络设备104和网络设备106与网络设备103之间进行时钟同步。具体地,以网络设备103和网络设备104为例,网络设备103可以向位于网络设备103下游的网络设备104发送同步(Sync)报文,该Sync报文上记录有指示该Sync报文的发送时间的时间戳1。网络设备104在接收到该Sync报文的同时再在网络设备104本地记录指示该Sync报文的接收时间的时间戳2,之后网络设备104再向网络设备103发送延迟请求(Delay_req)报文,并在网络设备104本地记录指示该Delay_req报文的发送时间的时间戳3。网络设备103在接收到该Delay_req报文的同时再在网络设备103本地记录指示该Delay_req报文的接收时间的时间戳4,最后网络设备103再产生携带时间戳4的延迟请求反馈(Delay_resp)报文并发送给网络设备104。至此,网络设备104可以获取到网络设备103发送Sync报文的时间戳1和网络设备104接收Sync报文的时间戳2,以及网络设备104发送Delay_req报文的时间戳3和网络设备103接收Delay_req报文时间戳4。网络设备104可以通过时间戳1和时间戳2确定出与网络设备103之间的频率偏差,并根据该频率偏差与网络设备103之间进行频率同步;且网络设备104可以通过时间戳1、时间戳2、时间戳3和时间戳4确定出与网络设备103之间的时间偏差,并根据该时间偏差与网络设备103之间进行时间同步,也即实现了与网络设备103之间的时钟同步。
类似地,网络设备104与网络设备103进行时钟同步后,网络设备104可以作为主时钟节点,使位于网络设备104下游的网络设备105与网络设备104之间进行时钟同步,并可以以此类推。
其中,网络设备111位于网络设备105、网络设备108以及网络设备110的下游,因此网络设备105、网络设备108以及网络设备110均可以作为网络设备111的主时钟节点。网络设备111可以接收来自网络设备105、网络设备108以及网络设备110的三个Announce报文,这三个Announce报文中都携带主时钟节点的上游的时钟源节点的标识、主时钟节点的最大时钟偏差累计值以及主时钟节点到位于上游的时钟源节点的跳数。即,网络设备105发送的Announce报文中携带网络设备103的标识、网络设备105的最大时钟偏差累计值以及网络设备105到网络设备103的跳数,网络设备108发送的Announce报文中携带网络设备103的标识、网络设备108的最大时钟偏差累计值以及网络设备108到网络设备103的跳数,网络设备110发送的Announce报文中携带网络设备109的标识、网络设备110的最大时钟偏差累计值以及网络设备110到网络设备109的跳数。网络设备111可以根据这三个Announce报文中携带的数据,从网络设备105、网络设备108以及网络设备110中选择可以进行时钟同步的网络设备,然后类似地,可以按照上述网络设备104与网络设备103之间进行时钟同步的过程,来实现网络设备111与选择进行时钟同步的网络设备之间的时钟同步。
图2是本申请实施例提供的一种网络设备的结构示意图,该网络设备可以是图1中所示的网络设备103-网络设备111中任意一个网络设备。参见图2,该网络设备包括至少一个处理器201、通信总线202、存储器203、至少一个通信接口204以及时钟205。
处理器201可以是一个通用中央处理器(Central Processing Unit,CPU)、微处理器、特定应用集成电路(application-specific integrated circuit,ASIC),或者可以是一个或多个用于控制本申请方案程序执行的集成电路。
通信总线202可包括一通路,用于在上述组件之间传送信息。
存储器203可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,也可以是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由网络设备存取的任何其它介质,但不限于此。存储器203可以是独立存在,并通过通信总线202与处理器201相连接。存储器203也可以和处理器201集成在一起。
通信接口204使用任何收发器一类的装置,用于与其它设备或通信网络通信,如以太网,无线接入网(Radio Access Network,RAN)、无线局域网(Wireless Local AreaNetworks,WLAN)等。
时钟205可以是BITS时钟,且BITS时钟可以包括GPS接收机。
在具体实现中,作为一种实施例,处理器201可以包括一个或多个CPU,如图2中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,网络设备可以包括多个处理器,如图2中所示的处理器201和处理器206。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据的处理核。
在具体实现中,作为一种实施例,网络设备还可以包括输出设备207和输入设备208(图中未示出)。输出设备207和处理器201通信,可以以多种方式来显示信息。例如,输出设备207可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emittingdiode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备208和处理器201通信,可以以多种方式接收用户的输入。例如,输入设备208可以是鼠标、键盘、触摸屏设备或传感设备等。
上述的网络设备可以是一个通用网络设备或一个专用网络设备。在具体实现中,网络设备可以是路由器、交换机等,本申请实施例不限定网络设备的类型。
其中,存储器203用于存储执行本申请方案的程序代码210,处理器201用于执行存储器203中存储的程序代码210。该网络设备可以通过处理器201以及存储器203中的程序代码210,来实现下文图3实施例提供的时钟同步方法。
图3是本申请实施例提供的第一种时钟同步方法的流程图,该方法应用于网络设备。参见图3,该方法包括:
S301:网络设备接收来自第一主时钟节点的通知Announce报文和来自第二主时钟节点的Announce报文,来自第一主时钟节点的Announce报文携带第一时钟源节点的标识和第一最大时钟偏差累计值,来自第二主时钟节点的Announce报文携带第二时钟源节点的标识和第二最大时钟偏差累计值。
需要说明的是,网络设备可以是时钟同步网络中连接有至少两个主时钟节点的设备。比如,可以为图2中的网络设备111。第一主时钟节点和第二主时钟节点是与该网络设备连接的且位于该网络设备的上游的时钟节点。Announce报文一种由PTP定义的报文。第一时钟源节点的标识是用于唯一指示第一时钟源节点的标识。第二时钟源节点的标识是用于唯一指示第二时钟源节点的标识。
另外,第一最大时钟偏差累计值是第一时钟源节点到第一主时钟节点的路径上的多个第一最大时钟偏差之和。第二最大时钟偏差累计值是第二时钟源节点到第二主时钟节点的路径上的多个第二最大时钟偏差之和。
在第一种情况中,时钟源节点到主时钟节点的路径上,可能只有时钟节点存在时钟偏差,因此,多个第一最大时钟偏差可以是指第一时钟源节点到第一主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差。多个第二最大时钟偏差是可以是指第二时钟源节点到第二主时钟节点的路径上的多个时钟节点都分别对应的多个最大时钟偏差。也即是,第一时钟源节点到第一主时钟节点的路径上的每个时钟节点都对应一个最大时钟偏差,该最大时钟偏差称为第一最大时钟偏差。类似地,第二时钟源节点到第二主时钟节点的路径上的每个时钟节点也都对应一个最大时钟偏差,该最大时钟偏差称为第二最大时钟偏差。
时钟节点通常可以包括多个主(Master)通信接口和多个从(Slave)通信接口。多个从通信接口可以按照G.8275.1协议分别与多个主时钟节点进行通信;多个主通信接口可以按照G.8275.1协议分别与多个位于下游的从时钟节点进行通信。下文以多个主通信接口为例进行说明,当时钟节点的多个主通信接口中的一个主通信接口出现故障时,与该主通信接口进行通信的从时钟节点无法通过该主通信接口实现与该时钟节点之间的时钟同步。此时,需要将该从时钟节点与该时钟节点包括的其他主通信接口进行通信,从而可以通过其他主通信接口实现与该时钟节点之间的时钟同步。这种情况下,该时钟节点会因为该从时钟节点与其他主通信接口进行通信而产生跳变幅度偏差。也即是,该从时钟节点与原主通信接口进行通信时,该从时钟节点与该时钟节点之间进行时钟同步的精确度,要高于该从时钟节点与其他主通信接口进行通信时,该从时钟节点与该时钟节点之间进行时钟同步的精确度。当然,时钟节点也可能不存在通信接口出现故障需要使与该通信接口进行通信的时钟节点与其他通信接口进行通信的情况,所以跳变幅度偏差不是时钟节点存在的必然偏差。另外,时钟节点在其所处的自然环境中会不可避免的因为自然环境的因素而产生抖动,从而产生抖动偏差。再者,时钟节点会在使用过程中不可避免的因存在缓慢的偏移而产生静态偏差。上述时钟节点的跳变幅度偏差、抖动偏差以及静态偏差都是时钟节点的时钟偏差。这三个时钟偏差可以在时钟节点出厂之前通过多个不同采样时刻的检测而获得一个用于评价该时钟节点的精度的最大值。例如,时钟节点在出厂之前可以在100个采样时刻中获得100个跳变幅度偏差和100个抖动偏差。取这100个跳变幅度偏差中的最大值即可以得到最大跳变幅度偏差。取这100个抖动偏差所构成的抖动偏差范围的上限与下限之间的差值的绝对值,即可得到最大抖动偏差。取这100个抖动偏差所构成的抖动偏差范围的中间值,即可得到最大静态偏差。可以在时钟节点出厂时将最大跳变幅度偏差、最大抖动偏差以及最大静态偏差保存到时钟节点中。当时钟节点的通信接口出现故障需要使与该通信接口进行通信的时钟节点与其他通信接口进行通信时,最大时钟偏差值即是最大跳变幅度偏差、最大抖动偏差以及最大静态偏差之和;当时钟节点未出现更换主通信接口的情况时,最大时钟偏差值即是最大抖动偏差以及最大静态偏差之和。
基于上述说明,对于第一时钟源节点到第一主时钟节点的路径上的每个时钟节点,该时钟节点对应的最大时钟偏差可以是最大跳变幅度偏差、最大抖动偏差以及最大静态偏差之和,也可以是最大抖动偏差以及最大静态偏差之和。类似地,对于第二时钟源节点到第二主时钟节点的路径上的每个时钟节点,该时钟节点对应的最大时钟偏差可以是最大跳变幅度偏差、最大抖动偏差以及最大静态偏差之和,也可以是最大抖动偏差以及最大静态偏差之和。
下面通过举例来对第一种情况下的第一最大时钟偏差累计值进行说明:
例如,以图1中的网络设备111为例,网络设备105为第一主时钟节点,那么网络设备103即为第一时钟源节点。网络设备103到网络设备105的路径上还包括网络设备104。其中,网络设备104对应着最大时钟偏差104,网络设备105对应着最大时钟偏差105。也即是在网络设备103到网络设备105的路径上有2个第一最大时钟偏差,即最大时钟偏差104和最大时钟偏差105。如此,第一最大时钟偏差累计值即是最大时钟偏差104与最大时钟偏差105之和。
值得注意的是,第一时钟源节点与第一主时钟节点之间可能存在多条路径,第一时钟源节点到第一主时钟节点的路径上的多个时钟节点可以是位于该多条路径上的多个时钟节点。类似地,第二时钟源节点与第二主时钟节点之间可能存在多条路径,第二时钟源节点到第二主时钟节点的路径上的多个时钟节点可以是指位于该多条路径上的多个时钟节点。并且,第一时钟源节点到第一主时钟节点的路径上的多个时钟节点可以包括第一主时钟节点,且不包括第一时钟源节点。类似地,第二时钟源节点到第二主时钟节点的路径上的多个时钟节点可以包括第二主时钟节点,且不包括第二时钟源节点。
在第二种情况中,时钟源节点到主时钟节点的路径上,除过时钟节点存在时钟偏差之外,相邻两个时钟节点之间的传输介质也可能存在对应的时钟偏差。因此,多个第一最大时钟偏差可以是指第一时钟源节点到第一主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差,以及第一时钟源节点到第一主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点之间的传输介质分别对应的至少一个最大时钟偏差。多个第二最大时钟偏差可以是是指第二时钟源节点到第二主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差,以及第二时钟源节点到第二主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点之间的传输介质分别对应的至少一个最大时钟偏差。也即是,第一时钟源节点到第一主时钟节点的路径上的每个时钟节点对应一个最大时钟偏差,且至少一对相邻时钟节点中每对相邻时钟节点之间的传输介质也对应一个最大时钟偏差,可以称为第一最大时钟偏差,类似地,第二时钟源节点到第二主时钟节点的路径上的每个时钟节点对应一个最大时钟偏差,至少一对相邻时钟节点中每对相邻时钟节点之间的传输介质也对应一个最大时钟偏差,可以称为第二最大时钟偏差。
需要说明的是,第一时钟源节点到第一主时钟节点的路径上的一对相邻时钟节点是指第一时钟源节点到第一主时钟节点的路径上可以直接进行Announce报文交互的两个时钟节点。类似地,第二时钟源节点到第二主时钟节点的路径上的一对相邻时钟节点是指第二时钟源节点到第二主时钟节点的路径上可以直接进行Announce报文交互的两个时钟节点。比如,图1中的网络设备104和网络设备105可以称为一对相邻时钟节点。其中,相邻时钟节点之间的传输介质可以是光纤,由于光纤会受到温度、湿度、压力等因素的影响,因此,一对相邻时钟节点之间进行时钟同步的时延可能受到影响,进而造成相邻时钟节点之间的传输介质存在时钟偏差。
下面通过举例来对第二种情况下的第一最大时钟偏差累计值进行说明:
例如,以图1中的网络设备111为例,网络设备105为第一主时钟节点,那么网络设备103即为第一时钟源节点。网络设备103到网络设备105的路径上还包括网络设备104。其中,网络设备104对应着最大时钟偏差104,网络设备105对应着最大时钟偏差105,且网络设备104与网络设备105之间的传输介质n还对应着最大时钟偏差n。也即是,网络设备103到网络设备105的路径上有3个第一最大时钟偏差,即最大时钟偏差104、最大时钟偏差105以及最大时钟偏差n。如此,第一最大时钟偏差累计值即是最大时钟偏差104、第一最大时钟偏差105以及第一最大时钟偏差n之和。
值得注意的是,当第一时钟源节点到第一主时钟节点的路径上的多个时钟节点中每对相邻时钟节点之间的传输介质处于理想状态时,即每对相邻时钟节点之间的传输介质不会因温度、湿度、压力等因素而产生时钟偏差。这样的条件下,多个第一最大时钟偏差就是指第一时钟源节点到第一主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差。
另外,对于一对相邻时钟节点之间的传输介质,可以事先在这两个相邻时钟节点处分别设置一个检测仪器,以对这两个时钟节点之间的传输介质正反向传输时间信息产生的时钟偏差进行检测。与上述时钟节点的类似,可以在多个不同的采样时刻进行检测,之后取检测到的时钟偏差中的最大值,作为这两个相邻时钟节点之间的传输介质的最大时钟偏差。并将这两个相邻时钟节点之间的传输介质的最大时钟偏差保存至这两个相邻时钟节点中的任一时钟节点。
S302:网络设备将第一时钟源节点的标识与第二时钟源节点的标识进行比较。
需要说明的是,在一些实施环境中,需要整个时钟同步网络中的时钟节点都跟踪同一个时钟源节点,以使得整个时钟同步网络中的时钟节点都对应着一个相同的时钟源节点,因此,先通过将第一时钟源节点的标识与第二时钟源节点的标识进行比较,来确定第一主时钟节点和第二主时钟节点的时钟源节点是否相同。如果第一主时钟节点和第二主时钟节点的时钟源节点相同,那么就可以保证该时钟同步网络中的时钟节点都会跟踪到同一个时钟源节点,然后再通过如下S303来选择可以与该网络设备进行时钟同步的主时钟节点。
S303:当第一时钟源节点的标识与第二时钟源节点的标识相同时,网络设备根据第一最大时钟偏差累计值和第二最大时钟偏差累计值,从第一主时钟节点和第二主时钟节点中选择进行时钟同步的主时钟节点。
需要说明的是,当第一时钟源节点的标识与第二时钟源节点的标识相同时,即表明第一主时钟节点和第二主时钟节点对应着同一个时钟源节点。此时,时钟源节点不会成为影响网络设备从第一主时钟节点和第二主时钟节点中选择进行时钟同步的主时钟节点的因素。因此,可以根据第一最大时钟偏差累计值和第二最大时钟偏差累计值,从第一主时钟节点和第二主时钟节点中选择进行时钟同步的主时钟节点。
基于上述S301的描述,在两种不同的情况下,第一时钟偏差累计值和第二时钟偏差累计值的概念不同。在这种情况下,根据第一最大时钟偏差累计值和第二最大时钟偏差累计值,从第一主时钟节点和第二主时钟节点中选择进行时钟同步的主时钟节点的实现方式也会不同,因此,接下来也将分两种可能的实现方式分别对主时钟节点的选择进行说明。其中,第一种可能的实现方式对应上述S301中的第一种情况,第二种可能的实现方式对应上述S301中的第二种情况。
第一种可能的实现方式:网络设备将第一最大时钟偏差累计值与第二最大时钟偏差累计值进行比较,当第一最大时钟偏差累计值小于第二最大时钟偏差累计值时,网络设备将第一主时钟节点确定为进行时钟同步的主时钟节点;当第一最大时钟偏差累计值大于第二最大时钟偏差累计值时,网络设备将第二主时钟节点确定为进行时钟同步的主时钟节点。
需要说明的是,当第一最大时钟偏差累计值小于第二最大时钟偏差累计值时,表明通过第一主时钟节点进行时钟同步的精确度高于通过第二主时钟节点进行时钟同步的精确度。这种情况下,该网络设备将第一主时钟节点确定为进行时钟同步的主时钟节点,可以使该网络设备进行时钟同步的精确度更高。当第一最大时钟偏差累计值大于第二最大时钟偏差累计值时,表明通过第二主时钟节点进行时钟同步的精确度高于通过第一主时钟节点进行时钟同步的精确度。这种情况下,该网络设备可以将第二主时钟节点确定为进行时钟同步的主时钟节点,可以使该网络设备进行时钟同步的精确度更高。
值得注意的是,在第一时钟源节点的标识与第二时钟源节点的标识相同的条件下,当第一最大时钟偏差累计值等于第二最大偏差累计值时,来自第一主时钟节点的Announce报文中还可以携带第一主时钟节点到第一时钟源节点的跳数,来自第二主时钟节点Announce报文中还可以携带第二主时钟节点到第二时钟源节点的跳数,通过比较第一主时钟节点到第一时钟源节点的跳数,以及第二主时钟节点到第二时钟源节点的跳数的大小,可以选择出该网络设备进行时钟同步的主时钟节点。由于跳数值越大,主时钟节点到时钟源节点的路径上的时钟节点个数越多,而较多的时钟节点会带来更大的时钟偏差,从而导致通过该主时钟节点进行时钟同步的精确度降低。因此,当第一主时钟节点到第一时钟源节点的的跳数小于第二主时钟节点到第二时钟源节点的跳数时,表明通过第一主时钟节点进行时钟同步的精确度高于通过第二主时钟节点进行时钟同步的精确度。这种情况下,该网络设备可以将第一主时钟节点确定为进行时钟同步的主时钟节点。当然,当第一主时钟节点到第一时钟源节点的的跳数大于第二主时钟节点到第二时钟源节点的跳数时,表明通过第二主时钟节点进行时钟同步的精确度高于通过第一主时钟节点进行时钟同步的精确度。这种情况下,该网络设备可以将第二主时钟节点确定为进行时钟同步的主时钟节点。
第二种可能的实现方式:网络设备确定第三最大时钟偏差累计值和第四最大时钟偏差累计值,并将第三最大时钟偏差累计值与第四最大时钟偏差累计值进行比较,当第三最大时钟偏差累计值小于第四最大时钟偏差累计值时,网络设备将第一主时钟节点确定为进行时钟同步的主时钟节点;当第三最大时钟偏差累计值大于第四最大时钟偏差累计值时,网络设备将第二主时钟节点确定为进行时钟同步的主时钟节点。
需要说明的是,第三最大时钟偏差累计值是指第一主时钟节点与网络设备之间的传输介质对应的最大时钟偏差与第一最大时钟偏差累计值之和,第四最大时钟偏差累计值是指第二主时钟节点与网络设备之间的传输介质对应的最大时钟偏差与第二最大时钟偏差累计值之和。
基于上述S301的描述,相邻两个时钟节点之间的传输介质的最大时钟偏差可以保存到这两个时钟节点中的任一时钟节点。也即是,第一主时钟节点和网络设备之间的传输介质对应的最大时钟偏差可以保存到第一主时钟节点中,也可以保存到网络设备中。同理,第二主时钟节点和网络设备之间的传输介质对应的最大时钟偏差可以保存到第二主时钟节点中,也可以保存到网络设备中。当第一主时钟节点和网络设备之间的传输介质对应的最大时钟偏差保存到第一主时钟节点中,第二主时钟节点和网络设备之间的传输介质对应的最大时钟偏差保存到第二主时钟节点中,此时,来自第一主时钟节点的Announce报文中携带的第一时钟偏差累计值中包含有第一主时钟节点和网络设备之间的传输介质对应的最大时钟偏差,来自第二主时钟节点的Announce报文中携带的第二时钟偏差累计值中包含有第二主时钟节点和网络设备之间的传输介质对应的最大时钟偏差。在这种情况下,可以直接将第一最大时钟偏差累计值与第二最大时钟偏差累计值进行比较,当第一最大时钟偏差累计值小于第二最大时钟偏差累计值时,网络设备将第一主时钟节点确定为进行时钟同步的主时钟节点;当第一最大时钟偏差累计值大于第二最大时钟偏差累计值时,网络设备将第二主时钟节点确定为进行时钟同步的主时钟节点。
然而,当第一主时钟节点和网络设备之间的传输介质对应的最大时钟偏差保存到网络设备中,第二主时钟节点和网络设备之间的传输介质对应的最大时钟偏差保存到网络设备中,此时,来自第一主时钟节点的Announce报文中携带的第一时钟偏差累计值中就不包含第一主时钟节点和网络设备之间的传输介质对应的最大时钟偏差,来自第二主时钟节点的Announce报文中携带的第二时钟偏差累计值中就不包含第二主时钟节点和网络设备之间的传输介质对应的最大时钟偏差。在这种情况下,就需要确定第三最大时钟偏差累计值和第四最大时钟偏差累计值,并将第三最大时钟偏差累计值与第四最大时钟偏差累计值进行比较,当第三最大时钟偏差累计值小于第四最大时钟偏差累计值时,网络设备将第一主时钟节点确定为进行时钟同步的主时钟节点;当第三最大时钟偏差累计值大于第四最大时钟偏差累计值时,网络设备将第二主时钟节点确定为进行时钟同步的主时钟节点。
另外,当第三最大时钟偏差累计值小于第四最大时钟偏差累计值时,表明通过第一主时钟节点进行时钟同步的精确度高于通过第二主时钟节点进行时钟同步的精确度。这种情况下,该网络设备将第一主时钟节点确定为进行时钟同步的主时钟节点,可以使该网络设备进行时钟同步的精确度更高。当第三最大时钟偏差累计值大于第四最大时钟偏差累计值时,表明通过第二主时钟节点进行时钟同步的精确度高于通过第一主时钟节点进行时钟同步的精确度。这种情况下,该网络设备将第二主时钟节点确定为进行时钟同步的主时钟节点,可以使该网络设备进行时钟同步的精确度更高。
下面通过举例来对第三最大时钟偏差累计值进行说明:
例如,以图1中的网络设备111为例,网络设备105为第一主时钟节点,那么网络设备103即为第一时钟源节点。网络设备103到网络设备105的路径上还包括网络设备104。其中,网络设备104对应着最大时钟偏差104,网络设备105对应着最大时钟偏差105,网络设备104与网络设备105之间的传输介质n还对应着最大时钟偏差n,网络设备105与网络设备111之间的传输介质m对应着最大时钟偏差m,也即是,网络设备103到网络设备105的路径上有4个第一最大时钟偏差,即最大时钟偏差104、最大时钟偏差105、最大时钟偏差n以及最大时钟偏差m。如此,第一最大时钟偏差累计值即是最大时钟偏差104、第一最大时钟偏差105以及第一最大时钟偏差n之和,那么第三最大时钟偏差累计值即是最大时钟偏差m与第一最大时钟偏差累计值之和。
值得注意的是,在第一时钟源节点的标识与第二时钟源节点的标识相同的条件下,当第三最大时钟偏差累计值等于第四最大偏差累计值时,来自第一主时钟节点的Announce报文中还可以携带第一主时钟节点到第一时钟源节点的跳数,来自第二主时钟节点Announce报文中还可以携带第二主时钟节点到第二时钟源节点的跳数,通过比较第一主时钟节点到第一时钟源节点的跳数,以及第二主时钟节点到第二时钟源节点的跳数的大小,可以选择出该网络设备进行时钟同步的主时钟节点。由于跳数值越大,主时钟节点到时钟源节点的路径上的时钟节点个数越多,而较多的时钟节点会带来更大的时钟偏差,从而导致通过该主时钟节点进行时钟同步的精确度降低。因此,当第一主时钟节点到第一时钟源节点的的跳数小于第二主时钟节点到第二时钟源节点的跳数时,表明通过第一主时钟节点进行时钟同步的精确度高于通过第二主时钟节点进行时钟同步的精确度。这种情况下,该网络设备可以将第一主时钟节点确定为进行时钟同步的主时钟节点。当然,当第一主时钟节点到第一时钟源节点的的跳数大于第二主时钟节点到第二时钟源节点的跳数时,表明通过第二主时钟节点进行时钟同步的精确度高于通过第一主时钟节点进行时钟同步的精确度。这种情况下,该网络设备可以将第二主时钟节点确定为进行时钟同步的主时钟节点。
S304:网络设备根据选择的主时钟节点的时间信息校准网络设备的时钟。
需要说明的是,校准网络设备的时钟即是将该网络设备的时钟设置为与选择的主时钟节点的时钟相同的时钟,该时钟同步可以包括时间同步和频率同步。
S304具体实现方式可以包括:网络设备和主时钟节点根据IEEE1588-2008,利用PTP报文进行通信。PTP报文包括Sync报文、Delay_req报文以及Delay_resp报文。时间信息携带在PTP报文中。时间信息可以是时间戳1、时间戳2、时间戳3以及时间戳4。网络设备可以利用时间信息,计算网络设备与主时钟节点的时间偏差。网络设备根据时间偏差,校准网络设备的时钟的时间。或者,网络设备可以利用时间信息,计算网络设备与主时钟节点的频率偏差。网络设备根据频率偏差,校准网络设备的时钟的频率。网络设备可以只校准时间。网络设备可以只校准频率。网络设备也可以校准时间以及频率。关于网络设备与主时钟节点利用PTP报文进行通信的过程,参考上文对网络设备104通过PTP报文与网络设备103进行通信的描述。关于网络设备获取时间信息的过程,可以参考上文对网络设备104获取时间戳1、时间戳2、时间戳3以及时间戳4的描述。
网络设备根据频率偏差,校准网络设备的时钟的频率的具体实现方式可以包括:网络设备的时钟可以包括电压源以及晶振。电压源的输出电压作用于晶振。电压源的输出电压越高,则晶振的工作频率越高。网络设备可以包括中央处理单元。中央处理单元可以控制电压源的输出电压。进而,中央处理单元可以通过控制电压源的输出电压,校准网络设备的时钟的频率。具体地,中央处理单元可以根据频率偏差确定电压调整值1。具体地,网络设备还包括与中央处理单元耦合的存储器。存储器中可以存储有频率偏差与电压调整值的对应关系。中央处理单元可以通过访问存储器在所述对应关系中查找与所述第一频率偏差对应的电压调整值,即电压调整值1。中央处理单元确定电压调整值1之前,电压源的输出电压为电压值1。中央处理单元确定电压调整值1之后,可以依据电压调整值1,将电压源的输出电压调整为电压值2。电压值2等于电压值1与电压调整值1的和。因此,如果电压调整值1是正数,则意味着网络设备的时钟的频率低于主时钟节点的频率。中央处理单元可以通过提高晶振的工作频率,校准网络设备的时钟的频率。如果电压调整值1是负数,则意味着网络设备的时钟的频率高于主时钟节点的频率。中央处理单元可以通过降低晶振的工作频率,校准网络设备的时钟的频率。
网络设备根据时间偏差,校准网络设备的时钟的时间的具体实现方式可以包括:网络设备的时钟包括晶振和计数器。计数器具体可以是累加器。计数器中可以包含一个存储器。存储器中保存的值等于该时钟记录的当前时间。晶振可以在每个工作周期向计数器输出一个脉冲信号。计数器检测到脉冲信号的上升沿或者下降沿时,计数器将增量与存储器中保存的值进行加法运算,从而对存储器中保存的值进行更新。增量等于晶振的标称工作周期。例如,晶振的标称工作频率可以是125兆赫兹(Mega Hertz,MHz)。相应的,晶振的标称工作周期可以是8纳秒。网络设备的中央处理单元确定时间偏差后,可以根据时间偏差对计数器包含的存储器中保存的值进行更新,从而实现了对网络设备的时钟的时间的更新。通过上述过程,可以校准网络设备的时钟的时间。
值得注意的是,上述技术方案中,在第一时钟源节点的标识和第二时钟源节点的标识相同的情况下,进行时钟同步。然而,在第一时钟源节点的标识和第二时钟源节点的标识不相同的情况下,可以根据这两个时钟源节点的标识的大小来确定可以与该网络设备进行时钟同步的主时钟节点。由于时钟源节点的标识越小表明该时钟源节点的精度越高,也即是与该时钟源节点对应的主时钟节点进行时钟同步的精确度越高,因此,可以选择这两个时钟源节点的标识较小的时钟源节点所对应的主时钟节点作为该网络设备进行时钟同步的主时钟节点,以使该网络设备进行时钟同步的精确度更高。具体地,当第一时钟源节点的标识小于第二时钟源节点的标识时,表明通过第一主时钟节点进行时钟同步的精确度高于通过第二主时钟节点进行时钟同步的精确度。这种情况下,该网络设备可以将第一主时钟节点确定为进行时钟同步的主时钟节点。当第一时钟源节点的标识大于第二时钟源节点的标识时,表明通过第二主时钟节点进行时钟同步的精确度高于通过第一主时钟节点进行时钟同步的精确度。这种情况下,该网络设备可以将第二主时钟节点确定为进行时钟同步的主时钟节点。
进一步地,来自第一主时钟节点的Announce报文还可以携带第一时钟源节点的时钟等级,来自第二主时钟节点的Announce报文还可以携带第二时钟源节点的时钟等级。在S302之前,也即在比较第一时钟源节点的标识与第二时钟源节点的标识之前,还可以通过如下步骤(1)-步骤(3)来确定可以与该网络设备进行时钟同步的主时钟节点并进行时钟同步。
步骤(1):网络设备将第一时钟源节点的时钟等级与第二时钟源节点的时钟等级进行比较,当第一时钟源节点的时钟等级等于第二时钟源节点的时钟等级时,网络设备判断第一时钟源节点的时钟等级是否小于或等于127,当第一时钟源节点的时钟等级大于127时,返回S302。
需要说明的是,时钟源节点的时钟等级用于指示时钟源节点的时钟级别,且时钟源节点的时钟等级的数值越小其所对应的时钟源节点的时钟级别越高。当第一时钟源节点的时钟等级等于第二时钟源节点的时钟等级时,表明第一时钟源节点的时钟级别与第二时钟源节点的时钟级别相同。此时,可以判断第一时钟源节点的时钟等级是否小于或等于127,由于第一时钟源节点的时钟等级与第二时钟源节点的时钟等级相等,所以判断第一时钟源节点的时钟等级是否小于或等于127也即是判断第二时钟源节点的时钟等级是否小于或等于127。在一种可能的实现方式中,当第一时钟源节点的时钟等级大于127时,表明第一时钟源节点不仅可以作为被其他从时钟节点跟踪的时钟源节点,还可以作为跟踪其他时钟源节点的从时钟节点。同理,当第二时钟源节点的时钟等级大于127时,表明第二时钟源节点不仅可以作为被其他从时钟节点跟踪的时钟源节点,还可以作为跟踪其他时钟源节点的从时钟节点。如此,该网络设备可以返回上述S302,继续进行第一时钟源节点的标识和第二时钟源节点的标识的比较。
步骤(2):当第一时钟源节点的时钟等级小于或等于127时,网络设备根据第一最大时钟偏差累计值和第二最大时钟偏差累计值,从第一主时钟节点和第二主时钟节点中选择进行时钟同步的主时钟节点。
需要说明的是,当第一时钟源节点的时钟等级小于或等于127时,也即第二时钟源节点的时钟等级小于或等于127时,表明第一时钟源节点只能作为被其他从时钟节点跟踪的时钟源节点,而不能作为跟踪其他时钟源节点的从时钟节点。同理,当第一时钟源节点的时钟等级小于或等于127时,表明第二时钟源节点只能作为被其他从时钟节点跟踪的时钟源节点,而不能作为跟踪其他时钟源节点的从时钟节点。如此,该网络设备可以根据第一最大时钟偏差累计值和第二最大时钟偏差累计值,从第一主时钟节点和第二主时钟节点中选择进行时钟同步的主时钟节点,且该网络设备根据第一最大时钟偏差累计值和第二最大时钟偏差累计值,从第一主时钟节点和第二主时钟节点中选择进行时钟同步的主时钟节点的过程与上述S303中相应的过程类似,此处不再赘述。
步骤(3):网络设备根据选择的主时钟节点的时间信息校准网络设备的时钟。
需要说明的是,步骤(3)与上述S304类似,此处不再赘述。
在本申请实施例中,网络设备先接收来自第一主时钟节点的Announce报文和来自第二主时钟节点的Announce报文,来自第一主时钟节点的Announce报文携带第一时钟源节点的标识和第一最大时钟偏差累计值,来自第二主时钟节点的Announce报文携带第二时钟源节点的标识和第二最大时钟偏差累计值。然后该网络设备再将第一时钟源节点的标识与第二时钟源节点的标识进行比较,当第一时钟源节点的标识与第二时钟源节点的标识相同时,表明第一主时钟节点和第二主时钟节点对应同一时钟源节点,此时,根据第一最大时钟偏差累计值和第二最大时钟偏差累计值有助于从第一主时钟节点和第二主时钟节点中,选择时钟源节点到主时钟节点的路径上带来的时钟偏差较小的主时钟节点,再根据选择的主时钟节点的时间信息校准该网络设备的时钟。时钟源节点到主时钟节点的路径上带来的时钟偏差较小的话,通过该主时钟节点进行时钟同步的精确度更高,进而使得该网络设备校准之后的时钟的精度更高。
图4为本申请实施例提供的第二种时钟同步方法的流程图,该方法应用于网络设备。参见图4,该方法包括:
S401:网络设备接收来自第一主时钟节点的Announce报文和来自第二主时钟节点的Announce报文,来自第一主时钟节点的Announce报文携带第一时钟源节点的标识和第一最大时钟偏差累计值,来自第二主时钟节点的Announce报文携带第二时钟源节点的标识和第二最大时钟偏差累计值。
S402:网络设备将第一时钟源节点的标识与第二时钟源节点的标识进行比较。
S403:当第一时钟源节点的标识与第二时钟源节点的标识相同时,网络设备根据第一最大时钟偏差累计值和第二最大时钟偏差累计值,从第一主时钟节点和第二主时钟节点中选择进行时钟同步的主时钟节点。
需要说明的是,本实施例中S401至S403的内容与上述实施例中S301至S303的内容类似。关于S401至S403的具体实现方式,可以参考实施例对S301至S303的描述,此处不再赘述。不过对于第一最大时钟偏差累计值等于第二最大时钟偏差累计值的情况,以及第三最大时钟偏差累计值等于第四最大时钟偏差累计值的情况,在本实施例中,网络设备选择进行时钟同步的主时钟节点的方式与上述实施例的方式不相同,接下来对这种情况进行详细说明。
S404:当第一最大时钟偏差累计值等于第二最大时钟偏差累计值时,网络设备根据第一时钟方差值和第二时钟方差值,从第一主时钟节点和第二主时钟节点中选择进行时钟同步的主时钟节点。
需要说明的是,来自第一主时钟节点的Announce报文还可以携带第一时钟方差值,来自第二主时钟节点的Announce报文还携带第二时钟方差值。第一时钟方差值是指多个第一时钟偏差方差值的平方和的平方根,第二时钟方差值是指多个第二时钟偏差方差值的平方和的平方根。
在第一种情况中,时钟源节点到主时钟节点的路径上,可能只有时钟节点存在时钟偏差,因此,对于多个第一时钟偏差方差值中的任一第一时钟偏差方差值,这个第一时钟偏差方差值可以是指第一时钟源节点到第一主时钟节点的路径上的一个时钟节点对应的多个时钟偏差的方差值。同理,对于多个第二时钟偏差方差值中的任一第二时钟偏差方差值,这个第二时钟偏差方差值可以是指第二时钟源节点到第二主时钟节点的路径上的一个时钟节点对应的多个时钟偏差的方差值。也即是,第一时钟源节点到第一主时钟节点的路径上的每个时钟节点都对应多个时钟偏差,这多个时钟偏差的方差值即为第一时钟偏差方差值,第二时钟源节点到第二主时钟节点的路径上的每个时钟节点都对应多个时钟偏差,这多个时钟偏差的方差值即为第二时钟偏差方差值。换句话说,多个第一时钟偏差方差值与第一时钟源节点到第一主时钟节点的路径上的多个时钟节点一一对应,多个第二时钟偏差方差值与第二时钟源节点到第二主时钟节点的路径上的多个时钟节点一一对应。
由于上述实施例对时钟偏差进行过说明,时钟偏差可以是时钟节点的跳变幅度偏差、抖动偏差和静态偏差。且上述实施例对时钟节点的最大时钟偏差进行过说明,即时钟节点的最大时钟偏差可以是最大跳变幅度偏差、最大抖动偏差以及最大静态偏差之和,也可以是最大抖动偏差以及最大静态偏差之和。所以,类似地,时钟节点的第一时钟偏差方差值可以是该时钟节点的跳变幅度偏差、抖动偏差和静态偏差的方差值,也可以是该时钟节点的抖动偏差和静态偏差的方差值。
下面通过举例来对第一种情况下的第一时钟方差值进行说明:
例如,以图1中的网络设备111为例,网络设备105为第一主时钟节点,那么网络设备103即为第一时钟源节点。网络设备103到网络设备105的路径上还包括网络设备104。其中,网络设备104对应着第一时钟偏差方差值104,网络设备105对应着第一时钟偏差方差值105。如此,第一时钟方差值即是第一时钟偏差方差值104与第一时钟偏差方差值105的平方和的平方根。
在第二种情况中,时钟源节点到主时钟节点的路径上,除过时钟节点存在时钟偏差之外,相邻时钟节点之间传输介质也可能存在的时钟偏差。因此,多个第一时钟偏差方差值包括第一时钟源节点到第一主时钟节点的路径上的每个时钟节点对应的多个时钟偏差的方差值,以及第一时钟源节点到第一主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点中每对相邻时钟节点之间的传输介质对应的多个时钟偏差的方差值。多个第二时钟偏差方差值包括第二时钟源节点到第二主时钟节点的路径上的每个时钟节点对应的多个时钟偏差的方差值,以及第二时钟源节点到第二主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点中每对相邻时钟节点之间的传输介质对应的多个时钟偏差的方差值。也即是,第一时钟源节点到第一主时钟节点的路径上的每个时钟节点对应一个时钟偏差方差值,且至少一对相邻时钟节点中每对相邻时钟节点之间的传输介质对应一个时钟偏差方差值,可以称为第一时钟偏差方差值。类似地,第二时钟源节点到第二主时钟节点的路径上的每个时钟节点对应一个时钟偏差方差值,且至少一对相邻时钟节点中每对相邻时钟节点之间的传输介质对应一个时钟偏差方差值,可以称为第二时钟偏差方差值。
下面通过举例来对第二种情况下的第一时钟方差值进行说明:
例如,以图1中的网络设备111为例,网络设备105为第一主时钟节点,那么网络设备103即为第一时钟源节点。网络设备103到网络设备105的路径上还包括网络设备104。其中,网络设备104对应着第一时钟偏差方差值104,网络设备105对应着第一时钟偏差方差值105,且网络设备104与网络设备105之间的传输介质n对应着第一时钟偏差方差值n。如此,第一时钟方差值即是第一时钟偏差方差值104、第一时钟偏差方差值105以及第一时钟偏差方差值n的平方和的平方根。
由于在两种不同情况下,第一时钟方差值和第二时钟方差值的概念不同。因此,根据第一时钟方差值和第二时钟方差值,从第一主时钟节点和第二主时钟节点中选择进行时钟同步的主时钟节点的实现方式也会不同。接下来将分两种可能的实现方式分别对主时钟节点的选择进行说明。其中,第一种可能的实现方式对应本步骤的第一种情况,第二种可能的实现方式对应本步骤的第二种情况。
第一种可能的实现方式:网络设备将第一时钟方差值与第二时钟方差值进行比较,当第一时钟方差值小于第二时钟方差值时,网络设备将第一主时钟节点确定为进行时钟同步的主时钟节点;当第一时钟方差值大于第二时钟方差值时,网络设备将第二主时钟节点确定为进行时钟同步的主时钟节点。
需要说明的是,当第一时钟方差值小于第二时钟方差值时,表明通过第一主时钟节点进行时钟同步的精确度高于通过第二主时钟节点进行时钟同步的精确度。这种情况下,该网络设备将第一主时钟节点确定为进行时钟同步的主时钟节点,可以使该网络设备进行时钟同步的精确度更高。类似地,当第一时钟方差值大于第二时钟方差值时,表明通过第二主时钟节点进行时钟同步的精确度高于通过第一主时钟节点进行时钟同步的精确度。这种情况下,该网络设备可以将第二主时钟节点确定为进行时钟同步的主时钟节点,可以使该网络设备进行时钟同步的精确度更高。
值得注意的是,在第一时钟源节点的标识与第二时钟源节点的标识相同的条件下,当第一最大时钟偏差累计值等于第二最大偏差累计值,且第一时钟方差值等于第二时钟方差值时,来自第一主时钟节点的Announce报文中还可以携带第一主时钟节点到第一时钟源节点的跳数,来自第二主时钟节点Announce报文中还可以携带第二主时钟节点到第二时钟源节点的跳数,通过比较第一主时钟节点到第一时钟源节点的跳数,以及第二主时钟节点到第二时钟源节点的跳数的大小,可以选择出该网络设备进行时钟同步的主时钟节点。由于跳数值越大,主时钟节点到时钟源节点的路径上的时钟节点个数越多,而较多的时钟节点会带来更大的时钟偏差,从而导致通过该主时钟节点进行时钟同步的精确度降低。因此,当第一主时钟节点到第一时钟源节点的的跳数小于第二主时钟节点到第二时钟源节点的跳数时,表明通过第一主时钟节点进行时钟同步的精确度高于通过第二主时钟节点进行时钟同步的精确度。这种情况下,该网络设备可以将第一主时钟节点确定为进行时钟同步的主时钟节点。当然,当第一主时钟节点到第一时钟源节点的的跳数大于第二主时钟节点到第二时钟源节点的跳数时,表明通过第二主时钟节点进行时钟同步的精确度高于通过第一主时钟节点进行时钟同步的精确度。这种情况下,该网络设备可以将第二主时钟节点确定为进行时钟同步的主时钟节点。
第二种可能的实现方式:网络设备确定第三时钟方差值和第四时钟方差值,并网络设备将第三时钟方差值与第四时钟方差值进行比较,当第三时钟方差值小于第四时钟方差值时,网络设备将第一主时钟节点确定为进行时钟同步的主时钟节点;当第三时钟方差值大于第四时钟方差值时,网络设备将第二主时钟节点确定为进行时钟同步的主时钟节点。
需要说明的是,第三时钟方差值是第一主时钟节点与网络设备之间的传输介质对应的多个时钟偏差的方差值与第一时钟方差值的平方和的平方根。第四时钟方差值是第二主时钟节点与网络设备之间的传输介质对应的多个时钟偏差的方差值与第二时钟方差值的平方和的平方根。
与上述S303中的第二种可能的实现方式类似,在本步骤的第二种可能的实现方式中,当第一主时钟节点和网络设备之间的传输介质对应的多个时钟偏差的方差值保存到第一主时钟节点中,第二主时钟节点和网络设备之间的传输介质对应的多个时钟偏差的方差值保存到第二主时钟节点中,此时,来自第一主时钟节点的Announce报文中携带的第一时钟偏差方差值即为考虑了第一主时钟节点与网络设备之间的传输介质对应的多个时钟偏差的方差值得到的结果,来自第二主时钟节点的Announce报文中携带的第二时钟偏差方差值即为考虑了第二主时钟节点和网络设备之间的传输介质对应的多个时钟偏差的方差值得到的结果。在这种情况下,可以直接将第一时钟偏差方差值与第二时钟偏差方差值进行比较,当第一时钟偏差方差值小于第二时钟偏差方差值时,网络设备将第一主时钟节点确定为进行时钟同步的主时钟节点;当第一时钟偏差方差值大于第二时钟偏差方差值时,网络设备将第二主时钟节点确定为进行时钟同步的主时钟节点。
然而,当第一主时钟节点和网络设备之间的传输介质对应的多个时钟偏差的方差值保存到网络设备中,第二主时钟节点和网络设备之间的传输介质对应的多个时钟偏差的方差值保存到网络设备中,此时,来自第一主时钟节点的Announce报文中携带的第一时钟偏差方差值中就没有考虑第一主时钟节点和网络设备之间的传输介质对应的多个时钟偏差的方差值,来自第二主时钟节点的Announce报文中携带的第二时钟偏差方差值中就没有考虑第二主时钟节点和网络设备之间的传输介质对应的多个时钟偏差的方差值。在这种情况下,就需要确定第三时钟偏差方差值和第四时钟偏差方差值,并将第三时钟方差值与第四时钟方差值进行比较,当第三时钟方差值小于第四时钟方差值时,网络设备将第一主时钟节点确定为进行时钟同步的主时钟节点;当第三时钟方差值大于第四时钟方差值时,网络设备将第二主时钟节点确定为进行时钟同步的主时钟节点。
另外,当第三时钟方差值小于第四时钟方差值时,表明通过第一主时钟节点进行时钟同步的精确度高于通过第二主时钟节点进行时钟同步的精确度。这种情况下,该网络设备将第一主时钟节点确定为进行时钟同步的主时钟节点,可以使该网络设备进行时钟同步的精确度更高。类似地,当第三时钟方差值大于第四时钟方差值时,表明通过第二主时钟节点进行时钟同步的精确度高于通过第一主时钟节点进行时钟同步的精确度。这种情况下,该网络设备将第二主时钟节点确定为进行时钟同步的主时钟节点,可以使该网络设备进行时钟同步的精确度更高。
下面通过举例来对第三时钟方差值进行说明:
例如,以图1中的网络设备111为例,网络设备105为第一主时钟节点,那么网络设备103即为第一时钟源节点。网络设备103到网络设备105的路径上还包括网络设备104。其中,网络设备104对应着第一时钟偏差方差值104,网络设备105对应着第一时钟偏差方差值105,网络设备104与网络设备105之间的传输介质n对应着第一时钟偏差方差值n,网络设备105与网络设备111之间的传输介质m对应着第一时钟偏差方差值m。如此,第一时钟方差值即是第一时钟偏差方差值104、第一时钟偏差方差值105以及第一时钟偏差方差值n的平方和的平方根,那么第三时钟方差即是第一时钟偏差方差值m与第一时钟方差值的平方和的平方根。
值得注意的是,在第一时钟源节点的标识与第二时钟源节点的标识相同的条件下,当第一最大时钟偏差累计值等于第二最大偏差累计值,且第三时钟方差值等于第四时钟方差值时,来自第一主时钟节点Announce报文中还可以携带第一主时钟节点到第一时钟源节点的跳数,来自第二主时钟节点Announce报文中还可以携带第二主时钟节点到第二时钟源节点的跳数,通过比较第一主时钟节点到第一时钟源节点的跳数,以及第二主时钟节点到第二时钟源节点的跳数的大小,可以选择出该网络设备进行时钟同步的主时钟节点。由于跳数值越大,主时钟节点到时钟源节点的路径上的时钟节点个数越多,而较多的时钟节点会带来更大的时钟偏差,从而导致通过该主时钟节点进行时钟同步的精确度降低。因此,当第一主时钟节点到第一时钟源节点的的跳数小于第二主时钟节点到第二时钟源节点的跳数时,表明通过第一主时钟节点进行时钟同步的精确度高于通过第二主时钟节点进行时钟同步的精确度。这种情况下,该网络设备可以将第一主时钟节点确定为进行时钟同步的主时钟节点。当然,当第一主时钟节点到第一时钟源节点的的跳数大于第二主时钟节点到第二时钟源节点的跳数时,表明通过第二主时钟节点进行时钟同步的精确度高于通过第一主时钟节点进行时钟同步的精确度。这种情况下,该网络设备可以将第二主时钟节点确定为进行时钟同步的主时钟节点。
S405:网络设备根据选择的主时钟节点的时间信息校准网络设备的时钟。
需要说明的是,S405的具体实现方式,可以参考实施例对S304的描述,此处不再赘述。
值得注意的是,上述技术方案中,在第一时钟源节点的标识和第二时钟源节点的标识相同的情况下,进行时钟同步。然而,在第一时钟源节点的标识和第二时钟源节点的标识不相同的情况下,可以根据这两个时钟源节点的标识的大小来确定可以与该网络设备进行时钟同步的主时钟节点。由于时钟源节点的标识越小表明该时钟源节点的精度越高,也即是与该时钟源节点对应的主时钟节点进行时钟同步的精确度越高,因此,可以选择这两个时钟源节点的标识较小的时钟源节点所对应的主时钟节点作为该网络设备进行时钟同步的主时钟节点,以使该网络设备进行时钟同步的精确度更高。具体地,当第一时钟源节点的标识小于第二时钟源节点的标识时,表明通过第一主时钟节点进行时钟同步的精确度高于通过第二主时钟节点进行时钟同步的精确度。这种情况下,该网络设备可以将第一主时钟节点确定为进行时钟同步的主时钟节点。当第一时钟源节点的标识大于第二时钟源节点的标识时,表明通过第二主时钟节点进行时钟同步的精确度高于通过第一主时钟节点进行时钟同步的精确度。这种情况下,该网络设备可以将第二主时钟节点确定为进行时钟同步的主时钟节点。
进一步地,来自第一主时钟节点的Announce报文还可以携带第一时钟源节点的时钟等级,来自第二主时钟节点的Announce报文还可以携带第二时钟源节点的时钟等级。在S402之前,也即在比较第一时钟源节点的标识与第二时钟源节点的标识之前,还可以通过如下步骤A-步骤D来确定可以与该网络设备进行时钟同步的主时钟节点。
步骤A:网络设备将第一时钟源节点的时钟等级与第二时钟源节点的时钟等级进行比较,当第一时钟源节点的时钟等级等于第二时钟源节点的时钟等级时,网络设备判断第一时钟源节点的时钟等级是否小于或等于127,当第一时钟源节点的时钟等级大于127时,返回S402。
步骤B:当第一时钟源节点的时钟等级小于或等于127时,网络设备根据第一最大时钟偏差累计值和第二最大时钟偏差累计值,从第一主时钟节点和第二主时钟节点中选择进行时钟同步的主时钟节点。
需要说明的是,本实施例中步骤A-步骤B的内容与上述实施例中步骤(1)-步骤(2)的内容基本相同,此处不再赘述。
步骤C:当第一最大时钟偏差累计值等于第二最大时钟偏差累计值时,网络设备根据第一时钟方差值和第二时钟方差值,从第一主时钟节点和第二主时钟节点中选择进行时钟同步的主时钟节点。
需要说明的是,步骤C与上述S404类似,此处不再赘述。
步骤D:网络设备根据选择的主时钟节点的时间信息校准网络设备的时钟。
需要说明的是,步骤D与上述S304类似,此处不再赘述。
在本申请实施例中,网络设备先接收来自第一主时钟节点的Announce报文和来自第二主时钟节点的Announce报文,来自第一主时钟节点的Announce报文携带第一时钟源节点的标识、第一最大时钟偏差累计值和第一时钟方差值,来自第二主时钟节点的Announce报文携带第二时钟源节点的标识、第二最大时钟偏差累计值和第二时钟方差值。然后该网络设备再将第一时钟源节点的标识与第二时钟源节点的标识进行比较,当第一时钟源节点的标识与第二时钟源节点的标识相同时,表明第一主时钟节点和第二主时钟节点对应同一时钟源节点,此时,网络设备根据第一最大时钟偏差累计值和第二最大时钟偏差累计值,从第一主时钟节点和第二主时钟节点中选择进行时钟同步的主时钟节点。当第一最大时钟偏差累计值等于第二最大时钟偏差累计值时,网络设备再根据第一时钟方差值和第二时钟方差值,从第一主时钟节点和第二主时钟节点中选择进行时钟同步的主时钟节点。最后该网络设备再根据选择的主时钟节点的时间信息校准该网络设备的时钟。时钟源节点到主时钟节点的路径上带来的时钟偏差较小的话,通过该主时钟节点进行时钟同步的精确度更高,进而使得该网络设备校准之后的时钟的精度更高。
图5是本申请实施例提供的一种时钟同步装置的结构示意图,该时钟同步装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部,该时钟同步装置应用于该网络设备中,该网络设备可以为图2所示的网络设备。参见图5,该装置包括:接收模块501、第一比较模块502、选择模块503和第一校准模块504。
接收模块501,用于执行S301中的操作或者S401中的操作;
第一比较模块502,用于用于执行S302中的操作或者S402中的操作;
选择模块503,用于执行S303中的操作或者S403中的操作;
第一校准模块504,用于执行S304中的操作。
可选地,所述多个第一最大时钟偏差是指所述第一时钟源节点到所述第一主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差,所述多个第二最大时钟偏差是指所述第二时钟源节点到所述第二主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差。
可选地,来自所述第一主时钟节点的Announce报文还携带所述第一时钟源节点的时钟等级,来自所述第二主时钟节点的Announce报文还携带所述第二时钟源节点的时钟等级;
该装置还包括:
第二比较模块,用于将所述第一时钟源节点的时钟等级与所述第二时钟源节点的时钟等级进行比较;
判断模块,用于当所述第一时钟源节点的时钟等级等于所述第二时钟源节点的时钟等级时,判断所述第一时钟源节点的时钟等级是否小于或等于127;
第一比较模块502包括:
第一比较子模块,用于当所述第一时钟源节点的时钟等级大于127时,将所述第一时钟源节点的标识和所述第二时钟源节点的标识进行比较。
可选地,该装置还包括:
选择模块503,还用于当所述第一时钟源节点的时钟等级小于或等于127时,根据所述第一最大时钟偏差累计值和所述第二最大时钟偏差累计值,从所述第一主时钟节点和所述第二主时钟节点中选择进行时钟同步的主时钟节点;
第二校准模块,用于根据选择的主时钟节点的时间信息校准所述时钟同步装置的时钟。
可选地,所述多个第一最大时钟偏差是指所述第一时钟源节点到所述第一主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差,所述多个第二最大时钟偏差是指所述第二时钟源节点到所述第二主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差。
可选地,选择模块503包括:
第二比较子模块,用于将所述第一最大时钟偏差累计值与所述第二最大时钟偏差累计值进行比较;
第一确定子模块,用于当所述第一最大时钟偏差累计值小于所述第二最大时钟偏差累计值时,将所述第一主时钟节点确定为进行时钟同步的主时钟节点。
可选地,来自所述第一主时钟节点的Announce报文还携带第一时钟方差值,来自所述第二主时钟节点的Announce报文还携带第二时钟方差值,所述第一时钟方差值是指多个第一时钟偏差方差值的平方和的平方根,所述第二时钟方差值是指多个第二时钟偏差方差值的平方和的平方根,所述第一时钟偏差方差值是指所述第一时钟源节点到所述第一主时钟节点的路径上的一个时钟节点对应的多个时钟偏差的方差值,所述第二时钟偏差方差值是指所述第二时钟源节点到所述第二主时钟节点的路径上的一个时钟节点对应的多个时钟偏差的方差值;
该装置还包括:
第三比较模块,用于当所述第一最大时钟偏差累计值等于所述第二最大时钟偏差累计值时,将所述第一时钟方差值与所述第二时钟方差值进行比较;
第一确定模块,用于当所述第一时钟方差值小于所述第二时钟方差值时,将所述第一主时钟节点确定为进行时钟同步的主时钟节点。
可选地,所述多个第一最大时钟偏差是指所述第一时钟源节点到所述第一主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差,以及所述第一时钟源节点到所述第一主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点之间的传输介质分别对应的至少一个最大时钟偏差,所述多个第二最大时钟偏差是指所述第二时钟源节点到所述第二主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差,以及所述第二时钟源节点到所述第二主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点之间的传输介质分别对应的至少一个最大时钟偏差。
可选地,选择模块503包括:
第二确定子模块,用于确定第三最大时钟偏差累计值和第四最大时钟偏差累计值,所述第三最大时钟偏差累计值是指所述第一主时钟节点与所述时钟同步装置之间的传输介质对应的最大时钟偏差与所述第一最大时钟偏差累计值之和,所述第四最大时钟偏差累计值是指所述第二主时钟节点与所述时钟同步装置之间的传输介质对应的最大时钟偏差与所述第二最大时钟偏差累计值之和;
第三比较子模块,用于将所述第三最大时钟偏差累计值与所述第四最大时钟偏差累计值进行比较;
第三确定子模块,用于当所述第三最大时钟偏差累计值小于所述第四最大时钟偏差累计值时,将所述第一主时钟节点确定为进行时钟同步的主时钟节点。
可选地,来自所述第一主时钟节点的Announce报文还携带第一时钟方差值,来自所述第二主时钟节点的Announce报文还携带第二时钟方差值,所述第一时钟方差值是指多个第一时钟偏差方差值的平方和的平方根,所述第二时钟方差值是指多个第二时钟偏差方差值的平方和的平方根,所述多个第一时钟偏差方差值包括所述第一时钟源节点到所述第一主时钟节点的路径上的每个时钟节点对应的多个时钟偏差的方差值,以及所述第一时钟源节点到所述第一主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点中每对相邻时钟节点之间的传输介质对应的多个时钟偏差的方差值,所述多个第二时钟偏差方差值包括所述第二时钟源节点到所述第二主时钟节点的路径上的每个时钟节点对应的多个时钟偏差的方差值,以及所述第二时钟源节点到所述第二主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点中每对相邻时钟节点之间的传输介质对应的多个时钟偏差的方差值;
该装置还包括:
第二确定模块,用于当所述第三最大时钟偏差累计值等于所述第四最大时钟偏差累计值时,确定第三时钟方差值和第四时钟方差值,所述第三时钟方差值是所述第一主时钟节点与所述时钟同步装置之间的传输介质对应的多个时钟偏差的方差值与所述第一时钟方差值的平方和的平方根,所述第四时钟方差值是所述第二主时钟节点与所述时钟同步装置之间的传输介质对应的多个时钟偏差的方差值与所述第二时钟方差值的平方和的平方根;
第四比较模块,用于将所述第三时钟方差值与所述第四时钟方差值进行比较;
第三确定模块,用于当所述第三时钟方差值小于所述第四时钟方差值时,将所述第一主时钟节点确定为进行时钟同步的主时钟节点。
在本申请实施例中,网络设备先接收来自第一主时钟节点的Announce报文和来自第二主时钟节点的Announce报文,来自第一主时钟节点的Announce报文携带第一时钟源节点的标识和第一最大时钟偏差累计值,来自第二主时钟节点的Announce报文携带第二时钟源节点的标识和第二最大时钟偏差累计值。然后该网络设备再将第一时钟源节点的标识与第二时钟源节点的标识进行比较,当第一时钟源节点的标识与第二时钟源节点的标识相同时,表明第一主时钟节点和第二主时钟节点对应同一时钟源节点,此时,根据第一最大时钟偏差累计值和第二最大时钟偏差累计值有助于从第一主时钟节点和第二主时钟节点中,选择时钟源节点到主时钟节点的路径上带来的时钟偏差较小的主时钟节点,再根据选择的主时钟节点的时间信息校准该网络设备的时钟。时钟源节点到主时钟节点的路径上带来的时钟偏差较小的话,通过该主时钟节点进行时钟同步的精确度更高,进而使得该网络设备校准之后的时钟的精度更高。
需要说明的是:上述实施例提供的时钟同步装置在时钟同步时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的时钟同步装置与时钟同步方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(Digital Subscriber Line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(Digital Versatile Disc,DVD))或半导体介质(例如:固态硬盘(Solid State Disk,SSD))等。
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (19)
1.一种基于ITU-T G.8275.1协议的时钟同步方法,其特征在于,所述方法包括:
网络设备接收来自第一主时钟节点的通知Announce报文和来自第二主时钟节点的Announce报文,来自所述第一主时钟节点的Announce报文携带第一时钟源节点的标识和第一最大时钟偏差累计值,来自所述第二主时钟节点的Announce报文携带第二时钟源节点的标识和第二最大时钟偏差累计值,所述第一最大时钟偏差累计值是所述第一时钟源节点到所述第一主时钟节点的路径上的多个第一最大时钟偏差之和,所述第二最大时钟偏差累计值是所述第二时钟源节点到所述第二主时钟节点的路径上的多个第二最大时钟偏差之和;
所述网络设备将所述第一时钟源节点的标识和所述第二时钟源节点的标识进行比较;
当所述第一时钟源节点的标识与所述第二时钟源节点的标识相同时,所述网络设备根据所述第一最大时钟偏差累计值和所述第二最大时钟偏差累计值,从所述第一主时钟节点和所述第二主时钟节点中选择进行时钟同步的主时钟节点;
所述网络设备根据选择的主时钟节点的时间信息校准所述网络设备的时钟。
2.如权利要求1所述的方法,其特征在于,来自所述第一主时钟节点的Announce报文还携带所述第一时钟源节点的时钟等级,来自所述第二主时钟节点的Announce报文还携带所述第二时钟源节点的时钟等级;
所述网络设备将所述第一时钟源节点的标识和所述第二时钟源节点的标识进行比较之前,所述方法还包括:
所述网络设备将所述第一时钟源节点的时钟等级与所述第二时钟源节点的时钟等级进行比较;
当所述第一时钟源节点的时钟等级等于所述第二时钟源节点的时钟等级时,所述网络设备判断所述第一时钟源节点的时钟等级是否小于或等于127;
所述网络设备将所述第一时钟源节点的标识和所述第二时钟源节点的标识进行比较,包括:
当所述第一时钟源节点的时钟等级大于127时,所述网络设备将所述第一时钟源节点的标识和所述第二时钟源节点的标识进行比较。
3.如权利要求2所述的方法,其特征在于,所述网络设备判断所述第一时钟源节点的时钟等级是否小于或等于127之后,所述方法还包括:
当所述第一时钟源节点的时钟等级小于或等于127时,所述网络设备根据所述第一最大时钟偏差累计值和所述第二最大时钟偏差累计值,从所述第一主时钟节点和所述第二主时钟节点中选择进行时钟同步的主时钟节点;
所述网络设备根据选择的主时钟节点的时间信息校准所述网络设备的时钟。
4.如权利要求1-3任一所述的方法,其特征在于,所述多个第一最大时钟偏差是指所述第一时钟源节点到所述第一主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差,所述多个第二最大时钟偏差是指所述第二时钟源节点到所述第二主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差。
5.如权利要求4所述的方法,其特征在于,所述网络设备根据所述第一最大时钟偏差累计值和所述第二最大时钟偏差累计值,从所述第一主时钟节点和所述第二主时钟节点中选择进行时钟同步的主时钟节点,包括:
所述网络设备将所述第一最大时钟偏差累计值与所述第二最大时钟偏差累计值进行比较;
当所述第一最大时钟偏差累计值小于所述第二最大时钟偏差累计值时,所述网络设备将所述第一主时钟节点确定为进行时钟同步的主时钟节点。
6.如权利要求5所述的方法,其特征在于,来自所述第一主时钟节点的Announce报文还携带第一时钟方差值,来自所述第二主时钟节点的Announce报文还携带第二时钟方差值,所述第一时钟方差值是指多个第一时钟偏差方差值的平方和的平方根,所述第二时钟方差值是指多个第二时钟偏差方差值的平方和的平方根,所述第一时钟偏差方差值是指所述第一时钟源节点到所述第一主时钟节点的路径上的一个时钟节点对应的多个时钟偏差的方差值,所述第二时钟偏差方差值是指所述第二时钟源节点到所述第二主时钟节点的路径上的一个时钟节点对应的多个时钟偏差的方差值;
所述网络设备将所述第一最大时钟偏差累计值与所述第二最大时钟偏差累计值进行比较之后,所述方法还包括:
当所述第一最大时钟偏差累计值等于所述第二最大时钟偏差累计值时,所述网络设备将所述第一时钟方差值与所述第二时钟方差值进行比较;
当所述第一时钟方差值小于所述第二时钟方差值时,所述网络设备将所述第一主时钟节点确定为进行时钟同步的主时钟节点。
7.如权利要求1-3任一所述的方法,其特征在于,所述多个第一最大时钟偏差是指所述第一时钟源节点到所述第一主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差,以及所述第一时钟源节点到所述第一主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点之间的传输介质分别对应的至少一个最大时钟偏差,所述多个第二最大时钟偏差是指所述第二时钟源节点到所述第二主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差,以及所述第二时钟源节点到所述第二主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点之间的传输介质分别对应的至少一个最大时钟偏差。
8.如权利要求7所述的方法,其特征在于,所述网络设备根据所述第一最大时钟偏差累计值和所述第二最大时钟偏差累计值,从所述第一主时钟节点和所述第二主时钟节点中选择进行时钟同步的主时钟节点,包括:
所述网络设备确定第三最大时钟偏差累计值和第四最大时钟偏差累计值,所述第三最大时钟偏差累计值是指所述第一主时钟节点与所述网络设备之间的传输介质对应的最大时钟偏差与所述第一最大时钟偏差累计值之和,所述第四最大时钟偏差累计值是指所述第二主时钟节点与所述网络设备之间的传输介质对应的最大时钟偏差与所述第二最大时钟偏差累计值之和;
所述网络设备将所述第三最大时钟偏差累计值与所述第四最大时钟偏差累计值进行比较;
当所述第三最大时钟偏差累计值小于所述第四最大时钟偏差累计值时,所述网络设备将所述第一主时钟节点确定为进行时钟同步的主时钟节点。
9.如权利要求8所述的方法,其特征在于,来自所述第一主时钟节点的Announce报文还携带第一时钟方差值,来自所述第二主时钟节点的Announce报文还携带第二时钟方差值,所述第一时钟方差值是指多个第一时钟偏差方差值的平方和的平方根,所述第二时钟方差值是指多个第二时钟偏差方差值的平方和的平方根,所述多个第一时钟偏差方差值包括所述第一时钟源节点到所述第一主时钟节点的路径上的每个时钟节点对应的多个时钟偏差的方差值,以及所述第一时钟源节点到所述第一主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点中每对相邻时钟节点之间的传输介质对应的多个时钟偏差的方差值,所述多个第二时钟偏差方差值包括所述第二时钟源节点到所述第二主时钟节点的路径上的每个时钟节点对应的多个时钟偏差的方差值,以及所述第二时钟源节点到所述第二主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点中每对相邻时钟节点之间的传输介质对应的多个时钟偏差的方差值;
所述网络设备将所述第三最大时钟偏差累计值与所述第四最大时钟偏差累计值进行比较之后,所述方法还包括:
当所述第三最大时钟偏差累计值等于所述第四最大时钟偏差累计值时,所述网络设备确定第三时钟方差值和第四时钟方差值,所述第三时钟方差值是所述第一主时钟节点与所述网络设备之间的传输介质对应的多个时钟偏差的方差值与所述第一时钟方差值的平方和的平方根,所述第四时钟方差值是所述第二主时钟节点与所述网络设备之间的传输介质对应的多个时钟偏差的方差值与所述第二时钟方差值的平方和的平方根;
所述网络设备将所述第三时钟方差值与所述第四时钟方差值进行比较;
当所述第三时钟方差值小于所述第四时钟方差值时,所述网络设备将所述第一主时钟节点确定为进行时钟同步的主时钟节点。
10.一种基于ITU-T G.8275.1协议的时钟同步装置,其特征在于,所述装置包括:
接收模块,用于接收来自第一主时钟节点的Announce报文和来自第二主时钟节点的Announce报文,来自所述第一主时钟节点的Announce报文携带第一时钟源节点的标识和第一最大时钟偏差累计值,来自所述第二主时钟节点的Announce报文携带第二时钟源节点的标识和第二最大时钟偏差累计值,所述第一最大时钟偏差累计值是所述第一时钟源节点到所述第一主时钟节点的路径上的多个第一最大时钟偏差之和,所述第二最大时钟偏差累计值是所述第二时钟源节点到所述第二主时钟节点的路径上的多个第二最大时钟偏差之和;
第一比较模块,用于将所述第一时钟源节点的标识与所述第二时钟源节点的标识进行比较;
选择模块,用于当所述第一时钟源节点的标识与所述第二时钟源节点的标识相同时,根据所述第一最大时钟偏差累计值和所述第二最大时钟偏差累计值,从所述第一主时钟节点和所述第二主时钟节点中选择进行时钟同步的主时钟节点;
第一校准模块,用于根据选择的主时钟节点的时间信息校准所述时钟同步装置的时钟。
11.如权利要求10所述的装置,其特征在于,来自所述第一主时钟节点的Announce报文还携带所述第一时钟源节点的时钟等级,来自所述第二主时钟节点的Announce报文还携带所述第二时钟源节点的时钟等级;
所述装置还包括:
第二比较模块,用于将所述第一时钟源节点的时钟等级与所述第二时钟源节点的时钟等级进行比较;
判断模块,用于当所述第一时钟源节点的时钟等级等于所述第二时钟源节点的时钟等级时,判断所述第一时钟源节点的时钟等级是否小于或等于127;
所述第一比较模块包括:
第一比较子模块,用于当所述第一时钟源节点的时钟等级大于127时,将所述第一时钟源节点的标识和所述第二时钟源节点的标识进行比较。
12.如权利要求11所述的装置,其特征在于,所述装置还包括:
所述选择模块,还用于当所述第一时钟源节点的时钟等级小于或等于127时,根据所述第一最大时钟偏差累计值和所述第二最大时钟偏差累计值,从所述第一主时钟节点和所述第二主时钟节点中选择进行时钟同步的主时钟节点;
第二校准模块,用于根据选择的主时钟节点的时间信息校准所述时钟同步装置的时钟。
13.如权利要求10-12任一所述的装置,其特征在于,所述多个第一最大时钟偏差是指所述第一时钟源节点到所述第一主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差,所述多个第二最大时钟偏差是指所述第二时钟源节点到所述第二主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差。
14.如权利要求13所述的装置,其特征在于,所述选择模块包括:
第二比较子模块,用于将所述第一最大时钟偏差累计值与所述第二最大时钟偏差累计值进行比较;
第一确定子模块,用于当所述第一最大时钟偏差累计值小于所述第二最大时钟偏差累计值时,将所述第一主时钟节点确定为进行时钟同步的主时钟节点。
15.如权利要求14所述的装置,其特征在于,来自所述第一主时钟节点的Announce报文还携带第一时钟方差值,来自所述第二主时钟节点的Announce报文还携带第二时钟方差值,所述第一时钟方差值是指多个第一时钟偏差方差值的平方和的平方根,所述第二时钟方差值是指多个第二时钟偏差方差值的平方和的平方根,所述第一时钟偏差方差值是指所述第一时钟源节点到所述第一主时钟节点的路径上的一个时钟节点对应的多个时钟偏差的方差值,所述第二时钟偏差方差值是指所述第二时钟源节点到所述第二主时钟节点的路径上的一个时钟节点对应的多个时钟偏差的方差值;
所述装置还包括:
第三比较模块,用于当所述第一最大时钟偏差累计值等于所述第二最大时钟偏差累计值时,将所述第一时钟方差值与所述第二时钟方差值进行比较;
第一确定模块,用于当所述第一时钟方差值小于所述第二时钟方差值时,将所述第一主时钟节点确定为进行时钟同步的主时钟节点。
16.如权利要求10-12任一所述的装置,其特征在于,所述多个第一最大时钟偏差是指所述第一时钟源节点到所述第一主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差,以及所述第一时钟源节点到所述第一主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点之间的传输介质分别对应的至少一个最大时钟偏差,所述多个第二最大时钟偏差是指所述第二时钟源节点到所述第二主时钟节点的路径上的多个时钟节点分别对应的多个最大时钟偏差,以及所述第二时钟源节点到所述第二主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点之间的传输介质分别对应的至少一个最大时钟偏差。
17.如权利要求16所述的装置,其特征在于,所述选择模块包括:
第二确定子模块,用于确定第三最大时钟偏差累计值和第四最大时钟偏差累计值,所述第三最大时钟偏差累计值是指所述第一主时钟节点与所述时钟同步装置之间的传输介质对应的最大时钟偏差与所述第一最大时钟偏差累计值之和,所述第四最大时钟偏差累计值是指所述第二主时钟节点与所述时钟同步装置之间的传输介质对应的最大时钟偏差与所述第二最大时钟偏差累计值之和;
第三比较子模块,用于将所述第三最大时钟偏差累计值与所述第四最大时钟偏差累计值进行比较;
第三确定子模块,用于当所述第三最大时钟偏差累计值小于所述第四最大时钟偏差累计值时,将所述第一主时钟节点确定为进行时钟同步的主时钟节点。
18.如权利要求17所述的装置,其特征在于,来自所述第一主时钟节点的Announce报文还携带第一时钟方差值,来自所述第二主时钟节点的Announce报文还携带第二时钟方差值,所述第一时钟方差值是指多个第一时钟偏差方差值的平方和的平方根,所述第二时钟方差值是指多个第二时钟偏差方差值的平方和的平方根,所述多个第一时钟偏差方差值包括所述第一时钟源节点到所述第一主时钟节点的路径上的每个时钟节点对应的多个时钟偏差的方差值,以及所述第一时钟源节点到所述第一主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点中每对相邻时钟节点之间的传输介质对应的多个时钟偏差的方差值,所述多个第二时钟偏差方差值包括所述第二时钟源节点到所述第二主时钟节点的路径上的每个时钟节点对应的多个时钟偏差的方差值,以及所述第二时钟源节点到所述第二主时钟节点的路径上的多个时钟节点中的至少一对相邻时钟节点中每对相邻时钟节点之间的传输介质对应的多个时钟偏差的方差值;
所述装置还包括:
第二确定模块,用于当所述第三最大时钟偏差累计值等于所述第四最大时钟偏差累计值时,确定第三时钟方差值和第四时钟方差值,所述第三时钟方差值是所述第一主时钟节点与所述时钟同步装置之间的传输介质对应的多个时钟偏差的方差值与所述第一时钟方差值的平方和的平方根,所述第四时钟方差值是所述第二主时钟节点与所述时钟同步装置之间的传输介质对应的多个时钟偏差的方差值与所述第二时钟方差值的平方和的平方根;
第四比较模块,用于将所述第三时钟方差值与所述第四时钟方差值进行比较;
第三确定模块,用于当所述第三时钟方差值小于所述第四时钟方差值时,将所述第一主时钟节点确定为进行时钟同步的主时钟节点。
19.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,所述指令被处理器执行时实现权利要求1-9所述的任一项方法的步骤。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811645611.6A CN111385050B (zh) | 2018-12-29 | 2018-12-29 | 时钟同步方法、装置和存储介质 |
PCT/CN2019/127235 WO2020135279A1 (zh) | 2018-12-29 | 2019-12-21 | 时钟同步方法、装置和存储介质 |
EP19903548.6A EP3893427A4 (en) | 2018-12-29 | 2019-12-21 | CLOCK SYNCHRONIZATION METHOD AND DEVICE AND STORAGE MEDIA |
US17/360,059 US11811501B2 (en) | 2018-12-29 | 2021-06-28 | Clock synchronization method and apparatus, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811645611.6A CN111385050B (zh) | 2018-12-29 | 2018-12-29 | 时钟同步方法、装置和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111385050A CN111385050A (zh) | 2020-07-07 |
CN111385050B true CN111385050B (zh) | 2022-11-08 |
Family
ID=71126286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811645611.6A Active CN111385050B (zh) | 2018-12-29 | 2018-12-29 | 时钟同步方法、装置和存储介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11811501B2 (zh) |
EP (1) | EP3893427A4 (zh) |
CN (1) | CN111385050B (zh) |
WO (1) | WO2020135279A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111385051B (zh) * | 2018-12-29 | 2022-11-08 | 华为技术有限公司 | 时钟同步方法、装置和存储介质 |
EP4186287A4 (en) * | 2020-09-30 | 2024-05-08 | ZTE Corporation | METHODS, SYSTEMS AND APPARATUSES FOR 5G TIME SYNCHRONIZATION |
CN112637945B (zh) * | 2020-12-17 | 2022-12-06 | 江苏省未来网络创新研究院 | 一种工业互联网络时钟同步的方法和系统 |
CN114650113A (zh) * | 2020-12-18 | 2022-06-21 | 华为技术有限公司 | 选择时钟源的方法及装置 |
CN115767607A (zh) * | 2021-09-02 | 2023-03-07 | 华为技术有限公司 | 一种时间同步的监控方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035638A (zh) * | 2009-09-25 | 2011-04-27 | 华为技术有限公司 | 时钟选源处理方法、装置和系统 |
CN102820941A (zh) * | 2012-08-09 | 2012-12-12 | 中兴通讯股份有限公司 | 通信网络时钟同步方法和装置 |
WO2017133478A1 (zh) * | 2016-02-06 | 2017-08-10 | 华为技术有限公司 | 用于时间同步的方法和时钟 |
WO2018210277A1 (zh) * | 2017-05-16 | 2018-11-22 | 中兴通讯股份有限公司 | 时钟同步的方法和装置、计算机存储介质 |
CN109218007A (zh) * | 2017-07-03 | 2019-01-15 | 中兴通讯股份有限公司 | 路径选择方法、设备及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882990B (zh) * | 2010-06-24 | 2014-08-13 | 中兴通讯股份有限公司 | 基于ptp及链路质量选取主时钟的方法、从时钟及系统 |
CN103051439B (zh) * | 2011-10-14 | 2017-10-10 | 中兴通讯股份有限公司 | 一种选择时钟源的方法及装置 |
US9112630B1 (en) | 2012-02-09 | 2015-08-18 | Marvell Israel (M.I.S.L) Ltd. | Clock synchronization in the presence of security threats |
US9106352B2 (en) * | 2012-02-27 | 2015-08-11 | Telefonaktiebolaget L M Ericsson (Publ) | Frequency distribution using precision time protocol |
US9531530B2 (en) * | 2015-03-31 | 2016-12-27 | Alcatel Lucent | Faster synchronization time and better master selection based on dynamic accuracy information in a network of IEEE 1588 clocks |
EP3622638B1 (en) * | 2017-05-12 | 2023-05-10 | Telefonaktiebolaget LM Ericsson (PUBL) | Methods and devices for synchronization in communication networks |
JP7283069B2 (ja) * | 2018-12-17 | 2023-05-30 | 日本電信電話株式会社 | 時刻同期経路選択装置、および、時刻同期経路選択方法 |
-
2018
- 2018-12-29 CN CN201811645611.6A patent/CN111385050B/zh active Active
-
2019
- 2019-12-21 EP EP19903548.6A patent/EP3893427A4/en active Pending
- 2019-12-21 WO PCT/CN2019/127235 patent/WO2020135279A1/zh unknown
-
2021
- 2021-06-28 US US17/360,059 patent/US11811501B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035638A (zh) * | 2009-09-25 | 2011-04-27 | 华为技术有限公司 | 时钟选源处理方法、装置和系统 |
CN102820941A (zh) * | 2012-08-09 | 2012-12-12 | 中兴通讯股份有限公司 | 通信网络时钟同步方法和装置 |
WO2017133478A1 (zh) * | 2016-02-06 | 2017-08-10 | 华为技术有限公司 | 用于时间同步的方法和时钟 |
WO2018210277A1 (zh) * | 2017-05-16 | 2018-11-22 | 中兴通讯股份有限公司 | 时钟同步的方法和装置、计算机存储介质 |
CN109218007A (zh) * | 2017-07-03 | 2019-01-15 | 中兴通讯股份有限公司 | 路径选择方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111385050A (zh) | 2020-07-07 |
WO2020135279A1 (zh) | 2020-07-02 |
EP3893427A4 (en) | 2022-01-26 |
EP3893427A1 (en) | 2021-10-13 |
US11811501B2 (en) | 2023-11-07 |
US20210328696A1 (en) | 2021-10-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111385050B (zh) | 时钟同步方法、装置和存储介质 | |
CN111385051B (zh) | 时钟同步方法、装置和存储介质 | |
US7447237B2 (en) | Radio access network system, radio communication method, synchronous server and node | |
US8738792B2 (en) | Server time protocol messages and methods | |
JP7401656B2 (ja) | クロック・ソースを選択するための方法、装置、及びシステム、並びに記憶媒体 | |
CN103563287B (zh) | 同步设备和同步方法 | |
US20210075585A1 (en) | Measure and improve clock synchronization using combination of transparent and boundary clocks | |
EP2802097A1 (en) | Clock synchronization method and device | |
CN113014350A (zh) | 一种基于pmc接口的仿真设备间时间同步方法 | |
CN102710359B (zh) | 一种基于ieee1588的精确时钟频率同步方法及装置 | |
CN112969229B (zh) | 一种时钟校正方法、装置以及网络设备 | |
CN115765912A (zh) | 参数配置方法、设备及系统 | |
Wang et al. | Situation-aware hybrid time synchronization based on multi-source timestamping uncertainty modeling | |
CN112152744A (zh) | 时钟同步的方法、装置、fpga芯片和光纤通信网络 | |
CN117278190B (zh) | 时间同步单元、方法、芯片架构、网络设备及介质 | |
CN118157802A (zh) | 时钟同步方法、装置、设备、存储介质及计算机程序 | |
CN118316576A (zh) | 用于检验时间戳序列号的方法、装置、介质和程序产品 | |
CN113132041A (zh) | 一种数据传输延时的计算方法和装置 | |
Yuan et al. | Analyze about time synchronization technique in auto-test network system |
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 |