CN110768740B - 时间同步方法及装置 - Google Patents
时间同步方法及装置 Download PDFInfo
- Publication number
- CN110768740B CN110768740B CN201911035308.9A CN201911035308A CN110768740B CN 110768740 B CN110768740 B CN 110768740B CN 201911035308 A CN201911035308 A CN 201911035308A CN 110768740 B CN110768740 B CN 110768740B
- Authority
- CN
- China
- Prior art keywords
- client
- time
- server
- determining
- local
- 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
-
- 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
- H04J3/0652—Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP]
- H04J3/0655—Synchronisation among time division multiple access [TDMA] nodes, e.g. time triggered protocol [TTP] using timestamps
-
- 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/0682—Clock or time synchronisation in a network by delay compensation, e.g. by compensation of propagation delay or variations thereof, by ranging
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种时间同步方法及装置,应用于客户端,包括:当客户端接收到操作指令时,获取预先保存的时间戳,时间戳为服务器向客户端最近一次发送的数据包中的服务器时间;根据客户端当前运行的应用***类型所对应的时间计算方法,计算本地时间长度,本地时间长度为客户端接收到数据包至接收到操作指令的本地时长;将本地时间长度与时间戳按照第一算法进行计算,得到服务器的当前时间;将服务器的当前时间作为客户端的当前时间,完成客户端与服务器的时间同步。应用本发明客户端可通过计算得到服务器的当前时间,并将得到的服务器的当前时间作为客户端的当前时间,依据当前时间去处理数据请求,提高处理数据的准确率,提高使用客户端的体验感。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种时间同步方法及装置。
背景技术
智能终端成为人们生活中不可缺少的应用产品,绝大多数的智能终端可搭载各式各样的应用程序和客户端。人们可以通过通讯类的客户端实现远距离的通信,又或是通过购物类的应用程序实现人们足不出户即可购物的梦想,还可以使用游戏类的应用程序在闲暇的时间里适当的娱乐,多种多样的应用程序和客户端使人们的生活更加的多彩和便捷。
各种应用程序或是客户端实现功能时都需要对数据进行处理,客户端通常以本地时间为基准对数据进行处理。客户端不能实时获取服务器的服务器时间,并且本地时间容易受到外界因素的影响发生改变,因而客户端的本地时间与服务器时间可能不一致,导致客户端以本地时间为基准处理数据时,处理数据易出错,客户端出现异常,导致用户使用客户端的体验感下降。
发明内容
有鉴于此,本发明提供一种时间同步方法,用于客户端计算出服务器的当前时间后,将所述服务器的当前时间确定为客户端的当前时间,客户端依据确定的当前时间去处理各种数据请求,提高数据处理结果的准确性,提高用户使用客户端的体验感。本发明还提供了一种时间同步装置,用于支持本发明提供的时间同步方法在实际中的应用。
为实现上述目的,本发明提供如下技术方案:
一种时间同步方法,应用于客户端,包括:
当所述客户端接收到用户发送的操作指令时,获取预先保存的时间戳,所述时间戳为服务器向所述客户端最近一次发送的数据包中的服务器时间;
确定所述客户端当前运行的应用***类型,根据所述应用***类型对应的时间计算方法,计算本地时间长度,所述本地时间长度为所述客户端接收到所述数据包至接收到所述操作指令的本地时长;
将所述本地时间长度与所述时间戳按照预设的第一算法进行计算,得到服务器的当前时间;
将所述服务器的当前时间作为所述客户端的当前时间,完成所述客户端与所述服务器的时间同步。
上述的方法,可选的,所述确定所述客户端当前运行的应用***类型,根据所述应用***类型对应的时间计算方法,计算得到本地时间长度,包括:
获取所述客户端当前运行的应用***的***标识,依据所述***标识确定应用***所属的***类型;
当所述应用***为第一类型***时,确定在接收到所述操作指令时预设的计时器中的计时时长,所述计时器在客户端接收到所述服务器发送的数据包时,执行置零操作并开始计时;
将在所述计时器中确定的计时时长确定为所述本地时间长度。
上述的方法,可选的,所述确定所述客户端当前运行的应用***类型,根据所述应用***类型对应的时间计算方法,计算得到本地时间长度,包括:
获取所述客户端当前运行的应用***的***标识,依据所述***标识确定应用***所属的***类型;
当所述应用***为第二类型***时,确定第一运行时长,所述第一运行时长为所述客户端从启动至接收到所述数据包的本地时长;
确定第二运行时长,所述第二运行时长为所述客户端从启动至接收到所述操作指令的本地时长;
将所述第二运行时长与所述第一运行时长代入预设的计算公式进行计算,得到所述计算公式输出的运行时间差,将所述运行时间差确定为所述本地时间长度。
上述的方法,可选的,还包括:
确定所述客户端的网络延迟平均时长;
将所述时间戳、所述本地时间长度以及所述网络延迟平均时长按照预设的第二算法进行计算,得到所述服务器的当前时间;
将所述服务器的当前时间作为所述客户端的当前时间,完成所述客户端与所述服务器的时间同步。
上述的方法,可选的,还包括:
获取需发送至服务器的待发送数据,所述待发送数据为用户发送的数据;
确定所述客户端的当前时间,以及确定在所述客户端中预设的解禁时间;
判断所述客户端的当前时间是否大于所述解禁时间,若所述客户端的当前时间大于所述解禁时间,则将所述待发送数据发送至服务器。
一种时间同步装置,应用于客户端,包括:
第一获取单元,用于当所述客户端接收到用户发送的操作指令时,获取预先保存的时间戳,所述时间戳为服务器向所述客户端最近一次发送的数据包中的服务器时间;
第一确定单元,用于确定所述客户端当前运行的应用***类型,根据所述应用***类型对应的时间计算方法,计算本地时间长度,所述本地时间长度为所述客户端接收到所述数据包至接收到所述操作指令的本地时长;
第一计算单元,用于将所述本地时间长度与所述时间戳按照预设的第一算法进行计算,得到服务器的当前时间;
第一同步单元,用于将所述服务器的当前时间作为所述客户端的当前时间,完成所述客户端与所述服务器的时间同步。
上述的装置,可选的,所述第一确定单元,包括:
第一获取子单元,用于获取所述客户端当前运行的应用***的***标识,依据所述***标识确定应用***所属的***类型;
第一确定子单元,用于当所述应用***为第一类型***时,确定在接收到所述操作指令时预设的计时器中的计时时长,所述计时器在客户端接收到所述服务器发送的数据包时,执行置零操作并开始计时;
第二确定子单元,用于将在所述计时器中确定的计时时长确定为所述本地时间长度。
上述的装置,可选的,所述第一确定单元,包括:
第二获取子单元,用于获取所述客户端当前运行的应用***的***标识,依据所述***标识确定应用***所属的***类型;
第三确定子单元,用于当所述应用***为第二类型***时,确定第一运行时长,所述第一运行时长为所述客户端从启动至接收到所述数据包的本地时长;
第四确定子单元,用于确定第二运行时长,所述第二运行时长为所述客户端从启动至接收到所述操作指令的本地时长;
计算子单元,用于将所述第二运行时长与所述第一运行时长代入预设的计算公式进行计算,得到所述计算公式输出的运行时间差,将所述运行时间差确定为所述本地时间长度。
上述的装置,可选的,还包括:
第二确定单元,用于确定所述客户端的网络延迟平均时长;
第二计算单元,用于将所述时间戳、所述本地时间长度以及所述网络延迟平均时长按照预设的第二算法进行计算,得到所述服务器的当前时间;
第二同步单元,用于将所述服务器的当前时间作为所述客户端的当前时间,完成所述客户端与所述服务器的时间同步。
上述的装置,可选的,还包括:
第二获取单元,用于获取需发送至服务器的待发送数据,所述待发送数据为用户发送的数据;
第三确定单元,用于确定所述客户端的当前时间,以及确定在所述客户端中预设的解禁时间;
判断单元,用于判断所述客户端的当前时间是否大于所述解禁时间,若所述客户端的当前时间大于所述解禁时间,则将所述待发送数据发送至服务器。
与现有技术相比,本发明具有以下优点:
本发明提供的方法中,当所述客户端接收到用户发送的操作指令时,获取预先保存的时间戳,所述时间戳为服务器向所述客户端最近一次发送的数据包中的服务器时间;确定所述客户端当前运行的应用***类型,根据所述应用***类型对应的时间计算方法,计算本地时间长度,所述本地时间长度为所述客户端接收到所述数据包至接收到所述操作指令的本地时长;将所述本地时间长度与所述时间戳按照预设的第一算法进行计算,得到服务器的当前时间;将所述服务器的当前时间作为所述客户端的当前时间,完成所述客户端与所述服务器的时间同步。通过应用本发明提供的方法,客户端可主动计算得到服务器的当前时间,通过将计算得到的服务器的当前时间作为客户端的当前时间,并依据所述客户端的当前时间对数据进行处理,提高了处理数据结果的准确性,以提高所述用户应用客户端的使用体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种时间同步方法的方法流程图;
图2为本发明实施例提供的一种时间同步方法的另一方法流程图;
图3为本发明实施例提供的一种时间同步方法的另一方法流程图;
图4为本发明实施例提供的一种时间同步方法的另一方法流程图;
图5为本发明实施例提供的一种时间同步装置的装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明可以应用于众多通用或专用的计算装置环境或配置中。例如:个人极端机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明实施例提供了一种时间同步方法,该方法可以应用在多种***平台中,该方法可应用于终端运行的客户端,其执行主体可以为终端中的处理器或是服务器,所述方法的方法流程图可参见图1,具体说明如下所述:
S101、当所述客户端接收到用户发送的操作指令时,获取预先保存的时间戳,所述时间戳为服务器向所述客户端最近一次发送的数据包中的服务器时间。
本发明实施例提供的方法中,当客户端接收到用户发送的操作指令时,所述操作指令表示用户将向服务器发送数据或是触发所述客户端与所述服务器进行数据交互。获取预先保存在内存中的时间戳,所述时间戳为服务器向所述客户端最近一次发送的数据包中的服务器时间。需要说明的是,所述客户端在接收到服务器发送的数据包时,将所述数据包进行解析,得到数据包中的时间戳,并将所述时间戳保存在预设的内存中;需要说明的是,所述内存中保存的时间戳随着接收服务器发送的数据包中是将戳不断的进行更新。需要说明的是,所述时间戳是个时间点,例如时间戳a为8:45,时间戳b为10:01,需要说明的是,时间戳可包含日期,并且可精确到秒或是毫秒。
S102、确定所述客户端当前运行的应用***类型,根据所述应用***类型对应的时间计算方法,计算本地时间长度,所述本地时间长度为所述客户端接收到所述数据包至接收到所述操作指令的本地时长。
本发明实施例提供的方法中,确定客户端当前运行的应用***类型,所述应用***类型包括但不限于android、ios以及web等***类型;根据应用***类型所对应的时间计算方法,不同的应用***对应的计算方法不同,使用计算方法计算本地时间长度,所述本地时间长度的时间单位包括但不限于分钟、秒或是毫秒。本地时间长度为客户端接最近一次接收的数据包至接收到用户发送的操作指令的本地时长。
S103、将所述本地时间长度与所述时间戳按照预设的第一算法进行计算,得到服务器的当前时间。
本发明实施例提供的方法中,客户端确定本地时间长度之后,需要按照预设的第一算法进行计算,以得到所述服务器的当前时间。所述第一算法具体为,将所述本地时间长度与时间戳相加,相加得到的时间点即为服务器的当前时间,例如,时间戳为12点15分,本地时间长度为24分钟,按照预设的第一算法将时间戳和本地时间长度进行计算,得到的时间点为12点39分,则所述服务器的当前时间为12点39分;需要说明的是,为使计算得到的时间更为精确,时间戳和本地时间长度的时间单位包括但不限于秒或是毫秒。
S104、将所述服务器的当前时间作为所述客户端的当前时间,完成所述客户端与所述服务器的时间同步。
本发明实施例提供的方法中,将所述计算得到的服务器的当前时间作为所述客户端的当前时间,完成所述客户端与服务器的时间同步。可选的,本发明提供的方法可同时应用在多个客户端中,以使多个客户端的时间与服务器的时间同步,提高整个***的工作效率。
本发明实施例提供的方法中,当所述客户端接收到用户发送的操作指令时,获取预先保存的时间戳,所述时间戳为服务器向所述客户端最近一次发送的数据包中的服务器时间;确定所述客户端当前运行的应用***类型,根据所述应用***类型对应的时间计算方法,计算本地时间长度,所述本地时间长度为所述客户端接收到所述数据包至接收到所述操作指令的本地时长;将所述本地时间长度与所述时间戳按照预设的第一算法进行计算,得到服务器的当前时间;将所述服务器的当前时间作为所述客户端的当前时间,完成所述客户端与所述服务器的时间同步。通过应用本发明提供的方法,客户端可主动计算得到服务器的当前时间,通过将计算得到的服务器的当前时间作为客户端的当前时间,客户端完成与服务器时间的同步,并依据所述客户端的当前时间对数据进行处理,提高了处理数据结果的准确性,减少客户端因处理数据处理出错出现异常的概率,以提高所述用户应用客户端的使用体验。
本发明实施例提供的方法中,当接收到用户发送的操作指令时,需要确定本地时间长度,确定本地时间长度的方式根据客户端应用的应用***有所不同,确定本地时间长度的其中一种方法流程如图2所示,具体说明如下所述:
S201、获取所述客户端当前运行的应用***的***标识,依据所述***标识确定应用***所属的***类型。
本发明实施例提供的方法中,相同应用***的***标识相同,不同应用***的***标识不相同;不同的***标识可能属于不同的***类型,***类型中可能包含多种不同的应用***。需要说明的是,所述***标识可根据应用***的编程语言进行设置。
S202、当所述应用***为第一类型***时,确定在接收到所述操作指令时预设的计时器中的计时时长,所述计时器在客户端接收到所述服务器发送的数据包时,执行置零操作并开始计时。
本发明实施例提供的方法中,当所述应用***为WEB***时,确定所述应用***属于第一类型***,所述第一类型***包括但不限于WEB***;向预设的计时器发送停止指令,所述停止指令用于触发所述计时器停止计时;需要说明的是,所述计时器在客户端接收到服务器发送的数据包时,执行置零操作并开始计时,直至接收到停止指令,所述置零操作即将计时器中保存的时间数据清零。需要说明的是,所述计时器初始进行计时的条件可以为在所述客户端在应用***中启用的同时开始计时,也可以是接收到服务器发送的数据包就开始进行计时。
S203、将在所述计时器中确定的计时时长确定为所述本地时间长度。
本发明实施例提供的方法中,当接收到用户发送的操作指令时,确定接收到所述操作指令时计时器中的计时时长,并将所述计时时长确定为本地时间长度;需要说明的是,接收到操作指令时,所述计时器不停止计时;所述计时器只有接收到服务器发送的数据包时,才进行置零操作,并从零开始计时。
本发明实施例提供的方法中,确定本地时间长度的另一种方法流程如图3所示,具体说明如下所述:
S301、获取所述客户端当前运行的应用***的***标识,依据所述***标识确定应用***所属的***类型。
本发明实施例提供的方法中,具体的说明可参照S201,此处不再进行赘述。
S302、当所述应用***为第二类型***时,确定第一运行时长,所述第一运行时长为所述客户端从启动至接收到所述数据包的本地时长。
本发明实施例提供的方法中,根据***标识确定应用***为android或是ios***时,确定客户端运行的应用***为第二类型***,需要说明的是,所述第二类型***包括但不限于android或是ios***。获取预设的计时器中的计时时长,所述计时器为客户端启动时开始计时,当接收到服务器发送的数据包时,则确定接收到数据包时计时器中的计时时长,并将所述计时时长保存至对应的内存中;需要说明的是,内存中保存的计时时长为最近一次接收到数据包时计时器中的计时时长,所述计时时长为第一运行时长。需要说明的是,确定第一运行时长的另一种可实现方式可以为,确定客户端启动的第一本地时间戳,并确定接收到数据包时的第二本地时间戳,将所述第二本地时间戳减去所述第一本地时间戳,计算得到的时间差即为第一运行时长,并将第一运行时长保存至对应的内存中,所述第二本地时间戳大于第一本地时间戳,接收到的数据包为客户端最近一次接收到的数据包。
需要说明的是内存中保存的第一运行时长为最近一次接收到的数据包的时长。
S303、确定第二运行时长,所述第二运行时长为所述客户端从启动至接收到所述操作指令的本地时长。
本发明实施例提供的方法中,获取预设的计时器中的计时时长,所述计时器为客户端启动时开始计时,当接收到用户发送的操作指令时,则确定接收到操作指令时计时器中的计时时长,并将所述计时时长保存至对应的内存中;需要说明的是,所述计时时长为第二运行时长。需要说明的是,确定第二运行时长的另一种可实现方式可以为,确定客户端启动的第三本地时间戳,并确定接收到操作指令时的第四本地时间戳,将所述第三本地时间戳减去所述第四本地时间戳,计算得到的时间差即为第二运行时长,并将第二运行时长保存至对应的内存中,所述第四本地时间戳大于第三本地时间戳;需要说明的是接收到的操作指令为客户端最近一次接收到的。
S304、将所述第二运行时长与所述第一运行时长代入预设的计算公式进行计算,得到所述计算公式输出的运行时间差,将所述运行时间差确定为所述本地时间长度。
本发明实施例提供的方法中,预设的计算公式可以为:运行时间差=第二运行时长-第一运行时长;将计算得到的运行时间差确定为客户端的本地时间长度。
为具体说明本地时间长度的具体获取过程,以具体的实例进行说明,说明如下所述:
当客户端通过应用时间戳确定第一运行时长时,假设客户端开始启动时的第一时间戳为6:00,客户端接收到数据包z时的第二时间戳为6:50,则确定第一运行时长为50分钟,将第一运行时长保存至对应的内存中;若客户端接收到数据包x时的时间戳为6:55,则确定第一运行时长为55分钟,并所述内存中的第一运行时长更新为55分钟;
当客户端通过应用计时器确定第一运行时长时,当客户端开始启动时,预设的计时器开始计时,当客户端接收到数据包时,计时器中的计时时长为13分钟,则第一运行时长为13分钟,将第一运行时长进行保存;若客户端再次接收到数据包时,计时器中的计时时长为25分钟,则第一运行时长为25分钟,并更新对应内存中保存的第一运行时长;
假设客户端从启动至最近一次接收到数据包的时长60分钟,则第一运行时长为60分钟。
当客户端通过应用时间戳确定第二运行时长时,假设客户端开始启动时的第三时间戳为6:00,客户端接收到操作指令时的第二时间戳为6:51,则确定第二运行时长为51分钟,将第二运行时长保存至对应的内存中;若客户端再次接收到操作指令时的时间戳为7:00,则确定第二运行时长为60分钟,并所述内存中的第二运行时长更新为60分钟;
当客户端通过应用计时器确定第二运行时长时,当客户端开始启动时,预设的计时器开始计时,当客户端接收到操作指令时,计时器中的计时时长为14分钟,则第二运行时长为14分钟,将第二运行时长进行保存;若客户端再次接收到操作指令时,计时器中的计时时长为30分钟,则第二运行时长为30分钟,并更新对应内存中保存的第二运行时长。
假设客户端从启动到接收到操作指令的时长为65分钟,则第二运行时长为65分钟。
确定第一运行时长为60分钟,第二运行时长为65分钟,则经过计算,本地时间长度为5分钟。
需要说明的是,确定第一运行时长和确定第二运行时长的方式可以相同,也可以不相同;当均应用时间戳确定第一运行时长和第二运行时长时,则第一时间戳与第三时间戳中的时间相同。
本发明实施例提供的方法中,通过确定客户端的第一运行时间和第二运行时间来确定所述客户端的本地时间长度,确定客户端的本地时间长度的时间长度可精确到秒或是毫秒等更小的时间单位,从而使确定的本地时间长度的精确度更高。为使客户端计算的服务器的当前时间更加精确,在计算服务器的当前时间时,可加入网络的延迟时间进行计算,具体的过程可参照图4,具体说明如下:
S401、确定所述客户端的网络延迟平均时长。
本发明实施例提供的方法中,可通过计算所述客户端的网络延迟平均时长,计算所述网络延迟平均时长的方式可根据终端中预设的计算软件或是客户端中自带的计算插件进行计算。
S402、将所述时间戳、所述本地时间长度以及所述网络延迟平均时长按照预设的第二算法进行计算,得到所述服务器的当前时间。
本发明实施例提供的方法中,将获得的时间戳、计算得到的本地时间长度以及网络延迟平均时长进行计算,所述第二算法可以为:服务器的当前时间=时间戳+本地时间长度+网络延迟平均时长;例如,时间戳为8点8分,本地时间长度为9分钟,网络延迟平均时长为1秒,则计算得到的服务器的当前时间为8点17分零1秒。
S403、将所述服务器的当前时间作为所述客户端的当前时间,完成所述客户端与所述服务器的时间同步。
本发明实施例提供的方法中,将计算得到的服务器的当前时间确定为所述客户端的当前时间,参考S402,计算得到的服务器的当前时间为8点17分零1秒,则将客户端的当前时间确定为8点17分零1秒;完成客户端与所述服务器的时间同步。
本发明实施例提供的方法中,所述客户端与所述服务器的时间同步完成后,确定所述客户端是否能向服务器发送数据,具体的过程如下所述:
获取需发送至服务器的待发送数据,所述待发送数据为用户发送的数据;
确定所述客户端的当前时间,以及确定在所述客户端中预设的解禁时间;
判断所述客户端的当前时间是否大于所述解禁时间,若所述客户端的当前时间大于所述解禁时间,则将所述待发送数据发送至服务器。
本发明实施例提供的方法中,确定向所述服务器发送的数据为所述用户需要向所述服务器发送的数据;确定所述客户端中的预设的解禁时间,解禁时间为服务器向所述客户端发送的,例如,服务器将所述客户端禁言,服务器向客户端下发解禁时间,假设解禁时间为22点5分,当开始禁言的时间为21点钟,则所述客户端从21点至22点5分的这段时间内,不能向服务器发送数据;延续上述的解禁时间,假设客户端的当前时间为22点6分,则所客户端将所述数据发送至所述服务器。当所述客户端的当前时间小于或等于所述解禁时间时,弹出预设的提示信息,以提示当前不能向所述服务器发送数据;所述提示可以根据需求进行预设,例如具体的内容可以为:禁言时间未结束。提示的方式包括但不限于以短信或是弹窗的形式提示。
本发明实施例提供的方法中,通过应用本发明提供的方法,可将计算得到的服务器的当前时间确定为所述客户端的当前时间,以实现服务器和客户端的时间同步;客户端依据确定的当前时间处理各种数据需求,提高了处理结果的准确行,提高了用户使用客户端的体验感。
本发明实施例提供的方法中,当所述客户端接收到用户发送的操作指令时,获取预先保存的时间戳,所述时间戳为服务器向所述客户端最近一次发送的数据包中的服务器时间;确定所述客户端当前运行的应用***类型,根据所述应用***类型对应的时间计算方法,计算本地时间长度,所述本地时间长度为所述客户端接收到所述数据包至接收到所述操作指令的本地时长;将所述本地时间长度与所述时间戳按照预设的第一算法进行计算,得到服务器的当前时间;将所述服务器的当前时间作为所述客户端的当前时间,完成所述客户端与所述服务器的时间同步。应用本发明,服务器不需要实时向客户端发送服务器的当前时间;客户端可自动计算得到服务器的当前时间,并将计算得到的服务器的当前时间确定为客户端的当前时间;客户端可依据确定的当前时间去处理各种数据请求,减少了服务器的工作耗能,并提高了客户端处理数据的准确率,提高了用户使用所述客户端的使用体验。
与图1对应的,本发明实施例还对应的提供了一种时间同步装置,用于支持本发明实施例提供的一种时间同步方法在实际中的应用,所述时间同步装置可应用于各种计算装置和智能设备中,所述时间同步装置的装置结构图可参照图5,具体说明如下所述:
第一获取单元501,用于当所述客户端接收到用户发送的操作指令时,获取预先保存的时间戳,所述时间戳为服务器向所述客户端最近一次发送的数据包中的服务器时间;
第一确定单元502,用于确定所述客户端当前运行的应用***类型,根据所述应用***类型对应的时间计算方法,计算本地时间长度,所述本地时间长度为所述客户端接收到所述数据包至接收到所述操作指令的本地时长;
第一计算单元503,用于将所述本地时间长度与所述时间戳按照预设的第一算法进行计算,得到服务器的当前时间;
第一同步单元504,用于将所述服务器的当前时间作为所述客户端的当前时间,完成所述客户端与所述服务器的时间同步。
本发明实施例提供的装置中,当所述客户端接收到用户发送的操作指令时,获取预先保存的时间戳,所述时间戳为服务器向所述客户端最近一次发送的数据包中的服务器时间;确定所述客户端当前运行的应用***类型,根据所述应用***类型对应的时间计算方法,计算本地时间长度,所述本地时间长度为所述客户端接收到所述数据包至接收到所述操作指令的本地时长;将所述本地时间长度与所述时间戳按照预设的第一算法进行计算,得到服务器的当前时间;将所述服务器的当前时间作为所述客户端的当前时间,完成所述客户端与所述服务器的时间同步。应用本发明,服务器不需要实时向客户端发送服务器的当前时间;客户端可自动计算得到服务器的当前时间,并将计算得到的服务器的当前时间确定为客户端的当前时间;客户端可依据确定的当前时间去处理各种数据请求,减少了服务器的工作耗能,并提高了客户端处理数据的准确率,提高了用户使用所述客户端的使用体验。
本发明实施例提供的时间同步装置中,所述第一确定单元502,可以配置为:
第一获取子单元,用于获取所述客户端当前运行的应用***的***标识,依据所述***标识确定应用***所属的***类型;
第一确定子单元,用于当所述应用***为第一类型***时,确定在接收到所述操作指令时预设的计时器中的计时时长,所述计时器在客户端接收到所述服务器发送的数据包时,执行置零操作并开始计时;
第二确定子单元,用于将在所述计时器中确定的计时时长确定为所述本地时间长度。
本发明实施例提供的时间同步装置中,所述第一确定单元502,可以配置为:
第二获取子单元,用于获取所述客户端当前运行的应用***的***标识,依据所述***标识确定应用***所属的***类型;
第三确定子单元,用于当所述应用***为第二类型***时,确定第一运行时长,所述第一运行时长为所述客户端从启动至接收到所述数据包的本地时长;
第四确定子单元,用于确定第二运行时长,所述第二运行时长为所述客户端从启动至接收到所述操作指令的本地时长;
计算子单元,用于将所述第二运行时长与所述第一运行时长代入预设的计算公式进行计算,得到所述计算公式输出的运行时间差,将所述运行时间差确定为所述本地时间长度。
本发明实施例提供的时间同步装置中,还可以配置为:
第二确定单元,用于确定所述客户端的网络延迟平均时长;
第二计算单元,用于将所述时间戳、所述本地时间长度以及所述网络延迟平均时长按照预设的第二算法进行计算,得到所述服务器的当前时间;
第二同步单元,用于将所述服务器的当前时间作为所述客户端的当前时间,完成所述客户端与所述服务器的时间同步。
本发明实施例提供的时间同步装置中,还可以配置为:
第二获取单元,用于获取需发送至服务器的待发送数据,所述待发送数据为用户发送的数据;
第三确定单元,用于确定所述客户端的当前时间,以及确定在所述客户端中预设的解禁时间;
判断单元,用于判断所述客户端的当前时间是否大于所述解禁时间,若所述客户端的当前时间大于所述解禁时间,则将所述待发送数据发送至服务器。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***或***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的***及***实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种时间同步方法,其特征在于,应用于客户端,包括:
当所述客户端接收到用户发送的操作指令时,获取预先保存的时间戳,所述时间戳为服务器向所述客户端最近一次发送的数据包中的服务器时间;
确定所述客户端当前运行的应用***类型,根据所述应用***类型对应的时间计算方法,计算本地时间长度,所述本地时间长度为所述客户端接收到所述数据包至接收到所述操作指令的本地时长;
将所述本地时间长度与所述时间戳按照预设的第一算法进行计算,得到服务器的当前时间;
将所述服务器的当前时间作为所述客户端的当前时间,完成所述客户端与所述服务器的时间同步。
2.根据权利要求1所述的方法,其特征在于,所述确定所述客户端当前运行的应用***类型,根据所述应用***类型对应的时间计算方法,计算得到本地时间长度,包括:
获取所述客户端当前运行的应用***的***标识,依据所述***标识确定应用***所属的***类型;
当所述应用***为第一类型***时,确定在接收到所述操作指令时预设的计时器中的计时时长,所述计时器在客户端接收到所述服务器发送的数据包时,执行置零操作并开始计时;
将在所述计时器中确定的计时时长确定为所述本地时间长度。
3.根据权利要求1所述的方法,其特征在于,所述确定所述客户端当前运行的应用***类型,根据所述应用***类型对应的时间计算方法,计算得到本地时间长度,包括:
获取所述客户端当前运行的应用***的***标识,依据所述***标识确定应用***所属的***类型;
当所述应用***为第二类型***时,确定第一运行时长,所述第一运行时长为所述客户端从启动至接收到所述数据包的本地时长;
确定第二运行时长,所述第二运行时长为所述客户端从启动至接收到所述操作指令的本地时长;
将所述第二运行时长与所述第一运行时长代入预设的计算公式进行计算,得到所述计算公式输出的运行时间差,将所述运行时间差确定为所述本地时间长度。
4.根据权利要求1所述的方法,其特征在于,还包括:
确定所述客户端的网络延迟平均时长;
将所述时间戳、所述本地时间长度以及所述网络延迟平均时长按照预设的第二算法进行计算,得到所述服务器的当前时间;
将所述服务器的当前时间作为所述客户端的当前时间,完成所述客户端与所述服务器的时间同步。
5.根据权利要求1所述的方法,其特征在于,还包括:
获取需发送至服务器的待发送数据,所述待发送数据为用户发送的数据;
确定所述客户端的当前时间,以及确定在所述客户端中预设的解禁时间;
判断所述客户端的当前时间是否大于所述解禁时间,若所述客户端的当前时间大于所述解禁时间,则将所述待发送数据发送至服务器。
6.一种时间同步装置,其特征在于,应用于客户端,包括:
第一获取单元,用于当所述客户端接收到用户发送的操作指令时,获取预先保存的时间戳,所述时间戳为服务器向所述客户端最近一次发送的数据包中的服务器时间;
第一确定单元,用于确定所述客户端当前运行的应用***类型,根据所述应用***类型对应的时间计算方法,计算本地时间长度,所述本地时间长度为所述客户端接收到所述数据包至接收到所述操作指令的本地时长;
第一计算单元,用于将所述本地时间长度与所述时间戳按照预设的第一算法进行计算,得到服务器的当前时间;
第一同步单元,用于将所述服务器的当前时间作为所述客户端的当前时间,完成所述客户端与所述服务器的时间同步。
7.根据权利要求6所述的装置,其特征在于,所述第一确定单元,包括:
第一获取子单元,用于获取所述客户端当前运行的应用***的***标识,依据所述***标识确定应用***所属的***类型;
第一确定子单元,用于当所述应用***为第一类型***时,确定在接收到所述操作指令时预设的计时器中的计时时长,所述计时器在客户端接收到所述服务器发送的数据包时,执行置零操作并开始计时;
第二确定子单元,用于将在所述计时器中确定的计时时长确定为所述本地时间长度。
8.根据权利要求6所述的装置,其特征在于,所述第一确定单元,包括:
第二获取子单元,用于获取所述客户端当前运行的应用***的***标识,依据所述***标识确定应用***所属的***类型;
第三确定子单元,用于当所述应用***为第二类型***时,确定第一运行时长,所述第一运行时长为所述客户端从启动至接收到所述数据包的本地时长;
第四确定子单元,用于确定第二运行时长,所述第二运行时长为所述客户端从启动至接收到所述操作指令的本地时长;
计算子单元,用于将所述第二运行时长与所述第一运行时长代入预设的计算公式进行计算,得到所述计算公式输出的运行时间差,将所述运行时间差确定为所述本地时间长度。
9.根据权利要求6所述的装置,其特征在于,还包括:
第二确定单元,用于确定所述客户端的网络延迟平均时长;
第二计算单元,用于将所述时间戳、所述本地时间长度以及所述网络延迟平均时长按照预设的第二算法进行计算,得到所述服务器的当前时间;
第二同步单元,用于将所述服务器的当前时间作为所述客户端的当前时间,完成所述客户端与所述服务器的时间同步。
10.根据权利要求6所述的装置,其特征在于,还包括:
第二获取单元,用于获取需发送至服务器的待发送数据,所述待发送数据为用户发送的数据;
第三确定单元,用于确定所述客户端的当前时间,以及确定在所述客户端中预设的解禁时间;
判断单元,用于判断所述客户端的当前时间是否大于所述解禁时间,若所述客户端的当前时间大于所述解禁时间,则将所述待发送数据发送至服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911035308.9A CN110768740B (zh) | 2019-10-29 | 2019-10-29 | 时间同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911035308.9A CN110768740B (zh) | 2019-10-29 | 2019-10-29 | 时间同步方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110768740A CN110768740A (zh) | 2020-02-07 |
CN110768740B true CN110768740B (zh) | 2020-12-01 |
Family
ID=69334367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911035308.9A Active CN110768740B (zh) | 2019-10-29 | 2019-10-29 | 时间同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110768740B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115914396A (zh) * | 2021-08-17 | 2023-04-04 | 多点生活(成都)科技有限公司 | 调用链路生成方法、装置、电子设备和计算机可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102904887A (zh) * | 2012-09-26 | 2013-01-30 | 东软集团股份有限公司 | 一种Web客户端与服务器的数据同步方法和*** |
CN103841180A (zh) * | 2014-01-17 | 2014-06-04 | 北京京东尚科信息技术有限公司 | 一种基于操作指令的网络数据同步方法、装置、终端设备和服务器 |
CN106961377A (zh) * | 2016-01-12 | 2017-07-18 | 北大方正集团有限公司 | 消息同步方法和消息同步*** |
CN107852416A (zh) * | 2015-08-26 | 2018-03-27 | 微软技术许可有限责任公司 | 监测计算机网络连接的生命周期 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10650412B2 (en) * | 2013-06-14 | 2020-05-12 | Blue Kai, Inc. | Multi-profile tracking identification of a mobile user |
ES2796873T3 (es) * | 2013-09-20 | 2020-11-30 | Koninklijke Kpn Nv | Correlacionar información de línea de tiempo entre flujos de medios |
CN107231400B (zh) * | 2016-03-25 | 2020-07-03 | 阿里巴巴集团控股有限公司 | 一种数据的同步方法和装置 |
-
2019
- 2019-10-29 CN CN201911035308.9A patent/CN110768740B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102904887A (zh) * | 2012-09-26 | 2013-01-30 | 东软集团股份有限公司 | 一种Web客户端与服务器的数据同步方法和*** |
CN103841180A (zh) * | 2014-01-17 | 2014-06-04 | 北京京东尚科信息技术有限公司 | 一种基于操作指令的网络数据同步方法、装置、终端设备和服务器 |
CN107852416A (zh) * | 2015-08-26 | 2018-03-27 | 微软技术许可有限责任公司 | 监测计算机网络连接的生命周期 |
CN106961377A (zh) * | 2016-01-12 | 2017-07-18 | 北大方正集团有限公司 | 消息同步方法和消息同步*** |
Non-Patent Citations (1)
Title |
---|
时间戳服务***的设计与应用研究;王兵等;《网络安全技术与应用》;20170415;49-50 * |
Also Published As
Publication number | Publication date |
---|---|
CN110768740A (zh) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6564046B1 (en) | Method of maintaining mobile terminal synchronization during idle communication periods | |
US20070192763A1 (en) | Method and system for scheduling application of software updates | |
EP2629572B1 (en) | Method and device of data interaction | |
CN103516690A (zh) | 一种业务处理状态信息查询方法及装置 | |
JP2003087361A (ja) | 移動通信端末装置 | |
CN111901341B (zh) | 状态同步方法及设备 | |
CN103428844A (zh) | 手机终端手机时间同步的实现方法 | |
CN103309713A (zh) | ***升级的方法、装置及设备 | |
CN110768740B (zh) | 时间同步方法及装置 | |
US20170063985A1 (en) | Global Logical Timestamp | |
WO2021036558A1 (zh) | 无线网络的连接方法及相关装置 | |
CN105245408A (zh) | 数据同步监控方法及装置 | |
CN108713171A (zh) | 通信设备、通信方法、通信***、电子手表和程序 | |
CN108462734B (zh) | 消息接收方法和装置 | |
CN111399367A (zh) | 基于鸽钟设备的时间校正方法、服务器及存储介质 | |
CN103580887A (zh) | 客户端、升级方法及*** | |
CN101656753A (zh) | 动态内容分发的内容同步方法、设备及*** | |
CN109714403A (zh) | 一种确定用户上线时长的方法及装置 | |
WO2008132788A1 (ja) | 通信方法およびそれを利用した端末装置 | |
CN114499816B (zh) | 时钟同步的方法、装置、终端设备及可读存储介质 | |
CN103973804B (zh) | 终端时间的设置方法及装置 | |
JP6705041B2 (ja) | 通信端末、設定方法及びプログラム | |
CN112667255B (zh) | 更新方法、装置、电子设备及存储介质 | |
CN115347970A (zh) | 电力实时仿真***的时钟同步方法、装置及设备 | |
CN114222148A (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 |