CN117354252A - Data transmission processing method and device, storage medium and electronic device - Google Patents

Data transmission processing method and device, storage medium and electronic device Download PDF

Info

Publication number
CN117354252A
CN117354252A CN202210765155.9A CN202210765155A CN117354252A CN 117354252 A CN117354252 A CN 117354252A CN 202210765155 A CN202210765155 A CN 202210765155A CN 117354252 A CN117354252 A CN 117354252A
Authority
CN
China
Prior art keywords
rate
data
packet sending
adjusted
current
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.)
Pending
Application number
CN202210765155.9A
Other languages
Chinese (zh)
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN202210765155.9A priority Critical patent/CN117354252A/en
Priority to PCT/CN2023/100013 priority patent/WO2024001763A1/en
Publication of CN117354252A publication Critical patent/CN117354252A/en
Pending legal-status Critical Current

Links

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
    • 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
    • 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/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

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

Abstract

The embodiment of the application provides a data transmission processing method, a device, a storage medium and an electronic device, wherein the method comprises the following steps: determining the data type of data to be transmitted; if the data type is a video file, code rate information of data to be transmitted is obtained; acquiring the current network condition; adjusting the current packet sending rate according to the current network condition and the code rate information to obtain an adjusted packet sending rate; according to the adjusted packet sending rate, the data to be transmitted is transmitted, so that the problems of video service blocking caused by a large amount of packet loss and high retransmission rate caused by a general TCP congestion control algorithm in a high-flow environment in the related art can be solved, the packet sending rate is adjusted based on the new code rate and the current network condition for video files, the TCP transmission efficiency is improved, and the experience of watching videos by users is improved.

Description

