CN116170379B - Transmission control method, device, equipment and computer readable storage medium - Google Patents

Transmission control method, device, equipment and computer readable storage medium Download PDF

Info

Publication number
CN116170379B
CN116170379B CN202310451656.4A CN202310451656A CN116170379B CN 116170379 B CN116170379 B CN 116170379B CN 202310451656 A CN202310451656 A CN 202310451656A CN 116170379 B CN116170379 B CN 116170379B
Authority
CN
China
Prior art keywords
stage
transmission
sub
historical
adjustment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202310451656.4A
Other languages
Chinese (zh)
Other versions
CN116170379A (en
Inventor
吴波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202310451656.4A priority Critical patent/CN116170379B/en
Publication of CN116170379A publication Critical patent/CN116170379A/en
Application granted granted Critical
Publication of CN116170379B publication Critical patent/CN116170379B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The application provides a transmission control method, a transmission control device, transmission control equipment and a computer readable storage medium; the method comprises the following steps: acquiring historical network state information of each completed historical transmission stage in the network transmission process; determining an adjustment weight for the transmission parameter based on each of the historical network state information; when the network transmission process enters a stage to be transmitted from an intermittent stage, acquiring a reference transmission parameter of the stage to be transmitted, and adjusting the reference transmission parameter by utilizing the adjustment weight to obtain a target transmission parameter; and in the stage to be transmitted, data transmission is carried out by utilizing the target sending parameters. Through the method and the device, the packet loss rate can be reduced, and the utilization rate of network resources is improved.

Description

Transmission control method, device, equipment and computer readable storage medium
Technical Field
The present disclosure relates to network transmission technologies, and in particular, to a transmission control method, apparatus, device, and computer readable storage medium.
Background
The traffic transmission efficiency is an important standard for measuring the performance quality of the server provider, and the high-efficiency traffic transmission can realize that more traffic is transmitted to the user terminal in unit time, so that the phenomena of interface blocking, screen display, mosaic and the like caused by the lack of data of the user terminal are avoided to a certain extent.
The related methods for identifying network states and making adjustments for sending policies are mainly focused on congestion control algorithms, which judge the current network states according to different "signals" such as packet loss, time delay, etc., and make adjustments in time. However, these congestion control methods are mainly aimed at "continuous flow" network transmission at the beginning of the design, and lack further adaptation to "intermittent flow". In fact, the current intermittent flow is commonly existed in various internet services, including scenes such as live audio and video broadcast, real-time communication, automatic driving, online education and the like which are relatively hot at present. Thus, the packet loss rate of the intermittent flow is increased, and the utilization rate of network resources is affected.
Disclosure of Invention
The embodiment of the application provides a transmission control method, a transmission control device, computer equipment, a computer program product and a computer readable storage medium, which can reduce the packet loss rate and improve the utilization rate of network resources.
The technical scheme of the embodiment of the application is realized as follows:
the embodiment of the application provides a transmission control method, which comprises the following steps:
acquiring historical network state information of each completed historical transmission stage in the network transmission process;
Determining an adjustment weight for the transmission parameter based on each of the historical network state information;
when the network transmission process enters a stage to be transmitted from an intermittent stage, acquiring a reference transmission parameter of the stage to be transmitted, and adjusting the reference transmission parameter by utilizing the adjustment weight to obtain a target transmission parameter;
and in the stage to be transmitted, data transmission is carried out by utilizing the target sending parameters.
An embodiment of the present application provides a transmission control apparatus, including:
the first acquisition module is used for acquiring historical network state information of each completed historical transmission stage in the network transmission process;
a first determining module for determining an adjustment weight for the transmission parameter based on each of the historical network state information;
the adjustment module is used for acquiring the reference transmission parameters of the stage to be transmitted when the network transmission process enters the stage to be transmitted from the discontinuous stage, and adjusting the reference transmission parameters by utilizing the adjustment weight to obtain target transmission parameters;
and the transmission module is used for carrying out data transmission by utilizing the target sending parameters in the stage to be transmitted.
An embodiment of the present application provides a computer device, including:
A memory for storing computer executable instructions;
and the processor is used for realizing the transmission control method provided by the embodiment of the application when executing the computer executable instructions stored in the memory.
The embodiment of the application provides a computer readable storage medium, which stores computer executable instructions for implementing the transmission control method provided by the embodiment of the application when the computer executable instructions are caused to be executed by a processor.
The embodiment of the application provides a computer program product, which comprises a computer program or computer executable instructions, and the computer program or the computer executable instructions realize the transmission control method provided by the embodiment of the application when being executed by a processor.
The embodiment of the application has the following beneficial effects:
in the embodiment of the application, network state information of each history transmission stage completed in the network transmission process is firstly obtained, wherein the history transmission stage refers to a stage in which data transmission is completed; and then, determining an adjustment weight for the transmission parameters by utilizing each historical network state information, acquiring a reference transmission parameter of the stage to be transmitted when the network transmission process enters the stage to be transmitted from the discontinuous stage, and adjusting the reference transmission parameter by utilizing the adjustment weight to obtain a target transmission parameter, wherein the discontinuous stage is an idle stage without data transmission, the stage to be transmitted is a stage to be transmitted, and the reference transmission parameter is a transmission parameter obtained by a relevant congestion control algorithm in the network transmission process. And finally, carrying out data transmission by utilizing the target transmission parameters in a to-be-transmitted stage, wherein network resources which are originally used for carrying out data transmission are preempted after the interruption stage in the network transmission process, so that the available network resources are reduced when the data transmission is carried out, and then the available network resources are gradually recovered along with the data transmission.
Drawings
FIG. 1 is a schematic illustration of a transmission of "interrupt streams" in the related art;
fig. 2 is a schematic diagram of a network architecture of a transmission control system 100 according to an embodiment of the present application;
fig. 3 is a schematic structural diagram of a server 400 according to an embodiment of the present application;
fig. 4 is a schematic flow chart of an implementation of a transmission control method according to an embodiment of the present application;
FIG. 5 is a schematic flow chart of one implementation of determining adjustment weights according to an embodiment of the present application;
FIG. 6 is a flowchart illustrating another implementation of determining adjustment weights according to an embodiment of the present disclosure;
FIG. 7 is a flowchart illustrating another implementation of determining adjustment weights according to an embodiment of the present disclosure;
fig. 8 is a schematic flowchart of an implementation process for obtaining a target transmission parameter according to an embodiment of the present application;
FIG. 9 is a schematic diagram of an implementation flow chart for determining a current sub-stage according to an embodiment of the present application;
fig. 10 is a schematic flow chart of another implementation of the transmission control method provided in the embodiment of the present application;
fig. 11 is a schematic diagram of an implementation framework of a transmitting end provided in an embodiment of the present application;
FIG. 12 is a schematic illustration of an indication of an anomaly location provided in an embodiment of the present application;
fig. 13 is a schematic flow chart of still another implementation of the transmission control method according to the embodiment of the present application.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the present application more apparent, the present application will be described in further detail with reference to the accompanying drawings, and the described embodiments should not be construed as limiting the present application, and all other embodiments obtained by those skilled in the art without making any inventive effort are within the scope of the present application.
In the following description, reference is made to "some embodiments" which describe a subset of all possible embodiments, but it is to be understood that "some embodiments" can be the same subset or different subsets of all possible embodiments and can be combined with one another without conflict.
In the following description, the terms "first", "second", "third" and the like are merely used to distinguish similar objects and do not represent a specific ordering of the objects, it being understood that the "first", "second", "third" may be interchanged with a specific order or sequence, as permitted, to enable embodiments of the application described herein to be practiced otherwise than as illustrated or described herein.
Unless defined otherwise, all technical and scientific terms used in the embodiments of the present application have the same meaning as commonly understood by one of ordinary skill in the art. The terminology used in the embodiments of the application is for the purpose of describing the embodiments of the application only and is not intended to be limiting of the application.
Before further describing embodiments of the present application in detail, the terms and expressions that are referred to in the embodiments of the present application are described, and are suitable for the following explanation.
Cloud technology (Cloud technology) refers to a hosting technology for integrating hardware, software, network and other series resources in a wide area network or a local area network to realize calculation, storage, processing and sharing of data. The cloud technology is a generic term of network technology, information technology, integration technology, management platform technology, application technology and the like based on cloud computing business model application, can form a resource pool, and is flexible and convenient as required. Cloud computing technology will become an important support, and background services of technical networking systems require a large amount of computing, storage resources, such as video websites, picture-like websites, and more portals. Along with the high development and application of the internet industry, each article possibly has an own identification mark in the future, the identification mark needs to be transmitted to a background system for logic processing, data with different levels can be processed separately, and various industry data needs strong system rear shield support and can be realized only through cloud computing.
In order to better understand the transmission control method provided in the embodiments of the present application, a transmission control method in the related art and the existing drawbacks will be described first.
Traffic transmission efficiency is an important criterion for measuring the performance of cloud server providers. The efficient flow transmission can realize that more flow is transmitted to the user terminal in unit time, so that the phenomena of interface blocking, screen display, mosaic and the like caused by the lack of data of the user terminal are avoided to a certain extent. An important factor affecting the traffic transmission efficiency is that various types of network packet loss are caused by a complex dynamic network environment, and when the packet loss rate of one connection increases, the user terminal cannot receive enough data in a unit time, so that degradation of user experience quality (Quality of Experience, qoE) occurs. Therefore, how to reduce the packet loss rate and improve the transmission efficiency in the flow transmission process is a general concern in academia and industry.
The key of reducing the packet loss rate and improving the transmission efficiency is to identify the real-time network state as accurately as possible and make corresponding adjustment for different states. Specifically, when the network becomes congested, the packet loss rate increases, the transmission efficiency of the traffic decreases, and in order to adapt to such a network state, the data transmitting end needs to decrease the transmission rate or the transmission window, so that it is expected that "more" data is not transmitted any more, so that the network becomes more congested, and the packet loss rate and the transmission efficiency are further optimized. When the network becomes no longer congested, the packet loss rate will decrease, and the network transmission efficiency will become high, so that in order to adapt to such a network state, the data transmitting end needs to "appropriately adjust up" the transmission rate or the transmission window, so as to expect to be able to fully use the current network resources, thereby further improving the transmission efficiency of the traffic.
Fig. 1 is a schematic diagram of a transmission of an intermittent flow, referring to fig. 1, and the network transmission process includes a continuous phase and an intermittent phase, where the continuous phase is a phase of transmitting data, and may also be referred to as a transmission phase. In figure 1 a continuous phase t is included 0 To t 1 And t 2 To t 3 Also included in FIG. 1 is a break phase t 1 To t 2 . Based on this, from t 0 To t 1 The data transmitting end is in a state of continuously transmitting traffic, and from t 1 To t 2 At this time, the data transmitting end lacks up-to-date dataThe traffic cannot be continuously sent, so that the traffic is sent in a short-time stagnation state until t 2 The transmitting end again obtains the latest and enough data and starts to execute the traffic transmitting operation.
With the rapid development of audio and video services, audio and video traffic gradually occupies the most important part of internet traffic. Taking live audio and video broadcasting as an example, before data is transmitted from a cloud server to a user terminal (i.e. a viewer), audio and video traffic needs to undergo coding operation, and the coding operation is mainly performed in the cloud server. The audio and video encoder can encode the audio and video live broadcast data into audio and video frames with a certain frame rate, and immediately transmits the frames to the user terminal after the encoding of one audio and video frame is completed; in fact, however, the above-mentioned encoder has a certain frame rate when encoding audio and video frames, which reflects the time interval between adjacent frames. The intermittent phenomenon of the flow transmission process is also commonly existed in the scenes of real-time communication, automatic driving, online education and the like.
The design of the related congestion control algorithms is mainly directed to "continuous flow" transmission, and lacks the above-mentioned thinking about traffic "intermittent flow". When the flow has a discontinuous phase, the data transmitting end reserves the transmitting strategy and parameters in the last continuous phase state and continues to be used when entering the next continuous phase state. For example, the data transmitting end in fig. 1 is at t 1 The "continuous phase" state ends at the moment when the transmission rate is v1 and passes through t 1 To t 2 After the "break phase" state of (c), at t 2 At this point in time, the data sender still keeps using the previous sending rate v1, but in fact, t 1 To t 2 During this time, t is caused by no more traffic being sent 0 To t 1 Network resources (e.g., network bandwidth) occupied by inter-flow contention at any one time are "preempted" by other traffic, and therefore, go through a "lengthy" t 1 To t 2 After the "window" period of (c), the network resources available for the connection are further "predated" at which point t 2 Time of day t 1 The sending strategy and parameters at the moment are unreasonable, which also causes the increase of the packet loss rate,The transmission efficiency is lowered.
Based on the problems existing in the related art, the embodiments of the present application provide a transmission control method, apparatus, computer device, computer readable storage medium, and computer program product, which can solve the problems of increased packet loss rate and reduced transmission efficiency, and hereinafter describe an exemplary application of the computer device provided in the embodiments of the present application, where the computer device provided in the embodiments of the present application may be implemented as a notebook computer, a tablet computer, a desktop computer, a set-top box, a mobile device (e.g., a mobile phone, a portable music player, a personal digital assistant, a dedicated messaging device, a portable game device), a smart phone, a smart sound box, a smart watch, a smart television, a vehicle-mounted terminal, and other various types of user terminals. In the following, an exemplary application when the computer device is implemented as a server will be described.
Referring to fig. 2, fig. 2 is a schematic diagram of a network architecture of a transmission control system 100 according to an embodiment of the present application, in order to support a transmission control application, a terminal 200-1 and a terminal 200-2 are connected to a server 400 through a network 300, where the network 300 may be a wide area network or a local area network, or a combination of the two.
Taking live video as an example, the terminal 200-1 is configured to reserve a live video based on a reservation operation, and the server 400 is configured to allocate configuration information such as a push address, a pull address, and a live broadcasting room identifier to the terminal 200-1; then, the terminal 200-1 starts live video broadcasting based on the start instruction, starts to collect live broadcast data, and transmits the live broadcast data to the server 400 based on the pull stream address; then, the server 400 acquires the historical network state information of each historical transmission stage completed in the video live broadcast process; determining an adjustment weight for the transmission parameters during live broadcast distribution based on each historical network state information; when the video live broadcast process enters a stage to be transmitted from a discontinuous stage, acquiring a reference transmission parameter of the stage to be transmitted, and adjusting the reference transmission parameter by utilizing an adjusting weight to obtain a target transmission parameter; and in the stage to be transmitted, the target sending parameters are utilized to distribute the live broadcast data. The server 400 may also distribute live data to the terminal 200-2 through the target transmission parameters to present live content through the terminal 200-2.
In the embodiment of the present application, taking the adjustment of the reference transmission parameter by the server 400 as an example, the server 400 can obtain the target transmission parameter adapted to the actual network resource by adjusting the reference transmission parameter, although in the network transmission process, after the interruption phase, the network resource originally performing data transmission is "preempted" and the available network resource is reduced when the data transmission is performed, in the embodiment of the present application, the reference transmission parameter can be reduced based on the reduced network resource to obtain the target transmission parameter, so that when the data transmission is performed by using the target transmission parameter, the data transmission is performed by using the transmission parameter adapted to the network resource after the "preempt", thereby reducing the packet loss rate; with the transmission of data, the network resources are gradually recovered, and the embodiment of the application can enlarge the reference transmission parameters based on the recovered network resources to obtain target transmission parameters, and the data transmission is performed by using the transmission parameters of the adaptive recovered network resources, so that the transmission efficiency is improved.
In some embodiments, the server 400 may be a stand-alone physical server, a server cluster or a distributed system formed by a plurality of physical servers, or may be a cloud server that provides cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (Content Delivery Network, CDNs), and basic cloud computing services such as big data and artificial intelligence platforms. The terminals 200-1 and 200-2 may be, but are not limited to, smart phones, tablet computers, notebook computers, desktop computers, smart speakers, smart watches, car smart terminals, etc. The terminal and the cloud server may be directly or indirectly connected through wired or wireless communication, which is not limited in the embodiments of the present application.
Referring to fig. 3, fig. 3 is a schematic structural diagram of a server 400 provided in an embodiment of the present application, and the server 400 shown in fig. 3 includes: at least one processor 410, a memory 450, at least one network interface 420, and a user interface 430. The various components in server 400 are coupled together by bus system 440. It is understood that the bus system 440 is used to enable connected communication between these components. The bus system 440 includes a power bus, a control bus, and a status signal bus in addition to the data bus. But for clarity of illustration the various buses are labeled in fig. 3 as bus system 440.
The processor 410 may be an integrated circuit chip having signal processing capabilities such as a general purpose processor, such as a microprocessor or any conventional processor, a digital signal processor (Digital Signal Processor, DSP), or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or the like.
The user interface 430 includes one or more output devices 431, including one or more speakers and/or one or more visual displays, that enable presentation of the media content. The user interface 430 also includes one or more input devices 432, including user interface components that facilitate user input, such as a keyboard, mouse, microphone, touch screen display, camera, other input buttons and controls.
Memory 450 may be removable, non-removable, or a combination thereof. Exemplary hardware devices include solid state memory, hard drives, optical drives, and the like. Memory 450 optionally includes one or more storage devices physically remote from processor 410.
Memory 450 includes volatile memory or nonvolatile memory, and may also include both volatile and nonvolatile memory. The nonvolatile Memory may be a Read Only Memory (ROM), and the volatile Memory may be a random access Memory (Random Access Memory, RAM). The memory 450 described in the embodiments herein is intended to comprise any suitable type of memory.
In some embodiments, memory 450 is capable of storing data to support various operations, examples of which include programs, modules and data structures, or subsets or supersets thereof, as exemplified below.
An operating system 451 including system programs, e.g., framework layer, core library layer, driver layer, etc., for handling various basic system services and performing hardware-related tasks, for implementing various basic services and handling hardware-based tasks;
a network communication module 452 for accessing other electronic devices via one or more (wired or wireless) network interfaces 420, the exemplary network interface 420 comprising: bluetooth, wireless compatibility authentication (WiFi), and universal serial bus (Universal Serial Bus, USB), etc.;
A presentation module 453 for enabling presentation of information (e.g., a user interface for operating peripheral devices and displaying content and information) via one or more output devices 431 (e.g., a display screen, speakers, etc.) associated with the user interface 430;
an input processing module 454 for detecting one or more user inputs or interactions from one of the one or more input devices 432 and translating the detected inputs or interactions.
In some embodiments, the apparatus provided in the embodiments of the present application may be implemented in software, and fig. 3 shows the transmission control apparatus 455 stored in the memory 450, which may be software in the form of a program, a plug-in, or the like, including the following software modules: the first acquisition module 4551, the first determination module 4552, the adjustment module 4553 and the transmission module 4554 are logical, and thus may be arbitrarily combined or further split according to the functions implemented. The functions of the respective modules will be described hereinafter.
In other embodiments, the apparatus provided by the embodiments of the present application may be implemented in hardware, and by way of example, the apparatus provided by the embodiments of the present application may be a processor in the form of a hardware decoding processor that is programmed to perform the transmission control method provided by the embodiments of the present application, e.g., the processor in the form of a hardware decoding processor may employ one or more application specific integrated circuits (Application Specific Integrated Circuit, ASIC), DSPs, programmable logic devices (Programmable Logic Device, PLD), complex programmable logic devices (Complex Programmable Logic Device, CPLD), field-programmable gate arrays (Field-Programmable Gate Array, FPGA), or other electronic components.
The transmission control method provided by the embodiment of the present application will be described with reference to exemplary applications and implementations of the terminal server provided by the embodiment of the present application.
Cloud computing (cloud computing) refers to the delivery and usage model of the internet technology (Internet Technology, IT) infrastructure, meaning that required resources are obtained in an on-demand, easily scalable manner over a network; generalized cloud computing refers to the delivery and usage patterns of services, meaning that the required services are obtained in an on-demand, easily scalable manner over a network. Such services may be IT, software, internet related, or other services. Cloud Computing is a product of fusion of traditional computer and network technology developments such as Grid Computing (Grid Computing), distributed Computing (Distributed Computing), parallel Computing (Parallel Computing), utility Computing (Utility Computing), network storage (Network Storage Technologies), virtualization (Virtualization), load balancing (Load balancing), and the like.
With the development of the internet, real-time data flow and diversification of connected devices, and the promotion of demands of search services, social networks, mobile commerce, open collaboration and the like, cloud computing is rapidly developed. Unlike the previous parallel distributed computing, the generation of cloud computing will promote the revolutionary transformation of the whole internet mode and enterprise management mode in concept.
Next, the transmission control method provided in the embodiment of the present application is described, and as mentioned above, the computer device implementing the transmission control method in the embodiment of the present application may be a terminal, a server, or a combination of both. The execution subject of the respective steps will not be repeated hereinafter.
In the following examples of the transmission control method, the audio and video live broadcast is taken as an example, and those skilled in the art can apply the transmission control method provided in the embodiments of the present application to transmission control in other fields such as real-time communication, automatic driving, and online education according to the understanding of the following examples.
Referring to fig. 4, fig. 4 is a schematic flowchart of an implementation of the transmission control method provided in the embodiment of the present application, where the method is applied to a computer device, and the transmission control method provided in the embodiment of the present application will be described below with reference to the steps shown in fig. 4, and the execution subject of fig. 4 is a server.
In step S101, historical network state information of each of the historical transmission stages that have been completed in the network transmission process is acquired.
In this embodiment of the present application, the network transmission may be audio live broadcast, video live broadcast, etc., and exemplary, the network transmission may be broadcasting of real-time road conditions of a radio station, and the network transmission may also be shopping live video broadcast.
In some embodiments, each historic transmission phase refers to a phase in which data transmission has been completed, and may be considered to be obtained by monitoring a monitoring period or a plurality of monitoring periods, where a monitoring period may be considered to be an acquisition period in which historic network state information is acquired.
In some embodiments, the historical network state information can reflect a condition of the transmitted data within a historical time period, and the historical network state information can include data throughput within the historical time period, data transmission delay within the historical time period, packet loss rate within the historical time period, and the like.
The historical network state information can be obtained through the step S101, so that the situation of the historical (or the past period of time) transmission data can be comprehensively grasped, and the prediction of the next network state can be timely and accurately realized.
In step S102, an adjustment weight for the transmission parameter is determined based on the respective historical network state information.
In some embodiments, referring to fig. 5, step S102 shown in fig. 4 may be implemented by the following steps S1021 to S1023, which are described in detail below.
In step S1021, a predetermined utility function is obtained.
In the embodiment of the application, the utility function is a function for evaluating the advantages and disadvantages of the last adjustment strategy, and the purpose of information feedback can be achieved through the utility function.
In step S1022, the utility function is used to evaluate the historical network status information, so as to obtain the historical utility values.
In some embodiments, the evaluation process may be performed by: the method comprises the steps of firstly determining a first difference value of a value 1 and a packet loss rate, then determining a product of throughput and the first difference value, and finally determining a ratio of the product to round trip delay as a historical utility value, wherein the historical utility value is shown in a formula (1). And each historical utility value can be obtained according to the same evaluation processing mode.
Figure SMS_1
Formula (1);
where u is a historical utility value, throughput is throughput, loss_rate is packet loss rate, and RTT is round trip delay.
In step S1023, an adjustment weight is determined based on each historical utility value.
In some embodiments, referring to fig. 6, step S1023 shown in fig. 5 may be implemented by the following steps S231 to S233, which are specifically described below.
In step S231, a utility value change rate is determined using each of the historical utility values.
In the embodiment of the present application, the utility value change rate can reflect the change condition of the historical utility values, and may refer to the change degree of one historical utility value compared with the adjacent previous historical utility value. In some embodiments, a second difference between the current utility value and the last utility value may be determined first, and then a ratio of the second difference to the last utility value may be determined as a utility value change rate.
In step S232, the history adjustment direction and the history adjustment weight of the last transmission stage are determined based on the respective history network state information.
In some embodiments, the historical adjustment weight is the adjustment weight used in the previous transmission stage, the historical adjustment direction is the adjustment direction of one historical adjustment weight compared with the previous historical adjustment weight, and if the historical adjustment weight is greater than the previous historical adjustment weight, the adjustment direction of the historical adjustment weight can be recorded as 1; if the history adjustment weight is equal to the previous history adjustment weight, the adjustment direction of the history adjustment weight may be recorded as 0; if the history adjustment weight is less than the last history adjustment weight, the adjustment direction of the history adjustment weight may be noted as-1. Wherein the initial adjustment weight may be set to 1 and the initial adjustment direction may be set to-1, the initial adjustment direction being set to-1 to characterize the next reduction of the adjustment weight.
In this embodiment, for example, in the third historical transmission stage, the historical utility value of the first historical transmission stage and the historical utility value of the second historical transmission stage can be determined through the step S1022, and then the utility value change rate of the second historical transmission stage can be determined through the two historical utility values based on the step S231. Next, a relationship between the utility value change rate and the change rate threshold in the second historical transmission stage is determined, where the change rate threshold may include a first threshold and a second threshold, and the first threshold is smaller than the second threshold, and the first threshold and the second threshold may be opposite to each other, and exemplary, the first threshold may be-3%, -5%, -15%, etc., and corresponding, the second threshold may be 3%, 5%, 15%, etc. If the utility value change rate of the second historical transmission stage is between the first threshold value and the second threshold value, the change of the characterization utility value is in a normal fluctuation range, and the historical adjustment weight of the second historical transmission stage can be determined as the historical adjustment weight of the third historical transmission stage; if the utility value change rate of the second historical transmission stage is smaller than the first threshold, the utility value is represented not to change towards the expected direction, and at the moment, the historical adjustment weight of the second historical transmission stage is adjusted in the direction opposite to the last time, so that the historical adjustment weight of the third historical transmission stage is obtained; if the rate of change of the utility value for the second historic transmission phase is greater than the second threshold, the characterization utility value is shifted toward an expected direction, wherein the expected direction is a direction of increasing magnitude. At this time, the history adjustment weight of the second history transmission stage is adjusted in the same direction as the last time, so as to obtain the history adjustment weight of the third history transmission stage.
In the embodiment of the present application, the history adjustment weight of each history transmission stage may be determined by the similar method described above. If the history adjustment weight is greater than the previous history adjustment weight, the adjustment direction of the history transmission stage can be recorded as 1; if the history adjustment weight is equal to the previous history adjustment weight, the adjustment direction of the history transmission stage can be recorded as 0; if the history adjustment weight is smaller than the previous history adjustment weight, the adjustment direction of the history transmission stage can be recorded as-1, so that the history adjustment direction of each history transmission stage is determined.
In this embodiment of the present application, the last transmission stage belongs to each history transmission stage, based on which the latest history adjustment weight is determined as the history adjustment weight of the last transmission stage, and the latest history adjustment direction is determined as the history adjustment direction of the last outgoing stage.
In step S233, an adjustment weight is determined based on the utility value change rate, the change rate threshold, the history adjustment direction, and the history adjustment weight.
In this embodiment of the present application, the change rate threshold includes a first threshold and a second threshold, where the first threshold is smaller than the second threshold, and the first threshold is a negative number, and the second threshold is a positive number, based on which, referring to fig. 7, step S233 shown in fig. 6 may be implemented by following steps S2331 to S2333, which are specifically described below.
In step S2331, when the utility value change rate is greater than or equal to the first threshold value and less than or equal to the second threshold value, the historical adjustment weight is determined as the adjustment weight.
In some embodiments, the first threshold and the second threshold may be opposite numbers, where the first threshold may range from-20% to-3%, and the second threshold may range from 3% to 20%, and illustratively, the first threshold may be-3%, -5%, -15%, and so on, and the second threshold may range from 3%, 5%, 15%, and so on. In some embodiments, the first threshold and the second threshold may not be opposite to each other, and the first threshold is-3% and the second threshold is 5% as long as the first threshold is negative and the second threshold is positive.
In this embodiment of the present application, the utility value change rate is between the first threshold and the second threshold, which indicates that the variation of the utility value is in a normal range, where the historical adjustment weight of the previous transmission stage can be directly determined as the adjustment weight of the stage to be transmitted.
In step S2332, when the utility value change rate is smaller than the first threshold, determining the opposite direction of the history adjustment direction as the current adjustment direction, and adjusting the history adjustment weight by a preset adjustment step length according to the current adjustment direction to obtain the adjustment weight.
In the embodiment of the application, the utility value is known to be positively correlated with the throughput of the network by combining the formula (1), and is negatively correlated with the packet loss rate and the round trip delay, and the larger the utility value is, the larger the throughput of the network is represented, and the smaller the packet loss rate and the round trip delay are; and a smaller utility value characterizes a smaller throughput of the network, and a larger packet loss rate and round trip delay. Based on this, the desired direction is a direction in which the utility value becomes larger for the utility value. When the utility value change rate is smaller than the first threshold, the characterization utility value becomes smaller, which is opposite to the expected direction, and the characterization that the history adjustment direction of the previous transmission stage is unsuitable, the opposite direction of the history adjustment direction is determined as the current adjustment direction, and the current adjustment direction is reduced if the history adjustment direction is increased by way of example. And then, adjusting the historical adjustment weight by a preset adjustment step length according to the current adjustment direction to obtain the adjustment weight.
In some embodiments, the preset adjustment step is a value set in advance, and exemplary, the preset adjustment step may be 0.1, 0.15, 0.2, etc.
For example, assuming that the utility value change rate is smaller than the first threshold, the history adjustment direction is increased, the history adjustment weight is 0.9, the preset adjustment step length is 0.1, if the current adjustment direction is decreased, the history adjustment weight is decreased by 0.9 by 0.1, and the adjustment weight is obtained to be 0.8.
In step S2333, when the utility value change rate is greater than the second threshold, the historical adjustment weight is adjusted by a preset adjustment step length according to the historical adjustment direction, so as to obtain an adjustment weight.
In this embodiment of the present application, the utility value change rate is greater than the second threshold, which characterizes that the utility value is greater, and this is the same as the expected utility value is greater, and characterizes that the historical adjustment direction in the previous transmission stage is appropriate, and then the direction of the historical adjustment direction is determined to be the current adjustment direction, and, for example, assuming that the historical adjustment direction is increasing, then the current adjustment direction is increasing. And then, adjusting the historical adjustment weight by a preset adjustment step length according to the current adjustment direction to obtain the adjustment weight.
For example, assuming that the utility value change rate is greater than the second threshold, the history adjustment direction is increased, the history adjustment weight is 0.9, the preset adjustment step length is 0.1, and then the current adjustment direction is increased, and the history adjustment weight is 0.9 and 0.1, so as to obtain the adjustment weight of 1.
Through the step S102, the history adjustment direction and the history adjustment weight of the previous transmission stage can be determined based on the respective history network status information; the adjustment weights are then determined collectively based on the utility value rate of change, the rate of change threshold, the historical adjustment direction, and the historical adjustment weights. The feedback information of the utility value change rate can reflect whether the adjustment direction of the previous transmission stage is proper or not, so that the current adjustment direction of the stage to be transmitted is guided, and the adjustment weight of the actual condition of the matching network can be obtained by utilizing the current adjustment direction.
With continued reference to fig. 4, the above step S102 is described next.
In step S103, when the network transmission process enters the phase to be transmitted from the discontinuous phase, the reference transmission parameter of the phase to be transmitted is obtained, and the reference transmission parameter is adjusted by using the adjustment weight, so as to obtain the target transmission parameter.
In some embodiments, referring to fig. 8, the "acquiring the reference transmission parameter of the phase to be transmitted and adjusting the reference transmission parameter with the adjustment weight" in step S103 shown in fig. 4 to obtain the target transmission parameter "may be implemented by the following steps S1031 to S1033, which are described in detail below.
In step S1031, the current sub-phase in which the phase to be transferred is located is determined.
In the embodiment of the present application, the current sub-stage is one of a pre-stage sub-stage, a mid-stage sub-stage, and a post-stage sub-stage.
In some embodiments, referring to fig. 9, step S1031 shown in fig. 8 may be implemented by the following steps S311 to S318, which are specifically described below.
In step S311, the transmission amounts of the history messages corresponding to the respective history transmission stages completed in the network transmission process are acquired.
In the embodiment of the application, the flow state information of each historical transmission stage can be obtained to obtain the historical message sending quantity corresponding to each historical transmission stage. The flow state information may include a message transmission amount of a history transmission stage, a duration of a history interruption stage, and the like.
In step S312, the predicted message amount of the stage to be transmitted is determined using the respective historical message transmission amounts.
In some embodiments, the average value of the sending amount of each historical message may be determined first, and the average value may be determined as the predicted message amount of the stage to be transmitted.
In step S313, the amount of transmitted messages transmitted in the phase to be transmitted is obtained, and the ratio of the amount of transmitted messages to the predicted amount of messages is determined.
In some embodiments, message counting may be initiated during transmission to obtain the amount of transmitted messages; dividing the transmission message quantity by the predicted message quantity, thereby obtaining the ratio of the transmission message quantity to the predicted message quantity.
For example, assuming that the predicted message amount is 100 and the transmission message amount is 15, the ratio of the transmission message amount to the predicted message amount is 15%.
In step S314, it is determined whether the ratio is smaller than a preset first duty cycle.
In the embodiment of the present application, if the ratio is smaller than the preset first duty cycle, step S315 is entered. And if the ratio is greater than or equal to the preset first duty cycle, step S316 is entered.
In some embodiments, the preset first duty cycle may be a value set in advance, where the value range of the preset first duty cycle may be 20% to 50%, and exemplary, the preset first duty cycle may be 25%, assuming that the ratio is 15%, and when it is determined that the ratio is smaller than the preset first duty cycle, step S315 is performed. If the preset first duty cycle is 25% and the ratio is 30%, it is determined that the ratio is greater than the preset first duty cycle, and step S316 is performed.
In step S315, it is determined that the current sub-stage in which the stage to be transmitted is located is a pre-stage sub-stage, and the flow is ended.
In this embodiment of the present application, when the ratio of the transmission packet amount to the predicted packet amount is smaller than the preset first duty ratio, it is determined that the current sub-stage where the stage to be transmitted is located is the earlier sub-stage.
In step S316, it is determined whether the ratio is smaller than a preset second duty cycle.
In this embodiment of the present application, the first duty ratio is smaller than the second duty ratio, and if the ratio is smaller than the preset second duty ratio, the step S317 is performed if the characteristic that the ratio is larger than the preset first duty ratio and smaller than the preset second duty ratio at this time. And if the ratio is greater than or equal to the preset second duty cycle, step S318 is entered.
In some embodiments, the preset second duty cycle may be a value set in advance, where the preset second duty cycle may have a value ranging from 50% to 80%, and exemplary, the preset first duty cycle is 25%, the preset second duty cycle may be 75%, and the ratio is assumed to be 65%, based on which, it may be determined by a size comparison method that the ratio is greater than the preset first duty cycle and less than the preset second duty cycle, and step S317 is performed. And if the preset first duty cycle is 25%, the preset second duty cycle may be 75%, and the ratio is 80%, it is determined that the ratio is greater than the preset second duty cycle, and step S318 is entered.
In step S317, it is determined that the current sub-stage in which the stage to be transmitted is located is the middle sub-stage, and the flow is ended.
In this embodiment of the present application, when the ratio of the transmission packet amount to the predicted packet amount is between the preset first duty ratio and the preset second duty ratio, it is determined that the current sub-stage where the stage to be transmitted is located is the middle sub-stage.
In step S318, it is determined that the current sub-stage in which the stage to be transmitted is located is a later sub-stage.
In this embodiment of the present application, when the ratio of the transmission packet amount to the predicted packet amount is greater than the preset second duty ratio, it is determined that the current sub-stage in which the stage to be transmitted is located is the later sub-stage.
Through the steps S311 to S318, the intermittent flow is combined to have different transmission characteristics in different sub-phases of the phase to be transmitted, and then the phase to be transmitted is divided into a pre-phase sub-phase, a mid-phase sub-phase and a post-phase sub-phase based on a preset first duty ratio and a preset second duty ratio. Based on the method, the current sub-stage where the stage to be transmitted is located can be accurately determined in real time based on the ratio of the predicted message quantity, the preset first duty ratio and the preset second duty ratio of the transmitted message quantity.
With continued reference to fig. 8, the above step S1031 is continued.
In step S1032, the reference transmission parameter of the current sub-stage is acquired.
In the embodiment of the application, the reference transmission parameters of the current sub-stage are determined by a congestion control algorithm, the congestion control algorithm determines the current network state according to the packet loss rate, the time delay and the like of network transmission, and the reference transmission parameters are obtained by adjusting default transmission parameters. Illustratively, the congestion control algorithm may be a transmission control protocol congestion control method, an explicit congestion notification method, or the like.
In step S1033, the reference transmission parameters of the current sub-stage are adjusted according to the adjustment mode and the adjustment weight of the current sub-stage, so as to obtain the target transmission parameters corresponding to the current sub-stage.
In some embodiments, the above step S1033 may be divided into the following three cases:
in the first case, the current sub-phase is the early sub-phase.
In this case, the reference transmission parameters of the earlier sub-stage are weighted based on the adjustment weights, and the target transmission parameters corresponding to the earlier sub-stage are obtained.
In the embodiment of the application, considering that the early sub-stage of the stage to be transmitted is transited from the discontinuous stage, and network resources transmitted by the network are preempted by other traffic through the discontinuous stage, so that the network resources of the early sub-stage are reduced, if the reference transmission parameters are enlarged at the moment, the performance indexes such as packet loss rate, round trip delay and the like are increased, and the utility value is reduced; and if the reference transmission parameter is reduced at this time, performance indexes such as packet loss rate, round trip delay and the like are reduced, so that the utility value becomes large, namely the utility value changes towards the expected direction. Based on this, the reference transmission parameters of the earlier sub-stage are reduced based on the direction of the utility value change rate. And determining an adjustment weight smaller than 1, and taking the product of the adjustment weight and the reference transmission parameter of the earlier sub-stage as the target transmission parameter corresponding to the earlier sub-stage.
In the second case, the current sub-phase is the mid-phase.
In this case, the parameter variation between the reference transmission parameter of the preceding sub-stage and the target transmission parameter corresponding to the preceding sub-stage is determined first; determining a first target variable quantity based on the parameter variable quantity and a preset first constant; and finally, determining the sum of the reference transmission parameter and the first target variable quantity as a target transmission parameter corresponding to the middle sub-stage.
In the embodiment of the present application, after the network transmission enters the middle sub-stage through the early sub-stage, the network resources that are occupied before are already compensated back, that is, the available network resources increase, and if the data is transmitted according to the reference transmission parameters corresponding to the middle sub-stage at this time, the problem of low bandwidth utilization exists. Based on this, in the embodiment of the present application, the reference transmission parameter corresponding to the middle sub-stage is enlarged, so as to obtain the target transmission parameter corresponding to the middle sub-stage.
In the embodiment of the application, the difference between the reference transmission parameter of the earlier sub-stage and the target transmission parameter corresponding to the earlier sub-stage may be determined as the parameter variation of the earlier sub-stage, that is, the parameter reduction of the earlier sub-stage; then, a product of the parameter variation amount and a preset first constant may be determined as a first target variation amount, wherein the preset first constant is a real number greater than 1, and the preset first constant may be 1.5, 2, 3, etc., by way of example; and finally, determining the sum of the reference transmission parameters of the middle sub-stage and the first target variable quantity as the target transmission parameters corresponding to the middle sub-stage.
In the third case, the current sub-phase is the later sub-phase.
In this case, a second target variation amount is determined based on a preset second constant and parameter variation amount, and a difference between the reference transmission parameter of the later sub-stage and the second target variation amount is determined as a target transmission parameter corresponding to the later sub-stage. Wherein the preset first constant is a positive real number larger than the preset second constant, and the difference between the preset first constant and the preset second constant is equal to 1. By way of example, if the preset first constant is 1.5, the preset second constant may be 0.5; if the preset first constant is 2, the preset second constant may be 1.
In some embodiments, since the preset first constant is greater than 1, the parameter variation of the earlier sub-stage is compensated in the middle sub-stage, and the transmission parameter of the later sub-stage is borrowed in advance, based on this, the reference transmission parameter is adjusted to be smaller based on the second target variation in the later sub-stage, where the second target variation is a portion of the early borrowed middle sub-stage, and the second target variation is a product of the preset second constant and the parameter variation.
In the embodiment of the present application, there is a problem of higher packet loss rate in the later sub-stage of the actual network transmission, and in order to solve this problem, the embodiment of the present application may reduce the transmission parameters in the later sub-stage.
In the embodiment of the application, the reference transmission parameter of the later sub-stage is reduced by a parameter variation, so as to obtain the target transmission parameter corresponding to the later sub-stage, wherein the parameter variation is the difference between the reference transmission parameter of the earlier sub-stage and the target transmission parameter corresponding to the earlier sub-stage.
In some embodiments, the sum of the decreasing amounts of the transmission parameters corresponding to the earlier sub-stage and the later sub-stage is equal to the increasing amount of the transmission parameters corresponding to the middle sub-stage, that is, the sum of the parameter variation and the second target variation is equal to the first target variation.
Through the step S103, the reference transmission parameters of each sub-stage are adjusted in a targeted manner by combining the different transmission characteristics of the earlier sub-stage, the middle sub-stage and the later sub-stage, so as to obtain the target transmission parameters of each sub-stage, and thus the target transmission parameters of each sub-stage can be matched with the transmission characteristics of the corresponding sub-stage, and the packet loss rate of the earlier sub-stage and the later sub-stage can be reduced by adjusting the transmission parameters of the earlier sub-stage and the later sub-stage; the resource utilization rate of the middle sub-stage can be improved by adjusting the transmission parameters of the middle sub-stage.
With continued reference to fig. 4, the above step S103 is followed.
In step S104, data transmission is performed using the target transmission parameters in the phase to be transmitted.
In this embodiment of the present application, the target transmission parameter is one of a target transmission parameter corresponding to the earlier sub-stage, a target transmission parameter corresponding to the middle sub-stage, and a target transmission parameter corresponding to the later sub-stage. If the current sub-stage of the stage to be transmitted is the earlier sub-stage, performing data transmission by using the target sending parameters corresponding to the earlier sub-stage; if the current sub-stage in which the stage to be transmitted is located is a middle sub-stage, performing data transmission by utilizing the target sending parameters corresponding to the middle sub-stage; and if the current sub-stage in which the stage to be transmitted is positioned is the later sub-stage, performing data transmission by utilizing the target sending parameters corresponding to the later sub-stage.
Through the steps S101 to S104, network state information of each history transmission stage completed in the network transmission process is first obtained, where the history transmission stage refers to a stage in which data transmission has been completed; and then, determining an adjustment weight for the transmission parameters by utilizing each historical network state information, acquiring a reference transmission parameter of the stage to be transmitted when the network transmission process enters the stage to be transmitted from the discontinuous stage, and adjusting the reference transmission parameter by utilizing the adjustment weight to obtain a target transmission parameter, wherein the discontinuous stage is an idle stage without data transmission, the stage to be transmitted is a stage to be transmitted, and the reference transmission parameter is a transmission parameter obtained by a relevant congestion control algorithm in the network transmission process. Thus, the target transmission parameters adapting to the actual network resources can be obtained by adjusting the reference transmission parameters. Finally, in the stage to be transmitted, data transmission is carried out by utilizing the target transmission parameters, although network resources which are originally used for carrying out data transmission are preempted in the earlier stage sub-stage after the interruption stage in the network transmission process, so that the available network resources are reduced when the data transmission is carried out; in addition, the reference transmission parameters of the middle sub-stage can be regulated to obtain the target transmission parameters of the middle sub-stage, so that the transmission efficiency of the middle sub-stage is improved; and the reference transmission parameters of the later sub-stage can be reduced to obtain the target transmission parameters of the later sub-stage so as to reduce the low packet loss rate of the later sub-stage.
In some embodiments, the target transmission parameters may include a target transmission rate, and after performing the step S104, there may be a problem that the prediction of the predicted message amount for the history transmission stage is inaccurate, and to solve this problem, referring to fig. 10, after step S104 shown in fig. 4, the following steps S105 to S109 may be further performed, which will be specifically described below.
In step S105, the actual message total and the predicted message total of M consecutive historical transmission phases before the transmission phase are obtained.
In the embodiment of the present application, M is a positive integer, and illustratively, M may be 1, 2, 4, etc.
In this embodiment of the present application, the total actual message amount refers to the sum of the message amounts transmitted in the M historical transmission stages, and the predicted message amount refers to the sum of the predicted message amounts in the M historical transmission stages. The predicted message amount of each of the M history transmission stages can be obtained by referring to step S312.
In step S106, when the actual message total amount and the predicted message total amount are different, a total difference of transmission rates of M historical transmission stages is obtained.
In some embodiments, the size relationship between the actual message total amount and the predicted message total amount may be determined first, and if the actual message total amount is different from the predicted message total amount, the total difference of the sending rates of the M historical transmission stages is obtained; if the actual message total amount is the same as the predicted message total amount, ending the flow.
In some embodiments, for any one of the M historical transmission stages, if the stage to be transmitted ends data transmission in the earlier sub-stage and enters the intermittent stage, the transmission rate difference of the historical transmission stage is a positive value, and the difference between the reference transmission parameter of the earlier sub-stage and the target transmission parameter corresponding to the earlier sub-stage is determined as the transmission rate difference of the historical transmission stage, that is, the parameter variation of the earlier sub-stage is determined as the transmission rate difference of the historical transmission stage. If the data transmission is finished in the later sub-stage and the data transmission is started to enter the intermittent stage, the sending rate difference value of the historical transmission stage is a negative value, and the parameter variation of the earlier sub-stage is determined as the absolute value of the sending rate difference value of the historical transmission stage. If the to-be-transmitted stage ends the data transmission in the middle sub-stage, and when the middle sub-stage does not complete the compensation of the transmission rate of the earlier sub-stage, the data transmission is ended, which is the same as the situation that the data transmission is ended in the earlier sub-stage; when the middle sub-stage borrows part of the sending rate of the later sub-stage in advance, the data transmission is finished, and the situation is the same as the situation that the data transmission is finished in the later sub-stage.
In some embodiments, a similar method as described above may be used to determine the transmission rate difference for each of the M historical transmission phases, and finally determine the sum of the transmission rate differences as the total transmission rate difference.
In step S107, it is determined whether or not the transmission rate total difference is greater than a difference threshold.
In the embodiment of the present application, if the total difference of the sending rates is greater than the difference threshold, the overall transmission rate of the M historical transmission stages is smaller, and the transmission rate needs to be adjusted up in the middle sub-stage of the stage to be transmitted, then step S108 is entered; if the total difference of the sending rates is smaller than the difference threshold, the overall transmission rate of the M historical transmission stages is larger, and the transmission rate needs to be reduced in the earlier sub-stage of the stage to be transmitted, then step S109 is entered.
In some embodiments, the difference threshold may be 0, 0.01, 0.1, etc.
In step S108, the target transmission rate of the middle sub-stage of the phase to be transmitted is increased by the transmission rate total difference, and the flow is ended.
In the embodiment of the present application, the sum of the total difference between the target sending rate and the sending rate in the middle sub-stage of the to-be-transmitted stage may be determined as the final target sending rate in the middle sub-stage. Thus, compensation of the corresponding transmission rates of the M historical transmission stages is completed.
In step S109, the target transmission rate of the former sub-stage of the phase to be transmitted is reduced by the transmission rate difference value.
In the embodiment of the present application, the difference between the absolute value of the total difference between the target sending rate and the sending rate in the earlier sub-stage of the stage to be transmitted may be determined as the final target sending rate in the earlier sub-stage. The transmission rate of the M historic transmission phases over borrowing is thus digested or balanced.
Through the steps S105 to S109, the transmission rate total difference can be obtained when the actual message total amount and the predicted message total amount are different. And the target sending rate of the stage to be transmitted is adjusted based on the total difference of the sending rates, so that the problem of inaccurate prediction of the predicted message quantity of the historical transmission stage can be solved by adjusting the sending rate for the second time in the stage to be transmitted, and the stability of network transmission is improved.
In the following, an exemplary application of the embodiments of the present application in a practical application scenario will be described.
The embodiment of the application provides a congestion control method for intermittent traffic transmission, which can improve packet loss rate under the scenes of live audio and video broadcasting, real-time communication, industrial Internet and the like, optimize traffic transmission efficiency and promote business experience, and belongs to the field of computer network transmission optimization.
In some embodiments, the congestion control method for intermittent traffic transmission includes that a monitoring module of a data sending end monitors and counts traffic intermittent information of each connection, wherein the traffic intermittent information can include whether the current traffic is in an intermittent state, duration of traffic interruption and non-interruption in the past period of time, network quality information in the past period of time and the like; the online learning module of the data transmitting end decides the weight of the transmitting parameter in the next period based on the latest monitoring information of the monitoring module; the execution module of the data transmitting end adjusts the transmitting rate or the transmitting window value in the uninterrupted flow state in a period of time based on the parameter weight decided by the online learning module and the current transmitting parameter.
In this way, for the continuity stage or the transmission stage, the embodiment of the application executes different traffic sending strategies for the early stage, the middle stage and the later stage respectively so as to optimize the network traffic transmission efficiency. Compared with a related method, the congestion control strategy related to the embodiment of the application can solve the problems of network packet loss and low transmission efficiency of switching of traffic in two different states, namely discontinuous and continuous, and is beneficial to improving user experience of the existing internet service and improving competitiveness of manufacturers of a content delivery network (Content Delivery Network, CDN).
Referring to fig. 11, the transmitting end 110 may include a monitoring module 1101, an online learning module 1102, and an executing module 1103, and the online learning module 1102 includes a utility function 11021. Based on fig. 11, the monitoring module 1101 of the transmitting end 110 periodically monitors and acquires network status information (net_stus) and flow information (flow_stus) of a past period of time; utility function 11021 determines a utility value of the online learning module from the net_stus described above; the online learning module 1102 decides congestion parameter weights (cc_para) of the early stage, the middle stage and the later stage in each 'continuity' state according to the utility value and the information such as net_stus and flow_stus acquired by the monitoring module, and inputs the cc_para to the execution module 1103; the execution module 1103 determines a final transmission parameter from the cc_para and the transmission parameter obtained by the existing congestion control algorithm, and uses the final transmission parameter to transmit the next traffic. The "continuity" state corresponds to a transmission stage in other embodiments, the congestion parameter weight corresponds to an adjustment weight in other embodiments, and a transmission parameter obtained by the existing congestion control algorithm corresponds to a reference transmission parameter in other embodiments.
The idea of the embodiment of the application is that according to the discontinuous flow with different packet loss rates and flow transmission efficiency at different stages in the transmission process, the parameter weight adjustment method based on online learning is designed, the earlier-stage and later-stage flow transmission strategies are adjusted to be moderate, the middle-stage transmission strategies are adjusted to be moderate and aggressive, the packet loss rate of each stage earlier-stage and later-stage in an audio-video live broadcast scene is further optimized, the full utilization of network resources by middle-stage flow transmission is improved, the transmission efficiency of the flow is further integrally enhanced, and the quality of experience (Quality of Experience, qoE) index of a user side katon and the like of the audio-video live broadcast service is facilitated to be improved. Wherein the parameter weights correspond to the adjustment weights in other embodiments.
The embodiment of the application can be realized by the following modes:
first, the monitoring module of the transmitting end periodically counts the network status information (net_stus) and the flow status information (flow_stus) of the past period of time.
In some embodiments, the monitoring period of the monitoring module is n Round Trip Time (RTT), where n reflects the real-Time property of the statistical information, and n is greater than or equal to 1, and the smaller the value of n, the smaller the adjustment period of the traffic transmission parameter, that is, the more frequent the adjustment is; n is configurable by an administrator and is embodied in a configuration file; n may take 2 by default. In some embodiments, one monitoring period may include multiple transmission phases and multiple interval phases, and, illustratively, one monitoring period may include 4 transmission phases and 3 interval phases. When the monitoring period is finished, the transmission phase included in the monitoring period is a historical transmission phase.
In some embodiments, the network state information net_stus includes throughput (throughput), RTT, packet loss rate (loss_rate) and other information of the past n RTTs;
in some embodiments, the flow state information flow_stus includes duration of each discontinuity in the past n RTTs (off_duration), and number of message transmissions per continuity (on_pkt_current);
And secondly, determining a utility value of the last monitoring period by a utility function of the transmitting end based on the network state information counted by the monitoring module, marking the utility function as U, marking the utility value as U, and inputting the utility value into the online learning module.
In the embodiment of the present application, the utility function learned online may be expressed as the following formula (2):
Figure SMS_2
formula (2);
where u is the utility value of the monitoring period, net_stus is network status information, throughput is throughput, loss_rate is packet loss rate, and the utility value may also be referred to as the effective throughput of the unit time of the last monitoring period.
In some embodiments, the parameter weight of the online learning module during the first detection period is set to 1, so that an initial utility value can be calculated when the method provided by the embodiments of the present application is not adopted, and the initial utility value can be recorded as u 0
Thirdly, the online learning module of the transmitting end periodically receives the utility value from the utility function, the flow state information and the network state information from the monitoring module, adjusts the parameter weight of the earlier stage and the later stage which are suitable for each continuous flow transmission, marks the parameter weight as w, and inputs the parameter weight w to the executing module.
In the embodiment of the present application, the basis for dividing the early, middle and later stages of each "continuous" traffic transmission state is: the first a% stage of the flow message is the earlier stage of the 'continuity' state, the range from a% to b% of the flow message is the middle stage of the 'continuity' state, and the range from b% to 100% of the flow message is the later stage of the 'continuity' state. For example, in a certain "continuity" state, the number of messages sent by the sending end to a certain connection is 100, and then the stage of sending the 1 st message to the a-th message is a front stage, the stage of sending the a+1th message to the b-th message is a middle stage, and the stage of sending the b+1th message to the 100 th message is a rear stage; the parameters a and b may be set by an administrator and may be embodied in a configuration file. In some embodiments, a may have a value of 25 and b may have a value of 75.
In this embodiment of the present application, in order to further determine the number of messages sent in each "continuity" state, the online learning module may determine the number of messages sent in each "continuity" state according to the on_pkt_current fed back from the monitoring module, where the on_pkt_current may be an average value, a minimum value or a maximum value (i.e. various variants, such as a smooth value), or a quantile value (such as a 50 or 75 quantile value) in a statistical sense of the number of messages sent in each "continuity" state, and the specific manner of taking the value may be configured by an administrator and embodied in a configuration file. In this embodiment of the present application, on_pkt_current is an average value of the number of sent messages.
In the embodiment of the present application, the weight of the transmission parameter may be determined in the following manner, and the parameter weight may be denoted as w.
In some embodiments, the value range of the parameter weight may be set to 0.5 to 2, the initial value of the parameter weight is set to 1, the adjustment step of the parameter weight is denoted as α, and α may be configured by an administrator, and typically, α has a value of 0.1.
In some embodiments, the parameter weight used by the ith monitoring period is w i The utility value of the monitoring period is represented by u i And (3) representing. Usable d i Representing the parameter weight from w i-1 Adjustment value w i Wherein when w is i Greater than w i-1 When d i The value is 1; when w is i Equal to w i-1 When d i The value is 0; when w is i Less than w i-1 When d i Value takingIs-1. In the initial state, d i The value is-1, that is, the parameter weight is adjusted from 1 to (1-alpha) in the first adjustment.
In the embodiment of the application, the online learning module determines the change rate through the utility values of two adjacent monitoring periods, and the change rate is recorded as R i R can be determined by the following formula (3) i
Figure SMS_3
Formula (3);
wherein u is i Meaning the utility value of the ith monitoring period, u i-1 Refers to the utility value of the i-1 th monitoring period.
In this embodiment of the present application, the online learning module determines the parameter weight of the next (i+1) th period by using the change rate threshold, the change rate of the (i) th monitoring period, the parameter weight of the (i) th monitoring period, the adjustment step length, and the adjustment direction of the (i) th period, and satisfies the following formula (4):
Figure SMS_4
Formula (4);
wherein w is i+1 Parameter weight for the (i+1) th period, w i For the parameter weight of the ith period, R i For the change rate of the ith period, R_thres is the change rate threshold, alpha is the adjustment step size, d i The adjustment direction for the i-th period.
In some embodiments, to avoid determining w as described above i+1 When the problem of 'local optimum' is trapped, if the w value is unchanged for n continuous monitoring periods, the online learning module randomly selects any value (denoted as w) within the range of 0.5-2 new ) Performing the above operation, if a better utility value is obtained, i.e. the utility value increases, performing the above determination w i+1 Is carried out by the steps of (a); if the utility value becomes smaller, return to w new The previous value (noted as w old ) Randomly selecting w again after n monitoring periods w are unchanged new A new "attempt" is made.
In the embodiment of the application, the online learning module weights the newly decided parameter w i+1 Send to the execution module, which uses w i+1 Control traffic transmission for the next monitoring period.
In some embodiments, the execution module of the sender receives the parameter weight w from the online learning module i+1 Thereafter, use w i+1 The corresponding transmission parameters are adjusted, and the transmission parameters can be recorded as para_send, so as to achieve the goals of proper "moderating" sending packets for the earlier and later stages of the traffic "continuity" state, and proper "aggressive" sending packets in the middle stage, specifically as follows: first, the execution module obtains the corresponding transmission parameters para_send_1, para_send_2, and para_send_3 when entering the front, middle, and back phases of "continuity", respectively.
Then, the execution module executes the processing according to the acquired w i+1 Final transmission parameters of the early, middle and late stages are respectively determined and respectively noted as para_send_final_1, para_send_final_2 and para_send_final_3, as shown in formulas (5), (6) and (7):
Figure SMS_5
equation (5); />
Wherein, para_send_final_1 is the final sending parameter in the earlier stage, para_send_1 is the sending parameter in the earlier stage of the flow determined by the relevant congestion control algorithm, and w i+1 The parameter weight of the latest decision is used for controlling the flow transmission parameter of the next monitoring period.
Equation (6);
wherein, para_send_final_2 is the mid-term final transmission parameter, and para_send_2 is the mid-term transmission parameter of the traffic determined by the relevant congestion control algorithm.
Figure SMS_7
Equation (7);
the para_send_final_3 is a final sending parameter in the later period, and the para_send_3 is a sending parameter in the later period of the flow determined by the relevant congestion control algorithm.
The core idea of the adjustment strategy is to reduce the transmission parameters aiming at the stage of higher packet loss rate; and aiming at the stage of low packet loss rate, increasing the transmission parameters; wherein the sum of the early-stage and the later-stage decreasing amplitude is consistent with the sum of the middle-stage increasing amplitude, and the number of the early-stage and the later-stage decreasing amplitude is not more or less than that of the middle-stage increasing amplitude.
In some embodiments, the adjustment of the traffic transmission parameter is mainly directed to the adjustment of the transmission rate, so the early transmission rate paging_final_1 in the traffic "continuity" state can be obtained by using the formula (8):
Figure SMS_8
equation (8);
wherein, paging_final_1 is the adjusted traffic pre-sending rate, and paging_send_1 is the traffic pre-sending rate determined by the relevant congestion control algorithm. The method is equivalent to that the execution module sends the first a% of the on_pkt_amounts of messages at the sending rate of the serving_final_1 in the earlier stage, and at the moment, compared with the related congestion control algorithm, the sending rate is reduced by the serving_send_1× (1-w i+1 ) The embodiment of the present application "supplements" the reduced sending rate to the next a% -b% (i.e., mid-term) traffic transmission.
In some embodiments, when traffic enters the middle stage of the "continuity" state, the early reduced rate is applied to this middle stage and an equal proportion of the sending rate is "borrowed" from the later sending rate, so the middle sending rate Paving_final_2 can be calculated using equation (9):
Figure SMS_9
equation (9);
where paging_final_2 is the adjusted traffic medium transmission rate, paging_send_2 represents the transmission rate determined by the relevant congestion control algorithm when entering the "continuous" medium state, at this time, 2×paging_send_1× (1-w_i) means that one part (i.e., paging_send_1× (1-w_i)) of the transmission rate is "replenished" to the medium phase of the transmission rate reduced in the early phase, and the other part (i.e., para_send_1× (1-w_i)) is "borrowed" in the early phase toward the later phase.
In some embodiments, when the traffic enters the later stage of the "continuity" state, the transmission rate borrowed before the middle stage is "scraped" or "knocked out" to obtain the final later transmission rate, so that the later transmission rate paging_final_3 can be obtained by calculation according to the formula (10):
Figure SMS_10
equation (10);
the paging_final_3 is a post-traffic sending rate after adjustment, and the paging_send_3 represents a sending rate determined by a relevant congestion control algorithm when entering a "continuity" post-state.
In some embodiments, since the number of messaging in each "continuity" state is uncertain, it is difficult to determine the specific value of each on_pkt_current just by means, so there are four abnormal cases:
in abnormal case 1, before a% on_pkt_current is sent, the "continuity" state ends, and at this time, the reduced sending rate cannot be "compensated" by adjusting the sending rate in the middle stage, as shown in fig. 12, and the "continuity" state ends at the position indicated by "case 1" in fig. 12.
In the first half of the middle period, the abnormal situation 2 exits the "continuity" state when the transmission rate that has been lowered before has not been "lifted", that is, the "continuity" state ends at the position indicated by "situation 2" in fig. 12.
In abnormal case 3, in the middle stage of the traffic "continuity" state, the execution module has "borrowed" the sending rate in the later stage, but the "continuity" state ends suddenly in the latter half of the middle stage, so that the sending parameter of "borrowing" cannot be "recovered" in the later stage by reducing the sending rate, that is, the "continuity" state ends at the position indicated by "case 3" in fig. 12.
The abnormal situation 4 exits the "continuity" state before the end of the later period, when the transmission rate of the previous "borrow" has not been "reduced all the time", that is, the "continuity" state is ended at the position indicated by "case 4" in fig. 12. The "discontinuity" in fig. 12 corresponds to a discontinuity stage in other embodiments.
In order to solve the problem that the traffic transmission is too fast or too slow due to uncertainty, the transmitting end execution module in the embodiment of the present application maintains a difference value of the current transmission rate, where the difference value of the current transmission rate is recorded as a grouping_delta, and when the value is a positive number (i.e., grouping_delta is greater than 0), it indicates a transmission rate that is reduced by reducing the transmission rate before, and this portion of transmission rate is not fully used by the following traffic transmission. When the value is negative (i.e., the paging delta is less than 0), this indicates that the previously "borrowed" transmission rate by increasing the transmission rate, which was not yet completely "digested" by the subsequent traffic transmission.
In this embodiment of the present application, when the cumulative paging_delta of m consecutive monitoring periods is greater than 0, or when the cumulative paging_delta of m consecutive stages is greater than 0, the sending rate of the paging_delta is once increased, that is, a secondary adjustment is performed, in the middle stage of the next period, as shown in formula (11):
Figure SMS_11
formula (11);
where Paving_final_2' is the middle transmission rate in the next cycle, and Paving_final_2 is the transmission rate obtained by equation (9).
In some embodiments, when the cumulative paging_delta of m consecutive monitoring periods is smaller than 0, or the cumulative paging_delta of m consecutive phases is smaller than 0, the sending rate of paging_delta is reduced at one time in the early stage in the next period, that is, the secondary adjustment is performed, as shown in the formula (12):
Figure SMS_12
equation (12);
where paging_final_1' is the early transmission rate in the next period, and paging_final_1 is the transmission rate obtained by the formula (8).
In some embodiments, as shown in fig. 13, the embodiments of the present application further provide a transmission control method, including the following steps:
in step S1301, a session starts.
In some embodiments, a session refers to communication or transmission of information between two objects, and session initiation may refer to the initiation of audio data transmission or the initiation of video data transmission.
In step S1302, it is determined whether or not the continuity stage is in.
In the embodiment of the present application, the continuity stage refers to a stage where data and information are transmitted, and if the computer device is in the continuity stage, step S1303 is performed, that is, it is continuously determined which stage is in the continuity stage. If the computer device is not in the continuity stage, step S1302 is continued, and monitoring and judging are continued as time goes on.
In step S1303, it is determined whether or not the process is in the early stage.
In some embodiments, step S1304 may be performed by determining whether the ratio of the amount of transmitted messages to the amount of predicted messages is less than a%, and if the ratio of the amount of transmitted messages to the amount of predicted messages is less than a%, determining that the current phase is in the early phase of the continuity phase. If the ratio of the transmitted message amount to the predicted message amount is greater than or equal to a%, it is determined that the present is not in the early stage of the continuity stage, and the process proceeds to step S1306.
In step S1304, the transmission rate is reduced based on the parameter weight, resulting in a final transmission rate in the early stage.
In the embodiment of the present application, the transmission rate may be reduced with reference to the above formula (5), so as to obtain the final transmission rate in the early stage.
In step S1305, the flow is transmitted at the previous final transmission rate, and the flow returns to step S1302.
In step S1306, it is determined whether or not it is in the middle stage.
In the embodiment of the present application, the ratio of the transmitted packet amount to the predicted packet amount is greater than or equal to a%, and then it is determined whether the ratio of the transmitted packet amount to the predicted packet amount is less than b%, and if the ratio of the transmitted packet amount to the predicted packet amount is less than b%, it is determined that the packet amount is currently in the middle of the continuity stage, and step S1307 is entered. If the ratio of the transmitted message amount to the predicted message amount is greater than or equal to b%, it is determined that the present is not in the middle of the continuity stage, and the process proceeds to step S1309.
In step S1307, the transmission rate is increased based on the parameter weight and the earlier transmission rate of the traffic determined by the congestion control algorithm, to obtain a final transmission rate in the middle stage.
In the embodiment of the present application, the transmission rate may be increased with reference to the above formula (9), so as to obtain a mid-term final transmission rate.
In step S1308, the flow is transmitted at the medium-term final transmission rate, and the flow returns to step S1302.
In step S1309, it is determined whether it is in the late stage.
In the embodiment of the present application, if the ratio of the transmitted packet amount to the predicted packet amount is greater than b%, it is determined whether the ratio of the transmitted packet amount to the predicted packet amount is less than 100%, and if the ratio of the transmitted packet amount to the predicted packet amount is less than 100%, it is determined that the current period is at the later stage of the continuity stage, and step S1310 is entered. If the ratio of the transmitted message amount to the predicted message amount is greater than or equal to 100%, it is determined that the current period is not in the later period of the continuity stage, and the process returns to step S1302.
In step S1310, the transmission rate is reduced based on the parameter weight and the traffic early transmission rate determined by the congestion control algorithm, to obtain a final transmission rate in the later period.
In the embodiment of the present application, the transmission rate may be reduced with reference to the above formula (10), so as to obtain a final transmission rate in the later period.
In step S1311, the flow is transmitted at the post final transmission rate, and the flow returns to step S1302.
By the transmission control method provided by the embodiment of the application, the problems that the packet loss rate is too high in the early and later stages of each 'continuity' stage and the network resource utilization rate is low in the middle stage due to the characteristic of 'discontinuity' of the flow are not considered in the design of a related congestion control algorithm are solved. Therefore, the congestion control method for intermittent flow transmission is provided, a monitoring module monitors the continuity index of flow transmission, the continuity index is input to an online learning module, congestion control adjustment rules under different flow transmission intermittent states are further decided, and finally, an execution module adjusts the existing sending window or sending rate according to the rules decided by the online learning module, so that the early stage and the later stage of the continuity do not tend to trigger packets any more, the packet loss rate of the early stage and the later stage is reduced, meanwhile, the packet is also prone to be relaxed in the middle stage, and the utilization rate of network resources is improved.
It will be appreciated that in embodiments of the present application, data relating to network status information, reference transmission parameters, etc. is referred to, and the collection, use and processing of such data is required to comply with relevant laws and regulations and standards of the relevant country and region.
Continuing with the description below of an exemplary structure of the transmission control device 455 implemented as a software module provided in embodiments of the present application, in some embodiments, as shown in fig. 3, the software module stored in the transmission control device 455 of the memory 450 may include:
a first obtaining module 4551, configured to obtain historical network status information of each completed historical transmission stage in the network transmission process;
a first determining module 4552 configured to determine an adjustment weight for a transmission parameter based on each historical network status information;
the adjustment module 4553 is configured to obtain a reference transmission parameter of a stage to be transmitted when the network transmission process enters the stage to be transmitted from an intermittent stage, and adjust the reference transmission parameter by using the adjustment weight to obtain a target transmission parameter;
and the transmission module 4554 is configured to perform data transmission using the target sending parameter in the stage to be transmitted.
In some embodiments, the adjustment module 4553 is further configured to:
determining a current sub-stage in which the stage to be transmitted is located, wherein the current sub-stage is one of a pre-stage sub-stage, a mid-stage sub-stage and a post-stage sub-stage;
acquiring the reference transmission parameters of the current sub-stage;
and adjusting the reference transmission parameters of the current sub-stage according to the adjustment mode and the adjustment weight of the current sub-stage to obtain the target transmission parameters corresponding to the current sub-stage.
In some embodiments, the adjustment module 4553 is further configured to:
and when the current sub-stage is the earlier sub-stage, weighting the reference transmission parameters of the earlier sub-stage based on the adjustment weight to obtain target transmission parameters corresponding to the earlier sub-stage.
In some embodiments, the adjustment module 4553 is further configured to:
when the current sub-stage is the middle sub-stage, determining a parameter variation between a reference transmission parameter of the earlier sub-stage and a target transmission parameter corresponding to the earlier sub-stage;
determining a first target variable quantity based on the parameter variable quantity and a preset first constant;
and determining the sum of the reference transmission parameter and the first target variable quantity as a target transmission parameter corresponding to the middle sub-stage.
In some embodiments, the adjustment module 4553 is further configured to:
when the current sub-stage is the later sub-stage, determining a second target variable quantity based on a preset second constant and a parameter variable quantity;
and determining the difference between the reference transmission parameter of the later sub-stage and the second target variable quantity as a target transmission parameter corresponding to the later sub-stage.
In some embodiments, the adjustment module 4553 is further configured to:
acquiring the transmission quantity of the history messages corresponding to each completed history transmission stage in the network transmission process;
determining the predicted message quantity of the stage to be transmitted by utilizing the sending quantity of each historical message;
acquiring the transmitted message quantity in the to-be-transmitted stage, and determining the ratio of the transmitted message quantity to the predicted message quantity;
when the ratio is smaller than a preset first duty ratio, determining that the current sub-stage where the stage to be transmitted is located is a previous sub-stage;
when the ratio is larger than the first duty ratio and smaller than a preset second duty ratio, determining that the current sub-stage where the stage to be transmitted is located is a middle sub-stage, wherein the first duty ratio is smaller than the second duty ratio;
and when the ratio is larger than the second duty ratio, determining that the current sub-stage where the stage to be transmitted is positioned is a later sub-stage.
In some embodiments, the first determining module 4552 further is to:
acquiring a preset utility function;
evaluating the historical network state information by using the utility function to obtain historical utility values;
the adjustment weights are determined based on the respective historical utility values.
In some embodiments, the first determining module 4552 further is to:
determining a utility value rate of change using the respective historical utility values;
determining a history adjustment direction and a history adjustment weight of the last transmission stage based on the history network state information;
the adjustment weight is determined based on the utility value rate of change, a rate of change threshold, the historical adjustment direction, and the historical adjustment weight.
In some embodiments, the rate of change threshold includes a first threshold and a second threshold, the first threshold being less than the second threshold, the first determination module 4552 further configured to:
determining the historical adjustment weight as the adjustment weight when the utility value change rate is greater than or equal to the first threshold value and less than or equal to the second threshold value;
when the utility value change rate is smaller than the first threshold value, determining the opposite direction of the history adjustment direction as the current adjustment direction; adjusting the historical adjustment weight by a preset adjustment step length according to the current adjustment direction to obtain an adjustment weight;
And when the utility value change rate is larger than the second threshold value, adjusting the historical adjustment weight by the preset adjustment step length according to the historical adjustment direction to obtain the adjustment weight.
In some embodiments, the transmission control device 455 further includes:
the second acquisition module is used for acquiring the actual message total amount and the predicted message total amount of M continuous historical transmission stages before the stage to be transmitted, wherein M is a positive integer;
a third obtaining module, configured to obtain a total difference value of transmission rates of the M historical transmission stages when the total amount of the actual message and the total amount of the predicted message are different;
an increasing module, configured to increase, when the total difference of the transmission rates is greater than a difference threshold, a target transmission rate of a middle sub-stage of the stage to be transmitted by the total difference of the transmission rates;
and the reducing module is used for reducing the target sending rate of the earlier sub-stage of the stage to be transmitted by the sending rate difference value when the sending rate total difference value is smaller than the difference value threshold value.
Embodiments of the present application provide a computer program product or computer program comprising computer instructions stored in a computer readable storage medium. The processor of the electronic device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the electronic device executes the transmission control method described in the embodiment of the present application.
The present embodiments provide a computer-readable storage medium storing executable instructions that, when executed by a processor, cause the processor to perform the transmission control method provided by the embodiments of the present application, for example, the transmission control method as shown in fig. 4, 10, and 13.
In some embodiments, the computer readable storage medium may be FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface memory, optical disk, or CD-ROM; but may be a variety of devices including one or any combination of the above memories.
In some embodiments, the executable instructions may be in the form of programs, software modules, scripts, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and they may be deployed in any form, including as stand-alone programs or as modules, components, subroutines, or other units suitable for use in a computing environment.
As an example, the executable instructions may, but need not, correspond to files in a file system, may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a hypertext markup language (HTML, hyper Text Markup Language) document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code).
As an example, executable instructions may be deployed to be executed on one computing device or on multiple computing devices located at one site or, alternatively, distributed across multiple sites and interconnected by a communication network.
The foregoing is merely exemplary embodiments of the present application and is not intended to limit the scope of the present application. Any modifications, equivalent substitutions, improvements, etc. that are within the spirit and scope of the present application are intended to be included within the scope of the present application.

Claims (12)

1. A transmission control method, the method comprising:
acquiring historical network state information of each completed historical transmission stage in the network transmission process;
determining an adjustment weight for the transmission parameter based on each of the historical network state information;
when the network transmission process enters a stage to be transmitted from an intermittent stage, determining a current sub-stage in which the stage to be transmitted is positioned, wherein the current sub-stage is one of a pre-stage sub-stage, a middle-stage sub-stage and a post-stage sub-stage; acquiring the reference transmission parameters of the current sub-stage; adjusting the reference transmission parameters of the current sub-stage according to the adjustment mode and the adjustment weight of the current sub-stage to obtain target transmission parameters corresponding to the current sub-stage;
And in the stage to be transmitted, data transmission is carried out by utilizing the target sending parameters.
2. The method according to claim 1, wherein the adjusting the reference transmission parameter of the current sub-stage according to the adjustment manner and the adjustment weight of the current sub-stage to obtain the target transmission parameter corresponding to the current sub-stage includes:
and when the current sub-stage is the earlier sub-stage, weighting the reference transmission parameters of the earlier sub-stage based on the adjustment weight to obtain target transmission parameters corresponding to the earlier sub-stage.
3. The method according to claim 2, wherein the adjusting the reference transmission parameter of the current sub-stage according to the adjustment manner and the adjustment weight of the current sub-stage to obtain the target transmission parameter corresponding to the current sub-stage includes:
when the current sub-stage is the middle sub-stage, determining a parameter variation between a reference transmission parameter of the earlier sub-stage and a target transmission parameter corresponding to the earlier sub-stage;
determining a first target variable quantity based on the parameter variable quantity and a preset first constant;
And determining the sum of the reference transmission parameter and the first target variable quantity as a target transmission parameter corresponding to the middle sub-stage.
4. The method according to claim 2, wherein the adjusting the reference transmission parameter of the current sub-stage according to the adjustment manner and the adjustment weight of the current sub-stage to obtain the target transmission parameter corresponding to the current sub-stage includes:
when the current sub-stage is the later sub-stage, determining a second target variable quantity based on a preset second constant and a parameter variable quantity;
and determining the difference between the reference transmission parameter of the later sub-stage and the second target variable quantity as a target transmission parameter corresponding to the later sub-stage.
5. The method according to claim 1, wherein said determining a current sub-phase in which said phase to be transmitted is located comprises:
acquiring the transmission quantity of the history messages corresponding to each completed history transmission stage in the network transmission process;
determining the predicted message quantity of the stage to be transmitted by utilizing the sending quantity of each historical message;
acquiring the transmitted message quantity in the to-be-transmitted stage, and determining the ratio of the transmitted message quantity to the predicted message quantity;
When the ratio is smaller than a preset first duty ratio, determining that the current sub-stage where the stage to be transmitted is located is a previous sub-stage;
when the ratio is larger than the first duty ratio and smaller than a preset second duty ratio, determining that the current sub-stage where the stage to be transmitted is located is a middle sub-stage, wherein the first duty ratio is smaller than the second duty ratio;
and when the ratio is larger than the second duty ratio, determining that the current sub-stage where the stage to be transmitted is positioned is a later sub-stage.
6. The method according to any one of claims 1 to 5, wherein said determining an adjustment weight for a transmission parameter based on respective historical network state information comprises:
acquiring a preset utility function;
evaluating the historical network state information by using the utility function to obtain historical utility values;
the adjustment weights are determined based on the respective historical utility values.
7. The method of claim 6, wherein said determining said adjustment weights based on said respective historical utility values comprises:
determining a utility value rate of change using the respective historical utility values;
determining a history adjustment direction and a history adjustment weight of the last transmission stage based on the history network state information;
The adjustment weight is determined based on the utility value rate of change, a rate of change threshold, the historical adjustment direction, and the historical adjustment weight.
8. The method of claim 7, wherein the rate of change threshold comprises a first threshold and a second threshold, the first threshold being less than the second threshold, the determining the adjustment weight based on the utility value rate of change, the rate of change threshold, the historical adjustment direction, and the historical adjustment weight comprising:
determining the historical adjustment weight as the adjustment weight when the utility value change rate is greater than or equal to the first threshold value and less than or equal to the second threshold value;
when the utility value change rate is smaller than the first threshold value, determining the opposite direction of the history adjustment direction as the current adjustment direction; adjusting the historical adjustment weight by a preset adjustment step length according to the current adjustment direction to obtain an adjustment weight;
and when the utility value change rate is larger than the second threshold value, adjusting the historical adjustment weight by the preset adjustment step length according to the historical adjustment direction to obtain the adjustment weight.
9. The method of any of claims 1 to 5, wherein the target transmission parameter comprises a target transmission rate, the method further comprising:
Acquiring the total actual message and the total predicted message of M continuous historical transmission stages before the stage to be transmitted, wherein M is a positive integer;
when the total actual message amount is different from the total predicted message amount, obtaining the total difference value of the sending rates of the M historical transmission stages;
when the total difference value of the sending rates is larger than a difference value threshold, increasing the target sending rate of the middle sub-stage of the stage to be transmitted by the total difference value of the sending rates;
and when the total difference value of the sending rates is smaller than the difference value threshold value, reducing the target sending rate of the earlier sub-stage of the stage to be transmitted by the sending rate difference value.
10. A transmission control apparatus, characterized in that the apparatus comprises:
the first acquisition module is used for acquiring historical network state information of each completed historical transmission stage in the network transmission process;
a first determining module for determining an adjustment weight for the transmission parameter based on each of the historical network state information;
the adjustment module is used for determining a current sub-stage in which the stage to be transmitted is positioned when the network transmission process enters the stage to be transmitted from the discontinuous stage, wherein the current sub-stage is one of a pre-stage sub-stage, a middle-stage sub-stage and a post-stage sub-stage; acquiring the reference transmission parameters of the current sub-stage; adjusting the reference transmission parameters of the current sub-stage according to the adjustment mode and the adjustment weight of the current sub-stage to obtain target transmission parameters corresponding to the current sub-stage;
And the transmission module is used for carrying out data transmission by utilizing the target sending parameters in the stage to be transmitted.
11. A computer device, the computer device comprising:
a memory for storing computer executable instructions;
a processor for implementing the transmission control method according to any one of claims 1 to 9 when executing computer executable instructions stored in said memory.
12. A computer-readable storage medium storing computer-executable instructions, which when executed by a processor implement the transmission control method of any one of claims 1 to 9.
CN202310451656.4A 2023-04-25 2023-04-25 Transmission control method, device, equipment and computer readable storage medium Active CN116170379B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310451656.4A CN116170379B (en) 2023-04-25 2023-04-25 Transmission control method, device, equipment and computer readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310451656.4A CN116170379B (en) 2023-04-25 2023-04-25 Transmission control method, device, equipment and computer readable storage medium

Publications (2)

Publication Number Publication Date
CN116170379A CN116170379A (en) 2023-05-26
CN116170379B true CN116170379B (en) 2023-07-14

Family

ID=86413536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310451656.4A Active CN116170379B (en) 2023-04-25 2023-04-25 Transmission control method, device, equipment and computer readable storage medium

Country Status (1)

Country Link
CN (1) CN116170379B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109862377A (en) * 2017-11-30 2019-06-07 华为技术有限公司 Video transmission method, device, system and computer readable storage medium
CN115484624A (en) * 2021-06-16 2022-12-16 网络通信与安全紫金山实验室 Data processing method, architecture, electronic device and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111835682B (en) * 2019-04-19 2021-05-11 上海哔哩哔哩科技有限公司 Connection control method, system, device and computer readable storage medium
CN110290428B (en) * 2019-06-26 2021-08-20 腾讯科技(深圳)有限公司 Congestion control method, device, terminal and storage medium
CN115643210A (en) * 2019-11-30 2023-01-24 华为技术有限公司 Control data packet sending method and system
CN115767146A (en) * 2022-11-11 2023-03-07 百度时代网络技术(北京)有限公司 Data flow control method, system, device, electronic equipment and storage medium

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109862377A (en) * 2017-11-30 2019-06-07 华为技术有限公司 Video transmission method, device, system and computer readable storage medium
CN115484624A (en) * 2021-06-16 2022-12-16 网络通信与安全紫金山实验室 Data processing method, architecture, electronic device and storage medium

