传输延迟时间测量方法、装置、电子设备及存储介质与流程

专利2024-03-25  97



1.本发明涉及网络通信技术领域,尤其涉及一种传输延迟时间测量方法、装置、电子设备及存储介质。


背景技术:

2.传输延迟作为视频监控系统中一项重要技术指标,通常表明端到端传输过程中存在的编码延时、传输延时及解码显示延时,其不仅影响用户体验,也影响通信质量;比如用户使用终端查看视频时存在传输延迟,则会影响用户的主观体验,在闭环视频监控过程中若存在传输延迟,则会影响视频信息的实时性,影响判断分析和决策结果。因此,如何准确测量传输延迟就显得尤为重要。
3.相关技术中,通常在实验室环境下以直连方式实现对监控系统的延迟时间进行测量,也即将发送端和客户端直接连接,通过计算同一帧视频图像的时间差值计算传输延迟时间。
4.然而,由于实验室环境较为简单,并不适用于实际应用环境,同时测量过程中要求发送端和客户端具有相同时间基准,从而导致测量传输延迟时间的适用性和精确性不高。


技术实现要素:

5.本发明提供一种传输延迟时间测量方法、装置、电子设备及存储介质,用以解决现有技术中测量传输延迟时需要同步发送端和客户端所导致的测量传输延迟时间的适用性和精确性不高的缺陷,无需发送端和客户端时间同步也能在实际应用环境中实现传输延迟测量的适用性和精确性。
6.本发明提供一种传输延迟时间测量方法,包括:
7.获取服务器逐帧传输的历史数据包所对应的历史时间间隔;
8.将所述历史时间间隔输入至预设延迟预测模型,得到所述逐帧传输的当前数据包对应的预测时间间隔;其中,所述预设延迟预测模型是基于样本历史时间间隔训练lstm模型得到的模型;
9.基于所述预测时间间隔、所述当前数据包对应的实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间。
10.根据本发明提供的一种传输延迟时间测量方法,所述基于所述预测时间间隔、所述当前数据包对应的实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间,包括:
11.将所述预测时间间隔与所述当前数据包对应的实际时间间隔进行大小比较;
12.确定所述实际时间间隔大于所述预测时间间隔时,基于所述实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间。
13.根据本发明提供的一种传输延迟时间测量方法,所述获取服务器逐帧传输的历史数据包所对应的历史时间间隔,包括:
14.接收服务器逐帧传输的历史数据包;
15.基于预设的数据包接收协议,对所述历史数据包进行过滤;
16.按照预设文件格式,将过滤后的剩余历史数据包存储为数据包文件;
17.解析所述数据包文件中的时间戳信息并进行时间格式转化,得到所述剩余历史数据包所对应的历史时间间隔。
18.根据本发明提供的一种传输延迟时间测量方法,所述基于预设的数据包接收协议,对所述历史数据包进行过滤,包括:
19.将所述历史数据包依次写入接收缓冲区;
20.基于预设的数据包通信协议,从所述接收缓冲区中的所述历史数据包中筛选出第一历史数据包;
21.基于预设的数据包标识信息,将所述第一历史数据包中与所述数据包标识信息不匹配的数据包进行过滤。
22.根据本发明提供的一种传输延迟时间测量方法,在所述将所述第一历史数据包中与所述数据包标识信息不匹配的数据包进行过滤之后,所述方法还包括:
23.将过滤后所得的第二历史数据包依次写入播放缓冲区;
24.指示所述播放缓冲区对所述第二历史数据包进行整序后播放。
25.根据本发明提供的一种传输延迟时间测量方法,在所述将所述历史数据包依次写入接收缓冲区之后,所述方法还包括:
26.获取所述历史数据包写入所述接收缓冲区的缓冲区容量;
27.若确定所述缓冲区容量大于预设容量最大值,则指示发送端降低数据包发送速率;
28.若确定所述缓冲区容量小于预设容量最小值,则指示所述发送端增加数据包发送速率。
29.根据本发明提供的一种传输延迟时间测量方法,在所述获取服务器逐帧传输的历史数据包所对应的历史时间间隔的步骤之前,所述方法还包括:
30.建立与发送端之间的数据通信链路;
31.向所述发送端发送数据传输请求,所述数据传输请求携带数据封装要求和数据发送方式;
32.接收所述发送端针对所述数据传输请求发送的数据包。
33.根据本发明提供的一种传输延迟时间测量方法,所述预设延迟预测模型的训练过程包括:
34.基于样本历史时间间隔,确定训练集和测试集;
35.基于所述训练集对lstm模型进行训练,得到训练后的lstm模型;
36.基于所述测试集对所述训练后的lstm模型进行测试,得到测试结果;
37.基于所述测试结果与所述测试集之间的误差,确定所述训练后的lstm模型为预设延迟预测模型。
38.根据本发明提供的一种传输延迟时间测量方法,所述方法还包括:
39.基于预设时长内接收到的新的历史时间间隔,对所述训练集和所述测试集分别进行更新。
40.本发明还提供一种传输延迟时间测量装置,包括:
41.获取模块,用于获取服务器逐帧传输的历史数据包所对应的历史时间间隔;
42.预测模块,用于将所述历史时间间隔输入至预设延迟预测模型,得到所述逐帧传输的当前数据包对应的预测时间间隔;其中,所述预设延迟预测模型是基于样本历史时间间隔训练lstm模型得到的模型;
43.输出模块,用于基于所述预测时间间隔、所述当前数据包对应的实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间。
44.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述传输延迟时间测量方法。
45.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述传输延迟时间测量方法。
46.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述传输延迟时间测量方法。
47.本发明提供的传输延迟时间测量方法、装置、电子设备及存储介质,其中传输延迟时间测量方法,通过将服务器逐帧传输的历史数据包所对应的历史时间间隔输入至预设延迟预测模型的方式,预测逐帧传输的当前数据包对应的预测时间间隔,并基于该预测时间间隔、当前数据包对应的实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间。以此结合逐帧传输方式降低数据发送延时,实现兼顾整个传输系统的实时性和带宽利用率的目的,无需发送端和客户端时间同步,即可在实际应用环境中实现传输延迟测量,提高了传输延迟测量的适用性;进一步的,由于预设延迟预测模型是基于样本历史时间间隔训练lstm模型得到的模型,以此能够结合训练循环神经网络的方式,实现提高预测时间间隔的精准度的目的,从而也能有效提高传输延迟测量的精确性和可靠性。
附图说明
48.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
49.图1是本发明提供的传输延迟时间测量方法的流程示意图;
50.图2是本发明提供的传输延迟测量系统的结构示意图;
51.图3是本发明提供的传输延迟时间测量方法的总体流程图;
52.图4是本发明提供的传输延迟测量装置的结构示意图;
53.图5是本发明提供的电子设备的结构示意图。
具体实施方式
54.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳
动前提下所获得的所有其他实施例,都属于本发明保护的范围。
55.传输延迟作为视频监控系统中一项重要技术指标,通常表明端到端传输过程中存在的编码延时、传输延时及解码显示延时,其不仅影响用户体验,也影响通信质量;比如大型监控系统基于摄像机、服务器和客户端,无时无刻不存在着大量的视频调用和控制,并在视频调用过程中需要服务器和摄像机做出反应且将视频流传输至客户端,从客户端发出数据传输请求到服务器和摄像机做出响应,再到视频流到达指定客户端,需要经过大量的交换机和路由器,不可避免的导致传输延时。此外,视频流传输过程中存在摄像机和客户端时钟不同步的情况,这也给延迟时间的测量造成了不便和困难。
56.因此,为了提高视频监控系统的可靠性和安全性,通常在网络设计中部署备份线路,当主线路意外中断或者出现故障时自动使用备份线路,切换数据流,切换数据流的过程也即通信链路的切换过程,在这一切换过程中,如果客户端在切换前后经由不同的通信链路连接,则服务器与客户端之间的数据通信也必然会出现中断问题,通信链路的切换可能导致一定时间内的通信中断。对于通信质量要求不高的系统,短时间的通信中断是可以接受的,若视频监控系统对通信的可靠性和实时性要求较高且严格限制系统通信的中断时间,则由于通信的突然中断而导致实时信息无法实时传送,将进一步导致难以发现并解决故障或突发事件,甚至严重时有可能会造成安全事故。因此,视频监控系统的传输延迟时间测量与计算具有重要的意义和价值。
57.现有的实验室环境下传输延迟时间测量方法是以直连方式实现对监控系统的延迟时间进行测量,也即将发送端和客户端直接相连,通过计算同一视频帧图像的时间差值计算传输延迟时间,测试场景较为简单,并未考虑到实际应用过程中路由分布、网络拥塞、通信干扰等均会影响视频流延时,使得在实验室环境这一理想环境下测出的延迟时间往往显著低于实际应用场景。同时测量过程中还要求发送端(比如摄像头)和客户端具有共同的时间基准,但实际很多视频监控系统并没有共同的时间基准信号,无法同步发送端和客户端。因此,更加便捷且更加精准的延迟时间测量显得尤为重要。
58.基于此,本发明提供一种传输延迟时间测量方法、装置、电子设备及存储介质,其中传输延迟时间测量方法可以应用于由多个发送端、服务器和多个客户端形成的传输延迟时间测量系统的场景中,传输延迟时间测量方法的执行主体为传输延迟时间测量系统中任意一个客户端,该客户端可以为个人计算机(personal computer,pc)、便携式设备、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等其它电子设备,且该客户端至少具备数据包接收播放功能、数据包抓取功能、存储功能、解析功能及统计分析功能。本发明对客户端的具体形式不做限定。
59.需要说明的是,下述方法实施例的执行主体可以是传输延迟时间测量系统中任意一个客户端的部分或者全部。下述方法实施例以执行主体为客户端为例进行说明。
60.图1为本发明提供的传输延迟时间测量方法,如图1所示,该传输延迟时间测量方法,包括以下步骤:
61.步骤110、获取服务器逐帧传输的历史数据包所对应的历史时间间隔。
62.其中,历史数据包可以为预设时长t内客户端已接收到的各个数据包,t=ft,f为大于1的整数,t为数据包发送时间间隔,数据包发送时间间隔t可以基于以太网所能支持的最大吞吐量设置,以便于判定预设时长t内是否发生丢包及发生丢包时丢包率。
63.具体的,在如图2所示的传输延迟时间测量系统中,服务器可以为高并发流媒体服务器且具备中转作用,其主要任务是对所接收到的数据包进行传输、调度分发和缓冲存储等,当传输延迟时间测量系统应用于视频监控系统中时,发送端可以为一个或多个摄像头且发送端可以与服务器采用有线连接,发送端为多个时,可以如图2所示的发送端1、发送端2和发送端3;客户端通常为多个且每个客户端均通过互联网与服务器连接,比如图2中的客户端1、客户端2和客户端3;当传输延时时间测量系统应用于通信系统中时,发送端可以为与客户端相同的终端设备且发送端可以与服务器无线连接。此处不作具体限定。
64.基于此,客户端可以通过服务器接收发送端传输的数据包,当服务器逐帧向客户端发送数据包时,客户端也可以逐帧接收数据包。因此,客户端每接收到一个数据包,则对应解析其到达时间,并基于每相邻两个数据包到达客户端的时间之差,确定每相邻两个数据包所对应的时间间隔,从而确定出服务器逐帧传输的历史数据包所对应的历史时间间隔。
65.步骤120、将所述历史时间间隔输入至预设延迟预测模型,得到所述逐帧传输的当前数据包对应的预测时间间隔。
66.其中,所述预设延迟预测模型是基于样本历史时间间隔训练lstm模型得到的模型,当前数据包为正在传输中的数据包。
67.具体的,客户端将所确定的历史时间间隔输入至预设延迟预测模型,预测服务器逐帧传输的当前数据包对应的预测时间间隔,比如,可以将n个历史数据包对应的n-1个历史时间间隔输入至预设延迟预测模型中,预测第n个历史数据包和正在传输的第n+1个当前数据包所对应的第n个时间间隔,即为第n个预测时间间隔;第n+1个当前数据包到达客户端的时间与第n个历史数据包到达客户端的时间之差,为第n+1个当前数据对应的第n个实际时间间隔,n为大于1的整数。
68.需要说明的是,考虑到长短期记忆模型(long-short term memory,lstm)是一种循环神经网络且具有长短期记忆能量,适用于较长时间序列的预测且能解决梯度消失问题。因此,本发明通过采用样本历史时间间隔对lstm模型训练所得到的预设延迟预测模型,能够提高预测时间间隔的准确性和精度。
69.步骤130、基于所述预测时间间隔、所述当前数据包对应的实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间。
70.具体的,基于预测的当前数据包到达客户端的预测时间间隔和该当前数据包所对应到达客户端的实际时间间隔,客户端可以先判断是否发生传输延迟,如果基于预测时间间隔和实际时间间隔判定未发生传输延迟,则输出传输延迟时间为0;如果基于预测时间间隔和实际时间间隔判定发生传输延迟,可以再进一步结合发送端的数据包发送时间间隔输出传输延迟时间。基于此,本发明可以适用于有线和无线视频监控系统中传输延迟时间的测量,也可以用于通信系统中链路中断、断网恢复时间测量以及传输异常的判断。
71.本发明提供的传输延迟时间测量方法,通过将服务器逐帧传输的历史数据包所对应的历史时间间隔输入至预设延迟预测模型的方式,预测逐帧传输的当前数据包对应的预测时间间隔,并基于该预测时间间隔、当前数据包对应的实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间。以此结合逐帧传输方式降低数据发送延时,实现兼顾整个传输系统的实时性和带宽利用率的目的,无需发送端和客户端时间同步,即可在实际应
用环境中实现传输延迟测量,提高了传输延迟测量的适用性;进一步的,由于预设延迟预测模型是基于样本历史时间间隔训练lstm模型得到的模型,以此能够结合训练循环神经网络的方式,实现提高预测时间间隔的精准度的目的,从而也能有效提高传输延迟测量的精确性和可靠性。
72.可选的,在步骤110之前,所述方法还可以包括:
73.首先,建立与发送端之间的数据通信链路;然后,向所述发送端发送数据传输请求,所述数据传输请求携带数据封装要求和数据发送方式;再进一步接收所述发送端针对所述数据传输请求发送的数据包。
74.具体的,在图2所示的传输延迟时间测量系统中,每个发送端与服务器之间可以采用有线连接,有线以太网的带宽高且信号稳定,并且测量传输延迟时间时,发送端以以太网所能支持的最大吞吐量设置合适的数据包发送时间间隔和数据包大小;如果数据包发送速率超过最大吞吐量,则会造成网络延迟,并且传输延迟与数据包长度也密切相关,数据包长度不能超过网络最大传输单元,数据包长度过小也容易出现数据传输排队或丢包问题,导致延迟问题更加突出。因此,当客户端与发送端之间建立通信连接且向发送端发送数据传输请求时,发送端可以采用无应答模式且针对数据传输请求携带数据的封装要求和数据发送方式封装数据包并向客户端发送。也即,发送端使用ffmpeg框架对发送端所需的数据进行采集、解码、编码和压缩等处理,比如采用h.264编码算法将所采集的数据压缩编码为网络传输特性较好的数据包格式,再经由flv221封装规范将压缩编码后的数据封装为一个个数据包,最后采用用户数据报协议(user datagram protocol,udp)将封装后所得的数据包逐帧发送至服务器,以此结合ffmpeg框架具备的高移植性、实现灵活性和数据处理高效性,确定数据的采集频率和图像帧数,从而可以通过采用实时传输控制协议(real-time transport control protocol,rtcp)在数据源头控制流媒体质量和码率,实现了数据延迟可控的目的。
75.在图2中,发送端发送的数据包先逐帧传输至服务器,再经由服务器缓冲后逐帧转发时客户端;客户端与服务器之间可以一对一通信,也可以多对一通信,以此结合服务器缓冲方式降低传输延迟风险。
76.本发明提供的传输延迟时间测量方法,通过客户端向已建立通信连接的发送端发送携带数据封装要求和数据发送方式的数据传输请求的方式,确保客户端接收满足网络最大吞吐量及不超过网络最大传输单元带宽的数据包,实现了兼顾数据包传输实时性和流畅性的目的。
77.可选的,步骤110的实现过程可以包括:
78.首先,接收服务器逐帧传输的历史数据包;然后,基于预设的数据包接收协议,对所述历史数据包进行过滤;进一步按照预设文件格式,将过滤后的剩余历史数据包存储为数据包文件;最后,解析所述数据包文件中的时间戳信息并进行时间格式转化,得到所述剩余历史数据包所对应的历史时间间隔。
79.具体的,由于历史数据包为已接收到的各个数据包,比如服务器接收到的各个数据包。因此,当服务器接收到发送端发送的数据包时,可以逐帧向客户端发送,客户端也可以逐帧接收,并且,针对逐帧接收的数据包,客户端基于预设的数据包接收协议,将所接收到的数据包中与数据包接收协议不匹配的数据包过滤,以此得到过滤后的剩余历史数据
包,预设的数据包接收协议可以用于表征客户端所需数据包的接收指示。
80.然后,客户端再将过滤后的数据包以pacp文件格式进行存储,以此生成数据包文件,当需要计算历史时间间隔时,再将所存储的数据包文件进行解析,并将数据包文件中的时间戳信息转换为客户端的本机时间且精确到微妙,比如转为的时间格式为年/月/日/时/分/秒/微秒,以此准确记录每个历史数据包到达客户端的时间,并基于已到达的数据包中相邻两数据包达到客户端的时间之差,确定过滤后的剩余历史数据包所对应的历史时间间隔。
81.需要说明的是,客户端中还可以设置有数据包抓取单元,数据包抓取单元用于根据与发送端之间的数据包传输协议、服务器输出数据包的端口地址、发送端的源地址,抓取服务器转发至客户端的历史数据包并以pacp文件格式进行存储。
82.本发明提供的传输延迟时间测量方法,客户端针对服务器逐帧发送的数据包,通过先进行过滤、再以文件格式存储、后解析并进行时间格式转换的方式,获取历史数据包所对应的历史时间间隔。以此结合逐帧发送和逐帧接收的方式,避免了发送端和客户端必须同步的限制,并进一步结合过滤、存储和格式转换的方式,确保了客户端记录数据包达到客户端时间的精确性和易识别性,从而为后续精确测量传输延迟时间奠定基础。
83.可选的,当发送端的数量为多个时,所述基于预设的数据包接收协议,对所述历史数据包进行过滤,包括:
84.首先,将所述历史数据包依次写入接收缓冲区;然后,基于预设的数据包通信协议,从所述接收缓冲区中的所述历史数据包中筛选出第一历史数据包;最后,基于预设的数据包标识信息,将所述第一历史数据包中与所述数据包标识信息不匹配的数据包进行过滤。
85.具体的,客户端中可以预设缓冲区,且将该缓冲区具体划分为接收缓冲区和播放缓冲区,接收缓冲区可以采用先进先出队列结构。并且,当发送端有多个时,服务器可以接收每个发送端逐帧发送的数据包以及将对应发送端发送的数据包再分别转发至客户端,当客户端逐帧接收到各个历史数据包时,可以先将每个历史数据包依次插入到该先进先出队列结构直至其队尾,但是客户端可能并不需要接收每个发送端的数据包,因此,此时可以通过设置数据包通信协议限制所要接收的数据包及过滤不需要的数据包,该数据包通信协议可以用于表征客户端所请求发送数据包的发送端,以此实现过滤接收缓冲区内历史数据包中与数据包通信协议不匹配的数据包的目的,从而筛选出第一历史数据包。比如,发送端有三个且分别为发送端1、发送端2及发送端3,如果数据包通信协议表明客户端请求接收发送端2的数据包,则将从历史数据包中过滤发送端1和发送端3发送的数据包以及保留发送端2发送的数据包,此时所保留的发送端2发送的数据包即为第一历史数据包。
86.进一步的,针对该先进先出队列结构中的第一历史数据包,可以基于预设的数据包标识信息,可以从队尾向队头依次进行报头校验,数据包标识信息用于表征对应数据包的报头标识。比如,当发送端以udp向服务器发送数据包,服务器也采用udp向客户端逐帧转发数据包时,客户端接收到的每个数据包的报头可以至少表征对应数据包是否满足udp,也即判断每个第一历史数据包的报头是否为udp报头,并将udp报头对应的第一历史数据包作为有效数据包保留,将非udp报头的第一历史数据包作为无效数据包丢弃,以此从接收缓冲区的多个第一历史数据包中筛选出有效历史数据包。
87.需要说明的是,从接收缓冲区中的第一历史数据包中筛选出有效历史数据包时,可以根据数据包标识信息的不同进行对应验证,比如发送端针对所要发送的每个数据包会预先在其报头中分别设置表明对应数据包是否有效的标识信息,使得客户端逐帧收到每个数据包时能够快速准确的筛选出有效数据包。此处不作具体限定。另外,当发送端的数量为一个时,客户端经由服务器接收到该发送端逐帧发送的历史数据包时,可以将接收的每个历史数据包依次插入到先进先出队列结构直至其队尾,再基于预设的数据包标识信息,从该先进先出队列结构的队尾向队头依次进行报头校验,其报头验证过程与前述过程类似,此处不再赘述。
88.本发明提供的传输延迟时间测量方法,客户端将所接收的数据包写入接收缓冲区,先后基于数据包通信协议和数据包标识信息对接收缓冲区内的数据包进行过滤,以此结合客户端缓冲方式和客户端内存划分方式,减小数据包的丢失概率,提高传输数据包的稳定性和可靠性,从而也能降低传输延迟的发生概率。
89.可选的,在所述将所述第一历史数据包中与所述数据包标识信息不匹配的数据包进行过滤之后,所述方法还包括:
90.首先,将过滤后所得的第二历史数据包依次写入播放缓冲区;再进一步指示所述播放缓冲区对所述第二历史数据包进行整序后播放。
91.具体的,客户端针对接收缓冲区过滤后所得的第二历史数据包,先将该第二历史数据包依次写入播放缓冲区,然后针对写入播放缓冲区的各个第二历史数据包先指示其执行整序操作,这是由于客户端接收到的历史数据包经过滤后其次序已被打乱,因此为了确保播放效果,可先指示第二历史数据包进行整序之后再指示播放,以使得对整序后的第二历史数据包进行解码并渲染播放。
92.本发明提供的传输延迟时间测量方法,客户端针对过滤所得的第二历史数据包,先依次写入播放缓冲区,再进一步指示对第二实际数据包进行整序后再播放,以此结合客户端缓冲方式和整序方式,提高客户端播放视频的流畅性和可靠性。
93.可选的,在所述将所述历史数据包依次写入接收缓冲区之后,所述方法还包括:
94.获取所述历史数据包写入所述接收缓冲区的缓冲区容量;若确定所述缓冲区容量大于预设容量最大值,则指示发送端降低数据包发送速率;若确定所述缓冲区容量小于预设容量最小值,则指示所述发送端增加数据包发送速率。
95.具体的,客户端针对接收缓冲区中的历史数据包,可以根据该历史数据包所占空间指示发送端调整发送数据包的速率,也即,客户端中预先设置接收缓冲区的两个容量临界值,包括预设容量最大值和预设容量最小值,然后判断接收缓冲区内所写入的历史数据包所占的缓冲区容量分别与两个容量临界值之间的大小关系,若该缓冲区容量大于预设容量最大值,则指示发送端降低数据包发送速率,以此避免上溢风险;若该缓冲区容量小于预设容量最小值,则指示发送端增加数据包发送速率,以此避免下溢风险;若该缓冲区容量大于等于预设容量最小值且小于等于预设容量最大值,则指示发送端维持原有速率发送数据包。
96.需要说明的是,服务器可以利用flv文件的时间戳作为控制发送端的数据包发送速率的控制标准,在其缓冲区也预设两个临界值max和min,当服务器将接收到的历史数据包放入缓冲区时,可以监测缓冲区的容量与max和min之间的大小关系,当缓冲区的容量大
于max时,为避免上溢风险,可以指示发送端减小数据包发送速率;当缓冲区的容量小于min时,为避免下溢风险,可以指示发送端增大数据包发送速率;当缓冲区的容量大于等于min且小于等于max时,可以指示发送端按照原有速率发送数据包,以此解决网络条件极端不理想情况下的数据丢包问题。
97.本发明提供的传输延迟时间测量方法,客户端通过接收缓冲区内写入的历史数据包所占的缓冲区容量与预设容量最大值或容量最小值的大小关系,指示发送端降低或者增加数据包发送速率,以此提高发送端和客户端的灵活交互性,从而也有效降低了数据丢失率,确定数据传输的可靠性和稳定性。
98.可选的,步骤130的实现过程可以包括:
99.将所述预测时间间隔与所述当前数据包对应的实际时间间隔进行大小比较;确定所述实际时间间隔大于所述预测时间间隔时,基于所述实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间。
100.具体的,客户端针对服务器逐帧传输的当前数据包对应的预测时间间隔,可以先将该预测时间间隔与该当前数据包对应的实际时间间隔进行大小比较,当该实际时间间隔大于该预测时间间隔时,可以判定通信过程中发生较大传输延迟或链路中断、丢包等其它异常,此时可将该实际时间间隔与发送端的数据包发送时间间隔之差,确定为传输延迟时间并输出;反之,当该实际时间间隔小于等于该预测时间间隔时,表明当前没有传输延迟及异常,此时可针对下一正在传输的数据包进行预测并判断是否发生传输延迟。比如,当第n个实际时间间隔大于第n个预测时间间隔时,可以将第n个实际时间间隔与数据包发送时间间隔t之间的差值,作为传输延迟时间;反之,当第n个实际时间间隔小于等于第n个预测时间间隔时,可以将前n个历史时间间隔输入至预设延迟预测模型中,预测第n+1个预测时间间隔,再判断第n+1个预测时间间隔与第n+1个实际时间间隔的关系是否发生传输延迟,以此方式循环,直至测量传输延迟流程结束。
101.本发明提供的传输延迟时间测量方法,客户端判定服务器逐帧传输的当前数据包的实际时间间隔大于预测时间间隔时,通过将实际时间间隔与数据包发送时间间隔的差值确定为传输延迟时间的方式,提高了测量传输延迟时间的直观有效性和可靠稳定性。
102.可选的,所述预设延迟预测模型的训练过程包括:
103.首先,基于样本历史时间间隔,确定训练集和测试集;再进一步基于所述训练集对lstm模型进行训练,得到训练后的lstm模型;然后,基于所述测试集对所述训练后的lstm模型进行测试,得到测试结果;最后,基于所述测试结果与所述测试集之间的误差,确定所述训练后的lstm模型为预设延迟预测模型。
104.具体的,客户端接收并记录已到达的n个数据包各自对应的到达时间,以此得到n个到达时间,并以每两个到达时间的时间间隔为样本历史时间间隔,得到n-1个样本历史时间间隔,再进一步对该n-1个样本历史时间间隔进行归一化处理,生成样本数据集,将该样本数据集以p:q的预设比例划分为训练集和测试集,n为大于1的整数,p、q均为大于0的正整数,且p》q。
105.然后,设置初始训练次数m,并使用训练集对lstm模型进行训练,直至训练次数达到m,得到本轮训练后的lstm模型;再进一步使用测试集对本轮训练后的lstm模型进行测试,得到本轮测试结果,计算本轮测试结果与测试集中样本历史时间间隔之间的均方根误


t1,接着使用rmsprop一阶优化算法,通过梯度下降的方式对训练m次后的lstm模型进行模型参数优化,比如学习率的更新和下轮迭代次数的更新,使用更新后的迭代次数对本轮训练后的lstm模型再次进行训练,直至训练次数达到m,得到次轮训练后的lstm模型,再使用测试集对次轮训练后的lstm模型进行测试,得到次轮测试结果,并计算次轮测试结果与测试集中样本历史时间间隔之间的均方根误差

t2。以此方式不断进行训练和测试,直至所得到的均方根误差不再下降时停止训练和测试,并将均方根误差最小时对应的训练后的lstm模型确定为预设延迟预测模型。
106.需要说明的是,本发明实施例所提及的均方根误差可使用现有均方根误差的计算方法进行计算,此处不作具体限定。
107.本发明提供的传输延迟时间测量方法,通过先使用训练集训练lstm模型、后使得测试集测试训练后的lstm模型的方式,得到预设延迟预测模型,以此结合循环神经网络模型学习的方法,实现对下一时间间隔进行准确预测的目的,从而进一步提高了测量传输延迟时间的准确性。
108.可选的,针对lstm模型的训练,除了对每轮的迭代次数和模型参数进行更新外,还可以对每轮参与训练和测试的训练集和测试集进行更新。基于此,所述方法还可以包括:
109.基于预设时长内接收到的新的历史时间间隔,对所述训练集和所述测试集分别进行更新。
110.具体的,由于发送端的数据包发送时间间隔为t,因此为了提高模型精度,可以对每轮的训练集和测试集也进行更新,也即,客户端记录预设时长t内到达的新的历史时间间隔,并对该新的历史时间间隔进行归一化处理后再按p:q的预设比例分别划分至当前的训练集和测试集中,以此实现对训练集和测试集的更新。其中,t=ft,f为大于1的整数。
111.本发明提供的传输延迟时间测量方法,通过预设时长内到达客户端的新的历史时间间隔对训练集和测试集进行更新的方式,实现在更新每轮迭代次数和模型参数的同时也能够更新训练集和测试集的目的,相对于现有训练lstm模型的过程与预测过程分离的方式,本发明的训练过程和测试过程均依赖于最新获取的新的历史时间间隔,从而更进一步提高了预设延迟预测模型的精准性和稳定性。
112.基于前述实施例,图3是本发明提供的传输延迟时间测量方法的总体流程图,如图3所示,该传输延迟时间测量方法包括:
113.步骤310、发送端采用数据包发送时间间隔t向服务器逐帧发送数据包。
114.步骤320、服务器逐帧接收数据包并进行缓冲,然后再逐帧转发至客户端。
115.步骤330、客户端的接收缓冲区逐帧接收历史数据包,并对接收到的历史数据包进行过滤。
116.步骤340、客户端的接收缓冲区播放过滤后的历史数据包。其中,过滤后的历史数据包可以为前述实施例中的过滤后所得的第二历史数据包。
117.步骤350、客户端将过滤后的历史数据包以pscp格式存储为pacp文件。
118.步骤360、客户端解析存储的pacp文件,确定过滤后的历史数据包所对应的历史时间间隔。
119.步骤370、客户端将该历史时间间隔输入至预设延迟预测模型中后,得到逐帧传输的当前数据包对应的预测时间间隔。
120.步骤380、客户端基于预测时间间隔、当前数据包对应的实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间。
121.本发明提供的传输延迟时间测量方法,通过将服务器逐帧传输的历史数据包所对应的历史时间间隔输入至预设延迟预测模型的方式,预测逐帧传输的当前数据包对应的预测时间间隔,并基于该预测时间间隔、当前数据包对应的实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间。以此结合逐帧传输方式降低数据发送延时,实现兼顾整个传输系统的实时性和带宽利用率的目的,无需发送端和客户端时间同步,提高了传输延迟测量的适用性;进一步的,由于预设延迟预测模型是基于样本历史时间间隔训练lstm模型得到的模型,以此能够结合训练循环神经网络的方式,实现提高预测时间间隔的精准度的目的,从而也能有效提高传输延迟测量的精确性和可靠性。
122.下面对本发明提供的传输延迟时间测量装置进行描述,下文描述的传输延迟时间测量装置与上文描述的传输延迟时间测量方法可相互对应参照。
123.参照图4,为本发明实施例提供的传输延迟时间测量装置,在图4中,该传输延迟时间测量装置400,包括:
124.获取模块410,用于获取服务器逐帧传输的历史数据包所对应的历史时间间隔。
125.预测模块420,用于将所述历史时间间隔输入至预设延迟预测模型,得到所述逐帧传输的当前数据包对应的预测时间间隔;其中,所述预设延迟预测模型是基于样本历史时间间隔训练lstm模型得到的模型。
126.输出模块430,用于基于所述预测时间间隔、所述当前数据包对应的实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间。
127.可选的,获取模块410,具体可以用于接收服务器逐帧传输的历史数据包;基于预设的数据包接收协议,对所述历史数据包进行过滤;按照预设文件格式,将过滤后的剩余历史数据包存储为数据包文件;解析所述数据包文件中的时间戳信息并进行时间格式转化,得到所述剩余历史数据包所对应的历史时间间隔。
128.可选的,获取模块410,具体还可以用于建立与发送端之间的数据通信链路;向所述发送端发送数据传输请求,所述数据传输请求携带数据封装要求和数据发送方式;接收所述发送端针对所述数据传输请求发送的数据包。
129.可选的,获取模块410,具体还可以用于将所述历史数据包依次写入接收缓冲区;基于预设的数据包通信协议,从所述接收缓冲区中的所述历史数据包中筛选出第一历史数据包;基于预设的数据包标识信息,将所述第一历史数据包中与所述数据包标识信息不匹配的数据包进行过滤。
130.可选的,输出模块430,具体可以用于将所述预测时间间隔与所述当前数据包对应的实际时间间隔进行大小比较;确定所述实际时间间隔大于所述预测时间间隔时,基于所述实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间。
131.可选的,所述装置还可以包括播放模块,用于将过滤后所得的第二历史数据包依次写入播放缓冲区;指示所述播放缓冲区对所述第二历史数据包进行整序后播放。
132.可选的,所述装置还可以包括调整模块,用于获取所述历史数据包写入所述接收缓冲区的缓冲区容量;若确定所述缓冲区容量大于预设容量最大值,则指示发送端降低数据包发送速率;若确定所述缓冲区容量小于预设容量最小值,则指示所述发送端增加数据
包发送速率。
133.可选的,所述装置还可以包括训练模块,用于基于样本历史时间间隔,确定训练集和测试集;基于所述训练集对lstm模型进行训练,得到训练后的lstm模型;基于所述测试集对所述训练后的lstm模型进行测试,得到测试结果;基于所述测试结果与所述测试集之间的误差,确定所述训练后的lstm模型为预设延迟预测模型。
134.可选的,所述装置还可以包括更新模块,用于基于预设时长内接收到的新的历史时间间隔,对所述训练集和所述测试集分别进行更新。
135.图5示例了一种电子设备的实体结构示意图,如图5所示,该电子设备500可以包括:处理器(processor)510、通信接口(communicationsinterface)520、存储器(memory)530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信。处理器510可以调用存储器530中的逻辑指令,以执行传输延迟时间测量方法,该方法包括:
136.获取服务器逐帧传输的历史数据包所对应的历史时间间隔;
137.将所述历史时间间隔输入至预设延迟预测模型,得到所述逐帧传输的当前数据包对应的预测时间间隔;其中,所述预设延迟预测模型是基于样本历史时间间隔训练lstm模型得到的模型;
138.基于所述预测时间间隔、所述当前数据包对应的实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间。
139.此外,上述的存储器530中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
140.另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的传输延迟时间测量方法,该方法包括:
141.获取服务器逐帧传输的历史数据包所对应的历史时间间隔;
142.将所述历史时间间隔输入至预设延迟预测模型,得到所述逐帧传输的当前数据包对应的预测时间间隔;其中,所述预设延迟预测模型是基于样本历史时间间隔训练lstm模型得到的模型;
143.基于所述预测时间间隔、所述当前数据包对应的实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间。
144.又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的传输延迟时间测量方法,该方法包括:
145.获取服务器逐帧传输的历史数据包所对应的历史时间间隔;
146.将所述历史时间间隔输入至预设延迟预测模型,得到所述逐帧传输的当前数据包对应的预测时间间隔;其中,所述预设延迟预测模型是基于样本历史时间间隔训练lstm模型得到的模型;
147.基于所述预测时间间隔、所述当前数据包对应的实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间。
148.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
149.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
150.最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

技术特征:
1.一种传输延迟时间测量方法,其特征在于,包括:获取服务器逐帧传输的历史数据包所对应的历史时间间隔;将所述历史时间间隔输入至预设延迟预测模型,得到所述逐帧传输的当前数据包对应的预测时间间隔;其中,所述预设延迟预测模型是基于样本历史时间间隔训练lstm模型得到的模型;基于所述预测时间间隔、所述当前数据包对应的实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间。2.根据权利要求1所述的传输延迟时间测量方法,其特征在于,所述基于所述预测时间间隔、所述当前数据包对应的实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间,包括:将所述预测时间间隔与所述当前数据包对应的实际时间间隔进行大小比较;确定所述实际时间间隔大于所述预测时间间隔时,基于所述实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间。3.根据权利要求1所述的传输延迟时间测量方法,其特征在于,所述获取服务器逐帧传输的历史数据包所对应的历史时间间隔,包括:接收服务器逐帧传输的历史数据包;基于预设的数据包接收协议,对所述历史数据包进行过滤;按照预设文件格式,将过滤后的剩余历史数据包存储为数据包文件;解析所述数据包文件中的时间戳信息并进行时间格式转化,得到所述剩余历史数据包所对应的历史时间间隔。4.根据权利要求3所述的传输延迟时间测量方法,其特征在于,所述基于预设的数据包接收协议,对所述历史数据包进行过滤,包括:将所述历史数据包依次写入接收缓冲区;基于预设的数据包通信协议,从所述接收缓冲区中的所述历史数据包中筛选出第一历史数据包;基于预设的数据包标识信息,将所述第一历史数据包中与所述数据包标识信息不匹配的数据包进行过滤。5.根据权利要求4所述的传输延迟时间测量方法,其特征在于,在所述将所述第一历史数据包中与所述数据包标识信息不匹配的数据包进行过滤之后,所述方法还包括:将过滤后所得的第二历史数据包依次写入播放缓冲区;指示所述播放缓冲区对所述第二历史数据包进行整序后播放。6.根据权利要求4所述的传输延迟时间测量方法,其特征在于,在所述将所述历史数据包依次写入接收缓冲区之后,所述方法还包括:获取所述历史数据包写入所述接收缓冲区的缓冲区容量;若确定所述缓冲区容量大于预设容量最大值,则指示发送端降低数据包发送速率;若确定所述缓冲区容量小于预设容量最小值,则指示所述发送端增加数据包发送速率。7.根据权利要求1所述的传输延迟时间测量方法,其特征在于,在所述获取服务器逐帧传输的历史数据包所对应的历史时间间隔的步骤之前,所述方法还包括:
建立与发送端之间的数据通信链路;向所述发送端发送数据传输请求,所述数据传输请求携带数据封装要求和数据发送方式;接收所述发送端针对所述数据传输请求发送的数据包。8.根据权利要求1至7任一项所述的传输延迟时间测量方法,其特征在于,所述预设延迟预测模型的训练过程包括:基于样本历史时间间隔,确定训练集和测试集;基于所述训练集对lstm模型进行训练,得到训练后的lstm模型;基于所述测试集对所述训练后的lstm模型进行测试,得到测试结果;基于所述测试结果与所述测试集之间的误差,确定所述训练后的lstm模型为预设延迟预测模型。9.根据权利要求8所述的传输延迟时间测量方法,其特征在于,所述方法还包括:基于预设时长内接收到的新的历史时间间隔,对所述训练集和所述测试集分别进行更新。10.一种传输延迟时间测量装置,其特征在于,包括:获取模块,用于获取服务器逐帧传输的历史数据包所对应的历史时间间隔;预测模块,用于将所述历史时间间隔输入至预设延迟预测模型,得到所述逐帧传输的当前数据包对应的预测时间间隔;其中,所述预设延迟预测模型是基于样本历史时间间隔训练lstm模型得到的模型;输出模块,用于基于所述预测时间间隔、所述当前数据包对应的实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间。11.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至9任一项所述传输延迟时间测量方法。12.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述传输延迟时间测量方法。13.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述传输延迟时间测量方法。

技术总结
本发明提供一种传输延迟时间测量方法、装置、电子设备及存储介质,包括:获取服务器逐帧传输的历史数据包所对应的历史时间间隔;将历史时间间隔输入至预设延迟预测模型,得到逐帧传输的当前数据包对应的预测时间间隔,预设延迟预测模型是基于样本历史时间间隔训练LSTM模型得到的模型;基于预测时间间隔、当前数据包对应的实际时间间隔和发送端的数据包发送时间间隔,输出传输延迟时间。以此结合逐帧传输方式降低数据发送延时,实现兼顾整个传输系统的实时性和带宽利用率的目的;无需发送端和客户端时间同步,提高了传输延迟测量的适用性;结合训练循环神经网络的方式,提高了预测时间间隔的精准度,也提高了传输延迟测量的精确性和可靠性。确性和可靠性。确性和可靠性。


技术研发人员:史维峰 王瑞 杨文 王洪伟 张德强 关则彬 赵颖 柳青红 刘浩朋 袁碧懋 杨雪 罗浩 胡昊 王悉 孙运昌 朱力 杨琦 徐成伟 沈敬伟 匡建立 沙兰可 许占华 熊伟 陈双双 刘艳波 王昊 温桂玉 王文华 董学娟 邹易璋
受保护的技术使用者:北京经纬信息技术有限公司 中国铁道科学研究院集团有限公司
技术研发日:2022.06.22
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-7336.html

最新回复(0)