Transmission rate adjustment method and device, equipment and storage medium
By obtaining the historical transmission rate and delay and dynamically adjusting the data packet transmission rate, the problem of reduced transmission rate and increased delay caused by changes in network state is solved, and more efficient and stable data transmission is achieved.
Patent Information
- Application Number
- CN202510370230.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-26
- Publication Date
- 2025-06-27
AI Technical Summary
During the transmission of data packets, changes in network status cause the actual transmission rate to decrease, increasing transmission delay, which may in turn cause network congestion.
By acquiring the historical transmission rate and historical transmission delay of the transmitted data of the data packet in the historical transmission period, the first and second transmission rates of the untransmitted data are determined, and the current transmission rate is dynamically adjusted according to these rates to adapt to changes in the network state.
Finely adjust the transmission rate, make full use of existing bandwidth resources, avoid increased transmission delays and network congestion, and improve data transmission efficiency and stability.
Smart Images

Figure CN120224381A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of communication technologies, and in particular, to a method, apparatus, device, and storage medium for adjusting transmission rate. Background Art
[0002] With the development of communication technologies, the interactions between communication nodes (such as terminals, base stations, etc.) are becoming increasingly frequent, and the demand for data transmission in the interactions is also increasing. For example, the demand for the transmission delay of data during the interaction process.
[0003] Currently, during the data transmission process, the sending and receiving nodes can pre-determine the required transmission delay of the data transmission, and then determine the transmission rate corresponding to the delay requirement, and transmit the data packets to be transmitted at the determined transmission rate.
[0004] However, during the transmission of data packets, the network state between the sending and receiving nodes may change, thereby reducing the actual transmission rate of the data packets and increasing the transmission delay of the data packets. Therefore, how to synchronize the change of the network state during the transmission of data packets to dynamically adjust the transmission rate to reduce the transmission delay of the data packets has become an urgent technical problem to be solved. Summary of the Invention
[0005] This application provides a method, apparatus, device, and storage medium for adjusting transmission rate, which is used to solve the problem of how to synchronize the change of the network state during the transmission of data packets to dynamically adjust the transmission rate to reduce the transmission delay of the data packets.
[0006] To achieve the above object, this application adopts the following technical solutions:
[0007] In a first aspect, this application provides a method for adjusting transmission rate. The method includes: The transmission rate adjustment apparatus (hereinafter referred to as the "adjustment apparatus") obtains the historical transmission rate and historical transmission delay of the transmitted data of the data packet in the corresponding historical transmission period. Then, according to the historical transmission rate and historical transmission delay, determine the first transmission rate and the second transmission rate of the untransmitted data of the data packet in the target transmission period, where the first transmission rate is the transmission rate of the first part of the untransmitted data in the first sub-period of the target transmission period, and the second transmission rate is the transmission rate of the second part of the untransmitted data in the second sub-period of the target transmission period, and the historical transmission rate is less than the first transmission rate and greater than the second transmission rate. Then, according to the first transmission rate, the second transmission rate, and the historical transmission rate, determine the target transmission rate of the third part of the untransmitted data in the remaining period of the target transmission period, where the third part of the data is the other part of the untransmitted data except the first part of the data and the second part of the data.
[0008] The technical solution provided by this application at least brings the following beneficial effects: By obtaining the historical transmission rate and historical transmission delay of the transmitted data of the data packet in the historical transmission period, it is possible to determine the maximum transmission rate (i.e., the first transmission rate) that can be increased for some of the untransmitted data in the current transmission period and the reference transmission rate (i.e., the second transmission rate) that can be restored to avoid congestion. Then, based on the historical transmission rate, the first transmission rate, and the second transmission rate, the final transmission rate of the data in the current transmission period is determined. In this way, the past data transmission efficiency and delay situation can provide a basis for determining the current data transmission rate. During the process of adjusting the target transmission rate, the transmission rate can be finely adjusted to make full use of the existing bandwidth resources, avoiding the impact of inaccurate transmission rate on the transmission delay and thus causing network congestion.
[0009] Optionally, the method of "determining the target transmission rate of the third part of the untransmitted data in the remaining period of the target transmission period according to the first transmission rate, the second transmission rate, and the historical transmission rate" includes: obtaining the first transmission delay corresponding to the first transmission rate, the second transmission delay corresponding to the second transmission rate, and the third transmission delay corresponding to the historical transmission rate, where the first transmission delay is the delay for the first part of the data to be transmitted at the first transmission rate in the first sub-period, the second transmission delay is the delay for the second part of the data to be transmitted at the second transmission rate in the second sub-period, the third transmission delay is the delay for the fourth part of the data to be transmitted at the historical transmission rate in the third sub-period of the target transmission period, and the fourth part of the data is the other part of the untransmitted data except the first part of the data and the second part of the data. Update the system load according to the first transmission delay, the second transmission delay, and the third transmission delay to obtain the updated system load. Determine the target transmission rate according to the first transmission delay, the second transmission delay, the third transmission delay, the updated system load, the first transmission rate, the second transmission rate, and the historical transmission rate, where the third part of the data corresponding to the target transmission rate is the other part of the untransmitted data except the first part of the data, the second part of the data, and the fourth part of the data.
[0010] Optionally, the method of "determining the target transmission rate according to the first transmission delay, the second transmission delay, the third transmission delay, the updated system load, the first transmission rate, the second transmission rate, and the historical transmission rate" includes: when the first transmission delay is less than or equal to the second transmission delay, determining the target transmission rate based on the updated system load and the first transmission rate. Or, when the first transmission delay is greater than the second transmission delay and the third transmission delay is less than or equal to the second transmission delay, determining the target transmission rate based on the updated system load and the historical transmission rate. Or, when the first transmission delay is greater than the second transmission delay and the third transmission delay is greater than the second transmission delay, determining the target transmission rate based on the updated system load and the second transmission rate.
[0011] Optionally, the historical transmission period includes: a first historical period, a second historical period, and a third historical period. The third historical period corresponds to the historical transmission rate, and the historical transmission rate is determined according to the transmission rate corresponding to the first historical period and the transmission rate corresponding to the second historical period. The historical transmission rate is less than the transmission rate corresponding to the first historical period and greater than the transmission rate corresponding to the second historical period. The method of "obtaining the first transmission delay corresponding to the first transmission rate, the second transmission delay corresponding to the second transmission rate, and the third transmission delay corresponding to the historical transmission rate" includes: when the transmission delay corresponding to the first historical period is greater than the transmission delay corresponding to the second historical period, obtaining the first transmission delay, the second transmission delay, and the third transmission delay through a first operation. The first operation includes: obtaining the first transmission delay by sending a first part of data at the first transmission rate in a first sub-period. Obtaining the second transmission delay by sending a second part of data at the second transmission rate in a second sub-period. Obtaining the third transmission delay by sending a fourth part of data at the historical transmission rate in a third sub-period.
[0012] Optionally, the method further includes: when the transmission delay corresponding to the first historical period is less than or equal to the transmission delay corresponding to the second historical period, obtaining the first transmission delay, the second transmission delay, and the third transmission delay through a second operation. The second operation includes: obtaining the first transmission delay by sending a first part of data at the first transmission rate in a first sub-period. Using the transmission delay corresponding to the second historical period as the second transmission delay. Obtaining the third transmission delay by sending a fourth part of data at the historical transmission rate in a third sub-period.
[0013] Optionally, the method further includes: when there is remaining data other than the first part of data, the second part of data, and the third part of data in the data to be transmitted, determining a transmission rate of the remaining data in a future transmission period according to a target transmission rate and a target transmission delay corresponding to the target transmission rate, where the target transmission delay is a delay for the third part of data to be transmitted at the target transmission rate in the remaining period.
[0014] In a second aspect, the present application provides an apparatus for adjusting a transmission rate, where the apparatus includes: an acquisition module and a processing module.
[0015] The acquisition module is configured to acquire a historical transmission rate and a historical transmission delay of transmitted data of a data packet in a corresponding historical transmission period. The processing module is configured to determine a first transmission rate and a second transmission rate of untransmitted data of the data packet in a target transmission period according to the historical transmission rate and the historical transmission delay, where the first transmission rate is a transmission rate of the first part of data in the untransmitted data in a first sub-period of the target transmission period, and the second transmission rate is a transmission rate of the second part of data in the untransmitted data in a second sub-period of the target transmission period, and the historical transmission rate is less than the first transmission rate and greater than the second transmission rate. The processing module is further configured to determine a target transmission rate of the third part of data in the untransmitted data in a remaining period of the target transmission period according to the first transmission rate, the second transmission rate, and the historical transmission rate, where the third part of data is other data in the untransmitted data except the first part of data and the second part of data.
[0016] Optionally, the acquisition module is configured to acquire a first transmission delay corresponding to the first transmission rate, a second transmission delay corresponding to the second transmission rate, and a third transmission delay corresponding to the historical transmission rate, where the first transmission delay is a delay for the first part of data to be transmitted at the first transmission rate in the first sub-period, the second transmission delay is a delay for the second part of data to be transmitted at the second transmission rate in the second sub-period, and the third transmission delay is a delay for the fourth part of data to be transmitted at the historical transmission rate in a third sub-period of the target transmission period, and the fourth part of data is other data in the untransmitted data except the first part of data and the second part of data. The processing module is specifically configured to update the system load according to the first transmission delay, the second transmission delay, and the third transmission delay to obtain an updated system load. The processing module is further configured to determine a target transmission rate according to the first transmission delay, the second transmission delay, the third transmission delay, the updated system load, the first transmission rate, the second transmission rate, and the historical transmission rate, where the third part of data corresponding to the target transmission rate is other data in the untransmitted data except the first part of data, the second part of data, and the fourth part of data.
[0017] Optionally, when the first transmission delay is less than or equal to the second transmission delay, the processing module is specifically configured to determine a target transmission rate based on the updated system load and the first transmission rate. When the first transmission delay is greater than the second transmission delay and the third transmission delay is less than or equal to the second transmission delay, the processing module is further configured to determine a target transmission rate based on the updated system load and the historical transmission rate. When the first transmission delay is greater than the second transmission delay and the third transmission delay is greater than the second transmission delay, the processing module is further configured to determine a target transmission rate based on the updated system load and the second transmission rate.
[0018] Optionally, when the transmission delay corresponding to the first historical period is greater than the transmission delay corresponding to the second historical period, the obtaining module is configured to obtain the first transmission delay, the second transmission delay, and the third transmission delay through a first operation. The first operation includes: the obtaining module is configured to obtain the first transmission delay by sending a first part of data at a first transmission rate in a first sub-period. The obtaining module is further configured to obtain the second transmission delay by sending a second part of data at a second transmission rate in a second sub-period. The obtaining module is further configured to obtain the third transmission delay by sending a fourth part of data at a historical transmission rate in a third sub-period.
[0019] Optionally, when the transmission delay corresponding to the first historical period is less than or equal to the transmission delay corresponding to the second historical period, the obtaining module is configured to obtain the first transmission delay, the second transmission delay, and the third transmission delay through a second operation. The second operation includes: the obtaining module is further configured to obtain the first transmission delay by sending a first part of data at a first transmission rate in a first sub-period. The processing module is configured to use the transmission delay corresponding to the second historical period as the second transmission delay. The obtaining module is further configured to obtain the third transmission delay by sending a fourth part of data at a historical transmission rate in a third sub-period.
[0020] Optionally, when there is remaining data other than the first part of data, the second part of data, and the third part of data in the untransmitted data, the processing module is specifically configured to determine the transmission rate of the remaining data in a future transmission period according to the target transmission rate and the target transmission delay corresponding to the target transmission rate, where the target transmission delay is the delay for the third part of data to be transmitted at the target transmission rate in the remaining period.
[0021] In a third aspect, the present application provides a device for adjusting the transmission rate. The device includes a processor and a memory, which are coupled. The memory is used to store one or more programs, and the one or more programs include computer execution instructions. When the device for adjusting the transmission rate runs, the processor executes the computer execution instructions stored in the memory to implement the method for adjusting the transmission rate described in the first aspect or any optional one of the first aspect.
[0022] In a fourth aspect, the present application provides a computer-readable storage medium. Instructions are stored in the computer-readable storage medium. When the instructions run on a computer, the computer is caused to execute the method for adjusting the transmission rate described in the first aspect or any optional one of the first aspect.
[0023] In a fifth aspect, the present application provides a computer program product, which is applied to a server. The computer program product includes computer instructions. When the computer instructions run on the server, the server implements the method for adjusting the transmission rate described in the first aspect or any optional one of the first aspect.
[0024] In the above solutions, for the technical problems that can be solved and the technical effects achieved by the transmission rate adjustment device, device, computer storage medium or computer program product, reference can be made to the technical problems solved and technical effects in the first aspect above, which will not be elaborated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0025] Figure 1 FIG. is a schematic diagram of a communication system provided by an embodiment of the present application;
[0026] Figure 2 FIG. is another schematic diagram of a communication system provided by an embodiment of the present application;
[0027] Figure 3 FIG. is a schematic flowchart of a method for adjusting the transmission rate provided by an embodiment of the present application;
[0028] Figure 4 FIG. is an example schematic diagram of a target transmission period provided by an embodiment of the present application;
[0029] Figure 5 FIG. is a schematic flowchart of another method for adjusting the transmission rate provided by an embodiment of the present application;
[0030] Figure 6 FIG. is another example schematic diagram of a target transmission period provided by an embodiment of the present application;
[0031] Figure 7 FIG. is a schematic flowchart of another method for adjusting the transmission rate provided by an embodiment of the present application;
[0032] Figure 8 Schematic diagram of an example of a time slot structure in the growth stage provided by an embodiment of the present application;
[0033] Figure 9 Schematic diagram of an example of a time slot structure in the steady state stage provided by an embodiment of the present application;
[0034] Figure 10 Schematic diagram of an example of a time slot structure in the backoff stage provided by an embodiment of the present application;
[0035] Figure 11 Schematic diagram of the structure of an adjustment device for transmission rate provided by an embodiment of the present application;
[0036] Figure 12 Schematic diagram of the structure of an adjustment device for transmission rate provided by an embodiment of the present application;
[0037] Figure 13 Conceptual partial view of a computer program product provided by an embodiment of the present application. Detailed implementation manners
[0038] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.
[0039] In this article, the character " / " generally indicates an "or" relationship between the associated objects before and after. For example, A / B can be understood as A or B.
[0040] The terms "first" and "second" in the description and claims of the present application are used to distinguish different objects, rather than to describe a specific order of the objects.
[0041] In addition, the terms "include" and "have" and any variations thereof mentioned in the description of the present application are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or modules is not limited to the listed steps or modules, but optionally further includes other steps or modules not listed, or optionally further includes other steps or modules inherent to these processes, methods, products, or devices.
[0042] In addition, in the embodiments of the present application, words such as "exemplary" or "for example" are used to represent examples, illustrations, or explanations. Any embodiment or design solution described as "exemplary" or "for example" in the present application should not be construed as being more preferred or having more advantages than other embodiments or design solutions. Rather, the use of words such as "exemplary" or "for example" is intended to present concepts in a specific manner.
[0043] Before introducing the method for adjusting the transmission rate provided in the embodiments of the present application in detail, the implementation environment and application scenarios of the embodiments of the present application will be introduced first.
[0044] First, the application scenarios of the embodiments of the present application will be introduced.
[0045] In today's rapid digital development, network communication has become a key bridge connecting global information. With the popularization of the Internet and the progress of technology, the requirements for data transmission are not only limited to simple information exchange, but also emphasize the reliability, efficiency, and integrity of data transmission.
[0046] In this context, the Transmission Control Protocol (TCP) came into being. TCP is a connection-oriented, reliable, byte-stream-based transport layer communication protocol. The TCP protocol is defined by RFC793 (a Request for Comments document) of the Internet Engineering Task Force (IETF). TCP aims to adapt to the hierarchical protocol architecture that supports multiple network applications and provides reliable communication services between pairs of processes connected to different but interconnected computer communication networks. TCP can obtain a simple, possibly unreliable datagram service from lower-level protocols. In theory, TCP should be able to operate over hardwired connections, packet-switched or circuit-switched networks, and various communication systems, thus ensuring stable and reliable data transmission services in different types of network environments.
[0047] However, with the development of communication technology, the interaction between communication nodes (such as terminals, base stations, etc.) is becoming more and more frequent, and the demand for data transmission in the interaction is also increasing. For example, the demand for the transmission delay of data in the interaction process.
[0048] Since the transmission delay is affected by the network state, a poor network state will cause the transmission delay to increase. If data is continuously transmitted at a fixed transmission rate, as the delay increases, it may lead to packet backlog, resulting in network congestion problems easily occurring during data transmission.
[0049] Regarding the network congestion problem, the additive increase and multiplicative decrease congestion window adjustment algorithm adopted by traditional TCP congestion control methods is too conservative. In the long-distance transmission of massive data, due to the large round-trip time (RTT), once congestion occurs, after the congestion window decreases, it takes a long time to recover. Moreover, the flow control mechanism of traditional TCP congestion control methods is too conservative. To avoid buffer overflow at the receiving end, standard TCP uses a sliding window to limit the sending traffic. The default maximum window size is only 64 kilobytes (KB). For high-speed long-distance networks, the bandwidth-delay product is much larger than this value, and the utilization rate of the link pipe capacity is very low.
[0050] In addition, in the prior art, when it is determined that the current round-trip delay RTT period ends and the congestion state machine is in the enabled state, the RTT value of this RTT period and the congestion window of this RTT period can be determined. Then, based on the RTT value of this RTT period and the historical RTT minimum value, the current RTT minimum value can be determined. Next, based on the RTT value of this RTT period, the congestion window of this RTT period, and the historical RTT average value, the RTT average value of this RTT period can be determined, and based on the current RTT minimum value, the RTT average value of this RTT period, and the congestion window of this RTT period, the expected congestion window can be determined. Finally, based on the expected congestion window and the congestion window of this RTT period, the congestion window of the next RTT period can be determined. Through this systematic process, while ensuring reliable data transmission, the utilization rate of network resources can be maximized as much as possible to achieve efficient network communication.
[0051] However, the above technical solution focuses on calculating the initial congestion window and the window growth value. The two congestion window values use the relevant values of RTT to determine the congestion window size. There is a problem that the window cannot be updated in time due to the large RTT in the high backpropagation neural network (BP).
[0052] Currently, the BBR scheme can also be used to handle network congestion problems. However, in the traditional BBR scheme, since the purpose of background transmission is to fully utilize the current bandwidth without colliding with the original service, and traditional congestion control schemes all adopt the idea of fully occupying the available bandwidth for flow control, this control method without buffering will inevitably be aggressive to the original service and does not meet the service requirements of background transmission services.
[0053] Moreover, the traditional BBR scheme fixes the data transmission rate during the probing time slot. When the RTT delay is long, buffer accumulation is likely to occur during the probing phase, resulting in unnecessary network congestion. At the same time, the traditional BBR scheme fixes the time slot structure of each cycle and adds recovery time slots to empty the buffer within each cycle without selection, resulting in the transmission rate being unable to flexibly adapt to the changes in the actual network conditions. As a result, the available bandwidth cannot be fully utilized, or congestion is caused due to too high a transmission rate, and unnecessary data transmission rate loss is likely to occur.
[0054] In summary, in the above technical solutions, the change of the network state during the transmission of data packets is not considered, and the actual transmission rate cannot be accurately adjusted, which may lead to an increase in the transmission delay of data packets and cause network congestion. Therefore, how to synchronize the change of the network state during the transmission of data packets to dynamically adjust the transmission rate to reduce the transmission delay of data packets has become an urgent technical problem to be solved.
[0055] To solve the above problems, the embodiments of the present application provide a method for adjusting the transmission rate. The method for adjusting the transmission rate provided by the embodiments of the present application is applied to the scenario of adjusting the transmission rate. By obtaining the historical transmission rate and historical transmission delay of the transmitted data of the data packet in the historical transmission period, the embodiments of the present application can determine the maximum transmission rate (i.e., the first transmission rate) that can be increased for some of the untransmitted data in the current transmission period and the reference transmission rate (i.e., the second transmission rate) that can be restored to avoid congestion. Then, the final transmission rate of the data in the current transmission period is determined according to the historical transmission rate, the first transmission rate, and the second transmission rate. In this way, the previous data transmission efficiency and delay situation can provide a basis for determining the current data transmission rate, and the transmission rate can be finely adjusted during the process of adjusting the target transmission rate to fully utilize the existing bandwidth resources, avoid affecting the transmission delay due to inaccurate transmission rate, and thus cause network congestion.
[0056] The implementation environment of the embodiments of the present application is introduced below.
[0057] As Figure 1 shown, it is a schematic diagram of a communication system provided by the embodiments of the present application. The communication system may include: an adjustment device 101 and a collection device 102. Among them, the adjustment device 101 can be connected to the collection device 102 in a wired / wireless manner.
[0058] Specifically, the adjustment device 101 can be used for data processing and transmission rate adjustment. The adjustment device 101 can receive the historical transmission rate and historical transmission delay transmitted by the acquisition device 102, and determine the first transmission rate of the untransmitted data of the data packet in the target transmission period according to the historical transmission rate and historical transmission delay. Among them, the first transmission rate is the transmission rate of the first part of the untransmitted data in the first sub-period of the target transmission period, the second transmission rate is the transmission rate of the second part of the untransmitted data in the second sub-period of the target transmission period, and the historical transmission rate is less than the first transmission rate and greater than the second transmission rate. The adjustment device 101 can also determine the target transmission rate of the third part of the untransmitted data in the remaining period of the target transmission period according to the first transmission rate, the second transmission rate and the historical transmission rate, so as to realize the adjustment of the transmission rate in the data transmission process, where the third part of the data is the other part of the untransmitted data except the first part of the data and the second part of the data.
[0059] The acquisition device 102 can be used for acquiring historical transmission data and status data of network devices. The acquisition device 102 can obtain the historical transmission rate and historical transmission delay of the transmitted data of the data packet in the corresponding historical transmission period. The acquisition device 102 can also upload the historical transmission rate and historical transmission delay of the transmitted data of the sent data packet in the corresponding historical transmission period to the adjustment device 101.
[0060] In the embodiments of the present application, both the adjustment device 101 and the acquisition device 102 are in a user-side device (such as a terminal).
[0061] That is to say, the user device can locally implement the acquisition of the historical transmission rate and historical transmission delay, and the adjustment of the transmission rate.
[0062] Alternatively, the acquisition device 102 can be a network-side device (such as a base station, a server or a core network element), and the adjustment device 101 can be a user-side device (such as a terminal).
[0063] That is to say, the network device can send the acquired historical transmission rate and historical transmission delay to the user device, and the user device adjusts the transmission rate based on the historical transmission rate and historical transmission delay.
[0064] Among them, the server can be a single physical server, or a server cluster composed of multiple servers. Alternatively, the server cluster can also be a distributed cluster. Alternatively, the server can also be a cloud server. The embodiments of the present application do not limit the specific implementation manner of the server.
[0065] The terminal can be devices such as a mobile phone, a tablet computer, a desktop computer, a laptop computer, a handheld computer, a notebook computer, an ultra-mobile personal computer (UMPC), a netbook, etc. with transceiver functions. This application does not impose special restrictions on the specific form of the terminal. It can perform human-computer interaction with users through one or more of a keyboard, a touchpad, a touch screen, a remote control, voice interaction, a handwriting device, etc.
[0066] The base station can include various forms of base stations, such as: macro base stations, micro base stations (also known as small stations), relay stations, access points, etc. Specifically, it can be: an access point (AP) in a Wireless Local Area Network (WLAN), a base transceiver station (BTS) in a Global System for Mobile Communications (GSM) or Code Division Multiple Access (CDMA), a Node B (NB) in a Wideband Code Division Multiple Access (WCDMA), an evolved Node B (eNB or eNodeB) in LTE, or a relay station or an access point, as well as a base station in a future 6th Generation Mobile Communication Technology (6G) network or a base station in a future evolved Public Land Mobile Network (PLMN) network, etc.
[0067] The core network element can include various network functions, such as an access and mobility management function (AMF), a session management function (SMF), a user plane function (UPF), a policy control function (PCF), a unified data management (UDM), a location management function (LMF), etc.
[0068] In some embodiments, such as Figure 2As shown, when the acquisition device 102 is a network-side device (such as a base station, a server, or a core network element) and the adjustment device 101 is a user-side device (such as a terminal), the communication system may include: a network device 200 (equivalent to the acquisition device 102) and the adjustment device 101. Moreover, the adjustment device 101 may include: a network perception unit 201, a network analysis unit 202, and a processing unit 203. Among them, the network device 200 may be connected to the adjustment device 101 by wire / wirelessly. The network perception unit 201 may be connected to the network analysis unit 202 by wire / wirelessly. The network analysis unit 202 may be connected to the processing unit 203 by wire / wirelessly.
[0069] The network device 200 may be used to collect network status information. Moreover, the network device 200 may include a network controller and a routing device. The network controller and the head node router are responsible for collecting network device information and notifying and sending the network information to the network perception unit 201 through corresponding interfaces.
[0070] The network perception unit 201 may be used to receive the network status information on the network side collected by the network device 200. The network perception unit 201 may also be used to send the received network status information to the network analysis unit 202.
[0071] The network analysis unit 202 may be used to determine whether to adjust and how to adjust the transmission rate according to the network status information. The network analysis unit 202 may also be used to determine the target transmission rate of the third part of the data in the remaining period of the target transmission period among the untransmitted data according to the first transmission rate, the second transmission rate, and the historical transmission rate.
[0072] The processing unit 203 may be used to screen and process the data information of the network perception unit 201. The processing unit 203 may be used to determine the first transmission rate and the second transmission rate of the untransmitted data of the data packet in the target transmission period according to the historical transmission rate and the historical transmission delay. The processing unit 203 may also be used to transmit the first transmission rate and the second transmission rate in the target transmission period to the network analysis unit 202.
[0073] As a possible implementation, the network device 200 may collect network status information and send the collected network status information to the network awareness unit 201. The network awareness unit 201 receives the network status information transmitted by the network device 200 and transmits the historical transmission rate and historical transmission delay in the network status information to the processing unit 203. Then, the processing unit 203 may determine the first transmission rate and the second transmission rate of the untransmitted data of the data packet in the target transmission period according to the historical transmission rate and the historical transmission delay, and transmit the first transmission rate and the second transmission rate in the target transmission period to the network analysis unit 202. Then, the network analysis unit 202 may determine the target transmission rate of the third part of the data in the untransmitted data in the remaining period of the target transmission period according to the first transmission rate, the second transmission rate, and the historical transmission rate.
[0074] It can be understood that the transmission delay is affected by the network status, and a poor network status will cause the transmission delay to increase. If data is continuously transmitted at a fixed transmission rate, as the delay increases, it may lead to packet backlog and ultimately network congestion. By dynamically adjusting the transmission rate according to the first transmission rate, the second transmission rate, and the historical transmission rate during the transmission of the data packet, the change of the network status can be synchronized, the transmission delay of the data packet can be reduced, and then the network congestion can be controlled.
[0075] It should be noted that in the embodiments of the present application, the method for adjusting the transmission rate can be implemented in the above-mentioned transmission rate adjustment device, and can be implemented either in the user state or in the kernel state. When implemented in the user state, the application program autonomously adjusts the data transmission rate according to the collected network status information. When implemented in the kernel state, the data transmission rate is managed through the underlying mechanism of the operating system. In this way, it can ensure the efficient and reliable transmission of data and avoid network congestion at the same time. Moreover, this method enables congestion control to flexibly respond to different application requirements and also utilize the core functions of the operating system to ensure network performance.
[0076] In summary, the present application timely senses the current network status and resources, and dynamically adjusts the transmission rate in real time, with a more accurate transmission rate, to reduce the transmission delay and avoid network congestion. Moreover, this method optimizes the congestion avoidance method of the traditional transmission protocol and effectively improves the network throughput.
[0077] After introducing the application scenarios and implementation environments of the embodiments of the present application, the method for adjusting the transmission rate provided by the embodiments of the present application will be described in detail below in combination with the above implementation environments.
[0078] The methods in the following embodiments can all be implemented in the above application scenarios and implementation environments. The embodiments of the present application will be specifically described below in combination with the accompanying drawings of the specification.
[0079] Figure 3 This is a schematic flowchart of a method for adjusting the transmission rate provided by an embodiment of the present application. As Figure 3 shown, the method may include: S301 - S303.
[0080] S301. Obtain the historical transmission rate and historical transmission delay of the transmitted data of the data packet in the corresponding historical transmission period.
[0081] It should be noted that the embodiment of the present application does not limit the service type of the data packet. For example, the data packet may be a text - type data packet, or for another example, the data packet may be a streaming media - type data packet, or for another example, the data packet may be an image - type data packet.
[0082] As a possible implementation manner, the adjustment device may access network devices (such as routers, switches), and query the management information base (MIBs) of the device through the simple network management protocol (SNMP) to obtain the historical transmission rate and historical transmission delay.
[0083] It should be noted that the transmission delay is affected by the network state, and a poor network state will cause the transmission delay to increase. If data is continuously transmitted at a fixed transmission rate, as the delay increases, it may lead to data packet backlog and ultimately cause network congestion. That is to say, by dynamically adjusting the transmission rate by synchronizing the change of the network state during the transmission of the data packet, the transmission delay of the data packet can be reduced, and thus network congestion can be controlled.
[0084] S302. Determine the first transmission rate and the second transmission rate of the untransmitted data of the data packet in the target transmission period according to the historical transmission rate and the historical transmission delay.
[0085] Among them, the first transmission rate is the transmission rate of the first part of the untransmitted data in the first sub - period of the target transmission period, and the second transmission rate is the transmission rate of the second part of the untransmitted data in the second sub - period of the target transmission period.
[0086] That is to say, the first transmission rate may be the maximum transmission rate that can be increased in the target transmission period under the non - congested condition, and the second transmission rate may be the reference transmission rate at which the speed can be reduced and restored in the target transmission period under the congested condition.
[0087] As a possible implementation, the adjustment device may pre-store an RTT reference value. The adjustment device may adjust the historical transmission rate based on the historical transmission delay and the RTT reference value to obtain a first transmission rate and a second transmission rate.
[0088] It should be noted that the relationship among the historical transmission rate, the first transmission rate, and the second transmission rate satisfies the following conditions. The historical transmission rate is less than the first transmission rate and the historical transmission rate is greater than the second transmission rate.
[0089] As a possible design, the first transmission rate and the second transmission rate can be obtained through the following formula 1 and formula 2:
[0090]
[0091] Among them, test_rate i is used for the first transmission rate, restore_rate i is used to represent the second transmission rate, deliver_rate i-1 is used to represent the historical transmission rate, deliver_delay i-1 is used to represent the historical transmission delay, and base_RTT is used to represent the RTT reference value.
[0092] S303. Determine the target transmission rate of the third part of the data in the remaining period of the target transmission period according to the first transmission rate, the second transmission rate, and the historical transmission rate.
[0093] Among them, the third part of the data is the other part of the data in the untransmitted data except the first part of the data and the second part of the data.
[0094] That is to say, as Figure 4 shown, the target transmission period includes: a first sub-period, a second sub-period, and the remaining period except the first sub-period and the second sub-period. In the first sub-period, the adjustment device may transmit the first part of the data according to the first transmission rate; in the second sub-period, the adjustment device may transmit the second part of the data according to the second transmission rate. Then, the adjustment device may obtain the third part of the data based on the untransmitted data, the first part of the data, and the second part of the data, and transmit the third part of the data at the target transmission rate in the remaining period.
[0095] As a possible implementation, the adjustment device may obtain the third part of the data based on the untransmitted data, the first part of the data, and the second part of the data. Then, the adjustment device may determine the target transmission rate according to the mathematical relationship among the first transmission rate, the second transmission rate, and the historical transmission rate.
[0096] As a possible design, for the mathematical relationship among the first transmission rate, the second transmission rate, and the historical transmission rate, the process of determining the target transmission rate can be obtained through the following Formula 3:
[0097]
[0098] Among them, deliver_rate i is used to represent the target transmission rate, test_rate i is used to represent the first transmission rate, restore_rate i is used to represent the second transmission rate, deliver_rate i-1 is used to represent the historical transmission rate, and a, b, and c respectively represent the weights of the first transmission rate, the second transmission rate, and the historical transmission rate.
[0099] The technical solutions provided by the above embodiments at least bring the following beneficial effects: By obtaining the historical transmission rate and historical transmission delay of the transmitted data of the data packet in the historical transmission period, the maximum transmission rate (i.e., the first transmission rate) that can be improved for some data in the untransmitted data and the reference transmission rate (i.e., the second transmission rate) that can be restored to avoid congestion in the current transmission period can be determined. Then, according to the historical transmission rate, the first transmission rate, and the second transmission rate, the final transmission rate of the data in the current transmission period is determined. In this way, the previous data transmission efficiency and delay situation can provide a basis for determining the current data transmission rate, and the transmission rate can be finely adjusted during the process of adjusting the target transmission rate to make full use of the existing bandwidth resources, avoid affecting the transmission delay due to inaccurate transmission rate, and thus cause network congestion.
[0100] It should be noted that from the historical transmission period to the target transmission period, the change of the network state will affect the transmission delay, and thus affect the transmission rate. Therefore, when determining the target transmission rate, not only the first transmission rate, the second transmission rate, and the historical transmission rate need to be considered, but also the current network state and transmission delay need to be comprehensively considered.
[0101] In some embodiments, as Figure 5 shown, in this transmission rate adjustment method, S303 may include: S501 - S503.
[0102] S501. Obtain the first transmission delay corresponding to the first transmission rate, the second transmission delay corresponding to the second transmission rate, and the third transmission delay corresponding to the historical transmission rate.
[0103] Among them, the first transmission delay is the delay for the first part of data to be transmitted at the first transmission rate in the first sub-period, the second transmission delay is the delay for the second part of data to be transmitted at the second transmission rate in the second sub-period, the third transmission delay is the delay for the fourth part of data to be transmitted at the historical transmission rate in the third sub-period of the target transmission period, and the fourth part of data is the other part of the untransmitted data except the first part of data and the second part of data.
[0104] It should be noted that the third part of data corresponding to the target transmission rate is the other part of the untransmitted data except the first part of data, the second part of data and the fourth part of data.
[0105] That is to say, as Figure 6 shown, the target transmission period includes: the first sub-period, the second sub-period, the third sub-period and the remaining period except the first sub-period, the second sub-period and the third sub-period. In the first sub-period, the adjustment device can transmit according to the first transmission rate to obtain the first part of data and the first transmission delay; in the second sub-period, the adjustment device can transmit according to the second transmission rate to obtain the second part of data and the second transmission delay; in the third sub-period, the adjustment device can transmit according to the historical transmission rate to obtain the fourth part of data and the third transmission delay. And, the adjustment device can obtain the third part of data according to the untransmitted data, the first part of data, the second part of data and the fourth part of data, and transmit the third part of data at the target transmission rate in the remaining period.
[0106] In the embodiment of the present application, the historical transmission period includes: the first historical period, the second historical period and the third historical period. The third historical period corresponds to the historical transmission rate, and the historical transmission rate is determined according to the transmission rate corresponding to the first historical period and the transmission rate corresponding to the second historical period. The historical transmission rate is less than the transmission rate corresponding to the first historical period and greater than the transmission rate corresponding to the second historical period.
[0107] That is to say, the transmission rate corresponding to the first historical period can be the maximum transmission rate that can be increased in the case of no congestion in the historical transmission period (equivalent to the first transmission rate corresponding to the target transmission period), and the transmission rate corresponding to the second historical period can be the reference transmission rate that can be reduced and restored in the case of congestion in the historical transmission period (equivalent to the second transmission rate corresponding to the target transmission period).
[0108] As a possible implementation manner, when the transmission delay corresponding to the first historical period is greater than the transmission delay corresponding to the second historical period, the adjustment device can obtain the first transmission delay, the second transmission delay and the third transmission delay through the first operation.
[0109] Among them, the first operation may include the following steps 1-3:
[0110] Step 1: Obtain the first transmission delay by sending the first part of the data at the first transmission rate in the first sub-period.
[0111] As a possible implementation, the adjustment device may send the first part of the data from the sending node at the first transmission rate in the first sub-period at the first moment, and record the second moment when the receiving node receives the data packet. The adjustment device may determine the first transmission delay according to the difference between the first moment and the second moment.
[0112] Step 2: Obtain the second transmission delay by sending the second part of the data at the second transmission rate in the second sub-period.
[0113] As a possible implementation, the adjustment device may send the first part of the data from the sending node at the first transmission rate in the first sub-period at the third moment, and record the fourth moment when the receiving node receives the data packet. The adjustment device may determine the first transmission delay according to the difference between the third moment and the fourth moment.
[0114] Step 3: Obtain the third transmission delay by sending the fourth part of the data at the historical transmission rate in the third sub-period.
[0115] As a possible implementation, the adjustment device may send the fourth part of the data from the sending node at the historical transmission rate in the third sub-period at the fifth moment, and record the sixth moment when the receiving node receives the data packet. The adjustment device may determine the third transmission delay according to the difference between the fifth moment and the sixth moment.
[0116] It can be understood that in the case where the transmission delay corresponding to the first historical period is greater than the transmission delay corresponding to the second historical period, there are a first sub-period, a second sub-period, and a third sub-period in the target transmission period. The first transmission delay, the second transmission delay, and the third transmission delay can be determined in the corresponding periods through the first transmission rate, the second transmission rate, and the historical transmission rate, providing a basis for the subsequent determination of the target transmission rate.
[0117] It should be noted that in the case where the transmission delay corresponding to the first historical period is less than or equal to the transmission delay corresponding to the second historical period, there is no second sub-period in the target transmission period, and the second transmission delay cannot be obtained by sending the second part of the data at the second transmission rate.
[0118] In some embodiments, in the case where the transmission delay corresponding to the first historical period is less than or equal to the transmission delay corresponding to the second historical period, the adjustment device may obtain the first transmission delay, the second transmission delay, and the third transmission delay through the second operation.
[0119] Among them, the first operation may include the following steps 1 to 3:
[0120] Step 1: Obtain a first transmission delay by sending a first part of data at a first transmission rate in a first sub-period.
[0121] Step 2: Use the transmission delay corresponding to a second historical period as a second transmission delay.
[0122] Step 3: Obtain a third transmission delay by sending a fourth part of data at a historical transmission rate in a third sub-period.
[0123] It can be understood that when there is no second sub-period in the target transmission period and the adjustment device cannot determine the second transmission delay through the second transmission rate, the transmission delay corresponding to the second historical period can be used as the second transmission delay. In this way, a reasonable value can be provided for the second transmission delay in the target period. Based on this value, the adjustment device can still ensure the effective adjustment of the subsequent target transmission rate.
[0124] S502: Update the system load according to the first transmission delay, the second transmission delay, and the third transmission delay to obtain the updated system load.
[0125] It should be noted that the system load is an indicator to measure the busy degree of the current data transmission link. By observing the current system load to judge the network load situation at this time, the proportion control of resource reservation can be carried out.
[0126] As a possible design, the system load can be expressed by the following formula four:
[0127]
[0128] Among them, ρ is the system load, λ is the service rate, which represents the average number of requests or data packets arriving at the system (such as servers, network nodes, etc.) per unit time, and μ is the arrival rate, which represents the reciprocal of the average time required for the system to process each request or data packet, that is, the number of requests or data packets that the system can process per unit time.
[0129] It should be noted that when ρ is less than 1, the service rate of the system is greater than the arrival rate. At this time, the system can process all arriving requests in a timely manner, and the system is in a non-congested state. When ρ is equal to 1, it means that the service rate of the system is equal to the arrival rate. At this time, the system is in a critical state, and long-term operation may cause the system load to gradually increase. When ρ is greater than 1, the arrival rate of the system is greater than the service rate at this time. The system cannot process all arriving requests in a timely manner, resulting in requests piling up in the system, and the system is in a congested state. In this case, the stability of the system may be affected, and additional measures (such as increasing service resources, optimizing service processes, etc.) can be taken to reduce the system load value.
[0130] It should be noted that in the embodiments of the present application, λ can be used to represent the transmission rate of the service to be transmitted, and μ can be used to represent the total link bandwidth.
[0131] Exemplarily, the transmission rate of the service to be transmitted is 8 gigabits per second (Gbit / s), that is, the available bandwidth in the case of resource reservation is 8 Gbit / s, and the total link bandwidth is 10 Gbit / s. Then the system load is 0.8.
[0132] That is to say, by calculating the ratio of the transmission rate of the existing service and the total link bandwidth for resource management, resource reservation can be more accurate and resource allocation can be optimized. This method can ensure that the bandwidth resources are fully utilized without colliding with the existing services.
[0133] As a possible implementation, the adjustment device can obtain network parameters, where the network parameters include the historical system load, the load reference value, and the load growth factor. Then, the adjustment device can update the system load according to the relationship between the first transmission delay, the second transmission delay, and the third transmission delay to obtain the updated system load.
[0134] Optionally, in the case where the first transmission delay is less than or equal to the second transmission delay (the first case), the adjustment device can determine the updated system load based on the historical system load, the load reference value, and the load growth factor.
[0135] Or, in the case where the first transmission delay is greater than the second transmission delay and the third transmission delay is less than or equal to the second transmission delay (the second case), the adjustment device can determine the updated system load based on the historical system load and the load growth factor.
[0136] Or, in the case where the first transmission delay is greater than the second transmission delay and the third transmission delay is greater than the second transmission delay (the third case), the adjustment device can use the load reference value as the updated system load.
[0137] As a possible design, for the first case, the second case, and the third case, the updated system loads can be obtained through the following Formula Five, Formula Six, and Formula Seven respectively:
[0138] ρ i = max{base_ρ, ρ i-1 +(1 - ρ i-1 ) * Δ} Formula Five.
[0139] ρ i = ρ i-1 +(1 - ρ i-1 ) * Δ Formula Six.
[0140] ρ i = base_ρ Formula Seven.
[0141] Among them, ρ i is used to represent the updated system load, ρ i-1 is used to represent the historical system load, base_ρ is used to represent the load reference value, and Δ i is used to represent the load growth factor.
[0142] S503. Determine the target transmission rate according to the first transmission delay, the second transmission delay, the third transmission delay, the updated system load, the first transmission rate, the second transmission rate, and the historical transmission rate.
[0143] In some embodiments, the adjustment device may adjust the first transmission rate, the second transmission rate, and the historical transmission rate by using the updated system load according to the magnitude relationship among the first transmission delay, the second transmission delay, and the third transmission delay to determine the target transmission rate.
[0144] As a possible design, for the magnitude relationship among the first transmission delay, the second transmission delay, and the third transmission delay, the process of determining the target transmission rate can be obtained through the following Formula Eight:
[0145]
[0146] Among them, A is used to represent the target transmission rate, test_rate i is used to represent the first transmission rate, restore_rate i is used to represent the second transmission rate, deliver_rate i-1 is used to represent the historical transmission rate, a, b, and c respectively represent the weights of the first transmission rate, the second transmission rate, and the historical transmission rate, and the sum of the weights is 1, and ρ1, ρ2, and ρ3 respectively represent the updated system load values under different delay relationships.
[0147] As a possible implementation, when the first transmission delay is less than or equal to the second transmission delay, the adjustment device may determine the target transmission rate based on the updated system load and the first transmission rate. At this time, in the above formula VIII, b and c are 0, and a is 1.
[0148] As another possible implementation, when the first transmission delay is greater than the second transmission delay and the third transmission delay is less than or equal to the second transmission delay, the adjustment device may determine the target transmission rate based on the updated system load and the historical transmission rate. At this time, in the above formula VIII, a and c are 0, and b is 1.
[0149] As another possible implementation, when the first transmission delay is greater than the second transmission delay and the third transmission delay is greater than the second transmission delay, the adjustment device may determine the target transmission rate based on the updated system load and the second transmission rate. At this time, in the above formula VIII, a and b are 0, and c is 1.
[0150] That is to say, by judging the relationship between the first transmission delay, the second transmission delay, and the third transmission delay in the target transmission period, the weights of the first transmission rate, the second transmission rate, and the historical transmission rate in different situations can be adjusted, and according to the updated system load, different strategies are used to calculate the target transmission rate. This method can dynamically adjust the transmission strategy according to the actual situation of the network, ensure optimal data transmission efficiency and stability in a changing network environment, and improve the overall transmission performance.
[0151] It can be understood that the target transmission rate can be determined by the first transmission delay, the second transmission delay, the third transmission delay, the updated system load, the first transmission rate, the second transmission rate, and the historical transmission rate. In this way, the previous data transmission efficiency and delay situation can be combined with the changes in the network state to realize the dynamic adjustment of the target transmission rate, which can more accurately adapt to the current network environment, effectively reduce the transmission delay, optimize the data transmission process, and avoid network congestion, thereby improving the overall network performance and user experience.
[0152] It should be noted that the above embodiments have detailed the process in which the adjustment device determines the target transmission rate according to the first transmission rate, the second transmission rate, and the historical transmission rate. If the data has not been completely transmitted, the adjustment device may further determine the transmission rate of the remaining data in the future transmission period based on the target transmission rate and the target transmission delay corresponding to the target transmission rate until all the transmitted data is completed.
[0153] In some embodiments, after the process in which the adjustment device determines the target transmission rate of the third part of the data in the remaining period of the target transmission period in the untransmitted data according to the first transmission rate, the second transmission rate, and the historical transmission rate (i.e., S303), if there is remaining data in the untransmitted data other than the first part of the data, the second part of the data, and the third part of the data, the adjustment device may determine the transmission rate of the remaining data in the future transmission period according to the target transmission rate and the target transmission delay corresponding to the target transmission rate.
[0154] Wherein, the target transmission delay is the delay for the third part of the data to be transmitted at the target transmission rate in the remaining period.
[0155] It can be understood that when the data has not been completely transmitted, the adjustment device will calculate the transmission speed used in the future transmission period based on the transmission speed and transmission delay of the current transmission period. The adjustment device can use this iterative method until it ensures that the remaining data can be transmitted smoothly and efficiently. This method can dynamically adjust the transmission rate in different periods for data transmission, ensuring that the adjustment device can respond flexibly according to the actual transmission situation, and improving the efficiency and reliability of data transmission.
[0156] Next, a specific example is used to introduce the transmission rate adjustment method provided in the embodiments of the present application.
[0157] As Figure 7 shown, when the transmission rate adjustment device starts to run, the user needs to initialize the load reference value base_ρ, RTT reference value base_RTT, and load growth factor Δ of the adjustment device. Then, the adjustment device can obtain the transmission rate deliver_rate i-1 (i.e., the historical transmission rate) and transmission delay deliver_delay i-1 (i.e., the historical transmission delay) of the previous cycle, and calculate the detection rate test_rate i-1 of this cycle (i.e., the first transmission rate) and the recovery rate restore_rate i-1 (i.e., the second transmission rate) of this cycle according to the RTT reference value base_RTT, the transmission delay deliver_delay i of the previous cycle, and the transmission rate deliver_rate i of the previous cycle according to the preset detection rate algorithm and preset recovery rate algorithm respectively. Then, the adjustment device pre-stores multiple preset stages, and the adjustment device can compare the detection delay test_delay i (i.e., the first transmission delay) of this cycle, the transmission delay deliver_delay i(i.e., the third transmission delay) and the restoration delay restore_delay of this cycle i Based on the magnitude relationship between (i.e., the second transmission delay), determine the target stage entered in this cycle, and then update the system load ρ of this cycle i (i.e., the updated system load), and adjust the transmission rate deliver_rate of this cycle according to the updated system load i (i.e., the target transmission rate). Moreover, it is also possible to determine the slot addition situation in the next cycle, selectively add restoration slots to empty the buffer, and avoid adding redundant restoration slots, which may cause data transmission rate loss.
[0158] During the detection delay test_delay of this cycle i is less than or equal to the restoration delay restore_delay of this cycle i In this case, this cycle enters the growth stage. At this time, only detection slots need to be added in the next cycle, and no restoration slots are required. The adjustment device can obtain the system load ρ of this cycle based on the load reference value base_ρ, the load growth factor Δ, and the system load value ρ of the previous cycle i-1 i . The adjustment device can also obtain the transmission rate deliver_rate of this cycle according to the system load ρ of this cycle i and the detection rate test_rate of this cycle i i (i.e., in the case where the first transmission delay is less than or equal to the second transmission delay, based on the updated system load and the first transmission rate, determine the target transmission rate).
[0159] During the detection delay test_delay of this cycle i is greater than the restoration delay restore_delay of this cycle i , and the transmission delay deliver_delay of this cycle i is less than or equal to the restoration delay restore_delay of this cycle i In this case, this cycle enters the steady state stage. At this time, both detection slots and restoration slots need to be added in the next cycle. The adjustment device can obtain the system load ρ of this cycle based on the load growth factor Δ and the system load value ρ of the previous cycle i-1 i . The adjustment device can also obtain the transmission rate deliver_rate of this cycle according to the system load ρ of this cycle i and the detection rate test_rate of this cycle i i(That is, in the case where the first transmission delay is greater than the second transmission delay and the third transmission delay is less than or equal to the second transmission delay, determine the target transmission rate based on the updated system load and the historical transmission rate).
[0160] In the detection delay test_delay of this cycle i is greater than the recovery delay restore_delay of this cycle i , and the transmission delay deliver_delay of this cycle i is greater than the recovery delay restore_delay of this cycle i In this case, this cycle enters the backoff stage. At this time, it is necessary to add a detection time slot and a recovery time slot in the next cycle. The adjustment device can use the load reference value base_ρ as the system load ρ of this cycle i . The adjustment device can also be based on the system load ρ of this cycle i and the recovery rate restore_rate of this cycle i to obtain the transmission rate deliver_rate of this cycle i (That is, in the case where the first transmission delay is greater than the second transmission delay and the third transmission delay is greater than the second transmission delay, determine the target transmission rate based on the updated system load and the second transmission rate).
[0161] In the embodiments of the present application, the detection rate is the transmission rate of the data in the detection time slot, the recovery rate is the transmission rate of the data in the recovery time slot, and the transmission rate is the transmission rate of the data in the detection time slot.
[0162] It should be noted that for the acquisition methods of the detection delay test_delay i of this cycle, the transmission delay deliver_delay i of this cycle, and the recovery delay restore_delay i of this cycle, reference can be made to the introduction in the above embodiments that the adjustment device can obtain the first transmission delay, the second transmission delay, and the third transmission delay through the first operation and the second operation, which will not be elaborated here.
[0163] The following combines specific steps to introduce the above adjustment process of the transmission rate.
[0164] Step 1: When the adjustment device starts running, initialize the load reference value base_ρ, the RTT reference value base_RTT, and the load growth factor Δ.
[0165] Step 2: The adjustment device can obtain the transmission rate deliver_rate i-1 and the transmission delay deliver_delay of the previous cyclei-1 。
[0166] Step 3: According to the RTT reference value base_RTT, the transmission delay deliver_delay of the previous period i-1 and the transmission rate deliver_rate of the previous period i-1 Calculate the detection rate test_rate of this period and the recovery rate restore_rate of this period respectively according to the preset detection rate algorithm and the preset recovery rate algorithm i 。 i 。
[0167] It should be noted that for the process of the adjustment device determining the detection rate and the recovery rate of this period according to the RTT reference value base_RTT, the transmission delay deliver_delay of the previous period i-1 and the transmission rate deliver_rate of the previous period i-1 , reference can be made to the introduction in the above embodiments of the adjustment device determining the first transmission rate and the second transmission rate through Formula 1 and Formula 2, which will not be elaborated here.
[0168] Step 4: When test_delay i ≤restore_delay i , the network is not congested, and this period enters the growth stage. Assume that each period has 8 time slots. As Figure 8 shown, the detection time slot of the next period is 1, the recovery time slot is 0, and the transmission time slot is 7.
[0169] Step 5: When test_delay i >restore_delay i , and deliver_delay i ≤restore_delay i , the network is congested, and this period enters the steady state stage. Assume that each period has 8 time slots. As Figure 9 shown, the detection time slot of the next period is 1, the recovery time slot is 1, and the transmission time slot is 6.
[0170] Step 6: When test_delay i >restore_delay i , and deliver_delay i >restore_delay i , the network is congested, and this period enters the backoff stage. Assume that each period has 8 time slots. As Figure 10 shown, the detection time slot of the next period is 1, the recovery time slot is 1, and the transmission time slot is 6.
[0171] It should be noted that for the system load ρ of this cycle in the growth stage, steady state stage, and backoff stage i For the specific calculation process, reference can be made to the introduction in the above embodiments where the adjustment device determines the updated system load through Formula Five, Formula Six, and Formula Seven, which will not be elaborated here.
[0172] Moreover, for the transmission rate deliver_rate of this cycle in the growth stage, steady state stage, and backoff stage i For the specific calculation process, reference can be made to the introduction in the above embodiments where the adjustment device determines the target transmission rate through Formula Eight, which will not be elaborated here.
[0173] As a possible implementation, in the case of long-distance and large-volume background data transmission, the adjustment device can adjust the transmission rate of this cycle through the above transmission rate adjustment method, thereby avoiding network congestion and affecting service transmission.
[0174] Exemplarily, when the adjustment device starts running, the current cycle is the first cycle. The user can initialize the load reference value base_ρ to 0.8, the RTT reference value base_RTT to 30 milliseconds (ms), and the load growth factor Δ to 0.5. According to Formula Four above, in the case where the maximum bandwidth of the current network is 10 Gbit / s, based on the load reference value base_ρ of 0.8, the current available bandwidth is 8 Gbit / s.
[0175] Assume that the current transmission rate is 6 Gbit / s. Since the RTT reference value base_RTT is 30 ms, when the adjustment device enters the next cycle (i.e., the second cycle), the transmission rate deliver_rate of the previous cycle i-1 can be obtained as 6 Gbit / s and the transmission delay deliver_delay i-1 as 30 ms. By calculating according to Formula One and Formula Two above, the detection rate test_rate of the second cycle i can be obtained as 7.5 Gbit / s, and the recovery rate restore_rate of the second cycle i as 4.5 Gbit / s. Since the detection rate test_rate of the second cycle i is 7.5 Gbit / s, which is less than the current available bandwidth of 8 Gbit / s, no congestion will occur in the second cycle. One detection time slot, zero recovery time slots, and seven transmission time slots can be added in the next cycle (i.e., the third cycle). The adjustment device obtains the detection delay test_delay i of the second cycle and the recovery delay restore_delay i, at this time, test_delay i ≤restore_delay i , then the target stage entered in the second cycle is the growth stage. According to the above formulas five and eight for calculation, the system load ρ i of the second cycle is 0.9 Gbit / s, and the transmission rate deliver_rate i of the second cycle is 6.75 Gbit / s.
[0176] When the adjustment device enters the next cycle (i.e., the third cycle), the transmission rate deliver_rate i-1 of the previous cycle can be obtained as 6.75 Gbit / s. If the transmission delay deliver_delay i-1 of the second cycle obtained is 30 ms, according to the above formulas one and two for calculation, the detection rate test_rate i of the third cycle can be obtained as 8.43 Gbit / s, and the recovery rate restore_rate i of the third cycle is 5.06 Gbit / s. Since the detection rate test_rate i of the third cycle is 8.43 Gbit / s, which is greater than the current available bandwidth of 8 Gbit / s, congestion will occur in the third cycle. One detection time slot, one recovery time slot, and six transmission time slots can be added in the next cycle (i.e., the fourth cycle). Then, the adjustment device obtains the detection delay test_delay i , the transmission delay deliver_delay i of the third cycle, and the recovery delay restore_delay i of the third cycle. Since the number of added recovery time slots in the third cycle is 0, the adjustment device cannot directly obtain the recovery delay restore_delay i of the third cycle. The adjustment device can use the recovery delay of the second cycle as the recovery delay of the third cycle for subsequent judgment. At this time, test_delay i >restore_delay i , and deliver_delay i ≤restore_delay i , then the target stage entered in the third cycle is the steady state stage. According to the above formulas six and eight for calculation, the system load ρ i of the third cycle is 0.95 Gbit / s, and the transmission rate deliver_rate i of the third cycle is 7.08 Gbit / s.
[0177] When the adjustment device enters the next cycle (i.e., the fourth cycle), the transmission rate deliver_rate of the previous cycle can be obtained. i-1 is 7.08 Gbit / s. If the transmission delay deliver_delay of the third cycle obtained i-1 is 30 ms, and calculations are performed according to the above formulas (1) and (2), the detection rate test_rate of the fourth cycle can be obtained i is 8.85 Gbit / s, and the recovery rate restore_rate of the fourth cycle i is 5.31 Gbit / s. Since the detection rate test_rate of the fourth cycle i is 8.85 Gbit / s, which is greater than the current available bandwidth of 8 Gbit / s, congestion will occur in the fourth cycle. One detection time slot, one recovery time slot, and six transmission time slots can be added in the next cycle (i.e., the fifth cycle). The adjustment device obtains the detection delay test_delay i of the fourth cycle, the transmission delay deliver_delay of the fourth cycle i and the recovery delay restore_delay of the fourth cycle i . At this time, test_delay i >restore_delay i , and deliver_delay i ≤restore_delay i , then the target stage entered in the fourth cycle is still the steady state stage. According to the above formulas (6) and (8) for calculation, the system load ρ i of the fourth cycle can be obtained as 0.975 Gbit / s, and the transmission rate deliver_rate of the fourth cycle i is 7.25 Gbit / s.
[0178] If the link is changed in the fifth cycle, the current available bandwidth becomes 5 Gbit / s, and the transmission rate deliver_rate of the previous cycle can be obtained i-1 as 7.25 Gbit / s. If the transmission delay deliver_delay of the fifth cycle obtained i-1 is 30 ms, and calculations are performed according to the above formulas (1) and (2), the detection rate test_rate of the fifth cycle can be obtained i as 9 Gbit / s, and the recovery rate restore_rate of the fifth cycle i is 5.4 Gbit / s. Since the detection rate test_rate of the fifth cycle iIf it is 9 Gbit / s, which is greater than the current available bandwidth of 5 Gbit / s, congestion will occur in the fifth cycle. One probe time slot, one recovery time slot, and six transmission time slots can be added in the next cycle (i.e., the sixth cycle). The adjustment device obtains the probe delay test_delay of the fifth cycle i , the transmission delay deliver_delay of the fifth cycle i , and the recovery delay restore_delay of the fifth cycle i . At this time, test_delay i >restore_delay i , and deliver_delay i >restore_delay i , then the target stage entered in the fifth cycle is the backoff stage. According to the above formulas seven and eight for calculation, the system load ρ i of the fifth cycle is equal to the load reference value base_ρ of 0.8, and the transmission rate deliver_rate i of the fifth cycle is 4.32 Gbit / s.
[0179] It can be understood that since the real-time change of the network state will directly affect the current available bandwidth, the network congestion control can be achieved by dynamically adjusting the transmission rate to adapt to this change. The adjustment device finely adjusts the transmission rate on the premise of not exceeding the current available bandwidth to make full use of the existing bandwidth resources and avoid causing network congestion. This method can not only finely regulate the transmission rate to achieve network congestion control, but also improve the efficiency and stability of data transmission.
[0180] In summary, the present application can dynamically adjust the data transmission rate in the probe stage according to the real-time RTT delay, reduce the probability of network congestion caused by buffer backlog, and dynamically determine whether to add a recovery time slot according to the relationship between the probe delay and the transmission delay, avoiding unnecessary data transmission rate loss. At the same time, the present application introduces the concept of system load and prevents over-occupation of resources through resource reservation. This method can further improve the stability at the cost of a small amount of data transmission rate.
[0181] The above mainly introduces the solution provided by the embodiments of the present application from the perspective of computer devices. It can be understood that in order to implement the above functions, the computer device includes the corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should easily realize that in combination with the method steps for adjusting the transmission rate of each example described in the embodiments disclosed in the present application, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.
[0182] The embodiments of the present application also provide an apparatus for adjusting the transmission rate. The apparatus for adjusting the transmission rate can be a computer device, or the CPU in the above computer device, or the processing module in the above computer device for adjusting the transmission rate, or the client in the above computer device for adjusting the transmission rate.
[0183] The embodiments of the present application can divide the apparatus for adjusting the transmission rate into functional modules or functional units according to the above method examples. For example, each functional module or functional unit can be divided corresponding to each function, or two or more functions can be integrated into one processing module. The above integrated module can be implemented in the form of hardware or in the form of a software functional module or functional unit. Among them, the division of modules or units in the embodiments of the present application is illustrative, only a logical function division, and there can be other division methods in actual implementation.
[0184] As Figure 11 shown, it is a schematic structural diagram of an apparatus for adjusting the transmission rate provided by the embodiments of the present application. The apparatus for adjusting the transmission rate is used to execute Figure 3 、 Figure 5 the method for adjusting the transmission rate shown. The apparatus 1100 for adjusting the transmission rate can include: an acquisition module 1101 and a processing module 1102.
[0185] An obtaining module 1101 is configured to obtain the historical transmission rate and historical transmission delay of the transmitted data of a data packet in a corresponding historical transmission period. A processing module 1102 is configured to determine a first transmission rate and a second transmission rate of the untransmitted data of the data packet in a target transmission period according to the historical transmission rate and the historical transmission delay, where the first transmission rate is the transmission rate of a first part of the untransmitted data in a first sub-period of the target transmission period, the second transmission rate is the transmission rate of a second part of the untransmitted data in a second sub-period of the target transmission period, and the historical transmission rate is less than the first transmission rate and greater than the second transmission rate. The processing module 1102 is further configured to determine a target transmission rate of a third part of the untransmitted data in the remaining period of the target transmission period according to the first transmission rate, the second transmission rate, and the historical transmission rate, where the third part of the data is the other part of the untransmitted data except the first part of the data and the second part of the data.
[0186] Optionally, the obtaining module 1101 is configured to obtain a first transmission delay corresponding to the first transmission rate, a second transmission delay corresponding to the second transmission rate, and a third transmission delay corresponding to the historical transmission rate, where the first transmission delay is the delay for the first part of the data to be transmitted at the first transmission rate in the first sub-period, the second transmission delay is the delay for the second part of the data to be transmitted at the second transmission rate in the second sub-period, the third transmission delay is the delay for a fourth part of the data to be transmitted at the historical transmission rate in a third sub-period of the target transmission period, and the fourth part of the data is the other part of the untransmitted data except the first part of the data and the second part of the data. The processing module 1102 is specifically configured to update the system load according to the first transmission delay, the second transmission delay, and the third transmission delay to obtain the updated system load. The processing module 1102 is further configured to determine the target transmission rate according to the first transmission delay, the second transmission delay, the third transmission delay, the updated system load, the first transmission rate, the second transmission rate, and the historical transmission rate, where the third part of the data corresponding to the target transmission rate is the other part of the untransmitted data except the first part of the data, the second part of the data, and the fourth part of the data.
[0187] Optionally, when the first transmission delay is less than or equal to the second transmission delay, the processing module 1102 is specifically configured to determine a target transmission rate based on the updated system load and the first transmission rate. When the first transmission delay is greater than the second transmission delay and the third transmission delay is less than or equal to the second transmission delay, the processing module 1102 is further configured to determine a target transmission rate based on the updated system load and the historical transmission rate. When the first transmission delay is greater than the second transmission delay and the third transmission delay is greater than the second transmission delay, the processing module 1102 is further configured to determine a target transmission rate based on the updated system load and the second transmission rate.
[0188] Optionally, when the transmission delay corresponding to the first historical period is greater than the transmission delay corresponding to the second historical period, the obtaining module 1101 is configured to obtain the first transmission delay, the second transmission delay, and the third transmission delay through a first operation. The first operation includes: the obtaining module 1101 is configured to obtain the first transmission delay by sending a first part of data at a first transmission rate in a first sub-period. The obtaining module 1101 is further configured to obtain the second transmission delay by sending a second part of data at a second transmission rate in a second sub-period. The obtaining module 1101 is further configured to obtain the third transmission delay by sending a fourth part of data at a historical transmission rate in a third sub-period.
[0189] Optionally, when the transmission delay corresponding to the first historical period is less than or equal to the transmission delay corresponding to the second historical period, the obtaining module 1101 is configured to obtain the first transmission delay, the second transmission delay, and the third transmission delay through a second operation. The second operation includes: the obtaining module 1101 is further configured to obtain the first transmission delay by sending a first part of data at a first transmission rate in a first sub-period. The processing module 1102 is configured to use the transmission delay corresponding to the second historical period as the second transmission delay. The obtaining module 1101 is further configured to obtain the third transmission delay by sending a fourth part of data at a historical transmission rate in a third sub-period.
[0190] Optionally, when there is remaining data other than the first part of data, the second part of data, and the third part of data in the untransmitted data, the processing module 1102 is specifically configured to determine the transmission rate of the remaining data in a future transmission period according to the target transmission rate and the target transmission delay corresponding to the target transmission rate, where the target transmission delay is the delay for the third part of data to be transmitted at the target transmission rate in the remaining period.
[0191] Figure 12 It is a schematic structural diagram of a transmission rate adjustment device shown according to an exemplary embodiment. The device may include a processor 1202, and the processor 1202 is configured to execute application program code to implement the transmission rate adjustment method in the present application.
[0192] The processor 1202 can be a CPU, a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits for adjusting the execution of the program of the present application solution.
[0193] Such as Figure 12 shown, the transmission rate adjustment device may further include a memory 1203. Among them, the memory 1203 is used to store the application program code for executing the present application solution and is adjusted and executed by the processor 1202.
[0194] The memory 1203 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 1203 can exist independently and be connected to the processor 1202 through a bus 1204. The memory 1203 can also be integrated with the processor 1202.
[0195] Such as Figure 12 shown, the transmission rate adjustment device may further include a communication interface 1201. Among them, the communication interface 1201, the processor 1202, and the memory 1203 can be coupled to each other. For example, they can be coupled to each other through a bus 1204. The communication interface 1201 is used to interact with other devices. For example, it supports the information interaction between the transmission rate adjustment device and other devices.
[0196] It should be noted that Figure 12 the device structure shown in Figure 12 does not constitute a limitation on the transmission rate adjustment device. Except for
[0197] In actual implementation, all the functions implemented by the processing module 1102 can be implemented by the processor 1202 shown in Figure 12 invoking the program code in the memory 1203.
[0198] This application also provides a computer-readable storage medium. Instructions are stored on the computer-readable storage medium. When the instructions in the computer-readable storage medium are executed by the processor of a computer device, the computer is enabled to execute the method for adjusting the transmission rate provided in the above-described embodiments. For example, the computer-readable storage medium can be the memory 1203 including instructions, and the above instructions can be executed by the processor 1202 of the computer device to complete the above method. Optionally, the computer-readable storage medium can be a non-transitory computer-readable storage medium. For example, the non-transitory computer-readable storage medium can be ROM, RAM, CD-ROM, magnetic tape, floppy disk, and optical data storage devices, etc.
[0199] Figure 13 Exemplarily shown is a conceptual partial view of a computer program product provided by an embodiment of this application. The computer program product includes a computer program for executing a computer process on a computing device.
[0200] In one embodiment, the computer program product is provided using a signal-bearing medium 1300. The signal-bearing medium 1300 can include one or more program instructions that, when run by one or more processors, can provide the functions or partial functions described above for Figure 3 、 Figure 5 Therefore, for example, referring to the embodiment shown in Figure 3 , one or more features of S301 to S303 can be borne by one or more instructions associated with the signal-bearing medium 1300. In addition, Figure 13 the program instructions in also describe example instructions.
[0201] In some examples, the signal-bearing medium 1300 can include a computer-readable medium 1301, such as but not limited to, a hard disk drive, a compact disc (CD), a digital video disc (DVD), a digital tape, a memory, a read-only memory (ROM), or a random access memory (RAM), etc.
[0202] In some embodiments, the signal-bearing medium 1300 can include a computer-recordable medium 1302, such as but not limited to, a memory, a read / write (R / W) CD, an R / W, a DVD, etc.
[0203] In some embodiments, the signal-bearing medium 1300 may include a communication medium 1303, such as, but not limited to, digital and / or analog communication media (e.g., fiber optic cables, waveguides, wired communication links, wireless communication links, etc.).
[0204] The signal-bearing medium 1300 may be conveyed by a wireless form of the communication medium 1303. One or more program instructions may be, for example, computer-executable instructions or logic-implemented instructions.
[0205] In some examples, such as for Figure 11 the adjustment device for the described transmission rate may be configured to provide various operations, functions, or actions in response to one or more program instructions in the computer-readable medium 1301, the computer-recordable medium 1302, and / or the communication medium 1303.
[0206] Through the description of the above embodiments, those skilled in the art can clearly understand that for the convenience and conciseness of description, only the above division of each functional module is used as an example. In actual applications, the above functions can be allocated to different functional modules according to needs, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above.
[0207] In several embodiments provided in the present application, it should be understood that the disclosed device and method can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of modules or units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point, the displayed or discussed coupling or direct coupling or communication connection between each other can be through some interfaces. The indirect coupling or communication connection of the device or unit can be in electrical, mechanical or other forms.
[0208] The units described as separate components may or may not be physically separated. The components displayed as units may be one physical unit or multiple physical units, that is, they can be in one place, or they can be distributed to multiple different places. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0209] In addition, each functional unit in each embodiment of the present application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units.
[0210] When the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on such an understanding, the technical solution of the embodiments of the present application, in essence, or the part that contributes to the prior art, or all or part of this technical solution can be embodied in the form of a software product. This software product is stored in a storage medium and includes several instructions for causing a device (which can be a single-chip microcomputer, a chip, etc.) or a processor to execute all or part of the steps of the methods of the embodiments of the present application. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a ROM, a RAM, a magnetic disk, or an optical disc.
[0211] The above is only the specific implementation manner of the present application, but the protection scope of the present application is not limited thereto. Any changes or substitutions within the technical scope disclosed in the present application should be covered within the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
Claims
1. A method for adjusting a transmission rate, characterized in that: The method comprises: Obtaining a historical transmission rate and a historical transmission delay of transmitted data of a data packet in a corresponding historical transmission period; Determine, according to the historical transmission rate and the historical transmission delay, a first transmission rate and a second transmission rate of the untransmitted data of the data packet in a target transmission period, wherein the first transmission rate is a transmission rate of a first portion of the untransmitted data in a first sub-period of the target transmission period, and the second transmission rate is a transmission rate of a second portion of the untransmitted data in a second sub-period of the target transmission period, and the historical transmission rate is less than the first transmission rate and greater than the second transmission rate; Based on the first transmission rate, the second transmission rate and the historical transmission rate, determine the target transmission rate of the third part of the untransmitted data in the remaining period of the target transmission period, and the third part of the data is the other part of the untransmitted data except the first part of the data and the second part of the data.
2. The method according to claim 1, characterized in that The step of determining, according to the first transmission rate, the second transmission rate, and the historical transmission rate, a target transmission rate of the third portion of the untransmitted data in the remaining period of the target transmission period includes: Obtain a first transmission delay corresponding to the first transmission rate, a second transmission delay corresponding to the second transmission rate, and a third transmission delay corresponding to the historical transmission rate, wherein the first transmission delay is a delay for the first portion of data to be transmitted at the first transmission rate in the first sub-period, the second transmission delay is a delay for the second portion of data to be transmitted at the second transmission rate in the second sub-period, the third transmission delay is a delay for the fourth portion of data to be transmitted at the historical transmission rate in the third sub-period of the target transmission period, and the fourth portion of data is other portion of data in the untransmitted data except the first portion of data and the second portion of data; updating the system load according to the first transmission delay, the second transmission delay, and the third transmission delay to obtain the updated system load; The target transmission rate is determined based on the first transmission delay, the second transmission delay, the third transmission delay, the updated system load, the first transmission rate, the second transmission rate and the historical transmission rate, and the third part of data corresponding to the target transmission rate is the other part of the data in the untransmitted data except the first part of the data, the second part of the data and the fourth part of the data.
3. The method according to claim 2, characterized in that The determining the target transmission rate according to the first transmission delay, the second transmission delay, the third transmission delay, the updated system load, the first transmission rate, the second transmission rate, and the historical transmission rate includes: In a case where the first transmission delay is less than or equal to the second transmission delay, determining the target transmission rate based on the updated system load and the first transmission rate; or, In a case where the first transmission delay is greater than the second transmission delay and the third transmission delay is less than or equal to the second transmission delay, determining the target transmission rate based on the updated system load and the historical transmission rate; or, When the first transmission delay is greater than the second transmission delay and the third transmission delay is greater than the second transmission delay, the target transmission rate is determined based on the updated system load and the second transmission rate.
4. The method according to claim 2, characterized in that: The historical transmission period includes: a first historical period, a second historical period and a third historical period, the third historical period corresponds to the historical transmission rate, the historical transmission rate is determined according to the transmission rate corresponding to the first historical period and the transmission rate corresponding to the second historical period, the historical transmission rate is less than the transmission rate corresponding to the first historical period and greater than the transmission rate corresponding to the second historical period; Acquiring a first transmission delay corresponding to the first transmission rate, a second transmission delay corresponding to the second transmission rate, and a third transmission delay corresponding to the historical transmission rate, including: When the transmission delay corresponding to the first historical period is greater than the transmission delay corresponding to the second historical period, obtaining the first transmission delay, the second transmission delay and the third transmission delay through a first operation; The first operation includes: Acquire the first transmission delay by sending the first portion of data at the first transmission rate in the first sub-period; Acquire the second transmission delay by sending the second portion of data at the second transmission rate in the second sub-time period; The third transmission delay is acquired by sending the fourth portion of data at the historical transmission rate in the third sub-period.
5. The method according to claim 4, characterized in that The method further comprises: When the transmission delay corresponding to the first historical period is less than or equal to the transmission delay corresponding to the second historical period, obtaining the first transmission delay, the second transmission delay and the third transmission delay through a second operation; The second operation includes: Acquire the first transmission delay by sending the first portion of data at the first transmission rate in the first sub-period; Using the transmission delay corresponding to the second historical period as the second transmission delay; The third transmission delay is acquired by sending the fourth portion of data at the historical transmission rate in the third sub-period.
6. The method according to claim 1, characterized in that The method further comprises: In the case that there is remaining data in the untransmitted data except the first part of data, the second part of data and the third part of data, the transmission rate of the remaining data in a future transmission period is determined according to the target transmission rate and the target transmission delay corresponding to the target transmission rate, and the target transmission delay is the delay for transmitting the third part of data at the target transmission rate in the remaining period.
7. A transmission rate adjustment device, characterized in that: The device comprises: An acquisition module, used to acquire a historical transmission rate and a historical transmission delay of the transmitted data of the data packet in a corresponding historical transmission period; a processing module, configured to determine a first transmission rate and a second transmission rate of the untransmitted data of the data packet in a target transmission period according to the historical transmission rate and the historical transmission delay, wherein the first transmission rate is a transmission rate of a first portion of the untransmitted data in a first sub-period of the target transmission period, and the second transmission rate is a transmission rate of a second portion of the untransmitted data in a second sub-period of the target transmission period, and the historical transmission rate is less than the first transmission rate and greater than the second transmission rate; The processing module is also used to determine the target transmission rate of the third part of the untransmitted data in the remaining period of the target transmission period based on the first transmission rate, the second transmission rate and the historical transmission rate, and the third part of the data is the other part of the untransmitted data except the first part of the data and the second part of the data.
8. A transmission rate adjustment device, characterized in that: include: Processor and memory; The processor is coupled to the memory; The memory is used to store one or more programs, and the one or more programs include computer execution instructions. When the transmission rate adjustment device is running, the processor executes the computer execution instructions stored in the memory to enable the transmission rate adjustment device to perform the method as described in any one of claims 1-6.
9. A computer-readable storage medium, wherein instructions are stored in the computer-readable storage medium, characterized in that: When a computer executes the instructions, the computer performs the method according to any one of claims 1 to 6.
10. A computer program product, characterized in that The computer program product comprises computer program instructions, which implement the method according to any one of claims 1 to 6 when the computer program instructions are executed.
