Data transmission method and apparatus, electronic device, and storage medium

By selecting the optimal network latency mobile and wireless communication links for dual-channel transmission in the game accelerator, the network lag problem in weak network conditions is solved, achieving efficient network acceleration and data transmission.

CN115430136BActive Publication Date: 2026-06-26TENCENT TECHNOLOGY (SHENZHEN) CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
TENCENT TECHNOLOGY (SHENZHEN) CO LTD
Filing Date
2021-12-27
Publication Date
2026-06-26

Smart Images

  • Figure CN115430136B_ABST
    Figure CN115430136B_ABST
Patent Text Reader

Abstract

The application discloses a data transmission method and device, electronic equipment and storage medium, and belongs to the technical field of computers. The application provides a network acceleration function for a second application by a first application. When acceleration is performed, according to network delays of a mobile communication link and a wireless communication link, a transmission link capable of guaranteeing optimal network quality can be selected as a target transmission link, and data is transmitted on the target transmission link. In this way, the most suitable target transmission link is selected, so that the data transmission efficiency is greatly improved. If the target transmission link includes two transmission links, a double-channel transmission mechanism can also be achieved, so that the network acceleration effect is optimized.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to Chinese Patent Application No. 202110620279.3, filed on June 3, 2021, entitled "Data Transmission Method, Apparatus, Electronic Device and Storage Medium", the entire contents of which are incorporated herein by reference. Technical Field

[0002] This application relates to the field of computer technology, and in particular to a data transmission method, apparatus, electronic device, and storage medium. Background Technology

[0003] With the development of computer and communication technologies, mobile games are becoming increasingly popular among gamers. However, along with the trend of mobile gaming, network lag issues that frequently occur during gameplay have caused frustration for gamers. As a result, more and more gamers are turning to game accelerators to speed up their networks and improve the smoothness of their gameplay.

[0004] In the aforementioned process, gamers need to install a game accelerator on their device and select the desired game application to accelerate under the acceleration function. However, typical game accelerators simply play an acceleration animation and then suspend (or put to sleep) other applications besides the game application to conserve the device's communication resources, thus providing more communication resources for the game application. However, in weak network conditions, network lag is caused by high latency in the communication link itself. Simply conserving the device's communication resources is insufficient for effective acceleration. Therefore, a method that improves data transmission efficiency for effective network acceleration is urgently needed. Summary of the Invention

[0005] This application provides a data transmission method, apparatus, electronic device, and storage medium, which can improve data transmission efficiency and effectively accelerate networks. The technical solution is as follows:

[0006] On the one hand, a data transmission method is provided, the method comprising:

[0007] The acceleration function interface of the first application displays the second application to be accelerated, which is used to provide an interactive virtual scene;

[0008] In response to a triggering operation of the second application, a target transmission link is determined based on the network latency of the mobile communication link and the wireless communication link, wherein the target transmission link includes at least one of the mobile communication link or the wireless communication link;

[0009] Based on the target transmission link, data is transmitted with the target server corresponding to the second application.

[0010] On one hand, a data transmission device is provided, the device comprising:

[0011] The display module is used to display the second application to be accelerated in the acceleration function interface of the first application, and the second application is used to provide an interactive virtual scene.

[0012] A first determining module is configured to, in response to a triggering operation of the second application, determine a target transmission link based on the network latency of the mobile communication link and the wireless communication link, wherein the target transmission link includes at least one of the mobile communication link or the wireless communication link;

[0013] The transmission module is used to transmit data with the target server corresponding to the second application based on the target transmission link.

[0014] In one possible implementation, the transmission module includes:

[0015] The acquisition unit is used to acquire the interactive data to be transmitted by the second application;

[0016] An encapsulation unit is used to encapsulate the interactive data based on a target transmission protocol to obtain first data;

[0017] A sending unit is used to send the first data based on the target transmission link.

[0018] In one possible implementation, the transmitting unit is used for:

[0019] The first data is sent to the acceleration server based on the target transmission link, and the acceleration server is used to send the interactive data obtained by parsing the first data to the target server.

[0020] In one possible implementation, the transmission module includes:

[0021] The receiving unit is configured to receive second data based on the target transmission link, wherein the second data is interactive data returned by the target server to the second application.

[0022] In one possible implementation, if the target transmission link includes the wireless communication link and the mobile communication link, the receiving unit is configured to:

[0023] For any one of the wireless communication link and the mobile communication link, when the second data is received from the any one of the transmission links, if the second data received this time is the first time it has been received, then the second data is retained; if the second data received this time is not the first time it has been received, then the second data is discarded.

[0024] In one possible implementation, the first determining module is configured to:

[0025] If the network latency of the wireless communication link is lower than the expected latency, the wireless communication link is determined to be the target transmission link;

[0026] If the network latency of the mobile communication link is lower than the expected latency, the mobile communication link is determined to be the target transmission link;

[0027] If both the wireless communication link and the mobile communication link are higher than or equal to the expected delay, then the wireless communication link and the mobile communication link are determined to be the target transmission link.

[0028] In one possible implementation, the device further includes:

[0029] The first transmitting module is used to transmit probe messages based on the wireless communication link;

[0030] A receiving module is configured to receive a response message returned based on the probe message, based on the target transmission link.

[0031] The second determining module is used to determine the time difference between the sending time of the probe message and the receiving time of the response message as the updated network delay.

[0032] In one possible implementation, the device further includes:

[0033] The second sending module is used to send a notification message based on the target transmission link if no interactive data is transmitted based on the target transmission link within the target duration. The notification message is used to maintain the connection status of the target transmission link.

[0034] In one possible implementation, the device further includes:

[0035] The third sending module is configured to send a close message based on the target transmission link in response to a stop acceleration command for the second application, the close message being used to indicate disconnection of the target transmission link;

[0036] The release module is used to release the communication resources occupied by the target transmission link.

[0037] In one possible implementation, the display module is further configured to:

[0038] In response to a trigger operation on the acceleration option in the main interface of the first application, the acceleration function interface is displayed; or,

[0039] In response to a triggering operation on the acceleration option in the message notification bar of the first application, the acceleration function interface is displayed.

[0040] In one possible implementation, the display module is further configured to: display a timing control, the timing control being used to indicate the remaining time for switching from the first application to the second application;

[0041] The device further includes a jump module for: jumping from the first application to the second application in response to the timer control indicating that the remaining time is 0.

[0042] In one possible implementation, the display module is further configured to:

[0043] During the operation of the second application, acceleration description information is displayed. The acceleration description information includes at least one of speed-up effect or network stability. The speed-up effect is used to characterize the difference in network latency before and after acceleration, and the network stability is used to characterize the network packet loss situation of the target transmission link.

[0044] On one hand, an electronic device is provided, comprising one or more processors and one or more memories, wherein at least one computer program is stored in the one or more memories, and the at least one computer program is loaded and executed by the one or more processors to implement the data transmission method described above.

[0045] On the one hand, a storage medium is provided that stores at least one computer program, which is loaded and executed by a processor to implement the data transmission method described above.

[0046] On one hand, a computer program product or computer program is provided, the computer program product or computer program comprising one or more lines of program code, the one or more lines of program code being stored in a computer-readable storage medium. One or more processors of an electronic device are capable of reading the one or more lines of program code from the computer-readable storage medium, and the one or more processors execute the one or more lines of program code, enabling the electronic device to perform the aforementioned data transmission method.

[0047] The beneficial effects of the technical solutions provided in this application include at least the following:

[0048] By providing network acceleration functionality from the first application to the second application, the system can select the transmission link that can guarantee the best network quality as the target transmission link based on the network latency of the mobile communication link and the wireless communication link during acceleration. Data is then transmitted on the target transmission link. This greatly improves data transmission efficiency by selecting the most suitable target transmission link. If the target transmission link includes two transmission links, a dual-channel transmission mechanism can be achieved, thus optimizing the network acceleration effect. Attached Figure Description

[0049] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0050] Figure 1 This is a schematic diagram of the implementation environment of a data transmission method provided in an embodiment of this application;

[0051] Figure 2 This is a schematic diagram of a data transmission system provided in an embodiment of this application;

[0052] Figure 3 This is a flowchart of a data transmission method provided in an embodiment of this application;

[0053] Figure 4 This is a flowchart of a data transmission method provided in an embodiment of this application;

[0054] Figure 5 This is a schematic diagram of the main interface of a first application provided in an embodiment of this application;

[0055] Figure 6 This is a schematic diagram of a message notification bar provided in an embodiment of this application;

[0056] Figure 7 This is a schematic diagram of an acceleration function interface provided in an embodiment of this application;

[0057] Figure 8 This is a schematic diagram of an acceleration function interface provided in an embodiment of this application;

[0058] Figure 9 This is a schematic diagram of an acceleration function interface provided in an embodiment of this application;

[0059] Figure 10 This is a schematic diagram illustrating the display of accelerated description information provided in an embodiment of this application;

[0060] Figure 11 This is a schematic flowchart illustrating a data transmission method provided in an embodiment of this application;

[0061] Figure 12 This is a schematic diagram illustrating the principle of the control message sending logic provided in the embodiments of this application;

[0062] Figure 13 This is a communication flowchart of a redundant transmission mode provided in an embodiment of this application;

[0063] Figure 14 This is a communication flowchart of a main path transmission mode provided in an embodiment of this application;

[0064] Figure 15 This is a communication flowchart of a secondary path transmission mode provided in an embodiment of this application;

[0065] Figure 16 The image shows a comparison of the test results of a first-class game application before and after enabling dual-channel acceleration;

[0066] Figure 17 The image shows a comparison of the test results of a second game application before and after enabling dual-channel acceleration.

[0067] Figure 18 This is a schematic diagram of the structure of a data transmission device provided in an embodiment of this application;

[0068] Figure 19 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application;

[0069] Figure 20 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0070] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0071] In this application, the terms "first," "second," etc., are used to distinguish identical or similar items with essentially the same function. It should be understood that there is no logical or temporal dependency between "first," "second," and "nth," nor are there any restrictions on quantity or execution order.