Data transmission processing method and device, storage medium and electronic device
Technical Field
The embodiment of the application relates to the field of communication, in particular to a data transmission processing method, a data transmission processing device, a storage medium and an electronic device.
Background
With the rapid development of the internet, the short video is emerging, and the video traffic has a larger and larger proportion in the internet, and most of the video traffic is still transmitted through the transmission control protocol (Transmission Control Protocol, abbreviated as TCP protocol) of the Linux system. In the related art, the TCP congestion control algorithm uses the network bandwidth as far as possible as the final goal, and has the problem of inaccurate measurement no matter whether the network bandwidth is tested or the test bandwidth, especially for the shared network, the inaccurate measurement degree is higher, and in the service peak period, a large number of data packets exceeding the network capacity enter the network, so that more packet loss occurs, the retransmission rate is increased after the packet loss occurs, the transmission utilization rate is further reduced, and the method is difficult to adapt to the transmission of the current video service data.
Aiming at the problems of video service blocking caused by a large number of packet losses and high retransmission rate caused by a general TCP congestion control algorithm in a large-flow environment in the related technology, no solution is proposed.
Disclosure of Invention
The embodiment of the application provides a data transmission processing method, a data transmission processing device, a storage medium and an electronic device, which are used for at least solving the problems of video service blocking caused by a large number of packet losses and high retransmission rate due to a general TCP congestion control algorithm in a high-flow environment in the related technology.
According to an embodiment of the present application, there is provided a data transmission processing method, including:
determining the data type of data to be transmitted;
if the data type is a video file, acquiring code rate information of the data to be transmitted;
acquiring the current network condition;
adjusting the current packet sending rate according to the current network condition and the code rate information to obtain an adjusted packet sending rate;
and transmitting the data to be transmitted according to the adjusted packet sending rate.
According to another embodiment of the present application, there is also provided a data transmission processing apparatus including:
the determining module is used for determining the data type of the data to be transmitted;
the first acquisition module is used for acquiring code rate information of the data to be transmitted if the data type is a video file;
the second acquisition module is used for acquiring the current network condition;
the first adjusting module is used for adjusting the current packet sending rate according to the current network condition and the code rate information to obtain an adjusted packet sending rate;
and the transmission module is used for transmitting the data to be transmitted according to the adjusted packet sending rate.
According to a further embodiment of the present application, there is also provided a computer readable storage medium having stored therein a computer program, wherein the computer program is arranged to perform the steps of any of the method embodiments described above when run.
According to a further embodiment of the present application, there is also provided an electronic device comprising a memory having stored therein a computer program and a processor arranged to run the computer program to perform the steps of any of the method embodiments described above.
In the embodiment of the application, the data type of the data to be transmitted is determined; if the data type is a video file, code rate information of data to be transmitted is obtained; acquiring the current network condition; adjusting the current packet sending rate according to the current network condition and the code rate information to obtain an adjusted packet sending rate; according to the adjusted packet sending rate, the data to be transmitted is sent, so that the problems of video service blocking caused by a large amount of packet loss and high retransmission rate caused by a general TCP congestion control algorithm in a high-flow environment in the related art can be solved, the packet sending rate is adjusted based on the new code rate and the current network condition for video files, the TCP transmission efficiency is improved, and the experience of watching videos by users is improved.
Drawings
Fig. 1 is a hardware block diagram of a computer device of a data transmission processing method according to an embodiment of the present application;
fig. 2 is a flowchart of a data transmission processing method according to an embodiment of the present application;
FIG. 3 is a flow chart of adjusting a packet sending rate according to an embodiment of the present application;
FIG. 4 is a block diagram III of a Linux operating system in accordance with the present embodiment;
fig. 5 is a block diagram of a data transmission processing apparatus according to an embodiment of the present application.
Detailed Description
Embodiments of the present application will be described in detail below with reference to the accompanying drawings in conjunction with the embodiments.
It should be noted that the terms "first," "second," and the like in the description and claims of the present application and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order.
The method embodiments provided in the embodiments of the present application may be performed in a computer device or similar computing apparatus. Taking an example of operation on a CDN server device, fig. 1 is a hardware structure block diagram of the CDN server device of the data transmission processing method in the embodiment of the present application, as shown in fig. 1, the CDN server device may include one or more (only one is shown in fig. 1) processors 102 (the processors 102 may include, but are not limited to, a microprocessor MCU or a processing device such as a programmable logic device FPGA) and a memory 104 for storing data, where the CDN server device may further include a transmission device 106 for a communication function and an input/output device 108. It will be appreciated by those of ordinary skill in the art that the architecture shown in fig. 1 is merely illustrative and is not intended to limit the architecture of the CDN server device described above. For example, the CDN server device may also include more or fewer components than shown in fig. 1, or have a different configuration than shown in fig. 1.
The memory 104 may be used to store a computer program, for example, a software program of application software and a module, such as a computer program corresponding to a data transmission processing method in the embodiment of the present application, and the processor 102 executes the computer program stored in the memory 104, thereby performing various functional applications and service chain address pool slicing processing, that is, implementing the method described above. Memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include memory remotely located with respect to the processor 102, which may be connected to the CDN server device via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission means 106 is arranged to receive or transmit data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of the CDN server device. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, simply referred to as NIC) that can connect to other network devices through a base station to communicate with the internet. In one example, the transmission device 106 may be a Radio Frequency (RF) module, which is used to communicate with the internet wirelessly.
TCP congestion control algorithms fall into three general categories:
based on the Round Trip Time (RTT), the RTT is raised as a congestion signal, and under a complex network environment, the RTT is changed frequently, bandwidth is easily preempted, and the utilization rate is low.
Based on packet loss (such as Cubic), the packet loss is taken as a signal with congestion, the logic is that the buffer of a router and a switch is limited, the buffer is used up due to congestion, some messages in a queue are discarded, the packet loss is caused by congestion, but the packet loss is not necessarily caused by congestion, so that the congestion algorithm is easy to be interfered by noise, the bandwidth utilization rate is very low under the environment with high packet loss rate and high delay, the current network environment is mainly WiFi,4G/5G signals, and the noise packet loss rate is very high in a wireless environment.
Based on bandwidth delay detection (e.g., BBR), since it is impossible to distinguish between congestion packet loss and noise packet loss, bottleneck bandwidth and round trip (bottleneck bandwidth and round-trip, abbreviated BBR) do not take packet loss as congestion signal, but rather determine the bandwidth capacity of a path by detecting the maximum bandwidth and minimum path delay. Thus, the anti-packet loss capability and the bandwidth utilization rate are higher than those of the former two congestion control algorithms.
In all TCP congestion algorithms, the data transmission is controlled by a sending window and a receiving window, the data volume sent at one time cannot exceed the minimum value of the two windows, the rest data can not be sent continuously until receiving a response, the limitation leads to slower starting of TCP data transmission, further, the video playing time is longer, and the watching experience of a user is influenced.
In this embodiment, a data transmission processing method operating on the network architecture is provided, and fig. 2 is a flowchart of the data transmission processing method according to an embodiment of the present application, as shown in fig. 2, where the flowchart includes the following steps:
step S202, determining the data type of the data to be transmitted;
step S204, if the data type is video file, obtaining code rate information of the data to be transmitted;
step S206, obtaining the current network condition;
step S208, the current packet sending rate is adjusted according to the current network condition and the code rate information, and the adjusted packet sending rate is obtained;
in this embodiment, the current packet sending rate is periodically obtained, in order to better evaluate the current network bandwidth, the speed measurement adopts periodicity (the speed measurement period can be dynamically set in a parameter manner) to obtain the data packet confirmed by the opposite end (for example, the acquired opposite end ack sequence number is obtained by performing a difference operation), the transmission rate of the current period is calculated, and the speed measurement result of the previous periods (the frequency can be set, and the smoothing coefficient used for operation can be set) is smoothly calculated to serve as the current packet sending rate.
Step S210, the data to be transmitted is transmitted according to the adjusted packet sending rate.
Through the steps S202 to S210, the problem of video service blocking caused by a large amount of packet loss and high retransmission rate due to the general TCP congestion control algorithm in the high-flow environment in the related art can be solved, and for video files, the packet sending rate is adjusted based on the new code rate and the current network condition, so that the TCP transmission efficiency is improved, and the experience of watching video by users is improved.
In this embodiment, for non-video data, that is, the data type is non-video data, a preset transmission rate is used as code rate information, then a current network condition is obtained, a current packet sending rate is adjusted according to the current network condition and the code rate information, an adjusted packet sending rate is obtained, and data to be transmitted is transmitted according to the adjusted packet sending rate.
The current network conditions in this embodiment include at least one of the following: in the step S204, the periodic acquisition of the current network condition in the transmission process may specifically include: acquiring the conversion condition of Round Trip Time (RTT) in a TCP protocol stack and/or the actual transmission rate of the current network in a preset period; and/or, acquiring the total number of transmitted packets, the total number of lost packets and the total number of retransmission in the TCP protocol stack, and determining the packet loss rate and the retransmission rate in the current sampling period according to the total number of transmitted packets, the total number of lost packets and the total number of retransmission.
The system of the embodiment has RTT, packet loss rate and retransmission rate monitoring functions, and is used for obtaining current network conditions, including delay changes and blocking changes, periodically sampling the data, obtaining RTT values, total packet loss numbers and total retransmission numbers in a TCP protocol stack, and calculating the packet loss rate and retransmission rate in the current sampling period.
Fig. 3 is a flowchart of adjusting a packet sending rate according to an embodiment of the present application, and as shown in fig. 3, adjusting a current packet sending rate according to current network conditions and code rate information includes the following steps:
step S302, determining a minimum packet sending rate and a maximum packet sending rate according to code rate information;
step S304, adjusting the current speed-increasing coefficient according to at least one of the change condition of RTT, packet loss rate, retransmission rate and the actual transmission rate of the current network to obtain the adjusted speed-increasing coefficient;
the step S304 may specifically include: and carrying out weighted calculation on the current acceleration factor according to at least one of the change condition of RTT, the packet loss rate and the retransmission rate to obtain an adjusted acceleration factor, wherein the initial acceleration factor is a preset reference weighting coefficient value which is used for controlling the increasing speed of the packet sending rate.
Step S306, the current packet sending rate is adjusted according to the adjusted speed increasing coefficient, and the adjusted packet sending rate is obtained.
The step S306 may specifically include: and determining the product of the adjusted speed-increasing coefficient and the current packet sending rate, and determining the product as the adjusted packet sending rate.
The packet sending rate calculation is comprehensive code rate information, and calculates the optimal transmission rate of each period by adopting the conditions of the current transmission rate (namely the current packet sending rate), the RTT, the packet loss rate and the retransmission rate obtained by periodically measuring the speed, so as to achieve the purposes of intelligent regulation and more optimizing the network, and specifically comprises the following steps: when the video playing service is started, the initial packet sending rate is executed according to the initial packet sending rate v0 set by the service, and the sending window and the receiving window of the TCP link are properly adjusted according to the packet sending rate so as to speed up the playing rate. Simultaneously starting a period test; a reference weighting coefficient value α (typically set to 1 or more) is obtained, which is used to control how fast the packet rate increases. Checking RTT change condition, packet loss rate and retransmission rate of the current packet sending period, and respectively carrying out corresponding weighted calculation on the reference weighted coefficient value alpha according to the related weight coefficient to obtain a weighted calculated acceleration coefficient beta. The current packet sending rate beta is obtained to obtain the packet sending rate of the next period, the current packet sending rate in the initial stage is the initial packet sending rate v0, and v is regulated and controlled to be in the maximum packet sending rate and the minimum packet sending rate set by the service, so that the next packet sending period sends packets according to the v packet sending rate; at the beginning of each time period, the actual transmission rate of the previous period and the network condition are obtained to calculate the packet sending rate of the current period, and at the beginning of the first period, the actual transmission rate uses the preset initial transmission rate.
It should be noted that, in this embodiment, the above reference weighting coefficient value α, the calculated weighting coefficients corresponding to RTT, packet loss rate and rate of flushing may be dynamically adjusted, for example, may be set up by service and manually adjusted, or may be automatically adjusted by machine learning and power network.
Based on the packet sending rate obtained in the steps S302 to S306, the video file is transmitted, so that the congestion degree of the network can be greatly reduced in the service peak period, the packet loss of the network is reduced, the transmission efficiency of the network is improved, and the video blocking rate of the user during watching is reduced.
In an embodiment, in an initial state, the initial packet sending rate is determined to be a preset packet sending rate. In order to ensure the transmission rate of the video when playing, the second rate of the video is improved, and the sending end window and the receiving end window of the TCP stack can be adjusted according to the initial packet sending rate. Specifically, calculating the size of a receiving window required by data sent in one RTT according to the initial packet sending rate; if the receiving end window is smaller than the size of the receiving window, adjusting the receiving end window to the size of the receiving window; and adjusting the sending end window to be not smaller than the size of the receiving end window, improving the transmission start rate of the TCP, reducing the playing time of the video stream, and improving the experience of the user for watching the video.
When receiving the ack of the receiving end of the TCP protocol, the opposite end will bring about the size of its receiving window, especially during the starting period of the TCP link, the receiving window of the opposite end is usually smaller, which affects the packet sending rate during starting, and the delay is higher than that of the link, which affects more, because the next data transmission needs to wait for the ack of the receiving end to confirm that there is a receiving window, and this confirmation needs to wait for several tens of ms or even hundreds of ms, so the TCP link is usually started with data of several tens of K, then wait for several tens of or even hundreds of ms, and then send slightly more data (the window of the receiving end may be enlarged when receiving the ack, but often cannot accommodate all the transmitted data), and wait for several tens of ms again; resulting in a slower rate boost of the sending packets for the TCP link. In the invention, the size of a receiving window required by data sent in one RTT is calculated according to the initial packet sending rate set by the service, if the window brought by the receiving end is smaller than the calculated value, the size of the receiving window in the TCP protocol is adjusted to the calculated value, and the sending window of the same sending end is adjusted to be not smaller than the receiving window of the opposite end. Therefore, the data can be transmitted constantly by using the initial packet sending rate set by the service in the starting period of the TCP, and the aim of quick transmission in starting is fulfilled, so that the playing time of the video is shortened.
The embodiment is based on a Linux operating system, does not need to realize the function of congestion control, and only changes the control logic of the original bbr algorithm at necessary places, so as to change the packet sending behavior of the original congestion control algorithm, thereby achieving the aims of reducing network congestion, reducing packet sending retransmission and improving TCP transmission starting time. And the system runs in a Linux kernel space and is responsible for controlling a TCP congestion algorithm, so that the TCP transmission utilization rate and the starting time are improved. And on the basis of running the TCP_ bbr congestion algorithm, modifying the implementation function of the TCP_ bbr to change the behavior of the congestion algorithm, so as to realize the improvement of transmission performance. Fig. 4 is a block diagram of the Linux operating system according to the present embodiment, as shown in fig. 4, including a user state packet sending module 42, a bbr _ cdn module 44, and a sending module 46.
The user state packet sending module 42 is responsible for judging the type of data transmitted (the judging method is not limited in the invention), and is mainly divided into two types (common data type and video data type, which does not exclude the possibility of adding the types, so that a finer congestion control algorithm can be made for different service type data by using the bbr _ cdn module 44), and for the video data type, code rate information (such as minimum code rate, maximum code rate, average code rate, etc.) of the video is obtained, and the service information is transmitted to the bbr _ cdn module 44 through a newly added socket interface.
bbr _ cdn module 44, which calculates how much rate the present TCP link needs to use to send by using the traffic information brought by the user state packet sending module 42 and combining RTT, packet loss and retransmission rate data generated by continuously monitoring the obtained TCP protocol packet sending (these data are obtained by processing from the common TCP protocol implementation), and tells the sending module 46 about the calculated rate information, so that the sending module 46 sends the TCP data packets uniformly according to the rate; second, the bbr _ cdn module 44 increases the start rate of TCP protocol packets by adjusting the sender window and receiver window of the TCP protocol.
The transmission module 46: fq is a fair queue message dispatcher of the Linux system, the sending module 46 sends data streams in a paging mode, the paging refers to that a fair queue (fair queuing scheduler, abbreviated as Fq) can send a data stream with a certain sending rhythm, so that data can uniformly enter a network according to a set rate, and Fq is a packet sending queuing rule in a Linux network protocol stack.
bbr _ cdn module 44 can be subdivided into the following functions: the bbr _ cdn module 44 fully utilizes the functions of the original TCP_ bbr congestion algorithm in the TCP protocol stack of the Linux system, does not repeatedly make wheels, and can be realized by changing the control flow of the original congestion algorithm.
The interface connected to the user state packet sending module 42 is used for receiving the service classification information of the user state sending data stream so as to control the packet sending action of the TCP link more precisely, without the interface, the bbr _ cdn module 44 can also infer the type of the data stream in other ways (by analyzing the data transmitted by the packet sending interface, some characteristic values of the video file are obtained, for example, the TS file is a 188-byte data block, the h.264 has obvious data head, no obvious characteristic is classified into data class, and after the characteristic is obtained, some code rate information can be obtained by continuing to analyze), so as to achieve the same purpose, but without the accuracy directly notified by the service module.
The speed measurement function obtains the current actual packet sending rate of the TCP link by obtaining how many bytes of data packets are actually sent by the TCP link every 100ms (which can be set by parameters at this time) and by smoothing (the smoothing calculation window can be set and the smoothing coefficient can be set).
RTT and packet loss rate, retransmission rate monitoring function, the TCP protocol will calculate one RTT every time it receives a TCP acknowledgement message, and will count the total packet sending count, packet loss count and retransmission count, but in the invention, it needs to monitor the RTT change of the current time, packet loss rate of unit time and retransmission rate of unit time, thus can get the actual congestion status of the current network more accurately, therefore the invention will sample the current RTT and various counts every 100ms to calculate the RTT and packet loss rate and retransmission rate of the 100 ms.
The window regulating function, all current realization of TCP protocol congestion control are slow start processes, which are realized by controlling the window of the sending end and the window of the receiving end, the slow start can effectively prevent network congestion, but also slow down the starting rate of TCP transmission, increase the playing time of video playing, and the window can be enlarged by combining the service data speed limiting function of the invention, so that the TCP initial packet sending rate is accelerated, but the network congestion is not influenced.
The packet sending rate is calculated, and the function module comprehensively considers the conditions of service information, current speed measurement information, RTT change, packet loss rate and retransmission rate to calculate a rate suitable for current network transmission.
The bbr _ cdn module 44 is a kernel module of the Linux system, and is based on the playing function of the TCP_ bbr module and the fair queue Fq, and the purposes of reducing network congestion, reducing video jamming rate, accelerating video playing speed and improving user viewing experience are achieved by replacing or modifying the main control flow of the TCP_ bbr.
All current TCP congestion control algorithms are essentially to try to use the maximum bandwidth of the network to transmit data, the realization is friendly to the transmission of general data files, the transmission time of the data files can be reduced, but the phenomena of network congestion and packet loss retransmission are more easily caused in the service peak period. For a user to watch video, the video file does not need to be transmitted with the maximum bandwidth when being transmitted, the video file is provided with code rate information, the larger the code rate is, the faster the video file needs to be transmitted, but the watching requirement of the user can be met as long as the transmission rate is equal to or slightly higher than the code rate. When transmitting video files, the player end stores the files at a fast rate, then the user looks slowly at the files, looks at one file, requests the next file, and repeats the process. In this way, from the network perspective, like a pulse, the higher the pulse, the larger the network traffic will cause congestion, packet loss and retransmission, and when the pulse is not present, the network is completely idle, which is very wasteful, if the pulse is low in height, the pulse is widened, and even the network is not idle, so that the network traffic will be evenly distributed, and the network traffic will not reach or exceed the maximum bandwidth of the network in each time period, thereby greatly reducing the congestion condition of the network, packet loss and retransmission. The code rate information of the video also enables the TCP congestion control algorithm to control the packet sending rate of the video file more accurately, thereby achieving the purpose of fully utilizing network time and reducing network congestion.
On this basis, by improving the sending end window and the receiving end window of the TCP protocol stack, the TCP transmission starting rate can be accelerated without introducing the risk of network congestion.
According to another embodiment of the present application, there is also provided a data transmission processing apparatus, and fig. 5 is a block diagram of the data transmission processing apparatus according to an embodiment of the present application, as shown in fig. 5, the apparatus includes:
a determining module 52, configured to determine a data type of the data to be transmitted;
the first obtaining module 54 is configured to obtain code rate information of the data to be transmitted if the data type is a video file; a second obtaining module 56, configured to obtain a current network condition;
a first adjustment module 58, configured to adjust a current packet sending rate according to the current network condition and the code rate information, so as to obtain an adjusted packet sending rate;
and a transmission module 510, configured to transmit the data to be transmitted according to the adjusted packet sending rate.
In an embodiment, the first obtaining module 54 is further configured to obtain, in a preset period, a transformation condition of RTT in the TCP protocol stack and/or an actual transmission rate of the current network; and/or, acquiring a total packet number, a total packet loss number and a total retransmission number in a TCP protocol stack, and determining a packet loss rate and a retransmission rate in a current sampling period according to the total packet number, the total packet loss number and the total retransmission number, wherein the current network condition comprises at least one of the following: the transformation condition of the round trip time RTT, the packet loss rate, the retransmission rate and the actual transmission rate of the current network.
In one embodiment, the first adjustment module 58 includes:
the determining submodule is used for determining the minimum packet sending rate and the maximum packet sending rate according to the code rate information;
the first adjusting sub-module is used for adjusting the current speed-increasing coefficient according to at least one of the change condition of the RTT, the packet loss rate, the retransmission rate and the actual transmission rate of the current network to obtain an adjusted speed-increasing coefficient;
and the second adjusting sub-module is used for adjusting the current packet sending rate according to the adjusted speed increasing coefficient to obtain the adjusted packet sending rate.
In an embodiment, the first adjustment sub-module is further configured to perform weighted calculation on the current acceleration factor according to at least one of the RTT change condition, the packet loss rate, and the retransmission rate, so as to obtain the adjusted acceleration factor, where an initial acceleration factor is a preset reference weighting coefficient value, and the reference weighting coefficient value is used to control a speed of packet sending rate increase.
In an embodiment, the second adjustment sub-module is further configured to determine a product of the adjusted acceleration coefficient and the current packet sending rate; and determining the product as the adjusted packet sending rate.
In an embodiment, the device further comprises:
and the determining module is used for taking the preset transmission rate as code rate information if the data type is non-video data.
In an embodiment, the device further comprises:
and the second adjusting module is used for adjusting a sending end window and a receiving end window of the TCP stack according to the initial packet sending rate.
In an embodiment, the second adjustment module is further configured to calculate a size of a receiving window required by the data sent in one RTT according to the initial packet sending rate; if the receiving end window is smaller than the size of the receiving window, the receiving end window is adjusted to be the size of the receiving window; and adjusting the sending end window to be not smaller than the size of the receiving end window.
Embodiments of the present application also provide a computer readable storage medium having a computer program stored therein, wherein the computer program is arranged to perform the steps of any of the method embodiments described above when run.
In one exemplary embodiment, the computer readable storage medium may include, but is not limited to: a usb disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a removable hard disk, a magnetic disk, or an optical disk, or other various media capable of storing a computer program.
Embodiments of the present application also provide an electronic device comprising a memory having a computer program stored therein and a processor arranged to run the computer program to perform the steps of any of the method embodiments described above.
In an exemplary embodiment, the electronic apparatus may further include a transmission device connected to the processor, and an input/output device connected to the processor.
Specific examples in this embodiment may refer to the examples described in the foregoing embodiments and the exemplary implementation, and this embodiment is not described herein.
It will be appreciated by those skilled in the art that the modules or steps of the application described above may be implemented in a general purpose computing device, they may be concentrated on a single computing device, or distributed across a network of computing devices, they may be implemented in program code executable by computing devices, so that they may be stored in a storage device for execution by computing devices, and in some cases, the steps shown or described may be performed in a different order than that shown or described herein, or they may be separately fabricated into individual integrated circuit modules, or multiple modules or steps of them may be fabricated into a single integrated circuit module. Thus, the present application is not limited to any specific combination of hardware and software.
The foregoing description is only of the preferred embodiments of the present application and is not intended to limit the same, but rather, various modifications and variations may be made by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the principles of the present application should be included in the protection scope of the present application.

