Data transmission method and device, computer equipment and storage medium

By classifying the characteristics of communication connections during data transmission and triggering packet retransmission, the problem of data transmission efficiency reduction caused by delay or loss of ACK answer packets is solved, and timely recovery and efficient transmission of data packets are achieved.

CN119316466APending Publication Date: 2025-01-14TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202310868534.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-07-14
Publication Date
2025-01-14

AI Technical Summary

Technical Problem

During network communication, ACK answer packets for data transmission are prone to delay or loss, resulting in packet loss detection not being able to operate normally, affecting data transmission efficiency.

Method used

By establishing a communication connection with the data receiving end, data packets are sent and connection characteristics are obtained. When no confirmation signal is received, classification is performed based on these characteristics. If classified as an activated data retransmission category, data packets are resent to ensure the data packets. timely retransmission.

Benefits of technology

Retransmission of data packets in time when no acknowledge signal is received, reducing the processing time-consuming of lost packet recovery and improving the efficiency of data transmission.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119316466A_ABST
    Figure CN119316466A_ABST
Patent Text Reader

Abstract

The invention relates to a data transmission method and device, computer equipment, a storage medium and a computer program product. The method comprises the following steps: establishing a communication connection with a data receiving end, and sending at least one data packet to the data receiving end through the communication connection; when a receiving confirmation signal fed back by the data receiving end for the at least one data packet is not received, acquiring at least one connection characteristic of the communication connection; classifying the communication connection based on the at least one connection feature to obtain a connection category of the communication connection; and when the connection category of the communication connection belongs to the category of activating data retransmission, resending at least one data packet to the data receiving end through the communication connection. By adopting the method, the data transmission efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a data transmission method, apparatus, computer equipment, storage medium and computer program product. Background Art

[0002] With the development of computer technology, network communication technology has been widely used in various fields such as finance, games, transportation, Internet of Things, shopping, and security, which has facilitated people's work and enriched people's lives. In the process of data transmission based on network communication technology, affected by factors such as physical links or network configuration, the ACK (Acknowledge character) response packet of data transmission is prone to delays, loss and other abnormalities, making the packet loss detection based on the ACK response packet unable to operate normally, resulting in the inability to recover in time when packet loss occurs during data transmission, such as the inability to retransmit data, which reduces the data transmission efficiency. Summary of the invention

[0003] Based on this, it is necessary to provide a data transmission method, apparatus, computer device, computer-readable storage medium and computer program product that can improve data transmission efficiency in response to the above technical problems.

[0004] In a first aspect, the present application provides a data transmission method. The method comprises:

[0005] Establishing a communication connection with a data receiving end, and sending at least one data packet to the data receiving end through the communication connection;

[0006] When a reception confirmation signal fed back by the data receiving end for at least one data packet is not received, obtaining at least one connection feature of the communication connection;

[0007] Classifying the communication connection based on at least one connection feature to obtain a connection category of the communication connection;

[0008] When the connection category of the communication connection belongs to a category for activating data retransmission, at least one data packet is resent to the data receiving end through the communication connection.

[0009] In a second aspect, the present application also provides a data transmission device. The device comprises:

[0010] A data packet sending module, used to establish a communication connection with a data receiving end, and send at least one data packet to the data receiving end through the communication connection;

[0011] A connection feature acquisition module, configured to acquire at least one connection feature of the communication connection when a reception confirmation signal fed back by the data receiving end for at least one data packet is not received;

[0012] A connection classification module, configured to classify the communication connection based on at least one connection feature to obtain a connection category of the communication connection;

[0013] The data packet retransmission module is used to resend at least one data packet to a data receiving end through the communication connection when the connection category of the communication connection belongs to the category of activating data retransmission.

[0014] In a third aspect, the present application further provides a computer device, wherein the computer device comprises a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the steps of the above data transmission method are implemented.

[0015] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, and the computer program implements the steps of the above data transmission method when executed by a processor.

[0016] In a fifth aspect, the present application further provides a computer program product, which includes a computer program, and when the computer program is executed by a processor, the steps of the above data transmission method are implemented.

[0017] The above-mentioned data transmission method, apparatus, computer equipment, storage medium and computer program product, in the process of sending at least one data packet through the communication connection established with the data receiving end, when the reception confirmation signal fed back by the data receiving end for at least one data packet is not received, classification is performed based on at least one connection feature of the communication connection, and when the obtained connection category belongs to the category of activating data retransmission, at least one data packet is resent to the data receiving end through the communication connection. In the data transmission process, for at least one data packet sent through the communication connection, if the reception confirmation signal for at least one data packet is not received, classification is performed based on at least one connection feature of the communication connection, and when the connection category of the communication connection belongs to the category of activating data retransmission, retransmission of at least one data packet is triggered, and the transmitted data packet can be retransmitted in time when the reception confirmation signal is not received, thereby reducing the processing time consumption for recovery of lost data packets and improving the efficiency of data transmission. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Figure 1 is an application environment diagram of a data transmission method in an embodiment;

[0019] Figure 2 A schematic diagram of a flow chart of a data transmission method in an embodiment;

[0020] Figure 3 is a timing diagram of a data transmission method in one embodiment;

[0021] Figure 4 A schematic diagram of a process of waiting for two round trip delays in one embodiment;

[0022] Figure 5 A schematic diagram of a process of packet loss detection processing in one embodiment;

[0023] Figure 6 is a flow chart of a tail loss detection algorithm in one embodiment;

[0024] Figure 7 is a percentile diagram of the packet loss rate in one embodiment;

[0025] Figure 8 A schematic diagram of an active retransmission analysis result in one embodiment;

[0026] Fig. 9 A schematic diagram of the relationship between decision tree training effect and depth in one embodiment;

[0027] FIG10( a ) is a schematic diagram of the structure of a two-layer decision tree in one embodiment;

[0028] FIG10( b ) is a schematic diagram of the structure of the first part of a three-layer decision tree in one embodiment;

[0029] FIG10( c ) is a schematic diagram of the structure of the second part of a three-layer decision tree in one embodiment;

[0030] FIG10( d ) is a schematic diagram of the structure of the first part of a 4-layer decision tree in one embodiment;

[0031] FIG10( e ) is a schematic diagram of the structure of the second part of a 4-layer decision tree in one embodiment;

[0032] FIG10( f ) is a schematic diagram of the structure of the third part of a 4-layer decision tree in one embodiment;

[0033] FIG10( g ) is a schematic diagram of the structure of the fourth part of a 4-layer decision tree in one embodiment;

[0034] Fig.11 is a structural block diagram of a data transmission device in one embodiment;

[0035] Fig.12 FIG. 4 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0036] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0037] The data transmission method provided in the embodiment of the present application can be applied to Figure 1 In the application environment shown. Among them, the terminal 102 communicates with the server 104 through the network. The data storage system can store the data that the server 104 needs to process. The data storage system can be integrated on the server 104, or it can be placed on the cloud or other servers. When data is transmitted between the terminal 102 and the server 104, specifically when the server 104 transmits data to the terminal 102, the server 104 acts as a data transmitter for data transmission, and the terminal 102 acts as a data receiver for data transmission. The server 104 establishes a communication connection with the terminal 102, and sends at least one data packet to the terminal 102 through the communication connection. When the server 104 does not receive a reception confirmation signal fed back by the terminal 102 for at least one data packet, the server 104 classifies based on at least one connection feature of the communication connection. When the obtained connection category belongs to a category for activating data retransmission, the server 104 resends at least one data packet to the terminal 102 through the communication connection. In addition, when data is transmitted between the terminal 102 and the server 104, the terminal 102 can also transmit data to the server 104. The server 104 serves as the data receiving end of the data transmission, and the terminal 102 serves as the data sending end of the data transmission. The data transmission method provided in the present application can be executed by the terminal 102 to improve the data transmission efficiency.

