A data transmission method, apparatus, device, storage medium, and program product
Patent Information
- Application Number
- CN202611299043.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-26
- Publication Date
- 2026-09-25
AI Technical Summary
[0005]本发明提供了一种数据传输方法、装置、设备、存储介质及程序产品,以解决无法实现两条5G链路的同时并发传输,导致上行带宽利用率不足,上行时延高的问题
[0027]第七方面,本发明实施例提供了一种计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现本发明任一实施例所述的数据传输方法。
Smart Images

Figure CN122825232A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of wireless communication technology, and in particular to a data transmission method, apparatus, device, storage medium, and program product. Background Technology
[0002] With the rapid development of 5G communication technology, vertical industries such as industrial internet, vehicle networking, and high-definition video backhaul have placed extremely high demands on the latency and reliability of uplink data transmission.
[0003] In existing technologies, there are various multi-link transmission schemes. A typical scheme is the time-division multiplexing dual-SIM dual-pass scheme, which uses two SIM cards to share a single radio frequency path. It cannot achieve simultaneous concurrent transmission on two links and is essentially still a single-link transmission scheme. It lacks the process of splitting, parallel transmission, and merging data packets on multiple links and cannot achieve bandwidth aggregation. Another common scheme is the single-SIM dual-connection scheme, which allows a single Subscriber Identity Module Card (SIM) card to connect to both the primary and secondary base stations of the same operator simultaneously. It uses the signal-to-interference-plus-noise ratio (SINR) measured at the base station to determine whether to switch the entire data bearer. However, this scheme does not support independent links for two SIM cards across different operators and cannot differentiate the allocation of data packets based on the bandwidth differences between different cells. In addition, there is a scheme that uses external dual modules in conjunction with multipath transmission control protocols for aggregation. This scheme relies solely on packet loss information at the Transmission Control Protocol (TCP) protocol level to determine link congestion. It cannot obtain the physical layer status information at the baseband level of the communication chip and does not consider the differences in spectrum bandwidth between different operators, resulting in inaccurate data fragmentation strategies and high merging latency.
[0004] In summary, traditional terminal devices that support dual SIM dual pass typically employ a time-division multiplexing radio frequency architecture or a single SIM dual connection scheme, which cannot achieve simultaneous concurrent transmission of two 5G links, resulting in insufficient uplink bandwidth utilization and high uplink latency. Summary of the Invention
[0005] This invention provides a data transmission method, apparatus, device, storage medium, and program product to solve the problem of insufficient uplink bandwidth utilization and high uplink latency caused by the inability to achieve simultaneous concurrent transmission of two 5G links.
[0006] In a first aspect, embodiments of the present invention provide a data transmission method applied to a communication terminal supporting dual SIM dual pass, wherein the communication terminal has built-in a first radio frequency path and a second radio frequency path that are mutually independent, a first communication protocol stack corresponding to the first radio frequency path, and a second communication protocol stack corresponding to the second radio frequency path; the method includes:
[0007] The physical layer status information of the first link is obtained through the baseband layer of the first communication protocol stack, and the physical layer status information of the second link is obtained through the baseband layer of the second communication protocol stack; the first link is the link between the first radio frequency path and the first public land mobile network cell, and the second link is the link between the second radio frequency path and the second public land mobile network cell.
[0008] Based on the physical layer status information of the first link and the physical layer status information of the second link, the first type of data in the target transmission data is allocated to the first link, and the second type of data in the target transmission data is allocated to the second link;
[0009] The allocated target transmission data is sent to the server in parallel via the first link and the second link.
[0010] Secondly, embodiments of the present invention provide a data transmission method applied to a server, wherein the server is communicatively connected to a communication terminal supporting dual SIM dual pass, and the communication terminal transmits target data according to the data transmission method described herein; the method includes:
[0011] Data is received from the first link through a first receiving port, and data is received from the second link through a second receiving port; the data carries link attribute identification information corresponding to the link transmitting the data.
[0012] The transmission characteristics of each data link are identified based on the link attribute identification information;
[0013] Based on the transmission characteristics, data transmitted through different links are combined and processed to obtain complete target transmission data.
[0014] Thirdly, embodiments of the present invention provide a data transmission device applied to a communication terminal supporting dual SIM dual pass, wherein the communication terminal has built-in a first radio frequency path and a second radio frequency path that are independent of each other, a first communication protocol stack corresponding to the first radio frequency path, and a second communication protocol stack corresponding to the second radio frequency path; the device includes:
[0015] The link information acquisition module is used to acquire the physical layer status information of the first link through the baseband layer of the first communication protocol stack, and to acquire the physical layer status information of the second link through the baseband layer of the second communication protocol stack; the first link is the link between the first radio frequency path and the first public land mobile network cell, and the second link is the link between the second radio frequency path and the second public land mobile network cell.
[0016] The data allocation module is used to allocate a first type of data in the target transmission data to the first link and allocate a second type of data in the target transmission data to the second link based on the physical layer status information of the first link and the physical layer status information of the second link.
[0017] The data transmission module is used to send the allocated target transmission data to the server in parallel through the first link and the second link.
[0018] Fourthly, embodiments of the present invention provide a data transmission apparatus applied to a server, characterized in that the server is communicatively connected to a communication terminal supporting dual SIM dual pass, the communication terminal transmitting target data according to the data transmission method described herein, and the apparatus comprising:
[0019] The data receiving module is configured to receive data from the first link through a first receiving port and data from the second link through a second receiving port; the data carries link attribute identification information corresponding to the link transmitting the data;
[0020] A transmission feature identification module is used to identify the transmission features of the link corresponding to each data based on the link attribute identification information;
[0021] The data transmission restoration module is used to combine and process data transmitted through different links according to the transmission characteristics to obtain complete target transmission data.
[0022] Fifthly, embodiments of the present invention provide an electronic device, the electronic device comprising:
[0023] At least one processor;
[0024] and a memory communicatively connected to the at least one processor;
[0025] The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to perform the data transmission method described in any embodiment of the present invention.
[0026] In a sixth aspect, embodiments of the present invention provide a computer-readable storage medium storing computer instructions that, when executed by a processor, implement the data transmission method described in any embodiment of the present invention.
[0027] In a seventh aspect, embodiments of the present invention provide a computer program product including a computer program, which, when executed by a processor, implements the data transmission method described in any embodiment of the present invention.
[0028] The technical solution of this invention involves embedding mutually independent first and second radio frequency paths, a first communication protocol stack corresponding to the first radio frequency path, and a second communication protocol stack corresponding to the second radio frequency path in the communication terminal. Then, the physical layer status information of the first link is obtained through the baseband layer of the first communication protocol stack, and the physical layer status information of the second link is obtained through the baseband layer of the second communication protocol stack. Compared with the existing technology that relies on base station side reporting or application layer detection, the information collection accuracy is higher and the latency is lower, thus providing a more accurate and timely data foundation for subsequent scheduling decisions. Secondly, according to the physical layer status information of the first and second links, the first type of data in the target transmission data is allocated to the first link, and the second type of data in the target transmission data is allocated to the second link. This avoids the problems of unreasonable data allocation and signaling and large service packets competing for bandwidth caused by not considering the differences in physical layer status in the existing technology, thus enabling the spectrum resources of each link to be used reasonably in accordance with its transmission capacity. Finally, the allocated target transmission data is sent to the server in parallel through the first and second links, overcoming the defect in the existing technology that the two links cannot be transmitted concurrently due to time division multiplexing, thus realizing the true superposition of uplink bandwidth. Therefore, the embodiments of the present invention, through the synergistic effect of the above-mentioned means, solve the technical problems in the prior art such as the inability of dual links to be fully concurrent, link detection lag, and the failure of the traffic splitting strategy to consider the differences in physical layer state. It realizes the fully concurrent transmission of two heterogeneous links and differentiated data allocation based on the real state of the physical layer, thereby achieving the technical effects of effectively reducing the end-to-end latency of uplink transmission, improving the utilization rate of spectrum resources, and improving the data transmission efficiency.
[0029] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description
[0030] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0031] Figure 1 A flowchart of a data transmission method provided in Embodiment 1 of the present invention;
[0032] Figure 2 A flowchart of a data transmission method provided in Embodiment 2 of the present invention;
[0033] Figure 3A flowchart of a data transmission method provided in Embodiment 3 of the present invention;
[0034] Figure 4 A flowchart of a data transmission method provided in Embodiment 4 of the present invention;
[0035] Figure 5 This is a schematic diagram of the structure of a data transmission device provided in Embodiment 5 of the present invention;
[0036] Figure 6 This is a schematic diagram of the structure of a data transmission device provided in Embodiment Six of the present invention;
[0037] Figure 7 A schematic diagram of the structure of an electronic device for implementing the data transmission method of this embodiment of the invention. Detailed Implementation
[0038] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0039] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0040] Example 1
[0041] Figure 1 This is a flowchart of a data transmission method provided in Embodiment 1 of the present invention. This embodiment is applicable to the situation where a communication terminal supporting dual SIM dual pass transmits data to a server in parallel through two heterogeneous links. The method can be executed by a data transmission device configured in an electronic device that serves as a communication terminal. The data transmission device can be implemented in hardware and / or software.
[0042] In this embodiment, the communication terminal is a terminal device that supports dual-SIM dual-pass functionality. The communication terminal has built-in independent first and second radio frequency (RF) paths, a first communication protocol stack corresponding to the first RF path, and a second communication protocol stack corresponding to the second RF path. The communication link established between the first RF path and the first Public Land Mobile Network (PLMN) cell is called the first link, and the communication link established between the second RF path and the second PLMN cell is called the second link. The first PLMN cell and the second PLMN cell can belong to the same or different operator networks.
[0043] like Figure 1 As shown, the method includes:
[0044] S110. Obtain the physical layer status information of the first link through the baseband layer of the first communication protocol stack, and obtain the physical layer status information of the second link through the baseband layer of the second communication protocol stack.
[0045] The baseband layer refers to the hardware and firmware layer within the communication chip responsible for physical layer signal processing and resource management. Physical layer status information is a set of parameters characterizing the real-time status of the link at the physical transmission layer. In this embodiment, the physical layer status information includes a first parameter characterizing the link's transmission capacity and a second parameter characterizing the congestion level of each link. The first parameter includes, but is not limited to, the cell's uplink actual spectrum bandwidth and cell standard; the second parameter includes, but is not limited to, physical layer round-trip time, uplink block error rate, signal-to-interference-plus-noise ratio, media access control layer congestion window size, the amount of air interface resources requested by the terminal, and the amount of resources authorized by the cell. These parameters can be maintained and updated in real-time by the chip's baseband hardware registers. The communication terminal can directly read the data from the baseband layer through the chip's underlying driver interface, achieving sub-millisecond accuracy, far superior to traditional application layer network probing or base station-side reporting methods.
[0046] Specifically, after the two SIM cards deployed in the communication terminal complete their 5G Standalone (SA) network registration and camp on their respective cells, this step synchronously reads the aforementioned physical layer status information from the baseband register by calling the chip's baseband driver interface, and stores the read information in the terminal's local scheduling register for subsequent scheduling decisions. This data collection process continuously refreshes at sub-millisecond intervals to ensure that the scheduling module always makes decisions based on the latest physical layer status information.
[0047] S120. Based on the physical layer status information of the first link and the physical layer status information of the second link, allocate the first type of data in the target transmission data to the first link and allocate the second type of data in the target transmission data to the second link.
[0048] The target transmission data refers to the entire uplink data that the communication terminal needs to send to the server, which can include various types of data packets. Target transmission data can be classified into two categories based on data length and / or data type. For example, the first category of data consists of signaling or control data packets, such as small packets like device heartbeats and control commands; the second category consists of service data packets, such as large-capacity data like video streams and batch-collected data.
[0049] This step performs differentiated allocation of different data within the target transmission data based on the physical layer status information of each of the two links. Physical layer status information reflects the actual transmission status of each link at the physical layer, including but not limited to the link's transmission capacity (e.g., cell bandwidth) and congestion level (e.g., round-trip time, block error rate). Based on this information, different types of data can be allocated to links more suitable for their transmission needs. For example, signaling data that is latency-sensitive but has a small data volume can be preferentially allocated to links with more stable or idle physical layer status indicators; service data with a large data volume can be preferentially allocated to links with stronger transmission capacity. This differentiated allocation based on physical layer status information ensures the rational use of spectrum resources on each link and avoids different types of data competing for resources on the same link.
[0050] S130, The allocated target transmission data is sent to the server in parallel through the first link and the second link.
[0051] After data allocation is completed, the communication terminal utilizes its chip's two built-in independent radio frequency paths to simultaneously and in parallel transmit the data allocated to the first and second links to the server via their respective 5G air interfaces. Since the two links are physically independent and can operate on different operators' networks, true concurrent transmission can be achieved, thereby enabling uplink bandwidth aggregation.
[0052] As an optional embodiment, when the target transmission data is large (e.g., video streams, batch-collected files, and other large-capacity business data packets), the communication terminal performs fragmentation on at least a portion of the target transmission data before transmission, obtaining multiple data fragments, and adding fragment identification information to each data fragment. After marking, each data fragment is sent in parallel via its assigned link. Upon receiving each fragment, the server performs out-of-order rearrangement and data restoration based on the sequence number, link attribute identification information, and unified timestamp, thereby obtaining the complete target transmission data.
[0053] As another optional embodiment, when the target transmission data is a small data packet (such as a small signaling packet such as a device heartbeat or control command), fragmentation can be omitted, and the complete data packet can be directly allocated to the corresponding link and sent to the server.
[0054] The technical solution of this invention involves embedding mutually independent first and second radio frequency paths, a first communication protocol stack corresponding to the first radio frequency path, and a second communication protocol stack corresponding to the second radio frequency path in the communication terminal. Then, the physical layer status information of the first link is obtained through the baseband layer of the first communication protocol stack, and the physical layer status information of the second link is obtained through the baseband layer of the second communication protocol stack. Compared with the existing technology that relies on base station side reporting or application layer detection, the information collection accuracy is higher and the latency is lower, thus providing a more accurate and timely data foundation for subsequent scheduling decisions. Secondly, according to the physical layer status information of the first and second links, the first type of data in the target transmission data is allocated to the first link, and the second type of data in the target transmission data is allocated to the second link. This avoids the problems of unreasonable data allocation and signaling and large service packets competing for bandwidth caused by not considering the differences in physical layer status in the existing technology, thus enabling the spectrum resources of each link to be used reasonably in accordance with its transmission capacity. Finally, the allocated target transmission data is sent to the server in parallel through the first and second links, overcoming the defect in the existing technology that the two links cannot be transmitted concurrently due to time division multiplexing, thus realizing the true superposition of uplink bandwidth. Therefore, the embodiments of the present invention, through the synergistic effect of the above-mentioned means, solve the technical problems in the prior art such as the inability of dual links to be fully concurrent, link detection lag, and the failure of the traffic splitting strategy to consider the differences in physical layer state. It realizes the fully concurrent transmission of two heterogeneous links and differentiated data allocation based on the real state of the physical layer, thereby achieving the technical effects of effectively reducing the end-to-end latency of uplink transmission, improving the utilization rate of spectrum resources, and improving the data transmission efficiency.
[0055] Example 2
[0056] Figure 2 This is a flowchart of a data transmission method provided in Embodiment 2 of the present invention. Based on the above embodiments, this embodiment further refines the steps regarding link transmission capacity difference allocation, data fragmentation processing, dynamic link congestion correction, and fault switching. Content not described in detail in this embodiment can be referred to the above embodiments. Figure 2 As shown, the method includes:
[0057] S210. Obtain the physical layer status information of the first link through the baseband layer of the first communication protocol stack, and obtain the physical layer status information of the second link through the baseband layer of the second communication protocol stack.
[0058] S220. Based on the physical layer status information of the first link and the physical layer status information of the second link, allocate the first type of data in the target transmission data to the first link and allocate the second type of data in the target transmission data to the second link.
[0059] Furthermore, in this embodiment, the physical layer state information includes a first parameter used to characterize the link transmission capability.
[0060] In an optional embodiment, based on the physical layer state information of the first link and the physical layer state information of the second link, a first type of data in the target transmission data is allocated to the first link, and a second type of data in the target transmission data is allocated to the second link, including:
[0061] Based on the difference between the first link and the second link in the first parameter, the first type of data in the target transmission data is allocated to the first link, and the second type of data in the target transmission data is allocated to the second link;
[0062] The first type of data consists of signaling data packets or control data packets with a length less than or equal to a preset length threshold, while the second type of data consists of service data packets with a length greater than the preset length threshold. The transmission capability of the second link is superior to that of the first link.
[0063] For example, when the cell bandwidth of the first link is 20MHz or 30MHz narrowband and the cell bandwidth of the second link is 100MHz or 200MHz wideband, since the transmission capacity of the second link is superior to that of the first link, shorter first-type data (such as signaling packets ≤ 128 bytes) are allocated to the relatively weaker first link, while longer second-type data (such as service data packets ≥ 1024 bytes) are allocated to the stronger second link. If the transmission capacities of the two links are similar, the basic traffic can be allocated in a balanced ratio (1:1). This allocation strategy ensures that first-type data and second-type data are transmitted on different public land mobile network cells, fundamentally avoiding the sudden increase in latency caused by the two competing for spectrum resources in the same cell.
[0064] S230, The allocated target transmission data is sent to the server in parallel through the first link and the second link.
[0065] Furthermore, in this embodiment, before the allocated target transmission data is sent to the server in parallel via the first link and the second link, a data fragmentation processing step is also included.
[0066] In an optional embodiment, the data fragmentation processing step includes: performing fragmentation processing on at least a portion of the target transmission data through the direct memory access hardware engine built into the chip of the communication terminal to obtain multiple data fragments;
[0067] Add fragment identification information to each data fragment. The fragment identification information includes: a unique sequence number, the link attribute identification information of the link to which the data fragment is assigned, and a unified timestamp.
[0068] In this embodiment, the Direct Memory Access (DMI) hardware engine can complete data migration and fragmentation operations without occupying the terminal's main CPU resources, significantly reducing the CPU load. The unique sequence number is used for data combination and sorting on the server side; the link attribute identification information is used to identify the link to which the data fragment is allocated (such as link number, cell bandwidth label, etc.), so that the server can identify the transmission characteristics of the data source link; the unified timestamp is used to assist the server in eliminating clock skew between different public terrestrial mobile network core networks.
[0069] S240. Monitor the second parameters of the first and second links in real time. When the congestion level represented by the second parameter of either link exceeds a preset threshold, reduce the data allocation ratio of the link and allocate the data on the link to another link.
[0070] In this embodiment, the physical layer state information also includes a second parameter characterizing the congestion level of each link, such as physical layer round-trip time, uplink block error rate, media access control layer congestion window size, and the difference between the resources requested by the terminal and the resources actually granted. When the physical layer round-trip time continuously increases, the uplink block error rate increases, or the granted resources are much smaller than the requested resources, it indicates that the link is congested.
[0071] This step overlays a dynamic correction mechanism on top of the basic allocation strategy in S220. Specifically, after allocating the target transmission data to the first and second links, the second parameters of the two links are continuously monitored. When the congestion level represented by the second parameter of either the first or second link exceeds a preset threshold, the data allocation ratio of that link is reduced, and the data that needs to be adjusted from that link is allocated to the other link.
[0072] Further, the reduction of the data allocation ratio of the link includes: calculating the difference between the congestion level parameter represented by the second parameter of the link and a preset benchmark value; when the difference exceeds a first preset threshold, the data allocation weight of the link is gradually reduced by a preset step size, and the larger the difference, the greater the reduction; when the reduced data allocation weight is lower than a second preset threshold, the allocation ratio of the second type of data on the link is reduced to zero, and the data belonging to heartbeat packets or keep-alive signaling in the first type of data of the link is retained.
[0073] For example, the preset step size could be a decrease of 15%.
[0074] This embodiment uses a multi-round, smooth reduction method rather than a sudden drop to avoid secondary impacts on the network caused by drastic traffic fluctuations. When the adjusted data allocation weight is lower than the second preset threshold, it indicates that the link is in a state of severe congestion. At this time, the allocation ratio of the second type of data (large-capacity service packets) on the link is reduced to zero, and only the data belonging to the heartbeat packets or keep-alive signaling in the first type of data of the link is retained to ensure that the link maintains basic connectivity.
[0075] Furthermore, after reducing the data allocation ratio of the link, the method further includes: when the congestion level of the link is detected to recover to below the first preset threshold, the first type of data in the target transmission data is reallocated to the first link and the second type of data in the target transmission data is reallocated to the second link according to the physical layer status information of the first link and the physical layer status information of the second link.
[0076] As an optional embodiment, the method further includes:
[0077] When the uplink transmission capability represented by the first parameter in the physical layer state information of either the first link or the second link drops below a third preset threshold or the link is disconnected, all the data that has not yet been transmitted on the link is switched to the other link within a preset switching time.
[0078] The communication terminal caches data packets that have not yet been sent, and waits for the faulty link to be restored. Then, based on the physical layer status information of the first link and the physical layer status information of the second link, the first type of data in the target transmission data is reassigned to the first link, and the second type of data in the target transmission data is reassigned to the second link.
[0079] For example, when the bandwidth drops by more than 50% (i.e., the third preset threshold is half the bandwidth) or the link is disconnected, all the data to be sent on the link is switched to another link within a preset switching time (e.g., within 10 milliseconds). At the same time, the data packets that have not yet been sent are buffered and automatically switched back after the faulty link is restored, ensuring no data loss throughout the process.
[0080] The technical solution of this invention, based on the dual-link full concurrency and physical layer state information-based differentiated allocation in Embodiment 1, further refines the utilization of spectrum resources by allocating the first type of data to the first link with weaker transmission capacity and the second type of data to the second link with stronger transmission capacity according to the difference in a first parameter (such as cell bandwidth). This further avoids the sudden increase in latency caused by different types of data competing for bandwidth in the same cell. By utilizing a direct memory access hardware engine for fragmentation processing, the load on the terminal's main central processing unit is reduced, and the efficiency of data fragmentation and transmission is improved. Simultaneously, by adding... Unique sequence numbers, link attribute identifiers, and unified timestamps provide the data foundation for accurate sorting and rapid merging on the server side. Dynamic weight adjustments are made by monitoring link congestion levels in real time. When congestion occurs, the proportion of congested links is smoothly reduced; in cases of severe congestion, second-type data is paused while only heartbeats are retained; and automatic reconnection occurs after link recovery. This avoids data accumulation and latency degradation on congested links, thereby improving the system's stability and robustness in complex network environments. A rapid handover protection mechanism for link failures quickly migrates traffic when links are abnormal, preventing data interruption and loss, further enhancing transmission reliability. The combined effect of these measures further reduces overall transmission latency and significantly improves the transmission stability and reliability of cross-carrier links.
[0081] Example 3
[0082] Figure 3 This is a flowchart illustrating a data transmission method according to Embodiment 3 of the present invention. This embodiment is applicable to situations where a server receives and processes data transmitted in parallel through two links from a communication terminal supporting dual SIM dual pass. The method can be executed by a data transmission device configured in an electronic device acting as a server, which can be implemented in hardware and / or software. The server is communicatively connected to the communication terminal supporting dual SIM dual pass, and the communication terminal transmits target data according to the data transmission method described in Embodiment 1 or Embodiment 2.
[0083] like Figure 3 As shown, the method includes:
[0084] S310. Receive data from the first link through the first receiving port, and receive data from the second link through the second receiving port; the data carries link attribute identification information corresponding to the link transmitting the data.
[0085] In this embodiment, the server opens two independent receiving ports, namely a first receiving port and a second receiving port. The first receiving port corresponds to the first link of the communication terminal and is used to receive data transmitted through the first link; the second receiving port corresponds to the second link of the communication terminal and is used to receive data transmitted through the second link. The server simultaneously receives data uploaded in parallel by the two links through these two ports.
[0086] The data carries link attribute identification information, which is added by the communication terminal before sending the data to identify the link through which the data is transmitted. This link attribute identification information can be in the form of a link number, cell bandwidth tag, etc., so that the server can identify the transmission characteristics of the data's source link.
[0087] S320. Identify the transmission characteristics of the link corresponding to each data based on the link attribute identification information.
[0088] In this embodiment, the server parses the link attribute identification information carried by each received data fragment, and identifies which link the data fragment came from and the corresponding transmission characteristics of that link based on the identification information. The transmission characteristics may include the transmission resource level of the link, such as whether the cell bandwidth corresponding to the link is narrowband or broadband. Specifically, if the link attribute identification information indicates a narrowband label, it is identified as a low transmission resource level link; if it indicates a broadband label, it is identified as a high transmission resource level link.
[0089] S330. Combine and process the data transmitted on different links according to the transmission characteristics to obtain the complete target transmission data.
[0090] In this step, the server combines and reconstructs the data transmitted through different links based on the identified transmission characteristics to obtain the complete target transmission data.
[0091] It should be noted that the data transmitted in parallel by the communication terminal through two links can be multiple data fragments generated after fragmentation processing, or it can be a complete data packet without fragmentation, depending on the scheduling strategy and data type on the terminal side. Regardless of the form, this step identifies the transmission characteristics based on the link attribute identification information carried by the data and uses an appropriate method to complete the data combination and reconstruction, as detailed below:
[0092] As an optional implementation, when the target transmitted data is a small data packet (such as a small signaling packet for device heartbeat or control commands), the communication terminal can directly allocate the complete data packet to the corresponding link for transmission without performing fragmentation. After the server receives the complete data packet through the first or second receiving port, since the data packet itself is an independent and complete data, there is no need for cross-link reassembly. The server only needs to identify its corresponding link attribute identification information and confirm the data integrity.
[0093] As an alternative implementation, when the target transmitted data is large-volume service data (such as video streams, batch-collected files, etc.), the communication terminal performs fragmentation processing on the target transmitted data through the Direct Memory Access Hardware Engine (DMA), and distributes the fragmented data to two links for parallel transmission. The data from the first link and / or the data from the second link are the multiple data fragments generated by the communication terminal after fragmentation processing of the target transmitted data. The server can adaptively allocate the receive buffer window according to the bandwidth level of each link: a small window is allocated to narrowband links to avoid increased latency due to waiting for slow fragments, and a large window is allocated to wideband links to accommodate high throughput and out-of-order fragments. Subsequently, cross-link sorting is completed based on sequence number and timestamp, and duplicate fragments are discarded and missing fragments are requested for retransmission before merging. Finally, the complete target transmitted data is restored by combining them in order.
[0094] The technical solution of this invention utilizes a first receiving port and a second receiving port to receive data from two links respectively. Since the two links are physically independent and can operate simultaneously, the server can achieve parallel reception of dual-link data, avoiding the throughput bottleneck of single-path reception in existing technologies. By identifying the transmission characteristics of each data link based on the link attribute identification information carried by the data, the server can accurately distinguish the data source and understand its transmission characteristics, providing a precise basis for subsequent differentiated processing. By combining data transmitted from different links according to transmission characteristics, appropriate out-of-order reordering and merging strategies can be adopted for links with different transmission characteristics, overcoming the problems of high buffering latency and low merging efficiency caused by ignoring link characteristic differences during cross-network merging in existing technologies. In summary, this solution, through the synergistic effect of the above methods, achieves fast and accurate cross-link out-of-order reordering and data restoration, thereby effectively reducing server-side merging latency and improving data transmission integrity and reliability.
[0095] Example 4
[0096] Figure 4This is a flowchart illustrating a data transmission method according to Embodiment 4 of the present invention. Based on Embodiment 3, this embodiment adds further explanation of the data fragmentation format definition, adaptive allocation of the receive buffer window, and steps for discarding duplicate packets / retransmitting missing packets. For any content not described in detail in this embodiment, please refer to any of the above embodiments. Figure 4 As shown, the method includes:
[0097] S410. Receive data from the first link through the first receiving port, and receive data from the second link through the second receiving port; the data carries link attribute identification information corresponding to the link transmitting the data.
[0098] In this embodiment, the data from the first link and / or the data from the second link are multiple data fragments generated by the communication terminal after performing fragmentation processing on the target transmission data; wherein, the data fragment carries fragment identification information, which includes: a unique sequence number, the link attribute identification information of the link to which the data fragment is allocated, and a unified timestamp.
[0099] The unique sequence number is used to sort and combine data fragments transmitted through different links on the server side; the link attribute identification information is used to identify the link to which the data fragment is assigned (such as link number, cell bandwidth label, etc.) so that the server can identify the transmission characteristics of the data source link; the unified timestamp is used to help the server eliminate clock deviations between different public land mobile network core networks.
[0100] S420. Identify the transmission characteristics of the link corresponding to each data based on the link attribute identification information.
[0101] S430. Based on the transmission resource level represented by the link attribute identification information, allocate a corresponding size of receive buffer window for data fragments transmitted on different links; wherein, the lower the transmission resource level, the smaller the receive buffer window allocated to the link.
[0102] Specifically, for fragments from low transmission resource level links (narrowband), due to their lower transmission rate and relatively larger transmission delay, a smaller receive buffer window is allocated to reduce waiting delay and avoid excessive overall combination delay caused by waiting for narrowband link fragments; for fragments from high transmission resource level links (broadband), a larger receive buffer window is allocated to accommodate higher throughput and possible out-of-order fragments.
[0103] S440: Based on the unique sequence number and unified timestamp, sort the data fragments within the receive buffer window and combine the sorted data fragments to obtain the complete target transmission data.
[0104] Specifically, a unique sequence number can determine the sequential position of each fragment in the original data, and a unified timestamp can eliminate the impact of clock deviations between different public terrestrial mobile network cores on sorting accuracy. The combination of the two can quickly complete out-of-order reordering.
[0105] Furthermore, before combining the sorted data fragments, the method also includes: discarding duplicate data fragments and / or requesting the communication terminal to retransmit missing data fragments.
[0106] This embodiment ensures data integrity and accuracy by discarding duplicate data fragments and requesting retransmission of missing data fragments. Finally, the sorted and completed data fragments are combined in sequence to reconstruct the complete target transmission data.
[0107] The technical solution of Embodiment 4 of this invention, based on the parallel reception of dual-link data and combined processing based on transmission characteristics in the above embodiments, provides a complete data foundation for accurate sorting and rapid merging on the server side by carrying unique sequence numbers, link attribute identification information, and unified timestamps in the data fragments. By allocating corresponding receive buffer windows of different sizes to different links according to the transmission resource level represented by the link attribute identification information, smaller buffer windows are allocated to links with low transmission resource levels to avoid excessive waiting delays, while larger buffer windows are allocated to links with high transmission resource levels to accommodate higher throughput. This makes the allocation of buffer resources more reasonable and avoids the problem of excessively long waiting delays for narrowband links or buffer overflows for broadband links caused by fixed buffer windows in the prior art. By sorting data fragments based on unique sequence numbers and unified timestamps, the impact of clock deviations between different public land mobile network core networks on sorting accuracy is eliminated. By discarding duplicate data fragments and requesting retransmission of missing data fragments, the integrity and accuracy of the data are further ensured. The above measures work together to further reduce the merging delay on the server side and improve the integrity and reliability of data transmission.
[0108] The above technical solutions will now be described with specific application scenario examples.
[0109] Application Scenario Example 1: Low-latency uplink transmission of industrial sensors in a dual-carrier scenario of narrowband and broadband
[0110] In this example, the communication terminal is equipped with a chip that supports dual-SIM dual-pass. SIM 1 is a China Broadcasting SIM card, accessing a 20MHz Frequency Division Duplex (FDD) narrowband cell (corresponding to the first link, with relatively weak transmission capability); SIM 2 is a China Telecom SIM card, accessing a 100MHz Time Division Duplex (TDD) broadband cell (corresponding to the second link, with relatively strong transmission capability). Both SIM cards independently complete 5G SA network registration, and the communication terminal's baseband layer reads physical layer status information such as bandwidth, signal-to-noise ratio, round-trip time, and block error rate from both cells.
[0111] The industrial sensors built into the communication terminal periodically generate two types of uplink data: one type consists of small signaling packets such as device heartbeats and control commands, with a length not exceeding 128 bytes, belonging to the first type of data; the other type consists of data packets collected by batch temperature, humidity, and vibration sensors, with a length typically ranging from 2KB to 10KB, belonging to the second type of data. According to the data allocation logic, the first parameter in the physical layer status information indicates that the first link is a 20MHz narrowband and the second link is a 100MHz wideband, meaning the transmission capacity of the second link is superior to the first link. Therefore, the scheduling module allocates all small signaling packets such as heartbeats and control commands to the first link (narrowband) and allocates the large-capacity data packets collected by the sensors to the second link (wideband). These two types of data belong to different operator cells and do not interfere with each other, fundamentally avoiding the competition for spectrum resources between signaling and large service packets within the same cell.
[0112] During data transmission, the baseband information acquisition module continuously refreshes the round-trip time and block error rate of the two links in sub-millisecond increments. Initially, there is no congestion on either link, and service packets are allocated to the second link at full load. After running for a period of time, if the round-trip time of the second link is detected to continuously rise from the normal value of 18ms to 52ms, exceeding the preset baseline value of 20ms, and the difference of 32ms exceeds the first preset threshold, the scheduling module automatically activates the congestion correction mechanism: the data allocation weight of the second link is gradually reduced in preset steps, and the reduction magnitude is positively correlated with the difference. For example, in this case, the reduction is 40%, meaning that 40% of the large-capacity service packets originally allocated to the second link (approximately 2KB to 4KB of data) are temporarily switched to the first link for transmission, while only the first type of data (signaling small packets) retains the original allocation rules. Meanwhile, the terminal uses DMA to fragment the collected data packets (each fragment is 1KB), adds a unique sequence number, link attribute identification information ("BW_20M" or "BW_100M") and a unified timestamp to each fragment, and uploads them to the cloud server in parallel via dual links.
[0113] The cloud server receives data fragments from the two links through the first and second receiving ports, respectively. The server identifies the link attribute identifiers carried by the fragments, using a smaller receive buffer window (e.g., 4 fragments) for fragments from the first link (20MHz narrowband) and a larger receive buffer window (e.g., 16 fragments) for fragments from the second link (100MHz broadband). Then, based on unique sequence numbers and unified timestamps, the server performs cross-link sorting of the fragments from different links, eliminating clock skew between the core networks of the broadcast and telecommunications operators, quickly completing out-of-order reordering, discarding duplicate fragments, requesting retransmission of missing fragments from the terminal, and finally combining the sorted and completed fragments in order to reconstruct the complete industrial sensor data acquisition data packet. Once the round-trip latency of the second link recovers to 17ms (below the first preset threshold), the scheduling module automatically restores the strategy for allocating service packets to broadband cells, smoothly switching back, ensuring stable uplink latency throughout the process, and eliminating latency spikes caused by resource contention in a single cell.
[0114] Application Scenario Example 2: Real-time High-Definition Video Backhaul in a Dual Broadband Operator Scenarios
[0115] In this example, the video capture terminal is equipped with a chip that supports dual SIM dual standby. SIM 1 is a China Telecom SIM card connected to an 80MHz TDD cell (corresponding to the first link); SIM 2 is a China Mobile SIM card connected to a 100MHz TDD cell (corresponding to the second link). Both links use high-bandwidth spectrum and have similar transmission capabilities, but their real-time quality may exhibit dynamic differences.
[0116] The baseband layer of the video acquisition terminal reads physical layer status information in real time, including bandwidth of the two cells, physical layer round-trip time (RTT), block error rate, and terminal request and authorization resource status. Since the bandwidth of the two links is similar, the scheduling module initially allocates basic traffic in a 5:5 balanced manner, while simultaneously implementing a latency correction mechanism. The video stream acquired by the terminal is categorized by frame type: Intra-coded frames (I-frames) have a smaller data volume but extremely high real-time requirements, while predictive frames (P-frames) / bi-directional predictive frames (B-frames) have a larger data volume but relatively lower real-time requirements. Based on the difference in real-time RTT between the two links, the scheduling module prioritizes allocating I-frames to the link with lower latency (e.g., if the current round-trip time (RTT) of the telecom link is 12ms and the RTT of the mobile link is 16ms, then I-frames are allocated to the telecom link), and allocates the larger data volumes of P-frames / B-frames to the link with higher bandwidth. If a certain operator's cell experiences instantaneous congestion (for example, the RTT of a telecom link rises to 35ms, exceeding the preset threshold), the frame allocation ratio of that link will be reduced accordingly, and more P frames / B frames will be switched to the mobile link for transmission.
[0117] The terminal segments the video data using DMA, adding a unique sequence number, link attribute identifier ("BW_80M" or "BW_100M"), and a unified timestamp to each segment, enabling concurrent uploading across both links. The cloud server identifies the bandwidth tags carried by the segments: a medium-sized receive buffer window is allocated to segments from the telecom link (80M tag), and a slightly larger receive buffer window is allocated to segments from the mobile link (100M tag). Based on the sequence number and unified timestamp, it performs fast sorting, eliminating out-of-order stuttering caused by the clock difference between the two major operators' networks, and outputs a real-time video stream with no screen tearing and low latency after reassembly.
[0118] During terminal movement, such as when the terminal enters a certain area, the telecommunications link bandwidth temporarily shrinks to 30MHz due to cell handover. After the baseband information acquisition module detects this change in real time, the scheduling module automatically switches all I-frames (key frames) to the mobile broadband link (100MHz) within milliseconds to avoid transmission delays due to narrowband resource constraints. Simultaneously, some P-frames / B-frames are still allocated to the telecommunications link (at this time, the actual available bandwidth of the telecommunications link is 30MHz, still with transmission capacity). After the terminal moves to a new location and completes its new cell camp, the telecommunications link bandwidth recovers to 80MHz. Upon detecting the bandwidth recovery, the baseband automatically switches back to the original differentiated allocation strategy. The handover time is less than 10ms, and the video is uninterrupted and stutter-free.
[0119] The two application scenario examples above demonstrate the specific application methods of this invention under two typical operator spectrum combinations: narrowband and broadband, and dual broadband. They verify the outstanding advantages and versatility of this invention in scenarios with stringent requirements for uplink latency and spectrum utilization, such as industrial sensing and high-definition video backhaul.
[0120] Example 5
[0121] Figure 5 This is a schematic diagram of a data transmission device provided in Embodiment 5 of the present invention. Figure 5 As shown, the device includes:
[0122] The link information acquisition module 510 is used to acquire the physical layer status information of the first link through the baseband layer of the first communication protocol stack, and to acquire the physical layer status information of the second link through the baseband layer of the second communication protocol stack; the first link is the link between the first radio frequency path and the first public land mobile network cell, and the second link is the link between the second radio frequency path and the second public land mobile network cell.
[0123] The data allocation module 520 is used to allocate a first type of data in the target transmission data to the first link and allocate a second type of data in the target transmission data to the second link according to the physical layer status information of the first link and the physical layer status information of the second link.
[0124] The data transmission module 530 is used to send the allocated target transmission data to the server in parallel through the first link and the second link.
[0125] Optionally, the physical layer state information includes a first parameter characterizing the link transmission capability. The data allocation module 520 is specifically used for:
[0126] Based on the difference between the first link and the second link in the first parameter, the first type of data in the target transmission data is allocated to the first link, and the second type of data in the target transmission data is allocated to the second link;
[0127] The first type of data consists of signaling data packets or control data packets with a length less than or equal to a preset length threshold, while the second type of data consists of service data packets with a length greater than the preset length threshold. The transmission capability of the second link is superior to that of the first link.
[0128] Optionally, the physical layer state information further includes a second parameter characterizing the congestion level of each link. The apparatus also includes:
[0129] The link detection module is used to monitor the second parameter of the first link and the second link in real time after the target transmission data is allocated to the first link and the second link;
[0130] The data allocation adjustment module is used to reduce the data allocation ratio of the link and allocate the data on the link to another link when the congestion level represented by the second parameter of either the first link or the second link exceeds a preset threshold.
[0131] Optionally, the data allocation and adjustment module is specifically used for:
[0132] Calculate the difference between the congestion level represented by the second parameter of the link and a preset baseline value;
[0133] When the difference exceeds the first preset threshold, the data allocation weight of the link is gradually reduced by a preset step size, and the larger the difference, the greater the reduction.
[0134] When the adjusted data allocation weight is lower than the second preset threshold, the allocation ratio of the second type of data on the link is reduced to zero, and the data belonging to the heartbeat packet or keep-alive signaling in the first type of data of the link is retained.
[0135] Optionally, the data allocation adjustment module is further configured to:
[0136] When the congestion level of the link is detected to return to below the first preset threshold, the first type of data in the target transmission data is reassigned to the first link and the second type of data in the target transmission data is reassigned to the second link based on the physical layer status information of the first link and the physical layer status information of the second link.
[0137] Optionally, the device further includes:
[0138] The fragmentation processing module is used to fragment at least a portion of the data in the target transmission data through the direct memory access hardware engine built into the chip of the communication terminal before sending the allocated target transmission data to the server in parallel through the first link and the second link, so as to obtain multiple data fragments.
[0139] The identification information adding module is used to add fragment identification information to each data fragment. The fragment identification information includes: a unique sequence number, the link attribute identification information of the link to which the data fragment is allocated, and a unified timestamp.
[0140] Optionally, the device further includes:
[0141] The fault switching module is used to switch all the unsent data of the first link to another link within a preset switching time when the uplink transmission capability represented by the first parameter in the physical layer status information of either the first link or the second link drops below a third preset threshold or the link is disconnected.
[0142] The recovery processing module is used to cache data packets that the communication terminal has not yet sent, and after the faulty link is restored, reallocate the first type of data in the target transmission data to the first link and the second type of data in the target transmission data to the second link according to the physical layer status information of the first link and the physical layer status information of the second link.
[0143] The data transmission device provided in the embodiments of the present invention can execute the data transmission method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of executing the method.
[0144] Example 6
[0145] Figure 6This is a schematic diagram of a data transmission device provided in Embodiment Six of the present invention, which is configured in a server. Figure 6 As shown, the device includes:
[0146] The data receiving module 610 is used to receive data from the first link through a first receiving port and data from the second link through a second receiving port; the data carries link attribute identification information corresponding to the link transmitting the data;
[0147] The transmission feature identification module 620 is used to identify the transmission features of the link corresponding to each data according to the link attribute identification information;
[0148] The data restoration module 630 is used to combine and process data transmitted through different links according to the transmission characteristics to obtain complete target transmission data.
[0149] Optionally, the data from the first link and / or the data from the second link are multiple data fragments generated by the communication terminal after performing fragmentation processing on the target transmission data; wherein, the data fragment carries fragment identification information, which includes: a unique sequence number, the link attribute identification information of the link to which the data fragment is allocated, and a unified timestamp.
[0150] Optionally, the data restoration module 630 is specifically used for:
[0151] Based on the transmission resource level represented by the link attribute identification information, a corresponding receive buffer window is allocated to the data fragments transmitted on different links; wherein, the lower the transmission resource level, the smaller the receive buffer window is allocated.
[0152] Based on the unique sequence number and the unified timestamp, the data fragments within the receiving buffer window are sorted and the sorted data fragments are combined to obtain complete target transmission data.
[0153] Optionally, the data restoration module 630 is further configured to:
[0154] Before combining the sorted data fragments, discard duplicate data fragments and / or request the communication terminal to retransmit missing data fragments.
[0155] Example 7
[0156] Figure 7A schematic diagram of an electronic device 70 that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.
[0157] like Figure 7 As shown, the electronic device 70 includes at least one processor 71 and a memory, such as a read-only memory (ROM) 72 and a random access memory (RAM) 73, communicatively connected to the at least one processor 71. The memory stores computer programs executable by the at least one processor. The processor 71 can perform various appropriate actions and processes based on the computer program stored in the ROM 72 or loaded into the RAM 73 from storage unit 78. The RAM 73 can also store various programs and data required for the operation of the electronic device 70. The processor 71, ROM 72, and RAM 73 are interconnected via a bus 74. An input / output (I / O) interface 75 is also connected to the bus 74.
[0158] Multiple components in electronic device 70 are connected to I / O interface 75, including: input unit 76, such as keyboard, mouse, etc.; output unit 77, such as various types of monitors, speakers, etc.; storage unit 78, such as disk, optical disk, etc.; and communication unit 79, such as network card, modem, wireless transceiver, etc. Communication unit 79 allows electronic device 70 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0159] Processor 71 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 71 include, but are not limited to, central processing units, graphics processing units, various special-purpose artificial intelligence computing chips, various processors running machine learning model algorithms, digital signal processors, and any suitable processor, controller, microcontroller, etc. Processor 71 performs the various methods and processes described above, such as data transfer methods.
[0160] In some embodiments, the data transfer method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 78. In some embodiments, part or all of the computer program may be loaded and / or installed on electronic device 70 via ROM 72 and / or communication unit 79. When the computer program is loaded into RAM 73 and executed by processor 71, one or more steps of the data transfer method described above may be performed. Alternatively, in other embodiments, processor 71 may be configured to perform the data transfer method by any other suitable means (e.g., by means of firmware).
[0161] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays, application-specific integrated circuits (ASICs), application-specific standard products (ASICs), systems-on-a-chip (SoCs), complex programmable logic devices, computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0162] In some embodiments, the data transmission method may be implemented as a computer program, which is implicitly included in a computer program product. When executed by a processor, the computer program implements the data transmission method of the present invention. The computer program product can be understood as a software product that primarily implements its solution through a computer program. The computer program used to implement the method of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer program causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The computer program may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0163] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory, optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0164] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a cathode ray tube or liquid crystal display monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0165] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0166] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.
[0167] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.
[0168] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.
Claims
1. A data transmission method, applied to a communication terminal supporting dual SIM dual pass, characterized in that, The communication terminal has built-in independent first and second radio frequency paths, a first communication protocol stack corresponding to the first radio frequency path, and a second communication protocol stack corresponding to the second radio frequency path; the method includes: The physical layer status information of the first link is obtained through the baseband layer of the first communication protocol stack, and the physical layer status information of the second link is obtained through the baseband layer of the second communication protocol stack; wherein, the first link is the link between the first radio frequency path and the first public land mobile network cell, and the second link is the link between the second radio frequency path and the second public land mobile network cell. Based on the physical layer status information of the first link and the physical layer status information of the second link, the first type of data in the target transmission data is allocated to the first link, and the second type of data in the target transmission data is allocated to the second link; The allocated target transmission data is sent to the server in parallel via the first link and the second link.
2. The method according to claim 1, characterized in that, The physical layer state information includes a first parameter characterizing the link transmission capability; the step of allocating a first type of data in the target transmission data to the first link and allocating a second type of data in the target transmission data to the second link based on the physical layer state information of the first link and the physical layer state information of the second link includes: Based on the difference between the first link and the second link in the first parameter, the first type of data in the target transmission data is allocated to the first link, and the second type of data in the target transmission data is allocated to the second link; The first type of data consists of signaling data packets or control data packets with a length less than or equal to a preset length threshold, while the second type of data consists of service data packets with a length greater than the preset length threshold. The transmission capability of the second link is superior to that of the first link.
3. The method according to claim 1, characterized in that, The physical layer state information also includes a second parameter characterizing the congestion level of each link; the method further includes: After the target transmission data is allocated to the first link and the second link, the second parameter of the first link and the second link is monitored in real time; When the congestion level represented by the second parameter of either the first link or the second link exceeds a preset threshold, the data allocation ratio of the link is reduced, and the data on the link is allocated to another link.
4. The method according to claim 3, characterized in that, The reduction of the data allocation ratio of the link includes: Calculate the difference between the congestion level represented by the second parameter of the link and a preset baseline value; When the difference exceeds the first preset threshold, the data allocation weight of the link is gradually reduced by a preset step size, and the larger the difference, the greater the reduction. When the adjusted data allocation weight is lower than the second preset threshold, the allocation ratio of the second type of data on the link is reduced to zero, and the data belonging to the heartbeat packet or keep-alive signaling in the first type of data of the link is retained.
5. The method according to claim 4, characterized in that, After reducing the data allocation ratio of the aforementioned link, the following is also included: When the congestion level of the link is detected to return to below the first preset threshold, the first type of data in the target transmission data is reassigned to the first link and the second type of data in the target transmission data is reassigned to the second link based on the physical layer status information of the first link and the physical layer status information of the second link.
6. The method according to claim 1, characterized in that, Before sending the allocated target transmission data to the server in parallel via the first link and the second link, the process further includes: The direct memory access hardware engine built into the chip of the communication terminal performs fragmentation processing on at least a portion of the target transmission data to obtain multiple data fragments. Add fragment identification information to each data fragment. The fragment identification information includes: a unique sequence number, the link attribute identification information of the link to which the data fragment is assigned, and a unified timestamp.
7. The method according to claim 1, characterized in that, Also includes: When the uplink transmission capability represented by the first parameter in the physical layer state information of either the first link or the second link drops below a third preset threshold or the link is disconnected, all the data that has not yet been transmitted on the first link is switched to the other link within a preset switching time. The communication terminal caches data packets that have not yet been sent, and waits for the faulty link to be restored. Then, based on the physical layer status information of the first link and the physical layer status information of the second link, the first type of data in the target transmission data is reassigned to the first link, and the second type of data in the target transmission data is reassigned to the second link.
8. A data transmission method applied to a server, characterized in that, The server is communicatively connected to a communication terminal that supports dual SIM dual pass, and the communication terminal transmits target data according to the data transmission method described in any one of claims 1-7, the method comprising: Data is received from the first link through a first receiving port, and data is received from the second link through a second receiving port; the data carries link attribute identification information corresponding to the link transmitting the data. The transmission characteristics of each data link are identified based on the link attribute identification information; Based on the transmission characteristics, data transmitted through different links are combined and processed to obtain complete target transmission data.
9. The method according to claim 8, characterized in that, The data from the first link and / or the data from the second link are multiple data fragments generated by the communication terminal after performing fragmentation processing on the target transmission data; wherein, the data fragment carries fragment identification information, which includes: a unique sequence number, the link attribute identification information of the link to which the data fragment is allocated, and a unified timestamp.
10. The method according to claim 9, characterized in that, Based on the transmission characteristics, data transmitted through different links are combined and processed to obtain complete target transmission data, including: Based on the transmission resource level represented by the link attribute identification information, a corresponding receive buffer window is allocated to the data fragments transmitted on different links; wherein, the lower the transmission resource level, the smaller the receive buffer window is allocated. Based on the unique sequence number and the unified timestamp, the data fragments within the receiving buffer window are sorted and the sorted data fragments are combined to obtain complete target transmission data.
11. The method according to claim 10, characterized in that, Before combining the sorted data fragments, the following steps are also included: Discard duplicate data fragments and / or request the communication terminal to retransmit missing data fragments.
12. A data transmission device, applied to a communication terminal supporting dual SIM dual pass, characterized in that, The communication terminal has built-in independent first and second radio frequency paths, a first communication protocol stack corresponding to the first radio frequency path, and a second communication protocol stack corresponding to the second radio frequency path; the device includes: The link information acquisition module is used to acquire the physical layer status information of the first link through the baseband layer of the first communication protocol stack, and to acquire the physical layer status information of the second link through the baseband layer of the second communication protocol stack; wherein, the first link is the link between the first radio frequency path and the first public land mobile network cell, and the second link is the link between the second radio frequency path and the second public land mobile network cell. The data allocation module is used to allocate a first type of data in the target transmission data to the first link and allocate a second type of data in the target transmission data to the second link according to the physical layer status information of the first link and the physical layer status information of the second link. The data transmission module is used to send the allocated target transmission data to the server in parallel through the first link and the second link.
13. A data transmission device, applied to a server, characterized in that, The server is communicatively connected to a communication terminal supporting dual SIM dual pass, and the communication terminal transmits target data according to the data transmission method described in any one of claims 1-7. The apparatus includes: The data receiving module is used to receive data from the first link through a first receiving port and data from the second link through a second receiving port; the data carries link attribute identification information corresponding to the link transmitting the data; A transmission feature identification module is used to identify the transmission features of the link corresponding to each data based on the link attribute identification information; The data transmission restoration module is used to combine and process data transmitted through different links according to the transmission characteristics to obtain complete target transmission data.
14. An electronic device, characterized in that, The electronic device includes: At least one processor; and a memory communicatively connected to the at least one processor; The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to perform the data transmission method according to any one of claims 1-11.
15. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that are used to cause a processor to execute the data transmission method according to any one of claims 1-11.
16. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the data transmission method according to any one of claims 1-11.