A data transmission method, apparatus and related device
By negotiating secure authentication and dynamic parameters between the sending and receiving ends, an efficient and secure data transmission channel is constructed, solving the problems of low data transmission efficiency and poor reliability under high bandwidth, and realizing high throughput, low latency and high reliability data transmission.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA MOBILE INFORMATION TECHNOLOGY CO LTD
- Filing Date
- 2025-10-15
- Publication Date
- 2026-06-23
AI Technical Summary
In high-bandwidth scenarios, existing data transmission protocols such as TCP/IP and commercial acceleration solutions suffer from low transmission efficiency and poor security and reliability. Especially at bandwidths of 10Gbps+, TCP has a high CPU usage rate, while UDP has a high packet loss rate and lacks a sorting and retransmission mechanism, resulting in unstable data transmission and insufficient security.
Through secure authentication negotiation between the sending and receiving ends, transmission parameters are dynamically negotiated to build a data transmission channel that balances high speed, high reliability, and high resource utilization. The target data packets are encapsulated and optimized through processes including fragmentation and dynamic encoding strategies to ensure the order and integrity of the data packets.
It achieves high throughput, low latency, and high reliability data transmission in high-bandwidth scenarios, improves link resource utilization and transmission efficiency, reduces transmission latency and packet loss rate, and enhances data transmission security.
Smart Images

Figure CN121193687B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data transmission technology, and in particular to a data transmission method, apparatus and related equipment. Background Technology
[0002] With the deepening of the "East-West Data Transfer" project, the demand for cross-domain transmission of billing data and large model files has surged, making the efficient and secure transmission of TB-level data a core challenge. Currently, data transmission is generally achieved using known protocol solutions and commercial acceleration solutions. Among known protocol solutions, the TCP / IP protocol suite is typically used. TCP is stable in scenarios ≤1Gbps, but at high bandwidths of 10Gbps+, due to data copying, CPU interrupt switching, and complex software implementation, CPU usage exceeds 80%. UDP is efficient due to its connectionless nature, but lacks a reordering and retransmission mechanism, resulting in a sharp drop in reliability when the packet loss rate exceeds 0.1%, and also exhibiting poor security. Commercial acceleration solutions, such as IBM Aspera and Rayspeed, are usually based on custom UDP stacks (such as FASP), but proprietary protocols require the deployment of dedicated software, leading to complex configurations. This results in low transmission efficiency and poor security and reliability during data transmission. Summary of the Invention
[0003] This application provides a data transmission method, apparatus, and related equipment that can improve data transmission efficiency and security.
[0004] In a first aspect, embodiments of this application provide a data transmission method applied at a sending end, the method comprising:
[0005] When the sending end negotiates with the receiving end through security authentication, the sending end and the receiving end negotiate transmission parameters to obtain a first negotiation parameter. The transmission parameter negotiation is used to determine the first negotiation parameter based on the data processing capability of the sending end, the data processing capability of the receiving end, and the link resources between the sending end and the receiving end.
[0006] A first data transmission channel is constructed between the sending end and the receiving end based on the first negotiation parameters. The first data transmission channel is used for the transmission of target data packets.
[0007] The target data packet is subjected to preset processing, and the preset processed target data packet is transmitted in parallel to the receiving end through the first data transmission channel;
[0008] The preset processing includes encapsulation processing and optimized encoding processing. The encapsulation processing is used to fragment the target data packet to obtain multiple fragment data, and then encapsulate each fragment data into a carrier data packet. Each carrier data packet has a preset field corresponding to the fragment data. The optimized encoding processing is used to compress the target data packet according to a dynamically determined encoding strategy. The encoding strategy is dynamically determined based on the type characteristics of the target data packet and the status information of the first data transmission channel.
[0009] Secondly, embodiments of this application provide a data transmission method applied at a receiving end, the method comprising:
[0010] When the sending end negotiates with the receiving end through security authentication, the sending end and the receiving end negotiate transmission parameters to obtain a first negotiation parameter. The transmission parameter negotiation is used to determine the first negotiation parameter based on the data processing capability of the sending end, the data processing capability of the receiving end, and the link resources between the sending end and the receiving end.
[0011] A first data transmission channel is constructed between the sending end and the receiving end based on the first negotiation parameters. The first data transmission channel is used for the transmission of target data packets.
[0012] Receive the target data packet after preset processing sent by the sending end through the first data transmission channel, and perform data packet reassembly processing on the target data packet;
[0013] The preset processing includes encapsulation processing and optimized encoding processing. The encapsulation processing is used to fragment the target data packet to obtain multiple fragment data, and then encapsulate each fragment data into a carrier data packet, with each carrier data packet having a preset field corresponding to the fragment data. The optimized encoding processing is used to compress the target data packet according to a dynamically determined encoding strategy, which is dynamically determined based on the type characteristics of the target data packet and the status information of the first data transmission channel. The data packet reassembly processing is used to reorder the multiple fragment data according to the preset fields corresponding to the fragment data.
[0014] Thirdly, embodiments of this application provide a data transmission apparatus applied at a transmitting end, the apparatus comprising:
[0015] The first acquisition module is used to negotiate transmission parameters with the receiving end when the sending end negotiates with the receiving end through security authentication, and obtain a first negotiation parameter. The transmission parameter negotiation is used to determine the first negotiation parameter based on the data processing capability of the sending end, the data processing capability of the receiving end, and the link resources between the sending end and the receiving end.
[0016] A construction module is used to construct a first data transmission channel between the sending end and the receiving end based on the first negotiation parameters. The first data transmission channel is used for the transmission of target data packets.
[0017] The processing module is used to perform preset processing on the target data packet and transmit the preset processed target data packet to the receiving end in parallel through the first data transmission channel;
[0018] The preset processing includes encapsulation processing and optimized encoding processing. The encapsulation processing is used to fragment the target data packet to obtain multiple fragment data, and then encapsulate each fragment data into a carrier data packet. Each carrier data packet has a preset field corresponding to the fragment data. The optimized encoding processing is used to compress the target data packet according to a dynamically determined encoding strategy. The encoding strategy is dynamically determined based on the type characteristics of the target data packet and the status information of the first data transmission channel.
[0019] Fourthly, embodiments of this application provide a data transmission apparatus applied at a receiving end, the apparatus comprising:
[0020] The first acquisition module is used to, when the sending end negotiates with the receiving end through security authentication, negotiate transmission parameters to obtain a first negotiation parameter. The transmission parameter negotiation is used to determine the first negotiation parameter based on the data processing capability of the sending end, the data processing capability of the receiving end, and the link resources between the sending end and the receiving end.
[0021] A construction module is used to construct a first data transmission channel between the sending end and the receiving end based on the first negotiation parameters. The first data transmission channel is used for the transmission of target data packets.
[0022] The first receiving module is used to receive the preset processed target data packet sent by the sending end through the first data transmission channel, and to perform data packet reassembly processing on the target data packet;
[0023] The preset processing includes encapsulation processing and optimized encoding processing. The encapsulation processing is used to fragment the target data packet to obtain multiple fragment data, and then encapsulate each fragment data into a carrier data packet, with each carrier data packet having a preset field corresponding to the fragment data. The optimized encoding processing is used to compress the target data packet according to a dynamically determined encoding strategy, which is dynamically determined based on the type characteristics of the target data packet and the status information of the first data transmission channel. The data packet reassembly processing is used to reorder the multiple fragment data according to the preset fields corresponding to the fragment data.
[0024] Fifthly, embodiments of this application provide an electronic device, including: a processor, a memory, and a program stored in the memory and executable on the processor, wherein when the program is executed by the processor, it implements the steps of the data transmission method as described in the first aspect, or implements the steps of the data transmission method as described in the second aspect.
[0025] In a sixth aspect, embodiments of this application provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the data transmission method as described in the first aspect, or implements the steps of the data transmission method as described in the second aspect.
[0026] In a seventh aspect, embodiments of this application provide a computer program product, including computer instructions that, when executed by a processor, implement the steps of the data transmission method as described in the first aspect, or implement the steps of the data transmission method as described in the second aspect.
[0027] In this embodiment, the sending end and the receiving end negotiate transmission parameters through secure authentication negotiation to obtain the first negotiation parameters. By negotiating through secure authentication, the possibility of identity forgery and parameter tampering is reduced, thereby improving security and reliability. During the transmission parameter negotiation process, the first negotiation parameters are dynamically negotiated by combining the data processing capabilities of the sending end, the data processing capabilities of the receiving end, and the link resources. This provides a parameter basis for high-speed transmission that adapts to the end-side and link resources, thereby improving the utilization rate of link resources and the channel response speed. Then, based on the first negotiation parameters, a data transmission channel that takes into account high speed, high reliability, and high resource utilization is constructed. The target data packet is encapsulated and optimized for encoding, thereby achieving stable transmission of the target data packet in the first data transmission channel and meeting the high throughput, high reliability, and low latency transmission requirements of the "East-to-West Computing" scenario. Attached Figure Description
[0028] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0029] Figure 1 This is one of the flowcharts of a data transmission method provided in the embodiments of this application;
[0030] Figure 2 This is a second flowchart of a data transmission method provided in an embodiment of this application;
[0031] Figure 3This is the third flowchart of a data transmission method provided in the embodiments of this application;
[0032] Figure 4 This is the fourth flowchart of a data transmission method provided in the embodiments of this application;
[0033] Figure 5 This is the fifth flowchart of a data transmission method provided in the embodiments of this application;
[0034] Figure 6 This is a flowchart of another data transmission method provided in an embodiment of this application;
[0035] Figure 7 This is a schematic diagram of the structure of a data transmission device provided in an embodiment of this application;
[0036] Figure 8 This is a schematic diagram of another data transmission device provided in an embodiment of this application. Detailed Implementation
[0037] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0038] See Figure 1 , Figure 1 This is one of the flowcharts of a data transmission method provided in the embodiments of this application, applied to the sending end, such as... Figure 1 As shown, the method includes the following steps:
[0039] Step 101: In the case of security authentication negotiation with the receiving end, the sending end and the receiving end negotiate transmission parameters to obtain a first negotiation parameter. The transmission parameter negotiation is used to determine the first negotiation parameter based on the data processing capability of the sending end, the data processing capability of the receiving end, and the link resources between the sending end and the receiving end.
[0040] In this step, a security authentication negotiation is performed before the transmission parameter negotiation. Security authentication negotiation establishes a trusted authentication mechanism between the sender and receiver and generates a session key to ensure the confidentiality of subsequent data transmission. Transmission parameter negotiation, on the other hand, ensures optimal matching between link resources and terminal processing capabilities by dynamically adjusting parameters. For example, the sender and receiver can exchange core parameters (such as performance-related concurrent channel count, Maximum Transmission Unit (MTU), port range, reliability-related verification algorithms, and service-related filenames and Quality of Service (QoS) levels) using Registration Probe Groups (RPGs) as the carrier. The sender provides initial suggested values based on link bandwidth and its own Central Processing Unit (CPU) capabilities. The receiver adjusts these initial suggested values according to its own CPU capabilities, takes the minimum value, and re-determines the parameters. Finally, the parameters are encapsulated in JSON format and mutually confirmed to ensure consistent configuration between the sender and receiver, thus obtaining the first negotiated parameters. See the following description for details:
[0041] In some embodiments, the first negotiation parameters include performance-related parameters, including the number of concurrent connections. The sending end and the receiving end negotiate transmission parameters to obtain the first negotiation parameters, including:
[0042] The theoretical number of connections corresponding to the link bandwidth of the link resource is obtained by link detection, and an initial value is determined by combining the first connection limit of the link bandwidth corresponding to the data processing capability of the sending end. The initial value is the minimum value between the theoretical number of connections and the first connection limit.
[0043] Send a first registration exploration packet (RPG) to the receiving end. The first RPG includes the initial value. The initial value is used by the receiving end to determine the number of concurrent connections based on the second connection limit corresponding to the receiving end. The number of concurrent connections is the minimum value among the second connection limit, the theoretical number of connections, and the first connection limit.
[0044] The receiving end receives a second RPG, the second RPG including the number of concurrent connections.
[0045] In this embodiment, transmission parameter negotiation begins with link probing at the sending end. The sending end uses link probing (detecting link bandwidth, round-trip time (RTT), packet loss rate, etc.) and protocol characteristics (such as congestion window) to calculate the estimated throughput capacity Ts (in Mbps) for a single connection. Then, following the rule of allocating one concurrent connection per Ts of bandwidth, the theoretical number of connections (N_bw) that meets the link bandwidth requirement is obtained using the formula: N_bw = Ceil(link bandwidth requirement (Mbps) / Ts (Mbps)). This ensures that the number of connections is not less than the bandwidth requirement, avoiding resource waste. Furthermore, the sending end assesses its own data processing capabilities (primarily CPU processing power) to calculate the first upper limit for the number of connections (N_cpu_c). The calculation formula can be expressed as: N_cpu_c = number of available CPU cores at the sending end × a. Here, a is a CPU utilization coefficient used to balance CPU load and transmission efficiency. a can be set to 1.5 to ensure that the number of connections does not exceed its own processing capacity, preventing CPU overload. Then, the minimum value between the theoretical number of connections (N_bw) and the first upper limit of the number of connections (N_cpu_c) is taken as the initial value, that is, the initial value is min(N_bw, N_cpu_c). The initial value is a reasonable initial suggestion generated by the sending end based on its own conditions, so as to meet the bandwidth requirements without exceeding its own CPU capacity.
[0046] After determining the initial values, the sending end can transmit the initial values to the receiving end via a standardized RPG, providing a basis for the receiving end to adjust the parameters. The receiving end, based on its own data processing capabilities (the core of which is also CPU processing capability), calculates the second connection limit (N_cpu_s), and its calculation formula can be the same as that for the first connection limit. The minimum value between the initial value (i.e., min(N_bw, N_cpu_c)) and the second connection limit (N_cpu_s) is taken to determine the final number of concurrent connections. That is, the concurrent connection number in the first negotiation parameter is min((N_bw, N_cpu_c, N_cpu_s), ensuring that the final parameters simultaneously meet the CPU capabilities and link bandwidth requirements of both the sending and receiving ends.
[0047] The first RPG packet structure may include a start flag 0x7b, packet type 0x01, logical channel ID, parameter data area, 16 bytes of HMAC-SHA256 checksum, and end flag 0x7d. The parameter data area can be used to encapsulate core parameters and may also include other performance-related parameters such as MTU and port range. The first RPG packet structure can be shown in Table 1 below:
[0048] Table 1
[0049] Fields binary value size Function Description start mark 0x7b 1 byte The identifier packet begins with a fixed hexadecimal value of 0x7b. Package type 0x01 1 byte Registration Explorer Package Type Identifier Logical Channel ID 2 bytes Multi-stream multiplexing identifier Parameter length 2 bytes Parameter data area length Parameter data variable Negotiated parameter key-value pairs (such as concurrent connections, MTU value) Check bit 16 bytes HMAC-SHA256 hash value End mark 0x7d 1 byte End of label package
[0050] The sending end sends a first RPG to the receiving end. The receiving end receives the first RPG and sends the generated first negotiation parameters back to the sending end via a second RPG. After receiving the second RPG from the receiving end, the sending end completes the bidirectional synchronization of parameter negotiation. In this way, parameter negotiation ensures that the sending end and the receiving end reach complete consistency on the negotiated parameters (focusing on the number of concurrent connections in this example), providing a unified configuration benchmark for subsequent dynamic channel construction and avoiding transmission errors or resource waste caused by parameter mismatch.
[0051] The second RPG also follows the standardized RPG packet structure. The parameter data area corresponding to the second RPG can be used to encapsulate the first negotiated parameters, and also includes other parameters confirmed by the receiving end (such as verification algorithm, QoS level, etc.), and the parameters are ensured to be tampered with through the check bit.
[0052] Furthermore, the negotiation process can be controlled by a state machine, sequentially going through four states: INIT, NEGOTIATE, ESTABLISHED, and TERMINATE. Sequence number synchronization ensures parameter consistency. After the transmission parameters are negotiated, the sender and receiver can encapsulate the information in a JSON format message and perform bidirectional confirmation to ensure that all configuration items (such as concurrent connections, verification algorithms, QoS levels, etc.) are consistent. The confirmation message contains a complete list of parameters and a status identifier. Only when both parties enter the ESTABLISHED state is the data transmission channel officially activated and the data transmission phase begins. This mechanism effectively avoids transmission errors caused by parameter mismatches, providing a reliable pre-guarantee for high-speed data transmission.
[0053] In some embodiments, the first negotiation parameters further include reliability-related parameters and service-related parameters. The reliability-related parameters include verification algorithm parameters and priority parameters. The service-related parameters include file name, file size, and quality of service (QoS) level parameters. The performance-related parameters further include maximum transmission unit, data packet size, and port range.
[0054] The step of constructing a first data transmission channel between the sending end and the receiving end based on the first negotiation parameters includes:
[0055] Send the encapsulated first negotiation parameters to the receiving end;
[0056] The receiving end receives verification information for the encapsulated first negotiation parameter, the verification information being used to verify the consistency of the corresponding first negotiation parameter between the sending end and the receiving end;
[0057] If the verification information determines that the first negotiation parameters of the sending end and the receiving end are consistent, a physical transmission channel and a logical transmission channel are created based on the first negotiation parameters. The physical transmission channel is used to carry actual data transmission, and the logical transmission channel is used to control concurrent transmission and load balancing. There is a mapping relationship between the logical transmission channel and the physical transmission channel. The first data transmission channel includes the physical transmission channel and the logical transmission channel.
[0058] In this embodiment, performance-related parameters (concurrent connections, maximum transmission unit (MTU), data packet size, and port range, all core criteria for physical channel creation), reliability-related parameters (verification algorithm parameters such as CRC32 / XXH3 and priority parameters, used for logical channel integrity assurance and scheduling priority allocation), and service-related parameters (filename, file size, and QoS level parameters, used for logical channel service adaptation strategies) are integrated into a unified parameter list. The structured nature of JSON ensures that the receiving end can clearly parse the configuration across all dimensions, avoiding parameter omissions or confusion. Then, the first negotiated parameters, encapsulated in JSON, are synchronized to the receiving end, providing a complete benchmark for subsequent consistency verification. This ensures that the receiving end can build channels based on the same parameters, avoiding transmission failures due to configuration discrepancies.
[0059] After parsing the JSON message, the receiving end compares each of the three types of parameters (such as the number of concurrent connections in the performance parameters, the verification algorithm in the reliability parameters, and the QoS level in the business parameters) with the parameters determined by the receiving end itself through RPG packet interaction. For example, it verifies whether the number of concurrent connections of both the sending and receiving ends is min((N_bw, N_cpu_c, N_cpu_s), whether the verification algorithm is CRC32, and whether the QoS level is throughput priority, ensuring that all configuration items are completely consistent. The verification information returned by the receiving end can be divided into two categories: consistent or inconsistent. If consistent, it means that the configurations of both parties are synchronized, and channel construction can be started; if inconsistent, parameter negotiation needs to be re-initiated to avoid subsequent transmission errors due to parameter mismatch. In other words, the channel is only activated when both parties enter the ESTABLISHED state.
[0060] Then, create a corresponding number of Transmission Control Protocol (TCP) / User Datagram Protocol (UDP) connections based on the number of concurrent connections to ensure that the parallel transmission capability matches the link bandwidth requirements; bind an independent port to each physical connection according to a port range (e.g., 50001-50064) to avoid port conflicts; set a fragmentation threshold based on the Maximum Transmission Unit (MTU) and the packet size (e.g., when MTU=1500 bytes, the packet size does not exceed 1500 bytes) to avoid additional fragmentation at the link layer that would reduce transmission efficiency, ultimately forming an underlying link capable of carrying actual data.
[0061] Simultaneously, integrity verification rules for logical channels can be configured based on verification algorithm parameters (such as CRC32) to ensure that each scheduled data packet carries the corresponding check bit, allowing the receiving end to verify data integrity. Scheduling queues can be divided according to priority parameters (e.g., allocating independent queues for high-priority services) to prevent low-priority data from preempting high-priority resources. Scheduling strategies can be formulated based on QoS level parameters (e.g., latency-sensitive / throughput-first). For example, latency-sensitive services can be assigned to low-latency physical channels, while throughput-first services can be bound to multiple physical channels for parallel transmission. Furthermore, fragmentation scheduling can be optimized by combining filenames and file sizes (e.g., prioritizing large files by allocating high-bandwidth physical channels), ultimately forming a scheduling link that dynamically adapts to service and reliability requirements.
[0062] The mapping relationship between logical channels and physical channels supports three dynamic adjustment modes: one-to-one (single service dedicated channel), many-to-one (multiple services shared channel), and one-to-many (single service distributed to multiple channels), which are optimized in real time according to requirements such as transmission bandwidth and latency sensitivity. For example, high-priority services can use one-to-one mapping to ensure transmission quality, while low-priority batch data can use many-to-one mapping to improve channel utilization. For instance, physical channels can be associated with logical channels through the logical channel ID field of the RPG activation packet (type field 0x06). For example, logical channel ID=01 (corresponding to high QoS services) can be mapped to physical port 50001 (one-to-one mode), and logical channel ID=02 (corresponding to low QoS services) can be mapped to physical ports 50002-50005 (one-to-many mode), ensuring that scheduling instructions for logical channels are accurately distributed to the corresponding physical channels. In this way, logical channels generate scheduling policies based on verification algorithms and QoS levels, and distribute target data packets to the corresponding physical channels through the mapping relationship. The physical channels then achieve high-speed data transmission according to the configuration of the first negotiation parameter. Together, they meet the requirements of high throughput and high reliability transmission.
[0063] Furthermore, when a transmission task is triggered, the sending end sends an RPG activation packet containing the logical channel mapping relationship. After confirmation by the receiving end, it allocates resources such as buffers and queues, and both parties enter a data transmission ready state. To reduce the handshake overhead caused by frequent connection establishment, the system adopts a connection reuse strategy, reserving idle channels for 30 seconds before releasing them. When the same service requests transmission again, the established physical connection can be reused directly, eliminating the security authentication and parameter negotiation process and reducing the channel establishment latency from hundreds of milliseconds to microseconds. Through the dynamic binding of logical channels and physical ports, combined with the 30-second idle reservation connection reuse mechanism, reconnection overhead is significantly reduced, improving the resource utilization and response speed of the transmission link.
[0064] Step 102: Construct a first data transmission channel between the sending end and the receiving end based on the first negotiation parameters. The first data transmission channel is used for the transmission of target data packets.
[0065] In this step, when the sending end constructs the first data transmission channel based on the first negotiation parameters, it can create a corresponding number of TCP / UDP physical transmission channels through the socket API; then, it creates a logical transmission channel controlled by the NCTP protocol; subsequently, it associates the logical channel ID with the physical channel through RPG (type field 0x06), supporting three dynamic mapping modes: one-to-one (exclusive for high-priority services), many-to-one (shared for low-priority services), and one-to-many (distributed for high-throughput services); at the same time, it enables a connection reuse strategy, reserving idle channels for 30 seconds to reduce reconnection overhead. After both parties enter the ESTABLISHED state, the first data transmission channel is officially activated and has the capability to transmit target data packets.
[0066] Step 103: Perform preset processing on the target data packet, and transmit the preset-processed target data packet to the receiving end in parallel through the first data transmission channel; wherein, the preset processing includes encapsulation processing and optimized encoding processing, the encapsulation processing is used to fragment the target data packet to obtain multiple fragment data, and encapsulate each fragment data into a carrier data packet, and each carrier data packet adds a preset field corresponding to the fragment data, the optimized encoding processing is used to compress the target data packet according to a dynamically determined encoding strategy, the encoding strategy being dynamically determined based on the type characteristics of the target data packet and the status information of the first data transmission channel.
[0067] In this step, the encapsulation process can fragment the target data packet at the default 8KB granularity (supporting dynamic adjustment from 512B to 16MB), and encapsulate each fragment into a standardized DCP carrier data packet containing a start flag 0x7b, packet type 0x02, logical channel ID, fragment offset, 16-byte HMAC-SHA256 checksum, and end flag 0x7d, ensuring the order and integrity of fragment transmission;
[0068] The optimized encoding process first preprocesses files according to their type (e.g., H.265 ROI is used for priority transmission of video files, incremental differential encoding is used for database backup files, and LZ4 + Huffman compression is used for general files). Then, the encoding algorithm is dynamically adjusted based on the channel status (latency, packet loss rate, compression ratio) returned by the receiving end via LSFP packets, reducing the amount of data transmitted while maintaining integrity. Subsequently, through the first data transmission channel, the logical transmission channel uses a hybrid scheduling algorithm to distribute the processed DCP packets to each physical transmission channel for parallel transmission. The channel status is monitored by LSFP packets with a 100ms period to ensure load balancing and transmission stability.
[0069] In this embodiment, the sending end and the receiving end negotiate transmission parameters through secure authentication negotiation to obtain the first negotiation parameters. By negotiating through secure authentication, the possibility of identity forgery and parameter tampering is reduced, thereby improving security and reliability. During the transmission parameter negotiation process, the first negotiation parameters are dynamically negotiated by combining the data processing capabilities of the sending end, the data processing capabilities of the receiving end, and the link resources. This provides a parameter basis for high-speed transmission that adapts to the end-side and link resources, thereby improving the utilization rate of link resources and the channel response speed. Then, based on the first negotiation parameters, a data transmission channel that takes into account high speed, high reliability, and high resource utilization is constructed. The target data packet is encapsulated and optimized for encoding, thereby achieving stable transmission of the target data packet in the first data transmission channel and meeting the high throughput, high reliability, and low latency transmission requirements of the "East-to-West Computing" scenario.
[0070] Optionally, the method further includes:
[0071] Fault detection is performed on each link in the first data transmission channel to obtain the detection results;
[0072] If the detection result indicates that there is a faulty link in the first data transmission channel, the faulty link is reconnected and rebuilt to obtain a second data transmission channel;
[0073] The first sub-data packet in the target data packet that has not been acknowledged by the receiving end is assigned to the link in the second data transmission channel.
[0074] In this embodiment, as Figure 2As shown, after dynamically constructing the first data transmission channel, an exception handling mechanism is also set up. In a concurrent transmission environment, the exception handling mechanism is used to resolve the impact of physical channel failures on the overall transmission. Through rapid fault detection, packet reallocation, automatic connection reconstruction, and smooth traffic migration, it ensures the continuity and reliability of data transmission. A closed-loop processing system is constructed, encompassing the entire process from fault detection to recovery. See the following description for details:
[0075] Optionally, the step of performing fault detection on each link in the first data transmission channel to obtain the detection results includes:
[0076] A Link Status Feedback Package (LSFP) is sent to the first link at a preset time interval, and the receiver is requested to obtain the response information of the LSFP from the receiver. The first link is any link in the first data transmission channel.
[0077] If no response information from the LSFP is received for N consecutive preset time intervals, the detection result is determined to indicate that the first link is faulty, where N is an integer greater than 1;
[0078] And / or,
[0079] The data packets sent by the sending end through the first link are tracked in real time, and the receiving end is requested to obtain the reception time of the data packets;
[0080] If the receiving time is greater than a preset time, a probe request is initiated to the first link, the probe request being used to determine the fault status of the first link;
[0081] The detection result is determined based on the response information of the detection request.
[0082] In this embodiment, fault detection can include LSFP timeout monitoring and packet arrival interval monitoring. LSFP timeout monitoring can be performed as follows: the sender sends an LSFP (Link Status Feedback Packet, containing link quality metrics such as packet loss rate and latency jitter) to the first link (any physical link in the first data transmission channel) at preset intervals (e.g., 100ms) and requests a response from the receiver. If no response is received for N consecutive preset time intervals (e.g., N=3) (i.e., within 300ms), it indicates that the receiver cannot receive or provide feedback on the link status, and a fault can be determined in the first link. This allows for rapid identification of hard faults such as physical connection interruptions and complete link unavailability, acting on the underlying link with low detection latency. The LSFP packet structure can be shown in Table 2 below.
[0083] Table 2
[0084] Fields binary value size Function Description start mark 0x7b 1 byte Identifier packet start Package type 0x03 1 byte Link status feedback packet type identifier Logical Channel ID 2 bytes Related logical channels Status data 8 bytes Link quality metrics (packet loss rate, latency jitter, bandwidth utilization) Timestamp 4 bytes Status acquisition time Check bit 16 bytes HMAC-SHA256 hash value End mark 0x7d 1 byte End of label package
[0085] The data packet arrival interval monitoring can be implemented as follows: the sending end tracks data packets sent through the first link in real time and obtains the actual reception time of each data packet from the receiving end. For example, the preset time can be three times the expected interval of the data packets; if the expected interval is 10ms, then the preset time can be 30ms. If the reception time is greater than the preset time, it indicates that the link may have a degraded problem such as a sudden increase in latency or an increase in packet loss rate, which is not a complete interruption. At this time, the sending end initiates a probe request to the first link to verify whether the link still has the ability to transmit data. Then, the fault is determined based on the response information of the probe request. If a response is received, the link is still available (only dynamic load adjustment is needed); if no response is received, the link is determined to be faulty. This can effectively capture incomplete interruption faults such as link degradation. It makes up for the blind spot in the detection of soft faults such as link degradation in LSFP timeout monitoring.
[0086] In this way, a dual fault detection mechanism is adopted for fault detection: LSFP timeout monitoring quickly locates hard faults, and packet reception time tracking and probe requests are combined to capture soft faults. Cross-validation reduces the false judgment rate of a single mechanism (such as avoiding false judgment of link faults due to temporary network fluctuations), while controlling the fault detection time to the 100ms level, which meets the time requirements of the lightweight anomaly handling mechanism, lays the foundation for subsequent fault link reconstruction and unacknowledged data redistribution, and ensures the continuity of high-speed data transmission.
[0087] If the detection results indicate a faulty link in the first data transmission channel, the faulty link is reconnected to create a second data transmission channel. The second data transmission channel also includes physical and logical channels. It can utilize preset backup port resources and create new physical connections based on the original channel's configuration parameters (such as protocol type, bandwidth limits, encryption policies, etc.) to ensure compatibility between the new and original channels. Furthermore, it updates the mapping table between logical and physical channels, incorporates the newly created channel into the transmission resource pool, restores the topology for multi-channel concurrent transmission, and completes the connection reconstruction.
[0088] In addition, upon detecting a fault, a data packet reallocation process is initiated. This process utilizes sequence number bitmap positioning technology to achieve precise recovery of lost data. See the following example for details:
[0089] Optionally, allocating the first sub-data packet in the target data packet that has not been acknowledged by the receiving end to the link in the second data transmission channel includes:
[0090] The first sub-data packet is determined based on the sequence number bitmap of the target data packet, wherein the sequence number bitmap is used to locate the loss range of the data packet;
[0091] Based on the load status of the second data transmission channel, the first sub-data packet is allocated to a link in the second data transmission channel.
[0092] In this embodiment, firstly, faulty channels are marked as unavailable, suspending the allocation of new data packets to these channels to prevent continuous data loss. Then, the unacknowledged data packets in the sending buffer are queried. Using a sequence number bitmap (recording the sequence numbers of sent / acknowledged data packets), the first sub-data packet not acknowledged by the receiver is quickly identified, thus locating the loss range and ensuring no data is missed. Next, based on the load status of currently available physical channels, the mapping relationship between data packets and channels is recalculated. The unacknowledged first sub-data packets are evenly distributed to healthy links with lower loads within the second data transmission channel, preventing transmission delays or secondary failures on single links due to overload. This achieves accurate recovery of unacknowledged data while ensuring the overall transmission efficiency of the second data transmission channel, providing crucial support for the continuous and reliable transmission of the target data packets.
[0093] Optionally, allocating the first sub-data packet to a link in the second data transmission channel based on the load status of the second data transmission channel includes:
[0094] A backup link in the second data transmission channel is determined, and a weighting algorithm is used to calculate the data volume of the first sub-data packet allocated to the backup link. The backup link is a link obtained by reconnecting and reconstructing the faulty link.
[0095] Based on the amount of data in the first sub-data packet allocated to the backup link, at least a portion of the data in the first sub-data packet is progressively migrated to the backup link.
[0096] In this embodiment, to avoid traffic spikes or performance fluctuations caused by the activation of a new channel, a weighted algorithm can be used to achieve gradual traffic migration. This can more accurately solve the problem of seamlessly introducing new traffic into the backup link in a high-speed (10G / 100G), low-packet-loss data center network environment.
[0097] Specifically, after a new channel is started, it enters a quiet period (1-2 sampling cycles). During this period, the sending end sends low-rate (e.g., 1-2% of the total link bandwidth) probe data packets to the receiving end to collect the initial performance benchmark values of the new flow during the quiet period, mainly including throughput (B_new), average latency (D_new), and average packet loss rate (L_new).
[0098] After the quiet period ends, actual data traffic is allocated to the backup link, with the initial allocation rate being the average throughput B_new during the quiet period; then incremental adjustment is performed, and after each complete sampling period, the average throughput growth rate (R_b), latency change rate (R_d), and packet loss rate change (Delta_L) of the new flow in that period are calculated.
[0099] Throughput growth rate (R_b) = (current cycle throughput - previous cycle throughput) / previous cycle throughput;
[0100] Delay change rate (R_d) = (Current period delay - Initial delay) / Initial delay;
[0101] Packet loss rate change (Delta_L) = Current period packet loss rate - Initial packet loss rate.
[0102] If, for two consecutive cycles, the following conditions are met simultaneously: throughput growth rate R_b > 5% (traffic can be effectively absorbed), latency change rate R_d < 10% (no network queue backlog), and packet loss rate change Delta_L < 0.5% (packet loss rate has not significantly deteriorated), the backup link is considered healthy and has the potential to handle more traffic. Its load quota is increased by a certain percentage (e.g., 20%) in the next cycle until the load quota reaches the global average load level. If, in any cycle, the latency change rate R_d of the backup link > 15% or throughput decreases (R_b < -5%), it is determined that it may soon become a bottleneck or experience congestion. Its load quota is immediately maintained at the current level or rolled back to the level of the previous cycle, and observation continues. If the negative adjustment condition is triggered for three consecutive cycles, the backup link is considered to have an unrecoverable fault, and it will be marked as failed and shut down, while attempting to start another backup link as a replacement.
[0103] In this way, by continuously monitoring the load status of each channel and gradually adjusting the load strategy, at least a portion of the data in the first sub-data packet is gradually migrated to the backup link, ultimately achieving the complete migration of traffic from the faulty channel and the restoration of overall transmission efficiency.
[0104] Optionally, before obtaining the first negotiation parameter, the method further includes:
[0105] An authentication request packet is sent to the receiving end. The authentication field of the authentication request packet contains the first digital certificate of the sending end. The first digital certificate includes the identity information of the sending end and a public key pair generated by the sending end.
[0106] Obtain the second digital certificate returned by the receiving end. The second digital certificate includes the identity information of the receiving end and the symmetric session key generated by the receiving end. The symmetric session key is a key generated by the receiving end when the first digital certificate in the authentication request packet passes the legality verification. The symmetric session key is encrypted by the public key pair.
[0107] If the symmetric session key is decrypted using the public key, and the integrity of the symmetric session key is verified, and the legitimacy of the second digital certificate is verified, then it is determined that the sending end and the receiving end have reached the security authentication agreement.
[0108] In this embodiment, the sending end first sends an authentication request packet to the receiving end. The authentication field of this packet encapsulates a first digital certificate containing the sending end's own identity information and a generated public key pair, providing a basis for the receiving end to verify its own identity. After the receiving end verifies the legitimacy of the first digital certificate (through verification via the built-in CA root certificate chain), it generates a symmetric session key and encrypts it with the sending end's public key pair. Simultaneously, it encapsulates its own identity information and the encrypted key into a second digital certificate and returns it to the sending end. The sending end then decrypts the symmetric session key using its own public key pair. It can verify the integrity of the key through hash verification and similarly verify the legitimacy of the second digital certificate through the CA root certificate chain. Once all verifications pass, it can be determined that the sending end and the receiving end have successfully completed the secure authentication negotiation, laying a secure foundation for subsequent transmission parameter negotiation and the confidentiality and integrity of data transmission. In this way, through digital certificate interaction and key verification, a bidirectional trusted connection is established between the sending end and the receiving end, improving the security and reliability of the data transmission process.
[0109] In some optional embodiments, the preset processing of the target data packet includes:
[0110] The target data packet is fragmented according to the target fragment size to obtain multiple fragment data. The target fragment size is determined based on the status information of the first data transmission channel.
[0111] After adding preset fields to each data segment, it is encapsulated into a carrier data packet. The preset fields include at least one of the following: sequence number, offset, logical channel ID, and check bit.
[0112] Prior to encapsulation into a carrier data packet, the process also includes:
[0113] Based on the type characteristics of the target data packet and the status information of the first data transmission channel, the encoding strategy is dynamically determined. The status information includes at least one of latency rate, packet loss rate, link jitter standard deviation, and encoding efficiency.
[0114] Specifically, the sender can segment the target data packet into units suitable for transmission. The default fragment size (i.e., the target fragment size) is 8KB, and it supports dynamic adjustment based on the link MTU and real-time quality (range 512B-16MB). After fragmentation, an application layer header is added to each unit, containing core control fields such as sequence number, offset, logical channel ID, and parity bit. The offset calculation uses a linear mapping mechanism, with the formula: offset = fragment sequence number × fragment size, ensuring that the receiver can directly locate the data position in the original file through the sequence number. A 16-byte payload parity bit is generated using the HMAC-SHA256 algorithm. Finally, it is encapsulated into a carrier data packet (DCP), with a maximum payload length of 8960 bytes. The DCP packet structure is shown in Table 3 below:
[0115] Table 3
[0116] Fields binary value size Function Description Start mark 0x7b 1 byte The identifier packet begins with a fixed hexadecimal value of 0x7b. Package type 0x02 1 byte The carrier data packet type identifier distinguishes it from the registration exploration packet (0x01) and the link feedback packet (0x03). Logical Channel ID 2 bytes Multi-stream multiplexing identifier, supporting the transmission of multiple independent data streams on the same physical link. Piece offset 4 bytes The data's location index in the original file is calculated as "fragment number × fragment size". Load length 2 bytes Actual length of payload data, maximum value 8960 bytes Load data variable The length of the fragmented application layer data is specified by the payload length field. Load check bit 16 bytes HMAC-SHA256 hash value, used by the receiving end to verify data integrity. End mark 0x7d 1 byte The identifier packet ends, and is fixed as hexadecimal 0x7d.
[0117] In addition to the basic fields, the extended header can also include a 32-bit stream identifier (Stream ID), a 64-bit file offset extension, and 8-bit flags (fragmentation / end / retransmission flags) to support flow control and status tracking in complex scenarios.
[0118] Furthermore, the adjustment strategy corresponding to the target fragment size may include at least one of the following:
[0119] If the packet loss rate is >1% and continues for 3 consecutive periods, reduce it to 50% of the current value (minimum 512B).
[0120] Packet loss rate <0.1% and continues for 10 cycles, increasing to 1.5 times the current value (up to 16MB).
[0121] If the delay jitter is less than 10ms and lasts for 5 cycles, it will increase to 1.2 times the current value;
[0122] If the latency jitter is >50ms and persists for 2 cycles, reduce it to 80% of the current value;
[0123] If the link bandwidth utilization is less than 50% and remains so for 10 seconds, it will increase to 1.2 times the current value.
[0124] The link bandwidth utilization rate was >90% and remained so for 3 seconds, then decreased to 90% of the current value.
[0125] For example, such as Figure 3As shown, the sending end calculates the data packet length, offset, and reads the data packets to split the data into sub-data packets with sequence numbers and offset identifiers (such as data packet 1.1, data packet 1.2, etc.), and distributes them to transmission connections 1, 2, and 3 for parallel transmission. Multiple concurrent connections can easily lead to out-of-order data packets (e.g., transmission connection 1 transmits 1.2 first, transmission connection 2 transmits 2.1 later). The receiving end's sliding window mechanism can automatically adjust the window size based on the link latency and packet loss rate of each transmission connection, dynamically adapting to network jitter during multiple concurrent connections (e.g., if the latency of a connection temporarily increases sharply, the window will expand to accommodate more unprocessed fragments), providing flexible buffering capabilities for fragmented reception. Thus, after parsing the data packets, the receiving end can quickly locate the absolute position of out-of-order data packets in the original data using the offset index table; then, combined with the packet sequence number, it can confirm data continuity, resolving the order disorder problem caused by multiple concurrent connections.
[0126] If three consecutive fragments are lost (e.g., a connection misses 3.2), a selective retransmission mechanism can be triggered: only the missing fragments are requested (instead of retransmitting the entire window), and the independent transmission capabilities of multiple connections are used to accurately fill in the missing fragments, greatly reducing redundant bandwidth consumption.
[0127] Furthermore, out-of-order data packets (such as 2.3 arriving before 2.1 and 2.2) are temporarily stored in the corresponding position in the index table. After the preceding fragments (2.1 and 2.2) are completed, they are then concatenated and written to the buffer in absolute offset order. This mechanism can tolerate an out-of-order rate of up to 20%, and even in unstable scenarios such as wireless links, out-of-order data transmitted concurrently by multiple connections can be efficiently reassembled at the receiving end. In this way, concurrency is used to improve transmission efficiency, while a fine-grained mechanism ensures data integrity and reassembly efficiency in out-of-order scenarios.
[0128] Prior to encapsulation into a carrier data packet, the process also includes:
[0129] Based on the type characteristics of the target data packet and the status information of the first data transmission channel, the encoding strategy is dynamically determined. The status information includes at least one of latency rate, packet loss rate, link jitter standard deviation, and encoding efficiency.
[0130] In this embodiment, the target data packet can also be encoded and optimized to reduce the transmission bandwidth requirement. Specifically, for example... Figure 4 As shown, at the sending end, the target data packet can undergo data optimization encoding and intelligent fragmentation processing before being transmitted through the first data transmission channel. At the receiving end, the received data packet can undergo data packet reassembly processing and data optimization decoding, and data verification can be performed. Specifically, data packet reassembly processing corresponds to intelligent fragmentation processing, and data optimization decoding corresponds to data optimization encoding.
[0131] For example, for video files, a Region of Interest (ROI) priority transmission mechanism based on the H.265 standard can be adopted. By prioritizing key regions (such as faces and text) within the frame, the transmission quality of core information can be guaranteed in bandwidth-constrained scenarios. For database backup files, incremental differential coding can be used to transmit only the data blocks that have changed compared to the baseline version, significantly reducing the amount of duplicate data transmission. For general files (such as documents and compressed files), the LZ4 algorithm can be used for fast compression, followed by Huffman coding to further optimize high-frequency data symbols, forming an "LZ4 + Huffman" secondary compression scheme.
[0132] The sending end initially selects a basic algorithm based on type characteristics (e.g., LZ4 by default for general files), while the receiving end continuously transmits encoding efficiency metrics (such as compression ratio and decoding time) via LSFP (Link State Feedback Protocol) packets. The encoding strategy is dynamically adjusted during transmission based on real-time feedback from network link quality and encoding efficiency. The encoding strategy is shown in Table 4 below:
[0133] Table 4
[0134] Monitoring indicators Triggering conditions Execute action Design Purpose and Explanation Network latency One-way latency >100ms Strategy downgrade: Immediately switch to a lower complexity algorithm (such as downgrading from Snappy to LZ4) or disable compression altogether. High latency indicates network congestion. Prioritizing reducing computational overhead is crucial to minimizing transmission latency and preventing a cascading failure effect. Network packet loss rate Packet loss rate > 1% Strategy downgrade: Immediately switch to a low-complexity algorithm or disable compression. In high packet loss environments, retransmission overhead is enormous. Compressed data is more sensitive to packet loss; disabling compression can improve retransmission efficiency. Link jitter jitter standard deviation >30ms Policy degradation: Disable compression or switch to the lowest complexity algorithm. The network is extremely unstable; priority should be given to ensuring connection stability and predictability, sacrificing additional CPU computation. Coding efficiency Compression ratio <1.2 Policy downgrade: Disable compression of the current file A compression ratio that is too low means that the compression gains cannot offset the CPU and latency overhead, making it ineffective compression that should be stopped immediately. The network is good and compression is effective. Latency < 50ms, packet loss rate < 0.5%, and compression ratio > 1.5 Strategy upgrade: Enable algorithms with higher compression ratios (such as enabling Zstandard). When network conditions are excellent and compression is effective, some CPU resources can be sacrificed in exchange for greater bandwidth savings.
[0135] The receiving end continuously transmits key metrics via LSFP packets, including network conditions (latency, packet loss rate) and application layer metrics (such as decoding time and compression ratio of the current data block). The sending end uses this feedback data to drive the decision-making mechanism in the table above.
[0136] Furthermore, to ensure accurate transmission and decoding of the encoded data, the encoded compressed data serves as the payload field of the DCP packet, while the checksum bits (bytes 12-15) in the packet header are reused as encoding algorithm identifier bits. Sixteen preset encoding algorithms are defined using 4-bit binary values (e.g., 0001 represents LZ4, 0010 represents Snappy, 0100 represents H.265 ROI, etc.). When parsing the DCP packet, the receiving end first extracts the identifier bits to determine the decoding algorithm, and then performs the corresponding decoding process on the payload data.
[0137] In practical applications, the synergy between encoding and encapsulation is also reflected in payload fragmentation optimization: when the encoded data block exceeds the MTU, intelligent fragmentation can be performed based on algorithm characteristics, such as dividing it into data packets 4.1, 4.2, and 4.3. For database files using incremental differential encoding, fragmentation is prioritized according to data block boundaries to avoid redundant verification caused by cross-block fragmentation. For video streams, fragmentation is performed at keyframe intervals to ensure that the receiving end can independently decode some data. Keyframe identification can employ a dual-layer detection mechanism (base layer identification and enhancement layer identification). Base layer identification detects the NAL unit type by parsing the RTP header information of the video stream (for H.264 / H.265 encoding). Enhancement layer identification uses lightweight intra-frame coding complexity analysis (calculating the macroblock type ratio; I macroblocks > 80% are considered keyframes) for the original video stream without RTP encapsulation. Keyframe identification is a prerequisite for ROI marking; ROI priority marking is only performed on identified keyframes, while non-keyframes (P / B frames) are compressed as a whole to avoid redundant calculations.
[0138] In one specific embodiment, such as Figure 5 As shown, Figure 5 The complete data transmission channel management process, from transmission parameter negotiation to anomaly handling, is demonstrated. The logic and key mechanisms of each step are as follows:
[0139] Transmission parameter negotiation: As the starting point of the process, the sending end and the receiving end negotiate the core transmission parameters (such as protocol type, encryption strategy, bandwidth limit, etc.) to provide the basic configuration basis for subsequent connection creation and data transmission.
[0140] Concurrent connection creation: Triggered by the RPG activation package, multiple concurrent connections are created according to the rule of concurrent connection number = number of CPU cores × 1.5, making full use of CPU computing power and providing hardware-level concurrency support for high-throughput data transmission.
[0141] Load balancing scheduling: scheduling is implemented through DCP packets, with a polling period of 50 milliseconds to monitor the load status of each link in real time; the link weight is calculated using the algorithm "weight = bandwidth × (1 - packet loss rate)", and data traffic is allocated according to the weight to achieve a balanced distribution of load across multiple links.
[0142] Link monitoring: Relying on LSFP feedback, real-time data such as packet loss rate, latency, and bandwidth utilization of each transmission link are collected to provide data support for subsequent dynamic adjustments and anomaly detection.
[0143] Dynamic adjustment: Based on the status data obtained from link monitoring, dynamically optimize the transmission strategy (such as the traffic allocation ratio of each link, the transmission window size, etc.) to ensure transmission efficiency and stability.
[0144] Anomaly Handling: The system accurately detects link anomalies by monitoring LSFP timeouts (e.g., determining link failure when there is no response for multiple consecutive LSFP cycles) and packet arrival intervals (triggering detection when the packet arrival interval exceeds a preset multiple of the expected interval). If an anomaly is detected, a "recovery" operation is performed (e.g., link reconstruction, retransmission of unacknowledged data). At the same time, the anomaly handling monitoring module ensures the effectiveness of the anomaly recovery process and ensures that the system recovers quickly from anomalies.
[0145] This ensures both high throughput and high efficiency in data transmission, while also improving transmission reliability through refined monitoring and anomaly handling.
[0146] See Figure 6 , Figure 6 This is a flowchart of another data transmission method provided in an embodiment of this application, applied to the receiving end, such as... Figure 6 As shown, the method includes the following steps:
[0147] Step 601: In the case of security authentication negotiation with the sending end, the sending end and the receiving end negotiate transmission parameters to obtain a first negotiation parameter. The transmission parameter negotiation is used to determine the first negotiation parameter based on the data processing capability of the sending end, the data processing capability of the receiving end, and the link resources between the sending end and the receiving end.
[0148] Step 602: Construct a first data transmission channel between the sending end and the receiving end based on the first negotiation parameters. The first data transmission channel is used for the transmission of target data packets.
[0149] Step 603: Receive the target data packet after preset processing sent by the sending end through the first data transmission channel, and perform data packet reassembly processing on the target data packet;
[0150] The preset processing includes encapsulation processing and optimized encoding processing. The encapsulation processing is used to fragment the target data packet to obtain multiple fragment data, and then encapsulate each fragment data into a carrier data packet, with each carrier data packet having a preset field corresponding to the fragment data. The optimized encoding processing is used to compress the target data packet according to a dynamically determined encoding strategy, which is dynamically determined based on the type characteristics of the target data packet and the status information of the first data transmission channel. The data packet reassembly processing is used to reorder the multiple fragment data according to the preset fields corresponding to the fragment data.
[0151] In this embodiment, the sending end and the receiving end negotiate transmission parameters through secure authentication negotiation to obtain the first negotiation parameters. By negotiating through secure authentication, the possibility of identity forgery and parameter tampering is reduced, thereby improving security and reliability. During the transmission parameter negotiation process, the first negotiation parameters are dynamically negotiated by combining the data processing capabilities of the sending end, the data processing capabilities of the receiving end, and the link resources. This provides a parameter basis for high-speed transmission that adapts to the end-side and link resources, thereby improving the utilization rate of link resources and the channel response speed. Then, based on the first negotiation parameters, a data transmission channel that takes into account high speed, high reliability, and high resource utilization is constructed. The target data packet is encapsulated and optimized for encoding, thereby achieving stable transmission of the target data packet in the first data transmission channel and meeting the high throughput, high reliability, and low latency transmission requirements of the "East-to-West Computing" scenario.
[0152] Optionally, the first negotiation parameters include performance-related parameters, including the number of concurrent connections. The sending end and the receiving end negotiate transmission parameters to obtain the first negotiation parameters, including:
[0153] A second RPG is generated based on the second connection limit of the link bandwidth corresponding to the data processing capability of the receiving end and the first RPG received from the sending end. The first RPG includes an initial value, which is the minimum value between the theoretical connection number of the sending end based on the link bandwidth and the first connection limit corresponding to the sending end. The second RPG includes the concurrent connection number, which is the minimum value among the second connection limit, the theoretical connection number, and the first connection limit.
[0154] The second RPG is sent to the sending end.
[0155] In this embodiment, when the receiving end and the sending end negotiate transmission parameters to obtain the first negotiation parameters, they first need to clarify the upper limit of the second connection number corresponding to their own data processing capabilities (i.e., the CPU utilization coefficient of the number of available CPU cores of the receiving end × 1.5), and at the same time receive the first RPG transmitted by the sending end. The first RPG contains an initial value, which is an initial suggested value obtained by the sending end by taking the minimum of the theoretical number of connections based on the link bandwidth (calculated according to the target bandwidth and the estimated throughput capacity per connection) and its own upper limit of the first connection number (the number of available CPU cores of the sending end × 1.5). Subsequently, the receiving end further calculates based on the aforementioned upper limit of the second connection number, the theoretical number of connections in the first RPG, and the upper limit of the first connection number, taking the minimum of the three to determine the number of concurrent connections, ensuring that the final parameters simultaneously adapt to the data processing capabilities and link resources of both the sending and receiving ends. Finally, the receiving end encapsulates the first negotiation parameters, including the number of concurrent connections, into a second RPG and sends it to the sending end, completing the parameter negotiation feedback stage and laying the foundation for both parties to reach a consensus on parameter configuration and build the first data transmission channel.
[0156] Optionally, the first negotiation parameters further include reliability-related parameters and service-related parameters. The reliability-related parameters include verification algorithm parameters and priority parameters. The service-related parameters include file name, file size, and quality of service (QoS) level parameters. The performance-related parameters further include maximum transmission unit, data packet size, and port range.
[0157] The step of constructing a first data transmission channel between the sending end and the receiving end based on the first negotiation parameters includes:
[0158] Receive the encapsulated first negotiation parameters sent by the sending end;
[0159] The encapsulated first negotiation parameter is verified to obtain verification information, which is used to verify the consistency of the corresponding first negotiation parameter between the sending end and the receiving end.
[0160] If the verification information determines that the first negotiation parameters of the sending end and the receiving end are consistent, a physical transmission channel and a logical transmission channel are created based on the first negotiation parameters. The physical transmission channel is used to carry actual data transmission, and the logical transmission channel is used to control concurrent transmission and load balancing. There is a mapping relationship between the logical transmission channel and the physical transmission channel. The first data transmission channel includes the physical transmission channel and the logical transmission channel.
[0161] In this embodiment, when the receiving end constructs the first data transmission channel based on the first negotiation parameters, after parsing the JSON message, the receiving end compares the three types of parameters (the number of concurrent connections in the performance parameters, the verification algorithm in the reliability parameters, and the QoS level in the service parameters) one by one with the parameters determined by the receiving end itself through RPG packet interaction. For example, verify that the concurrent connection count of both the sender and receiver is min((N_bw, N_cpu_c, N_cpu_s), the verification algorithm is CRC32, and the QoS level is throughput priority, ensuring that all configuration items are completely consistent. The verification information returned by the receiver can be divided into two categories: consistent and inconsistent. If consistent, it means that the configurations of both parties are synchronized, and channel construction can be started; if inconsistent, parameter negotiation needs to be re-initiated to avoid subsequent transmission errors due to parameter mismatch. In other words, the channel is only activated when both parties enter the ESTABLISHED state. Then, create a corresponding number of TCP / UDP connections according to the number of concurrent connections to ensure that the parallel transmission capability matches the link bandwidth requirements; bind an independent port to each physical connection according to the port range (e.g., 50001-50064) to avoid port conflicts; set a fragmentation threshold according to the maximum transmission unit (MTU) and the data packet size (e.g., when MTU=1500 bytes, the data packet size does not exceed 1500 bytes). This avoids additional fragmentation at the link layer, which would otherwise reduce transmission efficiency, ultimately forming a lower-level link capable of carrying actual data. Simultaneously, integrity verification rules for logical channels can be configured based on verification algorithm parameters (such as CRC32) to ensure that each scheduled data packet carries a corresponding check bit, allowing the receiving end to verify data integrity. Scheduling queues are divided according to priority parameters (e.g., allocating independent queues for high-priority services) to prevent low-priority data from preempting high-priority resources. Scheduling strategies are formulated based on QoS level parameters (e.g., latency-sensitive / throughput-first), for example, latency-sensitive services correspond to low-latency physical channels, while throughput-priority services are bound to multiple physical channels for parallel transmission. Furthermore, fragmentation scheduling can be optimized by combining filename and file size (e.g., prioritizing high-bandwidth physical channels for large files), ultimately forming a scheduling link that dynamically adapts to service and reliability requirements. Finally, by parsing the preset logical channel ID field in the second RPG, a dynamic mapping relationship between logical and physical transmission channels is established (supporting one-to-one, many-to-one, and one-to-many modes), ultimately forming a first data transmission channel composed of physical and logical transmission channels, capable of receiving and transmitting target data packets.
[0162] Optionally, the method further includes:
[0163] Upon receiving the first request information sent by the sending end and determining that an LSFP response exists, the sending end sends the LSFP response information to the sending end. The first request information is used to request the LSFP response information, and the LSFP response information is used by the sending end to perform fault detection on each link in the first data transmission channel and obtain the detection result.
[0164] And / or,
[0165] Upon receiving the second request information sent by the sending end and determining that a data packet is being received, the receiving time of the data packet is read and sent to the sending end. The second request information is used to request the receiving time of the data packet, and the receiving time of the data packet is used by the sending end to perform fault detection on each link in the first data transmission channel and obtain the detection result.
[0166] In this embodiment, when the receiving end receives the first request information from the sending end requesting a Link State Feedback Packet (LSFP) response and has an LSFP response of its own, it sends the LSFP response information to the sending end so that the sending end can determine whether there is a continuous non-response fault in the link; when the receiving end receives the second request information from the sending end requesting a data packet reception time and there is a data packet being received, it reads and sends the reception time of the data packet to the sending end so that the sending end can detect the link fault status based on whether the reception time exceeds the limit, thereby helping the sending end to accurately obtain the fault detection results of each link.
[0167] Optionally, before obtaining the first negotiation parameter, the method further includes:
[0168] The system receives an authentication request packet sent by the sending end. The authentication field of the authentication request packet encapsulates the first digital certificate of the sending end. The first digital certificate includes the identity information of the sending end and a public key pair generated by the sending end.
[0169] If the first digital certificate passes the legitimacy verification, a symmetric session key is generated, and the symmetric session key is encrypted using the public key to obtain a second digital certificate. The second digital certificate includes the identity information of the receiving end and the symmetric session key.
[0170] The second digital certificate is sent to the sending end. The second digital certificate is used by the sending end to decrypt the symmetric session key according to the public key, and to determine that the sending end and the receiving end have reached the security authentication negotiation if the integrity verification of the symmetric session key is passed and the legality verification of the second digital certificate is passed.
[0171] In this embodiment, the receiving end first receives the authentication request packet sent by the sending end, extracts the first digital certificate (containing the sending end's identity information and the public key pair generated by the sending end) encapsulated in the authentication field of the packet, and then verifies the legitimacy of the first digital certificate through the built-in CA root certificate chain. After the verification is successful, the receiving end generates a symmetric session key and encrypts the symmetric session key with the public key in the first digital certificate. At the same time, it encapsulates its own identity information and the encrypted symmetric session key into a second digital certificate. Finally, the second digital certificate is sent to the sending end, so that the sending end can decrypt the symmetric session key with its own public key pair, verify the integrity of the key, and verify the legitimacy of the second digital certificate through the CA root certificate chain. After all verifications by the sending end are successful, both parties can determine that the secure authentication negotiation has been completed, providing a secure foundation for the confidentiality and integrity of subsequent transmission parameter negotiations.
[0172] See Figure 7 , Figure 7 This is a schematic diagram of a data transmission device provided in an embodiment of this application, applied to the sending end, such as... Figure 7 As shown, the data transmission device 700 includes:
[0173] The first acquisition module 701 is used to negotiate transmission parameters with the receiving end when the sending end negotiates with the receiving end through security authentication, and obtain a first negotiation parameter. The transmission parameter negotiation is used to determine the first negotiation parameter based on the data processing capability of the sending end, the data processing capability of the receiving end, and the link resources between the sending end and the receiving end.
[0174] The construction module 702 is used to construct a first data transmission channel between the sending end and the receiving end based on the first negotiation parameters. The first data transmission channel is used for the transmission of target data packets.
[0175] Processing module 703 is used to perform preset processing on the target data packet and transmit the preset processed target data packet to the receiving end in parallel through the first data transmission channel;
[0176] The preset processing includes encapsulation processing and optimized encoding processing. The encapsulation processing is used to fragment the target data packet to obtain multiple fragment data, and then encapsulate each fragment data into a carrier data packet. Each carrier data packet has a preset field corresponding to the fragment data. The optimized encoding processing is used to compress the target data packet according to a dynamically determined encoding strategy. The encoding strategy is dynamically determined based on the type characteristics of the target data packet and the status information of the first data transmission channel.
[0177] Optionally, the device further includes:
[0178] The detection module is used to perform fault detection on each link in the first data transmission channel and obtain the detection results;
[0179] The reconstruction module is used to reconnect and reconstruct the faulty link to obtain a second data transmission channel when the detection result indicates that there is a faulty link in the first data transmission channel.
[0180] The allocation module is used to allocate the first sub-data packet in the target data packet that has not been acknowledged by the receiving end to the link in the second data transmission channel.
[0181] Optionally, the first negotiation parameter includes performance-related parameters, which include the number of concurrent connections. The first acquisition module 701 is specifically used for:
[0182] The theoretical number of connections corresponding to the link bandwidth of the link resource is obtained by link detection, and an initial value is determined by combining the first connection limit of the link bandwidth corresponding to the data processing capability of the sending end. The initial value is the minimum value between the theoretical number of connections and the first connection limit.
[0183] Send a first registration exploration packet (RPG) to the receiving end. The first RPG includes the initial value. The initial value is used by the receiving end to determine the number of concurrent connections based on the second connection limit corresponding to the receiving end. The number of concurrent connections is the minimum value among the second connection limit, the theoretical number of connections, and the first connection limit.
[0184] The receiver receives a second RPG, which includes the first negotiation parameters.
[0185] Optionally, the first negotiation parameters further include reliability-related parameters and service-related parameters. The reliability-related parameters include verification algorithm parameters and priority parameters. The service-related parameters include file name, file size, and quality of service (QoS) level parameters. The performance-related parameters further include maximum transmission unit, data packet size, and port range.
[0186] Module 702 is used specifically for:
[0187] Send the encapsulated first negotiation parameters to the receiving end;
[0188] The receiving end receives verification information for the encapsulated first negotiation parameter, the verification information being used to verify the consistency of the corresponding first negotiation parameter between the sending end and the receiving end;
[0189] If the verification information determines that the first negotiation parameters of the sending end and the receiving end are consistent, a physical transmission channel and a logical transmission channel are created based on the first negotiation parameters. The physical transmission channel is used to carry actual data transmission, and the logical transmission channel is used to control concurrent transmission and load balancing. There is a mapping relationship between the logical transmission channel and the physical transmission channel. The first data transmission channel includes the physical transmission channel and the logical transmission channel.
[0190] Optionally, the detection module is specifically used for:
[0191] A Link State Feedback (LSFP) packet is sent to the first link at a preset time interval, and the receiver is requested to obtain the response information of the LSFP from the receiver. The first link is any link in the first data transmission channel.
[0192] If no response information from the LSFP is received for N consecutive preset time intervals, the detection result is determined to indicate that the first link is faulty, where N is an integer greater than 1;
[0193] And / or,
[0194] The data packets sent by the sending end through the first link are tracked in real time, and the receiving end is requested to obtain the reception time of the data packets;
[0195] If the receiving time is greater than a preset time, a probe request is initiated to the first link, the probe request being used to determine the fault status of the first link;
[0196] The detection result is determined based on the response information of the detection request.
[0197] Optionally, the allocation module is specifically used for:
[0198] The first sub-data packet is determined based on the sequence number bitmap of the target data packet, wherein the sequence number bitmap is used to locate the loss range of the data packet;
[0199] Based on the load status of the second data transmission channel, the first sub-data packet is allocated to a link in the second data transmission channel.
[0200] Optionally, allocating the first sub-data packet to a link in the second data transmission channel based on the load status of the second data transmission channel includes:
[0201] A backup link in the second data transmission channel is determined, and a weighting algorithm is used to calculate the data volume of the first sub-data packet allocated to the backup link. The backup link is a link obtained by reconnecting and reconstructing the faulty link.
[0202] Based on the amount of data in the first sub-data packet allocated to the backup link, at least a portion of the data in the first sub-data packet is progressively migrated to the backup link.
[0203] Optionally, the device further includes:
[0204] The sending module is used to send an authentication request packet to the receiving end. The authentication field of the authentication request packet encapsulates the first digital certificate of the sending end. The first digital certificate includes the identity information of the sending end and a public key pair generated by the sending end.
[0205] The second acquisition module is used to acquire the second digital certificate returned by the receiving end. The second digital certificate includes the identity information of the receiving end and the symmetric session key generated by the receiving end. The symmetric session key is a key generated by the receiving end when the first digital certificate in the authentication request packet passes the legality verification. The symmetric session key is encrypted by the public key pair.
[0206] The verification module is used to determine that the sending end and the receiving end have successfully negotiated the security authentication if the symmetric session key is decrypted based on the public key, the integrity of the symmetric session key is verified, and the legitimacy of the second digital certificate is verified.
[0207] Optionally, the processing module 703 is specifically used for:
[0208] The target data packet is fragmented according to the target fragment size to obtain multiple fragment data. The target fragment size is determined based on the status information of the first data transmission channel.
[0209] After adding preset fields to each data segment, it is encapsulated into a carrier data packet. The preset fields include at least one of the following: sequence number, offset, logical channel ID, and check bit.
[0210] Based on the type characteristics of the target data packet and the status information of the first data transmission channel, the encoding strategy is dynamically determined. The status information includes at least one of latency rate, packet loss rate, link jitter standard deviation, and encoding efficiency.
[0211] The data transmission device 700 is capable of implementing each process of the above-described method embodiments, with one-to-one correspondence of technical features and achieving the same technical effect. To avoid repetition, it will not be described again here.
[0212] See Figure 8 , Figure 8 This is a schematic diagram of another data transmission device provided in an embodiment of this application, applied to the sending end, such as... Figure 8As shown, the data transmission device 800 includes:
[0213] The first acquisition module 801 is used to negotiate transmission parameters with the receiving end when the sending end negotiates with the receiving end through security authentication, and obtain a first negotiation parameter. The transmission parameter negotiation is used to determine the first negotiation parameter based on the data processing capability of the sending end, the data processing capability of the receiving end, and the link resources between the sending end and the receiving end.
[0214] The construction module 802 is used to construct a first data transmission channel between the sending end and the receiving end based on the first negotiation parameters. The first data transmission channel is used for the transmission of target data packets.
[0215] The first receiving module 803 is used to receive the preset processed target data packet sent by the sending end through the first data transmission channel, and to perform data packet reassembly processing on the target data packet;
[0216] The preset processing includes encapsulation processing and optimized encoding processing. The encapsulation processing is used to fragment the target data packet to obtain multiple fragment data, and then encapsulate each fragment data into a carrier data packet, with each carrier data packet having a preset field corresponding to the fragment data. The optimized encoding processing is used to compress the target data packet according to a dynamically determined encoding strategy, which is dynamically determined based on the type characteristics of the target data packet and the status information of the first data transmission channel. The data packet reassembly processing is used to reorder the multiple fragment data according to the preset fields corresponding to the fragment data.
[0217] Optionally, the first negotiation parameters include performance-related parameters, which include the number of concurrent connections. The first acquisition module 801 is specifically used for:
[0218] A second RPG is generated based on the second connection limit of the link bandwidth corresponding to the data processing capability of the receiving end and the first RPG received from the sending end. The first RPG includes an initial value, which is the minimum value between the theoretical connection number of the sending end based on the link bandwidth and the first connection limit corresponding to the sending end. The second RPG includes the concurrent connection number, which is the minimum value among the second connection limit, the theoretical connection number, and the first connection limit.
[0219] The second RPG is sent to the sending end.
[0220] Optionally, the first negotiation parameters further include reliability-related parameters and service-related parameters. The reliability-related parameters include verification algorithm parameters and priority parameters. The service-related parameters include file name, file size, and quality of service (QoS) level parameters. The performance-related parameters further include maximum transmission unit, data packet size, and port range.
[0221] Module 802 is specifically used for:
[0222] Receive the encapsulated first negotiation parameters sent by the sending end;
[0223] The encapsulated first negotiation parameter is verified to obtain verification information, which is used to verify the consistency of the corresponding first negotiation parameter between the sending end and the receiving end.
[0224] If the verification information determines that the first negotiation parameters of the sending end and the receiving end are consistent, a physical transmission channel and a logical transmission channel are created based on the first negotiation parameters. The physical transmission channel is used to carry actual data transmission, and the logical transmission channel is used to control concurrent transmission and load balancing. There is a mapping relationship between the logical transmission channel and the physical transmission channel. The first data transmission channel includes the physical transmission channel and the logical transmission channel.
[0225] Optionally, the device further includes:
[0226] The second receiving module is used to send the LSFP response information to the sending end when it receives the first request information sent by the sending end and determines that there is an LSFP response. The first request information is used to request the LSFP response information, and the LSFP response information is used by the sending end to perform fault detection on each link in the first data transmission channel and obtain the detection result.
[0227] And / or,
[0228] The third receiving module is used to read the reception time of the data packet when it receives the second request information sent by the sending end and determines that there is a data packet being received, and to send the reception time of the data packet to the sending end. The second request information is used to request the reception time of the data packet. The reception time of the data packet is used by the sending end to perform fault detection on each link in the first data transmission channel and obtain the detection result.
[0229] Optionally, the device further includes:
[0230] The fourth receiving module is used to receive the authentication request packet sent by the sending end. The authentication field of the authentication request packet encapsulates the first digital certificate of the sending end. The first digital certificate includes the identity information of the sending end and the public key pair generated by the sending end.
[0231] The verification module is used to generate a symmetric session key if the first digital certificate passes the legitimacy verification, and to encrypt the symmetric session key according to the public key to obtain a second digital certificate. The second digital certificate includes the identity information of the receiving end and the symmetric session key.
[0232] The sending module is used to send the second digital certificate to the sending end. The second digital certificate is used by the sending end to decrypt the symmetric session key according to the public key, and to determine that the sending end and the receiving end have reached the security authentication negotiation if the integrity verification of the symmetric session key is passed and the legality verification of the second digital certificate is passed.
[0233] The data transmission device 800 is capable of implementing each process of the above-described method embodiments, with one-to-one correspondence of technical features and achieving the same technical effect. To avoid repetition, it will not be described again here.
[0234] This application also provides an electronic device, including: a processor, a memory, and a program stored in the memory and executable on the processor. When the program is executed by the processor, it implements the various processes of the above-described data transmission method embodiments and achieves the same technical effect. To avoid repetition, it will not be described again here.
[0235] This application also provides a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements the various processes of the above-described data transmission method embodiments and achieves the same technical effects. To avoid repetition, it will not be described again here. The computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, etc.
[0236] This application also provides a computer program product, including computer instructions. When these computer instructions are executed by a processor, they implement the various processes of the above-described data transmission method embodiments and achieve the same technical effects. To avoid repetition, they will not be described again here.
[0237] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
[0238] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0239] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
Claims
1. A data transmission method, characterized in that, Applied to the sending end, the method includes: When the sending end negotiates with the receiving end through security authentication, the sending end and the receiving end negotiate transmission parameters to obtain a first negotiation parameter. The transmission parameter negotiation is used to determine the first negotiation parameter based on the data processing capability of the sending end, the data processing capability of the receiving end, and the link resources between the sending end and the receiving end. A first data transmission channel is constructed between the sending end and the receiving end based on the first negotiation parameters. The first data transmission channel is used for the transmission of target data packets. The target data packet is subjected to preset processing, and the preset processed target data packet is transmitted in parallel to the receiving end through the first data transmission channel; The preset processing includes encapsulation processing and optimized encoding processing. The encapsulation processing is used to fragment the target data packet to obtain multiple fragment data, and then encapsulate each fragment data into a carrier data packet. Each carrier data packet is added with a preset field corresponding to the fragment data. The optimized encoding processing is used to compress the target data packet according to a dynamically determined encoding strategy. The encoding strategy is dynamically determined based on the type characteristics of the target data packet and the status information of the first data transmission channel. The first negotiation parameter includes performance-related parameters, including the number of concurrent connections. The sending end and the receiving end negotiate transmission parameters to obtain the first negotiation parameter, including: The theoretical number of connections corresponding to the link bandwidth of the link resource is obtained by link detection, and an initial value is determined by combining the first connection limit of the link bandwidth corresponding to the data processing capability of the sending end. The initial value is the minimum value between the theoretical number of connections and the first connection limit. Send a first registration exploration packet (RPG) to the receiving end. The first RPG includes the initial value. The initial value is used by the receiving end to determine the number of concurrent connections based on the second connection limit corresponding to the receiving end. The number of concurrent connections is the minimum value among the second connection limit, the theoretical number of connections, and the first connection limit. The receiving end receives a second RPG, the second RPG including the number of concurrent connections.
2. The method according to claim 1, characterized in that, The method further includes: Fault detection is performed on each link in the first data transmission channel to obtain the detection results; If the detection result indicates that there is a faulty link in the first data transmission channel, the faulty link is reconnected and rebuilt to obtain a second data transmission channel; The first sub-data packet in the target data packet that has not been acknowledged by the receiving end is assigned to the link in the second data transmission channel.
3. The method according to claim 1, characterized in that, The first negotiation parameters also include reliability-related parameters and service-related parameters. The reliability-related parameters include verification algorithm parameters and priority parameters. The service-related parameters include file name, file size and quality of service (QoS) level parameters. The performance-related parameters also include maximum transmission unit, data packet size and port range. The step of constructing a first data transmission channel between the sending end and the receiving end based on the first negotiation parameters includes: Send the encapsulated first negotiation parameters to the receiving end; The receiving end receives verification information for the encapsulated first negotiation parameter, the verification information being used to verify the consistency of the corresponding first negotiation parameter between the sending end and the receiving end; If the verification information determines that the first negotiation parameters of the sending end and the receiving end are consistent, a physical transmission channel and a logical transmission channel are created based on the first negotiation parameters. The physical transmission channel is used to carry actual data transmission, and the logical transmission channel is used to control concurrent transmission and load balancing. There is a mapping relationship between the logical transmission channel and the physical transmission channel. The first data transmission channel includes the physical transmission channel and the logical transmission channel.
4. The method according to claim 2, characterized in that, The fault detection of each link in the first data transmission channel, and the resulting detection results, include: A Link State Feedback (LSFP) packet is sent to the first link at a preset time interval, and the receiver is requested to obtain the response information of the LSFP from the receiver. The first link is any link in the first data transmission channel. If no response information from the LSFP is received for N consecutive preset time intervals, the detection result is determined to indicate that the first link is faulty, where N is an integer greater than 1; And / or, The data packets sent by the sending end through the first link are tracked in real time, and the receiving end is requested to obtain the reception time of the data packets; If the receiving time is greater than a preset time, a probe request is initiated to the first link, the probe request being used to determine the fault status of the first link; The detection result is determined based on the response information of the detection request.
5. The method according to claim 2, characterized in that, The step of allocating the first sub-data packet in the target data packet that has not been acknowledged by the receiving end to the link in the second data transmission channel includes: The first sub-data packet is determined based on the sequence number bitmap of the target data packet, wherein the sequence number bitmap is used to locate the loss range of the data packet; Based on the load status of the second data transmission channel, the first sub-data packet is allocated to a link in the second data transmission channel.
6. The method according to claim 5, characterized in that, The allocation of the first sub-data packet to a link in the second data transmission channel based on the load status of the second data transmission channel includes: A backup link in the second data transmission channel is determined, and a weighting algorithm is used to calculate the data volume of the first sub-data packet allocated to the backup link. The backup link is a link obtained by reconnecting and reconstructing the faulty link. Based on the amount of data in the first sub-data packet allocated to the backup link, at least a portion of the data in the first sub-data packet is progressively migrated to the backup link.
7. The method according to any one of claims 1 to 6, characterized in that, Before obtaining the first negotiation parameter, the method further includes: An authentication request packet is sent to the receiving end. The authentication field of the authentication request packet contains the first digital certificate of the sending end. The first digital certificate includes the identity information of the sending end and a public key pair generated by the sending end. Obtain the second digital certificate returned by the receiving end. The second digital certificate includes the identity information of the receiving end and the symmetric session key generated by the receiving end. The symmetric session key is a key generated by the receiving end when the first digital certificate in the authentication request packet passes the legality verification. The symmetric session key is encrypted by the public key pair. If the symmetric session key is decrypted using the public key, and the integrity of the symmetric session key is verified, and the legitimacy of the second digital certificate is verified, then it is determined that the sending end and the receiving end have reached the security authentication agreement.
8. The method according to any one of claims 1 to 6, characterized in that, The preset processing of the target data packet includes: The target data packet is fragmented according to the target fragment size to obtain multiple fragment data. The target fragment size is determined based on the status information of the first data transmission channel. After adding preset fields to each data segment, it is encapsulated into a carrier data packet. The preset fields include at least one of the following: sequence number, offset, logical channel ID, and check bit. Prior to encapsulation into a carrier data packet, the process also includes: Based on the type characteristics of the target data packet and the status information of the first data transmission channel, the encoding strategy is dynamically determined. The status information includes at least one of latency rate, packet loss rate, link jitter standard deviation, and encoding efficiency.
9. A data transmission method, characterized in that, Applied to the receiving end, the method includes: When the sending end negotiates with the receiving end through security authentication, the sending end and the receiving end negotiate transmission parameters to obtain a first negotiation parameter. The transmission parameter negotiation is used to determine the first negotiation parameter based on the data processing capability of the sending end, the data processing capability of the receiving end, and the link resources between the sending end and the receiving end. A first data transmission channel is constructed between the sending end and the receiving end based on the first negotiation parameters. The first data transmission channel is used for the transmission of target data packets. Receive the target data packet after preset processing sent by the sending end through the first data transmission channel, and perform data packet reassembly processing on the target data packet; The preset processing includes encapsulation processing and optimized encoding processing. The encapsulation processing is used to fragment the target data packet to obtain multiple fragment data, and then encapsulate each fragment data into a carrier data packet. Each carrier data packet has a preset field corresponding to the fragment data. The optimized encoding processing is used to compress the target data packet according to a dynamically determined encoding strategy. The encoding strategy is dynamically determined based on the type characteristics of the target data packet and the status information of the first data transmission channel. The data packet reassembly processing is used to reorder the multiple fragment data according to the preset fields corresponding to the fragment data. The first negotiation parameter includes performance-related parameters, including the number of concurrent connections. The sending end and the receiving end negotiate transmission parameters to obtain the first negotiation parameter, including: A second RPG is generated based on the second connection limit of the link bandwidth corresponding to the data processing capability of the receiving end and the first RPG received from the sending end. The first RPG includes an initial value, which is the minimum value between the theoretical connection number of the sending end based on the link bandwidth and the first connection limit corresponding to the sending end. The second RPG includes the concurrent connection number, which is the minimum value among the second connection limit, the theoretical connection number, and the first connection limit. The second RPG is sent to the sending end.
10. The method according to claim 9, characterized in that, The first negotiation parameters also include reliability-related parameters and service-related parameters. The reliability-related parameters include verification algorithm parameters and priority parameters. The service-related parameters include file name, file size and quality of service (QoS) level parameters. The performance-related parameters also include maximum transmission unit, data packet size and port range. The step of constructing a first data transmission channel between the sending end and the receiving end based on the first negotiation parameters includes: Receive the encapsulated first negotiation parameters sent by the sending end; The encapsulated first negotiation parameter is verified to obtain verification information, which is used to verify the consistency of the corresponding first negotiation parameter between the sending end and the receiving end. If the verification information determines that the first negotiation parameters of the sending end and the receiving end are consistent, a physical transmission channel and a logical transmission channel are created based on the first negotiation parameters. The physical transmission channel is used to carry actual data transmission, and the logical transmission channel is used to control concurrent transmission and load balancing. There is a mapping relationship between the logical transmission channel and the physical transmission channel. The first data transmission channel includes the physical transmission channel and the logical transmission channel.
11. The method according to claim 9, characterized in that, The method further includes: Upon receiving the first request information sent by the sending end and determining that an LSFP response exists, the sending end sends the LSFP response information to the sending end. The first request information is used to request the LSFP response information, and the LSFP response information is used by the sending end to perform fault detection on each link in the first data transmission channel and obtain the detection result. And / or, Upon receiving the second request information sent by the sending end and determining that a data packet is being received, the receiving time of the data packet is read and sent to the sending end. The second request information is used to request the receiving time of the data packet, and the receiving time of the data packet is used by the sending end to perform fault detection on each link in the first data transmission channel and obtain the detection result.
12. The method according to any one of claims 9 to 11, characterized in that, Before obtaining the first negotiation parameter, the method further includes: The system receives an authentication request packet sent by the sending end. The authentication field of the authentication request packet encapsulates the first digital certificate of the sending end. The first digital certificate includes the identity information of the sending end and a public key pair generated by the sending end. If the first digital certificate passes the legitimacy verification, a symmetric session key is generated, and the symmetric session key is encrypted using the public key to obtain a second digital certificate. The second digital certificate includes the identity information of the receiving end and the symmetric session key. The second digital certificate is sent to the sending end. The second digital certificate is used by the sending end to decrypt the symmetric session key according to the public key, and to determine that the sending end and the receiving end have reached the security authentication negotiation if the integrity verification of the symmetric session key is passed and the legality verification of the second digital certificate is passed.
13. A data transmission device, characterized in that, Applied to the transmitting end, the device includes: The first acquisition module is used to negotiate transmission parameters with the receiving end when the sending end negotiates with the receiving end through security authentication, and obtain a first negotiation parameter. The transmission parameter negotiation is used to determine the first negotiation parameter based on the data processing capability of the sending end, the data processing capability of the receiving end, and the link resources between the sending end and the receiving end. A construction module is used to construct a first data transmission channel between the sending end and the receiving end based on the first negotiation parameters. The first data transmission channel is used for the transmission of target data packets. The processing module is used to perform preset processing on the target data packet and transmit the preset processed target data packet to the receiving end in parallel through the first data transmission channel; The preset processing includes encapsulation processing and optimized encoding processing. The encapsulation processing is used to fragment the target data packet to obtain multiple fragment data, and then encapsulate each fragment data into a carrier data packet. Each carrier data packet is added with a preset field corresponding to the fragment data. The optimized encoding processing is used to compress the target data packet according to a dynamically determined encoding strategy. The encoding strategy is dynamically determined based on the type characteristics of the target data packet and the status information of the first data transmission channel. The first negotiation parameters include performance-related parameters, including the number of concurrent connections. The first acquisition module is specifically used for: The theoretical number of connections corresponding to the link bandwidth of the link resource is obtained by link detection, and an initial value is determined by combining the first connection limit of the link bandwidth corresponding to the data processing capability of the sending end. The initial value is the minimum value between the theoretical number of connections and the first connection limit. Send a first registration exploration packet (RPG) to the receiving end. The first RPG includes the initial value. The initial value is used by the receiving end to determine the number of concurrent connections based on the second connection limit corresponding to the receiving end. The number of concurrent connections is the minimum value among the second connection limit, the theoretical number of connections, and the first connection limit. The receiving end receives a second RPG, the second RPG including the number of concurrent connections.
14. A data transmission device, characterized in that, Applied to the receiving end, the device includes: The first acquisition module is used to, when the sending end negotiates with the receiving end through security authentication, negotiate transmission parameters to obtain a first negotiation parameter. The transmission parameter negotiation is used to determine the first negotiation parameter based on the data processing capability of the sending end, the data processing capability of the receiving end, and the link resources between the sending end and the receiving end. A construction module is used to construct a first data transmission channel between the sending end and the receiving end based on the first negotiation parameters. The first data transmission channel is used for the transmission of target data packets. The first receiving module is used to receive the preset processed target data packet sent by the sending end through the first data transmission channel, and to perform data packet reassembly processing on the target data packet; The preset processing includes encapsulation processing and optimized encoding processing. The encapsulation processing is used to fragment the target data packet to obtain multiple fragment data, and then encapsulate each fragment data into a carrier data packet. Each carrier data packet has a preset field corresponding to the fragment data. The optimized encoding processing is used to compress the target data packet according to a dynamically determined encoding strategy. The encoding strategy is dynamically determined based on the type characteristics of the target data packet and the status information of the first data transmission channel. The data packet reassembly processing is used to reorder the multiple fragment data according to the preset fields corresponding to the fragment data. The first negotiation parameter includes performance-related parameters, which include the number of concurrent connections. The first acquisition module is specifically used for: A second RPG is generated based on the second connection limit of the link bandwidth corresponding to the data processing capability of the receiving end and the first RPG received from the sending end. The first RPG includes an initial value, which is the minimum value between the theoretical connection number of the sending end based on the link bandwidth and the first connection limit corresponding to the sending end. The second RPG includes the concurrent connection number, which is the minimum value among the second connection limit, the theoretical connection number, and the first connection limit. The second RPG is sent to the sending end.
15. An electronic device, characterized in that, include: A processor, a memory, and a program stored in the memory and executable on the processor, wherein the program, when executed by the processor, implements the steps of the method as claimed in any one of claims 1 to 8, or implements the steps of the method as claimed in any one of claims 9 to 12.
16. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the method as described in any one of claims 1 to 8, or implements the steps of the method as described in any one of claims 9 to 12.
17. A computer program product, characterized in that, It includes computer instructions that, when executed by a processor, implement the steps of the method as described in any one of claims 1 to 8, or implement the steps of the method as described in any one of claims 9 to 12.