时间同步方法及装置与流程

文档序号:15281204发布日期:2018-08-28 23:33阅读:319来源:国知局

本发明涉及同步领域,具体而言,涉及一种时间同步方法及装置。



背景技术:

在分组传送网络中,一般采用同步以太网+1588v2的时钟同步的方法,通过同步以太网建立设备间系统频率的同步,通过精确时间同步协议(ptp)实现时间同步,其中,由于时钟包括频率和/或时间,因此,时钟同步包括频率同步和/或时间同步。上述同步过程的处理流程大致分成两个部分:

(1)1588v2时间同步网络的建立:接收和认证来自其他时钟(时间)端口的通告报文;利用最佳主时钟(bestmasterclock,简称为bmc)算法决策出端口的推荐状态;根据端口状态决策算法中进入推荐状态决策点完成端口数据集合的更新;按照推荐状态和“状态决策事件”,根据端口状态机决定端口的实际状态,建立主从关系。

(2)时间偏差测量和时间同步:经过时间戳消息应答过程,即主设备和从设备间不断发送ptp(precisiontimeprotocol,简称为ptp)同步消息报文得到偏移值(offset),从设备便可以根据offset修正本地时间值,使本地时间同步主设备的时间。

建立时间同步网络的bmc源选择机制通过通告报文传递时间源质量信息,系统中的每个时间源进行独立的bmc运算。bmc算法包括两个决策算法:时间状态决策算法、端口状态决策算法。

bmc算法中各个时钟不进行协商哪个时间源是主时钟,哪个时间源是从时钟;相反,每个时钟只评估自己端口的状态。其本质上是类最小生成树的算法,其建网过程不仅无法进行实时人工干预,而且还存在算法复杂度高(随着网元数量的增加呈现倍级的增长)、容易成环的问题,大大影响了时间同步网络建立的效率。网络的稳定性也影响同步的精度,如果不能快速适应网络拓扑的改变,则时间同步会受到严重影响。现有的时间同步bmc算法本质上与频率同步算法(例如ssm算法,其中,ssm为synchronizationstatusmessage的简称)是截然不同的两种实现方法,因而经常导致时间同步网络与频率同步网络的不一致,使得时间同步的设备与主设备的时钟频率存在偏差,无法满足亚纳秒级时间同步的精度需求。

现有技术无法满足时钟关联同步,以及网络拓扑变化对时间同步的干扰,使得时钟关联同步的实现愈发重要。



技术实现要素:

本发明实施例提供了一种时间同步方法及装置,以至少解决相关技术中时间同步精度不佳且易受网络拓扑变化影响的问题。

根据本发明的一个实施例,提供了一种时间同步方法,包括:基于网元通过时钟同步算法确定的时钟同步结果进行所述网元的时间同步。

根据本发明的另一个实施例,提供了一种时间同步装置,包括:同步模块,用于基于网元通过时钟同步算法确定的时钟同步结果进行所述网元的时间同步。

根据本发明的又一个实施例,还提供了一种存储介质。该存储介质设置为存储用于执行以下步骤的程序代码:基于网元通过时钟同步算法确定的时钟同步结果进行所述网元的时间同步。

通过本发明,基于网元通过时钟同步算法确定的时钟同步结果进行所述网元的时间同步,因此,可以实现快速建网,减小网络拓扑改变对时间同步产生的影响,从而解决时间同步精度不佳且易受网络拓扑变化影响的问题,达到提高时间精度和稳定性的效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的一种时间同步方法的移动终端的硬件结构框图;

图2是根据本发明实施例的时间同步方法的流程图;

图3是根据本发明实施例的一种时间同步装置的结构框图;

图4是根据本发明实施例的时钟同步网络的架构示意图;

图5是根据本发明实施例的一种可选的报文描述及交互流程示意图;

图6是根据本发明实施例的一种可选的时钟时间关联同步状态决策算法(statedecisionalgorithm,简称为sda)的原理示意图;

图7是时钟时间关联同步状态机(finitestatemachine,简称为fsm)的工作原理示意图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

实施例1

本申请实施例的一个应用场景为:网元通过所选的频率同步算法完成频率同步,然后将通过频率同步算法运算的结果用于实现网络的时间同步。其中,所选频率同步算法,在本方案为同步状态信息算法(ssm,synchronizationstatusmessage)。将通过频率同步算法运算的结果用于实现网络的时间同步的实现原理如下:将基于ssm算法得出的主从关系(即为端口状态),通过协议交互方式(图6中间关于pll的那一段交互)锁定在网元上(或者说在网元端口上进行锁定),然后基于这个(通过ssm算出的)端口状态,通过时间同步算法实现网络时间同步。上述时间同步算法,在本申请实施例中包括但不限于最佳主时钟算法(bmca,bestmasterclockalgorithm),需要说明的是bmca算法中的“时钟”核心指的是“时间”。

基于上述场景,本申请实施例1采用的技术方案如下:

本实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机设备上为例,图1是本发明实施例的一种时间同步方法的计算机设备的硬件结构框图。如图1所示,计算机设备10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的时间同步方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机设备10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(networkinterfacecontroller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(radiofrequency,rf)模块,其用于通过无线方式与互联网进行通讯。

在本实施例中提供了一种运行于上述计算机设备的方法,图2是根据本发明实施例的时间同步方法的流程图,如图2所示,该流程包括如下步骤:

步骤s202,获取基于网元通过时钟同步算法确定的时钟同步结果;可选地,上述时钟同步结果包括:上述网元中指定端口的端口状态,其中,上述端口状态包括:主端口状态和从端口状态。

可选地,上述网元中指定端口的端口状态通过以下方式确定:依据上述网元的系统时钟的跟踪状态确定上述网元中指定端口的端口状态,其中,上述跟踪状态包括:是否接受外部以太网时钟,即上述跟踪状态包括:接受外部以太网时钟、拒绝接受外部以太网时钟。

步骤s204,基于上述时钟同步结果,进行时间同步。

作为本申请的一个可选实施例,步骤s204可以表现为以下实现方式,但不限于此:

判断上述网元的本地数据集是否属于预设优先级时钟等级范围;在判断结果为否的情况下,触发以下处理过程:依据上述网元的系统时钟的跟踪状态确定上述网元中指定端口的第一端口状态;依据上述第一端口状态进行上述网元的时间同步;在判断结果为是的情况下,比较上述网元的指定端口所判断的最佳端口数据集与上述网元的本地数据集的优先级;根据比较结果确定上述指定端口的第二端口状态;依据上述第二端口状态进行上述网元的时间同步。需要说明的是,上述第一端口状态和第二端口状态可以是相同的端口状态,或者第二端口状态遵从第一端口状态。

可选地,上述预设优先级时钟等级范围可以为高优先级时钟等级范围,例如本地数据集的优先级时钟等级范围(classid)的取值为0至127中的任意数值,当然,上述预设优先级时钟等级范围是可调的,并不限于0至127之间的数值。基于上述取值范围,在一个可选实施例中,在步骤s202之前,可以依据实际需要(是否将上述网元指定为顶端网元)确定是否将上述classid设置为在1-127之间取值,其中,顶端网元是指本地时钟不跟踪外部时钟的设备。

可选地,“根据比较结果确定上述指定端口的第二端口状态”的处理过程可以通过以下方式实现,但不限于此:

在上述比较结果指示上述本地数据集的优先级高于上述最佳端口数据集的情况下,将上述指定端口的端口状态确定为主端口状态;在上述比较结果指示上述本地数据集的优先级低于上述最佳端口数据集(erbest)的情况下,将上述指定端口的端口状态确定为被动(passive)端口状态。

可选地,将上述指定端口的端口状态确定为被动(passive)端口状态之后,上述方法还包括:将上述erbest中的源端口id设置为上述网元的父端口id,其中,上述父端口id用于指示上述网元的上游设备中与上述指定端口对应的端口。

可选地,上述指定端口的erbest通过以下方式获取:获取上述指定端口收到指定报文所经历的路由跳数;将上述路由跳数中最小路由跳数对应的源节点的端口所接收的数据存储至上述erbest中。

可选地,上述本地数据集和/或最佳端口数据集中用于存储进行时间同步所需要的信息,包括但不限于:时钟优先级、时钟等级、时钟类型(例如边界时钟、透传时钟等)。具体定义可以从相关技术中查询得知,此处不再赘述。其中,最佳端口数据集erbest中的来源可以通过相关技术得到,此处不再赘述。

可选地,上述步骤的执行主体可以为基站、终端等,但不限于此。

以下结合一个具体的应用场景详细说明上述方案:

第一步,在时钟网络建立完成的前提下,参照时钟源的配置完成时间网络的配置。依照时钟网络局域网的配置,对同样的网元端口进行时间同步配置,建立正确的虚拟局域网。主用环方向内的端口配置成统一的主用方向虚拟局域网,备用环方向内的端口配置成统一的备用方向虚拟局域网,保证时间同步与时钟同步组网一致。其中,局域网使得同一vlan的标准ptp报文只能在规定的虚拟网络中运行,即主用方向ptp报文只能在主用时钟环内传送,备用方向ptp报文只能在备用时钟环内传送。

第二步,兼容标准ptp通告报文,利用通告报文收发时钟节点的端口标识等信息,进行设备间时间节点信息的交互;其中,通告报文在规定的虚拟网络内传送,在边界时钟(boundaryclock,简称为bc)设备组成的网络中,通告报文仅传送至相邻设备。在包含透传时钟(transferclock,简称为tc)设备的网络中,通告报文将传送至规定虚拟网络内相邻设备及透传到的每个设备。

第三步,使用bmc算法的数据集比较算法。省略其中的数据集比较算法1,即默认收端收到的所有的时钟节点的优先级相同,仅比较节点间的拓扑关系。使用数据集比较算法2遍历端口收到报文的经历节点跳数。将拓扑距离最短的源节点作为本端口的最佳端口(数据存在erbest中),即数据集比较算法2用于对端口收到的每个通告报文携带的数据集进行比较,决策出erbest,为端口决策算法提供数据支持。

第四步,使用基于时钟选源结果的状态决策算法对ptp端口进行比较,依据ssm时钟同步方向决策端口状态。如果本地数据集的classid属于1~127之内的数,则比较本地数据集和erbest,如果本地数据集更优则设置端口为master状态;如果erbest更优则设置端口为passive端口。如果本地数据集的classid不属于1~127之间的数,则依据设备对外提供时钟输出或接受输入来控制端口的主从状态。如果端口不接受外来时钟则设置为master状态,如果端口接收外来时钟则设置为slave状态,即使没有配置参考源时钟依然设置为master状态;

端口决策算法除了在本地数据集的classid是1~127之内值依赖数据集比较算法1和数据集比较算法2决策端口状态。对于本地数据集的classid不在1~127之内的情况,完全依靠时钟源的主从状态来决策端口状态。对于顶端设备,则将其本地数据集的classid是1~127的值,使其不跟踪外部设备;对于其他设备将其本地数据集的classid设为1~127之外的值,如果不跟踪外部时钟则设置为主用状态,如果跟踪外部时钟则设置为从状态。如果端口没有配置同步定时源,依然设置为主用状态。通过端口决策算法使得顶端节点不会跟踪外部网络时间,也使得网络内时间节点的时间选源方向与时钟选源方向一致。

第五步,对于决策为从(slave)端口,会将该端口的erbest的设备端口id写成本设备的父端口id,这样设备间就建立了逻辑的主从关系;

第六步,依靠信令报文建立设备间的连接,决策为从端口的设备主动向主端口设备发起链接,主端口收到报文后与从端口交互,建立链接;例如,nodea和nodeb之间完成信令报文的交互,执行时钟同步。待时钟锁定后启动时间同步控制。

第七步,链接完成后执行正常的ptp时间同步偏差测量,校正主从时钟的时间偏差,即待时间同步链路建立完成后,执行标准的ptp协议报文应答测量时间偏差和调整主从时间。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例2

在本实施例中还提供了一种时间同步装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图3是根据本发明实施例的时间同步装置的结构框图,如图3所示,该装置包括:

获取模块30,用于获取基于网元通过时钟同步算法确定的时钟同步结果,可选地,上述时钟同步结果包括:上述网元中指定端口的端口状态,其中,上述端口状态包括:主端口状态和从端口状态。

可选地,上述网元中指定端口的端口状态通过以下方式确定:依据上述网元的系统时钟的跟踪状态确定上述网元中指定端口的端口状态,其中,上述跟踪状态包括:是否接受外部以太网时钟,即上述跟踪状态包括:接受外部以太网时钟和拒绝接受外部以太网时钟两种状态。

同步模块32,连接至获取模块30,用于基于上述时钟同步结果,进行时间同步。

可选地,上述同步模块,用于判断上述网元的本地数据集是否属于预设优先级时钟等级范围;在判断结果为否的情况下,触发以下处理过程:依据上述网元的系统时钟的跟踪状态确定上述网元中指定端口的第一端口状态;依据上述第一端口状态进行上述网元的时间同步;以及在判断结果为是的情况下,比较上述网元的指定端口所判断的最佳端口数据集与上述网元的本地数据集的优先级;根据比较结果确定上述指定端口的第二端口状态;依据上述第二端口状态进行上述网元的时间同步。

作为本实施例的一个可选实施方式,上述网元的erbest为通过以下方式获取的数据集:获取上述指定端口收到指定报文所经历的路由跳数;将上述路由跳数中最小路由跳数对应的源节点的端口所接收的数据存储至上述erbest中。

可选地,上述同步模块32,还用于在上述比较结果指示上述本地数据集的优先级高于上述最佳端口数据集的情况下,将上述指定端口的端口状态确定为主端口状态;在上述比较结果指示上述本地数据集的优先级低于上述最佳端口数据集的情况下,将上述指定端口的端口状态确定为被动passive端口状态。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

需要说明的是,本实施例中的优选实施方式可以参见实施例1中的相关描述,此处不再赘述。

实施例3

本实施例提供的时间同步方法包括以下处理步骤:

步骤501:时钟节点根据同步状态信息抽取ssm最佳主时钟,所述ssm最佳主时钟用于频率同步的最佳主时钟;

步骤501进一步包括:

如图4所示:设备之间依照环网的形式建立时钟同步网,完成主用链路(sec1--sec2------sec6)和备用链路(sec1--sec6------sec2)的时钟源配置。图例只是描述了单环的配置,大型的网络按照核心层、汇聚层和接入层分层配置。图4中的sec或eec所表示的含义标识本申请实施例中的网络设备,满足三级钟的时钟要求。

步骤502:如图4所示的时间虚拟局域网依照主用链路和备用链路配置成不同的虚拟局域网络。一则是实现双向时间配置的相互独立,二则每个虚拟局域网又包括了环内全部设备保证环内报文的正常传递。

如图5所示,在时钟同步网络中,设备在上电、初始化之后进入监听状态,监听收到的ptp通告报文。依据数据集比较算法和图6所示的端口决策算法,nodea决策为master状态,进入预主用状态。图6中,对于class的判断,yes分支属于原有bmc标准的端口决策算法的内容,no部分是修改的内容。如果单以右侧的内容来决策端口,可能遇到顶端网元无法决策的问题,因为顶端的网元不跟踪网络内的设备,其时钟即使同步于外部时钟源,所以需要特殊处理。

步骤601:nodea定时发送通告报文,nodeb收到通告报文后更新端口数据集;

步骤602:依照数据集比较算法2,计算出nodeb的ptp端口的erbest(erbest);

如图6所示,对已经计算出erbest的端口,决策其端口状态。nodeb决策为slave状态,进入未标定状态。

步骤701:对于顶端网元,不希望其跟踪外部时间,而且还需要为网络内节点提供时间输出。则需要将其本地数据集(d0)的class设置成1~127内的数值,可适当提高本地数据集的等级,使得其本地数据集大于网络内其余节点的数据集。这样就会认为本地数据集大于端口最佳数据集erbest,则设置端口为主用状态。即使其值小于外网端口最佳数据集erbest,则设置端口为透传状态,并不会跟踪外部时间;

步骤702:对于网络内普通节点,乃至于下挂支路网络的节点,需要将其d0的class设置成1~127之外的数值,这样如果端口跟踪了外部时钟,则依据端口决策算法设置成从端口;如果端口没有跟踪最佳主时钟,则设置为主端口。即使没有配置参考源时钟,也设置为主端口。

如图7所示,标准ptp的状态机并没有发生变化,仅是因为依靠ssm决策ptp端口状态决策算法(sda),在文字描述中把原来bmc决策的条件相应修改成ssm决策的状态机(fsm)。

步骤603:nodea完成端口决策算法后进入master状态,nodeb完成端口决策算法后进入未标定状态,nodeb主动向nodea发送信令报文建立链接。nodeb在检测到时钟源选定之后向nodea发送sourceselected的信令报文,nodea在收到报文后通知nodeb可以进行锁相环跟踪的pllstart信令报文,nodeb在检测到锁相环锁定之后给nodea发送plllocked信令报文,nodea在收到锁相环锁定的报文后给nodeb发送timelockmodeon,nodeb在收到报文后建立nodea和nodeb的时间同步链路链接,进入slave状态。

步骤604:正常发送ptp事件同步报文完成时间同步,按照标准的执行模式,master给slave发送sync事件报文(携带有预估的报文发送所需要的时间),启用两步法的设备还需要发送followup报文(携带有当前系统时间),slave在收到sync报文后给master回送delayreq事件报文,master再给slave发送delayresp普通报文。slave设备在收集完成t1、t2、t3、t4时间戳后按照公式计算从设备与主设备的时间偏差offset,调整本地时间,完成时间同步。在时间同步报文交互的过程中,也会周期性地发送通告报文,根据收到数据信息的变化调整时间同步网络,如果数据集发生变化,按照步骤601~603的内容执行变更,之后不断重复步骤604即时修改从端时间完成对主端设备的时间跟踪。

采用本实施例提供的上述方案,与相关技术相比,提升了时间网络的建网效率,避免了网络成环,节省了时间网络建立的时间,提高了时间同步的精度等等。

现有的4g技术对时间同步的传输要求是1.5us,而随着下一代移动网络技术和pre5g的发展,需要高密度的组网,3gpp的需求再次凸现出来。随着室内定位、增强现实(ar)等高实时应用的发展,对时间同步也提出了更高的要求,亚纳秒的时间同步成了迫切需要解决的问题。因此需要对原有的ptp网络时间同步选源算法做出调整,实现快速建网,减小网络拓扑改变对时间同步产生的影响。通过实现时钟时间同向同步消除主从时钟频率偏差,提高时间同步的精度。

实施例4

本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:基于网元通过时钟同步算法确定的时钟同步结果进行所述网元的时间同步。

可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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