Data transmission method and device, electronic equipment and storage medium
By receiving network environment information from the terminal and adjusting transmission control parameters, the problem of low transmission efficiency in network connections was solved, resulting in more efficient data transmission and an optimized user experience.
Patent Information
- Application Number
- CN202411164489.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-22
- Publication Date
- 2026-03-03
AI Technical Summary
When multiple data streams are transmitted using a network connection, the existing technology lacks awareness of network quality, resulting in low transmission efficiency, failure to fully utilize network bandwidth, and potential issues such as packet loss or poor response speed.
By receiving network environment information from the terminal, the target network environment type is determined, and based on the network transmission quality of multiple terminals in similar network environments, transmission control parameters are adjusted to optimize the data transmission process.
It improves data transmission efficiency, reduces terminal waiting time, optimizes user experience, and enhances data stream transmission performance during the connection multiplexing phase.
Smart Images

Figure CN121603449A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of computer technology and may relate to fields such as network transmission. Specifically, this application relates to a data transmission method, apparatus, electronic device, and storage medium. Background Technology
[0002] Connection multiplexing is a network communication technology that allows multiple data streams to share a single network connection, thereby reducing the transmission time of requested data resources and improving response speed.
[0003] In related technologies, when multiple data streams are transmitted through a single network connection, each data stream usually reuses the transmission control parameters of the previous data stream. However, there may be changes in network quality between the transmission of two data streams on the same network connection. Directly reusing parameters has a certain degree of blindness and may lead to packet loss or failure to fully utilize network bandwidth, thus affecting the data transmission effect. Summary of the Invention
[0004] The purpose of this application is to provide a data transmission method, apparatus, electronic device, and storage medium that can effectively improve data transmission efficiency. To achieve this purpose, the technical solutions provided by this application are as follows: On one hand, embodiments of this application provide a data transmission method, which is executed by a server, and the method includes: Receive a target data acquisition request sent by a first terminal; wherein the target data acquisition request carries a request identifier; Obtain the first network environment information of the first terminal; Based on the first network environment information and the pre-divided multiple network environment types, the target network environment type corresponding to the first terminal is determined; Obtain the first network transmission quality corresponding to the target network environment type; wherein, the first network transmission quality is determined based on the network transmission quality of multiple second terminals under the target network environment type; Based on the first network transmission quality, determine the transmission control parameters corresponding to the target data acquisition request; The target data corresponding to the request identifier is sent to the first terminal using the transmission control parameters.
[0005] On the other hand, embodiments of this application also provide a data transmission device, which is deployed in a server, and the device includes: A request receiving module is used to receive a target data acquisition request sent by a first terminal; wherein the target data acquisition request carries a request identifier. A network environment information acquisition module is used to acquire the first network environment information of the first terminal. The network environment type determination module is used to determine the target network environment type corresponding to the first terminal based on the first network environment information and a variety of pre-divided network environment types. A transmission quality determination module is used to obtain a first network transmission quality corresponding to the target network environment type; wherein, the first network transmission quality is determined based on the network transmission quality of multiple second terminals under the target network environment type; The transmission parameter determination module is used to determine the transmission control parameters corresponding to the target data acquisition request based on the first network transmission quality. The data sending module is used to send the target data corresponding to the request identifier to the first terminal using the transmission control parameters.
[0006] Optionally, the target data acquisition request is sent by the first terminal through the target connection, and the target data acquisition request also carries the connection identifier of the target connection; The transmission parameter determination module is also used for: Based on the connection identifier of the target connection, determine at least one historical data retrieval request sent by the first terminal through the target connection; Determine the second network transmission quality corresponding to each of the aforementioned historical data acquisition requests; The transmission control parameters corresponding to the first terminal are determined in the following way: Based on the first network transmission quality and the second network transmission quality corresponding to each of the historical data acquisition requests, the transmission control parameters corresponding to the target data acquisition request are determined.
[0007] Optionally, the transmission parameter determination module is further configured to: Determine the first weight corresponding to the first network transmission quality, and the second weight corresponding to each of the second network transmission qualities; Based on the first weight and the second weight, the first network transmission quality and each of the second network transmission qualities are weighted and fused to obtain the target network transmission quality. Based on the target network transmission quality, determine the transmission control parameters corresponding to the target data acquisition request.
[0008] Optionally, any network transmission quality includes the parameter value of at least one network transmission quality evaluation parameter; the first weight includes the first weight corresponding to each network transmission quality evaluation parameter in the first network transmission quality, and each second weight includes the second weight corresponding to each network transmission quality evaluation parameter in the second network transmission quality. The transmission parameter determination module is also used for: For each network transmission quality assessment parameter, based on the first weight corresponding to the network transmission quality assessment parameter in the first network transmission quality and the second weight corresponding to the network transmission quality assessment parameter in each second network transmission quality, the parameter value of the network transmission quality assessment parameter in the first network transmission quality and the parameter value of the network transmission quality assessment parameter in each second network transmission quality are weighted and fused to obtain the target parameter value corresponding to the network transmission quality assessment parameter. The target network transmission quality includes the target parameter values corresponding to each of the network transmission quality evaluation parameters.
[0009] Optionally, the first weight corresponding to each of the network transmission quality assessment parameters is determined in the following manner: Determine the time interval between the target data acquisition request and each of the historical data acquisition requests; Based on the first network transmission quality, each of the second network transmission qualities, and the time interval between the target data acquisition request and each of the historical data acquisition requests, a first weight corresponding to each of the network transmission quality evaluation parameters is determined through a trained decision model.
[0010] Optionally, the sum of the first weight and the third weight corresponding to each of the network transmission quality assessment parameters is 1, and the third weight corresponding to the network transmission quality assessment parameter is the sum of the second weights corresponding to each of the network transmission quality assessment parameters; For each network transmission quality evaluation parameter in the second network transmission quality, the second weight corresponding to the network transmission quality evaluation parameter in the second network transmission quality is determined in the following manner: Determine the time interval between the target data acquisition request and each of the historical data acquisition requests; Based on the time interval corresponding to each of the aforementioned historical data acquisition requests, determine the weight allocation factor corresponding to each second network transmission quality. Based on the weight allocation factor corresponding to the second network transmission quality and the third weight corresponding to the network transmission quality evaluation parameter, the second weight corresponding to the network transmission quality in the second network transmission quality is determined.
[0011] Optionally, the decision model is trained in the following manner: Multiple training samples are acquired, each training sample including the network transmission quality corresponding to a first data acquisition request of a sample terminal, the network transmission quality corresponding to at least one second data acquisition request, and the time interval between each second data acquisition request and the first data acquisition request; each second data acquisition request is a data acquisition request preceding the first data acquisition request; Based on the multiple training samples, the initial decision model is continuously trained to obtain a well-trained decision model. The training operations include: For each training sample, the training sample is input into the decision model to obtain the first prediction weight corresponding to each of the network transmission quality assessment parameters. For each network transmission quality assessment parameter, based on the first and second prediction weights corresponding to the network transmission quality assessment parameter, the parameter values of the network transmission quality assessment parameters in the network transmission quality corresponding to the first data acquisition request and the parameter values of the network transmission quality assessment parameters in the network transmission quality corresponding to each of the second data acquisition requests are weighted and fused to obtain the predicted target network transmission quality. Based on the predicted target network transmission quality, the predicted transmission control parameters corresponding to the first data acquisition request in the training sample are determined. The model parameters of the decision model are adjusted with the goal of maximizing the target transmission performance evaluation index; wherein the target transmission performance evaluation index is determined based on the transmission performance evaluation index corresponding to each training sample, and the transmission performance evaluation index corresponding to each training sample is obtained by transmitting data using the predicted transmission parameters corresponding to the first data acquisition request in the training sample.
[0012] Optionally, the transmission control parameters include the transmission window size and the transmission rate; The transmission parameter determination module can be used for: From the network transmission quality evaluation parameters, determine each first quality evaluation parameter related to the sending window size and each second quality evaluation parameter related to the sending rate; Obtain the window weight and rate weight; Based on the window weights, the target parameter values corresponding to each of the first quality assessment parameters are adjusted to obtain the target window size; The target parameter values corresponding to each of the second quality assessment parameters are adjusted based on the rate weights to obtain the target rate; Based on the target window size and the target rate, the transmission control parameters corresponding to the target data acquisition request are obtained.
[0013] Optionally, the target data acquisition request is sent by the first terminal through the target connection; The data transmission device further includes a timing module, which is used for: Determine the time interval between the target data acquisition request and the previous data acquisition request sent by the first terminal through the target connection; Determine that the time interval between the target data acquisition request and the previous data acquisition request is greater than or equal to a preset threshold. The timing module is also used for: When the time interval between the target data acquisition request and the previous data acquisition request is less than a preset threshold, the transmission control parameters corresponding to the previous data acquisition request are acquired. The transmission control parameters corresponding to the previous data acquisition request are used as the transmission control parameters corresponding to the target data acquisition request.
[0014] Optionally, the network transmission quality for any data acquisition request corresponding to any terminal is determined in the following way: Receive confirmation information sent by any of the terminals when it receives request data for any of the data acquisition requests; Based on the sending time of the requested data and the receiving time of the confirmation information, determine the round-trip delay corresponding to any data acquisition request; Based on the amount of data requested and the round-trip latency, determine the available bandwidth corresponding to any data acquisition request; Based on the round-trip latency and available bandwidth corresponding to any data acquisition request, determine the network transmission quality of any data acquisition request corresponding to any terminal.
[0015] Optionally, the target data acquisition request also carries the network address information and network connection type of the first terminal; The network environment information acquisition module can be used for: Based on the network address information of the first terminal, determine the location information of the first terminal and the network operator to which it belongs; Based on the location information, network operator, and network connection type of the first terminal, the first network environment information of the first terminal is determined.
[0016] This application also provides an electronic device, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the method provided in any optional embodiment of this application.
[0017] On the other hand, embodiments of this application also provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method provided in any optional embodiment of this application.
[0018] On the other hand, embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the methods provided in any optional embodiment of this application.
[0019] The beneficial effects of the technical solution provided in this application are as follows: The data transmission method provided in this application, before sending the requested target data to the first terminal, assesses the transmission quality of the target network environment type based on the network transmission quality of multiple second terminals with similar network environments to the first terminal. Based on the assessed first network transmission quality, the transmission control parameters controlling the current data stream transmission are adjusted to improve efficiency. This alleviates the problem of low transmission efficiency caused by a lack of awareness of network quality during network transmission. Sending requested data based on the adjusted transmission control parameters significantly improves the loading efficiency of requested data resources in network transmission scenarios, reduces terminal waiting time, and optimizes the user terminal's service experience. Attached Figure Description
[0020] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments of this application will be briefly introduced below.
[0021] Figure 1 This is a schematic diagram of the structure of a data transmission system provided in an embodiment of this application; Figure 2 This is a schematic diagram of another data transmission system provided in an embodiment of this application; Figure 3 A flowchart illustrating a data transmission method provided in an embodiment of this application; Figure 4 This is a schematic diagram illustrating a method for classifying network environment types according to an embodiment of this application; Figure 5 This application provides a schematic diagram of a data stream transmission based on a long connection. Figure 6 A schematic diagram illustrating the transmission time of each data stream in the same long connection provided in the embodiments of this application; Figure 7 A schematic diagram of the input and output of the decision model provided in the embodiments of this application; Figure 8 A schematic diagram of the structure of each functional module for data transmission in the server provided in the embodiments of this application; Figure 9 This is a schematic diagram illustrating the interaction between various functional modules in the server provided in an embodiment of this application; Figure 10 This is a schematic diagram of the structure of a data transmission device provided in an embodiment of this application; Figure 11 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0022] The embodiments of this application are described below with reference to the accompanying drawings. It should be understood that the embodiments described below with reference to the accompanying drawings are exemplary descriptions for explaining the technical solutions of the embodiments of this application, and do not constitute a limitation on the technical solutions of the embodiments of this application.
[0023] Those skilled in the art will understand that, unless specifically stated otherwise, the singular forms “a,” “an,” “the,” and “the” used herein may also include the plural forms. It should be further understood that the terms “comprising” and “including” as used in embodiments of this application mean that the corresponding feature can be implemented as the presented feature, information, data, step, operation, element, and / or component, but do not exclude implementation as other features, information, data, step, operation, element, component, and / or combinations thereof supported by the art. It should be understood that when we say that an element is “connected” or “coupled” to another element, the one element can be directly connected or coupled to the other element, or it can mean that the one element and the other element establish a connection relationship through an intermediate element. Furthermore, “connected” or “coupled” as used herein can include wireless connection or wireless coupling. The term “and / or” as used herein indicates at least one of the items defined by the term; for example, “A and / or B” can be implemented as “A,” or as “B,” or as “A and B.” When describing multiple (two or more) items, if the relationship between the multiple items is not explicitly defined, the multiple items can refer to one, several or all of the multiple items. For example, the description of "parameter A includes A1, A2, A3" can be implemented as parameter A includes A1 or A2 or A3, or it can be implemented as parameter A includes at least two of the three items A1, A2 and A3.
[0024] When using persistent connections for data transmission, the first data stream transmitted in a cold start state is typically configured with initial transmission control parameters. For subsequent data streams, the transmission control parameters of the previous data stream are reused. However, the network state between adjacent data streams may change, leading to the parameter reuse being somewhat arbitrary.
[0025] For example, suppose data streams 1-3 are transmitted sequentially via a long connection. After transmitting data stream 2, if the network conditions worsen (e.g., bandwidth resources are squeezed), the data sender will experience significant packet loss if it directly reuses the transmission control parameters of data stream 2 during the transmission of data stream 3. If the network conditions improve (bandwidth resources are more abundant), then using the transmission control parameters of data stream 2 to transmit data stream 3 will not fully utilize the more abundant network bandwidth resources, resulting in low data transmission efficiency.
[0026] To address the aforementioned problems, this application provides a data transmission method, apparatus, electronic device, and storage medium. Before sending the requested target data to a first terminal, the transmission control parameters controlling the current data transmission are adjusted based on the network transmission quality of second terminals with similar network environments to the first terminal, making the transmission more efficient. This alleviates the problem of low transmission efficiency caused by a lack of awareness of network quality during network transmission. Sending the requested data based on the adjusted transmission control parameters helps improve the transmission efficiency of different streams during the connection multiplexing phase, enhances the data transmission performance between the data sender and receiver, reduces terminal waiting time, and optimizes the user terminal's service experience.
[0027] It should be noted that, in the optional embodiments of this application, the data related to object information (such as user request data) requires the permission or consent of the object when the embodiments of this application are applied to specific products or technologies. Furthermore, the collection, use, and processing of this data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. In other words, if the embodiments of this application involve data related to an object, it must be obtained with the object's authorization and consent, the authorization and consent of relevant departments, and in accordance with the relevant laws, regulations, and standards of the country and region. If the embodiments involve personal information, the acquisition of all personal information requires the individual's consent. If sensitive information is involved, the separate consent of the information subject is required. The embodiments also need to be implemented with the object's authorization and consent.
[0028] To better understand and explain the methods provided in the embodiments of this application, some technical terms involved in the embodiments of this application will be explained and described below.
[0029] The Packet Internet Groper (PING) is a communication protocol, part of the TCP / IP protocol suite. The PING command can be used to check network connectivity or network speed, facilitating the analysis and diagnosis of network faults. Using the PING command sends an Internet Control Message Protocol (ICMP) message. Upon receiving the ICMP message, the receiving end generates an ICMP echo to determine whether a connection exists between the two devices.
[0030] A Content Delivery Network (CDN) is a network of servers distributed across different geographical locations. It accelerates content delivery by caching content closer to the user. How it works is that when a user visits a website, the CDN forwards the request to the server closest to the user based on their IP address. This server retrieves the content from the origin server and caches it locally. The next time the user accesses the same content, the CDN returns it directly from the local server, thus reducing the time required to transmit content from the origin server.
[0031] The data transmission method provided in this application embodiment can be applied to, for example... Figure 1 The data transmission system shown includes a first application server 10 and multiple terminals (three are shown in the figure, 20, 21, and 22). The first terminal can be any one of the multiple terminals. The other terminals include second terminals with similar network environments (belonging to the same target network environment type). Taking terminal 20 as an example, the first application server 10 and terminal 20 can be connected via network communication. Terminal 20 runs a first target application. The first application server 10 can be a backend server corresponding to the first target application. The first target application includes, but is not limited to, video applications, social applications, shopping applications, etc. Terminal 20 can send a target data acquisition request to the first application server 10 through the first target application to obtain the target data resources of the first target application. The first application server 10 (data sender) can use the data transmission method provided in this application embodiment to transmit the requested target data resources to terminal 20 (data receiver).
[0032] In another embodiment of this application, the data transmission method can be applied to, for example... Figure 2The data transmission system shown includes a second application server 30, a CDN 40, and multiple terminals (two are shown in the figure, 50 and 51). The second application server 30 and CDN 40, as well as the CDN 40 and each terminal, can communicate via a network. Taking terminal 50 as an example, a second target application runs on terminal 50. The second application server 30 can be the backend server corresponding to the second target application, which can be a live streaming application, video application, etc. The second application server 30 can distribute target data to CDN 40. Terminal 50 can send a target data acquisition request to the second application server 30 through the second target application to obtain the data resources of the second target application. The second application server 30 can forward the target data acquisition request to CDN 40, which (data sender) uses the data transmission method provided in this embodiment to transmit the requested target data resources to terminal 50 (data receiver).
[0033] The aforementioned servers can be independent physical servers, server clusters or distributed systems composed of multiple physical servers, or cloud servers that provide basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. Terminals can be smartphones, tablets, laptops, desktop computers, smart voice interaction devices (such as smart speakers), wearable electronic devices (such as smartwatches), in-vehicle terminals, smart home appliances (such as smart TVs), AR / VR devices, etc., but are not limited to these.
[0034] The technical solutions of this application and their effects are described below through several embodiments. It should be noted that the following embodiments can be referenced, borrowed from, or combined with each other. Identical terms, similar features, and similar implementation steps in different embodiments will not be repeated.
[0035] Figure 3 This illustration shows a flowchart of a data transmission method provided in an embodiment of this application. This method can be applied to data transmission systems (including but not limited to...). Figure 1 or Figure 2 In the system shown), this method can be used by a server in the data transmission system (such as...). Figure 1 Application server or Figure 2 The CDN in the process can be executed, specifically including the following steps S110 to S160.
[0036] Step S110: Receive the target data acquisition request sent by the first terminal.
[0037] Step S120: Obtain the first network environment information of the first terminal.
[0038] The request message for the target data acquisition request carries a request identifier, which can uniquely identify the current data acquisition request.
[0039] Optionally, the request identifier can be related to the requested data, such as the URL address of the requested data resource, or the request identifier can be the ID identifier of the data acquisition request. For example, when establishing a connection communication using the QUIC protocol, the request identifier is the StreamID that comes with the data acquisition request.
[0040] Among them, network environment information reflects the environment in which the terminal is currently connected to the network. Optionally, the terminal's network environment information includes at least one of the following: network connection type, network operator, and current location information.
[0041] In one optional implementation, if the target data acquisition request also carries the network connection type of the first terminal, the network operator to which the network connection belongs, and the location information of the first terminal, then the server can read the network connection type of the first terminal, the network operator to which the network connection belongs, and the location information from the target data acquisition request as the first network environment information of the first terminal.
[0042] In another optional implementation, the target data acquisition request also carries terminal information of the first terminal, including network address information and network connection type. The server can use the network address information of the first terminal to find its location information and the network operator to which the first terminal belongs. Based on the network connection type in the terminal information, and the location information and network operator in the search results, the server determines the first network environment information of the first terminal. Optionally, the network address information of the first terminal is its Internet Protocol (IP) address, and the network connection type includes Wi-Fi connection, 4G connection, 5G connection, etc.
[0043] Step S130: Based on the first network environment information and the pre-divided multiple network environment types, determine the target network environment type corresponding to the first terminal.
[0044] Step S140: Obtain the first network transmission quality corresponding to the target network environment type.
[0045] Step S150: Based on the first network transmission quality, determine the transmission control parameters corresponding to the target data acquisition request.
[0046] It is understandable that devices in similar or adjacent network environments will have very similar network conditions. Therefore, in this embodiment, the server can determine the target network environment type corresponding to the first terminal, and adjust the current transmission control parameters of the first terminal based on the network transmission quality of multiple second terminals under the target network environment type.
[0047] The server pre-classifies various network environment types, each with different network connection types, network operators, and geographical locations. The first terminal's network environment information is matched against each of the pre-classified network environment types to determine the target network environment type corresponding to the first terminal. Terminals within the same network environment type are located in similar network environments.
[0048] For example, such as Figure 4 As shown, various network environment types are defined according to different provinces (province 1, province 2...province 3), different cities (city 1, city 2...city 3), different network operators (China Mobile, China Unicom...China Telecom), and different network connection types (WIFI, 4G...5G), including: province 2-city 1-China Mobile-WIFI, province 2-city 1-China Unicom-5G, etc. Different network environment types correspond to different first network transmission qualities (QoS_1, QoS_2...QoS_n). Based on the location information in the first network environment information of the first terminal, the province and city where the first terminal is located are determined. Based on the province and city where the first terminal is located, the network operator it belongs to, and the network connection type, the target network environment type corresponding to the first terminal is determined. Among them, devices under the same network environment type are similar in network environment and have similar network conditions because they are located in the same province and city, are geographically close, belong to the same network operator, and use the same network connection type. The first network transmission quality corresponding to the network environment type is determined based on the network transmission quality of multiple second terminals under that network environment type.
[0049] Among them, network transmission quality reflects the condition of the network. Optionally, network transmission quality includes the parameter value of at least one network transmission quality assessment parameter, which includes, but is not limited to, round-trip time (RTT), available bandwidth (BW), packet loss rate, goodput, jitter, etc.
[0050] The network transmission quality corresponding to each network environment type can be determined by comprehensively considering the network transmission quality of each second terminal under each network environment type. Optionally, the network transmission quality corresponding to each network environment type can be the average, maximum, or minimum value of the network transmission quality of each second terminal under that network environment type, etc. For example, if M connections are established within a preset time period for a certain network environment type, and each connection detects a round-trip time (RTT), then the average RTT of the M connections is taken as the network transmission quality of that network environment type.
[0051] Optionally, the second terminal under each network type can be determined from multiple candidate terminals by matching the second network environment information of each candidate terminal with various network environment types. The multiple candidate terminals include all terminals connected to the server within a preset time period. This preset time period can be an independent time frame, for example, terminals that connected to the server in July 2024 can be selected as candidate terminals; or the preset time period can be a preset duration prior to receiving a data acquisition request from the first terminal, for example, terminals that connected within the three minutes prior to receiving the data acquisition request can be selected as candidate terminals.
[0052] The server pre-stores second network environment information for each candidate terminal. This information can be determined and stored based on terminal information from data acquisition requests sent by each candidate terminal during historical connection establishment processes. Optionally, the second network environment information can be the network environment information from the candidate terminal's most recent connection with the server.
[0053] Optionally, the network transmission quality of the second terminal under each network environment type can be determined based on the network transmission quality of the server's most recent request data (or transmitted data stream) to the second terminal, or based on the network transmission quality of the server's request data to the second terminal over a recent period. For example, the average (maximum or minimum) value of the network transmission quality of the server's request data to the second terminal over a recent period (e.g., within the last minute) can be used as the network transmission quality of the second terminal. The time range for statistical network transmission quality can be pre-configured, for example, T_period=1min, which means updating the network transmission quality between the server and the second terminal measured in the past minute every minute, and updating the network transmission quality corresponding to each network environment type according to the updated network transmission quality of each second terminal under each network environment type. Alternatively, it can be determined based on the network transmission quality of each data stream transmitted between the second terminal and the server through the target connection in the most recent time. For example, the average (maximum or minimum) value of the network transmission quality of each data stream transmitted between the second terminal and the server through the target connection in the most recent time can be used as the first network transmission quality of the second terminal. The target connection can be a long-lived connection, including but not limited to TCP long-lived connections, UDP long-lived connections, QUIC long-lived connections, etc.
[0054] Among them, transmission control parameters are used to control the transmission of request data. Transmission control parameters may include the sending window (Cwnd) size and the sending rate (Pacing rate).
[0055] In one alternative approach, the server pre-stores a first list reflecting the correspondence between different network transmission qualities and transmission control parameters. After determining the first network transmission quality for the target network environment type corresponding to the first terminal, the transmission control parameters corresponding to the first network transmission quality are determined based on the first network transmission quality and the first list. These transmission control parameters are then used as the transmission control parameters corresponding to the target data acquisition request.
[0056] For example, Table 1 is a first list containing the correspondence between different network transmission quality and transmission control parameters. The network transmission quality evaluation parameter for the first network transmission quality corresponding to the target network environment type is the round-trip time (RTT). Assuming that based on the RTT of each second terminal under the target network environment type, the average RTT (Avg RTT) of each second terminal (i.e., the first network transmission quality corresponding to the target network environment type) is determined to be RTT_2, and by consulting Table 1, it can be determined that the first network transmission quality belongs to [RTT_2, RTT_3). Therefore, the sending window size corresponding to the first terminal can be determined to be Cwnd_2, and the corresponding sending rate is Pacing_rate_2.
[0057]
[0058] Table 1 In one alternative approach, the server is configured with a baseline transmission quality and baseline transmission control parameters. After obtaining the first network transmission quality corresponding to the target network environment type, the baseline transmission control parameters are adjusted based on the first network transmission quality and the baseline transmission quality to obtain the transmission control parameters corresponding to the target data acquisition request. The baseline transmission quality can be an empirical value set based on the network transmission quality of historical data streams, and the baseline transmission control parameters can be empirical values set based on the control parameters of historical data streams.
[0059] When the first network transmission quality is greater than the baseline transmission quality, the current network condition is considered good. The baseline transmission control parameters are increased to obtain the transmission control parameters corresponding to the target data acquisition request. When the first network transmission quality is less than or equal to the baseline transmission quality, the current network condition is considered poor. The baseline transmission control parameters are decreased to obtain the transmission control parameters corresponding to the target data acquisition request.
[0060] Furthermore, the transmission control parameters of the reference network can be adjusted up or down according to a preset gradient based on the degree of difference between the first network transmission quality and the reference transmission quality.
[0061] Step S160: Send the target data corresponding to the request identifier to the first terminal using transmission control parameters.
[0062] The target data is the requested resource / data corresponding to the request identifier, and the target data includes multiple target data packets (traffic packets).
[0063] In this embodiment, the server can obtain the request identifier in the received data request, determine the target data corresponding to the request identifier, and after determining the corresponding transmission control parameters, send the target data to the first terminal using the corresponding transmission control parameters.
[0064] Optionally, the transmission control parameters corresponding to the target data acquisition request determined in step S150 above include the target window size and the target rate. The server can send multiple traffic packets in the target data according to the determined target window size and target rate.
[0065] based on Figure 3The data transmission method described herein adjusts the transmission control parameters controlling the current data transmission based on the network transmission quality of second terminals with similar network environments to the first terminal before sending the requested target data to the first terminal, thereby improving efficiency. This alleviates the problem of low transmission efficiency caused by a lack of awareness of network quality during network transmission. Sending requested data based on the adjusted transmission control parameters significantly improves the loading efficiency of requested data resources in network transmission scenarios, reduces terminal waiting time, and optimizes the user terminal's service experience.
[0066] In this embodiment, the first terminal can establish a target connection with the server and send a data acquisition request to the server through the target connection. The data acquisition request also carries a connection identifier of the target connection.
[0067] Optionally, the target connection can be a persistent connection, including but not limited to Transmission Control Protocol (TCP) persistent connections, User Datagram Protocol (UDP) persistent connections, and Quick UDP Internet Connection (QUIC) persistent connections. The connection identifier of the target connection uniquely identifies the connection established between the server and the terminal. When the target connection is a TCP persistent connection, the connection identifier can be the five-tuple information in the TCP protocol, including the source address, destination address, source port, destination port, and protocol type. When the target connection is a QUIC persistent connection, the connection identifier can be a connection field identifier specific to the QUIC protocol.
[0068] For example, such as Figure 5 As shown, when a terminal accesses a server, it first sends a domain name query request to the Domain Name System (DNS) resolver. The DNS resolver then resolves the domain name to obtain the corresponding server's IP address. Based on the server's IP address returned by the DNS resolver, the terminal establishes a TCP long connection with the server through a three-way handshake. After establishing the TCP long connection, the terminal and server can transmit the first data stream (1). Specifically, the terminal can send a data retrieval request (request message) to the server through the established TCP long connection. Upon receiving the data retrieval request, the server can determine the corresponding target data based on the request identifier and send the requested target data (multiple traffic packets) to the terminal through the TCP long connection until all data is sent. The terminal can periodically return ACK message confirmation messages to the server after receiving the traffic packets.
[0069] Furthermore, within the "keep-alive period" of a TCP long connection, the terminal can reuse the TCP long connection multiple times to send data retrieval requests to the server and receive the requested data returned by the server, i.e., to transmit multiple data streams (data stream 2...), without having to re-perform DNS resolution and re-establish the connection, thus reducing the time spent on DNS resolution and connection establishment. If there is no "interaction" between the server and the terminal for an extended period of time, one party can actively close the current connection.
[0070] Optionally, to ensure the effectiveness of long connection reuse, the "keep-alive time" of the server or terminal can be increased to allow the server and terminal to maintain the connection for a longer period of time. Alternatively, the server or terminal can periodically send PING messages to each other to achieve active "keep-alive" operation.
[0071] In this embodiment of the application, in order to further improve the data transmission efficiency between end to end, the network status information of the previous data streams within the same connection and the network transmission quality measured by each second terminal with a similar network environment to the current terminal can be combined to sense the changes in the network status between two adjacent data streams, so as to configure more reasonable and efficient transmission control parameters. Using these transmission control parameters to control the sending of data can significantly improve the loading efficiency of requested data resources in network transmission scenarios.
[0072] Therefore, the server can determine, based on the connection identifier of the target connection, at least one historical data acquisition request sent by the first terminal through the target connection, determine the second network transmission quality corresponding to each historical data acquisition request, and, based on the first network transmission quality and the second network transmission quality corresponding to each historical data acquisition request, determine the transmission control parameters corresponding to the first terminal. As an optional approach, at least one historical data acquisition request includes the data acquisition request preceding the current data acquisition request.
[0073] Optionally, the first network transmission quality represents the network transmission quality measured by each second terminal with a similar network environment to the current terminal, corresponding to the network status between connections; each second network transmission quality represents the network status information detected by previous data streams within the same connection, corresponding to the network status within the connection. When determining the transmission control parameters corresponding to the first terminal, different weights can be set for the network status between and within connections, representing the different importance / contribution of the data stream transmission between and within connections. Specifically, the server can determine the first weight corresponding to the first network transmission quality and the second weight corresponding to each second network transmission quality. Based on the first and second weights, the first network transmission quality and each second network transmission quality are weighted and fused to obtain the target network transmission quality. Based on the target network transmission quality, the transmission control parameters corresponding to the target data acquisition request are determined. As an optional approach, the first and second weights can be empirical values set based on historical experience.
[0074] For example, suppose that at least one historical data retrieval request only includes the previous data retrieval request, and the network transmission quality only includes one network transmission quality evaluation parameter, namely available bandwidth (BW). The first weight corresponding to the first network transmission quality is m, the second weight corresponding to the second network transmission quality is n, the obtained first network transmission quality is BW1, and the obtained second network transmission quality of the previous data stream of the current data stream is BW2. Then the target network transmission quality... .
[0075] Optionally, any network transmission quality includes the parameter value of at least one network transmission quality assessment parameter; the first weight includes the first weight corresponding to each network transmission quality assessment parameter in the first network transmission quality, and each second weight includes the second weight corresponding to each network transmission quality assessment parameter in the second network transmission quality. When performing weighted fusion of network transmission quality based on the first weight and the second weight, for each network transmission quality assessment parameter, according to the first weight corresponding to the network transmission quality assessment parameter in the first network transmission quality and the second weight corresponding to the network transmission quality assessment parameter in each second network transmission quality, the parameter value of the network transmission quality assessment parameter in the first network transmission quality and the parameter value of the network transmission quality assessment parameter in each second network transmission quality are weighted and fused to obtain the target parameter value corresponding to the network transmission quality assessment parameter. The target network transmission quality includes the target parameter value corresponding to each network transmission quality assessment parameter.
[0076] Optionally, the sum of the first and third weights for each network transmission quality assessment parameter is 1, and the third weight for each network transmission quality assessment parameter is the sum of the second weights for each network transmission quality assessment parameter. The first weight for each network transmission quality assessment parameter can be determined in the following way: Determine the time interval between each target data acquisition request and each historical data acquisition request; Based on the first network transmission quality, the transmission quality of each second network, and the time interval between the target data acquisition request and each historical data acquisition request, the first weight corresponding to each network transmission quality evaluation parameter is determined through a trained decision model.
[0077] Optionally, for each network transmission quality evaluation parameter in each second network transmission quality, the second weight corresponding to the network transmission quality evaluation parameter in the second network transmission quality is determined in the following way: Determine the time interval between each target data acquisition request and each historical data acquisition request; Based on the time interval corresponding to each historical data acquisition request, determine the weight allocation factor corresponding to each second network transmission quality. Based on the weight allocation factor corresponding to the second network transmission quality and the third weight corresponding to the network transmission quality evaluation parameter, the second weight corresponding to the network transmission quality evaluation parameter in the second network transmission quality is determined.
[0078] Optionally, the time interval between the target data acquisition request and the historical data acquisition request can be the time difference between the server receiving the target data acquisition request and receiving the historical data acquisition request, or the time difference between the server receiving the target data acquisition request and the server transmitting the request data for the historical data acquisition request. This application does not limit this, as long as it can reflect the relative time between each historical data acquisition request and the target data acquisition request.
[0079] For example, such as Figure 6 As shown, assuming that the historical data streams already sent through the long connection include data stream i-1 and data stream i-2, for the data stream i to be sent now, the network conditions of the first two historical data streams sent in the same long connection can be referenced to determine the current network conditions, thereby adjusting the transmission control parameters for sending data stream i. The network conditions of historical data streams more recent than the current time have a greater impact on the current network conditions.
[0080] Assume that network transmission quality includes two network transmission quality evaluation parameters, namely Round-Trip Time (RTT) and Available Bandwidth (BW). The first network transmission quality includes RTT1 and BW1, the second network transmission quality corresponding to data flow i-1 includes RTT2 and BW2, and the second network transmission quality corresponding to data flow i-2 includes RTT3 and BW3.
[0081] The transmission quality of the first network, the transmission quality of each second network, and the time intervals t2 and t1 between data stream i and data stream i-1 are input into the trained decision model to obtain the first weight a1 corresponding to RTT and the first weight b1 corresponding to BW, as follows. Figure 7 As shown. Then, the corresponding third weight a2 for RTT and the third weight b2 for BW, and a1 + a2 = 1, b1 + b2 = 1.
[0082] Based on the time intervals between data stream i and each historical data stream, the weight allocation factors for each historical data stream are determined: the weight allocation factor for data stream i-1 is x1 = t1 / (t1 + t2), and the weight allocation factor for data stream i-2 is x2 = t2 / (t1 + t2). The longer the time interval, the smaller the weight allocation factor, indicating a smaller impact on the current network condition. Therefore, in the second network transmission quality corresponding to data stream i-1, the second weight corresponding to RTT is x1a2, and the second weight corresponding to BW is x1b2; in the second network transmission quality corresponding to data stream i-2, the second weight corresponding to RTT is x2a2, and the second weight corresponding to BW is x2b2.
[0083] Regarding the RTT metric:
[0084] Regarding the BW metric:
[0085] The target network transmission quality is determined based on the target parameter value of RTT (target) and the target parameter value of BW (target).
[0086] For example, when the current network condition is determined based solely on the network condition of the previous data stream i-1, then for each of the network transmission quality evaluation parameters, the sum of the first weight corresponding to the first network transmission quality and the second weight corresponding to the second network transmission quality is 1, without needing to determine the weight allocation factor among multiple historical data streams.
[0087] For the RTT metric:
[0088] Regarding the BW metric:
[0089] Optionally, the decision model can be trained in the following ways: Obtain multiple training samples; Each training sample includes the network transmission quality corresponding to the first data acquisition request of a sample terminal, the network transmission quality corresponding to at least one second data acquisition request, and the time interval between each second data acquisition request and the first data acquisition request. Each second data acquisition request is a data acquisition request that precedes the first data acquisition request within the same connection.
[0090] Based on multiple training samples, the initial decision model is continuously trained until the training termination condition is met, resulting in a well-trained decision model.
[0091] The training operations include: For each training sample, the training sample is input into the decision model to obtain the first prediction weight corresponding to each network transmission quality assessment parameter. For each network transmission quality assessment parameter, based on the first and second prediction weights corresponding to the network transmission quality assessment parameter, the parameter values of the network transmission quality assessment parameters in the network transmission quality corresponding to the first data acquisition request and the parameter values of the network transmission quality assessment parameters in the network transmission quality corresponding to each second data acquisition request are weighted and fused to obtain the predicted target network transmission quality. Based on the predicted target network transmission quality, the predicted transmission control parameters corresponding to the first data acquisition request in the training sample are determined. The model parameters of the decision-making model are adjusted with the goal of maximizing the target transmission performance evaluation index.
[0092] The target transmission performance evaluation index is determined based on the transmission performance evaluation index corresponding to each training sample. The transmission performance evaluation index corresponding to each training sample is obtained by transmitting data using the predicted transmission parameters corresponding to the first data acquisition request in that training sample.
[0093] Optionally, the transmission performance evaluation metric can be transmission performance reward, which represents the data transmission rate per unit time. The transmission performance reward (Reward) over a past time period T_period can be calculated using the following formula:
[0094]
[0095] in, This represents the actual throughput from the data sender (server) to the data receiver (terminal). This indicates the size of the data resources that the data receiver has confirmed received within the past period T_period. This represents the average of all RTTs within a past period of T_period.
[0096] Optionally, the above decision model is based on a deep reinforcement learning model. The transmission control parameters are continuously calculated using the first weight output by the model, and the model parameters are optimized based on the transmission performance benefits of using the transmission control parameters for data transmission.
[0097] One implementation approach is to jointly train a first deep reinforcement learning model and a second deep reinforcement learning model. The first deep reinforcement learning model outputs first predicted weights corresponding to each network transmission quality assessment parameter based on the training samples. The second deep reinforcement learning model calculates transmission control parameters based on the first predicted weights, and evaluates (scores) the transmission performance gains of using these parameters for data transmission. Based on the evaluation results of the second deep reinforcement learning model, the model parameters in the first deep reinforcement learning model are adjusted.
[0098] Optionally, the transmission control parameters include the sending window size and the sending rate. When determining the transmission control parameters corresponding to the first terminal, the first quality assessment parameters related to the sending window size and the second quality assessment parameters related to the sending rate can be determined from the network transmission quality assessment parameters, and the window weight and the rate weight can be obtained. As an optional implementation method, the window weight and the rate weight can be empirical values set based on historical experience.
[0099] Then, based on the window weight, the target parameter values corresponding to each of the first quality assessment parameters are adjusted to obtain the target window size; based on the rate weight, the target parameter values corresponding to each of the second quality assessment parameters are adjusted to obtain the target rate.
[0100] Finally, based on the target window size and target rate, the transmission control parameters corresponding to the target data acquisition request are obtained.
[0101] For example, assuming that among the network transmission quality evaluation parameters, the first quality evaluation parameters related to the sending window size include round-trip time (RTT) and available bandwidth (BW), and the second quality evaluation parameters related to the sending rate include available bandwidth (BW), with a preset window weight of C and a rate weight of R, then the target window size is: The target rate is .
[0102] In this embodiment of the application, when the time interval between two adjacent data streams transmitted through the target connection is short, the network conditions between and within the connection will not change abruptly. It can be assumed that the network conditions of the two adjacent data streams are similar, and the transmission control parameters of the data streams before transmission can be reused.
[0103] Therefore, after receiving the target data acquisition request sent by the first terminal through the target connection, the server can first determine the request time of the previous data acquisition request sent by the first terminal through the target connection, and determine the time interval between the current target data acquisition request and the previous data acquisition request based on the request time of the previous data acquisition request. It then determines whether the time interval is greater than or equal to a preset threshold. If the time interval is greater than or equal to the preset threshold, it is considered that the network status is likely to change, and the method shown in steps S120-S150 above is used to re-determine the transmission control parameters for transmitting the target data of this target data acquisition request. If the time interval is less than the preset threshold, it is considered that the network status is unlikely to change, and the transmission control parameters corresponding to the previous data acquisition request can be reused to obtain the transmission control parameters of the previous data acquisition request, and the transmission control parameters of the previous data acquisition request are used as the transmission control parameters for transmitting the target data of this target data acquisition request.
[0104] Optionally, the preset threshold used for determining time can be configured to a fixed value, such as 500ms, or it can be configured as a multiple of RTT, such as... It can also be configured to 500ms and The smaller of the values.
[0105] Optionally, in this embodiment, the network transmission quality of any data acquisition request corresponding to any terminal includes round-trip time and available bandwidth, which can be determined in the following ways: The server receives an acknowledgment message (ACK packet) sent by any terminal when it receives request data for any data acquisition request. Based on the sending time of the request data and the receiving time of the acknowledgment message, the server determines the round-trip time corresponding to the data acquisition request. Based on the amount of data requested and the round-trip time, the server determines the available bandwidth corresponding to the data acquisition request. Based on the round-trip time and available bandwidth corresponding to the data acquisition request, the server determines the network transmission quality of the data acquisition request for that terminal.
[0106] For ease of understanding, this embodiment uses a complete data stream transmission process between a server and a first terminal as an example for illustration. Figure 8As shown, the server includes a transmit / receive control module, a connection probing module, an inter-connection measurement module, a machine learning module, and a parameter configuration module. The machine learning module deploys a pre-trained decision model. Data interaction between the various functional modules can be found in [reference needed]. Figure 9 The server can transmit data to the first terminal via the network and receive confirmation information from the first terminal.
[0107] In this embodiment of the application, the process of the server transmitting data to the first terminal may specifically include the following steps ① to ⑧: Step ①: The transceiver control module receives the target data acquisition request sent by the first terminal and sends network quality and status query instructions to the intra-connection detection module and the inter-connection measurement module respectively.
[0108] When the server receives the request message from the first terminal via the long connection to obtain target data through the transceiver control module, it generates a query instruction based on the connection identifier ConnID, terminal information Info_client, and stream identifier StreamID included in the received request message, and sends the query instruction to the intra-connection probing module and the inter-connection probing module respectively. The query instruction can be represented as Cmd_query = {ConnID, StreamID, Info_client}.
[0109] Step 2: The intra-connection probing module obtains network status information from historical data stream probing, and the inter-connection measurement module obtains network quality information from similar connection measurements, and sends them to the machine learning module respectively.
[0110] After receiving the query command Cmd_query from the transceiver control module, the connection probing module first extracts the connection identifier ConnID from the query command and determines whether the connection corresponding to the connection identifier ConnID has a historical data stream. If it does not exist, it returns a result where the Quality of Services (QoS) _intra of the network status information is empty, i.e., QoS_intra=NULL. If it exists, it returns the network status information (i.e., the second network transmission quality of the historical data stream) detected during the previous data stream transmission of the connection corresponding to the connection identifier ConnID, and sends the detected network status information to the machine learning module. Optionally, the network status information can be carried in the message Pkt_intra and sent to the machine learning module. The message Pkt_intra can be represented as Pkt_intra = {ConnID, StreamID, QoS_intra}, where the network status information QoS_intra detected by the connection probing module includes the second network transmission quality of at least one historical data stream (historical data retrieval request). Optionally, the network status information QoS_intra is the second network transmission quality of the previous data stream.
[0111] The network status information QoS_intra detected by the connection probe module may include: the round-trip time RTT_intra (including the maximum value maxRTT_intra and the minimum value minRTT_intra) when the server transmits each historical data stream to the first terminal, and the network available bandwidth BW_intra detected when transmitting each historical data stream.
[0112] Optionally, the in-connection probing module stores and maintains a data flow status information table, as exemplified in Table 2 below. This table includes network transmission quality assessment parameters (round-trip time RTT, available bandwidth BW) for multiple data flows transmitted through each connection. The in-connection probing module can query the connection identifier ConnID carried in Cmd_query through this status information table. If the connection identifier ConnID does not exist in the status information table, it indicates that the connection corresponding to the connection identifier ConnID is a newly established connection and there are no historical data flows transmitted through this connection, returning the result QoS_intra=NULL. If the connection identifier ConnID exists in the status information table, it indicates that the connection corresponding to the connection identifier ConnID has historically transmitted data flows. The module then checks whether the StreamID carried in Cmd_query is the same as "StreamID_last" in "recent stream identifier". If they are not the same, the round-trip time RTT and available bandwidth BW detected by the multiple historical data flows corresponding to the ConnID are used as the second network transmission quality of each historical data flow.
[0113]
[0114] Table 2 After receiving the query command Cmd_query from the transceiver control module, the connection measurement module first extracts the terminal information Info_client from the query command. Based on the IP address in Info_client, it obtains the region (e.g., province, city, park) and network operator (e.g., China Mobile, China Unicom, China Telecom) of the first terminal. Based on the network connection type in Info_client, the obtained region of the first terminal, and the network operator of the first terminal, it determines the first network environment information of the first terminal. By matching the first network environment information of the first terminal with each pre-defined network environment type, it determines the target network environment type corresponding to the first terminal and the network quality information QoS_inter (i.e., the first network transmission quality) corresponding to the target network environment type. This QoS_inter information is then sent to the machine learning module. Note that if two terminals are in the same region, belong to the same network operator, and have the same network connection type, they can only be considered to have similar network environments.
[0115] The network quality information QoS_inter measured by the inter-connection detection module may include: the round-trip time RTT_inter (including the maximum value maxRTT_inter and the minimum value minRTT_inter) when the server transmits each historical data stream to each second terminal, and the network available bandwidth BW_inter detected when transmitting each historical data stream.
[0116] The inter-connection detection module can send the network quality information QoS_inter corresponding to the target network environment type to the machine learning module through the message pkt_inter. The message pkt_inter can be represented as Pkt_inter = {ConnID, StreamID, QoS_inter}.
[0117] Step 3: The parameter configuration module determines whether the transmission control parameters need to be reconfigured. If yes, it sends a parameter configuration query command to the machine learning module; otherwise, it sends the transmission control parameters to the transceiver control module.
[0118] The parameter configuration module determines the time interval T_interval between the request of the current data stream StreamID and the previous data stream within the same connection ConnID, and judges whether the time interval T_interval between the two data streams is greater than or equal to the preset threshold T_threshold. If not, there is no need to reconfigure the transmission control parameters in the transmission control policy, but the transmission control parameters in the transmission control policy of the previous data stream within the same connection ConnID are used. If yes, the transmission control parameters in the transmission control policy (including the transmission rate and transmission window size) need to be reconfigured. Then the parameter configuration module can send the parameter configuration query instruction Query_conf to the machine learning module. This instruction contains information such as connection identifier ConnID, stream identifier StreamID, and time interval T_interval, which can be represented as Query_conf = {ConnID, StreamID, T_interval}.
[0119] Step 4: The machine learning module adaptively configures the target parameter values for each network transmission quality assessment parameter and sends them to the parameter configuration module.
[0120] After receiving the pkt_intra message from the intra-connection probing module, the pkt_inter message from the inter-connection measurement module, and the Query_conf parameter configuration query command from the parameter configuration module, the machine learning module can use the network state information QoS_intra from pkt_intra, the network quality information QoS_inter from pkt_inter, and the time interval T_interval between adjacent flows from Query_conf as input metrics to the trained decision model. This input yields the first weight corresponding to the round-trip time (RTT) output by the decision model. The first weight corresponding to the available bandwidth BW .
[0121] The machine learning module can determine the first weight corresponding to the RTT output by the decision model. Determine the second weight corresponding to RTT. Based on the first weight corresponding to the available bandwidth BW Determine the second weight corresponding to RTT. The target parameter values for round-trip time (RTT) and available bandwidth (BW_ava) can be expressed as:
[0122]
[0123] RTT_intra and BW_intra are the round-trip time (RTT) and available bandwidth (BW) values of the historical data stream in the current connection ConnID detected by the connection intra-probing module, respectively; RTT_inter and BW_inter are the combined values measured by the connection inter-probing module and determined based on the RTT and available bandwidth (BW) of each second terminal belonging to the same target network environment type as the first terminal.
[0124] After determining the final round-trip time (RTT) and available bandwidth (BW_ava), the machine learning module can return a response to the parameter configuration module for the parameter configuration query command Query_conf. This response can be a Query_conf_ack command, which can be represented as Query_conf_ack = {ConnID, StreamID, RTT, BW_ava}. Step 5: The parameter configuration module calculates the transmission control parameters based on the target parameter values of each network transmission quality assessment parameter.
[0125] After receiving the Query_conf_ack command sent by the machine learning module, the parameter configuration module can extract the RTT and BW_ava, and calculate the transmission control parameters (including the sending rate pacing_rate and the sending window size cwnd) for sending request data of the StreamID in the current connection ConnID using the following formula.
[0126]
[0127] in, and These can be pre-configured window weights or rate weights, for example, configured... = =2.885.
[0128] Step 6: The transceiver control module sends the target data to the first terminal according to the transmission control parameters.
[0129] The transceiver control module can send the calculated sending rate pacing_rate and sending window size cwnd corresponding to the current data stream StreamID in the current connection ConnID to the transceiver control module through the para_conf instruction. The para_conf instruction can be represented as Para_conf = {ConnID, StreamID, cwnd, pacing_rate}.
[0130] After receiving the para_conf command sent by the transceiver control module, the transceiver control module extracts the information and configuration parameters from it and updates the transceiver control strategy parameter table.
[0131] The transceiver control module stores and maintains a transceiver control strategy parameter table containing the transmission control parameters for each data stream transmitted under each connection, as shown in Table 3:
[0132] Table 3 The transceiver control module can control the transmission of each request data according to the transceiver control strategy parameter table. Specifically, the transceiver control module can determine whether the current connection ConnID and the current data stream StreamID exist in the aforementioned transceiver control strategy parameter table. If they do not exist, it can send the target data corresponding to the request identifier to the first terminal according to the preset initial transmission control parameters (initial transmission window size, initial transmission rate). If they exist, it extracts the target transmission window size cwnd and the target transmission rate pacing_rate corresponding to the current connection ConnID and the current data stream StreamID from the transceiver control strategy parameters, and uses the target transmission window size cwnd and the target transmission rate pacing_rate to send the target data corresponding to the request identifier to the first terminal. The target data includes multiple traffic packets.
[0133] Step 7: The first terminal sends a message confirmation message.
[0134] After receiving the traffic packet sent by the server, the first terminal can periodically reply to the server with an ACK message until the data resources of the target data have been sent.
[0135] Step 8: The machine learning module adjusts the model parameters based on the transmission performance gains.
[0136] After receiving the ACK message sent by the terminal, the server can calculate the transmission performance gain reward over the past period T_period through the transceiver control module, as shown in the following formula:
[0137]
[0138] in, This represents the actual throughput from the data sender (server) to the data receiver (terminal). This indicates the size of the data resources that the data receiver has confirmed received within the past period T_period. This represents the average of all RTTs within a past period of T_period.
[0139] The transmit / receive control module sends the calculated transmission performance reward to the machine learning module. The machine learning module adjusts the first and second weighting factors of the decision model output for the next period of time based on the transmission performance reward.
[0140] If the transmission performance reward is significantly higher than that of the previous time period, it indicates that the weighting factor output by the decision model is better, and the transmission control parameters in the transmission control strategy calculated based on this weighting factor have a better transmission effect.
[0141] If the transmission performance reward shows a significant decrease compared to the reward of the previous time period, it indicates that the weighting factor output by the decision model is poor, and the transmission control parameters in the transmission control strategy calculated based on this weighting factor have poor transmission performance. In this case, it is necessary to perform a strategy rollback, reverting to the decision model before the adjustment.
[0142] Based on the same principle as the data transmission method provided in the embodiments of this application, the embodiments of this application provide a data transmission device, which is deployed in a server within a data transmission system. For example... Figure 10 As shown, the data transmission device 300 may include: a request receiving module 310, a network environment information acquisition module 320, a network environment type determination module 330, a transmission quality determination module 340, a transmission parameter determination module 350, and a data sending module 360.
[0143] The request receiving module 310 is used to receive a target data acquisition request sent by the first terminal; wherein the target data acquisition request carries a request identifier. The network environment information determination module 320 is used to obtain the first network environment information of the first terminal; The network environment type determination module 330 is used to determine the target network environment type corresponding to the first terminal based on the first network environment information and a variety of pre-divided network environment types. The transmission quality determination module 340 is used to obtain a first network transmission quality corresponding to the target network environment type; wherein, the first network transmission quality is determined based on the network transmission quality of multiple second terminals under the target network environment type; The transmission parameter determination module 350 is used to determine the transmission control parameters corresponding to the target data acquisition request based on the transmission quality of the first network. The data sending module 360 is used to send the target data corresponding to the request identifier to the first terminal using the transmission control parameters.
[0144] Optionally, the target data acquisition request is sent by the first terminal through the target connection, and the target data acquisition request also carries the connection identifier of the target connection; The transmission parameter determination module 350 is also used for: Based on the connection identifier of the target connection, determine at least one historical data retrieval request sent by the first terminal through the target connection; Determine the second network transmission quality corresponding to each of the aforementioned historical data acquisition requests; The transmission control parameters corresponding to the first terminal are determined in the following way: Based on the first network transmission quality and the second network transmission quality corresponding to each of the historical data acquisition requests, the transmission control parameters corresponding to the target data acquisition request are determined.
[0145] Optionally, the transmission parameter determination module 350 is further configured to: Determine the first weight corresponding to the first network transmission quality, and the second weight corresponding to each of the second network transmission qualities; Based on the first weight and the second weight, the first network transmission quality and each of the second network transmission qualities are weighted and fused to obtain the target network transmission quality. Based on the target network transmission quality, determine the transmission control parameters corresponding to the target data acquisition request.
[0146] Optionally, any network transmission quality includes the parameter value of at least one network transmission quality evaluation parameter; the first weight includes the first weight corresponding to each network transmission quality evaluation parameter in the first network transmission quality, and each second weight includes the second weight corresponding to each network transmission quality evaluation parameter in the second network transmission quality. The transmission parameter determination module 350 is also used for: For each network transmission quality assessment parameter, based on the first weight corresponding to the network transmission quality assessment parameter in the first network transmission quality and the second weight corresponding to the network transmission quality assessment parameter in each second network transmission quality, the parameter value of the network transmission quality assessment parameter in the first network transmission quality and the parameter value of the network transmission quality assessment parameter in each second network transmission quality are weighted and fused to obtain the target parameter value corresponding to the network transmission quality assessment parameter. The target network transmission quality includes the target parameter values corresponding to each of the network transmission quality evaluation parameters.
[0147] Optionally, the first weight corresponding to each of the network transmission quality assessment parameters is determined in the following manner: Determine the time interval between the target data acquisition request and each of the historical data acquisition requests; Based on the first network transmission quality, each of the second network transmission qualities, and the time interval between the target data acquisition request and each of the historical data acquisition requests, a first weight corresponding to each of the network transmission quality evaluation parameters is determined through a trained decision model.
[0148] Optionally, the sum of the first weight and the third weight corresponding to each of the network transmission quality assessment parameters is 1, and the third weight corresponding to the network transmission quality assessment parameter is the sum of the second weights corresponding to each of the network transmission quality assessment parameters; For each network transmission quality evaluation parameter in the second network transmission quality, the second weight corresponding to the network transmission quality evaluation parameter in the second network transmission quality is determined in the following manner: Determine the time interval between the target data acquisition request and each of the historical data acquisition requests; Based on the time interval corresponding to each of the aforementioned historical data acquisition requests, determine the weight allocation factor corresponding to each second network transmission quality. Based on the weight allocation factor corresponding to the second network transmission quality and the third weight corresponding to the network transmission quality evaluation parameter, the second weight corresponding to the network transmission quality in the second network transmission quality is determined.
[0149] Optionally, the decision model is trained in the following manner: Multiple training samples are acquired, each training sample including the network transmission quality corresponding to a first data acquisition request of a sample terminal, the network transmission quality corresponding to at least one second data acquisition request, and the time interval between each second data acquisition request and the first data acquisition request; each second data acquisition request is a data acquisition request preceding the first data acquisition request; Based on the multiple training samples, the initial decision model is continuously trained to obtain a well-trained decision model. The training operations include: For each training sample, the training sample is input into the decision model to obtain the first prediction weight corresponding to each of the network transmission quality assessment parameters. For each network transmission quality assessment parameter, based on the first and second prediction weights corresponding to the network transmission quality assessment parameter, the parameter values of the network transmission quality assessment parameters in the network transmission quality corresponding to the first data acquisition request and the parameter values of the network transmission quality assessment parameters in the network transmission quality corresponding to each of the second data acquisition requests are weighted and fused to obtain the predicted target network transmission quality. Based on the predicted target network transmission quality, the predicted transmission control parameters corresponding to the first data acquisition request in the training sample are determined. The model parameters of the decision model are adjusted with the goal of maximizing the target transmission performance evaluation index; wherein the target transmission performance evaluation index is determined based on the transmission performance evaluation index corresponding to each training sample, and the transmission performance evaluation index corresponding to each training sample is obtained by transmitting data using the predicted transmission parameters corresponding to the first data acquisition request in the training sample.
[0150] Optionally, the transmission control parameters include the transmission window size and the transmission rate; The transmission parameter determination module 350 can be used for: From the network transmission quality evaluation parameters, determine each first quality evaluation parameter related to the sending window size and each second quality evaluation parameter related to the sending rate; Obtain the window weight and rate weight; Based on the window weights, the target parameter values corresponding to each of the first quality assessment parameters are adjusted to obtain the target window size; The target parameter values corresponding to each of the second quality assessment parameters are adjusted based on the rate weights to obtain the target rate; Based on the target window size and the target rate, the transmission control parameters corresponding to the target data acquisition request are obtained.
[0151] Optionally, the target data acquisition request is sent by the first terminal through the target connection; The data transmission device 300 further includes a timing module, which is used for: Determine the time interval between the target data acquisition request and the previous data acquisition request sent by the first terminal through the target connection; Determine that the time interval between the target data acquisition request and the previous data acquisition request is greater than or equal to a preset threshold. The timing module is also used for: When the time interval between the target data acquisition request and the previous data acquisition request is less than a preset threshold, the transmission control parameters corresponding to the previous data acquisition request are acquired. The transmission control parameters corresponding to the previous data acquisition request are used as the transmission control parameters corresponding to the target data acquisition request.
[0152] Optionally, the network transmission quality for any data acquisition request corresponding to any terminal is determined in the following way: Receive confirmation information sent by any of the terminals when it receives request data for any of the data acquisition requests; Based on the sending time of the requested data and the receiving time of the confirmation information, determine the round-trip delay corresponding to any data acquisition request; Based on the amount of data requested and the round-trip latency, determine the available bandwidth corresponding to any data acquisition request; Based on the round-trip latency and available bandwidth corresponding to any data acquisition request, determine the network transmission quality of any data acquisition request corresponding to any terminal.
[0153] Optionally, the target data acquisition request also carries the network address information and network connection type of the first terminal; The network environment information acquisition module 320 can be used for: Based on the network address information of the first terminal, determine the location information of the first terminal and the network operator to which it belongs; Based on the location information, network operator, and network connection type of the first terminal, the first network environment information of the first terminal is determined.
[0154] In the embodiments of this application, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.
[0155] This application provides an electronic device, including a memory, a processor, and a computer program stored in the memory. When the processor executes the computer program stored in the memory, it can implement the method in any optional embodiment of this application.
[0156] Figure 11 A schematic diagram of the structure of an electronic device to which an embodiment of the present invention applies is shown, such as... Figure 11 As shown, the electronic device can be a server or a user terminal, and it can be used to implement the methods provided in any embodiment of the present invention.
[0157] like Figure 11 As shown, the electronic device 2000 may primarily include at least one processor 2001. Figure 11 The diagram shows components such as a memory 2002, a communication module 2003, and an input / output interface 2004. Optionally, these components can be connected and communicate with each other via a bus 2005. It should be noted that... Figure 11The structure of the electronic device 2000 shown is merely illustrative and does not constitute a limitation on the electronic devices to which the methods provided in the embodiments of this application are applicable.
[0158] The memory 2002 can be used to store operating systems and applications, etc. The applications can include computer programs that implement the methods shown in the embodiments of the present invention when invoked by the processor 2001, and can also include programs for implementing other functions or services. The memory 2002 can be ROM (Read Only Memory) or other types of static storage devices that can store static information and instructions, RAM (Random Access Memory) or other types of dynamic storage devices that can store information and computer programs, or it can be EEPROM (Electrically Erasable Programmable Read Only Memory), CD-ROM (Compact Disc Read Only Memory) or other optical disc storage, optical disk storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited thereto.
[0159] Processor 2001 is connected to memory 2002 via bus 2005, and implements corresponding functions by calling application programs stored in memory 2002. Processor 2001 can be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this invention. Processor 2001 can also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
[0160] Electronic device 2000 can connect to a network via communication module 2003 (which may include, but is not limited to, components such as a network interface) to communicate with other devices (such as user terminals or servers) through the network and achieve data interaction, such as sending data to or receiving data from other devices. Communication module 2003 may include wired network interfaces and / or wireless network interfaces, meaning the communication module may include at least one of wired or wireless communication modules.
[0161] Electronic device 2000 can connect to required input / output devices, such as keyboards and display devices, via input / output interface 2004. Electronic device 2000 itself may have a display device, and other display devices can also be connected externally via interface 2004. Optionally, storage devices, such as hard drives, can also be connected via interface 2004 to store data from electronic device 2000, retrieve data from storage device, or store data from storage device into memory 2002. It is understood that input / output interface 2004 can be a wired interface or a wireless interface. Depending on the actual application scenario, the device connected to input / output interface 2004 can be a component of electronic device 2000 or an external device connected to electronic device 2000 when needed.
[0162] The bus 2005 used to connect the components may include a pathway for transmitting information between the components. The bus 2005 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. Depending on its function, the bus 2005 can be divided into address bus, data bus, control bus, etc.
[0163] Optionally, for the solution provided in the embodiments of the present invention, the memory 2002 can be used to store a computer program that executes the solution of the present invention, and the processor 2001 runs the computer program. When the processor 2001 runs the computer program, it implements the operation of the method or apparatus provided in the embodiments of the present invention.
[0164] Based on the same principle as the method provided in the embodiments of this application, the embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a processor, can implement the corresponding content of the aforementioned method embodiments.
[0165] This application also provides a computer program product, which includes a computer program that, when executed by a processor, can implement the corresponding content of the aforementioned method embodiments.
[0166] It should be noted that the terms "first," "second," "third," "fourth," "1," "2," etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in a sequence other than that shown in the figures or text.
[0167] It should be understood that although arrows indicate various operation steps in the flowcharts of this application's embodiments, the order in which these steps are implemented is not limited to the order indicated by the arrows. Unless explicitly stated herein, in some implementation scenarios of this application's embodiments, the implementation steps in each flowchart can be executed in other orders as required. Furthermore, some or all steps in each flowchart, based on the actual implementation scenario, may include multiple sub-steps or multiple stages. Some or all of these sub-steps or stages can be executed at the same time, and each sub-step or stage can also be executed at different times. In scenarios where execution times differ, the execution order of these sub-steps or stages can be flexibly configured according to requirements, and this application's embodiments do not limit this.
[0168] The above description is only an optional implementation method for some implementation scenarios of this application. It should be noted that for those skilled in the art, other similar implementation methods based on the technical concept of this application without departing from the technical concept of this application also fall within the protection scope of the embodiments of this application.
Claims
1. A data transmission method, characterized in that, The method is executed by the server, and the method includes: Receive a target data acquisition request sent by a first terminal; wherein the target data acquisition request carries a request identifier; Obtain the first network environment information of the first terminal; Based on the first network environment information and the pre-divided multiple network environment types, the target network environment type corresponding to the first terminal is determined; Obtain the first network transmission quality corresponding to the target network environment type; wherein, the first network transmission quality is determined based on the network transmission quality of multiple second terminals under the target network environment type; Based on the first network transmission quality, determine the transmission control parameters corresponding to the target data acquisition request; The target data corresponding to the request identifier is sent to the first terminal using the transmission control parameters.
2. The method according to claim 1, characterized in that, The target data acquisition request is sent by the first terminal through the target connection, and the target data acquisition request also carries the connection identifier of the target connection; The method further includes: Based on the connection identifier of the target connection, determine at least one historical data retrieval request sent by the first terminal through the target connection; Determine the second network transmission quality corresponding to each of the aforementioned historical data acquisition requests; The step of determining the transmission control parameters corresponding to the target data acquisition request based on the first network transmission quality includes: Based on the first network transmission quality and the second network transmission quality corresponding to each of the historical data acquisition requests, the transmission control parameters corresponding to the target data acquisition request are determined.
3. The method according to claim 2, characterized in that, The step of determining the transmission control parameters corresponding to the target data acquisition request based on the first network transmission quality and the second network transmission quality corresponding to each of the historical data acquisition requests includes: Determine the first weight corresponding to the first network transmission quality, and the second weight corresponding to each of the second network transmission qualities; Based on the first weight and the second weight, the first network transmission quality and each of the second network transmission qualities are weighted and fused to obtain the target network transmission quality. Based on the target network transmission quality, determine the transmission control parameters corresponding to the target data acquisition request.
4. The method according to claim 3, characterized in that, Any network transmission quality includes the parameter value of at least one network transmission quality evaluation parameter; the first weight includes the first weight corresponding to each network transmission quality evaluation parameter in the first network transmission quality, and each second weight includes the second weight corresponding to each network transmission quality evaluation parameter in the second network transmission quality; The step of weightedly fusing the first network transmission quality and each of the second network transmission qualities based on the first weight and the second weight to obtain the target network transmission quality includes: For each network transmission quality assessment parameter, based on the first weight corresponding to the network transmission quality assessment parameter in the first network transmission quality and the second weight corresponding to the network transmission quality assessment parameter in each second network transmission quality, the parameter value of the network transmission quality assessment parameter in the first network transmission quality and the parameter value of the network transmission quality assessment parameter in each second network transmission quality are weighted and fused to obtain the target parameter value corresponding to the network transmission quality assessment parameter. The target network transmission quality includes the target parameter values corresponding to each of the network transmission quality evaluation parameters.
5. The method according to claim 4, characterized in that, The first weight corresponding to each of the aforementioned network transmission quality assessment parameters is determined in the following manner: Determine the time interval between the target data acquisition request and each of the historical data acquisition requests; Based on the first network transmission quality, each of the second network transmission qualities, and the time interval between the target data acquisition request and each of the historical data acquisition requests, a first weight corresponding to each of the network transmission quality evaluation parameters is determined through a trained decision model.
6. The method according to claim 5, characterized in that, The sum of the first weight and the third weight corresponding to each of the network transmission quality assessment parameters is 1, and the third weight corresponding to each network transmission quality assessment parameter is the sum of the second weights corresponding to each network transmission quality assessment parameter. For each network transmission quality evaluation parameter in the second network transmission quality, the second weight corresponding to the network transmission quality evaluation parameter in the second network transmission quality is determined in the following manner: Determine the time interval between the target data acquisition request and each of the historical data acquisition requests; Based on the time interval corresponding to each of the aforementioned historical data acquisition requests, determine the weight allocation factor corresponding to each second network transmission quality. Based on the weight allocation factor corresponding to the second network transmission quality and the third weight corresponding to the network transmission quality evaluation parameter, the second weight corresponding to the network transmission quality in the second network transmission quality is determined.
7. The method according to claim 6, characterized in that, The decision model was trained in the following way: Multiple training samples are acquired, each training sample including the network transmission quality corresponding to a first data acquisition request of a sample terminal, the network transmission quality corresponding to at least one second data acquisition request, and the time interval between each second data acquisition request and the first data acquisition request; Each of the second data acquisition requests is a data acquisition request preceding the first data acquisition request; Based on the multiple training samples, the initial decision model is continuously trained to obtain a well-trained decision model. The training operations include: For each training sample, the training sample is input into the decision model to obtain the first prediction weight corresponding to each of the network transmission quality assessment parameters. For each network transmission quality assessment parameter, based on the first and second prediction weights corresponding to the network transmission quality assessment parameter, the parameter values of the network transmission quality assessment parameters in the network transmission quality corresponding to the first data acquisition request and the parameter values of the network transmission quality assessment parameters in the network transmission quality corresponding to each of the second data acquisition requests are weighted and fused to obtain the predicted target network transmission quality. Based on the predicted target network transmission quality, the predicted transmission control parameters corresponding to the first data acquisition request in the training sample are determined. The model parameters of the decision model are adjusted with the goal of maximizing the target transmission performance evaluation index; wherein the target transmission performance evaluation index is determined based on the transmission performance evaluation index corresponding to each training sample, and the transmission performance evaluation index corresponding to each training sample is obtained by transmitting data using the predicted transmission parameters corresponding to the first data acquisition request in the training sample.
8. The method according to claim 4, characterized in that, The transmission control parameters include the transmission window size and the transmission rate; The step of determining the transmission control parameters corresponding to the target data acquisition request based on the target network transmission quality includes: From the network transmission quality evaluation parameters, determine each first quality evaluation parameter related to the sending window size and each second quality evaluation parameter related to the sending rate; Obtain the window weight and rate weight; Based on the window weights, the target parameter values corresponding to each of the first quality assessment parameters are adjusted to obtain the target window size; The target parameter values corresponding to each of the second quality assessment parameters are adjusted based on the rate weights to obtain the target rate; Based on the target window size and the target rate, the transmission control parameters corresponding to the target data acquisition request are obtained.
9. The method according to claim 1 or 2, characterized in that, The target data acquisition request is sent by the first terminal through the target connection; Before determining the transmission control parameters corresponding to the target data acquisition request, the method further includes: Determine the time interval between the target data acquisition request and the previous data acquisition request sent by the first terminal through the target connection; Determine that the time interval between the target data acquisition request and the previous data acquisition request is greater than or equal to a preset threshold. The method further includes: When the time interval between the target data acquisition request and the previous data acquisition request is less than a preset threshold, the transmission control parameters corresponding to the previous data acquisition request are acquired. The transmission control parameters corresponding to the previous data acquisition request are used as the transmission control parameters corresponding to the target data acquisition request.
10. The method according to any one of claims 1 to 7, characterized in that, The network transmission quality for any data acquisition request corresponding to any terminal is determined in the following way: Receive confirmation information sent by any of the terminals when it receives request data for any of the data acquisition requests; Based on the sending time of the requested data and the receiving time of the confirmation information, determine the round-trip delay corresponding to any data acquisition request; Based on the amount of data requested and the round-trip latency, determine the available bandwidth corresponding to any data acquisition request; Based on the round-trip latency and available bandwidth corresponding to any data acquisition request, determine the network transmission quality of any data acquisition request corresponding to any terminal.
11. The method according to claim 1, characterized in that, The target data acquisition request also carries the network address information and network connection type of the first terminal; The step of obtaining the first network environment information of the first terminal includes: Based on the network address information of the first terminal, determine the location information of the first terminal and the network operator to which it belongs; Based on the location information, network operator, and network connection type of the first terminal, the first network environment information of the first terminal is determined.
12. A data transmission device, characterized in that, The device is deployed in a server, and the device includes: A request receiving module is used to receive a target data acquisition request sent by a first terminal; wherein the target data acquisition request carries a request identifier. A network environment information acquisition module is used to acquire the first network environment information of the first terminal. The network environment type determination module is used to determine the target network environment type corresponding to the first terminal based on the first network environment information and a variety of pre-divided network environment types. A transmission quality determination module is used to obtain a first network transmission quality corresponding to the target network environment type; wherein, the first network transmission quality is determined based on the network transmission quality of multiple second terminals under the target network environment type; The transmission parameter determination module is used to determine the transmission control parameters corresponding to the target data acquisition request based on the first network transmission quality. The data sending module is used to send the target data corresponding to the request identifier to the first terminal using the transmission control parameters.
13. An electronic device, characterized in that, The electronic device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the method according to any one of claims 1 to 11.
14. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, implements the method described in any one of claims 1 to 11.
15. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the method according to any one of claims 1 to 11.