CN116633820A - 基于底层通信的时延测试方法、装置及电子设备 - Google Patents
基于底层通信的时延测试方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116633820A CN116633820A CN202310784543.6A CN202310784543A CN116633820A CN 116633820 A CN116633820 A CN 116633820A CN 202310784543 A CN202310784543 A CN 202310784543A CN 116633820 A CN116633820 A CN 116633820A
- Authority
- CN
- China
- Prior art keywords
- data packet
- time
- data
- communication
- testing machine
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 167
- 230000006854 communication Effects 0.000 title claims abstract description 131
- 238000004891 communication Methods 0.000 title claims abstract description 130
- 238000010998 test method Methods 0.000 claims abstract description 14
- 238000004364 calculation method Methods 0.000 claims description 13
- 239000004816 latex Substances 0.000 claims description 11
- 229920000126 latex Polymers 0.000 claims description 11
- 230000001934 delay Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 238000000034 method Methods 0.000 abstract description 25
- 230000005540 biological transmission Effects 0.000 abstract description 15
- 238000010586 diagram Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及一种基于底层通信的时延测试方法、装置及电子设备,记录数据包开始写入第一测试机的第一时间,将第一时间写入对应的数据包中,第一测试机基于数据分发服务将数据包发送至第二测试机,第二测试机基于数据分发服务接收数据包,并通过数据分发服务将接收到的数据包立刻回传至第一测试机,第一测试机基于数据分发服务接收回传的数据包,记录数据包接收完毕时的时间戳,得到第二时间,并根据数据包得到第一时间,根据第一时间和第二时间,计算得到数据包的通信时延。本公开能够仅通过第一测试机进行时间戳记录,避免了测试机之间的时间差,提高了测试结果的精度,且能够适用于进行连续多包数据发送,符合实际通信情况。
Description
技术领域
本公开涉及通信时延测试技术领域,尤其涉及一种基于底层通信的时延测试方法、装置、电子设备及计算机可读存储介质。
背景技术
相关技术中,底层中间件通信被广泛应用于工业控制、智能交通、均是和航空航天等领域,随着技术快速的发展,对中间件通信的指标越来越严格,其中,通信时延就是用于衡量通信性能的指标之一。
现有的测试底层中间件通信的时延测试方法是:假设测试机1和测试机2时间已经同步,时延误差为0,测试机1将开始写入的时间戳记录为T1,写入数据包中,且数据包大小不变;数据包通过底层中间件传输到测试机2;测试机2接收完数据包后,记录时间戳为T1,并解析当前数据包中的开始时间T1;对于底层中间件来说,发送数据包所需的时延即为T2-T1。
但是,对于高速产品所需的底层中间件而言,其所需的时延要求精度达到纳米级,需要保证测试机1和测试机2的时间同步误差在精度以上,但还是无法达到误差的值无法准确计算。同时,需要测试机1和测试机2保证都能获取到纳米级别的时间戳,否则测试结果会存在误差。
因此,亟需一种能够提高时延测试精度,避免测试机之间的时延误差的底层中间件通信时延测试方法。
发明内容
为克服相关技术中存在的问题,本公开提供一种基于底层通信的时延测试方法、装置、电子设备及计算机可读存储介质。
根据本公开实施例的第一方面,提供一种基于底层通信的时延测试方法,包括:记录数据包开始写入第一测试机的时间戳,得到第一时间,并将所述第一时间写入对应的数据包中,基于数据分发服务将所述数据包通过所述第一测试机发送至第二测试机;所述第二测试机基于数据分发服务接收所述数据包,并通过数据分发服务将接收到的所述数据包立刻回传至所述第一测试机;在所述第一测试机基于数据分发服务接收所述回传的数据包时,记录数据包接收完毕时的时间戳,得到第二时间,并根据所述数据包得到对应的第一时间;根据所述第二时间和所述第一时间,计算得到数据包对应的通信时延。。
在一些实施例中,所述根据所述第二时间和所述第一时间,计算得到数据包对应的通信时延,公式为:
late=(Tb-Ta)/2
式中,对于单个数据包,late表示通信时延,Ta为记录数据包开始写入的第一时间,Tb为第一测试机通过所述第二主题接收完所述数据包的第二时间。
在一些实施例中,还包括:在连续发送多个数据包时,分别计算所述多个数据包的通信时延;根据所述多个数据包的通信时延计算平均通信时延,将所述平均通信时延作为目标通信时延。
在一些实施例中,所述根据所述多个数据包的通信时延计算平均通信时延,公式为:
式中,latex1,latex2…latexn为多个数据包中单个数据包的通信时延,n为多个数据包的数量。
在一些实施例中,还包括:在连续发送多个数据包时,获取多个数据包中的最早时间戳和最晚时间戳,其中,所述最早时间戳为多个数据包中第一个数据包开始写入的时间,所述最晚时间戳为多个数据包中最后一个数据包回传接收完毕的时间;统计发送的数据包数量,结合所述最晚时间戳和最早时间戳,计算得到单个数据包的目标通信时延。
在一些实施例中,所述统计发送的数据包数量,结合所述最晚时间戳和最早时间戳,计算得到单个数据包的目标通信时延,公式为:
latem=(Tw-Tz)/2m
式中,Tw为最晚时间戳,Tz为最早时间戳,m为数据包数量。
在一些实施例中,所述第二测试机基于数据分发服务接收所述数据包,并通过数据分发服务将接收到的所述数据包立刻回传至所述第一测试机,包括:通过数据分发服务创建第一主题,并配置所述第一主题的消息发送频率,基于所述第一主题,将所述数据包通过所述第一测试机发送至第二测试机;通过数据分发服务创建第二主题,基于所述第二主题,将接收到的所述数据包通过所述第二测试机立刻回传至所述第一测试机。
根据本公开实施例的第二方面,提供一种基于底层通信的时延测试装置,包括:数据包发送模块,用于记录数据包开始写入第一测试机的时间戳,得到第一时间,并将所述第一时间写入对应的数据包中,基于数据分发服务将所述数据包通过所述第一测试机发送至第二测试机;数据包回传模块,用于所述第二测试机基于数据分发服务接收所述数据包,并通过数据分发服务将接收到的所述数据包立刻回传至所述第一测试机;时间获取模块,用于在所述第一测试机基于数据分发服务接收所述回传的数据包时,记录数据包接收完毕时的时间戳,得到第二时间,并根据所述数据包得到对应的第一时间;通信时延计算模块,用于根据所述第二时间和所述第一时间,计算得到数据包对应的通信时延。
根据本公开实施例的第三方面,提供一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本公开第一方面所提供的基于底层通信的时延测试方法。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本公开第一方面所提供的基于底层通信的时延测试方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:通过记录数据包开始写入第一测试机的时间戳,得到第一时间,并将第一时间写入对应的数据包中,第一测试机基于数据分发服务将数据包发送至第二测试机,第二测试机基于数据分发服务接收数据包,并通过数据分发服务将接收到的数据包立刻回传至第一测试机,第一测试机基于数据分发服务接收回传的数据包,并记录数据包接收完毕时的时间戳,得到第二时间,并根据数据包得到第一时间,根据第一时间和第二时间,计算得到数据包的通信时延,仅通过第一测试机进行时间戳记录,降低了设备要求,减少测试代码数量,且避免了测试机之间的时间差,提高了测试结果的精度,能够适用于连续多包数据的发送,符合实际通信情况。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种基于底层通信的时延测试方法的流程图。
图2是根据一示例性实施例示出的单个数据包的时延测试流程图。
图3是根据一示例性实施例示出的多个数据包的时延测试流程图。
图4是根据一示例性实施例示出的一种多个数据包的通信时延计算方法的流程图。
图5是根据一示例性实施例示出的另一种多个数据包中的通信时延计算方法的流程图。
图6是根据一示例性实施例示出的数据包发送和接收方法的流程图。
图7是根据一示例性实施例示出的一种基于底层通信的时延测试装置的框图。
图8是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
下面将结合附图详细地对示例性实施例进行描述说明。
应当指出,相关实施例及附图仅为描述说明本公开所提供的示例性实施例,而非本公开的全部实施例,也不应理解本公开受相关示例性实施例的限制。
应当指出,本公开中所用术语“第一”、“第二”等仅用于区别不同步骤、设备或模块等。相关术语既不代表任何特定技术含义,也不表示它们之间的顺序或者相互依存关系。
应当指出,本公开中所用术语“一个”、“多个”、“至少一个”的修饰是示意性而非限制性的。除非在上下文另有明确指出,否则应该理解为“一个或多个”。
应当指出,本公开中所用术语“和/或”,用于描述关联对象之间的关联关系,一般表示至少存在三种关联关系。例如,A和/或B,至少可以表示:单独存在A,同时存在A和B,单独存在B这三种关联关系。
应当指出,本公开的方法实施例中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。除非特别说明,本公开的范围不受相关实施例中步骤的描述顺序限制。
需要说明的是,本公开中所有获取信号、信息或数据的动作都是在遵照所在地国家相应的数据保护法规政策的前提下,并获得由相应装置所有者给予授权的情况下进行的。
示例性方法
图1是根据一示例性实施例示出的一种基于底层通信的时延测试方法的流程图,如图1所示,该基于底层通信的时延测试方法用于底层中间件通信中,包括以下步骤:
在步骤S110中,记录数据包开始写入第一测试机的时间戳,得到第一时间,并将第一时间写入对应的数据包中,基于数据分发服务将数据包通过第一测试机发送至第二测试机。
在一些实施例中,为了对基于底层中间件的通信进行时延测试,在进行底层中间件通信时,记录数据包开始写入第一测试机的时间戳,得到第一时间,并将该第一时间写入数据包中,且数据包的大小不变,数据包始终保持测试要求的带下,更能够反映测试与实际场景的一致性。此外,第一测试机可以通过发送一个数据包或连续发送多个数据包进行测试,连续多包的发送更能贴近实际运行场景。
例如,基于数据分发服务创建的第一主题,将写入第一时间后的数据包发送至第二测试机,第一测试机和第二测试机均已订阅第一主题,从而能够基于第一主题,进行第一测试机和第二测试机之间的消息传输。
在步骤S120中,第二测试机基于数据分发服务接收数据包,并通过数据分发服务将接收到的数据包立刻回传至第一测试机。
在一些实施例中,第二测试机基于数据分发服务中已订阅的第一主题,接收到第一测试机发送的数据包,并通过数据分发服务创建第二主题,将接收到数据包立刻回传至第一测试机,同样的,第一测试机和第二测试机均已订阅第二主题,从而能够基于数据分发服务创建的第二主题,进行第一测试机和第二测试机之间的消息传输。
此外,第二测试机接收完数据包是立刻回传至第一测试机,即接收完数据包后,在微乎其微的时间范围内对数据包进行回传,且该时间范围与时延相比可忽略不计,视为立刻。
在步骤S130中,在第一测试机基于数据分发服务接收回传的数据包时,记录数据包接收完毕时的时间戳,得到第二时间,并根据数据包得到对应的第一时间。
在一些实施例中,第一测试机基于数据分发服务中已订阅的第二主题,接收来自第二测试机回传的数据包,记录对数据包接收完毕时的时间戳,得到第二时间,同时启动对数据包的解析进程,得到数据包中的第一时间;其中,数据包接收和数据包解析采用不同的进程,能够同时进行,且不影响数据包的接收,确保数据包接收完毕后记录的时间戳准确性。
在步骤S140中,根据第二时间和第一时间,计算得到数据包对应的通信时延。
在一些实施例中,第一测试机根据获取的第二时间和第一时间,进行计算,得到数据包传输的通信时延。其中,第一时间和第二时间均由第一测试机端的时钟记录得到,即整个测试过程只有第一测试机的同一个时钟;而非现有技术中需要分别采用发送端和接收端的时钟或网卡绝对时间,引入两个及以上的时钟时,就会存在时钟之间的时延问题,且很难保证时钟间的时间误差在纳秒级别。
而本公开在整个测试过程中仅引入了第一测试机的同一个时钟,不需要进行两个测试设备的时间同步,减少了测试设备,例如时间同步设备,同时由于第二测试机不需要进行时间戳记录,降低了设备要求;使得本案能够具有纳秒级别精度的测试效果,且不限于单个测试包,通过多包测试能够更贴近实际运行场景,提高了时延测试的精度。
其中,通信时延的计算公式为:
late=(Tb-Ta)/2
式中,对于单个数据包,late表示通信时延,Ta为记录数据包开始写入的第一时间,Tb为第一测试机通过第二主题接收完数据包的第二时间。
具体地,由于数据包在第一测试机和第二测试机之间进行了两轮的传输,因此,可以根据得到的第二时间和第一时间之差,除以2,得到数据包单次传输的通信时延。
该通信时延包含有数据包的打包时间,即从获取数据包开始,接收完毕结束,对第二测试机也是如此,因此,除了传输时间,其余时间消耗都是对称的。
在上述实施例中,通过记录数据包开始写入第一测试机的时间戳,得到第一时间,并将第一时间写入对应的数据包中,第一测试机基于数据分发服务将数据包发送至第二测试机,第二测试机基于数据分发服务接收数据包,并通过数据分发服务将接收到的数据包立刻回传至第一测试机,第一测试机基于数据分发服务接收回传的数据包,并记录数据包接收完毕时的时间戳,得到第二时间,并根据数据包得到第一时间,根据第一时间和第二时间,计算得到数据包的通信时延,仅通过第一测试机进行时间戳记录,降低了设备要求,减少测试代码数量,且避免了测试机之间的时间差,提高了测试结果的精度,能够适用于连续多包数据的发送,符合实际通信情况。
在一个实施例中,如图2所示,通过本公开进行单个数据包的时延测试的步骤为:假设第一测试机和第二测试机的时间误差为β,测试机1将数据包开始写入的时间戳记录为T1,将时间戳T1写到数据包data中,且数据包的大小不变;数据包data通过底层通信中间件传输到测试机2;测试机2接收完数据包data后,记录时间戳为T2;测试机2直接将数据包data进行写入,通过底层通信中间件传输到测试机1,开始写入时记录时间戳为T3,且T2=T3,即测试机2接收完数据包到发出数据包的时间差可以忽略不计;测试即1接收完数据包data后,记录时间戳为T4;解析当前数据包data中的开始时间T1;因此,对于底层通信中间件来说,发送数据包data的通信时延late=(T2-β)-T1,late=T4-(T3-β);由于T3=T2,则发送数据包data所需的通信时延为late=(T4-T1)/2。
在一个实施例中,如图3所示,通过本公开进行多个数据包的时延测试的步骤为:测试机1每秒发送n个数据包data,x代表在1到n中任意一个数;方法和单个数据包的时延测试方法相同,将开始时间T1x写入data中;使用DDS创建Topic1,发送的频率设置为n及数据包为data;测试机2使用DDS创建的Topic1接收测试机1发送的数据包data;测试机2将接收的数据包data通过使用DDS创建的Topic2发送给测试机1;当测试机1使用Topic2每接收到一个数据包,获取当前时间戳记为T4x;启动另一个进程,用于解析当前数据包,获取数据包中的开始时间T1x,且不影响当前的数据包接收进程;记录时间T4x为该数据包的结束时间,数据包data解析的T1x为该数据包的开始时间,则第x个数据包data的通信时延为latex=(T4x-T1x)/2;若接收到n包数据,可以将n包数据的latex加起来除以n,得到该数据包的平均时延。
图4是根据一示例性实施例示出的一种多个数据包的通信时延计算方法的流程图,如图4所示,该多个数据包的通信时延计算方法用于步骤S104中,包括以下步骤:
在步骤S410中,在连续发送多个数据包时,分别计算多个数据包的通信时延。
具体地,第一测试机为了更好的模拟实际通信过程,可以通过第一主题向第二测试机连续发送多个数据包,并基于获取的第一时间和第二时间,分别计算出多个数据包的通信时延。
在步骤S420中,根据多个数据包的通信时延计算平均通信时延,将平均通信时延作为目标通信时延。
具体地,根据得到的多个数据包的通信时延,以及发送的数据包数量,计算得到平均通信时延,将该平均通信时延作为目标通信时延,通过多包数据的发送,使得测试结果能够更加贴近实际通信情况,确保时延测试结果的可靠性。当然,也可以取多个包中的部分数据包的通信时延作为计算基础。
其中,计算平均通信时延的公式为:
式中,latex1,latex2…latexn为多个数据包中单个数据包的通信时延,n为多个数据包的数量。
在本实施例中,第一测试机连续发送多个数据包时,分别计算出每个数据包的通信时延,根据多个数据包的通信时延计算得到平均通信时延,将平均通信时延作为目标通信时延,使得测试结果符合实际情况,确保获取的时延测试结果的可靠性。
图5是根据一示例性实施例示出的另一种多个数据包中的通信时延计算方法的流程图,如图5所示,该多个数据包中单个数据包的通信时延计算方法用于步骤S104中,包括以下步骤:
在步骤S510中,在连续发送多个数据包时,获取多个数据包中的最早时间戳和最晚时间戳,其中,最早时间戳为多个数据包中第一个数据包开始写入的时间,最晚时间戳为多个数据包最后一个数据包回传接收完毕的时间。
具体地,为了测试结果的有效性,可以通过第一测试机连续发送多个数据包,在将多个数据包由第一测试机发出,并最终由第一测试机接收后,获取在第一测试机中多个数据包记录的最早时间戳和最晚时间戳,作为通信时延的计算基础。其中,最早时间戳为多个数据包中第一个数据包,开始写入第一测试机的时间,最晚时间戳为多个数据包最后一个数据包回传至第一测试机,并接收完毕的时间。
在步骤S520中,统计发送的数据包数量,结合最晚时间戳和最早时间戳,计算得到单个数据包的目标通信时延。
具体地,统计得到连续发送的数据包数量,计算最晚时间戳和最早时间戳之差,并除以数据包数量,得到单个数据包的目标通信时延;当然,也可以获取多个数据包中的部分数据包的最早时间戳和最晚时间戳,作为计算基础,得到对应的目标通信时延。
其中,单个数据包的目标通信时延的计算公式为:
latem=(Tw-Tz)/2m
式中,Tw为最晚时间戳,Tz为最早时间戳,m为数据包数量。
在本实施例中,通过第一测试机连续发送多个数据包,获取多个数据包中的最早时间戳和最晚时间戳,统计连续发送的数据包数量,并结合最晚时间戳和最早时间戳,计算得到单个数据包的目标通信时延,使得获取的目标通信时延能够贴合实际情况,确保测试结果的可靠性。
图6是根据一示例性实施例示出的数据包发送和接收方法的流程图,如图6所示,该数据包发送和接收方法用于步骤S102中,包括以下步骤:
在步骤S610中,通过数据分发服务创建第一主题,并配置第一主题的消息发送频率,基于第一主题,将数据包通过第一测试机发送至第二测试机。
具体地,在进行数据包的发送和接收时,通过数据分发服务创建第一主题,并配置第一主题的消息发送频率,用于进行连续多包数据的发送,第一测试机通过第一主题将数据包发送至第二测试机,从而实现数据包的发送。
在步骤S620中,通过数据分发服务创建第二主题,基于第二主题,将接收到的数据包通过第二测试机立刻回传至第一测试机。
具体地,第二测试机通过第一主题接收完数据包后,通过数据分发服务创建的第二主题,将接收到的数据包通过第二测试机立刻回传至第一测试机,从而实现数据包的回传,并通过记录的数据包发送和回传的时间戳,对通信时延进行计算。
在本实施例中,通过数据分发服务创建第一主题,并配置第一主题的消息发送频率,测试机订阅第一主题,第一测试机通过第一主题将数据包发送至第二测试机;通过数据分发服务创建第二主题,并订阅,第二测试机通过第二主题将接收到的数据包立刻回传至第一测试机,实现数据包在第一测试机和第二测试机之间的传输,并能够基于传输过程中记录的时间戳对通信时延进行计算。
示例性装置
图7是根据一示例性实施例示出的一种基于底层通信的时延测试装置框图。参照图7,该装置700包括数据包发送模块710,数据包回传模块720、时间获取模块730和通信时延计算模块740。
该数据包发送模块710,用于记录数据包开始写入第一测试机的时间戳,得到第一时间,并将第一时间写入对应的数据包中,基于数据分发服务将数据包通过第一测试机发送至第二测试机;
该数据包回传模块720,用于第二测试机基于数据分发服务接收数据包,并通过数据分发服务将接收到的数据包立刻回传至第一测试机;
该时间获取模块730,用于在第一测试机基于数据分发服务接收回传的数据包时,记录数据包接收完毕时的时间戳,得到第二时间,并根据数据包得到对应的第一时间;
该通信时延计算模块740,用于根据第二时间和第一时间,计算得到数据包对应的通信时延。
在一个实施例中,该装置还包括:多时延计算模块,用于在连续发送多个数据包时,分别计算多个数据包的通信时延;平均时延计算模块,用于根据多个数据包的通信时延计算平均通信时延,将平均通信时延作为目标通信时延。
在一个实施例中,该装置还包括:第一主题创建模块,用于通过数据分发服务创建第一主题,并配置第一主题的消息发送频率,基于第一主题,将数据包通过第一测试机发送至第二测试机;第二主题创建模块,用于通过数据分发服务创建第二主题,基于第二主题,将接收到的数据包通过第二测试机立刻回传至第一测试机。
在上述实施例中,通过该装置的运行,实现了基于一种基于底层通信的时延测试方法,确保该装置能够实现一种基于底层通信的时延测试方法的所有内容。
示例性电子设备
图8是根据一示例性实施例示出的一种电子设备900的框图。该电子设备900可以是车辆控制器、车载终端、车载计算机或者其他类型的电子设备。
参照图8,电子设备900,可包括至少一个处理器910和存储器920。处理器910可以执行存储在存储器920中的指令。处理器910通过数据总线与存储器920通信连接。除存储器920外,处理器910还可通过数据总线与输入设备930、输出设备940、通信设备950通信连接。
处理器910可以是任何常规的处理器,诸如商业可获得的CPU。处理器还可以包括诸如图像处理器(Graphic Process Unit,GPU),现场可编程门阵列(Field ProgrammableGate Array,FPGA)、片上***(System on Chip,SOC)、专用集成芯片(ApplicationSpecific Integrated Circuit,ASIC)或它们的组合。
存储器920可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在本公开实施例中,存储器920中存储有可执行指令,处理器910可以从所述存储器920中读取所述可执行指令,并执行所述指令以实现上述示例性实施例中任一所述的基于底层通信的时延测试方法的全部或部分步骤。
示例性计算机可读存储介质
除了上述方法和装置以外,本公开的示例性实施例还可以是计算机程序产品或存储有该计算机程序产品的计算机可读存储介质。该计算机产品中包括计算机程序指令,该计算机程序指令可被处理器执行,以实现上述示例性实施例中任一方法中描述的的全部或部分步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言以及脚本语言(例如Python)。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线电连接的静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘,或者上述的任意合适的组合。
本领域技术人员在考虑说明书及实践本公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种基于底层通信的时延测试方法,其特征在于,包括:
记录数据包开始写入第一测试机的时间戳,得到第一时间,并将所述第一时间写入对应的数据包中,基于数据分发服务将所述数据包通过所述第一测试机发送至第二测试机;
所述第二测试机基于数据分发服务接收所述数据包,并通过数据分发服务将接收到的所述数据包立刻回传至所述第一测试机;
在所述第一测试机基于数据分发服务接收所述回传的数据包时,记录数据包接收完毕时的时间戳,得到第二时间,并根据所述数据包得到对应的第一时间;
根据所述第二时间和所述第一时间,计算得到数据包对应的通信时延。
2.根据权利要求1所述的基于底层通信的时延测试方法,其特征在于,所述根据所述第二时间和所述第一时间,计算得到数据包对应的通信时延,公式为:
late=(Tb-Ta)/2
式中,对于单个数据包,late表示通信时延,Ta为记录数据包开始写入的第一时间,Tb为第一测试机接收完所述数据包的第二时间。
3.根据权利要求1或2所述的基于底层通信的时延测试方法,其特征在于,还包括:
在连续发送多个数据包时,分别计算所述多个数据包的通信时延;
根据所述多个数据包的通信时延计算平均通信时延,将所述平均通信时延作为目标通信时延。
4.根据权利要求3所述的基于底层通信的时延测试方法,其特征在于,所述根据所述多个数据包的通信时延计算平均通信时延,公式为:
式中,latex1,latex2…latexn为多个数据包中单个数据包的通信时延,n为多个数据包的数量。
5.根据权利要求1所述的基于底层通信的时延测试方法,其特征在于,还包括:
在连续发送多个数据包时,获取多个数据包中的最早时间戳和最晚时间戳,其中,所述最早时间戳为多个数据包中第一个数据包开始写入的时间,所述最晚时间戳为多个数据包中最后一个数据包回传接收完毕的时间;
统计发送的数据包数量,结合所述最晚时间戳和最早时间戳,计算得到单个数据包的目标通信时延。
6.根据权利要求5所述的基于底层通信的时延测试方法,其特征在于,所述统计发送的数据包数量,结合所述最晚时间戳和最早时间戳,计算得到单个数据包的目标通信时延,公式为:
latem=(Tw-Tz)/2m
式中,Tw为最晚时间戳,Tz为最早时间戳,m为数据包数量。
7.根据权利要求1、2、4、5、6中任一项所述的基于底层通信的时延测试方法,其特征在于,所述第二测试机基于数据分发服务接收所述数据包,并通过数据分发服务将接收到的所述数据包立刻回传至所述第一测试机,包括:
通过数据分发服务创建第一主题,并配置所述第一主题的消息发送频率,基于所述第一主题,将所述数据包通过所述第一测试机发送至第二测试机;
通过数据分发服务创建第二主题,基于所述第二主题,将接收到的所述数据包通过所述第二测试机立刻回传至所述第一测试机。
8.一种基于底层通信的时延测试装置,其特征在于,包括:
数据包发送模块,用于记录数据包开始写入第一测试机的时间戳,得到第一时间,并将所述第一时间写入对应的数据包中,基于数据分发服务将所述数据包通过所述第一测试机发送至第二测试机;
数据包回传模块,用于所述第二测试机基于数据分发服务接收所述数据包,并通过数据分发服务将接收到的所述数据包立刻回传至所述第一测试机;
时间获取模块,用于在所述第一测试机基于数据分发服务接收所述回传的数据包时,记录数据包接收完毕时的时间戳,得到第二时间,并根据所述数据包得到对应的第一时间;
通信时延计算模块,用于根据所述第二时间和所述第一时间,计算得到数据包对应的通信时延。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现所述权利要求1-7中任一所述的基于底层通信的时延测试方法。
10.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,该程序指令被处理器执行时,以实现所述权利要求1-7中任一所述的基于底层通信的时延测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310784543.6A CN116633820A (zh) | 2023-06-29 | 2023-06-29 | 基于底层通信的时延测试方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310784543.6A CN116633820A (zh) | 2023-06-29 | 2023-06-29 | 基于底层通信的时延测试方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116633820A true CN116633820A (zh) | 2023-08-22 |
Family
ID=87617242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310784543.6A Pending CN116633820A (zh) | 2023-06-29 | 2023-06-29 | 基于底层通信的时延测试方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116633820A (zh) |
-
2023
- 2023-06-29 CN CN202310784543.6A patent/CN116633820A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111585682B (zh) | 传感器时间同步方法、装置及终端设备 | |
WO2021136149A1 (zh) | 时钟同步方法、装置、计算机设备和存储介质 | |
CN110518990A (zh) | 多天线WiFi产品的校准方法、***及计算机可读存储介质 | |
CN112968747B (zh) | 一种时间校准方法、装置、计算机设备和存储介质 | |
CN113498625A (zh) | 时钟同步方法和装置、芯片***、无人机和终端 | |
CN113514821A (zh) | 基于时变时差的定位方法、装置和*** | |
CN112702231B (zh) | 一种网络延时的测量方法及*** | |
CN111082887A (zh) | 一种信号传输延时补偿的***、方法、装置、设备及介质 | |
CN116633820A (zh) | 基于底层通信的时延测试方法、装置及电子设备 | |
CN101510172B (zh) | 测试***及方法 | |
CN116185133B (zh) | 芯片时钟校准方法、装置、芯片、电子设备及存储介质 | |
DE102019217827A1 (de) | Nanosekundengenauigkeit einer zeitstempelung durch verwendung einer ausrichtungsmarkierung und verfahren zu ihrer herstellung | |
CN116015523A (zh) | 一种时间同步的方法、装置及电子设备 | |
CN113239677B (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN117596188A (zh) | 基于底层中间件通信的抖动计算方法、装置及电子设备 | |
CN111611186B (zh) | 一种嵌入式芯片中传输控制方法和装置 | |
CN113259039A (zh) | 时间同步方法、装置、计算机设备和存储介质 | |
CN107390775A (zh) | 一种时钟源转换分配方法和扩展时钟 | |
CN113271168B (zh) | 一种基于卫星共视的配电网时钟同步实现方法 | |
CN110738470B (zh) | 电子票据的处理方法、装置、存储介质及设备 | |
CN113448820B (zh) | 网页测试方法及装置 | |
CN115941105A (zh) | 时间同步方法、装置、存储介质及电子设备 | |
CN114051276B (zh) | 一种串行时间码授时方法、***及电子设备 | |
CN116401081B (zh) | 数据共享方法 | |
CN117294378A (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 |