[0072] In this application, the term "at least one" means one or more, and "multiple" means two or more, for example, multiple first positions means two or more first positions.

[0073] In the implementation of this application, the collection and processing of relevant data should strictly comply with the requirements of relevant laws and regulations, obtain the informed consent or separate consent of the personal information subject, and carry out subsequent data use and processing within the scope of laws and regulations and the authorization of the personal information subject.

[0074] The following explains the terminology used in the embodiments of this application.

[0075] Virtual Scene: A virtual scene is a scene displayed (or provided) by an application when it runs on a terminal. This virtual scene can be a simulation of the real world, a semi-simulated / semi-fictional virtual environment, or a purely fictional virtual environment. A virtual scene can be any of a two-dimensional, 2.5-dimensional, or three-dimensional virtual scene; this application does not limit the dimension of the virtual scene. For example, a virtual scene can include sky, land, ocean, etc., and the land can include environmental elements such as deserts and cities. Users can control virtual objects to move within the virtual scene. Optionally, the virtual scene can also be used for virtual scene interaction between at least two virtual objects, and the virtual scene has virtual resources available for use by at least two virtual objects. Optionally, the virtual scene can include two symmetrical areas, with virtual objects belonging to two opposing factions each occupying one area, and the victory objective being to destroy target buildings / outposts / bases / crystals deep within the opponent's area. Symmetrical areas include, for example, the lower left and upper right corner areas, or the left middle and right middle areas, etc.

[0076] Dual-channel acceleration: Dual-channel acceleration is an acceleration solution that enables stable, low-latency end-to-cloud transmission. "Dual-channel" includes a wireless communication link and a mobile communication link. The wireless communication link typically refers to the WiFi (Wireless Fidelity) path, while the mobile communication link includes LTE (Long Term Evolution) path, 3G (3rd Generation Mobile Communication Technology) path, 4G (4th Generation Mobile Communication Technology) path, and 5G (5th Generation Mobile Communication Technology) path, etc. Taking WiFi as the wireless communication link and LTE as the mobile communication link as an example, dual-channel acceleration is a network acceleration strategy based on the MP-UDP (Multipath User Datagram Protocol) protocol on the end side, which selects and schedules or performs dual-path redundant transmission between the WiFi and LTE paths.

[0077] Floating window technology: A floating display technology at the operating system layer of a terminal, which can float a movable window on the surface of other applications to facilitate opening different applications. The floating window can carry dynamic images, dynamic text, etc., and display them externally. In the embodiments of this application, during the operation of the second application, i.e., the game application, the acceleration description information of the first application, i.e., the acceleration application, can be displayed on the virtual scene of the second application in the form of a floating window.

[0078] Network latency refers to the time it takes for a data packet to travel from a user's terminal to a server and then immediately back to the user's terminal. Higher network latency results in slower network speeds and poorer network quality; lower network latency leads to faster network speeds and better network quality.

[0079] Network packet loss: When using Ping (Packet Internet Groper) to query a destination site (such as a server), data packets are lost in the channel due to various reasons. Ping is a network diagnostic tool. The main causes of network packet loss include: physical line failures, equipment failures, virus attacks, and incorrect routing information.

[0080] Channel control messages: In the network acceleration system based on a dual-channel acceleration strategy involved in this application embodiment, in order to ensure the normal operation of the link between the client layer and the cloud server layer, and to make intelligent decisions when scheduling channels on the client side, four types of control messages have been added between the client and the cloud server:

[0081] 1) Probing Message: Initiated by the first application, this message updates the network latency from the first application to the acceleration server, assisting in channel scheduling decisions. Probing messages are only sent within the WiFi channel.

[0082] 2) Response message (ACK Message): After receiving the probe message, the acceleration server sends a response packet to the first application on the original target transmission link. This is used to update the network latency from the first application to the acceleration server and assist in channel scheduling decisions.

[0083] 3) Notification Message: If the first application does not transmit any data to the acceleration server within the target duration (e.g., 3 seconds), the first application actively sends a notification message to the acceleration server. Upon receiving the notification message, the acceleration server does not need to reply; receiving a reply indicates the channel is functioning correctly and data transmission can continue. Similarly, if the acceleration server does not transmit any data to the first application within the target duration (e.g., 3 seconds), the acceleration server actively sends a notification message to the first application. Upon receiving the notification message, the first application does not need to reply; receiving a reply indicates the channel is functioning correctly and data transmission can continue. In certain scenarios, if the acceleration server or the first application does not receive a notification message, the acceleration server or the first application will attempt to reconnect. If the reconnection fails, it is considered that the target transmission link with the other party has been closed, and the corresponding communication resources are released. It should be noted that the target duration can be any value greater than 0. In this embodiment, a target duration of 3 seconds is used as an example. The target duration can also be 5 seconds, 10 seconds, etc., and can be customized by technical personnel.

[0084] 4) Channel Close Message: This message is sent proactively by the first application to close the target transmission link and release the communication resources occupied by both the terminal and the server. The first application will send the close message before closing the target transmission link and release the communication resources occupied by the first application. This will also accelerate the server to release the occupied communication resources immediately after receiving the close message, so as to ensure channel performance.

[0085] Channel data scheduling modes; in this application embodiment, three scheduling modes are involved: redundant transmission mode, primary path (WiFi) transmission mode, and secondary path (LTE) transmission mode.

[0086] Figure 1 This is a schematic diagram illustrating the implementation environment of a data transmission method provided in an embodiment of this application. See also... Figure 1 The implementation environment includes terminal 120, acceleration server 140 and target server 160.

[0087] Terminal 120 has a first application and a second application installed. The first application provides network acceleration (or game acceleration) services to the second application, and the second application provides interactive virtual scenes. The first application, also known as an acceleration application, can be a game acceleration application, network acceleration application, mobile phone manager application, mobile phone assistant application, PC manager application, etc. This embodiment does not specifically limit the type of the first application. The second application, also known as a game application or any application supporting virtual scenes, can be a multiplayer online battle arena (MOBA) game, a massively multiplayer online role-playing game (MMORPG), a first-person shooter (FPS) game, a third-person shooter game, a virtual reality application, a 3D map application, or a multiplayer survival game with equipment, etc. This embodiment does not specifically limit the type of the second application.

[0088] Terminal 120 can be directly or indirectly connected to acceleration server 140 via a mobile communication link or a wireless communication link. Alternatively, terminal 120 can also be directly or indirectly connected to acceleration server 140 via wired communication. This embodiment does not limit the connection method. Optionally, the mobile communication link can be an LTE-based communication link, or a 3G, 4G, 5G, or other communication link. This embodiment does not specifically limit this. Optionally, the wireless communication link can refer to a communication link based on WiFi technology. This embodiment does not specifically limit this.

[0089] Acceleration server 140 is used to provide data forwarding services. On the one hand, acceleration server 140 receives data sent by terminal 120, processes it, and forwards it to target server 160. On the other hand, acceleration server 140 receives data sent by target server 160, processes it, and forwards it to terminal 120.

[0090] The acceleration server 140 and the target server 160 can be connected directly or indirectly via wired or wireless communication, and this application does not impose any restrictions on this.

[0091] Target server 160 provides background services for the second application. When the second application is a game application, target server 160 can also be called a game server. Target server 160 includes at least one of a single server, multiple servers, a cloud computing platform, or a virtualization center. Optionally, target server 160 undertakes the primary computing work, and terminal 120 undertakes the secondary computing work; or, target server 160 undertakes the secondary computing work, and terminal 120 undertakes the primary computing work; or, terminal 120 and target server 160 collaborate on computing using a distributed computing architecture.

[0092] In some embodiments, the acceleration server 140 or the target server 160 may be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms.

[0093] In some embodiments, terminal 120 may be a smartphone, handheld smart device, portable gaming device, tablet computer, laptop computer, desktop computer, smart speaker, smartwatch, MP3 (Moving Picture Experts Group Audio Layer III) player, MP4 (Moving Picture Experts Group Audio Layer IV) player, e-book reader, etc., but is not limited thereto.

[0094] It should be noted that terminal 120 can refer to one of multiple terminals. Those skilled in the art will understand that the number of terminals 120 can be more or less. For example, there may be only one terminal, or there may be dozens or hundreds of terminals, or even more. This application does not limit the number or type of terminal 120 in its embodiments.

[0095] Figure 2 This is a schematic diagram illustrating the principle of a data transmission system provided in an embodiment of this application. (Refer to...) Figure 2 The data transmission system 200 includes a client 220 and a server 240.

[0096] The client 220 includes a first application 221 (Client Proxy, CP, i.e., acceleration application, proxy application), a second application 222 (Client Application, CA, i.e., game application, client application), and a kernel layer 223. The first application 221 is used to provide game acceleration services to the second application 222, the second application 222 is used to provide interactive virtual scenes, and the kernel layer 223 is used to provide dual-channel transmission capability, that is, to support redundant data transmission from both mobile communication links and wireless communication links simultaneously.

[0097] Optionally, the interactive data sent by the second application 222 may be intercepted by the first application 221. After interception, the first application 221 re-encapsulates the data into a new data packet according to the target transmission protocol (e.g., MP-UDP protocol) and sends the new data packet (e.g., MP-UDP packet) to the server 240 through the dual-channel sending capability provided by the kernel layer 223.

[0098] The server 240 includes an acceleration server 241 (Server Proxy, SP) and a target server 242 (Real Server, i.e., game server). In the server 240, the acceleration server 241 receives, aggregates, and reassembles the data packets sent by the first application 221, and then sends the finally reassembled data packets to the target server 242.

[0099] When the target server 242 sends a data packet, it is first intercepted by the acceleration server 241. The acceleration server 241 reassembles the packet according to the state of the first application 221 and then returns it to the first application 221. After receiving the packet, the first application 221 aggregates and reassembles it and then returns it to the second application 222.

[0100] In an exemplary scenario, the transmission between the second application 222 and the target server 242 still uses traditional UDP packets, while the MP-UDP protocol only runs between the first application 221 and the acceleration server 241, thus achieving service transparency and making the second application 222 unaware of the changes. In weak network conditions, the kernel layer 223 can support dual-channel transmission capability. That is, the end-side, based on the MP-UDP protocol, supports scheduling from both mobile communication links (e.g., LTE links) and wireless communication links (e.g., WiFi links), or directly performs dual-path redundant transmission, to achieve a stable, low-latency end-to-cloud transmission acceleration solution. This improves network lag and poor user experience caused by high network latency between the second application 222 and the target server 242. WiFi / LTE dual-channel path scheduling or redundant transmission significantly reduces network latency when the network is unstable.

[0101] Figure 3 This is a flowchart illustrating a data transmission method provided in an embodiment of this application. See also... Figure 3 This embodiment is applied to an electronic device, and is described using an electronic device as an example as a terminal. This embodiment includes the following steps:

[0102] 301. The terminal displays the second application to be accelerated in the acceleration function interface of the first application. The second application is used to provide an interactive virtual scene.

[0103] The terminal can be any electronic device used by the user, such as a smartphone, handheld smart device, portable gaming device, tablet computer, laptop computer, desktop computer, smart speaker, smartwatch, etc., but is not limited to these.

[0104] The first application is used to provide network acceleration (or game acceleration) services to the second application. The first application is also called an acceleration application. For example, the first application can be a game acceleration application, a network acceleration application, a mobile phone manager application, a mobile phone assistant application, a PC manager application, etc. This application embodiment does not specifically limit the type of the first application.

[0105] The second application is used to provide an interactive virtual scene. The second application is also called a game application or any application that supports virtual scenes. For example, the second application can be a MOBA game, MMORPG game, FPS game, third-person shooter game, virtual reality application, 3D map program, or multiplayer machine survival game, etc. The embodiments of this application do not specifically limit the type of the second application.

[0106] In some embodiments, the terminal may display one or more applications to be accelerated in the acceleration function interface of the first application. These one or more applications refer to some or all of the applications installed on the terminal that support virtual scenes. Then, in response to the user's selection of any application, the terminal determines the selected application as the second application to be accelerated. Optionally, the selection operation includes, but is not limited to: click, long press, double click, press, swipe (such as left swipe, right swipe, up swipe, down swipe, etc.), drag, shake, voice command, gesture command, one-click triggering with a shortcut key, etc. This application embodiment does not limit the type of selection operation.

[0107] In some embodiments, when displaying applications to be accelerated, the terminal may, after obtaining user authorization or full authorization, detect applications that support virtual scenarios installed on the terminal and display at least one of the following in the acceleration function interface: application icon, application name, and application description. Optionally, the applications may be arranged in a list, tiled, randomly, or in tabs in the acceleration function interface.

[0108] In an exemplary scenario, the terminal displays acceleration options and tabs for one or more applications to be accelerated in the acceleration function interface. Users can swipe left or right to flip through pages to view the previous or next application's tab. Each application's tab can display at least one of the following: application icon, application name, or application description. The application currently displayed in the acceleration function interface is also the second application. Users can change the currently displayed application by swiping left or right, thereby changing the second application to be accelerated.

[0109] In some embodiments, the terminal can access the acceleration function interface in two ways: First, the terminal displays the acceleration function interface in response to a trigger operation on the acceleration option in the main interface of the first application. That is, the terminal directly executes the trigger operation on the acceleration option in the main interface of the first application after launching the first application to enter the acceleration function interface, which provides a very intuitive human-computer interaction method. Second, the terminal displays the acceleration function interface in response to a trigger operation on the acceleration option in the message notification bar of the first application. That is, the terminal does not need to enter the main interface of the first application. Even if the first application is currently suspended in the background, as long as the acceleration option is triggered in the message notification bar (such as the swipe notification bar) of the first application, the terminal can directly jump to the first application and enter the acceleration function interface, which makes it convenient for users to quickly switch to the acceleration function interface of the first application from any interface.

[0110] 302. In response to the triggering operation of the second application, the terminal determines a target transmission link based on the network latency of the mobile communication link and the wireless communication link, the target transmission link including at least one of the mobile communication link or the wireless communication link.

[0111] The mobile communication link refers to a link connected based on cellular communication technology, such as an LTE link, a 3G link, a 4G link, or a 5G link.

[0112] The wireless communication link refers to a link connected based on WiFi communication technology, such as a WiFi link.

[0113] In some embodiments, when determining the target transmission link (i.e. the transmission link selected for this acceleration), the terminal can select the target transmission link based on the preset expected delay (Round-Trip Time, RTT) and the current network delay of each communication link. Optionally, since the network delay of each communication link is not constant, that is, the network delay of each communication link itself changes dynamically over time, the target transmission link can also be dynamically switched accordingly.

[0114] Optionally, the expected latency can be a default value set by the first application, or it can be manually modified by the user to complete the custom setting of the expected latency, or it can be set by technicians according to different second applications. This application embodiment does not specifically limit the method of obtaining the expected latency. The expected latency can be regarded as the maximum network latency expected after acceleration is enabled. For example, for some MOBA games with high network quality requirements, if frame drops or lag may cause the virtual objects controlled by the user to be defeated during interaction, then a lower expected latency can be set. For some MMORPG games with low network quality requirements, if frame drops or lag may not cause great damage to the user's game experience, then a higher expected latency can be set.

[0115] In some embodiments, the terminal may determine the network latency of the mobile communication link based on the following method: the terminal sends a probe message based on the wireless communication link; and receives a response message returned based on the probe message based on the mobile communication link, and determines the network latency of the mobile communication link as the time difference between the sending time of the probe message and the receiving time of the response message.

[0116] In some embodiments, the terminal may determine the network latency of the wireless communication link based on the following method: the terminal sends a probe message based on the wireless communication link; based on the wireless communication link, it receives a response message returned based on the probe message, and determines the network latency of the wireless communication link as the time difference between the sending time of the probe message and the receiving time of the response message.

[0117] In some embodiments, if the network latency of the wireless communication link is lower than the expected latency, the terminal determines the wireless communication link as the target transmission link. In other words, the terminal selects the wireless communication link as the target transmission link, which can be regarded as switching to the main path (such as the WiFi path) transmission mode.

[0118] In some embodiments, if the network latency of the mobile communication link is lower than the expected latency, the terminal determines the mobile communication link as the target transmission link. In other words, the terminal selects the mobile communication link as the target transmission link, which can be regarded as switching to the secondary path (such as the LTE path) transmission mode.

[0119] In some embodiments, if both the wireless communication link and the mobile communication link are higher than or equal to the expected delay, the terminal determines the wireless communication link and the mobile communication link as the target transmission link. In other words, the terminal selects both the wireless communication link and the mobile communication link as the target transmission link, which can be regarded as switching to the redundant transmission mode.

[0120] In the above process, based on the relationship between the network latency of the wireless communication link and the mobile communication link and the expected latency, a suitable communication link can be selected as the target transmission link for this acceleration. That is, if the network latency of the wireless communication link is low, it means that the network quality of the wireless communication link is good, and the wireless communication link is selected as the target transmission link. If the network quality of the mobile communication link is low, it means that the network quality of the mobile communication link is good, and the mobile communication link is selected as the target transmission link. If the network latency of both the mobile communication link and the wireless communication link is relatively high, it means that the terminal is in a weak network environment. Therefore, both channels can be selected as the target transmission links, so as to perform redundant transmission on both channels to reduce the overall network latency.

[0121] In some embodiments, after determining the target transmission link, the terminal can also detect and update the network latency of the target transmission link in real time, so as to select a more suitable target transmission link at any time according to changes in network status. Optionally, the terminal sends a probe message based on the wireless communication link; receives a response message returned based on the probe message based on the target transmission link; and determines the time difference between the sending time of the probe message and the receiving time of the response message as the updated network latency.

[0122] In the above process, even after the target transmission link is determined, the network latency of the target transmission link is dynamically updated to detect whether the network situation of the terminal has changed. For example, if the terminal is in a weak network environment and has selected dual channels as the target transmission link, but as time changes, the terminal moves to a place with a better network environment (for example, the user walks out of an elevator), then it can switch to the communication link with a better network environment as the target transmission link to achieve dynamic adaptive switching of the transmission link.

[0123] In some embodiments, since the terminal may not need to transmit data with the acceleration server for a certain period of time, but still wants to maintain the target transmission link with the acceleration server, the terminal can maintain the connection state of the target transmission link through a notification message. Optionally, if no interactive data is transmitted based on the target transmission link within a target duration, the terminal sends a notification message to the acceleration server based on the target transmission link. This notification message is used to maintain the connection state of the target transmission link. The target duration is any value greater than 0.

[0124] In the above process, by sending notification messages to the acceleration server, the connection status of the target transmission link can be guaranteed without sending interactive data. This avoids the cumbersome operation of reconnecting when the user needs to transmit data again, reduces the user's operation difficulty, and improves the user's gaming experience.

[0125] In some embodiments, since users may want to turn off the network acceleration function when exiting the second application (such as exiting a game application) or when the network quality improves, the user enters the first application, and the acceleration function interface of the first application provides a stop acceleration option. In response to the triggering operation of the stop acceleration option, a stop acceleration command for the second application is generated. In response to the stop acceleration command for the second application, a close message is sent to the acceleration server based on the target transmission link. The close message is used to indicate that the target transmission link is disconnected. Then, the terminal releases the communication resources occupied by the target transmission link. Similarly, after receiving the close message, the acceleration server also releases the corresponding communication resources.

[0126] In the above process, before the terminal wants to close the channel, it first sends a close message to the acceleration server and then releases its local communication resources. At the same time, after receiving the close message, the acceleration server also releases the communication resources of the cloud server. This allows idle communication resources to be released in a timely manner when there is no data transmission demand, thereby optimizing the resource allocation strategy.

