WO2017000728A1 - 流量控制方法、装置和服务器 - Google Patents
流量控制方法、装置和服务器 Download PDFInfo
- Publication number
- WO2017000728A1 WO2017000728A1 PCT/CN2016/084025 CN2016084025W WO2017000728A1 WO 2017000728 A1 WO2017000728 A1 WO 2017000728A1 CN 2016084025 W CN2016084025 W CN 2016084025W WO 2017000728 A1 WO2017000728 A1 WO 2017000728A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user terminal
- network
- quality
- determining
- delay
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
- H04L47/80—Actions related to the user profile or the type of traffic
- H04L47/805—QOS or priority aware
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
Definitions
- the present invention relates to the field of computer technologies, and in particular, to a flow control method, apparatus, and server.
- the terminal When the terminal communicates through these applications, it needs to connect to the Internet and occupy a certain network bandwidth of the Internet. Since the network bandwidth is limited, when there are many communication packets transmitted during the communication process, network congestion may occur. Therefore, in order to enable a limited network bandwidth to be better, the transmitted communication data packet needs to be performed. flow control.
- the flow control process may be: when multiple user terminals communicate, the multiple user terminals respectively send their own communication capability information to the server, such as packet loss rate, network jitter, network connection type, and the like.
- the server may set a Qos (Quality of Service) parameter for each user terminal based on the communication capability information sent by the multiple user terminals, and The Qos parameters are respectively sent to corresponding user terminals.
- the user terminal may send a communication data packet to the server based on the Qos parameter, and when the server receives the communication data packet, forward the communication data packet to the multiple users.
- Other user terminals in the terminal to achieve flow control.
- an embodiment of the present invention provides a flow control method and apparatus.
- a flow control method comprising:
- the network side device determines the first queue delay based on the sending and receiving time of the communication data packet currently received from the user terminal, and the sending and receiving time of the communication data packet received from the user terminal last time, and the first queue delay The queuing time of the currently received communication packet in the router buffer queue;
- the first quality of service parameter is a quality of service parameter initially configured by the network side device to the user terminal
- the second queue delay is a queuing time of the last received communication data packet in a router buffer queue.
- the received data amount is the data amount of the currently received communication data packet or the amount of data received by the network side device from the user terminal within a specified time interval;
- a flow control apparatus for use in a network side device, the apparatus comprising one or more processors; and a memory storing a plurality of program modules, wherein the program modules comprise:
- a determining module configured to determine a first queue delay based on a sending and receiving time of the communication data packet currently received by the network side device from the user terminal, and a sending and receiving time of the communication data packet received from the user terminal last time,
- the first queue delay is a queuing time of the currently received communication data packet in a router buffer queue
- the adjusting module is configured to adjust the first quality of service parameter to obtain the second service, based on the first queue delay, the second queue delay stored by the network side device, and the received data volume of the network side device a quality parameter, the first quality of service parameter is a quality of service parameter initially configured by the network side device to the user terminal, and the second queue is delayed by the last received communication data packet in a router buffer a queuing time in the queue, the received data amount being the data amount of the currently received communication data packet or the amount of data received by the network side device from the user terminal within a specified time interval;
- a sending module configured to send the second quality of service parameter to the user terminal, to enable the user terminal to send a communication data packet based on the second quality of service parameter.
- a server is provided that is connected to a user terminal over a network, the server being configured to:
- the first quality of service parameter is The amount of data of the first communication data packet or the amount of data received by the server from the user terminal during a specified time interval
- FIG. 1 is a structural diagram of a flow control system according to an embodiment of the present invention.
- FIG. 2 is a flowchart of a flow control method according to an embodiment of the present invention.
- FIG. 3 is a flowchart of another flow control method according to an embodiment of the present invention.
- FIG. 4 is a schematic structural diagram of a flow control device according to an embodiment of the present invention.
- FIG. 5 is a schematic structural diagram of another flow control device according to an embodiment of the present invention.
- FIG. 6 is a schematic structural diagram of a determining module according to an embodiment of the present invention.
- FIG. 7 is a schematic structural diagram of an adjustment module according to an embodiment of the present invention.
- FIG. 8 is a schematic structural diagram of a fourth determining unit according to an embodiment of the present disclosure.
- FIG. 9 is a schematic structural diagram of a prediction unit according to an embodiment of the present invention.
- FIG. 10 is a schematic structural diagram of still another flow control device according to an embodiment of the present invention.
- FIG. 11 is a schematic diagram of an application environment of flow control according to an embodiment of the present invention.
- FIG. 1 is a structural diagram of a flow control system according to an embodiment of the present invention.
- the system includes a network side and a plurality of user terminals, and the network side and the plurality of user terminals are respectively connected through a network.
- the multiple user terminals are configured to separately send their own communication capability information to the network side, and the receiving network side sets a service quality parameter for each user terminal based on the communication capability information of each user terminal, and then, The plurality of user terminals are further configured to send the communication data packet to the network side based on the quality of service parameter set by the network side.
- the network side is configured to receive the communication capability information sent by the multiple user terminals, and separately set a quality of service parameter for the multiple user terminals, and separately send the service quality parameter to the multiple user terminals, and the network side is further configured to receive the The communication data packet sent by the plurality of user terminals is forwarded to the other user terminals of the plurality of user terminals to implement communication between the plurality of user terminals.
- the multiple user terminals when the multiple user terminals perform communication, the multiple user terminals may establish a communication group, and then the multiple user terminals may separately send to the network side through the communication group.
- the communication data packet is forwarded by the network side to the other user terminals in the communication group, so that the multiple user terminals communicate through the communication group.
- the communication between the plurality of user terminals may be audio communication or video communication, that is, the plurality of user terminals may respectively send communication data packets for audio communication to the network side, or may be used for transmission. Communication packets for video communication.
- FIG. 2 is a flow control method according to an embodiment of the present invention. Referring to FIG. 2, the method includes steps 201-203.
- Step 201 The network side device determines, according to the sending and receiving time of the communication data packet currently received from the user terminal, and the sending and receiving time of the communication data packet received from the user terminal last time, determining the first queue delay, the first queue The delay is the queue time of the currently received communication packet in the router buffer queue.
- Step 202 Adjust the first quality of service parameter according to the first queue delay, the second queue delay stored by the network side device, and the received data volume of the network side device, to obtain a second quality of service parameter.
- the first quality of service parameter is a quality of service parameter initially configured by the network side device to the user terminal
- the second queue delay is a queued time of the last received communication data packet in a router buffer pair column.
- the received data amount is the data amount of the currently received communication data packet or the network side device from the use within the specified time interval The amount of data received by the terminal.
- the user terminal sends the communication data packet with a first quality of service parameter initially configured by the network side device, so that the network side device sends the first service quality parameter according to the user terminal.
- the situation of the communication data packet e.g., queue delay and amount of data, etc. determines the network condition and adjusts the first quality of service parameter to the second quality of service parameter accordingly.
- Step 203 Send the second quality of service parameter to the user terminal, and enable the user terminal to send a subsequent communication data packet based on the second quality of service parameter.
- the user terminal may be one of a plurality of user terminals coupled to the network side device, and the plurality of user terminals simultaneously perform network communication to the network side device.
- the network side determines the first queue delay based on the sending and receiving time of the currently received communication data packet, and the sending and receiving time of the last received communication data packet, and the network side is based on the first queue extension.
- Time, the stored second queue delay, and the received data amount, the first quality of service parameter is adjusted to obtain a second quality of service parameter, and the second quality of service parameter is sent to the user terminal, so that the user terminal is based on the second
- the service quality parameter sends a communication data packet, so that the network side can adaptively adjust multiple user terminals through real-time changes of the network to ensure network congestion is avoided under a limited network bandwidth, and multiple people are improved. Communication quality of communication.
- determining the first queue delay includes:
- a third difference between the receiving time interval and the sending time interval is determined, and the third difference is determined as the first queue delay.
- adjusting the first quality of service parameter to obtain a second quality of service parameter including:
- the first quality of service parameter is adjusted based on the network state and the network bandwidth of the user terminal to obtain the second quality of service parameter.
- determining a network shape of the user terminal based on the first queue delay and the stored second queue delay State including:
- the first queue delay is equal to the second queue delay, determining that the network state of the user terminal is a normal state
- first queue delay is not equal to the second queue delay, determining a fourth difference between the first queue delay and the second queue delay, and obtaining a delay duration
- the network status of the user terminal is determined based on the first queue delay, the second queue delay, and the delay duration.
- determining, according to the first queue delay, the second queue delay, and the delay duration, determining a network status of the user terminal including:
- the delay duration is greater than or equal to the first threshold, determining that the network state of the user terminal is an overload state; otherwise, determining that the network state of the user terminal is a normal state;
- the delay duration is greater than or equal to the second threshold, determining that the network state of the user terminal is an idle state; otherwise, determining that the network state of the user terminal is a normal state.
- predicting network bandwidth of the user terminal including:
- the received data amount is the amount of data received by the network side device from the user terminal within a specified time interval
- the amount of data received by the user terminal in the specified time interval is divided by the length of the specified time interval, and the obtained data amount is obtained.
- the network state of the user terminal is an overload state, multiplying the reference bandwidth by the first bandwidth coefficient to obtain a network bandwidth of the user terminal;
- the reference bandwidth is determined as the network bandwidth of the user terminal.
- the optional embodiments of the present invention may be used in any combination to form an optional embodiment of the present invention.
- FIG. 3 is a flow control method according to an embodiment of the present invention. Referring to FIG. 3, the method includes the following steps.
- Step 301 Determine a first queue delay based on a currently received communication packet sending and receiving time, and a sending and receiving time of the last received communication data packet, where the first queue delay is the currently received communication data packet.
- the queue time in the router buffer queue is the first queue delay based on a currently received communication packet sending and receiving time, and a sending and receiving time of the last received communication data packet, where the first queue delay is the currently received communication data packet.
- the sending and receiving time of the currently received communication data packet refers to the receiving time and the sending time of the currently received communication data packet
- the sending and receiving time of the last received communication data packet refers to the last received communication data packet.
- the reception time and the transmission time, and the communication packet received last time refers to the communication data packet that is received closest to the currently received communication data packet and received before the currently received communication data packet.
- the network side determines, according to the sending and receiving time of the currently received communication data packet, and the sending and receiving time of the last received communication data packet, the operation of determining the first queue delay may be: determining the currently received communication data packet. Determining, by the first difference between the receiving time and the receiving time of the last received communication packet, determining the first difference as the receiving time interval; determining the sending time of the currently received communication packet and the last received time a second difference between the transmission times of the communication data packets, the second difference is determined as a transmission time interval; a third difference between the reception time interval and the transmission time interval is determined, and the third difference is determined as The first queue is delayed.
- the receiving time of the currently received communication data packet may be 10:20:31
- the sending time is 10:20:11
- the receiving time of the last received communication packet may be 10:20:18.
- the sending time is 10:20:01
- the network side determines that the receiving time of the currently received communication packet is 10:20:31, and the receiving time of the last received communication packet is 10:20:18.
- the first difference between the two is 13 seconds, and the reception time interval is determined to be 13 seconds; the transmission time of the currently received communication data packet is determined to be 10:20:11, and the transmission time of the last received communication data packet is 10:20.
- the second difference between the minutes of 01 seconds is 10 seconds, and the transmission time interval is determined to be 10 seconds; the third difference between the reception time interval of 13 seconds and the transmission time interval of 10 seconds is determined to be 3 seconds, and the first is determined.
- the queue delay is 3 seconds.
- the network side can obtain the timestamp carried by the currently received communication data packet, and convert the timestamp to obtain the currently received communication. The time the packet was sent.
- the network side can acquire the timestamp carried by the last received communication data packet, and convert the time stamp to obtain the last received communication. The time the packet was sent.
- the difference between the receiving time interval and the sending time interval is used to indicate the delay jitter between the currently received communication data packet and the last received communication data packet, and the delay jitter
- the delay time of the currently received communication packet is the currently received communication packet.
- the difference between the sending and receiving time, the delay time of the last received communication packet is the difference between the sending and receiving time of the last received communication packet.
- the delay time consumed is different, and the delay time is caused by the transmission delay, the propagation delay, and
- the queue delay consists of three parts.
- the propagation delay is a constant in the process of communication between the plurality of user terminals, that is, the propagation delay of the currently received communication data packet is equal to the propagation delay of the last received communication data packet.
- the transmission delay of the currently received communication data packet is very small from the transmission delay of the last received communication data packet, and the difference is substantially negligible. Therefore, the difference between the queue delay of the current received communication packet and the queue delay of the last received communication packet can be used to measure the currently received communication packet and the last received communication packet. Delay jitter. Therefore, the delay jitter between the currently received communication data packet and the last received communication data packet can be determined as the first queue delay.
- the plurality of user terminals when a plurality of user terminals perform communication, the plurality of user terminals respectively transmit their own communication capability information to the network side, and for each of the plurality of user terminals, when the network side receives the user terminal to send The communication capability information, the network side may set a first quality of service parameter for the user terminal based on the communication capability information sent by the user terminal, and send the first quality of service parameter to the user terminal, when the user terminal receives the first service sent by the network side.
- the quality parameter is used, the user terminal may send the communication data packet to the network side according to the first quality of service parameter.
- the multiple user terminals can communicate through the communication group, and the specific method for the multiple user terminals to communicate through the communication group can refer to related technologies. This is not elaborated.
- the plurality of user terminals are terminals corresponding to a plurality of users currently communicating, and the plurality of user terminals may be a computer, a mobile phone, a tablet computer, etc., and the network types of the multiple user terminals may be Wired network, wireless network, 2/3/4G network, etc., the plurality of user terminals transmitting their own communication capability information to the network side may include packet loss rate, delay time, network jitter, connected network type, etc. The disclosed embodiments do not specifically limit this.
- the first quality of service parameter may include an audio core code rate, a number of channels, an audio group packet length, and an FEC. (Forward Error Correction, Forward Error Correction Coding) parameters and the like, which are not specifically limited in the embodiment of the present disclosure.
- the time stamp carried by the network side receiving the communication data packet may be mixed with various noises, based on the time stamp.
- the transmission time of the determined communication data packet also generates a certain error, which causes the first queue delay to generate an error. Therefore, when the network side receives the communication data packet, the network side needs to perform noise processing on the received communication data packet. And obtaining a timestamp carried by the communication data packet from the processed communication data packet, thereby determining a transmission time of the communication data packet.
- the Kalman filter in the digital filter may be used for noise processing.
- the network side can also perform noise processing on the received communication data packet by using a Wiener filter, a Chebyshev filter, etc., and the detailed process of performing noise processing on the received communication data packet can be referred to.
- the related art does not elaborate on this in the embodiment of the present invention.
- Step 302 Determine, according to the first queue delay and the stored second queue delay, a network status of the user terminal, where the second queue delay is a queuing time of the last received communication packet in the router buffer queue. .
- the network side can determine the network status of the user terminal based on the first queue delay and the stored second queue delay.
- the operation of determining, by the network side, the network status of the user terminal may be: if the first queue delay is greater than the second queue delay, then determining, by the network side, the first queue delay, the second queue delay, and the delay duration Whether the delay duration is greater than or equal to the first threshold; if the delay duration is greater than or equal to the first threshold, determining that the network state of the user terminal is an overload state; otherwise, determining that the network state of the user terminal is a normal state; If the delay of the first queue is less than the delay of the second queue, it is determined whether the delay duration is greater than or equal to the second threshold; if the delay duration is greater than or equal to the second threshold, determining that the network state of the user terminal is an idle state, Otherwise, it is determined that the network state of the user terminal is a normal state.
- the delay of the first queue is 3s
- the delay of the second queue is 2s
- the first threshold is 1s.
- the network side determines that the fourth difference between the first queue delay 3s and the second queue delay 2s is 1s.
- the delay time is 1s.
- the network side determines that the network state of the user terminal is an overload state, because the first queue delay 3s is greater than the second queue delay 2s, and the delay duration 1s is equal to the first threshold 1s.
- first threshold and the second threshold may be set in advance, and the size relationship between the first threshold and the second threshold is not specifically limited in the embodiment of the disclosure, for example, the first threshold and the second threshold may be The embodiment of the present disclosure is also not specifically limited to 1s, 2s, 3s, and the like.
- the network side can not only control the traffic in real time through the method provided by the embodiment of the present invention.
- the network side can also periodically control the traffic by using the method provided by the embodiment of the present invention.
- the network side may determine the second queue delay before determining the network status of the user terminal based on the first queue delay and the stored second queue delay, and the second queue delay may be from the stored Obtained in the queue delay, or can be calculated in real time. That is, when the network side performs flow control in real time, the network side may calculate the queue delay of the communication data packet every time a communication data packet is received, and store the queue delay of the communication data packet. After that, the network side can obtain the second queue delay from the stored queue delay.
- the network side can calculate the second queue delay in real time during each period of flow control, and store the calculated second queue delay, and calculate the second queue.
- the method of delaying is similar to the method of delaying the first queue described above, and the embodiment of the present invention does not elaborate on this.
- Step 303 Predict the network bandwidth of the user terminal based on the network status of the user terminal and the amount of received data, where the received data volume is the data amount of the currently received communication data packet or the user terminal is sent within the specified time interval. The amount of data.
- the network side may predict the network bandwidth of the user terminal based on the network state of the user terminal and the amount of received data.
- the operation of predicting the network bandwidth of the user terminal based on the network status of the user terminal and the amount of data received by the user terminal may include (1)-(2), as described below.
- the received data amount is the amount of data sent by the user terminal within a specified time interval
- the amount of data received by the user terminal is divided by the length of the specified time interval within a specified time interval to obtain a reference bandwidth. If the network state of the user terminal is an overload state, multiplying the reference bandwidth by the first bandwidth coefficient to obtain a network bandwidth of the user terminal; if the network state of the user terminal is an idle state, multiplying the reference bandwidth by a second bandwidth coefficient, where the network bandwidth of the user terminal is obtained; if the network state of the user terminal is a normal state, The reference bandwidth is determined as the network bandwidth of the user terminal.
- the network state of the user terminal may be an overload state
- the first bandwidth coefficient is 0.9
- the specified time interval is 10s.
- the network side receives the data volume sent by the user terminal within 1000s
- the network side will be 10s.
- the amount of data sent by the user terminal is 1000 kb divided by 10 s, and the obtained reference bandwidth is 100 kbps. Since the network state of the user terminal is an overload state, the network side multiplies the reference bandwidth by 100 kbps by the first bandwidth coefficient of 0.9.
- the user's network bandwidth is 90 kbps.
- the first bandwidth coefficient may be a fixed value set in advance, and the first bandwidth coefficient is greater than 0 and less than 1.
- the first bandwidth coefficient is 0.9.
- the first bandwidth coefficient may also be set in advance. a randomly selected one of the first bandwidth coefficient intervals, for example, the first bandwidth coefficient may be a randomly selected value from the set first bandwidth coefficient interval [0.8, 0.95], for example, 0.8, 0.82, 0.91, etc.
- the embodiment of the invention is not specifically limited thereto.
- the second bandwidth coefficient may be a fixed value set in advance, and the second bandwidth coefficient is greater than 1, for example, the second bandwidth coefficient is 1.1.
- the second bandwidth coefficient may also be a second bandwidth coefficient interval set in advance.
- a value randomly selected in the middle, for example, the second bandwidth coefficient may be a value randomly selected from the set first bandwidth coefficient interval [1.005, 1.3], for example, 1.005, 1.2, 1.3, etc., which is the same in the embodiment of the present invention. This is not specifically limited.
- the value of the data amount is determined as the reference bandwidth; if the network state of the user terminal is the overload state, the reference bandwidth is multiplied by a first bandwidth coefficient, the network bandwidth of the user terminal is obtained; if the network state of the user terminal is an idle state, multiplying the reference bandwidth by a second bandwidth coefficient to obtain a network bandwidth of the user terminal; if the network of the user terminal When the status is normal, the reference bandwidth is determined as the network bandwidth of the user terminal.
- the network state of the user terminal may be an overload state
- the first bandwidth coefficient is 0.9
- the current data volume of the received communication data packet is 100 kb
- the network side determines the value of the data volume as the reference bandwidth value to obtain the reference bandwidth.
- the network side multiplies the reference bandwidth by 100 kbps by the first bandwidth coefficient of 0.9, and obtains that the user's network bandwidth is 90 kbps.
- the network side can not only count the data volume of each communication data packet sent by the user terminal in the specified time interval, and The amount of data of each communication data packet is added to obtain the amount of data sent by the user terminal in a specified time interval, and the network side can also count the data amount of the currently received communication data packet sent by the user terminal, and The amount of data of the current communication packet is determined as the amount of received data.
- Step 304 Adjust the first quality of service parameter according to the network state and the network bandwidth of the user terminal, to obtain a second quality of service parameter, where the first quality of service parameter is a quality of service parameter currently configured for the user terminal.
- the network side may be based on the network state and network bandwidth of the user terminal.
- the first quality of service parameter is adjusted to obtain a second quality of service parameter, and the network side adjusts the first quality of service parameter based on the network state and network bandwidth of the user terminal, and the process of obtaining the second quality of service parameter may include three
- the situation is as follows.
- the network side determines that the data volume of the communication data packet sent by the user terminal far exceeds the network bandwidth of the user terminal, in order to avoid the user terminal in the communication process. In the case of network congestion, the network side can reduce the first quality of service parameter and obtain the second quality of service parameter.
- the network side reduces the first quality of service parameter based on the network state and the network bandwidth of the user terminal, and the operation of obtaining the second quality of service parameter may be: when the network state of the user terminal is an overload state, the network side is stored according to the network side. Corresponding relationship between the network bandwidth and the QoS parameter, obtaining the corresponding QoS parameter, and determining the obtained QoS parameter as the second QoS parameter, and the second QoS parameter is smaller than the first QoS parameter.
- the correspondence between network bandwidth and quality of service parameters is as shown in Table 1.
- the first quality of service parameter is parameter 3.
- the network side is based on the network bandwidth of 30 kbps, from the network shown in Table 1 below.
- the corresponding service parameter is obtained as parameter 1, and the parameter 1 is determined as the second QoS parameter.
- the network side can not only reduce the first quality of service parameter by using the foregoing method, but also reduce the first quality of service parameter by other methods, for example, the network side obtains the correspondence between the network bandwidth and the quality of service parameter. And a quality of service parameter that is smaller than the first quality of service parameter and adjacent to the first quality of service parameter, and determines the obtained quality of service parameter as the second quality of service parameter.
- the first quality of service parameter mentioned in the foregoing step 301 may include an audio core code rate, a channel number, an audio group packet length, an FEC parameter, and the like, so that the network side may include the audio core code included in the first quality of service parameter.
- the rate is reduced by the first rate threshold, the number of channels is decreased by the first channel threshold, the length of the audio packet is decreased by the first length threshold, the anti-drop rate in the FEC parameter is decreased, and the first packet loss threshold is also That is, the network side reduces each parameter included in the first quality of service parameter according to a corresponding fixed step size.
- first rate threshold, the first channel threshold, the first length threshold, and the first packet loss threshold may be fixed values that are set in advance, and the first rate threshold is first in the embodiment of the present invention.
- the relationship between the channel threshold, the first length threshold, and the first packet loss rate threshold is not specifically limited.
- the network side determines that the data volume of the communication data packet sent by the user terminal is far less than the network bandwidth of the user terminal connected to the network, in order to fully utilize the user terminal.
- the network bandwidth improves the communication quality of the user terminal, and the network side can increase the first quality of service parameter to obtain the second quality of service parameter.
- the network side increases the first quality of service parameter based on the network state and the network bandwidth of the user terminal, and the operation of obtaining the second quality of service parameter may be: when the network state of the user terminal is idle, the network side is based on the first
- the service quality parameter obtains a quality of service parameter that is greater than the first quality of service parameter and is adjacent to the first quality of service parameter, and determines the obtained quality of service parameter from the correspondence between the stored network bandwidth and the quality of service parameter. Second quality of service parameter.
- the correspondence between the network bandwidth and the QoS parameter is as shown in Table 1 above.
- the network side is based on the first QoS parameter as parameter 3, as shown in Table 1 above.
- the network bandwidth is parameter 4
- determining parameter 4 is parameter 4 as the second quality of service parameter.
- the network side can not only increase the first quality of service parameter by using the foregoing method, but also increase the first quality of service parameter by using other methods, for example, the network side increases the audio core code rate included in the first quality of service parameter by the second code rate.
- Parameters included Each parameter is incremented according to its corresponding fixed step size.
- the second rate threshold, the second channel threshold, the second length threshold, and the second packet loss threshold may be fixed values set in advance, and the second rate threshold and the second in the embodiment of the present invention.
- the relationship between the channel threshold, the second length threshold, and the second packet loss threshold is not specifically limited.
- the network side determines that the difference between the data amount of the communication data packet sent by the user terminal and the network bandwidth of the user terminal is small, and determines the difference.
- the user terminal can fully utilize the network bandwidth of the user terminal without network congestion. Therefore, the network side can directly determine the first quality of service parameter as the second quality of service parameter.
- the network side may further store the first quality of service parameter set for each user terminal. Therefore, after the network side determines the second quality of service parameter, the network side may update the stored first quality of service parameter, that is, the first service quality that the network side can store. The parameter is replaced with the second quality of service parameter.
- Step 305 Send the second quality of service parameter to the user terminal, so that the user terminal sends the communication data packet based on the second quality of service parameter.
- the network side sends the second quality of service parameter to the user terminal to implement flow control of the user terminal in the communication process.
- the user terminal may follow the second quality of service.
- the parameter sends a communication packet.
- the network side may be subdivided.
- the network side when the multiple user terminals perform group communication, the network side may be divided into a server and an interface. machine.
- the interface machine is also referred to as an interface processor for processing the transmission information at the transfer node in the communication link.
- the interface machine may include a network overload detection unit, a network bandwidth feedback unit, and an audio/video reception code statistics unit.
- the network overload detecting unit is configured to receive the communication information capability and the communication data packet sent by the multiple user terminals, and the network overload detecting unit may be based on the sending and receiving time of the currently received communication data packet, and the last received time
- the sending and receiving time of the communication data packet determines the first queue delay, and determines the network state of the user terminal based on the first queue delay and the stored second queue delay.
- the audio/video receiving code unit is configured to collect the data amount of the communication data packet sent by the user terminal within a specified time interval, and send the data amount to the network bandwidth feedback unit.
- the network bandwidth feedback unit may predict the network bandwidth of the user terminal based on the network state of the user terminal and the amount of data sent by the user terminal within a specified time interval, and send a network shape of the user terminal to the server. State and network bandwidth.
- the server includes a network bandwidth value update unit and a QoS parameter delivery unit, where the network bandwidth value update unit is configured to receive the network state and network bandwidth of the user terminal sent by the network bandwidth feedback unit, and based on the network status of the user terminal.
- the network bandwidth adjusts the first quality of service parameter to obtain a second quality of service parameter
- the network bandwidth value update unit replaces the stored first quality of service parameter with the second quality of service parameter, and sends the second quality of service parameter to the QoS a parameter sending unit, when the QoS parameter sending unit receives the second QoS parameter, the QoS parameter sending unit sends the second QoS parameter to the user terminal, so that the user terminal follows the delivered second service.
- the quality parameter sends a communication packet.
- the network side is divided into a server and an interface device in FIG. 4 as an example, and FIG. 4 does not specifically limit the network side configuration of the embodiment of the present invention.
- the network side determines the first queue delay based on the sending and receiving time of the currently received communication data packet, and the sending and receiving time of the last received communication data packet, and the network side is based on the first queue delay. And storing the second queue delay and the received data amount, adjusting the first quality of service parameter to obtain a second quality of service parameter, and sending the second quality of service parameter to the user terminal, so that the user terminal is based on the second quality of service
- the parameter sends a communication data packet, so that the network side can adaptively adjust through real-time changes of the network, and adjust different service quality parameters according to different settings of each user terminal in the multiple user terminals, thereby implementing multiple users.
- the terminal performs detailed traffic control to ensure network congestion is avoided under limited network bandwidth, and the communication quality of multi-person communication is improved.
- FIG. 5 is a flow control device applied to a network side device according to an embodiment of the present invention.
- the device includes:
- the determining module 501 is configured to determine a first queue delay based on a sending and receiving time of the communication data packet currently received by the network side device, and a sending and receiving time of the communication data packet received from the user terminal last time, first The queue delay is the queue time of the currently received communication packet in the router buffer queue;
- the adjusting module 502 is configured to adjust the first quality of service parameter to obtain the second quality of service based on the first queue delay, the second queue delay stored by the user terminal, and the received data amount of the network side device.
- a parameter the first quality of service parameter is a quality of service parameter initially configured by the network side device to the user terminal, and the second queue delay is a queuing time of the last received communication data packet in the router buffer queue, the receiving The amount of data is the amount of data of the currently received communication packet or the amount of data received by the network side device from the user terminal within a specified time interval;
- the sending module 503 is configured to send the second quality of service parameter to the user terminal, so that the user terminal sends the subsequent communication data packet based on the second quality of service parameter.
- the determining module 501 includes:
- the first determining unit 5011 is configured to determine a first difference between a receiving time of the currently received communication data packet and a receiving time of the last received communication data packet, and determine the first difference value as the receiving time interval. ;
- the second determining unit 5012 is configured to determine a second difference between a sending time of the currently received communication data packet and a sending time of the last received communication data packet, and determine the second difference value as the sending time interval. ;
- the third determining unit 5013 is configured to determine a third difference between the receiving time interval and the sending time interval, and determine the third difference as the first queue delay.
- the adjustment module 502 includes:
- the fourth determining unit 5021 is configured to determine a network state of the user terminal based on the first queue delay and the stored second queue delay.
- the prediction unit 5022 is configured to predict a network bandwidth of the user terminal based on a network state of the user terminal and a received data amount;
- the adjusting unit 5023 is configured to adjust the first quality of service parameter based on the network state and the network bandwidth of the user terminal to obtain a second quality of service parameter.
- the fourth determining unit 5021 includes:
- the first determining subunit 50210 is configured to determine that the network state of the user terminal is a normal state if the first queue delay is equal to the second queue delay;
- a second determining sub-unit 50212 configured to determine a fourth difference between the first queue delay and the second queue delay if the first queue delay is not equal to the second queue delay, to obtain a delay duration
- the third determining subunit 50213 is configured to determine a network state of the user terminal based on the first queue delay, the second queue delay, and the delay duration.
- the third determining subunit 50213 is specifically configured to:
- the delay duration is greater than or equal to the first threshold, determining that the network state of the user terminal is an overload state; otherwise, determining that the network state of the user terminal is a normal state;
- the delay duration is greater than or equal to the second threshold, determining that the network state of the user terminal is an idle state; otherwise, determining that the network state of the user terminal is a normal state.
- the prediction unit 5022 includes:
- the dividing subunit 50221 is configured to divide the amount of data sent by the user terminal by the length of the specified time interval within a specified time interval when the received data amount is the amount of data sent by the user terminal within a specified time interval. Get the reference bandwidth;
- the first multiplication subunit 50222 is configured to: if the network state of the user terminal is an overload state, multiply the reference bandwidth by the first bandwidth coefficient to obtain a network bandwidth of the user terminal;
- a second multiplication sub-unit 50223, configured to: if the network state of the user terminal is an idle state, multiply the reference bandwidth by a second bandwidth coefficient to obtain a network bandwidth of the user terminal;
- the fourth determining subunit 50224 is configured to determine the reference bandwidth as the network bandwidth of the user terminal if the network state of the user terminal is a normal state.
- the user terminal may be one of a plurality of user terminals coupled to the network side device, and the plurality of user terminals simultaneously perform network communication to the network side device.
- the network side determines the first queue delay based on the sending and receiving time of the currently received communication data packet, and the sending and receiving time of the last received communication data packet, where the network side is based on The first queue delay, the stored second queue delay, and the received data amount, the first quality of service parameter is adjusted to obtain a second quality of service parameter, and the second quality of service parameter is sent to the user terminal, so that the user The terminal sends the communication data packet based on the second quality of service parameter, so that the network side can adaptively adjust through the real-time change of the network to ensure network congestion is avoided under the limited network bandwidth, and the multi-person communication is improved. Communication quality.
- FIG. 10 is a schematic structural diagram of a server 1000 according to an embodiment of the present invention.
- the server 1000 includes a central processing unit (CPU) 1001, including a random access memory (RAM) 1002. And system memory 1004 of read only memory (ROM) 1003, and system bus 1005 connecting system memory 1004 and central processing unit 1001.
- Server 1000 also includes a basic input/output system (I/O system) 1006 that facilitates the transfer of information between various devices within the computer, and a mass storage device 1007 for storing operating system 1013, applications 1010, and other program modules 1015.
- I/O system basic input/output system
- the basic input/output system 1006 includes a display 1008 for displaying information and an input device 1009 such as a mouse, a keyboard for inputting information by a user.
- the display 1008 and the input device 1009 are both connected to the central processing unit 1001 via an input/output controller 1010 connected to the system bus 1005.
- the basic input/output system 1006 can also include an input output controller 1010 for receiving and processing input from a plurality of other devices, such as a keyboard, mouse, or electronic stylus.
- input-output controller 1010 also provides output to a display screen, printer, or other type of output device.
- the mass storage device 1007 is connected to the central processing unit 1001 by a mass storage controller (not shown) connected to the system bus 1005.
- the mass storage device 1007 and its associated computer readable medium provide non-volatile storage for the server 1000. That is, the mass storage device 1007 may include a computer readable medium (not shown) such as a hard disk or a CD-ROM drive.
- the computer readable medium can include computer storage media and communication media.
- Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
- Computer storage media include RAM, ROM, EPROM, EEPROM, flash memory or other solid state storage technologies, CD-ROM, DVD or other optical storage, tape cartridges, magnetic tape, magnetic disk storage or other magnetic storage devices.
- RAM random access memory
- ROM read only memory
- EPROM Erasable programmable read-only memory
- EEPROM electrically erasable programmable read-only memory
- the server 1000 may also be operated by a remote computer connected to the network through a network such as the Internet. That is, the server 1000 can be connected to the network 1012 through the network interface unit 1011 connected to the system bus 1005, or can also be connected to other types of networks or remote computer systems (not shown) using the network interface unit 1011. .
- the memory further includes one or more programs, the one or more programs being stored in a memory, the one or more programs including instructions for performing the flow control method provided by the embodiments of the present invention, including:
- the server Based on the time of sending and receiving communication packets received by the server from the user terminal, and the last time Determining a first queue delay from a sending and receiving time of the communication data packet received by the user terminal, where the first queue delay is a queuing time of the currently received communication data packet in a router buffer queue;
- the first quality of service parameter is adjusted according to the first queue delay, the second queue delay stored by the server, and the received data volume of the server, to obtain a second quality of service parameter, where the first quality of service parameter is a quality of service parameter initially configured by the server to the user terminal, the second queue delay being a queuing time of the last received communication packet in a router buffer queue, the received data volume being the currently received communication The amount of data of the data packet or the amount of data received by the server from the user terminal during a specified time interval;
- determining the first queue delay based on the sending and receiving time of the currently received communication data packet, and the sending and receiving time of the last received communication data packet including:
- the first quality of service parameter is adjusted according to the first queue delay, the stored second queue delay, and the received data quantity, to obtain a second quality of service parameter, including:
- the first quality of service parameter is adjusted based on the network state and network bandwidth of the user terminal to obtain a second quality of service parameter.
- determining a network status of the user terminal based on the first queue delay and the stored second queue delay including:
- the first queue delay is equal to the second queue delay, determining that the network state of the user terminal is a normal state
- first queue delay is not equal to the second queue delay, determining a fourth difference between the first queue delay and the second queue delay, and obtaining a delay duration
- the network status of the user terminal is determined based on the first queue delay, the second queue delay, and the delay duration.
- determining, according to the first queue delay, the second queue delay, and the delay duration, determining a network status of the user terminal including:
- the delay duration is greater than or equal to the first threshold, determining that the network state of the user terminal is an overload state; otherwise, determining that the network state of the user terminal is a normal state;
- the delay duration is greater than or equal to the second threshold, determining that the network state of the user terminal is an idle state; otherwise, determining that the network state of the user terminal is a normal state.
- predicting network bandwidth of the user terminal including:
- the amount of received data is received by the user terminal within a specified time interval
- the amount of data received by the user terminal is divided by the length of the specified time interval within a specified time interval to obtain a reference bandwidth
- the network state of the user terminal is an overload state, multiplying the reference bandwidth by the first bandwidth coefficient to obtain a network bandwidth of the user terminal;
- the reference bandwidth is determined as the network bandwidth of the user terminal.
- the network side determines the first queue delay based on the sending and receiving time of the currently received communication data packet, and the sending and receiving time of the last received communication data packet, and the network side is based on the first queue delay. And storing the second queue delay and the received data amount, adjusting the first quality of service parameter, obtaining a second quality of service parameter, and sending the second quality of service parameter to the user terminal, so that the user terminal is based on the second
- the service quality parameter sends the communication data packet, so that the network side can adaptively adjust through the real-time change of the network to ensure the occurrence of network congestion under the limited network bandwidth and improve the communication quality of multi-person communication.
- FIG. 11 illustrates an application environment of flow control according to an embodiment of the present invention.
- server 2000 communicates with user terminal 2004 over network 2002.
- the server is configured to:
- the first quality of service parameter is The amount of data of the first communication data packet or the amount of data received by the server from the user terminal during a specified time interval
- a person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium.
- the storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.
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
提供了一种流量控制方法、装置及服务器。所述方法包括:网络侧设备基于当前从用户终端接收到的通信数据包的收发时间,以及上一次从所述用户终端接收到的通信数据包的收发时间,确定第一队列延时;基于所述第一队列延时、所述网络侧设备存储的第二队列延时以及所述网络侧设备的接收数据量,对第一服务质量参数进行调整,得到第二服务质量参数;以及将所述第二服务质量参数发送给所述用户终端,使所述用户终端基于所述第二服务质量参数发送后续通信数据包。
Description
本申请要求于2015年6月30日提交中国专利局、申请号为201510374358.5、发明名称为“流量控制方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本发明涉及计算机技术领域,特别涉及一种流量控制方法、装置及服务器。
随着技术的快速发展,出现了越来越多用于通信的应用程序,这些应用程序可以安装在诸如手机、计算机、平板电脑等终端上。当终端通过这些应用程序进行通信时,需要连接互联网,并占用互联网一定的网络带宽。而由于网络带宽是有限的,当通信过程中传输的通信数据包较多时,可能会出现网络拥塞的现象,因此,为了能够使有限的网络带宽更好的发挥,需要对传输的通信数据包进行流量控制。
目前,流量控制的过程可以为:当多个用户终端之间进行通信时,该多个用户终端分别向服务器发送自身的通信能力信息,比如,丢包率、网络抖动、网络连接类型等等,当服务器接收该多个用户终端发送的通信能力信息时,该服务器可以基于该多个用户终端发送的通信能力信息,为每个用户终端分别设置一个Qos(Quality of Service,服务质量)参数,并将该Qos参数分别发送给对应的用户终端。当该用户终端接收到服务器发送的Qos参数时,该用户终端可以基于该Qos参数,向服务器发送通信数据包,当服务器接收到该通信数据包时,将该通信数据包转发给该多个用户终端中的其他用户终端,从而实现流量控制。
由于该多个用户终端在通信过程中的Qos参数固定不变,因此,一旦出现网络拥塞的现象,将会导致通信数据包的丢失,进而降低该多个用户终端之间的通信效果。
发明内容
有鉴于此,本发明实施例提供了一种流量控制方法及装置。
一方面,提供了一种流量控制方法,所述方法包括:
网络侧设备基于当前从用户终端接收到的通信数据包的收发时间,以及上一次从所述用户终端接收到的通信数据包的收发时间,确定第一队列延时,所述第一队列延时为所述当前接收到的通信数据包在路由器缓冲队列中的排队时间;
基于所述第一队列延时、所述网络侧设备存储的第二队列延时以及所述网络侧设备的接收数据量,对第一服务质量参数进行调整,得到第二服务质量参数,所述第一服务质量参数为初始由所述网络侧设备配置给所述用户终端的服务质量参数,所述第二队列延时为所述上一次接收到的通信数据包在路由器缓冲队列中的排队时间,所述接收数据量为所述当前接收到的通信数据包的数据量或者指定时间间隔内所述网络侧设备从所述用户终端接收的数据量;
将所述第二服务质量参数发送给所述用户终端,使所述用户终端基于所述第二服务质量参数发送通信数据包。
另一方面,提供了一种流量控制装置,应用于网络侧设备,所述装置包括一个或更多个处理器;以及存储有多个程序模块的存储器,其中所述程序模块包括:
确定模块,用于基于所述网络侧设备当前从用户终端接收到的通信数据包的收发时间,以及上一次从所述用户终端接收到的通信数据包的收发时间,确定第一队列延时,所述第一队列延时为所述当前接收到的通信数据包在路由器缓冲队列中的排队时间;
调整模块,用于基于所述第一队列延时、所述网络侧设备存储的第二队列延时以及所述网络侧设备的接收数据量,对第一服务质量参数进行调整,得到第二服务质量参数,所述第一服务质量参数为由所述网络侧设备初始配置给所述用户终端的服务质量参数,所述第二队列延时为所述上一次接收到的通信数据包在路由器缓冲队列中的排队时间,所述接收数据量为所述当前接收到的通信数据包的数据量或者指定时间间隔内所述网络侧设备从所述用户终端接收的数据量;
发送模块,用于将所述第二服务质量参数发送给所述用户终端,使所述用户终端基于所述第二服务质量参数发送通信数据包。
再一方面,提供了一种服务器,通过网络连接到用户终端,所述服务器被配置为:
初始为所述用户终端配置第一服务质量参数;
确定从所述用户终端接收的第一通信数据包在路由器缓冲队列中的第一队列延时,其中所述用户终端以所述第一服务质量参数发送所述第一通信数据包;
确定从所述用户终端接收的第二通信数据包在路由器缓冲队列中的第二队列延时,其中所述用户终端以所述第一服务质量参数发送所述第二通信数据包,并且所述第一通信数据包是紧接在所述第二通信数据包之后被发送的;
基于所述第一队列延时、所述第二队列延时以及所述服务器的接收数据量,对所述第一服务质量参数进行调整,得到第二服务质量参数,其中所述接收数据量为所述第一通信数据包的数据量或者指定时间间隔内所述服务器从所述用户终端接收的数据量;以及
将所述第二服务质量参数发送给所述用户终端,使所述用户终端基于所述第二服务质量参数发送后续通信数据包。
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种流量控制***架构图;
图2是本发明实施例提供的一种流量控制方法流程图;
图3是本发明实施例提供的另一种流量控制方法流程图;
图4是本发明实施例提供的一种流量控制装置结构示意图;
图5是本发明实施例提供的另一种流量控制装置结构示意图;
图6是本发明实施例提供的一种确定模块结构示意图;
图7是本发明实施例提供的一种调整模块结构示意图;
图8是本发明实施例提供的一种第四确定单元结构示意图;
图9是本发明实施例提供的一种预测单元结构示意图;
图10是本发明实施例提供的又一种流量控制装置结构示意图;以及
图11是根据本发明实施例的流量控制的应用环境的示意图。
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
图1是本发明实施例提供的一种流量控制***架构图。该***包括网络侧和多个用户终端,该网络侧和多个用户终端之间分别通过网络进行连接。
在一些实现方式中,该多个用户终端用于分别向网络侧发送自身的通信能力信息,并接收网络侧基于每个用户终端的通信能力信息为每个用户终端设置一个服务质量参数,之后,该多个用户终端还用于基于网络侧设置的服务质量参数,向网络侧发送通信数据包。而该网络侧用于接收该多个用户终端发送的通信能力信息,并为该多个用户终端分别设置一个服务质量参数并分别发送给该多个用户终端,且该网络侧还用于接收该多个用户终端发送的通信数据包,并将该通信数据包转发给该多个用户终端中的其他用户终端,以实现该多个用户终端之间的通信。
另外,在另一种实现方式中,当该多个用户终端进行通信时,该多个用户终端可以建立一个通信群组,之后,该多个用户终端可以通过该通信群组分别向网络侧发送通信数据包,由网络侧将该通信数据包转发给该通信群组中的其他用户终端,以实现该多个用户终端通过该通信群组进行通信。再者,该多个用户终端之间的通信可以为音频通信,也可以为视频通信,也即是,该多个用户终端可以分别向网络侧发送用于音频通信的通信数据包,或者发送用于视频通信的通信数据包。
图2是本发明实施例提供的一种流量控制方法,参见图2,该方法包括步骤201-203。
步骤201:网络侧设备基于当前从用户终端接收到的通信数据包的收发时间,以及上一次从所述用户终端接收到的通信数据包的收发时间,确定第一队列延时,该第一队列延时为该当前接收到的通信数据包在路由器缓冲队列中的排队时间。
步骤202:基于第一队列延时、所述网络侧设备存储的第二队列延时以及所述网络侧设备的接收数据量,对第一服务质量参数进行调整,得到第二服务质量参数,该第一服务质量参数为初始由所述网络侧设备配置给所述用户终端的服务质量参数,该第二队列延时为该上一次接收到的通信数据包在路由器缓冲对列中的排队时间,该接收数据量为当前接收到的通信数据包的数据量或者指定时间间隔内所述网络侧设备从所述用
户终端接收的数据量。
可以理解,所述用户终端是以所述网络侧设备初始配置的第一服务质量参数发送所述通信数据包,从而所述网络侧设备根据所述用户终端以所述第一服务质量参数发送的通信数据包的情况(例如队列延时及数据量等)来确定网络状况,并相应地将所述第一服务质量参数调整为第二服务质量参数。
步骤203:将该第二服务质量参数发送给该用户终端,使该用户终端基于该第二服务质量参数发送后续通信数据包。
可选地,所述用户终端可以是与耦合到所述网络侧设备的多个用户终端之一,并且所述多个用户终端同时向所述网络侧设备进行网络通信。
本发明实施例提供的方法,网络侧基于当前接收到的通信数据包的收发时间,以及上一次接收到的通信数据包的收发时间,确定第一队列延时,该网络侧基于第一队列延时、存储的第二队列延时以及接收数据量,对第一服务质量参数进行调整,得到第二服务质量参数,并将第二服务质量参数发送给该用户终端,使该用户终端基于第二服务质量参数发送通信数据包,从而该网络侧可以通过网络的实时变化对多个用户终端进行自适应性地调整,以保证在有限的网络带宽下,避免网络拥塞现象的出现,并提高多人通信的通信质量。
可选地,确定第一队列延时,包括:
确定该当前接收到的通信数据包的接收时间与该上一次接收到的通信数据包的接收时间之间的第一差值,将该第一差值确定为接收时间间隔;
确定该当前接收到的通信数据包的发送时间与该上一次接收到的通信数据包的发送时间之间的第二差值,将该第二差值确定为发送时间间隔;
确定该接收时间间隔与该发送时间间隔之间的第三差值,将该第三差确定为第一队列延时。
可选地,对第一服务质量参数进行调整,得到第二服务质量参数,包括:
基于第一队列延时和存储的第二队列延时,确定该用户终端的网络状态;
基于该用户终端的网络状态以及接收数据量,预测该用户终端的网络带宽;
基于该用户终端的网络状态和网络带宽,对第一服务质量参数进行调整,得到该第二服务质量参数。
可选地,基于第一队列延时和存储的第二队列延时,确定该用户终端的网络状
态,包括:
如果第一队列延时等于第二队列延时,则确定该用户终端的网络状态为正常状态;
如果第一队列延时不等于第二队列延时,则确定第一队列延时和第二队列延时之间的第四差值,得到延时时长;
基于第一队列延时、第二队列延时和该延时时长,确定该用户终端的网络状态。
可选地,基于第一队列延时、第二队列延时和该延时时长,确定该用户终端的网络状态,包括:
如果第一队列延时大于第二队列延时,则判断该延时时长是否大于或等于第一阈值;
如果该延时时长大于或等于第一阈值,则确定该用户终端的网络状态为过载状态,否则,确定该用户终端的网络状态为正常状态;
如果第一队列延时小于第二队列延时,则判断该延时时长是否大于或等于第二阈值;
如果该延时时长大于或等于第二阈值,则确定该用户终端的网络状态为空闲状态,否则,确定该用户终端的网络状态为正常状态。
可选地,基于该用户终端的网络状态以及接收数据量,预测该用户终端的网络带宽,包括:
当所述接收数据量为指定时间间隔内所述网络侧设备从所述用户终端接收的数据量时,将指定时间间隔内接收该用户终端发送的数据量除以该指定时间间隔的长度,得到参考带宽;
如果该用户终端的网络状态为过载状态,则将该参考带宽乘以第一带宽系数,得到该用户终端的网络带宽;
如果该用户终端的网络状态为空闲状态,则将该参考带宽乘以第二带宽系数,得到该用户终端的网络带宽;
如果该用户终端的网络状态为正常状态,则将该参考带宽确定为该用户终端的网络带宽。
上述所有可选技术方案,均可按照任意结合形成本发明的可选实施例,本发明实施例对此不再一一赘述。
图3是本发明实施例提供的一种流量控制方法,参见图3,该方法包括以下步骤。
步骤301:基于当前接收到的通信数据包的收发时间,以及上一次接收到的通信数据包的收发时间,确定第一队列延时,该第一队列延时为当前接收到的通信数据包在路由器缓冲队列中的排队时间。
其中,该当前接收到的通信数据包的收发时间是指当前接收到的通信数据包的接收时间和发送时间,上一次接收到的通信数据包的收发时间是指上一次接收到的通信数据包的接收时间和发送时间,且该上一次接收到的通信数据包是指与当前接收到的通信数据包最近且在当前接收到的通信数据包之前接收到的通信数据包。
因此,该网络侧基于当前接收到的通信数据包的收发时间,以及上一次接收到的通信数据包的收发时间,确定第一队列延时的操作可以为:确定当前接收到的通信数据包的接收时间与上一次接收到的通信数据包的接收时间之间的第一差值,将第一差值确定为接收时间间隔;确定当前接收到的通信数据包的发送时间与上一次接收到的通信数据包的发送时间之间的第二差值,将第二差值确定为发送时间间隔;确定该接收时间间隔与该发送时间间隔之间的第三差值,将第三差值确定为第一队列延时。
比如,当前接收到的通信数据包的接收时间可以为10点20分31秒,发送时间为10点20分11秒,上一次接收到的通信数据包的接收时间可以为10点20分18秒,发送时间为10点20分01秒,则网络侧确定当前接收到的通信数据包的接收时间10点20分31秒与上一次接收到的通信数据包的接收时间10点20分18秒之间的第一差值为13秒,确定接收时间间隔为13秒;确定当前接收到的通信数据包的发送时间10点20分11秒与上一次接收到的通信数据包的发送时间10点20分01秒之间的第二差值为10秒,确定发送时间间隔为10秒;确定该接收时间间隔13秒与该发送时间间隔10秒之间的第三差值为3秒,确定第一队列延时为3秒。
需要说明的是,用户终端向网络侧发送通信数据包时,基于该通信数据包的发送时间,在该通信数据包中携带该发送时间对应的时间戳。因此,网络侧为了得到当前接收到的通信数据包的发送时间,该网络侧可以获取当前接收到的通信数据包携带的时间戳,并将该时间戳进行转换,以得到该当前接收到的通信数据包的发送时间。同理,网络侧为了得到上一次接收到的通信数据包的发送时间,可以获取上一次接收到的通信数据包携带的时间戳,并将该时间戳进行转换,以得到上一次接收到的通信数据包的发送时间。
值得注意的是,通常该接收时间间隔与该发送时间间隔之间的差值用于表示当前接收到的通信数据包与上一次接收到的通信数据包之间的延时抖动,该延时抖动为当前接收到的通信数据包的延时时间与上一次接收到的通信数据包的延时时间之间的差值,当前接收到的通信数据包的延时时间为当前接收到的通信数据包的收发时间之差,上一次接收到的通信数据包的延时时间为上一次接收到的通信数据包的收发时间之差。
而由于当前接收到通信数据包和上一次接收到的通信数据包在到达网络侧的过程中,所消耗的延时时间是不一样的,而该延时时间由传输延时、传播延时和队列延时三部分组成。其中,该传播延时在该多个用户终端通信的过程中是一个常数,也即是,当前接收到的通信数据包的传播延时等于上一次接收到的通信数据包的传播延时。另外,当前接收到的通信数据包的传输延时与上一次接收到的通信数据包的传输延时相差很小,其差值基本可以忽略不计。因此,当前接收到通信数据包的队列延时与上一次接收到通信数据包的队列延时之间的差值可以用来衡量当前接收到的通信数据包与上一次接收到的通信数据包的延时抖动。从而可以将当前接收到的通信数据包与上一次接收到的通信数据包之间的延时抖动,确定为第一队列延时。
进一步地,当多个用户终端进行通信时,该多个用户终端分别向网络侧发送自身的通信能力信息,对于该多个用户终端中的每个用户终端,当网络侧接收到该用户终端发送的通信能力信息时,该网络侧可以基于该用户终端发送的通信能力信息,为该用户终端设置第一服务质量参数并发送给该用户终端,当该用户终端接收到网络侧发送的第一服务质量参数时,该用户终端可以按照第一服务质量参数向网络侧发送通信数据包。
而当该多个用户终端进行通信时,该多个用户终端可以通过通信群组来进行通信,且该多个用户终端通过通信群组进行通信的具体方法可以参考相关技术,本发明实施例对此不进行详细阐述。
需要说明的是,该多个用户终端是指当前进行通信的多个用户所对应的终端,该多个用户终端可以为计算机、手机,平板电脑等,且该多个用户终端的网络类型可以为有线网络、无线网络、2/3/4G网络等等,该多个用户终端向网络侧发送自身的通信能力信息可以包括丢包率、延时时间、网络抖动、连接的网络类型等等,本公开实施例对此不做具体限定。
另外,第一服务质量参数可以包括音频核心码率、声道数、音频组包长度、FEC
(Forward Error Correction,前向纠错编码)参数等等,本公开实施例对此不做具体限定。
进一步,由于通信数据包在传输过程中会受到各种噪声的影响,比如,高斯噪声、低频噪声等等,从而网络侧接收到通信数据包携带的时间戳会夹杂着各种噪声,基于时间戳确定的通信数据包的发送时间也会产生一定的误差,进而导致第一队列延时产生误差,因此,当网络侧接收到通信数据包时,网络侧需要对接收到的通信数据包进行噪声处理,并从处理后的通信数据包中获取该通信数据包携带的时间戳,进而确定该通信数据包的发送时间。
在本发明的实施例中,网络侧对接收到的通信数据包进行噪声处理时,可以采用数字滤波器中的卡尔曼滤波器来进行噪声处理。当然,在实际应用中,网络侧还可以采用维纳滤波器、切比雪夫滤波器等对接收到的通信数据包进行噪声处理,而对接收到的通信数据包进行噪声处理的详细过程可以参考相关技术,本发明实施例对此不做详细阐述。
步骤302:基于该第一队列延时和存储的第二队列延时,确定该用户终端的网络状态,该第二队列延时为上一次接收到的通信数据包在路由器缓冲队列中的排队时间。
由于队列延时是指通信数据包在路由器缓冲队列中的排队时间,并且当网络状态发生变化时,通信数据包在路由器缓冲队列中的排队时间会发生变化,从而导致队列延时也会相应的发生变化,因此,在本发明实施例中,网络侧可以基于第一队列延时和存储的第二队列延时,确定该用户终端的网络状态。而该网络侧基于第一队列延时和存储的第二队列延时,确定该用户终端的网络状态的操作可以为:如果第一队列延时等于第二队列延时,则确定该用户终端的网络状态为正常状态;如果第一队列延时不等于第二队列延时,则确定第一队列延时和第二队列延时之间的第四差值,得到延时时长;基于第一队列延时、第二队列延时和该延时时长,确定该用户终端的网络状态。
其中,该网络侧基于第一队列延时、第二队列延时和该延时时长,确定该用户终端的网络状态的操作可以为:如果第一队列延时大于第二队列延时,则判断该延时时长是否大于或等于第一阈值;如果该延时时长大于或等于第一阈值,则确定该用户终端的网络状态为过载状态,否则,确定该用户终端的网络状态为正常状态;如果第一队列延时小于第二队列延时,则判断该延时时长是否大于或等于第二阈值;如果该延时时长大于或等于第二阈值,则确定该用户终端的网络状态为空闲状态,否则,确定该用户终端的网络状态为正常状态。
比如,第一队列延时为3s,第二队列延时为2s,第一阈值为1s,该网络侧确定第一队列延时3s和第二队列延时2s之间的第四差值为1s,得到延时时长为1s。由于第一队列延时3s大于第二队列延时2s,且该延时时长1s等于第一阈值1s,则该网络侧确定该用户终端的网络状态为过载状态。
需要说明的是,第一阈值和第二阈值是可以事先设置的,且本公开实施例对第一阈值和第二阈值的大小关系不做具体限定,比如,第一阈值和第二阈值均可以为1s、2s、3s等等,本公开实施例同样对此不做具体限定。
进一步,网络侧不仅可以实时地通过本发明实施例提供的方法,对流量进行控制,当然,网络侧还可以周期性地通过本发明实施例提供的方法,对流量进行控制。另外,网络侧基于第一队列延时和存储的第二队列延时,确定该用户终端的网络状态之前,该网络侧还可以确定第二队列延时,而第二队列延时可以从存储的队列延时中获取得到,也可以实时地进行计算得到。也即是,当网络侧实时地进行流量控制时,网络侧可以在每接收到一个通信数据包时,计算该通信数据包的队列延时,并将该通信数据包的队列延时进行存储,之后,网络侧可以从存储的队列延时中获取第二队列延时。而当网络侧周期性地进行流量控制时,网络侧可以在每个周期进行流量控制时,实时地计算第二队列延时,并将计算的第二队列延时进行存储,而计算第二队列延时的方法与上述第一队列延时的方法相似,本发明实施例对此不再进行详细阐述。
步骤303:基于该用户终端的网络状态以及接收数据量,预测该用户终端的网络带宽,该接收数据量为当前接收到的通信数据包的数据量或者指定时间间隔内接收到该用户终端发送的数据量。
为了防止该用户终端在通信过程中出现网络拥塞的现象,进一步提高该用户终端的通信质量,网络侧可以基于该用户终端的网络状态以及接收数据量,预测该用户终端的网络带宽。而网络侧基于该用户终端的网络状态以及接收该用户终端发送的数据量,预测该用户终端的网络带宽的操作可以包括(1)-(2)情况,如下所述。
(1)、当该接收数据量为指定时间间隔内接收到该用户终端发送的数据量时,将指定时间间隔内接收该用户终端发送的数据量除以该指定时间间隔的长度,得到参考带宽;如果该用户终端的网络状态为过载状态,则将该参考带宽乘以第一带宽系数,得到该用户终端的网络带宽;如果该用户终端的网络状态为空闲状态,则将该参考带宽乘以第二带宽系数,得到该用户终端的网络带宽;如果该用户终端的网络状态为正常状态,
则将该参考带宽确定为该用户终端的网络带宽。
比如,该用户终端的网络状态可以为过载状态,第一带宽系数为0.9,该指定时间间隔为10s,该网络侧在10s内接收该用户终端发送的数据量为1000kb,则该网络侧将10s内接收该用户终端发送的数据量1000kb除以10s,得到的参考带宽为100kbps,由于该用户终端的网络状态为过载状态,因此,该网络侧将参考带宽100kbps乘以第一带宽系数0.9,得到该用户的网络带宽为90kbps。
需要说明的是,第一带宽系数可以事先设置的一个固定值,且第一带宽系数大于0且小于1,比如,第一带宽系数为0.9,当然,第一带宽系数也可以是从事先设置的第一带宽系数区间中随机选择的一个数值,比如,第一带宽系数可以是从设置的第一带宽系数区间[0.8,0.95]中随机选择的数值,例如,0.8、0.82、0.91等等,本发明实施例对此不做具体限定。同样,第二带宽系数可以是事先设置的一个固定值,且第二带宽系数大于1,比如,第二带宽系数为1.1,当然,第二带宽系数也可以是从事先设置的第二带宽系数区间中随机选择的一个数值,比如,第二带宽系数可以是从设置的第一带宽系数区间为[1.005,1.3]中随机选择的数值,例如,1.005、1.2、1.3等等,本发明实施例同样对此不做具体限定。
(2)、当接收数据量为当前接收到的通信数据包的数据量时,将该数据量的数值确定为参考带宽;如果该用户终端的网络状态为过载状态,则将该参考带宽乘以第一带宽系数,得到该用户终端的网络带宽;如果该用户终端的网络状态为空闲状态,则将该参考带宽乘以第二带宽系数,得到该用户终端的网络带宽;如果该用户终端的网络状态为正常状态,则将该参考带宽确定为该用户终端的网络带宽。
比如,该用户终端的网络状态可以为过载状态,第一带宽系数为0.9,当前接收到通信数据包的数据量为100kb,网络侧将该数据量的数值确定为参考带宽的数值,得到参考带宽为100kbps,由于该用户终端的网络状态为过载状态,因此,该网络侧将参考带宽100kbps乘以第一带宽系数0.9,得到该用户的网络带宽为90kbps。
进一步,网络侧基于该用户终端的网络状态以及接收数据量,预测该用户终端的网络带宽之前,网络侧不仅可以统计指定时间间隔内该用户终端发送的每个通信数据包的数据量,并将该每个通信数据包的数据量相加,得到指定时间间隔内该用户终端发送的数据量,网络侧还可以统计当前接收到的该用户终端发送的通信数据包的数据量,并将统计的当前通信数据包的数据量确定为接收数据量。
步骤304:基于该用户终端的网络状态和网络带宽,对第一服务质量参数进行调整,得到第二服务质量参数,第一服务质量参数为当前配置给该用户终端的服务质量参数。
为了保证该多个用户终端在有限的网络带宽下,能够有较好的通信质量,避免该用户终端通信过程中出现网络拥塞的现象,网络侧可以基于该用户终端的网络状态和网络带宽,对第一服务质量参数进行调整,得到第二服务质量参数,而该网络侧基于该用户终端的网络状态和网络带宽,对第一服务质量参数进行调整,得到第二服务质量参数的过程可以包括三种情况,如下所述。
第一种情况、当该用户终端的网络状态为过载状态时,网络侧确定该用户终端发送的通信数据包的数据量远远超出了该用户终端的网络带宽,为了避免该用户终端在通信过程中出现网络拥塞的现象,网络侧可以减小第一服务质量参数,得到第二服务质量参数。
其中,网络侧基于该用户终端的网络状态和网络带宽,减小第一服务质量参数,得到第二服务质量参数的操作可以为:当该用户终端的网络状态为过载状态时,网络侧根据存储的网络带宽与服务质量参数之间的对应关系,获取对应的服务质量参数,并将获取的服务质量参数确定为第二服务质量参数,且第二服务质量参数小于第一服务质量参数。
比如,网络带宽与服务质量参数之间的对应关系如下表1所示,第一服务质量参数为参数3,当网络带宽为30kbps时,网络侧基于网络带宽30kbps,从如下表1所示的网络带宽与服务质量参数之间的对应关系中,获取对应的服务参数为参数1,并将参数1确定为第二服务质量参数。
表1
网络带宽 | 服务质量参数 |
30kbps | 参数1 |
60kbps | 参数2 |
90kbps | 参数3 |
120kbps | 参数4 |
…… | …… |
进一步,网络侧不仅可以通过上述方法来减小第一服务质量参数,还可以通过其它方法减小第一服务质量参数,比如,网络侧从网络带宽与服务质量参数之间的对应关系中,获取小于第一服务质量参数且与第一服务质量大小相邻的一个服务质量参数,并将获取的服务质量参数确定为第二服务质量参数。再比如,上述步骤301中提到第一服务质量参数可以包括音频核心码率、声道数、音频组包长度、FEC参数等等,因此网络侧可以将第一服务质量参数包括的音频核心码率减小第一码率阈值、声道数减小第一声道阈值、音频组包长度减小第一长度阈值、FEC参数中的抗丢包率减小第一丢包率阈值等,也即是,网络侧将第一服务质量参数包括的每个参数分别按照各自对应的固定步长进行减小。
需要说明的是,第一码率阈值、第一声道阈值、第一长度阈值和第一丢包率阈值可以是事先设置的固定数值,且本发明实施例对第一码率阈值、第一声道阈值、第一长度阈值和第一丢包率阈值的大小关系不做具体限定。
第二种情况、当该用户终端的网络状态为空闲状态时,该网络侧确定该用户终端发送的通信数据包的数据量远远小于该用户终端连接网络的网络带宽,为了充分利用该用户终端的网络带宽,提高该用户终端的通信质量,网络侧可以增加第一服务质量参数,得到第二服务质量参数。
其中,网络侧基于该用户终端的网络状态和网络带宽,增加第一服务质量参数,得到第二服务质量参数的操作可以为:当该用户终端的网络状态为空闲状态时,网络侧基于第一服务质量参数,从存储的网络带宽与服务质量参数之间的对应关系,获取大于第一服务质量参数且与第一服务质量大小相邻的一个服务质量参数,并将获取的服务质量参数确定为第二服务质量参数。
比如,网络带宽与服务质量参数之间的对应关系如上述表1所示,当该用户终端的网络状态为空闲状态时,网络侧基于第一服务质量参数为参数3,从上述表1所示的网络带宽与服务质量参数之间的对应关系,获取小于参数3且与参数3大小相邻的一个服务质量参数为参数4,并将参数4确定为第二服务质量参数。
进一步,网络侧不仅可以通过上述方法来增加第一服务质量参数,还可以通过其它方法增加第一服务质量参数,比如,网络侧将第一服务质量参数包括的音频核心码率增加第二码率阈值、声道数增加第二声道阈值、音频组包长度增加第二长度阈值、FEC参数中的抗丢包率增加第二丢包率阈值等,也即是,网络侧将第一服务质量参数包括的
每个参数分别按照各自对应的固定步长进行增加。
需要说明的是,第二码率阈值、第二声道阈值、第二长度阈值和第二丢包率阈值可以是事先设置的固定数值,且本发明实施例对第二码率阈值、第二声道阈值、第二长度阈值和第二丢包率阈值的大小关系不做具体限定。
第三种情况、当该用户终端的网络状态为正常状态时,该网络侧确定该用户终端发送的通信数据包的数据量与该用户终端的网络带宽之间的差值相差较小,确定该用户终端能够充分利用该用户终端的网络带宽,且不会出现网络拥塞的现象,因此,该网络侧可以直接将第一服务质量参数确定为第二服务质量参数。
进一步地,网络侧为每个用户终端设置第一服务质量参数之后,网络侧还可以存储为每个用户终端设置的第一服务质量参数。因此,当该网络侧确定第二服务质量参数之后,为了便于下次进行流量控制,网络侧可以将存储的第一服务质量参数进行更新,也即是,网络侧可以将存储的第一服务质量参数替换为第二服务质量参数。
步骤305:将第二服务质量参数发送给该用户终端,使该用户终端基于第二服务质量参数发送通信数据包。
网络侧将第二服务质量参数发送给该用户终端,以实现对该用户终端在通信过程中的流量控制,当该用户终端接收到第二服务质量参数时,该用户终端可以按照第二服务质量参数发送通信数据包。
进一步地,为了更加详细的阐述该网络侧的执行过程,可以将该网络侧进行细分,参见图4,当该多个用户终端进行群组通信时,可以将该网络侧分为服务器和接口机。
其中,接口机也称接口处理机,用于在通信链路中处理转结点处的传送信息,该接口机可以包括网络过载检测单元、网络带宽反馈单元和音/视频接收码统计单元。该网络过载检测单元用于接收该多个用户终端发送的自身的通信信息能力和通信数据包,且该网络过载检测单元可以基于当前接收到的通信数据包的收发时间,以及上一次接收到的通信数据包的收发时间,确定第一队列延时,并基于第一队列延时和存储的第二队列延时,确定该用户终端的网络状态。该音/视频接收码单元用于统计指定时间间隔内接收到该用户终端发送的通信数据包的数据量,并将该数据量发送给网络带宽反馈单元。该网络带宽反馈单元可以基于该用户终端的网络状态以及指定时间间隔内接收该用户终端发送的数据量,预测该用户终端的网络带宽,并向服务器发送该用户终端的网络状
态和网络带宽。
其中,服务器包括网络带宽数值更新单元和QoS参数下发单元,该网络带宽数值更新单元用于接收网络带宽反馈单元发送的该用户终端的网络状态和网络带宽,并基于该用户终端的网络状态和网络带宽对第一服务质量参数进行调整,得到第二服务质量参数,该网络带宽数值更新单元将存储的第一服务质量参数替换为第二服务质量参数,并将第二服务质量参数发送给QoS参数下发单元,当QoS参数下发单元接收到第二服务质量参数时,该QoS参数下发单元将第二服务质量参数发送到该用户终端,以使该用户终端按照下发的第二服务质量参数发送通信数据包。
需要说明的是,本发明实施例仅以上述图4中的网络侧分为服务器和接口机为例进行说明,上述图4并不对本发明实施例的网络侧构成具体限定。
在本发明实施例中,网络侧基于当前接收到的通信数据包的收发时间,以及上一次接收到的通信数据包的收发时间,确定第一队列延时,该网络侧基于第一队列延时、存储的第二队列延时以及接收数据量,对第一服务质量参数进行调整,得到第二服务质量参数,并第二服务质量参数发送给该用户终端,使该用户终端基于第二服务质量参数发送通信数据包,从而该网络侧可以通过网络的实时变化进行自适应性地调整,并根据多个用户终端中每个用户终端的不同设置,调整不同的服务质量参数,实现对多个用户终端进行细致的流量控制,以保证在有限的网络带宽下,避免网络拥塞现象的出现,并提高多人通信的通信质量。
图5是本发明实施例提供了一种应用于网络侧设备的流量控制装置,参见图5,该装置包括:
确定模块501,用于基于所述网络侧设备当前接收到的通信数据包的收发时间,以及上一次从所述用户终端接收到的通信数据包的收发时间,确定第一队列延时,第一队列延时为该当前接收到的通信数据包在路由器缓冲队列中的排队时间;
调整模块502,用于基于第一队列延时、从所述用户终端存储的第二队列延时以及所述网络侧设备的接收数据量,对第一服务质量参数进行调整,得到第二服务质量参数,第一服务质量参数为由所述网络侧设备初始配置给该用户终端的服务质量参数,第二队列延时为上一次接收到的通信数据包在路由器缓冲队列中的排队时间,该接收数据量为当前接收到的通信数据包的数据量或者指定时间间隔内所述网络侧设备从所述用户终端接收的数据量;
发送模块503,用于将第二服务质量参数发送给该用户终端,使该用户终端基于该第二服务质量参数发送后续通信数据包。
可选地,参见图6,该确定模块501包括:
第一确定单元5011,用于确定当前接收到的通信数据包的接收时间与上一次接收到的通信数据包的接收时间之间的第一差值,将该第一差值确定为接收时间间隔;
第二确定单元5012,用于确定当前接收到的通信数据包的发送时间与上一次接收到的通信数据包的发送时间之间的第二差值,将该第二差值确定为发送时间间隔;
第三确定单元5013,用于确定该接收时间间隔与发送时间间隔之间的第三差值,将该第三差值确定为第一队列延时。
可选地,参见图7,该调整模块502包括:
第四确定单元5021,用于基于第一队列延时和存储的第二队列延时,确定该用户终端的网络状态;
预测单元5022,用于基于该用户终端的网络状态以及接收数据量,预测该用户终端的网络带宽;
调整单元5023,用于基于该用户终端的网络状态和网络带宽,对第一服务质量参数进行调整,得到第二服务质量参数。
可选地,参见图8,该第四确定单元5021包括:
第一确定子单元50210,用于如果第一队列延时等于第二队列延时,则确定该用户终端的网络状态为正常状态;
第二确定子单元50212,用于如果第一队列延时不等于第二队列延时,则确定第一队列延时和第二队列延时之间的第四差值,得到延时时长;
第三确定子单元50213,用于基于第一队列延时、第二队列延时和该延时时长,确定该用户终端的网络状态。
可选地,该第三确定子单元50213,具体用于:
如果第一队列延时大于第二队列延时,则判断该延时时长是否大于或等于第一阈值;
如果该延时时长大于或等于第一阈值,则确定该用户终端的网络状态为过载状态,否则,确定该用户终端的网络状态为正常状态;
如果第一队列延时小于第二队列延时,则判断该延时时长是否大于或等于第二
阈值;
如果该延时时长大于或等于第二阈值,则确定该用户终端的网络状态为空闲状态,否则,确定该用户终端的网络状态为正常状态。
可选地,参见图9,该预测单元5022包括:
除法子单元50221,用于当该接收数据量为指定时间间隔内接收到该用户终端发送的数据量时,将指定时间间隔内接收该用户终端发送的数据量除以该指定时间间隔的长度,得到参考带宽;
第一乘法子单元50222,用于如果该用户终端的网络状态为过载状态,则将该参考带宽乘以第一带宽系数,得到该用户终端的网络带宽;
第二乘法子单元50223,用于如果该用户终端的网络状态为空闲状态,则将该参考带宽乘以第二带宽系数,得到该用户终端的网络带宽;
第四确定子单元50224,用于如果该用户终端的网络状态为正常状态,则将该参考带宽确定为该用户终端的网络带宽。
可选地,所述用户终端可以是与耦合到所述网络侧设备的多个用户终端之一,并且所述多个用户终端同时向所述网络侧设备进行网络通信。
综上所述,在本发明实施例中,网络侧基于当前接收到的通信数据包的收发时间,以及上一次接收到的通信数据包的收发时间,确定第一队列延时,该网络侧基于第一队列延时、存储的第二队列延时以及接收数据量,对第一服务质量参数进行调整,得到第二服务质量参数,并将第二服务质量参数发送给该用户终端,使该用户终端基于第二服务质量参数发送通信数据包,从而网络侧可以通过网络的实时变化进行自适应性地调整,以保证在有限的网络带宽下,避免网络拥塞现象的出现,并提高多人通信的通信质量。
需要说明的是:上述实施例提供的流量控制的装置在触发流量控制时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的触发流量控制的装置和触发流量控制的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图10,其示出了本发明一个实施例提供的一种服务器1000的结构示意图。该服务器1000包括中央处理单元(CPU)1001、包括随机存取存储器(RAM)1002
和只读存储器(ROM)1003的***存储器1004,以及连接***存储器1004和中央处理单元1001的***总线1005。服务器1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出***(I/O***)1006,和用于存储操作***1013、应用程序1010和其他程序模块1015的大容量存储设备1007。
所述基本输入/输出***1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中所述显示器1008和输入设备1009都通过连接到***总线1005的输入输出控制器1010连接到中央处理单元1001。所述基本输入/输出***1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备1007通过连接到***总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。所述大容量存储设备1007及其相关联的计算机可读介质为服务器1000提供非易失性存储。也就是说,所述大容量存储设备1007可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的***存储器1004和大容量存储设备1007可以统称为存储器。
根据本发明的各种实施例,服务器1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1000可以通过连接在所述***总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机***(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本发明实施例提供的流量控制方法的指令,包括:
基于所述服务器当前从用户终端接收到的通信数据包的收发时间,以及上一次
从所述用户终端接收到的通信数据包的收发时间,确定第一队列延时,该第一队列延时为该当前接收到的通信数据包在路由器缓冲队列中的排队时间;
基于第一队列延时、所述服务器存储的第二队列延时以及所述服务器的接收数据量,对第一服务质量参数进行调整,得到第二服务质量参数,该第一服务质量参数为为由所述服务器初始配置给该用户终端的服务质量参数,该第二队列延时为该上一次接收到的通信数据包在路由器缓冲队列中的排队时间,该接收数据量为当前接收到的通信数据包的数据量或者指定时间间隔内所述服务器从所述用户终端接收的数据量;
将第二服务质量参数发送给该用户终端,使该用户终端基于第二服务质量参数发送后续通信数据包。
可选地,基于当前接收到的通信数据包的收发时间,以及上一次接收到的通信数据包的收发时间,确定第一队列延时,包括:
确定当前接收到的通信数据包的接收时间与上一次接收到的通信数据包的接收时间之间的第一差值,将该第一差值确定为接收时间间隔;
确定当前接收到的通信数据包的发送时间与上一次接收到的通信数据包的发送时间之间的第二差值,将该第二差值确定为发送时间间隔;
确定该接收时间间隔与发送时间间隔之间的第三差值,将该第三差值确定为第一队列延时。
可选地,基于该第一队列延时、存储的第二队列延时以及接收数据量,对第一服务质量参数进行调整,得到第二服务质量参数,包括:
基于第一队列延时和存储的第二队列延时,确定该用户终端的网络状态;
基于该用户终端的网络状态以及接收数据量,预测该用户终端的网络带宽;
基于该用户终端的网络状态和网络带宽,对第一服务质量参数进行调整,得到第二服务质量参数。
可选地,基于第一队列延时和存储的第二队列延时,确定该用户终端的网络状态,包括:
如果第一队列延时等于第二队列延时,则确定该用户终端的网络状态为正常状态;
如果第一队列延时不等于第二队列延时,则确定第一队列延时和第二队列延时之间的第四差值,得到延时时长;
基于第一队列延时、第二队列延时和该延时时长,确定该用户终端的网络状态。
可选地,基于第一队列延时、第二队列延时和该延时时长,确定该用户终端的网络状态,包括:
如果第一队列延时大于第二队列延时,则判断该延时时长是否大于或等于第一阈值;
如果该延时时长大于或等于第一阈值,则确定该用户终端的网络状态为过载状态,否则,确定该用户终端的网络状态为正常状态;
如果第一队列延时小于第二队列延时,则判断该延时时长是否大于或等于第二阈值;
如果该延时时长大于或等于第二阈值,则确定该用户终端的网络状态为空闲状态,否则,确定该用户终端的网络状态为正常状态。
可选地,基于该用户终端的网络状态以及接收数据量,预测该用户终端的网络带宽,包括:
当该接收数据量为指定时间间隔内接收到该用户终端发送的数据量时,将指定时间间隔内接收该用户终端发送的数据量除以该指定时间间隔的长度,得到参考带宽;
如果该用户终端的网络状态为过载状态,则将该参考带宽乘以第一带宽系数,得到该用户终端的网络带宽;
如果该用户终端的网络状态为空闲状态,则将该参考带宽乘以第二带宽系数,得到该用户终端的网络带宽;
如果该用户终端的网络状态为正常状态,则将该参考带宽确定为该用户终端的网络带宽。
本发明实施例中,网络侧基于当前接收到的通信数据包的收发时间,以及上一次接收到的通信数据包的收发时间,确定第一队列延时,该网络侧基于该第一队列延时、存储的第二队列延时以及接收数据量,对第一服务质量参数进行调整,得到第二服务质量参数,并将第二服务质量参数发送给该用户终端,使该用户终端基于该第二服务质量参数发送通信数据包,从而网络侧可以通过网络的实时变化进行自适应性地调整,以保证在有限的网络带宽下,避免网络拥塞现象的出现,并提高多人通信的通信质量。
图11示出根据本发明实施例的流量控制的应用环境。如图所示,服务器2000通过网络2002与用户终端2004进行通信。
根据一种实施方式,所述服务器被配置为:
初始为所述用户终端配置第一服务质量参数;
确定从所述用户终端接收的第一通信数据包在路由器缓冲队列中的第一队列延时,其中所述用户终端以所述第一服务质量参数发送所述第一通信数据包;
确定从所述用户终端接收的第二通信数据包在路由器缓冲队列中的第二队列延时,其中所述用户终端以所述第一服务质量参数发送所述第二通信数据包,并且所述第一通信数据包是紧接在所述第二通信数据包之后被发送的;
基于所述第一队列延时、所述第二队列延时以及所述服务器的接收数据量,对所述第一服务质量参数进行调整,得到第二服务质量参数,其中所述接收数据量为所述第一通信数据包的数据量或者指定时间间隔内所述服务器从所述用户终端接收的数据量;以及
将所述第二服务质量参数发送给所述用户终端,使所述用户终端基于所述第二服务质量参数发送后续通信数据包。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (15)
- 一种流量控制方法,包括:网络侧设备基于当前从用户终端接收到的通信数据包的收发时间,以及上一次从所述用户终端接收到的通信数据包的收发时间,确定第一队列延时,所述第一队列延时为所述当前接收到的通信数据包在路由器缓冲队列中的排队时间;基于所述第一队列延时、所述网络侧设备存储的第二队列延时以及所述网络侧设备的接收数据量,对第一服务质量参数进行调整,得到第二服务质量参数,所述第一服务质量参数为初始由所述网络侧设备配置给所述用户终端的服务质量参数,所述第二队列延时为所述上一次接收到的通信数据包在路由器缓冲队列中的排队时间,所述接收数据量为所述当前接收到的通信数据包的数据量或者指定时间间隔内所述网络侧设备从所述用户终端接收的数据量;将所述第二服务质量参数发送给所述用户终端,使所述用户终端基于所述第二服务质量参数发送后续通信数据包。
- 如权利要求1所述的方法,其中,确定第一队列延时,包括:确定所述当前接收到的通信数据包的接收时间与所述上一次接收到的通信数据包的接收时间之间的第一差值,将所述第一差值确定为接收时间间隔;确定所述当前接收到的通信数据包的发送时间与所述上一次接收到的通信数据包的发送时间之间的第二差值,将所述第二差值确定为发送时间间隔;确定所述接收时间间隔与所述发送时间间隔之间的第三差值,将所述第三差值确定为第一队列延时。
- 如权利要求1所述的方法,其中,对第一服务质量参数进行调整,得到第二服务质量参数,包括:基于所述第一队列延时和所述第二队列延时,确定所述用户终端的网络状态;基于所述用户终端的网络状态以及所述接收数据量,预测所述用户终端的网络带宽;基于所述用户终端的网络状态和网络带宽,对所述第一服务质量参数进行调整,得 到所述第二服务质量参数。
- 如权利要求3所述的方法,其中,所述确定所述用户终端的网络状态,包括:如果所述第一队列延时等于所述第二队列延时,则确定所述用户终端的网络状态为正常状态;如果所述第一队列延时不等于所述第二队列延时,则确定所述第一队列延时和所述第二队列延时之间的第四差值,得到延时时长;基于所述第一队列延时、所述第二队列延时和所述延时时长,确定所述用户终端的网络状态。
- 如权利要求4所述的方法,其中,所述基于所述第一队列延时、所述第二队列延时和所述延时时长,确定所述用户终端的网络状态,包括:如果所述第一队列延时大于所述第二队列延时,则判断所述延时时长是否大于或等于第一阈值;如果所述延时时长大于或等于所述第一阈值,则确定所述用户终端的网络状态为过载状态,否则,确定所述用户终端的网络状态为正常状态;如果所述第一队列延时小于所述第二队列延时,则判断所述延时时长是否大于或等于第二阈值;如果所述延时时长大于或等于第二阈值,则确定所述用户终端的网络状态为空闲状态,否则,确定所述用户终端的网络状态为正常状态。
- 如权利要求3-5中任一所述的方法,其中,预测所述用户终端的网络带宽,包括:当所述接收数据量为指定时间间隔内所述网络侧设备从所述用户终端接收的数据量时,将指定时间间隔内所述网络侧设备从所述用户终端接收的数据量除以所述指定时间间隔的长度,得到参考带宽;如果所述用户终端的网络状态为过载状态,则将所述参考带宽乘以第一带宽系数,得到所述用户终端的网络带宽;如果所述用户终端的网络状态为空闲状态,则将所述参考带宽乘以第二带宽系数, 得到所述用户终端的网络带宽;如果所述用户终端的网络状态为正常状态,则将所述参考带宽确定为所述用户终端的网络带宽。
- 如权利要求1所述的方法,其中,所述用户终端是与耦合到所述网络侧设备的多个用户终端之一,并且所述多个用户终端同时向所述网络侧设备进行网络通信。
- 一种流量控制装置,应用于网络侧设备,所述流量控制装置包括:一个或更多个处理器;以及存储有多个程序模块的存储器,其中所述程序模块包括:确定模块,用于基于所述网络侧设备当前从用户终端接收到的通信数据包的收发时间,以及上一次从所述用户终端接收到的通信数据包的收发时间,确定第一队列延时,所述第一队列延时为所述当前接收到的通信数据包在路由器缓冲队列中的排队时间;调整模块,用于基于所述第一队列延时、所述网络侧设备存储的第二队列延时以及所述网络侧设备的接收数据量,对第一服务质量参数进行调整,得到第二服务质量参数,所述第一服务质量参数为由所述网络侧设备初始配置给所述用户终端的服务质量参数,所述第二队列延时为所述上一次接收到的通信数据包在路由器缓冲队列中的排队时间,所述接收数据量为所述当前接收到的通信数据包的数据量或者指定时间间隔内所述网络侧设备从所述用户终端接收的数据量;发送模块,用于将所述第二服务质量参数发送给所述用户终端,使所述用户终端基于所述第二服务质量参数发送后续通信数据包。
- 如权利要求8所述的装置,其中,所述确定模块包括:第一确定单元,用于确定所述当前接收到的通信数据包的接收时间与所述上一次接收到的通信数据包的接收时间之间的第一差值,将所述第一差值确定为接收时间间隔;第二确定单元,用于确定所述当前接收到的通信数据包的发送时间与所述上一次接收到的通信数据包的发送时间之间的第二差值,将所述第二差值确定为发送时间间隔;第三确定单元,用于确定所述接收时间间隔与所述发送时间间隔之间的第三差值, 将所述差值确定为第一队列延时。
- 如权利要求8所述的装置,其中,所述调整模块包括:第四确定单元,用于基于所述第一队列延时和所述第二队列延时,确定所述用户终端的网络状态;预测单元,用于基于所述用户终端的网络状态以及所述接收数据量,预测所述用户终端的网络带宽;调整单元,用于基于所述用户终端的网络状态和网络带宽,对所述第一服务质量参数进行调整,得到所述第二服务质量参数。
- 如权利要求10所述的装置,其中,所述第四确定单元包括:第一确定子单元,用于如果所述第一队列延时等于所述第二队列延时,则确定所述用户终端的网络状态为正常状态;第二确定子单元,用于如果所述第一队列延时不等于所述第二队列延时,则确定所述第一队列延时和所述第二队列延时之间的第四差值,得到延时时长;第三确定子单元,用于基于所述第一队列延时、所述第二队列延时和所述延时时长,确定所述用户终端的网络状态。
- 如权利要求11所述的装置,其中,所述第三确定子单元用于:如果所述第一队列延时大于所述第二队列延时,则判断所述延时时长是否大于或等于第一阈值;如果所述延时时长大于或等于所述第一阈值,则确定所述用户终端的网络状态为过载状态,否则,确定所述用户终端的网络状态为正常状态;如果所述第一队列延时小于所述第二队列延时,则判断所述延时时长是否大于或等于第二阈值;如果所述延时时长大于或等于第二阈值,则确定所述用户终端的网络状态为空闲状态,否则,确定所述用户终端的网络状态为正常状态。
- 如权利要求10-12中任一所述的装置,其中,所述预测单元包括:除法子单元,用于当所述接收数据量为指定时间间隔内所述网络侧设备从所述用户终端接收的数据量时,将指定时间间隔内所述网络侧设备从所述用户终端接收的数据量除以所述指定时间间隔的长度,得到参考带宽;第一乘法子单元,用于如果所述用户终端的网络状态为过载状态,则将所述参考带宽乘以第一带宽系数,得到所述用户终端的网络带宽;第二乘法子单元,用于如果所述用户终端的网络状态为空闲状态,则将所述参考带宽乘以第二带宽系数,得到所述用户终端的网络带宽;第四确定子单元,用于如果所述用户终端的网络状态为正常状态,则将所述参考带宽确定为所述用户终端的网络带宽。
- 如权利要求8所述的方法,其中,所述用户终端是与耦合到所述网络侧设备的多个用户终端之一,并且所述多个用户终端同时向所述网络侧设备进行网络通信。
- 一种服务器,通过网络连接到用户终端,所述服务器被配置为:初始为所述用户终端配置第一服务质量参数;确定从所述用户终端接收的第一通信数据包在路由器缓冲队列中的第一队列延时,其中所述用户终端以所述第一服务质量参数发送所述第一通信数据包;确定从所述用户终端接收的第二通信数据包在路由器缓冲队列中的第二队列延时,其中所述用户终端以所述第一服务质量参数发送所述第二通信数据包,并且所述第一通信数据包是紧接在所述第二通信数据包之后被发送的;基于所述第一队列延时、所述第二队列延时以及所述服务器的接收数据量,对所述第一服务质量参数进行调整,得到第二服务质量参数,其中所述接收数据量为所述第一通信数据包的数据量或者指定时间间隔内所述服务器从所述用户终端接收的数据量;以及将所述第二服务质量参数发送给所述用户终端,使所述用户终端基于所述第二服务质量参数发送后续通信数据包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/663,127 US10757033B2 (en) | 2015-06-30 | 2017-07-28 | Traffic control method, traffic control apparatus and server |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510374358.5 | 2015-06-30 | ||
CN201510374358.5A CN106330757B (zh) | 2015-06-30 | 2015-06-30 | 流量控制方法及装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/663,127 Continuation US10757033B2 (en) | 2015-06-30 | 2017-07-28 | Traffic control method, traffic control apparatus and server |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017000728A1 true WO2017000728A1 (zh) | 2017-01-05 |
Family
ID=57607866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2016/084025 WO2017000728A1 (zh) | 2015-06-30 | 2016-05-31 | 流量控制方法、装置和服务器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10757033B2 (zh) |
CN (1) | CN106330757B (zh) |
WO (1) | WO2017000728A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11729919B2 (en) | 2018-07-17 | 2023-08-15 | Robert Bosch Gmbh | Controller with insertable radio module, as well as radio module, cover and plug |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106790729B (zh) * | 2017-03-30 | 2021-04-09 | 努比亚技术有限公司 | 与客户端进行通信的装置和方法 |
CN108696447A (zh) * | 2018-08-03 | 2018-10-23 | 中国航空工业集团公司雷华电子技术研究所 | 一种自适应调节dsp间数据流负载的方法 |
CN110087261B (zh) * | 2019-04-28 | 2020-11-06 | 电子科技大学 | 一种基于OpenWrt的企业级无线局域网流量控制方法 |
CN110381537B (zh) * | 2019-08-12 | 2022-10-28 | 深圳创维数字技术有限公司 | 一种基于QoE的带宽限速方法、装置、设备及存储介质 |
CN110601771B (zh) * | 2019-09-18 | 2021-04-13 | Oppo广东移动通信有限公司 | 基于超声波的丢帧处理方法、装置、移动终端及存储介质 |
CN111083063B (zh) * | 2019-11-22 | 2023-04-18 | 北京云杉信息技术有限公司 | 一种动态调整下发压力的方法及装置 |
CN111211936B (zh) * | 2019-12-27 | 2022-06-21 | 视联动力信息技术股份有限公司 | 一种基于网络状态的数据处理方法和装置 |
CN111263102B (zh) * | 2020-05-07 | 2020-08-11 | 翱捷科技(上海)有限公司 | 一种基于延迟梯度累积的ViLTE视频通话拥塞控制方法及*** |
CN112019398B (zh) * | 2020-07-16 | 2022-03-11 | 中国人民财产保险股份有限公司 | 网络流量的预测方法和装置 |
CN111867215B (zh) * | 2020-08-03 | 2023-03-03 | 广州彩熠灯光股份有限公司 | 灯光控制数据调度方法、***、通信控制板及存储介质 |
CN112073142B (zh) * | 2020-09-02 | 2023-04-18 | 浙江吉利汽车研究院有限公司 | 一种用于车辆的自动泊车方法及*** |
CN112422892B (zh) * | 2020-10-14 | 2022-08-02 | 重庆恢恢信息技术有限公司 | 一种通过物联网海量建筑数据进行图像处理的工作方法 |
CN117527718A (zh) * | 2022-07-28 | 2024-02-06 | 中兴通讯股份有限公司 | 时延资源分配方法、电子设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1878094A (zh) * | 2005-06-10 | 2006-12-13 | 腾讯科技(深圳)有限公司 | 一种网络最大可用带宽的测试方法 |
CN102231898A (zh) * | 2011-07-05 | 2011-11-02 | 深圳市融创天下科技股份有限公司 | 一种网络带宽自适应qos传输的方法、***和终端设备 |
CN102868666A (zh) * | 2011-07-07 | 2013-01-09 | 北京东方文骏软件科技有限责任公司 | 基于用户体验交互的流媒体质量监测报告的实现方法 |
WO2013186502A1 (fr) * | 2012-06-15 | 2013-12-19 | Orange | Procede et dispositif d'estimation rapide et peu intrusive de la bande passante disponible entre deux nœuds ip |
US8787165B2 (en) * | 2010-04-28 | 2014-07-22 | Cox Communications, Inc. | Parameterized quality of service for multimedia in a coaxial network |
CN104243102A (zh) * | 2014-09-30 | 2014-12-24 | 深圳市云之讯网络技术有限公司 | 一种基于网络状态评估的码率控制方法及其装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201019649A (en) * | 2008-11-06 | 2010-05-16 | Inst Information Industry | Network system, adjusting method of data transmission rate and computer program procut thereof |
JPWO2015174069A1 (ja) * | 2014-05-14 | 2017-04-20 | 日本電気株式会社 | 通信システム、受信側装置、送信側装置、および、通信方法 |
-
2015
- 2015-06-30 CN CN201510374358.5A patent/CN106330757B/zh active Active
-
2016
- 2016-05-31 WO PCT/CN2016/084025 patent/WO2017000728A1/zh active Application Filing
-
2017
- 2017-07-28 US US15/663,127 patent/US10757033B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1878094A (zh) * | 2005-06-10 | 2006-12-13 | 腾讯科技(深圳)有限公司 | 一种网络最大可用带宽的测试方法 |
US8787165B2 (en) * | 2010-04-28 | 2014-07-22 | Cox Communications, Inc. | Parameterized quality of service for multimedia in a coaxial network |
CN102231898A (zh) * | 2011-07-05 | 2011-11-02 | 深圳市融创天下科技股份有限公司 | 一种网络带宽自适应qos传输的方法、***和终端设备 |
CN102868666A (zh) * | 2011-07-07 | 2013-01-09 | 北京东方文骏软件科技有限责任公司 | 基于用户体验交互的流媒体质量监测报告的实现方法 |
WO2013186502A1 (fr) * | 2012-06-15 | 2013-12-19 | Orange | Procede et dispositif d'estimation rapide et peu intrusive de la bande passante disponible entre deux nœuds ip |
CN104243102A (zh) * | 2014-09-30 | 2014-12-24 | 深圳市云之讯网络技术有限公司 | 一种基于网络状态评估的码率控制方法及其装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11729919B2 (en) | 2018-07-17 | 2023-08-15 | Robert Bosch Gmbh | Controller with insertable radio module, as well as radio module, cover and plug |
Also Published As
Publication number | Publication date |
---|---|
US10757033B2 (en) | 2020-08-25 |
US20170331757A1 (en) | 2017-11-16 |
CN106330757A (zh) | 2017-01-11 |
CN106330757B (zh) | 2020-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017000728A1 (zh) | 流量控制方法、装置和服务器 | |
US20220006847A1 (en) | User equipment and media streaming network assistance node | |
JP6178523B2 (ja) | 要求マネージャおよび接続マネージャの機能を実装するトランスポートアクセラレータ | |
KR101402533B1 (ko) | 네트워크 내에서의 자원들의 할당을 관리하기 위한 방법 및 장치 | |
WO2017000719A1 (zh) | 一种基于队列时延的拥塞控制方法及装置 | |
US20150341248A1 (en) | Method for detecting network transmission status and related device | |
EP2760163A1 (en) | Network latency optimization | |
US11695629B2 (en) | Method and apparatus for configuring a network parameter | |
KR20110044247A (ko) | 통신 시스템에서 수정 타임스탬프를 제공하는 방법 및 장치 | |
EP3490199A1 (en) | Calling method and device, computer storage medium, and terminal | |
TW201540031A (zh) | 實現客戶端側的傳送功能的傳輸加速器 | |
WO2015069944A1 (en) | Systems and methods for proactive congestion detection in radio access networks | |
Shreedhar et al. | ACP: Age control protocol for minimizing age of information over the internet | |
CN110620939B (zh) | 一种网络状态确定方法、装置、电子设备及存储介质 | |
CN113438180B (zh) | Udp数据包的传输控制方法、装置、设备及可读存储介质 | |
EP3286967A1 (en) | Technique for scheduling transmission of content in an access network | |
CN113328906A (zh) | 一种流量实时监控方法、装置、存储介质及电子设备 | |
JP5533177B2 (ja) | パケットロス率推定装置、パケットロス率推定方法、パケットロス率推定プログラム、及び、通信システム | |
KR100737678B1 (ko) | 멀티미디어 스트리밍 서비스에 대한 지연시간 분석방법 | |
US20150181456A1 (en) | Frame transmission method and apparatus for controlling one-way delay | |
Yan et al. | An analytical model for streaming over TCP | |
US20230247069A1 (en) | Systems and Methods for Adaptive Video Conferencing | |
GB2521104A (en) | Data Processing | |
WO2014083962A1 (ja) | 通信システム | |
Liao et al. | STOP: Joint send buffer and transmission control for user-perceived deadline guarantee via curriculum guided-deep reinforcement learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16817092 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC ( EPO FORM 1205A DATED 17/05/2018 ) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 16817092 Country of ref document: EP Kind code of ref document: A1 |