一种数据传输速率测量方法、装置、设备和计算机可读介质制造方法及图纸

技术编号:17917596 阅读:30 留言:0更新日期:2018-05-10 21:25
本发明专利技术提出一种数据传输速率测量方法,应用于服务器端,该方法包括:在收到来自客户端的确认(ACK)消息时,更新本轮滑动周期内的往返延迟(RTT);计算获得所述本轮滑动周期内的最大RTT、最小RTT和平均RTT;获得当前最新的RTT内的数据量;根据所述当前最新的RTT内的数据量,以及所述本轮滑动周期内的最大RTT、最小RTT和平均RTT,分别计算获得最小速率、最大速率和平均速率;根据所述最小速率、最大速率和平均速率计算获得速率变化梯度信息;根据所述速率变化梯度信息计算获得速率预测值。本发明专利技术还提出了一种数据传输速率测量装置、服务器端设备和计算机可读介质。

【技术实现步骤摘要】
一种数据传输速率测量方法、装置、设备和计算机可读介质
本专利技术涉及互联网信息传输
,尤其涉及一种数据传输速率测量方法、装置、设备和计算机可读介质。
技术介绍
相关技术中针对传输控制协议(TCP,TransmissionControlProtocol)连接进行测速的方法主要包括:往返时延(RTT,Round-TripTime)内取瞬时值的方法、周期内取移动平均值的方法、时间窗内取最值与平均值的方法等。其中,RTT内取瞬时值的方法是指,在每个RTT内从发送的字节数以及被确认的字节数中取最大值,除以RTT的时间间隔,得到当前RTT内的瞬时速率;RTT是计算机网络中的一个重要性能指标,表示从发送端发送数据开始,到发送端收到来自接收端的确认,总共经历的时延。周期内取移动平均值的方法是指,设定一个移动窗口,在每个传输的RTT进行速率测量,将整个移动窗口中的速率平均值作为该移动窗口的速率值,随着时间移动,调整窗口的起点,每次向前移动一个RTT,逐次进行计算。时间窗内取最值与平均值的方法是指,设定一个时间窗口,在该时间窗口内计算速率最值与平均值。对于广域网场景而言,由于速度变化波动频繁、带宽存在突升突降的情况、以及测量延迟等原因,基于上述测速方法测得的速率值与用户实际达到的速率值存在较大偏差,从而进行其他相关的调节就会产生误判现象,影响数据真实传输速率,降低用户体验。
技术实现思路
本专利技术实施例提供一种数据传输速率测量方法、装置、设备和计算机可读介质,以至少解决现有技术中的以上技术问题。第一方面,本专利技术实施例提供了一种数据传输速率测量方法,应用于服务器端,该方法包括:在收到来自客户端的确认(ACK)消息时,更新本轮滑动周期内的往返延迟(RTT);计算获得所述本轮滑动周期内的最大RTT、最小RTT和平均RTT;获得当前最新的RTT内的数据量;根据所述当前最新的RTT内的数据量,以及所述本轮滑动周期内的最大RTT、最小RTT和平均RTT,分别计算获得最小速率、最大速率和平均速率;根据所述最小速率、最大速率和平均速率计算获得速率变化梯度信息;根据所述速率变化梯度信息计算获得速率预测值。结合第一方面,本专利技术在第一方面的第一种实施方式中,所述在收到来自客户端的ACK消息时更新本轮滑动周期内的RTT,包括:在收到来自客户端的ACK时,获得当前最新的RTT;根据所述最新的RTT更新RTT列表rtt_list,更新后的rtt_list记录N个RTT,所述N个RTT中包括所述当前最新的RTT,以及时间上与所述当前最新的RTT依次最相近的N-1个RTT;更新后的rtt_list即为所述本轮滑动周期内的rtt_list;其中,N为大于1的整数。结合第一方面的第一种实施方式,本专利技术在第一方面的第二种实施方式中,所述计算获得本轮滑动周期内的最大RTT、最小RTT和平均RTT,包括:依次遍历所述滑动周期内的rtt_list中的每个RTT,选择所述rtt_list中时间间隔最大的RTT为所述最大RTT,时间间隔最小的RTT为所述最小RTT,所述rtt_list中所有RTT的求和除以所述rtt_list中的RTT的数量N。结合第一方面、第一方面的第一种实施方式和第二种实施方式,本专利技术在第一方面的第三种实施方式中,所述获得当前最新的RTT内的数据量,包括:预设的字段包括:last_send_bytes、send_bytes、last_delivered_bytes、delivered_bytes和record_timestamp,其中,last_send_bytes用于记录截止上一轮滑动周期所发送的数据量,send_bytes用于记录截止本轮滑动周期所发送的数据量,last_delivered_bytes用于记录截止上一轮滑动周期所被确认的数据量,delivered_bytes用于记录截止本轮滑动周期所被确认的数据量,record_timestamp用于记录上一轮滑动周期的截止时间;计算当前最新的RTT内发送的数据量为:send=send_byte-last_send_bytes,以及当前最新的RTT内被确认的数据量为:delivered=delivered_bytes-last_delivered_bytes;从当前最新的RTT内发送的数据量send、以及被确认的数据量delivered中选择最大值的数据量作为所述当前最新的RTT内的数据量payload。结合第一方面、第一方面的第一种实施方式和第二种实施方式,本专利技术在第一方面的第四种实施方式中,所述根据当前最新的RTT内的数据量,以及本轮滑动周期内的最大RTT、最小RTT和平均RTT,分别计算获得最小速率、最大速率和平均速率,包括:计算最小速率speed_min=payload/rtt_max;计算最大速率speed_max=payload/rtt_min;计算平均速率speed_ava=payload/rtt_ava;其中,payload表示所述当前最新的RTT内的数据量,rtt_max表示所述本轮滑动周期内的最大RTT,rtt_min所述本轮滑动周期内的最小RTT,rtt_ava表示所述本轮滑动周期内的平均RTT。结合第一方面的第四种实施方式,本专利技术在第一方面的第五种实施方式中,所述根据最小速率、最大速率和平均速率计算获得速率变化梯度信息,包括:根据预设的一组系数[w0,w1,w2,w3],并按下式计算获得速率变化梯度信息D=[D0,D1,D2,D3]:var=w0*CONST+w1*speed_max+w2*speed_min+w3*speed_ava,delta=speed_max–var,D0=p*delta*CONST,D1=p*delta*speed_max,D2=p*delta*speed_min,D3=p*delta*speed_ava,其中,p为预设的缩放因子,CONST为预设的常量,speed_max表示计算获得的最大速率,speed_min表示计算获得的最小速率,speed_ava表示计算获得的平均速率。结合第一方面的第五种实施方式,本专利技术在第一方面的第六种实施方式中,所述根据速率变化梯度信息计算获得速率预测值,包括:根据预设的系数[w0,w1,w2,w3]和速率变化梯度信息,更新向量W[w0′,w1′,w2′,w3′],使w0′=w0+D0,w1′=w1+D1,w2′=w2+D2,w3′=w3+D3;按照下式计算获得所述速率预测值SPD_h:SPD_h=w0′*CONST+w1′*speed_max+w2′*speed_min+w3′*speed_ava。结合第一方面、第一方面的第一种实施方式和第二种实施方式,本专利技术在第一方面的第七种实施方式中,在获得速率预测值后,所述方法还包括:根据维护的速率调整索引C_INDEX,对所述速率预测值进行调整修正,获得修正后的速率预测值。结合第一方面的第七种实施方式,本专利技术在第一方面的第八种实施方式中,在获得修正后的速率预测值后,所述方法还包括:根据修正后的速率预测值计算获得带宽时延积BDP:BDP=SPD_adj*rtt_min,其中,SPD_adj表示修正后的速率预测值,rtt_min表示本轮滑动周期内的最小RTT;根据本文档来自技高网...
一种数据传输速率测量方法、装置、设备和计算机可读介质

