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

By creating multiple sub-connections between the terminal and the front-end server and synchronizing data transmission, the problems of high data transmission reliability and latency in communication networks are solved, achieving efficient and reliable data transmission.

CN116760915BActive Publication Date: 2026-05-26SINA FINANCE MOBILE NETWORK TECH (BEIJING) CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SINA FINANCE MOBILE NETWORK TECH (BEIJING) CO LTD
Filing Date
2023-06-05
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

In communication networks, network handover failures, network address translation table errors, improper firewall configurations, and improper time parameter configurations can lead to the disconnection or loss of communication connections, resulting in low data transmission reliability and large transmission delays.

Method used

By creating at least two Type I sub-connections between the terminal and the front-end server, data transmission is performed synchronously, and data is copied on different sub-connections to ensure that transmission latency and traffic are within thresholds, and sub-connections are dynamically managed to cope with fault conditions.

Benefits of technology

It improves the reliability and efficiency of data transmission, reduces latency caused by data loss and retransmission, and ensures that data arrives at the front-end server in a timely manner.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116760915B_ABST
    Figure CN116760915B_ABST
Patent Text Reader

Abstract

This disclosure provides a data transmission method, apparatus, processing device, and storage medium. The method includes: responding to a transmission request for data to be transmitted, creating at least two first-type sub-connections between a terminal and a front-end server based on a predetermined protocol, wherein the transmission delay of the data to be transmitted is less than a delay threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold; synchronously performing the transmission of the data to be transmitted between the terminal and the front-end server on the at least two first-type sub-connections; wherein the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; and the data to be transmitted is copied to the first-type sub-connections. This approach, on the one hand, reduces unreliable data transmission due to data loss, and on the other hand, ensures that data arrives at the front-end server in a timely manner, reducing data transmission delay caused by retransmissions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to, but is not limited to, the field of communication technology, and particularly to a data transmission method, apparatus, processing device, and storage medium. Background Technology

[0002] In communication networks, a large amount of data needs to be transmitted between different communication nodes. In some scenarios, network handover failures, network address translation table errors, improper firewall configurations, and improper time parameter configurations can lead to communication connections being broken or lost. In such cases, data may be continuously sent over the connection but cannot be delivered, resulting in low data transmission reliability and high transmission latency. Summary of the Invention

[0003] In view of this, the present disclosure provides a data transmission method, apparatus, processing device, and storage medium to at least improve the reliability and efficiency of data transmission in communication between the terminal and the server.

[0004] According to a first aspect of the present disclosure, a data transmission method is provided, the method being executed by a terminal, the method comprising:

[0005] In response to the transmission requirement of the data to be transmitted, at least two first-type sub-connections are created between the terminal and the front-end server based on a predetermined protocol, wherein the transmission delay of the data to be transmitted is less than a delay threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold.

[0006] On at least two first-type sub-connections, the transmission of the data to be transmitted between the terminal and the front-end server is performed synchronously; wherein, the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the first-type sub-connection.

[0007] In one embodiment, the creation of at least two first-type sub-connections between the terminal and the front-end server based on a predetermined protocol includes:

[0008] Send a first request message to the front-end server, the first request message being used to request the creation of a first type of sub-connection with the front-end server;

[0009] Based on the predetermined protocol, the two parties interact with the front-end server to jointly create at least two first-type sub-connections;

[0010] The terminal receives a first response message sent by the front-end server, the first response message instructing the terminal to transmit the data to be transmitted based on the at least two first-type sub-connections that have been created.

[0011] In one embodiment, the first request information includes: a sub-connection identifier of the requested sub-connection, and at least one of authentication information and token negotiation information; and / or, the first response information includes the sub-connection identifier of the created sub-connection, and at least one of controller identifier, token, frontend server list, and number of connections that can be established.

[0012] In one embodiment, the at least two first-type sub-connections include at least two of a first sub-connection, a second sub-connection, and a third sub-connection; the creation of at least two first-type sub-connections between the terminal and the front-end server includes one of the following:

[0013] In response to the creation of the first sub-connection, a second sub-connection is created based on the predetermined protocol after the first sub-connection is created;

[0014] In response to the creation of a first sub-connection and a second sub-connection, and if it is determined that one of the sub-connections is in a faulty state after the first sub-connection and the second sub-connection are created, the faulty sub-connection is closed, and a third sub-connection is created based on the predetermined protocol.

[0015] In one embodiment, the method further includes:

[0016] Based on the application scenario and the list of front-end servers indicated by the pre-defined configuration information, determine the front-end server that provides services to the at least two first-type sub-connections;

[0017] or,

[0018] Based on the application scenario and the list of front-end servers indicated by the previously received historical first response information, the front-end server that provides services to the at least two first type sub-connections is determined.

[0019] In one embodiment, the method further includes:

[0020] Determine the maximum receive sequence number and receive time of data on the at least two first-type sub-connections;

[0021] Based on the maximum received sequence number and the received time, determine whether to delete the target sub-connection; wherein, the target sub-connection is any one of the at least two first-type sub-connections.

[0022] In one embodiment, determining whether to delete the target sub-connection based on the maximum received sequence number and the received time includes:

[0023] In response to the fact that the maximum received sequence number of data on the target sub-connection is less than the maximum received sequence number of data on the at least two first-type sub-connections, and the offset between the received time of the target sub-connection and the received time of other sub-connections in the at least two first-type sub-connections is greater than a predetermined time threshold, it is determined to delete the target sub-connection.

[0024] In one embodiment, the method further includes:

[0025] Detect the data to be transmitted; in response to the failure to detect the data to be transmitted on any first type of sub-connection, determine that the first type of sub-connection is in a fault state;

[0026] or,

[0027] Detect the data to be transmitted; in response to the fact that the data to be transmitted is not detected on all first-type sub-connections, close all first-type sub-connections and recreate at least two first-type sub-connections;

[0028] or,

[0029] Detect the data to be transmitted; if the data to be transmitted is not detected on any first type sub-connection within a predetermined time period, close all first type sub-connections.

[0030] In one embodiment, the method further includes:

[0031] In response to receiving the data to be transmitted on a first sub-connection of the at least two first-type sub-connections, the data to be transmitted received on a second sub-connection other than the first sub-connection of the at least two first-type sub-connections is discarded;

[0032] or,

[0033] In response to the first receipt of the data to be transmitted, the maximum receive sequence number of the data corresponding to the first type of sub-connection that received the data to be transmitted is increased.

[0034] According to a second aspect of the present disclosure, a data transmission method is provided, the method being executed by a front-end server, the method comprising:

[0035] In response to the completion of creating at least two first-type sub-connections between the terminal and the front-end server, a second-type sub-connection corresponding one-to-one with the first-type sub-connection is created between the front-end server and the control server based on a predetermined protocol. The first-type sub-connection and the second-type sub-connection constitute the main connection between the terminal and the control server.

[0036] On at least two first-type sub-connections, the transmission of data to be transmitted between the front-end server and the terminal is performed synchronously; on at least two second-type sub-connections, the transmission of data to be transmitted between the front-end server and the control server is performed synchronously; wherein, the transmission of data to be transmitted includes sending and / or receiving data to be transmitted; the data to be transmitted is copied to the main connection; the front-end server is used for forwarding data to be transmitted on the first-type connection and the corresponding second-type connection; the transmission delay of the data to be transmitted is less than a delay threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold.

[0037] In one embodiment, the method further includes at least one of the following:

[0038] In response to receiving a first request message from the terminal, determine whether the first type of sub-connection requested by the first request message is valid;

[0039] In response to receiving a first request message from the terminal, determine the number of first-type sub-connections that can be created;

