CN113965517A - Network transmission method, network transmission device, electronic equipment and storage medium - Google Patents
Network transmission method, network transmission device, electronic equipment and storage medium Download PDFInfo
- Publication number
- CN113965517A CN113965517A CN202111057676.0A CN202111057676A CN113965517A CN 113965517 A CN113965517 A CN 113965517A CN 202111057676 A CN202111057676 A CN 202111057676A CN 113965517 A CN113965517 A CN 113965517A
- Authority
- CN
- China
- Prior art keywords
- trip time
- time period
- round
- network
- preset
- 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.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 266
- 238000000034 method Methods 0.000 title claims abstract description 68
- 230000003247 decreasing effect Effects 0.000 claims abstract description 31
- 230000009467 reduction Effects 0.000 claims description 32
- 230000007423 decrease Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 abstract description 10
- 238000005259 measurement Methods 0.000 abstract description 7
- 230000000875 corresponding effect Effects 0.000 description 321
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000011084 recovery Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005236 sound signal Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011982 device technology Methods 0.000 description 1
- 239000003102 growth factor Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- 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/12—Avoiding congestion; Recovering from congestion
-
- 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
-
- 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/25—Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
-
- 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/26—Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
The present disclosure relates to a network transmission method, including: in the first stage of data transmission, gradually increasing the sending speeds corresponding to a plurality of round-trip time periods until the occupied bandwidth in the network reaches a preset first bandwidth limit value, and entering a preset second stage; in the second stage, gradually reducing the sending speed corresponding to at least one round-trip time period until the occupied bandwidth reaches a preset second bandwidth limit value, and entering a preset third stage; and in the third stage, determining a target round-trip time period, increasing or decreasing the sending speed corresponding to the target round-trip time period according to a preset probability, acquiring network feedback, and adjusting the sending speed corresponding to the next round-trip time period according to the network feedback. According to the scheme, the sending end can randomly adjust the sending speed, the change condition of the current network bandwidth is determined based on the corresponding network feedback, the sending speed of the next round-trip time period is adaptively adjusted, the problems of measurement lag and failure are effectively reduced, and the network transmission efficiency is improved.
Description
Technical Field
The present disclosure relates to computer technologies, and in particular, to a network transmission method and apparatus, an electronic device, and a storage medium.
Background
The transmission speed of the network file affects the user experience, for example, when the transmission speed of the network video file is too low, the playing of the video is easy to be blocked and the playing is easy to fail.
In the prior art, the TCP BBR congestion control protocol may measure a network state based on a current available bandwidth detection and RTT (Round-Trip Time) tracking mechanism, and adjust a data sending speed.
However, in the process of a network with variable fluctuation, the actual bandwidth in the network does not conform to the detection bandwidth, which brings wrong feedback to the TCP BBR congestion control protocol and reduces the network transmission efficiency.
Disclosure of Invention
The present disclosure provides a network transmission method, device, electronic device and storage medium, so as to at least solve the problem of low network transmission efficiency in the related art. The technical scheme of the disclosure is as follows:
according to a first aspect of the embodiments of the present disclosure, there is provided a network transmission method, including:
in the first stage of data transmission, gradually increasing the sending speeds corresponding to a plurality of round-trip time periods until the occupied bandwidth in the network reaches a preset first bandwidth limit value, and entering a preset second stage;
in the second stage, gradually reducing the sending speed corresponding to at least one round-trip time period until the occupied bandwidth in the network reaches a preset second bandwidth limit value, and entering a preset third stage; the second bandwidth limit is less than the first bandwidth limit;
and in the third stage, determining a target round-trip time period, increasing or decreasing the sending speed corresponding to the target round-trip time period according to a preset probability, acquiring network feedback, and adjusting the sending speed corresponding to the next round-trip time period according to the network feedback.
In an exemplary embodiment, in the first phase of data transmission, successively increasing the sending speed corresponding to a plurality of round trip time periods until the occupied bandwidth in the network reaches the first bandwidth limit value includes:
in the first stage of data transmission, based on a preset growth coefficient, the window size of a sending window corresponding to a plurality of round-trip time periods is gradually enlarged so as to increase the sending speed corresponding to each round-trip time period;
determining the occupied bandwidth increasing rate corresponding to each round-trip time period after the sending speed is increased; the occupied bandwidth increasing rate represents the increasing amplitude of the occupied bandwidth corresponding to the round-trip time period relative to the occupied bandwidth of the previous round-trip time period;
and if the increase rate of the occupied bandwidth corresponding to a plurality of continuous round-trip time periods does not exceed a preset increase rate threshold, determining that the occupied bandwidth in the network reaches a preset first bandwidth limit value.
In an exemplary embodiment, the determining an occupied bandwidth increase rate corresponding to each round trip time period after the transmission speed is increased includes:
aiming at each round-trip time period, after the sending speed corresponding to the round-trip time period is increased, acquiring the actual occupied bandwidth corresponding to the round-trip time period and acquiring the historical occupied bandwidth corresponding to the previous round-trip time period;
and determining the occupied bandwidth increasing rate corresponding to the round-trip time period according to the ratio of the actual bandwidth to the historical bandwidth.
In an exemplary embodiment, in the second stage, successively decreasing the sending speed corresponding to at least one round-trip time period until the occupied bandwidth in the network reaches the preset second bandwidth limit value includes:
in the second stage, aiming at the current round-trip time period, based on a preset first reduction coefficient, the sending speed corresponding to the current round-trip time period is reduced;
if it is determined that the occupied bandwidth in the network corresponding to the current round-trip time period after the sending speed is adjusted down is greater than or equal to a preset second bandwidth limit value, when the next round-trip time period comes, taking the next round-trip time period as the current round-trip time period, and executing the step of adjusting down the sending speed corresponding to the current round-trip time period based on the preset first reduction coefficient again until the occupied bandwidth corresponding to the current round-trip time period is less than the second bandwidth limit value.
In an exemplary embodiment, before the step of gradually decreasing, in the second stage, the sending speed corresponding to at least one round-trip time period until the occupied bandwidth in the network reaches the preset second bandwidth limit, the method further includes:
acquiring a preset callback coefficient and the first bandwidth limit value; the callback coefficient represents the reduction range of the first bandwidth limit value for callback;
and determining the second bandwidth limit value according to the product of the callback coefficient and the first bandwidth limit value.
In an exemplary embodiment, in the third stage, determining a target round-trip time period, and increasing or decreasing a sending speed corresponding to the target round-trip time period according to a preset probability includes:
in the third stage, determining a target round-trip time period, and determining an adjustment direction of the sending speed corresponding to the target round-trip time period according to a preset probability;
acquiring a random number corresponding to the adjustment direction; the random number is a positive number or a negative number within a preset range, the positive number indicates the increasing amplitude of the target round-trip time period corresponding to the sending speed, and the negative number indicates the decreasing amplitude of the target round-trip time period corresponding to the sending speed;
and adjusting the sending speed corresponding to the target round-trip time period according to the random number.
In an exemplary embodiment, the adjusting the sending speed corresponding to the next round trip time period according to the network feedback includes:
if the network feedback is positive feedback, taking the sending speed of the target round-trip time period as the sending speed corresponding to the next round-trip time period; the positive feedback represents that the occupied bandwidth of the target round-trip time period is increased relative to the reference occupied bandwidth corresponding to the previous round-trip time period;
if the network feedback is negative feedback, taking the sending speed of the previous round-trip time period corresponding to the target round-trip time period as the sending speed corresponding to the next round-trip time period; and the negative feedback represents that the occupied bandwidth of the target round-trip time period is reduced relative to the reference occupied bandwidth corresponding to the previous round-trip time period.
According to a second aspect of the embodiments of the present disclosure, there is provided a network transmission method, including:
in the initial stage of data transmission, gradually increasing the sending speeds corresponding to a plurality of round-trip time periods based on a preset increasing coefficient;
and if the occupied bandwidths corresponding to the round-trip time periods after the transmission speed is increased are determined to reach the preset first bandwidth limit value, stopping increasing the transmission speed corresponding to the next round-trip time period.
According to a third aspect of the embodiments of the present disclosure, there is provided a network transmission method, including:
in the data transmission process, determining a target round-trip time period and determining an adjustment direction of a sending speed corresponding to the target round-trip time period according to a preset probability;
acquiring a random number corresponding to the adjustment direction; the random number is a positive number or a negative number within a preset range, the positive number indicates the increasing amplitude of the target round-trip time period corresponding to the sending speed, and the negative number indicates the decreasing amplitude of the target round-trip time period corresponding to the sending speed;
according to the random number, adjusting the sending speed corresponding to the target round-trip time period, and acquiring network feedback;
and adjusting the sending speed corresponding to the next round-trip time period according to the network feedback.
According to a fourth aspect of the embodiments of the present disclosure, there is provided a network transmission apparatus, including:
the sending speed increasing unit is configured to execute the first stage of data transmission, gradually increase the sending speeds corresponding to a plurality of round-trip time periods until the occupied bandwidth in the network reaches a preset first bandwidth limit value, and enter a preset second stage;
the sending speed reduction unit is configured to gradually reduce the sending speed corresponding to at least one round-trip time period in the second stage until the occupied bandwidth in the network reaches a preset second bandwidth limit value, and enter a preset third stage; the second bandwidth limit is less than the first bandwidth limit;
and the sending speed random adjusting unit is configured to execute the third stage, determine a target round-trip time period, increase or decrease the sending speed corresponding to the target round-trip time period according to a preset probability, acquire network feedback, and adjust the sending speed corresponding to the next round-trip time period according to the network feedback.
In an exemplary embodiment, the transmission speed increasing unit includes:
a sending window adjusting module configured to perform, in a first stage of data transmission, successively expanding window sizes of sending windows corresponding to a plurality of round-trip time periods based on a preset growth coefficient to increase sending speeds corresponding to the plurality of round-trip time periods;
an occupied bandwidth increase rate determination module configured to perform determining an occupied bandwidth increase rate corresponding to each round trip time period after the transmission speed is increased; the occupied bandwidth increasing rate represents the increasing amplitude of the occupied bandwidth corresponding to the round-trip time period relative to the occupied bandwidth of the previous round-trip time period;
and the increase rate threshold comparison module is configured to execute the step of determining that the occupied bandwidth in the network reaches a preset first bandwidth limit value if the occupied bandwidth increase rate corresponding to a plurality of continuous round-trip time periods does not exceed a preset increase rate threshold.
In an exemplary embodiment, the occupied bandwidth increase rate determining module includes:
the actual occupied bandwidth acquiring module is configured to execute, aiming at each round-trip time period, acquiring actual occupied bandwidth corresponding to the round-trip time period after the sending speed corresponding to the round-trip time period is increased, and acquiring historical occupied bandwidth corresponding to the previous round-trip time period;
and the ratio determining module is configured to determine the occupied bandwidth increasing rate corresponding to the round-trip time period according to the ratio of the actual bandwidth to the historical bandwidth.
In an exemplary embodiment, the transmission speed reduction unit includes:
a sending speed lowering module configured to perform lowering of a sending speed corresponding to a current round-trip time period based on a preset lowering coefficient for the current round-trip time period in the second stage;
and the occupied bandwidth comparison module is configured to execute the step of taking the next round-trip time period as the current round-trip time period when the next round-trip time period comes if the occupied bandwidth in the network corresponding to the current round-trip time period after the sending speed is determined to be reduced is larger than or equal to a preset second bandwidth limit value, and reducing the sending speed corresponding to the current round-trip time period based on the preset reduction coefficient until the occupied bandwidth corresponding to the current round-trip time period is smaller than the second bandwidth limit value.
In an exemplary embodiment, the apparatus further comprises:
the callback coefficient acquisition unit is configured to acquire a preset callback coefficient and the first bandwidth limit; the callback coefficient represents the reduction range of the first bandwidth limit value for callback;
a second bandwidth limit determination unit configured to perform determining the second bandwidth limit according to a product of the callback coefficient and the first bandwidth limit.
In an exemplary embodiment, the transmission speed random adjustment unit includes:
a target period determining module configured to determine a target round-trip time period and determine an adjustment direction of the transmission speed corresponding to the target round-trip time period according to a preset probability, when the third stage is executed;
a random number generation module configured to perform acquiring a random number corresponding to the adjustment direction; the random number is a positive number or a negative number within a preset range, the positive number indicates the increasing amplitude of the target round-trip time period corresponding to the sending speed, and the negative number indicates the decreasing amplitude of the target round-trip time period corresponding to the sending speed;
and the sending speed adjusting module is configured to adjust the sending speed corresponding to the target round-trip time period according to the random number.
In an exemplary embodiment, the transmission speed random adjustment unit further includes:
a speed updating module configured to execute, if the network feedback is positive feedback, taking the sending speed of the target round-trip time period as a sending speed corresponding to a next round-trip time period; the positive feedback represents that the occupied bandwidth of the target round-trip time period is increased relative to the reference occupied bandwidth corresponding to the previous round-trip time period;
a speed maintaining module configured to perform, if the network feedback is negative feedback, taking a sending speed of a previous round-trip time period corresponding to the target round-trip time period as a sending speed corresponding to a next round-trip time period; and the negative feedback represents that the occupied bandwidth of the target round-trip time period is reduced relative to the reference occupied bandwidth corresponding to the previous round-trip time period.
According to a fifth aspect of the embodiments of the present disclosure, there is provided a network transmission apparatus, including:
a transmission speed increasing unit configured to perform successive increase of transmission speeds corresponding to a plurality of round-trip time periods based on a preset increase coefficient at an initial stage of data transmission;
and the pause increasing unit is configured to execute stopping increasing the transmission speed corresponding to the next round-trip time period if the occupied bandwidth corresponding to the round-trip time periods after the transmission speed is determined to be increased reaches a preset first bandwidth limit value.
According to a sixth aspect of the embodiments of the present disclosure, there is provided a network transmission apparatus, including:
the target period acquisition unit is configured to determine a target round-trip time period in the data transmission process, and determine an adjustment direction of a sending speed corresponding to the target round-trip time period according to a preset probability;
a random updating unit configured to perform acquiring a random number corresponding to the adjustment direction; the random number is a positive number or a negative number within a preset range, the positive number indicates the increasing amplitude of the target round-trip time period corresponding to the sending speed, and the negative number indicates the decreasing amplitude of the target round-trip time period corresponding to the sending speed;
a network feedback obtaining unit configured to adjust a sending speed corresponding to the target round-trip time period according to the random number, and obtain network feedback;
and the sending speed changing unit is configured to adjust the sending speed corresponding to the next round-trip time period according to the network feedback.
According to a seventh aspect of the embodiments of the present disclosure, there is provided an electronic apparatus including:
a processor;
a memory for storing the processor-executable instructions;
wherein the processor is configured to execute the instructions to implement the network transmission method as claimed in any one of the above.
According to an eighth aspect of embodiments of the present disclosure, there is provided a computer-readable storage medium, wherein instructions, when executed by a processor of an electronic device, enable the electronic device to perform the network transmission method as described in any one of the above.
According to an eighth aspect of embodiments of the present disclosure, there is provided a computer program product comprising computer programs/instructions which, when executed by a processor, implement the network transmission method as defined in any one of the above.
The technical scheme provided by the embodiment of the disclosure at least brings the following beneficial effects:
the sending end of the data can randomly adjust the sending speed of the target round-trip time period in advance, determine whether the adjustment is proper or not based on the network feedback, timely acquire the change condition of the current network bandwidth, and then perform adaptive adjustment on the sending speed of the next round-trip time period, so that the problems of measurement lag and failure are effectively reduced, and the network transmission efficiency is improved.
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 present disclosure and, together with the description, serve to explain the principles of the disclosure and are not to be construed as limiting the disclosure.
Fig. 1 is a diagram illustrating an application environment of a network transmission method according to an exemplary embodiment.
Fig. 2 is a flow chart illustrating a method of network transmission according to an example embodiment.
Fig. 3 is a flow chart illustrating a method of network transmission according to another exemplary embodiment.
Fig. 4 is a flow chart illustrating a method of network transmission according to another example embodiment.
Fig. 5 is a flow chart illustrating a method of network transmission according to another exemplary embodiment.
Fig. 6 is a flow chart illustrating a method of network transmission according to another example embodiment.
Fig. 7 is a block diagram illustrating a network transmission device according to an example embodiment.
Fig. 8 is a block diagram illustrating a network transmission device according to another example embodiment.
Fig. 9 is a block diagram illustrating a network transmission device according to another example embodiment.
FIG. 10 is a block diagram illustrating an electronic device in accordance with an example embodiment.
FIG. 11 is a block diagram illustrating an electronic device in accordance with another example embodiment.
Detailed Description
In order to make the technical solutions of the present disclosure better understood by those of ordinary skill in the art, the technical solutions in 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 above-described drawings are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the disclosure described herein are capable of operation in sequences other than those illustrated or otherwise described herein. The implementations described in the exemplary embodiments below are not intended to represent all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
It should also be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data for presentation, analyzed data, etc.) referred to in the present disclosure are both information and data that are authorized by the user or sufficiently authorized by various parties.
With the rapid development of broadband network technology and terminal device technology, the transmission of network files is increasingly widespread, and the transmission speed of network files also affects the user experience, for example, when the transmission speed of network video files is too low, the problems of video playing blocking, playing failure and the like are caused. Under the condition of keeping the network architecture and hardware equipment unchanged, the transmission speed can be improved by optimizing the transmission protocol.
In the prior art, the TCP BBR congestion control protocol may measure a network state based on a current available bandwidth detection and RTT (Round-Trip Time) tracking mechanism, and adjust a data sending speed. Specifically, in the TCP BBR congestion control protocol, a sending end of a packet may determine a data amount responded by a receiving end, and a time consumed for responding the data amount, and determine a current bandwidth according to a ratio of the data amount and the time of the response. In the process of TCP connection, the gain coefficient can be continuously adjusted according to the current bandwidth, so that the adjustment of the sending speed is realized.
However, in the process of a network with variable fluctuation, the actual bandwidth in the network does not conform to the detected bandwidth, which brings wrong feedback to the TCP BBR congestion control protocol, resulting in the situation of adjustment lag or adjustment failure of the TCP BBR, and reduces the network transmission efficiency.
Based on this, the present disclosure provides a network transmission method to at least solve the problem of low transmission efficiency through a network in the related art.
The network transmission method provided by the present disclosure may be applied to an application environment as shown in fig. 1, in which a sending end 110 may perform data interaction with a receiving end 120 through a network, the sending end 110 may be a party that sends data to an opposite end, and the receiving end 120 may be a party that receives data from the opposite end. Specifically, the sending end 110 and the receiving end 120 may send data to each other based on a preset network transmission protocol, and in the process of sending data, the sending end 110 may adjust a sending speed of the data according to an occupied bandwidth in a network. The sending end 110 and the receiving end 120 may be at least one of a terminal or a server, the terminal may be but is not limited to various personal computers, notebook computers, smart phones, tablet computers, and portable wearable devices, and the server may be implemented by an independent server or a server cluster formed by a plurality of servers. It can be understood that, when at least one of the terminal or the server performs data interaction through the network, if the terminal or the server is a party that sends data to an opposite end, the terminal or the server may be understood as the sending end 110; if the terminal or server is the party receiving data from the opposite end, the terminal or server can be understood as the receiving end 120.
Fig. 2 is a flowchart illustrating a network transmission method according to an exemplary embodiment, and as shown in fig. 2, the method is described as being applied to the transmitting end 110, and may include the following steps.
In step S210, in the first stage of data transmission, the sending speeds corresponding to multiple round-trip time periods are gradually increased until the occupied bandwidth in the network reaches the preset first bandwidth limit, and the method enters the preset second stage.
As an example, the first stage of data transmission may be an initial stage of data transmission, and the first stage may be a stage when occupied bandwidth from the beginning of data transmission to the sending end reaches a first bandwidth limit, or may be a stage when occupied bandwidth from the beginning of data transmission to the sending end reaches the first bandwidth limit, or may be any one or more time periods.
The data transmission may be a data packet transmission, which may be a data packet corresponding to one or more data carriers, for example a data packet corresponding to a video file, an audio file, a text file or an image file.
The round-trip time period may be the time elapsed from when the sender sends data to when the sender receives an acknowledgement message from the receiver for the data.
The occupied bandwidth may be bandwidth actually used or occupied by the sending end when performing data transmission in the network.
The first bandwidth limit may be the maximum bandwidth that may be used or occupied by the sender 110 in the network.
In practical applications, the sending end 110 may perform data transmission after acquiring a data packet to be transmitted. In the first phase of data transmission, the transmitting end 110 may gradually increase the transmission speed corresponding to a plurality of round trip time periods. Specifically, the transmitting end 110 may increase the transmission speed corresponding to the current round-trip time period before transmitting the data packet to the receiving end, and transmit the data packet to the receiving end 120 at the increased transmission speed in the current round-trip time period.
In the process of increasing the sending speeds corresponding to multiple round-trip time periods, the sending end 110 may determine whether the occupied bandwidth in the current network reaches a preset first bandwidth limit value, and if the occupied bandwidth in the current network does not reach the first bandwidth limit value, may continue to increase the sending speed corresponding to the round-trip time period, until the occupied bandwidth of the sending end 110 in the current network reaches the first bandwidth limit value, may suspend increasing the sending speed corresponding to the round-trip time period, and enter the second stage.
In the first stage, the sending speed corresponding to each round-trip time period is continuously increased until the first bandwidth limit value is reached, so that data transmission can be carried out at high speed without long-time bandwidth detection, and the data can be quickly transmitted when the data just start to be transmitted.
In step S220, in the second stage, the sending speed corresponding to at least one round-trip time period is gradually decreased until the occupied bandwidth in the network reaches the preset second bandwidth limit, and the method enters the preset third stage.
As an example, the second bandwidth limit is less than the first bandwidth limit. The second phase may be a period of time during which the occupied bandwidth is adjusted from the first bandwidth limit to the second bandwidth limit.
In the first stage, the sending end 110 continuously increases the sending speed corresponding to the round-trip time period, so that the bandwidth occupied by the sending end 110 in the network quickly reaches the first bandwidth limit value, and the transmission speed of the data is quickly increased, but there is a case that the data packet transmission is too much due to the fact that the sending speed of the sending end 110 is increased quickly, for example, the sending end 110 quickly sends a large number of data packets, but the sending speed exceeds the upper limit of the receiving capability of the data packet of the receiving end 120 (for example, the upper limit of the number of the data packets that can be received in unit time).
In a specific implementation, after the sending speed corresponding to the round-trip time period is suspended from being increased and the second stage is entered, the sending speed corresponding to at least one round-trip time period may be gradually decreased until the occupied bandwidth in the network reaches the preset second bandwidth limit value, and the third stage may be entered.
Specifically, in the second stage, the occupied bandwidth of the sending end 110 in the network may be adjusted back from the first bandwidth limit to the second bandwidth limit by adjusting the sending speed corresponding to the round-trip time period, and in the adjusting process, the occupied bandwidth may be directly adjusted to the second bandwidth limit or below the second bandwidth limit by one round-trip time period. Alternatively, the adjustment may be performed in a plurality of continuous or discontinuous round-trip time periods, and the corresponding transmission rate may be adjusted to be lower every round-trip time period.
In step S230, in the third stage, a target round-trip time period is determined, the sending speed corresponding to the target round-trip time period is increased or decreased according to a preset probability, and network feedback is obtained, and the sending speed corresponding to the next round-trip time period is adjusted according to the network feedback.
As an example, the third stage may be a data transmission process after the second stage is finished, or may be any one or more time periods in the data transmission process after the second stage is finished.
The occupied bandwidth of the sender 110 in the network may have a certain fluctuation, for example, when network attributes such as network signals and the number of network users change, the occupied bandwidth of the sender 110 will be affected. If the transmission speed is adjusted based on the bandwidth obtained by the probing calculation for the transmitting end 110, the fluctuation in the network may cause the two to be inconsistent.
In practical applications, in the third stage of data transmission, the target round-trip time period may be determined, and the sending speed corresponding to the target round-trip time period may be randomly increased or decreased according to a preset probability, for example, the target round-trip time period is determined to be the round-trip time period of the sending speed to be increased or the round-trip time period of the sending speed to be decreased according to the preset probability. After the determination, an adjustment magnitude may be determined and the transmission speed may be adjusted up or down based on the adjustment magnitude.
After the sending speed corresponding to the target round-trip time period is adjusted, network feedback corresponding to the target round-trip time period after the sending speed is adjusted can be obtained, whether the adjusting mode aiming at the sending speed corresponding to the target round-trip time period is proper or not can be determined according to the network feedback, and then the sending speed corresponding to the next round-trip time period can be adjusted according to the network feedback.
In this disclosure, the sending end 110 may gradually increase sending speeds corresponding to multiple round-trip time periods in a first stage of data transmission until an occupied bandwidth in the network reaches a preset first bandwidth limit, enter a preset second stage, gradually decrease the sending speed corresponding to at least one round-trip time period in the second stage until the occupied bandwidth in the network reaches a preset second bandwidth limit, enter a preset third stage, determine a target round-trip time period according to a preset probability in the third stage, increase or decrease the sending speed corresponding to the target round-trip time period, acquire network feedback, and adjust the sending speed corresponding to a next round-trip time period according to the network feedback. According to the scheme disclosed by the invention, the sending end 110 can randomly adjust the sending speed of the target round-trip time period in advance, determine whether the adjustment is proper or not based on the network feedback, timely acquire the change condition of the current network bandwidth, and then perform adaptive adjustment on the sending speed of the next round-trip time period, so that the problems of measurement lag and failure are effectively reduced, and the network transmission efficiency is improved.
In an exemplary embodiment, as shown in fig. 3, in step S210, successively increasing the sending speeds corresponding to a plurality of round trip time periods in the first phase of data transmission until the occupied bandwidth in the network reaches the first bandwidth limit value may include the following steps:
in step S211, in the first stage of data transmission, the window size of the transmission window corresponding to a plurality of round trip time periods is gradually increased based on a preset increase coefficient to increase the transmission speed corresponding to each of the plurality of round trip time periods.
As an example, the sending window may be the limit of the sequence number queue of the data packets sent by the sending end 110 but not acknowledged by the receiving end 120, the upper and lower bounds are the upper and lower edges of the sending window respectively, and the distance between the upper and lower edges may be referred to as the window size or window size. The window size of the sending window and the sending speed can be positively correlated, and in each round-trip time period, the sending end can send the data packet through the sending window.
In practical applications, a growth coefficient may be preset, and the growth coefficient may be a coefficient greater than 1. In the first stage of data transmission, the window size of the sending window corresponding to multiple round-trip time periods may be successively enlarged based on a preset growth coefficient, and further, the sending speed corresponding to each of the multiple round-trip time periods may be increased by enlarging the window size of the sending window. Specifically, for example, when the window size is enlarged based on a preset enlargement coefficient, if the enlargement coefficient is a, the window size of the sending window corresponding to the current round-trip time period may be enlarged to a times of the window size of the sending window corresponding to the previous round-trip time period. The window size can be rapidly enlarged by increasing the coefficient, and the transmission speed of the transmitter 110 can be rapidly increased for a plurality of round-trip time periods.
In step S212, the occupied bandwidth increase rate for each round trip time period after the transmission speed is increased is determined.
The increase rate of the occupied bandwidth may represent an increase amplitude of the occupied bandwidth corresponding to the corresponding round-trip time period relative to the occupied bandwidth corresponding to the previous round-trip time period.
In particular, in practice, after the sending speed corresponding to each round-trip time period is increased, the occupied bandwidth increase rate corresponding to each round-trip time period after the sending speed is increased can be determined. Specifically, for each round-trip time period, after the sending speed is increased, the occupied bandwidth corresponding to the current round-trip time period may be determined, and the occupied bandwidth corresponding to the previous round-trip time period of the current round-trip time period may be acquired.
In step S213, if the occupied bandwidth increase rate corresponding to a plurality of consecutive round-trip time periods does not exceed the preset increase rate threshold, it is determined that the occupied bandwidth in the network reaches the preset first bandwidth limit.
Wherein, the specific number of the multiple round trip time periods in succession, i.e. the number of the round trip time periods, and the increase rate threshold value, can be set by those skilled in the art according to the actual situation. For example, the multiple TCP connections in the actual network may be recorded and counted to obtain the appropriate growth factor, number of round trip time periods, and growth rate threshold. By adjusting the growth coefficient, the number of round trip time periods, and the growth rate threshold, the first bandwidth limit can be quickly reached when the sender 110 reasonably uses network resources.
After the occupied bandwidth increasing rates corresponding to the multiple round-trip time periods are obtained, whether the occupied bandwidth increasing rates corresponding to the multiple continuous round-trip time periods do not exceed a preset increasing rate threshold value can be judged. If so, determining that the occupied bandwidth in the network reaches a preset first bandwidth limit value; if not, the sending speed corresponding to the round-trip time period can be continuously improved.
Specifically, the occupied bandwidth of the sender 110 in the network may be positively correlated to the bandwidth occupancy, where the bandwidth occupancy may be a ratio between the occupied bandwidth of the sender 110 and the bandwidth of the entire network. When the occupied bandwidth is low, the corresponding bandwidth occupancy rate is also low (for example, the bandwidth occupancy rate is lower than the preset first occupancy rate threshold), at this time, the sending end 110 may increase the data volume sent in unit time by expanding the sending window, and the sending speed is increased, and accordingly, the occupied bandwidth and the bandwidth occupancy rate may be increased, which is reflected in the occupied bandwidth increase rate, that is, the occupied bandwidth increase rate exceeds the preset increase rate threshold. On the contrary, if the occupied bandwidth and the bandwidth occupancy are high (for example, the bandwidth occupancy is higher than or equal to the preset second occupancy threshold, and the second threshold is larger than the first threshold), even if the transmission speed is increased, the increase rate of the occupied bandwidth is slow, and even the occupied bandwidth decreases or becomes negative.
In a network with random fluctuation, there are cases where the network performance is degraded for a certain round trip time period due to the randomness of the network, for example, the increase rate of the occupied bandwidth is reduced for a plurality of discontinuous round trip time periods. In this example, it may be determined whether the occupied bandwidth increase rate corresponding to a plurality of consecutive round-trip time periods does not exceed the preset increase rate threshold, so as to determine whether the increase or decrease of the occupied bandwidth increase rate is caused by network volatility, or whether the current occupied bandwidth reaches the first bandwidth limit value.
In the present disclosure, in a first stage of data transmission, the window size of a sending window corresponding to multiple round-trip time periods may be gradually enlarged based on a preset growth coefficient, so as to increase the sending speed corresponding to each of the multiple round-trip time periods, determine an occupied bandwidth increase rate corresponding to each round-trip time period after the sending speed is increased, and determine that the occupied bandwidth in the network reaches a preset first bandwidth limit value if the occupied bandwidth increase rate corresponding to a plurality of consecutive round-trip time periods does not exceed a preset increase rate threshold value. According to the scheme, the increase of the occupied bandwidth increase rate is slowly judged to be caused by network randomness or reach the first bandwidth limit value, the sending speed can be rapidly increased under the condition that the network fluctuates, and the stability of rapid data transmission is ensured.
In an exemplary embodiment, in step S212, the determining an occupied bandwidth increase rate corresponding to each round trip time period after the transmission speed is increased may include the following steps:
aiming at each round-trip time period, after the sending speed corresponding to the round-trip time period is increased, acquiring the actual occupied bandwidth corresponding to the round-trip time period and acquiring the historical occupied bandwidth corresponding to the previous round-trip time period; and determining the occupied bandwidth increasing rate corresponding to the round-trip time period according to the ratio of the actual bandwidth to the historical bandwidth.
The actual occupied bandwidth is the occupied bandwidth corresponding to the current round-trip time period, and the historical occupied bandwidth is the occupied bandwidth corresponding to the previous round-trip time period of the current round-trip time period.
In practical application, for each round-trip time period, after the sending speed corresponding to the round-trip time period is increased, the actual occupied bandwidth corresponding to the round-trip time period and the historical occupied bandwidth corresponding to the previous round-trip time period can be obtained. After the actual occupied bandwidth and the historical occupied bandwidth are obtained, the actual occupied bandwidth can be divided by the historical occupied bandwidth to obtain a ratio of the actual occupied bandwidth to the historical occupied bandwidth, and then the occupied bandwidth increase rate corresponding to the round-trip time period can be determined according to the ratio.
According to the method and the device, the actual occupied bandwidth corresponding to the current round-trip time period and the historical occupied bandwidth corresponding to the previous round-trip time period can be obtained, the occupied bandwidth increasing rate corresponding to the current round-trip time period is determined according to the ratio of the actual occupied bandwidth to the historical occupied bandwidth, the calculation is simple, and the change condition of the occupied bandwidth after the sending speed is adjusted can be rapidly determined.
In an exemplary embodiment, in step S220, in the second stage, successively turning down the sending speed corresponding to at least one round-trip time period until the occupied bandwidth in the network reaches the preset second bandwidth limit value, the method may include the following steps:
in step S221, in the second stage, for the current round-trip time period, the sending speed corresponding to the current round-trip time period is adjusted to be lower based on a preset reduction coefficient.
As an example, the reduction coefficient may be a coefficient for reducing the round trip time period corresponding to the transmission speed, and specifically, the reduction coefficient may be a coefficient smaller than 1.
In practical applications, the reduction coefficient may be set in advance. In the second stage, for the current round-trip time period, the sending end 110 may adjust the sending speed corresponding to the current round-trip time period to be lower based on a preset reduction coefficient. For example, if the reduction coefficient is b, the window size of the transmission window corresponding to the current round trip time period may be reduced to b times the window size of the transmission window corresponding to the previous round trip time period, thereby achieving reduction of the transmission speed.
In step S222, if it is determined that the occupied bandwidth in the network corresponding to the current round-trip time period after the sending speed is adjusted down is greater than or equal to the preset second bandwidth limit, when the next round-trip time period comes, the next round-trip time period is taken as the current round-trip time period, and the step of adjusting down the sending speed corresponding to the current round-trip time period based on the preset reduction coefficient is performed again until the occupied bandwidth corresponding to the current round-trip time period is less than the second bandwidth limit.
After the sending speed is reduced, whether the occupied bandwidth in the network corresponding to the current round-trip time period after the sending speed is reduced is greater than or equal to a preset second bandwidth limit value or not can be determined. When the occupied bandwidth is determined to be greater than or equal to the preset second bandwidth limit value, when the next round-trip time period comes, the next round-trip time period is determined to be the current round-trip time period, the step of reducing the sending speed corresponding to the current round-trip time period based on the preset reduction coefficient is executed again, whether the occupied bandwidth in the network corresponding to the current round-trip time period after the sending speed is reduced is judged, and the steps are repeated until the occupied bandwidth is smaller than the second bandwidth limit value.
Specifically, in the first stage, since the transmitting end continuously increases the transmitting speed, the transmitting speed may exceed the upper limit of the reception-interruption receiving speed, and at this time, the transmitting speed may be decreased through the above steps, so that the transmitting speed of the transmitting end 110 is more matched with the receiving speed of the receiving end 120.
In this disclosure, in the second stage, the sending end 110 may decrease the sending speed corresponding to the current round-trip time period based on a preset first reduction coefficient, and if it is determined that the occupied bandwidth in the network corresponding to the current round-trip time period after the sending speed is decreased is greater than or equal to a preset second bandwidth limit, when the next round-trip time period comes, the next round-trip time period may be used as the current round-trip time period, and the step of decreasing the sending speed corresponding to the current round-trip time period based on the preset first reduction coefficient may be executed again until the occupied bandwidth corresponding to the current round-trip time period is smaller than the second bandwidth limit, so that the first bandwidth limit that is rapidly increased in the first stage may be reduced, and excessive data packets are prevented from being continuously sent to the receiving end 120 by the sending end 110.
In an exemplary embodiment, before the step of gradually decreasing the sending speed corresponding to at least one round-trip time period in the second stage until the occupied bandwidth in the network reaches the preset second bandwidth limit value, the method further includes the following steps:
acquiring a preset callback coefficient and the first bandwidth limit value; and determining the second bandwidth limit value according to the product of the callback coefficient and the first bandwidth limit value.
Wherein, the callback coefficient can represent the reduction range of the first bandwidth limit value for callback;
in a specific implementation, a preset callback coefficient may be obtained, after the first stage is finished, the callback coefficient and the first bandwidth limit value may be obtained, and the second bandwidth limit value may be determined according to a product of the callback coefficient and the first bandwidth limit value.
In this disclosure, the sending end 110 may obtain a preset callback coefficient and a first bandwidth limit, determine a second bandwidth limit according to a product of the callback coefficient and the first bandwidth limit, and may determine an adjustment range of the first bandwidth limit to obtain the second bandwidth limit as an adjustment target.
In an example, a person skilled in the art may adjust the callback coefficient and the reduction coefficient according to actual conditions, and by adjusting the callback coefficient and the reduction coefficient, the total reduction amplitude of the callback to the first bandwidth limit value and the amplitude of the sending speed of each time of the callback can be controlled, so that the network load detection can be reduced, and a balance point of an ideal available bandwidth can be maintained.
In an exemplary embodiment, as shown in fig. 3, in step S230, in the third stage, determining a target round trip time period, and increasing or decreasing a sending speed corresponding to the target round trip time period according to a preset probability may include the following steps:
in step S231, in the third stage, a target round-trip time period is determined, and an adjustment direction of the transmission speed corresponding to the target round-trip time period is determined according to a preset probability.
As an example, the preset probabilities may include a probability Pa of turning up the transmission speed and a probability Pb of turning down the transmission speed. The target round trip time period may be a round trip time period for which the sending speed is to be adjusted. The adjustment direction of the transmission speed may include adjusting the transmission speed up or adjusting the transmission speed down.
In a specific implementation, in the third stage of data transmission, the target round-trip time period may be determined, and then, after the target round-trip time period is determined, the adjustment direction of the sending speed of the target round-trip time period may be determined according to a preset probability.
In determining the target round trip time period, it may be determined based on a predetermined probability, for example, a probability Pc of maintaining the current transmission speed and a probability Pd of adjusting the transmission speed may be set, and it may be determined whether the current round trip time period is the target round trip time period according to the probabilities Pc and Pd.
Or, the target round-trip time period of the sending speed to be adjusted may be determined according to a preset time interval or a preset round-trip time period interval. The skilled person can select the choice according to the actual situation.
In one example, a probability Pa of increasing the transmission speed, a probability Pb of decreasing the transmission speed, and a probability Pc of maintaining the current transmission speed may be set in advance, and the sum of the probability Pa, the probability Pb, and the probability Pc may be equal to 1, and it may be determined whether the current round trip time period is the target round trip time period and the transmission speed adjustment direction corresponding thereto based on the probability Pa, the probability Pb, and the probability Pc.
In step S232, a random number corresponding to the adjustment direction is acquired.
The random number may be a positive number or a negative number within a preset range, the positive number may indicate an amplitude of the target round-trip time period corresponding to the transmission speed, and the negative number may indicate an amplitude of the target round-trip time period corresponding to the transmission speed.
The preset range may be an adjustment range of the transmission speed, and in practical applications, the transmission speed may be adjusted to be higher and lower, and may have the same or different preset ranges.
After the adjustment direction corresponding to the target round-trip time period is determined, a random number corresponding to the adjustment direction may be obtained. Specifically, if the target round-trip time period is determined to be the round-trip time period of the transmission speed to be increased according to the preset probability, a positive number can be randomly generated within a preset range for increasing the transmission speed; if the target round-trip time period is determined to be the round-trip time period of the transmission speed to be adjusted down, a negative number can be randomly generated within a preset range aiming at the adjustment down of the transmission speed.
In step S233, the transmission rate corresponding to the target round-trip time period is adjusted based on the random number.
After generating the random number, the transmitting end 110 may adjust the transmission speed corresponding to the target round-trip time period according to the random number. Specifically, for example, when the random number is a positive number, the sending speed corresponding to the target round-trip time period may be increased according to the adjustment amplitude corresponding to the positive number; when the random number is a negative number, the sending speed corresponding to the target round-trip time period can be reduced according to the adjustment amplitude corresponding to the negative number.
In the present disclosure, the sending end 110 may determine a target round-trip time period in a third stage of data transmission, determine an adjustment direction of the sending speed corresponding to the target round-trip time period according to a preset probability, obtain a random number corresponding to the adjustment direction, and adjust the sending speed corresponding to the target round-trip time period according to the random number, so as to randomly adjust the sending speed of the target round-trip time period in advance, so that the occupied bandwidth of the sending end 110 fluctuates up and down within a range of an actually available bandwidth in a network, thereby effectively reducing redundancy in the network, and when a network condition fluctuates randomly, the sending speed can be randomly adjusted, thereby avoiding problems of measurement delay and failure. And by randomly adjusting the sending speed and adjusting the sending speed of the next round-trip time period according to network feedback, the network bandwidth can be more effectively contended and the stalling problem can be avoided when other TCP algorithms exist in the network.
In an exemplary embodiment, after determining the target round-trip time period, the sending speed may also be adjusted according to a preset increase amplitude or decrease amplitude, where the increase amplitude may be greater than 1, and the decrease amplitude may be greater than 0 and less than 1.
For example, for a target round-trip time period of which the transmission speed is to be increased, the transmission speed corresponding to the target round-trip time period may be increased to be Qa times of the transmission speed of the previous round-trip time period, so as to obtain the transmission speed corresponding to the target round-trip time period; for a target round-trip time period for which the transmission speed is to be adjusted lower, the transmission speed corresponding to the target round-trip time period may be reduced to Qb times the transmission speed of the previous round-trip time period.
In an exemplary embodiment, in step S230, the adjusting the sending speed corresponding to the next round-trip time period according to the network feedback may include the following steps:
if the network feedback is positive feedback, taking the sending speed of the target round-trip time period as the sending speed corresponding to the next round-trip time period; and if the network feedback is negative feedback, taking the sending speed of the previous round-trip time period corresponding to the target round-trip time period as the sending speed corresponding to the next round-trip time period.
As an example, the positive feedback may represent that the occupied bandwidth of the target round-trip time period is increased relative to the reference occupied bandwidth corresponding to the previous round-trip time period; the negative feedback may characterize a decrease in occupied bandwidth for a target round-trip time period relative to a reference occupied bandwidth corresponding to a previous round-trip time period.
In a specific implementation, after obtaining the network feedback, a feedback type of the network feedback may be determined, and if the network feedback is positive feedback, that is, if the transmission speed corresponding to the target round-trip time period is randomly increased or decreased, so that the occupied bandwidth corresponding to the target round-trip time period is increased relative to the reference occupied bandwidth corresponding to the previous round-trip time period, it may be determined that an adjustment manner for the transmission speed of the target round-trip time period matches the current condition of the network, the transmission speed of the target round-trip time period may be used as the transmission speed corresponding to the next round-trip time period, and the adjusted transmission speed is kept unchanged in the next round-trip time period.
If the network feedback is negative feedback, that is, the transmission speed corresponding to the target round-trip time period is randomly increased or decreased, so that the occupied bandwidth corresponding to the target round-trip time period is reduced relative to the reference occupied bandwidth corresponding to the previous round-trip time period, it can be determined that the adjustment mode for the transmission speed of the target round-trip time period is not matched with the current condition of the network, and the transmission speed of the previous round-trip time period corresponding to the target round-trip time period can be used as the transmission speed corresponding to the next round-trip time period, so as to realize the recovery of the transmission speed.
Specifically, for example, after the sending speed corresponding to the target round-trip time period is increased, if the obtained network feedback is positive feedback, it may be determined that the vacant bandwidth in the current network is successfully utilized by increasing the sending speed, and therefore the sending speed of the target round-trip time period may be used as the sending speed of the next round-trip time period. If the obtained network feedback is negative feedback, it is determined that the current network does not have redundant bandwidth to use, and increasing the sending speed hardly brings obvious increase of occupied bandwidth, and the sending speed can be reduced to the sending speed before the increase and used as the sending speed of the next round-trip time period.
For another example, after the sending speed corresponding to the target round-trip time period is reduced, if the obtained network feedback is positive feedback, it may be determined that redundancy exists in the current network, and by reducing the back-off caused by the sending speed, the occupied bandwidth of the sending end 110 may be successfully increased, and the redundancy may be effectively reduced, so that the sending speed of the target round-trip time period may be used as the sending speed of the next round-trip time period. If the obtained network feedback is negative feedback, it is determined that the bandwidth in the network is not fully utilized due to the reduction of the transmission speed, and the transmission speed can be reduced to the transmission speed before the adjustment and used as the transmission speed of the next round-trip time period.
In the present disclosure, if the network feedback is positive feedback, the sending speed of the target round-trip time period may be used as the sending speed corresponding to the next round-trip time period, and if the network feedback is negative feedback, the sending speed of the previous round-trip time period corresponding to the target round-trip time period may be used as the sending speed corresponding to the next round-trip time period, so that the sending speed of the next round-trip time period may be adjusted according to the network feedback, and the change condition of the current network bandwidth may be obtained in time, thereby effectively avoiding the problems of measurement delay and failure.
In an exemplary embodiment, before the step of obtaining the network feedback, the method may further include:
determining the historical occupied bandwidth corresponding to the previous round-trip time period of the target round-trip time period; if the sending speed corresponding to the target round-trip time period is increased, obtaining a reference occupied bandwidth corresponding to the previous round-trip time period according to the product of a preset target increase threshold and the historical occupied bandwidth corresponding to the previous round-trip time period; and if the sending speed corresponding to the target round-trip time period is adjusted to be low, obtaining the reference occupied bandwidth corresponding to the previous round-trip time period according to the product of a preset target reduction threshold and the historical occupied bandwidth corresponding to the previous round-trip time period.
In practical applications, a target increase threshold and a target decrease threshold may be set in advance. After the sending speed corresponding to the target round-trip time period is randomly adjusted, the historical occupied bandwidth corresponding to the last round-trip time period of the target round-trip time period can be determined. If the sending speed corresponding to the target round-trip time period is increased, the reference occupied bandwidth corresponding to the previous round-trip time period can be obtained according to the product of the target increase threshold and the historical occupied bandwidth corresponding to the previous round-trip time period. If the sending speed corresponding to the target round-trip time period is adjusted to be low, the reference occupied bandwidth corresponding to the previous round-trip time period can be obtained according to the product of the target reduction threshold and the historical occupied bandwidth corresponding to the previous round-trip time period.
According to the method, the reference occupied bandwidth corresponding to the previous round-trip time period is obtained according to the product of the preset target increase threshold and the historical occupied bandwidth corresponding to the previous round-trip time period, or the reference occupied bandwidth corresponding to the previous round-trip time period is obtained according to the product of the preset target decrease threshold and the historical occupied bandwidth corresponding to the previous round-trip time period, the reference occupied bandwidth matched with the previous round-trip time period can be obtained, in a network with fluctuation, the situation that only the occupied bandwidths corresponding to the target round-trip time period and the previous round-trip time period are compared independently is avoided, and the accuracy and the reliability of network feedback results are effectively improved.
In an exemplary embodiment, in step S230, the obtaining of the network feedback may include the following steps:
acquiring occupied bandwidth corresponding to the target round-trip time period; if the occupied bandwidth corresponding to the target round-trip time period is smaller than the reference occupied bandwidth generated in advance, determining that the network feedback is negative feedback; and if the current bandwidth corresponding to the target round-trip time period is greater than or equal to the reference occupied bandwidth, determining that the network feedback is positive feedback.
In a specific implementation, after the sending speed corresponding to the target round-trip time period is increased or decreased, the occupied bandwidth corresponding to the target round-trip time period may be obtained, and the occupied bandwidth may be compared with a reference occupied bandwidth that is generated in advance and corresponds to the previous round-trip time period. If the occupied bandwidth corresponding to the target round-trip time period is smaller than the reference occupied bandwidth, the network feedback can be determined to be negative feedback; if the current bandwidth corresponding to the target round-trip time period is greater than or equal to the reference occupied bandwidth, it may be determined that the network feedback is positive feedback.
In the present disclosure, by comparing the occupied bandwidth corresponding to the target round-trip time period with the reference occupied bandwidth corresponding to the previous round-trip time period, the network feedback after the sending speed is randomly increased or decreased can be obtained, and a reference is provided for determining the sending speed adjustment mode corresponding to the next round-trip time period.
In order to enable those skilled in the art to better understand the above steps, the embodiments of the present disclosure are illustrated below by way of an example, but it should be understood that the embodiments of the present disclosure are not limited thereto.
In an exemplary embodiment, the sending end 110 may perform data interaction with the receiving end 120 through a Transmission Control Protocol (TCP), and when the network Transmission method disclosed by the present disclosure is applied to a data Transmission process of a TCP Protocol, the method may also be referred to as a TCP congestion Control method.
As shown in fig. 4, in the present example, three phases of a fast start phase, a bandwidth recovery phase and a stable transmission phase may be included, and the three phases may correspond to a first phase, a second phase and a third phase in the present disclosure, respectively.
In the fast start phase, the sender 110 may perform trace detection on the sending speed of data and the occupied bandwidth in the network according to a preset detection period. The sending end 110 may increase the sending speed according to a preset increase coefficient a for each round trip time period, specifically, for each round trip time period, for example, a sending window corresponding to the round trip time period may be expanded to a time a of a sending window corresponding to the previous round trip time period.
After the sending speed is increased, the occupied bandwidth corresponding to the current round-trip time period after the sending speed is increased can be obtained, and the occupied bandwidth is divided by the occupied bandwidth corresponding to the previous round-trip time period to obtain the corresponding occupied bandwidth increasing rate. If the increase rate of the occupied bandwidth corresponding to a plurality of consecutive round-trip time periods does not exceed the preset increase rate threshold, it may be determined that the bandwidth occupancy corresponding to the occupied bandwidth in the current network has reached the limit, and the bandwidth has reached the upper limit (corresponding to the first bandwidth limit in the present disclosure).
After the bandwidth reaches the upper limit, the quick start phase can be stopped, and the bandwidth recovery phase is entered. In the bandwidth recovery stage, a preset callback coefficient and a reduction coefficient may be obtained, and a second bandwidth limit value is determined according to a product of the callback coefficient and the first bandwidth limit value. After the second bandwidth limit is determined, the sending speed can be reduced gradually by adopting a reduction coefficient, and whether the current bandwidth is stable is determined by judging whether the occupied bandwidth corresponding to the round-trip time period is smaller than the second bandwidth limit. And when the occupied bandwidth corresponding to the round-trip time period is smaller than the second bandwidth limit value, stopping the bandwidth recovery stage, and further stabilizing the transmission stage.
In the stable transmission stage, a target round-trip time period can be determined according to a preset probability, and the sending speed of the target round-trip time period is randomly adjusted.
Fig. 5 is a flowchart illustrating a network transmission method according to an exemplary embodiment, and as shown in fig. 5, the method is described as being applied to the transmitting end 110, and may include the following steps.
In step S310, in the initial stage of data transmission, the transmission speeds corresponding to a plurality of round trip time periods are gradually increased based on a preset increase coefficient.
As an example, the initial stage of data transmission may be a stage when the occupied bandwidth from the beginning of data transmission to the sending end reaches the first bandwidth limit, or any one or more time periods. In an example, the data transmission process in the present disclosure may be the first stage in the network transmission method.
In practical applications, after acquiring a data packet to be transmitted, the transmitting end 110 may enter an initial stage of data transmission to start data transmission. In an initial stage of data transmission, the transmitting end 110 may gradually increase the transmitting speed corresponding to multiple round-trip time periods based on a preset increase coefficient. Specifically, the transmitting end 110 may increase the transmission speed corresponding to the current round-trip time period before transmitting the data packet to the receiving end, and transmit the data packet to the receiving end 120 at the increased transmission speed in the current round-trip time period.
In step S320, if it is determined that the occupied bandwidths corresponding to the round trip time periods after the transmission speed is increased reach the preset first bandwidth limit, the increase of the transmission speed corresponding to the next round trip time period is stopped.
After the sending speeds corresponding to the multiple round-trip time periods are successively increased, whether the occupied bandwidth in the current network reaches a preset first bandwidth limit value or not can be determined according to the occupied bandwidths corresponding to the multiple round-trip time periods. If the occupied bandwidth in the current network does not reach the first bandwidth limit value, the sending speed corresponding to the round-trip time period can be continuously increased based on a preset increasing coefficient. If the occupied bandwidth is determined to reach the first bandwidth limit value, the sending speed corresponding to the round-trip time period can be temporarily stopped to be increased.
In this disclosure, in an initial stage of data transmission, the sending speeds corresponding to multiple round-trip time periods are successively increased based on a preset increase coefficient, and if it is determined that occupied bandwidths corresponding to the multiple round-trip time periods after the sending speed is increased reach a preset first bandwidth limit value, the increasing of the sending speed corresponding to a next round-trip time period may be stopped. According to the scheme, the sending speed corresponding to each round-trip time period is continuously improved until the first bandwidth limit value is reached, data transmission can be carried out at a high speed without long-time bandwidth detection, and compared with a mode that a traditional TCP BBR congestion control protocol can enter a stable transmission stage only after a period of detection, when data just starts to be transmitted, the data can be rapidly transmitted, and the data transmission time is shortened.
In the network transmission method in the present disclosure, reference may be made to the description about the first stage in the network transmission method, which is not described in detail in this embodiment.
Fig. 6 is a flowchart illustrating a network transmission method according to an exemplary embodiment, and as shown in fig. 6, the method is described as being applied to the transmitting end 110, and may include the following steps.
In step S410, in the data transmission process, a target round-trip time period is determined, and an adjustment direction of the transmission speed corresponding to the target round-trip time period is determined according to a preset probability.
As an example, the data transmission process may be a process from the beginning of data transmission to the end of data transmission, or may be any one or more time periods from the beginning of data transmission to the end of data transmission.
The preset probabilities may include a probability Pa of turning up the transmission speed and a probability Pb of turning down the transmission speed. The target round trip time period may be a round trip time period of the transmission speed to be adjusted. The adjustment direction of the transmission speed may include adjusting the transmission speed up or adjusting the transmission speed down.
In a specific implementation, in a data transmission process, whether a current round-trip time period is a target round-trip time period or not can be determined, and then, after the target round-trip time period is determined, an adjustment direction of a sending speed of the target round-trip time period can be determined according to a preset probability.
In determining the target round trip time period, it may be determined based on a predetermined probability, for example, a probability Pc of maintaining the current transmission speed and a probability Pd of adjusting the transmission speed may be set, and it may be determined whether the current round trip time period is the target round trip time period according to the probabilities Pc and Pd.
Or, the target round-trip time period of the sending speed to be adjusted may be determined according to a preset time interval or a preset round-trip time period interval. The skilled person can select the choice according to the actual situation.
In step S420, a random number corresponding to the adjustment direction is acquired.
The random number may be a positive number or a negative number, the positive number may indicate that the transmission speed corresponding to the target round trip time period is increased, and the negative number may indicate that the transmission speed corresponding to the target round trip time period is decreased.
The preset range may be an adjustment range of the transmission speed, and in practical applications, the transmission speed may be adjusted to be higher and lower, and may have the same or different preset ranges.
After the target round-trip time period and the corresponding adjustment direction are determined, a random number can be generated within a preset range. Specifically, if the target round-trip time period is determined to be the round-trip time period of the transmission speed to be increased according to the preset probability, a positive number can be randomly generated within a preset range for increasing the transmission speed; if the target round-trip time period is determined to be the round-trip time period of the transmission speed to be adjusted down, a negative number can be randomly generated within a preset range aiming at the adjustment down of the transmission speed.
In step S430, the sending speed corresponding to the target round-trip time period is adjusted according to the random number, and network feedback is obtained.
After generating the random number, the transmitting end 110 may adjust the transmission speed corresponding to the target round-trip time period according to the random number. Specifically, for example, when the random number is a positive number, the sending speed corresponding to the target round-trip time period may be increased according to the adjustment amplitude corresponding to the positive number; when the random number is a negative number, the sending speed corresponding to the target round-trip time period can be reduced according to the adjustment amplitude corresponding to the negative number. After the sending speed corresponding to the target round-trip time period is adjusted, the network feedback corresponding to the target round-trip time period after the sending speed is adjusted can be obtained.
In step S440, the sending speed corresponding to the next round-trip time period is adjusted according to the network feedback.
In a specific implementation, the influence caused by adjusting the sending speed can be determined through network feedback, for example, it is determined that increasing the sending speed can cause a positive influence or a negative influence. After obtaining the network feedback corresponding to the target round-trip time period, the sending end 110 may adjust the sending speed corresponding to the next round-trip time period according to the network feedback, so as to adaptively adjust the sending speed. In the present disclosure, the sending end 110 may determine, according to a preset probability, whether a current round-trip time period is a target round-trip time period in a data transmission process, if it is determined that the current round-trip time period is the target round-trip time period, a random number within a preset range may be generated, a sending speed corresponding to the target round-trip time period may be adjusted according to the random number, and network feedback may be obtained, and then a sending speed corresponding to a next round-trip time period may be adjusted according to the network feedback, so that the sending speed of the target round-trip time period may be randomly adjusted in advance, so that an occupied bandwidth of the sending end 110 may fluctuate within a range of an actually available bandwidth in a network, thereby effectively reducing redundancy in the network, and when a network condition randomly fluctuates, the sending speed may be randomly adjusted, thereby avoiding problems of measurement lag and failure.
In an exemplary embodiment, after determining the target round-trip time period, the sending speed may also be adjusted according to a preset increase amplitude or decrease amplitude, where the increase amplitude may be greater than 1, and the decrease amplitude may be greater than 0 and less than 1.
For example, for a target round-trip time period of which the transmission speed is to be increased, the transmission speed corresponding to the target round-trip time period may be increased to be Qa times of the transmission speed of the previous round-trip time period, so as to obtain the transmission speed corresponding to the target round-trip time period; for a target round-trip time period for which the transmission speed is to be adjusted lower, the transmission speed corresponding to the target round-trip time period may be reduced to Qb times the transmission speed of the previous round-trip time period.
In an exemplary embodiment, after the step of adjusting the sending speed corresponding to the target round trip time period according to the random number, the method may further include the steps of:
acquiring network feedback, and if the network feedback is positive feedback, taking the sending speed of the target round-trip time period as the sending speed corresponding to the next round-trip time period; and if the network feedback is negative feedback, taking the sending speed of the previous round-trip time period corresponding to the target round-trip time period as the sending speed corresponding to the next round-trip time period.
As an example, the positive feedback may represent that the occupied bandwidth of the target round-trip time period is increased relative to the reference occupied bandwidth corresponding to the previous round-trip time period; the negative feedback may characterize a decrease in occupied bandwidth for a target round-trip time period relative to a reference occupied bandwidth corresponding to a previous round-trip time period.
In a specific implementation, after the network feedback is obtained, a feedback type of the network feedback may be determined, and if the network feedback is positive feedback, it may be determined that an adjustment manner for the transmission speed of the target round-trip time period matches the current state of the network, and the transmission speed of the target round-trip time period may be used as the transmission speed corresponding to the next round-trip time period.
If the network feedback is negative feedback, it may be determined that the adjustment manner for the transmission speed of the target round-trip time period does not match the current state of the network, and the transmission speed of the previous round-trip time period corresponding to the target round-trip time period may be used as the transmission speed corresponding to the next round-trip time period, so as to implement the recovery of the transmission speed.
In the present disclosure, if the network feedback is positive feedback, the sending speed of the target round-trip time period may be used as the sending speed corresponding to the next round-trip time period, and if the network feedback is negative feedback, the sending speed of the previous round-trip time period corresponding to the target round-trip time period may be used as the sending speed corresponding to the next round-trip time period, so that the sending speed of the next round-trip time period may be adjusted according to the network feedback, and the change condition of the current network bandwidth may be obtained in time, thereby effectively avoiding the problems of measurement delay and failure.
In the network transmission method in the present disclosure, reference may be made to the description of the third stage in the network transmission method, which is not described in detail in this embodiment.
It should be understood that although the various steps in the flow charts of fig. 2-6 are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least some of the steps in fig. 2-6 may include multiple steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, which are not necessarily performed in sequence, but may be performed in turn or alternately with other steps or at least some of the other steps.
Fig. 7 is a block diagram illustrating a network transmission device according to an example embodiment. Referring to fig. 7, the apparatus includes a transmission rate increasing unit 701, a transmission rate decreasing unit 702, and a transmission rate random adjusting unit 703.
A sending speed increasing unit 701 configured to execute, in a first stage of data transmission, gradually increasing sending speeds corresponding to a plurality of round-trip time periods until an occupied bandwidth in a network reaches a preset first bandwidth limit value, and entering a preset second stage;
a sending speed reduction unit 702, configured to execute, in the second stage, gradually reducing a sending speed corresponding to at least one round-trip time period until an occupied bandwidth in the network reaches a preset second bandwidth limit value, and entering a preset third stage; the second bandwidth limit is less than the first bandwidth limit;
a sending speed random adjusting unit 703 configured to execute the third stage, determine a target round-trip time period, increase or decrease a sending speed corresponding to the target round-trip time period according to a preset probability, acquire a network feedback, and adjust a sending speed corresponding to a next round-trip time period according to the network feedback.
In an exemplary embodiment, the transmission speed increasing unit 701 includes:
a sending window adjusting module configured to perform, in a first stage of data transmission, successively expanding window sizes of sending windows corresponding to a plurality of round-trip time periods based on a preset growth coefficient to increase sending speeds corresponding to the plurality of round-trip time periods;
an occupied bandwidth increase rate determination module configured to perform determining an occupied bandwidth increase rate corresponding to each round trip time period after the transmission speed is increased; the occupied bandwidth increasing rate represents the increasing amplitude of the occupied bandwidth corresponding to the round-trip time period relative to the occupied bandwidth of the previous round-trip time period;
and the increase rate threshold comparison module is configured to execute the step of determining that the occupied bandwidth in the network reaches a preset first bandwidth limit value if the occupied bandwidth increase rate corresponding to a plurality of continuous round-trip time periods does not exceed a preset increase rate threshold.
In an exemplary embodiment, the occupied bandwidth increase rate determining module includes:
the actual occupied bandwidth acquiring module is configured to execute, aiming at each round-trip time period, acquiring actual occupied bandwidth corresponding to the round-trip time period after the sending speed corresponding to the round-trip time period is increased, and acquiring historical occupied bandwidth corresponding to the previous round-trip time period;
and the ratio determining module is configured to determine the occupied bandwidth increasing rate corresponding to the round-trip time period according to the ratio of the actual bandwidth to the historical bandwidth.
In an exemplary embodiment, the transmission speed reduction unit 702 includes:
a sending speed lowering module configured to perform lowering of a sending speed corresponding to a current round-trip time period based on a preset lowering coefficient for the current round-trip time period in the second stage;
and the occupied bandwidth comparison module is configured to execute the step of taking the next round-trip time period as the current round-trip time period when the next round-trip time period comes if the occupied bandwidth in the network corresponding to the current round-trip time period after the sending speed is determined to be reduced is larger than or equal to a preset second bandwidth limit value, and reducing the sending speed corresponding to the current round-trip time period based on the preset reduction coefficient until the occupied bandwidth corresponding to the current round-trip time period is smaller than the second bandwidth limit value.
In an exemplary embodiment, the apparatus further comprises:
the callback coefficient acquisition unit is configured to acquire a preset callback coefficient and the first bandwidth limit; the callback coefficient represents the reduction range of the first bandwidth limit value for callback;
a second bandwidth limit determination unit configured to perform determining the second bandwidth limit according to a product of the callback coefficient and the first bandwidth limit.
In an exemplary embodiment, the transmission speed random adjustment unit 703 includes:
a target period determining module configured to determine a target round-trip time period in the third stage, and determine an adjustment direction of the transmission speed corresponding to the target round-trip time period according to a preset probability;
a random number generation module configured to perform acquiring a random number corresponding to the adjustment direction; the random number is a positive number or a negative number in a preset range, the positive number indicates the increasing amplitude of the target round-trip time period corresponding to the sending speed, and the negative number indicates the decreasing amplitude of the target round-trip time period corresponding to the sending speed;
and the sending speed adjusting module is configured to adjust the sending speed corresponding to the target round-trip time period according to the random number.
In an exemplary embodiment, the transmission speed random adjustment unit 703 further includes:
a speed updating module configured to execute, if the network feedback is positive feedback, taking the sending speed of the target round-trip time period as a sending speed corresponding to a next round-trip time period; the positive feedback represents that the occupied bandwidth of the target round-trip time period is increased relative to the reference occupied bandwidth corresponding to the previous round-trip time period;
a speed maintaining module configured to perform, if the network feedback is negative feedback, taking a sending speed of a previous round-trip time period corresponding to the target round-trip time period as a sending speed corresponding to a next round-trip time period; and the negative feedback represents that the occupied bandwidth of the target round-trip time period is reduced relative to the reference occupied bandwidth corresponding to the previous round-trip time period.
Fig. 8 is a block diagram illustrating a network transmission device according to an example embodiment. Referring to fig. 8, the apparatus includes a transmission speed increasing unit 801 and a pause increasing unit 802.
A transmission speed increasing unit 801 configured to perform successive increase of transmission speeds corresponding to a plurality of round trip time periods based on a preset increase coefficient at an initial stage of data transmission;
a pause increasing unit 802 configured to stop increasing the transmission speed corresponding to the next round-trip time period if it is determined that the occupied bandwidths corresponding to the round-trip time periods after the transmission speed is increased reach the preset first bandwidth limit.
Fig. 9 is a block diagram illustrating a network transmission device according to an example embodiment. Referring to fig. 9, the apparatus includes a target period acquisition unit 901, a random update unit 902, a network feedback acquisition unit 903, and a transmission speed change unit 904.
A target period obtaining unit 901, configured to determine a target round-trip time period during data transmission, and determine an adjustment direction of a sending speed corresponding to the target round-trip time period according to a preset probability;
a random updating unit 902 configured to perform acquiring a random number corresponding to the adjustment direction; the random number is a positive number or a negative number within a preset range, the positive number indicates the increasing amplitude of the target round-trip time period corresponding to the sending speed, and the negative number indicates the decreasing amplitude of the target round-trip time period corresponding to the sending speed;
a network feedback obtaining unit 903, configured to perform adjusting, according to the random number, a sending speed corresponding to the target round-trip time period, and obtain a network feedback;
a sending speed modification unit 904 configured to perform adjusting a sending speed corresponding to a next round trip time period according to the network feedback.
With regard to the apparatus in the above-described embodiment, the specific manner in which each module performs the operation has been described in detail in the embodiment related to the method, and will not be elaborated here.
Fig. 10 is a block diagram illustrating an apparatus 1000 for performing a network transmission method according to an example embodiment. For example, the device 1000 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a gaming console, a tablet device, a medical device, an exercise device, a personal digital assistant, and so forth.
Referring to fig. 10, device 1000 may include one or more of the following components: processing component 1002, memory 1004, power component 1006, multimedia component 1008, audio component 1010, interface to input/output (I/O) 1012, sensor component 1014, and communications component 1016.
The processing component 1002 generally controls the overall operation of the device 1000, such as operations associated with display, telephone calls, data communications, camera operations, and recording operations. The processing components 1002 may include one or more processors 1020 to execute instructions to perform all or a portion of the steps of the methods described above. Further, processing component 1002 may include one or more modules that facilitate interaction between processing component 1002 and other components. For example, the processing component 1002 may include a multimedia module to facilitate interaction between the multimedia component 1008 and the processing component 1002.
The memory 1004 is configured to store various types of data to support operation at the device 1000. Examples of such data include instructions for any application or method operating on device 1000, contact data, phonebook data, messages, pictures, videos, and so forth. The memory 1004 may be implemented by any type or combination of volatile or non-volatile storage devices, such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disks.
The power supply component 1006 provides power to the various components of the device 1000. The power components 1006 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the device 1000.
The multimedia component 1008 includes a screen that provides an output interface between the device 1000 and a user. In some embodiments, the screen may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive an input signal from a user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 1008 includes a front facing camera and/or a rear facing camera. The front camera and/or the rear camera may receive external multimedia data when the device 1000 is in an operating mode, such as a shooting mode or a video mode. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
The audio component 1010 is configured to output and/or input audio signals. For example, the audio component 1010 may include a Microphone (MIC) configured to receive external audio signals when the device 1000 is in an operational mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signal may further be stored in the memory 1004 or transmitted via the communication component 1016. In some embodiments, audio component 1010 also includes a speaker for outputting audio signals.
I/O interface 1012 provides an interface between processing component 1002 and peripheral interface modules, which may be keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to: a home button, a volume button, a start button, and a lock button.
The sensor assembly 1014 includes one or more sensors for providing status assessment of various aspects of the device 1000. For example, sensor assembly 1014 may detect the open/closed status of device 1000, the relative positioning of components, such as a display and keypad of device 1000, the change in position of device 1000 or a component of device 1000, the presence or absence of user contact with device 1000, the orientation or acceleration/deceleration of device 1000, and the change in temperature of device 1000. The sensor assembly 1014 may include a proximity sensor configured to detect the presence of a nearby object without any physical contact. The sensor assembly 1014 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 1014 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
In an exemplary embodiment, the device 1000 may be implemented by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), controllers, micro-controllers, microprocessors or other electronic components for performing the above-described methods.
In an exemplary embodiment, a computer-readable storage medium comprising instructions, such as the memory 1004 comprising instructions, executable by the processor 1020 of the device 1000 to perform the above-described method is also provided. For example, the computer readable storage medium may be a ROM, a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
In an exemplary embodiment, there is also provided a computer program product comprising computer programs/instructions which, when executed by a processor, implement the above-described method.
Fig. 11 is a block diagram illustrating an apparatus 1100 for performing a network transmission method according to an example embodiment. For example, device 1100 can be a server. Referring to fig. 11, device 1100 includes a processing component 1120 that further includes one or more processors, and memory resources, represented by memory 1122, for storing instructions, e.g., applications, that are executable by processing component 1120. The application programs stored in memory 1122 may include one or more modules that each correspond to a set of instructions. Further, the processing component 1120 is configured to execute instructions to perform the network transmission method described above.
The device 1100 may also include a power component 1124 configured to perform power management of the device 1100, a wired or wireless network interface 1126 configured to connect the device 1100 to a network, and an input/output (I/O) interface 1128. The device 1100 may operate based on an operating system stored in memory 1122 such as Window 1111 over, Mac O11X, Unix, Linux, FreeB11D, or the like.
In an exemplary embodiment, a computer-readable storage medium comprising instructions, such as memory 1122 comprising instructions, executable by a processor of device 1100 to perform the above-described method is also provided. The storage medium may be a computer-readable storage medium, which may be, for example, a ROM, a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
In an exemplary embodiment, there is also provided a computer program product comprising computer programs/instructions which, when executed by a processor, implement the above-described method.
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 variations, uses, or adaptations of the disclosure following, in general, the 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 will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.
Claims (10)
1. A network transmission method, comprising:
in the first stage of data transmission, gradually increasing the sending speeds corresponding to a plurality of round-trip time periods until the occupied bandwidth in the network reaches a preset first bandwidth limit value, and entering a preset second stage;
in the second stage, gradually reducing the sending speed corresponding to at least one round-trip time period until the occupied bandwidth in the network reaches a preset second bandwidth limit value, and entering a preset third stage; the second bandwidth limit is less than the first bandwidth limit;
and in the third stage, determining a target round-trip time period, increasing or decreasing the sending speed corresponding to the target round-trip time period according to a preset probability, acquiring network feedback, and adjusting the sending speed corresponding to the next round-trip time period according to the network feedback.
2. The method of claim 1, wherein successively increasing the sending speed for a plurality of round trip time periods until the occupied bandwidth in the network reaches a first bandwidth limit value in the first phase of data transmission comprises:
in the first stage of data transmission, based on a preset growth coefficient, the window size of a sending window corresponding to a plurality of round-trip time periods is gradually enlarged so as to increase the sending speed corresponding to each round-trip time period;
determining the occupied bandwidth increasing rate corresponding to each round-trip time period after the sending speed is increased; the occupied bandwidth increasing rate represents the increasing amplitude of the occupied bandwidth corresponding to the round-trip time period relative to the occupied bandwidth of the previous round-trip time period;
and if the increase rate of the occupied bandwidth corresponding to a plurality of continuous round-trip time periods does not exceed a preset increase rate threshold, determining that the occupied bandwidth in the network reaches a preset first bandwidth limit value.
3. A network transmission method, comprising:
in the initial stage of data transmission, gradually increasing the sending speeds corresponding to a plurality of round-trip time periods based on a preset increasing coefficient;
and if the occupied bandwidths corresponding to the round-trip time periods after the transmission speed is increased are determined to reach the preset first bandwidth limit value, stopping increasing the transmission speed corresponding to the next round-trip time period.
4. A network transmission method, comprising:
in the data transmission process, determining a target round-trip time period, and determining an adjustment direction of a sending speed corresponding to the target round-trip time period according to a preset probability;
acquiring a random number corresponding to the adjustment direction; the random number is a positive number or a negative number within a preset range, the positive number indicates the increasing amplitude of the target round-trip time period corresponding to the sending speed, and the negative number indicates the decreasing amplitude of the target round-trip time period corresponding to the sending speed;
according to the random number, adjusting the sending speed corresponding to the target round-trip time period, and acquiring network feedback;
and adjusting the sending speed corresponding to the next round-trip time period according to the network feedback.
5. A network transmission apparatus, comprising:
the sending speed increasing unit is configured to execute the first stage of data transmission, gradually increase the sending speeds corresponding to a plurality of round-trip time periods until the occupied bandwidth in the network reaches a preset first bandwidth limit value, and enter a preset second stage;
the sending speed reduction unit is configured to gradually reduce the sending speed corresponding to at least one round-trip time period in the second stage until the occupied bandwidth in the network reaches a preset second bandwidth limit value, and enter a preset third stage; the second bandwidth limit is less than the first bandwidth limit;
and the sending speed random adjusting unit is configured to execute the third stage, determine a target round-trip time period, increase or decrease the sending speed corresponding to the target round-trip time period according to a preset probability, acquire network feedback, and adjust the sending speed corresponding to the next round-trip time period according to the network feedback.
6. A network transmission apparatus, comprising:
a transmission speed increasing unit configured to perform successive increase of transmission speeds corresponding to a plurality of round-trip time periods based on a preset increase coefficient at an initial stage of data transmission;
and the pause increasing unit is configured to execute stopping increasing the transmission speed corresponding to the next round-trip time period if the occupied bandwidth corresponding to the round-trip time periods after the transmission speed is determined to be increased reaches a preset first bandwidth limit value.
7. A network transmission apparatus, comprising:
the target period acquisition unit is configured to determine a target round-trip time period in the data transmission process, and determine an adjustment direction of a sending speed corresponding to the target round-trip time period according to a preset probability;
a random updating unit configured to perform acquiring a random number corresponding to the adjustment direction; the random number is a positive number or a negative number within a preset range, the positive number indicates the increasing amplitude of the target round-trip time period corresponding to the sending speed, and the negative number indicates the decreasing amplitude of the target round-trip time period corresponding to the sending speed;
a network feedback obtaining unit configured to adjust a sending speed corresponding to the target round-trip time period according to the random number, and obtain network feedback;
and the sending speed changing unit is configured to adjust the sending speed corresponding to the next round-trip time period according to the network feedback.
8. 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 network transmission method of any of claims 1 to 3.
9. A computer-readable storage medium, wherein instructions in the computer-readable storage medium, when executed by a processor of an electronic device, enable the electronic device to perform the network transmission method of any of claims 1 to 3.
10. A computer program product comprising computer programs/instructions, characterized in that the computer programs/instructions, when executed by a processor, implement the network transmission method of any of claims 1 to 3.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111057676.0A CN113965517B (en) | 2021-09-09 | 2021-09-09 | Network transmission method, device, electronic equipment and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111057676.0A CN113965517B (en) | 2021-09-09 | 2021-09-09 | Network transmission method, device, electronic equipment and storage medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113965517A true CN113965517A (en) | 2022-01-21 |
CN113965517B CN113965517B (en) | 2024-05-28 |
Family
ID=79461219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111057676.0A Active CN113965517B (en) | 2021-09-09 | 2021-09-09 | Network transmission method, device, electronic equipment and storage medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113965517B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022247A (en) * | 2022-06-02 | 2022-09-06 | 成都卫士通信息产业股份有限公司 | Stream control transmission method, apparatus, device and medium |
CN115348196A (en) * | 2022-08-05 | 2022-11-15 | 上海久尺网络科技有限公司 | Bandwidth detection method and device, electronic equipment and storage medium |
CN116847360A (en) * | 2022-12-30 | 2023-10-03 | 曲阜师范大学 | Non-real-time data transmission method, device and storage medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222380A (en) * | 2007-12-27 | 2008-07-16 | 腾讯科技(深圳)有限公司 | Available bandwidth detecting method, system and device |
CN101540657A (en) * | 2008-03-19 | 2009-09-23 | 索尼株式会社 | Communication control apparatus, communication control method and communication control program |
CN102946432A (en) * | 2012-11-16 | 2013-02-27 | 深信服网络科技(深圳)有限公司 | Bandwidth occupancy rate control method and bandwidth occupancy rate control device |
CA3149828A1 (en) * | 2019-08-08 | 2021-02-11 | Imad AZZAM | Systems and methods for managing data packet communications |
-
2021
- 2021-09-09 CN CN202111057676.0A patent/CN113965517B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101222380A (en) * | 2007-12-27 | 2008-07-16 | 腾讯科技(深圳)有限公司 | Available bandwidth detecting method, system and device |
CN101540657A (en) * | 2008-03-19 | 2009-09-23 | 索尼株式会社 | Communication control apparatus, communication control method and communication control program |
CN102946432A (en) * | 2012-11-16 | 2013-02-27 | 深信服网络科技(深圳)有限公司 | Bandwidth occupancy rate control method and bandwidth occupancy rate control device |
CA3149828A1 (en) * | 2019-08-08 | 2021-02-11 | Imad AZZAM | Systems and methods for managing data packet communications |
Non-Patent Citations (3)
Title |
---|
CHANDAN SINGH TAKULI: "Bandwidth vs speed", HTTPS://LEARNINGNETWORK.CISCO.COM/S/BLOGS/A0D3I000002SKQREAO/BANDWIDTH-VS-SPEED * |
JINGYUAN WANG,JIANGTAO WEN,JUN ZHANG,YUXING HAN: "TCP一FIT: An Improved TCP Congestion Control Algorithm and its Performance", 2010 IEEE GLOBECOM WORKSHOPS, pages 2896 * |
陈虎: "互联网拥塞控制算法研究", 中国博士学位论文全文数据库信息科技辑, pages 61 - 62 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115022247A (en) * | 2022-06-02 | 2022-09-06 | 成都卫士通信息产业股份有限公司 | Stream control transmission method, apparatus, device and medium |
CN115022247B (en) * | 2022-06-02 | 2023-10-20 | 成都卫士通信息产业股份有限公司 | Flow control transmission method, device, equipment and medium |
CN115348196A (en) * | 2022-08-05 | 2022-11-15 | 上海久尺网络科技有限公司 | Bandwidth detection method and device, electronic equipment and storage medium |
CN116847360A (en) * | 2022-12-30 | 2023-10-03 | 曲阜师范大学 | Non-real-time data transmission method, device and storage medium |
CN116847360B (en) * | 2022-12-30 | 2024-04-02 | 曲阜师范大学 | Non-real-time data transmission method, device and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN113965517B (en) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109474538B (en) | Data transmission method and device, terminal equipment and storage medium | |
CN113965517B (en) | Network transmission method, device, electronic equipment and storage medium | |
CN109408207B (en) | Microservice access control method, microservice access control device and storage medium | |
CN110611829B (en) | Video preloading method and device, electronic equipment and storage medium | |
US11496380B2 (en) | Network delay control method and apparatus, electronic device, and storage medium | |
CN109698794B (en) | Congestion control method and device, electronic equipment and storage medium | |
EP3382527B1 (en) | Method and apparatus for managing a shared storage system | |
CN109561356B (en) | Data transmission method, data transmission device, electronic apparatus, and computer-readable storage medium | |
EP3917116A1 (en) | Detecting maximum transmission unit value | |
US11388459B2 (en) | Method and apparatus for determining bandwidth, and electronic device and storage medium | |
CN112260787B (en) | Equipment time delay adjustment method and device, electronic equipment and storage medium | |
CN110933773B (en) | Link monitoring method and device | |
CN108347718B (en) | Method, device and storage medium for monitoring communication packet | |
CN115002007B (en) | Network delay discriminating method, device, electronic equipment and storage medium | |
CN111601377A (en) | Temperature control method, device and storage medium | |
US20220124045A1 (en) | Data transmission method and apparatus, electronic device and storage medium | |
CN109194808B (en) | Volume adjusting method and device | |
CN116248483A (en) | Node abnormal fusing method and device, electronic equipment and storage medium | |
CN109450595B (en) | Message sending method and device | |
CN114363426B (en) | Data transmission method and device based on UDT protocol, electronic equipment and storage medium | |
CN115065643B (en) | Network link congestion detection method, device, electronic equipment and storage medium | |
CN111314232A (en) | Application acceleration method, device and storage medium | |
CN112040252B (en) | Statistical method and device for reporting request quantity, electronic equipment and storage medium | |
CN105517048B (en) | Message treatment method and device | |
CN116028130A (en) | Terminal control method, device and computer readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |