A computer data transmission system and method

CN123020485APending Publication Date: 2026-10-30HUNAN YULONG ELECTRONIC TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611384314.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-09-08
Publication Date
2026-10-30

AI Technical Summary

Technical Problem

[0006]为此,本发明提供一种计算机数据传输方法,以解决正向路径排队与反向路径确认包集中到达容易相互混淆,导致发送端错误降速或过早恢复确认包驱动发送的问题

Benefits of technology

[0027]与现有技术相比,本发明的有益效果在于,能够区分路径状态,减少不必要降速和确认包集中到达引起的突发发送。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123020485A_ABST
    Figure CN123020485A_ABST
Patent Text Reader

Abstract

The application relates to the technical field of computer communication, and particularly discloses a computer data transmission system and method. The method comprises the following steps: a sending end suspends sending when a packet receiving interval is less than a corresponding data packet sending interval, and sends long-short data packet groups and short-long data packet groups arranged in reverse packet lengths after the suspension; a receiving end records a data packet receiving completion time and returns an acknowledgement packet by packet. The sending end prolongs a suspension time and reduces a sending rate when a relationship on the receiving end side has not been restored, maintains a sending window and sends by using a local clock when the relationship on the receiving end side is first restored and an acknowledgement packet side relationship is not restored; thereafter, the sending end sends two data packet groups again by using a suspension time corresponding to the first restoration, and re-uses the acknowledgement packet to drive sending when the relationships on both sides are restored. The system can distinguish path states, reduce unnecessary speed reduction and burst sending caused by the concentration of acknowledgement packets by using a recording and control unit at both ends to execute the method.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer communication technology, and in particular to a computer data transmission system and method. Background Technology

[0002] Reliable data transmission typically involves the sender maintaining a transmission window and releasing the data from the window based on the acknowledgment packets returned by the receiver. As acknowledgment packets arrive consecutively, the sender can continue sending data packets, allowing the data transmission rhythm to vary with network conditions. This method does not require a pre-fixed link rate and is suitable for data transmission between computers, computing nodes, and between terminals and servers.

[0003] Data packets and acknowledgment packets travel along the forward and reverse paths, respectively. When queuing occurs on the forward path, the interval between data packets arriving at the receiver changes; when queuing occurs on the reverse path, acknowledgment packets that were originally generated in a scattered manner may arrive at the sender in a concentrated manner after leaving their queuing positions. If the sender releases the transmission rhythm directly based on acknowledgment packets, consecutively arriving acknowledgment packets may release multiple transmission positions in succession, causing a batch of data packets to enter the forward path in a short period of time.

[0004] Both queuing on the forward path and concentrated arrival of acknowledgment packets on the reverse path can result in a loss of the original correspondence between the sending interval and the receiving interval, but the handling methods differ. When there is indeed queuing on the forward path, extending the data packet sending interval can reduce the amount of data continuing to enter the queue; if there is still transmission capacity on the forward path, but the acknowledgment packets are compressed on the reverse path, directly reducing the data sending rate will idle the transmission capacity of the forward path.

[0005] The receiver's timestamp can supplement the sender's observations, but a single comparison is still easily affected by existing queues in the path. After transmission stops, data packets already sent in the forward path continue to travel, and acknowledgment packets generated by the receiver may not have yet passed through the reverse path. Without first determining whether the residual effects of the forward path have subsided, it is difficult for the sender to confirm whether the currently observed acknowledgment packet interval comes from the arrival rhythm of forward data or from the re-queuing and concentrated release of data in the reverse path. Summary of the Invention

[0006] To address this issue, the present invention provides a computer data transmission method to solve the problem that the arrival of queuing packets in the forward path and the concentrated arrival of acknowledgment packets in the reverse path can easily lead to confusion, causing the sending end to erroneously slow down or prematurely resume sending driven by acknowledgment packets.

[0007] To achieve the above objectives, the present invention provides a computer data transmission method, which is executed by a sending end and a receiving end in cooperation, and includes the following steps:

[0008] The sending end sends data packets according to the acknowledgment packets. When the interval between receiving adjacent acknowledgment packets is less than the interval between sending the corresponding data packets, the sending end pauses the sending and then sends long and short data packet groups and short and long data packet groups in sequence after each pause.

[0009] Long and short data packet groups are sent consecutively, while short and long data packet groups are sent in reverse order, with the data packet of the same type and the same data size. The data size of the long data packet is greater than that of the short data packet.

[0010] The receiving end records the time when each data packet is received and returns an acknowledgment packet containing the time for each packet.

[0011] The sending end determines the data packet arrival interval and acknowledgment packet reception interval for each group. When the data packet arrival interval of the short-long data packet group is not greater than the corresponding interval of the long-short data packet group, the next pause time is extended and the data transmission rate is reduced until the data packet arrival interval of the short-long data packet group is greater than the corresponding interval of the long-short data packet group for the first time.

[0012] If the interval between receiving acknowledgment packets for the short and long data packet groups is not greater than the corresponding interval between the short and long data packet groups, then the sending window is maintained and subsequent data packets are sent according to the local clock.

[0013] The sending end retransmits two sets of data at the same pause time as when the data was first established. When both intervals maintain the aforementioned greater than relationship, the sending of data packets resumes according to the acknowledgment packet.

[0014] As a preferred technical solution for computer data transmission, when the arrival interval of the short and long data packet groups is greater than the corresponding interval of the long and short data packet groups for the first time, the sending end maintains the current pause time, swaps the sending order of the two data packet groups before executing the corresponding control, and sends them again.

[0015] If the arrival interval of data packets before and after the exchange maintains the greater than relationship and the acknowledgment packet reception interval is not greater than the corresponding interval of the long and short data packet groups at least once, then the sending window is maintained and subsequent data packets are sent according to the local clock; if both intervals before and after the exchange maintain the greater than relationship, then data packets are sent according to the acknowledgment packet; if the arrival interval of data packets before or after the exchange does not maintain the greater than relationship, then the next pause time is extended and the data sending rate is reduced.

[0016] As a preferred technical solution for computer data transmission, the initial pause time at the sending end is equal to the transmission interval of the corresponding data packets that are compared when the pause is triggered; each time the arrival interval of the short and long data packet group is not greater than the corresponding interval of the long and short data packet group, the arrival interval of the short and long data packet group is added to the current pause time to obtain the next pause time.

[0017] As a preferred technical solution for computer data transmission, when the sending end sends subsequent data packets according to the local clock, the transmission interval of adjacent subsequent data packets is determined by the arrival interval of the short and long data packet groups after the exchange; if the acknowledgment packet used to trigger the transmission of the next data packet arrives no later than the transmission time determined by the local clock, the next data packet is transmitted at the transmission time; if the acknowledgment packet arrives later than the transmission time, the next data packet is transmitted after the arrival of the acknowledgment packet.

[0018] As a preferred technical solution for computer data transmission, the data packets in the long-short data packet group and the short-long data packet group are all taken from the data to be transmitted at the sending end.

[0019] As a preferred technical solution for computer data transmission, the data packet arrival interval is the difference between the time when the later-sent data packet in the same data packet group is received and the time when the earlier-sent data packet is received.

[0020] As a preferred technical solution for computer data transmission, the acknowledgment packet reception interval is the difference between the acknowledgment packet reception time corresponding to the later-sent data packet and the acknowledgment packet reception time corresponding to the earlier-sent data packet.

[0021] As a preferred technical solution for computer data transmission, the sending end maintains a constant sending window size while sending subsequent data packets according to the local clock, and the arrival of the acknowledgment packet does not cause the data packet to be sent earlier than the sending time determined by the local clock.

[0022] As a preferred technical solution for computer data transmission, the reduction in data transmission rate is achieved by extending the transmission interval of subsequent adjacent data packets.

[0023] On the other hand, the present invention also provides a computer data transmission system, including a sending end and a receiving end.

[0024] The sending end includes a sending controller, a sending recorder, and an acknowledgment packet receiver; the receiving end includes a data receiver, a receiving recorder, and an acknowledgment packet generator. The sending recorder is used to record the sending time and data volume of data packets; the acknowledgment packet receiver is used to receive acknowledgment packets and record the acknowledgment packet reception time; the receiving recorder is used to record the data packet reception completion time; and the acknowledgment packet generator is used to return acknowledgment packets containing the reception completion time one packet at a time.

[0025] The sending controller is used to send data packets according to the acknowledgment packets, control the pause when the acknowledgment packet receiving interval is less than the corresponding data packet sending interval, and after the pause, send long and short data packet groups and short and long data packet groups. The long and short data packet groups send long data packets and short data packets in sequence, and the short and long data packet groups send short data packets and long data packets in sequence.

[0026] The transmission controller is also used to determine the data packet arrival interval and acknowledgment packet reception interval for the two groups based on the transmission time, reception completion time, and acknowledgment packet reception time. When the data packet arrival interval of the short and long data packet groups is not greater than the corresponding interval of the long and short data packet groups, the pause time is extended and the transmission rate is reduced. When the data packet arrival interval is greater than the corresponding interval for the first time but the acknowledgment packet reception interval does not maintain the greater relationship, the transmission window is maintained and transmission is carried out according to the local clock. When both intervals maintain the greater relationship during the retest, the transmission of data packets according to the acknowledgment packet is resumed.

[0027] Compared with the prior art, the beneficial effect of the present invention is that it can distinguish the path status and reduce unnecessary slowdown and burst transmission caused by concentrated arrival of acknowledgment packets.

[0028] Furthermore, in this method, the two data packet groups use the same long data volume and the same short data volume in the same round. The main factor changing during comparison is the arrangement within the group. If the link propagation time and the fixed processing time at both ends both affect the two groups in one round, they will be entered into the records of both groups simultaneously, without individually changing the judgment direction of which group is larger. The system focuses on whether the interval relationship changes from invalid to valid, rather than directly interpreting a certain number of milliseconds as the degree of congestion. Therefore, it is not necessary to label the absolute delay for each different link.

[0029] Furthermore, pausing transmission alters the path input, rather than passively sampling under the existing traffic. During the pause, the forward path no longer receives new data packets, and the original queue continues to be released; acknowledgment packets already generated at the receiving end continue to be transmitted along the reverse path. Both directions are fading existing queues, but acknowledgment packets can only be generated after the data packet arrives at the receiving end. The restoration of the forward data relationship naturally precedes the determination of the reverse acknowledgment relationship. By first finding the point at which the relationship is first restored on the receiving end side, and then checking the relationship on the acknowledgment packet side, confusion caused by residual queues from both directions participating in the determination can be reduced.

[0030] Furthermore, the reverse packet length arrangement imposes an input on the path with opposite directions but comparable data volumes. The subsequent data packets within a group are either short or long packets; as they pass through the serial transmission position, the data volume of the subsequent packet is reflected in the difference in reception completion time. While the forward queue is not yet released, the departure rhythm of existing packets in the queue masks this difference; after the queue effect weakens, the subsequent long packet in the short-long packet group requires a longer serial transmission time, and the greater-than relationship reappears. This scheme finds the recovery boundary based on the directional change of the interval relationship, without relying on a pre-defined bandwidth value or absolute delay value.

[0031] Furthermore, when the receiving end has recovered but the acknowledgment side has not, the problem lies in the reverse acknowledgment rhythm. At this point, reducing the sending window or further drastically slowing down the transmission will convert the waiting on the reverse path into idleness on the forward path. This scheme maintains the window, only removing the direct push of the acknowledgment packet on the transmission time; the acknowledgment packet still determines whether the window position is available, while the local clock determines when to actually send. Taking the later of the two conditions ensures that the reliable transmission limit is not exceeded, and also prevents a batch of arriving acknowledgment packets from immediately releasing a batch of data packets.

[0032] Furthermore, the pause time in this application does not increase mechanically in fixed increments. The arrival interval of the data packets directly added to the short-long data packet group in each round is equivalent to extending the observation window of the next round using the actual timescale of the forward path in this round. The increase is smaller when the path is faster, and the increase is correspondingly larger when the path is slower or there is still a queue. The extension stops after the first recovery relationship is found, which avoids setting excessively long pauses in pursuit of complete idleness.

[0033] Furthermore, this method swaps the positions of two data packet groups to distinguish between the relationship caused by the packet length arrangement within a group and the change caused by the overall group's position. If the relationship after the swap still follows the arrangement within the group rather than the overall group position, the recovery judgment at the receiving end is more stable. Subsequent retests continue to use the found pause time, allowing for timely migration of the control mode after path requeuing or reverse path recovery, preventing a single judgment from being fixed indefinitely.

[0034] Furthermore, the three control results of this method correspond to three observable states: when the relationship on the receiving end side is not yet stable, release time is continued for the forward queue; when the receiving end side is stable but the acknowledgment packet side is not stable, forward transmission capability is retained, only the pace of acknowledgment packet push transmission is limited; when both sides are stable, local clock takeover is terminated. The states and actions correspond one-to-one, and subsequent retests will overwrite the previous conclusions; therefore, long-term effective manual flags are not required during path recovery. Attached Figure Description

[0035] The accompanying drawings are provided to further understand the technical solutions of the present invention and constitute a part of the specification. They are used together with the embodiments of the present invention to explain the technical solutions of the present invention, and do not constitute a limitation on the technical solutions of the present invention.

[0036] Figure 1 This is a flowchart of a computer data transmission method according to an embodiment of the present invention;

[0037] Figure 2 This is a schematic diagram of the architecture of a computer data transmission system according to an embodiment of the present invention. Detailed Implementation

[0038] To make the objectives and advantages of the present invention clearer, the present invention will be further described below with reference to embodiments; it should be understood that the specific embodiments described herein are merely for explaining the present invention and are not intended to limit the present invention.

[0039] See Figure 1 and Figure 2 As shown, this method is executed by the sending and receiving ends in cooperation, with the necessary functions set at both ends by the corresponding system. Forward data packets and reverse acknowledgment packets can travel through the same link or different links; the method uses the time relationship recorded at both ends and does not require pre-locating nodes where queuing occurs.

[0040] A computer data transmission system includes a transmitter and a receiver.

[0041] The send recorder is used to record the sending time and data size of data packets; the acknowledgment packet receiver is used to receive acknowledgment packets and record the acknowledgment packet reception time; the receive recorder is used to record the data packet reception completion time; and the acknowledgment packet generator is used to return acknowledgment packets containing the reception completion time one packet at a time.

[0042] The sending controller is used to send data packets according to the acknowledgment packets. When the interval between receiving acknowledgment packets is less than the corresponding interval between sending data packets, it controls the pause and sends long and short data packet groups and short and long data packet groups after the pause. The long and short data packet groups send long data packets and short data packets in sequence, and the short and long data packet groups send short data packets and long data packets in sequence.

[0043] The transmission controller is also used to determine the data packet arrival interval and acknowledgment packet reception interval for the two groups based on the transmission time, reception completion time, and acknowledgment packet reception time. When the data packet arrival interval of the short and long data packet groups is not greater than the corresponding interval of the long and short data packet groups, the pause time is extended and the transmission rate is reduced. When the data packet arrival interval is greater than the corresponding interval for the first time but the acknowledgment packet reception interval does not maintain the greater relationship, the transmission window is maintained and transmission is carried out according to the local clock. During the retest, after both intervals maintain the greater relationship, the transmission of data packets is resumed according to the acknowledgment packet.

[0044] The sending end does not directly subtract its own time from the absolute time recorded by the receiving end; it only calculates the difference between adjacent reception completion times under the same receiving end clock. Even when there is a fixed deviation between the two clocks, the data packet arrival interval can still be compared. The sending end's local clock can utilize operating system timers, network card timers, or existing timing resources in the transmission protocol processing unit.

[0045] The transmitting and receiving ends can consist of a general-purpose processor, a network processor, memory, and a communication interface. The memory stores the communication program, and the processor executes data packet combination, time recording, interval comparison, pause control, rate control, and transmission mode switching. Some functions can also be located in the network interface card, transport layer offload unit, or programmable communication component, as long as the data packet identifier, the three time records, and the correspondence between the control branches remain unchanged.

[0046] The method in this embodiment executes the following steps sequentially:

[0047] Step S101: The sending end sends data packets according to the acknowledgment packets. When the interval between receiving adjacent acknowledgment packets is less than the interval between sending the corresponding data packets, the sending end pauses the sending and then sends long and short data packet groups and short and long data packet groups in sequence after each pause.

[0048] During normal transmission, the acknowledgment packet releases its position within the sending window, and the sender uses this position to send subsequent data packets. Simultaneously, the sender continuously stores the sending interval of adjacent data packets, as well as the receiving interval of adjacent acknowledgment packets for each of these two data packets. The term "correspondence" here refers to the two acknowledgment packets used to calculate the receiving interval, which respectively acknowledge the two data packets used to calculate that sending interval.

[0049] If the interval between receiving adjacent acknowledgment packets is not less than the interval between sending the corresponding data packets, the original sending process remains unchanged. If the interval between receiving acknowledgment packets is smaller, it means that the acknowledgment packets of the two data packets that were originally sent at a longer interval are now being sent back more closely. This phenomenon only triggers path recovery checks and is not directly equivalent to forward path congestion or reverse path queuing.

[0050] For example, two adjacent data packets are sent at 10.000 seconds and 10.008 seconds respectively, with a sending interval of 8 milliseconds; corresponding acknowledgment packets arrive at 10.080 seconds and 10.083 seconds, with a receiving interval of 3 milliseconds. Since 3 milliseconds is less than 8 milliseconds, the sending end pauses sending ordinary data packets. These times are only used to illustrate the calculation relationship; in actual operation, the sending record and acknowledgment packet record of the current connection are directly read.

[0051] The initial pause time is equal to the packet transmission interval that triggers the comparison. In the previous example, the initial pause is 8 milliseconds. After the pause begins, no new packets are added to the forward path, but already sent packets continue to be transmitted, and already generated acknowledgments continue to be returned. This process preserves the natural release of the queue, without forcibly discarding data in transit or clearing the sending window.

[0052] Step S102: Long and short data packet groups are sent continuously, while short and long data packet groups are sent in reverse order, with the data packet of the same type and the same data size. The data size of the long data packet is greater than that of the short data packet.

[0053] Both the long-short data packet group and the short-long data packet group contain data to be transmitted from the sending end.

[0054] After the pause ends, two long data packets and two short data packets are selected from the data to be transmitted. The two long data packets have the same data size, and the two short data packets have the same data size, but the long data packets are longer than the short data packets. A data packet with a total length of approximately 1500 bytes (including the payload and protocol header) can be selected as the long data packet, and a data packet with a total length of approximately 300 bytes can be selected as the short data packet; alternatively, other values ​​can be selected based on the data packet length allowed by the protocol used. The selected values ​​only need to form a stable data size difference and are not used as a threshold for path status judgment.

[0055] The four data packets can be labeled P1 to P4. P1 and P4 use long data volumes, while P2 and P3 use short data volumes. P1 and P2 form a long-short data packet group, and P3 and P4 form a short-long data packet group. The four acknowledgment packets returned by the receiving end carry the identifiers of P1 to P4 respectively. The sending end uses the difference in the reception completion time between P2 and P1 to obtain the data packet arrival interval for the long-short data packet group, and uses the corresponding time difference between P4 and P3 to obtain the data packet arrival interval for the short-long data packet group. Acknowledgment packet reception intervals are paired according to the same identifier to avoid mixing adjacent arrival acknowledgment packets that do not belong to the same group in the calculation.

[0056] Step S103: The receiving end records the completion time of each data packet and returns an acknowledgment packet containing the time for each packet;

[0057] The data packet arrival interval is the difference between the time when the later-sent data packet in the same data packet group is received and the time when the earlier-sent data packet is received.

[0058] The acknowledgment packet reception interval is the difference between the reception time of the acknowledgment packet corresponding to the later sent data packet and the reception time of the acknowledgment packet corresponding to the earlier sent data packet.

[0059] For example, the receiving end records two completion times of 500.000 milliseconds and 502.100 milliseconds, with a data packet arrival interval of 2.100 milliseconds; the sending end receives the corresponding acknowledgment packets at 905.000 milliseconds and 907.000 milliseconds, with an acknowledgment packet reception interval of 2.000 milliseconds. The 500 milliseconds and 905 milliseconds are not compared; each end only needs to keep the timer continuously within the same round.

[0060] Step S104: The sending end determines the data packet arrival interval and acknowledgment packet reception interval for each group. When the data packet arrival interval of the short-long data packet group is not greater than the corresponding interval of the long-short data packet group, the next pause time is extended and the data transmission rate is reduced until the data packet arrival interval of the short-long data packet group is greater than the corresponding interval of the long-short data packet group for the first time.

[0061] The initial pause time at the sending end is equal to the transmission interval of the corresponding data packets that are compared when the pause is triggered. Each time the arrival interval of the short and long data packet group is not greater than the corresponding interval of the long and short data packet group, the arrival interval of the short and long data packet group is added to the current pause time to obtain the next pause time.

[0062] Reducing the data transmission rate is achieved by extending the transmission interval between subsequent adjacent data packets.

[0063] Taking a single round of reception as an example, the two data packets in the long-short data packet group were received at 20.0000 milliseconds and 22.1000 milliseconds respectively, with an arrival interval of 2.1 milliseconds; the short-long data packet group was received at 24.0000 milliseconds and 25.8000 milliseconds respectively, with an arrival interval of 1.8 milliseconds. 1.8 milliseconds is no greater than 2.1 milliseconds, indicating that the current record has not yet revealed the longer completion interval that the subsequent long data packet in the short-long data packet group should have. This round does not check the reverse path status represented by the acknowledgment packet interval.

[0064] When this relationship occurs, the next pause time will be increased by 1.8 milliseconds compared to the current pause time. If the current pause is 8 milliseconds, the next pause will be 9.8 milliseconds. The sender also extends the transmission interval of ordinary data packets to reduce the data inflow rate after transmission resumes. The extended transmission interval can directly use the next transmission time already obtained by the current control program, without changing the data content or acknowledgment packet format.

[0065] Extending the transmission interval of ordinary data packets only needs to reflect a rate reduction. For example, if adjacent ordinary data packets were transmitted at a interval of 0.6 milliseconds before the pause, this round could be changed to 0.9 milliseconds; if the relationship at the receiving end is still not restored in the next round, the interval can be extended further. 0.6 milliseconds and 0.9 milliseconds are just operational examples and do not constitute a fixed step size. The system uses the arrival interval of short and long data packet groups to stop the rate reduction as the basis for determining whether the transmission interval reaches a certain value, rather than the arrival interval of the short and long data packet groups reaching a higher interval than the corresponding interval of the long and short data packet groups.

[0066] The next round will still send two groups of data packets with the same data volume relationship. Assuming the arrival interval for the long-short data packet group is 2.0 milliseconds and for the short-long data packet group it is 1.9 milliseconds, and the aforementioned greater than relationship still does not occur, then the next pause will increase from 9.8 milliseconds to 11.7 milliseconds, and the interval for sending ordinary data packets will continue to be extended. The increase in each round is based on the actual measured arrival interval of the short-long data packet group in that round, thus remaining within the current path's time scale.

[0067] In the next round, if the arrival interval of the long and short data packet groups is 1.4 milliseconds and that of the short and long data packet groups is 2.6 milliseconds, and 2.6 milliseconds is greater than 1.4 milliseconds for the first time, the sender saves the 11.7 millisecond pause time for this round and does not continue to look for a longer pause time. Here, the judgment is based on the relative relationship between the two intervals, and it is not required that 2.6 milliseconds or 1.4 milliseconds themselves reach a certain fixed threshold.

[0068] This relationship is related to the serial transmission position. The next data packet in a long-short data packet group is shorter, and the next data packet in a short-long data packet group is longer. When the influence of the forward queue left before the pause weakens, the reception of the next long data packet usually takes longer. If the existing queue continues to release data at its original rhythm, the interval within a group may be mainly governed by the queue departure rhythm, and the influence of packet length order will not easily be revealed in the reception completion time. It should be understood that this method is applicable to transmission scenarios where there is a serial service bottleneck in the forward transmission path, and data packets pass through the bottleneck in their arrival order, and the difference in data packet length can be reflected in the reception completion time interval. The forward transmission path may also have cross-flow, queue scheduling, or traffic shaping, so that the intra-group completion interval when the existing queue has not disappeared is mainly affected by the queue release rhythm. After the transmission is paused, test data packets no longer enter the forward transmission path together with new ordinary data packets, and the influence of the existing queue and cross-flow gradually weakens. When this influence weakens to the point where it no longer masks the difference in data packet length, the reception completion interval of the next long data packet in the short-long data packet group is again greater than the reception completion interval of the next short data packet in the long-short data packet group. For paths that employ fixed time slot scheduling and force different data packets to complete forwarding at the same pace, so that differences in data packet length cannot be reflected at the time of reception completion, the packet length arrangement judgment described in this method is not applicable.

[0069] Step S105: If the interval between receiving acknowledgment packets of the short and long data packet groups is not greater than the corresponding interval of the short and long data packet groups, then maintain the sending window and send subsequent data packets according to the local clock;

[0070] When the arrival interval of the short and long data packet groups is greater than the corresponding interval of the long and short data packet groups for the first time, the sending end maintains the current pause time, swaps the sending order of the two data packet groups before executing the corresponding control, and sends them again.

[0071] If the arrival intervals of data packets before and after the exchange remain greater than the specified intervals, and the acknowledgment packet reception interval is at least once no greater than the corresponding interval of the long and short data packet groups, then the sending window is maintained and subsequent data packets are sent according to the local clock; if both intervals before and after the exchange remain greater than the specified intervals, then data packets are sent according to the acknowledgment packets; if the arrival intervals of data packets before or after the exchange do not remain greater than the specified intervals, then the next pause time is extended and the data transmission rate is reduced.

[0072] When the sending end sends subsequent data packets according to the local clock, it determines the sending interval of adjacent subsequent data packets based on the arrival interval of the short and long data packet groups after the exchange. If the acknowledgment packet used to trigger the sending of the next data packet arrives no later than the sending time determined by the local clock, the next data packet is sent at the sending time. If the acknowledgment packet arrives later than the sending time, the next data packet is sent after the arrival of the acknowledgment packet.

[0073] The sending end maintains the same sending window size while sending subsequent data packets according to the local clock, and the arrival of acknowledgment packets does not cause data packets to be sent earlier than the sending time determined by the local clock.

[0074] Only after the relationship is established at the receiving end does the interval between acknowledgment packets received in the same round need to be compared. Assuming the acknowledgment packet interval for long-short data packet groups is 2.2 milliseconds, and for short-long data packet groups it is 1.5 milliseconds (1.5 milliseconds is no greater than 2.2 milliseconds), the receiving end already shows a relationship of 2.6 milliseconds greater than 1.4 milliseconds. However, the sending end has not received an acknowledgment packet interval in the same direction. Therefore, the focus of control can be placed on the reverse acknowledgment rhythm, rather than continuing to classify this result into the forward queuing.

[0075] To check whether the initial connection was caused by the order in which the two data packet groups were sent, the 11.7-millisecond pause time was kept constant, and the sending order of the two data packet groups was swapped. The swap only changed the overall order of the groups; the length order within each group remained unchanged. After retransmission, if the arrival interval of the short-long data packet group was still greater than that of the long-short data packet group, it indicates that the relationship follows the length order within the group, rather than following a particular group that is always first or always last.

[0076] For example, after the exchange, the measured arrival interval of long and short data packet groups is 1.5 milliseconds, and that of short and long data packet groups is 2.5 milliseconds, and the relationship on the receiving side still holds true; the corresponding acknowledgment packet reception intervals are 2.0 milliseconds and 1.7 milliseconds, respectively, and the acknowledgment packet side still does not maintain the same direction relationship. Both before and after the exchange, the forward path has revealed the packet length arrangement response, but the acknowledgment packet side has not followed at least once. The sending end maintains the current window size and switches to using the local clock to schedule transmission.

[0077] When the local clock transmits data, it uses the arrival interval of the swapped short and long data packet groups as the transmission interval for adjacent subsequent data packets. In the previous example, this interval is 2.5 milliseconds. Assuming the previous data packet was sent at 30.0000 milliseconds, the local clock indicates the next transmission time will be 32.5000 milliseconds.

[0078] If four acknowledgment packets arrive consecutively within 40.1000 ms, 40.2000 ms, 40.3000 ms, and 40.4000 ms, triggering the transmission directly by acknowledgment packets will release multiple transmission opportunities within 0.3 ms. With a local transmission interval of 2.5 ms, subsequent data packets will still be transmitted at their scheduled times according to the local clock, provided the window allows. Even if acknowledgment packets arrive in rapid succession, it only changes the window availability state and does not shorten the already scheduled adjacent transmission intervals.

[0079] If an acknowledgment packet arrives at 32.1000 milliseconds, the window condition has been met, but the sender still waits until 32.5000 milliseconds before sending the next data packet. Even if multiple acknowledgment packets arrive consecutively before 32.5000 milliseconds, subsequent data packets will not be allowed to prematurely exceed the local transmission time. The concentrated arrival of acknowledgment packets therefore only releases window positions and does not directly compress the actual transmission interval.

[0080] If the acknowledgment packet arrives at 33.0000 milliseconds, the window condition has not yet been met at 32.5000 milliseconds. The sender waits until 33.0000 milliseconds before sending, and does not resend multiple data packets in the next instant. The actual sending time is equal to the later of the local clock's allowed time and the allowed time of the window formed by the arrival of the acknowledgment packet.

[0081] During local clock takeover, the transmission window size remains unchanged. Acknowledgment packets are still used to confirm that data has been received and to determine whether a transmission position is available within the window; the only change is that the acknowledgment packet no longer independently determines the actual transmission time of the data packet. This preserves the original reliable transmission process while reducing the amplifying effect of acknowledgment packet compression on the transmission rhythm.