[0040] In response to receiving the first request information sent by the terminal, the first type of sub-connection with duplicate identifiers is deleted.

[0041] In one embodiment, the method further includes:

[0042] In response to determining that the requested first type of sub-connection is valid and that at least two first type of sub-connections have been created, a first response message is sent to the terminal.

[0043] The first response information indicates that the terminal transmits the data to be transmitted based on the at least two first-type sub-connections that have been created.

[0044] In one embodiment, the method further includes:

[0045] Receive control information sent by the terminal, the control information including a sub-connection identifier and / or a control identifier;

[0046] The control server is determined based on the control information.

[0047] According to a third aspect of the present disclosure, a data transmission method is provided, the method being executed by a control server, the method comprising:

[0048] Using at least two second-type sub-connections created between the front-end server and the control server, the transmission of data to be transmitted between the front-end server and the control server is performed synchronously;

[0049] The transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the second type of sub-connection; the transmission delay of the data to be transmitted is less than a delay threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold.

[0050] According to a fourth aspect of the present disclosure, a data transmission apparatus is provided, the apparatus comprising:

[0051] The first creation module is configured to: in response to the transmission requirement of transmitting data to be transmitted, create at least two first type sub-connections between the terminal and the front-end server based on a predetermined protocol, wherein the transmission delay of the data to be transmitted is less than a delay threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold.

[0052] The first execution module is configured to: synchronously execute the transmission of the data to be transmitted between the terminal and the front-end server on at least two first-type sub-connections; wherein the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; and the data to be transmitted is copied to the first-type sub-connection.

[0053] According to a fifth aspect of the present disclosure, a data transmission apparatus is provided, the apparatus comprising:

[0054] The second creation module is configured to: in response to completing the creation of at least two first-type sub-connections between the terminal and the front-end server, create a second-type sub-connection between the front-end server and the control server based on a predetermined protocol, which corresponds one-to-one with the first-type sub-connections, wherein the first-type sub-connections and the second-type sub-connections constitute the main connection between the terminal and the control server;

[0055] The second execution module is configured to: synchronously execute the transmission of data to be transmitted between the front-end server and the terminal on at least two first-type sub-connections; and synchronously execute the transmission of data to be transmitted between the front-end server and the control server on at least two second-type sub-connections; wherein the transmission of data to be transmitted includes sending and / or receiving data to be transmitted; the data to be transmitted is copied to the main connection; the front-end server is used for forwarding data to be transmitted on the first-type connection and the corresponding second-type connection; the transmission delay of the data to be transmitted is less than a delay threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold.

[0056] According to a sixth aspect of the present disclosure, a data transmission apparatus is provided, the apparatus comprising:

[0057] The third execution module is configured to: synchronously execute the transmission of data to be transmitted between the front-end server and the control server using at least two second-type sub-connections created between the front-end server and the control server;

[0058] The transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the second type of sub-connection; the transmission delay of the data to be transmitted is less than a delay threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold.

[0059] According to a seventh aspect of the present disclosure, a processing apparatus is provided, the processing apparatus comprising:

[0060] Memory, used to store executable programs;

[0061] When executing an executable program stored in the memory, the processor implements the method as described in any of the embodiments of this disclosure.

[0062] According to an eighth aspect of the present disclosure, a computer storage medium is provided that stores an executable program, which, when executed by a processor, implements the method described in any of the embodiments of the present disclosure.

[0063] In this embodiment of the disclosure, in response to the transmission requirement of the data to be transmitted, at least two first-type sub-connections are created between the terminal and the front-end server based on a predetermined protocol. The transmission latency of the data to be transmitted is less than a latency threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold. The transmission of the data to be transmitted between the terminal and the front-end server is synchronously performed on the at least two first-type sub-connections. The transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted. The data to be transmitted is copied to the first-type sub-connections. Here, since the transmission of the data to be transmitted between the terminal and the front-end server is performed synchronously, and the data to be transmitted on different first-type sub-connections is based on a copy of the data to be transmitted, synchronous transmission of data based on the copy of the data to be transmitted on different first-type sub-connections can, on the one hand, reduce the unreliable data transmission caused by data loss, and on the other hand, ensure that the data can reach the front-end server in a timely manner, reducing data transmission latency caused by retransmissions. Attached Figure Description

[0064] Figure 1 This is a flowchart illustrating a data transmission method according to an exemplary embodiment.

[0065] Figure 2 This is a flowchart illustrating a data transmission method according to an exemplary embodiment.

[0066] Figure 3 This is a flowchart illustrating a data transmission method according to an exemplary embodiment.

[0067] Figure 4 This is a flowchart illustrating a data transmission method according to an exemplary embodiment.

[0068] Figure 5 This is a flowchart illustrating a data transmission method according to an exemplary embodiment.

[0069] Figure 6 This is a schematic diagram of a data transmission apparatus according to an exemplary embodiment.

[0070] Figure 7 This is a schematic diagram of a data transmission apparatus according to an exemplary embodiment.

[0071] Figure 8 This is a schematic diagram of a data transmission apparatus according to an exemplary embodiment. Detailed Implementation

[0072] To make the objectives, technical solutions, and advantages of the present invention clearer, the present invention will be further described in detail below with reference to the accompanying drawings. The described embodiments should not be regarded as limitations on the present invention. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0073] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.

[0074] In the following description, the terms "first, second, third" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first, second, third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of the invention described herein can be implemented in an order other than that illustrated or described herein.

[0075] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. The terminology used herein is for the purpose of describing embodiments of the invention only and is not intended to limit the invention.

[0076] To better understand the embodiments of this disclosure, the following exemplary embodiments illustrate scenarios in the related art:

[0077] In one embodiment, data transmission between multiple nodes can be based on the multi-path transmission control protocol (mpTCP). However, the mpTCP-based mechanism is inflexible, places high demands on both the client operating system and the server-side maintenance, and cannot be implemented in environments such as web applications.

[0078] like Figure 1 As shown, this embodiment of the disclosure provides a data transmission method, which is executed by a terminal, and the method includes:

[0079] Step S11: In response to the transmission requirement of the data to be transmitted, at least two first-type sub-connections are created between the terminal and the front-end server based on a predetermined protocol, wherein the transmission delay of the data to be transmitted is less than a delay threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold.

[0080] Step S12: On the at least two first-type sub-connections, synchronously execute the transmission of the data to be transmitted between the terminal and the front-end server; wherein, the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the first-type sub-connection.

[0081] The terminal in this disclosure may be an electronic device, including but not limited to computers, mobile phones, wearable devices, vehicle terminals, roadside units (RSUs), smart home terminals, industrial sensing devices, and / or medical devices. The server in this disclosure may be a server.

[0082] It should be noted that the terms "subconnection," "sublink," and "subflow" in this disclosure are interchangeable. In some scenarios, "subconnection" can be understood as "virtual connection."

[0083] In one embodiment, each sub-connection may be configured with a corresponding sub-connection identifier (ID, Identifier).

[0084] In one embodiment, a buffer for input / output data storage can be set up for each sub-connection.

[0085] In one embodiment, the data transmitted on each sub-connection can be assigned a sequence number (seq).

[0086] In one embodiment, a token can be set for each sub-connection. The token can be a static plaintext token or an encrypted token negotiated between the communicating parties (e.g., the terminal and the server).

[0087] In one embodiment, for each data transmitted on a sub-connection, the time when the data was received and / or the receiving sequence number can be recorded.

[0088] In one embodiment, the data to be transmitted may be copied to all available subconnections for transmission.

[0089] In one embodiment, the predetermined protocol includes one of the following: WebSocket (an application layer protocol), Transmission Control Protocol (TCP), and QUIC (a general, secure, and multiplexed new type of transport layer network protocol).

[0090] In one embodiment, in response to the transmission requirement of data to be transmitted, at least two first-type sub-connections are created between the terminal and the front-end server based on a predetermined protocol. The transmission latency of the data to be transmitted is less than a latency threshold, the traffic corresponding to the data to be transmitted is less than a traffic threshold, and / or the importance level of the data to be transmitted is greater than or equal to an importance level threshold. The predetermined protocol may be a protocol for secure connection creation. On the at least two first-type sub-connections, the transmission of the data to be transmitted between the terminal and the front-end server is performed synchronously; wherein, the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the first-type sub-connections. Here, the at least two first-type sub-connections may include a first sub-connection and a second sub-connection.

[0091] In one embodiment, in response to the transmission requirement of data to be transmitted, at least two first-type sub-connections are created between the terminal and the front-end server based on a predetermined protocol, wherein the transmission latency of the data to be transmitted is less than a latency threshold, the traffic corresponding to the data to be transmitted is less than a traffic threshold, and / or the importance level of the data to be transmitted is greater than or equal to an importance level threshold. The data to be transmitted is copied to the first-type sub-connections. The transmission of the data to be transmitted between the terminal and the front-end server is synchronously performed on the at least two first-type sub-connections; wherein the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted.

[0092] In one embodiment, in response to the transmission requirement of data to be transmitted, a first request message is sent to the front-end server. The first request message is used to request the creation of a first type of sub-connection with the front-end server. The terminal interacts with the front-end server based on the predetermined protocol to jointly create at least two first type of sub-connections. The terminal receives a first response message from the front-end server, which instructs the terminal to transmit the data to be transmitted based on the created at least two first type of sub-connections. The transmission latency of the data to be transmitted is less than a latency threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold. The transmission of the data to be transmitted between the terminal and the front-end server is synchronously performed on the at least two first type of sub-connections. The transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted. The data to be transmitted is copied to the first type of sub-connection.

[0093] In one embodiment, the first request information includes: the sub-connection identifier of the requested sub-connection.

[0094] In one embodiment, the first request information includes: a sub-connection identifier of the requested sub-connection, and at least one of authentication information and token negotiation information.

[0095] In one embodiment, the first response information includes the sub-connection identifier of the created sub-connection.

[0096] In one embodiment, the first response information includes a subconnection identifier of the created subconnection, and at least one of a controller identifier, a token, a list of frontend servers, and a number of connections that can be established.

[0097] In one embodiment, in response to the transmission request of data to be transmitted, a first sub-connection is created and its creation is confirmed. After the first sub-connection is created, a second sub-connection is created based on the predetermined protocol. The transmission latency of the data to be transmitted is less than a latency threshold, the traffic corresponding to the data to be transmitted is less than a traffic threshold, and / or the importance level of the data to be transmitted is greater than or equal to an importance level threshold. On both the first and second sub-connections, the transmission of the data to be transmitted between the terminal and the front-end server is performed synchronously. The transmission of the data to be transmitted includes sending and / or receiving the data. The data to be transmitted is copied to both the first and second sub-connections.

[0098] In one embodiment, in response to the transmission request of data to be transmitted, a first sub-connection and a second sub-connection are created. If, after the creation of the first and second sub-connections, it is determined that one of the sub-connections is in a fault state, the faulty sub-connection is closed, and a third sub-connection is created based on the predetermined protocol. The transmission latency of the data to be transmitted is less than a latency threshold, the traffic corresponding to the data to be transmitted is less than a traffic threshold, and / or the importance level of the data to be transmitted is greater than or equal to an importance level threshold. On the sub-connections and the third sub-connection that are not in a fault state, the transmission of the data to be transmitted between the terminal and the front-end server is performed synchronously. The transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted. The data to be transmitted is copied to the sub-connections and the third sub-connection that are not in a fault state.

[0099] In one embodiment, in response to the transmission request of data to be transmitted, a first sub-connection and a second sub-connection are created, and it is determined that the first sub-connection and the second sub-connection have been created. After the first sub-connection and the second sub-connection are created, it is determined that the first sub-connection is in a fault state, the first sub-connection is closed, and a third sub-connection is created based on the predetermined protocol. The transmission delay of the data to be transmitted is less than a delay threshold, the traffic corresponding to the data to be transmitted is less than a traffic threshold, and / or the importance level of the data to be transmitted is greater than or equal to an importance level threshold. On the second sub-connection and the third sub-connection, the transmission of the data to be transmitted between the terminal and the front-end server is performed synchronously. The transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted. The data to be transmitted is copied to the second sub-connection and the third sub-connection.

[0100] In one embodiment, in response to the transmission request of data to be transmitted, a first sub-connection and a second sub-connection are created, and it is determined that the first and second sub-connections have been created. After the first and second sub-connections are created, it is determined that the second sub-connection is in a fault state, and the second sub-connection is closed. A third sub-connection is then created based on the predetermined protocol. The transmission latency of the data to be transmitted is less than a latency threshold, the traffic corresponding to the data to be transmitted is less than a traffic threshold, and / or the importance level of the data to be transmitted is greater than or equal to an importance level threshold. The transmission of the data to be transmitted between the terminal and the front-end server is synchronously performed on the first and third sub-connections. The transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted. The data to be transmitted is copied to the first and third sub-connections.

[0101] In one embodiment, in response to the transmission requirement of data to be transmitted, a front-end server is determined to provide services to the at least two first-type sub-connections based on the application scenario and a front-end server list indicated by predetermined configuration information. At least two first-type sub-connections are created between the terminal and the front-end server based on a predetermined protocol, wherein the transmission latency of the data to be transmitted is less than a latency threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold; the transmission of the data to be transmitted between the terminal and the front-end server is synchronously performed on the at least two first-type sub-connections; wherein the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the first-type sub-connections.

[0102] In one embodiment, in response to the transmission request of data to be transmitted, a front-end server is determined to provide services to the at least two first-type sub-connections based on the application scenario and a list of front-end servers indicated by the previously received historical first response information. At least two first-type sub-connections are created between the terminal and the front-end server based on a predetermined protocol, wherein the transmission latency of the data to be transmitted is less than a latency threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold; the transmission of the data to be transmitted between the terminal and the front-end server is synchronously performed on the at least two first-type sub-connections; wherein the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the first-type sub-connections.

[0103] In one embodiment, in response to the transmission requirement of data to be transmitted, at least two first-type sub-connections are created between the terminal and the front-end server based on a predetermined protocol, wherein the transmission latency of the data to be transmitted is less than a latency threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold. On the at least two first-type sub-connections, the transmission of the data to be transmitted between the terminal and the front-end server is performed synchronously; wherein the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the first-type sub-connections. The maximum reception sequence number and reception time of the data on the at least two first-type sub-connections are determined. Based on the maximum reception sequence number and the reception time, it is determined whether to delete a target sub-connection; wherein the target sub-connection is a sub-connection among the at least two first-type sub-connections.

[0104] In one embodiment, in response to the transmission requirement of data to be transmitted, at least two first-type sub-connections are created between the terminal and the front-end server based on a predetermined protocol, wherein the transmission latency of the data to be transmitted is less than a latency threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold. On the at least two first-type sub-connections, the transmission of the data to be transmitted between the terminal and the front-end server is performed synchronously; wherein the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the first-type sub-connections. The maximum reception sequence number and reception time of the data on the at least two first-type sub-connections are determined; wherein the at least two first-type sub-connections include the first sub-connection and the second sub-connection. Based on the maximum reception sequence number and the reception time, it is determined whether to delete a target sub-connection; wherein the target sub-connection is either the first sub-connection or the second sub-connection.

