CN112968747A - 一种时间校准方法、装置、计算机设备和存储介质 - Google Patents
一种时间校准方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112968747A CN112968747A CN202110240980.2A CN202110240980A CN112968747A CN 112968747 A CN112968747 A CN 112968747A CN 202110240980 A CN202110240980 A CN 202110240980A CN 112968747 A CN112968747 A CN 112968747A
- Authority
- CN
- China
- Prior art keywords
- timestamp
- service
- time
- access
- 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.)
- Granted
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
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
Abstract
本发明实施例提供了一种时间校准方法、装置、计算机设备和存储介质,该方法包括:确定客户端在启动调用链时记录的第一时间戳,调用链在客户端、服务端上分布有多个链式的调用单元,接收客户端在执行调用单元时记录的、相对于第一时间戳的偏移量,接收服务端在执行调用单元时记录的第二时间戳,以第二时间戳作为基础,根据偏移量对调用链的耗时与第一时间戳对进行校准,可将调用链的耗时与第一时间戳对齐服务端所处机器的绝对时间,可以大大减少调用链的耗时与第一时间戳在服务端所处机器的绝对时间下的误差,提高调用链的耗时与第一时间戳的耗时,从而保证分布式追踪系统的正常运行。
Description
技术领域
本发明实施例涉及计算机处理的技术领域,尤其涉及一种时间校准方法、装置、计算机设备和存储介质。
背景技术
现在互联网服务通常是复杂的分布式系统,分布式系统由多个软件模块构成,这些软件模块可能由不同的团队开发、可能使用不同的编程语言实现、可能布在横跨多个数据中心的几千台服务器上。
在这种环境中,可部署在分布式追踪系统(Distributed Tracing System),用来解决在分布式系统下的常见故障定位、链路分析等需求。
分布式追踪系统涉及客户端与服务端的追踪,客户端与服务端之间的时间存在差异,导致时间不一致,影响分布式追踪系统的正常运行。
发明内容
本发明实施例提出了一种时间校准方法、装置、计算机设备和存储介质,以解决分布式追踪系统中客户端与服务端之间的时间存在差异的问题。
第一方面,本发明实施例提供了一种时间校准方法,包括:
确定客户端在启动调用链时记录的第一时间戳,所述调用链在所述客户端、服务端上分布有多个链式的调用单元;
接收所述客户端在执行所述调用单元时记录的、相对于所述第一时间戳的偏移量;
接收所述服务端在执行所述调用单元时记录的第二时间戳;
以所述第二时间戳作为基础,根据所述偏移量对所述调用链的耗时与所述第一时间戳对进行校准。
第二方面,本发明实施例还提供了一种时间校准装置,包括:
第一时间戳确定模块,用于确定客户端在启动调用链时记录的第一时间戳,所述调用链在所述客户端、服务端上分布有多个链式的调用单元;
偏移量接收模块,用于接收所述客户端在执行所述调用单元时记录的、相对于所述第一时间戳的偏移量;
第二时间戳接收模块,用于接收所述服务端在执行所述调用单元时记录的第二时间戳;
时间校准模块,用于以所述第二时间戳作为基础,根据所述偏移量对所述调用链的耗时与所述第一时间戳对进行校准。
第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的时间校准方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的时间校准方法。
在本实施例中,确定客户端在启动调用链时记录的第一时间戳,调用链在客户端、服务端上分布有多个链式的调用单元,接收客户端在执行调用单元时记录的、相对于第一时间戳的偏移量,偏移量为客户端对调用单元记录的相对时间,并非客户端所处机器的绝对时间,基于客户端所处机器的硬件,可保证该相对时间的精准性,相对时间不受不同来源的时间服务器、不同网络对绝对时间带来的影响,接收服务端在执行调用单元时记录的第二时间戳,第二时间戳为服务端所处机器的绝对时间,处于同一局域网的机器可以应用时间同步协议保证时间的同步,以第二时间戳作为基础,根据偏移量对调用链的耗时与第一时间戳对进行校准,可将调用链的耗时与第一时间戳对齐服务端所处机器的绝对时间,可以大大减少调用链的耗时与第一时间戳在服务端所处机器的绝对时间下的误差,提高调用链的耗时与第一时间戳的精确度,从而保证分布式追踪系统的正常运行。
附图说明
图1为本发明实施例一提供的一种时间校准方法的流程图;
图2A为本发明实施例一提供的一种调用链的示意图;
图2B为本发明实施例一提供的一种服务端的架构示意图;
图2C为本发明实施例一提供的一种时间校准的示意图;
图3为本发明实施例二提供的一种时间校准装置的结构示意图;
图4为本发明实施例三提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在分布式追踪系统中,通常包含如下几个部分:
Trace:用来描述分布式系统中一个完整的调用链,每一个Trace会有一个独有的标识(Trace ID)。
Span:分布式系统中的一个调用单元,可以是一个微服务中的服务Service,也可以是一次方法调用,甚至一个简单的代码块调用。Span可以包含起始时间戳、日志Log等信息。每一个Span会有一个独有的标识(Span ID)。
Span Context:包含额外Trace信息的数据结构,Span Context可以包含TraceID、Span ID,以及其他任何需要向下游服务Service传递的Trace信息。
为了解决不同的分布式追踪系统中API(Application Programming Interface,应用程序接口)不兼容的问题,在上述基础上,诞生了OpenTracing规范,OpenTracing是一个轻量级的标准化层,它位于应用程序和日志分析程序之间。
常用的Tracing架构包括zipkin、jaeger、MTrace、SkyWalking等,这些分布式系统实现了Trace的采集和展示,但都是基于服务端内部之间调用监控,并不包含客户端。
根据OpenTracing规范,一个RPC(Remote Procedure Call,远程过程调用)为一个Span,一个Span包含开始时间戳和结束时间戳。由于不同机器的时间戳存在一定的差异,可能出现在后调用的服务的时间戳早于在先调用的服务的时间戳等时间不一致的情况。
作为服务端的机器由技术人员维护,可以通过NTP(Network Time Protocol,网络时间同步协议)或者PTP(Precision Time Protoco,高精度时间同步协议)等方式对该机器的时间校准,保持时间误差在一个可以容忍的范围内。
作为客户端的机器,多为手机、个人电脑等用户控制的终端,一方面,该机器的时间可以由用户自身设置,另一方面,即使该机器使用互联网时钟进行校准,互联网中的时间服务器存在很多来源,各来源之间也存在时间误差,加上机器处于不同的网络环境,在不同的网络环境中、机器与时间服务器之间进行时间校准也会带来误差。
上述因素导致客户端的时间与服务端的时间之间的误差比较大,当误差出现时,分布式追踪系统想要分析某一个时间范围的数据、容易导致分析结果出错,例如,由于客户端与服务端之间的时间未同步,按该时间去计算Trace的耗时,该耗时的精确度较低,当出现在后调用的服务的时间戳早于在先调用的服务的时间戳等情况下,计算耗时甚至出错。
实施例一
图1为本发明实施例一提供的一种时间校准方法的流程图,本实施例可适用于通过客户端的相对耗时与服务端的时间对调用链Trace的时间进行校准的情况,该方法可以由时间校准装置来执行,该时间校准装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,服务器、工作站、个人电脑,等等。
如图2A所示,客户端210向服务端220发起应用请求,触发调用链Trace,从而请求服务端220执行相应的业务处理,生成应用响应,并将应用响应发送至客户端210,在不同的业务场景中,该业务操作有所不同,例如,请求查询用户的等级,请求发送即时通讯消息,请求进入直播间,请求向主播用户赠送虚拟礼物,等等。
针对不同的业务场景,服务端可使用不同的架构,如反向代理、负载均衡,等等,本实施例对此不加以限制。
示例性地,如图2B所示,服务端包括接入服务221、业务服务222,接入服务221对外暴露接口,可从该接口接收客户端210的应用请求,对该应用请求首次进行鉴权、非首次验证令牌token、调整网络信息(如源IP(Internet Protocol,网际互连协议)地址、目的IP地址、端口号)等处理,为便于区分,处理之后的应用请求称之为业务请求,通过负载均衡等方式将该业务请求转发至处于同一局域网的业务服务222,业务服务222响应该业务请求,执行指定的业务处理,生成业务响应,并将业务响应发送至接入服务221,接入服务对该业务响应进行调整网络信息(如源IP地址、目的IP地址、端口号)等处理,为便于区分,处理之后的业务响应称之为应用响应,并将应用响应发送至客户端210。
本实施例可以应用于分布式追踪系统,如图1所示,该方法具体包括如下步骤:
步骤101、确定客户端在启动调用链时记录的第一时间戳。
如图2C所示,客户端在启动调用链Trace时,向服务端发送请求,此时,可记录客户端所处机器当前的时间,得到第一时间戳T1,即该第一时间戳T1为客户端所处机器本地的绝对时间,例如,在启动调用链时,客户端所处机器当前的时间为2021-02-22 11:43:46,则可以记录第一时间戳T1为1613965426。
由于调用链Trace唯一,因此,启动调用链Trace时的第一时间戳T1对于该调用链Trace是唯一的。
在本实施例中,可在独立于客户端的计算机设备中启动收集进程,客户端可将第一时间戳上传至该收集进程,收集进程在接收到该第一时间戳时,将该第一时间戳存储至计算机设备本地,以便计算机设备进行时间的校准。
步骤102、接收客户端在执行调用单元时记录的、相对于第一时间戳的偏移量。
客户端根据OpenTracing的规范,在待追踪的关键路径增加调用单元Span,在执行调用单元Span的过程中,可记录客户端所处机器当前的时间,得到第三时间戳,将第三时间戳减去第二时间戳,可获得在时间的维度上相对于第一时间戳的偏移量,即该偏移量为客户端本地的相对时间,例如,在启动调用链Trace时记录的第一时间戳为1613965426,在执行调用单元Span时,客户端所处机器当前的时间为2021-02-22 11:43:56,则可以记录的第三时间戳为1613965436,将第三时间戳1613965436减去第二时间戳1613965426,可获得在时间的维度上相对于第一时间戳的偏移量为10秒。
一般而言,客户端执行调用单元Span是一个持续性的过程,在时间的维度上存在多个时间点,因此,可根据时间校准的需求,选择所需的时间点记录相对于第一时间戳的偏移量,本实施例对此不加以限制。
示例性地,如图2A和图2B所示,偏移量包括起始偏移量span0.cs、结束偏移量span0.cr,客户端210可分别在启动调用单元Span、以向服务端220(如接入服务221、业务服务222)发送应用请求时,记录相对于第一时间戳的偏移量、作为起始偏移量span0.cs,以及,在结束调用单元Span、以接收服务端220(如接入服务221、业务服务222)发送的应用响应时,记录的相对于第一时间戳的偏移量、作为结束偏移量span0.cr,并将起始偏移量span0.cs、结束偏移量span0.cr上传至采集进程。
相对而言,采集进程可接收客户端在启动调用单元Span、以向服务端发送应用请求时记录的、相对于第一时间戳的起始偏移量span0.cs,以及,接收客户端在结束调用单元Span、以接收服务端发送的应用响应时记录的、相对于第一时间戳的结束偏移量span0.cr。
进一步而言,在一个调用链Trace中,客户端可能具有多个调用单元Span,第一时间戳为客户端首次启动调用单元Span的时间,因此,客户端首次启动调用单元Span时记录的起始偏移量span0.cs等于0,非首个启动调用单元Span时记录的起始偏移量span0.cs大于0。
当然,上述偏移量只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它偏移量,例如,接收客户端在执行调用单元Span超时时记录的、相对于第一时间戳的结束偏移量,等等,本发明实施例对此不加以限制。另外,除了上述偏移量外,本领域技术人员还可以根据实际需要采用其它偏移量,本发明实施例对此也不加以限制。
步骤103、接收服务端在执行调用单元时记录的第二时间戳。
服务端根据OpenTracing的规范,在待追踪的关键路径增加调用单元Span,在执行调用单元Span的过程中,可记录服务端所处机器当前的时间,得到第二时间戳,即该第二时间戳为服务端所处机器本地的绝对时间,例如,在执行调用单元Span时,服务端所处机器当前的时间为2021-02-22 11:43:59,则可以记录的第二时间戳为1613965439。
一般而言,服务端执行调用单元Span是一个持续性的过程,在时间的维度上存在多个时间点,因此,可根据时间校准的需求,选择所需的时间点记录第二时间戳,本实施例对此不加以限制。
示例性地,如图2A所示,第二时间戳包括起始时间戳T21、结束时间戳T22,服务端220可分别在启动调用单元Span、以处理客户端210的应用请求时,记录服务端220所处机器当前的时间作为起始时间戳T21,以及,在结束调用单元Span、以处理客户端210的应用响应时,记录服务端220所处机器当前的时间作为结束时间戳T22,并将起始时间戳T21、结束时间戳T22上传至采集进程。
其中,应用响应为服务端220响应客户端210的应用请求执行业务处理而获得的处理结果,该应用响应由服务端220发送至客户端210。
相对而言,采集进程可接收服务端在启动调用单元Span、以接收客户端的应用请求时记录的起始时间戳,以及,接收服务端在结束调用单元Span、以向客户端发送应用响应时记录的结束时间戳。
进一步地,针对不同的业务场景,服务端可使用不同的架构,如反向代理、负载均衡,等等,服务端内部对应用请求、应用响应存在其他处理,因此,在不同的业务场景中,可记录业务的时间校准需求记录起始时间戳、结束时间戳,本实施例对此不加以限制。
示例性地,如图2B所示,服务端包括接入服务221、业务服务222,起始时间戳包括第一接入时间戳span0.sr、第二接入时间戳span1.cs、第一业务时间戳span1.cr,结束时间戳包括第三接入时间戳span1.cr、第四接入时间戳span0.ss、第二业务事件span1.ss。
一方面,接入服务221在接收到客户端210的应用请求之后,对应用请求进行处理、以生成业务请求,即业务请求基于应用请求生成,在此过程中,可分别在启动调用单元Span、以接收客户端210的应用请求时记录接入服务221所处机器的时间作为第一接入时间戳span0.sr,以及,在结束调用单元Span、以向业务服务222发送业务请求时记录接入服务221所处机器的时间作为第二接入时间戳span1.cs,并将第一接入时间戳span0.sr、第二接入时间戳span1.cs上传至采集进程。
另一方面,业务服务222在接收到接入服务221的业务请求之后,执行业务处理、以生成业务响应,在此过程中,可分别在启动调用单元Span、以接收接入服务221的业务请求时,记录业务服务222所处机器的时间作为第一业务时间戳span1.cr,以及,在结束调用单元Span、以向接入服务221发送业务响应时,记录业务服务222所处机器的时间作为第二业务时间戳span1.ss,并将第一业务时间戳span1.cr、第二业务时间戳span1.ss上传至采集进程。
再者一方面,接入服务221在接收到业务服务222的业务响应之后,对业务响应进行处理、以生成应用响应,即应用响应基于业务响应生成,在此过程中,可分别在启动调用单元Span、以接收业务服务的业务响应时,记录接入服务221所处机器的时间作为第三接入时间戳span1.cr,以及,在结束调用单元Span、以向客户端210发送应用响应时,记录接入服务221所处机器的时间作为第四接入时间戳span0.ss,并将第三接入时间戳span1.cr、第四接入时间戳span0.ss上传至采集进程。
相对而言,采集进程可在处理应用请求的过程中,可分别接收接入服务在启动调用单元Span、以接收客户端的应用请求时记录的第一接入时间戳span0.sr,接收接入服务在结束调用单元Span、以向业务服务发送业务请求时记录的第二接入时间戳span1.cs,接收业务服务在启动调用单元Span、以接收接入服务的业务请求时记录的第一业务时间戳span1.cr。
采集进程可在处理应用响应的过程中,可分别接收业务服务在结束调用单元Span、以向接入服务发送业务响应时记录的第二业务时间戳span1.ss,接收接入服务在启动调用单元Span、以接收业务服务的业务响应时记录的第三接入时间戳span1.cr,接收接入服务在结束调用单元Span、以向客户端发送应用响应时记录的第四接入时间戳span0.ss。
当然,上述第二时间戳只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它第二时间戳,例如,接收服务端端在执行调用单元Span超时时记录的第二时间戳,等等,本发明实施例对此不加以限制。另外,除了上述第二时间戳外,本领域技术人员还可以根据实际需要采用其它第二时间戳,本发明实施例对此也不加以限制。
步骤104、以第二时间戳作为基础,根据偏移量对调用链的耗时与第一时间戳对进行校准。
一般情况下,客户端所处机器的计时精度较高,可以保证偏移量的准确性,该准确性不依赖客户端所处机器的绝对时间,因此,本实施例中可以以服务端所处机器的绝对时间为基准,即,在第二时间戳的基础上,使用客户端所处机器记录的偏移量对调用链Trace的耗时与第一时间戳对进行校准。
在本发明的一个实施例中,调用链Trace的耗时包括客户端与服务端之间网络的耗时,则在本实施例中,步骤104可以包括如下步骤:
步骤1041、基于第二时间戳计算服务端执行调用单元的耗时。
第二时间戳为服务端所处机器的绝对时间,计算第二时间戳之间差异即可获得服务端执行调用单元的耗时。
在具体实现中,如图2A所示,可分别确定起始时间戳T21,以及,确定结束时间戳T22。
其中,该起始时间戳T21表示服务端启动调用单元Span的第二时间戳,结束时间戳T22表示服务端结束调用单元Span的第二时间戳。
将结束时间戳T22减去起始时间戳T21,获得服务端执行调用单元Span的耗时。
进一步而言,服务端具有不同的架构,在架构内部存在交互,可能记录有多个起始时间戳、多个结束时间戳,此时,可选择第一个起始时间戳,第一个起始时间戳的数值在所有起始时间戳的范围内最小,用于计算服务端执行调用单元Span的耗时,以及,选择最后一个结束时间戳,最后一个结束时间戳的数值在所有结束时间戳的范围最大,用于计算服务端执行调用单元Span的耗时,以保证服务端执行调用单元Span的耗时的准确性。
示例性地,如图2B和图2C所示,若服务端包括接入服务221、业务服务222,则确定第一接入时间戳span0.sr表征起始时间戳T21,第一接入时间戳span0.sr表示接入服务221启动调用单元Span、以接收客户端210发送应用请求。
此外,若服务端包括接入服务221、业务服务222,则确定第四接入时间戳span0.ss表征结束时间戳T22,第四接入时间戳span0.ss表示接入服务结束调用单元Span、以向客户端发送应用响应。
那么,服务端执行调用单元Span的耗时△T服务端可如下表示:
△T服务端=span0.ss-span0.sr
步骤1042、基于偏移量计算客户端执行调用单元Span的耗时。
偏移量为客户端所处机器的相对时间,计算偏移量之间差异即可获得服务端执行调用单元的耗时。
在具体实现中,如图2A、图2B、图2C所示,可分别确定起始偏移量span0.cs,以及,确定结束偏移量span0.cr。
其中,起始偏移量span0.cs表示客户端启动调用单元Span的偏移量,结束偏移量span0.cr表示客户端结束调用单元Span的偏移量。
将结束偏移量span0.cr减去起始偏移量span0.cs,获得客户端执行调用单元Span的耗时。
那么,客户端执行调用单元Span的耗时△T客户端可如下表示:
△T客户端=span0.cr-span0.cs
步骤1043、将客户端执行调用单元的耗时减去服务端执行调用单元的耗时,获得客户端与服务端之间网络的耗时。
在客户端与服务端之间的一次交互中,先由客户端执行调用单元Span、发出应用请求,后由服务端执行调用单元Span、响应应用请求执行业务处理从而生成应用响应,并将应用响应返回客户端,客户端接收到应用响应结束调用单元Span。
因此,如图2C所示,客户端执行调用单元Span的耗时△T客户端,代表客户端与服务端之间的一次交互的总耗时,而服务端执行调用单元Span的耗时△T服务端,代表服务端内部的总耗时,将客户端执行调用单元Span的耗时△T客户端减去服务端执行调用单元Span的耗时△T服务端,可以获得客户端与服务端之间网络的耗时△T网络,此时,客户端与服务端之间网络的耗时△T网络可如下表示:
△T网络=△T服务端-△T客户端=(span0.cr-span0.cs)-(span0.ss-span0.sr)
一般情况下,客户端与服务端之间网络的耗时△T网络包括客户端将应用请求发送至服务端的耗时△T上行,以及,服务端将应用响应发送至客户端的耗时△T下行,即,△T网络=△T上行+△T下行,因此,△T网络表示一个RTT(Round Trip Time,往返时延),其中,RTT表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。
步骤1044、将第二时间戳减去偏移量,作为校准后的第一时间戳。
第二时间戳为服务端所处机器的绝对时间,偏移量为客户端所处机器相对于第一时间戳的时间,不依赖客户端所处机器的绝对时间,在第二时间戳的基础上减去偏移量,即在第二时间戳的基础上往前挪移该偏移量,作为校准后的第一时间戳,使得校准后的第一时间戳实现为服务端所处机器的绝对时间。
在服务端所处机器的绝对时间的体系下,服务端记录的第二时间戳是准确的,客户端记录的偏移量也是准确的,两者之间相差客户端与服务端之间网络的耗时,即两者相差一个RTT,因此,校准后的第一时间戳与真实的第一时间戳之间的误差在一个RTT内,降低了第一时间戳的误差。
在校准后的第一时间戳的基础上加上偏移量,则可以得到客户端上执行调用单元Span的第四时间戳,该第四时间戳符合服务端所处机器的绝对时间。
在具体实现中,如图2C所示,可分别确定结束时间戳T22,确定起始偏移量span0.cs,以及,确定结束偏移量span0.cr。
其中,结束时间戳T22表示服务端结束调用单元Span的第二时间戳,起始偏移量span0.cs表示客户端启动调用单元Span的偏移量,结束偏移量span0.cr表示客户端结束调用单元Span的偏移量。
在结束时间戳T22的基础上减去结束偏移量span0.cr,获得校准后的第一时间戳,此时,校准后的第一时间戳T1'可如下表示:
T1'=T22-span0.cr
此外,在校准后的第一时间戳T1'的基础上加上起始偏移量span0.cs,则可以得到客户端启动调用单元Span的第四时间戳,在校准后的第一时间戳的基础上加上结束偏移量span0.cr,则可以得到客户端结束调用单元Span的第四时间戳。
进一步而言,服务端具有不同的架构,在架构内部存在交互,可能记录有多个结束时间戳,此时,可选择最后一个结束时间戳,最后一个结束时间戳的数值在所有结束时间戳的范围最大,用于校准第一时间戳,以保证第一时间戳的准确性。
示例性地,如图2C所示,若服务端包括接入服务、业务服务,则确定第四接入时间戳span0.ss表征结束时间戳,第四接入时间戳表示接入服务结束调用单元Span、以向客户端发送应用响应。
在第四接入时间戳span0.ss的基础上减去结束偏移量span0.cr,获得校准后的第一时间戳,此时,校准后的第一时间戳T1'可如下表示:
T1'=span0.ss-span0.cr
在本发明的另一个实施例中,如图2B所示,服务端包括接入服务221、业务服务222,调用链Trace的耗时还包括接入服务221与业务服务222之间上行网络的耗时、下行网络的耗时。
一方面,可分别确定第二接入时间戳span1.cs,以及,确定第一业务时间戳span1.cr。
其中,第二接入时间戳span1.cs表示接入服务221结束调用单元Span、以向业务服务222发送业务请求,第一业务时间戳span1.cr表示业务服务222启动调用单元Span、以接收接入服务221的业务请求。
将第一业务时间戳span1.cr减去第二接入时间戳span1.cs,获得接入服务221与业务服务222之间上行网络的耗时,即,在服务端的内部网络,接入服务221将应用请求发送至业务服务222的耗时,此时,接入服务221与业务服务222之间上行网络的耗时可如下表示:
span1.cr-span1.cs
另一方面,可分别确定第二业务时间戳span1.ss,以及,确定第三接入时间戳span1.cr。
其中,第二业务时间戳span1.ss表示业务服务222结束调用单元Span、以向接入服务221发送业务响应,第三接入时间戳span1.cr表示接入服务221启动调用单元Span、以接收业务服务222的业务响应。
将第二业务时间戳span1.ss减去第三接入时间戳span1.cr,获得接入服务221与业务服务222之间下行网络的耗时,即,在服务端的内部网络,业务服务222将应用响应发送至接入服务221的耗时,此时,接入服务221与业务服务222之间下行网络的耗时可如下表示:
span1.ss-span1.cr
在本实施例中,确定客户端在启动调用链时记录的第一时间戳,调用链在客户端、服务端上分布有多个链式的调用单元,接收客户端在执行调用单元时记录的、相对于第一时间戳的偏移量,偏移量为客户端对调用单元记录的相对时间,并非客户端所处机器的绝对时间,基于客户端所处机器的硬件,可保证该相对时间的精准性,相对时间不受不同来源的时间服务器、不同网络对绝对时间带来的影响,接收服务端在执行调用单元时记录的第二时间戳,第二时间戳为服务端所处机器的绝对时间,处于同一局域网的机器可以应用时间同步协议保证时间的同步,以第二时间戳作为基础,根据偏移量对调用链的耗时与第一时间戳对进行校准,可将调用链的耗时与第一时间戳对齐服务端所处机器的绝对时间,可以大大减少调用链的耗时与第一时间戳在服务端所处机器的绝对时间下的误差,提高调用链的耗时与第一时间戳的精确度,从而保证分布式追踪系统的正常运行。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
实施例二
图3为本发明实施例二提供的一种时间校准装置的结构框图,具体可以包括如下模块:
第一时间戳确定模块301,用于确定客户端在启动调用链时记录的第一时间戳,所述调用链在所述客户端、服务端上分布有多个链式的调用单元;
偏移量接收模块302,用于接收所述客户端在执行所述调用单元时记录的、相对于所述第一时间戳的偏移量;
第二时间戳接收模块303,用于接收所述服务端在执行所述调用单元时记录的第二时间戳;
时间校准模块304,用于以所述第二时间戳作为基础,根据所述偏移量对所述调用链的耗时与所述第一时间戳对进行校准。
在本发明的一个实施例中,所述偏移量包括起始偏移量、结束偏移量;
所述偏移量接收模块302包括:
起始偏移量接收模块,用于接收所述客户端在启动所述调用单元、以向所述服务端发送应用请求时记录的、相对于所述第一时间戳的起始偏移量;
结束偏移量接收模块,用于接收所述客户端在结束所述调用单元、以接收所述服务端发送的应用响应时记录的、相对于所述第一时间戳的结束偏移量。
在本发明的一个实施例中,所述第二时间戳包括起始时间戳、结束时间戳;
所述第二时间戳接收模块303包括:
起始时间戳接收模块,用于所述服务端在启动所述调用单元、以处理所述客户端的应用请求时记录的起始时间戳;
结束时间戳接收模块,用于接收所述服务端在结束所述调用单元、以处理所述服务端的应用响应时记录的结束时间戳。
在本发明的一个实施例中,所述服务端包括接入服务、业务服务,所述起始时间戳包括第一接入时间戳、第二接入时间戳、第一业务时间戳,所述结束时间戳包括第三接入时间戳、第四接入时间戳、第二业务事件;
所述起始时间戳接收模块包括:
第一接入时间戳接收模块,用于接收所述接入服务在启动所述调用单元、以接收所述客户端的应用请求时记录的第一接入时间戳;
第二接入时间戳接收模块,用于接收所述接入服务在结束所述调用单元、以向所述业务服务发送业务请求时记录的第二接入时间戳,所述业务请求基于所述应用请求生成;
第一业务时间戳接收模块,用于接收所述业务服务在启动所述调用单元、以接收所述接入服务的业务请求时记录的第一业务时间戳;
所述结束时间戳接收模块包括:
第二业务时间戳接收模块,用于接收所述业务服务在结束所述调用单元、以向所述接入服务发送业务响应时记录的第二业务时间戳;
第三接入时间戳接收模块,用于接收所述接入服务在启动所述调用单元、以接收所述业务服务的业务响应时记录的第三接入时间戳;
第四接入时间戳接收模块,用于接收所述接入服务在结束所述调用单元、以向所述客户端发送应用响应时记录的第四接入时间戳,所述应用响应基于所述业务响应生成。
在本发明的一个实施例中,所述调用链的耗时包括所述客户端与所述服务端之间网络的耗时;
所述时间校准模块304包括:
服务端耗时计算模块,用于基于所述第二时间戳计算所述服务端执行所述调用单元的耗时;
客户端耗时计算模块,用于基于所述偏移量计算所述客户端执行所述调用单元的耗时;
网络耗时计算模块,用于将所述客户端执行所述调用单元的耗时减去所述服务端执行所述调用单元的耗时,获得所述客户端与所述服务端之间网络的耗时;
时间偏移模块,用于将所述第二时间戳减去所述偏移量,作为校准后的所述第一时间戳。
在本发明的一个实施例中,所述服务端耗时计算模块包括:
起始时间戳确定模块,用于确定起始时间戳,所述起始时间戳表示所述服务端启动所述调用单元的第二时间戳;
结束时间戳确定模块,用于确定结束时间戳,所述结束时间戳表示所述服务端结束所述调用单元的第二时间戳;
时间戳相减模块,用于将所述结束时间戳减去所述起始时间戳,获得所述服务端执行所述调用单元的耗时。
在本发明的一个实施例中,所述客户端耗时计算模块包括:
起始偏移量确定模块,用于确定起始偏移量,所述起始偏移量表示所述客户端启动所述调用单元的偏移量;
结束偏移量确定模块,用于确定结束偏移量,所述结束偏移量表示所述客户端结束所述调用单元的偏移量;
偏移量相减模块,用于将所述结束偏移量减去所述起始偏移量,获得所述客户端执行所述调用单元的耗时。
在本发明的一个实施例中,所述时间偏移模块包括:
结束时间戳确定模块,用于确定结束时间戳,所述结束时间戳表示所述服务端结束所述调用单元的第二时间戳;
结束偏移量确定模块,用于确定结束偏移量,所述结束偏移量表示所述客户端结束所述调用单元的偏移量;
时间戳偏移模块,用于在所述结束时间戳的基础上减去所述结束偏移量,获得校准后的所述第一时间戳。
在本发明的一个实施例中,所述起始时间戳确定模块包括:
第一时间戳表征模块,用于若所述服务端包括接入服务、业务服务,则确定第一接入时间戳表征起始时间戳,所述第一接入时间戳表示所述接入服务启动所述调用单元、以接收所述客户端发送应用请求。
在本发明的一个实施例中,所述结束时间戳确定模块包括:
第二时间戳表征模块,用于若所述服务端包括接入服务、业务服务,则确定第四接入时间戳表征结束时间戳,所述第四接入时间戳表示所述接入服务结束所述调用单元、以向所述客户端发送应用响应。
在本发明的一个实施例中,所述服务端包括接入服务、业务服务,所述调用链的耗时还包括所述接入服务与所述业务服务之间上行网络的耗时、下行网络的耗时;
所述时间校准模块304还包括:
第二接入时间戳确定模块,用于确定第二接入时间戳,所述第二接入时间戳表示所述接入服务结束所述调用单元、以向所述业务服务发送业务请求;
第一业务时间戳确定模块,用于确定第一业务时间戳,所述第一业务时间戳表示所述业务服务启动所述调用单元、以接收所述接入服务的业务请求;
上行网络耗时计算模块,用于将所述第一业务时间戳减去所述第二接入时间戳,获得所述接入服务与所述业务服务之间上行网络的耗时;
第二业务时间戳确定模块,用于确定第二业务时间戳,所述第二业务时间戳表示所述业务服务结束所述调用单元、以向所述接入服务发送业务响应;
第三接入时间戳确定模块,用于确定第三接入时间戳,所述第三接入时间戳表示所述接入服务启动所述调用单元、以接收所述业务服务的业务响应;
下行网络耗时计算模块,用于将所述第二业务时间戳减去所述第三接入时间戳,获得所述接入服务与所述业务服务之间下行网络的耗时。
本发明实施例所提供的时间校准装置可执行本发明任意实施例所提供的时间校准方法,具备执行方法相应的功能模块和有益效果。
实施例三
图4为本发明实施例三提供的一种计算机设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图4显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的时间校准方法。
实施例四
本发明实施例四还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述时间校准方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (13)
1.一种时间校准方法,其特征在于,包括:
确定客户端在启动调用链时记录的第一时间戳,所述调用链在所述客户端、服务端上分布有多个链式的调用单元;
接收所述客户端在执行所述调用单元时记录的、相对于所述第一时间戳的偏移量;
接收所述服务端在执行所述调用单元时记录的第二时间戳;
以所述第二时间戳作为基础,根据所述偏移量对所述调用链的耗时与所述第一时间戳对进行校准。
2.根据权利要求1所述的方法,其特征在于,所述偏移量包括起始偏移量、结束偏移量;
所述接收所述客户端在执行所述调用单元时记录的、相对于所述第一时间戳的偏移量,包括:
接收所述客户端在启动所述调用单元、以向所述服务端发送应用请求时记录的、相对于所述第一时间戳的起始偏移量;
接收所述客户端在结束所述调用单元、以接收所述服务端发送的应用响应时记录的、相对于所述第一时间戳的结束偏移量。
3.根据权利要求1所述的方法,其特征在于,所述第二时间戳包括起始时间戳、结束时间戳;
所述接收所述服务端在执行所述调用单元时记录的第二时间戳,包括:
接收所述服务端在启动所述调用单元、以处理所述客户端的应用请求时记录的起始时间戳;
接收所述服务端在结束所述调用单元、以处理所述服务端的应用响应时记录的结束时间戳。
4.根据权利要求3所述的方法,其特征在于,所述服务端包括接入服务、业务服务,所述起始时间戳包括第一接入时间戳、第二接入时间戳、第一业务时间戳,所述结束时间戳包括第三接入时间戳、第四接入时间戳、第二业务事件;
所述接收所述服务端在启动所述调用单元、以处理所述客户端的应用请求时记录的起始时间戳,包括:
接收所述接入服务在启动所述调用单元、以接收所述客户端的应用请求时记录的第一接入时间戳;
接收所述接入服务在结束所述调用单元、以向所述业务服务发送业务请求时记录的第二接入时间戳,所述业务请求基于所述应用请求生成;
接收所述业务服务在启动所述调用单元、以接收所述接入服务的业务请求时记录的第一业务时间戳;
所述接收所述服务端在结束所述调用单元、以处理所述服务端的应用响应时记录的结束时间戳,包括:
接收所述业务服务在结束所述调用单元、以向所述接入服务发送业务响应时记录的第二业务时间戳;
接收所述接入服务在启动所述调用单元、以接收所述业务服务的业务响应时记录的第三接入时间戳;
接收所述接入服务在结束所述调用单元、以向所述客户端发送应用响应时记录的第四接入时间戳,所述应用响应基于所述业务响应生成。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述调用链的耗时包括所述客户端与所述服务端之间网络的耗时;
所述以所述第二时间戳作为基础,根据所述偏移量对所述调用链的耗时与所述第一时间戳对进行校准,包括:
基于所述第二时间戳计算所述服务端执行所述调用单元的耗时;
基于所述偏移量计算所述客户端执行所述调用单元的耗时;
将所述客户端执行所述调用单元的耗时减去所述服务端执行所述调用单元的耗时,获得所述客户端与所述服务端之间网络的耗时;
将所述第二时间戳减去所述偏移量,作为校准后的所述第一时间戳。
6.根据权利要求5所述的方法,其特征在于,所述基于所述第二时间戳计算所述服务端执行所述调用单元的耗时,包括:
确定起始时间戳,所述起始时间戳表示所述服务端启动所述调用单元的第二时间戳;
确定结束时间戳,所述结束时间戳表示所述服务端结束所述调用单元的第二时间戳;
将所述结束时间戳减去所述起始时间戳,获得所述服务端执行所述调用单元的耗时;
所述基于所述偏移量计算所述客户端执行所述调用单元的耗时,包括:
确定起始偏移量,所述起始偏移量表示所述客户端启动所述调用单元的偏移量;
确定结束偏移量,所述结束偏移量表示所述客户端结束所述调用单元的偏移量;
将所述结束偏移量减去所述起始偏移量,获得所述客户端执行所述调用单元的耗时。
7.根据权利要求5所述的方法,其特征在于,所述将所述第二时间戳减去所述偏移量,作为校准后的所述第一时间戳,包括:
确定结束时间戳,所述结束时间戳表示所述服务端结束所述调用单元的第二时间戳;
确定结束偏移量,所述结束偏移量表示所述客户端结束所述调用单元的偏移量;
在所述结束时间戳的基础上减去所述结束偏移量,获得校准后的所述第一时间戳。
8.根据权利要求6所述的方法,其特征在于,所述确定起始时间戳,包括:
若所述服务端包括接入服务、业务服务,则确定第一接入时间戳表征起始时间戳,所述第一接入时间戳表示所述接入服务启动所述调用单元、以接收所述客户端发送应用请求。
9.根据权利要求6或7所述的方法,其特征在于,所述确定结束时间戳,包括:
若所述服务端包括接入服务、业务服务,则确定第四接入时间戳表征结束时间戳,所述第四接入时间戳表示所述接入服务结束所述调用单元、以向所述客户端发送应用响应。
10.根据权利要求5所述的方法,其特征在于,所述服务端包括接入服务、业务服务,所述调用链的耗时还包括所述接入服务与所述业务服务之间上行网络的耗时、下行网络的耗时;
所述以所述第二时间戳作为基础,根据所述偏移量对所述调用链的耗时与所述第一时间戳对进行校准,还包括:
确定第二接入时间戳,所述第二接入时间戳表示所述接入服务结束所述调用单元、以向所述业务服务发送业务请求;
确定第一业务时间戳,所述第一业务时间戳表示所述业务服务启动所述调用单元、以接收所述接入服务的业务请求;
将所述第一业务时间戳减去所述第二接入时间戳,获得所述接入服务与所述业务服务之间上行网络的耗时;
确定第二业务时间戳,所述第二业务时间戳表示所述业务服务结束所述调用单元、以向所述接入服务发送业务响应;
确定第三接入时间戳,所述第三接入时间戳表示所述接入服务启动所述调用单元、以接收所述业务服务的业务响应;
将所述第二业务时间戳减去所述第三接入时间戳,获得所述接入服务与所述业务服务之间下行网络的耗时。
11.一种时间校准装置,其特征在于,包括:
第一时间戳确定模块,用于确定客户端在启动调用链时记录的第一时间戳,所述调用链在所述客户端、服务端上分布有多个链式的调用单元;
偏移量接收模块,用于接收所述客户端在执行所述调用单元时记录的、相对于所述第一时间戳的偏移量;
第二时间戳接收模块,用于接收所述服务端在执行所述调用单元时记录的第二时间戳;
时间校准模块,用于以所述第二时间戳作为基础,根据所述偏移量对所述调用链的耗时与所述第一时间戳对进行校准。
12.一种计算机设备,其特征在于,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一项所述的时间校准方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1-10中任一项所述的时间校准方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110240980.2A CN112968747B (zh) | 2021-03-04 | 2021-03-04 | 一种时间校准方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110240980.2A CN112968747B (zh) | 2021-03-04 | 2021-03-04 | 一种时间校准方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112968747A true CN112968747A (zh) | 2021-06-15 |
CN112968747B CN112968747B (zh) | 2022-09-23 |
Family
ID=76276492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110240980.2A Active CN112968747B (zh) | 2021-03-04 | 2021-03-04 | 一种时间校准方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112968747B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116560709A (zh) * | 2023-07-06 | 2023-08-08 | 江苏博云科技股份有限公司 | 基于软件运行时架构的守护方法、系统、设备及存储介质 |
CN116775440A (zh) * | 2023-08-21 | 2023-09-19 | 青岛民航凯亚系统集成有限公司 | 一种基于机场生产运营系统的日志级链路追踪方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6457041B1 (en) * | 1999-02-19 | 2002-09-24 | International Business Machines Corporation | Client-server transaction data processing system with optimum selection of last agent |
CN102821114A (zh) * | 2011-06-07 | 2012-12-12 | 南京中兴新软件有限责任公司 | 分布式存储系统及其时间戳的实现方法 |
US20140068315A1 (en) * | 2012-09-05 | 2014-03-06 | Khalifa University of Science, Technology, and Research | Method and system for clock offset and skew estimation |
CN103929293A (zh) * | 2013-01-15 | 2014-07-16 | 电子科技大学 | 非对称延迟的时间同步方法及系统 |
US20150200863A1 (en) * | 2012-10-24 | 2015-07-16 | Google Inc. | System and method for updating timestamps in log data |
EP3068076A1 (en) * | 2015-03-10 | 2016-09-14 | Alcatel Lucent | Automatic determination of asymmetrical delay in transmission networks |
US20170123933A1 (en) * | 2015-10-29 | 2017-05-04 | The Boeing Company | System and method for distributing file system changes to remotely located file replicas |
CN109379160A (zh) * | 2018-12-30 | 2019-02-22 | 广东大普通信技术有限公司 | 一种时钟校准服务器及方法 |
US20190155327A1 (en) * | 2017-11-21 | 2019-05-23 | Western Digital Technologies, Inc. | System and Method for Time Stamp Synchronization |
US20190379612A1 (en) * | 2018-06-06 | 2019-12-12 | Sap Se | Network multi-tenancy for cloud based enterprise resource planning solutions |
-
2021
- 2021-03-04 CN CN202110240980.2A patent/CN112968747B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6457041B1 (en) * | 1999-02-19 | 2002-09-24 | International Business Machines Corporation | Client-server transaction data processing system with optimum selection of last agent |
CN102821114A (zh) * | 2011-06-07 | 2012-12-12 | 南京中兴新软件有限责任公司 | 分布式存储系统及其时间戳的实现方法 |
US20140068315A1 (en) * | 2012-09-05 | 2014-03-06 | Khalifa University of Science, Technology, and Research | Method and system for clock offset and skew estimation |
US20150200863A1 (en) * | 2012-10-24 | 2015-07-16 | Google Inc. | System and method for updating timestamps in log data |
CN103929293A (zh) * | 2013-01-15 | 2014-07-16 | 电子科技大学 | 非对称延迟的时间同步方法及系统 |
EP3068076A1 (en) * | 2015-03-10 | 2016-09-14 | Alcatel Lucent | Automatic determination of asymmetrical delay in transmission networks |
US20170123933A1 (en) * | 2015-10-29 | 2017-05-04 | The Boeing Company | System and method for distributing file system changes to remotely located file replicas |
US20190155327A1 (en) * | 2017-11-21 | 2019-05-23 | Western Digital Technologies, Inc. | System and Method for Time Stamp Synchronization |
US20190379612A1 (en) * | 2018-06-06 | 2019-12-12 | Sap Se | Network multi-tenancy for cloud based enterprise resource planning solutions |
CN109379160A (zh) * | 2018-12-30 | 2019-02-22 | 广东大普通信技术有限公司 | 一种时钟校准服务器及方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116560709A (zh) * | 2023-07-06 | 2023-08-08 | 江苏博云科技股份有限公司 | 基于软件运行时架构的守护方法、系统、设备及存储介质 |
CN116775440A (zh) * | 2023-08-21 | 2023-09-19 | 青岛民航凯亚系统集成有限公司 | 一种基于机场生产运营系统的日志级链路追踪方法及系统 |
CN116775440B (zh) * | 2023-08-21 | 2023-12-01 | 青岛民航凯亚系统集成有限公司 | 一种基于机场生产运营系统的日志级链路追踪方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112968747B (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106856434B (zh) | 访问请求转换的方法和装置 | |
US9229832B2 (en) | Time monitor | |
CN112968747B (zh) | 一种时间校准方法、装置、计算机设备和存储介质 | |
CN110750592B (zh) | 数据同步的方法、装置和终端设备 | |
CN112787877B (zh) | 一种网络时延检测方法及相关设备 | |
CN112306881A (zh) | 模拟数据生成方法、装置、设备及存储介质 | |
CN109889922B (zh) | 流媒体数据的转发方法、装置、设备和存储介质 | |
CN116627849B (zh) | 系统测试方法、装置、设备及存储介质 | |
CN112084102A (zh) | 接口压力测试的方法和装置 | |
CN110838885B (zh) | 系统时间同步方法以及相关装置 | |
US7587449B2 (en) | Method and system for calculating performance metrics using backchannel messaging and information pattern matching | |
CN111352821A (zh) | 业务测试方法、装置、电子设备和计算机可读存储介质 | |
CN111327680A (zh) | 认证数据同步方法、装置、系统、计算机设备和存储介质 | |
US7962799B2 (en) | System and method for synchronizing test runs on separate systems | |
CN113179295B (zh) | 报文处理方法及装置 | |
CN112948195B (zh) | 接口测试的方法、装置、电子设备和存储介质 | |
CN114416420A (zh) | 设备问题反馈方法和系统 | |
CN115297364B (zh) | 一种云游戏视频传输时延的确定方法、系统及电子设备 | |
CN116709397A (zh) | 通信方法及装置、电子设备及存储介质 | |
CN117130933A (zh) | 一种挡板服务方法、系统、设备和存储介质 | |
US11271838B2 (en) | Timing synchronization | |
CN112651216A (zh) | 一种图表创建方法和相关装置 | |
CN114124754A (zh) | 用于处理多媒体网络中媒体数据包的方法及其相关产品 | |
CN117640459A (zh) | 时延测量方法及装置、设备、计算机可读存储介质 | |
CN117271335A (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 |