Data transmission method and device

By determining the transmission performance indicators of each path and assigning credit weights in the data center network, the problem of low resource utilization in single-path control and multi-path transmission is solved, and efficient and stable data transmission is achieved.

CN121771102APending Publication Date: 2026-03-31CHINA MOBILE COMM LTD RES INST +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202512053684.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-31
Publication Date
2026-03-31

AI Technical Summary

Technical Problem

Existing data center networks suffer from technical problems such as proactively controlling low latency but being limited to a single path, lacking the ability to schedule traffic between multiple paths, and having high throughput in multi-path transmission but being passively reactive, resulting in low resource utilization and insufficient transmission stability.

Method used

By receiving credit authorization information from the receiving end, the transmission performance indicators of each data transmission path are determined, credit weights are allocated according to the performance indicators, and the target credit is determined based on the credit authorization amount and weight. The data to be transmitted is then allocated to the corresponding path for transmission, while adaptive credit resource scheduling is implemented on the receiving end side.

Benefits of technology

It enables precise quantitative allocation of credit resources, improves transmission efficiency and congestion control capabilities, balances resource utilization and network stability, and avoids resource waste and imbalance in allocation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121771102A_ABST
    Figure CN121771102A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of network transmission optimization, and provides a data transmission method and device. The method comprises the steps of receiving credit authorization information sent by a receiving end, wherein the credit authorization information is used for authorizing a sending end to transmit to-be-transmitted data based on a credit authorization amount; determining a transmission performance index of each data transmission path; determining a credit allocation weight of each data transmission path according to the transmission performance index; determining the target credit of each data transmission path according to the credit authorization amount and the credit allocation weight of each data transmission path; and based on the target credit of each data transmission path, distributing the to-be-transmitted data to the corresponding data transmission path for transmission. According to the data transmission method provided by the invention, multi-path data transmission under active control is realized, and the robustness of data transmission and the resource utilization rate are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of network transmission optimization technology, and in particular to a data transmission method and apparatus. Background Technology

[0002] Data Center Networks (DCNs) are the core infrastructure of distributed computing architectures, undertaking data transmission and processing tasks. With the deployment of emerging businesses such as cloud computing and big data, DCNs face escalating demands for high throughput and low latency. However, the surge in data volume and the highly dynamic and sudden nature of traffic flow easily lead to congestion problems caused by traffic bursts and uneven load distribution. To address these challenges, the industry has mainly developed two technical approaches: one is multipath transmission technology, such as the Multipath Transmission Control Protocol (MPTCP), which extends the traditional Transmission Control Protocol (TCP) to allow multiple sub-streams to be established in parallel transmission within a single connection, facilitating the utilization of multipath topology bandwidth and improving robustness to path failures; the other is proactive congestion control technology, such as credit authorization schemes based on the receiver or centralized controller. By actively adjusting and limiting the data sent to the network, low queuing latency and zero packet loss can be achieved, effectively addressing congestion caused by traffic bursts.

[0003] This approach suffers from drawbacks such as slow convergence of passive congestion control, large throughput jitter and easy overflow of shallow buffers in switches, and the inability of single-path active control to utilize multi-path bandwidth resources. Furthermore, multi-path credit allocation does not take into account path performance differences, resulting in low resource utilization and insufficient transmission stability. Summary of the Invention

[0004] This application provides a data transmission method and apparatus to solve the technical problems of active control with low latency but limited to a single path and lack of traffic scheduling capability between multiple paths, and high throughput of multi-path transmission but passive response.

[0005] This application provides a data transmission method, executed by a sending end, including: Receive credit authorization information sent by the receiving end, wherein the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount; Determine the transmission performance metrics for each data transmission path; The credit allocation weight for each data transmission path is determined based on transmission performance indicators. The target credit for each data transmission path is determined based on the credit authorization amount and the credit allocation weight for each data transmission path. Based on the target credit of each data transmission path, the data to be transmitted is allocated to the corresponding data transmission path for transmission.

[0006] According to this application, a data transmission method is provided, which further includes, before receiving credit authorization information sent by the receiving end: Initial transmission data is sent to the receiving end based on a data transmission path until the amount of initial transmission data transmitted along the data transmission path equals the initial window value. The initial window value is the data transmission threshold of the data transmission link before the receiving end performs credit authorization.

[0007] This application provides a data transmission method that determines the credit allocation weight of each data transmission path based on transmission performance indicators, including: The credit allocation weight for each data transmission path is determined based on historical transmission rate, real-time round-trip latency, and historical packet loss rate in the transmission performance indicators.

[0008] This application provides a data transmission method, the method further comprising: Receive a data retransmission request sent by the receiving end, wherein the data retransmission request includes: packet loss data identifier; Resend the data to be transmitted and / or the initial transmission data corresponding to the packet loss data identifier to the receiving end.

[0009] This application provides a data transmission method, executed by a receiving end, including: Upon receiving a data packet or credit authorization request from the sender, determine the credit authorization amount, wherein the data packet includes: data to be transmitted or initial transmission data; Credit authorization information is generated based on the credit authorization amount; the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount. Send credit authorization information to the sender.

[0010] This application provides a data transmission method for determining credit authorization amounts, including: Unallocated remaining credit and / or idle credit generated during the waiting period are collectively determined as the credit authorization amount.

[0011] This application provides a data transmission method, the method further comprising: If it is determined that there are no unallocated remaining credits and / or idle credits generated during the waiting response process, stop generating credit authorization information.

[0012] This application provides a data transmission method, the method further comprising: Identify the packet loss event and the identifier of the lost data; Send a data retransmission request to the sender, wherein the data retransmission request includes: packet loss data identifier.

[0013] This application provides a data transmission method for determining when a packet loss event has occurred, including: A packet loss event is determined to have occurred if the amount of out-of-order data in the received data exceeds a first quantity threshold. The received data includes: initial transmission data and / or data to be transmitted; or If no initial transmission data and / or data to be transmitted are received within the second preset time period, a packet loss event is determined to have occurred.

[0014] This application provides a data transmission method, the method further comprising: If the amount of out-of-order data in the received data exceeds a first quantity threshold, the transmission of credit authorization information will be stopped.

[0015] This application provides a data transmission device, including: The first receiving module is used to receive credit authorization information sent by the receiving end, wherein the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount; The first determining module is used to determine the transmission performance indicators of each data transmission path; The second determining module is used to determine the credit allocation weight of each data transmission path based on transmission performance indicators; The third determination module is used to determine the target credit for each data transmission path based on the credit authorization amount and the credit allocation weight of each data transmission path; The transmission module is used to allocate the data to be transmitted to the corresponding data transmission path based on the target credit of each data transmission path.

[0016] According to this application, a data transmission apparatus is provided, which is further used for: Initial transmission data is sent to the receiving end based on a data transmission path until the amount of initial transmission data transmitted along the data transmission path equals the initial window value. The initial window value is the data transmission threshold of the data transmission link before the receiving end performs credit authorization.

[0017] According to this application, a data transmission apparatus is provided, wherein the second determining module is further configured to: The credit allocation weight for each data transmission path is determined based on historical transmission rate, real-time round-trip latency, and historical packet loss rate in the transmission performance indicators.

[0018] According to this application, a data transmission apparatus is provided, which is further used for: Receive a data retransmission request sent by the receiving end, wherein the data retransmission request includes: packet loss data identifier; Resend the data to be transmitted and / or the initial transmission data corresponding to the packet loss data identifier to the receiving end.

[0019] Fourthly, embodiments of this application provide a data transmission apparatus, including: The fourth determining module is used to determine the credit authorization amount when a data packet or credit authorization request is received from the sending end. The data packet includes: data to be transmitted or initial transmission data. The generation module is used to generate credit authorization information based on the credit authorization amount; the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount. The first sending module is used to send credit authorization information to the sending end.

[0020] According to this application, a data transmission apparatus is provided, wherein a fourth determining module is specifically used for: Unallocated remaining credit and / or idle credit generated during the waiting period are collectively determined as the credit authorization amount.

[0021] According to this application, a data transmission apparatus is provided, which is further used for: If it is determined that there are no unallocated remaining credits and / or idle credits generated during the waiting response process, stop generating credit authorization information.

[0022] According to this application, a data transmission apparatus is provided, which is further used for: Identify the packet loss event and the identifier of the lost data; Send a data retransmission request to the sender, wherein the data retransmission request includes: packet loss data identifier.

[0023] According to this application, a data transmission apparatus is provided, which is further used for: A packet loss event is determined to have occurred if the amount of out-of-order data in the received data exceeds a first quantity threshold. The received data includes: initial transmission data and / or data to be transmitted; or If no initial transmission data and / or data to be transmitted are received within the second preset time period, a packet loss event is determined to have occurred.

[0024] According to this application, a data transmission apparatus is provided, which is further used for: If the amount of out-of-order data in the received data exceeds a first quantity threshold, the transmission of credit authorization information will be stopped.

[0025] Fifthly, embodiments of this application provide an electronic device, including a processor and a memory storing a computer program, wherein the processor executes the program to implement the steps of the data transmission method of the first or second aspect.

[0026] In a sixth aspect, embodiments of this application provide a non-transitory computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the steps of the data transmission method of the first or second aspect.

[0027] In a seventh aspect, embodiments of this application provide a computer program product, including a computer program, wherein when the computer program is executed by a processor, it implements the steps of the data transmission method of the first or second aspect.

[0028] The data transmission method and apparatus provided in this application embodiment clarify the overall credit authorization limit for data transmission by receiving credit authorization information from the receiving end, and incorporate its own data transmission behavior into the credit control system linked to the sending and receiving ends, thus avoiding network congestion caused by blind transmission from the source. Furthermore, by accurately acquiring the transmission performance indicators of each data transmission path, the actual transmission status of each path is grasped, providing objective data support for credit allocation. Subsequently, the credit allocation weight of each path is determined based on the performance indicators, and then the target credit for each path is calculated by matching the credit authorization amount with the weight, achieving precise quantitative allocation of credit resources and avoiding resource waste or imbalance. Finally, the data to be transmitted is allocated to the corresponding path according to the target credit, effectively solving the problems of uneven credit allocation and low resource utilization, while balancing transmission efficiency and congestion prevention capabilities.

[0029] The data transmission method and apparatus provided in this application enable the receiving end to determine the credit authorization amount and generate credit authorization information based on the credit authorization amount, thereby achieving refined and adaptive management of credit resources on network bottleneck links. Furthermore, the receiving end can flexibly switch between two strategies based on real-time network load: actively exploring credit potential (maximizing resource utilization and reducing idle time) and ensuring network stability and connection fairness (suspending authorization and queuing during overload). This allows for efficient and fair scheduling of credit resources at the receiving end, effectively improving overall network throughput efficiency and fundamentally avoiding congestion risks caused by over-authorization. Attached Figure Description

[0030] To more clearly illustrate the technical solutions in this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0031] Figure 1 This is one of the flowcharts illustrating the data transmission method provided in the embodiments of this application; Figure 2 This is a second schematic flowchart of the data transmission method provided in the embodiments of this application; Figure 3 This is the third flowchart illustrating the data transmission method provided in the embodiments of this application; Figure 4 This is the fourth flowchart illustrating the data transmission method provided in the embodiments of this application; Figure 5A This is a schematic diagram of the data transmission system provided in the embodiments of this application; Figure 5B This is the fifth flowchart illustrating the data transmission method provided in the embodiments of this application; Figure 6 This is one of the schematic diagrams of the data transmission device provided in the embodiments of this application; Figure 7 This is a second schematic diagram of the data transmission device provided in the embodiments of this application; Figure 8 A schematic diagram of the physical structure of an electronic device is provided. Detailed Implementation

[0032] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions 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.

