CN112152745B - 时间同步方法、时间同步发送端、接收端及系统 - Google Patents
时间同步方法、时间同步发送端、接收端及系统 Download PDFInfo
- Publication number
- CN112152745B CN112152745B CN201910725066.XA CN201910725066A CN112152745B CN 112152745 B CN112152745 B CN 112152745B CN 201910725066 A CN201910725066 A CN 201910725066A CN 112152745 B CN112152745 B CN 112152745B
- Authority
- CN
- China
- Prior art keywords
- message
- keep
- announce
- alive
- time synchronization
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0641—Change of the master or reference, e.g. take-over or failure of the master
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0004—Initialisation of the receiver
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/04—Speed or phase control by synchronisation signals
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种时间同步方法、时间同步发送端、接收端及系统,其中一种方法包括:判断导致最佳主时钟BMC算法重新计算的参数是否发生变化;如果判断为是,则下发基于1588标准的Announce报文;如果判断为否,则下发Announce报文的保活报文。本发明通过区分保活报文和协议报文,解决了处理Announce报文导致CPU系统繁忙的问题,从而实现对1588协议的优化,起到了减少对CPU冲击的作用。
Description
技术领域
本发明涉及通信领域,尤其涉及一种时间同步方法、时间同步发送端、接收端及系统。
背景技术
1588V2标准是一个关于高精度时间同步的标准,不同于网络时间协议(NetworkTime Protocol,简称为NTP)只能实现毫秒(ms)级别的同步,1588V2可以达到纳秒(ns)级别的时间同步,自从2008年第一版标准面世以来,已经广泛的应用于航天,工业等各个领域。进入5G时代之后,室内定位,物联网等领域对时间同步的要求越来越高,从而引发了基于1588V2的超高精度时间同步技术的产生,这又使得1588V2的应用领域越来越广阔。
在越来越多的使用后,发现1588V2标准中还是存在一些缺陷的,1588V2定义了很多种报文用来实现网元之间的交互和时间的同步,其中Announce报文负责建立同步体系,也就是不同网元之间通过对Announce报文的交互和处理,构建一个全网的时间同步树。
Announce报文在1588V2中的定义如图1~3所示。Announce中携带的一些参数,例如grandmasterPriority1,grandmasterClockQuality等,在这些参数发生变化的时候,会导致最佳主时钟算法(best master clock,简称为BMC)重新计算,从而引发网络拓扑的变化。当上述各种参数都没有变化的时候,按照协议要求,如果一段时间之内没有收到Announce报文,也会引发网络拓扑重新计算,其中logMessageInterval表示的是发包间隔,一般3个发包周期没有收到报文就会触发协议重新选源计算。
由此可以看出来,Announce报文功能实际上划分为两个方面,一个是保活,另外一个是协议计算。也就是说在1588标准里面,Announce是一个变长长度可能达到几K的而且发包速率很快的报文。因此就要求CPU以ms级别的速率处理Announce报文并且能够支持变长度的announce报文,导致系统繁忙。
发明内容
本发明实施例提供一种时间同步方法、时间同步发送端、接收端及系统,用以解决现有技术中处理Announce报文导致CPU系统繁忙的问题。
本发明实施例提供一种时间同步方法,包括:
判断导致最佳主时钟BMC算法重新计算的参数是否发生变化;
如果判断为是,则下发基于1588标准的Announce报文;
如果判断为否,则下发Announce报文的保活报文。
本发明实施例还提供一种时间同步方法,包括:
在特定底层硬件接收到基于1588标准的Announce报文时,将Announce报文发送到CPU进行时间同步处理,并禁止基于Announce报文触发连接失效告警;
在特定底层硬件接收到Announce报文的保活报文时,在特定底层硬件对保活报文进行保活处理。
本发明实施例还提供一种时间同步方法,包括:
通过特定底层硬件接收基于1588标准的Announce报文,将Announce报文与上一个Announce报文的内容进行比较;
通过特定底层硬件根据比较结果,判断内容有变化且变化的内容会导致最佳主时钟BMC算法重新计算,则将Announce报文发送到CPU进行时间同步处理;否则在特定底层硬件对Announce报文进行保活处理。
本发明实施例还提供一种时间同步发送端,包括:
判断模块,用于判断导致最佳主时钟BMC算法重新计算的参数是否发生变化;
发送模块,用于在判断模块判断为是的情况下,下发基于1588标准的Announce报文;在判断模块判断为否的情况下,下发Announce报文的保活报文。
本发明实施例还提供一种时间同步接收端,包括:
特定底层硬件,用于在接收到基于1588标准的Announce报文时,将Announce报文发送到CPU,并禁止基于Announce报文触发连接失效告警;在接收到Announce报文的保活报文时,在特定底层硬件对保活报文进行保活处理;
CPU,用于基于Announce报文进行时间同步处理。
本发明实施例还提供一种时间同步接收端,包括:
特定底层硬件,用于接收基于1588标准的Announce报文,将Announce报文与上一个Announce报文的内容进行比较;根据比较结果,判断内容有变化且变化的内容会导致最佳主时钟BMC算法重新计算,则将Announce报文发送到CPU进行时间同步处理;否则在特定底层硬件对Announce报文进行保活处理;
CPU,用于基于Announce报文进行时间同步处理。
本发明实施例还提供一种时间同步接系统,包括:
包括上述时间同步发送端以及上述时间同步接收端。
采用本发明实施例,通过区分保活报文和协议报文,解决了处理Announce报文导致CPU系统繁忙的问题,从而实现对1588协议的优化,起到了减少对CPU冲击的作用。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是现有技术的PTP报文的头部消息结构的示意图;
图2是现有技术的携带扩展TLV的Announce保活报文的完整格式的示意图;
图3是现有技术的Announce报文的PDU格式的示意图;
图4是本发明方法实施例一的时间同步方法的示意图;
图5是本发明实施例的Announce报文的扩展TLV格式的示意图;
图6是本发明方法实施例二的时间同步方法的示意图;
图7是本发明方法实施例三的时间同步方法的示意图;
图8是本发明实施例的发送端时间同步方法的处理流程图;
图9是本发明实施例的接收端时间同步方法的处理流程图;
图10是本发明实施例的时间同步发送端的示意图;
图11是本发明实施例的时间同步接收端的示意图;
图12是本发明实施例的时间同步接收端的示意图;
图13是本发明实施例的时间同步系统的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
方法实施例一
根据本发明的实施例,提供了一种时间同步方法,以下实施例为发送端的处理,图4是本发明方法实施例一的时间同步方法的示意图,如图4所示,根据本发明实施的时间同步方法具体包括:
步骤401,判断导致最佳主时钟BMC算法重新计算的参数是否发生变化;例如时钟源的ClockQuality,ClockClass,Priority等参数发生变化;
步骤402,如果判断为是,则下发基于1588标准的Announce报文;
在本发明实施例中,原有的Announce报文仅作为协议报文存在,修改如下:
(1)原有协议报文中的发送周期字段不再使用或者不再触发收端的连接失效告警。
(2)当引发BMC算法的参数发生变化的时候,立刻发送此Announce报文给下游设备,下游设备收到后上送CPU进行协议计算。考虑到发送一个报文有可能丢失的异常情况,可以在发生变化的时候连续发送N个Announce报文。
(3)当没有参数变化的时候,Announce报文可以不发送。
(4)接收端接收到原有的Announce报文后,上送CPU进行协议处理。触发BMC算法的重新选源计算。
步骤403,如果判断为否,则下发Announce报文的保活报文。其中,保活报文具体包括以下之一:携带有TLV的Announce报文,携带有特定取值的自定义字段的Announce报文,长度固定不变的自定义保活报文。
也就是说,在本发明实施例中,需要定义一种固定长度的保活报文,可以在原有的announce报文上扩展作为保活报文,也可以重新定义一种新的保活报文,保活报文的长度尽量小以方便硬件收发处理,定义方式不限于下面几种:
(1)可以通过扩展报文类型报文长度报文值(Type,Length,Value,简称为TLV)的方式定义新的保活报文,如图5所示,在Announce报文里面扩展一个自定义TLV,当Announce报文携带此TLV的时候,表示是保活报文。
(2)可以通过使用Announce报文自定义字段的方式实现扩展,当自定义字段取值为某个值的时候表示是保活报文。
(3)可以通过定义一种新的保活报文的方式,保活报文的长度固定不变从而方便硬件处理。
在本发明实施例中,保活报文的发送可以按照用户设定的发送周期定时发送,当接收端连续N个期望接收周期未收到保活报文的时候,则产生Announce连接失效告警,此告警可以用来触发BMC算法重新选源计算。
在本发明实施例中,保活报文的发包周期和期望接收周期可配置并且允许用户修改,为了保证丢包快速响应,一般周期设置为秒级以下。接收端的N个期望周期的值可配置,用户可以根据设备处理速度选择一个合适的值。连接失效告警是否触发BMC算法重新选源也可以配置。
方法实施例二
根据本发明的实施例,提供了一种时间同步方法,以下实施例为发送端的处理,图6是本发明方法实施例二的时间同步方法的示意图,如图6所示,根据本发明实施的时间同步方法具体包括:
步骤601,在特定底层硬件接收到基于1588标准的Announce报文时,将Announce报文发送到CPU进行时间同步处理,并禁止基于Announce报文触发连接失效告警;也就是说,接收到Announce报文后,仅仅执行协议处理,不进行保活处理。
步骤602,在特定底层硬件接收到Announce报文的保活报文时,在特定底层硬件对保活报文进行保活处理。其中,特定底层硬件具体包括:逻辑芯片或交换芯片。
在本发明实施例中,如果在连续N个期望接收周期未收到保活报文时,通过特定底层硬件产生Announce报文的连接失效告警并发送给CPU,其中,N为根据用户配置的正整数。
此外,为了对新老设备同时兼容,本发明实施例设置了一个新设备开关,在本发明实施例中,不需要与老设备兼容,需要将新设备开关设置为打开状态,否则,需要将新设备开关设置为关闭状态,执行如方法实施例三所述的处理。
方法实施例三
根据本发明的实施例,提供了一种时间同步方法,以下实施例为发送端的处理,图7是本发明方法实施例三的时间同步方法的示意图,如图7所示,根据本发明实施的时间同步方法具体包括:
步骤701,通过特定底层硬件接收基于1588标准的Announce报文,将Announce报文与上一个Announce报文的内容进行比较;
步骤702,通过特定底层硬件根据比较结果,判断内容有变化且变化的内容会导致最佳主时钟BMC算法重新计算,则将Announce报文发送到CPU进行时间同步处理;否则在特定底层硬件对Announce报文进行保活处理。其中,特定底层硬件具体包括:逻辑芯片或交换芯片。
在本发明实施例中,如果在连续N个期望接收周期未收到Announce报文时,通过特定底层硬件产生Announce报文的连接失效告警并发送给CPU,其中,N为根据用户配置的正整数。
此外,为了对新老设备同时兼容,本发明实施例设置了一个新设备开关,如果不需要与老设备兼容,如方法实施例二所示的处理,则将新设备开关设置为打开状态,否则,在本发明实施例中,需要将新设备开关设置为关闭状态。
也就是说,在本发明实施例中,新设备按照原有1588标准的规则发送Announce报文,发包速率和用户配置保持一致。老设备接收到报文后按照以前的方式进行处理。新设备接收到老设备发过来的Announce报文后,接收报文的硬件(交换芯片或者逻辑芯片)对比当前Announce报文和上一个Announce报文的内容,如果变化的内容会触发协议重新计算则送CPU进行协议处理;否则在硬件过滤掉这种报文并由硬件做保活处理,从而减少对CPU的冲击。
通过上述处理,在解决了处理Announce报文导致CPU系统繁忙的问题的同时,做到了同时兼容新老设备,使得新老设备能够平滑过度。
以下基于上述方法实施例,进行举例说明。
实例1,当老设备和新设备互通的时候,新设备必须兼容老设备的处理。所以新设备不发送新的保活报文,而是按照原有的方式定时发送Announce报文,接收的时候考虑在硬件做过滤以减少对CPU的冲击。
配置新设备的开关为关闭状态,新设备按照原有方式定时发送Announce报文给老设备,老设备按照原有方式进行接收处理。老设备同时发送Announce报文给新设备。新设备接收到Announce报文后首先由逻辑芯片进行处理。逻辑芯片和之前存储的基于PTP链接的Announce报文进行比较,如果有变化则上送CPU进行处理,如果没有变化则在逻辑进行Announce保活的处理然后丢弃Announce报文,减少对CPU的处理。
实例2,当新设备和新设备互通的时候,可以按照全新的方式进行Announce报文处理。此实施例基于Announce报文扩展TLV的方式定义新的保活Announce报文。完整的报文结构如附图1所示,在Announce报文后面扩展一个TLV,TLV格式定义如图5,Type取值为0x4000(取自1588V2标准的用户自定义类型);Length的值为1个字节,Value表示Announce的子类型,取值为1表示其功能是保活。设置两个新设备的开关为打开状态,表示按照全新模式发包。当Announce携带的ClockQuality,ClockClass等参数有变化需要协议重新计算的时候,新设备立刻发送原有格式的Announce报文。当引发BMC算法的参数没有发生变化的时候,新设备发送携带扩展TLV的Announce报文,也就是保活报文。新设备的逻辑芯片接收到Announce报文后,判断是否携带扩展TLV,如果携带TLV则表示这个报文仅仅需要做保活处理,那么在逻辑内部做Announce连接失效告警检测后丢弃此报文;如果不携带扩展TLV则上送CPU进行协议计算。
实例3
此实例的处理流程和实施例2完全一样,唯一不同的是实例的保活报文仅仅包含PTP报文的header结构,也就是新定义一个消息,MessageType采用1588标准中的保留类型编码,假设取值为0x0E。具体地,设置两个新设备的开关为打开状态,表示按照全新模式发包。当Announce携带的ClockQuality,ClockClass等参数有变化需要协议重新计算的时候,新设备立刻发送原有格式的Announce报文。当引发BMC算法的参数没有发生变化的时候,新设备定时发送MessageType=0x0E的保活报文。新设备的逻辑芯片接收到Announce报文后上送CPU进行协议计算。接收到MessageType=0x0E的新保活包之后,在逻辑内部做连接失效告警检测后丢弃此报文。
以下结合上面三个实例,对发送端和接收端的时间同步方法进行说明。
图8是本发明实施例的发送端时间同步方法的处理流程图,如图8所示,具体包括如下处理:
步骤801,确定定时发包时刻到时;
步骤802,判断是否打开新设备开关,如果判断为否,则执行步骤803,否则,执行步骤804;
步骤803,按照定时发包时刻发送原有的Announce报文;
步骤804,判断触发协议重新计算的参数是否发生变化,如果判断为否,则执行步骤805,否则,执行步骤806;
步骤805,发送保活报文;
步骤806,发送原有的Announce报文。
图9是本发明实施例的接收端时间同步方法的处理流程图,如图9所示,具体包括如下处理:
步骤901,接收到Announce报文或者保活报文;
步骤902,判断是否打开新设备开关,如果判断为否,则执行步骤903,否则,执行步骤906;
步骤903,比较本次和上次的Announce报文是否相同,如果判断为否,执行904,否则,执行905;
步骤904,将Announce报文送到CPU进行协议处理;
步骤905,对Announce报文进行保活处理,并在处理后丢弃报文;
步骤906,判断是原有的Announce报文还是保活报文,如果是原有的Announce报文,执行步骤907,否则,执行步骤908;
步骤907,将Announce报文送到CPU进行协议处理;
步骤908,对保活报文进行保活处理,并在处理后丢弃报文。
综上,借助于本发明实施例的技术方案,解决了Announce报文标准定义缺陷导致的处理问题,从而增加系统处理速度减少对CPU的冲击,使得1588协议设计更加合理。
装置实施例一
根据本发明实施例,提供了一种时间同步发送端,图10是本发明实施例的时间同步发送端的示意图,如图10所示,具体包括:
判断模块100,用于判断导致最佳主时钟BMC算法重新计算的参数是否发生变化;例如时钟源的ClockQuality,ClockClass,Priority等参数发生变化;
发送模块102,用于在判断模块100判断为是的情况下,下发基于1588标准的Announce报文;在判断模块100判断为否的情况下,下发Announce报文的保活报文。
在本发明实施例中,原有的Announce报文仅作为协议报文存在,修改如下:
(1)原有协议报文中的发送周期字段不再使用或者不再触发收端的连接失效告警。
(2)当引发BMC算法的参数发生变化的时候,立刻发送此Announce报文给下游设备,下游设备收到后上送CPU进行协议计算。考虑到发送一个报文有可能丢失的异常情况,可以在发生变化的时候连续发送N个Announce报文。
(3)当没有参数变化的时候,Announce报文可以不发送。
(4)接收端接收到原有的Announce报文后,上送CPU进行协议处理。触发BMC算法的重新选源计算。
其中,保活报文具体包括以下之一:携带有TLV的Announce报文,携带有特定取值的自定义字段的Announce报文,长度固定不变的自定义保活报文。
也就是说,在本发明实施例中,需要定义一种固定长度的保活报文,可以在原有的announce报文上扩展作为保活报文,也可以重新定义一种新的保活报文,保活报文的长度尽量小以方便硬件收发处理,定义方式不限于下面几种:
(1)可以通过扩展TLV的方式定义新的保活报文,如图5所示,在Announce报文里面扩展一个自定义TLV,当Announce报文携带此TLV的时候,表示是保活报文。
(2)可以通过使用Announce报文自定义字段的方式实现扩展,当自定义字段取值为某个值的时候表示是保活报文。
(3)可以通过定义一种新的保活报文的方式,保活报文的长度固定不变从而方便硬件处理。
在本发明实施例中,发送模块102发送保活报文可以按照用户设定的发送周期定时发送,当接收端连续N个期望接收周期未收到保活报文的时候,则产生Announce连接失效告警,此告警可以用来触发BMC算法重新选源计算。
在本发明实施例中,保活报文的发包周期和期望接收周期可配置并且允许用户修改,为了保证丢包快速响应,一般周期设置为秒级以下。接收端的N个期望周期的值可配置,用户可以根据设备处理速度选择一个合适的值。连接失效告警是否触发BMC算法重新选源也可以配置。
装置实施例二
根据本发明实施例,提供了一种时间同步接收端,图11是本发明实施例的时间同步接收端的示意图,如图11所示,根据本发明实施例的时间同步接收端具体包括:
特定底层硬件110,用于在接收到基于1588标准的Announce报文时,将Announce报文发送到CPU 112,并禁止基于Announce报文触发连接失效告警;也就是说,接收到Announce报文后,仅仅执行协议处理,不进行保活处理。在接收到Announce报文的保活报文时,在特定底层硬件对保活报文进行保活处理;
其中,特定底层硬件具体包括:逻辑芯片或交换芯片。
CPU 112,用于基于Announce报文进行时间同步处理。
在本发明实施例中,如果特定底层硬件110在连续N个期望接收周期未收到保活报文时,则特定底层硬件110产生Announce报文的连接失效告警并发送给CPU 112,其中,N为根据用户配置的正整数。
此外,为了对新老设备同时兼容,本发明实施例还包括设置模块,用于在不需要与老设备兼容时,则将新设备开关设置为打开状态,否则,需要将新设备开关设置为关闭状态。
装置实施例三
根据本发明实施例,提供了一种时间同步接收端,图12是本发明实施例的时间同步接收端的示意图,如图12所示,根据本发明实施例的时间同步接收端具体包括:
特定底层硬件120,用于接收基于1588标准的Announce报文,将Announce报文与上一个Announce报文的内容进行比较;根据比较结果,判断内容有变化且变化的内容会导致最佳主时钟BMC算法重新计算,则将Announce报文发送到CPU 122进行时间同步处理;否则在特定底层硬件对Announce报文进行保活处理;
CPU 122,用于基于Announce报文进行时间同步处理。
其中,特定底层硬件具体包括:逻辑芯片或交换芯片。
在本发明实施例中,如果特定底层硬件120在连续N个期望接收周期未收到Announce报文时,通过特定底层硬件120产生Announce报文的连接失效告警并发送给CPU122,其中,N为根据用户配置的正整数。
此外,为了对新老设备同时兼容,本发明实施例还包括设置模块,用于在不需要与老设备兼容时,则将新设备开关设置为打开状态,否则,需要将新设备开关设置为关闭状态。在本发明实施例中,需要设置模块需要将将新设备开关设置为关闭状态。
也就是说,在本发明实施例中,新设备按照原有1588标准的规则发送Announce报文,发包速率和用户配置保持一致。老设备接收到报文后按照以前的方式进行处理。新设备接收到老设备发过来的Announce报文后,接收报文的硬件(交换芯片或者逻辑芯片)对比当前Announce报文和上一个Announce报文的内容,如果变化的内容会触发协议重新计算则送CPU 122进行协议处理;否则在硬件过滤掉这种报文并由硬件作保活处理,从而减少对CPU的冲击。
通过上述处理,在解决了处理Announce报文导致CPU系统繁忙的问题的同时,做到了同时兼容新老设备,使得新老设备能够平滑过度。
系统实施例
根据本发明实施例,提供了一种时间同步系统,图13是本发明实施例的时间同步系统的示意图,如图13所示,包括上述装置实施例一的时间同步发送端130以及上述方法实施例二的时间同步接收端132。
具体地,时间同步发送端130具体包括:
判断模块100,用于判断导致最佳主时钟BMC算法重新计算的参数是否发生变化;例如时钟源的ClockQuality,ClockClass,Priority等参数发生变化;
发送模块102,用于在判断模块100判断为是的情况下,下发基于1588标准的Announce报文;在判断模块100判断为否的情况下,下发Announce报文的保活报文。
在本发明实施例中,原有的Announce报文仅作为协议报文存在,修改如下:
(1)原有协议报文中的发送周期字段不再使用或者不再触发收端的连接失效告警。
(2)当引发BMC算法的参数发生变化的时候,立刻发送此Announce报文给下游设备,下游设备收到后上送CPU进行协议计算。考虑到发送一个报文有可能丢失的异常情况,可以在发生变化的时候连续发送N个Announce报文。
(3)当没有参数变化的时候,Announce报文可以不发送。
(4)接收端接收到原有的Announce报文后,上送CPU进行协议处理。触发BMC算法的重新选源计算。
其中,保活报文具体包括以下之一:携带有TLV的Announce报文,携带有特定取值的自定义字段的Announce报文,长度固定不变的自定义保活报文。
也就是说,在本发明实施例中,需要定义一种固定长度的保活报文,可以在原有的announce报文上扩展作为保活报文,也可以重新定义一种新的保活报文,保活报文的长度尽量小以方便硬件收发处理,定义方式不限于下面几种:
(1)可以通过扩展TLV的方式定义新的保活报文,如图5所示,在Announce报文里面扩展一个自定义TLV,当Announce报文携带此TLV的时候,表示是保活报文。
(2)可以通过使用Announce报文自定义字段的方式实现扩展,当自定义字段取值为某个值的时候表示是保活报文。
(3)可以通过定义一种新的保活报文的方式,保活报文的长度固定不变从而方便硬件处理。
在本发明实施例中,发送模块102发送保活报文可以按照用户设定的发送周期定时发送,当接收端连续N个期望接收周期未收到保活报文的时候,则产生Announce连接失效告警,此告警可以用来触发BMC算法重新选源计算。
在本发明实施例中,保活报文的发包周期和期望接收周期可配置并且允许用户修改,为了保证丢包快速响应,一般周期设置为秒级以下。接收端的N个期望周期的值可配置,用户可以根据设备处理速度选择一个合适的值。连接失效告警是否触发BMC算法重新选源也可以配置。
时间同步接收端132具体包括:
特定底层硬件110,用于接收基于1588标准的Announce报文,将Announce报文发送到CPU 112,并禁止基于Announce报文触发连接失效告警;也就是说,接收到Announce报文后,仅仅执行协议处理,不进行保活处理。接收Announce报文的保活报文,在特定底层硬件对保活报文进行保活处理;
其中,特定底层硬件具体包括:逻辑芯片或交换芯片。
CPU 112,用于基于Announce报文进行时间同步处理。
在本发明实施例中,如果特定底层硬件110在连续N个期望接收周期未收到保活报文时,则特定底层硬件110产生Announce报文的连接失效告警并发送给CPU 112,其中,N为根据用户配置的正整数。
此外,为了对新老设备同时兼容,本发明实施例还包括设置模块,用于在不需要与老设备兼容时,则将新设备开关设置为打开状态,否则,需要将新设备开关设置为关闭状态。
优选地,在本发明实施例中,为了新老设备兼容,还可以包括如装置实施例三的时间同步接收端,具体包括:
特定底层硬件120,用于接收基于1588标准的Announce报文,将Announce报文与上一个Announce报文的内容进行比较;根据比较结果,判断内容有变化且变化的内容会导致最佳主时钟BMC算法重新计算,则将Announce报文发送到CPU 122进行时间同步处理;否则在特定底层硬件对Announce报文进行保活处理;
CPU 122,用于基于Announce报文进行时间同步处理。
其中,特定底层硬件具体包括:逻辑芯片或交换芯片。
在本发明实施例中,如果特定底层硬件120在连续N个期望接收周期未收到Announce报文时,通过特定底层硬件120产生Announce报文的连接失效告警并发送给CPU122,其中,N为根据用户配置的正整数。
此外,为了对新老设备同时兼容,本发明实施例还包括设置模块,用于在不需要与老设备兼容时,则将新设备开关设置为打开状态,否则,需要将新设备开关设置为关闭状态。在本发明实施例中,需要设置模块需要将将新设备开关设置为关闭状态。
也就是说,在本发明实施例中,新设备按照原有1588标准的规则发送Announce报文,发包速率和用户配置保持一致。老设备接收到报文后按照以前的方式进行处理。新设备接收到老设备发过来的Announce报文后,接收报文的硬件(交换芯片或者逻辑芯片)对比当前Announce报文和上一个Announce报文的内容,如果变化的内容会触发协议重新计算则送CPU 122进行协议处理;否则在硬件过滤掉这种报文并由硬件作保活处理,从而减少对CPU的冲击。
通过上述处理,在解决了处理Announce报文导致CPU系统繁忙的问题的同时,做到了同时兼容新老设备,使得新老设备能够平滑过度。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种时间同步方法,其特征在于,包括:
判断导致最佳主时钟BMC算法重新计算的参数是否发生变化;
如果判断为是,则下发基于1588标准的Announce报文;
如果判断为否,则下发Announce报文的保活报文;
其中,所述保活报文具体包括以下之一:携带有报文类型报文长度报文值TLV的Announce报文,携带有特定取值的自定义字段的Announce报文,长度固定不变的自定义保活报文。
2.一种时间同步方法,其特征在于,包括:
在特定底层硬件接收到基于1588标准的Announce报文时,将所述Announce报文发送到CPU进行时间同步处理,并禁止基于所述Announce报文触发连接失效告警;
在所述特定底层硬件接收到Announce报文的保活报文时,在所述特定底层硬件对所述保活报文进行保活处理;
其中,所述Announce报文和所述保活报文根据导致最佳主时钟BMC算法重新计算的参数是否发生变化下发,若所述参数发生变化,则下发所述Announce报文;如果所述参数未发生变化,则下发所述保活报文;
所述保活报文具体包括以下之一:携带有报文类型报文长度报文值TLV的Announce报文,携带有特定取值的自定义字段的Announce报文,长度固定不变的自定义保活报文;
所述特定底层硬件具体包括:逻辑芯片或交换芯片。
3.如权利要求2所述的方法,其特征在于,所述方法进一步包括:
在连续N个期望接收周期未收到所述保活报文时,通过所述特定底层硬件产生Announce报文的连接失效告警并发送给CPU,其中,N为根据用户配置的正整数。
4.一种时间同步发送端,其特征在于,包括:
判断模块,用于判断导致最佳主时钟BMC算法重新计算的参数是否发生变化;
发送模块,用于在判断模块判断为是的情况下,下发基于1588标准的Announce报文;在判断模块判断为否的情况下,下发Announce报文的保活报文;
其中,所述保活报文具体包括以下之一:携带有报文类型报文长度报文值TLV的Announce报文,携带有特定取值的自定义字段的Announce报文,长度固定不变的自定义保活报文。
5.一种时间同步接收端,其特征在于,包括:
特定底层硬件,用于在接收到基于1588标准的Announce报文时,将所述Announce报文发送到CPU,并禁止基于所述Announce报文触发连接失效告警;在接收到Announce报文的保活报文时,在所述特定底层硬件对所述保活报文进行保活处理;
CPU,用于基于所述Announce报文进行时间同步处理;
其中,所述Announce报文和所述保活报文根据导致最佳主时钟BMC算法重新计算的参数是否发生变化下发,若所述参数发生变化,则下发所述Announce报文;如果所述参数未发生变化,则下发所述保活报文;
所述保活报文具体包括以下之一:携带有报文类型报文长度报文值TLV的Announce报文,携带有特定取值的自定义字段的Announce报文,长度固定不变的自定义保活报文;
所述特定底层硬件具体包括:逻辑芯片或交换芯片。
6.一种时间同步系统,其特征在于,包括如权利要求4所述的时间同步发送端以及如权利要求5所述的时间同步接收端。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910725066.XA CN112152745B (zh) | 2019-08-07 | 2019-08-07 | 时间同步方法、时间同步发送端、接收端及系统 |
PCT/CN2020/105203 WO2021023063A1 (zh) | 2019-08-07 | 2020-07-28 | 时间同步方法、时间同步发送端、接收端及系统 |
EP20849332.0A EP4012947A4 (en) | 2019-08-07 | 2020-07-28 | TIME SYNCHRONIZATION METHOD, TIME SYNCHRONIZATION TRANSMITTER AND RECEIVE END AND SYSTEM |
US17/633,329 US20220360349A1 (en) | 2019-08-07 | 2020-07-28 | Time synchronization method, time synchronization sending end and receiving end, and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910725066.XA CN112152745B (zh) | 2019-08-07 | 2019-08-07 | 时间同步方法、时间同步发送端、接收端及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112152745A CN112152745A (zh) | 2020-12-29 |
CN112152745B true CN112152745B (zh) | 2021-09-28 |
Family
ID=73891589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910725066.XA Active CN112152745B (zh) | 2019-08-07 | 2019-08-07 | 时间同步方法、时间同步发送端、接收端及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20220360349A1 (zh) |
EP (1) | EP4012947A4 (zh) |
CN (1) | CN112152745B (zh) |
WO (1) | WO2021023063A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610272A (zh) * | 2009-07-30 | 2009-12-23 | 迈普通信技术股份有限公司 | 一种避免邻居关系振荡的方法 |
CN102388556A (zh) * | 2011-09-20 | 2012-03-21 | 华为技术有限公司 | 一种时钟等级分级方法及相关设备 |
CN104092528A (zh) * | 2014-07-14 | 2014-10-08 | 杭州华三通信技术有限公司 | 一种时钟同步方法和装置 |
US10158444B1 (en) * | 2017-11-16 | 2018-12-18 | Microsemi Corporation | Event-driven precision time transfer |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101207606A (zh) * | 2006-12-18 | 2008-06-25 | 华为技术有限公司 | 主时钟选举的方法和装置 |
JP5158600B2 (ja) * | 2008-10-15 | 2013-03-06 | 国立大学法人名古屋大学 | 通信装置、通信システム及び通信方法 |
US8953581B1 (en) * | 2009-05-13 | 2015-02-10 | Dust Networks, Inc. | Timing synchronization for wireless networks |
CN102036361B (zh) * | 2009-09-25 | 2013-08-28 | 华为技术有限公司 | 时钟源选择的处理方法、装置和系统 |
US8504889B2 (en) * | 2010-11-12 | 2013-08-06 | Qualcomm Incorporated | Sleep clock error recovery scheme |
CN102546073B (zh) * | 2012-01-12 | 2015-01-28 | 广州思唯奇计算机科技有限公司 | 一种基于多时钟环的防止时钟切换抖动的方法 |
CN105024798A (zh) * | 2014-04-28 | 2015-11-04 | 中兴通讯股份有限公司 | 一种时间同步的方法及装置 |
EP3446466B1 (de) * | 2016-05-19 | 2020-03-04 | Siemens Aktiengesellschaft | Verfahren zum schnellen rekonfiguration von gm clocks im tsn network mittels einer expliziten teardown nachricht |
EP3711429B1 (en) * | 2017-11-13 | 2021-06-02 | Telefonaktiebolaget LM Ericsson (publ) | Network node and method in a mesh network |
CN112425124B (zh) * | 2018-07-25 | 2022-07-15 | 大陆汽车有限公司 | 汽车以太网网络中的拓扑发现 |
-
2019
- 2019-08-07 CN CN201910725066.XA patent/CN112152745B/zh active Active
-
2020
- 2020-07-28 EP EP20849332.0A patent/EP4012947A4/en active Pending
- 2020-07-28 US US17/633,329 patent/US20220360349A1/en active Pending
- 2020-07-28 WO PCT/CN2020/105203 patent/WO2021023063A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610272A (zh) * | 2009-07-30 | 2009-12-23 | 迈普通信技术股份有限公司 | 一种避免邻居关系振荡的方法 |
CN102388556A (zh) * | 2011-09-20 | 2012-03-21 | 华为技术有限公司 | 一种时钟等级分级方法及相关设备 |
CN104092528A (zh) * | 2014-07-14 | 2014-10-08 | 杭州华三通信技术有限公司 | 一种时钟同步方法和装置 |
US10158444B1 (en) * | 2017-11-16 | 2018-12-18 | Microsemi Corporation | Event-driven precision time transfer |
Also Published As
Publication number | Publication date |
---|---|
CN112152745A (zh) | 2020-12-29 |
EP4012947A4 (en) | 2022-10-26 |
WO2021023063A1 (zh) | 2021-02-11 |
US20220360349A1 (en) | 2022-11-10 |
EP4012947A1 (en) | 2022-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11477107B2 (en) | Method for data communication in an industrial network, control method, device, computer program and computer-readable medium | |
US8879552B2 (en) | Precision time protocol offloading in a PTP boundary clock | |
US8339969B2 (en) | Distributed ethernet system and method for detecting fault based thereon | |
CN107615709B (zh) | Sdn的转发单元和控制器单元 | |
US8659993B2 (en) | Priority domains for protection switching processes | |
WO2015165192A1 (zh) | 一种时间同步的方法及装置 | |
WO2016086582A1 (zh) | 信号检测方法及装置 | |
CN107294856B (zh) | 确定拓扑变化的方法、设备及系统 | |
CN113196710B (zh) | 分发节点、自动化网络和用于传输报文的方法 | |
WO2018219103A1 (zh) | 一种链路状态确定方法及设备 | |
CN113315668B (zh) | 自适应调整网络组态的方法、节点设备和存储介质 | |
CN112152745B (zh) | 时间同步方法、时间同步发送端、接收端及系统 | |
CN108337181B (zh) | 一种交换网拥塞管理方法和装置 | |
US20180026864A1 (en) | Communication apparatus, communication system, and communication method | |
US11916768B2 (en) | Information sharing method and apparatus in redundancy network, and computer storage medium | |
EP2953299B1 (en) | Protection switching method, system and node | |
WO2022242243A1 (zh) | 通信方法、设备及系统 | |
CN108616461B (zh) | 一种策略切换方法及装置 | |
CN114070799B (zh) | 优先级暂停帧的处理方法、处理装置及目标网络设备 | |
US11442432B2 (en) | Communication device and method for data transmission within an industrial communication network | |
CN111865803B (zh) | 基于evpn的路由处理方法及装置 | |
CN113965523A (zh) | 一种基于环路的pfc死锁的处理方法及装置 | |
CN113346974A (zh) | 用于时钟同步的方法、设备、通信系统和存储介质 | |
EP3322158A1 (en) | Method and device for realizing service backtracking | |
CN105323086B (zh) | 指示同步时间源选择的方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |