一种用于实现时间同步的修正方法及装置与流程

文档序号:19413565发布日期:2019-12-14 00:41阅读:355来源:国知局
一种用于实现时间同步的修正方法及装置与流程

本发明涉及网络技术领域,特别涉及一种用于实现时间同步的修正方法及装置。



背景技术:

随着当今社会工业控制领域、航空航天领域、第五代移动通信技术的不断发展,使得对基站间时间同步的精度要求越来越高。而ieee1588协议因其能实现亚微秒甚至纳秒级别的时间同步,从而得到了广泛应用。

ieee15888协议,简称ptp协议(precisiontimeprotocol),中文全称是“网络测量和控制系统精密时间同步协议标准”协议,由网络精密时钟同步委员会在2002起草第一版,在2008年发布了第二版ieee1588协议即ieee1588v2。该ieee1588协议是一套用于网络测量和控制系统中的精确时间同步技术,实现基站间时间的频率、相位的精确同步,时间同步精度可以达到亚微秒级别。

但是该ieee1588协议的成立主要基于两个理想假设:传输链路的对称性以及主、从时钟频率稳定。但是在实际的通信链路中,主、从时钟传输时延存在不对称问题,因此,现有技术中的ieee1588协议的基站间时间同步的精度较低。



技术实现要素:

本发明实施例的目的在于提供一种用于实现时间同步的修正方法及装置,以提高基站间的时间同步精度。

为达到上述目的,本发明实施例公开了一种用于实现时间同步的修正方法,包括:

接收主时钟发送的不携带数据的预报文;

从所述预报文中获得所述预报文保存的第一时间戳和从主时钟tcp/ip协议栈到从时钟tcp/ip协议栈的网络延时,其中,所述第一时间戳为:所述主时钟在发送预报文时,所述主时钟tcp/ip协议栈的时间戳;

利用所述第一时间戳、第二时间戳和所述网络延时,修正所述从时钟tcp/ip协议栈的时间,其中,所述第二时间戳为:所述从时钟在收到所述预报文时,所述从时钟tcp/ip协议栈的时间戳。

进一步地,所述第一时间戳为:所述主时钟tcp/ip协议栈中最底物理层的时间戳,所述第二时间戳为:所述从时钟tcp/ip协议栈中最底层物理层的时间戳。

进一步地,所述利用所述第一时间戳、第二时间戳和所述网络延时,修正所述从时钟tcp/ip协议栈的时间,包括:

利用所述第一时间戳、所述第二时间戳和所述网络延时,按照如下表达式修正所述主时钟tcp/ip协议栈的时间;

所述表达式为:t=t2-toffset,toffset=t2-t1-d;

其中,t1为第一时间戳,t2为第一时间戳,d为网络时延,toffset为从时钟tcp/ip协议栈的时间到主时钟tcp/ip协议栈的时间偏差,t为修正后的从时钟tcp/ip协议栈的时间。

进一步地,所述预报文是按照加权平均算法、延时分解算法或透明时钟得到从主时钟tcp/ip协议栈到从时钟tcp/ip协议栈的网络延时并保存。

一种用于实现时间同步的修正装置,应用于从时钟,所述装置包括:

接收模块,用于接收主时钟发送的不携带数据的预报文;

时间获得模块,用于从所述预报文中获得所述预报文保存的第一时间戳和从主时钟tcp/ip协议栈到从时钟tcp/ip协议栈的网络延时,其中,所述第一时间戳为:所述主时钟在发送预报文时,所述主时钟tcp/ip协议栈的时间戳;

时延修正模块,用于利用所述第一时间戳、第二时间戳和所述网络延时,修正所述从时钟tcp/ip协议栈的时间,其中,所述第二时间戳为:所述从时钟在收到所述预报文时,所述从时钟tcp/ip协议栈的时间戳。

进一步地,所述第一时间戳为:所述主时钟tcp/ip协议栈中最底物理层的时间戳,所述第二时间戳为:所述从时钟tcp/ip协议栈中最底层物理层的时间戳。

进一步地,所述时延修正模块,包括:

时延修正子模块,用于利用所述第一时间戳、所述第二时间戳和所述网络延时,按照如下表达式修正所述主时钟tcp/ip协议栈的时间;

所述表达式为:t=t2-toffset,toffset=t2-t1-d;

其中,t1为第一时间戳,t2为第一时间戳,d为网络时延,toffset为从时钟tcp/ip协议栈的时间到主时钟tcp/ip协议栈的时间偏差,t为修正后的从时钟tcp/ip协议栈的时间。

进一步地,所述预报文是按照加权平均算法、延时分解算法或透明时钟得到从主时钟tcp/ip协议栈到从时钟tcp/ip协议栈的网络延时并保存。

在本发明实施的又一方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,使得计算机执行上述任一所述的一种用于实现时间同步的修正方法。

在本发明实施的又一方面,本发明实施例还提供了一种计算机可读存储介质内存储有计算机程序,当其在计算机上运行时,使得计算机执行上述任一所述的一种用于实现时间同步的修正方法。

在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的一种用于实现时间同步的修正方法。

本发明实施例提供的一种用于实现时间同步的修正方法及装置,该方法在接收主时钟发送的不携带数据的预报文,从预报文中获得预报文保存的第一时间戳和从主时钟tcp/ip协议栈到从时钟tcp/ip协议栈的网络延时,并利用第一时间戳、第二时间戳和所述网络延时,修正所述从时钟tcp/ip协议栈的时间。相对于现有技术而言,本发明实施例考虑了基站间传输时延存在不对称问题,利用预报文记录从主时钟tcp/ip协议栈到从时钟tcp/ip协议栈的网络延时,进而能够提高基站间的时间同步精度。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的ieee1588延时请求响应机制的流程示意图;

图2为本发明实施例提供的一种用于实现时间同步的修正方法的流程示意图;

图3为本发明实施例提供的一种基站间传输报文的示意图;

图4为本发明实施例提供的pre_sync报文或pre_delay报文的帧结构的示意图;

图5为本发明实施例提供的基于phy层打戳和预报文的主、从时钟同步的结构示意图;

图6为本发明实施例提供的ieee1588协议网络模型的结构示意图。

图7为本发明实施例提供的一种用于实现时间同步的修正装置的结构示意图;

图8为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了对本发明实施例理解的更加透彻,现对ieee1588协议的工作原理进行详细描述和分析,具体为:

ieee1588协议定义了两种延时测量机制:延时请求测量机制和端延时测量机制,另外这两种机制实现的前提都是通信链路对称。本发明实施例中将采用的发送预报文方案,不会涉及透明时钟,因此主要分析第一种测量机制即可。1588协议的延时请求测量机制的实现过程如图1所示:

ieee1588时钟同步是基于时间戳,而时间戳是打在特定事件消息的入口或出口处。如上图1所示,主时钟向分布式网络中每个从时钟发送周期性同步信息sync,记录信息发出时刻为t1。从时钟在同步报文到达时获取时间戳t2。主时钟可能已经在同步报文sync中包含了自己的出口时间戳t1,或者可以使用后续跟随报文fllow_up将时间戳传输到从时钟。

类似地,从时钟发送延迟请求报文delay_req并获取出口时间戳t3。主时钟在t4时刻接收此报文,并将带有t4时间戳的延迟响应请求报文delay_resq提交回从时钟。当主时钟和从时钟具有大致相同的时钟速率时,由于不同的引导时间,只有初始时钟偏移量存在。其中dms,dsm分别为主时钟到从时钟链路的总时延和从时钟到主时钟链路的总时延。由上述过程,可以得到主从时间偏差offset:

dms=t2-t1-offset1;

dsm=t4-t3+offset2;

delay=(dms-dsm)/2;

在上式中,offset1、offset2分别表示网络中上行下行链路的主从时钟偏差,offset表示整个网络中的主从时钟偏差,delay表示主从时钟之间同步网络的平均时延。在第一版ieee1588协议中,假设链路对称(delay=0),这时主从时间偏差offset通过t1-t4就可得到。而在ieee1588v2中引入了不对称字段来补偿已知的不对称性。ieee1588中的时钟同步不限于任何特定的通信媒介,但可以在任何允许成对消息交换的媒介上使用。常用的媒体,如交换式以太网或无线网络,会对接收和传输路径施加不同的延迟,从而造成不对称。

从上述原理的描述可知,传输的网络延时对ieee1588时间同步精度有严重的影响。物理网络所产生的线路延时一般是稳定的,而协议栈及存贮转发在运行过程中由于受不确定因素影响会产生较大的抖动,这对同步的精度有较大的影响。但是在实际测量控制网络中,如只单纯的假设网络链路对称,实际时间同步精度和仿真精度会有很大的出入。

基于上述的描述,下面通过具体实施例,对本发明进行详细说明。

参见图2,图2为本发明实施例提供的一种用于实现时间同步的修正方法的流程示意图,应用于从时钟,包括如下步骤:

s101:接收主时钟发送的不携带数据的预报文。

其中,主时钟、从时钟均属于不同的基站,从时钟可以认为是接收方,主时钟可以认为是发送方。

从主时钟即发送端中发出预报文,该预报文的目的地址是从时钟即接收端。

ieee1588协议定义了五个事件信息和七个一般信息。事件信息要在发送和接收时打上精确时间戳如同步报文sync、延迟请求报文delay_req、点延迟请求报文pdelay_req、点延迟应答报文pdelay_resp。而一般消息则不需要加时间戳如通知报文announce、跟随报文follow_up、延迟应答报文delay_resp、点延迟跟随报文pdelay_resp_follow_up、管理报文management,信号报文signaling。其中,在延时请求响应机制中用同步报文sync,迟请求报文delay_req,follow_up,delay_resp来同步普通时钟和边界时钟获取、传输时间戳信息。

本发明实施例的预报文即主时钟发送的预报文pre_sync和从时钟发送的预报文pre_delay。pre_sync是主时钟在发送数据报文前发送的目的地为从时钟的预报文,主要作用是用来测量主时钟到从时钟上行链路的网络延时,将此数据写到pre_sync的修正域correctionfield字段中记录下来以备后续真实数据包的提取与使用。当从时钟接收到pre_sync,就发送pre_delay,为了确认从时钟接收到主时钟的预报文pre_sync和测量下行链路网络延时。也就是说,只有当从时钟接收到主时钟发送的pre_sync,才会发送pre_delay报文。pre_delay表示从从时钟发回主时钟的预报文,其主要作用是测量从时钟到主时钟的下行链路的网络延时,同样将此数据写到pre_delay的correctionfield字段中。pre_sync和pre_delay的报文帧结构如图3所示,具体包括:事件报文负载、修正域、网络协议报头和前导符。

图3中,两种预报文pre_sync和pre_delay的帧结构和ieee1588中的报文结构是一致的,唯一的区别在于预报文不携带数据信息,而ieee1588因为要传输数据必须携带数据信息,两者帧结构一致方便报文的统一管理和处理,预报文是在主时钟要发送数据包到从时钟之前预先发送的报文,主要用来实时的计算主从时钟之间的网络时延,写入修正域中备用,当主时钟再向从时钟发送数据包时,就可以用预报文修正域中的网络延时来估算当期时段的网络延时,从而可以实现主从时钟的高精度时间同步。

一般,在一个局域网中选择时钟晶振最稳定的那个时钟所在的基站为主时钟基站,即它的时间最准确,也就是说,在局域网中选择最稳定的时钟采用最佳主时钟算法bmc;别的基站或多或少的都有时间偏差,也就是只用修正与主基站交互的基站的时钟即从时钟就可以,主时钟基站的时钟即主时钟假设为理想时钟,也就是说,主时钟已经是准确的时钟,不用修正。

s102:从所述预报文中获得所述预报文保存的第一时间戳和从主时钟tcp/ip(传输控制协议/互联网协议,transmissioncontrolprotocol/internetprotocol)协议栈到从时钟tcp/ip协议栈的网络延时,其中,所述第一时间戳为:所述主时钟在发送预报文时,所述主时钟tcp/ip协议栈的时间戳。

下面对以ieee1588协议为例进行详细介绍,具体为:

ieee1588时间同步系统经常使用tcp/ip协议栈,如图4所示,此协议栈从上到下依次为:应用层,mii(mediumindependentinterface,媒体独立接口),mac(mediaaccesscontrol,媒体访问控制)层和物理层。ieee1588协议在应用层协议标记报文发送或接收时间戳,并在发送端即主时钟的本地协议栈中将要被传递的ptp(precisiontimeprotocol,高精度时间同步协议)同步的时间戳信息进行封装,形成具有一定格式的报文,并借助物理层中的网络接口芯片将报文中的数据进行处理,最终转换成适合在物理介质上传输的电平信号。由于tcp/ip协议栈的大部分都是通过软件实现,所以报文从产生到发送出去每次花费的时间都不确定且不相同,因此tcp/ip协议栈内滞留时间延时对ieee1588时间同步精度有一定的影响。

基于tcp/ip协议栈内滞留时间的软硬件打时间戳,大致可分为如图4所示的a、b、c、d四种打时间戳方式,这四种打时间戳方式分别为:在应用层打戳、在mac层打戳,在mac和物理层之间的mii打戳、在物理层打戳。

在ieee1588时间同步报文从主时钟在图4中a表示tcp/ip协议栈内滞留时间延时,b表示网络交换设备延时,c表示传输路径延时。主时钟的应用层构造并发送报文到从时钟的应用层的过程中,这些报文一般都由物理层协议指定的一个前同步码,随后的是其他协议指定的一个头信息,最后是用户的数据。不管何种传输机制,ieee1588都会在定时报文中指定一个特殊的点(通常是在数据帧的起始位置)作为一个检测点,称为时间戳点。当报文的时间戳点穿过此检测点时就会生成一个时间戳。

预报文的作用是记录从主时钟tcp/ip协议栈到从时钟tcp/ip协议栈的网络延时。

在本发明的一个实施例中,预报文可以按照加权平均算法、延时分解算法或tc时钟:透明时钟得到从主时钟tcp/ip协议栈到从时钟tcp/ip协议栈的网络延时并保存。

利用本发明实例提供的方案证明能够实现亚微秒级别的高精度时间同步精度,满足分布式网络对时间同步精度的要求。

可见,应用本发明实施例得到的从主时钟tcp/ip协议栈到从时钟tcp/ip协议栈的网络延时,能够修正从时钟,使得从时钟快速跟上主时钟,从而达到主从时钟的高精度时间同步。

主时钟tcp/ip协议栈到从时钟tcp/ip协议栈的网络延时可以是:主时钟tcp/ip协议栈的起始时间戳到从时钟tcp/ip协议栈的终止时间戳之间的差值,其中,起始时间戳为:从主时钟tcp/ip协议栈中的应用层、网络层mac、mii和物理层中选取一个检测时间戳的目标,该目标的时间戳就是起始时间戳;终止时间戳为从时钟tcp/ip协议栈中应用层、网络层mac、mii和物理层中选取与起始的时间戳对应的目标的时间戳。

例如,从主时钟tcp/ip协议栈中选取mii作为检测时间戳的目标,则起始时间戳就是mii的时间戳,从从时钟tcp/ip协议栈中选取与起始时间戳对应的目标,即从时钟tcp/ip协议栈中的mii,则终止时间戳就是mii的时间戳。

预报文保存的第一时间戳和上述网络时间也可以备携带真实数据的报文提取并使用。也就是,当主时钟再次发送携带数据的报文时,就可以用预报文保存的网络延时估算从时钟当前时段的网络延时,进而实现基站间高精度时间同步。

