CN107483402A - 一种时钟同步方法和设备 - Google Patents
一种时钟同步方法和设备 Download PDFInfo
- Publication number
- CN107483402A CN107483402A CN201710565092.1A CN201710565092A CN107483402A CN 107483402 A CN107483402 A CN 107483402A CN 201710565092 A CN201710565092 A CN 201710565092A CN 107483402 A CN107483402 A CN 107483402A
- Authority
- CN
- China
- Prior art keywords
- timestamp
- group
- synchronization
- time difference
- time
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/28—Timers or timing mechanisms used in protocols
Abstract
本发明实施例公开了一种时钟同步方法和装置,包括:当接收到用于同步的第一组时间戳时,确定并记录用于同步的第一组时间戳对应的实际同步时间差为该组时间戳对应的当前同步时间差;当接收到用于同步的非第一组时间戳时,如果当前所接收到的该组时间戳对应的实际同步时间差为突发值,则确定并记录上一组时间戳所对应的当前同步时间差为当前组时间戳对应的当前同步时间差进行时钟同步;如果当前所接收到的该组时间戳对应的实际同步时间差为非突发值,则将该组时间戳对应的实际同步时间差确定并记录为当前组时间戳所对应的当前同步时间差后进行时钟同步。本发明实施例将从时钟与时钟源的时间差在一定的时间段内控制在一个较小的范围,实现时钟同步。
Description
技术领域
本发明涉及同步技术,尤指一种时钟同步方法和设备。
背景技术
在通信领域中,时钟同步对语音、视频等其它业务具有很重要的作用。实现时钟同步的方法主要包括链路层硬件传输和报文软件层传输等方式,国标IEEE1588v2协议(精确时间协议(PTP,Precision Time Protocol))基于报文交换方法实现时钟频率及时钟相位同步功能,当存在时钟源时,从时钟根据报文获取主时钟的时钟信息从而进行时钟同步。
国标IEEE 1588v2协议规定了当存在时钟源时从时钟与时钟源的时钟同步方法,但是如果存在突发的时钟信息,从时钟将如何进行处理,协议里没有涉及相关内容。
发明内容
本发明实施例提供了一种时钟同步方法和设备,能够在存在突发的时钟信息时,从时钟继续与时钟源进行时钟同步,从而将从时钟与时钟源的时间差在一定的时间段内控制在一个较小的范围,达到时钟同步的目的。
本发明实施例提供了一种时钟同步方法,应用于与上游设备的时钟进行时钟同步的设备,所述设备从上游设备获取用于同步的一组或一组以上时间戳,且确定每组时间戳对应的实际同步时间差,该方法包括:
当接收到用于同步的第一组时间戳时,确定并记录用于同步的第一组时间戳对应的实际同步时间差为该组时间戳对应的当前同步时间差;
当接收到用于同步的非第一组时间戳时,如果当前所接收到的该组时间戳对应的实际同步时间差为突发值,则确定并记录上一组时间戳所对应的当前同步时间差为当前组时间戳对应的当前同步时间差进行时钟同步;如果当前所接收到的该组时间戳对应的实际同步时间差为非突发值,则将该组时间戳对应的实际同步时间差确定并记录为当前组时间戳所对应的当前同步时间差后进行时钟同步。
可选的,所述方法还包括:
当接收到用于同步的第一组时间戳时,确定并记录用于同步的第一组时间戳对应的实际同步时间差为该组时间戳对应的首次校正时间差;
当接收到用于同步的非第一组时间戳时,按照如下方式确定该组时间戳对应的首次校正时间差:Fi=(F(i-1)+offseti’)/2,其中,i≥2,Fi为第i组时间戳对应的首次校正时间差,offseti’为第i组时间戳所对应的当前同步时间差。
可选的,通过以下方式判断当前所接收到的该组时间戳对应的实际同步时间差是否为突发值:
如果当前所接收到的该组时间戳对应的实际同步时间差与上一组时间戳对应的首次校正时间差之间的差值大于突发阈值时,继续判断该组时间戳之后设定个数组的时间戳所对应的实际同步时间差与上一组时间戳对应的首次校正时间差之间的差值是否均大于突发阈值,如果是,则当前所接收到的该组时间戳对应的实际同步时间差为非突发值;如果不是,则为突发值。
可选的,所述突发阈值通过以下方式确定:
将当前组时间戳之前的所有时间戳对应的当前同步时间差与前一组时间戳对应的首次校正时间差之间的差值的平均值作为突发阈值。
可选的,确定并记录为当前组时间戳所对应的当前同步时间差后进行时钟同步具体为:
确定并记录第一预设时间内每组时间戳相对于第一组时间戳的频偏校正量,且利用所获得的频偏校正量对每一组时间戳对应的首次校正时间差进行二次校正,得到并记录该组时间戳对应的二次校正时间差;
每隔第二预设时间根据所述第二预设时间内获得的最后一个二次校正时间差对本地时钟进行时钟同步。
可选的,所述二次校正时间差通过以下方式得到:
所述确定第一预设时间内每组时间戳相对于第一组时间戳的频偏校正量包括:将第一预设时间内设定的一组时间戳相对于第一组时间戳的频偏校正量作为该第一预定时间内每组时间戳相对于第一组时间戳的频偏校正量。
可选的,该方法包括:
当所述第二预设时间内某一组时间戳对应的二次校正时间差大于预设的时间差阈值时,根据所述某一组时间戳对应的二次校正时间差进行时钟同步。
可选的,
所述确定第一预设时间内每组时间戳相对于第一组时间戳的频偏校正量包括:
按照公式fi=(ti2-t12)-(ti1-t11)确定第一预设时间内第i组时间戳相对于第一组时间戳的频偏校正量;其中,i为大于或等于1的整数,fj为第一预设时间内第i组时间戳相对于第一组时间戳的频偏校正量,ti2为第一预设时间内第i组时间戳中接收第一事件报文的时间戳,t12为第一预设时间内第1组时间戳中接收第一事件报文的时间戳,ti1为第一预设时间内第i组时间戳中上游设备发送第一事件报文的时间戳,t11为第一预设时间内第1组时间戳中上游设备发送第一事件报文的时间戳。
可选的,
所述利用所获得的频偏校正量对对应的时间戳的首次校正时间差进行二次校正,得到该组时间戳对应的二次校正时间差包括:
按照公式CorFi=Fi-fi计算第一预设时间内第i组时间戳对应的二次校正时间差;
其中i为大于或等于1的整数,CorFi为第一预设时间内第i组时间戳对应的二次校正时间差,Fi为第一预设时间内获得的第i组时间戳对应的首次校正时间差,fi为第一预设时间内第i组时间戳对应的频偏校正量。
本发明实施例还提出了一种设备,包括:
获取模块,用于从上游设备获取用于同步的一组或一组以上时间戳,且确定每组时间戳对应的实际同步时间差;
同步模块,用于当接收到用于同步的第一组时间戳时,确定并记录用于同步的第一组时间戳对应的实际同步时间差为该组时间戳对应的当前同步时间差;
当接收到用于同步的非第一组时间戳时,如果当前所接收到的该组时间戳对应的实际同步时间差为突发值,则确定并记录上一组时间戳所对应的当前同步时间差为当前组时间戳对应的当前同步时间差进行时钟同步;如果当前所接收到的该组时间戳对应的实际同步时间差为非突发值,则将该组时间戳对应的实际同步时间差确定并记录为当前组时间戳所对应的当前同步时间差后进行时钟同步。
可选的,所述同步模块还用于:
当接收到用于同步的第一组时间戳时,确定并记录用于同步的第一组时间戳对应的实际同步时间差为该组时间戳对应的首次校正时间差;
当接收到用于同步的非第一组时间戳时,按照如下方式确定该组时间戳对应的首次校正时间差:Fi=(F(i-1)+offseti’)/2,其中,i≥2,Fi为第i组时间戳对应的首次校正时间差,offseti’为第i组时间戳所对应的当前同步时间差。
可选的,所述同步模块具体用于采用以下方式实现所述判断当前所接收到的该组时间戳对应的实际同步时间差是否为突发值:
如果当前所接收到的该组时间戳对应的实际同步时间差与上一组时间戳对应的首次校正时间差之间的差值大于突发阈值时,继续判断该组时间戳之后设定个数组的时间戳所对应的实际同步时间差与上一组时间戳对应的首次校正时间差之间的差值是否均大于突发阈值,如果是,则当前所接收到的该组时间戳对应的实际同步时间差为非突发值;如果不是,则为突发值。
本发明实施例还提出了一种设备,包括:精确时间协议PTP端口、处理器和计算机可读存储介质;
所述PTP端口,用于从上游设备获取用于同步的一组或一组以上时间戳;
所述计算机可读存储介质中存储有指令,当所述指令被所述处理器执行时,实现如下步骤:
控制PTP端口从上游设备获取用于同步的一组或一组以上时间戳,且确定每组时间戳对应的实际同步时间差;
当接收到用于同步的第一组时间戳时,确定并记录用于同步的第一组时间戳对应的实际同步时间差为该组时间戳对应的当前同步时间差;
当接收到用于同步的非第一组时间戳时,如果当前所接收到的该组时间戳对应的实际同步时间差为突发值,则确定并记录上一组时间戳所对应的当前同步时间差为当前组时间戳对应的当前同步时间差进行时钟同步;如果当前所接收到的该组时间戳对应的实际同步时间差为非突发值,则将该组时间戳对应的实际同步时间差确定并记录为当前组时间戳所对应的当前同步时间差后进行时钟同步。
可选的,当所述指令被所述处理器执行时,还实现如下步骤:
当接收到用于同步的第一组时间戳时,确定并记录用于同步的第一组时间戳对应的实际同步时间差为该组时间戳对应的首次校正时间差;
当接收到用于同步的非第一组时间戳时,按照如下方式确定该组时间戳对应的首次校正时间差:Fi=(F(i-1)+offseti’)/2,其中,i≥2,Fi为第i组时间戳对应的首次校正时间差,offseti’为第i组时间戳所对应的当前同步时间差。
与相关技术相比,本发明实施例包括:当接收到用于同步的第一组时间戳时,确定并记录用于同步的第一组时间戳对应的实际同步时间差为该组时间戳对应的当前同步时间差;当接收到用于同步的非第一组时间戳时,如果当前所接收到的该组时间戳对应的实际同步时间差为突发值,则确定并记录上一组时间戳所对应的当前同步时间差为当前组时间戳对应的当前同步时间差进行时钟同步;如果当前所接收到的该组时间戳对应的实际同步时间差为非突发值,则将该组时间戳对应的实际同步时间差确定并记录为当前组时间戳所对应的当前同步时间差后进行时钟同步。通过本发明实施例的方案,当存在突发的时钟信息时,即当前所接收到的该组时间戳对应的实际同步时间差为突发值时,确定并记录上一组时间戳所对应的当前同步时间差为当前组时间戳对应的当前同步时间差进行时钟同步,从而将从时钟与时钟源的时间差在一定的时间段内控制在一个较小的范围,达到了时钟同步的目的。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1为本发明实施例时钟同步方法的流程图;
图2为本发明实施例一种设备的结构组成示意图;
图3为本发明实施例另一种设备的结构组成示意图;
图4为本发明实施例再一种设备的结构组成示意图。
具体实施方式
下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
为对本发明实施例进行更加清楚详尽的叙述。以下将对基于IEEE 1588V2进行时钟同步的过程进行简单说明。
当本地时钟所在的设备与上游时钟所在的上游设备连接时,当设备的端口时钟状态为从时钟或只做从时钟,且上游设备的端口时钟状态为主时钟时,设备将从上游设备获取用于同步的一组或一组以上时间戳,而利用所述时间戳进行时间同步的过程通常采用延时请求-响应机制和对等延时机制来确定每一组时间戳所对应的链路延时和实际同步时间差,具体地:
(1)当链路延时机制为延时请求—响应机制时
每一组时间戳包括:上游设备发送第一事件报文的时间戳、上游设备接收第二事件报文的时间戳,设备接收第一事件报文的时间戳和设备发送第二事件报文的时间戳;第i组时间戳对应的链路延时delayi按照公式计算;第i组时间戳对应的实际同步时间差offseti按照公式offseti=(ti2-ti1)-delayi计算,
其中,delayi为第i组时间戳对应的链路延时,ti2为第i组时间戳中设备接收第一事件报文的时间戳,ti1为第i组时间戳中上游设备发送第一事件报文的时间戳,ti3为第i组时间戳中设备发送第二事件报文的时间戳,ti4为第i组时间戳中上游设备接收第二事件报文的时间戳,offseti为第i组时间戳对应的实际同步时间差;
(2)当链路延时机制为对等延时机制时,
每一组时间戳包括:上游设备发送第一事件报文的时间戳、上游设备接收第二事件报文的时间戳,上游设备发送第三事件报文的时间戳,设备接收第一事件报文的时间戳、设备发送第二事件报文的时间戳和设备接收第三事件报文的时间戳;第i组时间戳对应的链路延时delayi按照公式计算;第i组时间戳对应的实际同步时间差offseti按照公式offseti=(ti2-ti1)-delayi计算,
其中,delayi为第i组时间戳对应的链路延时,ti2为第i组时间戳中设备接收第一事件报文的时间戳,ti1为第i组时间戳中上游设备发送第一事件报文的时间戳,ti3为第i组时间戳中设备发送第二事件报文的时间戳,ti4为第i组时间戳中上游设备接收第二事件报文的时间戳,ti5为第i组时间戳中上游设备发送第三事件报文的时间戳,ti6为第i组时间戳中设备接收第三事件报文的时间戳,offseti为第i组时间戳对应的实际同步时间差;
在上述同步过程中,设备接收第一事件报文的时间戳可以在设备接收到第一事件报文时记录,设备发送第二事件报文的时间戳可以在设备发送第二事件报文时记录,设备接收第三事件报文的时间戳可以在设备接收到第三事件报文时记录;上游设备发送第一事件报文的时间戳可以从上游设备发送的携带发送第一事件报文的时间戳的报文中获得,上游设备接收第二事件报文的时间戳可以从上游设备发送的携带接收第二事件报文的时间戳的报文中获得,上游设备发送第三事件报文的时间戳可以从上游设备发送的携带发送第三事件报文的时间戳的报文中获得。
以下将详细地描述本发明实施例所提出的一种时钟同步方法,应用于待进行时钟同步的设备侧,其中所涉及的确定链路延时delay和实际同步时间差offset的方法如上所述,将不再赘述,而具体选择何种机制也不进行限定。所述的一种时钟同步方法,包括:
步骤101,接收到用于同步的第1组时间戳时,记录该组时间戳对应的实际同步时间差offset1作为该组时间戳对应的当前同步时间差offset1’,并且基于当前同步时间差offset1’确定和记录该组时间戳所对应的首次校正时间差F1=offset1’;
在此步骤中,用于同步的第1组时间戳可以是待进行时钟同步的设备和上游设备连接后开始进行时钟同步的首组时间戳,也可以是同步开始后选择作为同步起点的第1组时间戳,此时虽然还存在之前交互的时间戳但是均不作为同步依据;
步骤102,当接收到用于同步的非第一组时间戳时,确定当前所接收到的一组时间戳对应的实际同步时间差offseti,判断所述实际同步时间差offseti是否为突发值;如果是,将上一组时间戳所对应的当前同步时间差作为当前组时间戳对应的当前同步时间差;如果不是,则将所确定的实际同步时间差作为当前组时间戳所对应的当前同步时间差;
在本步骤中,判断当前所计算的实际同步时间差offset是否为突发值,可以采用预设阈值的方式,当所述实际同步时间差与上一组时间戳对应的首次校正时间差之间的差值大于预设阈值即为突发值;但是较佳的,采用如下方法:
判断当前收到的实际同步时间差以及该组时间戳值后设定个数组的时间戳所对应的实际时间同步时间差与上一组时间戳所对应首次校正时间差之间的差值是否均大于突发阈值,如果是,则判定本次实际同步时间差非突发值,如果不是,则为突发值;具体地,
接收到第i组时间戳时,如果第i组时间戳所对应的是实际同步时间差offseti与第(i-1)组时间戳所对应的当前首次校正时间戳F(i-1)之间的差值大于突发阈值D,即:|offseti-F(i-1)|>D时,继续判断从第(i+1)组时间戳到第(i+j)组时间戳(即:后续(j-1)组时间戳)中所对应的实际时间同步时间差与第(i-1)组时间戳所对应首次校正时间差F(i-1)之间的差值是否均大于突发阈值D,即:|offset(i+1)-F(i-1)|>D,|offset(i+2)-F(i-1)|>D,……,|offset(i+j)-F(i-1)|>D,如果是,判断为该实际同步时间值offseti值为非突发值;如果不是,则判断该实际同步时间值offseti值为突发值;此处的设定个数j可以根据经验值取值,典型的可以选择为5。
其中,所述首次校正时间差F通过以下方式确定:
根据Fi=(F(i-1)+offseti’)/2,(i≥2)计算第i组时间戳对应的首次校正时间差;此处进行补充说明的是:由于用于同步的第1组时间戳所对应的首次校正时间差F(1)=offset1’在接收到该组时间戳时已经可以确定,由此,从第2组时间戳开始,都是先已知前一组时间戳所对应的首次校正时间差F(i-1),再利用该首次校正时间差F(i-1)与当前组时间戳所对应的实际同步时间差offseti进行比对确定当前同步时间差offseti’,再根据已经确定的当前同步时间差offseti’确定当前组时间戳所对应的首次校正时间差F(i);
在本步骤中,突发阈值D可以为一个设定值,其可以设置为经验值,或者为实际需要的时间精度范围,例如,电力行业一般要求为200纳秒(ns);但是较优的,对于每组时间戳对应的突发阈值也可以为当前组时间戳之前的所有时间戳对应的当前同步时间差与前一组时间戳对应的首次校正时间差之间的差值的平均值,即:用于对第i组时间戳对应的实际同步时间差是否为突发值的判断依据的突发阈值Di=(offset2-F1+offset3-F2+……+offset(i-1)-F(i-2))/(i-2)。
步骤103:确定并记录每个第一预设时间内每组时间戳相对于第一组时间戳的频偏校正量;
此处的第一预设时间为获取二次校正时间的周期;通常来说该第一预设时间可以设置为定值,但是在某些特殊的情况,第一预设时间可以设置为按照已知值或者规律变化的周期时间值,此处并不限定;
确定每个第一预设时间内每组时间戳相对于第一组时间戳的频偏校正量可以通过以下方式:
按照公式fi=(ti2-t12)-(ti1-t11)确定第一预设时间内第i组时间戳相对于第一组时间戳的频偏校正量;其中,i为大于或等于1的整数,fj为第一预设时间内第i组时间戳相对于第一组时间戳的频偏校正量,ti2为第一预设时间内第i组时间戳中接收第一事件报文的时间戳,t12为第一预设时间内第1组时间戳中接收第一事件报文的时间戳,ti1为第一预设时间内第i组时间戳中上游设备发送第一事件报文的时间戳,t11为第一预设时间内第1组时间戳中上游设备发送第一事件报文的时间戳。
当fi=0时,表示从时钟与主时钟频率同步;
当fi>0时,表示从时钟比主时钟频率快;
当fi<0时,表示从时钟比主时钟频率慢。
可选地,当fi=0时,可以在该第一预设时间内不再计算该值,而默认本第一预设时间内从时钟与主时钟频率同步,或者可选地,当fi=0时,可以间隔多个第一预设时间取值再次计算f是否为0,以监测从时钟与主时钟是否频率同步,这期间均认为从时钟与主时钟同步;
在另一个实施例中,为了简单起见,可以只是在第一预设时间内只针对每m组时间戳组计算一次该第m组时间戳相对于第一组时间戳的频偏校正量(计算方法与上类似,不再赘述),并且将该次频偏计算量的结果作为将该第一预设时间内其它组时间戳相对于第一组时间戳的频偏校正量,典型的,可以将第一预设时间内最后一组时间戳相对于第一组时间戳的频偏校正量作为该预定时间内每组时间戳相对于第一组时间戳的频偏校正量,从而简化计算过程,这可以在频偏量一般受外界影响变化不大的场景应用中实现。
步骤104:利用所获得的频偏校正量对对应的该组时间戳的首次校正时间差进行二次校正,得到并记录该组时间戳对应的二次校正时间差;
具体的,按照公式CorFi=Fi-fi计算第一预设时间内第i组时间戳对应的二次校正时间差;
其中i为大于或等于1的整数,CorFi为第一预设时间内第i组时间戳对应的二次校正时间差,Fi为第一预设时间内获得的第i组时间戳对应的首次校正时间差,fi为第一预设时间内第i组时间戳对应的频偏校正量。
步骤105:每隔第二预设时间根据第二预设时间内获得的最后一个二次校正时间差对本地时钟进行时钟同步。
其中,第二预设时间为预先所确定的设备的同步时间周期,在该第二预设时间内可以根据系统设置获取一组或者多组用于同步的时间戳,此处并不限定。
可选的,当判断出第二预设时间内获得的某一组时间戳对应的二次校正时间差大于时间差阈值时,根据该组时间戳对应的二次校正时间差进行时钟同步。
其中,时间差阈值可以通过多次试验得到获知可以人为设定。
参见图2,本发明实施例还提出了一种设备,包括:
获取模块,用于从上游设备获取用于同步的一组或一组以上时间戳,且确定每组时间戳对应的实际同步时间差;
同步模块,用于当接收到用于同步的第一组时间戳时,确定并记录用于同步的第一组时间戳对应的实际同步时间差为该组时间戳对应的当前同步时间差;
当接收到用于同步的非第一组时间戳时,如果当前所接收到的该组时间戳对应的实际同步时间差为突发值,则确定并记录上一组时间戳所对应的当前同步时间差为当前组时间戳对应的当前同步时间差进行时钟同步;如果当前所接收到的该组时间戳对应的实际同步时间差为非突发值,则将该组时间戳对应的实际同步时间差确定并记录为当前组时间戳所对应的当前同步时间差后进行时钟同步。
可选的,所述同步模块还用于:
当接收到用于同步的第一组时间戳时,确定并记录用于同步的第一组时间戳对应的实际同步时间差为该组时间戳对应的首次校正时间差;
当接收到用于同步的非第一组时间戳时,按照如下方式确定该组时间戳对应的首次校正时间差:Fi=(F(i-1)+offseti’)/2,其中,i≥2,Fi为第i组时间戳对应的首次校正时间差,offseti’为第i组时间戳所对应的当前同步时间差。
可选的,所述同步模块具体用于采用以下方式实现所述判断当前所接收到的该组时间戳对应的实际同步时间差是否为突发值:
如果当前所接收到的该组时间戳对应的实际同步时间差与上一组时间戳对应的首次校正时间差之间的差值大于突发阈值时,继续判断该组时间戳之后设定个数组的时间戳所对应的实际同步时间差与上一组时间戳对应的首次校正时间差之间的差值是否均大于突发阈值,如果是,则当前所接收到的该组时间戳对应的实际同步时间差为非突发值;如果不是,则为突发值。
参见图3,作为一种示例,本发明实施例的设备包括:
PTP端口,用于当PTP端口的端口时钟状态为从时钟或只做从时钟,且上游设备的PTP端口的端口时钟状态为主时钟时,从上游设备获取用于同步的一组或一组以上时间戳;
最佳主时钟模块,用于保存获得的用于同步的一组或一组以上时间戳;
校准对时模块,用于确定每组时间戳对应的实际同步时间差;当接收到用于同步的第一组时间戳时,确定并记录用于同步的第一组时间戳对应的实际同步时间差为该组时间戳对应的当前同步时间差;
当接收到用于同步的非第一组时间戳时,如果当前所接收到的该组时间戳对应的实际同步时间差为突发值,则确定并记录上一组时间戳所对应的当前同步时间差为当前组时间戳对应的当前同步时间差进行时钟同步;如果当前所接收到的该组时间戳对应的实际同步时间差为非突发值,则将该组时间戳对应的实际同步时间差确定并记录为当前组时间戳所对应的当前同步时间差后进行时钟同步。
突发值检测模块,用于检测当前所接收到的该组时间戳对应的实际同步时间差是否为突发值。
可选的,设备还包括:
全局数据集,用于保存链路延时机制;
PTP端口具体用于:
当链路延时机制为延时请求—响应机制时,接收到来自上游设备的PTP端口的第一事件报文,向上游设备的PTP端口发送第二事件报文;接收到来自上游设备的PTP端口的包含发送第一事件报文的时间戳的报文和接收第二事件报文的时间戳的报文;
当链路延时机制为对等延时机制时,接收到来自上游设备的PTP端口的第一事件报文,向上游设备的PTP端口发送第二事件报文;接收到来自上游设备的PTP端口的第三事件报文;接收到来自上游设备的PTP端口的携带发送第一事件报文的时间戳的报文、携带接收第二事件报文的时间戳的报文和携带发送第三事件报文的时间戳的报文;
最佳主时钟模块具体用于:
当链路延时机制为延时请求—响应机制时,在PTP端口接收到第一事件报文时,记录接收到第一事件报文的时间戳;
在PTP端口发送第二事件报文时,记录发送第二事件报文的时间戳;
在PTP端口接收到包含发送第一事件报文的时间戳的报文时,获取报文中的发送第一事件报文的时间戳并记录;
在PTP端口接收到包含接收第二事件报文的时间戳的报文时,获取报文中的接收第二事件报文的时间戳并记录。
当链路延时机制为对等延时机制时,在PTP端口接收到第一事件报文时,记录接收到第一事件报文的时间戳;
在PTP端口发送第二事件报文时,记录发送第二事件报文的时间戳;
在PTP端口接收到第三事件报文时,记录接收到第三事件报文的时间戳;
在PTP端口接收到包含发送第一事件报文的时间戳的报文时,获取报文中的发送第一事件报文的时间戳并记录;
在PTP端口接收到包含接收第二事件报文的时间戳的报文时,获取报文中的接收第二事件报文的时间戳并记录;
在PTP端口接收到包含发送第三事件报文的时间戳的报文时,获取报文中的发送第三事件报文的时间戳并记录。
参见图4,本发明实施例还提出了一种设备,包括:
精确时间协议PTP端口、处理器和计算机可读存储介质;
所述PTP端口,用于从上游设备获取用于同步的一组或一组以上时间戳;
所述计算机可读存储介质中存储有指令,当所述指令被所述处理器执行时,实现如下步骤:
控制PTP端口从上游设备获取用于同步的一组或一组以上时间戳,且确定每组时间戳对应的实际同步时间差;
当接收到用于同步的第一组时间戳时,确定并记录用于同步的第一组时间戳对应的实际同步时间差为该组时间戳对应的当前同步时间差;
当接收到用于同步的非第一组时间戳时,如果当前所接收到的该组时间戳对应的实际同步时间差为突发值,则确定并记录上一组时间戳所对应的当前同步时间差为当前组时间戳对应的当前同步时间差进行时钟同步;如果当前所接收到的该组时间戳对应的实际同步时间差为非突发值,则将该组时间戳对应的实际同步时间差确定并记录为当前组时间戳所对应的当前同步时间差后进行时钟同步。
可选的,当所述指令被所述处理器执行时,还实现如下步骤:
当接收到用于同步的第一组时间戳时,确定并记录用于同步的第一组时间戳对应的实际同步时间差为该组时间戳对应的首次校正时间差;
当接收到用于同步的非第一组时间戳时,按照如下方式确定该组时间戳对应的首次校正时间差:Fi=(F(i-1)+offseti’)/2,其中,i≥2,Fi为第i组时间戳对应的首次校正时间差,offseti’为第i组时间戳所对应的当前同步时间差。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (14)
1.一种时钟同步方法,应用于与上游设备的时钟进行时钟同步的设备,所述设备从上游设备获取用于同步的一组或一组以上时间戳,且确定每组时间戳对应的实际同步时间差,其特征在于,该方法包括:
当接收到用于同步的第一组时间戳时,确定并记录用于同步的第一组时间戳对应的实际同步时间差为该组时间戳对应的当前同步时间差;
当接收到用于同步的非第一组时间戳时,如果当前所接收到的该组时间戳对应的实际同步时间差为突发值,则确定并记录上一组时间戳所对应的当前同步时间差为当前组时间戳对应的当前同步时间差进行时钟同步;如果当前所接收到的该组时间戳对应的实际同步时间差为非突发值,则将该组时间戳对应的实际同步时间差确定并记录为当前组时间戳所对应的当前同步时间差后进行时钟同步。
2.根据权利要求1所述的时钟同步方法,其特征在于,所述方法还包括:
当接收到用于同步的第一组时间戳时,确定并记录用于同步的第一组时间戳对应的实际同步时间差为该组时间戳对应的首次校正时间差;
当接收到用于同步的非第一组时间戳时,按照如下方式确定该组时间戳对应的首次校正时间差:Fi=(F(i-1)+offseti’)/2,其中,i≥2,Fi为第i组时间戳对应的首次校正时间差,offseti’为第i组时间戳所对应的当前同步时间差。
3.根据权利要求2所述的时钟同步方法,其特征在于,通过以下方式判断当前所接收到的该组时间戳对应的实际同步时间差是否为突发值:
如果当前所接收到的该组时间戳对应的实际同步时间差与上一组时间戳对应的首次校正时间差之间的差值大于突发阈值时,继续判断该组时间戳之后设定个数组的时间戳所对应的实际同步时间差与上一组时间戳对应的首次校正时间差之间的差值是否均大于突发阈值,如果是,则当前所接收到的该组时间戳对应的实际同步时间差为非突发值;如果不是,则为突发值。
4.根据权利要求3所述的时钟同步方法,其特征在于,所述突发阈值通过以下方式确定:
将当前组时间戳之前的所有时间戳对应的当前同步时间差与前一组时间戳对应的首次校正时间差之间的差值的平均值作为突发阈值。
5.根据权利要求3所述的时钟同步方法,其特征在于,确定并记录为当前组时间戳所对应的当前同步时间差后进行时钟同步具体为:
确定并记录第一预设时间内每组时间戳相对于第一组时间戳的频偏校正量,且利用所获得的频偏校正量对每一组时间戳对应的首次校正时间差进行二次校正,得到并记录该组时间戳对应的二次校正时间差;
每隔第二预设时间根据所述第二预设时间内获得的最后一个二次校正时间差对本地时钟进行时钟同步。
6.根据权利要求5所述的时钟同步方法,其特征在于,所述二次校正时间差通过以下方式得到:
所述确定第一预设时间内每组时间戳相对于第一组时间戳的频偏校正量包括:将第一预设时间内设定的一组时间戳相对于第一组时间戳的频偏校正量作为该第一预定时间内每组时间戳相对于第一组时间戳的频偏校正量。
7.根据权利要求5所述的时钟同步方法,其特征在于,该方法包括:
当所述第二预设时间内某一组时间戳对应的二次校正时间差大于预设的时间差阈值时,根据所述某一组时间戳对应的二次校正时间差进行时钟同步。
8.根据权利要求5所述的时钟同步方法,其特征在于,
所述确定第一预设时间内每组时间戳相对于第一组时间戳的频偏校正量包括:
按照公式fi=(ti2-t12)-(ti1-t11)确定第一预设时间内第i组时间戳相对于第一组时间戳的频偏校正量;其中,i为大于或等于1的整数,fj为第一预设时间内第i组时间戳相对于第一组时间戳的频偏校正量,ti2为第一预设时间内第i组时间戳中接收第一事件报文的时间戳,t12为第一预设时间内第1组时间戳中接收第一事件报文的时间戳,ti1为第一预设时间内第i组时间戳中上游设备发送第一事件报文的时间戳,t11为第一预设时间内第1组时间戳中上游设备发送第一事件报文的时间戳。
9.根据权利要求5所述的时钟同步方法,其特征在于,
所述利用所获得的频偏校正量对对应的时间戳的首次校正时间差进行二次校正,得到该组时间戳对应的二次校正时间差包括:
按照公式CorFi=Fi-fi计算第一预设时间内第i组时间戳对应的二次校正时间差;
其中i为大于或等于1的整数,CorFi为第一预设时间内第i组时间戳对应的二次校正时间差,Fi为第一预设时间内获得的第i组时间戳对应的首次校正时间差,fi为第一预设时间内第i组时间戳对应的频偏校正量。
10.一种设备,其特征在于,包括:
获取模块,用于从上游设备获取用于同步的一组或一组以上时间戳,且确定每组时间戳对应的实际同步时间差;
同步模块,用于当接收到用于同步的第一组时间戳时,确定并记录用于同步的第一组时间戳对应的实际同步时间差为该组时间戳对应的当前同步时间差;
当接收到用于同步的非第一组时间戳时,如果当前所接收到的该组时间戳对应的实际同步时间差为突发值,则确定并记录上一组时间戳所对应的当前同步时间差为当前组时间戳对应的当前同步时间差进行时钟同步;如果当前所接收到的该组时间戳对应的实际同步时间差为非突发值,则将该组时间戳对应的实际同步时间差确定并记录为当前组时间戳所对应的当前同步时间差后进行时钟同步。
11.根据权利要求10所述的设备,其特征在于,所述同步模块还用于:
当接收到用于同步的第一组时间戳时,确定并记录用于同步的第一组时间戳对应的实际同步时间差为该组时间戳对应的首次校正时间差;
当接收到用于同步的非第一组时间戳时,按照如下方式确定该组时间戳对应的首次校正时间差:Fi=(F(i-1)+offseti’)/2,其中,i≥2,Fi为第i组时间戳对应的首次校正时间差,offseti’为第i组时间戳所对应的当前同步时间差。
12.根据权利要求11所述的设备,其特征在于,所述同步模块具体用于采用以下方式实现所述判断当前所接收到的该组时间戳对应的实际同步时间差是否为突发值:
如果当前所接收到的该组时间戳对应的实际同步时间差与上一组时间戳对应的首次校正时间差之间的差值大于突发阈值时,继续判断该组时间戳之后设定个数组的时间戳所对应的实际同步时间差与上一组时间戳对应的首次校正时间差之间的差值是否均大于突发阈值,如果是,则当前所接收到的该组时间戳对应的实际同步时间差为非突发值;如果不是,则为突发值。
13.一种设备,其特征在于,包括:精确时间协议PTP端口、处理器和计算机可读存储介质;
所述PTP端口,用于从上游设备获取用于同步的一组或一组以上时间戳;
所述计算机可读存储介质中存储有指令,当所述指令被所述处理器执行时,实现如下步骤:
控制PTP端口从上游设备获取用于同步的一组或一组以上时间戳,且确定每组时间戳对应的实际同步时间差;
当接收到用于同步的第一组时间戳时,确定并记录用于同步的第一组时间戳对应的实际同步时间差为该组时间戳对应的当前同步时间差;
当接收到用于同步的非第一组时间戳时,如果当前所接收到的该组时间戳对应的实际同步时间差为突发值,则确定并记录上一组时间戳所对应的当前同步时间差为当前组时间戳对应的当前同步时间差进行时钟同步;如果当前所接收到的该组时间戳对应的实际同步时间差为非突发值,则将该组时间戳对应的实际同步时间差确定并记录为当前组时间戳所对应的当前同步时间差后进行时钟同步。
14.根据权利要求13所述的设备,其特征在于,当所述指令被所述处理器执行时,还实现如下步骤:
当接收到用于同步的第一组时间戳时,确定并记录用于同步的第一组时间戳对应的实际同步时间差为该组时间戳对应的首次校正时间差;
当接收到用于同步的非第一组时间戳时,按照如下方式确定该组时间戳对应的首次校正时间差:Fi=(F(i-1)+offseti’)/2,其中,i≥2,Fi为第i组时间戳对应的首次校正时间差,offseti’为第i组时间戳所对应的当前同步时间差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710565092.1A CN107483402B (zh) | 2017-07-12 | 2017-07-12 | 一种时钟同步方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710565092.1A CN107483402B (zh) | 2017-07-12 | 2017-07-12 | 一种时钟同步方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107483402A true CN107483402A (zh) | 2017-12-15 |
CN107483402B CN107483402B (zh) | 2019-12-06 |
Family
ID=60596549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710565092.1A Active CN107483402B (zh) | 2017-07-12 | 2017-07-12 | 一种时钟同步方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107483402B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109765578A (zh) * | 2019-02-19 | 2019-05-17 | 武汉元光科技有限公司 | 公交车gps设备时钟校准方法及装置 |
CN113507338A (zh) * | 2021-07-22 | 2021-10-15 | 深圳市灰度科技有限公司 | 一种时间同步方法、装置、计算机设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977104A (zh) * | 2010-11-13 | 2011-02-16 | 上海交通大学 | 基于ieee1588精确时钟同步协议系统及其同步方法 |
CN102769504A (zh) * | 2012-07-11 | 2012-11-07 | 中兴通讯股份有限公司 | 一种1588系统及其实现同步的方法 |
CN102833062A (zh) * | 2012-09-25 | 2012-12-19 | 广东电网公司珠海供电局 | 智能变电站ieee1588主从时钟同步报文对时方法及系统 |
CN104468014A (zh) * | 2014-12-12 | 2015-03-25 | 成都天奥电子股份有限公司 | 复杂网络环境下提高时间同步精度的方法 |
CN106533600A (zh) * | 2016-10-14 | 2017-03-22 | 瑞斯康达科技发展股份有限公司 | 一种时钟同步方法及设备 |
CN106603183A (zh) * | 2015-10-15 | 2017-04-26 | 中兴通讯股份有限公司 | 一种时间戳过滤方法及装置 |
-
2017
- 2017-07-12 CN CN201710565092.1A patent/CN107483402B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977104A (zh) * | 2010-11-13 | 2011-02-16 | 上海交通大学 | 基于ieee1588精确时钟同步协议系统及其同步方法 |
CN102769504A (zh) * | 2012-07-11 | 2012-11-07 | 中兴通讯股份有限公司 | 一种1588系统及其实现同步的方法 |
CN102833062A (zh) * | 2012-09-25 | 2012-12-19 | 广东电网公司珠海供电局 | 智能变电站ieee1588主从时钟同步报文对时方法及系统 |
CN104468014A (zh) * | 2014-12-12 | 2015-03-25 | 成都天奥电子股份有限公司 | 复杂网络环境下提高时间同步精度的方法 |
CN106603183A (zh) * | 2015-10-15 | 2017-04-26 | 中兴通讯股份有限公司 | 一种时间戳过滤方法及装置 |
CN106533600A (zh) * | 2016-10-14 | 2017-03-22 | 瑞斯康达科技发展股份有限公司 | 一种时钟同步方法及设备 |
Non-Patent Citations (1)
Title |
---|
魏丰,孙文杰: "《IEEE-1588协议时钟同步报文的精确时间标记方法研究》", 《仪器仪表学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109765578A (zh) * | 2019-02-19 | 2019-05-17 | 武汉元光科技有限公司 | 公交车gps设备时钟校准方法及装置 |
CN113507338A (zh) * | 2021-07-22 | 2021-10-15 | 深圳市灰度科技有限公司 | 一种时间同步方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107483402B (zh) | 2019-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106488550B (zh) | 确定终端与基站时钟时间偏差的方法与装置 | |
US7447237B2 (en) | Radio access network system, radio communication method, synchronous server and node | |
KR101749202B1 (ko) | 타임스탬프를 생성하는 방법, 장치, 그리고 시스템 | |
CN101364863B (zh) | 同步网中主、从时钟侧的时间同步方法 | |
EP2595331A2 (en) | Communication apparatus for performing time synchronization | |
EP2731303A1 (en) | Method and device for implementing automatic compensation for asymmetric delay of 1588 link | |
CN105610652B (zh) | 数据传输延时的获取方法和装置 | |
US11700072B2 (en) | Timing synchronization over cable networks | |
CN107395307A (zh) | 一种时钟同步方法和设备 | |
US20140233590A1 (en) | Time control device, time control method, and program | |
CN102983927B (zh) | 一种基于ieee 1588协议的主从时钟对时的时间补偿方法 | |
EP2749968A1 (en) | Time control device, time control method, and program | |
CN113519146B (zh) | 流媒体网络时延确定方法、装置、计算机设备、可读存储介质和远程驾驶系统 | |
CN111294132B (zh) | 绝对时间同步方法、装置及电子设备 | |
CN107528654A (zh) | 一种基于1588的时间同步方法及装置 | |
CN112838904B (zh) | Tsn网络延迟抖动测量装置及方法 | |
US7373250B2 (en) | AGPS module time synchronization method and device using system time information in mobile terminal | |
CN101808167B (zh) | 一种流程跟踪方法以及装置和系统 | |
JP2007282093A (ja) | クロック信号発生装置及び方法 | |
CN107483402A (zh) | 一种时钟同步方法和设备 | |
US11411848B2 (en) | Flexible ethernet latency measurement method and related device | |
US20120191878A1 (en) | Synchronization system and method | |
KR100686241B1 (ko) | 무선 센서 네트워크를 위한 시각 동기화 방법 | |
CN103857029B (zh) | 一种确定上行链路和下行链路的延时差的方法、装置和设备 | |
CN101202617A (zh) | 多级设备之间的时间同步补偿方法 |
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 |