选择时钟源的方法及装置与流程

文档序号:30493162发布日期:2022-06-22 02:38阅读:211来源:国知局
选择时钟源的方法及装置与流程

1.本技术涉及通信领域,特别涉及一种选择时钟源的方法及装置。


背景技术:

2.5g网络包括多个时钟源,每个时钟源的质量不同。5g网络中的网元会选择一个时钟源,并与选择的时钟源同步。通常网元会选择质量高的时钟源,并与该时钟源同步。
3.在网元与该时钟源同步时,该时钟源可能发生故障,导致网元重新选择质量次之的另一时钟源,并与该另一时钟源同步。当该时钟源恢复正常后,只能由运维人员手动将网元与该时钟源相连的端口恢复正常,运维效率低。


技术实现要素:

4.本技术提供了一种选择时钟源的方法及装置,以使网络设备能够自动将恢复正常的时钟源作为选源的参考,提高运维效率。所述技术方案如下:
5.第一方面,本技术提供了一种选择时钟源的方法,在所述方法中:第一网络设备通过处于时钟同步故障状态的第一端口,获取与第二网络设备之间的同步偏差数据。第一网络设备基于该同步偏差数据,确定在选择时钟源时是否参考第一端口收到的时钟信息。
6.在上述方案中,由于第一网络设备通过处于时钟同步故障状态的第一端口获取第一网络设备与第二网络设备之间的同步偏差数据,基于该同步偏差数据确定第一端口接收的时钟输入数据或物理时钟信号是否恢复正常。在确定恢复正常时,第一网络设备在选择时钟源时参考第一端口收到的时钟信息。这样在与第一端口通信的第二网络设备(或时钟源)出现的故障被修复后,第一网络设备能够自动检测出该情况,并在选择时钟源时将第一端口收到的时钟信息作为参考,而无需运维人员手动将第一端口恢复正常,自动将恢复正常的时钟源作为选源的参考,从而提高运维效率。
7.在一种可能的实现方式中,在该同步偏差数据可用时,第一网络设备在选择时钟源时参考第一端口收到的时钟信息。在该同步偏差数据可用,表示第一端口接收的时钟输入数据或物理时钟信号恢复正常,第一网络设备在选择时钟源时参考第一端口收到的时钟信息,无需运维人员手动将第一端口恢复正常,提高运维效率。
8.在另一种可能的实现方式中,第一端口的端口属性包括标记信息,该标记信息用于指示第一端口处于时钟同步故障状态。在该同步偏差数据可用时,第一网络设备设置该标记信息用于指示第一端口处于时钟同步正常状态。其中,在第一端口处于时钟同步正常状态的情况下,第一网络设备选择时钟源时才参考第一端口收到的时钟信息,所以第一网络设备设置该标记信息用于指示第一端口处于时钟同步正常状态,从而保证在选择时钟源时第一网络设备会参考第一端口收到的时钟信息。
9.在另一种可能的实现方式中,该同步偏差数据可用是指该同步偏差数据小于偏差阈值,或者,是指该同步偏差数据的变化量小于变化量阈值。例如,连续得到n个变化量均小于变化量阈值,则确定该同步偏差数据可用,n为大于或等于1的整数。n可以为2、3、4或5等
值。且在此处该同步偏差数据是绝对值,该变化量也是绝对值,该偏差阈值和该变化量阈值均为大于0的值。
10.在另一种可能的实现方式中,第一网络设备通过第一端口,获取与第二网络设备之间的同步数据,第一端口的状态为第一状态。第一网络设备基于该同步数据,获取与第二网络设备之间的同步偏差数据。由于第一端口的状态是第一状态,从而可以通过第一端口获取到该同步数据,进而可以准确地获取到该同步偏差数据。
11.在另一种可能的实现方式中,第一状态包括从slave状态、主master状态、监控monitor状态或被动passive状态。这样保证通过第一端口可以获取到第一网络设备与第二网络设备之间的同步数据。
12.在另一种可能的实现方式中,第一网络设备将第一端口的状态设置为第一状态。这样保证通过第一端口可以获取到第一网络设备与第二网络设备之间的同步数据。
13.在另一种可能的实现方式中,第一网络设备周期性地将第一端口的状态设置为第一状态,第一状态包括slave状态、monitor状态或passive状态。这样在第一端口的状态变为第一状态时才获取同步数据,从而第一网络设备不需要实时通过第一端口获取同步数据,减小对第一网络设备的网络资源和计算资源的占用。
14.在另一种可能的实现方式中,当第一状态为slave状态时,第一网络设备控制第一网络设备的时钟不根据第一端口的时钟输入数据进行调整。这样在第一端口接收的时钟输入数据未恢复正常之前,避免第一网络设备的时钟基于该时钟输入数据进行调整,导致出现同步错误。
15.在另一种可能的实现方式中,第一网络设备接收第二网络设备发送的同步sync报文,sync报文包括第二网络设备发送sync报文的发送时间t1,确定接收sync报文的接收时间t2。第一网络设备向第二网络设备发送时延请求delay_req报文,确定发送delay_req报文的发送时间t3。第一网络设备接收所述第二网络设备发送的时延响应delay_resp报文,delay_resp报文包括第二网络设备接收delay_req报文的接收时间t4,其中,同步数据包括t1、t2、t3和t4中的多个。
16.在另一种可能的实现方式中,同步偏差数据包括第一网络设备与第二网络设备之间的时间偏差。
17.在另一种可能的实现方式中,第一网络设备通过第一端口,接收第二网络设备发送的第一物理时钟信号。第一网络设备根据第一物理时钟信号和第二物理时钟信号,获取与第二网络设备之间的频率偏差,第二物理时钟信号是第一网络设备本地的信号。其中,该频率偏差即为同步偏差数据,如此可以基于该频率偏差确定第一端口接收的物理时钟信号是否恢复正常。
18.在另一种可能的实现方式中,第一网络设备控制第一网络设备的时钟不根据第一物理时钟信号进行调整。这样在第一端口接收的物理时钟信号未恢复正常之前,避免第一网络设备的时钟基于第一端口接收的物理时钟信号进行调整,导致出现同步错误。
19.第二方面,本技术提供了一种选择时钟源的装置,用于执行第一方面或第一方面的任意一种可能的实现方式中的由第一网络设备执行的方法。具体地,所述装置包括用于执行第一方面或第一方面的任意一种可能的实现方式中的由第一网络设备执行的方法的单元。
20.第三方面,本技术提供了一种选择时钟源的装置,所述装置包括收发器、处理器和存储器。其中,所述收发器、所述处理器以及所述存储器之间可以通过内部连接相连。所述存储器用于存储程序,所述处理器用于执行所述存储器中的程序以及配合收发器,使得所述装置完成第一方面或第一方面的任意可能的实现方式中的由第一网络设备执行的方法。
21.第四方面,本技术提供了一种计算机程序产品,所述计算机程序产品包括在计算机可读存储介质中存储的程序,并且所述程序通过设备进行加载来实现上述第一方面或第一方面任意可能的实现方式的方法。
22.第五方面,本技术提供了一种计算机可读存储介质,用于存储程序,所述程序通过设备进行加载来执行上述第一方面或第一方面任意可能的实现方式的方法。
附图说明
23.图1是本技术实施例提供的一种网络架构示意图;
24.图2是本技术实施例提供的一种第一网络设备的结构示意图;
25.图3是本技术实施例提供的一种选择时钟源的方法流程图;
26.图4是本技术实施例提供的另一种选择时钟源的方法流程图;
27.图5是本技术实施例提供的第一物理时钟信号和第二物理时钟信号的示意图;
28.图6是本技术实施例提供的一种选择时钟源的装置结构示意图;
29.图7是本技术实施例提供的另一种选择时钟源的装置结构示意图。
具体实施方式
30.下面将结合附图对本技术实施方式作进一步地详细描述。
31.以下是本技术所涉及概念的简介。
32.同步偏差数据,用于描述第一网络设备与第二网络设备之间的偏差,包括第一网络设备与第二网络设备之间的时间偏差,或者,第一网络设备与第二网络设备之间的频率偏差。其中,在本技术实施例中,为了简化流程,以该时间偏差是绝对值,以及以该频率偏差是绝对值为例来说明。
33.偏差阈值,包括时间偏差阈值或频率偏差阈值,时间偏差阈值和频率偏差阈值均为大于0的值。
34.第一端口,是第一网络设备上与第二网络设备通信的端口。
35.第一状态,是第一端口处于的状态,第一端口在处于第一状态时能够向第二网络设备发送时延请求(delay request,delay req)报文,和/或,接收第二网络设备响应该delay req报文发送的时延响应(delay response,delay resp)报文。
36.参见图1,本技术提供了一种网络架构100,包括:
37.第一网络设备和至少一个第二网络设备,每个第二网络设备与第一网络设备通信。
38.其中,第一网络设备包括至少一个端口,每个第二网络设备与第一网络设备中的一个端口通信。
39.其中,图1仅是网络架构100的一种示例,该示例中网络架构100包括两个第二网络设备,第一网络设备包括两个端口。图1仅是举例说明网络架构100,但不应理解为对网络架
构100的限制。即在图1中网络架构100中包括的第二网络设备的数目可能多于两个,第一网络设备还包括的端口数目可能多于两个;或者,网络架构100中包括的第二网络设备的数目可能少于两个,第一网络设备包括的端口数目可能少于两个。
40.每个第二网络设备用于发送数据和/或物理时钟信号等,该数据包括时钟信息或时间等。该时钟信息包括时钟等级等信息,用于指示时钟源质量。可选的,该时钟信息为第二网络设备发送的通知(announce)报文携带的时钟信息或同步状态消息(synchronization status message,ssm)报文携带的时钟信息。
41.该时间是第二网络设备发送的时间,包括第二网络设备发送的同步(sync)报文携带的时间和第二网络设备发送的delay resp报文携带的时间等。
42.针对每个第二网络设备,该第二网络设备与第一网络设备直连,或者,该第二网络设备与第一网络设备之间的链路经过至少一个其他网络设备,但每个其他网络设备透传第一网络设备和该第二网络设备之间的报文。
43.该第二网络设备可能是一个时钟源,或者,是第一网络设备与一个时钟源之间的链路经过的网络设备。
44.第一网络设备可以通过其包括的各端口接收时钟信息,根据各端口接收的时钟信息执行选择时钟源操作。其中,第一网络设备在执行完选择时钟源操作后会选出一个端口,为了便于说明,将选出的一个端口称为第一端口,将与第一端口通信的第二网络设备称为第二网络设备1,第一端口接收的时钟信息指示的时钟源质量可能最高。
45.在使用1588协议进行时间同步的场景中,第一网络设备利用第一端口调整第一网络设备的时钟的时间;或者,在使用物理层同步技术进行频率同步的场景,第一网络设备利用第一端口调整第一网络设备的时钟的频率。
46.可选的,对于使用1588协议进行时间同步的场景,在选出第一端口后,第一端口的状态被设置为从(slave)状态,第一网络设备通过slave状态的第一端口接收时钟输入数据,该时钟输入数据可能包括第二网络设备1发送的时间等,基于该时钟输入数据调整第一网络设备的时钟,以使第一网络设备的时钟的时间与第二网络设备1的时钟的时间同步。其中,在此场景下,第一网络设备的端口接收的时钟信息为第二网络设备发送的announce报文携带的时钟信息。
47.可选的,对于使用物理层同步技术进行频率同步的场景,在选出第一端口后,第一端口接收第二网络设备1发送的物理时钟信号,第一网络设备基于第一端口接收的物理时钟信号调整第一网络设备的时钟,使第一网络设备的时钟的频率与第二网络设备1的时钟的频率同步。其中,在此场景下,第一网络设备的端口接收的时钟信息为第二网络设备发送的ssm报文携带的时钟信息。
48.可选的,对于上述调整时间的情况,在第一端口接收该时钟输入数据的情况下,该时钟输入数据包括第二网络设备1发送的时间,第二网络设备1发送的时间包括第二网络设备1发送的sync报文携带的时间和/或第二网络设备1发送的delay resp报文携带的时间。第一网络设备基于第二网络设备1发送的时间调整第一网络设备的时钟,以使第一网络设备的时钟的时间与第二网络设备1的时钟的时间同步。在实现时:
49.第一网络设备通过第一端口接收第二网络设备1第一sync报文,其中,第二网络设备1定期或不定期地发送sync报文,第一sync报文是第二网络设备1当前发送的sync报文,
第一sync报文包括第二网络设备1发送第一sync报文的发送时间ta。第一网络设备获取接收第一sync报文的接收时间tb,通过第一端口向第二网络设备1发送第一delay req报文,并获取发送第一delay req报文的发送时间tc。第一网络设备通过第一端口接收第二网络设备1响应第一delay req报文,发送的第一delay resp报文,第一delay resp报文包括第二网络设备1接收第一delay req报文的接收时间td。第一网络设备基于ta、tb、tc和/或td计算第一网络设备与第二网络设备1之间的时间偏差,基于该时间偏差调整第一网络设备的时钟。
50.例如,如图1所示,第一网络设备包括端口1和端口2,该至少一个第二网络设备包括第二网络设备1和第二网络设备2。第二网络设备1与端口1通信,第二网络设备2与端口2通信。第一网络设备通过端口1接收第二网络设备1发送的时钟信息1和通过端口2接收第二网络设备2发送的时钟信息2,基于时钟信息1和时钟信息2执行选择时钟源操作。假设执行完选择时钟源操作后选出端口1,端口1的状态为slave状态,第一网络设备通过端口1接收时钟输入数据,该时钟输入数据可以是第二网络设备1发送的时间等,基于该时钟输入数据调整第一网络设备的时钟,以实现第一网络设备的时钟的时间与第二网络设备1的时钟的时间同步。
51.其中,第一接口接收的时钟输入数据或物理时钟信号可能发生跳变,导致第一网络设备在第一端口的端口属性中添加标记信息,该标记信息用于指示第一端口处于时钟同步故障状态。此时第一网络设备从除第一端口之外的其他端口中执行选择时钟源操作,以重新选出一个端口,为了便于说明将该选出的端口称为第二端口,将与第二端口通信的第二网络设备称为第二网络设备2。
52.可选的,对于使用1588协议进行时间同步的场景,在选出第二端口后,第二端口的状态被设置为slave状态,而第一端口的状态变为非slave状态。第一网络设备通过第二端口接收时钟输入数据,该时钟输入数据包括第二网络设备2发送的时间,基于接收的时钟输入数据调整第一网络设备的时钟。
53.可选的,对于使用物理层同步技术进行频率同步的场景,在选出第二端口后,第二端口接收第二网络设备2发送的物理时钟信号,第一网络设备基于第二端口接收的物理时钟信号调整第一网络设备的时钟,使第一网络设备的时钟的频率与第二网络设备2的时钟的频率同步。
54.可选的,该标记信息为包定时信号失效(packet timing signal fail,ptsf)标记。
55.所谓时钟输入数据发生跳变是指:该时钟输入数据包括第二网络设备1发送的时间,第一网络设备根据第二网络设备1发送的时间,获取的第一网络设备与第二网络设备1之间的时间偏差超过时间偏差阈值。
56.所谓物理时钟信号发生跳变是指:第一端口接收的物理时钟信号的相位与最近上一次接收的物理时钟信号的相位之间的相位差超过相位差阈值。
57.对于上述第一网络设备,第一网络设备的结构可能有多种,接下来列举在调整频率情况下的一种第一网络设备的示例。参见图2,本技术实施例提供了一种第一网络设备,图2所示的第一网络设备仅是一种示例,对于其他示例不再一一列举。
58.第一网络设备包括主控板和至少一个接口板,主控板与每个接口板通信,每个接
口板包括多个端口,该接口板中的每个端口与一个第二网络设备通信,第二网络设备向第一网络设备发送数据和物理时钟信号,该数据包括时钟信息等。其中,第二网络设备定期或不定期地发送ssm报文,该ssm报文包括时钟信息。
59.对于该至少一个接口板中的每个接口板,该接口板上的每个端口可以接收时钟信息,第一网络设备基于该接口板上的每个端口接收的时钟信息,执行选择时钟源操作,并选出一个端口作为第一端口,该接口板将第一端口接收的物理时钟信号发送给主控板。这样主控板可以接收每个接口板发送的物理时钟信号,从接收的各物理时钟信号中选择一个最优物理时钟信号,基于该最优物理时钟信号调整第一网络设备的时钟的频率。
60.例如,如图2所示,第一网络设备包括主控板、接口板1和接口板2,主控板分别与接口板1和接口板2通信,接口板1包括端口1和端口2,接口板2包括端口3和端口4。接口板1的端口1和端口2分别与第二网络设备1和第二网络设备2通信,接口板2的端口3和端口4分别与第二网络设备3和第二网络设备4通信。
61.对于接口板1,接口板1的端口1接收第二网络设备1发送的时钟信息1,接口板1的端口2接收第二网络设备2发送的时钟信息2。第一网络设备基于时钟信息1和时钟信息2执行选择时钟源操作。假设选出端口1,这样接口板1将端口1接收的物理时钟信号发送给主控板。
62.对于接口板2,假设接口板2将端口3接收的物理时钟信号发送给主控板。主控板接收接口板1发送的物理时钟信号和接口板2发送的物理时钟信号,从接收的两个物理时钟信号中选择一个最优物理时钟信号,主控板根据这个最优物理时钟信号调整第一网络设备的时钟。
63.其中,对于每个接口板,该接口板上的第一接口接收的物理时钟信号的相位可能发生跳变,导致第一网络设备在第一端口的端口属性中添加标记信息,该标记信息用于指示第一端口处于时钟同步故障状态。此时第一网络设备对该接口板上除第一端口外的其他端口执行选择时钟源操作,以重新选出一个端口,为了便于说明将该选出的端口称为第二端口,该接口板将第二端口接收的物理时钟信号发送给主控板,以使主控板基于每个接口板发送的物理时钟信号调整第一网络设备的时钟。
64.对于上述第一端口,第一端口接收的时钟输入数据或物理时钟信号发生跳变的原因,可能是与第一端口通信的第二网络设备1出现故障,或者,在第二网络设备1是第一端口与一个时钟源之间的链路经过的网络设备的情况下,该原因可能是该时钟源出现故障。技术人员可以对出现的故障进行修复,在技术人员对出现的故障进行修复后,第一网络设备通过如下任意实施例执行选择时钟源操作,并在选择时钟源时将第一端口接收的时钟信息作为选择时钟源的参考对象。
65.可选的,上述第一网络设备可以为网元,例如可以为交换机、路由器、基站、网关、光传送网(optical transport network,otn)、光线路终端(optical line terminal,olt)或光网络单元(optical network unit,onu)等设备。
66.参见图3,本技术实施例提供了一种选择时钟源的方法,该方法能够应用于上述图1所示的网络架构100,且该方法应用于使用1588协议进行时间同步的场景,包括:
67.步骤301:第一网络设备通过处于时钟同步故障状态的第一端口,获取与第二网络设备1之间的时间偏差。
68.在步骤301中,第一网络设备通过如下3011至3012的操作,获取该时间偏差。该3011至3012的操作分别为:
69.3011:第一网络设备通过第一端口,获取与第二网络设备之间的同步数据,第一端口的状态为第一状态。
70.在第一网络设备检测到第一端口接收的时钟输入数据跳变时,第一网络设备可以设置第一端口的状态为第一状态,且第一端口的状态保持为第一状态不变,此情况下第一状态包括主(master)状态、监控(monitor)状态或被动(passive)状态。这样第一网络设备能够通过第一状态的第一端口,实时获取与第二网络设备之间的同步数据。或者,
71.在第一网络设备检测到第一端口接收的时钟输入数据跳变时,第一网络设备将第一端口的状态设置为master状态,之后第一网络设备可以周期性地将第一端口的状态设置为第一状态,此情况下第一状态包括slave状态、monitor状态或passive状态。这样第一网络设备能够通过第一状态的第一端口,周期性获取与第二网络设备之间的同步数据。此种方式可以减少第一网络设备的负担,减小对第一网络设备的网络资源和计算资源的占用。
72.其中,需要说明的是:在第一网络设备检测到第一端口接收的时钟输入数据跳变时,第一网络设备可能执行选择时钟源操作,重新选出第二端口,此时第二端口的状态为slave状态。第一网络设备基于第二端口接收的时钟输入数据调整第一网络设备的时钟,该时钟输入数据包括与第二端口通信的第二网络设备2发送的时间。
73.例如,以图1所示的网络架构100为例,假设第一端口为端口1,在端口1接收的时钟输入数据跳变时,第一网络设备在端口1的端口属性中添加标记信息,该标记信息用于标记端口1处于时钟同步故障状态。此时,第一网络设备执行选择时钟源操作,并选出端口2,端口2的状态变为slave状态,第一网络设备基于端口2接收的时钟输入数据调整第一网络设备的时钟。
74.可选的,第一网络设备通过如下(1)至(3)的操作,获取与第二网络设备1之间的同步数据。该(1)至(3)的操作,分别为:
75.(1):第一网络设备接收第二网络设备1发送的第二sync报文,第二sync报文包括第二网络设备1发送第二sync报文的发送时间t1,确定接收第二sync报文的接收时间t2。
76.第二网络设备1定期或不定期地发送sync报文,第二sync报文是第二网络设备1当前发送的sync报文。在第一端口的第一状态是slave状态、master状态、monitor状态或passive状态时,第一网络设备可以通过第一端口接收到第二网络设备1发送的第二sync报文。
77.(2):第一网络设备向第二网络设备1发送第二delay_req报文,确定发送第二delay_req报文的发送时间t3。
78.在操作(2)中,第一网络设备通过第一状态的第一端口向第二网络设备1发送第二delay_req报文。
79.在第一端口的状态保持为第一状态不变的情况下,第一状态包括master状态、monitor状态或passive状态。在第一状态为master状态时,该master状态不同于当前标准定义的master状态,该master状态的第一端口能够向第二网络设备1发送第二delay_req报文,以及接收第二网络设备1响应第二delay_req报文,发送的第二delay_resp报文。在第一状态为monitor状态或passive状态时,该monitor状态或passive状态的第一端口能够向第
二网络设备1发送第二delay_req报文,以及接收第二网络设备1响应第二delay_req报文,发送的第二delay_resp报文。
80.在周期性地将第一端口的状态设置为第一状态不变的情况下,第一状态包括slave状态、monitor状态或passive状态。此情况下,在第一网络设备检测到第一端口接收的时钟输入数据跳变时,第一网络设备将第一端口的状态设置为master状态,且master状态的第一端口不可以向第二网络设备1发送第二delay_req报文,以及接收第二网络设备1响应第二delay_req报文,发送的第二delay_resp报文。在此情况下,在执行操作(2)之前,需要将第一端口的状态设置为第一状态,然后才可以执行操作(2)。
81.其中,需要说明的是:在第一状态为master状态、monitor状态或passive状态的情况下,第一网络设备的第二端口的状态可能仍为slave状态,第一网络设备仍基于第二端口接收的时钟输入数据调整第一网络设备的时钟。在第一状态为slave状态时,即第一网络设备将第一端口的状态设置为slave状态时,第二端口的状态就可能不是slave状态。此时,第一网络设备需要控制第一网络设备的时钟不根据第一端口接收的时钟输入数据进行调整。从而避免了第一网络设备的时钟与第二网络设备1同步,导致无法准确地获取到第一网络设备与第二网络设备1之间的时间偏差。
82.(3):第一网络设备接收第二网络设备1发送的第二delay_resp报文,第二delay_resp报文包括第二网络设备1接收第二delay_req报文的接收时间t4。
83.在操作(3)中,第一网络设备通过第一端口接收第二网络设备1发送的第二delay_resp报文,其中,同步数据包括t1、t2、t3和t4中的多个。
84.3012:第一网络设备基于该同步数据,获取与第二网络设备1之间的时间偏差。
85.该时间偏差等于|[(t2-t1)-(t4-t3)]/2|,或者,该时间偏差等于|t4-t3-delay|,或者,该时间偏差等于|t4-t3|。delay是第一网络设备与第二网络设备1之间的时延,是基于第一网络设备和第二网络设备1之间的链路长度确定的。
[0086]
该链路长度可以事先配置给第一网络设备。该链路可以为光纤等。
[0087]
步骤302:第一网络设备基于该时间偏差,确定在选择时钟源时是否参考第一端口收到的时钟信息。
[0088]
在该时间偏差可用时,第一网络设备确定第一端口接收的时钟输入数据恢复正常,即该时钟输入数据不再有跳变现象,并在选择时钟源时参考第一端口收到的时钟信息。
[0089]
其中,对于与第一网络设备的端口通信的第二网络设备,第二网络设备定期或不定期地发送时钟信息,该端口接收该时钟信息。可选的,第二网络设备发送announce报文,该announce报文包括该时钟信息。
[0090]
在该时间偏差可用时,第一网络设备可能基于第一端口接收的时钟信息和第一网络设备上的其他端口接收的时钟信息,执行选择时钟源操作。即在选择时钟源时参考第一端口收到的时钟信息。在执行完选择时钟源操作后,会选出一个端口,且选出的端口的状态变为slave状态。第一网络设备基于该选出的端口接收的时钟输入数据调整第一网络设备的时钟。
[0091]
在该时间偏差可用的情况下,包括如下几种:
[0092]
第一,在该时间偏差小于或等于时间偏差阈值时,该时间偏差可用。
[0093]
第二、该时间偏差的变化量小于变化量阈值,该时间偏差可用。例如,连续得到n个
变化量均小于变化量阈值,则确定该时间偏差可用,n为大于或等于1的整数。n可以为2、3、4或5等值。
[0094]
对于该时间偏差的变化量,计算该时间偏差与最近上一次得到的时间偏差之间的差值,得到该时间偏差的变化量。
[0095]
由于第一端口的端口属性包括标记信息,在该时间偏差可用时,第一网络设备还设置该标记信息用于指示第一端口处于时钟同步正常状态。
[0096]
在本技术实施例中,由于第一网络设备可以通过处于时钟同步故障状态的第一端口获取第一网络设备与第二网络设备之间的时间偏差,基于该时间偏差可以确定第一端口接收的时钟输入数据恢复正常,即该时钟输入数据不再有跳变现象,并在选择时钟源时参考第一端口收到的时钟信息。这样在与第一端口通信的第二网络设备1(或时钟源)出现的故障被修复后,第一网络设备可以自动检测出该情况,并在选择时钟源时将第一端口收到的时钟信息作为参考,无需运维人员手动将第一端口恢复正常,提高运维效率。另外,在第一端口的第一状态为slave状态的情况下,第一网络设备控制第一网络设备的时钟不再根据第一端口接收的时钟输入数据进行调整,从而避免了第一网络设备的时钟与第二网络设备1同步,导致无法准确地获取到第一网络设备与第二网络设备1之间的时间偏差,如此提高了确定第一端口接收的时钟输入数据恢复正常的准确性。
[0097]
参见图4,本技术实施例提供了一种选择时钟源的方法,该方法能够应用于上述图1所示的网络架构100,且执行主体可以为上述图2所示的第一网络设备,该方法应用于上述使用物理层同步技术进行频率同步的场景,包括:
[0098]
步骤401:第一网络设备通过处于时钟同步故障状态的第一端口,获取与第二网络设备1之间的频率偏差,第一端口位于第一网络设备的一个接口板上。
[0099]
在执行步骤401之前,在第一网络设备检测到的该接口板上的第一端口接收的物理时钟信号跳变时,第一网络设备可能执行选择时钟源操作,从该接口板上除第一端口之外的其他端口中重新选出第二端口。该接口板将第二端口接收的物理时钟信号发送给第一网络设备的主控板。所谓物理时钟信号跳变是指:第一端口接收的物理时钟信号的相位与第一端口上一次接收的物理时钟信号的相位之间的相位差超过相位差阈值。
[0100]
在选出第二端口后,该接口板可以周期性将第一端口接收的物理时钟信号发送给第一网络设备的主控板。为了便于说明,将第一端口接收的物理时钟信号称为第一物理时钟信号,第一物理时钟信号是与第一端口通信的第二网络设备1发送的。其中,在向第一网络设备发送第一物理时钟信号时,该接口板停止将第二端口接收的物理时钟信号发送给第一网络设备的主控板。
[0101]
第一网络设备的主控板接收第一物理时钟信号,根据第一物理时钟信号和第二物理时钟信号,获取第一网络设备与第二网络设备1之间的频率偏差。第二物理时钟信号是第一网络设备本地的信号。
[0102]
可选的,获取第一网络设备与第二网络设备1之间的频率偏差的操作为:
[0103]
参见图5,第一物理时钟信号包括连续的多个第一信号,第二物理时钟信号包括连续的多个第二信号,每个第一信号对应一个第二信号。第一网络设备从第一物理时钟信号中选择相邻的两个第一信号。为了便于说明,将该两个第一信号称为第一信号1和第一信号2,第一信号1早于第一信号2,第二物理时钟信号中包括第一信号1对应的第二信号1和第一
信号2对应的第二信号2。第一网络设备获取第一信号1与第二信号1之间的第一相位差为x,获取第一信号2与第二信号2之间的第二相位差为y,获取第一网络设备与第二网络设备1之间的频率偏差为δf,δf=|y/x-1|。
[0104]
例如,以图2所示的第一网络设备为例,在图2中以接口板1为例,接口板1将端口1接收的物理时钟信号发送给主控板,同时接口板1还检测端口1接收的物理时钟信号。在检测到的接口板1上的端口1接收的物理时钟信号跳变时,第一网络设备可能执行选择时钟源操作,从该接口板1上除端口1之外的其他端口中重新选出端口2。该接口板1将端口2接收的物理时钟信号发送给第一网络设备的主控板。
[0105]
在选出端口2后,该接口板1可以周期性将端口1接收的物理时钟信号发送给第一网络设备的主控板。第一物理时钟信号为端口1接收的第二网络设备1发送的物理时钟信号。此时该接口板1停止将端口2接收的物理时钟信号发送给第一网络设备的主控板。第一网络设备的主控板接收第一物理时钟信号,根据第一物理时钟信号和本地的第二物理时钟信号,计算第一网络设备与第二网络设备1之间的频率偏差。
[0106]
其中,在该接口板向第一网络设备的主控板发送第一物理时钟信号时,第一网络设备控制第一网络设备的时钟不根据第一物理时钟信号进行调整。从而避免了第一网络设备的时钟和与第一端口通信的第二网络设备1同步,导致无法准确地计算第一网络设备与第二网络设备1之间的频率偏差。
[0107]
步骤402:第一网络设备基于该频率偏差,确定在选择时钟源时是否参考第一端口收到的时钟信息。
[0108]
在该频率偏差可用时,第一网络设备确定第一端口接收的第一物理时钟信号恢复正常,即第一物理时钟信号的频率不再有跳变现象,并在第一端口所在的接口板中选择时钟源时参考第一端口收到的时钟信息。
[0109]
其中,对于与该接口板的端口通信的第二网络设备,第二网络设备定期或不定期地发送时钟信息,该端口接收该时钟信息。可选的,第二网络设备发送ssm报文,该ssm报文包括该时钟信息。
[0110]
在该频率偏差可用时,第一网络设备可能基于第一端口接收的时钟信息和该接口板上的其他端口接收的时钟信息,执行选择时钟源操作。即在选择时钟源时参考第一端口收到的时钟信息。在执行完选择时钟源操作后,会选出一个端口,该接口板将选出的端口接收的物理时钟信号发送给第一网络设备的主控板。第一网络设备的主控板从第一网络设备中的各接口板发送的物理时钟信号中选择最优物理时钟信号,基于最优物理时钟信号调整第一网络设备的时钟。
[0111]
在该频率偏差可用的情况下,包括如下几种:
[0112]
第一,在该频率偏差小于或等于频率偏差阈值时,该频率偏差可用。
[0113]
第二、该频率偏差的变化量小于变化量阈值,该频率偏差可用。例如,连续得到n个变化量均小于变化量阈值,则确定该频率偏差可用,n为大于或等于1的整数。n可以为2、3、4或5等值。
[0114]
对于该频率偏差的变化量,计算该频率偏差与最近上一次得到的频率偏差之间的差值,得到该频率偏差的变化量。
[0115]
由于第一端口的端口属性包括标记信息,在该频率偏差小于频率偏差阈值时,第
一网络设备设置该标记信息用于指示第一端口处于时钟同步正常状态。
[0116]
在本技术实施例中,由于第一网络设备可以自动通过处于时钟同步故障状态的第一端口获取第一网络设备与第二网络设备1之间的频率偏差,基于该频率偏差可以确定第一端口接收的物理时钟信号恢复正常,即该物理时钟信号不再有跳变现象,并在选择时钟源时参考第一端口收到的时钟信息。这样在与第一端口通信的第二网络设备1(或时钟源)出现的故障被修复后,第一网络设备可以自动检测出该情况,并在选择时钟源时将第一端口收到的时钟信息作为参考,无需运维人员手动将第一端口恢复正常,提高运维效率。另外,第一网络设备还控制第一网络设备的时钟不根据第一物理时钟信号进行调整,从而避免了第一网络设备的时钟和与第一端口通信的第二网络设备1同步,导致无法准确地计算第一网络设备与第二网络设备1之间的频率偏差,如此可以提高确定第一端口接收的物理时钟信号恢复正常的准确性。
[0117]
参见图6,本技术实施例提供了一种选择时钟源的装置600,所述装置600可以部署在上述任意实施例提供的第一网络设备上,包括:
[0118]
处理单元601,用于通过处于时钟同步故障状态的第一端口,获取所述装置600与第二网络设备之间的同步偏差数据;
[0119]
处理单元601,还用于基于该同步偏差数据,确定在选择时钟源时是否参考第一端口收到的时钟信息。
[0120]
可选的,处理单元601获取同步偏差数据可能为时间偏差或频率偏差。处理单元601获取时间偏差的详细实现过程,可以参见图3所示实施例的步骤301中的相关内容,在此不再详细说明。处理单元601获取频率偏差的详细实现过程,可以参见图4所示实施例的步骤401中的相关内容,在此不再详细说明。
[0121]
可选的,处理单元601,用于在该同步偏差数据可用时,在选择时钟源时参考第一端口收到的时钟信息。
[0122]
可选的,处理单元601在选择时钟源时参考第一端口收到的时钟信息的详细实现过程,可以参见图3所示实施例的步骤302或参见图4所示实施例的步骤402中的相关内容,在此不再详细说明。
[0123]
可选的,第一端口的端口属性包括标记信息,该标记信息用于指示第一端口处于时钟同步故障状态,
[0124]
处理单元601,还用于在该同步偏差数据可用时,设置该标记信息用于指示第一端口处于时钟同步正常状态。
[0125]
可选的,处理单元601,用于:
[0126]
通过第一端口,获取与第二网络设备之间的同步数据,第一端口的状态为第一状态;
[0127]
基于该同步数据,获取与第二网络设备之间的同步偏差数据。
[0128]
可选的,处理单元601获取与第二网络设备之间的同步数据的详细实现过程,可以参见图3所示实施例的操作3011中的相关内容,在此不再详细说明。
[0129]
可选的,处理单元601获取同步偏差数据的详细实现过程,可以参见图3所示实施例的操作3012中的相关内容,在此不再详细说明。
[0130]
可选的,第一状态包括从slave状态、主master状态、监控monitor状态或被动
passive状态。
[0131]
可选的,处理单元601,还用于将第一端口的状态设置为第一状态。
[0132]
可选的,处理单元601,用于:
[0133]
周期性地将第一端口的状态设置为第一状态,第一状态包括slave状态、monitor状态或passive状态。
[0134]
可选的,处理单元601,用于当第一状态为slave状态时,控制所述装置600的时钟不根据第一端口的时钟输入数据进行调整。
[0135]
可选的,所述装置600还包括:第一接收单元602和发送单元603,
[0136]
第一接收单元602,用于接收第二网络设备发送的同步sync报文,sync报文包括第二网络设备发送sync报文的发送时间t1;
[0137]
处理单元601,用于确定接收sync报文的接收时间t2;
[0138]
发送单元603,用于向第二网络设备发送时延请求delay_req报文;
[0139]
处理单元601,还用于确定发送delay_req报文的发送时间t3;
[0140]
第一接收单元602,还用于接收第二网络设备发送的时延响应delay_resp报文,delay_resp报文包括第二网络设备接收delay_req报文的接收时间t4,其中,同步数据包括t1、t2、t3和t4中的多个。
[0141]
可选的,同步偏差数据包括所述装置600与第二网络设备之间的时间偏差。
[0142]
可选的,所述装置600还包括:第二接收单元604,
[0143]
第二接收单元604,用于通过第一端口,接收第二网络设备发送的第一物理时钟信号;
[0144]
处理单元601,用于根据第一物理时钟信号和第二物理时钟信号,获取与第二网络设备之间的频率偏差,第二物理时钟信号是所述装置600本地的信号。
[0145]
可选的,处理单元601获取频率偏差的详细实现过程,可以参见图4所示实施例的步骤401中的相关内容,在此不再详细说明。
[0146]
可选的,处理单元601,还用于控制所述装置600的时钟不根据第一物理时钟信号进行调整。
[0147]
在本技术实施例中,由于处理单元通过处于时钟同步故障状态的第一端口获取第一网络设备与第二网络设备之间的同步偏差数据,基于该同步偏差数据确定第一端口接收的时钟输入数据或物理时钟信号是否恢复正常。在确定恢复正常时,处理单元在选择时钟源时参考第一端口收到的时钟信息。这样在与第一端口通信的第二网络设备(或时钟源)出现的故障被修复后,处理单元自动检测出该情况,并在选择时钟源时将第一端口收到的时钟信息作为参考,无需运维人员手动将第一端口恢复正常,提高运维效率。
[0148]
参见图7,本技术实施例提供了一种选择时钟源的装置700示意图。该装置700可以是上述任一实施例中的第一网络设备。该装置700包括至少一个处理器701,内部连接702,存储器703以及至少一个收发器704。
[0149]
该装置700是一种硬件结构的装置,可以用于实现图6所述的装置600中的功能模块。例如,本领域技术人员可以想到图6所示的装置600中的处理单元601可以通过该至少一个处理器701调用存储器703中的代码来实现,图6所示的装置600中的第一接收单元602、发送单元603和第二接收单元604可以通过该收发器704来实现。
[0150]
可选的,该装置700还可用于实现上述任一实施例中第一网络设备的功能。
[0151]
可选的,上述处理器701可以是一个通用中央处理器(central processing unit,cpu),网络处理器(network processor,np),微处理器,特定应用集成电路(application-specific integrated circuit,asic),或一个或多个用于控制本技术方案程序执行的集成电路。
[0152]
上述内部连接702可包括一通路,在上述组件之间传送信息。可选的,内部连接702为单板或总线等。
[0153]
上述收发器704,用于与其他设备或通信网络通信。
[0154]
上述存储器703可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
[0155]
其中,存储器703用于存储执行本技术方案的应用程序代码,并由处理器701来控制执行。处理器701用于执行存储器703中存储的应用程序代码,以及配合至少一个收发器704,从而使得该装置700实现本专利方法中的功能。
[0156]
在具体实现中,作为一种实施例,处理器701可以包括一个或多个cpu,例如图7中的cpu0和cpu1。
[0157]
在具体实现中,作为一种实施例,该装置700可以包括多个处理器,例如图7中的处理器701和处理器707。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
[0158]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0159]
以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1