s103,利用所述第一时间戳、第二时间戳和所述网络延时,修正所述从时钟tcp/ip协议栈的时间,其中,所述第二时间戳为:所述从时钟在收到所述预报文时,所述从时钟tcp/ip协议栈的时间戳。

基于上述对打时间戳的分析,由于各种打时间戳的位置不同,所引起的延时也就不相同,越靠近底层的位置,延时就越小。可见,若要消除这种延时的是在尽可能低的协议层上实现对ptp数据包发送或接收时间戳的标记,避免由高层协议波动所带来的影响。

基于上述的分析,鉴于主时钟tcp/ip协议栈和从时钟tcp/ip协议栈中各个选取目标时间戳的位置不同,进而所引起的延时也就不同,但选取的目标越靠近底层,则网络延时也越小,基于此,在本发明的一个实施例中,所述第一时间戳为:所述主时钟tcp/ip协议栈中最底物理层的时间戳,所述第二时间戳为:所述从时钟tcp/ip协议栈中最底层物理层的时间戳。

可见,本发明的实施例的第一时间戳为主时钟tcp/ip协议栈中最底物理层的时间戳,第二时间戳为从时钟tcp/ip协议栈中最底层物理层的时间戳,能够进一步减小网络延时,进一步提高基站间的时间同步精度。

在本发明的一个实施例中,实现s103的一种具体实现方式可以包括如下步骤:

利用所述第一时间戳、所述第二时间戳和所述网络延时,按照如下表达式修正所述从时钟tcp/ip协议栈的时间;

所述表达式为:t=t2-toffset,toffset=t2-t1-d;

其中,t1为第一时间戳,t2为第二时间戳,d为网络时延,toffset为从时钟tcp/ip协议栈的时间到主时钟tcp/ip协议栈的时间偏差,t为修正后的从时钟tcp/ip协议栈的时间。

修正后的从时钟tcp/ip协议栈的时间与主时钟tcp/ip协议栈的时间同步,也就是等同。也就是,主时钟tcp/ip协议栈的时间与从时钟tcp/ip协议栈的时间相同。

为了有助于更加清楚的理解,现举一示例进行说明,具体为:设主时钟tcp/ip协议栈最底层的时间戳即第一时间戳为12:00,此刻,从时钟tcp/ip协议栈最底层的时间戳为12:01,主时钟发送一预报文,并将第一时间戳12:00记录在预报文中,预报文从主时钟tcp/ip协议栈最底层的物理层到从时钟tcp/ip协议栈最底层的物理层的网络延时为4s,则此刻,从时钟收到预报文时,从时钟tcp/ip协议栈的时间戳即第二时间戳为12:05,而此刻,主时钟tcp/ip协议栈最底层的时间戳为12:04,将上述第一时间戳12:00,第二时间戳12:05,网络延时4s分别代入上述公式,得到t为12:04,将第二时间戳修正为12:04。

可见,本发明实施例利用第一时间戳、第二时间戳和网络延时,按照如上表达式修正从时钟tcp/ip协议栈的时间。

对当前处于允许浏览状态的目标文件t进行监测,当监测到t满足预设的锁定条件后,将t的状态切换为禁止浏览状态。能够快速、准确地对从时钟tcp/ip协议栈的时间进行修正。

由此可见,本发明实施例提供的方法该方法在接收主时钟发送的不携带数据的预报文,从预报文中获得预报文保存的第一时间戳和从主时钟tcp/ip协议栈到从时钟tcp/ip协议栈的网络延时,并利用第一时间戳、第二时间戳和所述网络延时,修正所述从时钟tcp/ip协议栈的时间。相对于现有技术而言,本发明实施例考虑了基站间传输时延存在不对称问题,利用预报文记录从主时钟tcp/ip协议栈到从时钟tcp/ip协议栈的网络延时,进而能够提高基站间的时间同步精度。

基于上述的描述,现提供一个详细的实施例,如图5所示,具体为:

在上述基于物理层打时间戳和预报文的ieee1588时间同步系统中,当主时钟要向从时钟发送数据包时,ieee1588系统中主时钟优先发送预报文pre_sync(不携带数据信息),pre_sync报文数据链路层以以太网形式产生,后在物理层进行硬件辅助打时间戳,记录下报文离开时刻d1,因为硬件打时间戳在物理层,所以协议栈内的报文处理过程产生的延时对时间同步没有影响,然后在通信系统的上行链路中(即图中的单向实箭头)发送,经过若干段链路和若干个网络交换机,后在从时钟的物理层被接收,并打时间戳d2,这样就可以得到在ieee1588系统中上行链路中的总时延dms=d2-d1,将上行链路中的总时延保存在报文的修正域中。

从时钟接收到主时钟发来的预报文pre_sync后,也会产生预报文pre_delay发回主时钟。预报文pre_delay离开从时钟前在从时钟的物理层打时间戳d3后,经过系统的下行链路即图5中单向虚线箭头,再被主时钟接收,并在物理层打时间戳d4,这样,便得到从时钟到主时钟下行链路的总时延dsm=d4-d3,同样,将主时钟下行链路的总时延保存在报文的修正域中。

然后,主时钟向从时钟发送携带数据信息的sync报文,在主时钟的物理层打时间戳t1,后经过上行链路发送到从时钟,在从时钟的物理层再次打时间戳t2,其中,t2时间戳被follow_up报文携带,再结合之前预报文pre_sync报文修正域中的上行链路的总延时dms,根据式子dms=t2-t1-offset1,则能得到主时钟到从时钟的时间偏差offset1:offset1=t2-t1-dms。

将主从时间偏差写入修正域中。从时钟接收到主时钟发来的sync报文和follow_up报文后,向主时钟发送在phy层打时间戳t3的delay_req报文,后经过网络系统的下行链路发送到主时钟,主时钟接收到delay_req并在phy(physicallaye,物理层)打时间戳t4,接收到delay_req后,主时钟会向从时钟发送delay_resq报文,再结合预报文pre_delay报文中的dsm,根据式子dsm=t4-t3+offset2,则可以得到从时钟到主时钟的时间偏差offset2:offset2=dsm-t3-t4。

利用得到的主从时间偏差offset1和从主时钟偏差offset2,对从时钟进行时间校正,这样就可以实现主从时钟高精度的时间同步,从而实现ieee1588协议的纳秒级别的时间同步。

基于对上述实施例的描述,本发明实施例还提供了实验仿真和结果分析,具体为:

opnetmodeler是一款网络仿真软件,因其阶层性的模拟方法、简明的简明方法、有限状态机、支持各种协议编程、具有点对点链路、图形化和动态仿真等特点,使得在通信、国防、计算机网络领域引起了广泛的认可。

基于opnetmodeler离散时间仿真设计了ieee1588协议仿真器,可以实现在有背景流量的情况下,实现主、从时钟在通信网络实现时间同步的仿真。本仿真器需要硬件辅助也就是本发明实施例提出的在物理层打时间戳,网路交换机和背景流量发生器都标准节点模型的组合,交换机可仿真报文经过交换机的延时,背景流量发生器间歇固定的报文,模块之间的链路模型是系统标准模型,可仿真由于传输长度所产生的延时。

为了验证本发明实施例提出的方案,建模过程可以根据opnetmodeler的三层建模机制来分别建立网络模型、节点模型和进程模型。

具体的网路模型配置如下图6所示:

在上图6中,主时钟,按固定的周期产生时钟信号,并为ieee1588网络中的从时钟提供时间同步校正。从时钟,通过与网络中的主时钟交换同步报文计算网络延时delay和时间偏差offset,再通过不断调整自身时钟与主时钟保持同步。同步报文经过两个网路交换机和背景流量产生器,可发送同步间隙固定的定长报文。

与上述提供的一种用于实现时间同步的修正方法相对应,本发明实施例提供了一种用于实现时间同步的修正装置。

参见图7,图7为本发明实施例提供的一种用于实现时间同步的修正装置,应用于从时钟,该装置包括:

接收模块201,用于接收主时钟发送的不携带数据的预报文;

时间获得模块202,用于从所述预报文中获得所述预报文保存的第一时间戳和从主时钟tcp/ip协议栈到从时钟tcp/ip协议栈的网络延时,其中,所述第一时间戳为:所述主时钟在发送预报文时,所述主时钟tcp/ip协议栈的时间戳;

时延修正模块203,用于利用所述第一时间戳、第二时间戳和所述网络延时,修正所述从时钟tcp/ip协议栈的时间,其中,所述第二时间戳为:所述从时钟在收到所述预报文时,所述从时钟tcp/ip协议栈的时间戳。

可选的,所述第一时间戳可以为:所述主时钟tcp/ip协议栈中最底物理层的时间戳,所述第二时间戳可以为:所述从时钟tcp/ip协议栈中最底层物理层的时间戳。

可选的,所述时延修正模块203可以包括:

时延修正子模块,用于利用所述第一时间戳、所述第二时间戳和所述网络延时,按照如下表达式修正所述主时钟tcp/ip协议栈的时间;

所述表达式为:t=t2-toffset,toffset=t2-t1-d;

其中,t1为第一时间戳,t2为第一时间戳,d为网络时延,toffset为从时钟tcp/ip协议栈的时间到主时钟tcp/ip协议栈的时间偏差,t为修正后的从时钟tcp/ip协议栈的时间。

可选的,所述预报文是按照加权平均算法、延时分解算法或透明时钟得到从主时钟tcp/ip协议栈到从时钟tcp/ip协议栈的网络延时并保存。

由此可见,本发明实施例提供的装置在接收主时钟发送的不携带数据的预报文,从预报文中获得预报文保存的第一时间戳和从主时钟tcp/ip协议栈到从时钟tcp/ip协议栈的网络延时,并利用第一时间戳、第二时间戳和所述网络延时,修正所述从时钟tcp/ip协议栈的时间。相对于现有技术而言,本发明实施例考虑了基站间传输时延存在不对称问题,利用预报文记录从主时钟tcp/ip协议栈到从时钟tcp/ip协议栈的网络延时,进而能够提高基站间的时间同步精度。

本发明实施例还提供了一种电子设备,如图8所示,包括处理器301、通信接口302、存储器303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信,

存储器303,用于存放计算机程序;

处理器301,用于执行存储器303上所存放的程序时,实现本发明实施例提供的一种用于实现时间同步的修正方法。

具体的,上述一种用于实现时间同步的修正方法,包括:

接收主时钟发送的不携带数据的预报文;

从所述预报文中获得所述预报文保存的第一时间戳和从主时钟tcp/ip协议栈到从时钟tcp/ip协议栈的网络延时,其中,所述第一时间戳为:所述主时钟在发送预报文时,所述主时钟tcp/ip协议栈的时间戳;

利用所述第一时间戳、所述第二时间戳和所述网络延时,修正所述从时钟tcp/ip协议栈的时间,其中,所述第二时间戳为:所述从时钟在收到所述预报文时,所述从时钟tcp/ip协议栈的时间戳。

由此可见,执行本实施例提供的电子设备,通过在接收主时钟发送的不携带数据的预报文,从预报文中获得预报文保存的第一时间戳和从主时钟tcp/ip协议栈到从时钟tcp/ip协议栈的网络延时,并利用第一时间戳、第二时间戳和所述网络延时,修正所述从时钟tcp/ip协议栈的时间。相对于现有技术而言,本发明实施例考虑了基站间传输时延存在不对称问题,利用预报文记录从主时钟tcp/ip协议栈到从时钟tcp/ip协议栈的网络延时,进而能够提高基站间的时间同步精度。

上述的相关内容时延修正方法的实施方式与前述方法实施例部分提供的时延修正方式相同,这里不再赘述。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的用于实现时间同步的修正方法。

在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的用于实现时间同步的修正方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本发明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于方法、装置、电子设备和计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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