基于TCP网络的性能探测方法、装置、设备和存储介质制造方法及图纸

技术编号:33133467 阅读:21 留言:0更新日期:2022-04-17 00:54
本公开提供了一种基于TCP网络的性能探测方法、装置、设备和存储介质,涉及计算机技术领域,尤其涉及云计算和信息流技术领域。具体实现方案为:获取TCP网络中至少两个数据片的开始收取时间和结束收取时间;根据TCP网络中数据包的尺寸,与所述至少两个数据片的开始收取时间和结束收取时间,确定应用程序对TCP网络的性能探测结果;所述性能探测结果包括丢包探测结果和/或带宽探测结果。本公开实施例能够实现应用层对TCP网络的性能探测。实现应用层对TCP网络的性能探测。实现应用层对TCP网络的性能探测。

【技术实现步骤摘要】
基于TCP网络的性能探测方法、装置、设备和存储介质


[0001]本公开涉及计算机
,尤其涉及云计算和信息流
,具体涉及一种基于TCP网络的性能探测方法、装置、电子设备和计算机可读存储介质。

技术介绍

[0002]随着移动互联网技术的快速发展,对移动终端中应用程序的网络性能要求越来越高。应用程序可以基于TCP(Transmission Control Protocol,传输控制协议)进行数据传输。TCP网络的性能直接影响应用程序的流畅度。

技术实现思路

[0003]本公开提供了一种用于基于TCP网络的性能探测方法、装置、电子设备和存储介质。
[0004]根据本公开的一方面,提供了一种基于TCP网络的性能探测方法,包括:
[0005]获取TCP网络中至少两个数据片的开始收取时间和结束收取时间;根据TCP网络中数据包的尺寸,与所述至少两个数据片的开始收取时间和结束收取时间,确定应用程序对TCP网络的性能探测结果;所述性能探测结果包括丢包探测结果和/或带宽探测结果。
[0006]根据本公开的又一方面,提供了一种基于TCP网络的性能探测装置,包括:
[0007]时间获取模块,用于获取TCP网络中至少两个数据片的开始收取时间和结束收取时间;
[0008]性能探测模块,用于根据TCP网络中数据包的尺寸,与所述至少两个数据片的开始收取时间和结束收取时间,确定应用程序对TCP网络的性能探测结果;所述性能探测结果包括丢包探测结果和/或带宽探测结果。
[0009]根据本公开的又一方面,提供了一种电子设备,包括:
[0010]至少一个处理器;以及
[0011]与所述至少一个处理器通信连接的存储器;其中,
[0012]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开任意实施例所提供的基于TCP网络的性能探测方法。
[0013]根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开任意实施例所提供的基于TCP网络的性能探测方法。
[0014]根据本公开的又一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开任意实施例所提供的基于TCP网络的性能探测方法。
[0015]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0016]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0017]图1是根据本公开实施例提供的一种基于TCP网络的性能探测方法的示意图;
[0018]图2是根据本公开实施例提供的另一种基于TCP网络的性能探测方法的示意图;
[0019]图3a是根据本公开实施例提供的又一种基于TCP网络的性能探测方法的示意图;
[0020]图3b是根据本公开实施例提供的一种数据片组的划分示意图;
[0021]图4是根据本公开实施例提供的又一种基于TCP网络的性能探测方法的示意图;
[0022]图5是根据本公开实施例提供的一种基于TCP网络的性能探测装置的示意图;
[0023]图6是用来实现本公开实施例的基于TCP网络的性能探测方法的电子设备的框图。
具体实施方式
[0024]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0025]以下结合附图,对本公开实施例提供的该方案进行详细说明。
[0026]图1是根据本公开实施例提供的一种基于TCP网络的性能探测方法的示意图,本公开实施例可适用于应用程序对TCP网络进行性能探测的情况。该方法可由一种基于TCP网络的性能探测装置来执行,该装置可采用硬件和/或软件的方式来实现,可为应用程序客户端。该装置可配置于电子设备中。参考图1,该方法具体包括如下:
[0027]S110、获取TCP网络中至少两个数据片的开始收取时间和结束收取时间;
[0028]S120、根据TCP网络中数据包的尺寸,与所述至少两个数据片的开始收取时间和结束收取时间,确定应用程序对TCP网络的性能探测结果;所述性能探测结果包括丢包探测结果和/或带宽探测结果。
[0029]在本公开实施例中,通信协议的数据包包头中包括待发送数据包的尺寸,即接下来需要发送的数据大小。在数据包尺寸大于TCP网络中最大传输单元(Maximum Transmission Unit,MTU)的尺寸情况下,应用程序的服务端可以将数据包进行拆分成至少两个数据片,且向应用程序的客户端发送至少两个数据片。以任一数据包的尺寸大于5个MTU,且小于6个MTU为例,则可以该数据包拆分成6个数据片。
[0030]在应用程序的客户端基于TCP连接从服务端获取资源数据的过程中,客户端可以解析数据包的包头得到数据包的尺寸,客户端还可以使用足够大的缓存区存储从服务端接收的数据片,在收取数据片时,还可以记录数据片的开始收取时间和结束收取时间。
[0031]并且,应用程序的客户端可以根据数据包的尺寸、数据片的开始收取时间和数据片的结束收取时间,对TCP网络进行丢包和实际带宽探测,从而确定TCP网络中是否存在丢包,确定TCP网络中的实际带宽。
[0032]相关技术中TCP通信协议中,通过操作系统处理丢包、重发,操作系统不会向应用层反馈丢包情况和带宽情况。本公开实施例通过调整TCP通信协议,实现了应用程序的客户端对丢包、实际网络带宽的探测,为应用程序使用TCP网络的性能探测结果奠定基础。
[0033]本公开实施例的技术方案,实现了应用程序的客户端对TCP通信协议的丢包探测、
实际带宽探测,为根据丢包探测结果、带宽探测结果调整应用程序奠定基础,能够提高应用程序的性能。
[0034]图2是根据本公开实施例提供的另一种基于TCP网络的性能探测方法的示意图。本实施例是在上述实施例的基础上提出的一种可选方案。参见图2,本实施例提供的基于TCP网络的性能探测方法包括:
[0035]S210、获取TCP网络中至少两个数据片的开始收取时间和结束收取时间;
[0036]S220、根据TCP网络中数据包的尺寸,确定所述数据包是否满足丢包探测条件;
[0037]S230、在任一数据包满足所述丢包探测条件的情况下,根据该数据包中至少两个数据片的开始收取时间和结束收取时间,确定该数据包中是否存在丢包,得到应用程序对TCP网络的丢包探测结果。
[0038]在本公开实施例中,可以根据TCP网络中待发送数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于TCP网络的性能探测方法,包括:获取TCP网络中至少两个数据片的开始收取时间和结束收取时间;根据TCP网络中数据包的尺寸,与所述至少两个数据片的开始收取时间和结束收取时间,确定应用程序对TCP网络的性能探测结果;所述性能探测结果包括丢包探测结果和/或带宽探测结果。2.根据权利要求1所述的方法,其中,所述根据TCP网络中数据包的尺寸,与所述至少两个数据片的开始收取时间和结束收取时间,确定应用程序对TCP网络的性能探测结果,包括:根据TCP网络中数据包的尺寸,确定所述数据包是否满足丢包探测条件;在任一数据包满足所述丢包探测条件的情况下,根据该数据包中至少两个数据片的开始收取时间和结束收取时间,确定该数据包中是否存在丢包,得到应用程序对TCP网络的丢包探测结果。3.根据权利要求2所述的方法,其中,所述丢包探测条件为数据包的尺寸等于或大于TCP网络中N个最大传输单元的尺寸;所述根据该数据包中至少两个数据片的开始收取时间和结束收取时间,确定该数据包中是否存在丢包,包括:确定该数据包中第i个数据片的结束收取时间和第i+1个数据片的开始收取时间之间的时间间隔;在所述时间间隔大于丢包参考基准的情况下,确定第i个数据片和第i+1个数据片之间存在丢包;所述丢包参考基准根据心跳包的收发延迟确定。4.根据权利要求1所述的方法,其中,根据TCP网络中数据包的尺寸,与所述至少两个数据片的开始收取时间和结束收取时间,确定应用程序对TCP网络的性能探测结果,包括:根据TCP网络中数据包的尺寸,对TCP网络中的至少两个数据片进行分组,得到至少两个数据片组;根据所述数据片组的开始收取时间和结束收取时间,确定所述数据片组的传输时间;根据所述数据片组的传输时间,确定TCP网络的实际带宽,作为应用程序对TCP网络的带宽探测结果。5.根据权利要求4所述的方法,其中,所述根据TCP网络中数据包的尺寸,对TCP网络中的至少两个数据片进行分组,包括:在根据所述TCP网络中数据包的尺寸,确定同一数据包中相邻两个数据片之间存在丢包的情况下,将该相邻两个数据片划分到不同数据片组;在根据所述TCP网络中数据包的尺寸,确定不同数据包中相邻两个数据片之间的时间间隔大于时间阈值的情况下,将该相邻两个数据片划分到不同数据片组。6.根据权利要求4所述的方法,其中,所述根据所述数据片组的传输时间,确定TCP网络的实际带宽,包括:通过如下公式,确定所述TCP网络的实际带宽:W=(D

M
×
MTU)/∑Tj其中,W为TCP网络的实际带宽,D为设定的第一时长范围内传输的总数据量,M为第一时长范围内的数据片组数量,MTU为最大传输单元的数据量,Tj为设定时间范围内第j个数据
片组的传输时间。7.根据权利要求1

6中任一项所述的方法,还包括:根据应用程序对TCP网络的性能探测结果,向应用程序的服务端发送资源传输过程的码率调整请求,用于指示服务端调整资源传输过程的码率。8.根据权利要求7所述的方法,其中,所述根据应用程序对TCP网络的性能探测结果,向应用程序的服务端发送资源传输过程的码率调整请求,包括:在设定的第二时长范围内,丢包数量达到丢包数量阈值且TCP网络的实际带宽小于或等于第一带宽阈值的情况下,根据所述TCP网络的实际带宽向应用程序的服务端发送码率下降请求;在设定的第二时长范围内,没有丢包且TCP网络的实际带宽等于或大于第二带宽阈值的情况下,根据所述TCP网络的实际带宽向应用程序的服务端发送码率恢复请求。9.基于TCP网络的性能探测装置,包括:时间获取模块,用于获取TCP网络中至少两个数据片的开始收取时间和结束收取时间;性能探测模块,用于根据TCP网络中数据包的尺寸,与所述至少两个数据片的开始收取时间和结束收取时间,...

【专利技术属性】
技术研发人员:黄坚马伟翔
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1