[0033] Figure 1 This is one of the flowcharts illustrating the data transmission method provided in this application, such as... Figure 1 As shown, this method is executed by the sending end and includes the following: Step 101: Receive the credit authorization information sent by the receiving end, wherein the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount.

[0034] The data transmission method in this application embodiment is executed by a sending end, which can be, for example, a cloud server, a virtual machine, a gateway device, a mobile terminal, etc., and there is no limitation thereto.

[0035] Credit determines the amount of data the sender is allowed to transmit. It can be understood as an abstraction of bottleneck link resources (such as bandwidth), which are not restricted.

[0036] Among them, credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount. The credit authorization information can be in the form of a credit authorization packet (GRANT), which is sent from the receiving end to the sending end. It can be used to indicate the total amount of available credit. The credit authorization packet can be returned to the receiving end along with an acknowledgment (ACK).

[0037] The data to be transmitted can be video stream data, text data, etc. It is usually transmitted in the form of data packets. The data to be transmitted is the core data carrier sent from the sending end to the receiving end. In addition to carrying business data, it also contains a connection-level sequence number, which is used for data reassembly and packet loss determination at the receiving end.

[0038] In this embodiment of the application, the receiving end manages the credit pool, which can decide whether to send credit authorization information to the receiving end based on the remaining credit and idle credit status of the credit pool, and the amount of data that the sending end can transmit based on the amount of credit authorization.

[0039] Step 102: Determine the transmission performance indicators for each data transmission path.

[0040] Here, "data transmission path" refers to a parallel transmission channel established between the sending and receiving ends to carry a portion of the data in the same data connection. Multiple data transmission paths share the same connection-level data sequence number, enabling the receiving end to reassemble and recover lost packets from data received from different paths based on this sequence number. The data transmission path can be a sub-stream in the Multipath Transmission Control Protocol (MPTCP) or a logical or physical channel with similar functionality in other multipath transmission architectures.

[0041] Among them, the transmission performance index is a quantitative parameter that measures the efficiency, stability, reliability and congestion status of data transmission along the path. This data transmission performance index can be, for example, round-trip time (RTT), packet loss rate, data transmission rate, etc., and there are no restrictions on it.

[0042] Round-trip time refers to the total time it takes for a data packet to travel from the sending end to the receiving end and receive confirmation from the receiving end.

[0043] Packet loss rate refers to the proportion of data packets lost in the path to the total number of data packets sent.

[0044] Among them, data transmission rate is the core quantitative indicator for measuring how fast data is transmitted in the transmission path (or link, sub-stream). It refers to the amount of data successfully transmitted from the sending end to the receiving end per unit time, and its value directly reflects the transmission efficiency of the transmission path.

[0045] In this embodiment of the application, determining the transmission performance index of each data transmission path can be done by determining the historical transmission rate and historical packet loss rate of each data transmission path within a historical time period, then determining the real-time round-trip delay, and combining the historical transmission rate, real-time round-trip delay, and historical packet loss rate as transmission performance indexes, without any restrictions.

[0046] In this embodiment of the application, the real-time round-trip time can be determined by measuring or estimating the timing of the data packets and their acknowledgment messages between the sender and receiver. For example, the sender sends a data packet to the receiver and records the sending timestamp of the data packet. Then, when it receives an acknowledgment message for the data packet, it records the receiving timestamp of the acknowledgment message. The real-time round-trip time is the difference between the receiving timestamp and the sending timestamp.

[0047] It should be noted that the above is merely an exemplary method for determining real-time round-trip delay and is not intended to limit this application.

[0048] Step 103: Determine the credit allocation weight for each data transmission path based on the transmission performance indicators.

[0049] The credit allocation weight can be used to allocate the amount of credit authorization granted by the receiver to each data transmission path. The larger the credit allocation weight, the more credit needs to be allocated to the data transmission path, and the smaller the credit allocation weight, the less credit needs to be allocated to the data transmission path.

[0050] Among them, data transmission paths with higher historical transmission rates tend to receive higher credit allocation weights.

[0051] The closer the real-time round-trip time is to the network's base time (which refers to the base round-trip time, i.e. the minimum round-trip time under ideal network path congestion-free conditions), the higher the credit allocation weight of the data transmission path will be; conversely, the data transmission path is considered to have a higher risk of congestion and its credit allocation weight needs to be reduced.

[0052] Among them, the lower the historical packet loss rate of a data transmission path, the greater the credit allocation weight of that data transmission path; conversely, if the path is considered to have congestion or unstable link status, the credit allocation weight of that data transmission path will be lower, and the data will be migrated to a data transmission path with lower congestion or more stable transmission.

[0053] In this embodiment of the application, the credit allocation weight of each data transmission path is determined according to the transmission performance indicators. This can be achieved by weighting and summing the historical transmission rate, real-time round-trip delay, and historical packet loss rate in the transmission performance indicators to determine the weighting result. Based on the weighting result corresponding to the data transmission path, the credit allocation weight of each data transmission path is then determined.

[0054] In this embodiment of the application, corresponding weighting coefficients can be set for the historical transmission rate, real-time round-trip latency and historical packet loss rate in the transmission performance indicators, so that the data transmission requirements in different business scenarios can be flexibly adapted based on different weighting coefficients.

[0055] It should be noted that the weighted summation of historical transmission rate, real-time round-trip delay and historical packet loss rate in the transmission performance indicators, and the determination of credit allocation weight by combining the weighted summation results, is only an exemplary method for determining credit allocation weight. The sending end can also dynamically calculate credit allocation weight based on a comprehensive consideration of multi-dimensional path status such as real-time round-trip delay, packet loss rate and historical performance, without any restrictions.

[0056] Step 104: Determine the target credit for each data transmission path based on the credit authorization amount and the credit allocation weight for each data transmission path.

[0057] Target credit refers to the credit allocated to this data transmission path.

[0058] In this embodiment of the application, the target credit for each data transmission path is determined based on the credit authorization amount and the credit allocation weight of each data transmission path. Alternatively, the target credit can be determined by multiplying the credit authorization amount and the credit allocation weight of each data transmission path.

