基于gPTP同时同步系统时钟时间和PTP硬件时钟时间的方法技术方案

技术编号:39166084 阅读:25 留言:0更新日期:2023-10-23 15:04
本发明专利技术公开了一种基于gPTP同时同步系统时钟时间和PTP硬件时钟时间的方法,运行gPTP程序同时初始化两个gPTP实例,分别绑定两个不同的gPTP域,一个域用来确保所有局域网里的节点的系统时钟时间完全一致,另一个域用来确保所有局域网里的节点的PTP硬件时钟时间完全一致;不同gPTP域的时钟源、时钟信息以及时间同步流程互相独立。本发明专利技术可以为上层业务同时提供同步后的系统时钟时间和PTP硬件时钟时间,供基础功能模块和日志模块使用。供基础功能模块和日志模块使用。供基础功能模块和日志模块使用。

【技术实现步骤摘要】
基于gPTP同时同步系统时钟时间和PTP硬件时钟时间的方法


[0001]本专利技术涉及gPTP时间同步技术,尤其涉及一种基于gPTP同时同步系统时钟时间和PTP硬件时钟时间的方法。

技术介绍

[0002]gPTP(Generalized Precision Time Protocol)是由IEEE Std 802.1AS标准定义的,gPTP的目的是确保所有局域网里的节点的时间完全一致即时间同步。目前现有的技术只能同步各节点上一个时钟的时间,无法做到同时同步不同时钟的时间。然而,在实际使用中,基于gPTP的上层业务的基础功能模块需要使用同步后的PTP硬件时钟时间,日志模块需要使用同步后的系统时钟的时间。

技术实现思路

