CN112822230B - 一种基于概率的发送端初始速率设置方法和系统 - Google Patents
一种基于概率的发送端初始速率设置方法和系统 Download PDFInfo
- Publication number
- CN112822230B CN112822230B CN202011576467.2A CN202011576467A CN112822230B CN 112822230 B CN112822230 B CN 112822230B CN 202011576467 A CN202011576467 A CN 202011576467A CN 112822230 B CN112822230 B CN 112822230B
- Authority
- CN
- China
- Prior art keywords
- throughput
- client
- initial
- sending
- rate
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- 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/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于概率的发送端初始速率设置方法,包括:对数据发送请求的头部字段进行识别,判断该客户端是否支持初始发送速率设置策略;抽取数据发送请求头部字段中包含的该客户端对应的历史吞吐量分布模型参数,计算初始发送速率;采用滑动窗口的方式进行吞吐量采样,结合采样结果更新该客户端对应的吞吐量分布模型参数,直至数据传输结束;通知客户端更新其自身存储的历史吞吐量分布模型参数,并且在下一次请求数据发送时,将更新后的历史吞吐量分布模型参数作为头部字段之一发送给服务端。本发明能够根据不同的客户端自适应设置不同的初始发送速率,改善了服务端对小文件的传输性能,提升了客户端的用户体验。
Description
技术领域
本发明涉及计算机网络通信技术领域,具体而言涉及一种基于概率的发送端初始速率设置方法和系统。
背景技术
随着移动互联网的发展,小文件传输在互联网上的占比越来越大,初始发送速率对小文件比如web类型的应用的传输性能有严重影响,因此如果能够针对每条连接或者每个请求设置合适的初始发送速率,对于改善用户体验将有重大帮助。
对于传输控制协议(Transmission Control Protocol,TCP)而言,其职责是根据客户端或中间设备的反馈实时调整发送端的发送速率,确保数据能够在尽可能快的时间到达客户端,同时尽可能不影响网络中其他数据流的性能。在连接建立初期,由于发送端并不知道当前的网络状态如何,需要从较低的发送速率(对于TCP协议为默认10个数据包)来探测合适的发送速率,以避免初始发送速度过大导致的严重的丢包情况。同时随着网络技术的发展,传输层的初始发送速率(初始窗口大小)几经更改,用以拟合初始发送速率和网络平均质量的差异。
但是,由于每个连接的网络质量不尽相同,使用统一的初始发送速率并不是最优的,对于网络质量差的连接,使用传输层默认的初始发送速率可能过大,对于网络质量好的连接,使用传输层默认的初始发送速率可能过小。现有的传输层的机制并不能够解决这种问题,因为其并不能够感知每个连接或者请求的上下文,即不能够根据其历史连接信息来自适应当前连接的初始发送速率。一方面如果服务端缓存这些历史请求的性能信息,会对服务端的负载有巨大的挑战,并不具备可扩展性;另一方面,随着技术的发展,越来越多的服务通过移动应用向用户提供服务,这给了服务提供者更大的自由度来改善用户体验,因为不仅仅是服务端而且包括客户端都可以被服务提供者控制,进而可以联合二者综合优化,但是现有的机制,仅仅是对所有连接使用同一套初始发送速率值,并没有考虑利用客户端来进行每个连接或者请求的初始发送速率自适应。
现有的传输控制协议并不能够根据历史数据感知连接的网络质量信息,仅仅对所有的连接使用同样的初始发送速率。对于网络质量差的连接,默认初始速率会偏大,对于网络质量好的连接,默认初始发送速率会偏小,并且对于小文件传输,错误的初始发送速率将极大地影响用户体验。由此,如何针对不同的连接,根据他们各自的网络质量设置合适的初始发送速率是一个亟需解决的问题。
发明内容
本发明针对现有技术中的不足,提供一种基于概率的发送端初始速率设置方法和系统,通过对客户端历史吞吐量分布进行统计和分析,使得服务端能够根据不同的客户端自适应设置不同的初始发送速率,改善了服务端对小文件的传输性能,提升了客户端的用户体验。
为实现上述目的,本发明采用以下技术方案:
一种基于概率的发送端初始速率设置方法,所述发送端初始速率设置方法包括以下步骤:
S1,接收客户端发送的数据发送请求,对数据发送请求的头部字段进行识别,判断该客户端是否支持初始发送速率设置策略以及是否包含历史吞吐量分布模型参数,如果该客户端既支持初始发送速率设置策略又包含历史吞吐量分布模型参数,进入步骤S2,否则,按照默认初始发送速率发送数据,结束流程;
S2,抽取数据发送请求头部字段中包含的该客户端对应的历史吞吐量分布模型参数,将其作为该客户端对应的本次请求的吞吐量分布模型参数,计算初始发送速率,按照计算得到的初始发送速率响应客户端请求发送数据;
其中,在响应客户端请求发送数据时,采用滑动窗口的方式进行吞吐量采样,并且结合采样结果更新该客户端对应的吞吐量分布模型参数,直至数据传输结束;
S3,将更新后的吞吐量分布模型参数发送至客户端,通知客户端更新其自身存储的历史吞吐量分布模型参数,并且在下一次请求数据发送时,将更新后的历史吞吐量分布模型参数作为头部字段之一发送给服务端。
为优化上述技术方案,采取的具体措施还包括:
进一步地,所述客户端将更新后的历史吞吐量分布模型参数与该客户端对应的IP地址绑定后存储,并且在每次发起请求时,通过当前自身的IP地址检索是否存在已缓存的历史吞吐量分布模型参数。
进一步地,步骤S2中,所述采用滑动窗口的方式进行吞吐量采样,并且结合采样结果更新该客户端对应的吞吐量分布模型参数的过程包括以下过程:
每隔固定的时间间隔T,统计该段时间内的平均吞吐量,作为一个采样值;每获取一个采样值,立即更新吞吐量分布模型参数,直至数据传输结束;其中,在数据传输结束之时,如果不足一个采样时间间隔的传输时长,按照一个时间间隔计
进一步地,步骤S2中,所述计算初始发送速率的过程包括以下步骤:
S21,根据历史吞吐量分布模型参数分析得到吞吐量分布;
S22,采用统计范围、划分数目和样本数目这三类参数来刻画吞吐量分布,并且通过刻画吞吐量的经验分布来近似其真实分布情况;
其中,统计范围表示历史吞吐量的分布范围,由区间[l,u]表示,l表示采样得到的吞吐量的下界,u表示采样得到的吞吐量的上界,均以统计粒度为单位;划分数目N表示将区间[l,u]等间距划分为N份,其中第i个间隔用区间间隔[li,ui]表示,每个区间间隔大小为(u-l)/N;样本数目M表示采样得到的吞吐量大小处于每个区间间隔之内的样本数目为M个;
S23,根据吞吐量分布的峰值以及分布在峰值处的集中程度来选择初始发送速率。
进一步地,步骤S23中,所述根据吞吐量分布的峰值以及分布在峰值处的集中程度来选择初始发送速率的过程包括以下步骤:
S231,根据由历史吞吐量分布模型参数刻画出的吞吐量分布,得到可能性最大的吞吐量区间间隔,以及在其相邻k个区间内的样本数占总样本数的比例r;
S232,对比例r进行分析,如果比例r大于预设的比例阈值S,则判定吞吐量分布足够集中在峰值附近,k和s根据需求自由配置,设置初始发送速率为峰值所处间隔的下界li对应的吞吐量大小;否则,判定吞吐量分布不足够集中,设置初始发送速率为吞吐量分布的下界l对应的吞吐量大小和默认初始发送速率的最大值。
进一步地,步骤S2中,所述按照计算得到的初始发送速率响应客户端请求发送数据的过程包括:
根据初始发送速率对应的控制算法类型对选定的初始发送速率v做相应的转化。
进一步地,对于基于拥塞窗口控制初始发送速率的算法,在握手阶段,由当前RTT和选定的初始发送速率v计算出当前拥塞窗口大小w=RTT*v,并将当前拥塞窗口大小w设为该计算值与默认窗口大小之间的最大值。
进一步地,对于基于速率控制初始发送速率的算法,则根据当前RTT大小,将初始发送速率v转化为RTT的时间精度,在转化完成之后,按照原算法的逻辑响应客户端请求数据。
进一步地,步骤S3中,所述将更新后的吞吐量分布模型参数发送至客户端,通知客户端更新其自身存储的历史吞吐量分布模型参数的过程包括以下步骤:
根据采样吞吐量大小位于哪个区间间隔来更新该区间间隔样本数目计数,如吞吐量大小不处于[l,u]之内,即不处于历史采样最小值和历史采样最大值之内,则更新相应的最小值和最大值,同时,拓展相应的区间数目使其恰好包含更新后的最小值和最大值。
本发明还提及一种基于概率的发送端初始速率设置系统,所述发送端初始速率设置系统包括:
请求接收和处理装置,用于接收客户端发送的数据发送请求,对数据发送请求的头部字段进行识别,判断该客户端是否支持初始发送速率设置策略以及是否包含历史吞吐量分布模型参数,将判断结果发送至初始速率计算和应用装置;
初始速率计算和应用装置,用于根据请求接收和处理装置发送的判断结果选择对应的初始发送速率响应请求,如果该客户端既支持初始发送速率设置策略又包含历史吞吐量分布模型参数,抽取数据发送请求头部字段中包含的该客户端对应的历史吞吐量分布模型参数,将其作为该客户端对应的本次请求的吞吐量分布模型参数,计算初始发送速率,按照计算得到的初始发送速率响应客户端请求;否则,按照默认初始发送速率发送数据;
吞吐量采样和恢复装置,响应于该客户端支持初始发送速率设置策略,在初始速率计算和应用装置响应客户端请求发送数据时,采用滑动窗口的方式进行吞吐量采样,并且结合采样结果更新该客户端对应的吞吐量分布模型参数,直至数据传输结束,将更新后的吞吐量分布模型参数发送至客户端,通知客户端更新其自身存储的历史吞吐量分布模型参数,并且在下一次请求数据发送时,将更新后的历史吞吐量分布模型参数作为头部字段之一发送给服务端。
本发明的有益效果是:
(1)通过对客户端历史吞吐量分布进行统计和分析,使得服务端能够根据不同的客户端自适应设置不同的初始发送速率,解决的现有技术的不足之处,改善了服务端对小文件的传输性能,减少了数据传递时间,提升了客户端的用户体验。
(2)具有兼容已有通信协议规范,轻负载,可扩展等一系列优点。实现了初始速率恢复和现有传输机制的兼容,无需对客户端进行大量的改造。
附图说明
图1是本发明的基于概率的发送端初始速率设置方法流程图。
图2是本发明的吐量分布模型参数更新过程示意图。
图3是本发明的基于概率的发送端初始速率设置系统的结构示意图。
具体实施方式
现在结合附图对本发明作进一步详细的说明。
需要注意的是,发明中所引用的如“上”、“下”、“左”、“右”、“前”、“后”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
具体实施例一
结合图1,本发明提及一种基于概率的发送端初始速率设置方法,所述发送端初始速率设置方法包括以下步骤:
S1,接收客户端发送的数据发送请求,对数据发送请求的头部字段进行识别,判断该客户端是否支持初始发送速率设置策略以及是否包含历史吞吐量分布模型参数,如果该客户端既支持初始发送速率设置策略又包含历史吞吐量分布模型参数,进入步骤S2,否则,按照默认初始发送速率发送数据,结束流程。
S2,抽取数据发送请求头部字段中包含的该客户端对应的历史吞吐量分布模型参数,将其作为该客户端对应的本次请求的吞吐量分布模型参数,计算初始发送速率,按照计算得到的初始发送速率响应客户端请求发送数据。
其中,在响应客户端请求发送数据时,采用滑动窗口的方式进行吞吐量采样,并且结合采样结果更新该客户端对应的吞吐量分布模型参数,直至数据传输结束。
S3,将更新后的吞吐量分布模型参数发送至客户端,通知客户端更新其自身存储的历史吞吐量分布模型参数,并且在下一次请求数据发送时,将更新后的历史吞吐量分布模型参数作为头部字段之一发送给服务端。
本发明通过服务端与客户端有效合作,通过约定请求头部信息标识是否支持初始发送速率设置,以及标准化吞吐量分布模型沟通规范等方式,在尽可能保证兼容性以及实用性的前提下,使服务端可以根据客户端请求头部信息识别是否需要进行自适应初始发送速率设置,以及如何进行初始发送速率设置。本发明所提出的方法具有兼容已有通信协议规范,轻负载,可扩展等一系列优点;实现了初始速率恢复和现有传输机制的兼容,无需对客户端进行大量的改造。
服务端在响应客户端请求发送数据时采用滑动窗口的方式来进行吞吐量采样,具体来说,每隔固定的时间间隔T,统计一下该段时间内的平均吞吐量,而后利用该采样值,更新其概率模型参数,服务端并不存储吞吐量采样值;客户端在建立连接发起请求的同时,将其所有的吞吐量分布模型的参数发送给服务端,服务端负责根据这些参数重建历史吞吐量分布,并根据该分布计算合适的初始发送速率,客户端同样并不存储任何历史吞吐量采样值,在服务端响应完成之后,服务端将更新后的模型参数发送给客户端,客户端存储并更新其吞吐量分布模型的参数。
具体的,本发明的发送端初始速率设置方法包括以下步骤:
步骤1,传递模型参数:客户端在请求头部(如HTTP请求头部)字段标识自己是否支持初始发送速率设置,如是,将其历史吞吐量分布模型的参数添加到该头部字段之中,并随HTTP请求一同发送给服务端。
步骤2,设置初始发送速率:服务端检查HTTP头部字段,确认是否支持初始速率设置,如是,通过接收的吞吐量分布模型参数计算初始发送速率,并按照该速率响应客户端请求数据,如果不支持或吞吐量分布模型为空,则按照默认初始发送速率发送数据。
步骤3,吞吐量采样和模型更新:服务端在响应客户端请求发送数据时采用滑动窗口的方式来进行吞吐量采样,具体来说,每隔固定的时间间隔T,统计一下该段时间内的平均吞吐量,而后利用该采样值,更新其概率模型参数。每获取一个采样值,就立即更新模型参数,直至数据传输结束,在传输结束之时,不足一个采样时间间隔的传输时长,按照一个时间间隔计。
步骤4,模型存储与持久化:服务端在最后一次更新完毕模型参数之后,将更新后的模型参数发送给客户端,由客户端存储其吞吐量分布模型的参数,以便下一次连接建立时,将其发送给服务端,而服务端并不存储任何客户端的吞吐量采样数据和分布模型的信息,同时,客户端在收到该吞吐量分布模型参数时,将自身的IP地址与其绑定(存储为keyvalue pair),当网络环境发生变化之时,比如从wifi网络切换至4G网络,客户端的IP地址会发生改变,当客户端再一次发起请求时,会通过当前自身的IP检索是否存在已缓存的模型参数,如存在,则将该分布模型参数发送给客户端,如不存在,则在请求字段中设置模型参数为空。
服务端利用客户端发送而来的吞吐量分布模型参数来计算初始发送速率,这模型参数描述了客户端历史吞吐量分布情况,分布集中程度描述了该客户端的网络质量稳定程度,分布峰值描述了客户端最可能具备的网络质量情况,服务端根据该分布可以得到客户端的网络质量信息,以及确定最合适的初始发送速率,并根据该速率发送响应数据给客户端。
在本发明中,初始发送速率的设置过程包括以下步骤:
一、根据模型参数刻画吞吐量分布:
吞吐量分布由统计范围,划分数目,样本数目这三类参数来刻画,具体来说,我们通过刻画吞吐量的经验分布来近似其真实分布情况,统计范围表示历史吞吐量的分布范围,由区间[l,u]表示,l表示采样得到的吞吐量的下界,以统计粒度为单位(即下文中的间隔或区间大小)来表示,u表示采样得到的吞吐量的上界,同样由统计粒度为单位来表示;划分数目代表划分下界l至上界u为间隔相等的几份,划分数目为N,代表将[l,u]等间距划分为N份,其中第i个间隔用区间[li,ui]表示,区间(间隔)大小为(u-l)/N;样本数目代表采样得到的吞吐量大小处于每个区间之内的样本数目,共N个值,即对应每个区间之内的样本数目。通过这些参数,我们可以得知客户端的历史吞吐量分布,并由此选择合适的初始发送速率。
二、根据模型分布选择合适的初始发送速率:
本发明根据吞吐量分布的峰值以及分布在峰值处的集中程度来选择初始发送速率。具体来说,根据由模型参数刻画出的吞吐量分布,可以得到吞吐量处于哪一个区间(间隔)的可能性更大,假如为第i区间[li,ui],以及在其相邻k个区间内的样本数占总样本数的比例r,如果r大于某一阈值s,则认为吞吐量分布足够集中在峰值附近(k和s由服务提供商根据需求自由配置),此时,设置初始发送速率为峰值所处间隔的下界li对应的吞吐量大小,否则认为吞吐量分布不足够集中,亦即客户端所处网络质量随机波动太大,没有统计上稳定的网络质量分布,此时,设置初始发送速率为吞吐量分布的下界l对应的吞吐量大小和默认初始发送速率的最大值(如果是基于窗口的算法,直接选择吞吐量分布的下界l对应的吞吐量大小作为初始发送速率)。
三、根据选定的初始发送速率响应客户端请求数据:
由于传输算法的多样性,在响应客户端请求数据时,需要根据算法的特点对选定的初始发送速率v做相应的转化。对于基于拥塞窗口控制发送速率的算法,需要将选定的初始发送速率v转化为对应的拥塞窗口大小,具体来说,在握手阶段(比如TCP建立连接阶段需要三次握手),服务端已经采样得到了当前具体的RTT(round trip time)大小,由当前RTT和选定的初始发送速率v计算出相应的窗口大小w=RTT*v,并将当前拥塞窗口大小设为该值与默认窗口大小之间的最大值;对于基于速率(pacing rate)的算法,则根据当前RTT大小,适当地对初始发送速率v进行换算为RTT的时间精度即可。在转化完成之后,按照原有传输算法的逻辑响应客户端请求数据即可。在发送数据的过程中,如前所述,同时根据采样得到的吞吐量大小更新模型参数的值,具体来说,根据采样吞吐量大小位于哪个区间来更新该区间样本数目计数,如吞吐量大小(以统计粒度为单位)不处于[l,u]之内,即不处于历史采样最小值和历史采样最大值之内,则更新相应的最小值和最大值,同时,拓展相应的区间数目使其恰好包含更新后的最小值和最大值。
具体实施例二
本发明适用于以小文件为主的文件传输场景的服务,比如web服务等。下面以其中一种小文件传输为例进行方法说明。
情况一:假设客户端发起请求,并检索当前IP得知并未缓存相应的模型参数,因此将模型参数字段设置为空,并启用初始速率设置,则整体上,该情况的实施步骤如下:
步骤一:客户端将模型参数以及启用初始速率设置的标志字段随数据请求一同发送给服务端。
步骤二:服务端检查初始速率设置的标志字段,得知客户端支持初始速率设置,并检查模型参数字段,得知模型参数为空,设置初始发送速率为默认初始发送速率。
步骤三:服务端响应客户端请求,同时每隔固定时间间隔T计算该间隔内的平均吞吐量,对于第一个和第二个采样值v1和v2,设置采样吞吐量粒度g为max(|v2-v1|/10,max(v2,v1)/10)(|·|表示取绝对值),表示取前两次采样波动大小的1/10和采样值本身绝对大小的1/10之中的最大值,设置此刻吞吐量分布下界l为上界u为(表示取下整,表示取上整),同时设置划分数目N为u-l+1,并且第一个区间和最后一个区间样本数目为1,其他均为0。
步骤四:对于新的采样吞吐量vi,如果其大小位于[l*g,u*g]之内,则在对其相应的区间的样本数目计数加一,若其小于l*g,则更新吞吐量分布下界l为同时更新划分数目N:u-l+1,设置第一个区间样本数目为1;若其大于u*g,则更新吞吐量分布上界为同时更新分化数目N:u-l+1,设置最后一个区间样本数目为1。
步骤五:在响应数据发送完毕之后,服务端将更新后的模型参数发送给客户端。
步骤六:客户端收到更新后的模型参数之后,将当前接收响应数据的IP作为key,查询是否已有相应于该IP地址的旧有的模型参数,如果存在,则替换为更新后的模型参数,如果不存在则创建新的IP地址模型参数对:{IP:模型参数},并将其缓存。
情况二:假如客户端发起请求,并检索当前IP得知已缓存相应的模型参数,因此将模型参数字段设置为该缓存的模型参数,并启用初始速率设置,则整体上,该情况的的实施步骤如下:
步骤一:客户端将模型参数以及启用初始速率设置的标志字段随数据请求一同发送给服务端。
步骤二:服务端检查初始速率设置的标志字段,得知客户端支持初始速率设置,并检查模型参数字段,根据由模型参数刻画出的吞吐量分布,评估峰值所在区间[li,ui]其相邻k个区间内的样本数占总样本数的比例r,如果r大于某一阈值s,设置初始发送速率为峰值所处间隔的下界li对应的吞吐量大小,否则设置初始发送速率为吞吐量分布的下界l对应的吞吐量大小和默认初始发送速率的最大值(如果是基于窗口的算法,直接选择吞吐量分布的下界l对应的吞吐量大小作为初始发送速率)。
步骤三:服务端响应客户端请求,同时每隔固定时间间隔T计算该间隔内的平均吞吐量,对于新的采样吞吐量vj,如果其大小位于[l*g,u*g]之内,则在对其相应的区间的样本数目计数加一,若其小于l*g,则更新吞吐量分布下界l为同时更新划分数目N:u-l+1,设置第一个区间样本数目为1;若其大于u*g,则更新吞吐量分布上界为同时更新分化数目N:u-l+1,设置最后一个区间样本数目为1。
步骤四:在响应数据发送完毕之后,服务端将更新后的模型参数发送给客户端。
步骤五:客户端收到更新后的模型参数之后,将当前接收响应数据的IP相应的模型参数替换为更新后的模型参数。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (8)
1.一种基于概率的发送端初始速率设置方法,其特征在于,所述发送端初始速率设置方法包括以下步骤:
S1,接收客户端发送的数据发送请求,对数据发送请求的头部字段进行识别,判断该客户端是否支持初始发送速率设置策略以及是否包含历史吞吐量分布模型参数,如果该客户端既支持初始发送速率设置策略又包含历史吞吐量分布模型参数,进入步骤S2,否则,按照默认初始发送速率发送数据,结束流程;
S2,抽取数据发送请求头部字段中包含的该客户端对应的历史吞吐量分布模型参数,将其作为该客户端对应的本次请求的吞吐量分布模型参数,计算初始发送速率,按照计算得到的初始发送速率响应客户端请求发送数据;
其中,在响应客户端请求发送数据时,采用滑动窗口的方式进行吞吐量采样,并且结合采样结果更新该客户端对应的吞吐量分布模型参数,直至数据传输结束;
其中,所述计算初始发送速率的过程包括以下步骤:
S21,根据历史吞吐量分布模型参数分析得到吞吐量分布;
S22,采用统计范围、划分数目和样本数目这三类参数来刻画吞吐量分布,并且通过刻画吞吐量的经验分布来近似其真实分布情况;
其中,统计范围表示历史吞吐量的分布范围,由区间[l,u]表示,l表示采样得到的吞吐量的下界,u表示采样得到的吞吐量的上界,均以统计粒度为单位;划分数目N表示将区间[l,u]等间距划分为N份,其中第i个间隔用区间间隔[li,ui]表示,每个区间间隔大小为(u-l)/N;样本数目M表示采样得到的吞吐量大小处于每个区间间隔之内的样本数目为M个;
S23,根据吞吐量分布的峰值以及分布在峰值处的集中程度来选择初始发送速率;
S3,将更新后的吞吐量分布模型参数发送至客户端,通知客户端更新其自身存储的历史吞吐量分布模型参数,并且在下一次请求数据发送时,将更新后的历史吞吐量分布模型参数作为头部字段之一发送给服务端。
2.根据权利要求1所述的基于概率的发送端初始速率设置方法,其特征在于,所述客户端将更新后的历史吞吐量分布模型参数与该客户端对应的IP地址绑定后存储,并且在每次发起请求时,通过当前自身的IP地址检索是否存在已缓存的历史吞吐量分布模型参数。
3.根据权利要求1所述的基于概率的发送端初始速率设置方法,其特征在于,步骤S2中,所述采用滑动窗口的方式进行吞吐量采样,并且结合采样结果更新该客户端对应的吞吐量分布模型参数的过程包括以下过程:
每隔固定的时间间隔T,统计该段时间内的平均吞吐量,作为一个采样值;每获取一个采样值,立即更新吞吐量分布模型参数,直至数据传输结束;其中,在数据传输结束之时,如果不足一个采样时间间隔的传输时长,按照一个时间间隔计。
4.根据权利要求1所述的基于概率的发送端初始速率设置方法,其特征在于,步骤S23中,所述根据吞吐量分布的峰值以及分布在峰值处的集中程度来选择初始发送速率的过程包括以下步骤:
S231,根据由历史吞吐量分布模型参数刻画出的吞吐量分布,得到可能性最大的吞吐量区间间隔,以及在其相邻k个区间内的样本数占总样本数的比例r;
S232,对比例r进行分析,如果比例r大于预设的比例阈值S,则判定吞吐量分布足够集中在峰值附近,k和s根据需求自由配置,设置初始发送速率为峰值所处间隔的下界li对应的吞吐量大小;否则,判定吞吐量分布不足够集中,设置初始发送速率为吞吐量分布的下界l对应的吞吐量大小和默认初始发送速率的最大值。
5.根据权利要求1所述的基于概率的发送端初始速率设置方法,其特征在于,步骤S2中,所述按照计算得到的初始发送速率响应客户端请求发送数据的过程包括:
根据初始发送速率对应的控制算法类型对选定的初始发送速率v做相应的转化。
6.根据权利要求5所述的基于概率的发送端初始速率设置方法,其特征在于,对于基于拥塞窗口控制初始发送速率的算法,在握手阶段,由当前RTT和选定的初始发送速率v计算出当前拥塞窗口大小w=RTT*v,并将当前拥塞窗口大小w设为该计算值与默认窗口大小之间的最大值。
7.根据权利要求5所述的基于概率的发送端初始速率设置方法,其特征在于,对于基于速率控制初始发送速率的算法,则根据当前RTT大小,将初始发送速率v转化为RTT的时间精度,在转化完成之后,按照原算法的逻辑响应客户端请求数据。
8.根据权利要求1所述的基于概率的发送端初始速率设置方法,其特征在于,步骤S3中,所述将更新后的吞吐量分布模型参数发送至客户端,通知客户端更新其自身存储的历史吞吐量分布模型参数的过程包括以下步骤:
根据采样吞吐量大小位于哪个区间间隔来更新该区间间隔样本数目计数,如吞吐量大小不处于[l,u]之内,即不处于历史采样最小值和历史采样最大值之内,则更新相应的最小值和最大值,同时,拓展相应的区间数目使其恰好包含更新后的最小值和最大值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011576467.2A CN112822230B (zh) | 2020-12-28 | 2020-12-28 | 一种基于概率的发送端初始速率设置方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011576467.2A CN112822230B (zh) | 2020-12-28 | 2020-12-28 | 一种基于概率的发送端初始速率设置方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112822230A CN112822230A (zh) | 2021-05-18 |
CN112822230B true CN112822230B (zh) | 2022-03-25 |
Family
ID=75854168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011576467.2A Active CN112822230B (zh) | 2020-12-28 | 2020-12-28 | 一种基于概率的发送端初始速率设置方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112822230B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106789702A (zh) * | 2016-12-30 | 2017-05-31 | 广州华多网络科技有限公司 | 控制tcp传输性能的方法及装置 |
CN108111430A (zh) * | 2017-12-22 | 2018-06-01 | 北京百度网讯科技有限公司 | 一种tcp初始窗口优化方法和系统 |
CN109428833A (zh) * | 2017-08-23 | 2019-03-05 | 中国移动通信有限公司研究院 | 数据处理方法、装置、相关设备及计算机可读存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010082091A2 (en) * | 2009-01-16 | 2010-07-22 | Mainline Net Holdings Limited | Maximizing bandwidth utilization in networks with high latencies and packet drops using transmission control protocol |
US9559972B2 (en) * | 2013-12-30 | 2017-01-31 | Comcast Cable Communications, Llc | Systems and methods for managing congestion |
CN105763474B (zh) * | 2014-12-19 | 2019-10-25 | 华为技术有限公司 | 数据传输方法和装置 |
CN105847168B (zh) * | 2015-01-12 | 2020-01-31 | 华为技术有限公司 | 一种数据传输的方法、网络服务器、用户终端及系统 |
CN106713166B (zh) * | 2015-07-31 | 2020-10-09 | 华为技术有限公司 | 确定拥塞窗口大小的方法及装置 |
CN105391712B (zh) * | 2015-11-05 | 2019-04-12 | 深圳市网心科技有限公司 | 一种基于tcp协议的数据快速传输方法和装置 |
CN108271048B (zh) * | 2018-02-09 | 2020-08-07 | 北京邮电大学 | 一种兼顾吞吐量和视频缓冲的码率自适应调整装置和方法 |
CN110581808B (zh) * | 2019-08-22 | 2021-06-15 | 武汉大学 | 一种基于深度强化学习的拥塞控制方法及系统 |
CN111092823B (zh) * | 2019-12-25 | 2021-03-26 | 深圳大学 | 一种自适应调节拥塞控制初始窗口的方法和系统 |
-
2020
- 2020-12-28 CN CN202011576467.2A patent/CN112822230B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106789702A (zh) * | 2016-12-30 | 2017-05-31 | 广州华多网络科技有限公司 | 控制tcp传输性能的方法及装置 |
CN109428833A (zh) * | 2017-08-23 | 2019-03-05 | 中国移动通信有限公司研究院 | 数据处理方法、装置、相关设备及计算机可读存储介质 |
CN108111430A (zh) * | 2017-12-22 | 2018-06-01 | 北京百度网讯科技有限公司 | 一种tcp初始窗口优化方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112822230A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Novel quick start (QS) method for optimization of TCP | |
EP3780542B1 (en) | Data transmission method and device | |
EP1886471B1 (en) | Method and system for dynamic bearer aware data optimisation | |
US8392448B2 (en) | Method and apparatus for transmitting packets in the network | |
EP3567813B1 (en) | Method, apparatus and system for determining content acquisition path and processing request | |
CN108293023B (zh) | 支持信息为中心的网络中的上下文感知的内容请求的系统和方法 | |
CN102075562A (zh) | 协作缓存的方法和装置 | |
JP2010500837A (ja) | 遠隔通信ネットワークにおける情報転送の最適化方法 | |
WO2021103706A1 (zh) | 控制数据包发送方法、模型训练方法、装置及系统 | |
EP3883210B1 (en) | Method and apparatus for determining forwarding port in information centeric network | |
US20230300726A1 (en) | Data processing method and apparatus, network element device, storage medium, and program product | |
KR102346109B1 (ko) | 부하분산 장치 및 방법 | |
JP2016525256A (ja) | 冗長データアクセスを提供するための方法および装置 | |
CN107251529B (zh) | 用于在内容传输网络系统中的服务器之间传输和接收信息的方法和装置 | |
WO2024012065A1 (zh) | 数据传输控制方法、装置、计算机可读存储介质、计算机设备及计算机程序产品 | |
CN110535770B (zh) | 一种SDN环境下基于QoS感知的视频流智能路由方法 | |
CN113672819B (zh) | 一种基于推荐感知和协作边缘缓存的内容请求处理系统 | |
CN112822230B (zh) | 一种基于概率的发送端初始速率设置方法和系统 | |
Hayes et al. | Controlled unfair adaptive 360 vr video delivery over an MPTCP/QUIC architecture | |
WO2024001266A1 (zh) | 视频流传输的控制方法及装置、设备、介质 | |
CN109361928B (zh) | 一种信息中心网络系统及视频传输方法 | |
CN114666232A (zh) | 数据传输方法、用户设备及存储介质 | |
JP2016174287A (ja) | Tcp制御装置、tcp制御装置の制御方法およびtcp制御装置のプログラム | |
Tsai et al. | An Adaptive Solution for Images Streaming in Vehicle Networks using MQTT Protocol | |
CN115174690B (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 |