[0105] In one embodiment, in response to the transmission requirement of data to be transmitted, at least two first-type sub-connections are created between the terminal and the front-end server based on a predetermined protocol, wherein the transmission latency of the data to be transmitted is less than a latency threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold. On the at least two first-type sub-connections, the transmission of the data to be transmitted between the terminal and the front-end server is performed synchronously; wherein the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the first-type sub-connection. The maximum reception sequence number and reception time of the data on the at least two first-type sub-connections are determined; wherein the at least two first-type sub-connections include the first sub-connection and the second sub-connection. In response to the maximum reception sequence number of the data on the target sub-connection being less than the maximum reception sequence number of the data on the at least two first-type sub-connections, and the offset between the reception time of the target sub-connection and the reception time of other sub-connections in the at least two first-type sub-connections being greater than a predetermined time threshold, the target sub-connection is determined to be deleted; wherein the target sub-connection is either the first sub-connection or the second sub-connection. In one embodiment, after deleting the target sub-connection, a third sub-connection may be created.

[0106] In one embodiment, in response to the transmission requirement of data to be transmitted, at least two first-type sub-connections are created between the terminal and the front-end server based on a predetermined protocol, wherein the transmission latency of the data to be transmitted is less than a latency threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold. On the at least two first-type sub-connections, the transmission of the data to be transmitted between the terminal and the front-end server is performed synchronously; wherein the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the first-type sub-connections. The data to be transmitted is detected; in response to the failure to detect the data to be transmitted on any first-type sub-connection, it is determined that the first-type sub-connection is in a fault state.

[0107] In one embodiment, in response to the transmission requirement of data to be transmitted, at least two first-type sub-connections are created between the terminal and the front-end server based on a predetermined protocol, wherein the transmission latency of the data to be transmitted is less than a latency threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold. On the at least two first-type sub-connections, the transmission of the data to be transmitted between the terminal and the front-end server is performed synchronously; wherein the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the first-type sub-connections. The data to be transmitted is detected; in response to the absence of the data to be transmitted on all first-type sub-connections, all first-type sub-connections are closed and at least two first-type sub-connections are recreated.

[0108] In one embodiment, in response to the transmission requirement of data to be transmitted, at least two first-type sub-connections are created between the terminal and the front-end server based on a predetermined protocol, wherein the transmission latency of the data to be transmitted is less than a latency threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold. On the at least two first-type sub-connections, the transmission of the data to be transmitted between the terminal and the front-end server is performed synchronously; wherein the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the first-type sub-connections. The data to be transmitted is detected; in response to the failure to detect the data to be transmitted on any first-type sub-connection within a predetermined time period, all first-type sub-connections are closed.

[0109] In one embodiment, in response to the transmission requirement of data to be transmitted, at least two first-type sub-connections are created between the terminal and the front-end server based on a predetermined protocol, wherein the transmission latency of the data to be transmitted is less than a latency threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold. On the at least two first-type sub-connections, the transmission of the data to be transmitted between the terminal and the front-end server is performed synchronously; wherein the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the first-type sub-connections. In response to receiving the data to be transmitted on the first sub-connection of the at least two first-type sub-connections, the data to be transmitted received on a second sub-connection other than the first sub-connection of the at least two first-type sub-connections is discarded.

[0110] In one embodiment, in response to the transmission requirement of data to be transmitted, at least two first-type sub-connections are created between the terminal and the front-end server based on a predetermined protocol, wherein the transmission latency of the data to be transmitted is less than a latency threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold. On the at least two first-type sub-connections, the transmission of the data to be transmitted between the terminal and the front-end server is performed synchronously; wherein the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the first-type sub-connections. In response to the first receipt of the data to be transmitted, the maximum reception sequence number of the data corresponding to the first-type sub-connection receiving the data is incremented.

[0111] In this embodiment of the disclosure, in response to the transmission requirement of the data to be transmitted, at least two first-type sub-connections are created between the terminal and the front-end server based on a predetermined protocol. The transmission latency of the data to be transmitted is less than a latency threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold. The transmission of the data to be transmitted between the terminal and the front-end server is synchronously performed on the at least two first-type sub-connections. The transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted. The data to be transmitted is copied to the first-type sub-connections. Here, since the transmission of the data to be transmitted between the terminal and the front-end server is performed synchronously, and the data to be transmitted on different first-type sub-connections is based on a copy of the data to be transmitted, synchronous transmission of data based on the copy of the data to be transmitted on different first-type sub-connections can, on the one hand, reduce the unreliable data transmission caused by data loss, and on the other hand, ensure that the data can reach the front-end server in a timely manner, reducing data transmission latency caused by retransmissions.

[0112] It should be noted that those skilled in the art will understand that the methods provided in the embodiments of this disclosure can be executed alone or together with some methods in the embodiments of this disclosure or some methods in related technologies.

[0113] like Figure 2 As shown, this embodiment of the disclosure provides a data transmission method, which is executed by a terminal, and the method includes:

[0114] Step S21: Send a first request message to the front-end server, the first request message being used to request the creation of a first type sub-connection with the front-end server;

[0115] Step S22: Interact with the front-end server based on the predetermined protocol to jointly create at least two first-type sub-connections;

[0116] Step S23: Receive the first response information sent by the front-end server, wherein the first response information instructs the terminal to transmit the data to be transmitted based on the at least two first-type sub-connections that have been created.

[0117] In one embodiment, a first request message is sent to the front-end server, the first request message being used to request the creation of a first type sub-connection with the front-end server; in response to the terminal authenticating its identity through the front-end server, the terminal interacts with the front-end server based on the predetermined protocol to jointly create at least two first type sub-connections; and a first response message is received from the front-end server, the first response message instructing the terminal to transmit the data to be transmitted based on the created at least two first type sub-connections.

[0118] It should be noted that those skilled in the art will understand that the methods provided in the embodiments of this disclosure can be executed alone or together with some methods in the embodiments of this disclosure or some methods in related technologies.

[0119] like Figure 3 As shown, this embodiment of the disclosure provides a data transmission method, which is executed by a front-end server. The method includes:

[0120] Step S31: In response to the completion of creating at least two first-type sub-connections between the terminal and the front-end server, create a second-type sub-connection between the front-end server and the control server based on a predetermined protocol, which corresponds one-to-one with the first-type sub-connections. The first-type sub-connections and the second-type sub-connections constitute the main connection between the terminal and the control server.

[0121] Step S32: On at least two first-type sub-connections, synchronously execute the transmission of data to be transmitted between the front-end server and the terminal; on at least two second-type sub-connections, synchronously execute the transmission of data to be transmitted between the front-end server and the control server; wherein, the transmission of data to be transmitted includes sending and / or receiving data to be transmitted; the data to be transmitted is copied to the main connection; the front-end server is used for forwarding data to be transmitted on the first-type connection and the corresponding second-type connection; the transmission delay of the data to be transmitted is less than a delay threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold.

[0122] The terminal in this disclosure may be an electronic device, including but not limited to computers, mobile phones, wearable devices, vehicle terminals, roadside units (RSUs), smart home terminals, industrial sensing devices, and / or medical devices. The server in this disclosure may be a server.

[0123] In this disclosure, the server responsible for managing all sub-connections on a single connection and deduplicated and merged the data from the sub-connections is referred to as the "control server." The user-facing server is referred to as the "front-end server" or simply the "server." The control server and the front-end server can establish a connection to enable interaction, and control data and / or user data transmitted by the front-end server can be transmitted to the control server.

[0124] In one embodiment, the predetermined protocol includes one of the following: WebSocket (a stateless, connectionless, unidirectional application layer protocol), Transmission Control Protocol (TCP), and QUIC (a general, secure, multiplexed new type of transport layer network protocol).

[0125] In one embodiment, in response to the completion of creating at least two first-type sub-connections between the terminal and the front-end server, an interaction is performed with the control server based on a predetermined protocol to jointly create second-type sub-connections between the front-end server and the control server, each corresponding to one of the first-type sub-connections. The first-type sub-connections and the second-type sub-connections constitute the main connection between the terminal and the control server. Data to be transmitted is copied to the main connection. On the at least two first-type sub-connections, the transmission of data to be transmitted between the front-end server and the terminal is performed synchronously; on the at least two second-type sub-connections, the transmission of data to be transmitted between the front-end server and the control server is performed synchronously. The transmission of data to be transmitted includes sending and / or receiving data to be transmitted. The front-end server is used for forwarding data to be transmitted on the first-type connection and the corresponding second-type connection. The transmission latency of the data to be transmitted is less than a latency threshold, the traffic corresponding to the data to be transmitted is less than a traffic threshold, and / or the importance level of the data to be transmitted is greater than or equal to an importance level threshold.

[0126] In one embodiment, in response to the completion of creating at least two first-type sub-connections between the terminal and the front-end server, an interaction is performed with the control server based on a predetermined protocol to jointly create second-type sub-connections between the front-end server and the control server, each corresponding to one of the first-type sub-connections. The first-type sub-connections and the second-type sub-connections constitute the main connection between the terminal and the control server. Data to be transmitted is copied to the main connection. On the at least two first-type sub-connections, the transmission of data to be transmitted between the front-end server and the terminal is performed synchronously; on the at least two second-type sub-connections, the transmission of data to be transmitted between the front-end server and the control server is performed synchronously. The transmission of data to be transmitted includes sending and / or receiving data to be transmitted. The front-end server is used for forwarding data to be transmitted on the first-type connection and the corresponding second-type connection. The transmission latency of the data to be transmitted is less than a latency threshold, the traffic corresponding to the data to be transmitted is less than a traffic threshold, and / or the importance level of the data to be transmitted is greater than or equal to an importance level threshold. In response to receiving a first request message sent by the terminal, determine whether the first type of sub-connection requested by the first request message is valid; and / or, in response to receiving a first request message sent by the terminal, determine the number of first type of sub-connections that can be established; and / or, in response to receiving a first request message sent by the terminal, delete the first type of sub-connections that are identified as duplicates.

[0127] In one embodiment, the first request information includes: the sub-connection identifier of the requested sub-connection.

[0128] In one embodiment, the first request information includes: a sub-connection identifier of the requested sub-connection, and at least one of authentication information and token negotiation information.

[0129] In one embodiment, the first response information includes the sub-connection identifier of the created sub-connection.

[0130] In one embodiment, the first response information includes a subconnection identifier of the created subconnection, and at least one of a controller identifier, a token, a list of frontend servers, and a number of connections that can be established.

[0131] It should be noted that before creating a sub-connection, the front-end server will perform authentication of the terminal and / or the sub-connection. The information required for authentication may be authentication information and / or token negotiation information included in the first request information.

[0132] In one embodiment, in response to the completion of creating at least two first-type sub-connections between the terminal and the front-end server, an interaction is performed with the control server based on a predetermined protocol to jointly create second-type sub-connections between the front-end server and the control server, each corresponding to one of the first-type sub-connections. The first-type sub-connections and the second-type sub-connections constitute the main connection between the terminal and the control server. Data to be transmitted is copied to the main connection. In response to determining that the requested creation of the first-type sub-connections is valid and that at least two first-type sub-connections have been created, a first response information is sent to the terminal; wherein, the first response information is used by the terminal to transmit data to be transmitted based on the created at least two first-type sub-connections. On at least two first-type sub-connections, the transmission of data to be transmitted between the front-end server and the terminal is performed synchronously; on at least two second-type sub-connections, the transmission of data to be transmitted between the front-end server and the control server is performed synchronously; wherein, the transmission of data to be transmitted includes sending and / or receiving data to be transmitted; the front-end server is used for forwarding data to be transmitted on the first-type connection and the corresponding second-type connection; the transmission delay of the data to be transmitted is less than a delay threshold, the traffic corresponding to the data to be transmitted is less than a traffic threshold, and / or the importance level of the data to be transmitted is greater than or equal to an importance level threshold.

[0133] In one embodiment, control information sent by the terminal is received, the control information including a sub-connection identifier and / or a control identifier. Based on the control information, the control server is determined. In response to the completion of creating at least two first-type sub-connections between the terminal and the front-end server, interaction is performed with the control server based on a predetermined protocol to jointly create a second-type sub-connection between the front-end server and the control server, corresponding one-to-one with the first-type sub-connections. The first-type sub-connections and the second-type sub-connections constitute the main connection between the terminal and the control server. Data to be transmitted is copied to the main connection. On at least two first-type sub-connections, the transmission of data to be transmitted between the front-end server and the terminal is performed synchronously; on at least two second-type sub-connections, the transmission of data to be transmitted between the front-end server and the control server is performed synchronously; wherein, the transmission of data to be transmitted includes sending and / or receiving data to be transmitted; the front-end server is used for forwarding data to be transmitted on the first-type connection and the corresponding second-type connection; the transmission delay of the data to be transmitted is less than a delay threshold, the traffic corresponding to the data to be transmitted is less than a traffic threshold, and / or the importance level of the data to be transmitted is greater than or equal to an importance level threshold.

[0134] In one embodiment, for each first type of sub-connection, a corresponding second type of sub-connection is created. The creation of the second type of sub-connection is initiated by the front-end server and connects to the control server where the main connection resides. The second type of sub-connection can use the same or different protocols as the corresponding first type of sub-connection. The front-end server forwards the data transmitted on the first type of sub-connection to the corresponding second type of sub-connection, and vice versa. The control server copies the data to be transmitted to the second type of sub-connection, and then the front-end server forwards it to the corresponding first type of sub-connection.

[0135] In one embodiment, in response to the front-end server determining that at least two first-type sub-connections have been created, the second request information sent by the terminal is parsed; wherein the second request information includes control information, which can be parsed to obtain the control server corresponding to the main connection to which the first-type sub-connection belongs; the front-end server creates a second-type sub-connection corresponding to the first-type sub-connection, wherein the second-type sub-connection is initiated by the front-end server and connects to the control server parsed from the aforementioned control information.

[0136] In one embodiment, when the requested sub-connection is valid, a sub-connection with the control server is established based on the connection identifier and / or controller identifier in the sub-connection, and the sub-connection data is forwarded to the control server. The front-end server and the final server can be deployed centrally or distributed, and can transmit data via a private intranet line or a Virtual Private Network (VPN), or directly over the public internet.

[0137] In one embodiment, a sub-connection is disconnected according to the instructions of the final server, and if the sub-connection is disconnected voluntarily, the control server can be notified.

[0138] It should be noted that those skilled in the art will understand that the methods provided in the embodiments of this disclosure can be executed alone or together with some methods in the embodiments of this disclosure or some methods in related technologies.

[0139] like Figure 4 As shown, this embodiment of the disclosure provides a data transmission method, which is executed by a front-end server. The method includes:

[0140] Step S41: In response to the completion of creating at least two first-type sub-connections between the terminal and the front-end server, interact with the control server based on a predetermined protocol to jointly create a second-type sub-connection between the front-end server and the control server that corresponds one-to-one with the first-type sub-connection. The first-type sub-connection and the second-type sub-connection constitute the main connection between the terminal and the control server.

