Transmission control method
By dynamically adjusting the sliding window by obtaining network status and topological structure information, the problem of insufficient adjustment of sliding windows in the prior art is solved, which improves data transmission effect, reduces network congestion, and improves user experience.
Patent Information
- Application Number
- CN202411133841.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-19
- Publication Date
- 2024-12-27
AI Technical Summary
When solving network congestion in the prior art, the sliding window adjustment is not accurate enough, resulting in limited data transmission effect and some data packets are stuck or lost, affecting network performance.
By obtaining network status information and network topology information between the sender and the receiver, dynamically adjust the sliding window to ensure that it can adapt to changes in the transmission link and avoid congestion.
More precise sliding window adjustments are achieved, data transmission effect is improved, packet loss rate and latency are reduced, and network performance and user experience are improved.
Smart Images

Figure CN119211148A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of network technology, and in particular to a transmission control method. Background Art
[0002] Network congestion refers to the situation where too much data is transmitted in a packet switching network, resulting in a decrease in network transmission performance due to limited resources of the storage and forwarding nodes. Network congestion is a state of continuous overload in the network, when the user's demand for network resources (including link bandwidth, storage space, and processor processing power, etc.) exceeds the inherent processing power and capacity. In the architecture of the Internet, the occurrence of congestion is its inherent attribute.
[0003] How to solve the network congestion problem and improve the data transmission effect of the network has become a hot research topic. Summary of the invention
[0004] The purpose of the embodiments of the present application is to provide a transmission control method for achieving more accurate sliding window adjustment to better solve the network congestion problem and improve the data transmission effect of the network.
[0005] In order to achieve the above objectives, the present application embodiment adopts the following technical solutions:
[0006] In a first aspect, an embodiment of the present application provides a transmission control method, including:
[0007] Obtain network status information and network topology information of the transmission link between the sender and the receiver;
[0008] Based on the network status information and the network topology information, the sliding window of the transmission link is adjusted so that the sender sends a data packet to the receiver according to the adjusted sliding window.
[0009] In a second aspect, an embodiment of the present application provides a transmission control device, including:
[0010] An acquisition module is used to acquire network status information and network topology information of the transmission link between the sender and the receiver;
[0011] An adjustment module is used to adjust the sliding window of the transmission link based on the network status information and the network topology information, so that the sender sends a data packet to the receiver according to the adjusted sliding window.
[0012] In a third aspect, an embodiment of the present application provides an electronic device, including:
[0013] processor;
[0014] a memory for storing instructions executable by the processor;
[0015] The processor is configured to execute the instructions to implement the transmission control method provided in the first aspect.
[0016] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium. When instructions in the storage medium are executed by a processor of an electronic device, the electronic device can execute the transmission control method provided in the first aspect.
[0017] In a fifth aspect, an embodiment of the present application provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program, and the computer program is operable to cause a computer to execute part or all of the steps of the transmission control method provided in the first aspect.
[0018] At least one of the above technical solutions adopted in the embodiments of the present application can achieve the following beneficial effects:
[0019] The network status information and network topology information of the transmission link between the sender and the receiver are obtained to realize multi-dimensional monitoring of the transmission link as the basis for adjusting the sliding window. Since changes in the network status and network topology of the transmission link will affect the data transmission process, the sliding window of the transmission link is adjusted more accurately based on the obtained network status information and network topology information, so that the adjusted sliding window can dynamically adapt to changes in the transmission link, more effectively solve network congestion problems, and improve data transmission effects. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0021] Figure 1 A schematic diagram of an implementation environment applicable to a transmission control method provided by an embodiment of the present application;
[0022] Figure 2 A flow chart of a transmission control method provided for one embodiment of the present application;
[0023] Figure 3 A schematic diagram of the structure of a transmission control device provided for one embodiment of the present application;
[0024] Figure 4 A schematic diagram of the structure of an electronic device provided for one embodiment of the present application. DETAILED DESCRIPTION
[0025] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in combination with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.
[0026] The terms "first", "second", etc. in this specification and claims are used to distinguish similar objects, and are not used to describe a particular order or precedence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present application can be implemented in an order other than those illustrated or described herein. In addition, "and / or" in this specification and claims means at least one of the connected objects, and the character " / " generally means that the objects associated with each other are in an "or" relationship.
[0027] As mentioned above, in order to improve the data transmission effect of the network, it is necessary to solve the network congestion, and the method to solve the network congestion is congestion control.
[0028] In the related art, the AIMD (Additive Increase Multiplicative Decrease) algorithm is usually used, which responds to network congestion by increasing the data packet sending rate, and quickly reduces the sending rate when network congestion is detected. Specifically, when the AIMD algorithm detects network congestion, it will change the sliding window size according to the network congestion situation in order to quickly reduce the sending rate, resulting in the real-time performance of data transmission being affected, but because the window size is only adjusted according to the network congestion situation. However, the above-mentioned method of adjusting the sliding window size only by relying on the network congestion situation is not accurate enough, resulting in a relatively limited effect of improving data transmission. For example, when the network is congested, some data packets will stay in the network for too long, thereby increasing the risk of data packet loss or damage.
[0029] In view of this, an embodiment of the present application proposes a transmission control method, which obtains network status information and network topology information of the transmission link between the sender and the receiver, realizes multi-dimensional monitoring of the transmission link, and serves as a basis for adjusting the sliding window; because changes in the network status and network topology of the transmission link will affect the data transmission process, based on the obtained network status information and network topology information, the sliding window of the transmission link is adjusted more accurately, so that the adjusted sliding window can dynamically adapt to changes in the transmission link, more effectively solve network congestion problems, and improve data transmission effects.
[0030] It should be understood that the transmission control method provided in the embodiment of the present application can be executed by an electronic device, which can be a device serving as a sender, or an intermediate device between the sender and the receiver. The electronic devices referred to herein may include terminal devices, such as smart phones, tablet computers, laptop computers, desktop computers, intelligent voice interaction devices, smart home appliances, smart watches, vehicle terminals, aircraft, etc.; or, the electronic device may also include a server, such as an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services.
[0031] The technical solutions provided by various embodiments of the present application are described in detail below in conjunction with the accompanying drawings.
[0032] In order to facilitate the understanding of the technical solution provided in the embodiments of the present application, firstly Figure 1 , the implementation environment applicable to the technical solution provided in the embodiment of the present application is described. It should be understood that the technical solution provided in the embodiment of the present application is applicable to Figure 1 The implementation environment shown is only an exemplary description and should not be understood as a limitation on the implementation environment to which the technical solution is applicable.
[0033] like Figure 1 As shown, an implementation environment applicable to the technical solution provided in the embodiment of the present application includes: a sender 101 and a receiver 102. The sender and the receiver 102 exchange data through wired or wireless communication. Among them, the sender 101 and the receiver 102 can include, for example, but not limited to, a server, a smart phone, a tablet computer, a laptop computer, a desktop computer, an intelligent voice interaction device, a smart home appliance, a smart watch, a vehicle terminal, an aircraft, etc.
[0034] A transmission link is set between the sender 101 and the receiver 102. The transmission link includes multiple network nodes, which play a role in data forwarding and can forward data between the sender 101 and the receiver 102. The sender 101 can send a data packet to the receiver 102 through the transmission link. After receiving the data packet, the receiver 102 returns the confirmation information (ack) corresponding to the data packet to the sender 101 through the transmission link.
[0035] During the data packet transmission process, if the transmission link is overloaded due to excessive traffic, it will cause network congestion, affecting the data transmission effect between the receiver and the sender. To this end, by sending and receiving data through a sliding window in the transmission link, the amount of data sent from the sender to the receiver can be limited to solve the network congestion problem and improve the data transmission effect.
[0036] See also Figure 2, is a flow chart of a transmission control method provided by an embodiment of the present application, the method comprising the following steps:
[0037] S202, obtaining network status information and network topology information of the transmission link between the sender and the receiver.
[0038] The network status information is used to describe the network status of the transmission link. The network status information may include, for example, but is not limited to, at least one of the following information: network delay time, packet loss rate, and transmission time of the transmission link. In the above S202, the network status information may be obtained by monitoring the transmission link using various network monitoring technologies commonly used in the art.
[0039] The network topology information is used to describe the topology of the transmission link. The network topology information may include, but is not limited to: the network topology type of the transmission link, the number of network nodes on the transmission link, the number of network layers contained in each network node, the connection relationship between network nodes, etc.
[0040] In the above S204, a network analysis tool may be used to analyze the network traffic pattern of the transmission link to determine the network topology information, or a general network management program may be used to monitor the topology of the transmission link in real time to obtain the network topology information.
[0041] It is worth noting that there is no strict order between obtaining network status information and obtaining network topology information, that is, the two can be performed simultaneously, or a different order can be selected according to actual needs, such as obtaining the network status information first and then obtaining the network topology information, or obtaining the network topology information first and then obtaining the network status information.
[0042] S204, based on the network state information and the network topology information, adjusting the sliding window of the transmission link so that the sender sends the data packet to the receiver according to the adjusted sliding window.
[0043] The sliding window is a means for preventing a transmission link from being overloaded due to excessive traffic, and is used to limit the amount of data sent by the sender to avoid network congestion in the transmission link and affect the data transmission effect. The sliding window adjusted in the embodiment of the present application refers to the sending window of the sender.
[0044] Since changes in the network status and network topology of the transmission link will affect the data transmission process, the sliding window of the transmission link is adjusted more accurately based on the acquired network status information and network topology information, so that the adjusted sliding window can dynamically adapt to changes in the transmission link, more effectively solve network congestion problems, and improve data transmission effects.
[0045] Based on the network status information and the network topology information, the sliding window of the transmission link can be adjusted in various appropriate ways, which can be selected according to actual needs, and the embodiments of the present application are not limited to this.
[0046] In one embodiment, the above S204 includes the following steps:
[0047] S241, determining a first candidate window size of a sliding window based on network status information.
[0048] The first candidate window size is negatively correlated with the network status information. For example, if the network status of the transmission link is good, such as short network delay time, low packet loss rate or short data transmission time, the window size is large, and the first candidate window size is a large value, so as to increase the amount of data sent by the sender, so as to improve network utilization; if the network status of the transmission link is poor, such as long network delay time, high packet loss rate or long data transmission time, the first candidate window size is a small value, so as to reduce the amount of data sent by the sender, so as to alleviate network congestion and improve data transmission effect.
[0049] As an example, based on a first preset mapping relationship between network status information and window size, a window size corresponding to the network status information of the transmission link is determined as a first candidate window size.
[0050] As another example, the network status information includes a network delay time. In this case, the above S241 includes: step A1, determining a first ratio between the network delay time and a first preset delay time threshold; step A2, determining a first adjustment ratio of the sliding window based on the first ratio; step A3, determining a product between a current window size of the sliding window and the first adjustment ratio as a first candidate window size of the sliding window of the transmission link.
[0051] In the above step A1, the first preset delay time threshold can be set according to actual needs. Specifically, the first delay time threshold can be set according to experience, or it can be set according to the first preset delay time threshold used in the process of adjusting the sliding window of other transmission links similar to the transmission link, or it can be set according to the network delay time of other transmission links similar to the transmission link and with good network status. The embodiment of the present application does not limit the setting method of the first preset delay time threshold. For example, if the network status of the transmission link is good and the requirement for the data transmission rate is high, the first preset delay time threshold is set to a smaller value; if the network status of the transmission link is poor and the requirement for the data transmission rate is low, the first preset delay time threshold is set to a higher value.
[0052] In the embodiment of the present application, two similar transmission links may be transmission links with similar network topology structures, such as the types of network topology structures are both star topology structures, or the number of network nodes on the transmission links are the same, and the connection relationship between the network nodes is the same, etc. The embodiment of the present application is not limited to this.
[0053] In the above step A2, the first ratio can be directly used as the first adjustment ratio. For example, if the network delay time is 40ms and the first preset delay time threshold is 20ms, then the first adjustment ratio is 2.
[0054] Considering that in this way, the first adjustment ratio changes linearly, so that the window size of the sliding window changes greatly, it is easy to have a negative impact on the data transmission effect. To this end, in a more preferred solution, the above step A2 includes: based on the first ratio, performing an exponential operation on the first adjustment factor of the transmission link to obtain the first adjustment ratio of the sliding window of the transmission link. The first adjustment factor is a positive number less than 1.
[0055] Exemplarily, the first adjustment ratio is determined by the following formula (1):
[0056]
[0057] Wherein, W represents the first candidate window size of the sliding window, W0 represents the current window size of the sliding window, a represents the first adjustment factor, D represents the network delay time of the transmission link, D0 represents the first preset delay time threshold, Indicates the first adjustment ratio.
[0058] In this way, when the network delay time of the transmission link is greater than the first preset delay time threshold, it indicates that the network state of the transmission link is poor and network congestion is prone to occur. The first candidate window size determined by the above method is reduced compared to the current window size, which helps to reduce the amount of data sent by the sender, thereby helping to alleviate network congestion and improve the data transmission effect between the sender and the receiver; when the network delay time of the transmission link is less than the first preset delay time threshold, it indicates that the network state of the transmission link is good. The first candidate window size determined by the above method is increased compared to the current window size, which helps to increase the amount of data sent by the sender, thereby improving network utilization. In addition, the first adjustment ratio is obtained on the basis of exponential operation based on the first ratio, and its variation range is smaller than that of the first ratio, so that fine-grained and smooth adjustment of the sliding window can be achieved.
[0059] In the above manner, before the above step A2, the first adjustment factor can be set according to actual needs. For example, the first adjustment factor can be set based on experience.
[0060] For another example, based on the network topology information of the transmission link, a reference transmission link similar to the transmission link is determined, and based on the first adjustment factor of the reference transmission link, a first adjustment factor of the transmission link is determined. The reference transmission link similar to the transmission link may have a similar network topology to the transmission link, such as a star topology, or the number of network nodes included is the same, and the connection relationship between the network nodes is the same, etc., which is not limited in the embodiments of the present application.
[0061] For another example, based on the data transmission time of the transmission link, the first adjustment factor of the transmission link is determined. Specifically, the first adjustment factor of the transmission link is negatively correlated with the data transmission time. If the data transmission time is large, it indicates that the network state of the transmission link is poor, and the first adjustment factor is determined to be a small value, and the first candidate window size obtained is small, so as to reduce the amount of data sent by the sender, so as to alleviate network congestion and improve data transmission effect; if the data transmission time is small, it indicates that the network state of the transmission link is good, and the first adjustment factor is determined to be a large value, and the first candidate window size obtained is large, so as to increase the amount of data sent by the sender and improve network utilization.
[0062] S242: Determine a second candidate window size of the sliding window based on the network topology information.
[0063] In the above S242, the second candidate window size of the sliding window may be determined at various appropriate times.
[0064] As an example, the second candidate window size of the sliding window may be periodically determined based on network topology information in a current period.
[0065] As another example, when the network topology of the transmission link changes significantly, a second candidate window size of the sliding window is determined based on the network topology information.
[0066] Exemplarily, whether the network topology of the transmission link has undergone a significant change can be determined based on the change in the link state parameters of the transmission link. Specifically, a link state time series of the transmission link is obtained, which includes link state parameters of multiple historical time points arranged based on a time sequence; regression prediction is performed on the link state time series to predict the link state parameters of the transmission link at the current time point; further, a second parameter difference between the predicted link state parameters and the current link state parameters of the transmission link (i.e., the actual link state parameters at the current time point) is determined; if the second parameter difference is greater than a preset parameter difference, it is determined that the network topology of the transmission link has undergone a significant change; otherwise, it is determined that the network topology of the transmission link has not undergone a significant change.
[0067] Among them, for each time point, the link state parameters of the transmission link at that time point are used to describe the link state of the transmission link at that time point, for example, including but not limited to at least one of the following parameters: state value, the number of network nodes participating in data transmission on the transmission link, the transmission time of each network node, etc.
[0068] Regression prediction of link status time series can be achieved by various regression prediction analysis algorithms, such as ARIMA model, etc., denoted as ARIMA(p,d,q), where p represents the order of the autoregressive part, d represents the order of the difference, and q represents the order of the moving average part. The ARIMA model is used to fit and predict the link status time series to obtain the predicted link status parameters of the transmission link at the current time point.
[0069] The second parameter difference can be expressed by Mean Squared Error (MSE), that is, MSE = E[(x(t)-x p (t)) 2 ], where MSE represents mean square error, x(t)- represents the predicted link state parameter, and x p (t) represents the current link state parameter, and E represents the expected function.
[0070] In the above S242, the second candidate window size of the sliding window may be determined in various appropriate ways.
[0071] As an example, based on a second preset mapping relationship between network topology information and window size, a window size corresponding to the network topology information of the transmission link is determined as the second candidate window size.
[0072] For example, if the network topology of the transmission link is conducive to data transmission, such as the network topology of the transmission link changes from a tree topology to a star topology, and from 8 network nodes including 2 network layers to a total of 10 network nodes including 3 network layers, then the second candidate window size is determined to be a larger value to increase the amount of data sent by the sender, improve network utilization, and improve data transmission efficiency; if the network topology of the transmission link is not conducive to data transmission, then the second candidate window size is determined to be a smaller value to reduce the amount of data sent by the sender, avoid network congestion, and improve data transmission effect.
[0073] As another example, the network topology information includes the number of network nodes on the transmission link. In this case, the above S242 includes the following steps: step B1, determining a second ratio between the number and a preset number threshold; step B2, determining a second adjustment ratio of the sliding window based on the second ratio; step B3, determining the product between the current window size of the sliding window and the second adjustment ratio as the second candidate window size of the sliding window.
[0074] In the above step B1, the preset number threshold value can be set according to actual needs. For example, the preset number threshold value can be set according to experience, or can also be set according to the preset number threshold value used in the process of adjusting the sliding window of other transmission links similar to the transmission link, or can also be set according to the number of network nodes on other transmission links similar to the transmission link and with good network status. The embodiment of the present application does not limit the setting method of the preset number threshold value.
[0075] In the above step B2, the second ratio may be directly used as the second adjustment ratio. For example, if the number of network nodes on the transmission link is 10 and the preset number threshold is 6, then the second adjustment ratio is 5 / 3.
[0076] Considering that in this way, the second adjustment ratio changes linearly, so that the window size of the sliding window changes greatly, it is easy to have a negative impact on the data transmission effect. To this end, in a more preferred solution, the above step B2 includes: based on the second ratio, performing an exponential operation on the second adjustment factor of the transmission link to obtain the second adjustment ratio of the sliding window. The second adjustment factor is a value greater than 1.
[0077] Exemplarily, the second adjustment ratio is determined by the following formula (2):
[0078]
[0079] Wherein, W1 represents the second candidate window size of the sliding window, W0 represents the current window size of the sliding window, b represents the second adjustment factor, H represents the number of network nodes on the transmission link, H0 represents the preset number threshold, Indicates the second adjustment ratio.
[0080] In this way, when the number of network nodes on the transmission link is greater than the preset number threshold, the transmission link is conducive to data transmission. The second candidate window size determined by the above method is increased compared to the current window size, which helps to increase the amount of data sent by the sender, thereby improving network utilization. When the number of network nodes on the transmission link is less than the preset number threshold, the transmission link is not conducive to data transmission and network congestion is prone to occur. The second candidate window size determined by the above method is reduced compared to the current window size, which helps to reduce the amount of data sent by the sender, thereby helping to alleviate network congestion and improve the data transmission effect between the sender and the receiver. In addition, the second adjustment ratio is obtained on the basis of exponential operation based on the second ratio, and its variation range is smaller than that of the second ratio, so that fine-grained and smooth adjustment of the sliding window can be achieved.
[0081] In the above manner, before the above step B2, the second adjustment factor can be set according to actual needs. For example, the second adjustment factor can be set based on experience.
[0082] For another example, a current link state parameter of the transmission link is obtained, and a second adjustment factor of the transmission link is determined based on a first parameter difference between the current link state parameter and a preset link state parameter.
[0083] Among them, the current link state parameters of the transmission link are used to describe the link state of the transmission link at the current time point, for example including but not limited to at least one of the following parameters: current state value, the number of network nodes currently participating in data transmission on the transmission link, the current transmission time of each network node, etc.
[0084] The second adjustment factor is negatively correlated with the first parameter difference. Specifically, the second adjustment factor can be determined by the following formula (3):
[0085] b=f(x(t),t)=1-K×(x(t)-L0) (3)
[0086] Wherein, b represents the second adjustment factor, x(t) represents the current link state parameter of the transmission link, that is, the link state parameter of the transmission link at the current time point t, L0 represents the preset link state parameter, and K represents the preset coefficient. When x(t) is less than L0, the value of b is close to 1; when x(t) is greater than L0, the value of b will gradually decrease. In this way, the second adjustment factor can be dynamically adjusted according to the change of the link state parameter, thereby realizing the dynamic adjustment of the window size of the sliding window.
[0087] Optionally, the network status information also includes the packet loss rate of the transmission link. After the above step B2, the following steps are also included: if the packet loss rate is greater than or equal to a preset packet loss rate threshold, a third adjustment ratio of the second adjustment factor is determined based on the packet loss rate; based on the third adjustment ratio, the second adjustment factor is reduced. The third adjustment ratio is negatively correlated with the packet loss rate, that is, when the packet loss rate is large, the third adjustment ratio is small; when the packet loss rate is small, the third adjustment ratio is large.
[0088] Specifically, the second adjustment factor can be adjusted by the following formula (4):
[0089] b1=b×(1-Kp×p) (4)
[0090] Among them, b1 represents the second adjustment factor after adjustment, b represents the second adjustment factor before adjustment, 1-Kp×p represents the third adjustment ratio, p is the packet loss rate, Kp is a preset coefficient, and the coefficient can be set according to the actual packet loss rate. When the packet loss rate is small, the coefficient is small, otherwise the coefficient is large, so that the adjustment range of the second adjustment factor can better adapt to the change of the packet loss rate, and then the sliding window adjusted based on the second adjustment factor can also better adapt to the change of the packet loss rate, which helps to reduce the packet loss rate.
[0091] S243: Determine a target window size based on the first candidate window size and the second candidate window size.
[0092] As an example, the smaller one between the first candidate window size and the second candidate window size may be determined as the target window size.
[0093] As another example, the average value between the first candidate window size and the second candidate window size may be determined as the target window size.
[0094] As another example, if the network status of the transmission link is poor and the network topology is conducive to data transmission, the first candidate window size is determined as the target window size; if the network status of the transmission link is good and the network topology is not conducive to data transmission, the second candidate window size is determined as the target window size.
[0095] As another example, if the network delay time is greater than a second preset delay time threshold, a fourth adjustment ratio of the second candidate window size is determined based on a third ratio between the network delay time and the preset delay time threshold; the product of the fourth ratio and the second candidate window size is determined as the third candidate window size; and the target window size is determined based on the first candidate window size, the second candidate window size and the third candidate window size.
[0096] The second preset delay time threshold can be set according to actual needs, and the specific setting method can be the same as the setting method of the first preset delay time threshold. In addition, the second preset delay time threshold can be equal to the first preset delay time threshold.
[0097] Specifically, the third candidate window size can be determined by the following formula (5):
[0098]
[0099] Wherein, W2 represents the third candidate window size, W1 represents the second candidate window size, c represents the third adjustment factor, D represents the network delay time, D0 represents the second delay time threshold, Indicates the fourth adjustment ratio.
[0100] In this way, when the network delay time of the transmission link is greater than the second preset delay time threshold, it indicates that the network state of the transmission link is poor and network congestion is prone to occur. The third candidate window size determined by the above method is smaller than the second candidate window size, which helps to reduce the amount of data sent by the sender, thereby helping to alleviate network congestion and improve the data transmission effect between the sender and the receiver; when the network delay time of the transmission link is less than the second preset delay time threshold, it indicates that the network state of the transmission link is good. The third candidate window size determined by the above method is increased compared to the second candidate window size, which helps to increase the amount of data sent by the sender, thereby improving network utilization. In addition, the fourth adjustment ratio is obtained on the basis of exponential operation based on the third ratio, and its variation range is smaller than that of the third ratio, so that fine-grained and smooth adjustment of the sliding window can be achieved.
[0101] After obtaining the third candidate window size, the smaller of the first candidate window size, the second candidate window size, and the third window size can be used as the target window size, or the average of the three can be used as the target window size, and so on. This embodiment of the present application is not limited to this.
[0102] S244, adjusting the window size of the sliding window to the target window size.
[0103] In the above implementation, based on the network status information and the network topology information, a candidate window size is determined respectively, and then the target window size is determined in combination with each candidate window size to adjust the sliding window. This can achieve more accurate window size adjustment, so that the adjusted sliding window can dynamically adapt to changes in the transmission link, more effectively solve network congestion problems, and improve data transmission effects.
[0104] In another embodiment, the above S204 includes: based on a preset mapping relationship between the window size, network status information and network topology information, determining the target window size corresponding to the network status information and network topology information of the transmission link, and then adjusting the sliding window from the current window size to the target window size.
[0105] The preset mapping relationship may be preset based on experience.
[0106] The embodiment of the present application shows some specific implementation methods of the above S204. Of course, it should be understood that the above S204 can also be implemented in other ways, and the embodiment of the present application does not limit this.
[0107] After adjusting the sliding window of the transmission link, the sender can send data packets to the receiver according to the window size of the sliding window. The receiver can sort and confirm the received data packets to ensure the integrity and reliability of the data.
[0108] Optionally, during the data transmission process, feedback information can be continuously collected, including the data packet sequence number and confirmation information received by the receiver. Based on this feedback information, the window size of the sliding window can be further adjusted to optimize the data transmission performance. When the data transmission is completed, the transmission process is terminated and the transmission results are recorded, including information such as transmission time, packet loss rate, and window size. This information can be used for subsequent analysis and optimization, such as setting the first adjustment factor, the second adjustment factor, the first preset delay time threshold, the second preset delay time threshold, and the preset quantity threshold for other similar transmission links.
[0109] In the actual transmission process, the above S202 to S204 can be performed periodically to achieve dynamic adaptive adjustment of the sliding window. When the sender sends a data packet for the first time, the initial window size of the sliding window can be determined according to the requirements of the application and the network status.
[0110] For example, when a user needs to download a 300MB video from a cloud disk, if the user has a high-speed network connection and the packet loss rate of the transmission link is low, a larger initial window size, such as 300KB, is used to increase the download speed. If the user's network is slow or unstable, a smaller initial window size, such as 100KB, is used to avoid packet loss and retransmission.
[0111] For another example, suppose a user is using a cloud disk to download a large file, such as a 3GB movie. In order to speed up the download and make full use of the available bandwidth, the initial window size of the sliding window is set to 1MB. Then, the window size of the sliding window is dynamically adjusted by monitoring the network status information and network topology information of the transmission link between the user end and the cloud disk.
[0112] One or more embodiments of the present application provide a transmission control method, which obtains network status information and network topology information of the transmission link between the sender and the receiver, realizes multi-dimensional monitoring of the transmission link, and serves as a basis for adjusting the sliding window; because changes in the network status and network topology of the transmission link will affect the data transmission process, based on the obtained network status information and network topology information, the sliding window of the transmission link is adjusted more accurately, so that the adjusted sliding window can dynamically adapt to changes in the transmission link, more effectively solve network congestion problems, and improve data transmission effects.
[0113] The transmission control method provided in the embodiment of the present application can be applied to various scenarios with data transmission requirements, and is used to solve network congestion problems in various scenarios.
[0114] First, the method provided by the embodiment of the present application can optimize network performance, improve the quality and reliability of data transmission, and thus enhance the user's network experience. This is crucial for various online services, especially services with high real-time requirements (such as online games, video conferencing, etc.).
[0115] Secondly, the method provided by the embodiment of the present application can reduce the delay and packet loss rate of data transmission and reduce the number of data retransmissions, which can not only save network resources but also indirectly reduce operating costs. In addition, since the occurrence of network problems is reduced, it also helps to improve the business continuity and stability of enterprises and service providers.
[0116] Furthermore, by using load balancing and other methods to reasonably distribute network traffic, we can avoid overloading a single server and improve the overall network processing capacity. This has important economic value for application scenarios with large traffic (such as large e-commerce promotions, live broadcast activities, etc.).
[0117] Finally, in the long run, investing in the research and development and application of congestion control technology can enhance the competitiveness of an organization. In today's era of rapid development of the digital economy, having an efficient and stable network is one of the keys to gaining a competitive advantage. Therefore, researching and developing new network congestion control technologies has huge potential for economic benefits.
[0118] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0119] Based on the same inventive concept, the present application embodiment also provides a transmission control device. Figure 3 , is a structural diagram of a transmission control device 300 provided in an embodiment of the present application. In a software implementation, the transmission control device 300 may include: an acquisition module 310 and an adjustment module 320.
[0120] The acquisition module 310 is used to acquire network status information and network topology information of the transmission link between the sender and the receiver.
[0121] The adjustment module 320 is used to adjust the sliding window of the transmission link based on the network status information and the network topology information, so that the sender sends a data packet to the receiver according to the adjusted sliding window.
[0122] Optionally, the adjustment module is used to:
[0123] Determining a first candidate window size of a sliding window of the transmission link based on the network state information;
[0124] Determining a second candidate window size of the sliding window of the transmission link based on the network topology information;
[0125] Determining a target window size based on the first candidate window size and the second candidate window size;
[0126] The window size of the sliding window is adjusted to the target window size.
[0127] Optionally, the network status information includes a network delay time of the transmission link;
[0128] When the adjustment module determines the first candidate window size of the sliding window of the transmission link based on the network state information, the adjustment module performs the following steps:
[0129] Determining a first ratio between the network delay time and a first preset delay time threshold;
[0130] Based on the first ratio, determining a first adjustment ratio of the sliding window of the transmission link;
[0131] A product of a current window size of the sliding window and the first adjustment ratio is determined as a first candidate window size of the sliding window of the transmission link.
[0132] Optionally, when the adjustment module determines the first adjustment ratio of the sliding window of the transmission link based on the first ratio, the adjustment module performs the following steps:
[0133] Based on the first ratio, an exponential operation is performed on a first adjustment factor of the transmission link to obtain a first adjustment ratio of the sliding window of the transmission link.
[0134] Optionally, the adjustment module is further used for:
[0135] Determine, based on the network topology information, a reference transmission link similar to the transmission link, and determine, based on the first adjustment factor of the reference transmission link, a first adjustment factor of the transmission link;
[0136] or,
[0137] Based on the data transmission time in the network status information, a first adjustment factor of the transmission link is determined.
[0138] Optionally, the network topology information includes the number of network nodes in the transmission link;
[0139] When the adjustment module determines the second candidate window size of the sliding window of the transmission link based on the network topology information, the adjustment module performs the following steps:
[0140] determining a second ratio between the quantity and a preset quantity threshold;
[0141] Based on the second ratio, determining a second adjustment ratio of the sliding window of the transmission link;
[0142] A product between a current window size of the sliding window and the second adjustment ratio is determined as a second candidate window size of the sliding window of the transmission link.
[0143] Optionally, when the adjustment module determines the second adjustment ratio of the sliding window of the transmission link based on the second ratio, the adjustment module performs the following steps:
[0144] Based on the second ratio, an exponential operation is performed on a second adjustment factor of the transmission link to obtain a second adjustment ratio of the sliding window of the transmission link.
[0145] Optionally, the adjustment module is further used for:
[0146] Obtaining current link state parameters of the transmission link;
[0147] A second adjustment factor of the transmission link is determined based on a first parameter difference between the current link state parameter and a preset link state parameter.
[0148] Optionally, the network status information further includes a packet loss rate of the transmission link;
[0149] The adjustment module is also used for:
[0150] If the packet loss rate is greater than or equal to a preset packet loss rate threshold, determining a third adjustment ratio of the second adjustment factor based on the packet loss rate;
[0151] Based on the third adjustment ratio, the second adjustment factor is reduced.
[0152] Optionally, the network status information includes a network delay time of the transmission link;
[0153] When the adjustment module determines the target window size based on the first candidate window size and the second candidate window size, the adjustment module performs the following steps:
[0154] If the network delay time is greater than a second preset delay time threshold, determining a fourth adjustment ratio of the second candidate window size based on a third ratio between the network delay time and the preset delay time threshold;
[0155] Determine a product of the fourth adjustment ratio and the second candidate window size as a third candidate window size;
[0156] A target window size is determined based on the first candidate window size, the second candidate window size, and the third candidate window size.
[0157] Obviously, the transmission control device 300 provided in the embodiment of the present application can be used as the above Figure 2 The execution subject of the transmission control method shown in FIG. Figure 2 Since the principle is the same, the functions realized will not be described again here.
[0158] Figure 4 This is a schematic diagram of the structure of an electronic device according to an embodiment of the present application. Figure 4 At the hardware level, the electronic device includes a processor, and optionally also includes an internal bus, a network interface, and a memory. The memory may include a memory, such as a high-speed random access memory (RAM), and may also include a non-volatile memory (non-volatile memory), such as at least one disk storage. Of course, the electronic device may also include hardware required for other services.
[0159] The processor, network interface and memory can be interconnected through an internal bus, which can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 4 Only one bidirectional arrow is used in the diagram, but this does not mean that there is only one bus or only one type of bus.
[0160] The memory is used to store the program. Specifically, the program may include a program code, and the program code includes a computer operation instruction. The memory may include a memory and a non-volatile memory, and provides instructions and data to the processor.
[0161] The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it, forming a transmission control device at the logical level. The processor executes the program stored in the memory and is specifically used to perform the following operations:
[0162] Obtain network status information and network topology information of the transmission link between the sender and the receiver;
[0163] Based on the network status information and the network topology information, the sliding window of the transmission link is adjusted so that the sender sends a data packet to the receiver according to the adjusted sliding window.
[0164] The above application Figure 2The method performed by the transmission control device disclosed in the illustrated embodiment can be applied to a processor or implemented by a processor. The processor may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by an integrated logic circuit of hardware in the processor or an instruction in the form of software. The above processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc. The steps of the method disclosed in the embodiments of the present application can be directly embodied as a hardware decoding processor for execution, or a combination of hardware and software modules in the decoding processor for execution. The software module can be located in a storage medium mature in the art such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory, or an electrically erasable programmable memory, a register, etc. The storage medium is located in the memory, and the processor reads the information in the memory and completes the steps of the above method in combination with its hardware.
[0165] The electronic device may also perform Figure 2 The method and the transmission control device are implemented in Figure 2 The functions of the illustrated embodiment will not be described in detail in the embodiments of the present application.
[0166] Of course, in addition to software implementation methods, the electronic device of the present application does not exclude other implementation methods, such as logic devices or a combination of software and hardware, etc. That is to say, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.
[0167] The embodiment of the present application also provides a computer-readable storage medium, which stores one or more programs, wherein the one or more programs include instructions, which, when executed by a portable electronic device including a plurality of application programs, enable the portable electronic device to execute Figure 2 The method of the embodiment shown is specifically used to perform the following operations:
[0168] Obtain network status information and network topology information of the transmission link between the sender and the receiver;
[0169] Based on the network status information and the network topology information, the sliding window of the transmission link is adjusted so that the sender sends a data packet to the receiver according to the adjusted sliding window.
[0170] An embodiment of the present application also provides a computer program product, which includes a non-transitory computer-readable storage medium storing a computer program, and the computer program is operable to cause a computer to execute part or all of the steps of the transmission control method provided in the embodiment of the present application.
[0171] In short, the above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.
[0172] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
[0173] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
[0174] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.
[0175] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.
Claims
1. A transmission control method, characterized in that: include: Obtain network status information and network topology information of the transmission link between the sender and the receiver; Based on the network status information and the network topology information, the sliding window of the transmission link is adjusted so that the sender sends the data packet to the receiver according to the adjusted sliding window.
2. The method according to claim 1, characterized in that: The adjusting the sliding window of the transmission link based on the network state information and the network topology structure information includes: Determining a first candidate window size of a sliding window of the transmission link based on the network state information; Determining a second candidate window size of the sliding window of the transmission link based on the network topology information; Determining a target window size based on the first candidate window size and the second candidate window size; The window size of the sliding window is adjusted to the target window size.
3. The method according to claim 2, characterized in that The network status information includes the network delay time of the transmission link; The determining, based on the network state information, a first candidate window size of the sliding window of the transmission link comprises: Determining a first ratio between the network delay time and a first preset delay time threshold; Based on the first ratio, determining a first adjustment ratio of the sliding window of the transmission link; A product of a current window size of the sliding window and the first adjustment ratio is determined as a first candidate window size of the sliding window of the transmission link.
4. The method according to claim 3, characterized in that The determining, based on the first ratio, a first adjustment ratio of the sliding window of the transmission link includes: Based on the first ratio, an exponential operation is performed on a first adjustment factor of the transmission link to obtain a first adjustment ratio of the sliding window of the transmission link.
5. The method according to claim 4, characterized in that Before performing an exponential operation on the first adjustment factor of the transmission link based on the first ratio to obtain a first adjustment ratio of the sliding window of the transmission link, the method further includes: Determine, based on the network topology information, a reference transmission link similar to the transmission link, and determine, based on the first adjustment factor of the reference transmission link, a first adjustment factor of the transmission link; or, Based on the data transmission time in the network status information, a first adjustment factor of the transmission link is determined.
6. The method according to claim 2, characterized in that The network topology information includes the number of network nodes in the transmission link; The determining, based on the network topology information, a second candidate window size of the sliding window of the transmission link comprises: determining a second ratio between the quantity and a preset quantity threshold; Based on the second ratio, determining a second adjustment ratio of the sliding window of the transmission link; A product between a current window size of the sliding window and the second adjustment ratio is determined as a second candidate window size of the sliding window of the transmission link.
7. The method according to claim 6, characterized in that The determining, based on the second ratio, a second adjustment ratio of the sliding window of the transmission link includes: Based on the second ratio, an exponential operation is performed on a second adjustment factor of the transmission link to obtain a second adjustment ratio of the sliding window of the transmission link.
8. The method according to claim 7, characterized in that Before performing an exponential operation on the second adjustment factor of the transmission link based on the second ratio to obtain a second adjustment ratio of the sliding window of the transmission link, the method further includes: Obtaining current link state parameters of the transmission link; A second adjustment factor of the transmission link is determined based on a first parameter difference between the current link state parameter and a preset link state parameter.
9. The method according to claim 7, characterized in that: The network status information also includes the packet loss rate of the transmission link; After performing an exponential operation on the second adjustment factor of the transmission link based on the second ratio to obtain a second adjustment ratio of the sliding window of the transmission link, the method further includes: If the packet loss rate is greater than or equal to a preset packet loss rate threshold, determining a third adjustment ratio of the second adjustment factor based on the packet loss rate; Based on the third adjustment ratio, the second adjustment factor is reduced.
10. The method according to claim 2, characterized in that The network status information includes the network delay time of the transmission link; The determining a target window size based on the first candidate window size and the second candidate window size includes: If the network delay time is greater than a second preset delay time threshold, determining a fourth adjustment ratio of the second candidate window size based on a third ratio between the network delay time and the preset delay time threshold; Determine a product of the fourth adjustment ratio and the second candidate window size as a third candidate window size; A target window size is determined based on the first candidate window size, the second candidate window size, and the third candidate window size.
Citation Information
Patent Citations
Data flow control method, network switching subsystem and intelligent computing platform
CN117938755A
Congestion window adjusting method and device, electronic equipment and medium
CN117938769A
Congestion control method and device, terminal and storage medium
CN118338351A
Initial congestion window value determination method and apparatus, and electronic device and storage medium
WO2022089311A1
Cited By
Data traffic adjusting method and device, storage medium and electronic equipment
CN119728578A