[0127] In some embodiments, after determining the target transmission link, the terminal can also provide an automatic function to switch from the first application to the second application, avoiding a series of cumbersome operations such as switching the first application to the background and then launching the second application. Optionally, the terminal can display a timer control in the acceleration function interface, which is used to indicate the remaining time for switching from the first application to the second application; in response to the timer control indicating that the remaining time is 0, the terminal switches from the first application to the second application. Optionally, the timer control can be a stopwatch, a timer progress bar, a timer icon, etc., and the embodiments of this application do not specifically limit the appearance of the timer control.

[0128] In some embodiments, the timing control can be a countdown control, with the moment the user clicks the acceleration option as the starting point of the countdown and a jump duration threshold as the overall countdown duration. When the countdown reaches 0, the countdown control is de-displayed, and the user automatically jumps to the second application. In other embodiments, similar to the countdown control, the timing control can also be a positive timing control, with the moment the user clicks the acceleration option as the starting point of the positive timing and a jump duration threshold as the overall positive timing duration. When the positive timing reaches the jump duration threshold, the positive timing control is de-displayed, and the user automatically jumps to the second application.

[0129] In some embodiments, when switching from a first application to a second application, the switching can be achieved by displaying Intent (an intent used to resolve communication between various components of an Android application) calls based on cross-application Activity (an activity component of the Android system).

[0130] 303. The terminal transmits data with the target server corresponding to the second application based on the target transmission link.

[0131] In some embodiments, when a terminal transmits data based on a target transmission link, the process can be divided into two aspects: data transmission and data reception.

[0132] I. Data transmission based on the target transmission link

[0133] During data transmission, the terminal first obtains the interactive data to be transmitted by the second application, then encapsulates the interactive data according to the target transmission protocol to obtain the first data, and finally sends the first data based on the target transmission link. Optionally, the target transmission protocol can be the MP-UDP protocol or other transmission protocols, and this application embodiment does not specifically limit it.

[0134] In some embodiments, after the second application generates interactive data to be transmitted, the first application intercepts the interactive data, encapsulates the interactive data using the target transmission protocol to obtain first data, and then the terminal sends the first data to the acceleration server based on the target transmission link. The acceleration server is used to send the interactive data obtained by parsing the first data to the target server.

[0135] In the above process, if the target transmission link includes both a wireless communication link and a mobile communication link, then it is equivalent to selecting a redundant transmission mode. In the redundant transmission mode, the terminal will send the first data to the acceleration server through the dual-channel transmission capability provided by the kernel layer on both channels. For the acceleration server, it will prioritize processing the first data that arrives first, and after parsing the first data, it will obtain the interactive data and forward the interactive data to the target server. The first data that arrives later will be discarded or ignored by the acceleration server. This can maximize the purpose of network acceleration.

[0136] In an exemplary scenario, taking MP-UDP as the target transmission protocol, the interactive data to be transmitted generated by the second application is typically a UDP packet from a game service. The first application can intercept this interactive data and then re-encapsulate it using the MP-UDP protocol. Alternatively, the interactive data (UDP packet) can be parsed and then re-encapsulated using the MP-UDP protocol. This process can be called the reassembly of the interactive data. The data obtained after the interactive data is reassembled is called the first data (MP-UDP packet). Finally, the first data can be sent from the target transmission link to the acceleration server based on the terminal's kernel layer. The acceleration server then restores the first data, that is, parses the MP-UDP packet to obtain the UDP packet, which is the interactive data. The acceleration server then forwards the interactive data to the target server.

[0137] II. Data reception based on the target transmission link

[0138] During the data reception process, the terminal can receive second data based on the target transmission link. This second data is the interactive data returned by the target server to the second application.

[0139] In some embodiments, the second data received by the terminal from the target transmission link is forwarded by the acceleration server. That is, after the target server generates the interactive data to be returned to the second application, the acceleration server intercepts the interactive data, encapsulates the interactive data using the target transmission protocol to obtain the second data, and then sends the second data to the terminal's first application based on the target transmission link. After receiving the second data, the first application parses the second data to obtain the interactive data and sends the interactive data to the second application.

[0140] In an exemplary scenario, taking MP-UDP as the target transport protocol, the interactive data to be returned generated by the target server is usually a UDP packet from a game service. The acceleration server first intercepts the interactive data and then re-encapsulates it based on the MP-UDP protocol. Alternatively, it can parse the interactive data (UDP packet) and then re-encapsulate it using the MP-UDP protocol. This process can be called the reassembly of the interactive data. The data obtained after the interactive data is reassembled is called the second data (MP-UDP packet, or return packet). The acceleration server sends the second data from the target transmission link to the first application of the terminal. The first application then restores the second data, that is, parses the MP-UDP packet to obtain the UDP packet, which is the interactive data. The first application then forwards the interactive data to the second application.

[0141] In some embodiments, if the target transmission link includes the wireless communication link and the mobile communication link, then for any one of the wireless communication link and the mobile communication link, when the second data is received from the any one of the transmission links, if the second data received this time is the first time it is received, then the second data is retained; if the second data received this time is not the first time it is received, then the second data is discarded.

[0142] In the above process, if the target transmission link includes both a wireless communication link and a mobile communication link, then it is equivalent to selecting a redundant transmission mode. In the redundant transmission mode, the acceleration server will send the second data to the terminal's first application on both channels. For the first application, it will prioritize processing the second data that arrives first, and after parsing the second data, it will obtain the interactive data and forward the interactive data to the second application. The second data that arrives later will be discarded or ignored. This can maximize the purpose of network acceleration.

[0143] In some embodiments, since the second application continuously generates interactive data during operation, the terminal may also display acceleration description information during the operation of the second application. The acceleration description information includes at least one of speed-up effect or network stability. The speed-up effect is used to characterize the difference in network latency before and after acceleration, and the network stability is used to characterize the network packet loss situation of the target transmission link.

[0144] In some embodiments, when displaying acceleration description information, the acceleration description information can be displayed in the form of a floating window, in the form of a floating notification bar, in a split-screen display, or in a sub-window. This application embodiment does not specifically limit the display method of acceleration description information.

[0145] All of the above-mentioned optional technical solutions can be combined in any way to form optional embodiments of this disclosure, and will not be described in detail here.

[0146] The method provided in this application provides network acceleration functionality to a second application through a first application. During acceleration, based on the network latency of the mobile communication link and the wireless communication link, the transmission link that can guarantee the best network quality can be selected as the target transmission link, and data is transmitted on the target transmission link. In this way, by selecting the most suitable target transmission link, the data transmission efficiency can be greatly improved. If the target transmission link includes two transmission links, a dual-channel transmission mechanism can also be achieved, thereby optimizing the network acceleration effect.

[0147] Figure 4 This is a flowchart of a data transmission method provided in an embodiment of this application. See also... Figure 4 This embodiment is applied to an electronic device, and is described using an electronic device as an example as a terminal. This embodiment includes the following steps:

[0148] 401. The terminal responds to the user's trigger operation on the acceleration option in the main interface of the first application and displays the acceleration function interface.

[0149] In some embodiments, the terminal responds to a user's triggering operation on the first application, launches the first application, displays the main interface of the first application, provides multiple function options including the acceleration option in the main interface, and displays the acceleration function interface in response to a user's triggering operation on the acceleration option.

[0150] Optionally, the triggering operation includes, but is not limited to: click operation, long press operation, double click operation, press operation, swipe operation (such as swipe left, swipe right, swipe up, swipe down, etc.), drag operation, shake operation, voice command, gesture command, one-click triggering with shortcut key, etc. The embodiments of this application do not limit the type of operation selected.

[0151] Figure 5 This is a schematic diagram of the main interface of a first application provided in an embodiment of this application, such as... Figure 5As shown, the main interface 500 of the first application includes security detection options 501, junk file cleanup options 502, software management options 503, and harassment blocking options 504. Security detection option 501 provides a comprehensive system security detection function for the terminal; junk file cleanup option 502 cleans up useless system resources for the terminal; software management option 503 allows installing new applications or uninstalling existing applications; and harassment blocking option 504 allows setting which voice calls to be blocked. In addition, to facilitate user travel during the pandemic, it also provides risk area query options 505, travel policy query options 506, and nucleic acid test appointment options 507. Risk area query option 505 allows querying currently risky areas; travel policy query option 506 allows querying the travel policies of the destination (such as whether quarantine is required, whether a nucleic acid test certificate within 7 days is required); and nucleic acid test appointment option 507 allows one-click appointment for nucleic acid testing at a local hospital. Furthermore, an acceleration option 508 is provided, mainly for situations such as game lag. It can speed up the game with one click and automatically jump to the game application (second application). After clicking the acceleration option 508, the acceleration function interface can be triggered.

[0152] In the above process, after the terminal launches the first application, it directly triggers the acceleration option on the main interface of the first application to enter the acceleration function interface, which can provide a very intuitive human-computer interaction method.

[0153] Step 401 above only provides one optional implementation for the user to enter the acceleration function interface. In some embodiments, the terminal can also display the acceleration function interface in response to the trigger operation of the acceleration option in the message notification bar of the first application. That is to say, the terminal does not need to enter the main interface of the first application. Even if the first application is currently suspended in the background, as long as the acceleration option is triggered in the message notification bar (such as the swipe notification bar) of the first application, the user can directly jump to the first application and enter the acceleration function interface. This makes it convenient for the user to quickly switch to the acceleration function interface of the first application from any interface.

[0154] Figure 6 This is a schematic diagram of a message notification bar provided in an embodiment of this application, such as... Figure 6As shown, taking the message notification bar as an example, the drop-down notification bar 600 displays several quick function options for the second application, including a quick cleanup option 601, a call answering assistant option 602, and a speed-up option 603. The quick cleanup option 601 is used to clean up useless system resources on the terminal with one click, freeing up idle resources. The call answering assistant option 602 is used to view missed calls and set voicemail messages. The speed-up option 603 is mainly for situations like game lag, providing a one-click speed boost and automatically redirecting to the game application (the second application). Clicking the speed-up option 603 triggers the speed-up function interface. In addition, the drop-down notification bar 600 can also display other quick function options, such as an option to view spam messages, a one-click file organization option, a one-click update option for all updatable applications, settings options, etc. Furthermore, the drop-down notification bar 600 can also display system update notifications and minor notification information, which will not be elaborated upon here.