[0141] Step S42: In response to determining that the first type of sub-connection requested for creation is valid and that at least two first type of sub-connections have been created, a first response information is sent to the terminal; wherein, the first response information is used by the terminal to transmit data to be transmitted based on the at least two first type of sub-connections that have been created;

[0142] Step S43: On at least two first-type sub-connections, synchronously execute the transmission of data to be transmitted between the front-end server and the terminal; on at least two second-type sub-connections, synchronously execute the transmission of data to be transmitted between the front-end server and the control server; wherein, the transmission of data to be transmitted includes sending and / or receiving data to be transmitted; the data to be transmitted is copied to the main connection; the front-end server is used for forwarding data to be transmitted on the first-type connection and the corresponding second-type connection; the transmission delay of the data to be transmitted is less than a delay threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold.

[0143] In one embodiment, in response to the creation of at least two first-type sub-connections between the terminal and the front-end server, an interaction is performed with the control server based on a predetermined protocol to jointly create a second-type sub-connection between the front-end server and the control server, corresponding one-to-one with the first-type sub-connections. The first-type sub-connections and the second-type sub-connections constitute the main connection between the terminal and the control server. Data to be transmitted is copied to the main connection. In response to determining that the at least two first-type sub-connections are valid and creating the at least two first-type sub-connections, a first response information is sent to the terminal; wherein, the first response information is used by the terminal to transmit data to be transmitted based on the created at least two first-type sub-connections. On at least two first-type sub-connections, the transmission of data to be transmitted between the front-end server and the terminal is performed synchronously; on at least two second-type sub-connections, the transmission of data to be transmitted between the front-end server and the control server is performed synchronously; wherein, the transmission of data to be transmitted includes sending and / or receiving data to be transmitted; the front-end server is used for forwarding data to be transmitted on the first-type connection and the corresponding second-type connection; the transmission delay of the data to be transmitted is less than a delay threshold, the traffic corresponding to the data to be transmitted is less than a traffic threshold, and / or the importance level of the data to be transmitted is greater than or equal to an importance level threshold.

[0144] It should be noted that those skilled in the art will understand that the methods provided in the embodiments of this disclosure can be executed alone or together with some methods in the embodiments of this disclosure or some methods in related technologies.

[0145] like Figure 5 As shown, this embodiment of the disclosure provides a data transmission method, which is executed by a control server, and the method includes:

[0146] Step S51: Copy the data to be transmitted to the second type of sub-connection between the created front-end server and the control server;

[0147] Step S52: Using at least two second-type sub-connections, synchronously execute the transmission of data to be transmitted between the front-end server and the control server; wherein, the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the second-type sub-connection; the transmission delay of the data to be transmitted is less than a delay threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold.

[0148] It should be noted that those skilled in the art will understand that the methods provided in the embodiments of this disclosure can be executed alone or together with some methods in the embodiments of this disclosure or some methods in related technologies.

[0149] To better understand the embodiments of this disclosure, the following exemplary embodiment will be used to further illustrate the embodiments of this disclosure:

[0150] This disclosure provides a data transmission method.

[0151] In one embodiment, the connection between the terminal and the server can be understood as a virtual connection.

[0152] In one embodiment, a virtual connection can consist of multiple sub-connections (subflows), each with its own identifier (subflow id). Each subflow is a reliable connection, such as a WebSocket, raw TCP, or QUIC-based connection. Data is sent synchronously multiple times across all subflows.

[0153] In one embodiment, each sub-connection is configured with input / output buffers, and each piece of data sent to the virtual connection has its own sequence number (seq), similar to TCP's seq and ack.

[0154] In one embodiment, each virtual connection has a connection identifier (conn id) and a token for verifying user identity. For example, this token can be a static plaintext token or an encrypted token negotiated between the terminal and the server.

[0155] In one embodiment, since the virtual connection is designed for low-volume, critical data, congestion control may not be required. Congestion control can be performed on sub-streams.

[0156] In one embodiment, a virtual connection can be controlled by a connection controller server on the server side. For example, each controller is configured with a controller ID to facilitate multi-site deployment and load balancing across data centers. For example, the server-side controller can validate the validity of sub-connections, limit the number of sub-connections, and remove sub-connections with duplicate IDs.

[0157] In one embodiment, on the user end, there exists a logical (software-implemented) controller for creating and maintaining substreams. In one embodiment, in addition to the parameters of the virtual connection itself, each substream has the last received data time and the last (received) sequence number.

[0158] In one embodiment, the process of creating a sub-flow may include:

[0159] Step a1: The user initiates a sub-stream using pre-configured information, which can carry necessary authentication information and token negotiation information.

[0160] Step a2: After the sub-stream arrives at the front server, the server randomly forwards the connection with the controller ID to an empty controller.

[0161] Step a3: After the controller verifies the validity:

[0162] 3.1 Return the connection ID and (current) controller ID for this connection;

[0163] 3.2 Negotiate or issue a token for this link;

[0164] 3.3. Issue a list of available front-end servers and a connection limit for this connection.

[0165] Step a4: The current subflow automatically changes to subflowid=0 and initializes the sequence number, etc., from which bidirectional communication can be performed.

[0166] In one embodiment, the process of creating or rebuilding more sub-streams includes:

[0167] Step b1: Initiated by the user when necessary, a typical strategy is listed:

[0168] 1.1 The second sub-stream is created immediately after the first sub-stream is initialized;

[0169] 1.2. When a sub-stream fails, the number of sub-streams will be increased to two.

[0170] 1.3 When both sub-streams fail, one is randomly shut down and a new one is created.

[0171] Step b2: Connect to one of the available front-end servers based on the returned or preset server list.

[0172] In one embodiment, a different front-end server than the previous sub-stream can be actively selected based on different scenarios;

[0173] In one embodiment, where conditions permit, v4 / v6 connections can be used interchangeably, or Wi-Fi and cellular connections can be used simultaneously to further improve availability;

[0174] Step b3: Carry the previously returned connection ID and controller ID;

[0175] Step b4: According to the aforementioned token strategy, carry the plaintext token or the ciphertext token;

[0176] Step b5: After receiving the connection, the front-end server forwards it to the corresponding controller based on the controller ID;

[0177] In one embodiment, the front-end server can perform a coarse check on the sub-stream to filter out obviously invalid sub-streams.

[0178] Step b6: After the controller verifies the validity, it returns a control message, and the sub-flow becomes effective;

[0179] Step b7: Return all unacknowledged data (with sequence number) in the send buffer;

[0180] Step b8: After successful creation, all sub-streams are equal.

[0181] In one embodiment, sending and receiving data can refer to the TCP data sending and receiving process, as exemplified below:

[0182] Step c1: For the data to be sent, add a sequence number (seq) and send it to all surviving substreams, and save it to the (send) buffer;

[0183] In one embodiment, if a substream can no longer be sent, it is closed. If the local end is a client, reconnection is performed according to a policy.

[0184] Step c2: After receiving the data, compare the sequence number with the maximum sequence number of the data that has been received.

[0185] In one embodiment, the maximum (received) sequence number of the substream is set.

[0186] In one embodiment, the latest reception time of the substream is set.

[0187] In one embodiment, send ack + maximum sequence number.

[0188] In one embodiment, data that has already been received is discarded.

[0189] In one embodiment, for data that has not yet been received, the maximum (received) sequence number of the virtual connection is incremented, and the data with the sequence number removed is returned to the application layer.

[0190] Step c3: After receiving the ACK, delete all acknowledged data from the send buffer.

[0191] In one embodiment, performing a health check and reconnection may include:

[0192] Step d1: 1. In general situations with intensive data transmission and reception, there is no need to perform active health checks. Just periodically check the maximum (received) sequence number and reception time of multiple sub-streams. If the maximum sequence number is less than the maximum sequence number of the virtual connection and the reception time is earlier than other sub-streams by a certain period of time (such as 3 seconds), this sub-stream is removed, the sub-stream is closed and rebuilt.

[0193] Step d2, 2. In cases where no data is received for a period of time (e.g., 5 seconds), actively send ping data on all sub-streams to detect the data reception time.

[0194] Step d3.3. If no response is received after a period of time following the ping:

[0195] 3.1 If a single substream fails to return, that substream is faulty; remove it and rebuild it.

[0196] 3.2 If none of the substreams return, randomly close one and create a new substream (there may be a NAT entry error).

[0197] 3.3. After a period of continuous failure (e.g., 60 seconds), the entire virtual connection becomes invalid, and a message is returned to the application layer that the connection has been closed.

[0198] In one embodiment, closing a virtual connection may include:

[0199] A four-way handshake mechanism similar to TCP is used to close virtual connections.

[0200] In the above example, the NAT entry error could be a typical case of an NAT entry error, such as a home broadband intranet using the IP address 192.168.88.24, with an original external IP address of 198.51.100.29. After a redial, the IP address becomes 198.51.100.30. However, the intranet IP address remains unchanged at 192.168.88.223. The client (corresponding to the terminal in this disclosure) continues to send packets, and the existing NAT entry is still SNAT-coded to the old IP address, resulting in it being discarded by the ISP. Simultaneously, the server's response packets also point to the old IP address, causing the client to fail to receive them. In this situation, any existing NAT entry may remain incorrect, while a newly established connection, because it goes through the NAT table once, can generate a correct entry.

[0201] It should be noted that those skilled in the art will understand that the methods provided in the embodiments of this disclosure can be executed alone or together with some methods in the embodiments of this disclosure or some methods in related technologies.

[0202] like Figure 6 As shown, this disclosure provides a data transmission device, the device comprising:

[0203] The first creation module 61 is configured to: in response to the transmission requirement of the data to be transmitted, create at least two first type sub-connections between the terminal and the front-end server based on a predetermined protocol, wherein the transmission delay of the data to be transmitted is less than a delay threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold.

[0204] The first execution module 62 is configured to: synchronously execute the transmission of the data to be transmitted between the terminal and the front-end server on at least two first-type sub-connections; wherein the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; and the data to be transmitted is copied to the first-type sub-connection.

[0205] It should be noted that those skilled in the art will understand that the methods provided in the embodiments of this disclosure can be executed alone or together with some methods in the embodiments of this disclosure or some methods in related technologies.

[0206] like Figure 7 As shown, this disclosure provides a data transmission device, the device comprising:

[0207] The second creation module 71 is configured to: in response to completing the creation of at least two first-type sub-connections between the terminal and the front-end server, create a second-type sub-connection between the front-end server and the control server based on a predetermined protocol, which corresponds one-to-one with the first-type sub-connections, wherein the first-type sub-connections and the second-type sub-connections constitute the main connection between the terminal and the control server;

[0208] The second execution module 72 is configured to: synchronously execute the transmission of data to be transmitted between the front-end server and the terminal on at least two first-type sub-connections; and synchronously execute the transmission of data to be transmitted between the front-end server and the control server on at least two second-type sub-connections; wherein the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the main connection; the front-end server is used for forwarding the data to be transmitted on the first-type connection and the corresponding second-type connection; the transmission delay of the data to be transmitted is less than a delay threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold.

[0209] It should be noted that those skilled in the art will understand that the methods provided in the embodiments of this disclosure can be executed alone or together with some methods in the embodiments of this disclosure or some methods in related technologies.

[0210] like Figure 8 As shown, this disclosure provides a data transmission device, the device comprising:

[0211] The third execution module 81 is configured to: synchronously execute the transmission of data to be transmitted between the front-end server and the control server using at least two second-type sub-connections created between the front-end server and the control server;

[0212] The transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the second type of sub-connection; the transmission delay of the data to be transmitted is less than a delay threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold.

[0213] It should be noted that those skilled in the art will understand that the methods provided in the embodiments of this disclosure can be executed alone or together with some methods in the embodiments of this disclosure or some methods in related technologies.

[0214] This disclosure provides a processing apparatus, the processing apparatus comprising:

[0215] Memory, used to store executable programs;

[0216] When executing an executable program stored in the memory, the processor implements the method as described in any of the embodiments of this disclosure.

