CN112019289B - 一种分时系统时间同步方法 - Google Patents
一种分时系统时间同步方法 Download PDFInfo
- Publication number
- CN112019289B CN112019289B CN202010884875.8A CN202010884875A CN112019289B CN 112019289 B CN112019289 B CN 112019289B CN 202010884875 A CN202010884875 A CN 202010884875A CN 112019289 B CN112019289 B CN 112019289B
- Authority
- CN
- China
- Prior art keywords
- time
- client
- ntp server
- difference
- uplink
- 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
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Electric Clocks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了一种分时系统时间同步方法,所述方法包括如下步骤:修改网卡底层接口,将NTP服务器接入网卡驱动层,用于获取NTP服务器时间戳;获取用户端、NTP服务器的当前时间数据、历史时间数据;监控网络上行速率和下行速率,根据上下行速率建立或更新上下行时间比系数;根据当前上下行时间比系数修正客户端时间;记录每次客户端和NTP服务器的请求和响应耗时,将耗时最小的NTP服务器时间根据时间同步方程响应于客户端,所述方法通过获取多源多次的NTP服务器时间对客户端校准,并且充分考虑网络上下行对时间校准的影响,优化传统的NTP时间同步方程,从而可以大幅提高时间校准的精确度。
Description
技术领域
本发明涉及计算机领域,特别涉及一种分时系统时间同步方法。
背景技术
现有时间同步方法包括时间同步服务器的同步方法、NTP时间同步方法、GPS时钟等,目前常用的为NTP时间同步方法,然而NTP时间同步方法需要完整的设备才能进行时间同步,并且NTP的时间误差来源于包括CPU进程线程调度误差以及上下行的时间误差,现有技术的NTP时间同步方案通常默认为网络上行速度等于网络下行速度,而实际上是网络上下行速度存在较大的差异,并且这些差异是动态变化的,因此目前NTP时间同步方法在主要差异来源为网络。
发明内容
本发明其中一个主要目的在于提供一种分时系统时间同步方法,所述时间同步方法通过修改网卡底层接口,将NTP中的时间戳转移至网络驱动层,用于降低分时系统自身CPU线程或进程调度产生的误差。
本发明另一个主要目的在于提供一种分时系统时间同步方法,所述时间同步方法计算网络上行和下行时间,并通过设置时间系数统一数据上行和下行的时间差,降低数据传输误差。
本发明另一个目的在于提供一种分时系统时间同步方法,所述时间同步方法请求获取多源时间刻度,并将客户端请求和NTP服务器响应耗时之和最小的时间刻度同步系统时间,从而可持续降低系统的同步时间误差。
本发明另一个目的在于提供一种分时系统时间同步方法,所述时间同步方法部署简单,无需设置专门的时间校准设备,可实现无成本的部署。
为了实现至少一个上述发明目的,本发明进一步提供一种分时系统时间同步方法,包括如下步骤:
修改网卡底层接口,将NTP服务器接入网卡驱动层,用于获取NTP服务器时间戳;
获取用户端、分时系统CPU和NTP服务器的当前时间数据、历史时间数据;
监控网络上行速率和下行速率,根据上下行速率建立或更新上下行时间比系数;
根据当前上下行时间比系数修正客户端时间;
记录每次客户端请求和NTP服务器响应耗时,将耗时最小的NTP服务器时间根据时间同步方程响应于客户端。
根据本发明一个较佳实施例,在时间同步初始化过程中,预设上下行时间比系数,获取客户端当前时间、NTP服务器和客户端时间差,根据上下行时间比系数获取客户端时间,其中时间同步公式为:
其中上述(1)中T1为客户端发起NTP的系统时间;T4为收到NTP回包的时间;T2为NTP服务器收到请求的服务器时间、T3为回应NTP的服务器时间,t为客户端到服务的时间差、d1为客户端请求(客户端到服务器)的上行网络时间、d2为NTP服务器响应的下行(服务器到客户端)网络时间,根据获取的时间比值系数将(3)式代入到1式中,用于获取优化后的同步于客户端的时间。
根据本发明另一个较佳实施例,多次获取同一NTP服务器时间,计算多次客户端请求和NTP服务器响应耗时,并计算客户端请求和NTP服务器响应耗时之和,计算预置耗时阈值,将每次计算的总耗时和预设的耗时阈值做对比,若总耗时大于所述耗时阈值,则删除该NTP服务器时间。
根据本发明另一个较佳实施例,若计算的总耗时小于所述耗时阈值,则将对应的NTP服务器时间根据时间同步方程计算校准时间,用于同步客户端时间。
根据本发明另一个较佳实施例,多次获取不同NTP服务器时间、客户端响应时间,计算不同NTP服务器响应时间和客户端请求时间耗时之和,获取总耗时,计算总耗时的平均值,并计算每个NTP服务器响应、对应客户端请求总耗时和所述平均值之差的绝对值,预设差值阈值,若差值绝对值大于预设的差值阈值,则剔除对应NTP服务器服务时间。
根据本发明另一个较佳实施例,根据计算的差值和差值阈值,若差值小于差值阈值,则将对应的NTP服务器时间根据时间同步方程计算调整后时间,用于同步客户端时间。
根据本发明另一个较佳实施例,预设4G网络上下行时间比系数为0.25-0.5、有线网络上下行时间比系数为0.33~1.0。
根据本发明另一个较佳实施例,多次获取不同NTP服务器时间、客户端响应时间,计算不同NTP服务器响应时间和客户端请求时间耗时之和,获取总耗时,选择最小总耗时的NTP服务器时间根据时间同步方程同步于客户端。
根据本发明另一个较佳实施例,将同步后的客户端时间和分时系统CPU时间做对比,获取客户端和分时系统CPU时间差值,用于验证同步时间效果,设置限差,若差值小于限差,则验证通过,若时间差大于限差,则重新置执行所述时间同步方法。
附图说明
图1显示的是本发明一种分时系统时间同步方法的流程示意图。
图2显示的是本发明一种分时系统NTP服务器和客户端时间同步过程示意图。
具体实施方式
以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定的本发明的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背离本发明的精神和范围的其他技术方案。
参考图1,本发明提供了一种分时系统时间同步方法,所述时间同步方法对传统NTP时间同步方法进行优化,具体步骤如下:修改网卡底层接口,将NTP服务器接入网卡驱动层,用于获取NTP服务器时间戳;
获取用户端、分时系统CPU和NTP服务器的当前时间数据、历史时间数据;
监控网络上行速率和下行速率,根据上下行速率建立或更新上下行时间比系数;
根据当前上下行时间比系数修正客户端时间;
记录每次客户端请求和NTP服务器响应耗时,将耗时最小的NTP服务器时间根据时间同步方程响应于客户端。
其中NTP服务器时间可以来自同一NTP服务器或不同NTP服务器,在一较佳实施例中,可多次获取同一NTP服务器的时间,并同时记录客户端请求和NTP服务器响应耗时,并将请求和响应耗时最小的NTP服务器时间根据时间同步方程同步于客户端。
值得一提的是,所述时间同步方程是根据传统的NTP服务器时间同步方程优化,结合图1和2,传统时间同步方程包括:
在上述方程组(1)中,T1为客户端发起NTP的系统时间;T4为收到NTP回包的时间;T2为NTP服务器收到请求的服务器时间、T3为回应NTP的服务器时间,t为客户端到服务的时间差、d1为客户端请求(客户端到服务器)的上行网络时间、d2为NTP服务器响应的下行(服务器到客户端)网络时间。
传统的NTP时间同步方法基于时间同步方程计算预测的,而传统的时间同步方程对于上下行网络的速率是默认相同的,也就是说传统的时间同步方程中d1和d2的值默认相同,只单纯计算上行网络速率或下行网络速率,并将网络速率转化为具体的上传时间或下载时间,而现实中,网络的上传速率和下载速率不同,存在一定的差异,现有NTP时间同步方案忽略了该部分差异,从而使得时间同步的差异较大,容易导致同步差异较大。
值得一提的是,根据现有的技术问题,本发明进一步对时间同步的方程进行优化,设置时间比值系数λ,λ为网络上行和网络下行速率比值,即d2=λd1(3),设置时间比值系数λ的初始值为2-4,将(3)式代入到(1)式中,进一步获取优化后的T2和T4,根据优化后的T4将时间同步于客户端。
进一步的,所述时间比值系数λ是个动态变化的比值,本发明进一步监控网络上行和下行速率,根据网络上行和下行速率动态设置时间比值系数λ,在多次进行时间同步后根据优化的时间同步公式对T2和T4进行动态调整,并对动态调整后的T2和T4进行验证。其中验证方法为:
将动态调整后的T4和T2分别和分时系统中CPU时间进行对比,设分时系统中CPU的标准时间为T,设置限差X,若T 4-T>X或T-T4<X,则说明T4超过限差范围,验证不通过,调整网络上行和下行的时间比值系数λ,进一步根据λ获取优化调整后的T4,然后对T4进行重复验证,若在限差范围内,则表示验证通过,则将对应的T4值同步于客户端。否则进一步执行时间比值系数的调整工作,并重复验证。
值得一提的是,本发明采用多个NTP服务器时间源对客户端进行时间同步操作,可降低单个NTP服务器时间对造成的偶然误差,使得时间同步的精确度大幅增加。在本发明其中一个较佳实施例中,根据获取的多个NTP服务器时间计算客户端请求和NTP服务器响应耗时,即计算上述(1)式中的d1、d2时间,d1和d2之间的关系可根据时间比值系数λ获取,时间比值系数λ根据网络上行和下行速率动态调整获取,也就是说,通过计算客户端请求耗时即可得到动态变化的NTP服务器的响应耗时,计算客户端请求和NTP服务器响应总耗时TX=d1+d2+T3-T2,进一步的,计算对应客户端请求和每个NTP服务器响应总耗时的TX的平均值,并计算每个NTP服务器,对应客户端总耗时和平均值的差值,设置差值阈值,若计算获取的差值大于预设的差值阈值,则将对应的NTP服务器剔除获取时间源的列表,在本发明另一较佳实施例中,可采用方差或标准差计算每一NTP服务器和平均值之间的离散程度,设置方差或标准差阈值,若计算获取的同一NTP服务器多次获取的时间方差或标准差大于所述方差或标准差阈值,则将对应的NTP服务器剔除获取时间源的列表。
进一步的,为了更好地和分时系统CPU的时间源相对应,本发明进一步提供一个优选实施例,多次获取同一NTP服务器时间,并执行时间同步流程,获取客户端请求和每一NTP服务器响应的总耗时,并对总耗时从小到大进行排序,选择总耗时最小的NTP服务器时间同步于客户端,在本实施例中,选择分时系统中CPU时间作为标准时间计算所述总耗时。
需要说明的是,上述NTP服务器同步于客户端时间后将对客户端的显示时间进行验证,根据验证结果调整时间比值系数λ值。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本申请的方法中限定的上述功能。需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明,本发明的目的已经完整并有效地实现,本发明的功能及结构原理已在实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。
Claims (9)
1.一种分时系统时间同步方法,其特征在于,包括如下步骤:
修改网卡底层接口,将NTP服务器接入网卡驱动层,用于获取NTP服务器时间戳;
获取用户端、分时系统CPU和NTP服务器的当前时间数据、历史时间数据;
监控网络上行速率和下行速率,根据上下行速率建立或更新上下行时间比系数;
根据当前上下行时间比系数修正客户端时间;
记录每次客户端请求和NTP服务器响应耗时,将耗时最小的NTP服务器时间根据时间同步方程响应于客户端。
3.根据权利要求2所述的一种分时系统时间同步方法,其特征在于,多次获取同一NTP服务器时间,计算多次客户端请求和NTP服务器响应耗时,并计算客户端请求和NTP服务器响应总耗时,计算预置耗时阈值,将每次计算的总耗时和预设的耗时阈值做对比,若总耗时大于所述耗时阈值,则删除该NTP服务器时间。
4.根据权利要求3所述的一种分时系统时间同步方法,其特征在于,若计算的总耗时小于所述耗时阈值,则将对应的NTP服务器时间根据时间同步方程计算校准时间,用于同步客户端时间。
5.根据权利要求2所述的一种分时系统时间同步方法,其特征在于,多次获取不同NTP服务器时间、客户端响应时间,计算不同NTP服务器响应时间和客户端请求时间耗时之和,获取总耗时,计算总耗时的平均值,并计算每个NTP服务器响应、对应客户端请求总耗时和所述平均值之差的绝对值,预设差值阈值,若差值绝对值大于预设的差值阈值,则剔除对应NTP服务器服务时间。
6.根据权利要求5所述的一种分时系统时间同步方法,其特征在于,根据计算的差值和差值阈值,若差值小于差值阈值,则将对应的NTP服务器时间根据时间同步方程同步于客户端。
7.根据权利要求2所述的一种分时系统时间同步方法,其特征在于,预设4G网络上下行时间比系数为0.25-0.5、有线网络上下行时间比系数为0.33~1.0。
8.根据权利要求2所述的一种分时系统时间同步方法,其特征在于,多次获取不同NTP服务器时间、客户端响应时间,计算不同NTP服务器响应时间和客户端请求时间耗时之和,获取总耗时,选择最小总耗时的NTP服务器时间根据时间同步方程同步于客户端。
9.根据权利要求1所述的一种分时系统时间同步方法,其特征在于,将同步后的客户端时间和分时系统CPU时间做对比,获取客户端和分时系统CPU时间差值,用于验证同步时间效果,设置限差,若时间差值小于限差,则验证通过,若差值大于限差,则重新置执行所述时间同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010884875.8A CN112019289B (zh) | 2020-08-28 | 2020-08-28 | 一种分时系统时间同步方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010884875.8A CN112019289B (zh) | 2020-08-28 | 2020-08-28 | 一种分时系统时间同步方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112019289A CN112019289A (zh) | 2020-12-01 |
CN112019289B true CN112019289B (zh) | 2023-05-16 |
Family
ID=73503911
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010884875.8A Active CN112019289B (zh) | 2020-08-28 | 2020-08-28 | 一种分时系统时间同步方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112019289B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113556200A (zh) * | 2021-07-30 | 2021-10-26 | 平安资产管理有限责任公司 | 时钟校准方法、基于时钟同步的网络安全防护方法和装置 |
CN118368019B (zh) * | 2024-06-20 | 2024-08-20 | 惠州市技师学院(惠州市高级技工学校) | 一种网络时间校准方法、装置及计算机终端 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395312A (zh) * | 2017-09-19 | 2017-11-24 | 电信科学技术第五研究所有限公司 | 一种安全网络时间同步方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9119120B2 (en) * | 2012-01-23 | 2015-08-25 | Intel Corporation | Network assisted user association and offloading techniques for integrated multi-rat heterogeneous networks |
CN105099649B (zh) * | 2015-08-14 | 2018-10-16 | 宋亚玲 | 一种网络时间同步嵌入的方法和系统 |
CN108574547B (zh) * | 2017-03-13 | 2020-07-03 | 中国移动通信有限公司研究院 | 一种时间校准方法及装置 |
CN111525973B (zh) * | 2020-03-23 | 2024-08-30 | 腾讯科技(深圳)有限公司 | 时间同步方法、装置、计算机可读介质及电子设备 |
-
2020
- 2020-08-28 CN CN202010884875.8A patent/CN112019289B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107395312A (zh) * | 2017-09-19 | 2017-11-24 | 电信科学技术第五研究所有限公司 | 一种安全网络时间同步方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112019289A (zh) | 2020-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112019289B (zh) | 一种分时系统时间同步方法 | |
EP3284217B1 (en) | Methods, systems, and computer readable medium for synchronizing timing among network interface cards (nics) in a network equipment test device | |
CN107710650A (zh) | 用于在时变和有损网络上的时钟同步的方法、系统和装置 | |
CN108075851B (zh) | 用于同步时钟的设备和方法 | |
US10063617B2 (en) | Error correction using state information of data | |
CN103842918A (zh) | 时间控制设备、时间控制方法和程序 | |
CN104184535A (zh) | 时钟同步方法和时钟同步装置 | |
JP6823700B1 (ja) | クロック調整装置、プログラム、及びクロック調整方法 | |
US20200351189A1 (en) | Method, System, and Computer Program Product for Producing Accurate IEEE 1588 PTP Timestamps in a System with Variable PHY Latency | |
US10652007B2 (en) | Time synchronization client, synchronization method, computer program product, and synchronization system | |
US11757614B2 (en) | Accurate timestamp correction | |
US11263112B2 (en) | Method and apparatus for evaluating quality of software running environment of device | |
JPWO2021064974A5 (ja) | 端末、基地局、通信方法、及び通信システム | |
CN114035740B (zh) | 一种时钟晶振同步的方法、装置及系统 | |
US20190036800A1 (en) | Determining a loop length of a link | |
JP6979429B2 (ja) | 制御装置、制御方法、及びプログラム | |
JP2007163330A (ja) | 時刻情報通信システム | |
CN114762274B (zh) | 速率调节装置和方法 | |
US10887377B2 (en) | Control system, control method and equalization apparatus | |
CN113204516A (zh) | 处理器时间同步的方法和装置 | |
CN106331983A (zh) | 一种调节蓝牙设备输出的方法、装置及系统 | |
CN112152744A (zh) | 时钟同步的方法、装置、fpga芯片和光纤通信网络 | |
KR20080080758A (ko) | 단말기의 시각 동기화 방법 | |
CN114710692B (zh) | 多媒体文件处理方法和装置 | |
CN113839976B (zh) | 数据采样方法和装置 |
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 |