Claims (10)

1. A data transmission processing method, the method comprising:
determining the data type of data to be transmitted;
if the data type is a video file, acquiring code rate information of the data to be transmitted;
acquiring the current network condition;
adjusting the current packet sending rate according to the current network condition and the code rate information to obtain an adjusted packet sending rate;
and transmitting the data to be transmitted according to the adjusted packet sending rate.
2. The method of claim 1, wherein the obtaining the current network condition comprises:
acquiring the transformation condition of round trip time RTT in a TCP protocol stack and/or the actual transmission rate of the current network in a preset period; and/or
Acquiring the total number of packets sent, the total number of packets lost and the total number of retransmissions in a TCP protocol stack in a preset period, and determining the packet loss rate and the retransmission rate in the current sampling period according to the total number of packets sent, the total number of packets lost and the total number of retransmissions, wherein the current network condition comprises at least one of the following: the transformation condition of the RTT, the packet loss rate, the retransmission rate and the actual transmission rate of the current network.
3. The method of claim 2, wherein adjusting the current packet rate based on the current network condition and the code rate information, the obtaining the adjusted packet rate comprises:
determining a minimum packet sending rate and a maximum packet sending rate according to the code rate information;
adjusting a current speed-increasing coefficient according to at least one of the change condition of the RTT, the packet loss rate, the retransmission rate and the actual transmission rate of the current network to obtain an adjusted speed-increasing coefficient;
and adjusting the current packet sending rate according to the adjusted speed increasing coefficient to obtain the adjusted packet sending rate.
4. The method of claim 3, wherein adjusting the acceleration factor according to at least one of the RTT, the packet loss rate, and the retransmission rate, the obtaining the adjusted acceleration factor comprises:
and carrying out weighted calculation on the current speed-increasing coefficient according to at least one of the change condition of the RTT, the packet loss rate and the retransmission rate to obtain the adjusted speed-increasing coefficient, wherein an initial speed-increasing coefficient is a preset reference weight coefficient value, and the reference weight coefficient value is used for controlling the speed of packet sending rate to increase.
5. The method of claim 3, wherein adjusting the current packet rate according to the adjusted acceleration factor, the obtaining the adjusted packet rate comprising:
determining the product of the adjusted speed-increasing coefficient and the current packet sending rate;
and determining the product of the current packet sending rate as the adjusted packet sending rate.
6. The method according to any one of claims 1 to 5, further comprising:
and if the data type is non-video data, taking the preset transmission rate as code rate information.
7. The method according to any one of claims 1 to 5, further comprising:
calculating the size of a receiving window required by data sent in one RTT according to the initial packet sending rate;
if the receiving end window is smaller than the size of the receiving window, the receiving end window is adjusted to be the size of the receiving window;
and adjusting the sending end window to be not smaller than the size of the receiving end window.
8. A data transmission processing apparatus, the apparatus comprising:
the determining module is used for determining the data type of the data to be transmitted;
the first acquisition module is used for acquiring code rate information of the data to be transmitted if the data type is a video file;
the second acquisition module is used for acquiring the current network condition;
the first adjusting module is used for adjusting the current packet sending rate according to the current network condition and the code rate information to obtain an adjusted packet sending rate;
and the transmission module is used for transmitting the data to be transmitted according to the adjusted packet sending rate.
9. A computer readable storage medium having a computer program stored therein, wherein the computer program is arranged to perform the method of any of claims 1 to 7 when run.
10. An electronic device comprising a memory in which a computer program is stored and a processor arranged to run the computer program to perform the method of any of claims 1 to 7.
CN202210765155.9A 2022-06-29 2022-06-29 Data transmission processing method and device, storage medium and electronic device Pending CN117354252A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210765155.9A CN117354252A (en) 2022-06-29 2022-06-29 Data transmission processing method and device, storage medium and electronic device
PCT/CN2023/100013 WO2024001763A1 (en) 2022-06-29 2023-06-13 Data transmission processing method and device, storage medium, and electronic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210765155.9A CN117354252A (en) 2022-06-29 2022-06-29 Data transmission processing method and device, storage medium and electronic device

Publications (1)

Publication Number Publication Date
CN117354252A true CN117354252A (en) 2024-01-05

Family

ID=89367934

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210765155.9A Pending CN117354252A (en) 2022-06-29 2022-06-29 Data transmission processing method and device, storage medium and electronic device

Country Status (2)

Country Link
CN (1) CN117354252A (en)
WO (1) WO2024001763A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117692396A (en) * 2024-02-04 2024-03-12 湖南国科亿存信息科技有限公司 TCP unilateral acceleration method and device in complex network environment

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100442796C (en) * 2004-09-09 2008-12-10 上海川海信息科技有限公司 A speed control method in stream media transmission system
GB2539335B (en) * 2014-04-03 2018-03-14 Orbital Multi Media Holdings Corp Data flow control method and system
WO2018080726A1 (en) * 2016-10-28 2018-05-03 Level 3 Communications, Llc Systems and methods for adjusting a congestion window value of a content delivery network
CN110247853A (en) * 2018-03-09 2019-09-17 网宿科技股份有限公司 TCP jamming control method, system, storage medium and network server
CN112953749A (en) * 2019-12-11 2021-06-11 华为技术有限公司 Transmission rate configuration method and device
CN113242183A (en) * 2021-05-20 2021-08-10 惠州Tcl移动通信有限公司 Data stream sending control method and device, intelligent terminal and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117692396A (en) * 2024-02-04 2024-03-12 湖南国科亿存信息科技有限公司 TCP unilateral acceleration method and device in complex network environment
CN117692396B (en) * 2024-02-04 2024-04-26 湖南国科亿存信息科技有限公司 TCP unilateral acceleration method and device in complex network environment