[0217] It is understood that memory can be volatile or non-volatile, or both. Non-volatile memory can be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), ferromagnetic random access memory (FRAM), flash memory, magnetic surface memory, optical disc, or compact disc read-only memory (CD-ROM); magnetic surface memory can be disk storage or magnetic tape storage. Volatile memory can be random access memory (RAM), which is used as an external cache. By way of example, but not limitation, many forms of RAM are available, such as Static Random Access Memory (SRAM), Synchronous Static Random Access Memory (SSRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data Rate Synchronous Dynamic Random Access Memory (DDRSDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), SyncLink Dynamic Random Access Memory (SLDRAM), and Direct Rambus Random Access Memory (DRRAM).The memories described in the embodiments of this application are intended to include, but are not limited to, these and any other suitable types of memories.

[0218] The method disclosed in this invention can be applied to or implemented by the processor. The processor can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the speech conversion method can be completed by integrated logic circuits in the processor's hardware or by software instructions. The processor can be a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The processor can implement or execute the methods, steps, and logic block diagrams disclosed in this invention. A general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this invention can be directly manifested as execution by a hardware decoding processor, or execution by a combination of hardware and software modules in the decoding processor. The software modules can be located in a storage medium, specifically a memory. The processor reads information from the memory and, in conjunction with its hardware, completes the steps of the speech conversion method provided in this application.

[0219] The present invention also provides a computer storage medium storing an executable program, which, when executed by a processor, implements the method described in any of the embodiments of this disclosure. Specifically, it may be a computer-readable storage medium, such as a memory including a computer program, which can be executed by a processor of a processing device to complete the steps described in the embodiments of this application. The computer-readable storage medium may be a ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM, etc.

[0220] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in the present invention should be included within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims

1. A data transmission method, characterized by, The method is executed by a terminal, and the method includes: In response to the transmission requirement of the data to be transmitted, at least two first-type sub-connections are created between the terminal and the front-end server based on a predetermined protocol, wherein the transmission delay of the data to be transmitted is less than a delay threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold. On at least two first-type sub-connections, the transmission of the data to be transmitted between the terminal and the front-end server is performed synchronously; wherein, the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the first-type sub-connection; The method further includes: determining the maximum received sequence number and received time of data on the at least two first-type sub-connections; determining whether to delete a target sub-connection based on the maximum received sequence number and the received time; wherein the target sub-connection is any one of the at least two first-type sub-connections; and the offset between the received time of the target sub-connection and the received time of other sub-connections in the at least two first-type sub-connections is greater than a predetermined time threshold. In response to the front-end server completing the creation of the second type of sub-connection between the front-end server and the control server, it is determined that the first type of sub-connection and the second type of sub-connection constitute the main connection between the terminal and the control server; the first type of sub-connection and the second type of sub-connection correspond one-to-one.

2. The method according to claim 1, characterized in that, The creation of at least two first-type sub-connections between the terminal and the front-end server based on a predetermined protocol includes: Send a first request message to the front-end server, the first request message being used to request the creation of a first type of sub-connection with the front-end server; Based on the predetermined protocol, the two parties interact with the front-end server to jointly create at least two first-type sub-connections; The terminal receives a first response message sent by the front-end server, the first response message instructing the terminal to transmit the data to be transmitted based on the at least two first-type sub-connections that have been created.

3. The method according to claim 2, characterized in that, The first request information includes: a sub-connection identifier of the requested sub-connection, and at least one of authentication information and token negotiation information; and / or, the first response information includes a sub-connection identifier of the created sub-connection, and at least one of controller identifier, token, frontend server list, and number of connections that can be established.

4. The method according to claim 2, characterized in that, The at least two first-type sub-connections include at least two of the first sub-connection, the second sub-connection, and the third sub-connection; The creation of at least two first-type sub-connections between the terminal and the front-end server includes one of the following: In response to the creation of the first sub-connection, a second sub-connection is created based on the predetermined protocol after the first sub-connection is created; In response to the creation of a first sub-connection and a second sub-connection, and if it is determined that one of the sub-connections is in a faulty state after the first sub-connection and the second sub-connection are created, the faulty sub-connection is closed, and a third sub-connection is created based on the predetermined protocol.

5. The method according to claim 2, characterized in that, The method further includes: Based on the application scenario and the list of front-end servers indicated by the pre-defined configuration information, determine the front-end server that provides services to the at least two first-type sub-connections; or, Based on the application scenario and the list of front-end servers indicated by the previously received historical first response information, the front-end server that provides services to the at least two first type sub-connections is determined.

6. The method according to claim 5, characterized in that, The step of determining whether to delete the target sub-connection based on the maximum received sequence number and the received time includes: In response to the fact that the maximum received sequence number of data on the target sub-connection is less than the maximum received sequence number of data on the at least two first-type sub-connections, and the offset between the received time of the target sub-connection and the received time of other sub-connections in the at least two first-type sub-connections is greater than a predetermined time threshold, it is determined to delete the target sub-connection.

7. The method according to claim 1, characterized in that, The method further includes: Detect the data to be transmitted; in response to the failure to detect the data to be transmitted on any first type of sub-connection, determine that the first type of sub-connection is in a fault state; or, Detect the data to be transmitted; in response to the fact that the data to be transmitted is not detected on all first-type sub-connections, close all first-type sub-connections and recreate at least two first-type sub-connections; or, Detect the data to be transmitted; if the data to be transmitted is not detected on any first type sub-connection within a predetermined time period, close all first type sub-connections.

8. The method according to any one of claims 1 to 7, characterized in that, The method further includes: In response to receiving the data to be transmitted on the first sub-connection of the at least two first-type sub-connections, the data to be transmitted received on other sub-connections besides the first sub-connection of the at least two first-type sub-connections is discarded; or, In response to the first receipt of the data to be transmitted, the maximum receive sequence number of the data corresponding to the first type of sub-connection that received the data to be transmitted is increased.

9. A data transmission method, characterized in that, The method is executed by the front-end server, and the method includes: In response to the completion of creating at least two first-type sub-connections between the terminal and the front-end server, a second-type sub-connection corresponding one-to-one with the first-type sub-connection is created between the front-end server and the control server based on a predetermined protocol. The first-type sub-connection and the second-type sub-connection constitute the main connection between the terminal and the control server. On at least two first-type sub-connections, the transmission of data to be transmitted between the front-end server and the terminal is performed synchronously; on at least two second-type sub-connections, the transmission of data to be transmitted between the front-end server and the control server is performed synchronously; wherein, the transmission of data to be transmitted includes sending and / or receiving data to be transmitted; the data to be transmitted is copied to the main connection; the front-end server is used for forwarding data to be transmitted on the first-type sub-connections and the corresponding second-type sub-connections; the transmission delay of the data to be transmitted is less than a delay threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold; The step of synchronously transmitting the data to be transmitted between the front-end server and the terminal on at least two first-type sub-connections, and synchronously transmitting the data to be transmitted between the front-end server and the control server on at least two second-type sub-connections, includes: receiving the data to be transmitted copied by the terminal on the first-type sub-connection, and forwarding the data to be transmitted to the control server on the second-type sub-connection; or, receiving the data to be transmitted copied by the control server on the second-type sub-connection, and sending the data to be transmitted to the terminal on the first-type sub-connection.

10. The method according to claim 9, characterized in that, The method further includes at least one of the following: In response to receiving a first request message from the terminal, determine whether the first type of sub-connection requested by the first request message is valid; In response to receiving a first request message from the terminal, determine the number of first-type sub-connections that can be created; In response to receiving the first request information sent by the terminal, the first type of sub-connection with duplicate identifiers is deleted.

11. The method according to claim 10, characterized in that, The method further includes: In response to determining that the requested first type of sub-connection is valid and that at least two first type of sub-connections have been created, a first response message is sent to the terminal. The first response information indicates that the terminal transmits the data to be transmitted based on the at least two first-type sub-connections that have been created.

12. The method according to claim 9, characterized in that, The method further includes: Receive control information sent by the terminal, the control information including a sub-connection identifier and / or a control identifier; Based on the control information, the control server is determined.

13. A data transmission method, characterized in that, The method is executed by the control server, and the method includes: Using at least two second-type sub-connections created between the front-end server and the control server, the transmission of data to be transmitted between the front-end server and the control server is performed synchronously; wherein, the second-type sub-connection corresponds one-to-one with the first-type sub-connection created by the terminal, and the first-type sub-connection and the second-type sub-connection form the main connection; The transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; the data to be transmitted is copied to the second type of sub-connection; the transmission delay of the data to be transmitted is less than a delay threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold; The step of synchronously transmitting data to be transmitted between the front-end server and the control server using at least two second-type sub-connections created between the front-end server and the control server includes: receiving the data to be transmitted forwarded by the front-end server on the second-type sub-connection; or copying the data to be transmitted on the second-type sub-connection and sending the data to be transmitted to the front-end server through the second-type sub-connection.

14. A data transmission device, characterized in that, The device includes: The first creation module is configured to: in response to the transmission requirement of the data to be transmitted, create at least two first type sub-connections between the terminal and the front-end server based on a predetermined protocol, wherein the transmission delay of the data to be transmitted is less than a delay threshold and / or the traffic corresponding to the data to be transmitted is less than a traffic threshold. A first execution module is configured to: synchronously execute the transmission of the data to be transmitted between the terminal and the front-end server on at least two first-type sub-connections; wherein the transmission of the data to be transmitted includes sending and / or receiving the data to be transmitted; and the data to be transmitted is copied to the first-type sub-connection. The first execution module is further configured to: determine the maximum received sequence number and received time of data on the at least two first-type sub-connections; and determine whether to delete a target sub-connection based on the maximum received sequence number and the received time; wherein the target sub-connection is any one of the at least two first-type sub-connections; and the offset between the received time of the target sub-connection and the received time of other sub-connections in the at least two first-type sub-connections is greater than a predetermined time threshold. The device further includes: a second creation module, configured to, in response to the front-end server completing the creation of a second type of sub-connection between the front-end server and the control server, determine that the first type of sub-connection and the second type of sub-connection constitute the main connection between the terminal and the control server; the first type of sub-connection and the second type of sub-connection correspond one-to-one.

15. A processing apparatus, characterized in that, The processing equipment includes: Memory, used to store executable programs; A processor, when executing an executable program stored in the memory, implements the method as described in any one of claims 1 to 8 or the method as described in any one of claims 9 to 13.

16. A computer storage medium, characterized in that, The computer storage medium stores an executable program, which, when executed by a processor, implements the method as described in any one of claims 1 to 8 or the method as described in any one of claims 9 to 13.