[0059] For example, consider two data transmission paths. The GRANT packet sent by the receiving end to the sending end contains a total authorized credit of C. After calculation, the weight of sub-stream 1 (corresponding to data transmission path 1) is 70%, and the weight of sub-stream 2 (corresponding to data transmission path 2) is 30%. Therefore, the sending end can determine that sub-stream 1 is allocated 0.7C credits, and sub-stream 2 is allocated 0.3C credits. Subsequently, the sending end schedules the corresponding amount of data to be transmitted through the corresponding path based on the credits allocated to each sub-stream.

[0060] Step 105: Based on the target credit of each data transmission path, allocate the data to be transmitted to the corresponding data transmission path for transmission.

[0061] In this embodiment, after determining the target credit of each data transmission path based on the credit authorization amount and the credit allocation weight of each data transmission path, the data to be transmitted can be allocated to the corresponding data transmission path for transmission based on the target credit of each data transmission path. Since multiple data transmission paths are used to transmit the data to be transmitted, the data transmission efficiency can be effectively improved.

[0062] The data transmission method provided in this application clarifies the overall credit authorization limit for data transmission by receiving credit authorization information from the receiving end, thus incorporating its own data transmission behavior into a credit control system linked to the sending and receiving ends, thereby avoiding network congestion caused by blind transmission from the source. Furthermore, by accurately acquiring the transmission performance indicators of each data transmission path, the actual transmission status of each path is grasped, providing objective data support for credit allocation. Subsequently, the credit allocation weight of each path is determined based on the performance indicators, and then the target credit for each path is calculated by matching the credit authorization amount with the weight, achieving precise quantitative allocation of credit resources and avoiding resource waste or imbalance. Finally, the data to be transmitted is allocated to the corresponding path according to the target credit, effectively solving the problems of uneven credit allocation and low resource utilization, while balancing transmission efficiency and congestion prevention capabilities.

[0063] Figure 2 This is a second schematic flowchart of the data transmission method provided in the embodiments of this application, as shown below. Figure 2 As shown, the method includes the following: Step 201: Send initial transmission data to the receiving end based on a data transmission path until the amount of initial transmission data transmitted by the data transmission path equals the initial window value.

[0064] The initial window value is the data transmission threshold of the data transmission link before the receiving end performs credit authorization. The size of the initial window value is calculated based on the network's basic propagation delay and the bandwidth of the bottleneck link, aiming to start data transmission as quickly as possible without introducing additional queuing delay. The location of the bottleneck link in the network depends on the network topology and actual operation, but the location of the bottleneck link will not be a limiting condition in the design of this scheme.

[0065] In other words, after the connection is established between the sender and receiver, in order to accelerate the completion of small traffic (the stream size is usually less than K times the Bandwidth-Delay Product (BDP)), the sender is allowed to immediately send data equivalent to the above initial window size within the first RTT without waiting for credit authorization, and then exit the pre-authorization phase.

[0066] In other words, in the embodiments of this application, during the pre-authorization stage, the round-trip time information of all data transmission paths can be obtained first, and then the data transmission paths can be sorted in order of round-trip time from low to high. Initial transmission data can be sent based on the data transmission path with the lowest round-trip time first, until the amount of initial transmission data sent to that data transmission path reaches a preset initial window value.

[0067] In this embodiment of the application, by performing credit pre-authorization processing, it is possible to avoid the delay of at least one RTT caused by the authorization signaling interaction if the data is sent after the connection is established and the receiver completes the full credit authorization process. Since the data volume of small traffic (the flow size is usually less than K times the bandwidth-delay product BDP) is small, this waiting delay will significantly increase its overall transmission completion time. Pre-authorization allows the sender to send data of the initial window size without authorization within the first RTT, which can directly eliminate the waiting link and greatly shorten the end-to-end transmission delay of small traffic.

[0068] Furthermore, in this embodiment, by performing credit pre-authorization processing, the credit pool initialization and authorization decision process of the receiving end are not yet fully ready at the initial stage of connection establishment. Pre-authorization allows the sending end to quickly start data transmission before the credit authorization officially takes effect, avoiding the resource idle state where the transmission link has been established but no data is being sent. This improves the resource utilization rate of the link in the early stage. Moreover, the amount of data sent in the pre-authorization is capped at the initial window value, which is calculated based on the basic network propagation delay and the bottleneck link credit. This ensures that the initial data transmission is completed without introducing additional queuing delay or triggering network congestion. This achieves small-volume acceleration without breaking the core constraints of congestion control, thus ensuring the stability of the overall transmission.

[0069] Step 202: Receive the credit authorization information sent by the receiving end, wherein the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount.

[0070] Step 203: Determine the transmission performance indicators for each data transmission path.

[0071] Step 204: Determine the credit allocation weight for each data transmission path based on the transmission performance indicators.

[0072] Step 205: Determine the target credit for each data transmission path based on the credit authorization amount and the credit allocation weight for each data transmission path.

[0073] Step 206: Based on the target credit of each data transmission path, allocate the data to be transmitted to the corresponding data transmission path for transmission.

[0074] For a detailed description of steps 202-206, please refer to the above embodiments, which will not be repeated here.

[0075] In this embodiment, a strategy combining pre-authorization and dynamic scheduling achieves overall optimization of multi-path data transmission efficiency. Its core advantages are: First, by utilizing a pre-authorization mechanism based on round-trip delay sorting and an initial window, the initial signaling interaction delay after connection establishment is effectively eliminated, enabling small-volume data to quickly initiate transmission and significantly reducing short-flow completion time. Second, after formal authorization at the receiving end, the sending end can dynamically calculate credit allocation weights based on the real-time performance indicators of each path, thereby intelligently allocating the total credit authorization amount to each path as needed. This improves overall throughput and resource utilization while ensuring low latency and high stability during transmission.

[0076] Optionally, in some embodiments, during the process of the sending end sending initial transmission data and data to be transmitted to the receiving end, a data retransmission request sent by the receiving end can also be received. The data retransmission request includes: a packet loss data identifier, and retransmitting the data to be transmitted and / or the initial transmission data corresponding to the packet loss data identifier to the receiving end.

[0077] Among them, packet loss events refer to abnormal transmission events in which data packets (including business data packets and critical control packets such as GRANT packets) sent by the sending end fail to be successfully delivered to the receiving end as expected, or the receiving end is unable to properly identify and verify the data packets.

[0078] Among them, the data retransmission request is a special control command initiated by the receiving end to the sending end after determining that a packet loss event has occurred, which is used to request the retransmission of missing data packets. Its core carrier is the retransmission notification packet (RESEND) defined in the scheme, which is a key mechanism to ensure the correctness and integrity of end-to-end data transmission.

[0079] Among them, the packet loss data identifier can be used to identify lost data packets. The packet loss data identifier can be, for example, the sequence number of the data packet in the overall data packet, the timestamp information of the data packet, etc., and there are no restrictions on this.

[0080] In other words, in this embodiment of the application, the sending end can also receive a data retransmission request sent by the receiving end. The data retransmission request includes a packet loss data identifier and retransmits the data to be transmitted and / or the initial transmission data corresponding to the packet loss data identifier to the receiving end. Thus, the sending end can accurately locate the missing data to be transmitted or the initial transmission data based on the packet loss data identifier, avoiding the inability to trace packet loss caused by out-of-order multipath transmission or network anomalies. By retransmitting the data with the corresponding identifier, the data packets that the receiving end has not obtained can be completed in a timely manner, ensuring the integrity and correctness of end-to-end data transmission.

[0081] Figure 3 This is the third flowchart illustrating the data transmission method provided in this application embodiment, as shown below. Figure 3As shown, this method is executed by the receiving end and includes the following: Step 301: Upon receiving a data packet or credit authorization request from the sender, determine the credit authorization amount, wherein the data packet includes: data to be transmitted or initial transmission data.

[0082] The data transmission method in this application embodiment is executed by a receiving end, which can be, for example, a cloud server, a virtual machine, a gateway device, a mobile terminal, etc., and there is no limitation thereto.

[0083] The initial transmission data refers to the data sent from the sender to the receiver during the credit pre-authorization phase, and the amount of initial transmission data is constrained by BDP.

[0084] In other words, in this embodiment of the application, the receiving end can trigger credit authorization to the sending end when it receives a data packet or credit authorization request sent by the sending end. Before that, the receiving end needs to determine the amount of credit authorization available for authorization.

[0085] Optionally, in some embodiments, determining the credit authorization amount may involve determining the unallocated remaining credit and / or idle credit generated during the waiting response process together as the credit authorization amount.

[0086] In other words, in this embodiment, the system first determines whether there are any unallocated remaining credits in the credit pool. If so, it means that the current network bottleneck link still has credit authorization capacity. At this time, the receiving end authorizes all the remaining credits in the credit pool, along with the calculated idle credits generated while waiting for other sending ends to respond to credit authorizations, to the current sending end.

[0087] Alternatively, if it is determined that there are no unallocated remaining credits in the credit pool, it is then determined whether there are idle credits resulting from previously authorized credits not being used by other senders in a timely manner. If so, it indicates that the network is not currently at full capacity. A strategy of actively utilizing bandwidth is still adopted. In this case, the receiving end authorizes the calculated idle credits to the current sender.

[0088] Optionally, in some embodiments, the receiving end may also stop generating credit authorization information if it is determined that there are no unallocated remaining credits and / or idle credits generated during the waiting for a response.

[0089] In other words, in this embodiment of the application, if it is determined that there are no unallocated remaining credits in the credit pool, and there are no idle credits resulting from previously authorized credits not being used by other senders in a timely manner, it indicates that the network is in a state of full load or overload. At this time, the receiving end will suspend credit authorization for this connection and place it in a waiting queue until another sender uses the previously authorized credits, causing the credits to be released back into the credit pool, and the credit authorization process will restart.

[0090] In this embodiment, the receiving end determines the unallocated remaining credits and / or idle credits together as the credit authorization amount, thereby achieving refined and adaptive control of bandwidth resources on network bottleneck links. It prioritizes allocating all remaining unallocated credits in the credit pool and idle credits not used by other sending ends to the current sending end, maximizing the potential of network credit authorization and avoiding resource waste. Furthermore, when the network is fully loaded or overloaded, it avoids network congestion caused by over-authorization by pausing authorization and placing the connection in a waiting queue, and restarting authorization after bandwidth is released. At the same time, it ensures the fairness of bandwidth application for each connection. The overall mechanism can flexibly adapt to different network load states, taking into account bandwidth resource utilization, transmission stability, and connection fairness.

[0091] Step 302: Generate credit authorization information based on the credit authorization amount; wherein, the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount.

[0092] In this embodiment of the application, after determining the credit authorization amount, the receiving end can generate credit authorization information based on the credit authorization amount.

[0093] In this embodiment, credit authorization information is generated based on the credit authorization amount. This can be achieved by encapsulating key information such as the approved authorized credit amount, the corresponding connection identifier / sub-flow identifier, and the credit authorization validity period (optional) into standardized credit authorization information. The carrier can adopt the credit authorization package (GRANT) format defined in the scheme, or it can be encapsulated together with the data confirmation message. After the information is generated, it is sent to the sending end, and the credit pool status is updated synchronously after generation, and the authorized credit amount is deducted to ensure the accuracy of subsequent authorization decisions.

[0094] Step 303: Send credit authorization information to the sending end.

[0095] In this embodiment of the application, after generating credit authorization information based on the credit authorization amount, the receiving end can send the credit authorization information to the sending end.

