Bandwidth adaptive control method and system based on dynamic prediction and electronic equipment
By calculating the unidirectional delay gradient and packet loss status of the data packets on the receiving end, accurately identifying network congestion, solving the problem of accidentally reducing bandwidth in wireless communication networks, improving network bandwidth utilization, and suitable for audio and video transmission and the Internet of Things.
Patent Information
- Application Number
- CN202510705686.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-29
- Publication Date
- 2025-08-12
AI Technical Summary
In the prior art, the transmitter mistakenly reduces the transmission bandwidth due to random packet loss in the wireless communication network, resulting in a decrease in network bandwidth utilization, and it is impossible to accurately distinguish between packet loss caused by network congestion and non-congestion.
By calculating the one-way delay gradient based on the serial number and timestamp of the data packet, the packet loss state is judged. If packet loss is continuously and the delay gradient is greater than the threshold, a link congestion regulation instruction is sent to improve the network.
Accurately identify packet loss caused by network congestion, avoid mistakenly reducing bandwidth, and improve network bandwidth utilization. It is suitable for low-latency and high-throughput scenarios such as audio and video transmission and the Internet of Things.
Smart Images

Figure CN120474977A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of network communication technology, and in particular to a bandwidth adaptive control method, system, and electronic device based on dynamic prediction. Background Art
[0002] With the continuous enrichment and improvement of communication technology, the business volume of the Internet's sending end is constantly increasing, which leads to resource competition between different sending ends. However, since the data transmission rate still has a certain upper limit, network congestion problems will occur when data is transmitted between the sending end and the receiving end.
[0003] In existing technologies, most developers use network adaptive technology to adjust the current bandwidth to match the actual available bandwidth of the network to improve the user experience. Latency and packet loss are commonly used parameters to characterize network congestion and predict network bandwidth. Generally, when packet loss is detected, the sender assumes network congestion has occurred, significantly reducing the transmission bandwidth. However, due to the prevalence of wireless communication networks, random packet loss can also occur when the sender exchanges data with public cloud networks or data center networks via wireless communication networks. While this packet loss is not caused by network congestion, the sender will still significantly reduce the transmission bandwidth in such cases, affecting network bandwidth utilization.
[0004] Therefore, it is necessary to provide a new technical solution to improve one or more problems existing in the above solutions.
[0005] It should be noted that the information disclosed in the above background technology section is only used to enhance the understanding of the background of the present disclosure, and therefore may include information that does not constitute prior art known to ordinary technicians in the field. Summary of the Invention
[0006] The purpose of the embodiments of the present disclosure is to provide a bandwidth adaptive control method, system and electronic device based on dynamic prediction, which can determine whether packet loss occurring within a target time period is caused by network congestion, thereby correctly sending link congestion control instructions to improve network conditions.
[0007] According to a first aspect of an embodiment of the present disclosure, a method for adaptive bandwidth control based on dynamic prediction is provided, the method being applied to a receiving end, the method comprising:
[0008] Determining a packet loss state corresponding to a target time period according to a sequence number of each data packet received within the target time period; the packet loss state includes continuous packet loss and random packet loss;
[0009] Calculating a one-way delay gradient of each data packet according to a sending timestamp and a receiving timestamp of each data packet received within the target time period;
[0010] If the one-way delay gradients of multiple data packets with consecutive sequence numbers within the target time period are all greater than a preset threshold, and the packet loss state corresponding to the target time period is continuous packet loss, a link congestion control instruction is sent to the sending end.
[0011] In an exemplary embodiment of the present disclosure, determining the packet loss state corresponding to the target time period according to the sequence number of each data packet received within the target time period includes:
[0012] Determine whether there are consecutive missing sequence numbers of data packets received within the target time period that are greater than or equal to a preset number. If so, determine that the packet loss state corresponding to the target time period is continuous packet loss; otherwise, the packet loss state corresponding to the target time period is continuous packet loss.
[0013] In an exemplary embodiment of the present disclosure, the step of calculating the one-way delay gradient of each data packet according to the sending timestamp and receiving timestamp of each data packet received within the target time period includes:
[0014] Determining a one-way delay of each data packet according to a sending timestamp and a receiving timestamp of each data packet received within the target time period;
[0015] Calibrate the one-way delay of each data packet based on the clock deviation to obtain the calibrated one-way delay of each data packet;
[0016] The one-way delay gradient of each data packet is calculated based on the calibrated one-way delay and the receiving timestamp of each data packet.
[0017] In an exemplary embodiment of the present disclosure, the calibrating the one-way delay of the data packet based on the clock deviation includes:
[0018] The one-way delay of the data packet is subtracted from the clock offset to obtain a calibrated one-way delay of the data packet.
[0019] In an exemplary embodiment of the present disclosure, in the process of calibrating the one-way delay of the data packet based on the clock deviation, the clock deviation is updated at intervals of a preset time length;
[0020] The clock deviation is the minimum one-way delay of multiple data packets received within the preset time period.
[0021] In an exemplary embodiment of the present disclosure, calculating the one-way delay gradient of each data packet based on the calibrated one-way delay and the reception timestamp of each data packet includes:
[0022] Calculating an initial value of a one-way delay gradient for each data packet based on the calibrated one-way delay and a receiving timestamp of each data packet;
[0023] Perform moving average processing on the initial value of the one-way delay gradient of each data packet to obtain the one-way delay gradient of the data packet.
[0024] In an exemplary embodiment of the present disclosure, calculating the initial value of the one-way delay gradient of each data packet based on the calibrated one-way delay and the reception timestamp of each data packet includes:
[0025] Determining a delay difference based on a calibrated one-way delay of a currently received data packet and a calibrated one-way delay of a previously received data packet, and determining a reception time difference based on a reception timestamp of the currently received data packet and a reception timestamp of the previously received data packet;
[0026] The delay difference is compared with the receiving time difference to obtain an initial value of the one-way delay gradient of the currently received data packet.
[0027] In an exemplary embodiment of the present disclosure, the preset threshold is 30 ms / s.
[0028] According to a second aspect of an embodiment of the present disclosure, a transmission bandwidth adaptive control system based on dynamic prediction is provided. The system is applied to the bandwidth adaptive control method based on dynamic prediction as described in any one of the above items, and the system includes:
[0029] A packet loss classification module, configured to determine a packet loss state corresponding to the target time period according to the sequence number of each data packet received within the target time period; the packet loss state includes continuous packet loss and random packet loss;
[0030] a calculation module, configured to calculate a one-way delay gradient of each data packet according to a sending timestamp and a receiving timestamp of each data packet received within the target time period;
[0031] The congestion judgment module sends a link congestion control instruction to the sending end if the one-way delay gradients of multiple data packets with consecutive sequence numbers within the target time period are all greater than a preset threshold, and the packet loss state corresponding to the target time period is continuous packet loss.
[0032] According to a third aspect of an embodiment of the present disclosure, there is provided an electronic device, including:
[0033] processor; and
[0034] a memory for storing executable instructions of the processor;
[0035] The processor is configured to execute the steps of the bandwidth adaptive control method based on dynamic prediction as described above by executing the executable instructions.
[0036] The technical solution provided by the present disclosure may have the following beneficial effects:
[0037] In an embodiment of the present disclosure, a packet loss status corresponding to a target time period is determined based on a sequence number of a data packet received within the target time period, and a one-way delay gradient of the data packet is calculated based on a sending timestamp and a receiving timestamp of the data packet received within the target time period. Then, based on the one-way delay gradient of the data packet received within the target time period and the preliminarily determined packet loss status corresponding to the target time period, a further judgment is made on the packet loss situation of the target time period. That is, if the one-way delay gradients of multiple data packets with consecutive sequence numbers within the target time period are all greater than a preset threshold, and the packet loss status corresponding to the target time period is continuous packet loss, it is determined that the packet loss occurring within the target time period is caused by network congestion, thereby correctly sending a link congestion control instruction to the sending end to improve the network situation.
[0038] It is to be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] The accompanying drawings are incorporated into and constitute a part of the specification, illustrate embodiments consistent with the present disclosure, and together with the specification, serve to explain the principles of the present disclosure. Obviously, the drawings described below are only some embodiments of the present disclosure, and those skilled in the art can derive other drawings based on these drawings without inventive effort.
[0040] Figure 1 A flowchart showing a bandwidth adaptive control method based on dynamic prediction in an exemplary embodiment of the present disclosure is shown;
[0041] Figure 2 A flowchart showing the steps of calculating the one-way delay gradient of each data packet in an exemplary embodiment of the present disclosure is shown;
[0042] Figure 3 A schematic diagram showing a transmission bandwidth adaptive control system based on dynamic prediction in an exemplary embodiment of the present disclosure is shown;
[0043] Figure 4 A schematic diagram illustrating a computing module in an exemplary embodiment of the present disclosure;
[0044] Figure 5 A schematic diagram of an electronic device in an exemplary embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0045] Example embodiments will now be described more fully with reference to the accompanying drawings. However, example embodiments can be embodied in many forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concepts of the example embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0046] In addition, the accompanying drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. Identical reference numerals in the figures denote identical or similar parts, and thus repetitive descriptions thereof will be omitted. Some of the block diagrams shown in the accompanying drawings are functional entities that do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.
[0047] This example embodiment first provides a bandwidth adaptive control method based on dynamic prediction, which is applied to the receiving end. Figure 1 As shown in , the method includes the following steps: step S101: determining the packet loss state corresponding to the target time period according to the sequence number of each data packet received within the target time period; the packet loss state includes continuous packet loss and random packet loss; step S102: calculating the one-way delay gradient of each data packet received within the target time period according to the sending timestamp and receiving timestamp of each data packet received within the target time period; step S103: if the one-way delay gradients of multiple data packets with consecutive sequence numbers within the target time period are all greater than a preset threshold, and the packet loss state corresponding to the target time period is continuous packet loss, then sending a link congestion control instruction to the sending end.
[0048] In an embodiment of the present disclosure, a packet loss status corresponding to the target time period is determined based on the sequence number of the data packet received within the target time period, and a one-way delay gradient of the data packet is calculated based on the sending timestamp and receiving timestamp of the data packet received within the target time period. Then, in combination with the one-way delay gradient of the data packet received within the target time period and the preliminarily determined packet loss status corresponding to the target time period, a further judgment is made on the packet loss situation of the target time period. That is, if the one-way delay gradients of multiple data packets with consecutive sequence numbers within the target time period are all greater than a preset threshold, and the packet loss status corresponding to the target time period is continuous packet loss, it is determined that the packet loss occurring within the target time period is caused by network congestion, that is, link congestion occurs within the target time period, and a link congestion control instruction is correctly sent to the sending end to improve the network situation.
[0049] The sending and receiving timestamps of the data packets mentioned in the above embodiment are microsecond timestamps, occupying four bytes, and the sequence number of the data packet occupies four bytes. Before the above step S101, the receiving end needs to obtain the sequence number, sending timestamp and receiving timestamp of the received data packet.
[0050] It should be noted that in data transmission, the sender is responsible for sending data packets to the receiver, and at the same time, the sender also sends the sending timestamp and serial number of the data packet to the receiver; the receiver is responsible for receiving the data packet and will obtain the sending timestamp, receiving timestamp and serial number of the data packet. Therefore, within the target time period, the receiver can use the sending timestamp, receiving timestamp and serial number of each data packet it receives to determine the packet loss status corresponding to the target time period and the one-way delay gradient of each data packet, so as to determine whether link congestion occurs in the target time period, and send link congestion control instructions to the sender based on the link congestion judgment result; when the sender receives the link congestion control instruction, it will perform bandwidth reduction operations to improve the network situation.
[0051] The dynamic prediction-based bandwidth adaptive control method provided in this embodiment is applicable to scenarios requiring low latency and high throughput, such as audio and video transmission, the Internet of Things, and online games.
[0052] Below, each step of the above method in this exemplary embodiment will be described in more detail.
[0053] In one embodiment, in step S101, determining the packet loss state corresponding to the target time period according to the sequence number of each data packet received within the target time period includes:
[0054] Determine whether there are consecutive missing sequence numbers of data packets received within the target time period that are greater than or equal to a preset number. If so, determine that the packet loss state corresponding to the target time period is continuous packet loss; otherwise, the packet loss state corresponding to the target time period is continuous packet loss.
[0055] The data packets sent from the sender to the receiver are continuous in sequence numbers. However, if there is packet loss, the data packets received by the receiver will have missing or discontinuous sequence numbers. The above method limits the degree of sequence number missing of data packets received within the target time period to preliminarily determine the packet loss status corresponding to the target time period, so that the link congestion can be further determined in combination with the one-way delay gradient of the data packets.
[0056] Optionally, in the step of determining the packet loss state corresponding to the target time period, the preset number is set to 3. The preset number is set according to the network environment and can be appropriately increased or decreased for network environments of different qualities.
[0057] In one embodiment, reference Figure 2 As shown, in step S102, the one-way delay gradient of each data packet is calculated according to the sending timestamp and receiving timestamp of each data packet received within the target time period, including:
[0058] Step S1021: determining a one-way delay of each data packet according to a sending timestamp and a receiving timestamp of each data packet received within the target time period;
[0059] Step S1022: calibrating the one-way delay of each data packet based on the clock deviation to obtain a calibrated one-way delay of each data packet;
[0060] Step S1023: Calculate the one-way delay gradient of each data packet according to the calibrated one-way delay and the receiving timestamp of each data packet.
[0061] Specifically, in the process of determining the one-way delay of each data packet in step S1021, the sending timestamp carried by each data packet when it is sent is recorded as T send , the receiving timestamp of the data packet received by the receiving end is T recv The one-way delay is calculated using formula (1):
[0062] OWD raw =T recv -T send (1)
[0063] Among them, OWD raw Indicates one-way delay in ms; T send Indicates the sending timestamp, T recv Indicates the receiving timestamp.
[0064] It should be noted that during data transmission, there is often a clock deviation between the sender and the receiver. Therefore, in order to avoid errors in the calculated one-way delay, the one-way delay of each data packet needs to be calibrated based on the clock deviation.
[0065] Specifically, in step S1022, the step of calibrating the one-way delay of the data packet based on the clock deviation includes:
[0066] The one-way delay of the data packet is subtracted from the clock offset to obtain a calibrated one-way delay of the data packet.
[0067] Formula (2) is used to perform a difference between the one-way delay of the data packet and the clock deviation:
[0068] OWD=OWD raw -Δ clock (2)
[0069] Where OWD represents the calibrated one-way delay, in ms; Δ clock Indicates the clock skew.
[0070] Optionally, during the process of calibrating the one-way delay of the data packet based on the clock deviation, the clock deviation is updated at a preset interval; wherein the preset interval can be set to 60 seconds. By refreshing the clock deviation, the accuracy of the one-way delay calibration is ensured in long-term operation.
[0071] In this embodiment, it is assumed that the clock deviation Δ clock Linear change, the minimum delay is close to the actual propagation delay, which can be calculated by counting the one-way delay (OWD) of multiple consecutive data packets. raw The clock deviation is estimated by the minimum value of , which is applicable to a stable network environment. The clock deviation is the minimum one-way delay of multiple data packets received within the preset time length, and the clock deviation is expressed as:
[0072] Δ clock =min(OWD raw(1) ,OWD raw(1) ,…,OWD raw(N) ) (3)
[0073] Wherein, min(·) represents the minimum value, and N represents the number of data packets received within the preset time length.
[0074] In one embodiment, in step S1023, calculating the one-way delay gradient of each data packet based on the calibrated one-way delay and the reception timestamp of each data packet includes:
[0075] Step S10231: Calculate the initial value of the one-way delay gradient of each data packet based on the calibrated one-way delay and the receiving timestamp of each data packet;
[0076] Step S10232: Perform moving average processing on the initial value of the one-way delay gradient of each data packet to obtain the one-way delay gradient of the data packet.
[0077] The initial value of the one-way delay gradient of each data packet calculated based on the calibrated one-way delay and reception timestamp of each data packet is used to reflect the link congestion trend. That is, if the initial value of the one-way delay gradient is small and remains stable over time, it indicates that the network status is good and the link is not congested. If the initial value of the one-way delay gradient is large and tends to increase over time, it indicates that the link is experiencing congestion.
[0078] Taking into account that the delay jitter of a single data packet may introduce noise, the above also performs denoising and smoothing optimization on the calculated initial value of the one-way delay gradient by performing moving average processing on the initial value of the one-way delay gradient of each data packet, so as to ensure that the one-way delay gradient used in step S103 is sufficiently accurate.
[0079] Specifically, in step S10231, the initial value of the one-way delay gradient of each data packet is calculated based on the calibrated one-way delay and the receiving timestamp of each data packet, including:
[0080] Determining a delay difference based on a calibrated one-way delay of a currently received data packet and a calibrated one-way delay of a previously received data packet, and determining a reception time difference based on a reception timestamp of the currently received data packet and a reception timestamp of the previously received data packet;
[0081] The delay difference is compared with the receiving time difference to obtain an initial value of the one-way delay gradient of the currently received data packet.
[0082] In the above step of determining the delay difference based on the calibrated one-way delay of the currently received data packet and the calibrated one-way delay of the previously received data packet, the delay difference can be calculated using formula (4):
[0083] ΔOWD=OWD(i)-OWD(i-1) (4)
[0084] Wherein, ΔOWD represents the delay difference, in ms; OWD(i) represents the calibrated one-way delay of the currently received data packet, and OWD(i-1) represents the calibrated one-way delay of the previously received data packet.
[0085] In the above step of determining the reception time difference according to the reception timestamp of the currently received data packet and the reception timestamp of the previously received data packet, the reception time difference can be calculated by formula (5):
[0086] ΔT=T recv(i) -T recv(i-1) (5)
[0087] Where ΔT represents the receiving time difference, in seconds; T recv(i) Indicates the receiving timestamp of the currently received data packet, T recv(i-1) Indicates the reception timestamp of the last received data packet.
[0088] The delay difference is compared with the reception time difference to obtain the initial value of the one-way delay gradient of the currently received data packet. The initial value of the one-way delay gradient of the currently received data packet is expressed as:
[0089]
[0090] Wherein, OWDG(i) represents the initial value of the one-way delay gradient of the currently received data packet, in ms / s.
[0091] Optionally, the preset threshold in step S103 is 30ms / s. The preset threshold is set according to the network environment and can be appropriately adjusted up or down for network environments of different qualities.
[0092] For example, if within the target time period, the calibrated one-way delay of the currently received data packet is 50ms, the calibrated one-way delay of the previously received data packet is 55ms, and the reception time difference between the currently received data packet and the previously received data packet is 0.1s, then the initial value of the one-way delay gradient of the currently received data packet is 50ms / s, which indicates that the delay is increasing at a rate of 50ms / s.
[0093] It should be noted that in step S10232, a moving average process is performed on the initial value of the one-way delay gradient of each data packet. This moving average process includes, but is not limited to, simple moving average processing, exponentially weighted moving average processing, and other methods. Simple moving average processing involves taking a certain number (e.g., 5-10) of initial values of the one-way delay gradient in chronological order and calculating their arithmetic average. The resulting moving average is recorded as the final one-way delay gradient.
[0094] In this embodiment, in step S10232, the initial value of the one-way delay gradient of each data packet is subjected to moving average processing to obtain the one-way delay gradient of the data packet. The moving average processing of the initial value of the one-way delay gradient of each data packet can be implemented by the following formula (7):
[0095] OWDG smooth(i) =β·OWDG(i)+(1-β)·OWDG smooth(i-1) (7)
[0096] Among them, β represents the weight coefficient, OWDG smooth(i) Indicates the one-way delay gradient of the currently received data packet, OWDG smooth(i-1) Represents the one-way delay gradient of the previously received packet.
[0097] The above formula (7) is an exponentially weighted moving average processing method, which makes the initial value of the one-way delay gradient of the currently received data packet have a larger weight in the calculation, and can reflect the changes and trends of the one-way delay gradient more quickly.
[0098] It should be noted that if the one-way delay gradient of all data packets received within the target time period is less than a preset threshold, or if the one-way delay gradient of individual data packets is greater than a preset threshold, regardless of whether the packet loss corresponding to the target time period is continuous or random, forward error correction instructions can be sent to the sender without reducing bandwidth. Forward error correction is a technology for controlling transmission errors in one-way communication systems. It reduces the bit error rate by sending additional information along with the data for error recovery.
[0099] This example embodiment also provides a bandwidth adaptive control system based on dynamic prediction, which is applied to the bandwidth adaptive control method based on dynamic prediction in any of the above embodiments, with reference to Figure 3 As shown, the system includes:
[0100] The packet loss classification module 110 is configured to determine the packet loss state corresponding to the target time period according to the sequence number of each data packet received within the target time period; the packet loss state includes continuous packet loss and random packet loss;
[0101] A calculation module 120, configured to calculate a one-way delay gradient of each data packet according to a sending timestamp and a receiving timestamp of each data packet received within the target time period;
[0102] The congestion judgment module 130 sends a link congestion control instruction to the sending end if the one-way delay gradients of multiple data packets with consecutive sequence numbers within the target time period are all greater than a preset threshold, and the packet loss state corresponding to the target time period is continuous packet loss.
[0103] In an embodiment of the present disclosure, the packet loss classification module 110 is used to determine the packet loss status corresponding to the target time period based on the sequence number of the data packets received within the target time period. The calculation module 120 is used to calculate the one-way delay gradient of the data packets based on the sending timestamp and receiving timestamp of the data packets received within the target time period. Then, based on the one-way delay gradient of the data packets received within the target time period and the preliminarily determined packet loss status corresponding to the target time period, the congestion judgment module 130 makes a further judgment on the packet loss situation of the target time period. That is, if the one-way delay gradients of multiple data packets with consecutive sequence numbers within the target time period are all greater than a preset threshold, and the packet loss status corresponding to the target time period is continuous packet loss, it is determined that the packet loss occurring in the target time period is caused by network congestion, and a transmission bandwidth reduction command is sent to the sending end to improve the network situation.
[0104] Specifically, the packet loss classification module 110 is further used to determine whether there are data packets received within the target time period with consecutive missing sequence numbers greater than or equal to 3. If so, the packet loss status corresponding to the target time period is determined to be continuous packet loss; otherwise, the packet loss status corresponding to the target time period is continuous packet loss.
[0105] In one embodiment, reference Figure 4 As shown, the above-mentioned calculation module 120 includes a first calculation unit 121, a calibration unit 122 and a second calculation unit 123; wherein, the first calculation unit 121 is used to determine the one-way delay of each data packet based on the sending timestamp and receiving timestamp of each data packet received within the target time period; the calibration unit 122 is used to calibrate the one-way delay of each data packet based on the clock deviation to obtain the calibrated one-way delay of each data packet; the second calculation unit 123 is used to calculate the one-way delay gradient of each data packet based on the calibrated one-way delay and receiving timestamp of each data packet.
[0106] Specifically, the calibration unit 122 is further configured to perform a subtraction process on the one-way delay of the data packet and the clock deviation to obtain a calibrated one-way delay of the data packet, wherein the clock deviation is the minimum one-way delay of multiple data packets received within the preset time period.
[0107] Specifically, the second calculation unit 123 is further used to calculate the initial value of the one-way delay gradient of each data packet based on the calibrated one-way delay and reception timestamp of each data packet; and perform moving average processing on the initial value of the one-way delay gradient of each data packet to obtain the one-way delay gradient of the data packet.
[0108] Regarding the system in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.
[0109] It should be noted that although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiment of the present disclosure, the features and functions of two or more modules or units described above can be concretized in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided into multiple modules or units for concretization. The components displayed as modules or units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the disclosed solution. Those of ordinary skill in the art can understand and implement it without paying any creative work.
[0110] In an exemplary embodiment of the present disclosure, an electronic device is further provided, which may include a processor and a memory for storing executable instructions of the processor, wherein the processor is configured to execute the executable instructions to perform the steps of the bandwidth adaptive control method based on dynamic prediction described in any of the above embodiments.
[0111] Those skilled in the art will appreciate that various aspects of the present invention may be implemented as systems, methods, or program products. Therefore, various aspects of the present invention may be implemented in the following forms: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, which may be collectively referred to herein as "circuits," "modules," or "systems."
[0112] Refer to the following Figure 5 An electronic device 600 according to this embodiment of the present invention will be described. Figure 5 The electronic device 600 shown is merely an example and should not limit the functions and scope of use of the embodiments of the present invention.
[0113] like Figure 5 As shown, electronic device 600 is implemented as a general-purpose computing device. Components of electronic device 600 may include, but are not limited to, at least one processing unit 610, at least one storage unit 620, a bus 630 connecting various system components (including storage unit 620 and processing unit 610), a display unit 640, and the like.
[0114] The storage unit stores a program code, which can be executed by the processing unit 610, so that the processing unit 610 performs the steps of various exemplary embodiments of the present invention described in the above-mentioned bandwidth adaptive control method based on dynamic prediction. For example, the processing unit 610 can perform the following steps: Figure 1 Follow the steps shown in .
[0115] The storage unit 620 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 6201 and / or a cache memory unit 6202 , and may further include a read-only memory unit (ROM) 6203 .
[0116] The storage unit 620 may also include a program / utility 6204 having a set (at least one) of program modules 6205, such program modules 6205 including but not limited to: an operating system, one or more application programs, other program modules and program data, each of which or some combination may include an implementation of a network environment.
[0117] Bus 630 may represent one or more of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.
[0118] The electronic device 600 can also communicate with one or more external devices 700 (e.g., a keyboard, a pointing device, a Bluetooth device, etc.), one or more devices that enable a user to interact with the electronic device 600, and / or any device that enables the electronic device 600 to communicate with one or more other computing devices (e.g., a router, a modem, etc.). Such communication can occur via an input / output (I / O) interface 650. Furthermore, the electronic device 600 can communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network such as the Internet) via a network adapter 660. The network adapter 660 can communicate with other modules of the electronic device 600 via the bus 630. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with the electronic device 600, including but not limited to microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0119] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, USB flash drive, mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, server, or network device, etc.) to execute the above-mentioned dynamic prediction-based bandwidth adaptive control method according to the embodiments of the present disclosure.
[0120] Those skilled in the art will readily appreciate other embodiments of the present disclosure after considering the specification and practicing the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present disclosure that follow the general principles of the present disclosure and include common knowledge or customary techniques in the art not disclosed herein. The description and examples are to be considered as exemplary only, with the true scope and spirit of the present disclosure being indicated by the appended claims.
Claims
1. A bandwidth adaptive control method based on dynamic prediction, characterized in that: The method is applied to a receiving end, and the method includes: Determining a packet loss state corresponding to a target time period according to a sequence number of each data packet received within the target time period; the packet loss state includes continuous packet loss and random packet loss; Calculating a one-way delay gradient of each data packet according to a sending timestamp and a receiving timestamp of each data packet received within the target time period; If the one-way delay gradients of multiple data packets with consecutive sequence numbers within the target time period are all greater than a preset threshold, and the packet loss state corresponding to the target time period is continuous packet loss, a link congestion control instruction is sent to the sending end.
2. The bandwidth adaptive control method based on dynamic prediction according to claim 1, characterized in that: The determining, according to the sequence number of each data packet received within the target time period, a packet loss state corresponding to the target time period includes: Determine whether there are consecutive missing sequence numbers of data packets received within the target time period that are greater than or equal to a preset number. If so, determine that the packet loss state corresponding to the target time period is continuous packet loss; otherwise, the packet loss state corresponding to the target time period is continuous packet loss.
3. The bandwidth adaptive control method based on dynamic prediction according to claim 1, characterized in that: The calculating the one-way delay gradient of each data packet according to the sending timestamp and the receiving timestamp of each data packet received within the target time period includes: Determining a one-way delay of each data packet according to a sending timestamp and a receiving timestamp of each data packet received within the target time period; Calibrate the one-way delay of each data packet based on the clock deviation to obtain the calibrated one-way delay of each data packet; The one-way delay gradient of each data packet is calculated based on the calibrated one-way delay and the receiving timestamp of each data packet.
4. The bandwidth adaptive control method based on dynamic prediction according to claim 3, characterized in that: The calibrating the one-way delay of the data packet based on the clock deviation includes: The one-way delay of the data packet is subtracted from the clock offset to obtain a calibrated one-way delay of the data packet.
5. The bandwidth adaptive control method based on dynamic prediction according to claim 3, characterized in that: In the process of calibrating the one-way delay of the data packet based on the clock deviation, updating the clock deviation at intervals of a preset time length; The clock deviation is the minimum one-way delay of multiple data packets received within the preset time period.
6. The bandwidth adaptive control method based on dynamic prediction according to claim 3, characterized in that: Calculating the one-way delay gradient of each data packet according to the calibrated one-way delay and the receiving timestamp of each data packet includes: Calculating an initial value of a one-way delay gradient for each data packet based on the calibrated one-way delay and a receiving timestamp of each data packet; Perform moving average processing on the initial value of the one-way delay gradient of each data packet to obtain the one-way delay gradient of the data packet.
7. The bandwidth adaptive control method based on dynamic prediction according to claim 6, characterized in that: Calculating an initial value of a one-way delay gradient of each data packet according to the calibrated one-way delay and the receiving timestamp of each data packet includes: Determining a delay difference based on a calibrated one-way delay of a currently received data packet and a calibrated one-way delay of a previously received data packet, and determining a reception time difference based on a reception timestamp of the currently received data packet and a reception timestamp of the previously received data packet; The delay difference is compared with the receiving time difference to obtain an initial value of the one-way delay gradient of the currently received data packet.
8. The bandwidth adaptive control method based on dynamic prediction according to any one of claims 1 to 7, characterized in that: The preset threshold is 30ms / s.
9. A transmission bandwidth adaptive control system based on dynamic prediction, characterized in that: The system is applied to the bandwidth adaptive control method based on dynamic prediction according to any one of claims 1 to 8, and the system includes: A packet loss classification module, configured to determine a packet loss state corresponding to the target time period according to the sequence number of each data packet received within the target time period; the packet loss state includes continuous packet loss and random packet loss; a calculation module, configured to calculate a one-way delay gradient of each data packet according to a sending timestamp and a receiving timestamp of each data packet received within the target time period; The congestion judgment module sends a link congestion control instruction to the sending end if the one-way delay gradients of multiple data packets with consecutive sequence numbers within the target time period are all greater than a preset threshold, and the packet loss state corresponding to the target time period is continuous packet loss.
10. An electronic device, characterized in that: include: processor; as well as a memory for storing executable instructions of the processor; The processor is configured to execute the steps of the bandwidth adaptive control method based on dynamic prediction according to any one of claims 1 to 8 by executing the executable instructions.