[0155] 402. The terminal displays the second application to be accelerated in the acceleration function interface of the first application. The second application is used to provide an interactive virtual scene.

[0156] Step 402 is similar to step 301 above, and will not be described in detail here.

[0157] Figure 7 This is a schematic diagram of an acceleration function interface provided in an embodiment of this application, such as... Figure 7 As shown, the acceleration function interface 700 provides application icons 701-703 for multiple applications to be accelerated. Among them, the application icon 702, located in the center of the interface and selected, corresponds to the second application. Below the application icon 702, there is also an acceleration option 710, which provides network acceleration (e.g., game acceleration) for the second application. Users can select the application icon 701 as the second application by swiping left, or they can select the application icon 703 as the second application by swiping right. Figure 7 The following explanation uses the left and right swipe operations to switch to the second application as an example. In some embodiments, if one or more applications to be accelerated are displayed vertically, the second application can also be switched by swiping up and down, which will not be elaborated here.

[0158] Figure 8 This is a schematic diagram of an acceleration function interface provided in an embodiment of this application, such as... Figure 8 As shown, after the user clicks the acceleration option 710 in the acceleration function interface 700, the acceleration option 710 switches from an active state to an inactive state. The active acceleration option 710 can display the prompt text "Accelerate Now" (e.g., ...). Figure 7As shown), the inactive acceleration option 710 can display the prompt text "Accelerating" (as shown). Figure 8 As shown in the diagram, during the acceleration process, the outer edge of the application icon 702 of the second application is actually an acceleration configuration progress bar 720, used to display the configuration progress of the acceleration link. The target transmission link needs to be determined in real time during the configuration process. Therefore, once the target transmission link is determined, the configuration of the acceleration link, i.e., the target transmission link, is considered complete, and the acceleration configuration progress bar 720 will also show that it has reached its maximum progress. Since the target transmission link is being configured at this time, the acceleration description information (network latency, network stability, speed-up effect, etc.) during the configuration process is displayed as empty.

[0159] Figure 9 This is a schematic diagram of an acceleration function interface provided in an embodiment of this application, such as... Figure 9 As shown, after the user clicks the acceleration option 710 in the acceleration function interface 700, the terminal configures the target transmission link. After configuration, the acceleration function interface 700 displays a stop acceleration option 730 and a launch option 740 for the second application. The stop acceleration option 730 can be used to turn off the network acceleration function of the first application at any time, and the launch option 740 is used by the user to manually trigger a jump from the first application to the second application. Optionally, the acceleration function interface 700 also displays acceleration description information, including but not limited to network latency information 751, network stability information 752, and speed-up effect information 753. In addition, it can also display the acceleration duration information 754 of the second application that has been accelerated, thereby achieving a more intuitive feedback effect and improving human-computer interaction efficiency.

[0160] 403. In response to the triggering operation of the second application, the terminal determines a target transmission link based on the network latency of the mobile communication link and the wireless communication link, the target transmission link including at least one of the mobile communication link or the wireless communication link.

[0161] Step 403 is similar to step 302 above, and will not be described in detail here.

[0162] 404. In the acceleration function interface, the terminal displays a timer control, which is used to indicate the remaining time for switching from the first application to the second application.

[0163] Optionally, the timing control can be a stopwatch, a timing progress bar, a timing icon, etc. This application embodiment does not specifically limit the appearance of the timing control.

[0164] In some embodiments, the timing control can be a countdown control, with the moment the user clicks the acceleration option as the countdown start point and the jump duration threshold as the overall countdown duration.

[0165] In other embodiments, similar to a countdown control, the timing control can also be a positive timing control, with the moment the user clicks the acceleration option as the starting point of the positive timing and a jump duration threshold as the overall positive timing duration.

[0166] In some embodiments, the terminal may display the timing control in the central area of ​​the acceleration function interface, or it may display the timing control in the edge area of ​​the acceleration function interface, or it may display the timing control directly on the acceleration option of the acceleration function interface. The present application embodiments do not specifically limit the display position of the timing control.

[0167] 405. The terminal responds to the timer control indicating that the remaining time is 0, and jumps from the first application to the second application.

[0168] In some embodiments, when the timing control is a countdown control, a countdown of 0 represents that the remaining time is 0; in other embodiments, when the timing control is a positive timing control, a positive timing of the jump duration threshold represents that the remaining time is 0.

[0169] In some embodiments, when switching from a first application to a second application, the switching can be achieved by displaying Intent (an intent used to resolve communication between various components of an Android application) calls based on cross-application Activity (an activity component of the Android system).

[0170] In steps 404-405 above, after the terminal determines the target transmission link, it can also provide the function of automatically switching from the first application to the second application, avoiding a series of cumbersome operations such as switching the first application to the background and then starting the second application, thus reducing the difficulty of operation for users.

[0171] 406. The terminal transmits data with the target server corresponding to the second application based on the target transmission link.

[0172] Step 406 above is similar to step 303 above, and will not be described in detail here.

[0173] 407. During the operation of the second application, the terminal displays acceleration description information, which includes at least one of speed-up effect or network stability. The speed-up effect is used to characterize the difference in network latency before and after acceleration, and the network stability is used to characterize the network packet loss situation of the target transmission link.

[0174] In some embodiments, when displaying acceleration description information, the acceleration description information can be displayed in the form of a floating window, in the form of a floating notification bar, in a split-screen display, or in a sub-window. This application embodiment does not specifically limit the display method of acceleration description information.

[0175] Figure 10 This is a schematic diagram illustrating the display of accelerated description information provided in an embodiment of this application, such as... Figure 10 As shown, during the operation of the second application, the acceleration description information 1010 of the second application can be displayed in the form of a floating window in the notification bar 1000. The acceleration description information 1010 includes "latency: 44ms, stability: average, speedup: 20%", which can intuitively reflect the speedup effect before and after acceleration, and improve the human-computer interaction efficiency of the network acceleration process.

[0176] During the above process, by displaying acceleration description information, real-time statistical results of the acceleration process can be provided to the user, including the speed-up effect and network stability. In addition, the duration of acceleration can also be included, thus providing the user with good feedback.

[0177] Figure 11 This is a schematic flowchart illustrating a data transmission method provided in an embodiment of this application. Please refer to it. Figure 11 In step 1101, the user selects the game (i.e., the second application) on the client (i.e., the first application) and starts acceleration. In step 1102, the underlying layer (i.e., the kernel layer) performs dual-channel acceleration based on the MP-UDP protocol. In step 1103, the display Intent is accessed through cross-application Activity, that is, the client automatically jumps to the game after the intelligent countdown ends. In step 1104, intelligent real-time statistics of acceleration data packets are performed, which defines the speed-up percentage (used to characterize the change in network latency before and after acceleration) and network stability (used to characterize whether the current network packet loss situation is good).

[0178] All of the above-mentioned optional technical solutions can be combined in any way to form optional embodiments of this disclosure, and will not be described in detail here.

[0179] The method provided in this application provides network acceleration functionality to a second application through a first application. During acceleration, based on the network latency of the mobile communication link and the wireless communication link, the transmission link that can guarantee the best network quality can be selected as the target transmission link, and data is transmitted on the target transmission link. In this way, by selecting the most suitable target transmission link, the data transmission efficiency can be greatly improved. If the target transmission link includes two transmission links, a dual-channel transmission mechanism can also be achieved, thereby optimizing the network acceleration effect.

[0180] The above embodiments describe how network acceleration is performed between the terminal and the target server. During acceleration, a suitable target transmission link needs to be selected in real time based on the actual network latency of the mobile and wireless communication links. The three possible selections of the target transmission link correspond to three different data transmission modes (i.e., data scheduling strategies) between channels. Furthermore, to better implement channel scheduling, four optional control messages are provided. In this embodiment, the transmission methods of interactive data and control messages will be described in detail in conjunction with the three data transmission modes.

[0181] Below, we will first introduce the four types of control messages supported in dual-channel mode:

[0182] 1) Probing Message: Initiated by the first application, this message updates the network latency from the first application to the acceleration server, assisting in channel scheduling decisions. Probing messages are only sent within the WiFi channel.

[0183] 2) Response message (ACK Message): After receiving the probe message, the acceleration server sends a response packet to the first application on the original target transmission link. This is used to update the network latency from the first application to the acceleration server and assist in channel scheduling decisions.

[0184] 3) Notification Message: If the first application does not transmit any data to the acceleration server within the target duration (e.g., 3 seconds), the first application proactively sends a notification message to the acceleration server. Upon receiving the notification message, the acceleration server does not need to reply; receiving a reply indicates the channel is functioning correctly and data transmission can continue. Similarly, if the acceleration server does not transmit any data to the first application within the target duration (e.g., 3 seconds), the acceleration server proactively sends a notification message to the first application. Upon receiving the notification message, the first application does not need to reply; receiving a reply indicates the channel is functioning correctly and data transmission can continue. In certain scenarios, if the acceleration server or the first application does not receive a notification message, they will attempt to reconnect. If the reconnection fails, the target transmission link with the other party is considered closed, and the corresponding communication resources are released.

[0185] 4) Channel Close Message: This message is sent proactively by the first application to close the target transmission link and release the communication resources occupied by both the terminal and the server. The first application will send the close message before closing the target transmission link and release the communication resources occupied by the first application. This will also accelerate the server to release the occupied communication resources immediately after receiving the close message, so as to ensure channel performance.

[0186] Figure 12 This is a schematic diagram illustrating the principle of the control message sending logic provided in this application embodiment, as shown in Figure 1200. It only describes how interactive data and control messages are transmitted between the first application and the acceleration server. First, the first application and the acceleration server can send interactive data to each other. Second, the first application sends a probe message to the acceleration server, and the acceleration server returns a response message to the first application. The first application can calculate the updated network latency based on the sending time of the probe message and the receiving time of the response message. Third, if the first application does not send any data to the acceleration server within a target duration (e.g., 3 seconds), then the first application sends a notification message to the acceleration server; similarly, if the acceleration server does not send any data to the first application within the target duration (e.g., 3 seconds), then the acceleration server sends a notification message to the first application. Finally, before closing the channel, the first application sends a close message to the acceleration server, and then the first application releases the corresponding communication resources. The acceleration server also releases the corresponding communication resources after receiving the close message.

[0187] The following section will introduce the three data transmission modes and the data transmission logic under each mode.

[0188] 1. Redundant transmission mode

[0189] In redundant transmission mode, the target transmission link includes two paths: a mobile communication link and a wireless communication link.

[0190] During data transmission, after the second application generates interactive data to be transmitted, the first application intercepts this interactive data, encapsulates it using the MP-UDP protocol to obtain the first data, and sends the first data to the acceleration server on both the mobile and wireless communication links. The acceleration server prioritizes processing the first data that arrives first, parses it to obtain the interactive data, and forwards the interactive data to the target server. Subsequent first data arrivals are discarded. For the acceleration server, upon receiving any data packet, it obtains the packet sequence number (seqNum, used to uniquely identify the data packet). If this seqNum is the same as the seqNum of a previously received data packet, then it determines that the currently received data packet is redundant (i.e., not the first received packet), and discards or ignores it. This avoids repeatedly sending the same data to the target server or repeatedly sending packets back to the first application.

[0191] It should be noted that the acceleration server does not need to wait for the first data from both channels to be received before forwarding it to the target server. This is because waiting will cause additional network latency and amplify the problems caused by network packet loss.

[0192] Similarly, during data reception, when the target server sends a response packet, the returned interactive data is intercepted by the acceleration server. The acceleration server encapsulates the interactive data using the MP-UDP protocol to obtain the second data. The acceleration server then sends the second data to the first application on both the mobile and wireless communication links. The first application prioritizes processing the first arriving second data, parses it to obtain the interactive data, and forwards the interactive data to the second application. Subsequent arriving second data is discarded. For the first application, upon receiving any data packet, it obtains the seqNum of that data packet. If this seqNum is the same as the seqNum of a previously received data packet, then it determines that the currently received data packet is redundant (i.e., not the first received packet), and discards or ignores it. This avoids repeatedly sending the same data to the second application or repeatedly sending responses to the acceleration server.

[0193] It should be noted that the first application does not need to wait for the second data from both channels to be received before forwarding it to the second application. This is because waiting will cause additional network latency and amplify the problems caused by network packet loss.

[0194] From the perspective of acceleration effect, redundant transmission mode is the optimal transmission mode, but from the perspective of communication cost, redundant transmission mode will bring a large bandwidth cost.

[0195] Figure 13This is a communication flowchart of a redundant transmission mode provided in an embodiment of this application. As shown in Figure 1300, the target transmission link includes a WiFi channel (wireless communication link) and an LTE channel (mobile communication link). The first application redundantly transmits first data on both the WiFi channel and the LTE channel, and the acceleration server also redundantly transmits second data on both the WiFi channel and the LTE channel. Further, if the first application or the acceleration server fails to transmit any data to the other party for a target duration (e.g., 3 seconds), the first application or the acceleration server redundantly transmits notification messages on both the WiFi channel and the LTE channel. However, it should be noted that the first application only sends probe messages on the WiFi channel.

[0196] 2. Main path transmission mode

[0197] In primary path transmission mode, the target transmission link only includes the wireless communication link; in other words, data packets are only transmitted through the WiFi channel. Primary path transmission mode is only used when the network latency of the WiFi channel is lower than the expected latency, ensuring stable transmission while reducing bandwidth costs and client performance consumption.

[0198] Figure 14 This is a communication flowchart of a main path transmission mode provided in an embodiment of this application. As shown in 1400, the target transmission link only includes a WiFi channel (wireless communication link). The first application only sends first data on the WiFi channel, and the acceleration server only sends second data on the WiFi channel. Furthermore, if the first application or the acceleration server does not transmit any data to the other party for a target duration (e.g., 3 seconds), the first application or the acceleration server also only sends a notification message on the WiFi channel. In addition, the first application only sends a probe message on the WiFi channel.

[0199] 3. Secondary path transmission mode

[0200] In secondary path transmission mode, the target transmission link only includes the mobile communication link; in other words, data packets will only be transmitted on the LTE channel. Secondary path transmission mode is only used when the network latency of the WiFi channel is higher than or equal to the expected latency (i.e., the WiFi channel is unstable) and the network latency of the LTE channel is lower than the expected latency. Secondary path transmission mode consumes user data, but it can reduce bandwidth costs and client performance consumption while ensuring transmission stability.

[0201] Figure 15This is a communication flowchart of a secondary path transmission mode provided in an embodiment of this application. As shown in Figure 1500, the target transmission link only includes an LTE channel (mobile communication link). The first application sends first data only on the LTE channel, and the acceleration server sends second data only on the LTE channel. Furthermore, if the first application or the acceleration server does not transmit any data to the other party for a target duration (e.g., 3 seconds), the first application or the acceleration server also only sends a notification message on the LTE channel. However, it should be noted that the first application will still send a probe message on the WiFi channel (not the LTE channel).

[0202] In this embodiment, based on the terminal MP-UDP protocol layer linkage, a stable and low-latency end-to-cloud transmission acceleration solution can be achieved by selective scheduling or dual-path redundant transmission on both WiFi and LTE paths. This optimizes and improves the efficiency of data packet transmission between the second application and the target server, creating a highly stable, low-latency, and smooth network experience environment (such as a gaming network experience environment). In laboratory settings, it can enable the terminal's overall network to reach the level of e-sports acceleration, comprehensively optimizing network lag during acceleration and significantly improving network acceleration performance and effectiveness.

[0203] Furthermore, by automatically redirecting to the second application after the acceleration configuration is completed in the first application, users do not need to log in with their accounts during acceleration. Moreover, acceleration description information can be displayed based on real-time floating window technology to provide game network data prompts. This not only ensures a smooth gaming network environment but also increases the overall ease of operation and fun of game acceleration, enabling users to have a good user experience and promoting product capabilities and brand building.

[0204] Furthermore, by deploying the acceleration server before the target server, the automatic load balancing of the game server can be reused, resulting in high processing performance, strong anti-attack capabilities, and no additional bandwidth costs. This minimizes network latency and ensures acceleration effectiveness. The acceleration server's routing can be automatically expanded, guaranteeing the acceleration function's resilience. Finally, this pre-deployment strategy can also cover more secondary applications and their corresponding target servers.

[0205] The following will explain the test results of the Demo package test data.

[0206] As shown in Table 1, the demo packet test method involves simultaneously opening 10 sockets in different scenarios, sending 100 UDP packets and 10,000 UDP packets respectively, and calculating the average latency of these data packets. The network environments include a normal WiFi and normal 4G environment, and a weak WiFi and normal 4G environment.

[0207] Table 1

[0208]

[0209] It can be seen that when the network latency of the WiFi channel is low (e.g., below 50ms), the network latency increases slightly because the dual-channel system needs to relay between the first application and the acceleration server. However, when the network latency of the WiFi channel is high, enabling dual-channel acceleration can reduce the average latency to below 40ms, significantly reducing network latency and optimizing network lag.

[0210] The following section uses the second application, a game application, as an example to illustrate the test results of game data from multiple game applications.

[0211] The game testing method refers to testing one or more game applications before and after enabling dual-channel acceleration.

[0212] Figure 16 The image shows a comparison of the performance of a first-generation game application before and after enabling dual-channel acceleration. As shown in Figure 1600, the dual-channel acceleration function of the first-generation game application was tested with a WiFi channel latency of 200ms. It can be seen that after enabling dual-channel acceleration, the network latency of the first-generation game application can be reduced to about 50ms and is very stable, with the highest latency only reaching 84ms. In contrast, the network latency is as high as 200ms or more when acceleration is not enabled.

[0213] Figure 17 The image shows a comparison of the test results of a second game application before and after enabling dual-channel acceleration. As shown in Figure 1700, the dual-channel acceleration function of the second game application was tested with a WiFi channel latency of 200ms. It can be seen that after enabling dual-channel acceleration, the network latency of the second game application can be reduced to below 100ms and is very stable. In contrast, the network latency is as high as 300ms or more when acceleration is not enabled.

[0214] In summary, the data transmission method provided in this application can significantly reduce network latency in the second application, greatly reduce the occurrence of poor user experience issues such as lag and disconnections, and improve the user's gaming experience in weak network conditions. By deeply penetrating the underlying link of network transmission, reconstructing and building the protocol layer, and innovatively transmitting data in multiple channels, it can meet the user's needs for smooth acceleration through multiple channels, and also improve the experience of intelligent acceleration, realize automated acceleration, and display data intelligently and intuitively, meeting the user's perception needs.

[0215] Figure 18 This is a schematic diagram of a data transmission device provided in an embodiment of this application. Please refer to it. Figure 18 The device includes:

[0216] Display module 1801 is used to display a second application to be accelerated in the acceleration function interface of the first application, the second application being used to provide an interactive virtual scene;

[0217] The first determining module 1802 is configured to, in response to a triggering operation on the second application, determine a target transmission link based on the network latency of the mobile communication link and the wireless communication link, wherein the target transmission link includes at least one of the mobile communication link or the wireless communication link;

[0218] The transmission module 1803 is used to transmit data with the target server corresponding to the second application based on the target transmission link.

[0219] The apparatus provided in this application provides network acceleration functionality to a second application through a first application. During acceleration, based on the network latency of the mobile communication link and the wireless communication link, the transmission link that can guarantee the best network quality can be selected as the target transmission link, and data is transmitted on the target transmission link. In this way, by selecting the most suitable target transmission link, the data transmission efficiency can be greatly improved. If the target transmission link includes two transmission links, a dual-channel transmission mechanism can also be achieved, thereby optimizing the network acceleration effect.

[0220] In one possible implementation, based on Figure 18 The device comprises, wherein the transmission module 1803 includes:

[0221] The acquisition unit is used to acquire the interactive data to be transmitted by the second application;

[0222] The encapsulation unit is used to encapsulate the interactive data based on the target transmission protocol to obtain the first data;

[0223] The sending unit is used to send the first data based on the target transmission link.

[0224] In one possible implementation, the transmitting unit is used for:

[0225] The first data is sent to the acceleration server based on the target transmission link, and the acceleration server is used to send the interactive data obtained by parsing the first data to the target server.

[0226] In one possible implementation, based on Figure 18 The device comprises, wherein the transmission module 1803 includes:

[0227] The receiving unit is configured to receive second data based on the target transmission link, the second data being interactive data returned by the target server to the second application.

[0228] In one possible implementation, if the target transmission link includes the wireless communication link and the mobile communication link, the receiving unit is used to:

[0229] For any of the wireless communication link and the mobile communication link, when the second data is received from the transmission link, if the second data is received for the first time, the second data is retained; if the second data is not received for the first time, the second data is discarded.

[0230] In one possible implementation, the first determining module 1802 is used to:

[0231] If the network latency of the wireless communication link is lower than the expected latency, the wireless communication link is determined to be the target transmission link;

[0232] If the network latency of the mobile communication link is lower than the expected latency, the mobile communication link is determined to be the target transmission link;

[0233] If both the wireless communication link and the mobile communication link are higher than or equal to the expected delay, then the wireless communication link and the mobile communication link are determined to be the target transmission link.

[0234] In one possible implementation, based on Figure 18 The device comprises:

[0235] The first transmitting module is used to transmit probe messages based on the wireless communication link;

[0236] The receiving module is used to receive the response message returned based on the probe message based on the target transmission link;

[0237] The second determining module is used to determine the time difference between the sending time of the probe message and the receiving time of the response message as the updated network delay.

[0238] In one possible implementation, based on Figure 18 The device comprises:

[0239] The second sending module is used to send a notification message based on the target transmission link if no interactive data is transmitted based on the target transmission link within the target duration. The notification message is used to maintain the connection status of the target transmission link.

[0240] In one possible implementation, based on Figure 18 The device comprises:

[0241] The third sending module is configured to send a close message based on the target transmission link in response to a stop acceleration command for the second application. The close message is used to indicate disconnection of the target transmission link.

[0242] The release module is used to release the communication resources occupied by the target transmission link.

[0243] In one possible implementation, the display module 1801 is further configured to:

[0244] In response to a triggering action on the acceleration option in the main interface of the first application, the acceleration function interface is displayed; or,

[0245] In response to a trigger action in the notification bar of the first application for the acceleration option, the acceleration function interface is displayed.

[0246] In one possible implementation, the display module 1801 is further configured to: display a timing control, the timing control being used to indicate the remaining time for switching from the first application to the second application;

[0247] based on Figure 18 The device comprises a jump module for: jumping from the first application to the second application in response to the timer control indicating that the remaining time is 0.

[0248] In one possible implementation, the display module 1801 is further configured to:

[0249] During the operation of the second application, acceleration description information is displayed, which includes at least one of speed-up effect or network stability. The speed-up effect is used to characterize the difference in network latency before and after acceleration, and the network stability is used to characterize the network packet loss situation of the target transmission link.

[0250] All of the above-mentioned optional technical solutions can be combined in any way to form optional embodiments of this disclosure, and will not be described in detail here.

[0251] It should be noted that the data transmission device provided in the above embodiments is only illustrated by the division of the above functional modules. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the electronic device can be divided into different functional modules to complete all or part of the functions described above. In addition, the data transmission device and the data transmission method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the data transmission method embodiments, which will not be repeated here.

[0252] Figure 19This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application, using terminal 1900 as an example for illustration. Optionally, the device type of terminal 1900 includes: smartphone, tablet computer, MP3 player (Moving Picture Experts Group Audio Layer III), MP4 player (Moving Picture Experts Group Audio Layer IV), laptop computer, or desktop computer. Terminal 1900 may also be referred to as user equipment, portable terminal, laptop terminal, desktop terminal, or other names.

[0253] Typically, terminal 1900 includes a processor 1901 and a memory 1902.

[0254] Optionally, the processor 1901 includes one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Optionally, the processor 1901 is implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). In some embodiments, the processor 1901 includes a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, the processor 1901 integrates a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content required to be displayed on the screen. In some embodiments, the processor 1901 also includes an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.

[0255] In some embodiments, the memory 1902 includes one or more computer-readable storage media, optionally non-transitory. Optionally, the memory 1902 also includes high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in the memory 1902 is used to store at least one program code, which is executed by the processor 1901 to implement the data transfer methods provided in the various embodiments of this application.

[0256] In some embodiments, the terminal 1900 may also optionally include a peripheral device interface 1903 and at least one peripheral device. The processor 1901, memory 1902, and peripheral device interface 1903 can be connected via a bus or signal line. Each peripheral device can be connected to the peripheral device interface 1903 via a bus, signal line, or circuit board. Specifically, the peripheral device includes at least one of the following: a radio frequency circuit 1904, a display screen 1905, a camera assembly 1906, an audio circuit 1907, and a power supply 1908.

[0257] Peripheral interface 1903 can be used to connect at least one I / O (Input / Output) related peripheral device to processor 1901 and memory 1902. In some embodiments, processor 1901, memory 1902 and peripheral interface 1903 are integrated on the same chip or circuit board; in some other embodiments, any one or two of processor 1901, memory 1902 and peripheral interface 1903 are implemented on separate chips or circuit boards, which is not limited in this embodiment.

[0258] The radio frequency (RF) circuit 1904 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuit 1904 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 1904 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals back into electrical signals. Optionally, the RF circuit 1904 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. Optionally, the RF circuit 1904 communicates with other terminals via at least one wireless communication protocol. This wireless communication protocol includes, but is not limited to: metropolitan area networks (MANs), various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks (WLANs), and / or WiFi (Wireless Fidelity) networks. In some embodiments, the RF circuit 1904 also includes circuitry related to NFC (Near Field Communication), which is not limited in this application.

[0259] Display screen 1905 is used to display a UI (User Interface). Optionally, the UI includes graphics, text, icons, videos, and any combination thereof. When display screen 1905 is a touch display screen, display screen 1905 also has the ability to collect touch signals on or above the surface of display screen 1905. The touch signals can be input to processor 1901 for processing as control signals. Optionally, display screen 1905 is also used to provide virtual buttons and / or virtual keyboards, also known as soft buttons and / or soft keyboards. In some embodiments, there is one display screen 1905, which is set on the front panel of terminal 1900; in other embodiments, there are at least two display screens 1905, which are respectively set on different surfaces of terminal 1900 or have a folded design; in still other embodiments, display screen 1905 is a flexible display screen, which is set on the curved surface or folded surface of terminal 1900. Furthermore, optionally, display screen 1905 is set as a non-rectangular irregular shape, that is, an irregularly shaped screen. Optionally, the display screen 1905 is made of materials such as LCD (Liquid Crystal Display) or OLED (Organic Light-Emitting Diode).

[0260] The camera assembly 1906 is used to acquire images or videos. Optionally, the camera assembly 1906 includes a front-facing camera and a rear-facing camera. Typically, the front-facing camera is located on the front panel of the terminal, and the rear-facing camera is located on the back of the terminal. In some embodiments, there are at least two rear-facing cameras, which are any one of a main camera, a depth-sensing camera, a wide-angle camera, and a telephoto camera, to achieve background blurring by fusion of the main camera and the depth-sensing camera, panoramic shooting by fusion of the main camera and the wide-angle camera, VR (Virtual Reality) shooting, or other fusion shooting functions. In some embodiments, the camera assembly 1906 also includes a flash. Optionally, the flash is a single-color temperature flash or a dual-color temperature flash. A dual-color temperature flash refers to a combination of a warm-light flash and a cool-light flash, used for light compensation at different color temperatures.

[0261] In some embodiments, the audio circuit 1907 includes a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, and convert the sound waves into electrical signals that are input to the processor 1901 for processing, or input to the radio frequency circuit 1904 to realize voice communication. For stereo acquisition or noise reduction purposes, multiple microphones are used, each located at a different part of the terminal 1900. Optionally, the microphone is an array microphone or an omnidirectional acquisition microphone. The speaker is used to convert the electrical signals from the processor 1901 or the radio frequency circuit 1904 into sound waves. Optionally, the speaker is a conventional film speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can convert electrical signals not only into sound waves that humans can hear, but also into sound waves that humans cannot hear for purposes such as distance measurement. In some embodiments, the audio circuit 1907 also includes a headphone jack.

[0262] The power supply 1908 is used to power the various components in the terminal 1900. Optionally, the power supply 1908 is AC power, DC power, a disposable battery, or a rechargeable battery. When the power supply 1908 includes a rechargeable battery, the rechargeable battery supports wired or wireless charging. The rechargeable battery also supports fast charging technology.

[0263] In some embodiments, the terminal 1900 further includes one or more sensors 1910. The one or more sensors 1910 include, but are not limited to: an accelerometer 1911, a gyroscope 1912, a pressure sensor 1913, an optical sensor 1914, and a proximity sensor 1915.

[0264] In some embodiments, the accelerometer 1911 detects the magnitude of acceleration along the three coordinate axes of a coordinate system established with the terminal 1900. For example, the accelerometer 1911 is used to detect the components of gravitational acceleration along the three coordinate axes. Optionally, the processor 1901 controls the display screen 1905 to display the user interface in either a landscape or portrait view based on the gravitational acceleration signal acquired by the accelerometer 1911. The accelerometer 1911 is also used for collecting motion data from games or users.

[0265] In some embodiments, the gyroscope sensor 1912 detects the orientation and rotation angle of the terminal 1900. The gyroscope sensor 1912 and the accelerometer sensor 1911 work together to acquire the user's 3D movements on the terminal 1900. Based on the data acquired by the gyroscope sensor 1912, the processor 1901 implements the following functions: motion sensing (e.g., changing the UI based on the user's tilt operation), image stabilization during shooting, game control, and inertial navigation.

[0266] Optionally, the pressure sensor 1913 is disposed on the side bezel of the terminal 1900 and / or on the lower layer of the display screen 1905. When the pressure sensor 1913 is disposed on the side bezel of the terminal 1900, it can detect the user's grip signal on the terminal 1900, and the processor 1901 performs left / right hand recognition or quick operation based on the grip signal collected by the pressure sensor 1913. When the pressure sensor 1913 is disposed on the lower layer of the display screen 1905, the processor 1901 controls the operable controls on the UI interface based on the user's pressure operation on the display screen 1905. The operable controls include at least one of button controls, scroll bar controls, icon controls, and menu controls.

[0267] An optical sensor 1914 is used to collect ambient light intensity. In one embodiment, the processor 1901 controls the display brightness of the display screen 1905 based on the ambient light intensity collected by the optical sensor 1914. Specifically, when the ambient light intensity is high, the display brightness of the display screen 1905 is increased; when the ambient light intensity is low, the display brightness of the display screen 1905 is decreased. In another embodiment, the processor 1901 also dynamically adjusts the shooting parameters of the camera assembly 1906 based on the ambient light intensity collected by the optical sensor 1914.

[0268] The proximity sensor 1915, also known as a distance sensor, is typically located on the front panel of the terminal 1900. The proximity sensor 1915 is used to detect the distance between the user and the front of the terminal 1900. In one embodiment, when the proximity sensor 1915 detects that the distance between the user and the front of the terminal 1900 is gradually decreasing, the processor 1901 controls the display screen 1905 to switch from a screen-on state to a screen-off state; when the proximity sensor 1915 detects that the distance between the user and the front of the terminal 1900 is gradually increasing, the processor 1901 controls the display screen 1905 to switch from a screen-off state to a screen-on state.

[0269] Those skilled in the art will understand that Figure 19 The structure shown does not constitute a limitation on terminal 1900, which may include more or fewer components than shown, or combine certain components, or use different component arrangements.

[0270] Figure 20 This is a schematic diagram of the structure of an electronic device 2000 provided in an embodiment of this application. The electronic device 2000 can vary significantly due to differences in configuration or performance. The electronic device 2000 includes one or more Central Processing Units (CPUs) 2001 and one or more memories 2002. The memories 2002 store at least one computer program, which is loaded and executed by the one or more processors 2001 to implement the data transmission methods provided in the various embodiments described above. Optionally, the electronic device 2000 also includes wired or wireless network interfaces, a keyboard, and input / output interfaces for input and output. The electronic device 2000 also includes other components for implementing device functions, which will not be elaborated here.

[0271] In exemplary embodiments, a computer-readable storage medium is also provided, such as a memory including at least one computer program, which can be executed by a processor in a terminal to perform the data transmission methods in the various embodiments described above. For example, the computer-readable storage medium includes ROM (Read-Only Memory), RAM (Random-Access Memory), CD-ROM (Compact Disc Read-Only Memory), magnetic tape, floppy disk, and optical data storage devices, etc.

[0272] In an exemplary embodiment, a computer program product or computer program is also provided, including one or more lines of program code stored in a computer-readable storage medium. One or more processors of an electronic device are capable of reading the one or more lines of program code from the computer-readable storage medium, and the one or more processors execute the one or more lines of program code, enabling the electronic device to perform the data transmission method described in the above embodiments.

[0273] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. Optionally, the program is stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.

[0274] The above description is merely an optional embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A data transmission method, characterized in that, The method includes: The acceleration function interface of the first application displays the second application to be accelerated, which is used to provide an interactive virtual scene; In response to a triggering operation on the second application, a target transmission link is determined as follows: if the network latency of the wireless communication link is lower than the expected latency, the wireless communication link is determined as the target transmission link, which is used for data transmission between the first application and the acceleration server, and the acceleration server is used for data transmission with the target server corresponding to the second application; if the network latency of the mobile communication link is lower than the expected latency, the mobile communication link is determined as the target transmission link; if both the wireless communication link and the mobile communication link are higher than or equal to the expected latency, both the wireless communication link and the mobile communication link are determined as the target transmission link. Based on the wireless communication link, a probe message is sent to the acceleration server; based on the target transmission link, a response message returned by the acceleration server based on the probe message is received; the time difference between the sending time of the probe message and the receiving time of the response message is determined as the updated network latency. If no interactive data is transmitted based on the target transmission link within the target duration, a notification message is sent to the acceleration server based on the target transmission link. The notification message is used to maintain the connection status of the target transmission link. During data transmission, the first application intercepts the interactive data to be transmitted by the second application, encapsulates the interactive data based on the target transmission protocol to obtain first data, and sends the first data to the acceleration server based on the target transmission link, so that the acceleration server parses the first data received for the first time and sends the obtained interactive data to the target server, and causes the acceleration server to discard the first data not received for the first time. During the data reception process, when the second data is received on any transmission link in the target transmission link, the sequence number of the second data packet is obtained. If the sequence number of the second data packet is different from the sequence number of the second data packet previously received, it is determined that the second data received this time is the first time it is received, and the second data is retained. If the sequence number of the second data packet is the same as the sequence number of the second data packet previously received, it is determined that the second data received this time is not the first time it is received, and the second data is discarded. The second data is the interactive data returned by the target server to the second application. In response to the stop acceleration command for the second application, a shutdown message is sent to the acceleration server based on the target transmission link. The shutdown message is used to indicate that the target transmission link is disconnected and the communication resources occupied by the target transmission link are released.

2. The method according to claim 1, characterized in that, Before displaying the second application to be accelerated in the acceleration function interface of the first application, the method further includes: In response to a trigger operation on the acceleration option in the main interface of the first application, the acceleration function interface is displayed; or, In response to a triggering operation on the acceleration option in the message notification bar of the first application, the acceleration function interface is displayed.

3. The method according to claim 1, characterized in that, After determining the target transmission link, the method further includes: Display a timer control, which indicates the remaining time for switching from the first application to the second application; In response to the timer control indicating that the remaining time is 0, the application jumps from the first application to the second application.

4. The method according to claim 3, characterized in that, After the jump from the first application to the second application, the method further includes: During the operation of the second application, acceleration description information is displayed. The acceleration description information includes at least one of speed-up effect or network stability. The speed-up effect is used to characterize the difference in network latency before and after acceleration, and the network stability is used to characterize the network packet loss situation of the target transmission link.

5. A data transmission device, characterized in that, The device includes: The display module is used to display the second application to be accelerated in the acceleration function interface of the first application, and the second application is used to provide an interactive virtual scene. A first determining module is configured to determine a target transmission link in response to a triggering operation on the second application by: if the network latency of the wireless communication link is lower than the expected latency, determining the wireless communication link as the target transmission link, wherein the target transmission link is used for data transmission between the first application and the acceleration server, and the acceleration server is used for data transmission with the target server corresponding to the second application; if the network latency of the mobile communication link is lower than the expected latency, determining the mobile communication link as the target transmission link; if both the wireless communication link and the mobile communication link are higher than or equal to the expected latency, determining both the wireless communication link and the mobile communication link as the target transmission link. The first sending module is used to send a probe message to the acceleration server based on the wireless communication link; the receiving module is used to receive a response message returned by the acceleration server based on the probe message based on the target transmission link; the second determining module is used to determine the time difference between the sending time of the probe message and the receiving time of the response message as the updated network delay. The second sending module is used to send a notification message to the acceleration server based on the target transmission link if no interactive data is transmitted based on the target transmission link within the target duration. The notification message is used to maintain the connection status of the target transmission link. The transmission module is used to intercept interactive data to be transmitted by the second application through the first application during data transmission, encapsulate the interactive data based on the target transmission protocol to obtain first data, and send the first data to the acceleration server based on the target transmission link, so that the acceleration server parses the first data received for the first time and sends the obtained interactive data to the target server, and causes the acceleration server to discard the first data not received for the first time. The transmission module is further configured to, during the data reception process, when the second data is received on any transmission link in the target transmission link, obtain the data packet sequence number of the second data; if the data packet sequence number is different from the data packet sequence number of the previously received second data, it is determined that the second data received this time is the first reception, and the second data is retained; if the data packet sequence number is the same as the data packet sequence number of the previously received second data, it is determined that the second data received this time is not the first reception, and the second data is discarded. The second data is the interactive data returned by the target server to the second application. The third sending module is used to respond to the stop acceleration command of the second application by sending a close message to the acceleration server based on the target transmission link. The close message is used to indicate that the target transmission link is disconnected and the communication resources occupied by the target transmission link are released.

6. The apparatus according to claim 5, characterized in that, The display module is also used for: In response to a trigger operation on the acceleration option in the main interface of the first application, the acceleration function interface is displayed; or, In response to a triggering operation on the acceleration option in the message notification bar of the first application, the acceleration function interface is displayed.

7. The apparatus according to claim 5, characterized in that, The display module is also used for: Display a timer control, which indicates the remaining time for switching from the first application to the second application; In response to the timer control indicating that the remaining time is 0, the application jumps from the first application to the second application.

8. The apparatus according to claim 7, characterized in that, The display module is also used for: During the operation of the second application, acceleration description information is displayed. The acceleration description information includes at least one of speed-up effect or network stability. The speed-up effect is used to characterize the difference in network latency before and after acceleration, and the network stability is used to characterize the network packet loss situation of the target transmission link.

9. An electronic device, characterized in that, The electronic device includes one or more processors and one or more memories, wherein at least one computer program is stored in the one or more memories, and the at least one computer program is loaded and executed by the one or more processors to implement the data transmission method as described in any one of claims 1 to 4.

10. A storage medium, characterized in that, The storage medium stores at least one computer program, which is loaded and executed by a processor to implement the data transmission method as described in any one of claims 1 to 4.

11. A computer program product, characterized in that, The computer program product includes at least one computer program, which is loaded and executed by a processor to implement the data transmission method as described in any one of claims 1 to 4.