时钟同步方法及装置的制造方法

文档序号:10538494阅读:373来源:国知局
时钟同步方法及装置的制造方法
【专利摘要】本申请提供一种时钟同步方法及装置,应用于第一时钟设备上,该方法包括:在预设的报文统计时长内,分别统计接收到的每一个第二时钟设备发送的通告报文的数量,所述通告报文中携带所述第二时钟设备的外部时钟;根据统计的通告报文的数量确定所述第二时钟设备的外部时钟为候选时钟;从所述候选时钟中选择一个候选时钟作为最佳主时钟以同步所述第一时钟设备的时钟。本申请通过设置报文统计时长,对通信不稳定的第二时钟设备起到过滤作用,避免将不稳定的第二时钟设备的外部时钟选为最佳主时钟,从而保证了第一时钟设备自身时钟的稳定性。
【专利说明】
时钟同步方法及装置
技术领域
[0001]本申请涉及网络通信技术领域,尤其涉及时钟同步方法及装置。
【背景技术】
[0002]在存在多个时钟设备的网络中,不同的时钟设备之间需要时钟同步,具体可通过现有的时钟同步协议来实现,例如,NTP (Network Time ProtocoI,网络时间协议)、PTP (Precis1n Time Protocol,精确时钟同步协议),其中,PTP主要用于满足精度要求比较高的网络需求。
[0003]以PTP协议为例,时钟设备接收网络中其它时钟设备发送的通告报文,并统计接收到的同一时钟设备的通告报文的数量,当通告报文的数量达到预设的安全数量时,将该外部时钟作为候选时钟,再从多个筛选出的候选时钟中选择一个最佳主时钟同步自身时钟。但该技术方案无法筛选掉通信不稳定的时钟设备的外部时钟,如果将该通信不稳定的时钟设备的外部时钟作为最佳主时钟,将无法保证自身时钟的稳定性。

【发明内容】

