CN105743599B - 一种动态网络高精度传输同步与延迟补偿方法 - Google Patents
一种动态网络高精度传输同步与延迟补偿方法 Download PDFInfo
- Publication number
- CN105743599B CN105743599B CN201610228615.9A CN201610228615A CN105743599B CN 105743599 B CN105743599 B CN 105743599B CN 201610228615 A CN201610228615 A CN 201610228615A CN 105743599 B CN105743599 B CN 105743599B
- Authority
- CN
- China
- Prior art keywords
- information
- network
- terminal
- delay
- transmission
- 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.)
- Expired - Fee Related
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种动态网络高精度传输同步与补偿方法。该方法可以作为在网络中信息发送者向网络内多个指定终端设备发送信息或指令时,信息送达同步问题的一种解决方案和机制。本发明通过指定的硬件授时时钟机制,为终端设备提供高精度的时钟同步信息,包括如下具体内容:所发明精准时间信息获取机制,用于为各终端中的应用层程序提供精准时间信息获取接口;信息传输同步方法包括网络延迟触探和估计方法,用于对全网内各终端设备的信息传输延迟进行估计,并得到各终端的网络延迟量;动态网络发送队列机制,用于实际抵消信息在发送至各终端时的延迟,获得同步。本发明可用于在工业应用系统中的控制信息发送模块中,为其信息同步送达提供技术支撑。
Description
技术领域
本发明属于网络信息传输技术领域,具体涉及一种动态网络高精度传输同步与延迟补偿方法。
背景技术
工业应用系统中使用的控制指令,一般采用一台控制终端或者信息发送终端,向系统网络内指定的多个信息接收终端发送信息或控制指令的方式实现。
但在软件层,系统与系统、应用与应用之间的信息传输却因为网络延迟、路由分发以及系统调用消耗等因素使得信息(指令)在传递时产生了延迟(毫秒级),致使各个终端设备接收到信息的时间难以同步。由于在整个网络中的系统的同步性上存在了缺口,系统各终端在接收到指令后的操作上存在了一定的延迟和不同步,尤其是系统软件层面未做到真正的全网内各个终端操作的同步。同时,在工业应用系统中指令控制方面,尤其是对各终端在指令接收之后的操作同步具有一定要求的情况下,一般的指令发送和传输方法存在明显的不足和缺陷。
如何利用一定的机制和方法来抑制或者消除这种延迟带来的非同步性,对工业系统应用的软件层同步控制具有重要意义。
为此本发明提出了一种动态网络高精度传输同步与补偿方法,来对因为网络延迟、路由分发以及系统调用等因素引起的信息传输延迟进行补偿,在各系统软件层面实现指令操作的同步性。
发明内容
本发明目的在于如何在网络中,针对信息发送者向网络内指定多个设备发送信息时的信息送达同步问题提出了一个解决方案和机制。该方案机制主要通过 搭建全网内高精度的硬件时钟同步网络,以及动态延迟补偿发送队列,实现了信息传输在各接收终端处的同步性,为在工业应用系统中的控制信息同步送达提供了基础支持。
为了抵消或者补偿因网络延迟、传输等带来的应用层级指令操作的不同步,本发明搭建了一种高精度时钟同步网络环境,同时设计了一套动态网络信息传输同步方法,来实现应用层的指令操作同步性,主要包含以下几个特征:
(1)高精度硬件时钟同步网络架构。在整个网络环境(局域网)中,通过搭建一台授时服务器,向全网范围内提供基于局域PTP(IEEE 1588-2008)的授时对时信息。同时,其余各联通节点通过接受对时信号完成本机时钟板卡硬件的时钟信息同步更新。精准时间信息获取机制。在该系统环境下,各个终端设备通过应用层的API接口,可获得PTP时钟同步卡于硬件层同步的精确时钟信息。其为系统级以及应用层级别的操作获取精准时间提供了高精度的硬件支持。
(2)网络延迟触探和估计方法。全网内通过一台信息发送服务器,利用建立信息发送机制,向网络内信息接收终端发送指令等信息,其中包含多台交换机进行信息跳转。该方法利用信息发送服务器发送触探信息,对网络中个节点进行触探,获得整个全网内信息传输在各节点处的时间量,并估算出各终端的网络延迟量,并在信息发送服务器中对各终端的延迟量进行维护。
(3)动态网络发送队列机制。该机制中,信息发送服务器针对各信息目标终端通过设置不同的提前量来抵消各终端在网络、软件层等相关操作中产生的延迟,对其进行补偿,规避信息传输产生的延迟因素,获得系统在各接收终端处的指令操作同步性。
附图说明
图1是本发明中系统整体流程的示意图
图2是本发明中网络触探机制的流程示意图
图3是本发明中信息发送队列的发送示意图
图4是本发明中迭代修正误差过程示意图
具体实施方法
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好的理解本发明。需要特别提醒注意的是,在以下描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
在本发明中,包含基于高精度时钟同步网络环境下的全网内高精度的时间信息获取机制以及信息传输同步方法,下面分别进行介绍:
(1)高精度时钟同步网络环境
1)通过在普通网络环境中,引入高精度时钟卡硬件,同专用授时网络,搭建一种全网内时钟同步的网络环境。其需要在每个网络节点设备上通过PCI插槽,接入PTP(IEEE1588-2008)时钟同步板卡,与授时网络交换机连接。在授时服务器中,利用授时程序,通过PTP对时接口向各对时终端发送授时信号。设备授时采用广播方式实现,由授时服务器以一定的频率向外广播至授时专用网络。各对时终端接收到指定的授时信息号后,通过本机程序进行解析,并进行对时操作。
2)各节点上搭载的终端子系统,其通过API调用获得板卡相关信息,包括精确的时间数据信息。其中时钟板卡所提供的精准时间精确度为纳秒级别。
(2)信息传输同步方法
主要通过网络触探、延迟量估计实现了网络内各终端的网络延迟量;通过发送队列调整和动态网络状态调整实现了各终端在接收信息的同步。系统整体流 程如图1所示,其具体步骤如下:
1)网络触探
利用系统授时时钟卡对整个网络发送授时同步信号,获取各个信息发送环节的精确时间,进一步推断整个网络中各个设备节点的网络延迟状况。网络触探步骤如下:
i.触探信号发送
信息发送服务器以广播的形式向网络中各终端发送指定信号,同时利用自身的同步时钟板卡获取精准的发送时间点send_TimeStamp。
ii.信号送达记录
各终端通过广播端口接收到触探信号,立即通过时钟板卡硬件获取精准的信号送达时间点receive_TimeStampX(X,表示各终端节点的编号, 可以以任意形式表示,例如阿拉伯数字)。
iii.信号反馈记录
各终端接收到触探信号之后,向信息发送服务器发送反馈信息,同时获取该时刻时钟板卡的时间信息feedbackS_TimeStampX。其中各终端的反馈信息包含receive_TimeStampX和feedbackS_TimeStampX封装至反馈信息中。
iv.触探信号记录
信息发送服务器接收到各终端节点的反馈信息后,一次记录其收到该反馈信息的时间点feedbackR_TimeStampX。然后将这三组时间点信息和send_TimeStamp进行记录,分别存储在三个时间信息队列中。
触探过程如图2所示。
2)延迟量估计
通过网络触探过程,信息发送服务器可以通过send_TimeStamp和 receive_TimeStamp消息得到自身到各个终端网络传输中的时间消耗send_consume,称为发送传输消耗。
Xi为各终端编号
通过feedbackS_TimeStamp和feedbackR_TimeStamp,可以得到各个终端节点到信息发送服务器在网络传输中的时间消耗feedback_consume,称为反馈传输消耗。
然后通过计算发送传输消耗队列和反馈传输消耗队列各自的平均值,得出传输、反馈的平均消耗时间,然后计算出各个设备相对平均消耗所偏差的延迟时间量,记为发送传输偏差send_offX和反馈传输偏差feedback_offX,并得出各设备的偏差offX。假设全网内到的终端设备的数量为device_number。
最后,通过计算各设备发送和反馈两者的均值,即offX,然后得到均值最大到的设备节点,并以其的时间为基准,计算出各设备节点相对延迟时间最长的节点的时间偏差,得到各设备的延迟量估计队列delay_TimeX(其中延迟最长的设备的延迟量为0)。
max(offX)为其中最大的时间偏差。
3)发送队列调整
通过延迟量队列,获得该系统在当前状态下的网络延迟信息。利用该队列对真实的信息发送进行调整。
在信息发送服务器接收到中转信息时,建立与各发送目标终端对应的发送队列。信息发送服务器在进行信息发送时,采用了多线程单播的方式,保证了发送同时性和可控性。在针对各终端的发送线程中,均为其维护了一个动态的定时器,其时间设定为各设备节点对应的delay_TimeX的值。
在信息发送时,利用多线程的同步性,同时将各目标终端的发送线程放入高效线程池中。利用定时器控制其最终发送信息的时刻,当各个定时器时间为0时立即执行发送程序,来达到应用层的信息接收的同步性。
整体信息发送队列的发送示意图如下图3所示,其中Device_SenderXi为在网络传输中延迟量最长的一个设备,在该发明中将其延迟定时器设置为基准0:
4)动态网络状态调整(纵向修正)
在系统运行期间,各个终端节点的网络状态可能会发生一定的改变,例如路由分发路径的变化、网络数据传输的影响等。所以该网络中各设备的延迟量估计队列需要根据网络状态进行动态的调整。
设某一时刻的延迟量估计队列为delay_TimeX t(t≥0,表示采用次数),则某设备在该时间段内的延迟可具体表示为delay_TimeXi t。在运行期间,信息发送服务器设定一定的时间周期τ,重复步骤一获取新的一组时间点数据,并通过该时间信息队列获取新的发送和反馈传输偏差,同时得到各个设备在当前网络状态下的传输状态,即新的延迟量估计队列delay_TimeX t+1。
为了减低每次延迟量估计时网络状态波动带来的误差,降低过度修正带来的不必要的延迟,此处在延迟量的更新过程中进一步使用了滑动窗口技术,综合过去一段时间窗口内记录来对新的延迟量进行调整。设窗口长度为η,中转服务器为每个终端xi记录延时序列窗口{delay_TimeXi t-η,delay_TimeXi t-η+1,……,delay_TimeXi t}。
在t+1时刻,对该终端获得当前信息发送的延迟量:
通过针对每一终端分别计算滑动窗口内延迟波动的方差并做归一化处理后作为影响因子,决定新的延迟量估计对当前终端延迟量的影响程度,计算其本次使用延时量。并最终分别计算所有端口,获得当前信息发送的延迟量队列delay_TimeX。
5)迭代修正误差(横向修正)
以上过程实现了在固定时间间隙τ时刻触发的延时补偿量估计和修正过程。为了进一步减少单次延迟量估计与实际延迟的误差,可以进一步针对以上所述过程的每一次对时引入迭代过程,对延迟量进行微调。在每次消息 送达之后,搜集送达时间,并在中转服务器上计算接收端的延迟误差。如误差仍然大于预定阈值时(如小于2ms)中转服务器启动迭代过程。以当前误差为输入重复执行以上1至3步,直至接收端误差收敛到稳定区间。该区间大小一般是由硬件授时机制所能达到极限决定,在本方法中可以采用估算均方差的方式计算得到各终端的授时误差,该误差符合正态分布,可以预设精确度为λ(如λ=1%)。在给定λ条件下得出最优解的误差值,并最终得到收敛判定条件。并将最终结果更新至延迟量队列delay_TimeX。由此可证明并保障各个接收终端误差具有1-λ概率控制在阈值范围内。
缩减延时误差的同时,也提高了预定延时阈值条件下的置信度。实际使得授时误差更小,波动更少。
这里是针对单次授时的横向修正,避免了由于个别终端波动大而造成的整体授时失败。
本发明动态网络信息传输同步方法具有以下优点:
1)精准时间触探
本发明中,在全网内利用PTP(IEEE 1588-2008)时钟同步板卡实现了高精度的硬件同步网络,其时间信息精度为纳秒级。通过信息发送服务器发送的触探信息,能够在网络中各环节获取到发送和接收的精准时间信息。利用该时间信息,可以针对网络中的传输消耗进行估计。通过对各终端之间的延迟消耗量,计算得出各终端在该网络环境下的网络延迟量。
2)信息发送同步
本发明中,在全网内利用计算得到的各终端网络延迟信息,通过高性能的并 发线程池构建各终端的发送队列。在该队列中为每个发送目的终端维护一个发送线程,并带有动态设定的定时器。利用各终端的网络延迟量,将对应的定时器进行设定。通过定时器的实现和执行,最终使得信息在网络中传输后在相对统一的时间节点到达各终端,来达到真实效果上的信息同步性。
尽管上面对本发明的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (1)
1.一种动态网络高精度传输同步与补偿方法,其特征在于,包括全网内高精度的时间信息获取机制以及信息传输同步方法:
(1)、所述高精度时间信息获取机制,用于为各终端中的应用层程序提供精准时间信息获取的编程实现接口;
(2)、所述信息传输同步方法用于实现网络信息传输时同步达到各终端节点,包括网络触探机制和延迟量估计方法和发送队列机制;所述网络延迟触探和估计方法,用于对全网内各终端设备的信息传输延迟进行估计,并得到各终端的网络延迟量;
2.1)、网络触探机制
网络触探机制用于获取各个信息发送环节的精确时间信息,进一步推断整个网络中各节点的网络延迟状况,包括信号发送模块、信号送达记录模块、信号反馈记录模块和触探信号记录模块;
信号发送模块用于记录信息发送时间点;信号送达记录模块用于记录各终端接收信息时间点;所述信号反馈记录模块用于记录发送反馈信号时间点;触探信号记录模块用于记录接收反馈信息时间点;
2.2)、延迟量估计方法
延迟量估计方法包含对于各终端设备的网络传输消耗的计算、各终端设备网络传输消耗偏差值和延迟量的估计算法;
2.3)、发送队列调整机制
发送队列调整机制用于对信息在信息发送服务器中根据延迟量对各个终端设备动态的发送指定信息,包括发送队列、高效线程池、动态信息发送线程和动态定时器;
发送队列用于维护各终端设备的发送信息,包含发送地址、发送信息、发送延迟量,所述高效线程池用于保证各发送线程的操作同步性;动态信息发送线程用于以单播的形式向指定终端设备发送信息;动态定时器用于动态的维护发送线程的运行时间,按照定时器的指定数值触发发送线程进行发送操作;
3)动态网络状态调整机制和迭代修正误差机制,
动态网络状态调整机制用于动态的监测各终端在网络内的信息传输延迟,动态更新各发送队列的延迟时间,包含动态网络延迟信息获取和延迟量估计方法;
动态网络延迟信息用于周期性的获取各设备当前的网络传输延迟量,所述延迟量估计方法用于避免临时延时突刺引起的数据误差,使用低通滤波处理方法对获取的网络传输延迟数据进行处理和计算,估计新的网络延迟量;
迭代修正误差机制用于进一步减少单次延迟量估计与实际延迟的误差,避免由于个别终端波动大而造成的整体授时失败;
迭代修正误差过程在每次消息送达之后,搜集送达时间,并在中转服务器上计算接收端的延迟误差,如误差仍然大于预定阈值时,中转服务器启动迭代过程,以当前误差为输入重复执行,直至接收端误差收敛到稳定区间为止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610228615.9A CN105743599B (zh) | 2016-04-13 | 2016-04-13 | 一种动态网络高精度传输同步与延迟补偿方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610228615.9A CN105743599B (zh) | 2016-04-13 | 2016-04-13 | 一种动态网络高精度传输同步与延迟补偿方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105743599A CN105743599A (zh) | 2016-07-06 |
CN105743599B true CN105743599B (zh) | 2018-06-29 |
Family
ID=56254143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610228615.9A Expired - Fee Related CN105743599B (zh) | 2016-04-13 | 2016-04-13 | 一种动态网络高精度传输同步与延迟补偿方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105743599B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106426169B (zh) * | 2016-10-21 | 2018-11-20 | 中国科学院力学研究所 | 用于多操作端远程操控单操作对象的方法和装置 |
CN109660469B (zh) * | 2018-10-23 | 2022-09-02 | 惠州Tcl移动通信有限公司 | 同步变化网络信号的方法、终端及具有存储功能的装置 |
WO2021066732A1 (en) * | 2019-10-03 | 2021-04-08 | Telefonaktiebolaget Lm Ericsson (Publ) | Timing advance for tsn |
CN113286139A (zh) * | 2020-02-19 | 2021-08-20 | 福建天泉教育科技有限公司 | 一种视屏或实时屏幕共享互动能力的测试方法及其系统 |
CN112449015A (zh) * | 2020-05-14 | 2021-03-05 | 丁勇军 | 应用于分布式的工业互联网设备协同作业方法及云服务器 |
CN112596423B (zh) * | 2020-11-27 | 2022-02-18 | 斐思光电科技武汉有限公司 | 基于空间光调制器的集群控制方法及一种空间光调制器 |
CN113438328B (zh) * | 2021-08-30 | 2021-12-21 | 成都丰硕智能数字科技有限公司 | 一种低延迟终端同步系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101685427A (zh) * | 2009-09-02 | 2010-03-31 | 北京龙芯中科技术服务中心有限公司 | 一种根据应用的时间裕量对动态内存调度的装置及方法 |
CN104410481A (zh) * | 2014-11-28 | 2015-03-11 | 国家电网公司 | 一种基于ntp网络的对时方法及对时系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8868789B2 (en) * | 2008-06-02 | 2014-10-21 | Tttech Computertechnik Aktiengesellschaft | Method for synchronizing local clocks in a distributed computer network |
-
2016
- 2016-04-13 CN CN201610228615.9A patent/CN105743599B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101685427A (zh) * | 2009-09-02 | 2010-03-31 | 北京龙芯中科技术服务中心有限公司 | 一种根据应用的时间裕量对动态内存调度的装置及方法 |
CN104410481A (zh) * | 2014-11-28 | 2015-03-11 | 国家电网公司 | 一种基于ntp网络的对时方法及对时系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105743599A (zh) | 2016-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105743599B (zh) | 一种动态网络高精度传输同步与延迟补偿方法 | |
US10158444B1 (en) | Event-driven precision time transfer | |
EP2515501B1 (en) | Media clock negotiation | |
JP5911601B2 (ja) | 通信装置、通信システムおよび時刻同期方法 | |
Cena et al. | Implementation and evaluation of the reference broadcast infrastructure synchronization protocol | |
WO2017101528A1 (zh) | 一种时钟链路切换方法、装置及基站 | |
US8689035B2 (en) | Communication system, communication interface, and synchronization method | |
EP2770678A1 (en) | Clock synchronization method and system in 1588-2008 protocol | |
CN103999387B (zh) | 同步间隔确定 | |
EP3352392B1 (en) | Time synchronization packet processing method and device | |
CN104243129B (zh) | 接收器、计算时间差的方法以及计算机可读存储介质 | |
CN101729180A (zh) | 精准时钟同步方法及系统、精准时钟频率/时间同步装置 | |
JP6036179B2 (ja) | 通信装置及び同期方法 | |
CN102244603A (zh) | 传输承载时间的报文的方法、设备及系统 | |
US20220007321A1 (en) | Network Entities and Methods for a Wireless Network System for Determining Time Information | |
JP2013017104A (ja) | 通信システム | |
JP2013034157A (ja) | 周波数・時刻同期方法および周波数・時刻同期装置 | |
CN107959537A (zh) | 一种状态同步方法及装置 | |
CN109842456A (zh) | 一种基于afdx网络的时钟同步方法 | |
US20240048261A1 (en) | Robust time distribution and synchronization in computer and radio access networks | |
Peng et al. | On the clock offset estimation in an improved IEEE 1588 synchronization scheme | |
CN109068385A (zh) | 一种具有容错性的水下无线网络时间同步方法 | |
Li et al. | A high-accuracy clock synchronization method in distributed real-time system | |
CN112040540A (zh) | 一种基于三级无线传感网的时间同步架构及时间同步方法 | |
CN105790874B (zh) | 一种基于自适应算法的变电站网络对时方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180629 Termination date: 20200413 |
|
CF01 | Termination of patent right due to non-payment of annual fee |