Multi-link data transmission method, storage medium and electronic device

CN122932911APending Publication Date: 2026-10-16ZTE CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611158959.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-31
Publication Date
2026-10-16

AI Technical Summary

Technical Problem

[0004]本申请实施例提供了一种多链路数据传输方法、存储介质及电子设备,以至少解决相关技术中多链路数据重传机制的数据传输延迟较大,容易造成数据积压以及业务卡顿,影响了用户的使用体验的问题

Benefits of technology

[0017] According to yet another embodiment of this application, an electronic device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to perform the steps in any of the above embodiments of the multi-link data transmission method.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122932911A_ABST
    Figure CN122932911A_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a multi-link data transmission method, a storage medium and an electronic device. The method comprises: obtaining, by a device, current link states of multiple links established with a server, and sending the current link states to the server; buffering uplink information corresponding to uplink data packets in the process of sending the uplink data packets to the server; in response to detecting an abnormal link, sending an abnormal link state to the server; querying target uplink information corresponding to the abnormal link from a local cache of the device; and retransmitting target uplink data packets corresponding to the target uplink information to the server through a target normal link. The present application can solve the problem of large data transmission delay of the multi-link data retransmission mechanism in the related art, which easily causes data accumulation and service lag, and affects the user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communications, and more specifically, to a multi-link data transmission method, a storage medium, and an electronic device. Background Technology

[0002] With the rapid development of communication technology, various business applications (such as live video streaming) have increasingly higher bandwidth requirements. In order to achieve high-bandwidth transmission, in practical scenarios, bandwidth resources of different links are usually aggregated, such as aggregating wireless links and wired links.

[0003] To ensure data transmission integrity, related technologies typically employ multi-link packet retransmission mechanisms. These mechanisms usually trigger retransmission requests according to a preset retransmission time T to perform packet retransmission. This retransmission method in related technologies requires waiting for the full preset retransmission time T before sending the retransmission packet, resulting in significant data transmission delays, potentially causing data backlogs and service disruptions, thus impacting the user experience. Summary of the Invention

[0004] This application provides a multi-link data transmission method, storage medium, and electronic device to at least solve the problem that the data transmission delay of the multi-link data retransmission mechanism in the related art is large, which can easily cause data backlog and service interruption, affecting the user experience.

[0005] According to one embodiment of this application, a multi-link data transmission method is provided, executed by a device, wherein multiple links are established between the device and a server; the method includes:

[0006] Obtain the current link status of the multiple links and send the current link status to the server;

[0007] During the process of sending uplink data packets to the server, the uplink information corresponding to the uplink data packets is cached;

[0008] In response to the detection of an abnormal link, an abnormal link status is sent to the server;

[0009] Query the target uplink information corresponding to the abnormal link from the local cache of the device.

[0010] The target uplink data packet corresponding to the target uplink information is retransmitted to the server through the target normal link.

[0011] According to one embodiment of this application, a multi-link data transmission method is provided, executed by a server, wherein multiple links are established between the server and the device; the method includes:

[0012] Receive the current link status sent by the device;

[0013] During the process of sending downlink data packets to the device, the downlink information corresponding to the downlink data packets is cached;

[0014] In response to receiving an abnormal link status from the device, the server queries the target downlink information corresponding to the abnormal link from its local cache.

[0015] The target downlink data packet corresponding to the target downlink information is retransmitted to the device through the target normal link.

[0016] According to yet another embodiment of this application, a computer-readable storage medium is also provided, wherein a computer program is stored in the computer program, and the computer program is configured to execute the steps in any of the above embodiments of the multi-link data transmission method when it is run.

[0017] According to yet another embodiment of this application, an electronic device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to perform the steps in any of the above embodiments of the multi-link data transmission method.

[0018] According to yet another embodiment of this application, a computer program product is also provided, including a computer program that, when executed by a processor, implements the steps in any of the above embodiments of the multi-link data transmission method.

[0019] In this embodiment, the device acquires the current link status of multiple links established with the server and sends the current link status to the server. During the transmission of uplink data packets to the server, it caches the uplink information corresponding to the uplink data packets. In response to the detection of an abnormal link, it sends an abnormal link status to the server. It then queries the target uplink information corresponding to the abnormal link from its local cache and retransmits the target uplink data packet corresponding to the target uplink information to the server via the target normal link. In this embodiment, the device acquires the current link status of multiple links and reports it to the server, caching the uplink information of the uplink data packets during transmission. When an abnormal link exists, the device sends the abnormal link status to the server, then queries the target uplink information corresponding to the abnormal link from its local cache and retransmits the target uplink data packet corresponding to the target uplink information via the target normal link. This way, when the device detects an abnormal link, it does not need to wait for a fixed preset retransmission time; it can directly retransmit the target uplink data packet based on the cached uplink information via the target normal link, reducing data transmission latency, avoiding data backlog and service interruptions, and improving the user experience. Attached Figure Description

[0020] Figure 1 This is a schematic diagram illustrating an application scenario of multi-link data transmission according to an embodiment of this application;

[0021] Figure 2 This is a flowchart illustrating the steps of a multi-link data transmission method in an embodiment of this application.

[0022] Figure 3 This is a flowchart illustrating the steps of a multi-link data transmission method in an embodiment of this application.

[0023] Figure 4 This is a schematic diagram of a system module architecture for multi-link data transmission according to an embodiment of this application;

[0024] Figure 5 This is a schematic diagram of the interaction flow of a multi-link data transmission method according to an embodiment of this application;

[0025] Figure 6 This is an interactive schematic diagram of one scenario embodiment of this application;

[0026] Figure 7 This is an interactive schematic diagram of one scenario embodiment two in this application;

[0027] Figure 8 This is an interactive schematic diagram of one scenario embodiment three in this application;

[0028] Figure 9 This is an interactive schematic diagram of one scenario, embodiment four, in this application.

[0029] Figure 10 This is a structural block diagram of an electronic device according to an embodiment of this application. Detailed Implementation

[0030] The embodiments of this application will be described in detail below with reference to the accompanying drawings and examples. It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.

[0031] With the rapid development of mobile communication technology, various applications (such as video-related services) have increasingly higher bandwidth requirements. To better transmit large amounts of data, it is often necessary to aggregate bandwidth resources from different links (such as wireless and wired bandwidth) in practical scenarios. Wireless links have the following characteristics: First, the bandwidth of links from different operators is uneven. Second, the bandwidth of wireless links changes dynamically, and this change is even faster in high-speed mobile scenarios. Third, the latency between different links varies, and changes in traffic also affect latency. In contrast to wireless links, wired links have stable bandwidth, but the latency between different wired links also varies.

[0032] Due to the aforementioned characteristics of wireless and wired links, in scenarios where the transmitting end transmits data to the aggregation server through multiple links, ensuring the integrity of the transmitted data usually results in data redundancy and low bandwidth utilization on different links.

[0033] To ensure the integrity of data transmission, related technologies typically employ a multi-link packet retransmission mechanism. This mechanism usually uses a preset retransmission time T or a retransmission timeout (RTO) to make a judgment based on factors such as link latency, link packet loss rate, link retransmission rate, and packet transmission time. If no corresponding response is received within the preset retransmission time T, a retransmission request is triggered and the packet retransmission operation is performed.

[0034] In related technologies, multi-link data packet retransmission mechanisms based on preset retransmission time can meet basic transmission requirements when the link status is stable. However, they have obvious defects in actual application scenarios: when some links experience abnormal situations such as network congestion, link quality degradation, or even link disconnection, the system still needs to wait for the full preset retransmission time T before it can send retransmission packets. This leads to increased data packet transmission delay and varying degrees of backlog of business data at the sending end. In latency-sensitive services such as video playback and live video streaming, users clearly perceive problems such as video stuttering, screen tearing, and audio-visual asynchrony, which seriously affects the user experience.

[0035] To address or partially address the aforementioned problems, embodiments of this application provide a multi-link data transmission method, storage medium, and electronic device. In these embodiments, the device acquires the current link status of multiple links established with a server and sends the current link status to the server. During the transmission of uplink data packets to the server, uplink information corresponding to the uplink data packets is cached. In response to the detection of an abnormal link, an abnormal link status is sent to the server. The device then queries the target uplink information corresponding to the abnormal link from its local cache. Finally, the target uplink data packet corresponding to the target uplink information is retransmitted to the server via the target normal link. In this application, the device acquires the current link status of multiple links and reports it to the server. During the transmission of uplink data packets, uplink information is cached. When an abnormal link exists, the device sends the abnormal link status to the server, then queries the target uplink information corresponding to the abnormal link from its local cache and retransmits the target uplink data packet corresponding to the target uplink information via the target normal link. In this way, when the device detects an abnormal link, it does not need to wait for a fixed preset retransmission time. It can directly retransmit the target uplink data packet through the target normal link based on the cached uplink information, which can reduce data transmission latency, avoid data backlog and service interruption, and improve the user experience.

[0036] For example, Figure 1 This is a schematic diagram illustrating an application scenario of multi-link data transmission according to an embodiment of this application. For example... Figure 1 As shown, this application scenario includes device 101 and server 102, with multiple data transmission links between them. Device 101 can also be referred to as a client, sender, mobile terminal, terminal device, user device, etc., specifically referring to a mobile phone, tablet computer, or wearable device. Server 102 can also be referred to as an aggregation server, specifically referring to a server or gateway that supports multi-link traffic aggregation. Of course, device 101 and server 102 can be other device types in actual scenarios, and can be flexibly configured based on actual needs; this embodiment does not limit this.

[0037] The multi-link data transmission in this application embodiment can be used in application environments such as multi-link parallel transmission, weak network countermeasures, and real-time video service uplink / downlink transmission. For example, this application embodiment can operate in a heterogeneous network environment containing at least two independent communication links, including but not limited to: 4G / 5G cellular mobile networks, Wi-Fi wireless LANs, wired Ethernet, or hybrid networks with different operators, different frequency bands, and different access points. Each communication link is independent of the others, can send and receive packets simultaneously, and supports multi-link aggregation and dynamic switching.

[0038] Figure 2 This is a flowchart illustrating the steps of a multi-link data transmission method according to an embodiment of this application. This multi-link data transmission method is executed by a device, which establishes multiple links with a server. Figure 2 As shown, this multi-link data transmission method includes the following steps:

[0039] Step S201: Obtain the current link status of the multiple links and send the current link status to the server.

[0040] In this embodiment, the current link status can refer to the real-time link status of multiple links between the device and the server. The device can dynamically detect the real-time status of multiple links established with the server, obtain the current link status of multiple links, and send the current link status to the server. In some examples, the device can detect the current link status of multiple links according to a preset period, which can be 500 milliseconds, 1 second, or 5 seconds, etc., and can be flexibly set based on actual business needs. This embodiment does not limit this.

[0041] Step S202: During the process of sending uplink data packets to the server, cache the uplink information corresponding to the uplink data packets.

[0042] In this embodiment, uplink information can refer to key information or metadata corresponding to uplink data packets. During the process of sending uplink data packets to the server, the device can locally cache the uplink information corresponding to each uplink data packet.

[0043] In some exemplary embodiments, caching the uplink information corresponding to the uplink data packet includes:

[0044] The uplink information corresponding to the uplink data packet is stored in the local cache on the device side; the uplink information includes link index, sending timestamp and data packet sequence number information.

[0045] In this embodiment, during the process of sending uplink data packets to the server, the device can store uplink information corresponding to each uplink data packet in its local cache. This uplink information may include link index, transmission timestamp, and data packet sequence number information. The link index can refer to the transmission link index or home link identifier of the uplink data packet. The transmission timestamp can refer to the time the uplink data packet was sent. The data packet sequence number information can refer to the specific sequence number (Seq ID) corresponding to the uplink data packet. It should be noted that the uplink information cached locally by the device can also include other types of information, and can be flexibly set according to actual needs; this embodiment does not limit this.

[0046] Step S203: In response to the detection of an abnormal link, send an abnormal link status to the server.

[0047] In this embodiment, an abnormal link can refer to a link with abnormal data transmission, such as a broken link, severe congestion (blockage), or degraded quality (e.g., high latency or high packet loss rate). The abnormal link status can refer to status information including the real-time status of the abnormal link. The device monitors the status of multiple links established with the server in real time. If an abnormal link is detected, it can send the abnormal link status to the server to ensure rapid synchronization of the abnormal link status between the device and the server.

[0048] In some exemplary embodiments, the method for determining abnormal links includes at least one of the following:

[0049] In response to the link's connection status being disconnected, the link is determined to be an abnormal link;

[0050] If the data transmission delay of the link is greater than a preset delay threshold, the link is determined to be an abnormal link.

[0051] If the data packet loss rate of the link is greater than a preset packet loss rate threshold, the link is determined to be an abnormal link.

[0052] If the data throughput of a link is less than a preset throughput threshold, the link is determined to be an abnormal link.

[0053] In this embodiment, when the device detects that the link connection is disconnected, or the data transmission delay of the link is greater than a preset delay threshold, or the data packet loss rate of the link is greater than a preset packet loss rate threshold, or the data throughput of the link is less than a preset throughput threshold, the device can determine that the link is an abnormal link. It should be noted that the determination of an abnormal link can include one or more of the above methods, and may also include other methods, such as determination based on the length of the transmission queue or link congestion. This embodiment does not limit this to any particular method.

[0054] Step S204: Query the target uplink information corresponding to the abnormal link from the local cache of the device.

[0055] Step S205: Retransmit the target uplink data packet corresponding to the target uplink information to the server through the target normal link.

[0056] In this embodiment, the target uplink information may refer to the uplink information corresponding to the abnormal link. The target uplink data packet may refer to the uplink data packet corresponding to the target uplink information. The target normal link may refer to the retransmission link selected from the normal links between the device and the server. In some exemplary embodiments, the method for determining the target normal link includes:

[0057] Obtain link transmission information for each normal link; the link transmission information includes at least one of available bandwidth, transmission delay, throughput, and packet loss rate;

[0058] Based on the link transmission information, determine the path selection parameters for each of the normal links;

[0059] Normal links that meet the preset conditions for path selection parameters are identified as the target normal links.

[0060] In this embodiment, if multiple normal links exist, the device can select a target normal link for data retransmission. Specifically, the device can obtain the link transmission information of each normal link, which may include at least one of the following: available bandwidth, transmission latency, throughput, and packet loss rate. Then, the device can determine the path selection parameters for each normal link based on the link transmission information. For example, the device can determine the score values ​​corresponding to different dimensions of the parameters in the link transmission information based on the link transmission information and a preset scoring table (which sets a mapping relationship between parameter values ​​and score values ​​for different types of parameters). Then, it can perform a weighted summation of the score values ​​for different dimensions of the parameters in the link transmission information to obtain the path selection parameters for each normal link. The weight values ​​used in the weighted summation of each dimension parameter can be preset weight values ​​and can be flexibly set based on actual needs; this embodiment does not limit this.

[0061] The preset conditions can refer to pre-defined target normal link selection criteria. Specifically, this could mean that the path selection parameters of the normal link (i.e., the score value corresponding to the normal link) are greater than a preset score threshold, or that the normal link has the highest path selection parameters. After determining the path selection parameters of each normal link, the device can select the normal link whose path selection parameters meet the preset conditions as the target normal link. For example, the normal link with the highest path selection parameters can be selected as the target normal link.

[0062] Of course, the device can also use other methods to select the target normal link from multiple normal links. For example, it can randomly select a normal link as the target normal link or select the normal link with the largest available bandwidth as the target normal link. The specific settings can be flexibly configured based on actual needs, and this application embodiment does not limit this.

[0063] When a device detects an abnormal link, it can query the target uplink information corresponding to that abnormal link from its local cache. Based on this information, it can determine the target uplink data packet that needs to be retransmitted. The device can then retransmit the target uplink data packet to the server via the target normal link. This way, when a transmission link fails, the device does not need to wait for a fixed preset retransmission time and can quickly upload the target uplink data packet via the target normal link. This reduces data transmission latency, avoids data backlog and service interruptions, and ensures a better user experience.

[0064] In some exemplary embodiments, the step of retransmitting the target uplink data packet corresponding to the target uplink information to the server via the target normal link includes:

[0065] Determine the target uplink data packet corresponding to the target uplink information;

[0066] The target uplink data packet is placed in the send queue and retransmitted to the server through the target normal link.

[0067] In this embodiment, after obtaining the target uplink information corresponding to the abnormal link, the device can determine the target uplink data packet corresponding to the target uplink information. Then, it can place the target uplink data packet into a sending queue and retransmit it to the server through the target normal link. In this way, the device can place the target uplink data packet that needs to be retransmitted into the sending queue after detecting an abnormal link and retransmit it to the server through the target normal link, ensuring the accuracy and real-time performance of data packet retransmission and reducing data transmission latency.

[0068] In some exemplary embodiments, after retransmitting the target uplink data packet corresponding to the target uplink information to the server, the method further includes:

[0069] In response to receiving the acknowledgment message sent by the server, the uplink information corresponding to the acknowledgment message is cleared from the local cache on the device.

[0070] In this embodiment of the application, since the local cache space is limited, if the device receives an acknowledgment (ACK) message sent by the server after retransmitting the target uplink data packet corresponding to the target uplink information to the server, the device can clear the uplink information corresponding to the acknowledgment message in the local cache, thereby releasing the storage space of the local cache and saving storage resources.

[0071] Based on the above embodiments, Figure 3This is a flowchart illustrating the steps of a multi-link data transmission method according to an embodiment of this application. This multi-link data transmission method is executed by a server, which establishes multiple links with the device. Figure 3 As shown, this multi-link data transmission method includes the following steps:

[0072] Step S301: Receive the current link status sent by the device.

[0073] In some exemplary embodiments, after receiving the current link state sent by the device, the method further includes:

[0074] The current link status is compared with the historical link status stored on the server, and the historical link status is updated based on the comparison result.

[0075] In this embodiment, after detecting the current link status, the device can send the current link status to the server to achieve real-time synchronization of the current link status. After obtaining the current link status, the server can compare the current link status with the historical link status stored on the server to determine whether there is any anomaly. If an anomaly is found, a subsequent retransmission process can be triggered. The server can update the historical link status based on the comparison result.

[0076] Step S302: During the process of sending downlink data packets to the device, the downlink information corresponding to the downlink data packets is cached.

[0077] In some exemplary embodiments, caching the downlink information corresponding to the downlink data packet includes:

[0078] The downlink information corresponding to the downlink data packet is stored in the local cache on the server side; the downlink information includes link index, sending timestamp and data packet sequence number information.

[0079] In this embodiment of the application, similar to the device storing uplink information corresponding to uplink data packets in its local cache, the server can cache downlink information corresponding to downlink data packets during the process of sending downlink data packets to the device. This downlink information may include the link index, sending timestamp, and data packet sequence number information of the downlink data packet, etc.

[0080] Step S303: In response to receiving the abnormal link status sent by the device, query the target downlink information corresponding to the abnormal link from the local cache of the server.

[0081] Step S304: Retransmit the target downlink data packet corresponding to the target downlink information to the device through the target normal link.

[0082] In some exemplary embodiments, the step of retransmitting the target downlink data packet corresponding to the target downlink information to the device via the target normal link includes:

[0083] Determine the target downlink data packet corresponding to the target downlink information;

[0084] The target downlink data packet is placed in the send queue and retransmitted to the device via the target normal link.

[0085] In this embodiment, if the server receives an abnormal link status from the device, it can query the target downlink information corresponding to the abnormal link in its local cache. Then, it can determine the target downlink data packet corresponding to the target downlink information and place it in the sending queue. The server then retransmits the target downlink data packet to the device via the target normal link. The method by which the server determines the target normal link can refer to the method used by the device to determine the target normal link, and this embodiment will not elaborate on this. In this way, after receiving an abnormal link status, the server can quickly locate the target downlink information in its local cache and the target downlink data packet that needs to be retransmitted. It can quickly retransmit the target downlink data packet via the target normal link without waiting for a fixed preset retransmission time, reducing data transmission latency, avoiding business data backlog and business interruptions, and improving the user experience.

[0086] In some exemplary embodiments, after retransmitting the target downlink data packet corresponding to the target downlink information to the device, the method further includes:

[0087] In response to receiving an acknowledgment message from the device, the server clears the downlink information corresponding to the acknowledgment message from its local cache.

[0088] In this embodiment of the application, if the server receives an acknowledgment message returned by the device, it can clear the downlink information corresponding to the acknowledgment message in the server's local cache. This can release the storage resources of the local cache and improve the utilization rate of storage resources.

[0089] Based on the above embodiments, Figure 4 This is a schematic diagram of a system module architecture for multi-link data transmission according to an embodiment of this application. Figure 4 As shown, the multi-link data transmission system includes a device 401 and a server 403, with multiple links 402 established between the device and the server. The device 401 includes the following modules:

[0090] Link status detection module 4011: As the core sensing unit, it monitors the status of all communication links in real time, such as connectivity, congestion, and link quality, to obtain the current link status, and synchronizes the current link status to the server 403 in real time, so as to realize the collaborative sensing of the link status at both ends.

[0091] The data packet caching module 4012 stores key information of sent uplink data packets as uplink information, such as sequence numbers, sending timestamps, and link indexes. This allows for the creation of a quickly searchable transmission record database in the local cache, providing data for subsequent retransmissions.

[0092] Fast retransmission scheduling module 4013: Based on the scheduling of transmission control unit 4014, fast retransmission is performed without waiting for the preset retransmission time, and data is retransmitted through the selected target normal link.

[0093] Transmission control unit 4014: As the core scheduling unit, when receiving an abnormal alarm from the link status detection module 4011, it skips the fixed preset retransmission time, queries the target uplink information in the local cache, determines the target uplink data packet that needs to be retransmitted, selects the target normal link, calls the fast retransmission scheduling module 4013 to initiate fast retransmission, and completes the packet loss compensation.

[0094] The server-side 403 error includes the following modules:

[0095] Link status receiving module 4031: Receives the current link status reported by the client, synchronizes the overall link operation status, realizes synchronous update of link status, and cooperates with the client to complete collaborative control.

[0096] The data packet caching module 4032, similar to the data packet caching module 4012 in device 401, stores key information of sent downlink data packets as downlink information. This downlink information may include sequence numbers, sending timestamps, and link indexes. This allows for the creation of a quickly searchable transmission record database in the local cache, used for verification, retransmission coordination, and data validation.

[0097] Fast retransmission scheduling module 4033: Used for fast data retransmission.

[0098] Transmission control unit 4034: Works with device 401 to complete data transmission and reception, and retransmission packet reception verification, cooperating with the overall retransmission process to ensure data transmission continuity. Specifically, in response to an anomaly alarm from link status receiving module 4031, it can skip the fixed preset retransmission time, query the target downlink information in the local cache, determine the target downlink data packets that need to be retransmitted, select the target normal link, and call fast retransmission scheduling module 4033 to initiate fast retransmission to complete packet loss compensation.

[0099] It should be noted that the module architecture of the multi-link data transmission system described above is merely an example. In actual scenarios, the device 401 and server 403 may also include other modules, and this application embodiment does not limit this.

[0100] Based on the above embodiments, Figure 5 This is a schematic diagram of the interaction flow of a multi-link data transmission method according to an embodiment of this application. Figure 5 The specific interaction flow of this multi-link data transmission method, as shown, includes the following:

[0101] Step S11: Device initialization, creating multiple links.

[0102] Step S21: Server initialization, establishing multiple links with the device.

[0103] Step S12: The sending end detects the current link status of multiple links and sends the current link status to the server.

[0104] Step S22: The server receives the current link status, compares it with the historical link status, and updates the historical link status based on the comparison result to ensure the real-time and accuracy of the link status.

[0105] Step S13: The device sends an uplink data packet to the server and caches the uplink information of the uplink data packet. For example, the device sends an uplink data packet through link L1, and stores the uplink information of the uplink data packet in its local cache, including the link L1 index, the sending timestamp, and the data packet sequence number information (such as seq=100).

[0106] Step S23: The server sends downlink data packets to the device and caches the downlink information of the downlink data packets. For example, the server sends downlink data packets through link L2, and stores the downlink information of the downlink data packets in its local cache, including the link L2 index, the sending timestamp, and the data packet sequence number information (such as seq=300).

[0107] Step S14: If the device detects an abnormal link, such as an abnormal link L1 or L2, the device sends the abnormal link status to the server, retrieves the target uplink information corresponding to the abnormal link from the local cache, and puts the target uplink data packet corresponding to the target uplink information into the queue to be sent.

[0108] Step S24: The server receives the abnormal link status sent by the device and confirms that the link has changed from normal to abnormal. The server looks up the target downlink information corresponding to the abnormal link in its local cache and puts the target downlink data packet corresponding to the target downlink information into the queue to be sent.

[0109] Step S15: The device retransmits the target uplink data packet to the server through the target normal link Ln.

[0110] Step S25: The server retransmits the target downlink data packet to the device through the target normal link Lm.

[0111] Step S16: The device receives the acknowledgment message sent by the server and clears the uplink information corresponding to the acknowledgment message in the local cache.

[0112] Step S26: The server receives the acknowledgment message sent by the device and clears the downlink information corresponding to the acknowledgment message from the local cache.

[0113] To address the issues of retransmission mechanisms relying on timeouts and data backlogs and service disruptions caused by link anomalies in related technologies, the multi-link data transmission method in this application involves the device end to monitor the current link status (connectivity, congestion, link quality, etc.) of each link in real time and synchronize this status to the server end, achieving collaborative link status awareness between the client and server. Both the device end and the server end establish data packet caching mechanisms to cache key information of data packets sent by each link, forming a quickly searchable transmission record database. When an abnormal link is detected, the device end sends the abnormal link status to the server end. Neither the device end nor the server end needs to wait for a fixed preset retransmission time T; they can directly retransmit data through the target normal link. Based on the cached uplink / downlink information, the device end and the server end can determine the retransmission data packets and send them in advance through the target normal link, quickly completing the retransmission of lost data packets and avoiding service data backlogs caused by timeouts. This effectively reduces data transmission latency and ensures the smooth operation of services such as video.

[0114] The multi-link data transmission method in this application embodiment, through real-time link status detection and end-side coordination, and a fast retransmission strategy that skips fixed retransmission timeout waiting, can achieve low-latency retransmission of abnormal link data packets, reduce data transmission backlog, ensure uninterrupted video services, reduce the probability of video and other services being stuck, and improve the user's viewing and usage experience.

[0115] The multi-link data transmission method in this embodiment is applicable to latency-sensitive data transmission scenarios such as live streaming, video calls, and real-time streaming media, and can achieve a shorter service recovery time. For example, after a link is disconnected or congested, the service can recover within RTT. min To RTT maxRecovery occurs within the specified Round-Trip Time (RTT) range. In typical network scenarios, such as video services, smooth playback can resume within 100 milliseconds without noticeable stuttering. This embodiment of the application enables retransmission of data packets via a target normal link. For example, if data packet A is sent on link L1 but link L1 experiences an anomaly, data packet A can be retransmitted via the target normal link L3. This allows data packet A with the same sequence number to appear sequentially on two different links. Furthermore, this embodiment of the application enables seamless switching between multiple links. When a link is disconnected (the network cable is unplugged, i.e., the wired link is disconnected), service traffic can be quickly transferred to another target normal link without packet loss or with a low packet loss rate.

[0116] For example, Table 1 is a comparative table of related technologies and the multi-link data transmission of the embodiments of this application, as follows:

[0117] Table 1

[0118]

[0119] Based on the above embodiments, the following four scenario embodiments are shown to specifically illustrate the multi-link data transmission method in this application:

[0120] Scenario Example 1: In a live video streaming scenario, removing a SubscriberIdentity Module (SIM) card from the device will not affect the live streaming service.

[0121] In real-world scenarios, the device utilizes multiple (e.g., three) built-in / external SIM cards and network ports to implement multi-link aggregation services, ensuring network speed and user experience. During a user's live stream, if for some reason, some SIM cards need to be removed, but the live stream must not be interrupted and the service must continue normally. For example, Figure 6 This is an interactive schematic diagram of one scenario embodiment of this application. For example... Figure 6 As shown, the multi-link data transmission method in this scenario includes the following steps:

[0122] Step 601: Device initialization, creating multiple links. Server initialization, establishing multiple links with the sending end.

[0123] Step 602: The device monitors the link status in real time, obtains the current link status, and synchronizes it to the server. The server receives the current link status, compares it with the previous historical link status, and updates the historical link status to the current link status.

[0124] Step 603: The device (terminal device) performs live streaming services. The device sends uplink data packets such as service messages through multiple links such as L1, L2, and Ln, and caches the uplink information of the uplink data packets locally.

[0125] Step 604: Due to actual business needs, remove one SIM card.

[0126] Step 605: The device detects that some SIM cards are disconnected, indicating that there are some abnormal links. The device then synchronizes the abnormal link status to the server.

[0127] Step 606: The device queries the target uplink information corresponding to the abnormal link, determines the target uplink data packet corresponding to the target uplink information, and puts it into the waiting queue. For example, based on the SIM card disconnection information, the device calculates the link index corresponding to the SIM card, traverses the cached uplink information, determines the target uplink information of the abnormal link corresponding to the removed SIM card, and puts the target uplink data packet corresponding to the target uplink information as a retransmission data packet into the waiting queue.

[0128] Step 607: The device retransmits the target uplink data packet to the server through the available target normal link Lk.

[0129] Step 608: The device receives the confirmation message returned by the server and clears the uplink information corresponding to the confirmation message in the local cache.

[0130] Scenario Example 2: In the scenario of watching live video, if one SIM card is removed from the device, the user's live video viewing service will not be affected.

[0131] In real-world scenarios, the device utilizes multiple (e.g., three) built-in / external SIM cards and network ports to achieve multi-link aggregation, ensuring network speed and user experience. During live streaming, if a user needs to remove some SIM cards for some reason, the video service must remain uninterrupted, and the user should be unaware of the interruption. For example, Figure 7 This is an interactive schematic diagram of one scenario, embodiment two, in this application. For example... Figure 7 As shown, the multi-link data transmission method in this scenario includes the following steps:

[0132] Step 701: Device initialization, creating multiple links. Server initialization, completing the establishment of multiple links with the sending end.

[0133] Step 702: The device monitors the link status in real time, obtains the current link status, and synchronizes it to the server. The server receives the current link status, compares it with the previous historical link status, and updates the historical link status to the current link status.

[0134] Step 703: The device (terminal device) watches the live broadcast. The server sends downlink data packets such as service messages through multiple links such as L1, L2, and Ln, and caches the downlink information of the downlink data packets locally.

[0135] Step 704: Due to actual business needs, remove one SIM card.

[0136] Step 705: The device detects that some SIM cards are disconnected, indicating that there are some abnormal links. The device then synchronizes the abnormal link status to the server.

[0137] Step 706: The server queries the target downlink information corresponding to the abnormal link, determines the target downlink data packet corresponding to the target downlink information, and puts it into the waiting queue. For example, based on the SIM card disconnection information, the server calculates the link index corresponding to the SIM card, traverses the cached downlink information, determines the target downlink information corresponding to the abnormal link, and puts the target downlink data packet corresponding to the target downlink information into the waiting queue as a retransmission data packet.

[0138] Step 707: The server retransmits the target downlink data packets to the device via the available target normal link Lk.

[0139] Step 708: The server receives the confirmation message returned by the device and clears the downlink information corresponding to the confirmation message in the local cache.

[0140] Scenario Example 3: In a live video streaming scenario, disconnecting the network cable (wired link) from the device will not affect the live streaming service.

[0141] In real-world scenarios, the device utilizes multiple (e.g., three) built-in / external SIM cards and network ports to implement multi-link aggregation services, ensuring network speed and user experience. During a user's live stream, if the network cable needs to be disconnected for some reason, but the live stream must continue uninterrupted and the service must function normally, for example... Figure 8 This is an interactive schematic diagram of one scenario, embodiment three, in this application. For example... Figure 8 As shown, the multi-link data transmission method in this scenario includes the following steps:

[0142] Step 801: Device initialization, creating multiple links. Server initialization, completing the establishment of multiple links with the sending end.

[0143] Step 802: The device monitors the link status in real time, obtains the current link status, and synchronizes it to the server. The server receives the current link status, compares it with the previous historical link status, and updates the historical link status to the current link status.

[0144] Step 803: The device (terminal device) performs live streaming services. The device sends uplink data packets such as service messages through multiple links such as L1, L2, and Ln, and caches the uplink information of the uplink data packets locally.

[0145] Step 804: Due to actual business needs, disconnect the network cable.

[0146] Step 805: The device detects that the network port link corresponding to the network cable is disconnected, that is, there is a partial abnormal link. The device synchronizes the abnormal link status to the server.

[0147] Step 806: The device queries the target uplink information corresponding to the abnormal link, determines the target uplink data packet corresponding to the target uplink information, and puts it into the waiting queue. For example, based on the network interface link disconnection information, the device calculates the link index corresponding to the network interface, traverses the cached uplink information, determines the target uplink information corresponding to the abnormal link, and puts the target uplink data packet corresponding to the target uplink information as a retransmission data packet into the waiting queue.

[0148] Step 807: The device retransmits the target uplink data packet to the server through the available target normal link Lk.

[0149] Step 808: The device receives the confirmation message returned by the server and clears the uplink information corresponding to the confirmation message in the local cache.

[0150] Scenario Example 4: In a live video streaming scenario, if the User Datagram Protocol (UDP) link is blocked, the live streaming service will not be affected.

[0151] In a live video streaming scenario, assuming video service data uses the UDP protocol and video control data uses the Transmission Control Protocol (TCP), the loss of either link will not affect the live streaming quality. For example, Figure 9 This is an interactive schematic diagram of one scenario, embodiment four, in this application. For example... Figure 9 As shown, the multi-link data transmission method in this scenario includes the following steps:

[0152] Step 901: Device initialization, server initialization.

[0153] Step 902: The device (terminal device) performs live streaming service, creating a UDP link based on video service and a TCP link based on video control data.

[0154] Step 903: The device monitors the link status in real time, obtains the current link status, and synchronizes it to the server. The server receives the current link status, compares it with the previous historical link status, and updates the historical link status to the current link status.

[0155] Step 904: The device sends uplink data packets such as service messages through multiple links such as L1, L2, and Ln, and caches the uplink information of the uplink data packets locally.

[0156] Step 905: The UDP link periodically sends reflection messages to obtain the link latency RTT. When the RTT value exceeds the preset threshold (δ), the UDP link is blocked.

[0157] Step 906: The sending end detects that a certain UDP link Lu1 is blocked, confirms the existence of an abnormal link, and synchronizes the abnormal link status to the server.

[0158] Step 907: For the abnormal UDP link Lu1, the device queries the target uplink information corresponding to the abnormal link, determines the target uplink data packet corresponding to the target uplink information, and puts it into the queue to be sent.

[0159] Step 908: The device retransmits the target uplink data packet to the server through the available target normal link Lk.

[0160] Step 909: The device receives the confirmation message returned by the server and clears the uplink information corresponding to the confirmation message in the local cache.

[0161] It should be noted that the above-described scenario embodiments one to four are merely examples. The multi-link data transmission method in this application embodiment can also be applied to other scenarios. The specific method can be flexibly selected according to actual needs, and this application embodiment does not limit it.

[0162] It should be understood that in the various embodiments of this application, the sequence number of each process and step does not imply the order of execution. The execution order of each process and step should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0163] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0164] This embodiment also provides a multi-link data transmission device for implementing the above embodiments and implementation methods; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that performs a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated. The multi-link data transmission device includes:

[0165] The acquisition module is used to acquire the current link status of the multiple links and send the current link status to the server.

[0166] The caching module is used to cache the uplink information corresponding to the uplink data packet during the process of sending the uplink data packet to the server;

[0167] The sending module is used to send the abnormal link status to the server in response to the detection of an abnormal link;

[0168] The query module is used to query the target uplink information corresponding to the abnormal link from the local cache of the device.

[0169] The retransmission module is used to retransmit the target uplink data packet corresponding to the target uplink information to the server through the target normal link.

[0170] This application also provides another multi-link data transmission device, including:

[0171] A receiving module is used to receive the current link status sent by the device.

[0172] A caching module is used to cache downlink information corresponding to the downlink data packets during the process of sending downlink data packets to the device.

