CN116566919A - Bandwidth detection method, device, electronic equipment and storage medium - Google Patents

Bandwidth detection method, device, electronic equipment and storage medium Download PDF

Info

Publication number
CN116566919A
CN116566919A CN202310504870.1A CN202310504870A CN116566919A CN 116566919 A CN116566919 A CN 116566919A CN 202310504870 A CN202310504870 A CN 202310504870A CN 116566919 A CN116566919 A CN 116566919A
Authority
CN
China
Prior art keywords
bandwidth
value
response
target
determining
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.)
Pending
Application number
CN202310504870.1A
Other languages
Chinese (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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN202310504870.1A priority Critical patent/CN116566919A/en
Publication of CN116566919A publication Critical patent/CN116566919A/en
Pending legal-status Critical Current

Links

Classifications

    • 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
    • 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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

The disclosure relates to a bandwidth detection method, a device, electronic equipment and a storage medium, and relates to the technical field of networks. And acquiring response rates corresponding to the data packets transmitted within a preset number of time granularities. Based on response rates corresponding to data packets sent in a preset number of time granularities, the bandwidth of the network is estimated. The target value of the congestion control target is set based on the initial values of the bandwidth and the congestion control target. If the total size of the in-transit data packet is smaller than the target value, updating the sending rate based on the bandwidth; the in-transit packet is a packet that has been sent out and has not received a response packet. In this way, the bandwidth detection effect can be improved to some extent.

Description

Bandwidth detection method, device, electronic equipment and storage medium
Technical Field
The disclosure relates to the field of network technologies, and in particular, to a bandwidth detection method, a device, an electronic device and a storage medium.
Background
With the continuous development of network technology, the application of data transmission by using a network is becoming wider and wider. In practical applications, the bandwidth of the network may change over time. In order to better utilize network bandwidth resources. Thus, congestion control is often performed to probe bandwidth for the network to determine the current bandwidth of the network.
In the related art, in the process of sending a data packet to a receiving end by a sending end to realize bandwidth detection, a fixed congestion control target is adopted, and the sending rate is adjusted according to a fixed step length. In this way, bandwidth probing is less effective.
Disclosure of Invention
The disclosure provides a bandwidth detection method, a device, an electronic device and a storage medium, so as to at least solve the problem of poor bandwidth detection effect in the related art. The technical scheme of the present disclosure is as follows:
according to a first aspect of an embodiment of the present disclosure, there is provided a bandwidth detection method, including:
transmitting a data packet to a receiving end based on the estimated transmission rate;
acquiring response rates corresponding to data packets transmitted within a preset number of time granularities;
estimating the bandwidth of the network based on response rates corresponding to the data packets sent in the preset number of time granularities;
setting a target value of the congestion control target based on the initial values of the bandwidth and the congestion control target;
if the total size of the in-transit data packet is smaller than the target value, updating the sending rate based on the bandwidth; the in-transit data packets include data packets that have been sent out and have not received a response packet.
Optionally, the setting the target value of the congestion control target based on the initial value of the bandwidth and the congestion control target includes:
determining a reference value of the congestion control target according to the receiving rate of the response packet fed back by the receiving end, the bandwidth and a preset detection multiplying factor;
and determining the maximum value of the reference value and the initial value as a target value of the congestion control target.
Optionally, the method further comprises:
for a detected bandwidth increasing stage, determining a first feedback value according to a response rate corresponding to a data packet sent in the bandwidth increasing stage; the first feedback value is positively correlated with the response rate;
and updating the specific value of the detection multiplying factor coefficient based on the detection multiplying factor coefficient adopted in the bandwidth increasing stage and the first feedback value with the purpose of increasing the first feedback value as optimization.
Optionally, the determining the first feedback value according to the response rate corresponding to the data packet sent in the bandwidth increasing stage includes:
determining the average value of response rates corresponding to the data packets sent in the bandwidth increasing stage;
determining the round-trip delay corresponding to the first target fractional number in the round-trip delay information corresponding to the data packet sent in the bandwidth increasing stage as the first target round-trip delay;
Determining the first feedback value based on the mean value and the first target round trip delay; the first feedback value is inversely related to the first target round trip delay.
Optionally, the method further comprises:
under the condition that M response packets fed back by the receiving end are received, calculating the receiving rates corresponding to the M response packets based on the total size of the M response packets, the starting receiving time and the ending receiving time of the M response packets; m is a positive integer;
the determining the reference value of the congestion control target according to the receiving rate of the response packet fed back by the receiving end, the bandwidth and a preset detection multiplying factor comprises the following steps:
obtaining receiving rates corresponding to the M response packets obtained by the last calculation as target receiving rates;
determining a target coefficient according to the target receiving rate, the bandwidth and a preset detection multiplying power coefficient;
and determining a reference value of the congestion control target based on the target coefficient and a bandwidth delay product of the network.
Optionally, the method further comprises:
determining a second feedback value according to the response rate corresponding to the data packet sent in the bandwidth descending stage aiming at the detected bandwidth descending stage; the second feedback value is positively correlated with the response rate;
And updating specific values of the preset number based on the preset number adopted in the bandwidth descending stage and the second feedback value with the aim of increasing the second feedback value as optimization.
Optionally, the method further comprises:
if the bandwidth difference value corresponding to the current time granularity is not smaller than a first threshold value, determining that the network currently enters a bandwidth increasing state; the bandwidth difference value is the difference value between the bandwidth estimated in the next time granularity and the bandwidth estimated in the current time granularity; if the bandwidth difference value corresponding to the continuous N time granularities is smaller than the first threshold, determining the current end bandwidth increasing state of the network, and determining the period from the entering bandwidth increasing state to the end bandwidth increasing state as a detected bandwidth increasing stage; the N is an integer greater than 2;
if the bandwidth difference value corresponding to the current time granularity is not greater than a second threshold value, determining that the network currently enters a bandwidth reduction state; if the bandwidth difference value corresponding to the N continuous time granularities is larger than the second threshold, determining the current ending bandwidth descending state of the network, and determining the period from the entering bandwidth descending state to the ending bandwidth descending state as a detected bandwidth descending stage.
Optionally, the method further comprises:
determining round trip delay of each data packet for the transmitted data packets, and determining total data quantity of response packets received from the transmission time to the receiving time of the data packets; the receiving time is the moment of receiving a response packet fed back by the receiving end for the data packet;
calculating a response rate corresponding to the data packet based on the round trip delay of the data packet and the total data amount;
the obtaining the response rate corresponding to the data packets sent in the preset number of time granularities comprises the following steps: and acquiring response rates corresponding to the data packets in the preset number of time granularities from the calculated response rates.
According to a second aspect of the embodiments of the present disclosure, there is provided a bandwidth detecting apparatus, applied to a terminal, including:
a transmitting module configured to perform transmitting of the data packet to the receiving end based on the estimated transmission rate;
the acquisition module is configured to acquire response rates corresponding to the data packets sent in a preset number of time granularities;
the estimating module is configured to execute the estimation of the bandwidth of the network based on the response rate corresponding to the data packets sent in the preset number of time granularity;
A setting module configured to perform setting of a target value of the congestion control target based on the bandwidth and an initial value of the congestion control target;
a first updating module configured to perform updating the sending rate based on the bandwidth if a total size of the in-transit data packets is less than the target value; the in-transit data packets include data packets that have been sent out and have not received a response packet.
Optionally, the setting module is specifically configured to perform:
determining a reference value of the congestion control target according to the receiving rate of the response packet fed back by the receiving end, the bandwidth and a preset detection multiplying factor;
and determining the maximum value of the reference value and the initial value as a target value of the congestion control target.
Optionally, the apparatus further includes:
a first determining module configured to perform a first feedback value for a detected bandwidth increase phase according to a response rate corresponding to a data packet sent in the bandwidth increase phase; the first feedback value is positively correlated with the response rate;
and the second updating module is configured to update the specific value of the detection multiplying factor based on the detection multiplying factor adopted in the bandwidth increasing stage and the first feedback value for the optimization purpose of increasing the first feedback value.
Optionally, the first determining module is specifically configured to perform:
determining the average value of response rates corresponding to the data packets sent in the bandwidth increasing stage;
determining the round-trip delay corresponding to the first target fractional number in the round-trip delay information corresponding to the data packet sent in the bandwidth increasing stage as the first target round-trip delay;
determining the first feedback value based on the mean value and the first target round trip delay; the first feedback value is inversely related to the first target round trip delay.
Optionally, the apparatus further includes:
the first calculating module is configured to calculate receiving rates corresponding to the M response packets based on the total size of the M response packets, the starting receiving time and the ending receiving time of the M response packets under the condition that the M response packets fed back by the receiving end are received; m is a positive integer;
the setting module is specifically further configured to perform:
obtaining receiving rates corresponding to the M response packets obtained by the last calculation as target receiving rates;
determining a target coefficient according to the target receiving rate, the bandwidth and a preset detection multiplying power coefficient;
And determining a reference value of the congestion control target based on the target coefficient and a bandwidth delay product of the network.
Optionally, the apparatus further includes:
the second determining module is configured to execute a step of determining a second feedback value according to the response rate corresponding to the data packet sent in the detected bandwidth decreasing step; the second feedback value is positively correlated with the response rate;
and a third updating module configured to perform updating of a specific value of the preset number based on the preset number adopted in the bandwidth reduction stage and the second feedback value for optimization purpose of increasing the second feedback value.
Optionally, the apparatus further includes:
the third determining module is configured to determine that the network currently enters a bandwidth increasing state if the bandwidth difference value corresponding to the current time granularity is not smaller than a first threshold value; the bandwidth difference value is the difference value between the bandwidth estimated in the next time granularity and the bandwidth estimated in the current time granularity; if the bandwidth difference value corresponding to the continuous N time granularities is smaller than the first threshold, determining the current end bandwidth increasing state of the network, and determining the period from the entering bandwidth increasing state to the end bandwidth increasing state as a detected bandwidth increasing stage; the N is an integer greater than 2;
A fourth determining module, configured to determine that the network currently enters a bandwidth reduction state if the bandwidth difference value corresponding to the current time granularity is not greater than a second threshold value; if the bandwidth difference value corresponding to the N continuous time granularities is larger than the second threshold, determining the current ending bandwidth descending state of the network, and determining the period from the entering bandwidth descending state to the ending bandwidth descending state as a detected bandwidth descending stage.
Optionally, the apparatus further includes:
a fifth determining module configured to perform, for each data packet transmitted, determining a round trip delay of the data packet, and determining a total data amount of response packets received from a transmission time to a reception time of the data packet; the receiving time is the moment of receiving a response packet fed back by the receiving end for the data packet;
a second calculation module configured to perform calculation of a response rate corresponding to the data packet based on a round trip delay of the data packet and the total data amount;
the acquisition module is specifically configured to perform: and acquiring response rates corresponding to the data packets in the preset number of time granularities from the calculated response rates.
According to a third aspect of embodiments of the present disclosure, there is provided an electronic device, comprising:
a processor;
a memory for storing the processor-executable instructions;
wherein the processor is configured to execute the instructions to implement the method of any of the first aspects.
According to a fourth aspect of embodiments of the present disclosure, there is provided a storage medium, which when executed by a processor of an electronic device, causes the electronic device to perform the method of any one of the first aspects.
According to a fifth aspect of embodiments of the present disclosure, there is provided a computer program product comprising readable program instructions which, when executed by a processor of an electronic device, cause the electronic device to perform the method according to any of the first aspects.
The technical scheme provided by the embodiment of the disclosure at least brings the following beneficial effects: in an embodiment of the disclosure, a data packet is transmitted to a receiving end based on an estimated transmission rate. And acquiring response rates corresponding to the data packets transmitted within a preset number of time granularities. Based on response rates corresponding to data packets sent in a preset number of time granularities, the bandwidth of the network is estimated. The target value of the congestion control target is set based on the initial values of the bandwidth and the congestion control target. If the total size of the in-transit data packet is smaller than the target value, updating the sending rate based on the bandwidth; the in-transit packet is a packet that has been sent out and has not received a response packet. Therefore, the congestion control target is dynamically set based on the currently detected bandwidth, so that the congestion control target can be closer to the actual situation of the current network to a certain extent. Correspondingly, whether to update the sending rate is determined based on the congestion control target which is dynamically set, so that the updating frequency of the sending rate is more consistent with the actual condition of the current network, and the bandwidth detection effect can be improved to a certain extent.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the disclosure and together with the description, serve to explain the principles of the disclosure and do not constitute an undue limitation on the disclosure.
FIG. 1 is a flow chart illustrating a method of bandwidth probing according to an exemplary embodiment;
FIG. 2 is a block diagram of a bandwidth detection apparatus according to an exemplary embodiment;
FIG. 3 is a block diagram illustrating an apparatus for bandwidth probing according to an exemplary embodiment;
fig. 4 is a block diagram illustrating another apparatus for bandwidth probing according to an exemplary embodiment.
Detailed Description
In order to enable those skilled in the art to better understand the technical solutions of the present disclosure, the technical solutions of the embodiments of the present disclosure will be clearly and completely described below with reference to the accompanying drawings.
It should be noted that the terms "first," "second," and the like in the description and claims of the present disclosure and in the foregoing figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the disclosure described herein may be capable of operation in sequences other than those illustrated or described herein. The implementations described in the following exemplary examples are not representative of all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with some aspects of the present disclosure as detailed in the accompanying claims.
The bandwidth detection method of the embodiment of the disclosure can be applied to a transmitting end. In an actual detection scene, the transmitting end can transmit a data packet to the receiving end, and the receiving end returns a response packet for the received data packet. Wherein the response packet may also be referred to as an acknowledgement information (Acknowledge character, ACK) packet. The receiving end can analyze the response speed through the response packet so as to estimate the bandwidth.
Fig. 1 is a flowchart illustrating a bandwidth probing method according to an exemplary embodiment, as shown in fig. 1, may include the steps of:
step 101, transmitting a data packet to a receiving end based on the estimated transmission rate.
The data packets sent may be data packets dedicated to detecting network bandwidth, or may be data packets that need to be transmitted, which is not limited by the embodiments of the present disclosure. For example, in a streaming video transmission scenario, the data packet sent to the receiving end may be a video data packet that needs to be transmitted. In the case that the bandwidth has not been detected, the transmission rate used may be estimated based on the default value of the bandwidth, or may be a preset transmission rate. Accordingly, in the case of a subsequent detected bandwidth, the transmission rate used may be a rate determined based on the detected bandwidth.
Step 102, obtaining response rates corresponding to the data packets sent in a preset number of time granularities.
Step 103, estimating the bandwidth of the network based on the response rates corresponding to the data packets sent in the preset number of time granularities.
In the embodiment of the present disclosure, the initial value of the preset number may be preset, and the preset number may be represented as W, and the initial value of W may be 6, for example. The preset number of values may be adaptively adjusted during the probing process. The time granularity may be the duration of one Round Trip Time (RTT) in the network, or other time lengths may be selected as the time granularity. In this step, the response rate corresponding to the data packet sent in the first 6 time granularity of the current time neighbor may be specifically obtained, that is, the response rate corresponding to the data packet sent in the time period formed by 6 time granularities going back from the current time. For example, assuming that 1 time granularity is 0.5 seconds, it may be to acquire a response rate corresponding to a data packet transmitted in the first 3 seconds of the current time. In the case where RTT is used as the time granularity, the specific value of RTT may be obtained by smoothing based on actual round trip delays of a plurality of packets that have been transmitted recently. Alternatively, the value of the actual round trip delay of the packet may be set as a specific value of RTT, and for example, the response rate corresponding to the transmitted packet may be obtained in a period of time constituted by the actual round trip delays corresponding to 6 packets transmitted at the current time of the neighbor.
Optionally, in an implementation manner, the embodiment of the present disclosure may further include the following steps:
step S21, determining round trip delay of the data packet for each transmitted data packet, and determining total data quantity of response packets received from the transmission time to the receiving time of the data packet; the receiving time is the moment of receiving a response packet fed back by the receiving end for the data packet. And S22, calculating the response rate corresponding to the data packet based on the round trip delay of the data packet and the total data quantity.
In the embodiment of the disclosure, for each data packet, the data amount of each received response packet in the period from sending the data packet to receiving the response packet fed back by the receiving end for the data packet may be recorded, and then the sum of the data amounts is taken as the total data amount of the total received response packets. The period from sending the data packet to receiving the response packet fed back by the receiving end for the data packet is the sending time to receiving time of the data packet. The response packet received in this period may include a response packet fed back by the receiving end for the data packet, and further may include a response packet fed back for some data packets sent previously. The duration between the time of receipt and the time of transmission may be determined as the round trip delay of the packet. For packet i, the round trip delay of packet i is denoted as rtti, and the total data amount of the response packet received from the time of transmission of packet i to the time of reception is denoted as ci. Accordingly, the response rate corresponding to the packet i may be expressed as acki=ci/rtti.
Correspondingly, the obtaining the response rate corresponding to the data packet sent in the preset number of time granularities may specifically include: and acquiring response rates corresponding to the data packets in the preset number of time granularities from the calculated response rates. For example, the response rate corresponding to the transmitted data packet within 6 time granularity may be obtained. Further, the maximum response rate may be determined from response rates corresponding to data packets transmitted within a preset number of time granularities. The value of the maximum response rate is determined as the bandwidth of the network at the current time.
Step 104, setting a target value of the congestion control target based on the initial values of the bandwidth and the congestion control target.
Step 105, if the total size of the in-transit data packet is smaller than the target value, updating the sending rate based on the bandwidth; the in-transit data packets include data packets that have been sent out and have not received a response packet.
In the embodiments of the present disclosure, the congestion control target refers to a congestion window (congestion window, cwnd) that can limit the amount of data that a sender sends at a single time. The initial value of the congestion control target may be preset, and illustratively, the initial value may be bdp+4×mtu. Wherein, BDP represents bandwidth delay product (Bandwidth Delay Product, BDP), BDP represents maximum capacity of data which can be stored in network link, BDP can be calculated based on existing algorithm, BDP can be equal to product of maximum bandwidth (Max BW) and minimum delay (Min RTT). The MTU represents the maximum transmission volume of a single packet, and defines the maximum size of a data packet that can be transmitted as a single entity in a network connection. The size of the MTU, which is typically 1460 bytes, determines the amount of data that can be transmitted in bytes over the network.
Since the detected bandwidth may change, in the embodiments of the present disclosure, after each detected bandwidth, the congestion control target value is adaptively set based on the currently detected bandwidth, so that the congestion control target may be adapted to be dynamically adjusted. Compared with the mode of detecting the bandwidth based on the default congestion control target each time, the embodiment of the disclosure can enable the congestion control target to be closer to the actual situation of the current network. Further, if the total size of the in-transit data packet is smaller than the target value, it indicates that congestion does not occur, and accordingly, the transmission rate may be updated to increase the transmission rate, thereby increasing the probe rate.
In summary, according to the bandwidth detection method provided by the embodiment of the present disclosure, a data packet is sent to a receiving end based on an estimated sending rate. And acquiring response rates corresponding to the data packets transmitted within a preset number of time granularities. Based on response rates corresponding to data packets sent in a preset number of time granularities, the bandwidth of the network is estimated. The target value of the congestion control target is set based on the initial values of the bandwidth and the congestion control target. If the total size of the in-transit data packet is smaller than the target value, updating the sending rate based on the bandwidth; the in-transit packet is a packet that has been sent out and has not received a response packet. Therefore, the congestion control target is dynamically set based on the currently detected bandwidth, so that the congestion control target can be closer to the actual situation of the current network to a certain extent. Correspondingly, whether to update the sending rate is determined based on the congestion control target which is dynamically set, so that the updating frequency of the sending rate is more consistent with the actual condition of the current network, and the bandwidth detection effect can be improved to a certain extent.
Meanwhile, the transmission rate is adaptively updated based on the currently detected bandwidth, so that the updated transmission rate is more in line with the actual condition of the current network, the updating effect of the transmission rate is further improved, and the bandwidth detection effect is further improved.
Optionally, the step of setting the target value of the congestion control target based on the initial value of the bandwidth and the congestion control target may specifically include:
step 1041, determining a reference value of the congestion control target according to the receiving rate of the response packet fed back by the receiving end, the bandwidth and a preset detection multiplying factor.
Step 1042, determining the maximum value of the reference value and the initial value as the target value of the congestion control target.
Wherein, the detection magnification coefficient may be represented as e, the detection magnification coefficient may be greater than 1, an initial value of the detection magnification coefficient may be set in advance, for example, the initial value of the detection magnification coefficient may be 1.25. The step of updating the transmission rate based on the bandwidth may specifically be updating the transmission rate to be the product of the bandwidth of the current detection and the detection multiplying factor.
Further, the currently detected bandwidth can represent the actual situation of the current network, and accordingly, the reference value of the congestion control target can be determined based on the bandwidth and the preset detection rate coefficient, so that the reference value can be close to the actual situation of the current network, and the setting effect of the target value of the congestion control target is improved. Meanwhile, in the embodiment of the disclosure, the maximum value of the reference value and the initial value is selected as the target value of the congestion control target, so that the probability that the total size of the in-transit data packet is smaller than the target value can be improved as much as possible, the frequency of updating the sending rate can be increased, the bandwidth detection frequency is improved, and the bandwidth detection process is accelerated.
Optionally, the embodiment of the disclosure may further include the following steps:
step S31, under the condition that M response packets fed back by the receiving end are received, calculating the receiving rates corresponding to the M response packets based on the total size of the M response packets, the starting receiving time and the ending receiving time of the M response packets; and M is a positive integer.
In the embodiment of the present disclosure, the specific value of M may be set according to actual requirements, and M may be equal to 4, for example. Correspondingly, in the case of receiving the response packet fed back by the receiving end in the embodiment of the present disclosure, each time 4 response packets are received, the receiving rate is calculated for the 4 response packets, and the receiving rates corresponding to the 4 response packets are obtained. Wherein the start reception time may be a time to receive a first response packet of the M response packets and the end reception time may be a time to receive a last response packet of the M response packets. The total size of the M response packets may be a sum of data amounts of respective data packets in the M response packets. Assuming that the start reception time is ts, the end reception time is te, and the total size of M response packets is M. The receiving rate r corresponding to the M response packets may be: r=m/(te-ts).
Correspondingly, the step of determining the reference value of the congestion control target according to the receiving rate of the response packet fed back by the receiving end, the bandwidth and the preset detection multiplying factor coefficient may specifically include:
step 1041a, obtaining the receiving rates corresponding to the M response packets obtained by the last calculation, as target receiving rates.
Step 1041b, determining a target coefficient according to the target receiving rate, the bandwidth and a preset detection multiplying factor coefficient.
Step 1041c, determining a reference value of the congestion control target based on the target coefficient and a bandwidth delay product of the network.
In the embodiment of the disclosure, the target coefficient is determined based on the receiving rates corresponding to the M response packets obtained by the last calculation and the magnitude relation of the detected bandwidth. Specifically, the ratio of the target receiving rate to the bandwidth detected this time may be calculated. Assuming that the target receiving rate is denoted as r, the bandwidth detected this time is denoted as b, and r/b can be obtained. Further, the minimum value of r/b and the current detection multiplying factor e can be taken. Correspondingly, the maximum value of the minimum value and the preset constant value is taken as a target coefficient. The preset constant value can be set according to actual requirements, and the preset constant value can be not smaller than 1. Taking the example that the preset constant value is equal to 1, the target coefficient may be expressed as max (1.0, min (e, r/b)). Further, the product of the target coefficient and the bandwidth-delay product of the network may be used as a reference value of the congestion control target. The reference value may be expressed as BDP max (1.0, min (e, r/b)). Therefore, the determined target coefficient can be as large as possible, and the determined reference value is as large as possible while conforming to the actual network condition.
In the embodiment of the disclosure, the reference value of the congestion control target is determined based on the target coefficient and the bandwidth delay product of the network by further calculating the receiving rate corresponding to the received response packet and determining the target coefficient in combination with the receiving rate. The receiving rate and the bandwidth delay product of the network can represent the actual condition of the network, so that the determined reference value can be more accurate to a certain extent.
Accordingly, in the embodiment of the present disclosure, the target value of the congestion control target may be expressed as: cwnd=max (bdp×max (1.0, min (e, r/b)), bdp+4×mtu). Assuming that the total size of the in-transit packet is denoted as index, the transmission rate s may be set to s=b×e in the case of index < cwnd. In the case where index is ≡cwnd, the transmission rate s may be set to s=b.
It should be noted that, in an actual scenario, the network may include a transmitting end, a receiving end, and a router located between the transmitting end and the receiving end. The data packets are sent from the sending end to the router and then arranged into a queue, and the data packets are sent to the receiving end one by the router. The sending rate of the sending end is the rate of entering the data packet into the queue, and the rate of discharging the data packet out of the queue is the transmission rate of the router.
If the queue is empty at the router, packets arriving at the router from the sender can be immediately sent out. If the queue is short, the data packet sent by the sending end needs to wait for a little time at the router, but normal transmission is not affected. If the queue length exceeds the congestion control target, it indicates that congestion is occurring. The rate of change of the queue length increases as the bandwidth increases, whereas the rate of change of the queue length decreases. The congestion control may be to dynamically adjust the sending rate of the sender by adapting to the transmission rate of the router, so as to control the length of the queue within a reasonable range. Accordingly, the size of the congestion control target will determine the maximum length value of the queue, i.e., the maximum depth of the queue. In the related art, the congestion control target is always set to be BDP by default, and in the embodiment of the present disclosure, the initial value of the congestion control target is set to be bdp+4mtu. The 4 mtu corresponds to 4 packets. Thus, when the bandwidth is greatly increased, 4 data packets are rapidly consumed and fed back to the transmitting end at a faster speed. Meanwhile, the receiving rate and the detected bandwidth can change according to network changes, so that the congestion control target is modified in real time based on the receiving rate and the detected bandwidth, the queue depth can be maintained in real time, and the detection process can be dynamically accelerated according to the feedback rate.
Optionally, the embodiment of the disclosure may further include the following steps to dynamically update a specific value of the detection multiplying factor coefficient:
step S41, determining a first feedback value according to response rates corresponding to data packets sent in a detected bandwidth increasing stage; the first feedback value is positively correlated with the response rate.
And step S42, updating a specific value of the detection multiplying factor based on the detection multiplying factor adopted in the bandwidth increasing stage and the first feedback value with the purpose of increasing the first feedback value as optimization.
In the embodiment of the present disclosure, the first feedback value may be represented as Tup. The bandwidth increase phase may be a phase in which a change in bandwidth is detected and changed to an increase. Alternatively, in the embodiment of the present disclosure, the bandwidth increasing stage detection may be implemented in the following manner: if the bandwidth difference value corresponding to the current time granularity is not smaller than a first threshold value, determining that the network currently enters a bandwidth increasing state; the bandwidth difference value is the difference value between the bandwidth estimated in the next time granularity and the bandwidth estimated in the current time granularity; and N is an integer greater than 2. If the bandwidth difference value corresponding to the N continuous time granularities is smaller than the first threshold, determining the current end bandwidth increasing state of the network, and determining the period from the entering bandwidth increasing state to the end bandwidth increasing state as a detected bandwidth increasing stage.
Wherein, N and the first threshold value can be set according to actual conditions. Illustratively, N may be 3. The first threshold may represent a target probing value, and the first threshold may be a preset constant value, or the first threshold may be calculated based on a specific value of the current probing multiplying power coefficient. Illustratively, the first threshold may be equal to bi 0.75 (e-1). Assuming that the current time granularity is the ith RTT, and the estimated bandwidth at the ith RTT is bi. If the next time granularity: the estimated bandwidth bi+1 not less than bi (1+0.75×e-1) in the i+1th RTT may determine that the bandwidth difference corresponding to the current time granularity is not less than the first threshold, and accordingly, may determine that the bandwidth increasing state is currently entered, that is, that the bandwidth increasing stage is currently started. Then, detection may be continuously performed, and if the bandwidth difference value is detected to be smaller than the first threshold value 3 times in succession, it may be determined that the bandwidth increasing state is ended, that is, the bandwidth increasing phase is currently exited. For example, if bj+1 < bj (1+0.75×e-1) has been detected 3 rd time in the jth RTT, it may be determined that the present bandwidth increasing phase ends, and the ith RTT to the jth RTT are detected as one bandwidth increasing phase. In the embodiment of the disclosure, by setting the first threshold, the end of the bandwidth increasing state is determined only when the bandwidth difference value is detected to be smaller than the first threshold continuously for a plurality of times, so that the detection accuracy of the bandwidth increasing stage can be ensured to a certain extent.
Further, the greater the response rate, the higher the bandwidth utilization can be characterized. And the first feedback value is positively correlated with the response rate, the first feedback value may therefore be used to characterize the current bandwidth utilization. Accordingly, compared with a mode of adopting a fixed detection rate coefficient, in the embodiment of the disclosure, a specific value of the detection rate coefficient is updated with the purpose of increasing the first feedback value as an optimization, so that when the updated detection rate coefficient is used for bandwidth detection subsequently, the bandwidth utilization rate in the process of detecting the bandwidth upwards can be improved, and the convergence rate of bandwidth estimation is further improved.
Optionally, in an implementation manner, the step of determining the first feedback value according to the response rate corresponding to the data packet sent in the bandwidth increasing stage may specifically include:
step S41a, determining an average value of response rates corresponding to the data packets sent in the bandwidth increasing stage.
Step S41b, determining the round trip delay corresponding to the first target fractional number in the round trip delay information corresponding to the data packet sent in the bandwidth increasing stage as the first target round trip delay.
Step S41c, determining the first feedback value based on the average value and the first target round trip delay; the first feedback value is inversely related to the first target round trip delay.
In the embodiment of the present disclosure, the response rate corresponding to the data packet transmitted in the bandwidth increasing stage may be obtained from the response rates calculated based on the steps S21 to S22 described above. Then, the average value of the obtained response rates is calculated to obtain the average response speed. Further, the round trip delay of each data packet sent in the bandwidth increasing stage can be obtained, and round trip delay information is obtained. Wherein the round trip delay information includes round trip delays of all packets sent during the bandwidth up phase. The first target score may be set according to actual requirements. Illustratively, the first target quantile may be a 90 quantile. Accordingly, all round-trip delays in the round-trip delay information can be sequenced from low to high to obtain a delay sequence, and data in a corresponding percentage position in the delay sequence is used as a first target round-trip delay. The larger quantile is set as the first target quantile, so that the determined first target round-trip delay is matched with round-trip delay of most of data packets in the data packets sent in the bandwidth increasing stage, and the first target round-trip delay can further represent round-trip delay of the data packets sent in the bandwidth increasing stage.
Further, a ratio of the average to the first target round trip delay may be calculated as the first feedback value. Illustratively, assuming that the average is denoted avg (ack) and the first target round trip delay is denoted rtt90, the first feedback value tup=avg (ack)/rtt 90. The smaller the first target round trip delay, the larger the response rate average, with higher bandwidth utilization. Therefore, in the embodiment of the disclosure, the first feedback value is determined based on the average value and the first target round trip delay, so that the first feedback value can more comprehensively reflect the bandwidth utilization.
Further, in the embodiment of the present disclosure, the first feedback value may be calculated once for each detected bandwidth increase phase. A first sample point is created based on the composition parameters of the probe magnification coefficient employed during the bandwidth increase phase and the first feedback value. And updating the parameter values of the composition parameters based on the first sample points to update the specific values of the detection multiplying power coefficients. Wherein, the detection multiplying power coefficient can be expressed in a tableShown as a x n b . Where a, b are denoted as hyper-parameters, i.e. composition parameters. N represents the number of RTTs from the beginning of the bandwidth increase phase detection to the detection of the entry into the bandwidth increase phase. For example, in the case where the specific value of the detection magnification coefficient is 1.25. Corresponding to a being 1.25 and b being 0.
For each detected bandwidth increase phase, a first sample point (a, b, tup) may be obtained. The composition parameters may be optimized based on the first sample points based on a bayesian optimization algorithm. Accordingly, the specific value of the detection magnification coefficient can be updated to the value calculated by the optimized composition parameter. Specifically, a proxy function may be constructed based on the first sample point. An acquisition function is then calculated based on the proxy function. A new set of composition parameters is then determined based on the acquisition function. Correspondingly, an updated detection magnification coefficient is calculated based on the new composition parameters, and detection is continued by using the updated detection magnification coefficient. Accordingly, in a subsequent probing process, a new first feedback value may be calculated based on the updated probing power coefficient. And updating the proxy function based on the updated detection multiplying factor and the new first feedback value. And then updating the acquisition function based on the updated proxy function, and repeating the process based on the updated acquisition function. Until reaching the preset stop condition. The preset stopping condition may include that the number of repetitions reaches a preset repetition here threshold, or that the newly calculated first feedback value is greater than the preset feedback value threshold. It should be noted that in the embodiments of the present disclosure, other black box parameter optimization algorithms may also be used. For example, using a web search algorithm, a random search algorithm, etc., embodiments of the present disclosure are not limited in this regard.
Optionally, the embodiment of the present disclosure may further include the following steps to dynamically update a preset number of specific values:
step S51, determining a second feedback value according to the response rate corresponding to the data packet sent in the bandwidth descending stage aiming at the detected bandwidth descending stage; the second feedback value is positively correlated with the response rate.
Step S52, for the purpose of optimizing increasing the second feedback value, updating the specific value of the preset number based on the preset number adopted in the bandwidth decreasing stage and the second feedback value.
In the embodiment of the present disclosure, the second feedback value may be expressed as Tdown. The bandwidth down phase may be a phase in which a change in bandwidth is detected and changed to a decrease. Alternatively, in the embodiment of the present disclosure, the bandwidth up-down stage detection may be implemented in the following manner: if the bandwidth difference value corresponding to the current time granularity is not greater than a second threshold value, determining that the network currently enters a bandwidth reduction state; if the bandwidth difference value corresponding to the N continuous time granularities is larger than the second threshold, determining the current ending bandwidth descending state of the network, and determining the period from the entering bandwidth descending state to the ending bandwidth descending state as a detected bandwidth descending stage.
The second threshold may be set according to actual situations. The second threshold may be a preset constant value, or the second threshold may be calculated based on a specific value of the current detection magnification coefficient, for example. Illustratively, the second threshold may be equal to-0.25 bi. Assuming that the current time granularity is the ith RTT, and the estimated bandwidth at the ith RTT is bi. If the next time granularity: and when the estimated bandwidth bi+1 in the (i+1) th RTT is less than or equal to bi 0.75, determining that the bandwidth difference value corresponding to the current time granularity is not greater than a second threshold value, and correspondingly, determining that the current bandwidth-down state is entered, namely, the current bandwidth-down stage is started. Then, the detection may be continuously performed, and if the bandwidth difference value is detected to be greater than the second threshold value 3 times in succession, it may be determined that the bandwidth down state is ended, that is, the bandwidth down stage is currently exited. For example, if bj+1 > bi 0.75 has been detected for the 3 rd time in the jth RTT, it may be determined that the bandwidth-down stage is ended, and the i-th RTT to the j-th RTT are detected as a bandwidth-down stage. Specifically, the time t1 corresponding to the maximum bandwidth obtained by sampling when entering the ith RTT may be recorded, the time t2 corresponding to the maximum bandwidth obtained by sampling when entering the jth RTT may be recorded, and t1 to t2 are detected as a bandwidth decreasing stage. In the embodiment of the disclosure, by setting the second threshold, the end of the bandwidth reduction state is determined only when the bandwidth difference value is detected to be greater than the second threshold for a plurality of times, so that the detection accuracy of the bandwidth reduction stage can be ensured to a certain extent.
Further, the greater the response rate, the higher the bandwidth utilization can be characterized. And the second feedback value is positively correlated with the response rate, the second feedback value may therefore be used to characterize the current bandwidth utilization. Accordingly, compared with a mode of adopting a fixed value as a preset number, in the embodiment of the disclosure, the specific value of the preset number is updated with the aim of increasing the second feedback value, so that when the updated preset number is used for bandwidth detection subsequently, the bandwidth utilization rate in the process of detecting the bandwidth downwards can be improved, and the convergence rate of bandwidth estimation is further improved. It should be noted that, bandwidth detection in the embodiments of the present disclosure may be implemented based on a bandwidth detection model, and the preset number and the parameters a and b may be model parameters in the model, and accordingly, by optimizing these parameters, the bandwidth detection model that specifically optimizes congestion control is equivalent. Furthermore, in a detection mode based on delay, because the real network often has unpredictable delay jitter, the stability of using delay to detect the bandwidth of a signal is poor, and the bandwidth utilization ratio is very easy to be insufficient. Compared with a detection mode based on time delay, in the embodiment of the disclosure, the bandwidth utilization rate can be improved in the process of detecting the bandwidth upwards or downwards.
Optionally, in an implementation manner, the step of determining the second feedback value according to the response rate corresponding to the data packet sent in the bandwidth reduction stage may specifically include:
step S51a, determining an average value of response rates corresponding to the data packets sent in the bandwidth decreasing stage.
And step S51b, determining the round-trip delay corresponding to the second target quantile in the round-trip delay information corresponding to the data packet sent in the bandwidth reduction stage as the second target round-trip delay.
Step S51c, determining the second feedback value based on the average value and the second target round trip delay; the second feedback value is inversely related to the second target round trip delay.
In the embodiment of the present disclosure, the response rate corresponding to the data packet sent in the bandwidth reduction stage may be obtained from the response rates calculated based on the steps S21 to S22. Then, the average value of the obtained response rates is calculated to obtain the average response speed. Further, the round trip delay of each data packet sent in the bandwidth reduction stage can be obtained, so as to obtain the round trip delay information corresponding to the data packet sent in the bandwidth reduction stage. Wherein the round trip delay information includes round trip delays of all packets sent during the bandwidth down phase. The second target score may be set according to actual requirements. Illustratively, the second target fraction may be a 50 fraction. Accordingly, all round-trip delays in the round-trip delay information can be sequenced from low to high to obtain a delay sequence, and data in a 50 quantile position in the delay sequence is used as a second target round-trip delay. Further, a ratio of the average to the second target round trip delay may be calculated as the second feedback value. Illustratively, assuming that the average value is denoted avg (ack) and the first target round trip delay is denoted rtt50, the second feedback value tdown=avg (ack)/rtt 50. The smaller the second target round trip delay, the larger the response rate average, with higher bandwidth utilization. Therefore, in the embodiment of the disclosure, the second feedback value is determined based on the average value and the second target round trip delay, so that the second feedback value can more comprehensively reflect the bandwidth utilization.
Further, in the embodiment of the present disclosure, the second feedback value may be calculated once for each detected bandwidth down period. A second sample point is created based on the preset number employed in the bandwidth down phase and the second feedback value. And updating the specific value of the preset number based on the second sample points. For each detected bandwidth reduction stage, a second sample point (W, tdown) can be obtained. Where W may represent the bandwidth sampling interval length. Specifically, the preset number of specific values may be optimized based on the second sample points based on a bayesian optimization algorithm. First, a proxy function may be constructed based on the second sample points. An acquisition function is then calculated based on the proxy function. A new preset number is then determined based on the acquisition function. Accordingly, the detection is continued using the new preset number. Accordingly, in a subsequent probing process, a new second feedback value may be calculated based on the new preset number. Based on the new preset number and the new second feedback value, the proxy function is updated. And then updating the acquisition function based on the updated proxy function, and repeating the process based on the updated acquisition function. Until reaching the preset stop condition. The preset stopping condition may include that the number of repetitions reaches a preset repetition here threshold, or that the newly calculated second feedback value is greater than the preset feedback value threshold. It should be noted that in the embodiments of the present disclosure, other black box parameter optimization algorithms may also be used. For example, using a web search algorithm, a random search algorithm, etc., embodiments of the present disclosure are not limited in this regard.
The following description is made in connection with an application scenario of network streaming video transmission. With the updating and iteration of the network terminal and the core switch equipment, the network streaming video gradually becomes a main mode of entertainment and life of people. The congestion control algorithm is used as one of core algorithms influencing user experience under network streaming media video transmission, and adjusts the sending rate of a sending end to adapt to fluctuation and change of a network environment, so that network delay is kept at a lower level, and a faster transmission speed is provided for upper application data. As network bandwidth increases, it is required to continually probe upward. As network bandwidth drops, downward probing is required. In the process of detecting the bandwidth upwards, the detected speed determines the utilization rate of the bandwidth, and if the bandwidth is detected too slowly, lower bandwidth utilization rate can be generated, so that the probability of streaming media data blocking is increased. The downward convergence process can cause too high queuing delay and even congestion packet loss if the detection rate is too slow, thereby increasing the probability of retransmission of streaming media data and causing video clip.
In one implementation, for example, in a link capacity based bandwidth estimation (BBR) approach, a larger bandwidth is often detected by fixedly increasing the transmission rate to 1.25 times the current sampling bandwidth every 8 RTTs. At the same time, the bandwidth is estimated to be the maximum reception rate of samples within approximately 10 RTTs. However, in this manner, bandwidth probing is performed once every 8 RTTs at a fixed interval, but in 8 RTTs, the BBR algorithm cannot sense the bandwidth change, and particularly when the absolute value of the RTT is larger and the actual bandwidth change is increased more in a short time, the bandwidth probing frequency is slower, which causes more serious bandwidth utilization loss. Secondly, the sending rate is adjusted by adopting a fixed step length of 1.25, when the bandwidth fluctuates greatly, the detection mode of the fixed step length needs a long time to converge, namely, a long time is needed to detect the maximum value of the bandwidth, so that the bandwidth utilization rate is further lost. And when the bandwidth is greatly reduced, the maximum receiving rate inside 10 RTTs is fixedly sampled as the bandwidth, so that queuing delay is greatly increased, and even congestion packet loss is generated.
In the embodiment of the disclosure, the bandwidth detection module of the BBR-like algorithm is optimized and improved, and the bandwidth up-detection and down-detection are designed in a targeted manner, and cwnd, preset quantity and detection multiplying power coefficient are updated dynamically. Therefore, the performance of the device under the bandwidth fluctuation environment can be optimized, the bandwidth utilization rate is effectively improved, the convergence speed of the bandwidth is optimized, the queuing delay is further reduced, the transmission of the application data of the upper layer streaming media is accelerated, and the blocking rate and the playing failure rate are reduced.
Fig. 2 is a block diagram of a bandwidth detection apparatus according to an exemplary embodiment, and as shown in fig. 2, the apparatus 20 may include:
a transmitting module 201 configured to perform transmitting of a data packet to a receiving end based on the estimated transmission rate;
an obtaining module 202 configured to obtain a response rate corresponding to the data packets sent in a preset number of time granularities;
the estimating module 203 is configured to execute estimating the bandwidth of the network based on the response rate corresponding to the data packets sent in the preset number of time granularity;
a setting module 204 configured to perform setting of a target value of the congestion control target based on the bandwidth and an initial value of the congestion control target;
A first updating module 205 configured to perform updating the sending rate based on the bandwidth if the total size of the in-transit packets is less than the target value; the in-transit data packets include data packets that have been sent out and have not received a response packet.
In an alternative embodiment, the setting module is specifically configured to perform:
determining a reference value of the congestion control target according to the receiving rate of the response packet fed back by the receiving end, the bandwidth and a preset detection multiplying factor;
and determining the maximum value of the reference value and the initial value as a target value of the congestion control target.
In an alternative embodiment, the apparatus further comprises:
a first determining module configured to perform a first feedback value for a detected bandwidth increase phase according to a response rate corresponding to a data packet sent in the bandwidth increase phase; the first feedback value is positively correlated with the response rate;
and the second updating module is configured to update the specific value of the detection multiplying factor based on the detection multiplying factor adopted in the bandwidth increasing stage and the first feedback value for the optimization purpose of increasing the first feedback value.
In an alternative embodiment, the first determining module is specifically configured to perform:
determining the average value of response rates corresponding to the data packets sent in the bandwidth increasing stage;
determining the round-trip delay corresponding to the first target fractional number in the round-trip delay information corresponding to the data packet sent in the bandwidth increasing stage as the first target round-trip delay;
determining the first feedback value based on the mean value and the first target round trip delay; the first feedback value is inversely related to the first target round trip delay.
In an alternative embodiment, the apparatus further comprises:
the first calculating module is configured to calculate receiving rates corresponding to the M response packets based on the total size of the M response packets, the starting receiving time and the ending receiving time of the M response packets under the condition that the M response packets fed back by the receiving end are received; m is a positive integer;
the setting module is specifically further configured to perform:
obtaining receiving rates corresponding to the M response packets obtained by the last calculation as target receiving rates;
determining a target coefficient according to the target receiving rate, the bandwidth and a preset detection multiplying power coefficient;
And determining a reference value of the congestion control target based on the target coefficient and a bandwidth delay product of the network.
In an alternative embodiment, the apparatus further comprises:
the second determining module is configured to execute a step of determining a second feedback value according to the response rate corresponding to the data packet sent in the detected bandwidth decreasing step; the second feedback value is positively correlated with the response rate;
and a third updating module configured to perform updating of a specific value of the preset number based on the preset number adopted in the bandwidth reduction stage and the second feedback value for optimization purpose of increasing the second feedback value.
In an alternative embodiment, the apparatus further comprises:
the third determining module is configured to determine that the network currently enters a bandwidth increasing state if the bandwidth difference value corresponding to the current time granularity is not smaller than a first threshold value; the bandwidth difference value is the difference value between the bandwidth estimated in the next time granularity and the bandwidth estimated in the current time granularity; if the bandwidth difference value corresponding to the continuous N time granularities is smaller than the first threshold, determining the current end bandwidth increasing state of the network, and determining the period from the entering bandwidth increasing state to the end bandwidth increasing state as a detected bandwidth increasing stage; the N is an integer greater than 2;
A fourth determining module, configured to determine that the network currently enters a bandwidth reduction state if the bandwidth difference value corresponding to the current time granularity is not greater than a second threshold value; if the bandwidth difference value corresponding to the N continuous time granularities is larger than the second threshold, determining the current ending bandwidth descending state of the network, and determining the period from the entering bandwidth descending state to the ending bandwidth descending state as a detected bandwidth descending stage.
In an alternative embodiment, the apparatus further comprises:
a fifth determining module configured to perform, for each data packet transmitted, determining a round trip delay of the data packet, and determining a total data amount of response packets received from a transmission time to a reception time of the data packet; the receiving time is the moment of receiving a response packet fed back by the receiving end for the data packet;
a second calculation module configured to perform calculation of a response rate corresponding to the data packet based on a round trip delay of the data packet and the total data amount;
the acquisition module is specifically configured to perform: and acquiring response rates corresponding to the data packets in the preset number of time granularities from the calculated response rates.
In summary, the bandwidth detection apparatus provided by the embodiments of the present disclosure sends a data packet to a receiving end based on an estimated sending rate. And acquiring response rates corresponding to the data packets transmitted within a preset number of time granularities. Based on response rates corresponding to data packets sent in a preset number of time granularities, the bandwidth of the network is estimated. The target value of the congestion control target is set based on the initial values of the bandwidth and the congestion control target. If the total size of the in-transit data packet is smaller than the target value, updating the sending rate based on the bandwidth; the in-transit packet is a packet that has been sent out and has not received a response packet. Therefore, the congestion control target is dynamically set based on the currently detected bandwidth, so that the congestion control target can be closer to the actual situation of the current network to a certain extent. Correspondingly, whether to update the sending rate is determined based on the congestion control target which is dynamically set, so that the updating frequency of the sending rate is more consistent with the actual condition of the current network, and the bandwidth detection effect can be improved to a certain extent.
Meanwhile, the transmission rate is adaptively updated based on the currently detected bandwidth, so that the updated transmission rate is more in line with the actual condition of the current network, the updating effect of the transmission rate is further improved, and the bandwidth detection effect is further improved.
According to one embodiment of the present disclosure, there is provided an electronic device including: a processor, a memory for storing processor executable instructions, wherein the processor is configured to perform steps in a bandwidth probing method as in any one of the embodiments described above.
According to an embodiment of the present disclosure, there is also provided a storage medium, which when executed by a processor of an electronic device, enables the electronic device to perform the steps of the bandwidth detection method as in any of the embodiments described above.
According to an embodiment of the present disclosure, there is also provided a computer program product comprising readable program instructions which, when executed by a processor of an electronic device, enable the electronic device to perform the steps of the bandwidth detection method as in any of the embodiments described above.
Fig. 3 is a block diagram illustrating an apparatus for bandwidth probing according to an exemplary embodiment. The apparatus 900 may include, among other things, a processing component 902, a memory 904, a power component 906, a multimedia component 908, an audio component 910, an input/output interface 912, a sensor component 914, a communication component 916, and a processor 920. The processing component 902 may include one or more processors 920 to execute instructions to perform all or part of the steps of the bandwidth detection method described above. In an exemplary embodiment, a storage medium is also provided, such as a memory 904 including instructions executable by the processor 920 of the apparatus 900 to perform the above-described method. Alternatively, the storage medium may be a non-transitory computer readable storage medium, which may be, for example, ROM, random Access Memory (RAM), CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like.
Fig. 4 is a block diagram illustrating another apparatus for bandwidth probing according to an exemplary embodiment.
The apparatus 1000 may include, among other things, a processing component 1022, a memory 1032, an input-output interface 1058, a network interface 1050, and a power supply component 1026. The apparatus 1000 may be provided as a server. The application programs stored in memory 1032 may include one or more modules each corresponding to a set of instructions. Further, the processing component 1022 is configured to execute instructions to perform the bandwidth probing method described above.
User information (including but not limited to user equipment information, user personal information, etc.), related data, etc. related to the present disclosure are all information authorized by the user or authorized by the parties.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This disclosure is intended to cover any adaptations, uses, or adaptations of the disclosure following the general principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It is to be understood that the present disclosure is not limited to the precise arrangements and instrumentalities shown in the drawings, and that various modifications and changes may be effected without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.

Claims (10)

1. A method of bandwidth probing, the method comprising:
transmitting a data packet to a receiving end based on the estimated transmission rate;
acquiring response rates corresponding to data packets transmitted within a preset number of time granularities;
estimating the bandwidth of the network based on response rates corresponding to the data packets sent in the preset number of time granularities;
setting a target value of the congestion control target based on the initial values of the bandwidth and the congestion control target;
if the total size of the in-transit data packet is smaller than the target value, updating the sending rate based on the bandwidth; the in-transit data packets include data packets that have been sent out and have not received a response packet.
2. The method of claim 1, wherein the setting the target value of the congestion control target based on the initial values of the bandwidth and congestion control target comprises:
determining a reference value of the congestion control target according to the receiving rate of the response packet fed back by the receiving end, the bandwidth and a preset detection multiplying factor;
And determining the maximum value of the reference value and the initial value as a target value of the congestion control target.
3. The method according to claim 2, wherein the method further comprises:
for a detected bandwidth increasing stage, determining a first feedback value according to a response rate corresponding to a data packet sent in the bandwidth increasing stage; the first feedback value is positively correlated with the response rate;
and updating the specific value of the detection multiplying factor coefficient based on the detection multiplying factor coefficient adopted in the bandwidth increasing stage and the first feedback value with the purpose of increasing the first feedback value as optimization.
4. A method according to claim 3, wherein said determining a first feedback value based on a response rate corresponding to the data packets transmitted during said bandwidth increase phase comprises:
determining the average value of response rates corresponding to the data packets sent in the bandwidth increasing stage;
determining the round-trip delay corresponding to the first target fractional number in the round-trip delay information corresponding to the data packet sent in the bandwidth increasing stage as the first target round-trip delay;
determining the first feedback value based on the mean value and the first target round trip delay; the first feedback value is inversely related to the first target round trip delay.
5. The method according to claim 2, wherein the method further comprises:
under the condition that M response packets fed back by the receiving end are received, calculating the receiving rates corresponding to the M response packets based on the total size of the M response packets, the starting receiving time and the ending receiving time of the M response packets; m is a positive integer;
the determining the reference value of the congestion control target according to the receiving rate of the response packet fed back by the receiving end, the bandwidth and a preset detection multiplying factor comprises the following steps:
obtaining receiving rates corresponding to the M response packets obtained by the last calculation as target receiving rates;
determining a target coefficient according to the target receiving rate, the bandwidth and a preset detection multiplying power coefficient;
and determining a reference value of the congestion control target based on the target coefficient and a bandwidth delay product of the network.
6. The method according to any one of claims 1-5, further comprising:
determining a second feedback value according to the response rate corresponding to the data packet sent in the bandwidth descending stage aiming at the detected bandwidth descending stage; the second feedback value is positively correlated with the response rate;
And updating specific values of the preset number based on the preset number adopted in the bandwidth descending stage and the second feedback value with the aim of increasing the second feedback value as optimization.
7. The method of claim 6, wherein the method further comprises:
if the bandwidth difference value corresponding to the current time granularity is not smaller than a first threshold value, determining that the network currently enters a bandwidth increasing state; the bandwidth difference value is the difference value between the bandwidth estimated in the next time granularity and the bandwidth estimated in the current time granularity; if the bandwidth difference value corresponding to the continuous N time granularities is smaller than the first threshold, determining the current end bandwidth increasing state of the network, and determining the period from the entering bandwidth increasing state to the end bandwidth increasing state as a detected bandwidth increasing stage; the N is an integer greater than 2;
if the bandwidth difference value corresponding to the current time granularity is not greater than a second threshold value, determining that the network currently enters a bandwidth reduction state; if the bandwidth difference value corresponding to the N continuous time granularities is larger than the second threshold, determining the current ending bandwidth descending state of the network, and determining the period from the entering bandwidth descending state to the ending bandwidth descending state as a detected bandwidth descending stage.
8. A bandwidth detection apparatus, the apparatus comprising:
a transmitting module configured to perform transmitting of the data packet to the receiving end based on the estimated transmission rate;
the acquisition module is configured to acquire response rates corresponding to the data packets sent in a preset number of time granularities;
the estimating module is configured to execute the estimation of the bandwidth of the network based on the response rate corresponding to the data packets sent in the preset number of time granularity;
a setting module configured to perform setting of a target value of the congestion control target based on the bandwidth and an initial value of the congestion control target;
a first updating module configured to perform updating the sending rate based on the bandwidth if a total size of the in-transit data packets is less than the target value; the in-transit data packets include data packets that have been sent out and have not received a response packet.
9. An electronic device, comprising:
a processor;
a memory for storing the processor-executable instructions;
wherein the processor is configured to execute the instructions to implement the method of any one of claims 1 to 7.
10. A storage medium, characterized in that instructions in the storage medium, when executed by a processor of an electronic device, cause the electronic device to perform the method of any of claims 1 to 7.
CN202310504870.1A 2023-05-06 2023-05-06 Bandwidth detection method, device, electronic equipment and storage medium Pending CN116566919A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310504870.1A CN116566919A (en) 2023-05-06 2023-05-06 Bandwidth detection method, device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310504870.1A CN116566919A (en) 2023-05-06 2023-05-06 Bandwidth detection method, device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN116566919A true CN116566919A (en) 2023-08-08

Family

ID=87494057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310504870.1A Pending CN116566919A (en) 2023-05-06 2023-05-06 Bandwidth detection method, device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN116566919A (en)

Similar Documents

Publication Publication Date Title
CN111683393B (en) Adaptive congestion control method for dynamically adjusting gain coefficient
CN106301684B (en) Media data transmission method and device
US9596281B2 (en) Transport accelerator implementing request manager and connection manager functionality
US11558302B2 (en) Data transmission method and apparatus
KR102350504B1 (en) Apparatus and method for controlling downlink throughput in communication system
WO2017000719A1 (en) Congestion control method and device based on queue delay
US11057445B2 (en) Method for adapting the downloading behavior of a client terminal configured, to receive multimedia content, and corresponding terminal
CN113301392B (en) Code rate determining method, device, equipment and storage medium
Liu et al. Segment duration for rate adaptation of adaptive HTTP streaming
CN113014505B (en) Transmission control method for time delay differentiation in high dynamic topology satellite network
CN104581422A (en) Method and device for processing network data transmission
CN104618258A (en) Control method of data transmission rate
US9432296B2 (en) Systems and methods for initializing packet transfers
EP2928145A1 (en) Method for estimating a bandwidth associated with a connection between a client terminal and at least one server, corresponding client terminal
WO2024001763A1 (en) Data transmission processing method and device, storage medium, and electronic device
US20040176947A1 (en) Transmission control method and system
CN117156167A (en) Self-adaptive data transmission method and device of fusion transmission system
CN112422356B (en) Method and device for determining network state
CN117676695A (en) TCP transmission method, device and system
CN111130923B (en) Network bandwidth determining method and device, electronic equipment and storage medium
CN116566919A (en) Bandwidth detection method, device, electronic equipment and storage medium
CN104579582B (en) A kind of high-quality speech transmission method based on communication network
KR100859908B1 (en) Method for tcp congestion control using constant congestion state sensing
JP5169441B2 (en) Network quality measurement system, network quality measurement method, and network quality measurement program
CN115347994A (en) Method, device, medium, wireless access device and system for in-network state feedback

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