Data transmission method and device, electronic equipment and storage medium
By dynamically adjusting the shard size and distribution strategy of multi-path transmission, the problem of inability to fully utilize high bandwidth paths in traditional technologies is solved, and more efficient and reliable data transmission is achieved.
Patent Information
- Application Number
- CN202510614321.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-13
- Publication Date
- 2025-06-13
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
In multipath transmission, traditional fixed-size sharding mechanisms cannot fully utilize high bandwidth paths, and at the same time lead to low bandwidth paths overload.
By collecting path performance indicator information of multiple transmission paths, dynamically adjusting the shard size, and determining the distribution order of data shards based on the path distribution weight to optimize data transmission.
Ensure that each path sends data at a speed close to its maximum transmission capability, improves overall transmission efficiency, reduces packet loss, and improves the reliability and stability of data transmission.
Smart Images

Figure CN120151293A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of the present disclosure relate to the technical field of data transmission, and in particular, to a method, an apparatus, an electronic device, and a computer-readable storage medium for data transmission. Background Art
[0002] In multipath transmission, the performance differences between different paths are relatively large. The traditional fixed-size fragmentation mechanism may not be able to fully utilize high-bandwidth paths, and at the same time, it may cause low-bandwidth paths to be overloaded. Summary of the Invention
[0003] Embodiments of the present disclosure provide a method, an apparatus, an electronic device, and a computer-readable storage medium for data transmission, aiming to solve at least one of the technical problems in the related art to a certain extent.
[0004] In a first aspect, embodiments of the present disclosure provide a method for data transmission, which is executed by a data sender, and the method includes: Collecting path performance metric information of multiple transmission paths; Determining the fragmentation size of the transmission path according to the path performance metric information of the transmission path and the data volume of the data to be transmitted; Dividing the data to be transmitted into multiple data fragments based on the fragmentation sizes corresponding to the multiple transmission paths; Sending each data fragment to a data receiver through the corresponding transmission path based on the path distribution weights corresponding to the multiple transmission paths.
[0005] In a second aspect, embodiments of the present disclosure provide a method for data transmission, which is executed by a data receiver, and the method includes: Receiving each data fragment of the data to be transmitted sent by a data sender through multiple transmission paths, where each data fragment is divided according to the path performance metric information of the transmission path; Recombining each data fragment according to the sequence information corresponding to each data fragment to obtain the data to be transmitted.
[0006] In a third aspect, embodiments of the present disclosure further provide a data transmission apparatus, and the apparatus includes: A collection module, configured to collect path performance metric information of multiple transmission paths; A determination module, configured to determine the fragmentation size of the transmission path according to the path performance metric information of the transmission path and the data volume of the data to be transmitted; A division module, configured to divide the data to be transmitted into multiple data fragments based on the fragmentation sizes corresponding to the multiple transmission paths; A sending module, configured to send each of the data shards to a data receiving end through the corresponding transmission path based on the path distribution weights corresponding to the multiple transmission paths.
[0007] In a fourth aspect, an embodiment of the present disclosure further provides a data transmission device, which includes: A first receiving module, configured to receive each data shard of the data to be transmitted sent by a data sending end through multiple transmission paths, where the data shards are divided according to the path performance index information of the transmission paths; A recombination module, configured to recombine each of the data shards according to the sequence information corresponding to each data shard to obtain the data to be transmitted.
[0008] In a fifth aspect, an embodiment of the present disclosure further provides an electronic device, which includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the computer program is executed by the processor, the steps in the above-mentioned data transmission method are implemented.
[0009] In a sixth aspect, an embodiment of the present disclosure further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned data transmission method are implemented.
[0010] In a seventh aspect, an embodiment of the present disclosure further provides a computer program product or a computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the methods provided in various optional implementation manners of the embodiments of the present disclosure.
[0011] In the embodiments of the present disclosure, first, the path performance index information of multiple transmission paths is collected, then the shard size of the transmission path is determined according to the path performance index information of the transmission path and the data volume of the data to be transmitted, then the data to be transmitted is divided into multiple data shards based on the shard sizes corresponding to the multiple transmission paths, and finally, each data shard is sent to a data receiving end through the corresponding transmission path based on the path distribution weights corresponding to the multiple transmission paths. Thus, the shard size of each path is dynamically adjusted. This can ensure that each path can send data at a speed close to its maximum transmission capacity, thereby improving the overall transmission efficiency. The distribution order of the data shards is determined based on the path distribution weights, and the paths with better performance are preferentially used to transmit the data shards.
[0012] It should be understood that the above general description and the following detailed description are only exemplary and explanatory, and cannot limit the present disclosure. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] In order to more clearly illustrate the technical solutions in the present disclosure, the following will briefly introduce the drawings required for description in the embodiments. Obviously, the drawings in the following description are only some embodiments of the present invention, and those skilled in the art can obtain other drawings based on these drawings without creative efforts.
[0014] Figure 1 is a schematic flowchart of a data transmission method provided in the first embodiment of the present disclosure; Figure 2 is a schematic flowchart of a data transmission method provided in the second embodiment of the present disclosure; Figure 3 is a schematic structural diagram of a data transmission device provided in the embodiments of the present disclosure; Figure 4 is a schematic structural diagram of another data transmission device provided in the embodiments of the present disclosure; Figure 5 is a schematic structural diagram of an electronic device provided in the embodiments of the present disclosure. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0015] Here, some embodiments of the present disclosure will be described in detail, and their examples are shown in the drawings. When the following description involves the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. Various changes, modifications, and equivalents of the methods, devices, and / or systems described herein will become apparent after understanding the present disclosure. For example, the order of the operations described herein is only an example and is not limited to those set forth herein. Instead, it can be changed as will be apparent after understanding the present disclosure, except for operations that must be performed in a specific order. In addition, for the sake of clarity and conciseness, the description of features known in the art may be omitted.
[0016] The embodiments described in some of the following embodiments of the present disclosure do not represent all embodiments consistent with the present disclosure. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present disclosure as detailed in the appended claims.
[0017] It should be noted that the execution subject of the data transmission method in this embodiment can be a data transmission device, and this device can be configured in any type of electronic device, such as a tablet computer, a television, a mobile phone, a watch, a computer, etc., which is not limited herein.
[0018] It should be noted that the following description order of the embodiments is not a limitation on the priority order of the embodiments.
[0019] Figure 1 It is a schematic flowchart of a data transmission method provided according to the first embodiment of the present disclosure.
[0020] As Figure 1 shown, this method is executed by the data sender, and the method includes: Step 101, collect path performance metric information of multiple transmission paths.
[0021] Optionally, the path performance metrics include at least one of the following: Available bandwidth, transmission delay, and real-time packet loss rate.
[0022] Among them, the bandwidth is the available bandwidth of the current path, that is, the maximum data transmission rate that the path can support without affecting network performance. Bandwidth is an important indicator to measure network capacity and transmission ability, and is crucial for ensuring high data throughput and low-latency transmission.
[0023] Among them, the delay refers to the one-way transmission delay of the path, that is, the time required for data to travel from the sender to the receiver. Low delay can ensure a better user experience and system performance.
[0024] Among them, the packet loss rate refers to the real-time packet loss rate of the path, that is, the proportion of packets lost during transmission. The packet loss rate directly affects the reliability and integrity of data transmission. A high packet loss rate may lead to data loss, retransmission, and increased delay, thus reducing network performance.
[0025] Optionally, in an actual network, there are usually multiple transmission paths, and the performance of each path may vary due to factors such as network topology, device configuration, traffic load, and external environment. Therefore, the path status monitoring module needs to be able to collect and analyze the performance metrics of multiple paths simultaneously. For example, network monitoring tools or software such as SNMP (Simple Network Management Protocol), NetFlow, sFlow, etc. can be used to collect the performance data of network devices. Deploy dedicated probe nodes or agents to calculate the delay and packet loss rate by actively sending probe packets and measuring their transmission time. Utilize existing network traffic data to estimate the available bandwidth through statistical analysis. The multiple transmission paths can include StarFlash paths, wifi paths, wired paths, 5G paths, Bluetooth paths, etc., which are not limited here.
[0026] Among them, the SparkLink path can be understood as a combination of a series of nodes, channels, or policies that data passes through from the sending end to the receiving end in a SparkLink communication network. These paths may vary due to factors such as network topology, device distribution, and channel conditions, but they are all affected by the technical characteristics of SparkLink, such as high-precision clock synchronization, low latency, and high reliability. In the multi-path transmission scenario of SparkLink technology, data may be divided into multiple data packets and transmitted simultaneously through different paths. To ensure that the data can be correctly reorganized at the receiving end, SparkLink technology adopts advanced fragmentation and recombination mechanisms. These mechanisms utilize the high-precision clock synchronization and low-latency characteristics of the SparkLink protocol to achieve efficient transmission and consistency of data in a multi-path environment through intelligent fragmentation, dynamic distribution, and efficient recombination.
[0027] Step 102, determine the fragmentation size of the transmission path according to the path performance index information of the transmission path and the data volume of the data to be transmitted.
[0028] As a possible implementation method, the path performance index information is the available bandwidth information and the real-time packet loss rate of the transmission path.
[0029] Optionally, it can be determined that the fragmentation size of the transmission path is determined according to the available bandwidth and real-time packet loss rate of any transmission path and the data volume of the data to be transmitted, as shown in the following formula:
[0030] Among them, represents the fragmentation size of transmission path j, represents the data volume of the data to be transmitted, represents the available bandwidth of transmission path j, represents the real-time packet loss rate of transmission path j, n represents the total number of multiple transmission paths, represents any one of the n transmission paths.
[0031] Thus, the fragmentation size of the high packet loss path can be reduced to improve fault tolerance. If the impact of packet loss on data fragmentation is not considered, allocating a large amount of data to the high packet loss path may lead to frequent retransmissions. Thus, the amount of data fragmented in a single time for the high packet loss path can be reduced to improve the transmission success rate.
[0032] It should be noted that during the data transmission process, to ensure the integrity, order, and timeliness of the data, a path identifier (PID), a sequence number (SEQ), and a timestamp (TS) can be attached to each fragmented data packet. These information are used for verifying and reorganizing the data packets at the receiving end, and the specific functions are as follows: Path Identification (PID): Used to identify the transmission path of data packets. In a complex network environment, data packets may reach the receiving end through multiple paths. With the PID, the receiving end can distinguish data packets from different paths, enabling operations such as path selection, load balancing, or fault recovery. The PID is usually a unique identifier associated with the network path. Before sending a data packet, the sending end assigns a PID to each data packet and attaches it to the packet.
[0033] Sequence Number (SEQ): Used to identify the order of data packets. During the process of fragmented data transmission, data packets may arrive at the receiving end in different orders. With the SEQ, the receiving end can reconstruct the data packets in the correct order to ensure data integrity. The SEQ is usually an incrementing integer that starts from the first data packet, and the SEQ value of each subsequent data packet increases sequentially. Before sending a data packet, the sending end assigns a SEQ to each data packet and attaches it to the packet.
[0034] Timestamp (TS): Used to identify the sending time of a data packet. With the TS, the receiving end can calculate the transmission delay of the data packet, evaluate network performance, or perform time synchronization operations. Additionally, the TS can be used for retransmission control of data packets. When a data packet is lost or transmitted incorrectly, the sending end can determine whether to retransmit the data packet based on the TS information. The TS is usually the current time when the data packet is sent and is attached to the data packet in the form of a timestamp. The precision of the timestamp can be adjusted according to actual requirements to meet different application scenarios.
[0035] Step 103: Divide the data to be transmitted into multiple data fragments based on the fragment sizes corresponding to multiple transmission paths.
[0036] Specifically, first, calculate the total number of data fragments that need to be divided based on the total size of the data to be transmitted and the fragment size of each path. For example, assume the total size of the file to be transmitted is 1 GB (i.e., 1024 MB), and there are two paths available. The fragment size of one path is 500 MB, and the fragment size of the other path is 524 MB.
[0037] Divide the data to be transmitted into multiple data fragments according to the calculated fragment sizes. File operation functions or libraries in programming languages can be used to implement this process. During the fragmentation process, some metadata can be added to each data fragment, such as fragment number, path identification, checksum, etc., to facilitate recombination and verification at the receiving end. Distribute the divided data fragments to different transmission paths according to a predetermined strategy.
[0038] Step 104: Send each data fragment to the data receiving end through the corresponding transmission path based on the path distribution weights corresponding to multiple transmission paths.
[0039] Optionally, if the data to be transmitted is delay-sensitive data, determine the path distribution weight corresponding to any transmission path according to the available bandwidth, transmission delay, and real-time packet loss rate of any transmission path.
[0040] Among them, the distribution weight formula for delay-sensitive data is:
[0041] Among them, 、 and are the delay weight, bandwidth weight, and packet loss rate weight respectively, which can be dynamically configured. represents the delay of transmission path j. represents the path distribution weight of transmission path j in the delay-sensitive data. represents the available bandwidth of transmission path j. represents the real-time packet loss rate of transmission path j.
[0042] For example, if 、 、 , the path with the lowest delay has the highest priority, and the sub-optimal bandwidth or packet loss rate only plays a fine-tuning role.
[0043] Optionally, if the data to be transmitted is non-delay-sensitive data, determine the path distribution weight corresponding to any transmission path according to the available bandwidth and real-time packet loss rate of any transmission path.
[0044] Among them, the distribution weight formula for non-delay-sensitive data is:
[0045] Among them, represents the path distribution weight of transmission path j in the non-delay-sensitive data. represents the available bandwidth of transmission path j. represents the real-time packet loss rate of transmission path j, considering both bandwidth and packet loss rate to balance throughput and reliability.
[0046] Optionally, if the data to be transmitted is delay-sensitive data, determine the path distribution weight corresponding to any transmission path according to the transmission delay of any transmission path.
[0047] It should be noted that in the related art, delay-sensitive data is fixedly preferentially distributed to the SparkLink path without dynamically adapting to real-time performance differences. In the embodiments of the present disclosure, delay-sensitive data can be distributed to the path with the lowest current real-time delay. SparkLink is likely to be selected due to its inherent low-delay characteristics, but when there is an occasional high delay, it is automatically taken over by other paths.
[0048] It can be understood that the smaller the transmission delay, the higher the path distribution weight corresponding to the transmission path. If the transmission delay of any transmission path is the smallest, it is determined that the path distribution weight corresponding to any transmission path is the highest.
[0049] It should be noted that the higher the path distribution weight, the higher the degree of priority use of this path during transmission.
[0050] In the embodiments of the present disclosure, the distribution order of data shards can be determined according to the distribution weights of each path. Generally speaking, paths with higher weights will give priority to sending data shards to ensure that important or urgent data can reach the receiving end as soon as possible. For example, assume there are three transmission paths A, B, and C, and their distribution weights are 0.5, 0.3, and 0.2 respectively. When sending data shards, they can be distributed in the order of A, B, and C, that is, first send through path A, and when the bandwidth or capacity of path A reaches a certain level, then send the remaining data shards through paths B and C. Then, based on the determined distribution order, each data shard can be sent to the data receiving end through the corresponding transmission path. During the distribution process, the following strategies can be adopted: Polling distribution: Poll each path according to the distribution order and send the data shards to each path in turn. This strategy is simple and easy to implement, but may not fully utilize the bandwidth of each path. Weighted polling distribution: According to the distribution weights of each path, allocate the data shards to each path proportionally. This strategy can better utilize the bandwidth of each path and improve the transmission efficiency. Dynamically adjust the distribution strategy: During the transmission process, monitor the performance changes of each path in real time and dynamically adjust the distribution strategy according to the actual situation. For example, when the bandwidth of a certain path suddenly drops, the number of data shards sent through this path can be reduced to avoid congestion and packet loss.
[0051] Optionally, the data sending end can receive a data retransmission instruction sent by the data receiving end. The retransmission instruction contains the sequence information of any data shard. Based on the sequence information of any data shard and the transmission path corresponding to any data shard, send any data shard to the data receiving end.
[0052] Specifically, when the data receiving end discovers that a certain data fragment is lost or damaged during transmission, it will send a data retransmission indication to the data sending end. This retransmission indication contains the sequence information of the lost or damaged data fragment, so that the data sending end can accurately identify the data fragment that needs to be retransmitted. After receiving the retransmission indication, the data sending end will immediately find the corresponding data fragment according to the sequence information in the indication. At the same time, it will also check which transmission path the data fragment was originally sent through, so as to select the same path or a better path according to the current network conditions when retransmitting. Subsequently, the data sending end will retransmit the data fragment to the data receiving end to ensure the integrity and accuracy of the data. This process effectively improves the reliability of data transmission and reduces the possibility of data loss and damage.
[0053] In summary, in the embodiments of the present disclosure, the fragment size of each path can be dynamically adjusted according to the performance metrics of the transmission path (such as bandwidth, latency, packet loss rate) and the data volume of the data to be transmitted. This can ensure that each path can send data at a speed close to its maximum transmission capacity, thereby improving the overall transmission efficiency. Determine the distribution order of data fragments based on the path distribution weight, and preferentially use the paths with better performance to transmit data fragments. This can shorten the total time of data transmission, especially in an environment where network conditions are complex and changeable. Through reasonable fragment size and distribution strategies, the packet loss phenomenon caused by network congestion or path failures can be reduced. Even if packet loss occurs, the lost data fragments can be quickly recovered through the retransmission mechanism to ensure the integrity and consistency of the data. Divide the data into multiple data fragments and transmit them simultaneously through multiple paths, which can disperse the transmission risk. Even if a certain path fails, other paths can still continue to transmit data, improving the fault tolerance of the transmission. Dynamically adjusting the fragment size and distribution strategy according to the path performance metrics can make more full use of the bandwidth resources of each path and avoid waste of network resources. Through a reasonable distribution strategy, the data transmission load can be evenly distributed to each path, avoiding the situation where some paths are overloaded while other paths are idle, and improving the overall utilization rate of the network. Improving the transmission efficiency and reliability means that users can receive complete data faster, shortening the waiting time and enhancing the user experience. In multi-path transmission, even if a certain path fails, users can still receive data through other paths, enhancing the stability of data transmission.
[0054] Figure 2 It is a schematic flowchart of a data transmission method according to the second embodiment of the present disclosure.
[0055] As Figure 2 shown, this method is executed by the data receiving end, and this method includes: Step 201: Receive each data shard of the data to be transmitted sent by the data sender through multiple transmission paths, where each data shard is divided according to the path performance metric information of the transmission path.
[0056] Specifically, when the data receiver receives the data to be transmitted sent by the data sender through multiple transmission paths, it will first receive each data shard that has been divided according to the path performance metric information of the transmission path. These data shards are reasonably divided based on performance metrics such as the bandwidth, latency, and packet loss rate of the path to ensure that each transmission path can efficiently utilize its resources. During the receiving process, the receiver will identify and distinguish data shards from different transmission paths. It may determine the source and order of each data shard based on the identification information (such as path identification, shard sequence number, etc.) in the data shard. Subsequently, the receiver will perform a data integrity check on each received data shard to ensure that the data has not been damaged or lost during transmission.
[0057] Optionally, a data integrity check can be performed on each data shard. In the case where the data integrity check corresponding to any data shard fails, a data retransmission instruction is sent to the data sender. The retransmission instruction contains the sequence information of any data shard, and then the data sender retransmits any data shard.
[0058] Specifically, during data transmission, to ensure the integrity of each data shard, the receiver will perform a data integrity check on each received data shard. This check process is usually completed by calculating the checksum or hash value of the data shard and comparing it with the check information provided by the sender. If it is found during the check process that the data integrity check of any data shard fails, that is, the checksum or hash value does not match, the receiver will immediately send a data retransmission instruction to the data sender. This retransmission instruction contains the sequence information of the data shard with the failed check, so that the sender can accurately identify the data shard that needs to be retransmitted. After receiving the retransmission instruction, the data sender will retransmit the corresponding data shard according to the sequence information in the instruction. After receiving the retransmitted data shard, the receiver will perform a data integrity check again until all data shards pass the check, ensuring the integrity and accuracy of the data.
[0059] Optionally, a hash algorithm (such as MD5 or SHA-256) can be used to perform an integrity check on the received data shards. If the check fails, mark it as an error shard and trigger the retransmission mechanism.
[0060] Optionally, the receiving order of each data shard can be adjusted according to the timestamp corresponding to each data shard.
[0061] It is understandable that the reception order of each data shard can be adjusted according to its timestamp. By comparing the sequence of timestamps, it is ensured that the data shards are correctly reorganized in the order of transmission. This helps to restore the integrity of the data at the receiving end, and even if the data shards arrive at the receiving end in a different order through the network, the original data can be accurately restored.
[0062] Step 202: Reorganize each data shard according to the corresponding sequence information of each data shard to obtain the data to be transmitted.
[0063] Optionally, in response to determining that any data shard is lost, a data retransmission instruction is sent to the data sender. The retransmission instruction contains the sequence information of any data shard, and then any data shard retransmitted by the data sender is received.
[0064] During data transmission, the receiving end receives each data shard sent through multiple transmission paths. These data shards are reasonably divided according to the performance index information of the transmission paths and carry corresponding sequence information for reorganization at the receiving end. After receiving the data shards, the receiving end reorganizes each data shard in a predetermined order according to this sequence information. During the reorganization process, the receiving end may find that some data shards are lost or not successfully received. At this time, the receiving end will send a data retransmission instruction to the data sender in response to this determination. The retransmission instruction will contain the sequence information of the lost data shard so that the data sender can accurately identify the data shard that needs to be retransmitted.
[0065] After receiving the retransmission instruction, the data sender will retransmit the corresponding data shard according to the sequence information in the instruction. After receiving the retransmitted data shard, the receiving end will perform data integrity verification again and insert it into the correct position to continue the reorganization process. In this way, the receiving end can ensure that all data shards are successfully received and reorganized in the correct order, and finally obtain the complete data to be transmitted. This process not only ensures the integrity of the data, but also improves the reliability and stability of data transmission.
[0066] As a possible implementation method, after the receiving end receives the fragmented data packets sent through multiple transmission paths, it first needs to sort the data according to the sequence number (SequenceNumber) and path identifier (PathID) of each data packet. The sequence number is used to identify the position of the data packet in the original data stream, while the path identifier is used to distinguish which transmission path the data packet is sent through. The receiving end maintains a data buffer and inserts the data packets into the correct position according to the sequence number and path identifier to ensure that the order of the data packets is consistent with the original data stream. During data transmission, due to network congestion, device failures, etc., some data packets may be lost. To recover the lost data fragments, the original solution mainly relies on the retransmission mechanism. The revised solution adds a redundant fragment strategy on this basis.
[0067] Optionally, when the real-time packet loss rate of a certain transmission path exceeds a set threshold (such as 0.1), the sending end will automatically generate redundant fragments for the data fragments on this path. The number of redundant fragments can be dynamically adjusted according to the packet loss rate and the importance of the data packets. For example, forward error correction coding technology can be used to generate redundant fragments by adding certain redundant information.
[0068] It should be noted that the generation formula of the redundant fragments can be designed according to specific requirements to ensure that enough redundant fragments can be generated to recover the lost data when the packet loss rate is high. The following is an exemplary formula:
[0069] where is the number of redundant fragments.
[0070] It should be noted that at the receiving end, if it detects that a data packet is lost, it will first try to use the redundant fragments to recover the lost data. If the redundant fragments cannot recover the lost data, or there are no redundant fragments available, the receiving end will trigger the retransmission mechanism and send a retransmission request to the sending end.
[0071] It can be understood that after the data sorting and the recovery of the lost data are completed, the receiving end needs to splice the reorganized data fragments into a complete data stream in order. This process needs to ensure that the order of the data packets is consistent with the original data stream and no data packets are lost. To further improve the reliability of data transmission, the revised solution also adds a path blacklist mechanism. If a certain transmission path is continuously monitored (such as set to be continuously 3 times or more) with a packet loss rate exceeding the threshold or other performance indicators not meeting the standards, then this path will be added to the blacklist. The path added to the blacklist will be suspended from use and trigger an alarm mechanism to notify the network administrator or automatically switch to the backup path. Through the path blacklist mechanism, the continuous use of transmission paths with poor performance can be avoided, thereby improving the overall reliability and stability of data transmission.
[0072] In summary, the receiving data sender receives each data shard of the data to be transmitted sent through multiple transmission paths, and these shards are reasonably divided based on the performance metric information of the transmission paths. At the receiving end, according to the sequence information corresponding to each data shard, these shards can be accurately recombined to restore the complete data to be transmitted. The effect of this process is to significantly improve the flexibility and reliability of data transmission, ensuring the integrity and sequentiality of the data after transmission over multiple paths. At the same time, by reasonably dividing and recombining data shards, the utilization of network resources is also optimized, improving the efficiency of data transmission and providing strong guarantee for data transmission in various complex network environments.
[0073] It should be noted that in existing multi-path transmission technologies, although data has been transmitted simultaneously through multiple paths to improve bandwidth utilization and transmission reliability, there are still some significant defects and deficiencies in data sharding and recombination. Especially in application scenarios such as vehicle-to-everything (V2X), industrial Internet of Things (IIoT), and real-time audio and video communication that have extremely high requirements for data transmission real-time, reliability, and consistency, these problems are particularly prominent.
[0074] Insufficient clock synchronization accuracy: In multi-path transmission, the out-of-order arrival of data packets is a common problem, mainly due to the delay differences of each path. To effectively solve this problem, a high-precision clock synchronization mechanism is required to ensure that data packets can arrive at the receiving end in the expected order. However, the clock synchronization accuracy in existing technologies often fails to meet this requirement, making it difficult to fundamentally solve the problem of out-of-order data.
[0075] Unintelligent sharding and distribution strategies: Existing sharding and distribution strategies often adopt a fixed-size sharding mechanism and cannot be dynamically adjusted according to the real-time performance of each path (such as bandwidth, delay, packet loss rate, etc.). This unintelligent sharding and distribution strategy may lead to bandwidth waste or overload on some paths, affecting the overall transmission efficiency.
[0076] Inefficient recombination mechanism: At the receiving end, data packets need to be recombined according to information such as their sequence numbers and path characteristics. However, the recombination mechanisms in existing technologies are often inefficient and cannot complete data recombination quickly and accurately. Especially in the case of dynamic changes in path states, the recombination delay and error rate may increase significantly.
[0077] Among them, the SparkLink protocol, as an emerging communication technology, has the characteristics of high-precision clock synchronization, low latency, and high reliability. These characteristics provide the possibility to solve the defects in existing technologies: High-precision clock synchronization: The high-precision clock synchronization mechanism of the SparkLink protocol can ensure that the delay differences between paths are accurately measured and compensated, thus effectively reducing the out-of-order arrival of data packets.
[0078] Low-latency feature: The low-latency feature of the SparkLink protocol can significantly reduce the transmission delay of data packets and improve the real-time performance of data transmission. This is particularly important for application scenarios such as vehicle-to-everything (V2X) and real-time audio and video communication.
[0079] High reliability: The high reliability of the SparkLink protocol can ensure that data packets are not easily lost or damaged during transmission, improving the reliability of data transmission. This is crucial for application scenarios such as industrial Internet of Things (IIoT) that require highly reliable data transmission.
[0080] In summary, the present invention effectively solves the defects and deficiencies existing in the prior art by combining the advantages of the SparkLink protocol. This method is applicable to application scenarios such as V2X, IIoT, and real-time audio and video communication, and can significantly improve the performance and reliability of multi-path data transmission.
[0081] To facilitate better implementation of the data transmission method of the present disclosure, the present disclosure also provides a data transmission device based on the above data transmission method. The meanings of the terms are the same as those in the above data transmission method, and the specific implementation details can be referred to the description in the method embodiments.
[0082] Please refer to Figure 3 , Figure 3 which is a schematic structural diagram of the data transmission device provided by the embodiments of the present disclosure. The data transmission device includes: An acquisition module 310, configured to acquire path performance index information of multiple transmission paths; A determination module 320, configured to determine the fragmentation size of the transmission path according to the path performance index information of the transmission path and the data volume of the data to be transmitted; A division module 330, configured to divide the data to be transmitted into multiple data fragments based on the fragmentation sizes corresponding to the multiple transmission paths; A sending module 340, configured to send each data fragment to a data receiving end through the corresponding transmission path based on the path distribution weights corresponding to the multiple transmission paths.
[0083] Optionally, the path performance index at least includes one of the following: Available bandwidth, transmission delay, and real-time packet loss rate.
[0084] Optionally, the path performance index information is the available bandwidth information and real-time packet loss rate of the transmission path, The determination module is specifically configured to: Determine the shard size of the transmission path according to the available bandwidth, real-time packet loss rate of any transmission path, and the data volume of the data to be transmitted.
[0085] Optionally, the apparatus further includes: A first determination module, configured to, if the data to be transmitted is delay-sensitive data, determine the path distribution weight corresponding to any transmission path according to the available bandwidth, transmission delay, and real-time packet loss rate of any transmission path; A second determination module, configured to, if the data to be transmitted is non-delay-sensitive data, determine the path distribution weight corresponding to any transmission path according to the available bandwidth and real-time packet loss rate of any transmission path; A third determination module, configured to, if the data to be transmitted is delay-sensitive data, determine the path distribution weight corresponding to any transmission path according to the transmission delay of any transmission path.
[0086] Optionally, the sending module is specifically configured to: Determine the distribution order corresponding to the multiple transmission paths according to the path distribution weights corresponding to the multiple transmission paths; Based on the distribution order, send each data shard to the data receiving end through the corresponding transmission path.
[0087] Optionally, the apparatus further includes: A receiving unit, configured to receive a data retransmission instruction sent by the data receiving end, where the retransmission instruction includes sequence information of any data shard; A sending unit, configured to send the any data shard to the data receiving end based on the sequence information of the any data shard and the transmission path corresponding to the any data shard.
[0088] In summary, in the embodiments of the present disclosure, the shard size of each path can be dynamically adjusted according to the performance metrics of the transmission path (such as bandwidth, delay, packet loss rate) and the data volume of the data to be transmitted. This can ensure that each path can send data at a speed close to its maximum transmission capacity, thereby improving the overall transmission efficiency. Determine the distribution order of data shards based on the path distribution weight, and preferentially use paths with better performance to transmit data shards. This can shorten the total time of data transmission, especially in an environment where network conditions are complex and changeable. Through reasonable shard size and distribution strategies, the packet loss phenomenon caused by network congestion or path failures can be reduced. Even if packet loss occurs, the lost data shards can be quickly recovered through the retransmission mechanism to ensure the integrity and consistency of the data.
[0089] Please refer to Figure 4 , Figure 4It is a schematic structural diagram of a data transmission device provided by an embodiment of the present disclosure. The data transmission device includes: A first receiving module 410, configured to receive each data shard of the data to be transmitted sent by a data sending end through multiple transmission paths, where the data shards are divided according to the path performance index information of the transmission paths; A recombination module 420, configured to recombine each data shard according to the sequence information corresponding to each data shard to obtain the data to be transmitted.
[0090] Optionally, the device further includes: An indication module, configured to send a data retransmission indication to the data sending end when it is determined that any data shard is lost, where the retransmission indication includes the sequence information of the any data shard; A second receiving module, configured to receive the retransmitted any data shard sent by the data sending end.
[0091] Optionally, the first receiving module 410 is further configured to: Perform data integrity verification on each data shard; When the data integrity verification corresponding to any data shard fails, send a data retransmission indication to the data sending end, where the retransmission indication includes the sequence information of the any data shard; Receive the retransmitted any data shard sent by the data sending end.
[0092] Optionally, the device further includes: An adjustment module, configured to adjust the receiving order of each data shard according to the timestamps corresponding to each data shard.
[0093] In summary, each data shard of the data to be transmitted sent by the data sending end through multiple transmission paths is reasonably divided based on the path performance index information of the transmission paths. At the receiving end, according to the sequence information corresponding to each data shard, these shards can be accurately recombined to restore the complete data to be transmitted. The effect of this process is to significantly improve the flexibility and reliability of data transmission, ensure the integrity and order of data after transmission through multiple paths. At the same time, by reasonably dividing and recombining data shards, the utilization of network resources is also optimized, the efficiency of data transmission is improved, and a strong guarantee is provided for data transmission in various complex network environments.
[0094] In addition, the present disclosure also provides an electronic device, as Figure 5 shown, which shows a schematic structural diagram of the electronic device involved in the present disclosure. Specifically: The electronic device may include components such as a processor 501 with one or more processing cores, a memory 502 of one or more computer-readable storage media, a power supply 503, and an input unit 504. Those skilled in the art can understand that Figure 5 the structure of the electronic device shown in does not limit the electronic device. It may include more or fewer components than shown, or combine certain components, or have different component arrangements. Among them:
[0095] The processor 501 is the control center of the electronic device. It connects various parts of the entire electronic device using various interfaces and lines. By running or executing software programs and / or modules stored in the memory 502, and by calling data stored in the memory 502, it executes various functions of the electronic device and processes data, thereby monitoring the electronic device as a whole. Optionally, the processor 501 may include one or more processing cores; preferably, the processor 501 may integrate an application processor and a modem processor. Among them, the application processor mainly processes the operating system, user interface, application programs, etc., and the modem processor mainly processes wireless communication. It can be understood that the above modem processor may not be integrated into the processor 501.
[0096] The electronic device further includes a power supply 503 that powers each component. Preferably, the power supply 503 can be logically connected to the processor 501 through a power management system, thereby implementing functions such as management of charging, discharging, and power consumption management through the power management system. The power supply 503 may also include any components such as one or more DC or AC power supplies, a recharge system, a power device debugging circuit, a power converter or inverter, and a power status indicator.
[0097] The electronic device may further include an input unit 504, which can be used to receive input digital or character information, and generate keyboard, mouse, joystick, optical, or trackball signal inputs related to user settings and function controls.
[0098] Although not shown, the electronic device may further include a display unit and the like, which will not be elaborated here. Specifically, in this embodiment, the processor 501 in the electronic device may load the executable files corresponding to the processes of one or more application programs into the memory 502 according to the following instructions, and the processor 501 runs the application programs stored in the memory 502, so as to implement the steps in any of the data transmission methods provided by the embodiments of the present disclosure.
[0099] For the specific implementation of each of the above operations, reference may be made to the previous embodiments, which will not be elaborated here.
[0100] Those of ordinary skill in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructions or by controlling related hardware through instructions. The instructions can be stored in a computer-readable storage medium and loaded and executed by a processor.
[0101] Therefore, the present disclosure provides a computer-readable storage medium on which a computer program is stored. The computer program can be loaded by a processor to execute the steps in any of the data transmission methods provided by the present disclosure.
[0102] For the specific implementation of each of the above operations, reference may be made to the previous embodiments, which will not be elaborated here.
[0103] Among them, the computer-readable storage medium may include: read-only memory (ROM, Read Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disc, etc.
[0104] Since the instructions stored in the computer-readable storage medium can execute the steps in any of the data transmission methods provided by the present disclosure, the beneficial effects that can be achieved by any of the data transmission methods provided by the present disclosure can be realized. For details, reference may be made to the previous embodiments, which will not be elaborated here.
[0105] The above has introduced in detail a data transmission method, device, electronic device, and computer-readable storage medium provided by the present disclosure. Specific examples are used in this article to elaborate on the principles and implementation manners of the present invention. The description of the above embodiments is only used to help understand the method and its core idea of the present invention; at the same time, for those skilled in the art, according to the idea of the present invention, there can be changes in the specific implementation manners and application scopes. In summary, the content of this specification should not be construed as a limitation on the present invention.
Claims
1. A method for data transmission, characterized in that: Executed by a data sending end, the method includes: Collecting path performance indicator information of multiple transmission paths; Determining the slice size of the transmission path according to the path performance indicator information of the transmission path and the amount of data to be transmitted; Dividing the data to be transmitted into a plurality of data slices based on the slice sizes corresponding to the plurality of transmission paths; Based on the path distribution weights corresponding to the multiple transmission paths, each of the data fragments is sent to a data receiving end through the corresponding transmission path.
2. The method according to claim 1, characterized in that The path performance indicator includes at least one of the following: Available bandwidth, transmission delay and real-time packet loss rate.
3. The method according to claim 1, characterized in that The path performance indicator information is the available bandwidth information and real-time packet loss rate of the transmission path. Determining the slice size of the transmission path according to the path performance indicator information of the transmission path and the amount of data to be transmitted includes: The slice size of the transmission path is determined according to the available bandwidth and real-time packet loss rate of any transmission path and the data volume of the data to be transmitted.
4. The method according to claim 1, characterized in that: Also includes: If the data to be transmitted is delay-sensitive data, determining a path distribution weight corresponding to any transmission path according to the available bandwidth, transmission delay, and real-time packet loss rate of any transmission path; or, If the data to be transmitted is non-delay-sensitive data, determining a path distribution weight corresponding to any transmission path according to the available bandwidth and real-time packet loss rate of any transmission path; or, If the data to be transmitted is delay-sensitive data, a path distribution weight corresponding to any transmission path is determined according to the transmission delay of any transmission path.
5. The method according to claim 1, characterized in that The sending each of the data slices to the data receiving end through the corresponding transmission path based on the path distribution weights corresponding to the multiple transmission paths includes: Determining a distribution order corresponding to the multiple transmission paths according to the path distribution weights corresponding to the multiple transmission paths; Based on the distribution order, each of the data fragments is sent to a data receiving end through the corresponding transmission path.
6. The method according to claim 5, characterized in that Also includes: receiving a data retransmission indication sent by the data receiving end, wherein the retransmission indication includes sequence information of any data fragment; Based on the sequence information of any data fragment and the transmission path corresponding to any data fragment, the any data fragment is sent to the data receiving end.
7. A method for data transmission, characterized in that: Executed by a data receiving end, the method includes: Receiving each data slice of the data to be transmitted sent by the data transmitting end through multiple transmission paths, wherein the each data slice is divided according to the path performance indicator information of the transmission path; According to the sequence information corresponding to each of the data fragments, the data fragments are reassembled to obtain the data to be transmitted.
8. The method according to claim 7, characterized in that Also includes: In response to determining that any data fragment is lost, sending a data retransmission indication to the data sending end, wherein the retransmission indication includes sequence information of the any data fragment; Receive any of the data fragments retransmitted by the data sending end.
9. The method according to claim 7, characterized in that: After receiving each data fragment of the data to be transmitted sent by the data transmitting end through multiple transmission paths, the method further includes: Performing data integrity verification on each of the data slices; When the data integrity check corresponding to any data fragment fails, sending a data retransmission indication to the data sending end, wherein the retransmission indication includes sequence information of the any data fragment; Receive any of the data fragments retransmitted by the data sending end.
10. The method according to claim 7, characterized in that Also includes: According to the timestamps corresponding to the data fragments, the receiving order of the data fragments is adjusted.
11. A data transmission device, characterized in that: include: A collection module, used for collecting path performance indicator information of multiple transmission paths; A determination module, configured to determine the slice size of the transmission path according to the path performance indicator information of the transmission path and the amount of data to be transmitted; A partitioning module, configured to partition the data to be transmitted into a plurality of data fragments based on the fragment sizes corresponding to the plurality of transmission paths; The sending module is used to send each of the data fragments to the data receiving end through the corresponding transmission path based on the path distribution weights corresponding to the multiple transmission paths.
12. A data transmission device, characterized in that: include: A first receiving module, configured to receive data fragments of data to be transmitted sent by a data transmitting end through multiple transmission paths, wherein the data fragments are divided according to path performance indicator information of the transmission paths; The reassembly module is used to reassemble each of the data fragments according to the sequence information corresponding to each of the data fragments to obtain the data to be transmitted.
13. An electronic device, wherein: It comprises a processor and a memory, the memory stores a computer program, and the processor is used to run the computer program in the memory to execute the method described in any one of claims 1-6 or 7-10.
14. A computer-readable storage medium, wherein: The computer-readable storage medium stores a computer program, and the computer program is suitable for being loaded by a processor to execute the method according to any one of claims 1 to 6 or 7 to 10.
Citation Information
Patent Citations
Method and device for scheduling delay-sensitive traffic in line route
CN112235194A
Multi-path signal transmission method and system in optical communication network
CN118695144A
Data transmission method, system and device, medium and program product
CN118740747A
Soft bus multipath transmission control method and system based on super object model
CN119892721A
Cited By
Link distribution method, device, equipment and product
CN121001146A
Low-power-consumption data transmission method and system based on Bluetooth and LoRaWan
CN121037796A
Low power data transmission method and system based on bluetooth and lorawan
CN121037796B
Unstructured data transmission method and device based on data distribution service, storage medium and program product
CN121441922A