CN102821108A - 将客户机和服务器进行时间精确同步的方法 - Google Patents
将客户机和服务器进行时间精确同步的方法 Download PDFInfo
- Publication number
- CN102821108A CN102821108A CN2012103057888A CN201210305788A CN102821108A CN 102821108 A CN102821108 A CN 102821108A CN 2012103057888 A CN2012103057888 A CN 2012103057888A CN 201210305788 A CN201210305788 A CN 201210305788A CN 102821108 A CN102821108 A CN 102821108A
- Authority
- CN
- China
- Prior art keywords
- current time
- server
- time
- millisecond
- client
- 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.)
- Pending
Links
Images
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了将客户机和服务器进行时间精确同步的方法,其中,包括:客户机从服务器获取单位为秒的当前时间;客户机将获取的所述单位为秒的当前时间与其自身系统内的单位为毫秒的当前时间进行计算并减去网络延时,得到一个毫秒级的差值,该差值对应一个服务器当前时间的毫秒位置值,当该毫秒位置的值为零时将所述客户机的当前时间更新为所述服务器的当前时间;否则返回开始步骤重新执行。本发明解决了在对时间同步精度要求较高的场合,能够保证客户机和网上服务器进行时间精确同步。
Description
技术领域
本发明涉及时间精确同步领域,尤其是一种将客户机和网上服务器进行时间精确同步的方法。
背景技术
如图1所示,为了使客户机或者客户端和服务器时间同步,常见的方法是通过客户端、服务器均和一台第三方的时间服务器进行NTP同步来进行的,这种方法要求服务器配合客户端进行时间同步操作,由于在Internet网络上进行NTP时间同步,会有多达数十毫秒的误差,而且在同步操作一段时间后,由于机器时钟硬件的差别,同步后的两台机器(客户端和服务器)之间的时间也会产生时间差,并且这个差值会随着时间的变化呈线性增长趋势,实验数据表明两台机器(客户端和服务器)在进行一次时间同步后,一天后这两台机器的时钟差别有数秒之多,也就是有数千毫秒的时间差。
现有技术中的NTP时间同步服务器是针对计算机、自动化装置等进行校时而研发的产品,NTP时间同步服务器从GPS卫星上获取标准的时间信号,将这些信号通过各种接口传输给自动化系统中需要时间信息的设备(计算机、保护装置、故障录波器、事件顺序记录装置、安全自动装置、远动RTU),这样就可以达到整个系统的时间同步。
在多数情况下,服务器是不会在和客户机进行时间同步上提供任何额外的配合和帮助,比如在秒杀的应用中,服务器是不会在时间同步方面帮助客户机作任何事情的,这时候只能客户机通过单方面的操作来和服务器进行时间同步;一个已知的方法是通过发送http/https请求到服务器,根据服务器返回的数据包中的Date字段的时间,来和服务器进行时间同步,但是该Date字段仅精确到秒,所以这种现有的方案的对时精度不高,主要用在对时间精度要求不高的场合,比如流媒体实时播放等。
在对时间同步精度要求较高的场合,比如毫秒级的秒杀等,现有技术方案的精度都不能满足上述要求,因此急需一种方式来解决现有技术中的问题。
发明内容
本发明所要解决的技术问题是提供一种将客户机和服务器进行时间精确同步的方法,以解决在对时间同步精度要求较高的场合,无法保证客户机和网上服务器进行时间精确同步的问题。
为了解决上述问题,本发明提供了一种将客户机和服务器进行时间精确同步的方法,其特征在于,包括:
所述客户机从服务器获取单位为秒的当前时间;
所述客户机将获取的所述单位为秒的当前时间与其自身系统内的单位为毫秒的当前时间进行计算并减去网络延时,得到一个毫秒级的差值,该差值对应一个服务器当前时间的毫秒位置值,当该毫秒位置值为零时将所述客户机的当前时间更新为所述服务器的当前时间;否则返回开始步骤重新执行。
进一步还包括:
所述客户机从服务器获取至少两个单位为秒的当前时间;
所述客户机将获取的至少两次的所述单位为秒的当前时间分别与其自身系统内的单位为毫秒的当前时间进行计算并减去网络延时,得到至少两个毫秒级的差值,所述得到的两个毫秒级差值相差为999毫秒时执行将所述客户机的当前时间更新为所述服务器的当前时间;否则返回开始步骤重新执行。
进一步还包括:
所述客户机将获取的至少两次的所述单位为秒的当前时间分别与其自身系统内的单位为毫秒的当前时间进行计算并减去网络延时,得到至少两个毫秒级的差值。
与现有技术相比,本发明提供一种将客户机和服务器进行时间精确同步的方法,可以直接让客户机和服务器(本发明中具体可以采用http/https服务器)进行时间同步,通过提前一段时间的对时操作,可以精确计算出客户机和服务器之间的时间差(精确到毫秒级),将客户机的时间和服务器的时间同步,使同步结果精确到毫秒级。
附图说明
图1为现有技术中的将客户机和服务器进行时间同步的方框结构图;
图2为本发明实施例一所述将客户机和服务器进行时间精确同步的方法流程图;
图3为本发明实施例二所述将客户机和服务器进行时间精确同步的方法流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明,但不作为对本发明的限定。
如图2所示,为本发明实施例一所述的将客户机和服务器进行时间精确同步的方法流程,具体包括:
步骤201,客户机从服务器获取单位为秒的当前时间;
步骤202,客户机将获取的所述单位为秒的当前时间与其自身系统内的单位为毫秒的当前时间进行计算并减去网络延时,得到一个毫秒级的差值,该差值对应一个服务器当前时间的毫秒位置值,当该毫秒位置的值为零时执行步骤203,否则返回步骤201继续执行;
步骤203,将所述客户机的当前时间更新为所述服务器的当前时间。
如图3所示,为本发明实施例二所述的将客户机和服务器进行时间精确同步的方法流程,具体包括:
步骤301,客户机从服务器获取至少两个单位为秒的当前时间;
步骤302,客户机将获取的至少两次的所述单位为秒的当前时间分别与其自身系统内的单位为毫秒的当前时间进行计算并减去网络延时,得到至少两个毫秒级的差值,所述得到的两个毫秒级差值相差为999毫秒时执行步骤303,否则返回步骤301继续执行;
步骤303,将所述客户机的当前时间更新为所述服务器的当前时间。
上述步骤302可以在实际当中采用二分逼近法的方式进行计算,以使所述得到的两个毫秒级差值相差为999毫秒。这里所采用方法并不局限于二分逼近法,只要使差值逼近999毫秒就可以确定客户机的当前时间可以更新服务器的当前时间,这里不在详细赘述。
下面举例进行说明:
将客户机获取的两个单位为毫秒的当前时间表示为SC1和SC2,通过步骤301获取的服务器的单位为秒的当前时间为SS1和SS2。
根据步骤302,由于客户机得到的是单位为毫秒的当前时间,所以SC1和SC2分别包含有两个毫秒单位的时间mc1和mc2,与步骤301中获取的SS1和SS2(都是单位为秒的当前时间)进行比较并减去网络延时得到了两个差值为n1(即mc1)和n2(即mc2),然后通过计算看下n1和n2相差为多少,如果不是999毫秒则退回步骤301重新获取,如果是999毫秒则进入步骤303进行同步。
与现有技术相比,本发明提供一种将客户机和网上服务器进行时间精确同步的方法,可以直接让客户机和服务器(本发明中具体可以采用http/https服务器)进行时间同步,通过提前一段时间的对时操作,可以精确计算出客户机和服务器之间的时间差(精确到毫秒级),将客户机的时间和服务器的时间同步,使同步结果精确到毫秒级。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明做出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (3)
1.一种将客户机和服务器进行时间精确同步的方法,其特征在于,包括:
所述客户机从服务器获取单位为秒的当前时间;
所述客户机将获取的所述单位为秒的当前时间与其自身系统内的单位为毫秒的当前时间进行计算并减去网络延时,得到一个毫秒级的差值,该差值对应一个服务器当前时间的毫秒位置值,当该毫秒位置值为零时将所述客户机的当前时间更新为所述服务器的当前时间;否则返回开始步骤重新执行。
2.如权利要求1所述的将客户机和网上服务器进行时间精确同步的方法,其特征在于,进一步还包括:
所述客户机从服务器获取至少两个单位为秒的当前时间;
所述客户机将获取的至少两次的所述单位为秒的当前时间分别与其自身系统内的单位为毫秒的当前时间进行计算并减去网络延时,得到至少两个毫秒级的差值,所述得到的两个毫秒级差值相差为999毫秒时执行将所述客户机的当前时间更新为所述服务器的当前时间;否则返回开始步骤重新执行。
3.如权利要求2所述的将客户机和网上服务器进行时间精确同步的方法,其特征在于,进一步还包括:
所述客户机将获取的至少两次的所述单位为秒的当前时间分别与其自身系统内的单位为毫秒的当前时间进行计算并减去网络延时,得到至少两个毫秒级的差值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103057888A CN102821108A (zh) | 2012-08-24 | 2012-08-24 | 将客户机和服务器进行时间精确同步的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103057888A CN102821108A (zh) | 2012-08-24 | 2012-08-24 | 将客户机和服务器进行时间精确同步的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102821108A true CN102821108A (zh) | 2012-12-12 |
Family
ID=47304965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012103057888A Pending CN102821108A (zh) | 2012-08-24 | 2012-08-24 | 将客户机和服务器进行时间精确同步的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102821108A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103777517A (zh) * | 2013-12-27 | 2014-05-07 | 航天科工深圳(集团)有限公司 | 一种检验gps对时精度系统及方法 |
CN104935630A (zh) * | 2015-04-23 | 2015-09-23 | 南京信息工程大学 | 基于http的毫秒级时钟校准方法 |
CN105897330A (zh) * | 2016-04-01 | 2016-08-24 | 严炜 | 一种用于uwb高精度定位系统的信号同步方法 |
CN107197351A (zh) * | 2016-03-14 | 2017-09-22 | 奥多比公司 | 流传输数字内容同步 |
CN108650397A (zh) * | 2018-03-16 | 2018-10-12 | 维沃移动通信有限公司 | 一种时间显示方法和移动终端 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1964352A (zh) * | 2006-09-22 | 2007-05-16 | 华为技术有限公司 | 一种提高时钟精度的方法和装置 |
CN1968077A (zh) * | 2006-09-19 | 2007-05-23 | 威盛电子股份有限公司 | 客户端与服务器端的对时方法及其系统 |
CN102197611A (zh) * | 2008-10-24 | 2011-09-21 | 艾利森电话股份有限公司 | 用于分组网络同步的方法和设备 |
-
2012
- 2012-08-24 CN CN2012103057888A patent/CN102821108A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1968077A (zh) * | 2006-09-19 | 2007-05-23 | 威盛电子股份有限公司 | 客户端与服务器端的对时方法及其系统 |
CN1964352A (zh) * | 2006-09-22 | 2007-05-16 | 华为技术有限公司 | 一种提高时钟精度的方法和装置 |
CN102197611A (zh) * | 2008-10-24 | 2011-09-21 | 艾利森电话股份有限公司 | 用于分组网络同步的方法和设备 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103777517A (zh) * | 2013-12-27 | 2014-05-07 | 航天科工深圳(集团)有限公司 | 一种检验gps对时精度系统及方法 |
CN104935630A (zh) * | 2015-04-23 | 2015-09-23 | 南京信息工程大学 | 基于http的毫秒级时钟校准方法 |
CN107197351A (zh) * | 2016-03-14 | 2017-09-22 | 奥多比公司 | 流传输数字内容同步 |
CN107197351B (zh) * | 2016-03-14 | 2020-12-04 | 奥多比公司 | 流传输数字内容同步的方法及系统 |
CN105897330A (zh) * | 2016-04-01 | 2016-08-24 | 严炜 | 一种用于uwb高精度定位系统的信号同步方法 |
CN108650397A (zh) * | 2018-03-16 | 2018-10-12 | 维沃移动通信有限公司 | 一种时间显示方法和移动终端 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102821108A (zh) | 将客户机和服务器进行时间精确同步的方法 | |
EP3009897B1 (en) | Distribution device, distribution system, and distribution method | |
EP3284244B1 (en) | Methods, systems, and computer readable media for emulating network devices with different clocks | |
CN110120846B (zh) | 一种时钟同步方法和系统 | |
JP4347082B2 (ja) | イベントトレースデータの時刻補正装置,時刻補正方法及び時刻補正プログラム | |
CN105515708B (zh) | 基于fc网络的一种时钟同步精度测试装置及方法 | |
CN109687927B (zh) | 一种确定时间戳的方法、通信设备和通信系统 | |
CN111596721B (zh) | 一种数据时间标签的同步方法及设备 | |
CN106685566B (zh) | 一种时钟源的选择方法和时钟服务器 | |
CN103546267A (zh) | 时间同步的监测方法和系统 | |
WO2015122175A1 (ja) | 時刻同期装置、時刻同期システム及び時刻同期方法 | |
CN112486246A (zh) | 时钟延时检测、补偿方法、装置、终端及可读存储介质 | |
CN107276709B (zh) | 一种时间同步方法及系统 | |
JP2013118502A (ja) | 時刻同期装置、無線端末および時刻同期システム | |
CN101951300B (zh) | 一种实现以太网精确对时的方法 | |
CN102313859A (zh) | 基于ieee1588的井下电缆故障定位方法及系统 | |
WO2015028435A3 (fr) | Procede de traitement de donnees transactionnelles, dispositifs et programmes d'ordinateur corrrespondants | |
CN106712885A (zh) | 时钟同步方法、网络设备和网络系统 | |
CN108964825A (zh) | 校时方法、校时装置和校时服务器 | |
CN112067004A (zh) | 自动驾驶系统的时域同步方法和装置 | |
CN108259105B (zh) | 一种时间同步处理方法、装置及同步网络 | |
CN107800500A (zh) | 一种确定时间同步报文时钟时间的方法、装置和设备 | |
CN107666360B (zh) | 列车系统时间同步控制方法和装置 | |
CN102332974A (zh) | 支持多个ieee1588时钟域同步的方法及系统 | |
CN107003691B (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20121212 |