CN106330421B - 一种实现频率同步的方法和装置 - Google Patents
一种实现频率同步的方法和装置 Download PDFInfo
- Publication number
- CN106330421B CN106330421B CN201510379028.5A CN201510379028A CN106330421B CN 106330421 B CN106330421 B CN 106330421B CN 201510379028 A CN201510379028 A CN 201510379028A CN 106330421 B CN106330421 B CN 106330421B
- Authority
- CN
- China
- Prior art keywords
- delay
- reverse
- time
- message
- req
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种实现频率同步的方法和装置,包括:获取第一预设时间内的正向包的延时抖动PDV和反向PDV,和/或,获取第一预设时间内的正向丢包率和反向丢包率;判断出获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出获得的正向丢包率等于反向丢包率,且获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出正向丢包率大于所述反向丢包率,根据发送延迟Delay_Req报文的时间和接收到Delay_Req报文的时间进行频率同步;其中,forward_delay_stheta为正向PDV,reverse_delay_stheta为反向PDV,a为预设值。通过本发明的方案,当反向丢包率较低或forward_delay_stheta>reverse_delay_stheta(1+a)时,根据Delay_Req报文进行频率同步,从而提高了同步精度。
Description
技术领域
本发明涉及时钟同步技术,尤指一种实现频率同步的方法和装置。
背景技术
电气和电子工程师协会(IEEE,Institute Electrical and ElectronicsEngineers)1588v2是一种精确时间同步协议(PTP,Precision Time Protocol),它是一种主从同步系统。在系统的同步过程中,主设备周期性发布时间戳信息,从设备根据接收到的来自主设备的时间戳信息计算主设备到从设备之间的线路时间延迟和主从时间差,根据计算得到的主从时间差调整本地时间,使从设备的时间保持与主设备的时间一致的频率与相位。IEEE1588可以同时实现频率同步和时间同步。
现有的实现频率同步的方法大致包括:
主设备向从设备发送同步(sync)报文,然后发送一个跟踪(follow_up)报文,follow_up报文中包含有发送sync报文的时间T1;从设备接收到sync报文,记录接收时间T2,根据T1和T2进行频率同步。或者,从设备在T3时间向主设备发送延迟(Delay_Req)报文,主设备记录接收到Delay_Req报文的时间T4并发送给从设备,根据T1和T2进行频率同步。
现有的实现频率同步的方法中,由于网络中正反向的流量负载不一样或者其他原因,会导致主设备到从设备之间的包的延时抖动(PDV,Packet Delay Variation)和从设备到主设备之间的PDV也不同。如果正向PDV(即主设备到从设备之间的PDV)很大,而反向PDV(即从设备到主设备之间的PDV)很小,则仅仅依靠T1和T2进行频率恢复的话,过大的PDV会导致同步性能不佳,从而导致同步精度较低。
发明内容
为了解决上述问题,本发明提出了一种分析PDV的方法和装置,能够提高同步精度。
为了达到上述目的,本发明提出了一种实现频率同步的方法,包括:
获取第一预设时间内的正向包的延时抖动PDV和反向PDV,和/或,获取第一预设时间内的正向丢包率和反向丢包率;
判断出获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出获得的正向丢包率等于反向丢包率,且获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出正向丢包率大于所述反向丢包率,根据发送延迟Delay_Req报文的时间和接收到Delay_Req报文的时间进行频率同步;
其中,forward_delay_stheta为正向PDV,reverse_delay_stheta为反向PDV,a为预设值。
优选地,当判断出获得的所述正向PDV和所述反向PDV满足forward_delay_stheta<reverse_delay_stheta(1+a);或判断出所述正向丢包率等于所述反向丢包率,且获得的所述正向PDV和所述反向PDV满足forward_delay_stheta<reverse_delay_stheta(1+a);或判断出所述正向丢包率小于所述反向丢包率时,该方法还包括:
根据发送同步sync报文的时间和接收到sync报文的时间进行频率同步。
优选地,所述获取第一预设时间内的正向丢包率和反向丢包率包括:
获取所述第一预设时间内接收到的各sync报文的序列号,接收到的各Delay_Req报文的序列号;
根据所述各sync报文的序列号计算所述第一预设时间内的正向丢包率,根据所述各Delay_Req报文的序列号计算所述第一预设时间内的反向丢包率。
优选地,所述根据各sync报文的序列号计算第一预设时间内的正向丢包率包括:
计算所述第一预设时间内预期接收到的sync报文的数量和所述第一预设时间内实际接收到的sync报文的数量之间的第一差值;计算所述第一差值和所述第一预设时间内预期接收到的sync报文的数量之间的比值得到所述正向丢包率;
其中,所述第一预设时间内预期接收到的sync报文的数量为所述第一预设时间和所述sync报文的发包速率之间的乘积,所述第一预设时间内实际接收到的sync报文的数量为获得的各sync报文的序列号的数量。
优选地,所述根据各Delay_Req报文的序列号计算第一预设时间内的反向丢包率包括:
计算所述第一预设时间内预期接收到的Delay_Req报文的数量和所述第一预设时间内实际接收到的Delay_Req报文的数量之间的第二差值;计算所述第二差值和所述第一预设时间内预期接收到的Delay_Req报文的数量之间的比值得到所述反向丢包率;
其中,所述第一预设时间内预期接收到的Delay_Req报文的数量为所述第一预设时间和所述Delay_Req报文的发包速率之间的乘积,所述第一预设时间内实际接收到的Delay_Req报文的数量为获得各Delay_Req报文的序列号的数量。
优选地,所述获取第一预设时间内的正向PDV和反向PDV包括:
获取发送各sync报文的时间、接收到各sync报文的时间、各sync报文的修正域CF、各sync报文的序列号、发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号;
根据获得的发送所述各sync报文的时间、接收到所述各sync报文的时间、所述各sync报文的CF和所述各sync报文的序列号计算正向时延差值,根据获得的发送所述各Delay_Req报文的时间、接收到所述各Delay_Req报文的时间、所述各Delay_Req报文的CF和所述各Delay_Req报文的序列号计算反向时延差值;
根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加。
优选地,所述根据获得的发送各sync报文的时间、接收到各sync报文的时间、各sync报文的CF和各sync报文的序列号计算正向时延差值包括:
根据获得的发送所述各sync报文的时间、接收到所述各sync报文的时间、所述各sync报文的CF和所述各sync报文的序列号计算所述各sync报文的正向时延,根据计算得到的所述各sync报文的正向时延计算所述正向时延差值;
所述根据获得的发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号计算反向时延差值包括:
根据获得的发送所述各Delay_Req报文的时间、接收到所述各Delay_Req报文的时间、所述各Delay_Req报文的CF和所述各Delay_Req报文的序列号计算所述各Delay_Req报文的反向时延,根据计算得到的所述各Delay_Req报文的反向时延计算所述反向时延差值。
优选地,所述根据获得的发送各sync报文的时间、接收到各sync报文的时间、各sync报文的CF和各sync报文的序列号计算各sync报文的正向时延包括:
按照公式forward_delay(n)=T2(n)-T1(n)-forward_CF(n)计算所述各sync报文的正向时延;其中,forward_delay(n)为所述序列号为n的sync报文的正向时延,T2(n)为接收到所述序列号为n的sync报文的时间,T1(n)为发送所述序列号为n的sync报文的时间,forward_CF(n)为所述序列号为n的sync报文的CF,n为大于或等于1的整数;
所述根据获得的发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号计算各Delay_Req报文的反向时延包括:
按照公式reverse_delay(n)=T4(n)-T3(n)-reverse_CF(n)计算所述各Delay_Req报文的反向时延;其中,reverse_delay(n)为所述序列号为n的Delay_Req报文的反向时延,T4(n)为接收到所述序列号为n的Delay_Req报文的时间,T3(n)为发送所述序列号为n的Delay_Req报文的时间,reverse_CF(n)为所述序列号为n的Delay_Req报文的CF。
优选地,所述根据计算得到的各sync报文的正向时延计算正向时延差值包括:
按照公式forward_delay_theta(n+1)=|forward_delay(n+1)-forward_delay(n)|计算所述正向时延差值;其中,forward_delay_theta(n+1)为计算得到的第(n+1)个正向时延差值,forward_delay(n+1)为所述序列号为(n+1)的sync报文的正向时延,forward_delay(n)为所述序列号为n的sync报文的正向时延;
所述根据计算得到的所述各Delay_Req报文的反向时延计算反向时延差值包括:
按照公式reverse_delay_theta(n+1)=|reverse_delay(n+1)-reverse_delay(n)|计算所述反向时延差值;其中,reverse_delay_theta(n+1)为计算得到的第(n+1)个反向时延差值,reverse_delay(n+1)为所述序列号为(n+1)的Delay_Req报文的反向时延,reverse_delay(n)为所述序列号为n的Delay_Req报文的反向时延。
优选地,所述判断出获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出获得的正向丢包率均等于反向丢包率,且获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出正向丢包率大于反向丢包率后,在所述根据发送延迟Delay_Req报文的时间和接收到Delay_Req报文的时间进行频率同步之前还包括:
在第三预设时间内获取所述第一预设时间内的正弦PDV和反向PDV,和/或,在所述第三预设时间内多次获取所述第一预设时间内的正向丢包率和反向丢包率;
判断出在所述第三预设时间内获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出在所述第三预设时间内获得的正向丢包率大于所述反向丢包率;或判断出在所述第三预设时间内获得的正向丢包率均等于反向丢包率,且在所述第三预设时间内获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a)。
本发明还提出了一种实现频率同步的装置,至少包括:
获取模块,用于获取第一预设时间内的正向包的延时抖动PDV和反向PDV,和/或,获取第一预设时间内的正向丢包率和反向丢包率;
判断模块,用于判断出获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出获得的正向丢包率等于反向丢包率,且获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出正向丢包率大于所述反向丢包率,向同步模块发送第一通知消息;
同步模块,用于接收到第一通知消息,根据发送延迟Delay_Req报文的时间和接收到Delay_Req报文的时间进行频率同步;
其中,forward_delay_stheta为正向PDV,reverse_delay_stheta为反向PDV,a为预设值。
优选地,所述判断模块还用于:
判断出获得的所述正向PDV和所述反向PDV满足forward_delay_stheta<reverse_delay_stheta(1+a);或判断出所述正向丢包率等于所述反向丢包率,且获得的所述正向PDV和所述反向PDV满足forward_delay_stheta<reverse_delay_stheta(1+a);或判断出所述正向丢包率小于所述反向丢包率,向所述同步模块发送第二通知消息;
所述同步模块还用于:
接收到第二通知消息,根据发送同步sync报文的时间和接收到sync报文的时间进行频率同步。
优选地,所述获取模块具体用于:
获取第一预设时间内的正向PDV和反向PDV,和/或,获取所述第一预设时间内接收到的各sync报文的序列号,接收到的各Delay_Req报文的序列号;根据所述各sync报文的序列号计算所述第一预设时间内的正向丢包率,根据所述各Delay_Req报文的序列号计算所述第一预设时间内的反向丢包率。
优选地,所述获取模块具体用于:
获取第一预设时间内的正向PDV和反向PDV,和/或,获取所述第一预设时间内接收到的各sync报文的序列号,接收到的各Delay_Req报文的序列号;计算所述第一预设时间内预期接收到的sync报文的数量和所述第一预设时间内实际接收到的sync报文的数量之间的第一差值;计算所述第一差值和所述第一预设时间内预期接收到的sync报文的数量之间的比值得到所述正向丢包率;其中,所述第一预设时间内预期接收到的sync报文的数量为所述第一预设时间和所述sync报文的发包速率之间的乘积,所述第一预设时间内实际接收到的sync报文的数量为获得的各sync报文的序列号的数量,根据所述各Delay_Req报文的序列号计算所述第一预设时间内的反向丢包率。
优选地,所述获取模块具体用于:
获取第一预设时间内的正向PDV和反向PDV,和/或,获取所述第一预设时间内接收到的各sync报文的序列号,接收到的各Delay_Req报文的序列号;根据所述各sync报文的序列号计算所述第一预设时间内的正向丢包率,计算所述第一预设时间内预期接收到的Delay_Req报文的数量和所述第一预设时间内实际接收到的Delay_Req报文的数量之间的第二差值;计算所述第二差值和所述第一预设时间内预期接收到的Delay_Req报文的数量之间的比值得到所述反向丢包率;
其中,所述第一预设时间内预期接收到的Delay_Req报文的数量为所述第一预设时间和所述Delay_Req报文的发包速率之间的乘积,所述第一预设时间内实际接收到的Delay_Req报文的数量为获得各Delay_Req报文的序列号的数量。
优选地,所述获取模块具体用于:
获取发送各sync报文的时间、接收到各sync报文的时间、各sync报文的修正域CF、各sync报文的序列号、发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号;根据获得的发送所述各sync报文的时间、接收到所述各sync报文的时间、所述各sync报文的CF和所述各sync报文的序列号计算正向时延差值,根据获得的发送所述各Delay_Req报文的时间、接收到所述各Delay_Req报文的时间、所述各Delay_Req报文的CF和所述各Delay_Req报文的序列号计算反向时延差值;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
优选地,所述获取模块具体用于:
获取发送各sync报文的时间、接收到各sync报文的时间、各sync报文的修正域CF、各sync报文的序列号、发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号;根据获得的发送所述各sync报文的时间、接收到所述各sync报文的时间、所述各sync报文的CF和所述各sync报文的序列号计算所述各sync报文的正向时延,根据计算得到的所述各sync报文的正向时延计算所述正向时延差值;根据获得的发送所述各Delay_Req报文的时间、接收到所述各Delay_Req报文的时间、所述各Delay_Req报文的CF和所述各Delay_Req报文的序列号计算所述各Delay_Req报文的反向时延,根据计算得到的所述各Delay_Req报文的反向时延计算所述反向时延差值;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
优选地,所述获取模块具体用于:
获取发送各sync报文的时间、接收到各sync报文的时间、各sync报文的修正域CF、各sync报文的序列号、发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号;按照公式forward_delay(n)=T2(n)-T1(n)-forward_CF(n)计算所述各sync报文的正向时延;其中,forward_delay(n)为所述序列号为n的sync报文的正向时延,T2(n)为接收到所述序列号为n的sync报文的时间,T1(n)为发送所述序列号为n的sync报文的时间,forward_CF(n)为所述序列号为n的sync报文的CF,n为大于或等于1的整数;根据计算得到的所述各sync报文的正向时延计算所述正向时延差值;按照公式reverse_delay(n)=T4(n)-T3(n)-reverse_CF(n)计算所述各Delay_Req报文的反向时延;其中,reverse_delay(n)为所述序列号为n的Delay_Req报文的反向时延,T4(n)为接收到所述序列号为n的Delay_Req报文的时间,T3(n)为发送所述序列号为n的Delay_Req报文的时间,reverse_CF(n)为所述序列号为n的Delay_Req报文的CF,根据计算得到的所述各Delay_Req报文的反向时延计算所述反向时延差值;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
优选地,所述获取模块具体用于:
获取发送各sync报文的时间、接收到各sync报文的时间、各sync报文的修正域CF、各sync报文的序列号、发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号;按照公式forward_delay(n)=T2(n)-T1(n)-forward_CF(n)计算所述各sync报文的正向时延;其中,forward_delay(n)为所述序列号为n的sync报文的正向时延,T2(n)为接收到所述序列号为n的sync报文的时间,T1(n)为发送所述序列号为n的sync报文的时间,forward_CF(n)为所述序列号为n的sync报文的CF,n为大于或等于1的整数;按照公式forward_delay_theta(n+1)=|forward_delay(n+1)-forward_delay(n)|计算所述正向时延差值;其中,forward_delay_theta(n+1)为计算得到的第(n+1)个正向时延差值,forward_delay(n+1)为所述序列号为(n+1)的sync报文的正向时延,forward_delay(n)为所述序列号为n的sync报文的正向时延;按照公式reverse_delay(n)=T4(n)-T3(n)-reverse_CF(n)计算所述各Delay_Req报文的反向时延;其中,reverse_delay(n)为所述序列号为n的Delay_Req报文的反向时延,T4(n)为接收到所述序列号为n的Delay_Req报文的时间,T3(n)为发送所述序列号为n的Delay_Req报文的时间,reverse_CF(n)为所述序列号为n的Delay_Req报文的CF,按照公式reverse_delay_theta(n+1)=|reverse_delay(n+1)-reverse_delay(n)|计算所述反向时延差值;其中,reverse_delay_theta(n+1)为计算得到的第(n+1)个反向时延差值,reverse_delay(n+1)为所述序列号为(n+1)的Delay_Req报文的反向时延,reverse_delay(n)为所述序列号为n的Delay_Req报文的反向时延;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
优选地,所述获取模块还用于:
在第三预设时间内获取所述第一预设时间内的正弦PDV和反向PDV,和/或,在所述第三预设时间内获取所述第一预设时间内的正向丢包率和反向丢包率;
所述判断模块还用于:判断出在所述第三预设时间内获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出在所述第三预设时间内获得的正向丢包率大于所述反向丢包率;或在所述第三预设时间内判断出获得的正向丢包率均等于反向丢包率,且在所述第三预设时间内获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a),向所述同步模块发送所述第一通知消息。
与现有技术相比,本发明的技术方案包括:获取第一预设时间内的正向包的延时抖动PDV和反向PDV,和/或,获取第一预设时间内的正向丢包率和反向丢包率;判断出获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出获得的正向丢包率均等于反向丢包率,且获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出正向丢包率大于所述反向丢包率,根据发送延迟Delay_Req报文的时间和接收到Delay_Req报文的时间进行频率同步。通过本发明的方案,当反向丢包率较低或forward_delay_stheta>reverse_delay_stheta(1+a)时,根据Delay_Req报文进行频率同步,从而提高了同步精度。
附图说明
下面对本发明实施例中的附图进行说明,实施例中的附图是用于对本发明的进一步理解,与说明书一起用于解释本发明,并不构成对本发明保护范围的限制。
图1为本发明实现频率同步的方法的流程图;
图2为本发明实现频率同步的装置的结构组成示意图。
具体实施方式
为了便于本领域技术人员的理解,下面结合附图对本发明作进一步的描述,并不能用来限制本发明的保护范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的各种方式可以相互组合。
参见图1,本发明提出了一种实现频率同步的方法,包括:
步骤100、获取第一预设时间内的正向包的延时抖动PDV和反向PDV,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
本步骤中,获取第一预设时间内的正向丢包率和反向丢包率包括:
获取第一预设时间内接收到的各sync报文的序列号,接收到的各Delay_Req报文的序列号;
根据各sync报文的序列号计算第一预设时间内的正向丢包率,根据各Delay_Req报文的序列号计算第一预设时间内的反向丢包率。
其中,根据各sync报文的序列号计算第一预设时间内的正向丢包率包括:
计算第一预设时间内预期接收到的sync报文的数量和第一预设时间内实际接收到的sync报文的数量之间的第一差值;计算第一差值和第一预设时间内预期接收到的sync报文的数量之间的比值得到正向丢包率;
其中,第一预设时间内预期接收到的sync报文的数量为第一预设时间和sync报文的发包速率之间的乘积,第一预设时间内实际接收到的sync报文的数量为获得的各sync报文的序列号的数量。
其中,根据各Delay_Req报文的序列号计算第一预设时间内的反向丢包率包括:
计算第一预设时间内预期接收到的Delay_Req报文的数量和第一预设时间内实际接收到的Delay_Req报文的数量之间的第二差值;计算第二差值和第一预设时间内预期接收到的Delay_Req报文的数量之间的比值得到反向丢包率;
其中,第一预设时间内预期接收到的Delay_Req报文的数量为第一预设时间和Delay_Req报文的发包速率之间的乘积,第一预设时间内实际接收到的Delay_Req报文的数量为获得各Delay_Req报文的序列号的数量。
本步骤中,获取第一预设时间内的正向PDV和反向PDV包括:
获取发送各sync报文的时间、接收到各sync报文的时间、各sync报文的修正域CF、各sync报文的序列号、发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号;
根据获得的发送各sync报文的时间、接收到各sync报文的时间、各sync报文的CF和各sync报文的序列号计算正向时延差值,根据获得的发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号计算反向时延差值;
根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加。
具体地,可以分别将每次计算得到的正向时延差值和反向时延差值放入各自的观察窗内,各自的观察窗的大小相等,且等于第二预设时间内计算得到的正向时延差值或反向时延差值的个数,观察窗内每新增一个正向时延差值或反向时延差值,观察窗滑动一个步长,每隔一段时间将观察窗内的所有正向时延差值或反向时延差值进行累加。
其中,根据获得的发送各sync报文的时间、接收到各sync报文的时间、各sync报文的CF和各sync报文的序列号计算正向时延差值包括:
根据获得的发送各sync报文的时间、接收到各sync报文的时间、各sync报文的CF和各sync报文的序列号计算各sync报文的正向时延,根据计算得到的各sync报文的正向时延计算正向时延差值;
根据获得的发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号计算反向时延差值包括:
根据获得的发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号计算各Delay_Req报文的反向时延,根据计算得到的各Delay_Req报文的反向时延计算反向时延差值。
其中,根据获得的发送各sync报文的时间、接收到各sync报文的时间、各sync报文的CF和各sync报文的序列号计算各sync报文的正向时延包括:
按照公式forward_delay(n)=T2(n)-T1(n)-forward_CF(n)计算各sync报文的正向时延;其中,forward_delay(n)为序列号为n的sync报文的正向时延,T2(n)为接收到序列号为n的sync报文的时间,T1(n)为发送序列号为n的sync报文的时间,forward_CF(n)为序列号为n的sync报文的CF,n为大于或等于1的整数;
根据获得的发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号计算各Delay_Req报文的反向时延包括:
按照公式reverse_delay(n)=T4(n)-T3(n)-reverse_CF(n)计算各Delay_Req报文的反向时延;其中,reverse_delay(n)为序列号为n的Delay_Req报文的反向时延,T4(n)为接收到序列号为n的Delay_Req报文的时间,T3(n)为发送序列号为n的Delay_Req报文的时间,reverse_CF(n)为序列号为n的Delay_Req报文的CF。
其中,根据计算得到的各sync报文的正向时延计算正向时延差值包括:
按照公式forward_delay_theta(n+1)=|forward_delay(n+1)-forward_delay(n)|计算正向时延差值;其中,forward_delay_theta(n+1)为计算得到的第(n+1)个正向时延差值,forward_delay(n+1)为序列号为(n+1)的sync报文的正向时延,forward_delay(n)为序列号为n的sync报文的正向时延;
根据计算得到的各Delay_Req报文的反向时延计算反向时延差值包括:
按照公式reverse_delay_theta(n+1)=|reverse_delay(n+1)-reverse_delay(n)|计算反向时延差值;其中,reverse_delay_theta(n+1)为计算得到的第(n+1)个反向时延差值,reverse_delay(n+1)为序列号为(n+1)的Delay_Req报文的反向时延,reverse_delay(n)为序列号为n的Delay_Req报文的反向时延。
步骤101、判断出获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出获得的正向丢包率均等于反向丢包率,且获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出正向丢包率大于反向丢包率,根据发送延迟Delay_Req报文的时间和接收到Delay_Req报文的时间进行频率同步。
通过本发明的方案,当反向丢包率较低或forward_delay_stheta>reverse_delay_stheta(1+a)时,根据Delay_Req报文进行频率同步,从而提高了同步精度。
本步骤中,forward_delay_stheta为正向PDV,reverse_delay_stheta为反向PDV,a为预设值。
本步骤中,判断出获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出获得的正向丢包率均等于反向丢包率,且获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出正向丢包率大于反向丢包率后,在根据发送延迟Delay_Req报文的时间和接收到Delay_Req报文的时间进行频率同步之前还包括:
在第三预设时间内获取第一预设时间内的正弦PDV和反向PDV,和/或,在第三预设时间内获取第一预设时间内的正向丢包率和反向丢包率,判断出每次在第三预设时间内获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出在第三预设时间内获得的正向丢包率大于反向丢包率;或判断出在第三预设时间内获得的正向丢包率均等于反向丢包率,且在第三预设时间内获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a)。
本步骤中,当判断出获得的正向PDV和反向PDV满足forward_delay_stheta<reverse_delay_stheta(1+a);或判断出正向丢包率等于反向丢包率,且获得的正向PDV和反向PDV满足forward_delay_stheta<reverse_delay_stheta(1+a);或判断出正向丢包率小于反向丢包率时,根据发送同步sync报文的时间和接收到sync报文的时间进行频率同步。
其中,判断出获得的正向PDV和反向PDV满足forward_delay_stheta<reverse_delay_stheta(1+a);或判断出正向丢包率等于反向丢包率,且获得的正向PDV和反向PDV满足forward_delay_stheta<reverse_delay_stheta(1+a);或判断出正向丢包率小于反向丢包率包括:
判断出每次获得的正向PDV和反向PDV满足forward_delay_stheta<reverse_delay_stheta(1+a);或判断出每次获得的正向丢包率均小于反向丢包率;或每次判断出判断出正向丢包率小于反向丢包率,或判断出正向丢包率等于反向丢包率,且获得的正向PDV和反向PDV满足forward_delay_stheta<reverse_delay_stheta(1+a)。
也就是说,如果在第三预设时间内均判断出根据正向报文(sync报文)或反向报文(Delay_Req报文)进行频率同步,则进行方向切换;如果在第三预设时间内某一次或几次判断出根据正向报文进行频率同步,其他的判断出根据反向报文进行频率同步,则不进行方向切换。这样,防止了频繁切换对环路性能的影响。
参见图2,本发明还提出了一种实现频率同步的装置,至少包括:
获取模块,用于获取第一预设时间内的正向包的延时抖动PDV和反向PDV,和/或,获取第一预设时间内的正向丢包率和反向丢包率;
判断模块,用于判断出获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出获得的正向丢包率等于反向丢包率,且获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出正向丢包率大于反向丢包率,向同步模块发送第一通知消息;
同步模块,用于接收到第一通知消息,根据发送延迟Delay_Req报文的时间和接收到Delay_Req报文的时间进行频率同步;
其中,forward_delay_stheta为正向PDV,reverse_delay_stheta为反向PDV,a为预设值。
本发明的装置中,判断模块还用于:
判断出获得的正向PDV和反向PDV满足forward_delay_stheta<reverse_delay_stheta(1+a);或判断出正向丢包率等于反向丢包率,且获得的正向PDV和反向PDV满足forward_delay_stheta<reverse_delay_stheta(1+a);或判断出正向丢包率小于反向丢包率,向同步模块发送第二通知消息;
同步模块还用于:
接收到第二通知消息,根据发送sync报文的时间和接收到sync报文的时间进行频率同步。
本发明的装置中,获取模块具体用于:
获取第一预设时间内的正向PDV和反向PDV,和/或,获取第一预设时间内接收到的各sync报文的序列号,接收到的各Delay_Req报文的序列号;根据各sync报文的序列号计算第一预设时间内的正向丢包率,根据各Delay_Req报文的序列号计算第一预设时间内的反向丢包率。
本发明的装置中,获取模块具体用于:
获取第一预设时间内的正向PDV和反向PDV,和/或,获取第一预设时间内接收到的各sync报文的序列号,接收到的各Delay_Req报文的序列号;计算第一预设时间内预期接收到的sync报文的数量和第一预设时间内实际接收到的sync报文的数量之间的第一差值;计算第一差值和第一预设时间内预期接收到的sync报文的数量之间的比值得到正向丢包率;其中,第一预设时间内预期接收到的sync报文的数量为第一预设时间和sync报文的发包速率之间的乘积,第一预设时间内实际接收到的sync报文的数量为获得的各sync报文的序列号的数量,根据各Delay_Req报文的序列号计算第一预设时间内的反向丢包率。
本发明的装置中,获取模块具体用于:
获取第一预设时间内的正向PDV和反向PDV,和/或,获取第一预设时间内接收到的各sync报文的序列号,接收到的各Delay_Req报文的序列号;根据各sync报文的序列号计算第一预设时间内的正向丢包率,计算第一预设时间内预期接收到的Delay_Req报文的数量和第一预设时间内实际接收到的Delay_Req报文的数量之间的第二差值;计算第二差值和第一预设时间内预期接收到的Delay_Req报文的数量之间的比值得到反向丢包率;
其中,第一预设时间内预期接收到的Delay_Req报文的数量为第一预设时间和Delay_Req报文的发包速率之间的乘积,第一预设时间内实际接收到的Delay_Req报文的数量为获得各Delay_Req报文的序列号的数量。
本发明的装置中,获取模块具体用于:
获取发送各sync报文的时间、接收到各sync报文的时间、各sync报文的修正域CF、各sync报文的序列号、发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号;根据获得的发送各sync报文的时间、接收到各sync报文的时间、各sync报文的CF和各sync报文的序列号计算正向时延差值,根据获得的发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号计算反向时延差值;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
本发明的装置中,获取模块具体用于:
获取发送各sync报文的时间、接收到各sync报文的时间、各sync报文的修正域CF、各sync报文的序列号、发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号;根据获得的发送各sync报文的时间、接收到各sync报文的时间、各sync报文的CF和各sync报文的序列号计算各sync报文的正向时延,根据计算得到的各sync报文的正向时延计算正向时延差值;根据获得的发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号计算各Delay_Req报文的反向时延,根据计算得到的各Delay_Req报文的反向时延计算反向时延差值;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
本发明的装置中,获取模块具体用于:
获取发送各sync报文的时间、接收到各sync报文的时间、各sync报文的修正域CF、各sync报文的序列号、发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号;按照公式forward_delay(n)=T2(n)-T1(n)-forward_CF(n)计算各sync报文的正向时延;其中,forward_delay(n)为序列号为n的sync报文的正向时延,T2(n)为接收到序列号为n的sync报文的时间,T1(n)为发送序列号为n的sync报文的时间,forward_CF(n)为序列号为n的sync报文的CF,n为大于或等于1的整数;根据计算得到的各sync报文的正向时延计算正向时延差值;按照公式reverse_delay(n)=T4(n)-T3(n)-reverse_CF(n)计算各Delay_Req报文的反向时延;其中,reverse_delay(n)为序列号为n的Delay_Req报文的反向时延,T4(n)为接收到序列号为n的Delay_Req报文的时间,T3(n)为发送序列号为n的Delay_Req报文的时间,reverse_CF(n)为序列号为n的Delay_Req报文的CF,根据计算得到的各Delay_Req报文的反向时延计算反向时延差值;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
本发明的装置中,获取模块具体用于:
获取发送各sync报文的时间、接收到各sync报文的时间、各sync报文的修正域CF、各sync报文的序列号、发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号;按照公式forward_delay(n)=T2(n)-T1(n)-forward_CF(n)计算各sync报文的正向时延;其中,forward_delay(n)为序列号为n的sync报文的正向时延,T2(n)为接收到序列号为n的sync报文的时间,T1(n)为发送序列号为n的sync报文的时间,forward_CF(n)为序列号为n的sync报文的CF,n为大于或等于1的整数;按照公式forward_delay_theta(n+1)=|forward_delay(n+1)-forward_delay(n)|计算正向时延差值;其中,forward_delay_theta(n+1)为计算得到的第(n+1)个正向时延差值,forward_delay(n+1)为序列号为(n+1)的sync报文的正向时延,forward_delay(n)为序列号为n的sync报文的正向时延;按照公式reverse_delay(n)=T4(n)-T3(n)-reverse_CF(n)计算各Delay_Req报文的反向时延;其中,reverse_delay(n)为序列号为n的Delay_Req报文的反向时延,T4(n)为接收到序列号为n的Delay_Req报文的时间,T3(n)为发送序列号为n的Delay_Req报文的时间,reverse_CF(n)为序列号为n的Delay_Req报文的CF,按照公式reverse_delay_theta(n+1)=|reverse_delay(n+1)-reverse_delay(n)|计算反向时延差值;其中,reverse_delay_theta(n+1)为计算得到的第(n+1)个反向时延差值,reverse_delay(n+1)为序列号为(n+1)的Delay_Req报文的反向时延,reverse_delay(n)为序列号为n的Delay_Req报文的反向时延;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
本发明的装置中,获取模块还用于:
在第三预设时间内获取第一预设时间内的正弦PDV和反向PDV,和/或,在第三预设时间内获取第一预设时间内的正向丢包率和反向丢包率;
判断模块还用于:
判断出在第三预设时间内获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出在第三预设时间内获得的正向丢包率大于反向丢包率;或判断出在第三预设时间内获得的正向丢包率均等于反向丢包率,且在第三预设时间内获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a),向同步模块发送第一通知消息。
需要说明的是,以上所述的实施例仅是为了便于本领域的技术人员理解而已,并不用于限制本发明的保护范围,在不脱离本发明的发明构思的前提下,本领域技术人员对本发明所做出的任何显而易见的替换和改进等均在本发明的保护范围之内。
Claims (20)
1.一种实现频率同步的方法,其特征在于,包括:
获取第一预设时间内的正向包的延时抖动PDV和反向PDV,和/或,获取第一预设时间内的正向丢包率和反向丢包率;
判断出获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出获得的正向丢包率等于反向丢包率,且获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出正向丢包率大于所述反向丢包率,根据发送延迟Delay_Req报文的时间和接收到Delay_Req报文的时间进行频率同步;
其中,forward_delay_stheta为正向PDV,reverse_delay_stheta为反向PDV,a为预设值。
2.根据权利要求1所述的方法,其特征在于,当判断出获得的所述正向PDV和所述反向PDV满足forward_delay_stheta<reverse_delay_stheta(1+a);或判断出所述正向丢包率等于所述反向丢包率,且获得的所述正向PDV和所述反向PDV满足forward_delay_stheta<reverse_delay_stheta(1+a);或判断出所述正向丢包率小于所述反向丢包率时,该方法还包括:
根据发送同步sync报文的时间和接收到sync报文的时间进行频率同步。
3.根据权利要求1或2所述的方法,其特征在于,所述获取第一预设时间内的正向丢包率和反向丢包率包括:
获取所述第一预设时间内接收到的各sync报文的序列号以及各Delay_Req报文的序列号;
根据所述各sync报文的序列号计算所述第一预设时间内的正向丢包率,根据所述各Delay_Req报文的序列号计算所述第一预设时间内的反向丢包率。
4.根据权利要求3所述的方法,其特征在于,所述根据各sync报文的序列号计算第一预设时间内的正向丢包率包括:
计算所述第一预设时间内预期接收到的sync报文的数量和所述第一预设时间内实际接收到的sync报文的数量之间的第一差值;计算所述第一差值和所述第一预设时间内预期接收到的sync报文的数量之间的比值得到所述正向丢包率;
其中,所述第一预设时间内预期接收到的sync报文的数量为所述第一预设时间和所述sync报文的发包速率之间的乘积,所述第一预设时间内实际接收到的sync报文的数量为获得的各sync报文的序列号的数量。
5.根据权利要求3所述的方法,其特征在于,所述根据各Delay_Req报文的序列号计算第一预设时间内的反向丢包率包括:
计算所述第一预设时间内预期接收到的Delay_Req报文的数量和所述第一预设时间内实际接收到的Delay_Req报文的数量之间的第二差值;计算所述第二差值和所述第一预设时间内预期接收到的Delay_Req报文的数量之间的比值得到所述反向丢包率;
其中,所述第一预设时间内预期接收到的Delay_Req报文的数量为所述第一预设时间和所述Delay_Req报文的发包速率之间的乘积,所述第一预设时间内实际接收到的Delay_Req报文的数量为获得各Delay_Req报文的序列号的数量。
6.根据权利要求1或2所述的方法,其特征在于,所述获取第一预设时间内的正向PDV和反向PDV包括:
获取发送各sync报文的时间、接收到各sync报文的时间、各sync报文的修正域CF、各sync报文的序列号、发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号;
根据获得的发送所述各sync报文的时间、接收到所述各sync报文的时间、所述各sync报文的CF和所述各sync报文的序列号计算正向时延差值,根据获得的发送所述各Delay_Req报文的时间、接收到所述各Delay_Req报文的时间、所述各Delay_Req报文的CF和所述各Delay_Req报文的序列号计算反向时延差值;
根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加。
7.根据权利要求6所述的方法,其特征在于,所述根据获得的发送各sync报文的时间、接收到各sync报文的时间、各sync报文的CF和各sync报文的序列号计算正向时延差值包括:
根据获得的发送所述各sync报文的时间、接收到所述各sync报文的时间、所述各sync报文的CF和所述各sync报文的序列号计算所述各sync报文的正向时延,根据计算得到的所述各sync报文的正向时延计算所述正向时延差值;
所述根据获得的发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号计算反向时延差值包括:
根据获得的发送所述各Delay_Req报文的时间、接收到所述各Delay_Req报文的时间、所述各Delay_Req报文的CF和所述各Delay_Req报文的序列号计算所述各Delay_Req报文的反向时延,根据计算得到的所述各Delay_Req报文的反向时延计算所述反向时延差值。
8.根据权利要求7所述的方法,其特征在于,所述根据获得的发送各sync报文的时间、接收到各sync报文的时间、各sync报文的CF和各sync报文的序列号计算各sync报文的正向时延包括:
按照公式forward_delay(n)=T2(n)-T1(n)-forward_CF(n)计算所述各sync报文的正向时延;其中,forward_delay(n)为所述序列号为n的sync报文的正向时延,T2(n)为接收到所述序列号为n的sync报文的时间,T1(n)为发送所述序列号为n的sync报文的时间,forward_CF(n)为所述序列号为n的sync报文的CF,n为大于或等于1的整数;
所述根据获得的发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号计算各Delay_Req报文的反向时延包括:
按照公式reverse_delay(n)=T4(n)-T3(n)-reverse_CF(n)计算所述各Delay_Req报文的反向时延;其中,reverse_delay(n)为所述序列号为n的Delay_Req报文的反向时延,T4(n)为接收到所述序列号为n的Delay_Req报文的时间,T3(n)为发送所述序列号为n的Delay_Req报文的时间,reverse_CF(n)为所述序列号为n的Delay_Req报文的CF。
9.根据权利要求7所述的方法,其特征在于,所述根据计算得到的各sync报文的正向时延计算正向时延差值包括:
按照公式forward_delay_theta(n+1)=|forward_delay(n+1)-forward_delay(n)|计算所述正向时延差值;其中,forward_delay_theta(n+1)为计算得到的第(n+1)个正向时延差值,forward_delay(n+1)为所述序列号为(n+1)的sync报文的正向时延,forward_delay(n)为所述序列号为n的sync报文的正向时延;
所述根据计算得到的所述各Delay_Req报文的反向时延计算反向时延差值包括:
按照公式reverse_delay_theta(n+1)=|reverse_delay(n+1)-reverse_delay(n)|计算所述反向时延差值;其中,reverse_delay_theta(n+1)为计算得到的第(n+1)个反向时延差值,reverse_delay(n+1)为所述序列号为(n+1)的Delay_Req报文的反向时延,reverse_delay(n)为所述序列号为n的Delay_Req报文的反向时延。
10.根据权利要求1或2所述的方法,其特征在于,所述判断出获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出获得的正向丢包率均等于反向丢包率,且获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出正向丢包率大于反向丢包率后,在所述根据发送延迟Delay_Req报文的时间和接收到Delay_Req报文的时间进行频率同步之前还包括:
在第三预设时间内获取所述第一预设时间内的正向PDV和反向PDV,和/或,在所述第三预设时间内多次获取所述第一预设时间内的正向丢包率和反向丢包率;
判断出在所述第三预设时间内获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出在所述第三预设时间内获得的正向丢包率大于所述反向丢包率;或判断出在所述第三预设时间内获得的正向丢包率均等于反向丢包率,且在所述第三预设时间内获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a)。
11.一种实现频率同步的装置,其特征在于,至少包括:
获取模块,用于获取第一预设时间内的正向包的延时抖动PDV和反向PDV,和/或,获取第一预设时间内的正向丢包率和反向丢包率;
判断模块,用于判断出获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出获得的正向丢包率等于反向丢包率,且获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出正向丢包率大于所述反向丢包率,向同步模块发送第一通知消息;
同步模块,用于接收到第一通知消息,根据发送延迟Delay_Req报文的时间和接收到Delay_Req报文的时间进行频率同步;
其中,forward_delay_stheta为正向PDV,reverse_delay_stheta为反向PDV,a为预设值。
12.根据权利要求11所述的装置,其特征在于,所述判断模块还用于:
判断出获得的所述正向PDV和所述反向PDV满足forward_delay_stheta<reverse_delay_stheta(1+a);或判断出所述正向丢包率等于所述反向丢包率,且获得的所述正向PDV和所述反向PDV满足forward_delay_stheta<reverse_delay_stheta(1+a);或判断出所述正向丢包率小于所述反向丢包率,向所述同步模块发送第二通知消息;
所述同步模块还用于:
接收到第二通知消息,根据发送同步sync报文的时间和接收到sync报文的时间进行频率同步。
13.根据权利要求11或12所述的装置,其特征在于,所述获取模块具体用于:
获取第一预设时间内的正向PDV和反向PDV,和/或,获取所述第一预设时间内接收到的各sync报文的序列号,接收到的各Delay_Req报文的序列号;根据所述各sync报文的序列号计算所述第一预设时间内的正向丢包率,根据所述各Delay_Req报文的序列号计算所述第一预设时间内的反向丢包率。
14.根据权利要求11或12所述的装置,其特征在于,所述获取模块具体用于:
获取第一预设时间内的正向PDV和反向PDV,和/或,获取所述第一预设时间内接收到的各sync报文的序列号,接收到的各Delay_Req报文的序列号;计算所述第一预设时间内预期接收到的sync报文的数量和所述第一预设时间内实际接收到的sync报文的数量之间的第一差值;计算所述第一差值和所述第一预设时间内预期接收到的sync报文的数量之间的比值得到所述正向丢包率;其中,所述第一预设时间内预期接收到的sync报文的数量为所述第一预设时间和所述sync报文的发包速率之间的乘积,所述第一预设时间内实际接收到的sync报文的数量为获得的各sync报文的序列号的数量,根据所述各Delay_Req报文的序列号计算所述第一预设时间内的反向丢包率。
15.根据权利要求11或12所述的装置,其特征在于,所述获取模块具体用于:
获取第一预设时间内的正向PDV和反向PDV,和/或,获取所述第一预设时间内接收到的各sync报文的序列号,接收到的各Delay_Req报文的序列号;根据所述各sync报文的序列号计算所述第一预设时间内的正向丢包率,计算所述第一预设时间内预期接收到的Delay_Req报文的数量和所述第一预设时间内实际接收到的Delay_Req报文的数量之间的第二差值;计算所述第二差值和所述第一预设时间内预期接收到的Delay_Req报文的数量之间的比值得到所述反向丢包率;
其中,所述第一预设时间内预期接收到的Delay_Req报文的数量为所述第一预设时间和所述Delay_Req报文的发包速率之间的乘积,所述第一预设时间内实际接收到的Delay_Req报文的数量为获得各Delay_Req报文的序列号的数量。
16.根据权利要求11或12所述的装置,其特征在于,所述获取模块具体用于:
获取发送各sync报文的时间、接收到各sync报文的时间、各sync报文的修正域CF、各sync报文的序列号、发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号;根据获得的发送所述各sync报文的时间、接收到所述各sync报文的时间、所述各sync报文的CF和所述各sync报文的序列号计算正向时延差值,根据获得的发送所述各Delay_Req报文的时间、接收到所述各Delay_Req报文的时间、所述各Delay_Req报文的CF和所述各Delay_Req报文的序列号计算反向时延差值;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
17.根据权利要求11或12所述的装置,其特征在于,所述获取模块具体用于:
获取发送各sync报文的时间、接收到各sync报文的时间、各sync报文的修正域CF、各sync报文的序列号、发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号;根据获得的发送所述各sync报文的时间、接收到所述各sync报文的时间、所述各sync报文的CF和所述各sync报文的序列号计算所述各sync报文的正向时延,根据计算得到的所述各sync报文的正向时延计算所述正向时延差值;根据获得的发送所述各Delay_Req报文的时间、接收到所述各Delay_Req报文的时间、所述各Delay_Req报文的CF和所述各Delay_Req报文的序列号计算所述各Delay_Req报文的反向时延,根据计算得到的所述各Delay_Req报文的反向时延计算所述反向时延差值;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
18.根据权利要求11或12所述的装置,其特征在于,所述获取模块具体用于:
获取发送各sync报文的时间、接收到各sync报文的时间、各sync报文的修正域CF、各sync报文的序列号、发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号;按照公式forward_delay(n)=T2(n)-T1(n)-forward_CF(n)计算所述各sync报文的正向时延;其中,forward_delay(n)为所述序列号为n的sync报文的正向时延,T2(n)为接收到所述序列号为n的sync报文的时间,T1(n)为发送所述序列号为n的sync报文的时间,forward_CF(n)为所述序列号为n的sync报文的CF,n为大于或等于1的整数;根据计算得到的所述各sync报文的正向时延计算所述正向时延差值;按照公式reverse_delay(n)=T4(n)-T3(n)-reverse_CF(n)计算所述各Delay_Req报文的反向时延;其中,reverse_delay(n)为所述序列号为n的Delay_Req报文的反向时延,T4(n)为接收到所述序列号为n的Delay_Req报文的时间,T3(n)为发送所述序列号为n的Delay_Req报文的时间,reverse_CF(n)为所述序列号为n的Delay_Req报文的CF,根据计算得到的所述各Delay_Req报文的反向时延计算所述反向时延差值;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
19.根据权利要求11或12所述的装置,其特征在于,所述获取模块具体用于:
获取发送各sync报文的时间、接收到各sync报文的时间、各sync报文的修正域CF、各sync报文的序列号、发送各Delay_Req报文的时间、接收到各Delay_Req报文的时间、各Delay_Req报文的CF和各Delay_Req报文的序列号;按照公式forward_delay(n)=T2(n)-T1(n)-forward_CF(n)计算所述各sync报文的正向时延;其中,forward_delay(n)为所述序列号为n的sync报文的正向时延,T2(n)为接收到所述序列号为n的sync报文的时间,T1(n)为发送所述序列号为n的sync报文的时间,forward_CF(n)为所述序列号为n的sync报文的CF,n为大于或等于1的整数;按照公式forward_delay_theta(n+1)=|forward_delay(n+1)-forward_delay(n)|计算所述正向时延差值;其中,forward_delay_theta(n+1)为计算得到的第(n+1)个正向时延差值,forward_delay(n+1)为所述序列号为(n+1)的sync报文的正向时延,forward_delay(n)为所述序列号为n的sync报文的正向时延;按照公式reverse_delay(n)=T4(n)-T3(n)-reverse_CF(n)计算所述各Delay_Req报文的反向时延;其中,reverse_delay(n)为所述序列号为n的Delay_Req报文的反向时延,T4(n)为接收到所述序列号为n的Delay_Req报文的时间,T3(n)为发送所述序列号为n的Delay_Req报文的时间,reverse_CF(n)为所述序列号为n的Delay_Req报文的CF,按照公式reverse_delay_theta(n+1)=|reverse_delay(n+1)-reverse_delay(n)|计算所述反向时延差值;其中,reverse_delay_theta(n+1)为计算得到的第(n+1)个反向时延差值,reverse_delay(n+1)为所述序列号为(n+1)的Delay_Req报文的反向时延,reverse_delay(n)为所述序列号为n的Delay_Req报文的反向时延;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
20.根据权利要求11或12所述的装置,其特征在于,所述获取模块还用于:
在第三预设时间内获取所述第一预设时间内的正向PDV和反向PDV,和/或,在所述第三预设时间内获取所述第一预设时间内的正向丢包率和反向丢包率;
所述判断模块还用于:判断出在所述第三预设时间内获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a);或判断出在所述第三预设时间内获得的正向丢包率大于所述反向丢包率;或在所述第三预设时间内判断出获得的正向丢包率均等于反向丢包率,且在所述第三预设时间内获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a),向所述同步模块发送所述第一通知消息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510379028.5A CN106330421B (zh) | 2015-07-01 | 2015-07-01 | 一种实现频率同步的方法和装置 |
PCT/CN2016/078487 WO2016177240A1 (zh) | 2015-07-01 | 2016-04-05 | 一种实现频率同步的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510379028.5A CN106330421B (zh) | 2015-07-01 | 2015-07-01 | 一种实现频率同步的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106330421A CN106330421A (zh) | 2017-01-11 |
CN106330421B true CN106330421B (zh) | 2020-02-14 |
Family
ID=57217521
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510379028.5A Active CN106330421B (zh) | 2015-07-01 | 2015-07-01 | 一种实现频率同步的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106330421B (zh) |
WO (1) | WO2016177240A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106211306B (zh) * | 2015-04-30 | 2020-04-03 | 华为技术有限公司 | 一种通信网络延时抖动平滑方法、装置及系统 |
CN112994820B (zh) * | 2019-12-16 | 2023-04-18 | 华为技术有限公司 | 一种光纤链路检测方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882990A (zh) * | 2010-06-24 | 2010-11-10 | 中兴通讯股份有限公司 | 基于ptp及链路质量选取主时钟的方法、从时钟及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103814338A (zh) * | 2011-07-20 | 2014-05-21 | 航空网络公司 | 网络同步的系统和方法 |
US9184861B2 (en) * | 2013-10-01 | 2015-11-10 | Khalifa University of Science, Technology, and Research | Method and devices for synchronization |
WO2015049478A1 (en) * | 2013-10-01 | 2015-04-09 | Khalifa University of Science, Technology, and Research | Method and devices for synchronization |
-
2015
- 2015-07-01 CN CN201510379028.5A patent/CN106330421B/zh active Active
-
2016
- 2016-04-05 WO PCT/CN2016/078487 patent/WO2016177240A1/zh active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101882990A (zh) * | 2010-06-24 | 2010-11-10 | 中兴通讯股份有限公司 | 基于ptp及链路质量选取主时钟的方法、从时钟及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN106330421A (zh) | 2017-01-11 |
WO2016177240A1 (zh) | 2016-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8934506B2 (en) | Apparatus and method for estimating time stamp | |
EP2342850B1 (en) | A method for synchronizing clocks in a communication network | |
CN101364863B (zh) | 同步网中主、从时钟侧的时间同步方法 | |
CN111869138A (zh) | 时钟同步的方法和第一设备 | |
US9854548B2 (en) | Method for constructing a distributed boundary clock over a dedicated communication channel | |
CN102082653B (zh) | 一种时钟同步的方法、系统及装置 | |
CN102769504B (zh) | 一种1588系统及其实现同步的方法 | |
WO2012065334A1 (zh) | 在时分复用网络中实现时间同步的方法、设备和系统 | |
WO2017107519A1 (zh) | 时钟同步方法和装置 | |
CN105577349A (zh) | 一种机载网络ieee1588协议主从时钟端口同步方法 | |
AU2011367139A1 (en) | Time synchronization method and system, and node device | |
CN103259640A (zh) | 一种同步时间的方法和设备 | |
JP2018504000A (ja) | データ送信方法、通信デバイス、及び通信システム | |
CN106330421B (zh) | 一种实现频率同步的方法和装置 | |
Anyaegbu et al. | Dealing with packet delay variation in IEEE 1588 synchronization using a sample-mode filter | |
CN105634716A (zh) | 一种机载网络ieee1588协议从时钟端口同步方法 | |
WO2018076651A1 (zh) | 一种时间同步方法、设备及计算机存储介质 | |
CN113424466B (zh) | 时钟同步的方法和装置 | |
JP2018088646A (ja) | 時刻同期装置及び時刻同期方法 | |
CN103857029B (zh) | 一种确定上行链路和下行链路的延时差的方法、装置和设备 | |
EP2615752B1 (en) | Computation of a delay difference in an optical network | |
JP6654498B2 (ja) | ディジタル保護継電装置及びディジタル保護継電システム | |
KR20100048124A (ko) | 근거리 통신망에서의 시간 동기화 방법 | |
KR20090104532A (ko) | 패킷 네트워크의 동기화 장치 및 그 방법 | |
KR101605316B1 (ko) | Ptp 에서 수신 딜레이를 이용한 주파수 오차 추정 장치 |
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 |