【技术保护点】
一种数据传输速率测量方法,应用于服务器端,其特征在于,所述方法包括:在收到来自客户端的确认ACK消息时,更新本轮滑动周期内的往返延迟RTT;计算获得所述本轮滑动周期内的最大RTT、最小RTT和平均RTT;获得当前最新的RTT内的数据量;根据所述当前最新的RTT内的数据量,以及所述本轮滑动周期内的最大RTT、最小RTT和平均RTT,分别计算获得最小速率、最大速率和平均速率;根据所述最小速率、最大速率和平均速率计算获得速率变化梯度信息;根据所述速率变化梯度信息计算获得速率预测值。

【技术特征摘要】
1.一种数据传输速率测量方法,应用于服务器端,其特征在于,所述方法包括:在收到来自客户端的确认ACK消息时,更新本轮滑动周期内的往返延迟RTT;计算获得所述本轮滑动周期内的最大RTT、最小RTT和平均RTT;获得当前最新的RTT内的数据量;根据所述当前最新的RTT内的数据量,以及所述本轮滑动周期内的最大RTT、最小RTT和平均RTT,分别计算获得最小速率、最大速率和平均速率;根据所述最小速率、最大速率和平均速率计算获得速率变化梯度信息;根据所述速率变化梯度信息计算获得速率预测值。2.根据权利要求1所述的方法,其特征在于,所述在收到来自客户端的ACK消息时更新本轮滑动周期内的RTT,包括:在收到来自客户端的ACK时,获得当前最新的RTT;根据所述最新的RTT更新RTT列表rtt_list,更新后的rtt_list记录N个RTT,所述N个RTT中包括所述当前最新的RTT,以及时间上与所述当前最新的RTT依次最相近的N-1个RTT;更新后的rtt_list即为所述本轮滑动周期内的rtt_list;其中,N为大于1的整数。3.根据权利要求2所述的方法,其特征在于,所述计算获得本轮滑动周期内的最大RTT、最小RTT和平均RTT,包括:依次遍历所述滑动周期内的rtt_list中的每个RTT,选择所述rtt_list中时间间隔最大的RTT为所述最大RTT,时间间隔最小的RTT为所述最小RTT,所述rtt_list中所有RTT的求和除以所述rtt_list中的RTT的数量N。4.根据权利要求1、2或3所述的方法,其特征在于,所述获得当前最新的RTT内的数据量,包括:预设的字段包括:last_send_bytes、send_bytes、last_delivered_bytes、delivered_bytes和record_timestamp,其中,last_send_bytes用于记录截止上一轮滑动周期所发送的数据量,send_bytes用于记录截止本轮滑动周期所发送的数据量,last_delivered_bytes用于记录截止上一轮滑动周期所被确认的数据量,delivered_bytes用于记录截止本轮滑动周期所被确认的数据量,record_timestamp用于记录上一轮滑动周期的截止时间;计算当前最新的RTT内发送的数据量为:send=send_byte-last_send_bytes,以及当前最新的RTT内被确认的数据量为:delivered=delivered_bytes-last_delivered_bytes;从当前最新的RTT内发送的数据量send、以及被确认的数据量delivered中选择最大值的数据量作为所述当前最新的RTT内的数据量payload。5.根据权利要求1、2或3所述的方法,其特征在于,所述根据当前最新的RTT内的数据量,以及本轮滑动周期内的最大RTT、最小RTT和平均RTT,分别计算获得最小速率、最大速率和平均速率,包括:计算最小速率speed_min=payload/rtt_max;计算最大速率speed_max=payload/rtt_min;计算平均速率speed_ava=payload/rtt_ava;其中,payload表示所述当前最新的RTT内的数据量,rtt_max表示所述本轮滑动周期内的最大RTT,rtt_min所述本轮滑动周期内的最小RTT,rtt_ava表示所述本轮滑动周期内的平均RTT。6.根据权利要求5所述的方法,其特征在于,所述根据最小速率、最大速率和平均速率计算获得速率变化梯度信息,包括:根据预设的一组系数[w0,w1,w2,w3],并按下式计算获得速率变化梯度信息D=[D0,D1,D2,D3]:var=w0*CONST+w1*speed_max+w2*speed_min+w3*speed_ava,delta=speed_max–var,D0=p*delta*CONST,D1=p*delta*speed_max,D2=p*delta*speed_min,D3=p*delta*speed_ava,其中,p为预设的缩放因子,CONST为预设的常量,speed_max表示计算获得的最大速率,speed_min表示计算获得的最小速率,speed_ava表示计算获得的平均速率。7.根据权利要求6所述的方法,其特征在于,所述根据速率变化梯度信息计算获得速率预测值,包括:根据预设的系数[w0,w1,w2,w3]和速率变化梯度信息,更新向量W[w0′,w1′,w2′,w3′],使w0′=w0+D0,w1′=w1+D1,w2′=w2+D2,w3′=w3+D3;按照下式计算获得所述速率预测值SPD_h:SPD_h=w0′*CONST+w1′*speed_max+w2′*speed_min+w3′*speed_ava。8.根据权利要求1、2或3所述的方法,其特征在于,在获得速率预测值后,所述方法还包括:根据维护的速率调整索引C_INDEX,对所述速率预测值进行调整修正,获得修正后的速率预测值。9.根据权利要求8所述的方法,其特征在于,在获得修正后的速率预测值后,所述方法还包括:根据修正后的速率预测值计算获得带宽时延积BDP:BDP=SPD_adj*rtt_min,其中,SPD_adj表示修正后的速率预测值,rtt_min表示本轮滑动周期内的最小RTT;根据获得的BDP计算拥塞窗口CWND:CWND=BDP/MSS,其中,MSS表示预设的最大报文段长度。10.一种数据传输速率测量装置,应用于服务器端,其特征在于,所述装置包括:往返延迟RTT更新单元,用于在收到来自客户端的确认...

【专利技术属性】
技术研发人员:张柬吴教仁蒋浩崔永新刘宁
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京,11

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

1