[0038] Among them, the terminal 102 can be, but is not limited to, various desktop computers, laptops, smart phones, tablet computers, Internet of Things devices and portable wearable devices. The Internet of Things devices can be smart speakers, smart TVs, smart air conditioners, smart car-mounted devices, etc. Portable wearable devices can be smart watches, smart bracelets, head-mounted devices, etc. The server 104 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. The terminal 102 and the server 104 can be directly or indirectly connected via wired or wireless communication.

[0039] Among them, cloud technology refers to a hosting technology that unifies hardware, software, network and other resources in a wide area network or local area network to realize data computing, storage, processing and sharing. Cloud technology is a general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model application. It can form a resource pool, which is used on demand and flexible and convenient. Cloud computing technology will become an important support. The background services of the technical network system require a large amount of computing and storage resources, such as video websites, picture websites and more portal websites. With the high development and application of the Internet industry, in the future, each item may have its own identification mark, and all need to be transmitted to the background system for logical processing. Data of different levels will be processed separately. All kinds of industry data require strong system backing support, which can only be achieved through cloud computing.

[0040] Specifically, cloud computing refers to the delivery and use model of IT infrastructure, which means obtaining required resources through the network in an on-demand and easily scalable manner; in a broad sense, cloud computing refers to the delivery and use model of services, which means obtaining required services through the network in an on-demand and easily scalable manner. This service can be related to IT and software, the Internet, or other services. Cloud computing is the product of the development and integration of traditional computer and network technologies such as grid computing, distributed computing, parallel computing, utility computing, network storage technologies, virtualization, and load balancing. With the development of the Internet, real-time data streams, and the diversification of connected devices, as well as the promotion of search services, social networks, mobile commerce, and open collaboration, cloud computing has developed rapidly. Different from the previous parallel and distributed computing, the emergence of cloud computing will promote revolutionary changes in the entire Internet model and enterprise management model from a conceptual perspective.

[0041] In one embodiment, Figure 2 As shown, a data transmission method is provided, which is executed by a computer device, and can be executed by a computer device such as a terminal or a server alone, or by a terminal and a server together. In the embodiment of the present application, the method is applied to Figure 1 The following steps are taken as an example of a terminal or server in the computer system:

[0042] Step 202: Establish a communication connection with a data receiving end, and send at least one data packet to the data receiving end through the communication connection.

[0043] Among them, in the data transmission process, data is transmitted from the data sending end to the data receiving end, and the data transmission method can be implemented by the computer device corresponding to the data sending end in the data transmission process. The communication connection is a communication link for data transmission between the data sending end and the data receiving end, which can be created and implemented according to various communication protocols, such as TCP (Transmission Control Protocol), UDP (User Datagram Protocol), QUIC (Quick UDP Internet Connections, a low-latency Internet transport layer protocol based on UDP) and other transmission protocols. For different data sending ends and data receiving ends in data transmission, different communication connections can be created by using different communication protocols. A data packet is the unit of data transmission in the data transmission process. Each data packet can carry the data to be transmitted. The data packet can be generated according to the communication protocol supported by the communication connection, that is, the format of the data packet matches the communication protocol supported by the communication connection.

[0044] Specifically, as a data transmitting end, the computer device can determine the data receiving end that needs to transmit data, and establish a communication connection with the data receiving end, such as establishing a communication connection with the data receiving end according to a pre-configured data transmission protocol. The computer device can transmit data through the established communication connection, and specifically can determine at least one data packet that needs to be transmitted, and send at least one data packet to the data receiving end through the communication connection. In different application scenarios, the data information carried in the transmitted data packet can be different. For example, in a live broadcast application scenario, the data packet sent by the computer device can carry live streaming media data; in another example, in a social application scenario, the data packet sent by the computer device can carry session message data. In specific implementation, the computer device can transmit multiple data packets at one time, or transmit the data packets one by one.

[0045] Step 204: when no reception confirmation signal fed back by the data receiving end for at least one data packet is received, obtaining at least one connection feature of the communication connection.

[0046] Among them, the data receiving end can receive at least one data packet sent by the computer device. For each data packet received, the data receiving end can feed back a reception confirmation signal to the computer device through the communication connection to inform the computer device that the data packet sent by it has been successfully received. The computer device can determine the data packets that have been successfully received among the sent data packets based on the reception confirmation signal fed back by the data receiving end. For the data packets that have not been successfully received, the computer device can retransmit them, thereby realizing reliable data transmission. The connection feature characterizes the characteristics of the communication connection between the data sending end and the data receiving end, and can be generated based on the historical data transmission record of the communication connection. The connection feature can specifically include but is not limited to features constructed based on round trip time (RTT) parameters, bandwidth parameters, transmission stream parameters or retransmission parameters. The communication connection can be classified based on the connection feature, and different types of communication connections can adopt different data retransmission strategies to recover lost data.

[0047] Specifically, the computer device can wait for the data receiving end to feedback a reception confirmation signal for at least one data packet. If the computer device does not receive the reception confirmation signal fed back by the data receiving end, such as the computer device does not receive the reception confirmation signal fed back by the data receiving end within a predetermined time period, it indicates that the sent data packet may have been lost. If lost, it needs to be retransmitted. The computer device can obtain at least one connection feature of the communication connection. The connection feature can characterize the category characteristics of the communication connection. Different data retransmission controls can be performed according to different categories of the communication connection.

[0048] In a specific implementation, a computer device sends a data packet to a data receiving end through a communication connection. After receiving the data packet, the data receiving end will feedback a reception confirmation signal to the computer device, such as an ACK response packet, to inform the computer device of the reception status of the data packet it sent. For a computer device, if a reception confirmation signal fed back by the data receiving end is received, it can be determined that the data packet it sent has been successfully received by the data receiving end, and the computer device can continue to send the next data packet. If the computer device does not receive a reception confirmation signal fed back by the data receiving end, the computer device cannot determine whether the data packet it sent has been successfully received by the data receiving end, whether it needs to continue waiting, or whether it needs to be resent. At this time, the computer device can obtain at least one connection feature of the communication connection, and the communication connection can be classified according to at least one connection feature of the communication connection to determine whether to perform data retransmission processing.

[0049] Step 206: classify the communication connection based on at least one connection feature to obtain a connection category of the communication connection.

[0050] Among them, the connection category is used to represent the classification result of the communication connection, and different connection categories can be applicable to different data retransmission strategies. Specifically, the computer device can classify the communication connection based on at least one connection feature, and can specifically classify the communication connection based on at least one connection feature through a pre-trained artificial neural network model to obtain the connection category of the communication connection. In a specific application, the computer device can classify the communication connection through a pre-trained artificial neural network model, and the pre-trained artificial neural network model can be constructed based on various neural network algorithms, such as CNN (Convolutional Neural Networks), RNN (Recurrent Neural Network), GAN (Generative Adversarial Networks), Transformer, LSTM (Long Short-Term Memory), Decision Tree, DRNN (Deep RNN), and other algorithms.

[0051] Step 208: When the connection category of the communication connection belongs to the category of activating data retransmission, at least one data packet is resent to the data receiving end through the communication connection.

[0052] Among them, activating data retransmission means that the reception confirmation signal is not received at present, and packet loss detection processing cannot be performed based on the reception confirmation signal, but data retransmission processing is directly performed, and the continued waiting for the reception confirmation signal can be omitted, and there is no need to use the reception confirmation signal to perform packet loss detection processing. Computer equipment can be divided into various connection categories for communication connections, and specifically can be divided into categories for activating data retransmission and categories for not activating data retransmission according to actual needs. For the category for activating data retransmission, data retransmission processing needs to be performed, and for the category for not activating data retransmission, data retransmission processing is not triggered.

[0053] Specifically, for the connection category of the communication connection, different data retransmission strategies may be configured for different categories, such as a data retransmission activation strategy and a data retransmission non-strategy. The computer device may make a determination based on the connection category of the communication connection, and upon determining that the connection category of the communication connection belongs to a category for activating data retransmission, that is, a data retransmission activation strategy is required to directly activate data retransmission, the computer device may resend at least one data packet to the data receiving end through the communication connection.

[0054] In a specific application, such as Figure 3As shown, when the data transmitting end and the data receiving end perform data transmission, the data transmitting end establishes a communication connection with the data receiving end, and sends a data packet 1 to the data receiving end through the communication connection. When the data receiving end receives the data packet 1, it generates a corresponding reception confirmation signal 1, and feeds back the reception confirmation signal 1 to the data transmitting end. The data transmitting end receives the reception confirmation signal 1, and confirms that the data packet 1 has been successfully received. The data transmitting end continues to send a data packet 2 to the data receiving end through the communication connection. If the data transmitting end does not receive the reception confirmation signal 2 within a predetermined time period, the connection characteristics of the communication connection are obtained and classified based on the connection characteristics to determine the connection category. When it is determined that the connection category belongs to the category of activating data retransmission, the data transmitting end retransmits the data packet 2 through the communication connection. When the data receiving end receives the retransmitted data packet 2, it generates a corresponding reception confirmation signal 2, and feeds back the reception confirmation signal 2 to the data transmitting end. The data transmitting end receives the reception confirmation signal 2, and confirms that the retransmitted data packet 2 has been successfully received.

[0055] In the above data transmission method, in the process of sending at least one data packet through the communication connection established with the data receiving end, when the reception confirmation signal fed back by the data receiving end for at least one data packet is not received, classification is performed based on at least one connection feature of the communication connection, and when the obtained connection category belongs to the category of activating data retransmission, at least one data packet is resent to the data receiving end through the communication connection. In the data transmission process, for at least one data packet sent through the communication connection, if the reception confirmation signal for at least one data packet is not received, classification is performed based on at least one connection feature of the communication connection, and when the connection category of the communication connection belongs to the category of activating data retransmission, retransmission of at least one data packet is triggered, and the transmitted data packet can be retransmitted in time when the reception confirmation signal is not received, thereby reducing the processing time consumption for recovery of lost data packets and improving the efficiency of data transmission.

[0056] In one embodiment, communication connections are classified based on at least one connection feature to obtain a connection category of the communication connection, including: obtaining a connection classification model; the connection classification model is trained based on historical data transmission records of various historical communication connections; and the communication connection is classified based on determining a target connection feature from at least one connection feature through the connection classification model to obtain a connection category of the communication connection.

[0057] Among them, the connection classification model is used to perform classification processing using the connection features of the communication connection. The connection classification model can be pre-trained based on the historical data transmission records of various historical communication connections. The architecture used in the connection classification model training can be selected according to actual needs, such as CNN, decision tree, etc. The target connection feature is a connection feature determined from the connection features of the communication connection for classification processing, specifically, a connection feature input into the connection classification model for classification processing. The target connection feature can be at least part of the connection features of the communication connection, that is, it can be part of the connection features of the communication connection, or it can be all of the connection features of the communication connection.

[0058] Specifically, the computer device can obtain a pre-trained connection classification model, and the connection classification model is trained based on the historical data transmission records of various historical communication connections. In a specific application, the computer device can obtain the historical data transmission records of various historical communication connections, and the historical data transmission records can record various log information recorded in the historical data transmission of the corresponding historical communication connection, such as the sending window, RTT, and the state of the active retransmission data packet. The computer device can use the selected neural network algorithm to train based on the historical data transmission records of various historical communication connections to obtain the connection classification model. The computer device can classify the communication connection based on the target connection feature through the connection classification model to obtain the connection category of the communication connection. The target connection feature is determined from at least one connection feature. The specific computer device can determine the target connection feature from at least one connection feature according to the condition of the connection classification model for the input feature, and the connection classification model is used to classify based on the target connection feature, and the connection category of the communication connection is obtained by output.

[0059] In this embodiment, the computer device obtains a connection classification model based on pre-trained historical data transmission records of various historical communication connections, and classifies the connection based on the target connection characteristics determined in the connection characteristics. The connection classification model can be used to accurately classify the communication connection, which is beneficial to ensure the accurate selection of the activation data retransmission strategy, thereby facilitating improving the efficiency of data transmission.

[0060] In one embodiment, the connection classification model includes a decision tree model; through the connection classification model, the communication connection is classified based on determining a target connection feature from at least one connection feature to obtain a connection category of the communication connection, including: according to the decision tree model, various target connection features are determined from at least one connection feature; the type of the target connection feature is matched with the model depth of the decision tree model; various target connection features are input into the decision tree model to classify the communication connection layer by layer to obtain the connection category of the communication connection.

[0061] Among them, the decision tree is a decision analysis method that uses a decision tree to obtain the probability that the expected value of the net present value is greater than or equal to zero, evaluate the project risk, and judge its feasibility based on the known probability of occurrence of various situations. It is a graphical method that intuitively uses probability analysis. Since this decision branch is drawn into a graph that looks like a tree branch, it is called a decision tree. In machine learning, a decision tree is a prediction model that represents a mapping relationship between object attributes and object values. A decision tree is a tree structure in which each internal node represents a test on an attribute, each branch represents a test output, and each leaf node represents a category. The decision tree model is a connection classification model trained based on the decision tree algorithm using the historical data transmission records of various historical communication connections. The decision tree model can include multiple layers of decision nodes, and each layer of decision nodes can be classified based on a connection feature, so the type of target connection feature matches the model depth of the decision tree model. For example, if the decision tree model includes 3 layers, the decision tree model needs to use 3 target connection features to classify the communication connection.

[0062] Specifically, the connection classification model includes a decision tree model, and the computer device can select features from at least one connection feature according to the decision tree model to determine various target connection features. The computer device can specifically determine the model depth of the decision tree model, and determine the connection feature category targeted by each layer of decision nodes in the decision tree model, and determine various target connection features from at least one connection feature of the communication connection based on the connection feature category targeted by each layer of decision nodes. For example, the model depth of the decision tree model is 3, that is, it includes 3 layers of decision nodes. If the connection feature category targeted by the first layer of decision nodes is connection feature A, the connection feature category targeted by the second layer of decision nodes is connection feature C, and the connection feature category targeted by the third layer of decision nodes is connection feature E. If the connection features of the communication connection obtained include five types: connection feature a, connection feature b, connection feature c, connection feature d, and connection feature e, the computer device can determine connection feature a, connection feature c, and connection feature e as target connection features from the connection features of the communication connection according to the needs of the decision tree model for classification processing.

[0063] Furthermore, the computer device may input the determined various target connection features into a decision tree model, so that the decision tree model classifies the communication connection layer by layer to obtain the connection category of the communication connection. For example, the computer device may input the connection feature a of the communication connection into the first layer of the decision tree model for classification decision, then input the connection feature c of the communication connection into the second layer of the decision tree model for classification decision, and finally input the connection feature e of the communication connection into the third layer of the decision tree model for classification decision, thereby obtaining the connection category of the communication connection.

[0064] In this embodiment, the computer device determines the target connection characteristics based on the decision tree model, and inputs the determined target connection characteristics into the decision tree model for classification layer by layer, thereby using the decision tree model to accurately classify the communication connection, which is beneficial to ensure the accurate selection of the activation data retransmission strategy, thereby facilitating improving the efficiency of data transmission.

[0065] In one embodiment, the training steps of the connection classification model include: determining communication connection samples from various historical communication connections, and determining at least one sample connection feature and a classification label of the communication connection samples based on the historical data transmission records of the communication connection samples; determining a target sample connection feature from at least one sample connection feature through the connection classification model to be trained; classifying the communication connection samples based on the target sample connection feature through the connection classification model to be trained to obtain a sample connection category of the communication connection samples; and continuing training after updating the parameters of the connection classification model based on the difference between the sample connection category and the classification label until the training is completed to obtain a trained connection classification model.

[0066] The communication connection sample is sample data selected from various historical communication connections for connection classification model. The sample connection feature is a feature for classification determined based on the historical data transmission records of the communication connection sample. The classification label is a real classification label set for the sample connection feature. The target sample connection feature is a feature selected from the sample connection features for classification processing. The sample connection category is the classification result of the communication connection sample classified by the connection classification model to be trained.

[0067] Specifically, the computer device can determine various historical communication connections, and filter out communication connection samples from various historical communication connections. The computer device can obtain historical data transmission records of the communication connection samples, and determine at least one sample connection feature and classification label of the communication connection samples from the historical data transmission records. The computer device can construct an initialized connection classification model based on a specified neural network algorithm as a connection classification model to be trained. The computer device can determine the target sample connection feature from at least one sample connection feature through the connection classification model to be trained, and classify the communication connection sample based on the determined target sample connection feature, and the connection classification model to be trained outputs the sample connection category for the communication connection sample. The computer device can compare the sample connection category with the classification label, determine the difference between the sample connection category and the classification label, and continue training after updating the parameters of the connection classification model according to the difference until the training is completed, such as when all sample training is completed, the number of training times reaches the number threshold, or the classification accuracy reaches the accuracy threshold, the training can be terminated to obtain a trained connection classification model.

[0068] In this embodiment, the computer device trains a connection classification model based on communication connection samples determined from various historical communication connections, and can learn connection classification features based on the historical data transmission records of the communication connection samples, thereby ensuring that the communication connections can be accurately classified based on the connection classification model, which is beneficial to ensuring the accurate selection of the activation data retransmission strategy, thereby facilitating improving the efficiency of data transmission.

[0069] In one embodiment, a communication connection sample is a communication connection that triggers data retransmission during a data transmission process; based on a historical data transmission record of the communication connection sample, at least one sample connection feature and a classification label of the communication connection sample are determined, including: obtaining the historical data transmission record of the communication connection sample; extracting at least one sample connection feature of the communication connection sample from the historical data transmission record of the communication connection sample according to a feature constraint; determining a retransmission data packet state of the communication connection sample after data retransmission is triggered during the data transmission process based on the historical data transmission record of the communication connection sample; and determining a classification label for the communication connection sample based on the retransmission data packet state.

[0070] Among them, the communication connection sample is a communication connection that triggers data retransmission during the data transmission process, that is, the communication connection sample is a communication connection that triggers data retransmission during the data transmission process. Feature constraints are used to constrain sample connection features, which can be specifically determined based on the data transmission application scenario to which the communication connection sample belongs. The retransmission packet state is used to describe the reception state of the retransmitted data packet after the data retransmission is triggered, such as successful reception after retransmission, no data packet loss, and failed reception after retransmission. Different retransmission packet states can correspond to different connection categories, so that the classification label of the communication connection sample can be determined based on the retransmission packet state.

[0071] Specifically, for a communication connection sample that triggers data retransmission during a data transmission process, the computer device may obtain a historical data transmission record of the communication connection sample, and extract at least one sample connection feature of the communication connection sample from the historical data transmission record of the communication connection sample according to the feature constraint condition. The feature constraint condition is determined according to the data transmission application scenario to which the communication connection sample belongs. The specific computer device may determine the data transmission application scenario to which the communication connection sample belongs, and configure the corresponding feature constraint condition based on the data transmission application scenario. On the other hand, the computer device may determine the state of the retransmission data packet of the communication connection sample after the data retransmission is triggered during the data transmission process based on the historical data transmission record of the communication connection sample, and determine the classification label of the communication connection sample based on the state of the retransmission data packet. For example, if the state of the retransmission data packet is that the data packet is not lost, it can be determined that the classification label is a connection category with most false data; if the state of the retransmission data packet is that the data is lost again, it can be determined that the classification label is a connection category with most secondary losses; if the state of the retransmission data packet is a response, it can be determined that the classification label is a connection category with a response.

[0072] In this embodiment, the computer device extracts sample connection features from historical data transmission records according to feature constraints for communication connection samples that trigger data retransmission during data transmission, and determines the classification label of the communication connection sample according to the state of the retransmitted data packet, so that the communication connection sample can be accurately modeled, which is beneficial to improving the effectiveness of the communication connection sample, thereby ensuring the reliability of the trained connection classification model.

[0073] In one embodiment, when a reception confirmation signal fed back by a data receiving end for at least one data packet is not received, obtaining at least one connection characteristic of the communication connection includes: determining a waiting time for waiting for a reception confirmation signal fed back by the data receiving end for at least one data packet; when the waiting time reaches a time threshold, obtaining at least one connection characteristic of the communication connection.

[0074] After sending a data packet to a data receiving end, the computer device will wait for the data receiving end to feedback a reception confirmation signal for the data packet. The waiting time is the duration of the computer device waiting for the reception confirmation signal. The duration threshold is used to determine whether the connection category needs to be classified. The specific value of the duration threshold can be flexibly set according to actual needs, such as the duration of 2 RTTs.

[0075] Specifically, after sending at least one data packet to the data receiving end, the computer device may wait for the sent data packet to wait for the reception confirmation signal fed back by the data receiving end for at least one data packet, and record the waiting time. The computer device may compare the waiting time with a preset time threshold. When the waiting time reaches the time threshold, it is considered that the reception confirmation signal has not been received for a certain period of time, and it is necessary to determine whether to activate data retransmission processing. The computing device may obtain at least one connection feature of the communication connection to classify the communication connection according to the at least one connection feature. In a specific application, such as Figure 4 As shown, the computer device transmits three data packets, namely, data packet a, data packet b and data packet c. When the waiting time of two round-trip delays is reached and no ACK response packets for data packets a, data packet b and data packet c are received, when the computer device determines that the connection category of the communication connection belongs to the category for activating data retransmission, data retransmission is triggered, that is, data packets a, data packet b and data packet c are retransmitted. After one round-trip delay, ACK response packets for the retransmitted data packets a, data packet b and data packet c are received, indicating that the retransmitted data packets a, data packet b and data packet c have been successfully received by the data receiving end.

[0076] In this embodiment, when the waiting time for receiving a confirmation signal reaches a time threshold, the computer device triggers the acquisition of connection characteristics of the communication connection for classification processing, and can promptly retransmit the transmitted data packet when the reception confirmation signal is not received, thereby reducing the processing time for recovering lost data packets and improving the efficiency of data transmission.

[0077] In one embodiment, when a reception confirmation signal fed back by a data receiving end for at least one data packet is not received, obtaining at least one connection characteristic of the communication connection includes: when a reception confirmation signal fed back by a data receiving end for at least one data packet is not received, querying connection attribute information of the communication connection; obtaining at least one connection characteristic of the communication connection from the connection attribute information.

[0078] Among them, the connection attribute information is information describing the attributes of the communication connection, and various connection characteristics of the communication connection can be determined according to the connection attribute information. The connection attribute information can be generated based on the historical data transmission record of the communication connection. Specifically, when the reception confirmation signal fed back by the data receiving end for at least one data packet is not received, the computer device can query the connection attribute information of the communication connection, and the specific computer device can query the connection attribute information of the communication connection from the connection attribute library according to the identification information of the communication connection. The connection attribute library can store the connection attribute information of various communication connections, and the connection attribute information of each communication connection can be extracted from the historical data transmission record of each communication connection. The computer device can filter from the connection attribute information to obtain at least one connection feature of the communication connection. In a specific application, the computer device can determine the feature constraint condition, and obtain at least one connection feature of the communication connection from the connection attribute information according to the feature constraint condition.

[0079] In this embodiment, the computer device obtains at least one connection feature of the communication connection by querying the connection attribute information of the communication connection. There is no need to directly parse the historical data transmission records of the communication connection, which can improve the efficiency of obtaining the connection features, thereby facilitating improving the data transmission efficiency.

[0080] In one embodiment, obtaining at least one connection feature of a communication connection from connection attribute information includes: obtaining feature constraints for the communication connection; the feature constraints are determined based on a data transmission application scenario to which the communication connection belongs; and obtaining at least one connection feature of the communication connection from the connection attribute information according to the feature constraints.

[0081] Among them, the feature constraint condition is determined based on the data transmission application scenario to which the communication connection belongs. In different data transmission application scenarios, it is suitable to use different types of connection features for connection classification processing, that is, different feature constraint conditions can be configured. Specifically, the computer device can obtain the feature constraint condition, and the feature constraint condition can be determined in advance based on the data transmission application scenario to which the communication connection belongs. In a specific implementation, the computer device can determine the data transmission application scenario to which the communication connection belongs, and configure the corresponding feature constraint condition according to the data transmission application scenario. The computer device can filter from the connection attribute information according to the feature constraint condition to obtain at least one connection feature of the communication connection. For example, the computer device can query in the connection attribute information according to the feature constraint condition to obtain at least one connection feature of the communication connection.

[0082] In this embodiment, the computer device obtains the connection characteristics of the communication connection from the connection attribute information by determining the characteristic constraints according to the data transmission application scenario, so that the obtained connection characteristics can be suitable for the data transmission application scenario, thereby ensuring the targeted nature of the connection characteristics. After classification based on the connection characteristics, further data retransmission control can be performed to ensure the accuracy of data retransmission, thereby facilitating improving the efficiency of data transmission.

[0083] In one embodiment, the connection characteristics include at least one of a round trip delay parameter, a bandwidth parameter, a transport flow parameter, or a retransmission parameter.

[0084] Among them, the round-trip delay parameters are various parameters determined based on RTT, such as minimum RTT, smooth RTT, maximum RTT, RTT variation, etc.; bandwidth parameters refer to the bandwidth size corresponding to the communication connection; transmission flow parameters are parameters determined based on the transmission flow established by the communication connection, such as flow duration, flow size, etc.; retransmission parameters are parameters determined based on data retransmission processing, such as retransmission rate, TLP (Tail loss probe) times, RTO (Retransmission Timeout) times, etc. Specifically, the connection characteristics may include at least one of the round-trip delay parameters, bandwidth parameters, transmission flow parameters, or retransmission parameters, so that the connection characteristics can be flexibly configured from multiple dimensions.

[0085] In this embodiment, the connection characteristics include at least one of a round-trip delay parameter, a bandwidth parameter, a transmission stream parameter or a retransmission parameter. The connection characteristics are diverse and can be flexibly configured from multiple dimensions, which can improve the targetedness of the connection characteristics and help improve the efficiency of data transmission.

[0086] In one embodiment, Figure 5 As shown, the data transmission method also includes processing of packet loss detection, specifically including:

[0087] Step 502: When the connection category of the communication connection does not belong to the category for activating data retransmission, a packet loss detection is performed on at least one data packet to obtain a packet loss detection result.

[0088] The packet loss detection result may indicate a lost data packet in at least one data packet sent by the computer device, and the lost data packet needs to be retransmitted. Specifically, the computer device determines the connection category of the communication connection, and when it is determined that the connection category of the communication connection does not belong to the category for activating data retransmission, it indicates that it is not necessary to activate retransmission processing for the data packet, and the computer device may perform packet loss detection on at least one data packet to obtain a packet loss detection result. For example, the computer device may send a detection data packet to the data receiving end, and after receiving a reception confirmation signal fed back by the data receiving end for the detection data packet, the computer device may determine that at least one previously sent data packet is lost.

[0089] Step 504: when the packet loss detection result indicates that at least one data packet is lost in transmission, at least one data packet is resent to the data receiving end via the communication connection.

[0090] After determining that at least one data packet sent is lost, the computer device may retransmit the at least one data packet through the communication connection. Specifically, if the packet loss detection result indicates that at least one data packet is lost, the computer device determines that the data receiving end fails to receive the at least one data packet transmitted, and the computer device may retransmit the at least one data packet to the data receiving end through the communication connection.

[0091] In this embodiment, when the connection category of the communication connection does not belong to the category for activating data retransmission, the computer device performs packet loss detection, and when the packet loss detection result indicates that the data packet transmission is lost, it triggers retransmission of the lost data packet. The lost data packet can be retransmitted based on the packet loss detection, thereby ensuring the reliability of data transmission.

[0092] In one embodiment, the data transmission method further includes: upon receiving a reception confirmation signal fed back by the data receiving end for at least one data packet, obtaining the next data packet to be transmitted; and sending the next data packet to be transmitted to the data receiving end via a communication connection.

[0093] Specifically, after the computer device sends at least one data packet to the data receiving end, the computer device can wait for the data receiving end to feedback a reception confirmation signal for the at least one data packet. When the computer device receives the reception confirmation signal, it can be determined that the data receiving end has successfully received at least one data packet sent. The computer device can then obtain the next data packet to be transmitted, and send the next data packet to be transmitted to the data receiving end through the communication connection, thereby realizing continuous transmission of data packets.

[0094] In this embodiment, when the computer device receives a reception confirmation signal fed back by the data receiving end for a sent data packet, it sends the next data packet to be transmitted to the data receiving end through the communication connection, thereby realizing continuous data transmission.

[0095] The present application also provides an application scenario, which applies the above-mentioned data transmission method. Specifically, the application of the data transmission method in the application scenario is as follows:

[0096] In data transmission, ACK packets are crucial for transmission. ACK packets have two main functions. One is that the client informs the server which packets have been correctly received through the sequence number in the ACK or the SACK (Selective ACK) block, and the other is that the server uses the ACK to determine which packets are lost, so as to recover from packet loss. Current network data shows that there is a relatively frequent RTT jitter in wireless networks. The causes of fluctuations are relatively complex. It may be fluctuations in the physical link itself, or it may be ACK aggregation adopted by the client to save bandwidth resources, or ACK loss. For example, the uplink and downlink of the Wi-Fi network share the same bandwidth, which increases the risk of ACK loss. Once the reception of ACK is abnormal, such as delay, loss, etc., packet loss detection algorithms, such as FACK (forward acknowledgment) and RACK (Recent ACK), will not operate normally, resulting in the inability to recover from packet loss in time. For reliable transmission, Head-of-Line-blocking (HoL) caused by packet loss will greatly affect transmission efficiency.

[0097] The data transmission method provided in this embodiment uses supervised learning to decide in which scenarios the unanswered packets triggered by TLP (Tailloss probe) can be retransmitted in advance, thereby improving the efficiency of packet loss recovery. The data transmission method provided in this embodiment can effectively reduce the time of packet loss recovery, reduce the impact of HoL on transmission, improve transmission efficiency and improve user QoE (Quality of Experience), especially the rendering jamming indicator in the live broadcast scenario.

[0098] Among them, FACK is one of the default packet loss detection algorithms in the current Linux kernel. FACK infers packet loss information by recording the maximum acknowledgment packet number in the SACK block. If the packet number of an unacknowledged packet is less than the maximum acknowledgment packet number by more than the threshold, the default value is 3, which can be dynamically adjusted according to false retransmissions, it is judged as packet loss and triggers fast retransmission. FACK detects packet loss based on space, while RACK is a time-based packet loss detection algorithm. Similar to FACK, SACK records the sending time of the maximum acknowledgment packet number through the SACK block to infer packet loss information. If the sending time of an unacknowledged packet is earlier than the sending time of the maximum acknowledgment packet number FACK and RACK are both ACK-based packet loss detection algorithms. When there is no ACK, the above two algorithms cannot operate normally.

[0099] TLP triggers the peer to reply with an ACK by sending a probe packet and retransmitting the data packet with the largest packet number by default, and then quickly retransmits it through FACK and RACK. Before the sender's timeout timer rings, the default is 1*SRTT+4*VRTT, and it doubles if there are consecutive timeouts. If no reply is received from the other end, the timeout logic is triggered. At this time, all unanswered packets will be judged as packet loss, and the sending window will be reduced to 1, and the network bandwidth will be detected again from slow start. Among them, SRTT is smoothed RTT, and VRTT is the weighted average of RTT deviation. Timeout is a bottom-up transmission strategy. Timeout means that the transmission encounters a great obstacle.

[0100] As the two most widely used packet loss detection algorithms, both FACK and RACK are highly dependent on ACK packets to determine packet loss. However, the existing network environment is complex and changeable. In many cases, ACK cannot reach the sender in time, resulting in delayed packet loss detection, affecting packet loss recovery, and ultimately affecting the user's QoE. In order to address the impact of ACK loss, the TLP algorithm triggers the peer to reply ACK by sending a probe packet. TLP can effectively prevent the transmission from entering the timeout state, but ideally it still takes 2*SRTT (TLP trigger time) + 1*RTT (probe packet and its ACK packet) + 1*RTT (retransmission of lost packets and its ACK packet) to complete packet loss recovery. Considering the frequent RTT jitter in the existing network, the actual time consumption will be greater. This has a greater impact on delay-sensitive applications such as live video and on-demand video. When all the above strategies fail, timeout will take over the transmission as a fallback strategy, and all unanswered packets will be judged as not lost.

[0101] This embodiment uses supervised learning to decide in which scenarios the unanswered packets triggered by TLP can be retransmitted in advance, thereby improving the efficiency of packet loss recovery. Under the premise of sacrificing limited bandwidth, the HoL problem in reliable transmission scenarios is effectively alleviated, thereby improving the transmission efficiency of download services and reducing the jamming of video services. The data transmission method provided in this embodiment uses supervised learning to cope with the packet loss recovery lag caused by network fluctuations. It is applicable to all products using QUIC / TCP, including but not limited to terminal devices, CDN (Content Delivery Network) servers, etc., which is particularly obvious for live broadcast applications and can effectively improve rendering jamming related indicators.

[0102] Specifically, the traditional FACK and RACK algorithms rely on ACK packets to detect packet loss. When ACK packets are missing, the above two algorithms cannot operate normally. The introduction of the TLP algorithm alleviates the above problem to a certain extent. Figure 6 As shown, ae is the unacknowledged packet when TLP is triggered, that is, the inflight packet (partial data has been sent but not acknowledged). For simplicity, it is assumed that SRTT = RTT. After sending the data packet ae, if the TLP algorithm does not receive an ACK from the other end within 2*SRTT, that is, within 2 round-trip delays, it triggers the sending of a probe packet, that is, the TLP probe packet, specifically the dotted frame E packet. Assume that ae is lost by responding to the dotted frame E packet. When the other end receives the dotted frame E packet, it replies with the corresponding ACK packet, that is, the circular frame E packet. Then, the packet loss detection algorithm, such as FACK or RACK, is used to determine that ad is lost, thereby quickly retransmitting AD. From Figure 6 It can be seen that, ideally, the TLP algorithm requires 4*RTT to recover packet loss. For live video, assuming that a frame consists of N data packets, the loss of any one of the N packets means that the video frame cannot be parsed and rendered normally. If the packet loss is not recovered when the cache is exhausted, the resulting freeze will have a huge impact on the video experience. In addition, the existing network environment is complex and changeable. Network fluctuations cause the sender to be unable to receive the ACK packet from the other end in time, which greatly reduces the efficiency of the TLP algorithm, further exacerbating freezes and affecting QoE.

[0103] In the statistics of TLP unacknowledged packets in the current network, it is not known what proportion of unacknowledged packets inflight are eventually lost when TLP is triggered. Figure 6 In order to count this part of data in the current network, when TLP is triggered, each inflight packet can be labeled and the final status of this part of the data packet can be detected: 1. Response; 2. Lost. Figure 7 As shown, it describes the proportion of region A (2. Lost) to the total inflight Among them, the vertical axis is TLP loss

[0104] The horizontal axis is the percentile, which is the ranking position of the sample after sorting from small to large according to the loss ratio. For example, for 100 samples, sorted by loss ratio, the middle sample is the 50th percentile, and the sample ranked 90th is the 90th percentile. It can be seen that the loss ratios (TLP lostratio) of the 50th, 90th and 99th percentiles are 5.6%, 55.6% and 100% respectively, and the average packet loss ratio is 15.4%. It can be seen that the tail 10% of the connections in the current network have more packet loss, and more than half of the inflight packets are lost.

[0105] like Figure 8 The following is a statistical distribution diagram of the active retransmission data status when TLP is triggered in the analysis of active retransmission algorithm and live network data. Spurious means that the retransmitted packet is not lost, corresponding to Figure 8 Segment 1 in the figure; Lost again means that both the retransmitted packet and the active retransmitted packet are lost, corresponding to Figure 8 Segment 2 in the diagram; Effective means that the retransmitted packet is lost and the response is actively retransmitted, corresponding to Figure 8 When TLP is triggered, an active retransmission algorithm is deployed in the existing network to retransmit all unacknowledged packets, that is, Figure 6 There are three types of active retransmission: spurious retransmission, which means the retransmitted packet is not lost; effective retransmission, which means the retransmitted packet is lost and the retransmitted packet is acknowledged; and lost retransmission, which means the retransmitted packet is lost and the retransmitted packet is lost again.

[0106] from Figure 8 It can be seen that when TLP is triggered, for the first 10% and 4% of the connections, the effective proportion of active retransmission data is 33%+ and 50%+ respectively, that is, at least 1 out of 3 active retransmissions is answered and at least 1 out of 2 active retransmissions is answered. In addition, the proportion of 4% of the connections being lost again is 50%+. On average, the effective rate and the re-loss rate are both around 7%.

[0107] Among them, the response (effective) part is the target connection that needs to be optimized through active retransmission. This embodiment filters out this part of the connection through supervised learning and starts the active retransmission algorithm to alleviate the performance degradation caused by packet loss. For the false retransmission and secondary loss part of the connection, active retransmission is not enabled.

[0108] Specifically, the data transmission method provided in this embodiment can actively retransmit TLP based on the decision tree.

[0109] The processing of active TLP retransmission based on the decision tree includes:

[0110] Step 1: Data collection. The server will record the transmission log of a connection when it ends, including the send window, RTT, and the status of active retransmission of data packets. These logs are at the connection granularity.

[0111] Step 2: Data classification and labeling. Next, classify and label the existing network connections. The classification standard is the final state of the actively retransmitted data packets, such as Figure 8 Table 1 below lists four types of active retransmission classifications, which are divided into three major categories. Among them, effective is further divided into two subcategories. The specific classifications are as follows:

[0112] I. Most spurious means that the actively transmitted packets are not lost, so there is no benefit from active transmission.

[0113] II. Most of the data is lost again, which means that even if it is retransmitted, it will be lost again, indicating that the network is still in an extremely congested state. Active retransmission not only has low benefits, but may also cause further congestion in the network.

[0114] III. Partial acknowledgment (partially effective) means that at least one of the three retransmitted packets is effective, which means that the benefit of active retransmission is clear.

[0115] IV. Most effective means that at least one of the two retransmitted packets is effective, which means that the benefits of active retransmission are clear.

[0116] Table 1. Active retransmission classification

[0117]

[0118] Step 3: Feature selection. Feature selection is crucial for decision trees, and it needs to be able to well reflect the differences between different categories. Table 2 below lists 10 congestion control-related features, as well as their corresponding definitions and units.

[0119] Table 2. TLP active retransmission classification characteristics

[0120]

[0121]

[0122] Step 4: Decision tree training. Next, the decision tree is used to perform feature analysis on the four active retransmission classifications in Table 1. There are two decision tree classification standards: gini (gini coefficient, classification purity) and entropy (information gain). In this embodiment, the gini standard is used by default, and entropy is also applicable.

[0123] like Fig. 9 As shown in the figure, the scores of the training (train, i.e. line segment 1) and test (test, i.e. line segment 2) sets are displayed at different depths of the decision tree. The higher the better, the full score is 100. It can be seen that as the depth increases, the score of the training set increases, but the score of the test set begins to decrease after depth>11, and overfitting occurs. Therefore, when depth=11, the decision tree works best.

[0124] As shown in Figure 10, the decision trees when depth = 2, 3, and 4 are shown. Specifically, Figure 10(a) is the decision tree when depth = 2. At this time, the score is 84, and it is classified according to the retransmission rate (retran_ratio) and the maximum RTT (max RTT) in turn. For the first layer, it is divided according to the retransmission rate of 43.593. At this time, the Gini coefficient gini is 0.302, the number of samples samples = 408087, and the number of samples in each category is value[5683, 28249, 36282, 337873], where the value value[most secondary loss, partial response, majority response, majority false], that is, the number of samples of majority secondary loss is 5683, the number of samples of partial response is 28249, the number of samples of majority response is 36282, and the number of samples of majority false is 337873. The classification calss is determined to be the category corresponding to the largest value in value, that is, majority false. Further, Figure 10(b) is the branch of part A of the decision tree when depth = 3, and Figure 10(c) is the branch of part B of the decision tree when depth = 3. At this time, the score is score = 85, which is classified according to the retransmission rate (retran_ratio), maximum RTT (max RTT) and RTO times (RTO times) in turn; Figure 10(d) is the A1 sub-branch in the branch of part A of the decision tree when depth = 4, Figure 10(e) is the A2 sub-branch in the branch of part A of the decision tree when depth = 4, Figure 10(f) is the B1 sub-branch in the branch of part B of the decision tree when depth = 4, and Figure 10(g) is the B2 sub-branch in the branch of part B of the decision tree when depth = 4. At this time, the score is score = 86, which is classified according to the retransmission rate (retran_ratio), maximum RTT (max RTT), RTO times (RTO times), TLP times (TLP times) and RTT variation (RTT Variation) in turn.

[0125] At this time, the test scores of the three decision trees are 84, 85, and 86, respectively, which are close to the optimal value of 88. It can be seen that the first leaf node is the retransmission rate (retran_ratio), which is the primary feature, followed by max_rtt and rto times. The smaller the gini coefficient, the higher the classification purity. For example, the branch (retran_ratio <= 43.5593%; max_rtt> 94028.5ms; retran_ratio <= 25.65) has a corresponding gini coefficient of 0.099, which means that 95% of the connections are judged as spurious retransmissions, that is, the existing network connections that meet this condition are likely to have the vast majority of responses inflight when TLP is triggered, and the benefit of starting active retransmission is not great.

[0126] Step 5: Different classification strategies. Table 3 below lists the current network proportions of active retransmission classification and the corresponding strategies. When TLP is triggered, by looking at the decision tree, you can know in which cases active retransmission should not be effective (spurious and lost again) and in which cases active retransmission can be effective (partially effective and most effective). While improving retransmission efficiency, it reduces the accidental damage caused by active retransmission.

[0127] Table 3. Proportion of active retransmission classification and corresponding strategies

[0128]

[0129] It should be emphasized that the above live network results come from the test area. The network conditions in different countries and regions vary greatly, so the corresponding decision trees will also be different. Sampling, classification and supervised learning need to be done according to the live network conditions. In addition, the data method provided in this embodiment is not an independent CC (Congestion Control) algorithm, but an independent module or plug-in running on any CC algorithm.

[0130] The data transmission method provided in this embodiment is all based on the server-side implementation and does not involve modifications to other terminals. This technology has been implemented on the QUIC protocol and deployed in overseas video live broadcast scenarios. Experimental results show that the active retransmission technology based on supervised learning can effectively improve the efficiency of packet loss recovery, thereby improving the user viewing experience. This embodiment belongs to offline learning, and the decision tree used does not need to be generated in real time, and no additional calculations and memory overhead are required. And the generated decision tree has very little change to the original code logic, does not involve frequent function calls, and will not bring additional burden to the server. In addition, the data transmission method provided in this embodiment is also applicable to all QUIC / TCP-based transmission acceleration technologies, including but not limited to file transfers, audio and video sessions, etc.

[0131] It should be understood that, although the various steps in the flowcharts involved in the above-mentioned embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence in the order indicated by the arrows. Unless there is a clear description in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above-mentioned embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily completed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily sequentially, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps. Based on the same inventive concept, the embodiment of the present application also provides a data transmission device for implementing the above-mentioned data transmission method. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme recorded in the above-mentioned method, so the specific definition in the one or more data transmission device embodiments provided below can refer to the definition of the data transmission method in the above text, and will not be repeated here.

[0132] In one embodiment, Fig.11 As shown, a data transmission device 1100 is provided, comprising: a data packet sending module 1102, a connection feature acquisition module 1104, a connection classification module 1106 and a data packet retransmission module 1108, wherein:

[0133] The data packet sending module 1102 is used to establish a communication connection with a data receiving end and send at least one data packet to the data receiving end through the communication connection;

[0134] The connection feature acquisition module 1104 is used to acquire at least one connection feature of the communication connection when a reception confirmation signal fed back by the data receiving end for at least one data packet is not received;

[0135] A connection classification module 1106, configured to classify the communication connection based on at least one connection feature to obtain a connection category of the communication connection;

[0136] The data packet retransmission module 1108 is configured to resend at least one data packet to the data receiving end via the communication connection when the connection category of the communication connection belongs to a category for activating data retransmission.

[0137] In one embodiment, the connection classification module 1106 is also used to obtain a connection classification model; the connection classification model is trained based on the historical data transmission records of various historical communication connections; through the connection classification model, the communication connection is classified based on determining the target connection feature from at least one connection feature to obtain the connection category of the communication connection.

[0138] In one embodiment, the connection classification model includes a decision tree model; the connection classification module 1106 is further used to determine various target connection features from at least one connection feature based on the decision tree model; the type of the target connection feature is matched with the model depth of the decision tree model; the various target connection features are input into the decision tree model to classify the communication connection layer by layer to obtain the connection category of the communication connection.

[0139] In one embodiment, it also includes a model training module, which is used to determine communication connection samples from various historical communication connections, and determine at least one sample connection feature and a classification label of the communication connection samples according to the historical data transmission records of the communication connection samples; determine the target sample connection feature from at least one sample connection feature through the connection classification model to be trained; classify the communication connection samples based on the target sample connection feature through the connection classification model to be trained to obtain the sample connection category of the communication connection samples; according to the difference between the sample connection category and the classification label, update the parameters of the connection classification model and continue training until the training is completed to obtain a trained connection classification model.

[0140] In one embodiment, a communication connection sample is a communication connection that triggers data retransmission during a data transmission process; the model training module is also used to obtain historical data transmission records of the communication connection sample; according to feature constraints, at least one sample connection feature of a certain communication connection sample is extracted from the historical data transmission records of the communication connection sample; based on the historical data transmission records of the communication connection sample, a retransmission data packet state of the communication connection sample after data retransmission is triggered during the data transmission process is determined; and a classification label of the communication connection sample is determined based on the retransmission data packet state.

[0141] In one embodiment, the connection feature acquisition module 1104 is also used to determine the waiting time for waiting for the data receiving end to feedback a reception confirmation signal for at least one data packet; when the waiting time reaches a time threshold, at least one connection feature of the communication connection is acquired.

[0142] In one embodiment, the connection feature acquisition module 1104 is also used to query the connection attribute information of the communication connection when a reception confirmation signal fed back by the data receiving end for at least one data packet is not received; and obtain at least one connection feature of the communication connection from the connection attribute information.

[0143] In one embodiment, the connection feature acquisition module 1104 is also used to obtain feature constraints for the communication connection; the feature constraints are determined based on the data transmission application scenario to which the communication connection belongs; and at least one connection feature of the communication connection is obtained from the connection attribute information according to the feature constraints.

[0144] In one embodiment, the connection characteristics include at least one of a round trip delay parameter, a bandwidth parameter, a transport flow parameter, or a retransmission parameter.

[0145] In one embodiment, it also includes a packet loss detection module, which is used to perform packet loss detection on at least one data packet to obtain a packet loss detection result when the connection category of the communication connection does not belong to the category that activates data retransmission; when the packet loss detection result indicates that at least one data packet transmission is lost, resend at least one data packet to the data receiving end through the communication connection.

[0146] In one embodiment, the data packet sending module is also used to obtain the next data packet to be transmitted when receiving a reception confirmation signal fed back by the data receiving end for at least one data packet; and send the next data packet to be transmitted to the data receiving end through a communication connection.

[0147] Each module in the above data transmission device can be implemented in whole or in part by software, hardware, or a combination thereof. Each module can be embedded in or independent of a processor in a computer device in the form of hardware, or can be stored in a memory in a computer device in the form of software, so that the processor can call and execute operations corresponding to each module.

[0148] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Fig.12As shown. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. Among them, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data involved in the data transmission method. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a data transmission method is implemented.

[0149] Those skilled in the art will understand that Fig.12 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0150] In one embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above method embodiments when executing the computer program.

[0151] In one embodiment, a computer-readable storage medium is provided, storing a computer program, which implements the steps in the above method embodiments when executed by a processor.

[0152] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.

[0153] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards of relevant countries and regions.

[0154] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited thereto. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., but are not limited thereto.

[0155] The technical features of the above embodiments can be combined arbitrarily. In order to make the description concise, all possible combinations of the technical features in the above embodiments are not described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification. The above-mentioned embodiments only express several implementation methods of the present application, and their descriptions are relatively specific and detailed, but they cannot be understood as limiting the scope of the patent of this application. It should be pointed out that for ordinary technicians in this field, without departing from the concept of the present application, several deformations and improvements can be made, which all belong to the scope of protection of the present application. Therefore, the scope of protection of the present application shall be based on the attached claims.

Claims

1. A data transmission method, characterized in that: The method comprises: Establishing a communication connection with a data receiving end, and sending at least one data packet to the data receiving end through the communication connection; When no reception confirmation signal fed back by the data receiving end for the at least one data packet is received, obtaining at least one connection feature of the communication connection; Classify the communication connection based on the at least one connection feature to obtain a connection category of the communication connection; When the connection category of the communication connection belongs to a category for activating data retransmission, the at least one data packet is resent to the data receiving end through the communication connection.

2. The method according to claim 1, characterized in that The classifying the communication connection based on the at least one connection feature to obtain a connection category of the communication connection includes: Acquire a connection classification model; the connection classification model is trained based on the historical data transmission records of various historical communication connections; The connection classification model is used to classify the communication connection based on determining a target connection feature from the at least one connection feature to obtain a connection category of the communication connection.

3. The method according to claim 2, characterized in that The connection classification model includes a decision tree model; the connection classification model is used to classify the communication connection based on determining a target connection feature from the at least one connection feature to obtain a connection category of the communication connection, including: According to the decision tree model, various target connection features are determined from the at least one connection feature; the types of the target connection features are matched with the model depth of the decision tree model; Various target connection features are input into the decision tree model to classify the communication connection layer by layer to obtain the connection category of the communication connection.

4. The method according to claim 2, characterized in that: The training steps of the connection classification model include: Determine a communication connection sample from various historical communication connections, and determine at least one sample connection feature and a classification label of the communication connection sample according to the historical data transmission records of the communication connection sample; Determining a target sample connection feature from the at least one sample connection feature by using a connection classification model to be trained; Classifying the communication connection samples based on the target sample connection features through the connection classification model to be trained to obtain sample connection categories of the communication connection samples; According to the difference between the sample connection category and the classification label, the connection classification model is updated with parameters and then continued to be trained until the training is completed, thereby obtaining the trained connection classification model.

5. The method according to claim 4, characterized in that The communication connection sample includes a communication connection that triggers data retransmission during data transmission; and determining at least one sample connection feature and a classification label of the communication connection sample according to a historical data transmission record of the communication connection sample includes: Obtaining historical data transmission records of the communication connection sample; According to the feature constraint condition, extracting at least one sample connection feature of the communication connection sample from the historical data transmission record of the communication connection sample; Determining, according to the historical data transmission record of the communication connection sample, a retransmission data packet state after the communication connection sample triggers data retransmission during the data transmission process; A classification label of the communication connection sample is determined based on the retransmitted data packet state.

6. The method according to claim 1, characterized in that The acquiring at least one connection feature of the communication connection when a reception confirmation signal fed back by the data receiving end for the at least one data packet is not received includes: Determine a waiting time for waiting for a reception confirmation signal fed back by the data receiving end for the at least one data packet; When the waiting time reaches a time threshold, at least one connection feature of the communication connection is obtained.

7. The method according to claim 1, characterized in that The acquiring at least one connection feature of the communication connection when a reception confirmation signal fed back by the data receiving end for the at least one data packet is not received includes: When no reception confirmation signal fed back by the data receiving end for the at least one data packet is received, querying connection attribute information of the communication connection; At least one connection characteristic of the communication connection is obtained from the connection attribute information.

8. The method according to claim 7, characterized in that The acquiring at least one connection feature of the communication connection from the connection attribute information includes: Acquire a characteristic constraint condition for the communication connection; the characteristic constraint condition is determined based on a data transmission application scenario to which the communication connection belongs; At least one connection feature of the communication connection is acquired from the connection attribute information according to the feature constraint condition.

9. The method according to claim 1, characterized in that: The connection characteristics include at least one of a round-trip delay parameter, a bandwidth parameter, a transport stream parameter or a retransmission parameter.

10. The method according to any one of claims 1 to 9, characterized in that: The method further comprises: When the connection category of the communication connection does not belong to the category for activating data retransmission, performing packet loss detection on the at least one data packet to obtain a packet loss detection result; When the packet loss detection result indicates that the transmission of the at least one data packet is lost, the at least one data packet is resent to the data receiving end via the communication connection.

11. The method according to any one of claims 1 to 9, characterized in that: The method further comprises: When receiving a reception confirmation signal fed back by the data receiving end for the at least one data packet, obtaining a data packet to be transmitted next time; The data packet to be transmitted next time is sent to the data receiving end through the communication connection.

12. A data transmission device, characterized in that: The device comprises: A data packet sending module, used to establish a communication connection with a data receiving end, and send at least one data packet to the data receiving end through the communication connection; A connection feature acquisition module, configured to acquire at least one connection feature of the communication connection when a reception confirmation signal fed back by the data receiving end for the at least one data packet is not received; A connection classification module, configured to classify the communication connection based on the at least one connection feature to obtain a connection category of the communication connection; The data packet retransmission module is used to resend the at least one data packet to the data receiving end through the communication connection when the connection category of the communication connection belongs to the category of activating data retransmission.

13. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 11 are implemented.

14. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 11 are implemented.

15. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 11 are implemented.