[0173] The query module is used to query the target downlink information corresponding to the abnormal link from the local cache of the server in response to receiving the abnormal link status sent by the device.

[0174] The retransmission module is used to retransmit the target downlink data packet corresponding to the target downlink information to the device through the target normal link.

[0175] It should be noted that the above modules can be implemented by software or hardware. For the latter, they can be implemented in the following ways, but are not limited to: all the above modules are located in the same processor; or, the above modules are located in different processors in any combination.

[0176] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above embodiments of the multi-link data transmission method at runtime.

[0177] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), computer hard disk, magnetic disk, or optical disk.

[0178] Figure 10 This is a structural block diagram of an electronic device according to an embodiment of this application, such as... Figure 10 As shown, embodiments of this application also provide an electronic device 100, including a memory 1001 and a processor 1002. The memory 1001 stores a computer program, and the processor 1002 is configured to run the computer program to perform the steps in any of the above-described multi-link data transmission method embodiments.

[0179] In one exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.

[0180] Embodiments of this application also provide a computer program product, including a computer program that, when executed by a processor, implements the steps in any of the above embodiments of the multi-link data transmission method.

[0181] Specific examples in this embodiment can be found in the examples described in the above embodiments and exemplary implementations, and will not be repeated here.

[0182] Obviously, those skilled in the art should understand that the modules or steps of this application described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. They can be implemented using computer-executable program code, and thus can be stored in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those presented here, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, this application is not limited to any particular combination of hardware and software.

[0183] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the principles of this application should be included within the protection scope of this application.

Claims

1. A multi-link data transmission method, characterized in that, Executed on the device side, multiple links are established between the device side and the server side; the method includes: Obtain the current link status of the multiple links and send the current link status to the server; During the process of sending uplink data packets to the server, the uplink information corresponding to the uplink data packets is cached; In response to the detection of an abnormal link, an abnormal link status is sent to the server; Query the target uplink information corresponding to the abnormal link from the local cache of the device. The target uplink data packet corresponding to the target uplink information is retransmitted to the server through the target normal link.

2. The method according to claim 1, characterized in that, The cached uplink information corresponding to the uplink data packet includes: The uplink information corresponding to the uplink data packet is stored in the local cache on the device side; the uplink information includes link index, sending timestamp and data packet sequence number information.

3. The method according to claim 1, characterized in that, The method for determining the abnormal link includes at least one of the following: In response to the link's connection status being disconnected, the link is determined to be an abnormal link; If the data transmission delay of the link is greater than a preset delay threshold, the link is determined to be an abnormal link. If the data packet loss rate of the link is greater than a preset packet loss rate threshold, the link is determined to be an abnormal link. If the data throughput of a link is less than a preset throughput threshold, the link is determined to be an abnormal link.

4. The method according to claim 1, characterized in that, The method for determining the target normal link includes: Obtain link transmission information for each normal link; the link transmission information includes at least one of available bandwidth, transmission delay, throughput, and packet loss rate; Based on the link transmission information, determine the path selection parameters for each of the normal links; Normal links that meet the preset conditions for path selection parameters are identified as the target normal links.

5. The method according to claim 1, characterized in that, The step of retransmitting the target uplink data packet corresponding to the target uplink information to the server through the target normal link includes: Determine the target uplink data packet corresponding to the target uplink information; The target uplink data packet is placed in the send queue and retransmitted to the server through the target normal link.

6. The method according to claim 1, characterized in that, After retransmitting the target uplink data packet corresponding to the target uplink information to the server, the method further includes: In response to receiving the acknowledgment message sent by the server, the uplink information corresponding to the acknowledgment message is cleared from the local cache on the device.

7. A multi-link data transmission method, characterized in that, Executed by the server, the method establishes multiple links between the server and the device; the method includes: Receive the current link status sent by the device; During the process of sending downlink data packets to the device, the downlink information corresponding to the downlink data packets is cached; In response to receiving an abnormal link status from the device, the server queries the target downlink information corresponding to the abnormal link from its local cache. The target downlink data packet corresponding to the target downlink information is retransmitted to the device through the target normal link.

8. The method according to claim 7, characterized in that, After receiving the current link status sent by the device, the method further includes: The current link status is compared with the historical link status stored on the server, and the historical link status is updated based on the comparison result.

9. The method according to claim 7, characterized in that, The cached downlink information corresponding to the downlink data packet includes: The downlink information corresponding to the downlink data packet is stored in the local cache on the server side; the downlink information includes link index, sending timestamp and data packet sequence number information.

10. The method according to claim 7, characterized in that, The retransmission of the target downlink data packet corresponding to the target downlink information to the device via the target normal link includes: Determine the target downlink data packet corresponding to the target downlink information; The target downlink data packet is placed in the send queue and retransmitted to the device via the target normal link.

11. The method according to claim 7, characterized in that, After retransmitting the target downlink data packet corresponding to the target downlink information to the device, the method further includes: In response to receiving an acknowledgment message from the device, the server clears the downlink information corresponding to the acknowledgment message from its local cache.

12. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein when the computer program is executed by a processor, it implements the steps of the multi-link data transmission method according to any one of claims 1 to 6 or any one of claims 7 to 11.

13. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the multi-link data transmission method according to any one of claims 1 to 7 or any one of claims 7 to 11.