[0096] The data transmission method of this application embodiment enables the receiving end to determine the credit authorization amount and generate credit authorization information based on the credit authorization amount, thereby achieving refined and adaptive management of network bottleneck link bandwidth resources. Furthermore, the receiving end can flexibly switch between two strategies based on real-time network load: actively exploring credit potential (maximizing resource utilization and reducing idle time) and ensuring network stability and connection fairness (suspending authorization and queuing during overload). This allows for efficient and fair scheduling of credit resources at the receiving end, effectively improving overall network throughput efficiency and fundamentally avoiding congestion risks caused by over-authorization.

[0097] Figure 4 This is the fourth flowchart illustrating the data transmission method provided in the embodiments of this application, as shown below. Figure 4 As shown, this method is executed by the receiving end and includes the following: Step 401: Upon receiving a data packet or credit authorization request from the sender, determine the credit authorization amount.

[0098] Step 402: Generate credit authorization information based on the credit authorization amount; wherein, the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount.

[0099] Step 403: Send credit authorization information to the sending end.

[0100] For a detailed description of steps 401-403, please refer to the above embodiments, which will not be repeated here.

[0101] Step 404: Determine the packet loss event and the packet loss data identifier.

[0102] In some embodiments, a packet loss event can be determined when the sequence number of the data packet received by the receiving end is greater than the "next expected sequence number". Alternatively, the receiving end can actively send a probe request and determine the packet loss event by analyzing the continuity of the data stream. There are no restrictions on this.

[0103] Optionally, in some embodiments, determining that a packet loss event has occurred may be done when the amount of out-of-order data in the received data is greater than a first quantity threshold, wherein the received data includes: initial transmission data and / or data to be transmitted, or when the initial transmission data and / or data to be transmitted are not received within a second preset time period.

[0104] Out-of-order data packets refer to data packets that are actually received by the receiving end in an order that does not match the sending end's sending order, and whose connection-level sequence numbers are non-contiguous or in reverse order.

[0105] The first quantity threshold can be constrained by BDP, and it can usually be an integer multiple of BDP without restriction.

[0106] The received data includes initial transmission data and / or data to be transmitted. That is, packet loss events can occur in the credit pre-authorization stage or in the formal authorization stage.

[0107] In other words, in this embodiment of the application, a packet loss event is determined to have occurred when the amount of out-of-order data in the received data is greater than a first quantity threshold.

[0108] Alternatively, in this embodiment, if no initial transmission data and / or data to be transmitted are received within a second preset time period, a packet loss event is determined to have occurred. This involves setting a connection-related waiting time for the receiving end, resetting the waiting timer each time a data packet for that connection is received. If the receiving end does not receive any data packet for that connection within the waiting time, a packet loss event can be determined to have occurred.

[0109] Optionally, in some embodiments, if it is determined that the amount of out-of-order data in the received data is greater than a first quantity threshold, the transmission of credit authorization information is stopped.

[0110] In other words, in this embodiment, when the amount of out-of-order data in the received data exceeds a first threshold, the transmission of credit authorization information is stopped. This directly limits the sending end from continuing to transmit new data, preventing more data from flooding the receiving buffer and causing buffer overflow, thus alleviating the data storage and reassembly pressure on the receiving end. It also indirectly reduces the load on the data transmission link, preventing excessive data transmission from exacerbating network congestion and further worsening the out-of-order data packet problem. At the same time, it provides the receiving end with sufficient time to process the buffered out-of-order data packets, improving data reassembly efficiency and reducing packet loss misjudgments and invalid retransmissions caused by the accumulation of out-of-order packets. Thus, in scenarios where out-of-order transmission is prone to occur in multi-path transmission, it balances the data processing capability of the receiving end with the stability of the overall transmission link, achieving precise linkage between credit authorization and out-of-order data processing status, and ensuring the orderliness and reliability of data transmission.

[0111] Step 405: Send a data retransmission request to the sending end, wherein the data retransmission request includes: packet loss data identifier.

[0112] In this embodiment of the application, when it is determined that a packet loss event has occurred and the packet loss data identifier is determined, a data retransmission request can be sent to the sending end.

[0113] In the embodiments of this application, see Figure 5A , Figure 5A This is a schematic diagram of the data transmission system provided in the embodiments of this application, as shown below. Figure 5AAs shown, the data transmission method includes four modules: multi-path data scheduling, receiver-driven credit authorization, sender-driven credit allocation, and packet loss recovery. The multi-path data scheduling module receives the byte stream from the application, segments it, and allocates it to multiple sub-streams for transmission. Sub-streams obtain data segments from the data scheduling module and send the data packets to the receiver along the corresponding paths. Each data packet sent on each sub-stream corresponds to a connection-level sequence number, used to guide the receiver in correctly reassembling data packets received from different sub-streams and recovering lost data packets. The receiver-driven credit authorization and sender-driven credit allocation modules jointly determine which data packets are sent at what rate on which sub-stream, controlling the total amount of data sent over the entire connection and the amount of data sent in each sub-stream to avoid network congestion and packet loss, and improve fairness and efficiency. The packet loss recovery module determines which data packets have not reached the receiver based on the packet sequence number and notifies the sender to retransmit the lost data packets, which is the main means of ensuring the correctness and integrity of end-to-end data transmission.

[0114] In the embodiments of this application, see Figure 5B , Figure 5B This is the fifth flowchart of the data transmission method provided in the embodiments of this application. In the pre-authorization stage, the sending end can send the initial window value of data to the receiving end based on the sub-stream. In the multi-path data scheduling and transmission stage, the receiving end will send a credit authorization packet (GRANT) to the sending end, so that the sending end can send data packets to the receiving end based on multiple sub-streams. In the packet loss detection and recovery stage, after the receiving end determines that a packet loss event has occurred, it can send a retransmission notification packet (RESEND) to the sending end, so that the sending end will retransmit the lost data packet with sequence number k.

[0115] The data transmission apparatus provided in the embodiments of this application is described below. The data transmission apparatus described below can be referred to in correspondence with the data transmission method described above.

[0116] Figure 6 This is one of the schematic diagrams of the data transmission device provided in the embodiments of this application, such as... Figure 6 As shown, the data transmission device 60 includes the following: The first receiving module 601 is used to receive credit authorization information sent by the receiving end, wherein the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount; The first determining module 602 is used to determine the transmission performance indicators of each data transmission path; The second determining module 603 is used to determine the credit allocation weight of each data transmission path based on the transmission performance indicators. The third determining module 604 is used to determine the target credit for each data transmission path based on the credit authorization amount and the credit allocation weight of each data transmission path. The transmission module 605 is used to allocate the data to be transmitted to the corresponding data transmission path for transmission based on the target credit of each data transmission path.

[0117] According to this application, a data transmission apparatus is provided, which is further used for: Initial transmission data is sent to the receiving end based on a data transmission path until the amount of initial transmission data transmitted along the data transmission path equals the initial window value. The initial window value is the data transmission threshold of the data transmission link before the receiving end performs credit authorization.

[0118] According to this application, a data transmission apparatus is provided, wherein the second determining module is further configured to: The credit allocation weight for each data transmission path is determined based on historical transmission rate, real-time round-trip latency, and historical packet loss rate in the transmission performance indicators.

[0119] According to this application, a data transmission apparatus is provided, which is further used for: Receive a data retransmission request sent by the receiving end, wherein the data retransmission request includes: packet loss data identifier; Resend the data to be transmitted and / or the initial transmission data corresponding to the packet loss data identifier to the receiving end.

[0120] The data transmission device provided in this application, by receiving credit authorization information from the receiving end, clarifies the overall credit authorization limit for data transmission, incorporates its own data transmission behavior into a credit control system linking the sending and receiving ends, and avoids network congestion caused by blind transmission from the source. Furthermore, by accurately acquiring the transmission performance indicators of each data transmission path, it grasps the actual transmission status of each path, providing objective data support for credit allocation. Subsequently, based on the performance indicators, it determines the credit allocation weight for each path, and then calculates the target credit for each path by matching the credit authorization amount with the weight, achieving precise quantitative allocation of credit resources and avoiding resource waste or imbalance. Finally, it allocates the data to be transmitted to the corresponding path according to the target credit, effectively solving the problems of uneven credit allocation and low resource utilization, while balancing transmission efficiency and congestion prevention capabilities.

[0121] Figure 7 This is a second schematic diagram of the data transmission device provided in the embodiments of this application, as shown below. Figure 7 As shown, the data transmission device 70 includes the following: The fourth determining module 701 is used to determine the credit authorization amount when a data packet or credit authorization request is received from the sending end, wherein the data packet includes: data to be transmitted or initial transmission data; The generation module 702 is used to generate credit authorization information based on the credit authorization amount; wherein, the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount; The first sending module 703 is used to send credit authorization information to the sending end.

[0122] In one embodiment, the fourth determining module 701 is specifically used for: Unallocated remaining credit and / or idle credit generated during the waiting period are collectively determined as the credit authorization amount.

[0123] In one embodiment, the data transmission device is further configured to: If it is determined that there are no unallocated remaining credits and / or idle credits generated during the waiting response process, stop generating credit authorization information.

[0124] In one embodiment, the data transmission device is further configured to: Identify the packet loss event and the identifier of the lost data; Send a data retransmission request to the sender, wherein the data retransmission request includes: packet loss data identifier.

[0125] In one embodiment, the data transmission device is further configured to: A packet loss event is determined to have occurred if the amount of out-of-order data in the received data exceeds a first quantity threshold. The received data includes: initial transmission data and / or data to be transmitted; or If no initial transmission data and / or data to be transmitted are received within the second preset time period, a packet loss event is determined to have occurred.

[0126] In one embodiment, the data transmission device is further configured to: If the amount of out-of-order data in the received data exceeds a first quantity threshold, the transmission of credit authorization information will be stopped.

[0127] The data transmission apparatus, method, and apparatus provided in this application enable the receiving end to determine the credit authorization amount and generate credit authorization information based on that amount, thereby achieving refined and adaptive management of credit resources on network bottleneck links. Furthermore, the receiving end can flexibly switch between two strategies based on real-time network load: actively exploring credit potential (maximizing resource utilization and reducing idle time) and ensuring network stability and connection fairness (suspending authorization and queuing during overload). This allows for efficient and fair scheduling of credit resources at the receiving end, effectively improving overall network throughput efficiency and fundamentally avoiding congestion risks caused by over-authorization.

[0128] Figure 8An example is a schematic diagram of the physical structure of an electronic device, such as... Figure 8 As shown, the electronic device may include: a processor 810, a communication interface 820, a memory 830, and a communication bus 840, wherein the processor 810, the communication interface 820, and the memory 830 communicate with each other via the communication bus 840. The processor 810 can call a computer program in the memory 830 to execute steps of a data transmission method, such as: Receive credit authorization information sent by the receiving end, wherein the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount; Determine the transmission performance metrics for each data transmission path; The credit allocation weight for each data transmission path is determined based on transmission performance indicators. The target credit for each data transmission path is determined based on the credit authorization amount and the credit allocation weight for each data transmission path. Based on the target credit of each data transmission path, the data to be transmitted is allocated to the corresponding data transmission path for transmission.

[0129] Alternatively, for example, it may include: upon receiving a data packet or credit authorization request sent by the sender, determining the credit authorization amount, wherein the data packet includes: data to be transmitted or initial transmission data; Credit authorization information is generated based on the credit authorization amount; the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount. Send credit authorization information to the sender.

[0130] Furthermore, the logical instructions in the aforementioned memory 830 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0131] On the other hand, embodiments of this application also provide a computer program product, which includes a computer program. The computer program can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can perform the steps of the data transmission methods provided in the above embodiments, such as including: Receive credit authorization information sent by the receiving end, wherein the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount; Determine the transmission performance metrics for each data transmission path; The credit allocation weight for each data transmission path is determined based on transmission performance indicators; The target credit for each data transmission path is determined based on the credit authorization amount and the credit allocation weight for each data transmission path. Based on the target credit of each data transmission path, the data to be transmitted is allocated to the corresponding data transmission path for transmission.

[0132] Alternatively, for example, it may include: upon receiving a data packet or credit authorization request sent by the sender, determining the credit authorization amount, wherein the data packet includes: data to be transmitted or initial transmission data; Credit authorization information is generated based on the credit authorization amount; the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount. Send credit authorization information to the sender.

[0133] On the other hand, embodiments of this application also provide a processor-readable storage medium storing a computer program for causing a processor to perform the steps of the methods provided in the above embodiments, such as including: Receive credit authorization information sent by the receiving end, wherein the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount; Determine the transmission performance metrics for each data transmission path; The credit allocation weight for each data transmission path is determined based on transmission performance indicators; The target credit for each data transmission path is determined based on the credit authorization amount and the credit allocation weight for each data transmission path. Based on the target credit of each data transmission path, the data to be transmitted is allocated to the corresponding data transmission path for transmission.

[0134] Alternatively, for example, it may include: upon receiving a data packet or credit authorization request sent by the sender, determining the credit authorization amount, wherein the data packet includes: data to be transmitted or initial transmission data; Credit authorization information is generated based on the credit authorization amount; the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount. Send credit authorization information to the sender.

[0135] The processor-readable storage medium can be any available medium or data storage device that the processor can access, including but not limited to magnetic memory (e.g., floppy disk, hard disk, magnetic tape, magneto-optical disk (MO)), optical memory (e.g., CD, DVD, BD, HVD), and semiconductor memory (e.g., ROM, EPROM, EEPROM, non-volatile memory (NAND FLASH), solid-state drive (SSD)).

[0136] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.

[0137] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, 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 can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.

[0138] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.

Claims

1. A data transmission method, characterized in that, The method, executed by the sending end, includes: The receiver receives credit authorization information sent by the receiving end, wherein the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount; Determine the transmission performance metrics for each data transmission path; Based on the transmission performance indicators, the credit allocation weight of each of the data transmission paths is determined; The target credit for each data transmission path is determined based on the credit authorization amount and the credit allocation weight for each data transmission path. Based on the target credit of each data transmission path, the data to be transmitted is allocated to the corresponding data transmission path for transmission.

2. The method according to claim 1, characterized in that, Before receiving the credit authorization information sent by the receiving end, the method further includes: Initial transmission data is sent to the receiving end based on one of the data transmission paths until the amount of initial transmission data transmitted by the data transmission path equals the initial window value, wherein the initial window value is the data transmission threshold of the data transmission link before the receiving end performs credit authorization.

3. The method according to claim 1, characterized in that, The step of determining the credit allocation weight for each data transmission path based on the transmission performance indicators includes: The credit allocation weight for each data transmission path is determined based on the historical transmission rate, real-time round-trip latency, and historical packet loss rate in the transmission performance indicators.

4. The method according to claim 1, characterized in that, The method further includes: Receive a data retransmission request sent by the receiving end, wherein the data retransmission request includes: a packet loss data identifier; The data to be transmitted and / or the initial transmission data corresponding to the packet loss data identifier are retransmitted to the receiving end.

5. A data transmission method, characterized in that, The method, executed by the receiving end, includes: Upon receiving a data packet or credit authorization request from the sender, the credit authorization amount is determined, wherein the data packet includes: data to be transmitted or initial transmission data; Based on the credit authorization amount, credit authorization information is generated; wherein, the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount; The credit authorization information is sent to the sending end.

6. The method according to claim 5, characterized in that, The determination of the credit authorization amount includes: The unallocated remaining credit and / or idle credit generated during the waiting response process are determined together as the credit authorization amount.

7. The method according to claim 6, characterized in that, The method further includes: If it is determined that there are no unallocated remaining credits and / or idle credits generated during the waiting response process, the generation of credit authorization information shall be stopped.

8. The method according to claim 5, characterized in that, The method further includes: Identify the packet loss event and the identifier of the lost data; Send a data retransmission request to the sending end, wherein the data retransmission request includes: a packet loss data identifier.

9. The method according to claim 8, characterized in that, The determination of a packet loss event includes: If the amount of out-of-order data in the received data exceeds a first quantity threshold, a packet loss event is determined to have occurred, wherein the received data includes: the initial transmission data and / or the data to be transmitted; or If the initial transmission data and / or the data to be transmitted are not received within the second preset time period, the packet loss event is determined to have occurred.

10. The method according to claim 9, characterized in that, The method further includes: If the amount of out-of-order data in the received data exceeds a first quantity threshold, the transmission of the credit authorization information shall be stopped.

11. A data transmission device, characterized in that, The device includes: The first receiving module is used to receive credit authorization information sent by the receiving end, wherein the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount; The first determining module is used to determine the transmission performance indicators of each data transmission path; The second determining module is used to determine the credit allocation weight of each of the data transmission paths based on the transmission performance indicators. The third determining module is used to determine the target credit for each data transmission path based on the credit authorization amount and the credit allocation weight of each data transmission path; The transmission module is used to allocate the data to be transmitted to the corresponding data transmission path for transmission based on the target credit of each data transmission path.

12. A data transmission device, characterized in that, The device includes: The fourth determining module is used to determine the credit authorization amount upon receiving a data packet or credit authorization request sent by the sending end, wherein the data packet includes: data to be transmitted or initial transmission data; A generation module is used to generate credit authorization information based on the credit authorization amount; wherein, the credit authorization information is used to authorize the sending end to transmit the data to be transmitted based on the credit authorization amount; The first sending module is used to send the credit authorization information to the sending end.

13. An electronic device comprising a processor and a memory storing a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the data transmission method according to any one of claims 1 to 4, or the steps of the data transmission method according to any one of claims 5 to 10.

14. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the data transmission method according to any one of claims 1 to 4, or the steps of the data transmission method according to any one of claims 5 to 10.

15. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the data transmission method according to any one of claims 1 to 4, or the steps of the data transmission method according to any one of claims 5 to 10.