[0004]有鉴于此,本申请提供了一种时钟同步方法,应用于第一时钟设备上,该方法包括:
[0005]在预设的报文统计时长内,分别统计接收到的每一个第二时钟设备发送的通告报文的数量,所述通告报文中携带所述第二时钟设备的外部时钟;
[0006]根据统计的通告报文的数量确定所述第二时钟设备的外部时钟为候选时钟;
[0007]从所述候选时钟中选择一个候选时钟作为最佳主时钟以同步所述第一时钟设备的时钟。
[0008]本申请还提供了一种时钟同步装置,应用于第一时钟设备上,该装置包括:
[0009]统计单元,用于在预设的报文统计时长内,分别统计接收到的每一个第二时钟设备发送的通告报文的数量,所述通告报文中携带所述第二时钟设备的外部时钟;
[0010]确定单元,用于根据统计的通告报文的数量确定所述第二时钟设备的外部时钟为候选时钟;
[0011]同步单元,用于从所述候选时钟中选择一个候选时钟作为最佳主时钟以同步所述第一时钟设备的时钟。
[0012]本申请在预设的报文统计时长内统计第二时钟设备发送的通告报文数量,根据该通告报文数量确定是否可以将该第二时钟设备的外部时钟作为候选时钟,在获得来自于不同第二时钟设备的多个候选时钟后,从多个候选时钟中选择一个候选时钟作为最佳主时钟,同步第一时钟设备的时钟。本申请通过设置报文统计时长,对通信不稳定的第二时钟设备起到过滤作用,避免将不稳定的第二时钟设备的外部时钟选为最佳主时钟,从而保证了第一时钟设备自身时钟的稳定性。
【附图说明】
[0013]图1是本申请一种实施例中时钟同步方法的处理流程图;
[0014]图2是本申请一种实施例中时钟同步装置的基础硬件示意图;
[0015]图3是本申请一种实施例中时钟同步装置的结构示意图。
【具体实施方式】
[0016]为使本申请的目的、技术方案及优点更加清楚明白,以下参照附图对本申请所述方案作进一步地详细说明。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0017]在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0018]应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0019]在存在多个时钟设备的网络中,不同的时钟设备之间需要时钟同步。利用现有的时钟同步协议(例如,NTP协议、PTP协议)可以实现时钟同步。以PTP协议为例,现有技术方案中,第一时钟设备通过接收网络中第二时钟设备发送的通告报文获取第二时钟设备提供的外部时钟,第一时钟设备针对每一个第二时钟设备分别统计接收到的通告报文的数量。当统计的通告报文的数量达到预设的安全报文数量时,例如,预设安全报文数量为2,则当接收到同一第二时钟设备发送的2个通告报文时,认为该第二时钟设备的外部时钟可以作为候选时钟参与计算最佳主时钟,以同步第一时钟设备的时钟。该技术方案无法筛选掉通信不稳定的第二时钟设备的外部时钟,如果将该通信不稳定的第二时钟设备的外部时钟作为最佳主时钟,将无法保证第一时钟设备的时钟稳定性。
[0020]针对上述问题,本申请实施例提出一种时钟同步的方法,该方法在预设的报文统计时长内,统计第二时钟设备发送的通告报文数量,根据该通告报文数量确定是否可以将该第二时钟设备的外部时钟作为候选时钟,并在获得来自于不同第二时钟设备的多个候选时钟后,从多个候选时钟中选择一个候选时钟作为最佳主时钟,同步第一时钟设备的时钟。
[0021]参见图1,为本申请时钟同步方法的一个实施例流程图,该实施例仍以PTP协议为例介绍第一时钟设备的时钟同步过程。
[0022]步骤110,在预设的报文统计时长内,分别统计接收到的每一个第二时钟设备发送的通告报文的数量,所述通告报文中携带所述第二时钟设备的外部时钟。
[0023]在存在多个时钟设备的网络中,第一时钟设备接收来自于不同第二时钟设备发送的通告报文,从通告报文中获取第二时钟设备的外部时钟,并记录该第二时钟设备的外部时钟。
[0024]第一时钟设备对接收到的第二时钟设备的通告报文进行数量统计,且只统计在预设的报文统计时长内接收到的通告报文,例如,该预设的报文统计时长可以根据PTP协议的标准要求设置为通告报文发送时间间隔的4倍。
[0025]步骤120,根据统计的通告报文的数量确定所述第二时钟设备的外部时钟为候选时钟。
[0026]根据步骤110中统计的第二时钟设备的通告报文数量确定是否可以将第二时钟设备的外部时钟作为候选时钟,由于在后续处理中第一时钟设备的时钟同步取决于最佳主时钟,而最佳主时钟是从多个候选时钟中选择出来的,因此,每一个候选时钟的准确性以及稳定性尤为重要。本申请实施例中,第一时钟设备在获得统计的第二时钟设备的通告报文数量后,将该通告报文数量与预设的安全报文数量进行比较,判断该通告报文的数据是否达到预设的安全报文数量,根据判断结果可以分为以下两种情况处理:
[0027]当统计的第二时钟设备的通告报文数量达到预设的安全报文数量时,将第二时钟设备的外部时钟作为候选时钟。由步骤110可知,第一时钟设备统计的通告报文数量是在预设的报文统计时长内接收到的通告报文数量,如果第二时钟设备以及第二时钟设备与第一时钟设备之间的通信链路正常,那么第一时钟设备在预设的报文统计时长内接收到该第二时钟设备的通告报文数量可以达到预设的安全报文数量,即第一时钟设备可以从第二时钟设备获得稳定的外部时钟,因此,该第二时钟设备的外部时钟可以作为候选时钟。
[0028]当统计的第二时钟设备的通告报文数量未达到预设的安全报文数量时,说明该第二时钟设备异常或者该第二时钟设备与第一时钟设备之间的通信链路异常,导致第一时钟设备无法稳定的获取该第二时钟设备周期发送的通告报文,因此,不可以将该第二时钟设备的外部时钟作为候选时钟。从前述步骤110中可知,第一时钟设备接收第二时钟设备发送的通告报文时,在本地记录了该通告报文中携带的外部时钟,由于该外部时钟已确定不可以作为候选时钟,因此,本申请实施例中删除已记录的第二时钟设备的外部时钟,以释放内存,避免不必要的资源浪费。
[0029]此外,需要说明的是,当攻击者伪造通告报文且以不同身份发送通告报文时,即向第一时钟设备提供不同的外部时钟时,既使攻击者发送的通告报文数量达不到预设的安全报文数量,但是由于第一时钟设备会在内存中记录不同的外部时钟,因此,会占用大量的内存空间,甚至耗尽内存,导致第一时钟设备无法正常运行。可见,本申请实施例中删除未作为候选时钟的外部时钟的重要性。
[0030]步骤130,从所述候选时钟中选择一个候选时钟作为最佳主时钟以同步所述第一时钟设备的时钟。
[0031 ] 最佳主时钟的选择可采用现有的时钟算法,例如,BMC (Best master clockalgorithm,最佳主时钟算法)算法,根据选出的最佳主时钟同步第一时钟设备的时钟。
[0032]在确定了最佳主时钟之后,判断作为候选时钟的第二时钟设备的外部时钟是否为最佳主时钟,根据判断结果进行如下处理:
[0033]当作为候选时钟的第二时钟设备的外部时钟不为最佳主时钟时,删除已记录的该第二时钟设备的外部时钟。在此需要说明的是,步骤120中对未作为候选时钟的外部时钟进行删除,步骤130中对作为候选时钟但未被选举为最佳主时钟的外部时钟进行删除,通过前后两次删除最大限度的释放内存,避免不必要的资源浪费。
[0034]当作为候选时钟的第二时钟设备的外部时钟为最佳主时钟时,保留该第二时钟设备的外部时钟,作为下一次选择最佳主时钟时的候选时钟。
[0035]现仍以PTP协议为例,详细介绍时钟同步过程。
[0036]根据PTP协议要求,如果第一时钟设备在4倍的通告报文发送间隔内接收到第二时钟设备发送的至少2个通告报文,则该第二时钟设备的外部时钟可以作为候选时钟参与BMC运算选择最佳主时钟。
[0037]假设,TDl为第一时钟设备,TD2、TD3、TD4均为第二时钟设备。TD2、TD3、TD4均以500ns的发送间隔向TDl发送通告报文,并在通告报文中携带各自的外部时钟。TDl接收TD2、TD3、TD4发送的通告报文,并分别保存TD2、TD3、TD4的外部时钟。
[0038]TDl启动定时器,并设置定时器的超时时长为500ns (与通告报文的发送间隔相同),当定时器超时时,统计定时器超时次数,当定时器超时次数达到4次时,即达到4倍的通告报文间隔时长时,分别统计接收到的TD2、TD3、TD4的通告报文数量。假设在4倍的通告报文间隔时长内,接收到的TD2的通告报文数量为1,TD3的通告报文数量为2,TD4的通告报文数量为3,则根据前述PTP协议要求TD2的外部时钟不可以作为候选时钟,TD3和TD4的外部时钟可以作为候选时钟。由于在内存中已保存过TD2的外部时钟,因此,当TD2不满足候选时钟条件时,释放TD2的外部时钟所占用的内存空间。
[0039]TD3和TD4的外部时钟作为候选时钟参与BMC运算,从TD3和TD4的外部时钟中选择一个外部时钟作为最佳主时钟,假设TD4的外部时钟选为最佳主时钟,则TDl采用TD4的外部时钟同步自身时钟,同时,删除TD3的外部时钟所占用的内存空间,并保留TD4的外部时钟作为下一次最佳主时钟运算的候选时钟。
[0040]与前述时钟同步方法的实施例相对应,本申请还提供时钟同步装置的实施例。
[0041]本申请时钟同步装置的实施例可以应用在第一时钟设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图2所示,为本申请时钟同步装置所在设备的一种硬件结构图,除了图2所示的CPU、内存以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件。
[0042]请参考图3,为本申请一个实施例中的时钟同步装置的结构示意图。该时钟同步装置包括:统计单元301、确定单元302以及同步单元303,其中:
[0043]统计单元301,用于在预设的报文统计时长内,分别统计接收到的每一个第二时钟设备发送的通告报文的数量,所述通告报文中携带所述第二时钟设备的外部时钟;
[0044]确定单元302,用于根据统计的通告报文的数量确定所述第二时钟设备的外部时钟为候选时钟;
[0045]同步单元303,用于从所述候选时钟中选择一个候选时钟作为最佳主时钟以同步所述第一时钟设备的时钟。
[0046]进一步地,
[0047]所述确定单元302,具体用于判断所述统计的通告报文的数量是否达到预设的安全报文数量;当所述统计的通告报文的数量达到预设的安全报文数量时,确定所述第二时钟设备的外部时钟为候选时钟。
[0048]进一步地,所述时钟同步装置还包括:
[0049]记录单元,用于在所述统计单元301分别统计接收到的每一个第二时钟设备发送的通告报文的数量之前,记录所述通告报文中携带的所述第二时钟设备的外部时钟;
[0050]所述确定单元302,还具体用于当所述统计的通告报文的数量未达到预设的安全报文数量时,删除已记录的第二时钟设备的外部时钟。
[0051]进一步地,所述时钟同步装置还包括:
[0052]记录单元,用于在所述统计单元301分别统计接收到的每一个第二时钟设备发送的通告报文的数量之前,记录所述通告报文中携带的所述第二时钟设备的外部时钟;
[0053]处理单元,用于在所述同步单元303从所述候选时钟中选择一个候选时钟作为最佳主时钟之后,判断作为候选时钟的第二时钟设备的外部时钟是否为最佳主时钟;当作为候选时钟的第二时钟设备的外部时钟不为最佳主时钟时,删除已记录的第二时钟设备的外部时钟。
[0054]进一步地,所述时钟同步装置还包括:
[0055]所述处理单元,还用于当作为候选时钟的第二时钟设备的外部时钟为最佳主时钟时,保留所述第二时钟设备的外部时钟作为下一次选择最佳主时钟时的候选时钟。
[0056]上述图3示出的时钟同步装置的实施例,其具体实现过程可参见前述方法实施例的说明,在此不再赘述。
[0057]从以上方法和装置的实施例中可以看出,在预设的报文统计时长内统计第二时钟设备发送的通告报文数量,根据该通告报文数量确定是否可以将该第二时钟设备的外部时钟作为候选时钟,在获得来自于不同第二时钟设备的多个候选时钟后,从多个候选时钟中选择一个候选时钟作为最佳主时钟,同步第一时钟设备的时钟。本申请通过设置报文统计时长,对通信不稳定的第二时钟设备起到过滤作用,避免将不稳定的第二时钟设备的外部时钟选为最佳主时钟,从而保证了第一时钟设备自身时钟的稳定性。
[0058]以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
【主权项】
1.一种时钟同步方法,应用于第一时钟设备上,其特征在于,该方法包括: 在预设的报文统计时长内,分别统计接收到的每一个第二时钟设备发送的通告报文的数量,所述通告报文中携带所述第二时钟设备的外部时钟; 根据统计的通告报文的数量确定所述第二时钟设备的外部时钟为候选时钟; 从所述候选时钟中选择一个候选时钟作为最佳主时钟以同步所述第一时钟设备的时钟。2.如权利要求1所述的方法,其特征在于,所述根据统计的通告报文的数量确定所述第二时钟设备的外部时钟为候选时钟,包括: 判断所述统计的通告报文的数量是否达到预设的安全报文数量; 当所述统计的通告报文的数量达到预设的安全报文数量时,确定所述第二时钟设备的外部时钟为候选时钟。3.如权利要求2所述的方法,其特征在于,所述分别统计接收到的每一个第二时钟设备发送的通告报文的数量之前,还包括: 记录所述通告报文中携带的所述第二时钟设备的外部时钟; 当所述统计的通告报文的数量未达到预设的安全报文数量时,删除已记录的第二时钟设备的外部时钟。4.如权利要求1所述的方法,其特征在于,所述分别统计接收到的每一个第二时钟设备发送的通告报文的数量之前,还包括: 记录所述通告报文中携带的所述第二时钟设备的外部时钟; 所述从所述候选时钟中选择一个候选时钟作为最佳主时钟之后,还包括: 判断作为候选时钟的第二时钟设备的外部时钟是否为最佳主时钟; 当作为候选时钟的第二时钟设备的外部时钟不为最佳主时钟时,删除已记录的第二时钟设备的外部时钟。5.如权利要求4所述的方法,其特征在于,所述方法还包括: 当作为候选时钟的第二时钟设备的外部时钟为最佳主时钟时,保留所述第二时钟设备的外部时钟作为下一次选择最佳主时钟时的候选时钟。6.一种时钟同步装置,应用于第一时钟设备上,其特征在于,该装置包括: 统计单元,用于在预设的报文统计时长内,分别统计接收到的每一个第二时钟设备发送的通告报文的数量,所述通告报文中携带所述第二时钟设备的外部时钟; 确定单元,用于根据统计的通告报文的数量确定所述第二时钟设备的外部时钟为候选时钟; 同步单元,用于从所述候选时钟中选择一个候选时钟作为最佳主时钟以同步所述第一时钟设备的时钟。7.如权利要求6所述的装置,其特征在于: 所述确定单元,具体用于判断所述统计的通告报文的数量是否达到预设的安全报文数量;当所述统计的通告报文的数量达到预设的安全报文数量时,确定所述第二时钟设备的外部时钟为候选时钟。8.如权利要求7所述的装置,其特征在于,所述装置还包括: 记录单元,用于在所述统计单元分别统计接收到的每一个第二时钟设备发送的通告报文的数量之前,记录所述通告报文中携带的所述第二时钟设备的外部时钟; 所述确定单元,还具体用于当所述统计的通告报文的数量未达到预设的安全报文数量时,删除已记录的第二时钟设备的外部时钟。9.如权利要求6所述的装置,其特征在于,所述装置还包括: 记录单元,用于在所述统计单元分别统计接收到的每一个第二时钟设备发送的通告报文的数量之前,记录所述通告报文中携带的所述第二时钟设备的外部时钟; 处理单元,用于在所述同步单元从所述候选时钟中选择一个候选时钟作为最佳主时钟之后,判断作为候选时钟的第二时钟设备的外部时钟是否为最佳主时钟;当作为候选时钟的第二时钟设备的外部时钟不为最佳主时钟时,删除已记录的第二时钟设备的外部时钟。10.如权利要求9所述的装置,其特征在于,所述装置还包括: 所述处理单元,还用于当作为候选时钟的第二时钟设备的外部时钟为最佳主时钟时,保留所述第二时钟设备的外部时钟作为下一次选择最佳主时钟时的候选时钟。
【文档编号】H04L7/00GK105897393SQ201510038147
【公开日】2016年8月24日
【申请日】2015年1月26日
【发明人】孙春晓
【申请人】杭州迪普科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1