Also Published As

Publication number Publication date
WO2024001763A1 (en) 2024-01-04

Similar Documents

Publication Publication Date Title
EP1708438B1 (en) Communication processing apparatus, data communication system, and communication processing method
EP1187401A2 (en) Method and systems for alleviating network congestion
EP1701506B1 (en) Method and system for transmission control protocol (TCP) traffic smoothing
CN108540395B (en) Congestion judgment method in loss-free network and switch
EP2775673A1 (en) Content reproduction information estimating device, method and program
US8340126B2 (en) Method and apparatus for congestion control
EP4020892A1 (en) Network parameter configuration method and apparatus
CN112104562A (en) Congestion control method and device, communication network and computer storage medium
Beytur et al. Towards AoI-aware smart IoT systems
US20220248259A1 (en) Data processing method and apparatus
CN117354252A (en) Data transmission processing method and device, storage medium and electronic device
CN111601335A (en) Wireless network performance test method and wireless AP
CN112491573B (en) Network parameter configuration method and device
US10826784B2 (en) High definition, scalable network monitoring and debugging in real-time
US9887857B2 (en) Method for scheduling management operation on devices in a home network
CN110290552B (en) Method and device for measuring cache depth, storage medium and electronic device
Çakmak et al. A Review: Active queue management algorithms in mobile communication
KR20150072512A (en) Frame transmittion method and apparatus for controlling one-way delay
JP2014112779A (en) Data transmission controller, data transmission control method, and computer program
CN108111428B (en) Congestion control method and device
CN114079619A (en) Port flow sampling method and device
CN117412120A (en) Video transmission method, video transmission device, system, and storage medium
WO2024120134A1 (en) Video transmission method, apparatus and device, and storage medium
CN114844872B (en) Cloud mobile phone dynamic code stream adjustment method and system
US11736552B1 (en) Sender based adaptive bit rate control

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication