CN116668338A - 时延检测方法、装置、设备以及存储介质 - Google Patents

时延检测方法、装置、设备以及存储介质 Download PDF

Info

Publication number
CN116668338A
CN116668338A CN202310596043.XA CN202310596043A CN116668338A CN 116668338 A CN116668338 A CN 116668338A CN 202310596043 A CN202310596043 A CN 202310596043A CN 116668338 A CN116668338 A CN 116668338A
Authority
CN
China
Prior art keywords
time
delay
node
data
link
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
Application number
CN202310596043.XA
Other languages
English (en)
Inventor
代鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202310596043.XA priority Critical patent/CN116668338A/zh
Publication of CN116668338A publication Critical patent/CN116668338A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开提供了时延检测方法、装置、设备以及存储介质,涉及计算机技术领域,尤其涉及时间同步和智能驾驶技术领域。具体实现方案为:获取数据在第一节点的发送时间、在第二节点的第一接收时间以及在第三节点的第二接收时间;根据该发送时间、该第一接收时间、该第二接收时间以及参考链路时延中的一项或多项,得到时延检测结果;其中,该参考链路时延是基于时间同步协议确定的。基于数据在传输过程中所经过的多个节点上发送时间、接收时间和参考链路时延的一项或多项,能够更准确地检测在数据传输过程中出现的时延。

Description

时延检测方法、装置、设备以及存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及时间同步和智能驾驶技术领域。
背景技术
在时间敏感型网络中,数据传输需要满足一定的时间要求。例如,在智能辅助驾驶系统中,传感器扫描后生成的数据需要满足自动驾驶系统的时间要求,否则可能导致退出驾驶辅助系统。但在自动驾驶等网络中,当出现延时问题时,很难确定导致时延的原因。
发明内容
本公开提供了一种时延检测方法、装置、设备以及存储介质。
根据本公开的一方面,提供了一种时延检测方法,包括:
获取数据在第一节点的发送时间、在第二节点的第一接收时间以及在第三节点的第二接收时间;
根据该发送时间、该第一接收时间、该第二接收时间以及参考链路时延中的一项或多项,得到时延检测结果;其中,该参考链路时延是基于时间同步协议确定的。
根据本公开的另一方面,提供了一种时延检测装置,包括:
第一获取模块,用于获取数据在第一节点的发送时间、在第二节点的第一接收时间以及在第三节点的第二接收时间;
检测模块,用于根据该发送时间、该第一接收时间、该第二接收时间以及参考链路时延中的一项或多项,得到时延检测结果;其中,该参考链路时延是基于时间同步协议确定的。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开实施例中任一的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使该计算机执行根据本公开实施例中任一的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现根据本公开实施例中任一的方法。
在本公开实施例中,基于数据在传输过程中所经过的多个节点上发送时间、接收时间和参考链路时延的一项或多项,能够更准确地检测在数据传输过程中出现的时延。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开一实施例的时延检测方法的流程示意图;
图2是根据本公开另一实施例的时延检测方法的流程示意图;
图3是根据本公开另一实施例的时延检测方法的流程示意图;
图4是根据本公开的使用时间同步协议计算时延的示意图;
图5是根据本公开的一种时延检测方法示例的示意图;
图6是根据本公开的另一种时延检测方法示例的示意图;
图7是根据本公开一实施例的时延检测装置的结构示意图;
图8是根据本公开另一实施例的时延检测装置的结构示意图;
图9是用来实现本公开实施例的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本公开一实施例的时延检测方法的流程示意图,该方法包括:
S101、获取数据在第一节点的发送时间、在第二节点的第一接收时间以及在第三节点的第二接收时间;
S102、根据该发送时间、该第一接收时间、该第二接收时间以及参考链路时延中的一项或多项,得到时延检测结果;其中,该参考链路时延是基于时间同步协议确定的。
本公开实施例中,第一节点可以为数据的发送节点,能够记录数据的发送时间。第一节点可以发送自身采集的数据,并告知接收方发送数据的时间。一种方式中,第一节点可以在需要发送的数据中加上时间戳,与该数据一起发送。另一种方式中,第一节点可以在发送数据时,记录时间戳,随后再发一条信息告知接收方上一数据的发送时间。第一节点和第二节点之间可以直接通信,也可以通过其他设备转发通信。第二节点可以为数据的转发节点,第二节点可以对数据进行简单处理,也可以将数据透传。第二节点可以为一个,也可以为多个。如果存在多个第二节点,可以在收到数据的每个第二节点上记录收到该数据的第一接收时间。这种情况下,可能获取多个第一接收时间。第三节点可以为数据的处理节点,在第三节点可以记录收到该数据的第二接收时间。
在本公开实施例中,基于数据在传输过程中所经过的多个节点上发送时间、接收时间和参考链路时延的一项或多项,能够更准确地检测在数据传输过程中出现的时延。
上述传感器数据仅是示例,而非限制。本申请实施例中的数据可以包括多种类型,例如传感器数据、时间同步数据、车辆控制数据、设备状态数据等。
在一些示例中,控制设备可以基于时间同步协议获取发送时间、第一接收时间和第二接收时间。时间同步协议可以包括精确时间协议(Precision Time Protocol,PTP)、通用精确时间(generalized Precision Time Protocol,gPTP)协议和网络时间协议(Network Time Protocol,NTP)等。
在一种实施方式中,该第一节点包括传感器,该第二节点和该第三节点在同一控制设备中,该第二节点包括网络接口控制器,该第三节点包括该传感器的应用。
例如在车辆驾驶场景中,第一节点可以包括车身上设置的雷达、摄像头、温度传感器等传感器。以激光雷达为例,激光雷达扫描一圈后可以生成一帧数据,然后继续进行第二次扫描生成下一帧数据。激光雷达可以发送生成的每一帧数据。第二节点和第三节点可以在一个控制设备例如车辆控制器或车辆中控中。第二节点可以为控制设备中的网络接口控制器(也可以称为网卡),也可以为其他设备例如接收器等。第三节点可以为传感器的应用例如传感器的驱动程序、传感器的数据处理程序等。该示例中,车辆驾驶场景可以为自动驾驶场景,也可以为普通驾驶场景。除了车辆驾驶场景外,本申请实施例也可以应用于其他场景,例如智能家居等能够对传感器数据进行传输和处理的场景。
本公开实施例中,可以根据传感器的发送时间、网络接口控制器的第一接收时间、传感器的应用第二接收时间,以及使用时间同步协议得到的参考链路时延,能够从多个方面经过计算与比较后得到时延检测结果。例如,时延检测结果可以包括时延出现的位置和/或导致时延出现的原因。既可以比较单帧数据的传输时延,得到单帧数据在传输过程中的抖动或故障等检测结果,也可以比较多帧数据的传输时延,得到多帧数据在传输过程中的抖动或故障等检测结果。
根据本公开实施例,可以通过传感器数据在传输过程中所经过的多个节点的发送时间、接收时间以及基于时间同步协议的参考链路时延,有利于精确定位在数据传输过程中出现故障或抖动的原因。进一步地,可以生成相应的提示信息和/或日志信息,便于快速定位出现故障的位置和/或原因,有效判定时延的来源。
图2是根据本公开另一实施例的时延检测方法的流程示意图,该方法可以包括上述时延检测方法的一个或多个特征,在一种实施方式中,S101获取数据在第一节点的发送时间、在第二节点的第一接收时间以及在第三节点的第二接收时间,包括:
S201、接收来自该第一节点的第一数据,并获取该第一数据对应的发送时间;
S202、记录该第二节点收到来自该第一节点的该第一数据的第一接收时间;以及
S203、记录该第三节点收到该第二节点转发的该第一数据的第二接收时间。
本公开实施例中,第一节点可以按照固定频率记录和发送数据。例如,传感器检测到环境相关的数据,并在准备发送数据时记录设备当前的发送时间,将发送时间和环境相关的数据打包为第一数据并发出,也可以将环境相关的数据作为第一数据发出,并通过其他信息发送第一数据的发送时间。第二节点收到来自第一节点的第一数据时,可以记录第二节点或第二节点所在的控制设备当前的第一接收时间,并将第一数据转发至第三节点。第三节点收到第一数据时,可以记录第三节点或第三节点所在的控制设备当前的第二接收时间。控制设备可以获取该数据的发送时间、第一接收时间和第二接收时间。
根据本公开实施例,可以记录数据的传输过程中所经过的多个节点的发送时间、一个或多个接收时间,便于后续基于数据的发送时间、一个或多个接收时间得到准确的时延检测结果,例如准确地判定出现时延的节点、链路、原因等。
图3是根据本公开另一实施例的时延检测方法的流程示意图,该方法可以包括上述时延检测方法的一个或多个特征。在一种实施方式中,该方法还包括:获取该第一节点和第二节点间的参考链路时延。第一节点和第二节点间的参考链路时延也可以理解为第一节点和第二节点所在的控制设备间的参考链路时延。
本公开实施例中,如果将第二节点或第二节点所在的设备作为主时钟设备,将第一节点作为从时钟设备,可以基于时间同步协议得到数据在第一节点和第二节点之间传输的时间间隔,即参考链路时延。例如,可以使用时间同步协议例如PTP、gPTP等,得到参考链路时延。
根据本公开实施例,可以使用时间同步协议得到参考链路时延,为后续准确地判定导致时延的故障或抖动出现位置、原因等提供参考。
在一种实施方式中,获取该第一节点和第二节点间的参考链路时延,包括:
S301、向该第一节点发送时延请求报文,并记录发送该时延请求报文的第一时间;
S302、接收该第一节点发送的时延响应报文,该时延响应报文中包括该第一节点收到该时延请求报文的第二时间;其中,该时延响应报文用于触发该第一节点记录发送该时延响应报文的第三时间以及触发记录收到该时延响应报文的第四时间;
S303、接收该第一节点发送的时延响应跟随报文,该时延响应跟随报文中包括该第三时间;
S304、根据该第一时间、该第二时间、该第三时间和该第四时间,得到该参考链路时延。
本公开实施例中,可以基于任意一种时间同步协议确定参考链路时延。以gPTP为例,gPTP中包括多种与时间同步相关的报文。这些报文的接收和发送可以触发媒体接入控制(Medium Access Control,MAC)层对本地时钟进行采样。例如,如图4所示,控制设备内部设置有第一节点例如网卡。控制设备可以作为主时钟设备向第一节点例如传感器发送时延请求报文(Pdelay_req)。时延请求报文可以是控制设备按照固定频率向第一节点发送的。时延请求报文离开控制设备MAC层时,控制设备可以利用本地时钟捕获第一时间(t1)。并且,在时延请求报文到达控制设备的MAC层时,可以捕获第二时间(t2)。第一节点可以根据收到的时延请求报文生成并向控制设备发送时延响应报文(Pdelay_Resp),通过时延响应报文可以携带第二时间,以将第二时间传递给控制设备。并且,时延响应报文可以触发第一节点捕获第三时间(t3)以及控制设备捕获第四时间(t4)。第三时间可以是第一节点发送时延响应报文的时刻,第四时间可以是控制设备收到时延响应报文的时刻。
然后,第一节点还可以通过时延响应跟随报文(Pdelay_Resp_Follow_Up)携带第三时间。控制设备收到时延响应跟随报文后,可以记录第四时间(t4)。控制设备可以根据获取第一时间、第二时间、第三时间、第四时间计算出参考链路时延。一种计算参考链路时延的公式的示例如下:
在上述示例中,基于时间同步协议得到的参考链路时延可以理解为数据在一条链路上传输所需的相对准确的时延。
根据本公开实施例,可以通过时间同步协议中的时延请求报文、时延响应报文和时延响应跟随报文,得到精确的链路时延作为参考链路时延,为后续准确地判定导致时延的故障或抖动出现位置、原因等提供参考。
在一种实施方式中,根据该发送时间、该第一接收时间、该第二接收时间以及参考链路时延中的一项或多项,得到时延检测结果,可以包括以下方式一到方式四的一种或者多种。
方式一:根据相邻帧的数据的发送时间,得到该相邻帧的数据的发送间隔;根据该相邻帧的数据的发送间隔得到时延检测结果。
本公开实施例中,第一节点在固定频率下,连续发送的两帧数据是相邻帧数的数据。例如,第一节点发送第一帧数据时,可以记录第一帧数据的发送时间。如果第一帧数据中携带该发送时间,则控制设备收到第一帧数据后,可以解析得到第一帧数据的发送时间。控制设备可以在第二节点、第三节点或其他模块解析得到发送时间,在本申请实施例中不做限制。类似地,控制设备还可以得到第一帧数据的下一帧数据的发送时间。接着,可以计算两帧的发送时间的差值,得到相邻的两帧的数据的实际发送间隔。将实际发送间隔与预设的发送间隔相比,即可得到相邻帧的数据时延检测结果,从而准确地确定时延是否与第一节点有关。
在一种实施方式中,每帧数据的发送时间可以是整点对齐的。
在本公开实施例中,第一节点的每帧数据的发送时间可以是整点对齐的,也即按照整数的发送间隔进行发送。例如,第一节点可以根据固定频率的预设的发送间隔。例如,固定频率为10Hz,则预设发送间隔为100ms。固定频率为20Hz,则预设发送间隔为50ms。通过整点对齐,可以使得数据的发送频率稳定,发送时间具有固定间隔,能够提高数据传输的准确性,提高后数据处理的效率。
在一种实施方式中,在该相邻帧的数据的发送间隔大于发送间隔阈值的情况下,该时延检测结果包括时延位置为第一节点和/或时延原因为第一节点故障或发送抖动大。
本公开实施例中,可以基于预设发送间隔设置发送间隔阈值。例如,发送间隔阈值等于预设发送间隔,或等于预设发送间隔加上一个较小的时长。如果相邻帧实际的发送间隔大于发送间隔阈值,可以表示第一节点可能没有按照预设的固定频率工作。这种情况下,可以判定出现时延的主要位置(可以简称时延位置)可以包括第一节点。导致时延的具体原因(可以简称时延原因)可能是第一节点故障,也可能是第一节点发送相邻帧数据时没有按照预设的固定频率发送,因此发送抖动过大。
本公开实施例中,也可以通过多个相邻帧的数据的发送间隔得到时延检测结果,在检测时分别计算每两帧的数据的发送间隔。然后计算平均的发送间隔并与发送间隔阈值比较。或分别将每两帧的数据的发送间隔与发送间隔阈值比较,统计超出发送间隔阈值的次数。通过相邻帧的数据的发送间隔与阈值进行比较,能够更加准确地判定时延是否与第一节点有关。
方式二:根据一帧或多帧数据的参考链路时延,得到时延检测结果。
本公开实施例中,不同帧数据的参考链路时延可以相同也可以不同。控制设备可以每间隔一定时间获取一个参考链路时延,也可以针对每一帧数据计算出单参考链路时延。也即是说,一帧数据可以对应一个参考链路时延。相邻两帧或多帧数据也可以对应一个参考链路时延。如果一帧或多帧数据的参考链路时延过大,时延可能与链路有关。通过一帧或多帧数据的参考链路时延,可以准确地判定时延是否与链路有关。
在一种实施方式中,在一帧或多帧数据的参考链路时延大于链路时延阈值的情况下,该时延检测结果包括时延位置为第一节点和第二节点之间的第一链路和/或时延原因为该第一链路的传输时延大。
本公开实施例中,链路时延阈值可以是预设值、经验值、或者是基于时间同步协议多次测量的参考链路时延的平均值设置的。当参考链路时延大于链路时延阈值时,表示当前第一节点和第二节点间的传输链路可能不够通畅,链路的数据传输速度过慢。这种情况下,可以判定时延位置为第一节点和第二节点之间的第一链路,时延原因为第一链路的传输时延过大。通过一帧或多帧数据的参考链路时延,可以准确地判定时延出现的位置是否在第一链路,出现时延的原因是否与第一链路的传输过程有关。
本公开实施例中,第一节点和第二节点间可以存在一个或多个其他节点,也可以不存在其他节点。如果第一节点和第二节点之间存在其他的中间节点,第一链路上可以包括从第一节点经过其他的中间节点例如交换机到第二节点之间的链路。
方式三:根据一帧或多帧数据的发送时间和第一接收时间,得到该一帧或多帧数据的实际链路时延;根据该一帧或多帧数据的实际链路时延和参考链路时延,得到时延检测结果。
本公开实施例中,可以记录一帧数据的发送时间为T,第一接收时间为T’,一帧数据的实际链路时延为T与T’的差值。控制设备可以比较单帧或多帧数据的实际链路时延和参考链路时延的大小关系。其中,多帧数据的实际链路时延可以平均后与参考链路时延进行比较,确定实际链路时延是否超出参考链路时延。多帧数据的实际链路时延也可以分别与参考链路时延进行,比较再统计超出参考链路时延的次数或连续帧数等。通过可以比较单帧或多帧数据的实际链路时延和参考链路时延,可以准确地确定时延是否与第一节点的发送时间的抖动有关。
在一种实施方式中,在该一帧或多帧数据的实际链路时延大于参考链路时延的情况下,该时延检测结果包括时延位置为第一节点和/或时延原因为从该第一节点记录的发送时间到实际的发送时间存在时延抖动;或者,该时延检测结果包括时延位置为第一链路和/或时延原因为该第一链路异常。
本公开实施例中,当实际链路时延大于参考链路时延时,可以表示数据实际的发送时间,与第一节点记录的发送时间可以存在较大差异。例如,第一节点记录的发送时间为8:00,实际的发送时间是8:01。第一接收时间为8:04。计算出的实际链路时延为4s,但是参考链路时延为3s。在该示例中,为了便于理解以秒为单位进行举例,实际数据传输中可能传输时间更短,例如几十毫秒或几百毫秒等。如果从第一节点传输到第二节点实际花费的时间多于第一节点到第二节点间的参考时间。本公开实施例中,可以通过比较数据在第一链路的实际链路时延和参考链路时延,可以准确地判定时延位置是否与第一节点有关,时延原因是否与第一节点的发送时间抖动有关。
在一种实施方式中,在该一帧或多帧数据的实际链路时延大于参考链路时延的情况下,该时延检测结果包括时延位置为第一链路和/或时延原因为第一链路异常。这种情况下,时延位置也可能与第一链路有关例如第一链路异常导致一帧数据的实际传输时间过长。
方式四:根据一帧或多帧数据的第一接收时间和第二接收时间,得到该一帧或多帧数据的处理时延;根据该一帧或多帧数据的处理时延得到时延检测结果。
本公开实施例中,第二节点在从接收到数据到转发数据至第三节点的过程中,可能需要一些的操作。例如,网卡可能进行帧的解封和封装,然后再发出数据。第三节点在从接收到数据到记录第二接收时间的过程中,可能需要执行一些处理操作。例如,驱动程序可能需要解析收到的数据帧后再记录第二接收时间。第一接收时间和第二接收时间的差值,可以表示处理时延。基于一帧或多帧数据的实际处理时延,可以准确地得到数据的时延是否与处理时延有关。
在一种实施方式中,在该一帧或多帧数据的处理时延大于处理时延阈值的情况下,该时延检测结果包括时延位置为第二节点和/或该时延原因为该第二节点的处理耗时大;或者时延位置为第三节点和/或该时延原因为该第三节点的处理耗时大。
本公开实施例中,基于预设处理时延可以设置处理时延阈值。当基于第二接收时间与第一接收时间的差值可以得到实际的处理时延。如果实际的处理时延大于处理时延阈值,可以表示数据在第二节点和/或第三节点中的处理时间较长。由于第二节点和第三节点可以设置在同一控制设备中,也可以将时延位置确定为控制设备,时延原因确定为控制设备的处理耗时大。
本公开实施例中,通过比较处理时延和阈值的关系可以更加准确地判定数据的时延是否与数据处理过程的耗时有关。
在一种应用场景中,在自动驾驶网络中,如果出现延时问题,很难界定数据的时延是由于器件本身的不稳定导致的时延,是链路时延,还是接收端程序的抖动导致的时延。
一种实现方案包括:在软件接收模块出对传感器数据打时间戳并与传感器数据中的时间信息做比对,根据差值结果来判定传感器是否满足时间要求。
传感器器件的一种技术要求包括两帧之间的间隔是固定时间,不能有较大的偏差。以激光雷达举例,激光雷达扫描一圈后会生成一帧数据,然后继续进行第二次扫描生成下一帧数据,任意两帧的数据需要保证时间差一致。应用软件会在报文接收入口记录所有接收到的报文的时间戳,通过比对相邻两帧首包的时间差值来确认传感器数据是否存在时延问题。通过该方法能够检测到时延过大问题。
如图5所示,两帧报文、即帧1(Frame1)和帧2(Frame2)的发送时间分别为T1和T2,应用软件收到两帧报文的时间分别为T1’和T2’。应用软件收到两帧报文的时间间隔等于T2’-T1’。公式示例如下:
T1’=T1+Link_delay1+handle_delay1;
T2’=T2+Link_delay2+handle_delay2;
其中,Link_delay表示收包模块与传感器之间的链路时延。handle_delay表示应用软件与收包模块之间的处理时延。
因此T2’-T1’=(T2-T1)+(Link_delay2-Link_delay1)+(handle_delay2-handle_delay1)。
由公式可知,T1,T2的差值,Link_delay的不一致,或者系统从收包到发送给应用的handle_delay不同,都可能导致T2’-T1’差值变化。因此为了准确的确定引发时延的原因,可以对时延指标进行更详细的监控。
在本示例中,可以使用时间同步协议,例如PTP协议族来计算某一时刻的Link-delay的大小。收包模块可以是网卡,本方案可以记录网卡的硬件时间戳,例如:使用网卡的硬件时间戳功能在报文的入口打上时间信息。在本示例中,可以通过网卡所在的控制设备执行计算逻辑。例如:计算逻辑分别负责计算出link_delay的值,T2’-T1’差值,T2-T1的差值,handle_delay的值等,以分析引入时延的具体环节。
一种时延检测方法的具体过程的示例如图6所示:
1.在传感器与应用平台(应用软件所运行的硬件平台例如控制设备)使能PTP协议,并进行时间同步。PTP协议使用网卡硬件时间戳打戳功能,并调高PTP协议报文同步频率,使得PTP协议与传感器数据帧频率同步。获取PTP协议计算出的参考链路时延Link_delay例如Link_delay1和Link_delay2。
2.传感器在帧发送过程中,可以控制每帧的发送时间为整点对齐。例如,假设发送频率为10HZ,则发送数据应该100ms对齐。传感器发送数据时在报文中打入时间信息T1。
3.在网卡收包时通过网卡对收到的传感器数据打时间戳T1’,然后将报文例如帧1(Frame1)发送到驱动层并进一步发送给应用软件。
4.应用软件收到传感器数据后再次记录时间信息T1”。
5.同理对于下一帧例如帧2(Frame2)同样记录发送时间信息T2、参考链路时延Link_delay2、网卡上的接收时间T2’和应用软件上的接收时间T2”。
6.收集到以上时间信息后可以根据预设的判定方案来确定引入时延的具体位置。示例如下:
(1)T2–T1>100ms,表示传感器故障、发送抖动过大。
(2)Link_delay1和/或link_delay2过大例如大于设定阈值,表示链路传输时延过大。
(3)T1’-T1>link_delay1和/或T2’-T2>link_delay2,表示传感器本身记录时间到发送存在时延抖动。
(4)T1”-T1’过大和/或T2”-T2’过大例如大于设定阈值,表示应用平台本身处理耗时过大。
在本示例中,借助PTP时间同步软件、网卡打硬件时间戳等功能,精确获取到各个阶段的时间信息。通过组合这些信息,可以精确测量流量(数据)发送-接收-处理过程中各个阶段的时延,精确定位问题。本公开实施例的方案可以用于以太网接入的各类传感器器件。
本公开实施例的方案可以有效解决时延问题的定位分析,很好应用于各供应商的时延性能的评估和线上问题等的定位。
图7是根据本公开一实施例的时延检测装置的结构示意图,该装置包括:
第一获取模块701,用于获取数据在第一节点的发送时间、在第二节点的第一接收时间以及在第三节点的第二接收时间;
检测模块702,用于根据该发送时间、该第一接收时间、该第二接收时间以及参考链路时延中的一项或多项,得到时延检测结果;其中,该参考链路时延是基于时间同步协议确定的。
图8是根据本公开一实施例的时延检测装置的结构示意图,在一种实施方式中,该第一获取模块701,包括:
接收子模块801,用于接收来自该第一节点的第一数据,并获取该第一数据对应的发送时间;
第一记录子模块802,用于记录该第二节点收到来自该第一节点的该第一数据的第一接收时间;以及
第二记录子模块803,用于记录该第三节点收到该第二节点转发的该第一数据的第二接收时间。
在一种实施方式中,该第一节点包括传感器,该第二节点和该第三节点在同一控制设备中,该第二节点包括网络接口控制器,该第三节点包括该传感器的应用。
在一种实施方式中,如图8所示,该装置还包括:
第二获取模块804,用于获取该第一节点和第二节点间的参考链路时延。
在一种实施方式中,如图8所示,该第二获取模块804,包括:
请求子模块805,用于向该第一节点发送时延请求报文,并记录发送该时延请求报文的第一时间;
第一接收子模块806,用于接收该第一节点发送的时延响应报文,该时延响应报文中包括该第一节点收到该时延请求报文的第二时间;其中,该时延响应报文用于触发该第一节点记录发送该时延响应报文的第三时间以及触发记录收到该时延响应报文的第四时间;
第二接收子模块807,用于接收该第一节点发送的时延响应跟随报文,该时延响应跟随报文中包括该第三时间;
参考时延子模块808,用于根据该第一时间、该第二时间、该第三时间和该第四时间,得到该参考链路时延。
在一种实施方式中,如图8所示,该检测模块702,包括:
第一检测子模块809,用于根据相邻帧的数据的发送时间,得到该相邻帧的数据的发送间隔;根据该相邻帧的数据的发送间隔得到时延检测结果。
在一种实施方式中,在该相邻帧的数据的发送间隔大于发送间隔阈值的情况下,该时延检测结果包括时延位置为第一节点和/或时延原因为第一节点故障或发送抖动大。
在一种实施方式中,如图8所示,该检测模块702,还包括:
第二检测子模块810,用于根据一帧或多帧数据的参考链路时延,得到时延检测结果。
在一种实施方式中,在一帧或多帧数据的参考链路时延大于链路时延阈值的情况下,该时延检测结果包括时延位置为第一节点和第二节点之间的第一链路和/或时延原因为该第一链路的传输时延大。
在一种实施方式中,如图8所示,该检测模块702,还包括:
第三检测子模块811,用于根据一帧或多帧数据的发送时间和第一接收时间,得到该一帧或多帧数据的实际链路时延;根据该一帧或多帧数据的实际链路时延和参考链路时延,得到时延检测结果。
在一种实施方式中,在该一帧或多帧数据的实际链路时延大于参考链路时延的情况下,该时延检测结果包括时延位置为第一节点和/或时延原因为从该第一节点记录的发送时间到实际的发送时间存在时延抖动。
在一种实施方式中,在该一帧或多帧数据的实际链路时延大于参考链路时延的情况下,该时延检测结果包括时延位置为第一链路和/或时延原因为第一链路异常。
在一种实施方式中,如图8所示,该检测模块702,还包括:
第四检测子模块812,用于根据一帧或多帧数据的第一接收时间和第二接收时间,得到该一帧或多帧数据的处理时延;根据该一帧或多帧数据的处理时延得到时延检测结果。
在一种实施方式中,在该一帧或多帧数据的处理时延大于处理时延阈值的情况下,该时延检测结果包括该时延检测结果包括时延位置为第二节点和/或该时延原因为该第二节点的处理耗时大;或者时延位置为第三节点和/或该时延原因为该第三节点的处理耗时大。
在一种实施方式中,每帧数据的发送时间是整点对齐的。
本公开实施例的装置的各模块、子模块的具体功能和示例的描述,可以参见上述方法实施例中对应步骤的相关描述,在此不再赘述。
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如时延检测方法。例如,在一些实施例中,时延检测方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的时延检测方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行时延检测方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

Claims (30)

1.一种时延检测方法,包括:
获取数据在第一节点的发送时间、在第二节点的第一接收时间以及在第三节点的第二接收时间;
根据所述发送时间、所述第一接收时间、所述第二接收时间以及参考链路时延中的一项或多项,得到时延检测结果;其中,所述参考链路时延是基于时间同步协议确定的。
2.根据权利要求1所述的方法,其中,获取数据在第一节点的发送时间、在第二节点的第一接收时间以及在第三节点的第二接收时间,包括:
接收来自所述第一节点的第一数据,并获取所述第一数据对应的发送时间;
记录所述第二节点收到来自所述第一节点的所述第一数据的第一接收时间;以及
记录所述第三节点收到所述第二节点转发的所述第一数据的第二接收时间。
3.根据权利要求1或2所述的方法,其中,所述第一节点包括传感器,所述第二节点和所述第三节点在同一控制设备中,所述第二节点包括网络接口控制器,所述第三节点包括所述传感器的应用。
4.根据权利要求1至3中任一项所述的方法,其中,所述方法还包括:
获取所述第一节点和第二节点间的参考链路时延。
5.根据权利要求4所述的方法,其中,获取所述第一节点和第二节点间的参考链路时延,包括:
向所述第一节点发送时延请求报文,并记录发送所述时延请求报文的第一时间;
接收所述第一节点发送的时延响应报文,所述时延响应报文中包括所述第一节点收到所述时延请求报文的第二时间;其中,所述时延响应报文用于触发所述第一节点记录发送所述时延响应报文的第三时间以及触发记录收到所述时延响应报文的第四时间;
接收所述第一节点发送的时延响应跟随报文,所述时延响应跟随报文中包括所述第三时间;
根据所述第一时间、所述第二时间、所述第三时间和所述第四时间,得到所述参考链路时延。
6.根据权利要求1至5中任一项所述的方法,其中,根据所述发送时间、所述第一接收时间、所述第二接收时间以及参考链路时延中的一项或多项,得到时延检测结果,包括:
根据相邻帧的数据的发送时间,得到所述相邻帧的数据的发送间隔;
根据所述相邻帧的数据的发送间隔得到时延检测结果。
7.根据权利要求6所述的方法,其中,在所述相邻帧的数据的发送间隔大于发送间隔阈值的情况下,所述时延检测结果包括时延位置为第一节点和/或时延原因为第一节点故障或发送抖动大。
8.根据权利要求1至7中任一项所述的方法,其中,根据所述发送时间、所述第一接收时间、所述第二接收时间以及参考链路时延中的一项或多项,得到时延检测结果,包括:
根据一帧或多帧数据的参考链路时延,得到时延检测结果。
9.根据权利要求8所述的方法,其中,在一帧或多帧数据的参考链路时延大于链路时延阈值的情况下,所述时延检测结果包括时延位置为第一节点和第二节点之间的第一链路和/或时延原因为所述第一链路的传输时延大。
10.根据权利要求1至9中任一项所述的方法,其中,根据所述发送时间、所述第一接收时间、所述第二接收时间以及参考链路时延中的一项或多项,得到时延检测结果,包括:
根据一帧或多帧数据的发送时间和第一接收时间,得到所述一帧或多帧数据的实际链路时延;
根据所述一帧或多帧数据的实际链路时延和参考链路时延,得到时延检测结果。
11.根据权利要求10所述的方法,其中,在所述一帧或多帧数据的实际链路时延大于参考链路时延的情况下,所述时延检测结果包括时延位置为第一节点和/或时延原因为从所述第一节点记录的发送时间到实际的发送时间存在时延抖动;或者,所述时延检测结果包括时延位置为第一链路和/或时延原因为所述第一链路异常。
12.根据权利要求1至11中任一项所述的方法,其中,根据所述发送时间、所述第一接收时间、所述第二接收时间以及参考链路时延中的一项或多项,得到时延检测结果,包括:
根据一帧或多帧数据的第一接收时间和第二接收时间,得到所述一帧或多帧数据的处理时延;
根据所述一帧或多帧数据的处理时延得到时延检测结果。
13.根据权利要求12所述的方法,其中,在所述一帧或多帧数据的处理时延大于处理时延阈值的情况下,所述时延检测结果包括时延位置为第二节点和/或所述时延原因为所述第二节点的处理耗时大;或者时延位置为第三节点和/或所述时延原因为所述第三节点的处理耗时大。
14.根据权利要求1至13中任一项所述的方法所述的方法,其中,每帧数据的发送时间是整点对齐的。
15.一种时延检测装置,包括:
第一获取模块,用于获取数据在第一节点的发送时间、在第二节点的第一接收时间以及在第三节点的第二接收时间;
检测模块,用于根据所述发送时间、所述第一接收时间、所述第二接收时间以及参考链路时延中的一项或多项,得到时延检测结果;其中,所述参考链路时延是基于时间同步协议确定的。
16.根据权利要求15所述的装置,其中,所述第一获取模块,包括:
接收子模块,用于接收来自所述第一节点的第一数据,并获取所述第一数据对应的发送时间;
第一记录子模块,用于记录所述第二节点收到来自所述第一节点的所述第一数据的第一接收时间;以及
第二记录子模块,用于记录所述第三节点收到所述第二节点转发的所述第一数据的第二接收时间。
17.根据权利要求15或16所述的装置,其中,所述第一节点包括传感器,所述第二节点和所述第三节点在同一控制设备中,所述第二节点包括网络接口控制器,所述第三节点包括所述传感器的应用。
18.根据权利要求15至17中任一项所述的装置,其中,所述装置还包括:
第二获取模块,用于获取所述第一节点和第二节点间的参考链路时延。
19.根据权利要求18所述的装置,其中,所述第二获取模块,包括:
请求子模块,用于向所述第一节点发送时延请求报文,并记录发送所述时延请求报文的第一时间;
第一接收子模块,用于接收所述第一节点发送的时延响应报文,所述时延响应报文中包括所述第一节点收到所述时延请求报文的第二时间;其中,所述时延响应报文用于触发所述第一节点记录发送所述时延响应报文的第三时间以及触发记录收到所述时延响应报文的第四时间;
第二接收子模块,用于接收所述第一节点发送的时延响应跟随报文,所述时延响应跟随报文中包括所述第三时间;
参考时延子模块,用于根据所述第一时间、所述第二时间、所述第三时间和所述第四时间,得到所述参考链路时延。
20.根据权利要求15至19中任一项所述的装置,其中,所述检测模块,包括:
第一检测子模块,用于根据相邻帧的数据的发送时间,得到所述相邻帧的数据的发送间隔;根据所述相邻帧的数据的发送间隔得到时延检测结果。
21.根据权利要求20所述的装置,其中,在所述相邻帧的数据的发送间隔大于发送间隔阈值的情况下,所述时延检测结果包括时延位置为第一节点和/或时延原因为第一节点故障或发送抖动大。
22.根据权利要求15至21中任一项所述的装置,其中,所述检测模块,还包括:
第二检测子模块,用于根据一帧或多帧数据的参考链路时延,得到时延检测结果。
23.根据权利要求22所述的装置,其中,在一帧或多帧数据的参考链路时延大于链路时延阈值的情况下,所述时延检测结果包括时延位置为第一节点和第二节点之间的第一链路和/或时延原因为所述第一链路的传输时延大。
24.根据权利要求15至23中任一项所述的装置,其中,所述检测模块,还包括:
第三检测子模块,用于根据一帧或多帧数据的发送时间和第一接收时间,得到所述一帧或多帧数据的实际链路时延;根据所述一帧或多帧数据的实际链路时延和参考链路时延,得到时延检测结果。
25.根据权利要求24所述的装置,其中,在所述一帧或多帧数据的实际链路时延大于参考链路时延的情况下,所述时延检测结果包括时延位置为第一节点和/或时延原因为从所述第一节点记录的发送时间到实际的发送时间存在时延抖动;或者,所述时延检测结果包括时延位置为第一链路和/或时延原因为所述第一链路异常。
26.根据权利要求15至25中任一项所述的装置,其中,所述检测模块,还包括:
第四检测子模块,用于根据一帧或多帧数据的第一接收时间和第二接收时间,得到所述一帧或多帧数据的处理时延;根据所述一帧或多帧数据的处理时延得到时延检测结果。
27.根据权利要求26所述的装置,其中,在所述一帧或多帧数据的处理时延大于处理时延阈值的情况下,所述时延检测结果包括时延位置为第二节点和/或所述时延原因为所述第二节点的处理耗时大;或者时延位置为第三节点和/或所述时延原因为所述第三节点的处理耗时大。
28.根据权利要求25至27中任一项所述的装置,其中,每帧数据的发送时间是整点对齐的。
29.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-14中任一项所述的方法。
30.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-14中任一项所述的方法。
CN202310596043.XA 2023-05-24 2023-05-24 时延检测方法、装置、设备以及存储介质 Pending CN116668338A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310596043.XA CN116668338A (zh) 2023-05-24 2023-05-24 时延检测方法、装置、设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310596043.XA CN116668338A (zh) 2023-05-24 2023-05-24 时延检测方法、装置、设备以及存储介质

Publications (1)

Publication Number Publication Date
CN116668338A true CN116668338A (zh) 2023-08-29

Family

ID=87713001

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310596043.XA Pending CN116668338A (zh) 2023-05-24 2023-05-24 时延检测方法、装置、设备以及存储介质

Country Status (1)

Country Link
CN (1) CN116668338A (zh)

Similar Documents

Publication Publication Date Title
CN111327478A (zh) 网络测量方法和装置、设备及存储介质
CN114422412B (zh) 一种设备检测方法、装置和通信设备
US11489746B2 (en) Detection device, detection method, and detection program
US20150131682A1 (en) Method to detect suboptimal performance in boundary clocks
WO2016082509A1 (zh) 一种检测标签交换路径连通性的方法及装置
CN116668338A (zh) 时延检测方法、装置、设备以及存储介质
CN111064507A (zh) 光纤链路长度检测方法、装置及终端设备
US10334539B2 (en) Metered interface
JP4080397B2 (ja) 並列計算機
US11606282B2 (en) Method and device for detecting network reliability
CN114126028B (zh) 一种差动保护方法、装置、通信单元和存储介质
CN114124754B (zh) 用于处理多媒体网络中媒体数据包的方法及其相关产品
CN105337784A (zh) 一种丢包测试方法,测试装置和系统
EP4311189A1 (en) Measurement method and network device
US20230396526A1 (en) Information processing device, information processing method, and program
US10523469B2 (en) Relay device and communication system
CN105007281A (zh) 一种基于时间预测的网络同步报文md5加密装置及加密方法
CN117675648A (zh) 测试时延的方法、装置、设备、介质及程序产品
CN117527547A (zh) 一种故障节点探测方法、装置、电子设备及存储介质
CN116321397A (zh) 一种5g网络时延确定方法、装置、电子设备及存储介质
CN117155502A (zh) 时钟同步偏差确定方法和装置、测试设备、存储介质
CN117061392A (zh) 时间敏感网络的时延检测方法、装置、控制器及系统
CN115686127A (zh) 时间差确定方法、装置及电子设备
CN115107792A (zh) 时间同步方法、装置、设备和自动驾驶车辆
CN117440331A (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