Also Published As

Publication number Publication date
CN116170379A (en) 2023-05-26

Similar Documents

Publication Publication Date Title
US20180205976A1 (en) Method and apparatus of obtaining video fragment
CN110598870A (en) Method and device for federated learning
US20130012160A1 (en) Mobile device-based bandwidth throttling
CN105873022A (en) Downloading method and device for mobile terminal
CN111225209B (en) Video data plug flow method, device, terminal and storage medium
CN104394484A (en) Wireless live streaming media transmission method
CN106792835B (en) Control method and system for wireless equipment sharing bandwidth
US20220147697A1 (en) Adaptive content delivery
US9876875B2 (en) System, method and device for providing crowd-sourced, cloud-based custom tuning for applications
EP2939452A1 (en) Service preferences for multiple-carrier-enabled devices
US20240113976A1 (en) Quality of experience (qoe) optimization of device and network configuration
CN103096385A (en) Method and device and terminal of flow control
JP7356581B2 (en) Information processing methods, devices, equipment and computer readable storage media
CN110674942A (en) Bandwidth management method and device, electronic equipment and readable storage medium
CN112235844A (en) Network switching method, system, device, equipment and storage medium
CN104918077A (en) Video transmission method, device and system
CN114389959B (en) Network congestion control method, device, electronic equipment and storage medium
US20140141793A1 (en) System and method to manage qos in a bandwidth-constrained network (cellular) by sending tower-initiated policy changes to individual phones
CN116170379B (en) Transmission control method, device, equipment and computer readable storage medium
CN110858844A (en) Service request processing method, control method, device, system and electronic equipment
CN103702219A (en) Video playing control method and equipment
CN114025190B (en) Multi-code rate scheduling method and multi-code rate scheduling device
US10148512B2 (en) Mobile video optimization
EP2813033B1 (en) Technique for projecting network load in a communication network
CN108040261B (en) Network live broadcast management method and device and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40086151

Country of ref document: HK