[0003]为解决现有技术中存在的不足,本专利技术的目的在于,提供一种基于gPTP同时同步系统时钟时间和PTP硬件时钟时间的方法。
[0004]为实现本专利技术的目的,本专利技术所采用的技术方案是:
[0005]一种基于gPTP同时同步系统时钟时间和PTP硬件时钟时间的方法,运行gPTP程序同时初始化两个gPTP实例,分别绑定两个不同的gPTP域,一个域用来确保所有局域网里的节点的系统时钟时间完全一致,另一个域用来确保所有局域网里的节点的PTP硬件时钟时间完全一致;不同gPTP域的时钟源、时钟信息以及时间同步流程互相独立。
[0006]进一步地,所述方法具体包括:
[0007](1)运行gPTP程序同时初始化两个gPTP实例,分别绑定两个不同的gPTP域;<br/>[0008](2)采用CMDLS服务计算gPTP域的传输时延;
[0009](3)进行同步消息的发送/接收,完成系统时钟时间和PTP硬件时钟时间的同步。
[0010]进一步地,步骤(1)中,初始化两个gPTP实例时,使用一个二维数组存放两个实例的信息,使得两个实例的运行数据独立;每个实例绑定的端口通信规则不同,通过参数过滤只接收、处理和发送本实例的消息,同步本实例绑定的时钟源;其中,过滤参数包括gPTP域号、消息类型。
[0011]进一步地,步骤(2)中,CMLDS独立于通过链路端口通信的任何gPTP实例运行,对所有的gPTP实例有效。
[0012]进一步地,步骤(3)中,设定实例1绑定域1,同步PTP硬件时钟时间;实例2绑定域2,同步系统时钟时间;
[0013]域1内,主时钟所在gPTP侧发送携带本端PTP硬件时钟时间的同步消息,从时钟所在gPTP侧接收同步消息,解析同步消息获取主时钟时间并计算两侧PTP硬件时钟偏差并调节本地PTP硬件时钟,如此按照默认的同步间隔循环同步,保证和主时钟时间一致;
[0014]域2内,主时钟所在gPTP侧发送携带本端系统时钟时间的同步消息,从时钟所在gPTP侧接收同步消息,解析同步消息获取主时钟时间并计算两侧系统时钟偏差并调节本地
系统时钟,如此按照默认的同步间隔循环同步,保证和主时钟时间一致。
[0015]进一步地,设备节点的网卡驱动同时支持硬件时间戳和软件时间戳。
[0016]进一步地,所述方法应用于点对点直连的拓扑和含gPTP中继节点的拓扑。
[0017]进一步地,两个域的时钟源设置在同一个设备节点上。
[0018]进一步地,两个域的时钟源设置在不同的设备节点上。
[0019]本专利技术的有益效果在于,与现有技术相比,本专利技术方法通过gPTP一次起两个实例,分别绑定两个不同的gPTP域,不同gPTP域的时钟源、时钟信息以及时间同步流程互相独立,一个域用来确保所有局域网里的节点的系统时钟时间完全一致,另一个域用来确保所有局域网里的节点的PTP硬件时钟时间完全一致,可以为上层业务同时提供同步后的系统时钟时间和PTP硬件时钟时间,供基础功能模块和日志模块使用。
附图说明
[0020]图1是本专利技术所述的基于gPTP同时同步系统时钟时间和PTP硬件时钟时间的方法流程图;
[0021]图2是两个域的时钟源在同一个设备节点上的点对点直连的拓扑示意图;
[0022]图3是两个域的时钟源在不同的设备节点上的点对点直连的拓扑示意图;
[0023]图4是两个域的时钟源在同一个设备节点上的含桥的拓扑示意图;
[0024]图5是两个域的时钟源在不同的设备节点上的含桥的拓扑示意图。
具体实施方式
[0025]下面结合附图和实施例对本专利技术的技术方案作进一步的说明。以下实施例仅用于更加清楚地说明本专利技术的技术方案,而不能以此来限制本申请的保护范围。
[0026]本专利技术所述的基于gPTP同时同步系统时钟时间和PTP硬件时钟时间的方法,运行gPTP程序后能够同时初始化两个gPTP实例,分别绑定两个不同的gPTP域,一个域用来确保所有局域网里的节点的系统时钟时间完全一致,另一个域用来确保所有局域网里的节点的PTP硬件时钟时间完全一致;不同gPTP域的时钟源、时钟信息以及时间同步流程互相独立,互不影响。在多域的情况下结合gPTP的CMDLS服务使用。
[0027]gPTP同时同步系统时钟时间和PTP硬件时钟时间需要设备网卡驱动同时支持硬件时间戳和软件时间戳。
[0028]如图1所示,基于gPTP同时同步系统时钟时间和PTP硬件时钟时间的方法,包括步骤:
[0029](1)运行gPTP程序,同时初始化两个gPTP实例,分别绑定两个不同的gPTP域;初始化实例1并绑定域1,域1用于同步PTP硬件时钟时间;同时初始化实例2并绑定域2,域2用于同步系统时钟时间。
[0030]单实例实现是使用结构体存储时间同步消息,时钟源,端口通信规则等信息,多实例的设计是使用多维数组去存放多个实例的信息。
[0031]本专利技术涉及到两个实例,使用一个二维数组存放两个实例的信息,这样两个实例运行的数据是独立的;每个实例绑定的端口通信规则不同,通过gPTP域号、消息类型等参数过滤,只接收、处理和发送本实例的消息,同步本实例绑定的时钟源。
[0032](2)采用CMDLS服务计算gPTP域的传输时延;
[0033]CMLDS设计为独立于通过链路端口通信的任何gPTP实例运行,对所有的gPTP实例都是有效的,即多实例方案中,虽然一个端口同时属于多个域,但是本端口与链路另一侧端口之间的平均链路延迟都是一样的。
[0034]CMLDS有关的pdelay消息,端口通信等信息都由一个单独结构体维护,而不是每个gPTP实例维护一份,CMDLS绑定的端口通信只接收pdelay消息,负责pdelay消息的解析和传输时延的计算。
[0035](3)传输时延计算成功后,进行同步消息的发送/接收,完成系统时钟时间和PTP硬件时钟时间的同步。
[0036]本专利技术同步系统时钟和PTP硬件时钟涉及到两个实例,为了方便描述,设定实例1绑定域1,同步PTP硬件时钟的时间;实例2绑定域2,同步系统时钟的时间;每个域内有且仅有一个时钟源,作为时钟源的时钟称为主时钟,其他被同步本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于gPTP同时同步系统时钟时间和PTP硬件时钟时间的方法,其特征在于,运行gPTP程序同时初始化两个gPTP实例,分别绑定两个不同的gPTP域,一个域用来确保所有局域网里的节点的系统时钟时间完全一致,另一个域用来确保所有局域网里的节点的PTP硬件时钟时间完全一致;不同gPTP域的时钟源、时钟信息以及时间同步流程互相独立。2.根据权利要求1所述的基于gPTP同时同步系统时钟时间和PTP硬件时钟时间的方法,其特征在于,所述方法具体包括:(1)运行gPTP程序同时初始化两个gPTP实例,分别绑定两个不同的gPTP域;(2)采用CMDLS服务计算gPTP域的传输时延;(3)进行同步消息的发送/接收,完成系统时钟时间和PTP硬件时钟时间的同步。3.根据权利要求2所述的基于gPTP同时同步系统时钟时间和PTP硬件时钟时间的方法,其特征在于,步骤(1)中,初始化两个gPTP实例时,使用一个二维数组存放两个实例的信息,使得两个实例的运行数据独立;每个实例绑定的端口通信规则不同,通过参数过滤只接收、处理和发送本实例的消息,同步本实例绑定的时钟源;其中,过滤参数包括gPTP域号、消息类型。4.根据权利要求2所述的基于gPTP同时同步系统时钟时间和PTP硬件时钟时间的方法,其特征在于,步骤(2)中,CMLDS独立于通过链路端口通信的任何gPTP实例运行,对所有的gPTP实例有效。5.根据权利要求2所...

【专利技术属性】
技术研发人员:戴然陈诚张旸
申请(专利权)人:奥特酷智能科技南京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1