CN116436555B - 一种时间同步方法、装置及分布式网络设备 - Google Patents
一种时间同步方法、装置及分布式网络设备 Download PDFInfo
- Publication number
- CN116436555B CN116436555B CN202310684232.2A CN202310684232A CN116436555B CN 116436555 B CN116436555 B CN 116436555B CN 202310684232 A CN202310684232 A CN 202310684232A CN 116436555 B CN116436555 B CN 116436555B
- Authority
- CN
- China
- Prior art keywords
- time
- ptp
- service board
- deviation
- system time
- 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
- 238000000034 method Methods 0.000 title claims abstract description 177
- 230000008569 process Effects 0.000 claims description 117
- 238000012545 processing Methods 0.000 claims description 24
- 238000004891 communication Methods 0.000 abstract description 5
- 230000001360 synchronised effect Effects 0.000 description 33
- 239000013078 crystal Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 101100085205 Dictyostelium discoideum ptpB gene Proteins 0.000 description 3
- 101150063139 PTP2 gene Proteins 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 101100522280 Dictyostelium discoideum ptpA1-2 gene Proteins 0.000 description 2
- 101150006497 PTP-1 gene Proteins 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Electric Clocks (AREA)
Abstract
本申请实施例提供了一种时间同步方法、装置及分布式网络设备,涉及通信技术领域,该方法包括:分布式网络设备上的业务板获取分布式网络设备上的主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差;获取业务板的系统时间和PTP时间在当前同步周期内的第二时间偏差;在第一时间偏差与第二时间偏差之差大于预设时间精度时,读取当前业务板上的PTP时间,得到目标PTP时间;根据目标PTP时间和第一时间偏差,同步业务板的系统时间。应用本申请实施例提供的技术方案,可以降低分布式网络设备上的各个板卡之间的系统时间的时间同步误差。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种时间同步方法、装置及分布式网络设备。
背景技术
在分布式网络设备上包括多个板卡,多个板卡的系统时间需要进行同步,系统时间由对应板卡上的操作系统维护。由于不同的板卡运行各自独立的操作系统,因此,不同板卡的系统时间由各自定义的私有协议来实现同步。但是,不同板卡上系统时间的晶振频率存在偏差,且不同私有协议的时间同步精度也存在偏差,这导致不同板卡的系统时间的时间同步误差较大,时间同步误差甚至会达到秒级。
发明内容
本申请实施例的目的在于提供一种时间同步方法、装置及分布式网络设备,以降低分布式网络设备上的各个板卡之间的系统时间的时间同步误差。具体技术方案如下:
第一方面,本申请实施例提供了一种时间同步方法,应用于分布式网络设备上的业务板,所述方法包括:
获取所述分布式网络设备上的主控板的系统时间与PTP(Precision TimeProtocol,高精度时间协议)时间在当前同步周期内的第一时间偏差;
获取所述业务板的系统时间和PTP时间在所述当前同步周期内的第二时间偏差;
在所述第一时间偏差与所述第二时间偏差之差大于预设时间精度时,读取当前所述业务板上的PTP时间,得到目标PTP时间;
根据所述目标PTP时间和所述第一时间偏差,同步所述业务板的系统时间。
在一些实施例中,所述方法还包括:
判断所述业务板是否支持在关闭中断的情况下读取PTP时间;
若是,则关闭中断和进程调度,在关闭中断和进程调度后,读取当前所述业务板的PTP时间,作为所述目标PTP时间;在同步所述业务板的系统时间之后,打开中断和进程调度;
若否,则读取当前所述业务板的系统时间和PTP时间,得到第一系统时间和第一PTP时间,在获得所述第一PTP时间后,读取当前所述业务板的系统时间,得到第二系统时间;
若所述第二系统时间与所述第一系统时间之差小于所述预设时间精度对应的第一时间误差,则将所述第一PTP时间作为所述目标PTP时间。
在一些实施例中,所述方法还包括:
若所述第二系统时间与所述第一系统时间之差大于等于所述预设时间精度对应的第一时间误差,且所述当前同步周期内的第一统计次数小于第一预设次数,则累计第一统计次数,并重新执行所述读取当前所述业务板的系统时间和PTP时间,得到第一系统时间和第一PTP时间的步骤,所述第一统计次数为所述第二系统时间与所述第一系统时间之差大于等于所述第一时间误差的次数;
若所述第二系统时间与所述第一系统时间之差大于等于所述预设时间精度对应的第一时间误差,且所述当前同步周期内的第一统计次数大于等于第一预设次数,则输出提示信息,所述提示信息指示所述目标PTP时间获取失败。
在一些实施例中,所述获取所述业务板的系统时间和PTP时间在所述当前同步周期内的第二时间偏差的步骤,包括:
在所述当前同步周期内,判断所述业务板是否支持在关闭中断的情况下读取PTP时间;
若是,则关闭中断和进程调度,在关闭中断和进程调度后,读取当前所述业务板的系统时间和PTP时间;打开中断和进程调度;计算所读取的系统时间和PTP时间的差值,作为所述第二时间偏差;
若否,则读取当前所述业务板的系统时间和PTP时间,得到第三系统时间和第二PTP时间,在获得所述第二PTP时间后,读取当前所述业务板的系统时间,得到第四系统时间;
若所述第四系统时间与所述第三系统时间之差小于所述预设时间精度对应的第二时间误差,则计算所述第三系统时间和第二PTP时间的差值,作为所述第二时间偏差。
在一些实施例中,所述方法还包括:
若所述第四系统时间与所述第三系统时间之差大于等于所述预设时间精度对应的第二时间误差,且所述当前同步周期内的第二统计次数小于第二预设次数,则累计第二统计次数,并重新执行所述读取当前所述业务板的系统时间和PTP时间,得到第三系统时间和第二PTP时间的步骤,所述第二统计次数为所述第四系统时间与所述第三系统时间之差大于等于所述第二时间误差的次数;
若所述第四系统时间与所述第三系统时间之差大于等于所述预设时间精度对应的第二时间误差,且所述当前同步周期内的第二统计次数大于等于第二预设次数,则输出提示信息,所述提示信息指示所述第二时间偏差获取失败。
在一些实施例中,所述获取所述分布式网络设备上的主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差的步骤,包括:
接收所述分布式网络设备上的主控板发送的广播报文,所述广播报文携带所述主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差;
在接收到所述广播报文后,执行所述获取所述业务板的系统时间和PTP时间在所述当前同步周期内的第二时间偏差的步骤。
在一些实施例中,所述根据所述目标PTP时间和所述第一时间偏差,同步所述业务板的系统时间的步骤,包括:
在关闭中断和进程调度的情况下,计算所述目标PTP时间和所述第一时间偏差的差值;
将所述业务板的系统时间同步为所述差值;
打开中断和进程调度。
第二方面,本申请实施例提供了一种时间同步方法,应用于分布式网络设备上的主控板,所述方法包括:
获取所述主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差;
将所述第一时间偏差发送给所述分布式网络设备上的业务板,以使所述业务板获取所述业务板的系统时间和PTP时间在所述当前同步周期内的第二时间偏差;在所述第一时间偏差与所述第二时间偏差之差大于预设时间精度时,读取当前所述业务板上的PTP时间,得到目标PTP时间;根据所述目标PTP时间和所述第一时间偏差,同步所述业务板的系统时间。
在一些实施例中,所述获取所述主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差的步骤,包括:
在当前同步周期内,判断所述主控板是否支持在关闭中断的情况下读取PTP时间;
若是,则关闭中断和进程调度,在关闭中断和进程调度后,读取当前所述主控板的系统时间和PTP时间;打开中断和进程调度;计算所读取的系统时间和PTP时间的差值,作为所述第一时间偏差;
若否,则读取当前所述主控板的系统时间和PTP时间,得到第五系统时间和第三PTP时间,在获得所述第三PTP时间后,读取当前所述主控板的系统时间,得到第六系统时间;
若所述第六系统时间与所述第五系统时间之差小于所述预设时间精度对应的第三时间误差,则计算所述第五系统时间和第三PTP时间的差值,作为所述第一时间偏差。
在一些实施例中,所述方法还包括:
若所述第六系统时间与所述第五系统时间之差大于等于所述预设时间精度对应的第三时间误差,且所述当前同步周期内的第三统计次数小于第三预设次数,则累计第三统计次数,并重新执行所述读取当前所述主控板的系统时间和PTP时间,得到第五系统时间和第三PTP时间的步骤,所述第三统计次数为所述第六系统时间与所述第五系统时间之差大于等于所述第三时间误差的次数;
若所述第六系统时间与所述第五系统时间之差大于等于所述预设时间精度对应的第三时间误差,且所述当前同步周期内的第三统计次数大于等于第三预设次数,则输出提示信息,所述提示信息指示所述第一时间偏差获取失败。
在一些实施例中,所述分布式网络设备包括多个业务板;所述将所述第一时间偏差发送给所述分布式网络设备上的业务板的步骤,包括:
将所述第一时间偏差封装到广播报文中,向所述多个业务板广播所述广播报文。
第三方面,本申请实施例提供了一种时间同步装置,应用于分布式网络设备上的业务板,所述装置包括:
时间偏差获取模块,用于获取所述分布式网络设备上的主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差;获取所述业务板的系统时间和PTP时间在所述当前同步周期内的第二时间偏差;
业务板数据处理同步模块,用于在所述第一时间偏差与所述第二时间偏差之差大于预设时间精度时,读取当前所述业务板上的PTP时间,得到目标PTP时间;根据所述目标PTP时间和所述第一时间偏差,同步所述业务板的系统时间。
在一些实施例中,所述业务板数据处理同步模块,还用于:
判断所述业务板是否支持在关闭中断的情况下读取PTP时间;
若是,则关闭中断和进程调度,在关闭中断和进程调度后,读取当前所述业务板的PTP时间,作为所述目标PTP时间;在同步所述业务板的系统时间之后,打开中断和进程调度;
若否,则读取当前所述业务板的系统时间和PTP时间,得到第一系统时间和第一PTP时间,在获得所述第一PTP时间后,读取当前所述业务板的系统时间,得到第二系统时间;
若所述第二系统时间与所述第一系统时间之差小于所述预设时间精度对应的第一时间误差,则将所述第一PTP时间作为所述目标PTP时间。
在一些实施例中,所述业务板数据处理同步模块,还用于:
若所述第二系统时间与所述第一系统时间之差大于等于所述预设时间精度对应的第一时间误差,且所述当前同步周期内的第一统计次数小于第一预设次数,则累计第一统计次数,并重新执行所述读取当前所述业务板的系统时间和PTP时间,得到第一系统时间和第一PTP时间的步骤,所述第一统计次数为所述第二系统时间与所述第一系统时间之差大于等于所述第一时间误差的次数;
若所述第二系统时间与所述第一系统时间之差大于等于所述预设时间精度对应的第一时间误差,且所述当前同步周期内的第一统计次数大于等于第一预设次数,则输出提示信息,所述提示信息指示所述目标PTP时间获取失败。
在一些实施例中,所述时间偏差获取模块,具体用于:
在所述当前同步周期内,判断所述业务板是否支持在关闭中断的情况下读取PTP时间;
若是,则关闭中断和进程调度,在关闭中断和进程调度后,读取当前所述业务板的系统时间和PTP时间;打开中断和进程调度;计算所读取的系统时间和PTP时间的差值,作为所述第二时间偏差;
若否,则读取当前所述业务板的系统时间和PTP时间,得到第三系统时间和第二PTP时间,在获得所述第二PTP时间后,读取当前所述业务板的系统时间,得到第四系统时间;
若所述第四系统时间与所述第三系统时间之差小于所述预设时间精度对应的第二时间误差,则计算所述第三系统时间和第二PTP时间的差值,作为所述第二时间偏差。
在一些实施例中,所述时间偏差获取模块,还用于:
若所述第四系统时间与所述第三系统时间之差大于等于所述预设时间精度对应的第二时间误差,且所述当前同步周期内的第二统计次数小于第二预设次数,则累计第二统计次数,并重新执行所述读取当前所述业务板的系统时间和PTP时间,得到第三系统时间和第二PTP时间的步骤,所述第二统计次数为所述第四系统时间与所述第三系统时间之差大于等于所述第二时间误差的次数;
若所述第四系统时间与所述第三系统时间之差大于等于所述预设时间精度对应的第二时间误差,且所述当前同步周期内的第二统计次数大于等于第二预设次数,则输出提示信息,所述提示信息指示所述第二时间偏差获取失败。
在一些实施例中,所述时间偏差获取模块,具体用于:
接收所述分布式网络设备上的主控板发送的广播报文,所述广播报文携带所述主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差;
在接收到所述广播报文后,执行所述获取所述业务板的系统时间和PTP时间在所述当前同步周期内的第二时间偏差的步骤。
在一些实施例中,所述业务板数据处理同步模块,具体用于:
在关闭中断和进程调度的情况下,计算所述目标PTP时间和所述第一时间偏差的差值;
将所述业务板的系统时间同步为所述差值;
打开中断和进程调度。
第四方面,本申请实施例提供了一种时间同步装置,应用于分布式网络设备上的主控板,所述装置包括:
时间偏差获取模块,用于获取所述主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差;
主控板广播处理模块,用于将所述第一时间偏差发送给所述分布式网络设备上的业务板,以使所述业务板获取所述业务板的系统时间和PTP时间在所述当前同步周期内的第二时间偏差;在所述第一时间偏差与所述第二时间偏差之差大于预设时间精度时,读取当前所述业务板上的PTP时间,得到目标PTP时间;根据所述目标PTP时间和所述第一时间偏差,同步所述业务板的系统时间。
在一些实施例中,所述时间偏差获取模块,具体用于:
在当前同步周期内,判断所述主控板是否支持在关闭中断的情况下读取PTP时间;
若是,则关闭中断和进程调度,在关闭中断和进程调度后,读取当前所述主控板的系统时间和PTP时间;打开中断和进程调度;计算所读取的系统时间和PTP时间的差值,作为所述第一时间偏差;
若否,则读取当前所述主控板的系统时间和PTP时间,得到第五系统时间和第三PTP时间,在获得所述第三PTP时间后,读取当前所述主控板的系统时间,得到第六系统时间;
若所述第六系统时间与所述第五系统时间之差小于所述预设时间精度对应的第三时间误差,则计算所述第五系统时间和第三PTP时间的差值,作为所述第一时间偏差。
在一些实施例中,所述时间偏差获取模块,还用于:
若所述第六系统时间与所述第五系统时间之差大于等于所述预设时间精度对应的第三时间误差,且所述当前同步周期内的第三统计次数小于第三预设次数,则累计第三统计次数,并重新执行所述读取当前所述主控板的系统时间和PTP时间,得到第五系统时间和第三PTP时间的步骤,所述第三统计次数为所述第六系统时间与所述第五系统时间之差大于等于所述第三时间误差的次数;
若所述第六系统时间与所述第五系统时间之差大于等于所述预设时间精度对应的第三时间误差,且所述当前同步周期内的第三统计次数大于等于第三预设次数,则输出提示信息,所述提示信息指示所述第一时间偏差获取失败。
在一些实施例中,所述分布式网络设备包括多个业务板;所述主控板广播处理模块,具体用于:
将所述第一时间偏差封装到广播报文中,向所述多个业务板广播所述广播报文。
第五方面,本申请实施例提供了一种分布式网络设备,包括主控板和至少一个业务板,所述主控板执行上述第一方面的方法步骤,所述业务板执行上述第二方面的方法步骤。
本申请实施例有益效果:
本申请实施例提供的技术方案中,业务板获取主控板的系统时间与PTP时间在当前同步周期内的差值,即第一时间偏差,并获取业务板的系统时间和PTP时间在当前同步周期内的差值,即第二时间偏差。由于主控板和业务板的PTP时间已同步,对于分布式网络设备上的各个板卡而言,系统时间与PTP时间的差值是固定值。因此,业务板根据第一时间偏差与第二时间偏差的差值,可以确定业务板和主控板的系统时间之间的差值。当第一时间偏差与第二时间偏差之差大于预设时间精度时,表示业务板的系统时间不准确,业务板读取当前业务板上的PTP时间,得到目标PTP时间,根据第一时间偏差以及目标PTP时间,同步业务板的系统时间,实现主控板与业务板之间的时间同步。本申请实施例中,采用PTP时间与系统时间的差值,对分布式网络设备上的板卡的系统时间进行同步,避免了直接采用系统时间进行同步会导致的系统时间同步不准确的问题,降低了不同板卡上系统时间的晶振频率的偏差和不同私有协议的时间同步精度偏差的影响,降低了分布式网络设备上的各个板卡之间的系统时间的时间同步误差。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的实施例。
图1为分布式网络设备的结构示意图;
图2为本申请实施例提供的时间同步方法的第一种流程示意图;
图3为本申请实施例提供的获取目标PTP时间的一种流程示意图;
图4为本申请实施例提供的获取第二时间偏差的一种流程示意图;
图5为本申请实施例提供的时间同步方法的第二种流程示意图;
图6为本申请实施例提供的获取时间偏差的一种流程示意图;
图7为本申请实施例提供的时间同步方法的第三种流程示意图;
图8为本申请实施例提供的时间同步装置的第一种结构示意图;
图9为本申请实施例提供的时间同步装置的第二种结构示意图;
图10为本申请实施例提供的分布式网络设备的一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员基于本申请所获得的所有其他实施例,都属于本申请保护的范围。
如图1所示的分布式网络设备,包括多个板卡,包括一个主控板,一个或多个业务板。图1中仅以3个业务板,即业务板1-业务板3为例,并不起限定作用。一个网络设备包括两种时钟,一种是PTP时钟,一种是系统时钟。其中,主控板上的时钟称为主时钟,如PTP主时钟和系统主时钟等,业务板上的时钟称为从时钟,如PTP从时钟和系统从时钟等。
PTP时钟一般采用专用的硬件时钟芯片设计。两台不同网络设备的PTP主时钟通过PTP实现不同网络设备间的时间同步,精度可达到纳秒(ns)级别;同一台网络设备内部不同板卡的PTP时钟通过专用的PPS(Pulse Per Second,秒脉冲)/TOD(Time of Day,日期时间)信号等硬件链路实现不同板卡间的时间同步,精度可达到ns级别。
系统时钟的时间(即系统时间)由对应板卡上的操作系统维护。两台不同的网络设备的系统时钟通过NTP(Network Time Protocol,网络时间协议)来实现不同设备间的时间同步,精度可以达到毫秒(ms)级别;对于同一台网络设备内部不同板卡的系统时钟,由于不同板卡运行各自独立的操作系统,系统主时钟和系统从时钟由各设备厂家设计自定义的私有协议来实现不同板卡间的时间同步,板卡上的系统时钟受晶振频率偏差和厂家私有协议的时间同步精度偏差的影响,时间同步误差会达到秒(s)级。
发明人发现,板卡间时间同步误差产生的原因主要由晶振频率偏差和时间同步精度偏差造成的:
(1)晶振频率偏差带来时间同步误差。当前板卡上系统时钟的晶振频率指标一般为正负20ppm(Part Per Million,百万分之一),极端情况下不同板卡的晶振频率误差可达到40ppm,即每秒不同板卡的系统时间最多可能有40微秒(μs)的偏差。初始化同步一次主控板和业务板的系统时间后,由于晶振频率偏差原因,随着时间增加,业务板的系统时间与主控板的系统时间的偏差累积会越来越大,导致不同板卡间的系统时间偏差越来越大。
(2)板卡间时间同步时的时间同步精度偏差带来时间同步误差。
板卡间时间同步为一个时间同步定时任务,具体流程为:业务板启动定时器,按照定时器,每隔一段时间,向主控板发消息查询主控板的系统时间和当前的业务板的系统时间的差值,当差值超过一定值时,主控板强制将主控板的系统时间同步到业务板。
中断和CPU(Central Processing Unit,中央处理器)任务的进程调度是网络设备操作系统运行中不可少的一部分,时间同步定时任务在进行主控板的系统时间和业务板的系统时间比较和设置时,随时可能被中断和CPU任务的进程调度打断,且被打断的时间不确定;此外,主控板与业务板之间传输查询系统时间的差值的消息存在一定耗时。这些因素导致主控板比较的系统时间不是同一时刻的系统时间,造成计算出的时间偏差变大。另外,主控板与业务板之间传输系统时间存在一定耗时,业务板在接收到主控板的系统时间后,将主控板的系统时间同步为本业务板的系统时间也存在一定耗时,这会导致业务板同步的系统时间不是执行同步时刻的系统时间,这进一步造成了时间偏差增大。
综合上述多种因素,板卡间时间同步时的时间同步精度偏差带来较大的时间同步误差,极端情况下时间同步误差可能到秒级。
为了降低分布式网络设备上的各个板卡之间的系统时间的时间同步误差,本申请实施例提供了一种时间同步方法,该方法中,业务板获取主控板的系统时间与PTP时间在当前同步周期内的差值,即第一时间偏差,并获取业务板的系统时间和PTP时间在当前同步周期内的差值,即第二时间偏差。由于主控板和业务板的PTP时间已同步,对于分布式网络设备上的各个板卡而言,系统时间与PTP时间的差值是固定值。因此,业务板根据第一时间偏差与第二时间偏差的差值,可以确定业务板和主控板的系统时间之间的差值。当第一时间偏差与第二时间偏差之差大于预设时间精度时,表示业务板的系统时间不准确,业务板读取当前业务板上的PTP时间,得到目标PTP时间,根据第一时间偏差以及目标PTP时间,同步业务板的系统时间,实现主控板与业务板之间的时间同步。本申请实施例中,采用PTP时间与系统时间的差值,对分布式网络设备上的板卡的系统时间进行同步,避免了直接采用系统时间进行同步会导致的系统时间同步不准确的问题,降低了不同板卡上系统时间的晶振频率的偏差和不同私有协议的时间同步精度偏差的影响,降低了分布式网络设备上的各个板卡之间的系统时间的时间同步误差。
下面通过具体实施例,对本申请实施例提供的时间同步方法进行详细说明。
参见图2,为本申请实施例提供的时间同步方法的第一种流程示意图,应用于分布式网络设备上的任一业务板,上述时间同步方法包括如下步骤:
步骤S21,获取分布式网络设备上的主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差。
本申请实施例中,分布式网络设备上还包括主控板,业务板获取主控板的系统时间与PTP时间在当前同步周期内的差值,即第一时间偏差。同步周期可以根据实际需求进行设定,例如,可以设定同步周期为5秒、6秒等,在此不作限定。
在一些实施例中,业务板可以通过如下方式获取主控板的第一时间偏差:
方式1,通过广播的方式获取第一时间偏差,即业务板接收分布式网络设备上的主控板发送的广播报文,广播报文携带主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差。
本申请实施例中,在到达当前的同步周期时,主控板读取主控板上的PTP时钟记录的时间,得到PTP时间,并读取主控板上的系统时钟记录的时间,得到系统时间,根据读取得到的PTP时间和系统时间计算得到时间偏差,该时间偏差即为主控板在当前的同步周期内的第一时间偏差。主控板将第一时间偏差封装到广播报文中,向分布式网络设备上的每个业务板发送广播报文。分布式网络设备上的每个业务板接收该广播报文,提取广播报文中携带的第一时间偏差。
方式2,主控板通过单播的方式,向分布式网络设备中的每一个业务板分别发送单播报文。
本申请实施例中,在到达当前的同步周期时,主控板读取主控板上的PTP时钟记录的PTP时间,并读取主控板上的系统时钟记录的系统时间,根据读取得到的PTP时间和系统时间计算得到主控板在当前的同步周期内的第一时间偏差;将第一时间偏差封装到单播报文中,向分布式网络设备上的需要时间同步的业务板发送该单播报文。
本申请实施例中,业务板还可以通过其他方式获取第一时间偏差,例如,主控板将得到的PTP时间和系统时间封装到广播报文或单播报文中,向分布式网络设备上的业务板发送广播报文或单播报文。业务板根据接收到的主控板的PTP时间和系统时间,计算得到第一时间偏差。
本申请实施例中,主控板与业务板之间只需要进行一次报文传输即可完成时间同步,减少不同板卡间传输报文造成的时间的消耗,进而降低了时间同步误差,同时节省了板卡间消耗的通信资源。
本申请实施例中,为了提高时间同步的灵活性,主控板可以周期性地获取第一时间偏差,并将第一时间偏差发送给业务板。例如,主控板可以通过定时器来控制获取第一时间偏差。其中,定时器的时长与同步周期的时长相同。当定时器超时时,主控板读取主控板上的PTP时钟当前记录的时间,并读取主控板上的系统时钟当前记录的时间,进而基于读取得到的时间计算得到当前的同步周期内的第一时间偏差。随后定时器清零,重新计算时间。
主控板还可以在接收到业务板发送的请求报文时,获取第一时间偏差,并将第一时间偏差发送给业务板。例如,业务板在确定需要时间同步时,向主控板发送获取第一时间偏差的请求报文,主控板接收请求报文后,获取第一时间偏差,向发送请求报文的业务板反馈携带第一时间偏差的响应报文,业务板根据响应报文获取第一时间偏差。业务板需要时间同步的判断条件可以根据实际需求进行设定,例如,当前业务板上的系统时间和PTP时间的第二时间偏差与基准时间偏差的差值大于指定差值,或,当前时刻距离业务板上一次时间同步的时长大于指定时长等。基准时间偏差为预先设定的PTP时间和系统时间分别同步后的时间偏差。
步骤S22,获取业务板的系统时间和PTP时间在当前同步周期内的第二时间偏差。
本申请实施例中,在到达当前的同步周期时,业务板读取业务板上的PTP时钟记录的PTP时间,并读取业务板上的系统时钟记录的系统时间,根据读取得到的PTP时间和系统时间计算得到业务板的系统时间与PTP时间的差值,即业务板在当前的同步周期内的第二时间偏差。业务板可以周期性获取第二时间偏差。例如,业务板可以通过定时器来控制获取第二时间偏差。其中,定时器的时长与同步周期的时长相同。当定时器超时时,业务板读取业务板上的PTP时钟当前记录的时间,并读取业务板上的系统时钟当前记录的时间,进而基于读取得到的时间计算得到当前的同步周期内的第二时间偏差。
本申请实施例中,不限定步骤S21和步骤S22的执行顺序。为确定时间同步的准确性,一个示例中,业务板可以在获取主控板发送的第一时间偏差(如接收到广播报文)后,再获取第二时间偏差。
步骤S23,在第一时间偏差与第二时间偏差之差大于预设时间精度时,读取当前业务板上的PTP时间,得到目标PTP时间。
步骤S24,根据目标PTP时间和第一时间偏差,同步业务板的系统时间。
本申请实施例中,分布式网络设备上的各个板卡的PTP时间是同步的,业务板获取第一时间偏差和第二时间偏差后,可以比较第一时间偏差和第二时间偏差,其中,第一时间偏差和第二时间偏差之间的差值即为业务板和主控板的系统时间之间的差值。当业务板判断第一时间偏差与第二时间偏差之差大于预设时间精度时,业务板确定板卡和主控板的系统时间的偏差较大,业务板读取当前业务板上的PTP时间,得到目标PTP时间,根据目标PTP时间和主控板的第一时间偏差,得到业务板的当前系统时间,进而将业务板的系统时间同步为所得到的当前系统时间,实现主控板与业务板的时间同步。当业务板判断第一时间偏差与第二时间偏差之差小于等于预设时间精度时,业务板结束当前同步周期的时间同步,等待下一个同步周期的时间同步。
本申请实施例中,预设时间精度表示考虑晶振频率偏差、中断和进程调度、传输报文时延等多个因素造成的总时间同步误差,可以根据实际情况进行设定,例如,预设时间精度可以为1ms、2ms等,在此不作限定。
在一些实施例中,业务板可以通过如下步骤实现步骤S24:在关闭中断和进程调度的情况下,计算目标PTP时间和第一时间偏差的差值;将业务板的系统时间同步为该差值;打开中断和进程调度。例如,业务板可以通过如下公式(1)得到业务板的系统时间,完成系统时间同步:
T系统1=TPTP1-(TPTP2-T系统2) 公式(1)
其中,T系统1表示当前需要同步的业务板的系统时间,即业务板的当前系统时间,TPTP1表示业务板的目标PTP时间,(TPTP2-T系统2)表示第一时间偏差,TPTP2表示计算第一时间偏差的主控板的PTP时间,T系统2表示计算第一时间偏差的主控板的系统时间。
例如,主控板的第一时间偏差为+5ms,业务板的第二时间偏差为+8ms。业务板计算第一时间偏差与第二时间偏差之差为3ms,即业务板和主控板的系统时间之差为3ms。若当前主控板与业务板之间的同步精度为小于1ms,即预设时间精度为1ms,则第一时间偏差与第二时间偏差之差(3ms)大于预设时间精度(1ms),业务板需要进行系统时间同步。业务板在关闭中断和进程调度下,计算第一时间偏差和业务板的目标PTP时间ta的差值ta-5ms,将该差值同步为业务板的系统时间,同步后,业务板打开中断和进程调度。
本申请实施例中,业务板进入内核态,在关闭中断和进程调度下,计算当前业务板上的PTP时间,即目标PTP时间,和第一时间偏差的差值,得到业务板的当前系统时间进行同步。在此过程中,业务板通过关闭中断和进程调度设置系统时间,使得同步过程不会被中断和进程调度打断,以降低中断和进程调度带来的影响,减小时间同步误差。
本申请实施例提供的技术方案中,业务板获取主控板的系统时间与PTP时间在当前同步周期内的差值,即第一时间偏差,并获取业务板的系统时间和PTP时间在当前同步周期内的差值,即第二时间偏差。由于主控板和业务板的PTP时间已同步,对于分布式网络设备上的各个板卡而言,系统时间与PTP时间的差值是固定值。因此,业务板根据第一时间偏差与第二时间偏差的差值,可以确定业务板和主控板的系统时间之间的差值。当第一时间偏差与第二时间偏差之差大于预设时间精度时,表示业务板的系统时间不准确,业务板读取当前业务板上的PTP时间,得到目标PTP时间,根据第一时间偏差以及目标PTP时间,同步业务板的系统时间,实现主控板与业务板之间的时间同步。本申请实施例中,采用PTP时间与系统时间的差值,对分布式网络设备上的板卡的系统时间进行同步,避免了直接采用系统时间进行同步会导致的系统时间同步不准确的问题,降低了不同板卡上系统时间的晶振频率的偏差和不同私有协议的时间同步精度偏差的影响,降低了分布式网络设备上的各个板卡之间的系统时间的时间同步误差。
应用本申请实施例提供的技术方案,针对分布式网络设备上不同板卡的时间偏差的处理,利用现有不同板卡间已同步好的PTP时间进行系统时间校正,使可以让不同板卡间的系统时间同步精度到ms级。
在一些实施例中,上述步骤S23中获取目标PTP时间的流程可参见图3,包括如下步骤:
步骤S31,判断业务板是否支持在关闭中断的情况下读取PTP时间。若是,即业务板可在关闭中断的情况下读取PTP时间,则执行步骤S32;若否,即业务板不可在关闭中断的情况下读取PTP时间,则执行步骤S33。
本申请实施例中,业务板进入内核态,判断业务板是否支持在关闭中断的情况下读取PTP时间,以降低中断和进程调度的影响。例如,在关闭中断和进程调度的情况下,业务板读取PTP时间的用时为20μs,但在打开中断和进程调度的情况下,由于中断和进程调度的影响,导致业务板读取PTP时间的用时大于20μs,造成时间同步误差。
步骤S32,关闭中断和进程调度,在关闭中断和进程调度后,读取当前业务板的PTP时间,作为目标PTP时间;在同步业务板的系统时间之后,打开中断和进程调度。
本申请实施例中,业务板先关闭中断和进程调度,关闭中断和进程调度后,读取业务板上的PTP时钟当前记录的时间,并将读取的时间作为目标PTP时间,使得读取目标PTP时间的过程不受中断和进程调度的影响。业务板在获取目标PTP时间后,就可以根据该目标PTP时间进行时间同步。业务板在完成时间同步后,即在同步业务板的系统时间之后,打开中断和进程调度,使得业务板中的其他进程可以正常调度。
步骤S33,读取当前业务板的系统时间和PTP时间,得到第一系统时间和第一PTP时间,在获得第一PTP时间后,读取当前业务板的系统时间,得到第二系统时间。
本申请实施例中,若业务板不支持在关闭中断的情况下读取PTP时间,则业务板直接读取当前业务板的PTP时间的过程可能受到中断和进程调度的影响。这种情况下,业务板可以根据读取PTP时间的时长,判断读取的PTP时间是否可用。如上述步骤S33,业务板判定业务板不支持在关闭中断的情况下读取PTP时间时,分别读取一次业务板上系统时钟当前记录的时间和PTP时钟当前记录的时间,得到第一系统时间和第一PTP时间。本申请实施例中,为确保第一PTP时间评估的准确性,业务板可以同时读取第一系统时间和第一PTP时间,也可以先读取第一系统时间,再读取第一PTP时间。
在获得第一PTP时间后,业务板再读取一次业务板上系统时钟当前记录的时间,得到第二系统时间。业务板计算第二系统时间与第一系统时间之差,将该差值作为业务板读取第一PTP时间的时长。
步骤S34,判断第二系统时间与第一系统时间之差是否小于预设时间精度对应的第一时间误差;若是,则执行步骤S35;若否,则执行步骤S36。
若第二系统时间与第一系统时间之差小于预设时间精度对应的第一时间误差,则业务板读取第一PTP时间的过程受中断和进程调度的影响不大,获得的第一PTP时间可用,执行步骤S35。若第二系统时间与第一系统时间之差大于等于预设时间精度对应的第一时间误差,则业务板读取第一PTP时间的过程受中断和进程调度的影响较大,获得的第一PTP时间不可用,执行步骤S36。
本申请实施例中,不同的预设时间精度,对应设置有一个或多个时间误差,如上述第一时间误差。第一时间误差表示业务板读取PTP时间的过程中的时间同步误差,包含在预设时间精度内,受硬件设备的影响,可以根据实际情况进行设定,例如,当预设时间精度为1ms、2ms时,对应的第一时间误差可以为300μs、1ms等,在此对预设时间精度、第一时间误差的取值以及二者之间的对应关系不作限定。
步骤S35,将第一PTP时间作为目标PTP时间。
本申请实施例中,业务板确定读取到的第一PTP时间有效,可以将该第一PTP时间作为业务板的目标PTP时间。后续,业务板根据该目标PTP时间进行时间同步。
步骤S36,判断当前同步周期内的第一统计次数是否小于第一预设次数,第一统计次数为第二系统时间与第一系统时间之差大于等于第一时间误差的次数。
本申请实施例中,第一统计次数的初始值为0。若当前同步周期内的第一统计次数小于第一预设次数,即读取的第一PTP时间无效的次数小于第一预设次数,则业务板可以执行步骤S37,进而返回执行步骤S33;若当前同步周期内的第一统计次数大于等于第一预设次数,即读取的第一PTP时间无效的次数大于等于第一预设次数,则业务板执行步骤S38。
步骤S37,累计第一统计次数。
本申请实施例中,业务板确定读取的第一PTP时间无效,且读取无效的次数小于第一预设次数,则可以累计一次第一统计次数,并再次执行步骤S33,继续读取当前业务板的系统时间和PTP时间,直到读取到的第一PTP时间有效或第一统计次数达到第一预设次数。
步骤S38,输出提示信息,提示信息指示目标PTP时间获取失败。
本申请实施例中,业务板确定读取的第一PTP时间无效,且读取无效的次数大于等于第一预设次数,业务板可以确定目标PTP时间获取失败,业务板可以输出提示信息,通知用户目标PTP时间获取失败,使得用户可以调整时间精度要求,即调整预设时间精度和对应的第一时间误差。
本申请实施例中,当第二系统时间与第一系统时间之差大于等于预设时间精度对应的第一时间误差,且当前同步周期内的第一统计次数大于等于第一预设次数时,业务板还可以不做任何处理,在此不作限定。
下面通过具体实施例对获取目标PTP时间的过程进行详细说明,根据业务板上是否支持在关闭中断的情况下读取PTP时间分为两种情况。
情况1,业务板支持在关闭中断的情况下读取PTP时间。业务板先关闭中断和进程调度,再读取当前业务板的PTP时间,得到目标PTP时间ta。
情况2,业务板不支持在关闭中断的情况下读取PTP时间。业务板读取业务板的第一系统时间、第一PTP时间和第二系统时间分别为t1、t2、t3,并计算得到的两次系统时间的时间间隔t3-t1,得到读取第一PTP时间的用时为t3-t1。
业务板比较计算得到的时间间隔t3-t1与预设时间精度对应的第一时间误差的大小关系。若预设时间精度为1ms、第一时间误差为300μs,则当t3-t1<300μs时,业务板读取的第一PTP时间可用,业务板将t2作为目标PTP时间;当t3-t1≥300μs时,则读取的第一PTP时间不能用于时间同步,第一PTP时间读取失败,业务板需要重新进行PTP时间的读取。如果读取失败的次数超过第一预设次数,说明当前的PTP时钟不满足时间同步精度要求,需要用户进行调整,例如可将预设时间精度调整为2ms,相应的,将第一时间误差调整为1ms。
本申请实施例提供的技术方案中,在支持在关闭中断的情况下读取PTP时间的情况下,业务板关闭中断和进程调度后,读取当前业务板的PTP时间,作为目标PTP时间,以降低中断和进程调度的影响,提高时间同步精度。在不支持在关闭中断的情况下读取PTP时间的情况下,根据系统时间确定业务板读取PTP时间的时长,并自定义第一时间误差,将读取时长较短的符合时间要求的第一PTP时间,作为业务板的目标PTP时间,以去除无效数据的干扰,降低时间同步误差。
在一些实施例中,参见图4,为本申请实施例提供的获取第二时间偏差的一种流程示意图,上述步骤S22可以通过以下步骤实现:
步骤S41,在当前同步周期内,判断业务板是否支持在关闭中断的情况下读取PTP时间。若是,即业务板可在关闭中断的情况下读取PTP时间,则执行步骤S42;若否,即业务板不可在关闭中断的情况下读取PTP时间,则执行步骤S43。
本申请实施例中,业务板在当前同步周期内,获取第二时间偏差。步骤S41的具体描述可参见上述步骤S31。
步骤S42,关闭中断和进程调度,在关闭中断和进程调度后,读取当前业务板的系统时间和PTP时间;打开中断和进程调度;计算所读取的系统时间和PTP时间的差值,作为第二时间偏差。
本申请实施例中,业务板先关闭中断和进程调度,再读取当前业务板的系统时间和PTP时间,使得读取系统时间和PTP时间的过程不受中断和进程调度的影响。在读取到当前的系统时间和PTP时间之后,业务板打开中断和进程调度,并计算所读取的系统时间和PTP时间的差值,将该差值作为第二时间偏差。
步骤S43,读取当前业务板的系统时间和PTP时间,得到第三系统时间和第二PTP时间,在获得第二PTP时间后,读取当前业务板的系统时间,得到第四系统时间。
本申请实施例中,业务板可以根据业务板读取PTP时间的时长,判断读取的PTP时间是否可用,与上述步骤S33相似,具体可参见上述步骤S33的相关描述。
步骤S44,判断第四系统时间与第三系统时间之差是否小于预设时间精度对应的第二时间误差;若是,则执行步骤S45;若否,则执行步骤S46。
若第四系统时间与第三系统时间之差小于预设时间精度对应的第二时间误差,则业务板读取第二PTP时间的过程受中断和进程调度的影响不大,获得的第二PTP时间可用,执行步骤S45。若第四系统时间与第三系统时间之差大于等于预设时间精度对应的第二时间误差,则业务板读取第二PTP时间的过程受中断和进程调度的影响较大,获得到的第二PTP时间不可用,执行步骤S46。
本申请实施例中的第二时间误差与上述图3中的第一时间误差可以相同,也可以不同,可根据具体情况进行设定。
步骤S45,计算第三系统时间和第二PTP时间的差值,作为第二时间偏差。
本申请实施例中,业务板确定读取到的第二PTP时间有效,并计算第三系统时间和第二PTP时间的差值,将该差值作为第二时间偏差,以保证获取的第二时间偏差的准确性。
步骤S46,判断当前同步周期内的第二统计次数是否小于第二预设次数,第二统计次数为第四系统时间与第三系统时间之差大于等于第二时间误差的次数。
本申请实施例中,第二统计次数的初始值为0。若当前同步周期内的第二统计次数小于第二预设次数,即读取的第二PTP时间无效的次数小于第二预设次数,则业务板可以执行步骤S47,进而返回执行步骤S43;若当前同步周期内的第二统计次数大于等于第二预设次数,即读取的第二PTP时间无效的次数大于等于第二预设次数,则业务板执行步骤S48。
步骤S47,累计第二统计次数。
本申请实施例中,业务板确定读取的第二PTP时间无效,且读取无效的次数小于第二预设次数,则可以累计一次第二统计次数,并再次执行步骤S43,直到读取到的第二PTP时间有效或第二统计次数达到第二预设次数。
步骤S48,输出提示信息,提示信息指示第二时间偏差获取失败。
本申请实施例中,业务板确定读取的第二PTP时间无效,且读取无效的次数大于等于第二预设次数,业务板可以确定第二时间偏差获取失败,业务板可以输出提示信息,通知用户第二时间偏差获取失败,使得用户可以调整时间精度要求,即调整预设时间精度和对应的第二时间误差。
本申请实施例中,当第四系统时间与第三系统时间之差大于等于预设时间精度对应的第二时间误差,且当前同步周期内的第二统计次数大于等于第二预设次数时,业务板还可以不做任何处理,在此不作限定。
本申请实施例中的第二预设次数与上述图3中的第一预设次数的数值可以相同,也可以不同,可根据具体情况进行设定。
下面通过具体实施例对获取第二时间偏差的过程进行详细说明,可根据业务板上是否支持在关闭中断的情况下读取PTP时间分为两种情况。
情况1,业务板支持在关闭中断的情况下读取PTP时间。业务板先关闭中断和进程调度,再读取业务板的系统时间t4和PTP时间t5,计算系统时间t4和PTP时间t5的差值为t5-t4,得到第二时间偏差t5-t4。
情况2,业务板不支持在关闭中断的情况下读取PTP时间。业务板读取得到业务板的第三系统时间t4、第二PTP时间t5和第四系统时间t6,并计算得到的两次系统时间的时间间隔t6-t4,得到读取第二PTP时间的用时为t6-t4。
业务板比较计算得到的时间间隔t6-t4与预设时间精度对应的第二时间误差的大小关系。若第二时间误差为300μs,则当t6-t4<300μs时,业务板读取的第二PTP时间可用,业务板可以计算得到第二时间偏差为t5-t4;当t6-t4≥300μs时,业务板读取的第二PTP时间不能用于时间同步,第二PTP时间读取失败,业务板需要重新进行第二时间偏差的获取。
本申请实施例提供的技术方案中,在支持在关闭中断的情况下读取PTP时间的情况下,业务板关闭中断和进程调度后,读取业务板的系统时间和PTP时间,进而获取第二时间偏差,以降低中断和进程调度的影响,提高时间同步精度。在不支持在关闭中断的情况下读取PTP时间的情况下,业务板根据系统时间确定业务板读取PTP时间的时长,并自定义第二时间误差,得到读取时长较短的符合时间要求的第二PTP时间,根据符合要求的第二PTP时间获取第二时间偏差,以去除无效数据的干扰,降低时间同步误差。
与上述时间同步方法对应,本申请实施例还提供了一种时间同步方法,参见图5,为本申请实施例提供的时间同步方法的第二种流程示意图,应用于分布式网络设备上的主控板,上述时间同步方法包括如下步骤:
步骤S51,获取主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差。
本申请实施例中,主控板获取第一时间偏差的方式与业务板获取第二时间偏差的方式相似,参见上述步骤S22的相关描述。
步骤S52,将第一时间偏差发送给分布式网络设备上的业务板,以使业务板获取业务板的系统时间和PTP时间在当前同步周期内的第二时间偏差;在第一时间偏差与第二时间偏差之差大于预设时间精度时,读取当前业务板上的PTP时间,得到目标PTP时间;根据目标PTP时间和第一时间偏差,同步业务板的系统时间。
本申请实施例中,主控板获取第一时间偏差后,将第一时间偏差发送给分布式网络设备上的每一业务板,使得业务板执行上述任一时间同步方法。
在一些实施例中,分布式网络设备包括多个业务板,主控板可以将第一时间偏差封装到广播报文中,向多个业务板广播该广播报文,将第一时间偏差发送给业务板。具体可参见上述步骤S21中的相关描述。
本申请实施例提供的技术方案中,业务板获取主控板的系统时间与PTP时间在当前同步周期内的差值,即第一时间偏差,并获取业务板的系统时间和PTP时间在当前同步周期内的差值,即第二时间偏差。由于主控板和业务板的PTP时间已同步,对于分布式网络设备上的各个板卡而言,系统时间与PTP时间的差值是固定值。因此,业务板根据第一时间偏差与第二时间偏差的差值,可以确定业务板和主控板的系统时间之间的差值。当第一时间偏差与第二时间偏差之差大于预设时间精度时,表示业务板的系统时间不准确,业务板读取当前业务板上的PTP时间,得到目标PTP时间,根据第一时间偏差以及目标PTP时间,同步业务板的系统时间,实现主控板与业务板之间的时间同步。本申请实施例中,采用PTP时间与系统时间的差值,对分布式网络设备上的板卡的系统时间进行同步,避免了直接采用系统时间进行同步会导致的系统时间同步不准确的问题,降低了不同板卡上系统时间的晶振频率的偏差和不同私有协议的时间同步精度偏差的影响,降低了分布式网络设备上的各个板卡之间的系统时间的时间同步误差。
在一些实施例中,上述步骤S51可以通过以下步骤实现:在当前同步周期内,判断主控板是否支持在关闭中断的情况下读取PTP时间;若支持在关闭中断的情况下读取PTP时间,则关闭中断和进程调度,在关闭中断和进程调度后,读取当前主控板的系统时间和PTP时间;打开中断和进程调度;计算所读取的系统时间和PTP时间的差值,作为第一时间偏差;若不支持在关闭中断的情况下读取PTP时间,则读取当前主控板的系统时间和PTP时间,得到第五系统时间和第三PTP时间,在获得第三PTP时间后,读取当前主控板的系统时间,得到第六系统时间;若第六系统时间与第五系统时间之差小于预设时间精度对应的第三时间误差,则计算第五系统时间和第三PTP时间的差值,作为第一时间偏差。
本申请实施例中,主控板获取第一时间偏差的过程与上述图4中业务板获取第二时间偏差的过程相似,具体可参见上述图4的相关描述。此外,本申请实施例中的第三时间误差与上述图3中的第一时间误差、图4中的第二时间误差可以相同,也可以不同,可根据具体情况进行设定。
在一些实施例中,若第六系统时间与第五系统时间之差大于等于预设时间精度对应的第三时间误差,且当前同步周期内的第三统计次数小于第三预设次数,则累计第三统计次数,并重新执行读取当前主控板的系统时间和PTP时间,得到第五系统时间和第三PTP时间的步骤;第三统计次数为第六系统时间与第五系统时间之差大于等于第三时间误差的次数;若第六系统时间与第五系统时间之差大于等于预设时间精度对应的第三时间误差,且当前同步周期内的第三统计次数大于等于第三预设次数,则输出提示信息,提示信息指示第一时间偏差获取失败。
具体可参见上述步骤S46-步骤S48的相关描述。本申请实施例中的第三预设次数与上述图3中的第一预设次数、图4中的第二预设次数的数值可以相同,也可以不同,可根据具体情况进行设定。
本申请实施例提供的技术方案中,在支持在关闭中断的情况下读取PTP时间的情况下,主控板关闭中断和进程调度后,读取主控板的系统时间和PTP时间,进而获取第一时间偏差,以降低中断和进程调度的影响,提高时间同步精度。在不支持在关闭中断的情况下读取PTP时间的情况下,主控板根据系统时间确定主控板进程PTP时间的时长,并自定义第三时间误差,得到读取时长较短的符合时间要求的第三PTP时间,根据符合要求的第三PTP时间获取第一时间偏差,以去除无效数据的干扰,降低时间同步误差。
下面结合图6和图7,对本申请实施例提供的时间同步方法进行详细说明。
图6为本申请实施例提供的获取时间偏差的一种流程示意图,应用于分布式网络设备上的板卡,板卡可以为主控板或业务板。
步骤S61,进入内核态。
步骤S62,判断板卡是否支持在关闭中断的情况下读取PTP时间。若是,则执行步骤S63;若否,则执行步骤S64。
步骤S63,关闭中断和进程调度,读取系统时间t1和PTP时间t2,执行步骤S68。
步骤S64,读取板卡当前的系统时间t1,读取板卡当前的PTP时间t2,再读取当前的系统时间t3。
本申请实施例中,板卡在读取PTP时间t2后,再读取系统时间t3。
步骤S65,判断间隔t3-t1是否符合精度要求。
本申请实施例中,板卡计算读取的两次系统时间的时间间隔t3-t1,判断间隔t3-t1是否符合精度要求,即业务板判断t3-t1是否小于预设时间精度对应的第二时间误差,主控板判断t3-t1是否小于预设时间精度对应的第三时间误差。若否,即不符合精度要求,业务板判断t3-t1大于等于第二时间误差,主控板判断t3-t1大于等于第三时间误差,则执行步骤S66;若是,即符合精度要求,业务板判断t3-t1小于第二时间误差,主控板判断t3-t1小于第三时间误差,则执行步骤S68。
步骤S66,将统计次数加一,即业务板累计第二统计次数,主控板累计第三统计次数。
步骤S67,判断统计次数是否超过限制,即业务板判断第二统计次数是否大于等于第二预设次数,主控板判断第三统计次数是否大于等于第三预设次数。若否,即未超过限制,业务板确定第二统计次数小于第二预设次数,主控板确定第三统计次数小于第三预设次数,则返回执行步骤S64;若是,即超过限制,业务板确定第二统计次数大于等于第二预设次数,主控板确定第三统计次数大于等于第三预设次数,则执行步骤S69。
步骤S68,打开中断和进程调度,计算时间偏差t2-t1。
步骤S69,计算失败,提示用户调整精度要求。
上述步骤S61-步骤S69可参见图2-图5关于获取时间偏差的相关描述。
图7为本申请实施例提供的时间同步方法的第三种流程示意图。本申请实施例中,定时器的时长为5秒。
步骤S71,主控板启动定时器,每隔5秒循环操作。
步骤S72,主控板获取时间偏差数据,将时间偏差数据封装到广播报文中广播到所有业务板。
本申请实施例中,主控板获取主控板的第一时间偏差,将第一时间偏差封装到广播报文中,将广播报文发送到所有业务板。
步骤S73,业务板收到广播报文后,从业务板中获取时间偏差数据,根据该时间偏差数据和广播报文中的时间偏差数据进行计算,得到时间偏差差值。
本申请实施例中,业务板为分布式网络设备上的任一业务板。业务板获取业务板的第二时间偏差,根据第二时间偏差和广播报文中的第一时间偏差进行计算,得到第二时间偏差与第一时间偏差之差,即时间偏差差值。
步骤S74,业务板判断时间偏差差值是否超过要求,即业务板判断第二时间偏差与第一时间偏差之差是否大于预设时间精度。若否,即时间偏差差值未超过要求,第二时间偏差与第一时间偏差之差小于等于预设时间精度,则执行步骤S75;若是,即时间偏差差值超过要求,第二时间偏差与第一时间偏差之差大于预设时间精度,则执行步骤S76,以进行时间同步。
步骤S75,业务板确定时间偏差正常,处理结束。
步骤S76,业务板判断自身是否支持在关闭中断的情况下读取PTP时间,若是,则执行步骤S77;若否,则执行步骤S78。
步骤S77,业务板关闭中断和进程调度,读取当前业务板的PTP时间,作为目标PTP时间,根据目标PTP时间和主控板的时间偏差数据计算出对应的系统时间,根据计算出的系统时间设置业务板的系统时间,打开中断和进程调度,结束当前时间同步,等待下一次时间同步。
步骤S78,业务板读取当前的系统时间t1,读取当前的PTP时间t2,再读取当前的系统时间t3。
本申请实施例中,业务板在读取当前的PTP时间t2后,再读取当前的系统时间t3。
步骤S79,业务板判断间隔t3-t1是否符合精度要求。若否,即不符合精度要求,则执行步骤S710;若是,即符合精度要求,则执行步骤S712。
步骤S710,业务板将统计次数加一,即业务板累计第一统计次数。
步骤S711,业务板判断统计次数是否超过限制,即业务板判断第一统计次数是否大于等于第一预设次数。若否,即未超过限制,业务板确定第一统计次数小于第一预设次数,则返回执行步骤S78;若是,即超过限制,业务板确定第一统计次数大于等于第一预设次数,则执行步骤S713。
步骤S712,业务板关闭中断和进程调度,将读取的PTP时间t2作为目标PTP时间,根据目标PTP时间t2和主控板的时间偏差数据计算出对应的系统时间,根据计算出的系统时间设置业务板的系统时间,打开中断和进程调度,结束当前时间同步,等待下一次时间同步。
步骤S713,业务板确认读取的PTP时间t2无效,提示用户调整精度要求,等待下次精度调节。
上述步骤S71-步骤S713可参见图2-图6关于时间同步的相关描述。
本申请实施例提供的技术方案中,基于不同板卡的PTP时钟已同步、每一板卡的系统时间和PTP时间的差值为固定值的原理,业务板按主控板的差值进行系统时间的同步处理。与之前业务板和主控板发送消息的方案相比,消去了不同板卡间发送消息的时间消耗偏差。在获取PTP时间和系统时间的偏差时,进入内核态,关闭中断和进程调度后再进行时间偏差计算,消去了中断和进程调度的影响。从而使时间同步精度精确到ms级别。
应用本申请提供的技术方案,采用主控板向业务板广播报文的处理方案,代替业务板和主控板采用单播同步时间的处理方案,可以节约通信资源,相比之前的时间同步方案,广播处理比单播处理节省了板卡间消耗的通信资源。
与上述时间同步方法对应,本申请实施例还提供了一种时间同步装置,参见图8,为本申请实施例提供的时间同步装置的第一种结构示意图,应用于分布式网络设备上的业务板,所述装置包括:
时间偏差获取模块81,用于获取所述分布式网络设备上的主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差;获取所述业务板的系统时间和PTP时间在所述当前同步周期内的第二时间偏差;
业务板数据处理同步模块82,用于在所述第一时间偏差与所述第二时间偏差之差大于预设时间精度时,读取当前所述业务板上的PTP时间,得到目标PTP时间;根据所述目标PTP时间和所述第一时间偏差,同步所述业务板的系统时间。
在一些实施例中,所述业务板数据处理同步模块82,还用于:
判断所述业务板是否支持在关闭中断的情况下读取PTP时间;
若是,则关闭中断和进程调度,在关闭中断和进程调度后,读取当前所述业务板的PTP时间,作为所述目标PTP时间;在同步所述业务板的系统时间之后,打开中断和进程调度;
若否,则读取当前所述业务板的系统时间和PTP时间,得到第一系统时间和第一PTP时间,在获得所述第一PTP时间后,读取当前所述业务板的系统时间,得到第二系统时间;
若所述第二系统时间与所述第一系统时间之差小于所述预设时间精度对应的第一时间误差,则将所述第一PTP时间作为所述目标PTP时间。
在一些实施例中,所述业务板数据处理同步模块82,还用于:
若所述第二系统时间与所述第一系统时间之差大于等于所述预设时间精度对应的第一时间误差,且所述当前同步周期内的第一统计次数小于第一预设次数,则累计第一统计次数,并重新执行所述读取当前所述业务板的系统时间和PTP时间,得到第一系统时间和第一PTP时间的步骤,所述第一统计次数为所述第二系统时间与所述第一系统时间之差大于等于所述第一时间误差的次数;
若所述第二系统时间与所述第一系统时间之差大于等于所述预设时间精度对应的第一时间误差,且所述当前同步周期内的第一统计次数大于等于第一预设次数,则输出提示信息,所述提示信息指示所述目标PTP时间获取失败。
在一些实施例中,所述时间偏差获取模块81,具体用于:
在所述当前同步周期内,判断所述业务板是否支持在关闭中断的情况下读取PTP时间;
若是,则关闭中断和进程调度,在关闭中断和进程调度后,读取当前所述业务板的系统时间和PTP时间;打开中断和进程调度;计算所读取的系统时间和PTP时间的差值,作为所述第二时间偏差;
若否,则读取当前所述业务板的系统时间和PTP时间,得到第三系统时间和第二PTP时间,在获得所述第二PTP时间后,读取当前所述业务板的系统时间,得到第四系统时间;
若所述第四系统时间与所述第三系统时间之差小于所述预设时间精度对应的第二时间误差,则计算所述第三系统时间和第二PTP时间的差值,作为所述第二时间偏差。
在一些实施例中,所述时间偏差获取模块81,还用于:
若所述第四系统时间与所述第三系统时间之差大于等于所述预设时间精度对应的第二时间误差,且所述当前同步周期内的第二统计次数小于第二预设次数,则累计第二统计次数,并重新执行所述读取当前所述业务板的系统时间和PTP时间,得到第三系统时间和第二PTP时间的步骤,所述第二统计次数为所述第四系统时间与所述第三系统时间之差大于等于所述第二时间误差的次数;
若所述第四系统时间与所述第三系统时间之差大于等于所述预设时间精度对应的第二时间误差,且所述当前同步周期内的第二统计次数大于等于第二预设次数,则输出提示信息,所述提示信息指示所述第二时间偏差获取失败。
在一些实施例中,所述时间偏差获取模块81,具体用于:
接收所述分布式网络设备上的主控板发送的广播报文,所述广播报文携带所述主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差;
在接收到所述广播报文后,执行所述获取所述业务板的系统时间和PTP时间在所述当前同步周期内的第二时间偏差的步骤。
在一些实施例中,所述业务板数据处理同步模块82,具体用于:
在关闭中断和进程调度的情况下,计算所述目标PTP时间和所述第一时间偏差的差值;
将所述业务板的系统时间同步为所述差值;
打开中断和进程调度。
本申请实施例提供的技术方案中,业务板获取主控板的系统时间与PTP时间在当前同步周期内的差值,即第一时间偏差,并获取业务板的系统时间和PTP时间在当前同步周期内的差值,即第二时间偏差。由于主控板和业务板的PTP时间已同步,对于分布式网络设备上的各个板卡而言,系统时间与PTP时间的差值是固定值。因此,业务板根据第一时间偏差与第二时间偏差的差值,可以确定业务板和主控板的系统时间之间的差值。当第一时间偏差与第二时间偏差之差大于预设时间精度时,表示业务板的系统时间不准确,业务板读取当前业务板上的PTP时间,得到目标PTP时间,根据第一时间偏差以及目标PTP时间,同步业务板的系统时间,实现主控板与业务板之间的时间同步。本申请实施例中,采用PTP时间与系统时间的差值,对分布式网络设备上的板卡的系统时间进行同步,避免了直接采用系统时间进行同步会导致的系统时间同步不准确的问题,降低了不同板卡上系统时间的晶振频率的偏差和不同私有协议的时间同步精度偏差的影响,降低了分布式网络设备上的各个板卡之间的系统时间的时间同步误差。
与上述时间同步方法对应,本申请实施例还提供了一种时间同步装置,参见图9,为本申请实施例提供的时间同步装置的第二种结构示意图,应用于分布式网络设备上的主控板,所述装置包括:
时间偏差获取模块91,用于获取所述主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差;
主控板广播处理模块92,用于将所述第一时间偏差发送给所述分布式网络设备上的业务板,以使所述业务板获取所述业务板的系统时间和PTP时间在所述当前同步周期内的第二时间偏差;在所述第一时间偏差与所述第二时间偏差之差大于预设时间精度时,读取当前所述业务板上的PTP时间,得到目标PTP时间;根据所述目标PTP时间和所述第一时间偏差,同步所述业务板的系统时间。
在一些实施例中,所述时间偏差获取模块91,具体用于:
在当前同步周期内,判断所述主控板是否支持在关闭中断的情况下读取PTP时间;
若是,则关闭中断和进程调度,在关闭中断和进程调度后,读取当前所述主控板的系统时间和PTP时间;打开中断和进程调度;计算所读取的系统时间和PTP时间的差值,作为所述第一时间偏差;
若否,则读取当前所述主控板的系统时间和PTP时间,得到第五系统时间和第三PTP时间,在获得所述第三PTP时间后,读取当前所述主控板的系统时间,得到第六系统时间;
若所述第六系统时间与所述第五系统时间之差小于所述预设时间精度对应的第三时间误差,则计算所述第五系统时间和第三PTP时间的差值,作为所述第一时间偏差。
在一些实施例中,所述时间偏差获取模块91,还用于:
若所述第六系统时间与所述第五系统时间之差大于等于所述预设时间精度对应的第三时间误差,且所述当前同步周期内的第三统计次数小于第三预设次数,则累计第三统计次数,并重新执行所述读取当前所述主控板的系统时间和PTP时间,得到第五系统时间和第三PTP时间的步骤,所述第三统计次数为所述第六系统时间与所述第五系统时间之差大于等于所述第三时间误差的次数;
若所述第六系统时间与所述第五系统时间之差大于等于所述预设时间精度对应的第三时间误差,且所述当前同步周期内的第三统计次数大于等于第三预设次数,则输出提示信息,所述提示信息指示所述第一时间偏差获取失败。
在一些实施例中,所述分布式网络设备包括多个业务板;所述主控板广播处理模块92,具体用于:
将所述第一时间偏差封装到广播报文中,向所述多个业务板广播所述广播报文。
本申请实施例提供的技术方案中,业务板获取主控板的系统时间与PTP时间在当前同步周期内的差值,即第一时间偏差,并获取业务板的系统时间和PTP时间在当前同步周期内的差值,即第二时间偏差。由于主控板和业务板的PTP时间已同步,对于分布式网络设备上的各个板卡而言,系统时间与PTP时间的差值是固定值。因此,业务板根据第一时间偏差与第二时间偏差的差值,可以确定业务板和主控板的系统时间之间的差值。当第一时间偏差与第二时间偏差之差大于预设时间精度时,表示业务板的系统时间不准确,业务板读取当前业务板上的PTP时间,得到目标PTP时间,根据第一时间偏差以及目标PTP时间,同步业务板的系统时间,实现主控板与业务板之间的时间同步。本申请实施例中,采用PTP时间与系统时间的差值,对分布式网络设备上的板卡的系统时间进行同步,避免了直接采用系统时间进行同步会导致的系统时间同步不准确的问题,降低了不同板卡上系统时间的晶振频率的偏差和不同私有协议的时间同步精度偏差的影响,降低了分布式网络设备上的各个板卡之间的系统时间的时间同步误差。
与上述时间同步方法相对应,本申请实施例还提供了一种分布式网络存储设备,如图10所示,包括主控板101和至少一个业务板102,图10中仅以一个业务板为例,所述主控板101执行上述应用于分布式网络设备上的主控板的任一时间同步方法,所述业务板102执行上述应用于分布式网络设备上的业务板的任一时间同步方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和分布式网络设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (14)
1.一种时间同步方法,其特征在于,应用于分布式网络设备上的业务板,所述方法包括:
获取所述分布式网络设备上的主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差;
获取所述业务板的系统时间和PTP时间在所述当前同步周期内的第二时间偏差;
在所述第一时间偏差与所述第二时间偏差之差大于预设时间精度时,读取当前所述业务板上的PTP时间,得到目标PTP时间;
根据所述目标PTP时间和所述第一时间偏差,同步所述业务板的系统时间;
所述根据所述目标PTP时间和所述第一时间偏差,同步所述业务板的系统时间的步骤,包括:
计算所述目标PTP时间和所述第一时间偏差的差值;
将所述业务板的系统时间同步为所述差值。
2.根据权利要求1所述的方法,其特征在于,所述读取当前所述业务板上的PTP时间,得到目标PTP时间的步骤,包括:
判断所述业务板是否支持在关闭中断的情况下读取PTP时间;
若是,则关闭中断和进程调度,在关闭中断和进程调度后,读取当前所述业务板的PTP时间,作为所述目标PTP时间;在同步所述业务板的系统时间之后,打开中断和进程调度;
若否,则读取当前所述业务板的系统时间和PTP时间,得到第一系统时间和第一PTP时间,在获得所述第一PTP时间后,读取当前所述业务板的系统时间,得到第二系统时间;
若所述第二系统时间与所述第一系统时间之差小于所述预设时间精度对应的第一时间误差,则将所述第一PTP时间作为所述目标PTP时间。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述第二系统时间与所述第一系统时间之差大于等于所述预设时间精度对应的第一时间误差,且所述当前同步周期内的第一统计次数小于第一预设次数,则累计第一统计次数,并重新执行所述读取当前所述业务板的系统时间和PTP时间,得到第一系统时间和第一PTP时间的步骤,所述第一统计次数为所述第二系统时间与所述第一系统时间之差大于等于所述第一时间误差的次数;
若所述第二系统时间与所述第一系统时间之差大于等于所述预设时间精度对应的第一时间误差,且所述当前同步周期内的第一统计次数大于等于第一预设次数,则输出提示信息,所述提示信息指示所述目标PTP时间获取失败。
4.根据权利要求1所述的方法,其特征在于,所述获取所述业务板的系统时间和PTP时间在所述当前同步周期内的第二时间偏差的步骤,包括:
在所述当前同步周期内,判断所述业务板是否支持在关闭中断的情况下读取PTP时间;
若是,则关闭中断和进程调度,在关闭中断和进程调度后,读取当前所述业务板的系统时间和PTP时间;打开中断和进程调度;计算所读取的系统时间和PTP时间的差值,作为所述第二时间偏差;
若否,则读取当前所述业务板的系统时间和PTP时间,得到第三系统时间和第二PTP时间,在获得所述第二PTP时间后,读取当前所述业务板的系统时间,得到第四系统时间;
若所述第四系统时间与所述第三系统时间之差小于所述预设时间精度对应的第二时间误差,则计算所述第三系统时间和第二PTP时间的差值,作为所述第二时间偏差。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述第四系统时间与所述第三系统时间之差大于等于所述预设时间精度对应的第二时间误差,且所述当前同步周期内的第二统计次数小于第二预设次数,则累计第二统计次数,并重新执行所述读取当前所述业务板的系统时间和PTP时间,得到第三系统时间和第二PTP时间的步骤,所述第二统计次数为所述第四系统时间与所述第三系统时间之差大于等于所述第二时间误差的次数;
若所述第四系统时间与所述第三系统时间之差大于等于所述预设时间精度对应的第二时间误差,且所述当前同步周期内的第二统计次数大于等于第二预设次数,则输出提示信息,所述提示信息指示所述第二时间偏差获取失败。
6.根据权利要求1所述的方法,其特征在于,所述获取所述分布式网络设备上的主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差的步骤,包括:
接收所述分布式网络设备上的主控板发送的广播报文,所述广播报文携带所述主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差;
在接收到所述广播报文后,执行所述获取所述业务板的系统时间和PTP时间在所述当前同步周期内的第二时间偏差的步骤。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述根据所述目标PTP时间和所述第一时间偏差,同步所述业务板的系统时间的步骤,包括:
在关闭中断和进程调度的情况下,计算所述目标PTP时间和所述第一时间偏差的差值;
将所述业务板的系统时间同步为所述差值;
打开中断和进程调度。
8.一种时间同步方法,其特征在于,应用于分布式网络设备上的主控板,所述方法包括:
获取所述主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差;
将所述第一时间偏差发送给所述分布式网络设备上的业务板,以使所述业务板获取所述业务板的系统时间和PTP时间在所述当前同步周期内的第二时间偏差;在所述第一时间偏差与所述第二时间偏差之差大于预设时间精度时,读取当前所述业务板上的PTP时间,得到目标PTP时间;计算所述目标PTP时间和所述第一时间偏差的差值;将所述业务板的系统时间同步为所述差值。
9.根据权利要求8所述的方法,其特征在于,所述获取所述主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差的步骤,包括:
在当前同步周期内,判断所述主控板是否支持在关闭中断的情况下读取PTP时间;
若是,则关闭中断和进程调度,在关闭中断和进程调度后,读取当前所述主控板的系统时间和PTP时间;打开中断和进程调度;计算所读取的系统时间和PTP时间的差值,作为所述第一时间偏差;
若否,则读取当前所述主控板的系统时间和PTP时间,得到第五系统时间和第三PTP时间,在获得所述第三PTP时间后,读取当前所述主控板的系统时间,得到第六系统时间;
若所述第六系统时间与所述第五系统时间之差小于所述预设时间精度对应的第三时间误差,则计算所述第五系统时间和第三PTP时间的差值,作为所述第一时间偏差。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
若所述第六系统时间与所述第五系统时间之差大于等于所述预设时间精度对应的第三时间误差,且所述当前同步周期内的第三统计次数小于第三预设次数,则累计第三统计次数,并重新执行所述读取当前所述主控板的系统时间和PTP时间,得到第五系统时间和第三PTP时间的步骤,所述第三统计次数为所述第六系统时间与所述第五系统时间之差大于等于所述第三时间误差的次数;
若所述第六系统时间与所述第五系统时间之差大于等于所述预设时间精度对应的第三时间误差,且所述当前同步周期内的第三统计次数大于等于第三预设次数,则输出提示信息,所述提示信息指示所述第一时间偏差获取失败。
11.根据权利要求8-10任一项所述的方法,其特征在于,所述分布式网络设备包括多个业务板;所述将所述第一时间偏差发送给所述分布式网络设备上的业务板的步骤,包括:
将所述第一时间偏差封装到广播报文中,向所述多个业务板广播所述广播报文。
12.一种时间同步装置,其特征在于,应用于分布式网络设备上的业务板,所述装置包括:
时间偏差获取模块,用于获取所述分布式网络设备上的主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差;获取所述业务板的系统时间和PTP时间在所述当前同步周期内的第二时间偏差;
业务板数据处理同步模块,用于在所述第一时间偏差与所述第二时间偏差之差大于预设时间精度时,读取当前所述业务板上的PTP时间,得到目标PTP时间;根据所述目标PTP时间和所述第一时间偏差,同步所述业务板的系统时间;
所述业务板数据处理同步模块,具体用于:计算所述目标PTP时间和所述第一时间偏差的差值;将所述业务板的系统时间同步为所述差值。
13.一种时间同步装置,其特征在于,应用于分布式网络设备上的主控板,所述装置包括:
时间偏差获取模块,用于获取所述主控板的系统时间与PTP时间在当前同步周期内的第一时间偏差;
主控板广播处理模块,用于将所述第一时间偏差发送给所述分布式网络设备上的业务板,以使所述业务板获取所述业务板的系统时间和PTP时间在所述当前同步周期内的第二时间偏差;在所述第一时间偏差与所述第二时间偏差之差大于预设时间精度时,读取当前所述业务板上的PTP时间,得到目标PTP时间;计算所述目标PTP时间和所述第一时间偏差的差值;将所述业务板的系统时间同步为所述差值。
14.一种分布式网络设备,其特征在于,包括主控板和至少一个业务板,所述主控板执行权利要求8-11任一所述的方法步骤,所述业务板执行权利要求1-7任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310684232.2A CN116436555B (zh) | 2023-06-09 | 2023-06-09 | 一种时间同步方法、装置及分布式网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310684232.2A CN116436555B (zh) | 2023-06-09 | 2023-06-09 | 一种时间同步方法、装置及分布式网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116436555A CN116436555A (zh) | 2023-07-14 |
CN116436555B true CN116436555B (zh) | 2023-08-18 |
Family
ID=87085799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310684232.2A Active CN116436555B (zh) | 2023-06-09 | 2023-06-09 | 一种时间同步方法、装置及分布式网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116436555B (zh) |
Citations (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1960242A (zh) * | 2006-10-17 | 2007-05-09 | 中控科技集团有限公司 | 实现时钟同步的方法、装置、系统及分布式系统 |
CN101252429A (zh) * | 2008-02-22 | 2008-08-27 | 浙江大学 | 一种提高分布式网络系统中时钟同步精度的方法 |
CN101359238A (zh) * | 2008-09-02 | 2009-02-04 | 中兴通讯股份有限公司 | 一种多核系统的时间同步方法及系统 |
CN101753362A (zh) * | 2010-02-10 | 2010-06-23 | 中兴通讯股份有限公司 | 分布式网络设备中堆叠虚拟局域网的配置方法及装置 |
CN102238719A (zh) * | 2010-04-27 | 2011-11-09 | 中国移动通信集团公司 | 时间同步方法、装置及分布式时间同步系统 |
CN102263629A (zh) * | 2010-05-24 | 2011-11-30 | 华为技术有限公司 | 一种板间时间同步的方法、时钟板及网元设备 |
WO2016188026A1 (zh) * | 2015-05-22 | 2016-12-01 | 中兴通讯股份有限公司 | 主用主控板与备用主控板之间时间同步的方法及装置 |
WO2017096994A1 (zh) * | 2015-12-11 | 2017-06-15 | 深圳市中兴微电子技术有限公司 | 一种时钟同步的方法、设备和系统、存储介质 |
CN107547163A (zh) * | 2017-09-29 | 2018-01-05 | 新华三技术有限公司 | 一种分布式设备的时间同步方法及装置 |
CN106533600B (zh) * | 2016-10-14 | 2018-09-28 | 瑞斯康达科技发展股份有限公司 | 一种时钟同步方法及设备 |
CN108650050A (zh) * | 2018-05-09 | 2018-10-12 | 西安电子科技大学 | 一种分布式网络时钟同步方法 |
CN110912634A (zh) * | 2019-10-25 | 2020-03-24 | 深圳震有科技股份有限公司 | 基于spi实现时钟同步的方法、存储介质及终端设备 |
CN111064538A (zh) * | 2019-12-13 | 2020-04-24 | 新华三大数据技术有限公司 | 授时报文发送方法、装置、设备及介质主控板及框式设备 |
CN111181555A (zh) * | 2019-12-31 | 2020-05-19 | 瑞斯康达科技发展股份有限公司 | Ptp时钟同步系统和时钟同步方法 |
CN111447028A (zh) * | 2020-02-29 | 2020-07-24 | 新华三信息安全技术有限公司 | 一种时间同步方法和设备 |
CN111555834A (zh) * | 2020-04-30 | 2020-08-18 | 北京邮电大学 | 基于ieee1588协议的无线网络的时钟同步方法及系统 |
CN112040539A (zh) * | 2020-09-03 | 2020-12-04 | 广州视源电子科技股份有限公司 | 时钟同步方法、装置及存储介质 |
EP3905554A1 (en) * | 2018-12-28 | 2021-11-03 | ZTE Corporation | Time synchronization method and electronic device |
CN113852438A (zh) * | 2021-09-22 | 2021-12-28 | 新华三信息安全技术有限公司 | 时钟扣板、分布式系统及分布式系统时钟同步方法 |
CN114095109A (zh) * | 2021-11-17 | 2022-02-25 | 深圳市领创星通科技有限公司 | 一种时钟同步方法、装置、设备及存储介质 |
CN114362873A (zh) * | 2021-12-30 | 2022-04-15 | 苏州盛科通信股份有限公司 | Ptp时钟同步的优化方法及应用 |
CN115567143A (zh) * | 2022-08-31 | 2023-01-03 | 深圳市中航世星科技有限公司 | 数据采集系统的高精度时间同步方法、设备、系统和介质 |
CN115733572A (zh) * | 2021-08-31 | 2023-03-03 | 南宁富联富桂精密工业有限公司 | 基于精确时间协议的时钟同步方法、电子装置及存储介质 |
CN116094640A (zh) * | 2022-12-01 | 2023-05-09 | 瑞斯康达科技发展股份有限公司 | 一种分布式框式设备及其时间同步的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230006807A1 (en) * | 2021-06-30 | 2023-01-05 | Pensando Systems Inc. | Methods and systems for providing a distributed clock as a service |
-
2023
- 2023-06-09 CN CN202310684232.2A patent/CN116436555B/zh active Active
Patent Citations (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1960242A (zh) * | 2006-10-17 | 2007-05-09 | 中控科技集团有限公司 | 实现时钟同步的方法、装置、系统及分布式系统 |
CN101252429A (zh) * | 2008-02-22 | 2008-08-27 | 浙江大学 | 一种提高分布式网络系统中时钟同步精度的方法 |
CN101359238A (zh) * | 2008-09-02 | 2009-02-04 | 中兴通讯股份有限公司 | 一种多核系统的时间同步方法及系统 |
CN101753362A (zh) * | 2010-02-10 | 2010-06-23 | 中兴通讯股份有限公司 | 分布式网络设备中堆叠虚拟局域网的配置方法及装置 |
CN102238719A (zh) * | 2010-04-27 | 2011-11-09 | 中国移动通信集团公司 | 时间同步方法、装置及分布式时间同步系统 |
CN102263629A (zh) * | 2010-05-24 | 2011-11-30 | 华为技术有限公司 | 一种板间时间同步的方法、时钟板及网元设备 |
WO2016188026A1 (zh) * | 2015-05-22 | 2016-12-01 | 中兴通讯股份有限公司 | 主用主控板与备用主控板之间时间同步的方法及装置 |
WO2017096994A1 (zh) * | 2015-12-11 | 2017-06-15 | 深圳市中兴微电子技术有限公司 | 一种时钟同步的方法、设备和系统、存储介质 |
CN106533600B (zh) * | 2016-10-14 | 2018-09-28 | 瑞斯康达科技发展股份有限公司 | 一种时钟同步方法及设备 |
CN107547163A (zh) * | 2017-09-29 | 2018-01-05 | 新华三技术有限公司 | 一种分布式设备的时间同步方法及装置 |
CN108650050A (zh) * | 2018-05-09 | 2018-10-12 | 西安电子科技大学 | 一种分布式网络时钟同步方法 |
EP3905554A1 (en) * | 2018-12-28 | 2021-11-03 | ZTE Corporation | Time synchronization method and electronic device |
CN110912634A (zh) * | 2019-10-25 | 2020-03-24 | 深圳震有科技股份有限公司 | 基于spi实现时钟同步的方法、存储介质及终端设备 |
CN111064538A (zh) * | 2019-12-13 | 2020-04-24 | 新华三大数据技术有限公司 | 授时报文发送方法、装置、设备及介质主控板及框式设备 |
CN111181555A (zh) * | 2019-12-31 | 2020-05-19 | 瑞斯康达科技发展股份有限公司 | Ptp时钟同步系统和时钟同步方法 |
CN111447028A (zh) * | 2020-02-29 | 2020-07-24 | 新华三信息安全技术有限公司 | 一种时间同步方法和设备 |
CN111555834A (zh) * | 2020-04-30 | 2020-08-18 | 北京邮电大学 | 基于ieee1588协议的无线网络的时钟同步方法及系统 |
CN112040539A (zh) * | 2020-09-03 | 2020-12-04 | 广州视源电子科技股份有限公司 | 时钟同步方法、装置及存储介质 |
WO2022048075A1 (zh) * | 2020-09-03 | 2022-03-10 | 广州视源电子科技股份有限公司 | 时钟同步方法、装置及存储介质 |
CN115733572A (zh) * | 2021-08-31 | 2023-03-03 | 南宁富联富桂精密工业有限公司 | 基于精确时间协议的时钟同步方法、电子装置及存储介质 |
CN113852438A (zh) * | 2021-09-22 | 2021-12-28 | 新华三信息安全技术有限公司 | 时钟扣板、分布式系统及分布式系统时钟同步方法 |
CN114095109A (zh) * | 2021-11-17 | 2022-02-25 | 深圳市领创星通科技有限公司 | 一种时钟同步方法、装置、设备及存储介质 |
CN114362873A (zh) * | 2021-12-30 | 2022-04-15 | 苏州盛科通信股份有限公司 | Ptp时钟同步的优化方法及应用 |
CN115567143A (zh) * | 2022-08-31 | 2023-01-03 | 深圳市中航世星科技有限公司 | 数据采集系统的高精度时间同步方法、设备、系统和介质 |
CN116094640A (zh) * | 2022-12-01 | 2023-05-09 | 瑞斯康达科技发展股份有限公司 | 一种分布式框式设备及其时间同步的方法 |
Non-Patent Citations (1)
Title |
---|
基于FPGA的GOOSE报文解析模块设计与实现;王鑫;许力;李晓;崔新友;;电力系统保护与控制(第24期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116436555A (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1427121B1 (en) | Radio access network, radio communication method, synchronous server and node | |
Gergeleit et al. | Implementing a distributed high-resolution real-time clock using the CAN-bus | |
US8108558B2 (en) | Circuit arrangement and method for synchronization of clocks in a network | |
CN106992830B (zh) | 一种fc-ae-1553网络中的时钟同步方法 | |
CN111585683B (zh) | 一种面向时间敏感网络的高可靠时钟同步系统及方法 | |
CN100372255C (zh) | 将基站同步化的方法及装置 | |
CA1198168A (en) | Power supply systems for use in radio communication system | |
US20080031283A1 (en) | Time synchronization for network aware devices | |
CN113055117A (zh) | 一种无线分布式网络的时钟同步装置及方法 | |
JP5260408B2 (ja) | 時刻同期網及び通信装置 | |
CN110061797A (zh) | 时间同步方法、装置、存储介质及计算机设备 | |
EP0560079A1 (en) | Method for radiosynchronization of base stations in a simulcasting network | |
US11153838B1 (en) | Time synchronization enhancements for integrated 5G-TSN networking | |
CN1373949B (zh) | 用于使经电信网耦合的通信系统部件同步的装置 | |
CN100581094C (zh) | 一种短程无线通信网络的网络时钟同步方法 | |
EP0795147B1 (en) | Clock synchronisation | |
Kopetz et al. | A synchronization strategy for a time-triggered multicluster real-time system | |
AU757626B2 (en) | Frame phase synchronous system and a method thereof | |
JPH09139973A (ja) | 多重セル通信システムのフレーム同期方法および回路装置 | |
CN116436555B (zh) | 一种时间同步方法、装置及分布式网络设备 | |
CN111102689A (zh) | 时钟同步的调整方法及装置 | |
CN101437242B (zh) | 通信终端的基站小区识别码确认方法和确认装置 | |
EP2458756A2 (en) | Node system and supervisory node | |
CN103701581A (zh) | 一种ieee1588主时钟实现方法 | |
JP4662842B2 (ja) | 時刻補正システム |
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 |