WO2016177240A1 - 一种实现频率同步的方法和装置 - Google Patents

一种实现频率同步的方法和装置 Download PDF

Info

Publication number
WO2016177240A1
WO2016177240A1 PCT/CN2016/078487 CN2016078487W WO2016177240A1 WO 2016177240 A1 WO2016177240 A1 WO 2016177240A1 CN 2016078487 W CN2016078487 W CN 2016078487W WO 2016177240 A1 WO2016177240 A1 WO 2016177240A1
Authority
WO
WIPO (PCT)
Prior art keywords
delay
reverse
time
req
message
Prior art date
Application number
PCT/CN2016/078487
Other languages
English (en)
French (fr)
Inventor
李春华
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2016177240A1 publication Critical patent/WO2016177240A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter

Definitions

  • This document relates to, but is not limited to, clock synchronization techniques, and more particularly to a method and apparatus for achieving frequency synchronization.
  • the Institute of Electrical and Electronics Engineers (IEEE) 1588v2 is a Precision Time Synchronization Protocol (PTP), which is suitable for master-slave synchronization systems.
  • PTP Precision Time Synchronization Protocol
  • the master device periodically issues timestamp information, and the slave device calculates the line time delay and the master-slave time difference between the master device and the slave device according to the received timestamp information from the master device, according to the calculated calculation.
  • the master-slave time difference adjusts the local time so that the time of the slave device is kept at the same frequency and phase as the time of the master device.
  • IEEE1588 can achieve both frequency synchronization and time synchronization.
  • Related methods for achieving frequency synchronization generally include:
  • the master device sends a synchronization (sync) packet to the slave device, and then sends a follow-up (follow_up) packet.
  • the follow_up packet contains the time T1 when the sync packet is sent.
  • the slave device receives the sync packet and records the receiving time T2. Frequency synchronization is performed according to T1 and T2.
  • the slave device sends a Delay (Relay_Req) message to the master device at time T3, and the master device records the time T4 at which the Delay_Req message is received and sends it to the slave device, and performs frequency synchronization according to T3 and T4.
  • the packet delay variation (PDV, Packet Delay Variation) and the slave device to the slave device to the slave device may be The PDV between the master devices is different. If the forward PDV (ie the PDV between the master and the slave) is large, or the reverse PDV (ie the PDV from the device to the master) is large, then only rely on T1 and T2, or T3 and T4 In the case of frequency recovery, an excessive PDV will result in poor synchronization performance, resulting in lower synchronization accuracy.
  • PDV Packet Delay Variation
  • Embodiments of the present invention provide a method and apparatus for implementing frequency synchronization, which can improve synchronization degree.
  • the embodiment of the invention provides a method for implementing frequency synchronization, including:
  • the delay jitter PDV and the reverse PDV of the forward packet in the first preset time acquiring the forward packet loss rate and the reverse packet loss rate in the first preset time; determining the obtained positive loss The packet rate is equal to the reverse packet loss rate, and the obtained forward PDV and reverse PDV satisfy the forward_delay_stheta>reverse_delay_stheta(1+a), and the frequency is synchronized according to the time of sending the Delay_Req message and the time of receiving the Delay_Req message;
  • the forward packet loss rate and the reverse packet loss rate are obtained in the first preset time, and the forward packet loss rate is greater than the reverse packet loss rate, and the Delay_Req packet is sent according to the time and the Delay_Req is received.
  • the time of the message is frequency synchronized;
  • forward_delay_stheta is a forward PDV
  • reverse_delay_stheta is a reverse PDV
  • a is a preset value
  • the method further includes:
  • the frequency synchronization is performed according to the time when the synchronous sync message is sent and the time when the sync message is received.
  • the obtaining the forward packet loss rate and the reverse packet loss rate in the first preset time period includes:
  • the calculating, according to the sequence number of the one or more sync messages, the positive packet loss rate in the first preset time includes:
  • the number of the received sync messages in the first preset time is the product between the first preset time and the packet sending rate of the sync message, where the first preset time is actually
  • the number of received sync messages is the number of sequence numbers of all the obtained sync packets.
  • the calculating, according to the sequence number of the one or more Delay_Req messages, the reverse packet loss rate in the first preset time includes:
  • the number of the Delay_Req packets that are expected to be received in the first preset time is the product between the first preset time and the packet sending rate of the Delay_Req packet, where the first preset time is actually
  • the number of received Delay_Req messages is the number of sequence numbers of all Delay_Req messages obtained.
  • the obtaining the forward PDV and the reverse PDV in the first preset time includes:
  • the delay value is obtained according to the obtained time of sending each Delay_Req message, the time of receiving each Delay_Req message, and the CF and the location of each Delay_Req message. Calculating the reverse delay difference by using the sequence number of each Delay_Req message;
  • the calculating the forward delay difference according to the obtained time of sending each sync message, the time of receiving each sync message, the CF of each sync message, and the sequence number of each sync message include:
  • the forward delay of a sync packet, and the forward delay difference is calculated according to the calculated forward delay of each of the sync packets;
  • the calculating the reverse delay difference according to the obtained time of sending each Delay_Req message, the time of receiving each Delay_Req message, the CF of each Delay_Req message, and the sequence number of each Delay_Req message include:
  • the reverse delay of a Delay_Req packet is calculated according to the calculated inverse delay of each Delay_Req packet.
  • the calculating, according to the obtained time of sending each sync message, the time of receiving each sync message, the CF of each sync message, and the sequence number of each sync message, each sync message is calculated.
  • the positive delay includes:
  • the forward delay of the packet T2(n) is the time of receiving the sync message with the sequence number n, and T1(n) is the time of sending the sync message with the sequence number n
  • forward_CF(n) ) is CF of the sync message of sequence number n, n is an integer greater than or equal to 1;
  • the serial number of the text calculates the reverse delay of each Delay_Req message including:
  • the calculating the forward delay difference according to the calculated forward delay of each sync message includes:
  • forward_delay_theta(n+1)
  • the inverse delay difference includes:
  • reverse_delay_theta(n+1)
  • reverse_delay_theta(n+1) is the calculated (n+1)th
  • reverse_delay(n+1) is the reverse delay of the Delay_Req message with the sequence number (n+1)
  • reverse_delay(n) is the Delay_Req message with the sequence number n. Reverse delay.
  • it also includes:
  • the forward packet loss rate and the reverse packet loss rate in the time period are determined, and the forward packet loss rate obtained each time in the third preset time is equal to the reverse packet loss rate, and the third pre- The forward PDV and the reverse PDV obtained each time in the set time satisfy the forward_delay_stheta>reverse_delay_stheta(1+a).
  • Embodiments of the present invention also provide a computer readable storage medium storing computer executable instructions for performing any of the methods described above.
  • An embodiment of the present invention further provides an apparatus for implementing frequency synchronization, including:
  • the acquiring module is configured to obtain a delay jitter PDV and a reverse PDV of the forward packet in the first preset time, and/or obtain a forward packet loss rate and a reverse packet loss rate in the first preset time;
  • the judging module is configured to determine that the obtained forward PDV and reverse PDV satisfy forward_delay_stheta>reverse_delay_stheta(1+a); or determine that the obtained positive packet loss rate is equal to the reverse packet loss rate, and the obtained forward PDV sum
  • the reverse PDV satisfies forward_delay_stheta>reverse_delay_stheta(1+a); or determines that the forward packet loss rate is greater than the reverse packet loss rate, and sends a first notification message to the synchronization module;
  • the synchronization module is configured to receive the first notification message, and perform frequency synchronization according to the time of sending the Delay_Req message and the time of receiving the Delay_Req message;
  • forward_delay_stheta is a forward PDV
  • reverse_delay_stheta is a reverse PDV
  • a is a preset value
  • the determining module is further configured to:
  • the synchronization module is further configured to:
  • the second notification message is received, and frequency synchronization is performed according to the time when the synchronous sync message is sent and the time when the sync message is received.
  • the obtaining module is configured to:
  • the forward PDV and the reverse PDV in the first preset time and/or acquiring the sequence number of the one or more sync messages received in the first preset time, and receiving one or more
  • the sequence number of the Delay_Req packet is calculated according to the sequence number of the one or more sync packets
  • the forward packet loss rate is calculated according to the sequence number of the one or more Delay_Req packets.
  • the reverse packet loss rate in the first preset time.
  • the obtaining module is configured to:
  • the forward PDV and the reverse PDV in the first preset time and/or acquiring the sequence number of the one or more sync messages received in the first preset time, and receiving one or more a sequence number of the Delay_Req packet; calculating a first difference between the number of expected sync messages received in the first preset time and the number of actually received sync messages in the first preset time Calculating a ratio between the first difference and the number of expected sync messages received in the first preset time to obtain the forward packet loss rate; wherein the first preset time is expected
  • the number of received sync messages is the product between the first preset time and the packet sending rate of the sync message, and the number of actually received sync messages in the first preset time is obtained.
  • the number of sequence numbers of all the sync packets is calculated according to the sequence number of the one or more Delay_Req packets, and the reverse packet loss rate in the first preset time is calculated.
  • the obtaining module is configured to:
  • the ratio between the number of Delay_Req messages obtained is the reverse packet loss rate;
  • the number of the Delay_Req packets that are expected to be received in the first preset time is the product between the first preset time and the packet sending rate of the Delay_Req packet, where the first preset time is actually
  • the number of received Delay_Req messages is the number of sequence numbers of all Delay_Req messages obtained.
  • the obtaining module is configured to:
  • the obtaining module is configured to:
  • the obtaining module is configured to:
  • Time, T1(n) is the time at which the sync message with the sequence number n is sent, and the forward_CF(n) is the CF of the sync message with the sequence number n, n is an integer greater than or equal to 1;
  • the reverse delay of a Delay_Req packet where reverse_delay(n) is the reverse delay of the Delay_Req packet with the sequence number n, and T4(n) is the connection
  • T3(n) is the time when the Delay_Req message with the sequence number n is sent, and the reverse_CF(n) is the CF of the Delay_Req message with the sequence number n.
  • the obtaining module is configured to:
  • T4(n) is the serial number received
  • the time of the Delay_Req message of n T3(n) is the time of transmitting the Delay_Req message of the sequence number n
  • the value, reverse_delay(n+1) is the reverse delay of the Delay_Req packet with the sequence number (n+1), and the reverse_delay(n) is the reverse delay of the Delay_Req packet with the sequence number n; Calculating the forward delay difference in the second preset time according to the calculated forward delay difference to obtain the forward PDV, and calculating the reverse delay difference according to the calculated second preset time The reverse delay difference
  • the obtaining module is further configured to:
  • the determining module is further configured to: determine that the forward PDV and the reverse PDV obtained each time in the third preset time satisfy forward_delay_stheta>reverse_delay_stheta(1+a); or determine The forward packet loss rate obtained each time in the third preset time is greater than the reverse packet loss rate; or the positive packet loss rate obtained each time in the third preset time is determined. Equal to the reverse packet loss rate, and the forward PDV and the reverse PDV obtained each time in the third preset time satisfy the forward_delay_stheta>reverse_delay_stheta(1+a), and send the first notification message to the synchronization module. .
  • the technical solution of the embodiment of the present invention includes: acquiring a delay jitter PDV and a reverse PDV of a forward packet in a first preset time, and/or acquiring a forward direction in a first preset time Packet loss rate and reverse packet loss rate; determine that the obtained forward PDV and reverse PDV satisfy forward_delay_stheta>reverse_delay_stheta(1+a); or determine that the obtained positive packet loss rate is equal to the reverse packet loss rate, and The obtained forward PDV and reverse PDV satisfy forward_delay_stheta>reverse_delay_stheta(1+a); or determine that the forward packet loss rate is greater than the reverse packet loss rate, according to the time of sending the Delay_Req packet and receiving the Delay_Req message.
  • the time is synchronized.
  • the frequency synchronization is performed according to the Delay_Req message, thereby improving the synchronization precision.
  • FIG. 1 is a flowchart of a method for implementing frequency synchronization according to an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of an apparatus for implementing frequency synchronization according to an embodiment of the present invention.
  • an embodiment of the present invention provides a method for implementing frequency synchronization, including:
  • Step 100 Obtain a delay jitter PDV and a reverse PDV of the forward packet in the first preset time, and/or obtain a forward packet loss rate and a reverse packet loss rate in the first preset time.
  • obtaining the forward packet loss rate and the reverse packet loss rate in the first preset time include:
  • the forward packet loss rate in the first preset time is calculated according to the sequence number of the one or more sync packets, and the reverse packet loss rate in the first preset time is calculated according to the sequence number of the one or more Delay_Req packets.
  • the calculating the positive packet loss rate in the first preset time according to the sequence number of the one or more sync packets includes:
  • the number of the received sync messages in the first preset time is the product between the first preset time and the packet sending rate of the sync message, and the number of actually received sync messages in the first preset time. The number of serial numbers for all sync messages obtained.
  • the calculating the reverse packet loss rate in the first preset time according to the sequence number of the one or more Delay_Req packets includes:
  • the number of the Delay_Req packets that are expected to be received in the first preset time is the product between the first preset time and the packet sending rate of the Delay_Req packet, and the number of Delay_Req packets actually received in the first preset time.
  • the number of serial numbers to get one or more Delay_Req messages is the product between the first preset time and the packet sending rate of the Delay_Req packet, and the number of Delay_Req packets actually received in the first preset time.
  • obtaining the forward PDV and the reverse PDV in the first preset time includes:
  • the time of receiving each sync message calculates the forward delay difference, according to the obtained time of sending each Delay_Req message, the time of receiving each Delay_Req message, and each Delay_Req message.
  • the CF of the text and the sequence number of each Delay_Req message calculate a reverse delay difference;
  • the sequence numbers of the CF and the Delay_Req packets can be implemented by using techniques well known to those skilled in the art, and are not intended to limit the scope of the present invention, and are not described herein again.
  • each of the calculated forward delay difference and the reverse delay difference may be respectively placed in a corresponding observation window, and the observation window corresponding to the forward delay difference and the reverse delay difference respectively The equal size and equal to the number of forward delay differences or reverse delay differences calculated in the second preset time, each new positive delay difference or reverse delay in the observation window The difference, the observation window slides by one step, and all the forward delay differences or reverse delay differences in the observation window are accumulated at intervals.
  • the forward delay difference is calculated according to the obtained time of sending each sync message, the time of receiving each sync message, the CF of each sync message, and the sequence number of each sync message.
  • the forward delay of each sync message is calculated according to the obtained time of sending each sync message, the time of receiving each sync message, the CF of each sync message, and the sequence number of each sync message. Calculating a positive delay difference according to the calculated forward delay of each sync message;
  • Calculating the inverse delay difference according to the obtained time of sending each Delay_Req message, the time of receiving each Delay_Req message, the CF of each Delay_Req message, and the sequence number of each Delay_Req message include:
  • each Delay_Req message According to the obtained time of sending each Delay_Req message, the time of receiving each Delay_Req message, the CF of each Delay_Req message, and the serial number of each Delay_Req message.
  • the reverse delay of each Delay_Req packet is calculated, and the inverse delay difference is calculated according to the calculated reverse delay of each Delay_Req packet.
  • the forward direction of each sync message is calculated according to the obtained time of sending each sync message, the time of receiving each sync message, the CF of each sync message, and the sequence number of each sync message.
  • the extension includes:
  • forward_delay(n) T2(n)-T1(n)-forward_CF(n); where forward_delay(n) is the positive of the sync message with sequence number n
  • T2(n) is the time to receive the sync message with sequence number n
  • T1(n) is the time to send the sync message with sequence number n
  • forward_CF(n) is the sync with sequence number n.
  • the CF of the message, n is an integer greater than or equal to 1;
  • the reverse delay of each Delay_Req packet is calculated according to the obtained time of sending each Delay_Req message, the time of receiving each Delay_Req message, the CF of each Delay_Req message, and the sequence number of each Delay_Req message.
  • the forward delay difference calculated according to the calculated forward delay of each sync packet includes:
  • forward_delay_theta(n+1)
  • forward_delay_theta(n+1) is the calculated (n+1)th forward direction
  • forward_delay(n+1) is the forward delay of the sync packet with the sequence number (n+1)
  • forward_delay(n) is the forward delay of the sync packet with the sequence number n;
  • Calculating the inverse delay difference according to the calculated inverse delay of each Delay_Req message includes:
  • reverse_delay_theta(n+1)
  • Step 101 Determine that the obtained forward PDV and reverse PDV satisfy forward_delay_stheta>reverse_delay_stheta(1+a); or determine that the obtained positive packet loss rate is equal to the reverse packet loss rate, and obtain the forward PDV and the inverse The forward_delay_stheta>reverse_delay_stheta(1+a) is satisfied to the PDV; or the forward packet loss rate is greater than the reverse packet loss rate, and the frequency synchronization is performed according to the time of sending the Delay_Req message and the time of receiving the Delay_Req message.
  • the delay jitter PDV and the reverse PDV of the forward packet in the first preset time are obtained, and it is determined that the obtained forward PDV and reverse PDV satisfy forward_delay_stheta>reverse_delay_stheta(1+a), Performing frequency synchronization according to the time of sending the Delay_Req message and the time of receiving the Delay_Req message;
  • the delay jitter PDV and the reverse PDV of the forward packet in the first preset time acquiring the forward packet loss rate and the reverse packet loss rate in the first preset time; determining the obtained positive loss The packet rate is equal to the reverse packet loss rate, and the obtained forward PDV and reverse PDV satisfy the forward_delay_stheta>reverse_delay_stheta(1+a), and the frequency is synchronized according to the time of sending the Delay_Req message and the time of receiving the Delay_Req message;
  • the forward packet loss rate and the reverse packet loss rate are obtained in the first preset time, and the forward packet loss rate is greater than the reverse packet loss rate, and the Delay_Req packet is sent according to the time and the Delay_Req is received.
  • the time of the message is frequency synchronized.
  • the frequency synchronization is performed according to the Delay_Req message, thereby improving the synchronization precision.
  • forward_delay_stheta is the forward PDV
  • reverse_delay_stheta is the reverse PDV
  • a is the preset value
  • a is set to avoid the error.
  • the method further includes:
  • the forward packet loss rate and the reverse packet loss rate in the time period are determined, and the forward packet loss rate obtained each time in the third preset time is equal to the reverse packet loss rate, and the third pre- The forward PDV and the reverse PDV obtained each time in the set time satisfy the forward_delay_stheta>reverse_delay_stheta(1+a).
  • the method further includes: when determining that the obtained forward PDV and reverse PDV satisfy forward_delay_stheta ⁇ reverse_delay_stheta(1+a); or determining that the forward packet loss rate is equal to the reverse packet loss rate, and obtaining the positive
  • the frequency is based on the time when the synchronous sync packet is sent and the time when the sync packet is received. Synchronize.
  • the method further includes:
  • the forward packet loss rate and the reverse packet loss rate in the time period are determined, and the forward packet loss rate obtained each time in the third preset time is equal to the reverse packet loss rate, and the third pre- The forward PDV and the reverse PDV obtained each time in the set time satisfy the forward_delay_stheta ⁇ reverse_delay_stheta(1+a).
  • the direction switching is performed; if the third preset is When the frequency synchronization is performed according to the forward message one time or several times during the time, and the other is judged that the frequency synchronization is performed according to the reverse message, the direction switching is not performed. In this way, the effect of frequent switching on loop performance is prevented.
  • the above method can be performed in any device that needs to be synchronized.
  • Embodiments of the present invention also provide a computer readable storage medium storing computer executable instructions for performing any of the methods described above.
  • an embodiment of the present invention further provides an apparatus for implementing frequency synchronization, including:
  • the acquiring module is configured to obtain a delay jitter PDV and a reverse PDV of the forward packet in the first preset time, and/or obtain a forward packet loss rate and a reverse packet loss rate in the first preset time;
  • the judging module is configured to determine that the obtained forward PDV and reverse PDV satisfy forward_delay_stheta>reverse_delay_stheta(1+a); or determine that the obtained positive packet loss rate is equal to the reverse packet loss rate, and the obtained forward PDV sum
  • the reverse PDV satisfies forward_delay_stheta>reverse_delay_stheta(1+a); or determines that the forward packet loss rate is greater than the reverse packet loss rate, and sends a first notification message to the synchronization module;
  • the synchronization module is configured to receive the first notification message, and perform frequency synchronization according to the time of sending the Delay_Req message and the time of receiving the Delay_Req message;
  • forward_delay_stheta is a forward PDV
  • reverse_delay_stheta is a reverse PDV
  • a is a preset value
  • the determining module is further configured to:
  • the sync module is also set to:
  • Receiving the second notification message performing frequency synchronization according to the time when the sync message is sent and the time when the sync message is received.
  • the obtaining module is configured to:
  • the forward PDV and the reverse PDV in the first preset time and/or acquiring the sequence number of the one or more sync messages received in the first preset time, and receiving one or more Delay_Req reports
  • the serial number of the text; the forward packet loss rate in the first preset time is calculated according to the sequence number of one or more sync messages, and the inverse of the first preset time is calculated according to the sequence number of one or more Delay_Req messages.
  • the rate of packet loss is the rate of packet loss.
  • the obtaining module is configured to:
  • the number of the actual received sync messages in the first preset time is the number of the sequence numbers of all the received sync packets, according to the sequence of one or more Delay_Req messages. The number calculates the reverse packet loss rate during the first preset time.
  • the obtaining module is configured to:
  • the sequence number of the packet is calculated according to the sequence number of one or more sync packets, and the number of Delay_Req packets expected to be received in the first preset time is calculated.
  • the second difference between the number of Delay_Req packets actually received in the preset time; the ratio between the second difference and the number of Delay_Req packets expected to be received in the first preset time is reversed.
  • the number of the Delay_Req packets that are expected to be received in the first preset time is the product between the first preset time and the packet sending rate of the Delay_Req packet, and the number of Delay_Req packets actually received in the first preset time. To get the number of serial numbers for all Delay_Req messages.
  • the obtaining module is configured to:
  • the delay difference is calculated by adding the reverse delay difference in the second preset time, and/or obtaining the forward packet loss rate and the reverse packet loss rate in the first preset time.
  • the obtaining module is configured to:
  • each Delay_Req packet Calculate the inverse delay of each Delay_Req packet with the sequence number of each Delay_Req packet, and calculate the inverse delay difference according to the calculated reverse delay of each Delay_Req packet;
  • the delay difference is calculated by adding the forward delay difference in the second preset time to obtain the forward PDV, and calculating the inverse delay difference according to the calculated reverse delay difference in the second preset time to obtain the inverse Obtaining a positive packet loss rate and a reverse packet loss rate in the first preset time period to the PDV, and/or.
  • the obtaining module is configured to:
  • forward_CF(n) is the CF of the sync message with the sequence number n
  • n is an integer greater than or equal to 1; the positive according to the calculation is positive for each sync message.
  • the obtaining module is configured to:
  • Forward_delay(n) T2(n)-T1(n)-forward_CF(n) calculates the forward delay of each sync message; where forward_delay(n) is the forward direction of the sync message with sequence number n Delay, T2(n) is the time of receiving the sync message with sequence number n, T1(n) is the time of sending the sync message with sequence number n, and forward_CF(n) is the sync message with sequence number n.
  • forward_delay_theta(n+1)
  • reverse_CF(n) is Dela with sequence number n
  • the obtaining module is further configured to:
  • the judgment module is also set to:
  • each module/unit in the foregoing embodiment may be implemented in the form of hardware, for example, by implementing an integrated circuit to implement its corresponding function, or may be implemented in the form of a software function module, for example, executing a program in a storage and a memory by a processor. / instruction to achieve its corresponding function.
  • the invention is not limited to any specific form of combination of hardware and software.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Data Exchanges In Wide-Area Networks (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为预设值。

Description

一种实现频率同步的方法和装置 技术领域
本文涉及但不限于时钟同步技术,尤指一种实现频率同步的方法和装置。
背景技术
电气和电子工程师协会(IEEE,Institute Electrical and Electronics Engineers)1588v2是一种精确时间同步协议(PTP,Precision Time Protocol),它适用于主从同步系统。在系统的同步过程中,主设备周期性发布时间戳信息,从设备根据接收到的来自主设备的时间戳信息计算主设备到从设备之间的线路时间延迟和主从时间差,根据计算得到的主从时间差调整本地时间,使从设备的时间保持与主设备的时间一致的频率与相位。IEEE1588可以同时实现频率同步和时间同步。
相关的实现频率同步的方法大致包括:
主设备向从设备发送同步(sync)报文,然后发送一个跟踪(follow_up)报文,follow_up报文中包含有发送sync报文的时间T1;从设备接收到sync报文,记录接收时间T2,根据T1和T2进行频率同步。或者,从设备在T3时间向主设备发送延迟(Delay_Req)报文,主设备记录接收到Delay_Req报文的时间T4并发送给从设备,根据T3和T4进行频率同步。
相关的实现频率同步的方法中,由于网络中正反向的流量负载不一样或者其他原因,会导致主设备到从设备之间的包的延时抖动(PDV,Packet Delay Variation)和从设备到主设备之间的PDV不同。如果正向PDV(即主设备到从设备之间的PDV)很大,或反向PDV(即从设备到主设备之间的PDV)很大,则仅仅依靠T1和T2、或T3和T4进行频率恢复的话,过大的PDV会导致同步性能不佳,从而导致同步精度较低。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提出了一种实现频率同步的方法和装置,能够提高同步精 度。
本发明实施例提出了一种实现频率同步的方法,包括:
获取第一预设时间内的正向包的延时抖动PDV和反向PDV,判断出获得的正向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),根据发送延迟Delay_Req报文的时间和接收到Delay_Req报文的时间进行频率同步;
或者,获取第一预设时间内的正向丢包率和反向丢包率,判断出正向丢包率大于所述反向丢包率,根据发送延迟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报文的序列号计算反向时延差值;
根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加得到所述正向PDV,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加得到所述反向PDV。
可选地,所述根据获得的发送每一个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,在所述第三预设时间内一次或多次获取所述第一预设时间内的正向丢包率和反向丢包率,判断出在所述第三预设时间内每次获得的正向丢包率均等于反向丢包率,且在所述第三预设时间内每次获得的正向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报文的序列号计算反向时延差值;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加得到所述正向PDV,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加得到所述反向PDV,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
可选地,所述获取模块是设置为:
获取发送每一个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报文的反向时延计算所述反向时延差值;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加得到所述正向PDV,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加得到所述反向PDV,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
可选地,所述获取模块是设置为:
获取发送每一个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报文的反向时延计算所述反向时延差值;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加得到所述正向PDV,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加得到所述反向PDV,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
可选地,所述获取模块是设置为:
获取发送每一个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,和/或,在所述第三预设时间内一次或多次获取所述第一预设时间内的正向丢包率和反向丢包率;
所述判断模块还设置为:判断出在所述第三预设时间内每次获得的正向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报文的序列号计算反向时延差值;
根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加得到正向PDV,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加得到反向PDV。
其中,具体如何获取发送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报文的时间进行频率同步。
也就是说,上述方法中,获取第一预设时间内的正向包的延时抖动PDV和反向PDV,判断出获得的正向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),根据发送延迟Delay_Req报文的时间和接收到Delay_Req报文的时间进行频率同步;
或者,获取第一预设时间内的正向丢包率和反向丢包率,判断出正向丢包率大于所述反向丢包率,根据发送延迟Delay_Req报文的时间和接收到Delay_Req报文的时间进行频率同步。
通过本发明实施例的方案,当反向丢包率较低或forward_delay_stheta>reverse_delay_stheta(1+a)时,根据Delay_Req报文进行频率同步,从而提高了同步精度。
本步骤中,forward_delay_stheta为正向PDV,reverse_delay_stheta为反向PDV,a为预设值,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,在所述第三预设时间内一次或多次获取所述第一预设时间内的正向丢包率和反向丢包率,判断出在所述第三预设时间内每次获得的正向丢包率均等于反向丢包率,且在所述第三预设时间内每次获得的正向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);或判断出正向丢包率小于反向丢包率后,在根据发送同步sync报文的时间和接收到sync报文的时间进行频率同步之前还包括:
在第三预设时间内一次或多次获取所述第一预设时间内的正弦PDV和反向PDV,判断出在所述第三预设时间内每次获得的正向PDV和反向PDV均满足forward_delay_stheta<reverse_delay_stheta(1+a);
或者,在所述第三预设时间内一次或多次获取所述第一预设时间内的正向丢包率和反向丢包率,判断出在所述第三预设时间内每次获得的正向丢包率均大于所述反向丢包率;
或者,在第三预设时间内一次或多次获取所述第一预设时间内的正弦PDV和反向PDV,在所述第三预设时间内一次或多次获取所述第一预设时间内的正向丢包率和反向丢包率,判断出在所述第三预设时间内每次获得的正向丢包率均等于反向丢包率,且在所述第三预设时间内每次获得的正向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报文的反向时延计算反向时延差值;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加得到正向PDV,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加得到反向PDV,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
本发明实施例的装置中,获取模块是设置为:
获取发送每一个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报文的反向时延计算反向时延差值;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加得到正向PDV,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加得到反向PDV,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
本发明实施例的装置中,获取模块是设置为:
获取发送每一个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,和/或,在第三预设时间内一次或多次获取第一预设时间内的正向丢包率和反向丢包率;
判断模块还设置为:
判断出在第三预设时间内每次获得的正向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),根据发送延迟Delay_Req报文的时间和接收到Delay_Req报文的时间进行频率同步;
    或者,获取第一预设时间内的正向包的延时抖动PDV和反向PDV,获取第一预设时间内的正向丢包率和反向丢包率;判断出获得的正向丢包率等于反向丢包率,且获得的正向PDV和反向PDV满足forward_delay_stheta>reverse_delay_stheta(1+a),根据发送延迟Delay_Req报文的时间和接收到Delay_Req报文的时间进行频率同步;
    或者,获取第一预设时间内的正向丢包率和反向丢包率,判断出正向丢包率大于所述反向丢包率,根据发送延迟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报文的序列号计算反向时延差值;
    根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加得到所述正向PDV,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加得到所述反向PDV。
  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,在所述第三预设时间内一次或多次获取所述第一预设时间内的正向丢包率和反向丢包率,判断出在所述第三预设时间内每次获得的正向丢包率均等于反向丢包率,且在所述第三预设时间内每次获得的正向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报文的序列号计算反向时延差值;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加得到所述正向PDV,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加得到所述反向PDV,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
  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报文的反向时延计算所述反向时延差值;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加得到所述正向PDV,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加得到所述反向PDV,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
  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报文的反向时延计算所述反向时延差值;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加得到所述正向PDV,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加得到所述反向PDV,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
  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报文的反向时延;根据计算得到的正向时延差值计算第二预设时间内的正向时延差值累加得到所述正向PDV,根据计算得到的反向时延差值计算第二预设时间内的反向时延差值累加得到所述反向PDV,和/或,获取第一预设时间内的正向丢包率和反向丢包率。
  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),向所述同步模块发送所述第一通知消息。
PCT/CN2016/078487 2015-07-01 2016-04-05 一种实现频率同步的方法和装置 WO2016177240A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510379028.5A CN106330421B (zh) 2015-07-01 2015-07-01 一种实现频率同步的方法和装置
CN201510379028.5 2015-07-01

Publications (1)

Publication Number Publication Date
WO2016177240A1 true WO2016177240A1 (zh) 2016-11-10

Family

ID=57217521

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/078487 WO2016177240A1 (zh) 2015-07-01 2016-04-05 一种实现频率同步的方法和装置

Country Status (2)

Country Link
CN (1) CN106330421B (zh)
WO (1) WO2016177240A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10389645B2 (en) * 2015-04-30 2019-08-20 Huawei Technologies Co., Ltd. Communications network delay variation smoothing method, apparatus, and system
WO2021120956A1 (zh) * 2019-12-16 2021-06-24 华为技术有限公司 一种光纤链路检测方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882990A (zh) * 2010-06-24 2010-11-10 中兴通讯股份有限公司 基于ptp及链路质量选取主时钟的方法、从时钟及系统
CN103814338A (zh) * 2011-07-20 2014-05-21 航空网络公司 网络同步的系统和方法
US20150092793A1 (en) * 2013-10-01 2015-04-02 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

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882990A (zh) * 2010-06-24 2010-11-10 中兴通讯股份有限公司 基于ptp及链路质量选取主时钟的方法、从时钟及系统
CN103814338A (zh) * 2011-07-20 2014-05-21 航空网络公司 网络同步的系统和方法
US20150092793A1 (en) * 2013-10-01 2015-04-02 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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WANG, YANG: "Study on Clock Synchronization Based on IEEE1588 Protocol in Telecommunication Network", CHINA MASTER'S THESES FULL-TEXT DATABASE, INFORMATION TECHNOLOGY, 15 August 2010 (2010-08-15), ISSN: 1674-0246 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10389645B2 (en) * 2015-04-30 2019-08-20 Huawei Technologies Co., Ltd. Communications network delay variation smoothing method, apparatus, and system
WO2021120956A1 (zh) * 2019-12-16 2021-06-24 华为技术有限公司 一种光纤链路检测方法及装置

Also Published As

Publication number Publication date
CN106330421B (zh) 2020-02-14
CN106330421A (zh) 2017-01-11

Similar Documents

Publication Publication Date Title
CN106488550B (zh) 确定终端与基站时钟时间偏差的方法与装置
US9548831B2 (en) Synchronizing system, synchronizing method, first synchronizing device, second synchronizing device, and computer program
JP5495323B2 (ja) ネットワークを介した時刻同期装置
US9634782B2 (en) Clock synchronization system, clock synchronization method, and storage medium whereupon clock synchronization program is stored
CN102457371B (zh) 时间同步方法和相关设备及系统
US8689035B2 (en) Communication system, communication interface, and synchronization method
WO2017101528A1 (zh) 一种时钟链路切换方法、装置及基站
JP2012170076A5 (zh)
WO2017063450A1 (zh) 一种时间戳过滤的方法及装置
KR20150143801A (ko) 타임스탬프를 생성하는 방법, 장치, 그리고 시스템
WO2017032113A1 (zh) 一种时间同步偏差检测方法和装置
EP2738971A1 (en) Mehtod and device for clock synchronization
WO2015116980A1 (en) Network clock skew estimation and calibration
WO2016004644A1 (zh) 一种监控以太网时钟同步的方法及装置
CN102769504B (zh) 一种1588系统及其实现同步的方法
CN103888237A (zh) 一种实现时钟时间同步的方法及装置
CN105027489B (zh) 精确时钟协议同步方法和节点
CN102082653B (zh) 一种时钟同步的方法、系统及装置
WO2015010250A1 (en) Clock recovery in a packet based network
JP6132734B2 (ja) 時刻同期システム及び装置
CN105207767B (zh) 一种ptp主时钟与从时钟之间频率同步的方法及装置
WO2013051447A1 (ja) 時刻制御装置、時刻制御方法、およびプログラム
WO2017107519A1 (zh) 时钟同步方法和装置
CN103259640A (zh) 一种同步时间的方法和设备
US20140119391A1 (en) Apparatus and method for synchronizing clocks among communication devices

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16789234

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16789234

Country of ref document: EP

Kind code of ref document: A1