CN110620738B - 带宽分配方法、装置、设备及存储介质 - Google Patents

带宽分配方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN110620738B
CN110620738B CN201910979479.0A CN201910979479A CN110620738B CN 110620738 B CN110620738 B CN 110620738B CN 201910979479 A CN201910979479 A CN 201910979479A CN 110620738 B CN110620738 B CN 110620738B
Authority
CN
China
Prior art keywords
data
bandwidth
network
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
Application number
CN201910979479.0A
Other languages
English (en)
Other versions
CN110620738A (zh
Inventor
韩庆瑞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910979479.0A priority Critical patent/CN110620738B/zh
Publication of CN110620738A publication Critical patent/CN110620738A/zh
Application granted granted Critical
Publication of CN110620738B publication Critical patent/CN110620738B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/087Jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开了一种带宽分配方法、装置、设备及存储介质,属于网络技术领域。所述方法包括:当检测到第一网络参数发生变化时,根据第一数据发送速率和第一数据量,确定网络状态测量时长;获取网络状态测量时长内的第二网络参数;基于第二网络参数,分配第一带宽和第二带宽,第一带宽是用于发送目标业务的第一数据包的带宽,第二带宽是用于重传目标业务未被接收设备成功接收的第二数据包的带宽。本申请实施例可以根据更加精准的第二网络参数进行带宽分配,提高了有效码率,进而提高音视频质量。

Description

带宽分配方法、装置、设备及存储介质
技术领域
本申请实施例涉及网络技术领域,特别涉及一种带宽分配方法、装置、设备及存储介质。
背景技术
服务质量(Quality of Service,QoS)技术是指用来解决网络延迟和阻塞等问题的一种技术。
在相关技术中,服务质量技术的方案如下:假设丢包或RTT(Round-Trip Time,往返时延)的变化都是由网络拥塞导致的,发送端根据接收端反馈的丢包率分配信源编码的带宽和前向纠错编码的带宽。
然而,实际情况中丢包或RTT可能是由除网络拥塞的其它因素导致的,上述基于网络拥塞分配带宽会导致有效码率降低,进而影响音视频质量。
发明内容
本申请实施例提供了一种带宽分配方法、装置、设备及存储介质,可用于解决相关技术中的基于网络拥塞分配带宽会导致有效码率降低,进而影响音视频质量的技术问题。技术方案如下:
一方面,本申请实施例提供一种带宽分配方法,所述方法包括:
当检测到第一网络参数发生变化时,根据第一数据发送速率和第一数据量,确定网络状态测量时长,所述第一网络参数用于表示在以所述第一数据发送速率进行数据发送时的网络传输情况,所述第一数据量为发送周期之前已发送但是还未到达接收设备的数据量,所述发送周期是指按照所述第一数据发送速率进行数据发送的周期;
获取所述网络状态测量时长内的第二网络参数,所述第二网络参数用于指示在以低于所述第一数据发送速率的第二数据发送速率进行数据发送时的网络传输情况;
基于所述第二网络参数,分配第一带宽和第二带宽,所述第一带宽是用于发送目标业务的第一数据包的带宽,所述第二带宽是用于重传所述目标业务未被所述接收设备成功接收的第二数据包的带宽。
另一方面,本申请实施例提供一种带宽分配装置,所述装置包括:
时长确定模块,用于当检测到第一网络参数发生变化时,根据第一数据发送速率和第一数据量,确定网络状态测量时长,所述第一网络参数用于表示在以所述第一数据发送速率进行数据发送时的网络传输情况,所述第一数据量为发送周期之前已发送但是还未到达接收设备的数据量,所述发送周期是指按照所述第一数据发送速率进行数据发送的周期;
参数获取模块,用于获取所述网络状态测量时长内的第二网络参数,所述第二网络参数用于指示在以低于所述第一数据发送速率的第二数据发送速率进行数据发送时的网络传输情况;
带宽分配模块,用于基于所述第二网络参数,分配第一带宽和第二带宽,所述第一带宽是用于发送目标业务的第一数据包的带宽,所述第二带宽是用于重传所述目标业务未被所述接收设备成功接收的第二数据包的带宽。
又一方面,本申请实施例提供一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述方面所述的方法。
又一方面,本申请实施例提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述方面所述的方法。
又一方面,本申请实施例提供一种计算机程序产品,当该计算机程序产品被执行时,其用于执行上述方面所述的方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过当检测到第一网络参数发生变化时,将第一数据发送速率降低,使得在降速发送数据的过程中,降低发生网络拥塞的概率,在网络状态测量时长内获取到的第二网络参数是由除网络拥塞的其它因素导致的,因而使得获取到的第二网络参数较为精准,以便于发送设备可以根据该更加精准的第二网络参数进行带宽分配,提高了有效码率,进而提高音视频质量。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的实施环境的示意图;
图2是本申请一个实施例提供的带宽分配方法的流程图;
图3是本申请另一个实施例提供的带宽分配方法的流程图;
图4是本申请一个实施例提供的网络状态示意图;
图5是本申请一个实施例提供的QoS模块的示意图;
图6是本申请一个实施例提供的带宽分配装置的框图;
图7是本申请另一个实施例提供的带宽分配装置的框图;
图8是本申请一个实施例提供的计算机设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的实施环境的示意图。该实施环境包括多个发送设备101和多个接收设备102,该多个发送设备101是发送端的设备,用于向多个接收设备102发送目标业务的数据,该多个接收设备102是接收端的设备,用于接收多个发送设备101发送的目标业务的数据。目标业务可以是视频业务、音频业务或其他业务。该多个发送设备101可以为终端或者服务器,该多个接收设备102也可以为终端或者服务器,例如,在点播场景中,该多个发送设备101可以为服务器,该多个接收设备102可以为终端;在直播场景中,该多个发送设备101可以为终端,该多个接收设备102可以为服务器,或者,该多个发送设备101可以为服务器,该多个接收设备102可以为其他终端;在视频通话场景中,该多个发送设备101可以为终端,该多个接收设备102可以为其他终端。其中,终端上可以安装有各种应用程序,例如,视频类应用程序、音频类应用程序、实时通讯类应用程序或其他应用程序,终端可以为能够访问该服务器的电子设备,该电子设备可以为电脑、手机、平板电脑或者其他电子设备,该服务器可以为用户提供音视频播放等多媒体功能。
本申请实施例的执行主体可以为计算机设备,计算机设备是指具备计算和处理能力的电子设备,计算机设备可以是终端或服务器。
请参考图2,其示出了本申请一个实施例提供的带宽分配方法的流程图,该方法应用于如图1所示实施环境的发送设备101中,该方法包括:
步骤201,当检测到第一网络参数发生变化时,根据第一数据发送速率和第一数据量,确定网络状态测量时长。
该第一数据发送速率为发送设备在该发送周期内向接收设备发送数据的初始速率,该第一数据发送速率可以为发送设备所预设的任意速率,在可能的实现方式中,该第一数据发送速率也可以为上一次进行数据发送速率调节所获取到的速率,本申请实施例对第一数据发送速率的大小不作限定。
第一数据量为发送周期之前已发送但是还未到达接收设备的数据量,发送周期是指按照第一数据发送速率进行数据发送的周期。在本申请实施例中,该发送周期可以是任意时长,例如,该发送周期可以为5秒。
需要说明的是,发送设备以数据包的形式向接收设备发送数据,每个数据包可以包含任意数据量,本申请实施例对每个数据包的数据量不作限定。
第一网络参数用于表示在以第一数据发送速率进行数据发送时的网络传输情况,例如,该第一网络参数可以为在发送周期内的丢包率,该第一网络参数还可以为发送设备在该发送周期内发送的每个数据包的RTT,RTT为从发送设备发送一个数据包的时间点,到该发送设备接收到从接收设备返回的确认响应的时间点之间的时长。该第一网络参数还可以为在第一数据发送速率进行数据发送过程中的实时带宽,第一网络参数可以包括至少一个参数,本申请实施例对第一网络参数的类型和数量不作限定。
在本申请实施例中,当检测到第一网络参数发生变化时,触发发送设备确定网络状态测量时长。网络状态测量时长可以是指网络核查态持续的时长,网络核查态为网络传输不稳定的状态。
示例性地,以第一网络参数为丢包率为例进行介绍说明,若发送设备在发送周期内的的第1秒检测到丢包率为1%,若发送设备在发送周期内的第2秒检测到的丢包率为1%,若发送设备在发送周期内的第3秒检测到的丢包率为2%,则发送设备在发送周期内的第4秒进入网络核查态,发送设备可以基于该网络核查态对第一数据发送速率进行降速处理,以缓解网络传输不稳定的状态,进而发送设备可以在网络核查态获取到相应的网络参数,以对数据发送速率进行进一步处理。在网络核查态中,发送设备可以确定在发送周期之前已经向接收设备发送的第一总数据量、在发送周期之前已接收到接收设备返回的确认响应的第一数量以及发送设备在发送周期之前已经确定的第一丢包数据量,该发送设备可以将该第一总数据量与该确认响应的第一数量和该第一丢包数据量的差,作为该第一数据量。
在其他实施例中,发送设备还可以根据丢包率、RTT和带宽这三个第一网络参数中的任意结合,判断这三个第一网络参数是否发生变化,以确定该网络状态测量时长。在一个示例中,当发送设备检测到这三个第一网络参数中的任一个发生变化时,该发送设备确定网络状态测量时长;在另一个示例中,当发送设备检测到这三个第一网络参数中的任两个发生变化时,该发送设备确定网络状态测量时长。在又一个示例中,当发送设备检测到这三个第一网络参数都发生变化时,该发送设备确定网络状态测量时长。本申请实施例对第一网络参数的结合方式不做限定。
需要说明的是,上述步骤201是以当发送设备检测到第一网络参数发生变化时,发送设备根据该第一数据发送速率和第一数据量,确定网络状态测量时长为例进行说明的。在其他可能的实现方式中,若发送设备在发送周期内一直未检测到该第一网络参数发生变化,则发送设备可以每隔检测间隔时长,根据该第一数据发送速率和第一数据量,确定该网络状态测量时长,也即是,该发送设备可以每隔检测间隔时长进入网络核查态,以继续执行下述步骤202至步骤203。
步骤202,获取网络状态测量时长内的第二网络参数。
第二网络参数用于指示在以低于第一数据发送速率的第二数据发送速率进行数据发送时的网络传输情况。发送设备在网络状态测量时长内以第二数据发送速率发送数据。因为发送设备以较低的速度进行数据发送,降低了发生网络拥塞的概率,网络状态测量时长内获取到的第二网络参数是由除网络拥塞的其它因素导致的,因而发送设备可以在低速的数据发送过程中,获取到更加精准的第二网络参数,以便于发送设备可以根据该更加精准的第二网络参数,进行带宽分配。
步骤203,基于第二网络参数,分配第一带宽和第二带宽。
第一带宽是用于发送目标业务的第一数据包的带宽,第二带宽是用于重传目标业务未被接收设备成功接收的第二数据包的带宽。第一带宽可用于发送目标业务的实时数据包,第二带宽可用于重传未到达接收设备或到达接收设备但因解调错误或解码错误而无法成功被接收设备接收的第二数据包。
综上所述,本申请实施例提供的技术方案中,通过当检测到第一网络参数发生变化时,将第一数据发送速率降低,使得在降速发送数据的过程中,降低发生网络拥塞的概率,在网络状态测量时长内获取到的第二网络参数是由除网络拥塞的其它因素导致的,因而使得获取到的第二网络参数较为精准,以便于发送设备可以根据该更加精准的第二网络参数进行带宽分配,提高了有效码率,进而提高音视频质量。
请参考图3,其示出了本申请另一个实施例提供的带宽分配方法的流程图。该方法可以应用于如图1所示实施环境中的发送设备101中,该方法包括:
步骤301,当检测到第一网络参数发生变化时,根据第一数据发送速率和第一数据量,确定发送速率降低系数。
发送速率降低系数用于对第一数据发送速率进行降速。
在示例性实施例中,在发送设备以第一数据发送速率进行数据发送的过程中,发送设备可以根据实时获取到的带宽值和发送每个数据包的RTT,在STARTUP态(启动态)、DRAIN态(排干态)、PROBE_BW态(稳定态)和PROBE_RTT态(探测态)这四个状态之间进行转换,如图4所示,当发送设备进入稳定态后,若发送设备确定最近一次检测到的第一网络参数与上一次检测到的第一网络参数不同时,发送设备可以从稳定态切换到网络核查态,进而,发送设备可以在该网络核查态中,根据上述在发送周期之前确定的第一总数据量、确认响应的第一数量和第一丢包数据量,确定第一数据量。
可选地,发送速率降低系数通过如下方式确定:
1、根据第一数据量、前一次网络状态测量时长内的平均RTT和最小RTT,得到第二数据量;
第二数据量为网络状态测量时长之前已发送但是还未到达接收设备的数据量;第二数据量flight′可以通过如下公式进行计算:
flight′=flight*(avg_rtt/min_rtt);
其中,flight表示第一数据量,avg_RTT表示前一次网络状态测量时长内的平均RTT,min_RTT表示前一次网络状态测量时长内的最小RTT。
2、根据第二数据量和第一数据发送速率,确定拥塞系数;
拥塞系数cc可以通过如下公式进行计算:
cc=flight′/bdp1;
其中,flight′表示第二数据量,bdp1表示第一数据发送速率。
3、根据拥塞系数,确定发送速率降低系数,拥塞系数与发送速率降低系数成正比例关系。
发送速率降低系数k可以通过如下公式计算:
k=a*cc;
其中,a为常数,可选地,a为1/2,cc表示拥塞系数。
当然,在其它可能的实现方式中,发送速率降低系数可以通过其它方式进行计算。
发送设备切换到网络核查态中确定发送速率降低系数,以便于后续发送设备降低数据发送速率,以缓解网络传输的不稳定性,有利于解决网络拥塞的现象。
步骤302,根据发送速率降低系数、第一丢包率和第一RTT,确定网络状态测量时长。
第一丢包率是指最近一次检测得到的丢包率,第一RTT是指最近一次检测得到的RTT。
网络状态测量时长t可以通过如下公式计算:
t=a*cc+b*w1+c*w2+d=k+b*w1+c*w2+d;
其中,k表示发送速率降低系数,b表示常数,c表示常数,d表示常数,w1表示第一丢包率,w2表示第一RTT。
步骤303,将第一数据发送速率与发送速率降低系数的比值,确定为第二数据发送速率。
第二数据发送速率bdp2可以通过如下公式计算:
bdp2=bdp1/k;
其中,bdp1表示第一数据发送速率、k表示发送速率降低系数。
步骤304,获取网络状态测量时长内的第二网络参数。
第二网络参数用于指示在以低于第一数据发送速率的第二数据发送速率进行数据发送时的网络传输情况。
可选地,第二网络参数通如下方式获取:
在一个示例中,根据网络状态测量时长内发送的至少一个数据包的第二丢包率,确定网络状态测量时长内的平均丢包率。
示例性地,发送设备可以确定以第二数据发送速率发送第一个数据包的第一时间点,从该第一时间点开始,发送设备每发送目标数目的数据包,确定该目标数目的数据包中的丢包数目,发送设备可以根据该丢包数目和该目标数目,获取该目标数目的数据包的第二丢包率,当发送设备检测到第二时间点与该第一时间点之间的时长为该网络状态测量时长时,发送设备可以结束获取第二丢包率的过程,发送设备可以确定从该第一时间点到该第二时间点之间已经获取到的各个第二丢包率。在其他可能的实现方式中,发送设备还可以实时检测网络状态测量时长内每第二时长的数据包的第二丢包率,本申请实施例对第二丢包率的获取方式不作限定。
网络状态测量时长内的平均丢包率mea_loss可以通过如下公式计算:
Figure BDA0002234700690000081
其中,n表示数据包的数目,loss表示第二丢包率。
基于该平均丢包率,发送设备可以较为精准的获取到在该网络状态测量时长内的网络传输情况,发送设备可以根据该平均丢包率对后续的带宽分配进行调节,使得发送设备可以根据网络传输情况,使得带宽分配更为合理,从而可以提高接收设备的数据接收质量。
在另一个示例中,根据网络状态测量时长内发送的各个数据包的第二RTT,确定网络状态测量时长内的平均RTT和最小RTT;根据网络状态测量时长内的平均RTT和最小RTT,确定网络状态测量时长内的抖动程度值。
发送设备可以确定在该网络状态测量时长内开始发送任一个数据包的第三时间点,若该发送设备接收到接收设备发送的已接收到该任一个数据包的确认响应,该发送设备可以确定接收到该确认响应的第四时间点,则发送设备可以将该第三时间点与该第四时间点之间的时长,作为该网络状态测量时长内发送该任一个数据包的RTT。同理,发送设备可以获取到该网络状态测量时长内发送的各个数据包的第二RTT,本申请实施例对此不再一一赘述。
网络状态测量时长内的抖动程度值为该网络状态测量时长内的另一个第二网络参数,该抖动程度值用于表示发送设备在该网络状态测量时长内发送的各个数据包的RTT的变化程度。
网络状态测量时长内的抖动程度值Jitter可以通过如下公式进行计算:
Jitter=pow(mea_avg_rtt/mea_min_rtt,1.3);
其中,pow(x,y)表示xy运算,mea_avg_RTT表示网络状态测量时长内的平均RTT,mea_min_RTT表示网络状态测量时长内的最小RTT。
在又一个示例中,根据网络状态测量时长内发送的至少一个数据包的第二丢包率,确定网络状态测量时长内的平均丢包率;根据网络状态测量时长内发送的各个数据包的第二RTT,确定网络状态测量时长内的平均RTT和最小RTT;根据网络状态测量时长内的平均RTT和最小RTT,确定网络状态测量时长内的抖动程度值。
示例性地,发送设备可以同时获取网络状态测量时长内的平均丢包率和抖动程度值。
步骤305,根据网络状态测量时长内的最小RTT、网络状态测量时长内的最大带宽值、第二数据量、抖动程度值、网络状态测量时长内的平均丢包率,确定预测带宽。
最大带宽值为发送设备在该网络状态测量时长内进行数据发送的过程中的带宽的最大值,第二数据量为网络状态测量时长之前已发送但是还未到达接收设备的数据量。
预测带宽est可以通过如下公式进行计算:
est=mea_min_rtt*max_bw(1+mea_avg_loss)-flight′/Jitter;
其中,mea_min_RTT表示网络状态测量时长内的平均RTT,max_bw表示网络状态测量时长内的最大带宽值,mea_avg_loss表示网络状态测量时长内的平均丢包率,flight′表示第二数据量,Jitter表示抖动程度值。
示例性地,发送设备获取该网络状态测量时长内的最大带宽值的过程可以如下:从发送设备首次以第二数据发送速率发送数据开始,发送设备在该网络状态测量时长内计算每目标时长内的平均带宽值,发搜设备可以在该网络状态测量时长内计算得到多个目标时长内的平均带宽值,发送设备可以将该多个目标时长内的平均带宽值的最大值,作为该网络状态测量时长内的最大带宽值。目标时长可以为该发送设备预设的固定时长,也可以为该发送设备实时计算到的时长。
示例性地,发送设备获取该第二数据量的过程可以如下:发送设备可以确定在网络状态测量时长之前已经向接收设备发送的第二总数据量、在该网络状态测量时长之前已接收到接收设备返回的确认响应的第二数量以及发送设备在该网络状态测量时长之前已经确定的第二丢包数据量,该发送设备可以将该第二总数据量与该确认响应的第二数量和该第二丢包数据量的差,作为该第二数据量。在其他可能的实现方式中,发送设备还可以通过其他方式获取该第二数据量,本申请实施例对此不做限定。
步骤306,将预测带宽和网络状态测量时长内的平均丢包率的乘积,确定为第二带宽。
第二带宽bw2可以通过如下公式计算得到:
bw2=est*mea_avg_loss;
其中,est表示预测带宽,mea_avg_loss表示网络状态测量时长内的平均丢包率。
步骤307,将预测带宽与预测带宽和网络状态测量时长内的平均丢包率的乘积的差值,确定为第一带宽。
第一带宽bw1可以通过如下公式计算得到:
bw1=est*(1-mea_avg_loss);
其中,est表示预测带宽,mea_avg_loss表示网络状态测量时长内的平均丢包率。
需要说明的是,步骤306和步骤307可以同时执行;也可以先执行步骤307,再执行步骤306,本申请实施例对步骤306和步骤307的执行顺序不作限定。
示例性地,上述步骤可以在QoS模块中执行。如图5所示,QoS模块包括QoS决策模块、拥塞控制模块。QoS决策模块用于根据拥塞控制模块反馈的第二网络参数进行带宽分配。拥塞控制模块用于获取第二网络参数。上述步骤301至步骤306可以在拥塞控制模块中执行,上述步骤307可以在QoS决策模块中执行。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图6,其示出了本申请一个实施例提供的带宽分配装置的框图。该装置具有实现上述方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置600可以包括:时长确定模块610、参数获取模块620和带宽分配模块630。
所述时长确定模块610,用于当检测到第一网络参数发生变化时,根据第一数据发送速率和第一数据量,确定网络状态测量时长,所述第一网络参数用于表示在以所述第一数据发送速率进行数据发送时的网络传输情况,所述第一数据量为发送周期之前已发送但是还未到达接收设备的数据量,所述发送周期是指按照所述第一数据发送速率进行数据发送的周期;
所述参数获取模块620,用于获取所述网络状态测量时长内的第二网络参数,所述第二网络参数用于指示在以低于所述第一数据发送速率的第二数据发送速率进行数据发送时的网络传输情况;
所述带宽分配模块630,用于基于所述第二网络参数,分配第一带宽和第二带宽,所述第一带宽是用于发送目标业务的第一数据包的带宽,所述第二带宽是用于重传所述目标业务未被所述接收设备成功接收的第二数据包的带宽。
综上所述,本申请实施例提供的技术方案中,通过当检测到第一网络参数发生变化时,将第一数据发送速率降低,使得在降速发送数据的过程中,降低发生网络拥塞的概率,在网络状态测量时长内获取到的第二网络参数是由除网络拥塞的其它因素导致的,因而使得获取到的第二网络参数较为精准,以便于发送设备可以根据该更加精准的第二网络参数进行带宽分配,提高了有效码率,进而提高音视频质量。
在示意性实施例中,如图7所示,所述时长确定模块610,包括:系数确定单元611和时长确定单元612。
所述系数确定单元611,用于根据所述第一数据发送速率和所述第一数据量,确定发送速率降低系数;
所述时长确定单元612,用于根据所述发送速率降低系数、第一丢包率和第一RTT,确定所述网络状态测量时长,所述第一丢包率是指最近一次检测得到的丢包率,所述第一RTT是指最近一次检测得到的RTT。
在示意性实施例中,所述系数确定单元611,用于:
根据所述第一数据量、前一次网络状态测量时长内的平均RTT和最小RTT,得到第二数据量,所述第二数据量为所述网络状态测量时长之前已发送但是还未到达所述接收设备的数据量;
根据所述第二数据量和所述第一数据发送速率,确定拥塞系数;
根据所述拥塞系数,确定所述发送速率降低系数,所述拥塞系数与所述发送速率降低系数成正比例关系。
在示意性实施例中,所述装置600,还包括:速率确定模块640。
所述速率确定模块640,用于将所述第一数据发送速率与所述发送速率降低系数的比值,确定为所述第二数据发送速率。
在示意性实施例中,所述参数获取模块620,用于:
根据所述网络状态测量时长内发送的至少一个数据包的第二丢包率,确定所述网络状态测量时长内的平均丢包率;
和/或,
根据所述网络状态测量时长内发送的各个数据包的第二RTT,确定所述网络状态测量时长内的平均RTT和最小RTT;根据所述网络状态测量时长内的平均RTT和最小RTT,确定所述网络状态测量时长内的抖动程度值。
在示意性实施例中,所述装置600,还包括:带宽确定模块650。
所述带宽确定模块650,用于根据所述网络状态测量时长内的最小RTT、所述网络状态测量时长内的最大带宽值、第二数据量、所述抖动程度值、所述网络状态测量时长内的平均丢包率,确定预测带宽,所述第二数据量为所述网络状态测量时长之前已发送但是还未到达所述接收设备的数据量。
在示意性实施例中,所述带宽分配模块630,用于:
将所述预测带宽和所述网络状态测量时长内的平均丢包率的乘积,确定为第二带宽;
将所述预测带宽与所述预测带宽和所述网络状态测量时长内的平均丢包率的乘积的差值,确定为第一带宽。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内容结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图8,示出了本申请一个实施例提供的计算机设备的结构示意图。该计算机设备用于实施上述实施例中提供的带宽分配方法。具体来讲:
所述计算机设备800包括中央处理单元(CPU)801、包括RAM(Random AccessMemory,随机存取存储器)802和ROM(Read-Only Memory,只读存储器)803的系统存储器804,以及连接系统存储器804和中央处理单元801的系统总线805。所述计算机设备800还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统,Input/Output系统)806,和用于存储操作系统813、应用程序814和其他程序模块815的大容量存储设备807。
所述基本输入/输出系统806包括有用于显示信息的显示器808和用于用户输入信息的诸如鼠标、键盘之类的输入设备809。其中所述显示器808和输入设备809都通过连接到系统总线805的输入输出控制器810连接到中央处理单元801。所述基本输入/输出系统806还可以包括输入输出控制器810以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器810还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备807通过连接到系统总线805的大容量存储控制器(未示出)连接到中央处理单元801。所述大容量存储设备807及其相关联的计算机可读介质为计算机设备800提供非易失性存储。也就是说,所述大容量存储设备807可以包括诸如硬盘或者CD-ROM(Compact Disc Read-Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read-Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存(Flash Memory)或其他固态存储其技术,CD-ROM、DVD(Digital VersatileDisc,数字通用光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器804和大容量存储设备807可以统称为存储器。
根据本申请的各种实施例,所述计算机设备800还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备800可以通过连接在所述系统总线805上的网络接口单元811连接到网络812,或者说,也可以使用网络接口单元811来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行。上述一个或者一个以上程序包含用于实现上述方法。
在示例性实施例中,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集。所述至少一条指令、至少一段程序、代码集或指令集经配置以由一个或者一个以上处理器执行,以实现上述方法。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被终端的处理器执行时实现上述方法。
可选地,上述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,当该计算机程序产品被执行时,其用于实现上述方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (9)

1.一种带宽分配方法,其特征在于,所述方法包括:
当检测到第一网络参数发生变化时,根据第一数据发送速率和第一数据量,确定网络状态测量时长,所述第一网络参数用于表示在以所述第一数据发送速率进行数据发送时的网络传输情况,所述第一数据量为发送周期之前已发送但是还未到达接收设备的数据量,所述发送周期是指按照所述第一数据发送速率进行数据发送的周期;
获取所述网络状态测量时长内的第二网络参数,所述第二网络参数用于指示在以低于所述第一数据发送速率的第二数据发送速率进行数据发送时的网络传输情况,所述第二网络参数包括最小往返时延RTT、最大带宽值、第二数据量、抖动程度值和平均丢包率;其中,所述第二数据量为所述网络状态测量时长之前已发送但是还未到达所述接收设备的数据量;
根据所述最小RTT、所述最大带宽值、所述第二数据量、所述抖动程度值、所述平均丢包率,确定预测带宽;
将所述预测带宽和所述平均丢包率的乘积,确定为第二带宽,所述第二带宽是用于重传目标业务未被所述接收设备成功接收的第二数据包的带宽;
将所述预测带宽与所述预测带宽和所述平均丢包率的乘积的差值,确定为第一带宽,所述第一带宽是用于发送所述目标业务的第一数据包的带宽。
2.根据权利要求1所述的方法,其特征在于,所述根据第一数据发送速率和第一数据量,确定网络状态测量时长,包括:
根据所述第一数据发送速率和所述第一数据量,确定发送速率降低系数;
根据所述发送速率降低系数、第一丢包率和第一RTT,确定所述网络状态测量时长,所述第一丢包率是指最近一次检测得到的丢包率,所述第一RTT是指最近一次检测得到的RTT。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一数据发送速率和所述第一数据量,确定发送速率降低系数,包括:
根据所述第一数据量、前一次网络状态测量时长内的平均RTT和最小RTT,得到第二数据量,所述第二数据量为所述网络状态测量时长之前已发送但是还未到达所述接收设备的数据量;
根据所述第二数据量和所述第一数据发送速率,确定拥塞系数;
根据所述拥塞系数,确定所述发送速率降低系数,所述拥塞系数与所述发送速率降低系数成正比例关系。
4.根据权利要求2所述的方法,其特征在于,所述根据所述第一数据发送速率和所述第一数据量,确定发送速率降低系数之后,还包括:
将所述第一数据发送速率与所述发送速率降低系数的比值,确定为所述第二数据发送速率。
5.根据权利要求1所述的方法,其特征在于,所述获取所述网络状态测量时长内的第二网络参数,包括:
根据所述网络状态测量时长内发送的至少一个数据包的第二丢包率,确定所述网络状态测量时长内的平均丢包率;
根据所述网络状态测量时长内发送的各个数据包的第二RTT,确定所述网络状态测量时长内的平均RTT和最小RTT;根据所述网络状态测量时长内的平均RTT和最小RTT,确定所述网络状态测量时长内的抖动程度值。
6.一种带宽分配装置,其特征在于,所述装置包括:
时长确定模块,用于当检测到第一网络参数发生变化时,根据第一数据发送速率和第一数据量,确定网络状态测量时长,所述第一网络参数用于表示在以所述第一数据发送速率进行数据发送时的网络传输情况,所述第一数据量为发送周期之前已发送但是还未到达接收设备的数据量,所述发送周期是指按照所述第一数据发送速率进行数据发送的周期;
参数获取模块,用于获取所述网络状态测量时长内的第二网络参数,所述第二网络参数用于指示在以低于所述第一数据发送速率的第二数据发送速率进行数据发送时的网络传输情况,所述第二网络参数包括最小往返时延RTT、最大带宽值、第二数据量、抖动程度值和平均丢包率;其中,所述第二数据量为所述网络状态测量时长之前已发送但是还未到达所述接收设备的数据量;
带宽确定模块,用于根据所述最小RTT、所述最大带宽值、所述第二数据量、所述抖动程度值、所述平均丢包率,确定预测带宽;
带宽分配模块,用于将所述预测带宽和所述平均丢包率的乘积,确定为第二带宽,所述第二带宽是用于重传目标业务未被所述接收设备成功接收的第二数据包的带宽;将所述预测带宽与所述预测带宽和所述平均丢包率的乘积的差值,确定为第一带宽,所述第一带宽是用于发送所述目标业务的第一数据包的带宽。
7.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至5任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至5任一项所述的方法。
9.一种计算机程序产品,其特征在于,所述计算机程序产品被处理器执行以实现如权利要求1至5任一项所述的方法。
CN201910979479.0A 2019-10-15 2019-10-15 带宽分配方法、装置、设备及存储介质 Active CN110620738B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910979479.0A CN110620738B (zh) 2019-10-15 2019-10-15 带宽分配方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910979479.0A CN110620738B (zh) 2019-10-15 2019-10-15 带宽分配方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN110620738A CN110620738A (zh) 2019-12-27
CN110620738B true CN110620738B (zh) 2022-06-24

Family

ID=68925519

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910979479.0A Active CN110620738B (zh) 2019-10-15 2019-10-15 带宽分配方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN110620738B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111629210A (zh) * 2020-05-22 2020-09-04 北京大米科技有限公司 一种数据处理的方法、装置及电子设备
CN111970208B (zh) * 2020-08-27 2024-03-05 腾讯科技(深圳)有限公司 网络传输方法、装置、设备及计算机可读存储介质
CN113839830B (zh) * 2021-07-15 2023-10-24 腾讯科技(深圳)有限公司 数据包多发参数的预测方法、装置与存储介质
CN113660173B (zh) * 2021-08-16 2024-04-26 抖音视界有限公司 一种流量控制方法、装置、计算机设备及存储介质
CN114302164B (zh) * 2021-12-31 2023-06-23 广州华多网络科技有限公司 网络条件检测方法及其装置、设备、介质、产品
CN115174490B (zh) * 2022-06-16 2023-10-17 浙江华睿科技股份有限公司 一种数据传输方法及网络应用终端

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231898A (zh) * 2011-07-05 2011-11-02 深圳市融创天下科技股份有限公司 一种网络带宽自适应qos传输的方法、系统和终端设备
CN109587073A (zh) * 2019-01-07 2019-04-05 北京三体云联科技有限公司 网络拥塞控制方法、装置及终端设备
CN109951398A (zh) * 2019-03-22 2019-06-28 腾讯科技(深圳)有限公司 数据发送方法、装置及计算机设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6314110B1 (en) * 1998-03-06 2001-11-06 Cisco Technology, Inc. Method and apparatus for distributed bandwidth allocation for a bi-directional ring media with spatial and local reuse
US7856501B2 (en) * 2007-12-04 2010-12-21 Sony Computer Entertainment Inc. Network traffic prioritization

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102231898A (zh) * 2011-07-05 2011-11-02 深圳市融创天下科技股份有限公司 一种网络带宽自适应qos传输的方法、系统和终端设备
CN109587073A (zh) * 2019-01-07 2019-04-05 北京三体云联科技有限公司 网络拥塞控制方法、装置及终端设备
CN109951398A (zh) * 2019-03-22 2019-06-28 腾讯科技(深圳)有限公司 数据发送方法、装置及计算机设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"A dynamic bandwidth allocation algorithm based on transmission rate adaptation in heterogeneous wireless networks";Geng Chen 等;《2012 International Conference on Wireless Communications and Signal Processing (WCSP)》;20130620;全文 *
"无线网带宽高效分配策略设计与实现";荆瑜琳;《中国优秀博硕士学位论文全文数据库(硕士)·信息科技辑》;20180215;全文 *

Also Published As

Publication number Publication date
CN110620738A (zh) 2019-12-27

Similar Documents

Publication Publication Date Title
CN110620738B (zh) 带宽分配方法、装置、设备及存储介质
US9872198B2 (en) Systems and methods for data transmission
CN108924221B (zh) 分配资源的方法和装置
US20110096662A1 (en) Inferring TCP Initial Congestion Window
US9379989B2 (en) Congestion avoidance and control for UDP-based protocols
CN110247736B (zh) 一种数据传输方法及装置
CN110290428A (zh) 一种拥塞控制方法、装置、终端及存储介质
CN111970208A (zh) 网络传输方法、装置、设备及计算机可读存储介质
CN111865674A (zh) 一种日志处理方法、装置及介质
EP4037272A1 (en) Data processing method and device
CN117041153A (zh) 多路径数据调度方法、装置及电子设备
CN114158104B (zh) 网络选择方法、装置、终端及存储介质
CN106899510B (zh) 一种基于iSCSI协议的传输速率控制方法和装置
CN111917525B (zh) 一种数据传输方法、装置、设备和可读存储介质
CN112351049B (zh) 数据传输方法、装置、设备及存储介质
CN115801639A (zh) 一种带宽探测方法、装置、电子设备及存储介质
CN111245559B (zh) 信息确定方法、信息判断方法、装置及计算设备
CN114629826A (zh) 一种网络最大带宽估计方法、装置、电子设备及存储介质
CN110572299A (zh) 设备测试方法、系统、装置、网络节点、终端及存储介质
US9882751B2 (en) Communication system, communication controller, communication control method, and medium
CN112511385B (zh) 一种测试流量数据生成方法、装置及电子设备
CN112714043B (zh) 一种网速检测方法、装置、终端设备和存储介质
CN111416802B (zh) 基于tcp的数据处理方法、装置、电子设备和可读介质
US8817653B2 (en) Detecting irregular retransmissions
US7007086B2 (en) Method and apparatus for measuring multi-connection performance of a server

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40018907

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant