一种分布式网络时钟同步方法与流程

文档序号:15648228发布日期:2018-10-12 22:50阅读:172来源:国知局

本发明属于电子与通信领域,具体涉及一种分布式网络时钟同步方法。



背景技术:

随着现代信息技术的发展,各种应用控制设备逐步走向分布化、智能化、网络化,网络时钟同步的精度要求也愈来愈高。网络时钟同步能够为电信、移动通信基站、小灵通基站、gsm网络优化等系统提供高精度的时间和频率同步信号。因此,其同步能力受到了广泛的重视,在很多网络系统的研发中都是关键技术。

传统的分布式网络时钟同步是采用ntp(网络时间协议(networktimeprotocol)传送方式实现,即在国际互联网上传递统一、标准的时间。具体是通过在分布式网络上指定若干时钟源站点,为用户提供授时服务,并且这些站点间应该能够相互比对,提高准确度。以通信道为媒介同步授时,如计算机网络、电话网络等。

然而,这种授时方式由于时间信号通过信道传送到不同终端的延时不同,只能满足中等精度时间用户的要求,即只能满足ms级别的时间同步精度需求。但是,在工业控制领域中,一些对时间同步要求十分严格的网络系统,现行的internet网络时间协议(ntp),简单网络时间协议(sntp)等均不能达到所要求的同步精度,特别是对于无线时间同步基站所需的us级时间精度更是远远不够的。



技术实现要素:

为了解决现有技术中存在的上述问题,本发明提供了一种分布式网络时钟同步方法。本发明要解决的技术问题通过以下技术方案实现:

本发明实施例提供了一种分布式网络时钟同步方法,应用于分布式网络,包括:

通过时钟选择算法确定主设备以及从设备;

测量所述主设备与所述从设备的链路延时;

通过所述链路延时获取所述主设备与所述从设备的时间差;

通过所述主设备和所述时间差完成所述从设备的时钟同步。

在本发明的一个实施例中,所述通过时钟选择算法确定主设备以及从设备之前还包括:

判断所述分布式网络中的各设备是否支持时钟同步协议;

若是,则运行时钟选择算法;

若否,则结束时钟同步。

在本发明的一个实施例中,所述通过时钟选择算法确定主设备以及从设备包括:

将所述分布式网络中的各设备运行所述时钟同步算法,其中,所述时钟同步算法为bmca算法;

根据运行结果确定主时钟;

所述主时钟对应的设备为所述主设备,剩余设备为所述从设备。

在本发明的一个实施例中,所述测量所述主设备与所述从设备的链路延时包括:

通过所述从设备向所述主设备发送延迟请求报文,并记录第一时间戳;其中,所述第一时间戳为所述延迟请求报文发送时间点;

通过所述主设备接收所述延迟请求报文,并记录第二时间戳;其中,所述第二时间戳为所述延迟请求报文接收时间点;

通过所述主设备向所述从设备发送延迟响应报文,并记录第三时间戳;其中,所述第三时间戳为所述延迟响应报文发送时间点;

通过所述主设备向所述从设备发送延迟响应跟随报文;

通过所述从设备接收所述延迟响应报文,并记录第四时间戳;其中,所述第四时间戳为所述延迟响应报文接收时间点;

通过所述从设备接收所述延迟响应跟随报文;

通过所述第一时间戳,所述第二时间戳,所述第三时间戳,所述第四时间戳计算所述链路延时。

在本发明的一个实施例中,所述延迟响应报文包含所述第二时间戳,所述延迟响应跟随报文包含所述第三时间戳。

在本发明的一个实施例中,通过所述第一时间戳,所述第二时间戳,所述第三时间戳,所述第四时间戳计算所述链路延时满足:

其中,link_delay为所述链路延时,t1为所述第一时间戳,t2为所述第二时间戳,t3为所述第三时间戳,t4为所述第四时间戳。

在本发明的一个实施例中,所述通过所述链路延时获取所述主设备与所述从设备的时间差包括:

通过所述主设备向所述从设备发送同步报文,并记录第五时间戳;其中,所述第五时间戳为所述同步报文的发送时间点;

通过所述主设备向所述从设备发送跟随报文,其中所述跟随报文包含所述第五时间戳;

通过所述从设备接收所述同步报文,并记录第六时间戳;其中,所述第六时间戳为所述同步报文接收时间点;

通过所述从设备接收所述跟随报文;

根据所述第五时间戳和所述第六时间戳计算所述主设备与所述从设备的时间差。

在本发明的一个实施例中,通过所述第五时间戳,所述第六时间戳计算所述时间差满足:

d=link_delay+t6-t5

其中,d为所述时间差,link_delay为所述链路延时,t5为所述第五时间戳,t6为所述第六时间戳。

在本发明的一个实施例中,还包括所述从设备有下一级设备时,通过所述同步方法,完成所述下一级设备的时钟同步。

在本发明的一个实施例中,所述时钟选择算法和所述分布式网络时钟同步均为周期性运行。

与现有技术相比,本发明的有益效果:

1)本发明提供的时钟同步方法提供了更为可靠的时间同步方案,使得时间同步精度到达纳秒级别,相对于以前微妙级的同步精度,可以满足一些对时钟同步要求十分严格的分布式网络的需求;

2)本发明提供的时钟同步方法使分布式网络具有较强的鲁棒性,当网络中的超主时钟或其他设备出现异常时,该分布式网络能够在很短时间内自适应调整网络结构,重新选择合适的时钟源并完成时钟同步任务。

附图说明

图1为本发明实施例提供的一种分布式网络时钟同步方法的流程图;

图2为本发明实施例提供的一种分布式网络时钟同步方法的实现流程示意图;

图3为本发明实施例提供的一种分布式网络时钟同步方法的测量链路延时原理示意图;

图4为本发明实施例提供的另一种分布式网络时钟同步方法的时钟同步原理示意图。

具体实施方式

下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。

实施例一

请参见图1,图1为本发明实施例提供的一种分布式网络时钟同步方法的流程图。本发明的时钟同步方法可以用于分布式网络的时钟同步,应用于分布是网络,具体地,该方法包括一下步骤:

步骤1、通过时钟选择算法确定主设备以及从设备;

步骤2、测量所述主设备与所述从设备的链路延时;

步骤3、通过所述链路延时获取所述主设备与所述从设备的时间差;

步骤4、通过所述主设备和所述时间差完成所述从设备的时钟同步。

其中,对于步骤1之前,还可以包括:

步骤x1、判断所述分布式网络中的各设备是否支持时钟同步协议;

若是,则运行时钟选择算法;

若否,则结束时钟同步。

其中,对于步骤1、可以包括:

步骤11、将所述分布式网络中的各设备运行所述时钟同步算法,其中,所述时钟同步算法为bmca算法;

步骤12、根据运行结果确定主时钟;

步骤13、所述主时钟对应的设备为所述主设备,剩余设备为所述从设备。

其中,对于步骤2,可以包括:

步骤21、通过所述从设备向所述主设备发送延迟请求报文,并记录第一时间戳;其中,所述第一时间戳为所述延迟请求报文发送时间点;

步骤22、通过所述主设备接收所述延迟请求报文,并记录第二时间戳;其中,所述第二时间戳为所述延迟请求报文接收时间点;

步骤23、通过所述主设备向所述从设备发送延迟响应报文,并记录第三时间戳;其中,所述第三时间戳为所述延迟响应报文发送时间点;

步骤24、通过所述主设备向所述从设备发送延迟响应跟随报文;

步骤25、通过所述从设备接收所述延迟响应报文,并记录第四时间戳;其中,所述第四时间戳为所述延迟响应报文接收时间点;

步骤26、通过所述从设备接收所述延迟响应跟随报文;

步骤27、通过所述第一时间戳,所述第二时间戳,所述第三时间戳,所述第四时间戳计算所述链路延时。

进一步地,步骤23和步骤25中的所述延迟响应报文包含所述第二时间戳,步骤24和步骤26中的所述延迟响应跟随报文包含所述第三时间戳。

进一步地,步骤27中的通过所述第一时间戳,所述第二时间戳,所述第三时间戳,所述第四时间戳计算所述链路延时满足:

其中,link_delay为所述链路延时,t1为所述第一时间戳,t2为所述第二时间戳,t3为所述第三时间戳,t4为所述第四时间戳。

其中,对于步骤3,可以包括:

步骤31、通过所述主设备向所述从设备发送同步报文,并记录第五时间戳;其中,所述第五时间戳为所述同步报文的发送时间点;

步骤32、通过所述主设备向所述从设备发送跟随报文,其中所述跟随报文包含所述第五时间戳;

步骤33、通过所述从设备接收所述同步报文,并记录第六时间戳;其中,所述第六时间戳为所述同步报文接收时间点;

步骤34、通过所述从设备接收所述跟随报文;

步骤35、根据所述第五时间戳和所述第六时间戳计算所述主设备与所述从设备的时间差。

进一步地,步骤35中的时间差满足:

d=link_delay+t6-t5

其中,d为所述时间差,link_delay为所述链路延时,t5为所述第五时间戳,t6为所述第六时间戳。

其中,对于步骤4之后,还可以包括:

所述从设备有下一级设备时,通过所述同步方法,完成所述下一级设备的时钟同步

进一步地,步骤1、步骤2、步骤3和步骤4中的所述时钟选择算法和所述分布式网络时钟同步均为周期性运行。

在本实施例中,通过时钟算法算法确定超主时钟,并测量链路延时,并在时钟同步时加上链路延时,使得时钟同步精度到达纳秒级别,可以满足一些对时钟同步要求十分严格的分布式网络系统的需求。

实施例二

请参见图2,图2为本发明实施例提供的一种分布式网络时钟同步方法的实现流程示意图;图3为本发明实施例提供的一种分布式网络时钟同步方法的测量链路延时原理示意图;图4为本发明实施例提供的一种分布式网络时钟同步方法的时钟同步原理示意图。本实施例在上述实施例的基础上,进一步对该时钟同步方法进行详细描述。具体地,该方法包括如下步骤:

步骤1、发送接收报文

分布式网络中的每一个节点都是一个时间感知系统,每个时间感知系统都对应一个设备,每一个设备。当分布式网络中的各节点上电后,即分布式网络各设备通电运行后,相连的两个设备之间互相发送报文,确定各设备是否支持支持802.1as协议,若支持则运行时钟选择算法,若不支持则结束时钟同步。

优选地,时钟选择算法为bmc算法,bmc算法即最佳主时钟算法是ieee1588(精确时钟同步协议)的最主要的核心技术之一,按ieee1588协议进行时钟同步的系统通过运行最佳主时钟算法来选择系统中的主时钟。其他时钟全以主时钟作为参考进行时钟同步。其中,ieee1588是关于网络测量和控制系统的时间协议,可达到较高的网络对时精度,实现高精度的时间同步。

步骤2、运行bmc算法,确定主设备

分布式网络中各设备之间发送announce报文(宣告报文),其中,各设备接收并处理其他设备的报文信息,并通过announce报文进行交互,比较各时钟信息,并选出主时钟,其中,主时钟所在设备为主设备,与主设备相连的设备为从设备,并确定主设备与分布式网络中其他设备的同步路径。

步骤3、测量主设备与从设备的链路延时

如图3所示,确定主设备后,从设备向主设备发送delay_req报文(延迟请求报文),报文发送后,从设备记录该报文的发出时间戳,并将该报文发出的时间点记录为第一时间戳;

优选地,主设备接收从设备发出的delay_req报文后,主设备记录接收该报文的时间点,并将接收该报文的时间点记录为第二时间戳;

优选地,主设备向从设备发送delay_resp报文(延迟响应报文),其中,delay_resp报文包含了第二时间戳,delay_resp报文发送成功后,主设备记录发送时间点,并将发送该报文的时间点记录为第三时间戳。紧接着,主设备向从设备发送delay_resp_follow_up报文(延迟响应跟随报文),其中delay_resp_follow_up报文包含第三时间戳;

优选地,从设备接收到delay_resp报文,并通过该报文获取第二时间戳,然后,记录接收该报文的时间点,并将该时间点记录为第四时间戳,最后,接收delay_resp_follow_up报文获取时间戳第三时间戳,;

优选地,主设备通过公式计算主设备到从设备的链路延时,则其计算公式为:

其中,link_delay为链路延时,t1为第一时间戳,t2为第二时间戳,t3为第三时间戳,t4为第四时间戳。

步骤4、完成从设备的时钟同步。

如图4所示,测量出链路延时后,主设备向从设备发送sync报文(同步报文),在发出该报文后记录发送时间点,并将该时间点记录为第五时间戳。紧接着,主时钟向从设备发送follow_up报文(跟随报文),其中,follow_up报文包含第五时间戳。

优选地,从设备接收sync报文后,并记录接收该报文的时间点,并将该时间点记录为第六时间戳,从设备收取follow_up报文后,获取第五时间戳。

优选地,从设备计算从设备与主设备的时间差,则时间差的计算公式为:

d=link_delay+t6-t5

其中,d为时间差,t5为第五时间戳,t6为第六时间戳。

优选地,从设备在主设备的基础上通过通过时间差d来校正从时钟的同步时钟,并完成从设备的时钟同步。

步骤5,逐级同步,完成分布式网络的时钟同步

从设备完成时钟同步后,同理,向与从设备相连的下一级设备依次完成测量链路延时和时间差,其中,链路延时为从设备到其所连接的下一级设备的链路延时,时间差为从设备到其所连接的下一级设备的时间差,并与从设备时钟同步。以此类推,直到完成分布式网络的时钟同步。

优选地,bmc算法为周期性运行,分布是网络时钟同步也为周期性运行,其中,bmc算法和时钟同步的时间周期通过signaling报文(信令报文)获取,signaling报文通过设备的signal配置接口设置。

本发明实施例通过测量链路延时,并且通过链路延时计算时间差,然后实现时钟同步,使得分布式网络的时钟同步精度到达纳秒级别,并且使该分布式网络具有较强的稳定性,即当分布式网络中的设备出现异常时,该分布式网络能够在很短时间内自适应调整网络结构,重新选择合适的主时钟并完成时钟同步。

实施例三

分布式网络是由分布在不同地点且具有多个终端的节点机互连而成的。网中任一点均至少与两条线路相连,当任意一条线路发生故障时,通信可转经其他链路完成,具有较高的可靠性,同时,网络易于扩充。

优选地,分布式网络中的全部节点构成了一个时钟同步系统域,域中的所有节点分别包括时钟源,桥和端站,其中,时钟源的数量为一个,端站的数量为至少一个,桥的数量为至少一个。分布式网络中的每一个节点为一个时间感知系统,即时钟源、桥和端站都为时间感知系统。

优选地,时间感知系统包括:同步站点同步站点模块(sitesync)、第一端口(portsync1)、第二端口(portsync2)、数据中转模块(md)、主时钟模块(clockmaster)和从时钟模块(clockslave),其中,同步站点模块是根据时钟选择算法选取的结果,来确定数据流向,并调用相关的功能模块;第一端口,是用于将所述同步站点模块发送的信息填充报文,并发出所述报文;第二端口,是用于接收并解析报文,并将所述报文发送给所述同步站点模块;数据中转模块,是与外部连接,获取报文信息,并完成报文的转发;主时钟模块,跟时钟源连接,是用于提供标准时间信息,并将所述标准时间信息发送给所述同步站点模块;从时钟模块,接收和发送信息给所述同步站点模块,通过所述信息计算链路延时,根据所述链路延时计算与上一级节点的时间差,并通过所述时间差校正本地时钟。

优选地,时钟选择算法是通过该时间感知系统所在的分布式网络的各节点之间发送announce报文(宣告报文),其中,各节点接收并处理其他节点的报文信息,并通过announce报文进行交互,比较各时钟信息,并选出主时钟,和分布式网络的时钟同步路径,其中,主时钟所在节点为主节点,与主节点相连的节点为从节点,并确定主节点与分布式网络中其他节点的同步路径。