[0082] In other words, keeping the sending window size unchanged does not mean ignoring acknowledgment packets. If no acknowledgment packet is received, the system continues to wait even if the local sending time has arrived; if the acknowledgment packet arrives early, the system only waits for the local time. Both waiting conditions utilize existing window information and local timing information, without requiring new feedback messages.

[0083] Step S106: The sending end retransmits two sets of data at the same pause time as when the first set is established. When both intervals maintain the aforementioned greater than relationship, the sending of data packets resumes according to the acknowledgment packet.

[0084] After running for a period of time, two groups of data packets are retransmitted using the saved 11.7 millisecond pause time. The retest can be inserted into the normal data to be transmitted, still using actual business data packets; test payloads without business significance need not be sent. The retest interval can be arranged by the transmission program according to the connection's transmission cycle; the retest itself does not change the aforementioned judgment relationship.

[0085] If the arrival interval of the short-long data packet group obtained from the retest is still greater than that of the long-short data packet group, and the acknowledgment packet reception interval still does not maintain the same direction relationship, the local clock continues to be used. If the arrival interval of the data packets no longer maintains the greater relationship, it indicates that the packet length sequence response of the forward path is blocked again, and the pause time extension process is re-entered, and the ordinary data packet transmission interval is further extended.

[0086] If, during the retest, both directions maintain a relatively large interval between short and long data packet groups, the sending end stops limiting the transmission time according to the local clock and resumes triggering subsequent transmissions by receiving acknowledgment packets. After resumption, the data packet transmission time and acknowledgment packet reception time are still saved; if the acknowledgment packet reception interval becomes less than the corresponding data packet transmission interval again, the next round of checks begins from the new trigger record.

[0087] The previous pause time can be kept as a running record, but the first pause in the new round will still be based on the data packet sending interval when the current round was triggered. This can adapt to link switching, changes in service load, or changes in the queue status of intermediate nodes, and avoid directly skipping the new first recovery position after using the old pause time.

[0088] The packet length is not limited to the aforementioned 1500 bytes and 300 bytes. As long as two long packets in the same round have the same data size, two short packets have the same data size, and the long packet is larger than the short packet, the comparison relationship within the group can be preserved. When the protocol header length is fixed, the payload length can be used to create differences; when the protocol header length changes, the total number of bytes can be used as the data size record.

[0089] The sending end can select data packets that meet the data volume requirements within a sending window. The position of the data packet identification field, the encapsulation format of the acknowledgment packet, and the length of the reception completion time field are set according to the reliable transmission protocol used. As long as the receiving end can return the reception completion time packet by packet, and the sending end can match the acknowledgment packet with the original data packet, the aforementioned interval calculation can be performed.

[0090] When the forward or reverse path passes through multiple intermediate nodes, it is not necessary to determine the specific queuing node. After pausing input, whether the packet length arrangement on the receiving end side is restored reflects whether the overall forward path is still affected by the existing queuing; whether the acknowledgment packet side maintains the same directional interval relationship reflects whether the overall reverse path is still changing the acknowledgment rhythm. The transmission control operates accordingly for the entire path.

[0091] The process is executed sequentially using the aforementioned values. The initial 8-millisecond transmission interval becomes the first pause time. In the first round, the measured interval is 1.8 milliseconds, not exceeding 2.1 milliseconds, so the pause is increased to 9.8 milliseconds. In the second round, the measured interval is 1.9 milliseconds, not exceeding 2.0 milliseconds, so the pause is increased to 11.7 milliseconds. In the third round, the measured interval is 2.6 milliseconds, exceeding 1.4 milliseconds, so 11.7 milliseconds is maintained. After several group exchanges, the interval remains 2.5 milliseconds, exceeding 1.5 milliseconds. However, the acknowledgment packet side does not maintain a unidirectional relationship, so 2.5 milliseconds is used for local transmission. Subsequent tests are performed at 11.7 milliseconds, and the process returns to acknowledgment packet-driven transmission when the relationship on both sides is restored. The entire calculation only uses the transmission record, the reception completion time, and the acknowledgment packet reception time. The numerical values ​​serve to demonstrate how each record enters the predetermined judgment.

[0092] The technical solution of the present invention has been described above with reference to the preferred embodiments shown in the accompanying drawings. However, it will be readily understood by those skilled in the art that the scope of protection of the present invention is obviously not limited to these specific embodiments. Without departing from the principles of the present invention, those skilled in the art can make equivalent changes or substitutions to the relevant technical features, and the technical solutions after these changes or substitutions will all fall within the scope of protection of the present invention.

[0093] The above are merely preferred embodiments of the present invention and are not intended to limit the present invention; various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A computer data transmission method, characterized in that, include: The sending end sends data packets according to the acknowledgment packets. When the interval between receiving adjacent acknowledgment packets is less than the interval between sending the corresponding data packets, the sending end pauses the sending and then sends long and short data packet groups and short and long data packet groups in sequence after each pause. Long and short data packet groups are sent consecutively, while short and long data packet groups are sent in reverse order, with the data packet of the same type and the same data size. The data size of the long data packet is greater than that of the short data packet. The receiving end records the time when each data packet is received and returns an acknowledgment packet containing the time for each packet. The sending end determines the data packet arrival interval and acknowledgment packet reception interval for each group. When the data packet arrival interval of the short-long data packet group is not greater than the corresponding interval of the long-short data packet group, the next pause time is extended and the data transmission rate is reduced until the data packet arrival interval of the short-long data packet group is greater than the corresponding interval of the long-short data packet group for the first time. If the interval between receiving acknowledgment packets for the short and long data packet groups is not greater than the corresponding interval between the short and long data packet groups, then the sending window is maintained and subsequent data packets are sent according to the local clock. The sending end retransmits two sets of data at the same pause time as when the data was first established. When both intervals maintain the aforementioned greater than relationship, the sending of data packets resumes according to the acknowledgment packet.

2. The computer data transmission method according to claim 1, characterized in that, When the arrival interval of the short and long data packet groups is greater than the corresponding interval of the long and short data packet groups for the first time, the sending end maintains the current pause time, swaps the sending order of the two data packet groups before executing the corresponding control, and sends them again. If the arrival interval of data packets before and after the exchange maintains the greater than relationship and the acknowledgment packet reception interval is not greater than the corresponding interval of the long and short data packet groups at least once, then the sending window is maintained and subsequent data packets are sent according to the local clock; if both intervals before and after the exchange maintain the greater than relationship, then data packets are sent according to the acknowledgment packet; if the arrival interval of data packets before or after the exchange does not maintain the greater than relationship, then the next pause time is extended and the data sending rate is reduced.

3. The computer data transmission method according to claim 2, characterized in that, The initial pause time at the sending end is equal to the transmission interval of the corresponding data packets that are compared when the pause is triggered. Each time the arrival interval of the short and long data packet group is not greater than the corresponding interval of the long and short data packet group, the arrival interval of the short and long data packet group is added to the current pause time to obtain the next pause time.

4. The computer data transmission method according to claim 2, characterized in that, When the sending end sends subsequent data packets according to the local clock, the sending interval of adjacent subsequent data packets is determined by the arrival interval of the data packets in the swapped short and long data packet groups; if the acknowledgment packet used to trigger the sending of the next data packet arrives no later than the sending time determined by the local clock, the next data packet is sent at the sending time. If the acknowledgment packet arrives later than the sending time, the next data packet is sent after the acknowledgment packet arrives.

5. The computer data transmission method according to claim 1, characterized in that, The data packets in both the long-short data packet group and the short-long data packet group are taken from the data to be transmitted at the sending end.

6. The computer data transmission method according to claim 1, characterized in that, The data packet arrival interval is the difference between the time when the later-sent data packet in the same data packet group is received and the time when the earlier-sent data packet is received.

7. The computer data transmission method according to claim 6, characterized in that, The acknowledgment packet reception interval is the difference between the acknowledgment packet reception time corresponding to the later-sent data packet and the acknowledgment packet reception time corresponding to the earlier-sent data packet.

8. The computer data transmission method according to claim 4, characterized in that, The sending end maintains the same sending window size while sending subsequent data packets according to the local clock, and the arrival of acknowledgment packets does not cause data packets to be sent earlier than the sending time determined by the local clock.

9. The computer data transmission method according to claim 1, characterized in that, The reduction in data transmission rate is achieved by extending the transmission interval of subsequent adjacent data packets.

10. A computer data transmission system, comprising a transmitter and a receiver. The sending end includes a sending controller, a sending recorder, and an acknowledgment packet receiver; the receiving end includes a data receiver, a receiving recorder, and an acknowledgment packet generator. The characteristic of this feature is that... The sending recorder is used to record the sending time and data volume of data packets; the acknowledgment packet receiver is used to receive acknowledgment packets and record the acknowledgment packet reception time; the receiving recorder is used to record the data packet reception completion time; and the acknowledgment packet generator is used to return acknowledgment packets containing the reception completion time one packet at a time. The sending controller is used to send data packets according to the acknowledgment packets, control the pause when the acknowledgment packet receiving interval is less than the corresponding data packet sending interval, and after the pause, send long and short data packet groups and short and long data packet groups. The long and short data packet groups send long data packets and short data packets in sequence, and the short and long data packet groups send short data packets and long data packets in sequence. The transmission controller is also used to determine the data packet arrival interval and acknowledgment packet reception interval for the two groups based on the transmission time, reception completion time, and acknowledgment packet reception time. When the data packet arrival interval of the short and long data packet groups is not greater than the corresponding interval of the long and short data packet groups, the pause time is extended and the transmission rate is reduced. When the data packet arrival interval is greater than the corresponding interval for the first time but the acknowledgment packet reception interval does not maintain the greater relationship, the transmission window is maintained and transmission is carried out according to the local clock. When both intervals maintain the greater relationship during the retest, the transmission of data packets according to the acknowledgment packet is resumed.