优选地,当该时间感知系统通过时钟选择算法选择为主时钟时,则该时间感知系统所在节点为主节点,主节点所在设备为主设备,与其相连接的其他节点为从节点,从节点设备为从设备,同步站点模块根据时钟选择算法调用主时钟模块,第一端口和数据中转模块,其中,主时钟模块与时钟源相连,主时钟提供时钟同步的标准时间。当该时间感知系统为从时钟时,则该时间感知系统所在节点为从节点,同步站点模块根据时钟选择算法调用数据中转模块、第二端口和从时钟模块,其中,从时钟计算出获得的主时钟信息与本地时钟的时间差,并校正本地时钟。当该从节点还存在下一级节点时,同步站点模块还调用第一端口,通过第一端口将校正后的时间发送给下一级节点。

优选地,当本节点发送报文给下一级节点时,首先通过该节点同步站点模块选择调用模块,选择调用的主时钟模块或者从时钟模块发送信息给同步站点模块,同步站点模块将信息发送给第一端口,发送的信息经过第一端口的报文填充后以报文的形式发送给数据中转模块,数据中转模块通过与网卡接口连接,将报文发送给下一级点。

优选地,当本节点接收上一级节点报文时,首先通过数据中转模块接收报文,并且数据中转模块可以获取时间戳信息,然后将报文和时间戳信息发送给第二端口,第二段口解析报文,并将解析后的报文信息和时间戳信息发送给同步站点模块,最后同步站点模块将这些信息发送给从时钟模块。

优选地,当两个存在时钟同步主从关系的相连的时间感知系统要完成时钟同步时,首相需要测量链路延时,如图3所示,测量链路延时包括:

通过分布式网络节点向上游相连节点发送延迟请求报文,并记录第一时间戳,其中,第一时间戳为延迟请求报文发送时间点;通过上游相连时钟节点接收延迟请求报文,并记录第二时间戳,其中,第二时间戳为延迟请求报文接收时间点;上游相连时钟节点向本节点发送延迟响应报文,并记录发送时间的第三间戳,其中,延迟响应报文包含第二时间戳;本节点接收延迟响应报文,获取第二时间戳,并记录接收时间的第四时间戳;上游相连时钟节点向本节点发送延迟响应跟随报文,其中延迟响应跟随报文包含有第三时间戳;本节点接收延迟响应跟随报文,获取第三时间戳;最后,通过公式计算链路延时,计算链路延时的公式为:

其中,link_delay为链路延时,t1为第一时间戳,t2为第二时间戳,t3为第三时间戳,t4为第四时间戳。

优选地,如图4所示,测量时间差包括:通过上游相连节点向本节点发送同步报文,并记录第五时间戳;其中,第五时间戳为同步报文的发送时间点;通过上游相连节点向本节点发送跟随报文,其中跟随报文包含第五时间戳;通过本节点接收同步报文,并记录第六时间戳;其中,第六时间戳为同步报文接收时间点;通过本节点接收跟随报文;根据第五时间戳和第六时间戳计算上游相连节点与本节点的时间差,计算时间差的公式为:

d=link_delay+t6-t5

其中,link_delay为链路延时,d为时间差,t5为第五时间戳,t6为第六时间戳。

优选地,本节点完成时钟同步后,同理,向与相连的下一级节点依次完成测量链路延时和时间差,完成时间同步,其中链路延时为本节点到其所连接的下一级设备的链路延时,并与本节点时钟同步。以此类推,直到完成分布式网络的时钟同步。

优选地,delay_req报文、delay_resp报文、sync报文为事件报文;pdelay_resp_follow_up报文、follow_up报文为通用报文,其中,事件报文需要在发送和接收的时候记录精确的时间戳,通用报文不用记录时间戳。

优选地,从时钟在计算出与主时钟的时间差后,通过时钟源接口函数,调用时钟调节函数,修正与主时钟之间的时间差,从而完成与主时钟的时钟同步。

优选地,时钟选择算法为周期性运行,分布是网络时钟同步也为周期性运行,其中,时钟选择算法和时钟同步的时间周期通过signaling报文(信令报文)获取,signaling报文通过设备的signal配置接口设置。

在本实施例中,通过测量相连设备之间的链路延时进一步计算时间差,并通过时间差校正同步时钟,逐级完成分布式网络的时钟同步,采用该方式可以使分布式网络达到纳秒级别的时钟同步精度,而且该分布式网络时钟同步的稳定性较强,能更满足更多设备的需求。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1