Data message transmission method and device, computer equipment and storage medium

By performing packet loss detection and retransmission at the target intermediate nodes in the data transmission network, the problem of low data packet transmission efficiency is solved, and more efficient data transmission is achieved.

CN120934700APending Publication Date: 2025-11-11TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410585130.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-05-11
Publication Date
2025-11-11

AI Technical Summary

Technical Problem

In existing technologies, packet loss during data transmission leads to low data retransmission efficiency, affecting stream completion time and transmission performance.

Method used

Packet loss detection is performed at the target intermediate node in the data transmission network, and backup data packets are used for retransmission to avoid the data sending node having to retransmit data every time a packet is lost.

Benefits of technology

By detecting packet loss and retransmitting at the target intermediate node, the transmission efficiency of data packets is improved, and the stream completion time and latency are reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120934700A_ABST
    Figure CN120934700A_ABST
Patent Text Reader

Abstract

The invention provides a data message transmission method and device, computer equipment and a storage medium, the method is applied to a first target intermediate node in a data transmission network, and the data transmission network comprises a data sending node, a data receiving node and a plurality of target intermediate nodes. The method specifically comprises the following steps: receiving data message statistical information sent by a second target intermediate node; performing packet loss detection according to the data message statistical information and a backup data message to obtain a packet loss detection result; when the packet loss detection result is that packet loss exists, determining retransmission data needing to be subjected to data retransmission; and sending the retransmission data to the second target intermediate node. According to the embodiment of the invention, the data message transmission efficiency can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of data transmission technology, and in particular to a method and apparatus for transmitting data messages, a computer device, and a storage medium. Background Technology

[0002] File transfer primarily involves splitting a file into multiple data packets, with the sending end transmitting each packet sequentially to the receiving end until all packets have been sent. The time required to transmit all data packets from the sending end to the receiving end is defined as the stream completion time, which is a crucial metric for evaluating data transfer performance.

[0003] In related technologies, if packet loss occurs during data packet transmission from the sender to the receiver, the sender needs to retransmit the lost data to ensure data transmission integrity. However, the data retransmission schemes in these technologies result in low data packet transmission efficiency. Summary of the Invention

[0004] This disclosure provides a data packet transmission method and apparatus, a computer device, and a storage medium, which can improve the efficiency of data transmission.

[0005] According to one aspect of this disclosure, a method for transmitting data packets is provided, applied to a first target intermediate node in a data transmission network, the data transmission network including a data sending node, a data receiving node, and multiple target intermediate nodes, the method comprising:

[0006] The system receives statistical information on data packets sent by a second target intermediate node. The statistical information indicates the data packet information received by the second target intermediate node. The second target intermediate node is the target intermediate node that is one hop after the first target intermediate node in the target data stream. The target data stream is the data stream in which the data sending node sends data packets to the data receiving node.

[0007] Packet loss detection is performed based on the statistical information of the data packets and the backup data packets to obtain the packet loss detection result. The backup data packets are received from the third target intermediate node and confirmed as complete data packets by the third target intermediate node. The third target intermediate node is the target intermediate node that is one hop before the first target intermediate node in the target data stream.

[0008] When the packet loss detection result indicates that packet loss exists, the data to be retransmitted is determined.

[0009] The retransmitted data is sent to the second target intermediate node.

[0010] According to one aspect of this disclosure, a data packet transmission apparatus is provided, applied to a first target intermediate node in a data transmission network, the data transmission network including a data sending node, a data receiving node, and a plurality of target intermediate nodes, the apparatus comprising:

[0011] The receiving unit is configured to receive data packet statistics information sent by the second target intermediate node. The data packet statistics information indicates the data packet information received by the second target intermediate node. The second target intermediate node is the target intermediate node that is one hop after the first target intermediate node in the target data stream. The target data stream is the data stream in which the data sending node sends data packets to the data receiving node.

[0012] The packet loss detection unit is used to perform packet loss detection based on the data packet statistics and backup data packets to obtain packet loss detection results. The backup data packets are received from the third target intermediate node and confirmed as complete data packets by the third target intermediate node. The third target intermediate node is the target intermediate node that is one hop before the first target intermediate node in the target data stream.

[0013] The retransmission data determination unit is used to determine the retransmission data that needs to be retransmitted when the packet loss detection result indicates that packet loss exists.

[0014] The data retransmission unit is used to send the retransmitted data to the second target intermediate node.

[0015] Optionally, in some embodiments, the packet loss detection unit includes:

[0016] The first information acquisition subunit is used to acquire statistical period information from the statistical information of the data packet;

[0017] The first information confirmation subunit is used to determine the reference message statistics information of the data message sent to the second target intermediate node in the backup data message according to the statistical period information;

[0018] The first packet loss detection subunit is used to perform packet loss detection based on the reference message statistics and the data message statistics to obtain the packet loss detection result.

[0019] Optionally, in some embodiments, the first packet loss detection subunit includes:

[0020] The first sequence generation module is used to determine the first message number sequence of data messages that have been transmitted to the second target intermediate node based on the reference message statistics information.

[0021] The second sequence generation module is used to determine the second message number sequence of the data messages received by the second target intermediate node based on the data message statistics information.

[0022] The comparison module is used to determine the packet loss detection result based on the comparison result between the first message number sequence and the second message number sequence.

[0023] Optionally, in some embodiments, the retransmission data determination unit includes:

[0024] The numbering difference determination subunit is used to determine the numbering difference between the first message numbering sequence and the second message numbering sequence when the first message numbering sequence does not match the second message numbering sequence.

[0025] The retransmission data determination subunit is used to determine the retransmission data that needs to be retransmitted based on the number difference.

[0026] Optionally, in some embodiments, the data packet transmission apparatus provided in this disclosure further includes:

[0027] The first receiving unit is used to receive the first message confirmation information fed back by the third target intermediate node;

[0028] The message category identification unit is used to identify the message category of the target data message if the first message confirmation information indicates that the target data message has not been lost, thereby obtaining the target message category; the target data message is a data message sent by the data sending node to the data receiving node;

[0029] A caching unit is used to cache the target data packet if the target packet type is the same as the preset packet type, so as to obtain the backup data packet.

[0030] Optionally, in some embodiments, the message category identification unit includes:

[0031] The category tag acquisition subunit is used to acquire the message category tag information of the target data message; the message category tag information is set by the data sending node when it determines that the message category of the target data message is the preset message category;

[0032] The category identification subunit is used to identify the category of the target data packet based on the packet category label information to obtain the target packet category.

[0033] Optionally, in some embodiments, the category label acquisition subunit includes:

[0034] The first category label setting module is used to obtain the packet space occupied by the target data packet. If the packet space occupied is less than the preset space, the packet category of the target data packet is determined to be the preset packet category.

[0035] The second category label setting module is used to obtain the message function information of the target data message, and determine the message category of the target data message as the preset message category based on the message function information being preset function information.

[0036] Optionally, in some embodiments, the data packet transmission apparatus provided in this disclosure further includes:

[0037] The information receiving unit is used to receive the second message confirmation information fed back by the second target intermediate node;

[0038] The cleaning unit is used to perform a cleaning operation on the backup data packet if the second message confirmation information indicates that the retransmitted data has been received.

[0039] Optionally, in some embodiments, the cleaning unit includes:

[0040] A message filtering subunit is used to filter out target data messages from the backup data messages based on the number difference;

[0041] The cleaning subunit is used to perform cleaning operations on the target data packet.

[0042] Optionally, in some embodiments, the data retransmission unit includes:

[0043] A node filtering subunit is used to filter out the second target intermediate node from a plurality of target intermediate nodes based on the second node information;

[0044] The retransmission data sending subunit is used to send the retransmission data to the second target intermediate node.

[0045] Optionally, in some embodiments, the data packet transmission apparatus provided in this disclosure further includes:

[0046] A transmission tag generation unit is used to generate the message transmission tag information based on preset first node information and second node information; the first node information is the information of the first target intermediate node.

[0047] A tag adding unit is used to add the message transmission tag information to the target data packet to obtain an updated data packet;

[0048] The message sending unit is used to send the update data message to the second target intermediate node.

[0049] According to one aspect of this disclosure, a computer device is provided, including a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the data packet transmission method as described above.

[0050] According to one aspect of this disclosure, a storage medium is provided that stores a computer program, which, when executed by a processor, implements the data packet transmission method described above.

[0051] According to one aspect of this disclosure, a computer program product is provided, comprising a computer program that is read and executed by a processor of a computer device, causing the computer device to perform the data packet transmission method as described above.

[0052] This embodiment of the disclosure receives data packet statistics from the next-hop intermediate node. Packet loss detection is performed based on these statistics and pre-backed-up backup data packets. Since the backup data packets are confirmed as complete by the previous-hop intermediate node, packet loss detection is performed at the target intermediate node to determine if packet loss exists at the next-hop intermediate node. If packet loss is detected, it indicates that the next-hop intermediate node did not receive the complete data packet, and the target intermediate node sends retransmitted data to the next-hop intermediate node. Therefore, by performing packet loss detection at the target intermediate node and retransmitting based on the backup data at the target intermediate node, the data sending node does not need to transmit the retransmitted data to the data receiving node for every packet loss, improving the efficiency of packet loss retransmission and thus enhancing the overall data packet transmission efficiency.

[0053] Other features and advantages of this disclosure will be set forth in the following description and will be apparent in part from the description or may be learned by practicing the disclosure. The objectives and other advantages of this disclosure may be realized and obtained by means of the structures particularly pointed out in the description, claims and drawings. Attached Figure Description

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

[0055] Figure 1a This is an architecture diagram of a system for applying the data packet transmission method according to embodiments of the present disclosure;

[0056] Figure 1b This is another architecture diagram of a system to which the data packet transmission method according to embodiments of the present disclosure is applied;

[0057] Figure 2 This is a flowchart illustrating the statistical process of stream completion time;

[0058] Figure 3 This is a diagram illustrating the delay caused by retransmission of data packets in related technologies;

[0059] Figure 4a This is a schematic diagram illustrating the application of a data packet transmission method according to an embodiment of the present disclosure in browser plugin downloading;

[0060] Figure 4b This is a schematic diagram illustrating the application of a data packet transmission method according to an embodiment of the present disclosure in browser plugin downloading;

[0061] Figure 5a This is a schematic diagram illustrating the application of the data packet transmission method according to embodiments of the present disclosure to small file transmission;

[0062] Figure 5b This is a schematic diagram illustrating the application of the data packet transmission method according to embodiments of the present disclosure to small file transmission;

[0063] Figure 6 This is a flowchart of a data packet transmission method according to an embodiment of the present disclosure;

[0064] Figure 7 This is a schematic diagram of the data packet transmission process in a data packet transmission method according to an embodiment of the present disclosure;

[0065] Figure 8 This is a schematic diagram illustrating file category identification in a data packet transmission method according to an embodiment of the present disclosure;

[0066] Figure 9 This is a schematic diagram illustrating the transmission of data packet statistics information in a data packet transmission method according to an embodiment of the present disclosure;

[0067] Figure 10 This is a schematic diagram illustrating the transmission of message transmission tag information in a data message transmission method according to an embodiment of the present disclosure;

[0068] Figure 11 This is another flowchart illustrating a method for transmitting data packets according to an embodiment of the present disclosure;

[0069] Figure 12 This is a block diagram of a data packet transmission apparatus according to an embodiment of the present disclosure;

[0070] Figure 13 This is a structural diagram of a terminal implementing a data packet transmission method according to an embodiment of the present disclosure;

[0071] Figure 14 This is a structural diagram of a server in a data packet transmission method according to an embodiment of the present disclosure. Detailed Implementation

[0072] To make the objectives, technical solutions, and advantages of this disclosure clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and are not intended to limit the scope of this disclosure.

[0073] Before providing a further detailed description of the embodiments of this disclosure, the terms and concepts used in these embodiments are explained, and they are subject to the following interpretations:

[0074] Packet loss in telecommunications refers to the loss of communication data packets. Data is transmitted over a communication network in units of data packets, each containing frames that represent data information and provide data routing. This means that no matter how good the network conditions are, data is not transmitted linearly (like making a phone call); there are always gaps in the transmission. Data packet transmission cannot be 100% successful due to physical line faults, equipment malfunctions, virus attacks, routing errors, and other reasons, resulting in some loss. In such cases, the network automatically instructs both ends of the communication to re-transmit packets according to protocols. If the line conditions are good and the speed is high, packet loss is minimal, and packet re-transmission is relatively easy, so the data can be approximated as lossless transmission. However, if the line is poor (e.g., using a modem), the amount of data loss can be significant, and packet re-transmission cannot be 100% successful. In such situations, gaps appear in the data transmission, resulting in packet loss.

[0075] Transmission Control Protocol (TCP) is a connection-oriented, reliable, byte-stream-based transport layer communication protocol. TCP features include: connection-oriented, full-duplex service, reliable, ordered byte transmission, buffered transmission, point-to-point, pipelined, cumulative acknowledgments, fast retransmission, selective retransmission, flow control, and congestion control.

[0076] Round-Trip Time (RTT) refers to the time required for data to travel from one end of a network to the other and receive confirmation from the receiver. Typically, RTT consists of four parts: transmission delay, propagation delay, queuing delay, and processing delay.

[0077] A message is a data unit exchanged and transmitted in a network; it is a block of data that a station sends at one time. A message contains complete data information to be sent, and its length varies greatly, being unlimited and variable.

[0078] Flow Complete Time (FCT) is the time from when the data sending node sends a request message until the data receiving node receives all the data messages.

[0079] Stream completion time is one of the main evaluation indicators of data packet transmission performance. A shorter completion time indicates that the data receiving node can receive the data packet sent by the data sending node in a shorter time. The statistical process for stream completion time is as follows: Figure 2 As shown, the data receiving node sends a message request to the data sending node. After receiving the message request, the data sending node sends a data packet to the data receiving node. After receiving the data packet, the data receiving node sends an acknowledgment message (ACK) back to the data sending node. If the data sending node receives the acknowledgment message, it continues to send the next data packet or a retransmission of a lost packet. The transmission is complete when the data receiving node has received all the data packets. Therefore, the time taken for this entire process is the stream completion time. A data transmission network is involved between the data sending and receiving nodes. If a packet is lost at a target intermediate node in the data transmission network, the data sending node needs to retransmit the data packet to the data receiving node, and this retransmission incurs a delay. Multiple packet losses can result in significant delays, affecting the data packet transmission efficiency. For example, as... Figure 3 As shown, if a data receiving node requests 10 data packets, and the data sending node sends the data packets to the data receiving node one by one, with a latency of 50ms between the data receiving node and the data sending node, then the data sending node will only be able to detect which of the 10 data packets were lost or which data packets were successfully received by the data receiving node after approximately 100ms. Therefore, when the data sending node performs packet loss repair, the data receiving node needs to wait at least 50ms to re-receive the retransmitted data packets. Thus, the method of confirming packet loss between the data receiving node and the data sending node before retransmitting the packets results in a significant latency. To address this, this disclosure provides a data packet transmission method that uses a target intermediate node in the data transmission network to perform packet loss detection and performs packet loss retransmission based on the data backed up in the target intermediate node, reducing the data packet transmission latency and thereby reducing the data packet flow completion time.

[0080] System architecture and scenario description of the embodiments disclosed herein

[0081] Figure 1a and Figure 1b This is a system architecture diagram of the data packet transmission method according to embodiments of the present disclosure. It is a data transmission network, such as... Figure 1aAs shown, the data transmission network includes a data sending node 110, a data receiving node 120, and multiple target intermediate nodes 130, etc. Figure 1b As shown, the data transmission network includes a data sending node 110, a data receiving node 120, multiple target intermediate nodes 130, and multiple intermediate nodes 140.

[0082] Data sending node 110, also known as the data sender, can specifically be a terminal 150 or a server 160, and is used to send data packets. Data receiving node 120, also known as the data receiver, and specifically a terminal 150, is used to receive data packets. The target intermediate node 130 is a crucial intermediate node 140 between data sending node 110 and data receiving node 120, and is also known as a network node, which can specifically be a terminal, server, or gateway. Intermediate node 140 is only used to transmit data packets sent by data sending node 110, while the target intermediate node 130 not only transmits data packets but also performs packet loss detection, data packet buffering, and data retransmission operations. Therefore, when packet loss is detected during transmission, the target intermediate node 130 can determine the retransmitted data from the pre-buried data packets and execute the data retransmission operation, achieving efficient data packet transmission.

[0083] Intermediate node 140 has an independent address and transmission port, and is capable of both transmission and reception. It should be noted that data sending node 110 transmits data packets to data receiving node 120 via the network, and the network consists of multiple intermediate nodes 140 connected by communication lines to form a specific geometric relationship; this is called computer network topology.

[0084] Terminal 150 can take various forms, including desktop computers, laptops, PDAs (personal digital assistants), mobile phones, in-vehicle terminals, home theater terminals, and dedicated terminals. Furthermore, it can be a single device or a collection of multiple devices. For example, multiple desktop computers connected via a local area network, sharing a single monitor, can work collaboratively to form a single terminal 150. Terminal 150 can communicate with server 160 via wired or wireless means to exchange data.

[0085] Server 160 refers to a computer system that provides data processing for terminal 150. Compared to terminal 150, server 160 has higher requirements in terms of stability, security, and performance. Specifically, server 160 can be a single high-performance computer in a network platform, a cluster of multiple high-performance computers, a portion of a single high-performance computer (e.g., a virtual machine), or a combination of portions of multiple high-performance computers (e.g., virtual machines). Server 160 can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms.

[0086] As disclosed above, the intermediate node that plays a crucial role between the data sending node 110 and the data receiving node 120 is defined as the target intermediate node 130, and any target intermediate node 130 between the data sending node 110 and the data receiving node 120 is defined as the first target intermediate node. If there are target intermediate nodes before and after the first target intermediate node, the target intermediate node hop after the first target intermediate node is defined as the second target intermediate node, and the target intermediate node 130 hop before the first target intermediate node is defined as the third target intermediate node. Alternatively, if there is no intermediate node before the first target intermediate node, then the hop node before the first target intermediate node can be the data sending node 110. Or, if there is no intermediate node after the first target intermediate node, then the hop node after the first target intermediate node is the data receiving node 120.

[0087] The data packet transmission method of this disclosure embodiment can be implemented entirely in the target intermediate node 130, specifically, it can be executed entirely in the terminal 150 or entirely in the server 160.

[0088] When the data packet transmission method is implemented entirely at the first target intermediate node, the first target intermediate node caches the data packet to obtain a backup data packet after the third target intermediate node confirms the integrity of the sent data packet. When the first target intermediate node receives data packet statistics from the second target intermediate node, it performs packet loss detection based on the data packet statistics and the backup data packet to obtain the packet loss detection result. If the packet loss detection result indicates that packet loss exists, the retransmitted data corresponding to the lost packet is sent to the second target intermediate node. Therefore, by having the target intermediate node perform data packet backup caching, packet loss detection, and packet loss retransmission, there is no need to wait for the data sending node to confirm the existence of packet loss before retransmitting, saving the retransmission time caused by packet loss and thus improving the data packet transmission efficiency.

[0089] The embodiments disclosed herein can be applied in various scenarios, such as Figure 4a and Figure 4bThe browser plugin download scenario shown and Figure 5a and Figure 5b Examples include small file transfer scenarios.

[0090] (I) Browser plugin download scenario

[0091] Browser plugins are small software programs that allow for customized browsing experiences. They can be tailored to individual needs or preferences, essentially making your browser more convenient and user-friendly. It's important to note that browser plugins are generally small in size and don't consume significant bandwidth, resulting in faster downloads. If packet loss occurs during the download, the browser interface will display a progress bar indicating completion, but the plugin won't be visible on the local terminal. Therefore, when downloading a browser plugin, it's necessary to wait for the download progress bar to complete before checking if the plugin is present in the download package to detect packet loss. However, the method in this embodiment addresses this issue by splitting the browser plugin into multiple data packets during download. Each data packet, upon reaching the target intermediate node, first confirms with the previous intermediate node that the data packet was not lost before caching it to obtain a backup. If the target intermediate node of the next hop reports that the data packet is lost, the data will be retrieved from the backup data packet and retransmitted to the target intermediate node of the next hop, so that each data packet can automatically perform packet loss detection and packet retransmission during transmission.

[0092] like Figure 4a During the browser plugin download process, the download progress can be viewed through the browser plugin's download progress bar. If packet loss occurs during the download, an exclamation mark (!) will pop up on the download interface to indicate that packet loss has occurred, along with a "Packet Loss Occurred" message. This allows users to be aware of packet loss during the download process. If packet loss is encountered, the target intermediate node will perform packet retransmission in advance, such as... Figure 4b As shown, if the retransmission is successful, a pop-up window will appear stating "Target intermediate node packet loss retransmission successful." The browser plugin's download progress bar will then continue to move forward until completion. Once complete, the browser plugin will be displayed directly in the folder corresponding to the download address. Specifically, browser plugins are generally small, and the download process takes only a few seconds. The process of the target intermediate node participating in packet loss detection and retransmission only takes microseconds. Therefore, even if packet loss occurs, it will not significantly increase the download time of the browser plugin and will not affect the user experience.

[0093] (II) Small file transfer scenario

[0094] Small files are defined as files with short transmission times or files that occupy little memory. Generally speaking, the transmission time for small files is within a few seconds. Traditional methods for handling file packet loss involve adjusting the sending strategy. However, for small files, by the time the sending strategy is adjusted, the file has already been transmitted. Therefore, traditional methods of adjusting the sending strategy for the data receiving node are not very effective for small file transmission. Thus, reducing the stream completion time of small file transmissions and optimizing their performance are the key issues currently facing small file transmission.

[0095] File transfer is the process of sending a file from one terminal to another. Assuming file p1 is 50kB in size, if object A sends file p1 directly to object B, and packet loss occurs during transmission, object B will not receive the complete file p1. This embodiment addresses this by splitting file p1 into multiple data packets, with the target intermediate node in the data packet transmission process performing packet loss detection and retransmission. Figure 5a As shown, a dialog box between object A and object B is displayed on the object A's display interface, and the dialog box displays the transfer progress bar for file p1. If packet loss occurs, a "Packet Loss Occurred" pop-up window will appear on object A's display interface. Therefore, when packet loss occurs, after the target intermediate node confirms the packet loss, it extracts the pre-cached backup data packets as retransmitted data, and then retransmits the retransmitted data after packet loss. Figure 5b If the target intermediate node successfully retransmits the packet, the dialog box with object A will display the message "Packet loss retransmission successful". Simultaneously, if file p1 is completely and successfully transmitted, the file will appear directly on object B's display screen, indicating that file p1 has been successfully transmitted.

[0096] General Description of Embodiments in this Disclosure

[0097] According to one embodiment of this disclosure, a method for transmitting data packets is provided. This method can be used for, for example... Figure 4a and Figure 4b Browser plugin download scenarios and Figure 5a and Figure 5b The file transfer scenario shown can also be applied to other data transfer scenarios.

[0098] like Figure 6 The diagram shown is a flowchart illustrating a data packet transmission method provided in this disclosure. This method can be applied to a first target intermediate node in a data transmission network, which includes a data sending node, a data receiving node, and multiple target intermediate nodes. The data packet transmission method may include:

[0099] Step 601: Receive statistical information of data packets sent by the intermediate node of the second target.

[0100] It should be noted that the second target intermediate node is the target intermediate node that is one hop after the first target intermediate node in the target data stream. The target data stream is the data stream in which the data sending node sends data packets to the data receiving node. The data packet statistics information indicates the data packet information received by the second target intermediate node. Specifically, the first target intermediate node sends data packets to the second target intermediate node. After receiving the data packets, the second target intermediate node will perform statistics on the data packet information of each data packet to obtain the data packet statistics information.

[0101] As mentioned above, the target intermediate node that precedes the first target intermediate node in the target data stream is defined as the third target intermediate node. When the data sending node sends a data packet to the third target intermediate node, the third target intermediate node also collects data packet information to form data packet statistics. The third target intermediate node also sends its data packet statistics to the data sending node, allowing the data sending node to determine whether the data packet transmitted to the third target intermediate node has been lost and whether retransmission is necessary. Simultaneously, the first target intermediate node also sends its data packet statistics to the third target intermediate node, enabling the third target intermediate node to perform packet loss detection. Therefore, by having each target intermediate node feed back data packet statistics to the target intermediate node or data sending node preceding the target data stream, the preceding target intermediate node can determine whether the subsequent target intermediate node or data receiving node has received the data packet, thus promptly determining whether retransmission is necessary. This eliminates the need to wait for the data receiving node to fail to receive the data packet before instructing the data sending node to retransmit it, saving the data receiving node's feedback time and improving the efficiency of packet loss detection.

[0102] For example, such as Figure 7 Let the gray rectangle represent a data packet. The process of sending a data packet request is ①, the process of confirming the data packet to be sent is ②, the process of sending the data packet is ③, the process of data packet buffering is ④, the process of feeding back data packet statistics is ⑤, and the process of feeding back confirmation information after completing the data packet is ⑥. Therefore, as... Figure 7As shown, before data sending node 110 sends a data packet, data receiving node 120 first sends a packet request to data sending node 110. After receiving the packet request, data sending node 110 confirms the data packet to be sent and begins sending the data packet to the third target intermediate node. After receiving the data packet, the third target intermediate node buffers the data packet and simultaneously feeds back the statistical information of the received data packet to data sending node 110. Then, the third target intermediate node sends the data packet to the first target intermediate node. The first target intermediate node calculates the data packet statistics from the received data packet information and feeds back the statistical information to the third target intermediate node. At the same time as the first target intermediate node feeds back the statistical information, it also sends the data packet to the second target intermediate node, which feeds back the statistical information of the received data packet to the first target intermediate node. In addition, after receiving the data packet, data receiving node 120 also calculates the data packet statistics from the received data packet information and feeds back the statistical information to the second target intermediate node. Therefore, each target intermediate node or data receiving node 120 that receives data packets will collect data packet statistics and feed them back to the target intermediate node or data sending node 110 of the previous hop. This allows the target intermediate node or data sending node 110 of the previous hop to perform packet loss detection based on the data packet statistics and retransmit data packets in a timely manner, thereby improving the transmission efficiency of data packets.

[0103] Generally, after the first target intermediate node receives a data packet from the third target intermediate node, it needs to buffer the data packet. This allows the first target intermediate node to retrieve the data packet that needs to be retransmitted if it detects that the third target intermediate node has not received the data packet, without having to report back to the data sending node and then retransmit the data. Figure 7 As shown, the data packet caching process is defined as ④, indicating that each target intermediate node or data receiving node caches the received data packets. It should be noted that in this embodiment, the pre-cached data packets are defined as backup data packets, and the backup data packets are data packets confirmed as complete by the third target intermediate node. Specifically, after receiving the data packet statistics information from the first target intermediate node, the third target intermediate node uses the data packet statistics information to confirm whether there has been packet loss in the transmitted data packets, that is, the third target intermediate node confirms whether the data packets are complete. The first target intermediate node caches the data packets as backup data packets after the third target intermediate node confirms their completeness, so that a complete data packet can be transmitted during retransmission.

[0104] In some embodiments, the data packet transmission method provided in this disclosure further includes:

[0105] Receive the first confirmation message from the intermediate node of the third target;

[0106] If the first message confirms that the target data packet has not been lost, the target data packet is identified by its packet type to obtain the target packet type.

[0107] If the target message type is the same as the preset message type, the target data message is cached to obtain a backup data message.

[0108] The first message confirmation is generated by the third target intermediate node after confirming, based on the data packet statistics returned by the first target intermediate node, that the sent target data packet has not been lost. Therefore, when the first target intermediate node receives the first message confirmation from the third target intermediate node, it can determine that the target data packet sent by the third target intermediate node is complete and that the first message confirmation indicates the target data packet has not been lost. It should be noted that the target data packet is formed by combining the data resources requested by the data receiving node from the data sending node and the resource information of those resources, and the target data packet is initially sent by the data sending node.

[0109] As previously disclosed, if the first message confirmation indicates that the target data packet has not been lost, file category identification of the target data packet is required. It should be noted that file category identification is used to identify the packet category of the target data packet to determine whether the packet category conforms to a preset packet category. Specifically, the target packet category is obtained by performing packet category identification on the target data packet, and then compared with a preset packet category. If the target packet category is the same as the preset packet category, it indicates that the target data packet category conforms to the preset category requirements. Specifically, in this embodiment, the preset packet category is a small file category, and a small file category indicates that the transmission of the target data packet does not require excessive data traffic. It should be noted that it is necessary to determine that the target data packet belongs to the small file category because small file target data packets are transmitted quickly. For target data packets with larger file sizes, caching, packet loss detection, and retransmission operations through the target intermediate node consume a significant amount of bandwidth. Therefore, large file target data packets typically employ transmission strategy adjustments. However, for small file target data packets, their transmission time is short, and they are transmitted before the transmission strategy adjustment is completed. Therefore, transmission strategy adjustments do not significantly improve the transmission performance of small file target data packets. Based on this, the embodiments of this disclosure, for small file target data packets, employ target intermediate nodes for caching, packet loss detection, and retransmission. This does not consume a large amount of bandwidth, especially for caching, which requires minimal cache space and significantly reduces the latency of the target data packets, thereby improving the transmission efficiency.

[0110] Specifically, after the first target intermediate node receives the target data packet and the first packet acknowledgment information from the third target intermediate node, it needs to determine whether the packet type of the target data packet is a small file to decide whether to cache it. If the target packet type is a preset packet type, indicating that it is a small file, the target data packet is cached to obtain a backup data packet. It should be noted that the first target intermediate node sets up a local cache and caches the backup data packets in the order they are received. The target data packet also carries data packet information to facilitate quick retrieval of the backup data packet during subsequent extraction.

[0111] In the embodiments of this disclosure, after the first target intermediate node determines that the target data packet has not been lost, it needs to confirm that the packet type of the target data packet is the same as the preset packet type before caching the target data packet to obtain a backup data packet. Therefore, backing up the data packet in advance allows the first target intermediate node to directly retrieve the backup data packet and retransmit it when packet loss occurs in subsequent target intermediate nodes, without having to feed back to the data sending node and then retransmit it. This speeds up the data retransmission efficiency and thus improves the data packet transmission efficiency.

[0112] In some embodiments, the first target intermediate node identifies the message category of the target data packet, rather than directly judging the attribute parameters of the target data packet and then determining the category of the target data packet based on the attribute parameters. Because identifying the attribute parameters of the target data packet and then analyzing the category of the target data packet based on the attribute parameters requires significant computational resources, the embodiments of this disclosure directly determine the message category of the target data packet through the message category tag information carried on the target data packet. This allows for quick and accurate identification of whether the message category of the target data packet is a preset message category.

[0113] In some embodiments, message category identification is performed on the target data message to obtain the target message category, including:

[0114] Obtain the message category tag information of the target data message;

[0115] The target data message category is determined by identifying the category of the target data message based on the message category label information.

[0116] In this embodiment, the message category label information is set by the data sending node when it determines that the message category of the target data packet is a preset message category. The message category label information is added to the target data packet. Therefore, the first target intermediate node can obtain the message category label information of the target data packet simultaneously with receiving the target data packet, and quickly determine the message category of the target data packet based on the message category label information. For example, the target data packet is defined as pkt_traffic, and the message category label information is tiny_file_mark. The data sending node adds the message category label information tiny_file_mark to the target data packet pkt_traffic. Specifically, defining tiny_file_mark = 1 indicates that the target message category of the target data packet is a small file category, that is, the target message category is the same as the preset message category; if tiny_file_mark = 0, it indicates that the target message category is not a small file category, that is, the target message category is not the same as the preset message category. Therefore, the message category of the target data message can be quickly determined by the message category tag information carried by the target data message itself. That is, it can be quickly identified whether the message category of the target data message is a small file category. This allows the first target intermediate node to quickly perform caching, packet loss detection and retransmission operations on the target data message of the small file category, thereby improving the transmission efficiency of the target data message.

[0117] In this embodiment of the disclosure, the message category of the target data packet is determined directly through the message category tag information of the target data packet, making the message category identification of the target data packet highly efficient.

[0118] As previously disclosed, the message category label information is set by the data sending node so that the target intermediate node can directly determine the message category of the target data message through the message category label information. However, the data sending node also needs to identify the message category of the target data message in advance before setting the message category label. It should be noted that the data receiving node sends a message request to the data sending node, and the message request contains a resource identifier code that can identify the requested data resource. The data sending node obtains the resource information of the target data resource based on the resource identifier code. The target data message is obtained by adding resource information to the target data resource; that is, the target data message contains the target data resource and its resource information. The resource category of the target data resource can be determined through the resource information, so the resource information is also equivalent to the data message information in the target data message. Therefore, the data message information can determine the message category of the target data message.

[0119] As disclosed above, the data packet information includes: packet space usage and packet function information. The packet space usage refers to the size of the target data resource, and the packet function information refers to the purpose of the target data resource. Therefore, the packet category label information of the target data packet is determined by the size or purpose of the target data resource.

[0120] In some embodiments, the setting when determining that the message type of the target data message is a preset message type includes any of the following:

[0121] Obtain the packet space occupied by the target data packet. If the packet space occupied is less than the preset space, determine the packet type of the target data packet as the preset packet type.

[0122] Obtain the message function information of the target data message, and determine the message category of the target data message as the preset message category based on the message function information.

[0123] First, the data packet information of the target data packet is obtained. The data packet information includes the packet's occupied space and the packet's function information. The packet type of the target data packet can be determined by the packet's occupied space alone, or by the packet's function information alone. Alternatively, both the packet's occupied space and the packet's function information can be combined to determine the packet type of the target data packet, making the determination of the packet type of the target data packet more accurate.

[0124] As previously disclosed, determining the packet category of a target data packet based on its packet size involves comparing the packet size with a preset size. If the packet size is larger than the preset size, the packet category is not the preset size. Conversely, if the packet size is smaller than the preset size, the packet category is the preset size. Specifically, the packet size is the size of the target data resource, defined as `file_size`. The preset size is a preset threshold `file_size_threshold`. If `file_size` is smaller than `file_size`, the target data resource is a small file, and therefore the packet category is a small file. It should be noted that the preset size, i.e., the preset threshold, is a custom setting, and this custom threshold can be set based on the transmission time of the data sending node. For example, in a network with poor transmission performance, the preset threshold can be defined as 3M. ​​If in a network with excellent transmission performance, transmitting 100M takes only a few seconds, then the preset threshold can also be defined as 100M. Therefore, the definition of the small file category can also be related to network transmission performance, that is, to transmission duration, and is not limited to file size. If the packet category of the target data packet is defined by transmission duration, as transmission performance improves, the packet category of target data packets that occupy more space can also be defined as the small file category.

[0125] If the category of the target data packet is determined based on the message function information, it is only necessary to determine whether the message function information is a preset function information. The preset function information can be customized. It should be noted that this embodiment does not impose specific restrictions on the preset function information. As disclosed above, the message function information represents the purpose of the target data resource, that is, determining whether the target data resource is used for a pre-set purpose. For example, if the preset function information is a webpage sending function or an advertising function, and the message function information is a webpage function or an advertising function, the message category of the target data packet is determined to be the preset message category. If the message function information is a video-on-demand / live streaming service function, it indicates that the message function information is different from the preset function information, and the message category of the target data packet is determined not to be the preset message category. It should be noted that in a cluster composed of multiple data sending nodes, the main service handled by each data sending node determines the message function information. Therefore, the message category of target data packets sent by the same data sending node can all be small file categories, or none of them can be small file categories. For example, if... Figure 8Data sending node 1 is primarily responsible for sending web page resources, data sending node 2 is primarily responsible for sending advertising services, and data sending node n is primarily responsible for sending video-on-demand / live streaming services. Since data sending nodes are defined as sending web page resources or advertising services, the target data resources transmitted are small files. Therefore, the message type of the target data packets transmitted by data sending nodes 1 and 2 is identified as small files, while the message type of the target data packets transmitted by data sending node n is identified as large files. Therefore, besides directly determining the message type of the target data packet through its size and function, the message type can also be determined from the main business of the data sending node, increasing the selectivity of the message type identification method.

[0126] In this embodiment of the disclosure, the message category of the target data message is determined based on whether the message space occupied is less than the preset space occupied, or whether the message function information is the preset function information, so that the message category identification method of the target data message can be selected in two ways.

[0127] Step 602: Perform packet loss detection based on data packet statistics and backup data packets to obtain packet loss detection results.

[0128] After confirming that the target data packet's packet type is a preset packet type, the first target intermediate node caches the target data packet as a backup data packet. Therefore, upon receiving data packet statistics information from the second target intermediate node, the first target intermediate node can perform packet loss detection based on the data packet statistics information and the pre-cached backup data packet to determine whether packet loss occurred during the process of forwarding the backup data packet to the second target intermediate node. In this embodiment, packet loss detection mainly detects whether data packet loss occurred during the transmission of data packets from the first target intermediate node to the second target intermediate node. If the second target intermediate node does not receive the complete data packet, the packet loss detection result is determined to be packet loss; if the second target intermediate node receives the complete data packet, the packet loss detection result is determined to be no packet loss. Therefore, packet loss detection is essentially determining whether the second target intermediate node received the complete data packet. It should be noted that packet loss can be caused by a variety of factors, including network congestion, equipment failure, and network configuration issues. Therefore, setting up packet loss detection during data packet transmission is crucial to ensuring accurate data packet transmission and guaranteeing network reliability and stability. This is especially important for network environments that require high availability and low latency.

[0129] As previously disclosed, packet loss detection primarily checks whether the second target intermediate node has received the complete data packet. It should be noted that after the first target intermediate node successfully caches the target data packet, it directly sends the target data packet to the second target intermediate node. The second target intermediate node then compiles the data packet information from the received target data packet into data packet statistics and feeds this statistics back to the first target intermediate node. Therefore, the first target intermediate node can detect whether the second target intermediate node has received the complete target data packet based on the received data packet statistics and the backup data packet.

[0130] In some embodiments, packet loss detection is performed based on data packet statistics and backup data packets to obtain packet loss detection results, including:

[0131] Obtain statistical period information from data message statistics;

[0132] Based on the statistical period information, determine the reference message statistics information for the data message sent to the intermediate node of the second target in the backup data message;

[0133] Packet loss detection is performed based on the statistical information of the reference message and the statistical information of the data message to obtain the packet loss detection results.

[0134] In this embodiment, the data packet statistics information includes statistical period information, which is the period information of the data packet information counted by the second target intermediate node. Specifically, the statistical period information can be a statistical duration or a statistical quantity. The statistical duration is the duration calculated after the second target intermediate node starts receiving data packets, and the second target intermediate node can receive multiple data packets within the statistical duration. The statistical quantity represents the number of target data packets received by the second target intermediate node. Therefore, by periodically performing packet loss detection through statistical duration or statistical quantity, it is not necessary to start packet loss detection every time a target data packet is sent, which can save the detection resources consumed by packet loss detection and also ensure the performance of packet loss detection.

[0135] As previously disclosed, the statistical period information is determined to be either the statistical quantity or the statistical duration, and reference message statistics for the data packets sent to the second target intermediate node are determined in the backup data packets based on the statistical period information. Specifically, when the statistical quantity reaches a preset quantity or the statistical duration reaches a preset duration, the data packet information sent by the first target intermediate node within the preset quantity or preset duration is used as the reference message statistics. Therefore, packet loss detection is performed using the reference message statistics and the data packet statistics, that is, the data packet information received by the second target intermediate node is compared with the data packet information sent by the first target intermediate node to determine whether the second target intermediate node has received a complete data packet, thus obtaining the packet loss detection result.

[0136] In this embodiment of the disclosure, reference message statistics of the data packets sent by the first target intermediate node are determined in the backup data packets by statistical periodic information. By periodically determining the reference message statistics and periodically performing packet loss detection, not only are the resources consumed by packet loss detection saved, but the performance of packet loss detection is also not affected.

[0137] It should be noted that when comparing the data packet information received by the second target intermediate node with the data packet information sent by the first target intermediate node to determine the packet loss detection result, the data packet information includes a packet number for more efficient comparison. This allows for a faster determination of the packet loss detection result by comparing the packet number received by the second target intermediate node with the packet number sent by the first target intermediate node.

[0138] In some embodiments, packet loss detection is performed based on reference message statistics and data message statistics to obtain packet loss detection results, including:

[0139] Determine the first message number sequence of the data messages that have been transmitted to the intermediate node of the second target based on the reference message statistics;

[0140] Determine the second message number sequence of the data messages received by the second target intermediate node based on the data message statistics;

[0141] The packet loss detection result is determined based on the comparison result of the first message number sequence and the second message number sequence.

[0142] In this embodiment, a first message number sequence is formed by combining the message numbers sent by the first target intermediate node to the second target intermediate node within a certain number or duration of data. A second message number sequence is formed by combining the message numbers received by the second target intermediate node from the first target intermediate node within the same time period. It should be noted that the first message number sequence is also the message number of a selected data packet in the backup data packets. The selected data packet is the data packet sent by the first target intermediate node to the second target intermediate node within a preset time period. The preset time period can be the time period during which the number of data packets is transmitted, or it can be the time period during which multiple data packets are transmitted within a preset duration. Therefore, by comparing the first and second message number sequences, targeted comparison of message number sequences is achieved, thereby enabling packet loss detection.

[0143] As previously disclosed, the first message number sequence contains multiple message numbers, and the second message number sequence also contains multiple message numbers. The packet loss detection is performed by comparing each message number in the first and second message number sequences. If the first and second message number sequences do not match, the packet loss detection result is determined to be packet loss; if the first and second message number sequences match, the packet loss detection result is determined to be no packet loss, meaning that the data packets sent from the first target intermediate node to the second target intermediate node were not lost. It should be noted that the message numbers in both the first and second message number sequences are sorted in ascending order. For example, if the first message number sequence is [011, 012, 013, 014, 015, 016], and the second message number sequence is [011, 013, 014, 015, 016], then the first and second message number sequences do not match, and the packet loss detection result is determined to be packet loss.

[0144] In this embodiment, data packet statistics can determine a second message number sequence, which is the message number sequence received by the second target intermediate node. The second target intermediate node can also report any unreceived message number sequences to the first target intermediate node and define these unreceived message number sequences as a third message number sequence. It should be noted that since the first target intermediate node embeds the first message number sequence when sending data packets, the second target intermediate node can determine the third message number sequence based on the first and second message number sequences. The second message number sequence is then included in the data packet statistics and reported back to the first target intermediate node, allowing the first target intermediate node to directly determine the retransmission data based on the third message number sequence.

[0145] like Figure 9 As shown, there are two more intermediate nodes between the first and second target intermediate nodes, and these intermediate nodes only transmit data packets. The intermediate nodes between the first and second target intermediate nodes are represented by blue circles. The second packet number sequence is pkt_num_rev, and the third packet number sequence is pkt_num_drop. Figure 9 As shown, the second target intermediate node feeds back the second message number sequence and the third message number sequence together with the data message statistics information to the first target intermediate node. During the transmission process, the intermediate node only transmits data messages. Therefore, after receiving the feedback data message statistics information, the key node determines the second message number sequence pkt_num_rev and the third message number sequence pkt_num_drop.

[0146] In this embodiment of the disclosure, by determining the first message number sequence sent by the first target intermediate node to the second target intermediate node from the reference message statistics information of the backup data message, and simultaneously determining the second message number sequence received by the second target intermediate node in the same time period from the data message statistics information, the packet loss detection result can be determined simply by comparing the first message number sequence and the second message number sequence, making the packet loss detection operation simple and accurate.

[0147] Step 603: When the packet loss detection result indicates that packet loss exists, determine the retransmission data that needs to be retransmitted.

[0148] As previously disclosed, if the packet loss detection result indicates packet loss, it means that the second target intermediate node has not received the target data packet sent by the first target intermediate node, and it is necessary to determine the retransmission data for retransmission. It should be noted that the retransmission data is determined from the backup data packets pre-cached by the first target intermediate node. Therefore, the retransmission data does not need to be retransmitted from the data sending node. This saves transmission resources consumed by the data sending node retransmitting, and the fact that the first target intermediate node directly determines the retransmission data enables efficient data retransmission operations and reduces the latency caused by data retransmission.

[0149] In some embodiments, when the packet loss detection result indicates that packet loss exists, the retransmitted data that needs to be retransmitted is determined to include:

[0150] When the first message number sequence does not match the second message number sequence, determine the numbering difference between the first message number sequence and the second message number sequence;

[0151] The data to be retransmitted is determined based on the differences in the serial numbers.

[0152] In this embodiment, when the first message number sequence and the second message number sequence do not match, i.e., when the packet loss detection result indicates packet loss, the number difference is determined based on the first and second message number sequences. It should be noted that the number difference refers to the message number that differs between the first and second message number sequences, i.e., the message number of the data packet that the second target intermediate node did not receive. For example, if the first message number sequence is [011, 012, 013, 014, 015, 016] and the second message number sequence is [011, 013, 014, 015, 016], then the number difference is 012. This means that the missing message number is 012, indicating that the second target intermediate node did not receive the data packet with message number 012.

[0153] As previously disclosed, once the numbering difference is determined, retransmitted data can be extracted from the backup data packets based on the numbering difference. Specifically, the packet number of the backup data packet is obtained as the backup packet number. Then, the sequence of missing packet numbers is determined based on the numbering difference. The sequence of missing packet numbers includes at least one missing packet number, so the backup data packet with the same backup packet number as the missing packet number is used as retransmitted data. For example, if the numbering difference is 012, the backup data packet with the missing packet number also being 012 is obtained as retransmitted data, that is, the backup data packet with backup packet number 012 is resent to the second target intermediate node.

[0154] In this embodiment of the disclosure, the missing message numbers of the second target intermediate node are determined by the difference in the numbering between the first message number sequence and the second message number sequence. Then, the retransmitted data is found in the backup data message based on the lost message numbers, so that the retransmitted data is found accurately and the data retransmission operation is realized accurately.

[0155] Step 604: Send the retransmitted data to the second target intermediate node.

[0156] In this process, once the first target intermediate node determines the retransmission data that needs to be retransmitted, it directly sends it to the second target intermediate node. It's important to note that although the first target intermediate node sends the target data packet to the second target intermediate node in advance, it is not only involved in the target data stream but also in other data streams within the network, sending data packets to other target intermediate nodes or receiving data packet statistics from them. Therefore, when sending retransmission data to the second target intermediate node, it is still necessary to accurately locate the second target intermediate node to ensure the retransmission data is delivered precisely to it. It should also be noted that the data packet statistics received by the first target intermediate node include packet transmission tag information. This packet transmission tag information serves as an indication for data transmission, enabling the first target intermediate node to accurately send the retransmission data to the second target intermediate node based on the packet transmission tag information. The message transmission tag information records the second node information of the second target intermediate node and the first node information of the first target intermediate node, so that the retransmitted data can be sent to the second target intermediate node more accurately based on the second node information, and the second target intermediate node can also accurately feed back the data packet statistics information to the first target intermediate node based on the first node information.

[0157] As disclosed above, the message transmission tag information includes first node information and second node information, and the message transmission tag information is added to the data packet and transmitted along with the data packet. Therefore, after the first target intermediate node receives the target data packet, it adds the message transmission tag information to the target data packet and sends it together to the second target intermediate node.

[0158] In some embodiments, the data packet transmission method provided in this disclosure further includes:

[0159] Generate message transmission tag information based on the preset first node information and second node information;

[0160] Add the message transmission tag information to the target data packet to obtain the updated data packet;

[0161] The update data message is sent to the intermediate node of the second target.

[0162] In this embodiment, the first node information is the node information of the first target intermediate node. The first node information and the second node information are combined to form the message transmission tag information. It should be noted that the target data packet is sent from the third target intermediate node to the first target intermediate node. Therefore, the original transmission tag information carried by the target data packet includes both the third node information and the first node information. Adding the message transmission tag information to the target data packet, i.e., replacing the original transmission tag information, yields an updated data packet with the new message transmission tag information. Furthermore, in this embodiment, the message transmission tag information records more information about the previous sending node and the receiving node of the data packet. Therefore, when the data packet is transmitted to different target intermediate nodes, the corresponding message transmission tag information will be updated so that each target intermediate node can know the source and destination of the data packet.

[0163] Specifically, the first node information includes the first node address information and the first node port information, and the second node information includes the second node address information and the second node port information. The first node address information can be an IP address or a MAC address; this embodiment does not impose specific restrictions on the first node address information. Therefore, by using the address information and port information, the target intermediate node information can be located more accurately.

[0164] For example, such as Figure 10As shown, the packet transmission tag information records the source and destination information of the update data packet. Specifically, the source information is defined as Info_last, and Info_last = {IP_last, Port_last}. The destination information is the next node information, which includes the destination address and destination port. If the source information of the update data packet is determined to be the first node information, and the destination information is the second node information, and the first node address information is defined as IP_node_1, and the first node port information as Port_node_1, then IP_last = IP_node_1, and Port_last = Port_node_1. If the second node address information is defined as IP_node_2, and the second node port information as Port_node_2, then the destination address is IP_node_2, and the destination port is Port_node_2. Therefore, by using the packet transmission tag information carried in the update data packet, the source and destination nodes of the update data packet can be quickly found.

[0165] It's important to note that the message transmission tag information includes not only the source and destination information of the update data packet, but also the source node information and the destination node information. The destination information is the next-hop node information of the update data packet, while the destination node information is the node to which the update data packet will ultimately be delivered, i.e., the node information of the data receiving node. The source node information is the node information of the node that initially sent the update data packet, i.e., the node information of the data sending node. Therefore, by using the message transmission tag information, we can not only know the previous and next node information of the data packet, but also determine the source and destination node information. This allows the next target intermediate node to determine the address and port of the subsequent target intermediate node after forwarding the data packet based on the destination node information, ensuring that the data packet is accurately transmitted to the data receiving node.

[0166] As previously disclosed, after carrying message transmission tag information during transmission, data packets can also carry message category tag information. Therefore, if Figure 10As shown, the source node information includes the source address and source port, with the source address defined as IP_server and the source port defined as Port_server. The delivery node information includes the receiving node address and receiving node port, with the receiving node address defined as IP_target and IP_target = IP_client, and the receiving node port defined as Port_target and Port_target = Port_client. Therefore, in the process of sending the update data packet from the first target intermediate node to the second target intermediate node, the message of the update data packet is defined as Pkt_traffic, and Pkt_traffic = {tiny_file_mark, info_last, info_target, source node information, next node information}. Therefore, the second target intermediate node can accurately feed back the data packet statistics information to the first target intermediate node based on the message carried in the update data packet. At the same time, when the second target intermediate node feeds back the data packet statistics information to the first target intermediate node, the second target intermediate node will also feed back the packet transmission tag information to the first target intermediate node, so that the first target intermediate node can accurately send the retransmitted data to the second target intermediate node based on the packet transmission tag information.

[0167] In this embodiment of the disclosure, by embedding message transmission tag information containing first node information and second node information into the target data packet to obtain an updated data packet, the first target intermediate node can accurately send the updated data packet to the second target intermediate node. At the same time, the second target intermediate node can also accurately feed back data packet statistical information to the first target intermediate node based on the message transmission tag information, so that the data or information transmission is accurate.

[0168] In some embodiments, sending retransmitted data to a second target intermediate node includes:

[0169] The second target intermediate node is selected from multiple target intermediate nodes based on the second node information;

[0170] The retransmitted data is sent to the intermediate node of the second target.

[0171] In this embodiment, the second node information is the information of a second target intermediate node, which can accurately locate the second target intermediate node. As disclosed above, the second node information includes the address information and port information of the first node. Therefore, the second target intermediate node is selected from multiple target intermediate nodes based on the address information and port information of the first node. After finding the second target intermediate node, the first target intermediate node directly sends the retransmitted data to the second target intermediate node to achieve packet loss retransmission operation.

[0172] In other words, in this embodiment of the disclosure, the second target intermediate node is accurately found from multiple target intermediate nodes by first transmitting the second node information in the message transmission tag information. Then, the retransmitted data can be quickly sent to the second target intermediate node to realize the packet loss retransmission operation, ensure the accurate transmission of retransmitted data, and reduce the situation of data retransmission errors.

[0173] After retransmitting the data to the second target intermediate node, it is necessary to check whether the second target intermediate node has received the retransmitted data. After confirming that the complete data packet has been received, the pre-cached backup data packets need to be cleared to free up cache space in the local cache area so that subsequent received data packets can continue to be cached, thus saving space usage.

[0174] In some embodiments, the data packet transmission method of this disclosure further includes:

[0175] Receive the second message confirmation information from the intermediate node of the second target;

[0176] If the second message confirms that the retransmitted data has been received, perform a cleanup operation on the backup data message.

[0177] As disclosed above, backup data packets are pre-cached in a local buffer, and are temporarily stored there. The decision to clear backup data packets is primarily based on the second message acknowledgment information returned by the second target intermediate node. It should be noted that this second message acknowledgment information is generated by the second target intermediate node upon receiving retransmitted data, specifically when the number difference matches the number of the retransmitted data, indicating that the second target intermediate node has received the missing data packet. Therefore, the second message acknowledgment information received by the first target intermediate node indicates that the retransmitted data has been received, meaning the backup data packet no longer needs to be cached in the local buffer. The backup data packet in the local buffer can be cleared to free up buffer space for other newly received data packets.

[0178] It should be noted that if the second target intermediate node does not receive the retransmitted data, it will send a non-received message to the first target intermediate node, or the first target intermediate node will periodically check whether it has received a second message acknowledgment. If it receives a non-received message from the second target intermediate node or does not receive a second message acknowledgment for an extended period, the first target intermediate node will continue to search for the retransmitted data in the backup data packets and resend the retransmitted data to the second target intermediate node. This process continues until the second target intermediate node receives the retransmitted data and the first target intermediate node receives the second message acknowledgment, at which point the first target intermediate node will clean up the corresponding backup data packets.

[0179] In this embodiment of the disclosure, if it is confirmed that the second target intermediate node has received the retransmitted data, the backup data packet corresponding to the retransmitted data will be cleared to free up cache space for the newly received data packet to reduce the congestion of the cache space and make fuller use of the cache space resources.

[0180] As previously disclosed, backup data packets need to be cleaned up, but the cleanup process must ensure that the backup data packets do not need to be retransmitted before they can be cleaned up.

[0181] In one embodiment, performing a cleanup operation on backup data packets includes:

[0182] Target data packets are selected from backup data packets based on the difference in their serial numbers;

[0183] Perform a cleanup operation on the target data packet.

[0184] In this embodiment, the number difference refers to the lost message number, and the retransmitted data is the backup data message whose backup message number matches the lost message number. Therefore, a selected data message is found from the backup data messages as the retransmitted data. After confirming that the retransmitted data is successfully received, the selected data message is also used as the target data message, and a cleanup operation is performed on the target data message. It should be noted that the cleanup operation involves deleting the target data message from the local cache space. The local cache space no longer caches the target data message, thereby saving local cache space usage and allowing other newly received data messages to be cached quickly.

[0185] In other words, in this embodiment of the disclosure, the selected data packet corresponding to the backup data packet is found as the target data packet based on the difference in number, and then the target data packet is cleaned up to ensure that the cleaned data packet is the backup data packet that has been successfully sent, thereby reducing the possibility of incorrect deletion of backup data packets.

[0186] As disclosed above, the above content describes how the first target intermediate node receives the target data packet and performs operations such as caching, packet loss detection, and data retransmission. It should be noted that each target intermediate node or data receiving node that receives the data packet also performs caching, packet loss detection, and data retransmission operations, and the operations performed by each target intermediate node or data receiving node are the same as those of the first target intermediate node, so they will not be repeated here.

[0187] In summary, the data packet transmission method provided in this disclosure involves a data receiving node sending a packet request to a data sending node. The data receiving node determines the target data resource to be transmitted from the packet request, and then identifies the resource size and purpose of the target data resource. If the resource size of the target data resource is less than a preset threshold, or the purpose meets the preset requirements, the data sending node adds a packet category tag information of small file type to the target data resource to obtain the target data packet. At the same time, the data sending node also adds packet transmission tag information to the target data packet, and the packet transmission tag information records the source information, the destination node information, the source node information, and the next node information, so that subsequent target intermediate nodes or data receiving nodes can know the transmission status of the target data packet based on the packet transmission tag information. The data sending node sends the target data packet, carrying message category tag information and message transmission tag information, to the third target intermediate node. The third target intermediate node performs statistical analysis on the data packet information of the target data packet and sends the statistical information back to the data sending node. The data sending node performs packet loss detection based on the statistical information and the target data packet. If no loss is detected, the third target intermediate node caches the target data packet and forwards it to the first target intermediate node. After receiving the target data packet, the first target intermediate node calculates the data packet information of multiple received target data packets within a statistical quantity or statistical time period to obtain data packet statistics, and then sends the statistical information back to the first target intermediate node. If the first target intermediate node confirms that no packet loss has occurred, it receives the first message confirmation information from the third target intermediate node indicating that the target data packet has not been lost. Then, it identifies the message category tag information carried on the target data packet. If the message category tag information determines that the message category of the target data packet is a small file, it caches the target data packet in its local cache to obtain a backup data packet. Simultaneously, the first target intermediate node constructs new message transmission tag information from the first node information and the second node information, and then adds the message transmission tag information to the target data packet to obtain an updated data packet. The first target intermediate node sends the updated data packet to the second target intermediate node. The second target intermediate node receives multiple updated data packets within the statistical time or statistical quantity and compiles the data packet information to obtain data packet statistics. The second target intermediate node sends the data packet statistics to the first target intermediate node. The first target intermediate node determines the reference message statistics from the backup data packets corresponding to the statistical time or statistical quantity, and then determines the first message number sequence of the data packets sent by the first target intermediate node to the second target intermediate node based on the reference message statistics, and determines the second message number sequence of the data packets already received by the second target intermediate node based on the data packet statistics.The first target intermediate node matches the first message number sequence with the second message number sequence. If the first message number sequence and the second message number sequence do not match, the packet loss detection result is determined to be packet loss. Based on the first message number sequence and the second message number sequence, the number difference is determined, and the first target intermediate node determines the retransmitted data from the backup data packet based on the number difference. Then, the first target intermediate node finds the second target intermediate node from the second node information of the message transmission tag information and sends the retransmitted data to the second target intermediate node, thus realizing the packet loss retransmission operation. Therefore, this embodiment of the present disclosure uses the target intermediate node in the transmission network for data packet caching, packet loss detection, and packet loss retransmission. It eliminates the need for the data sending node to initiate data retransmission when packet loss occurs, which not only saves the latency caused by packet loss but also significantly improves the overall data packet transmission completion time, thereby enhancing the efficiency of data packet transmission.

[0188] This disclosure provides a detailed description of embodiments in conjunction with specific application scenarios.

[0189] like Figure 11 The diagram shown is another flowchart illustrating the data packet transmission method provided in this disclosure. In this embodiment, the data packet transmission method provided in this disclosure will be described in detail by applying the method to a data transmission network. The data transmission network includes a data sending node, a data receiving node, and multiple target intermediate nodes. The data sending node is defined as a server, the data receiving node as a client, and the target intermediate nodes as key nodes. This embodiment uses three key nodes as examples, and defines the three key nodes as key node 1, key node 2, and key node 3.

[0190] Step 1101: The server receives the message request sent by the client and determines the target data resource based on the message request.

[0191] In this embodiment, the message request includes a resource identifier code that identifies the requested data resource, so as to determine the target data resource from the pre-set data resources based on the resource identifier code. It should be noted that a server is a unit of resource storage, and resources can be traffic resources, storage resources, file resources, cloud resources, etc. This embodiment does not specifically limit the type of resource. Specifically, if the target data resource is a cloud resource, and the cloud resource can realize data computation, storage, processing, and sharing, for example, it is used in video websites, image websites, or more portal websites.

[0192] Step 1102: The server identifies whether the resource category of the target data resource is a small file category.

[0193] The data packet transmission method of this disclosure offers a significant efficiency improvement when applied to the field of small file transmission. Therefore, after identifying the target data resource, it is necessary to determine whether the target data resource is a small file. It should be noted that a small file can refer to a target data resource whose size is less than a preset threshold, or it can be defined as a target data resource whose transmission time is less than a preset duration. The definition of a small file is primarily related to the network data transmission performance of the current environment; that is, if network transmission performance improves in the future, a target data resource currently defined as a large file may also become a small file in the future. Therefore, in the embodiments of this disclosure, the resource category of the target data resource is determined as a small file based on whether the resource size is greater than a preset threshold, the transmission time of the target data resource is less than a preset duration, and whether the purpose of the target data resource is a preset purpose. Furthermore, the preset threshold, preset duration, and preset purpose can all be determined according to changing network data transmission performance.

[0194] For example, the resource size of the target data resource to be sent can be defined as `file_size` for judgment: if `file_size` is less than a preset threshold `file_size_threshold`, then the resource category of the target data resource to be sent belongs to the small file category. Alternatively, if the preset purpose is defined as sending web pages and advertisements, and it is determined that the target data resource is used for sending web pages, advertisements, or similar services, then the resource category of the target data resource to be transmitted is determined to be the small file category. Therefore, by setting multiple methods for determining the resource category of target data resources, the flexibility of resource category determination can be improved.

[0195] Step 1103: If the resource category is small file, the server adds message category tag information and preset message transmission tag information to the target data resource to obtain the target data message.

[0196] In this embodiment, when the resource category is determined to be a small file category, it indicates that the target data resource can be backed up, cached, and retransmitted using critical nodes. This improves the transmission efficiency of the target data resource, reducing latency even in the event of packet loss. Therefore, to facilitate subsequent critical nodes in quickly determining whether the resource category of the target data resource is a small file category, a message category tag is added to the message of the target data resource. It should be noted that because the resource category is determined to be a small file category, the added message category tag is a "small file identifier." That is, if the message of the target data resource is determined to be pkt_traffic, tiny_file_mark = 1 is added to pkt_traffic to indicate that the resource category of the target data resource is a small file category, allowing subsequent critical nodes to quickly identify it.

[0197] As previously disclosed, after adding a message category tag information represented as a "small file identifier" to the message of the target data resource, in order to clarify the transmission path of the target data resource, it is necessary to add message transmission tag information to the message of the target data resource to obtain the target data message. It should be noted that the message transmission tag information includes the source information, destination information, source node information, and delivery node information of the target data message. The source information represents the information of the previous node of the target data message, the destination information represents the information of the next node to which the target data message needs to be transmitted, the source node information is the node information at which the target data message was first sent, and the delivery node information represents the node information at which the target data message was finally received. Therefore, when the target data message is sent from the server, the next critical node of the server is critical node 1. In this case, the source node information and the source information are the same, both being the data sending node information; the destination information is the node information of critical node 1; and the delivery node information is the node information of the server.

[0198] Step 1104: Critical node 1 receives the complete target data packet sent by the data sending node and forwards it to critical node 2.

[0199] In the embodiments of this disclosure, after the server sends a target data packet to critical node 1, critical node 1 performs statistical analysis on the received target data packet information to obtain data packet statistics, and feeds the data packet statistics back to the server. The server then uses the data packet statistics to assess whether the data packet received by critical node 1 is complete. Specifically, the data statistics are the sequence of received data packet numbers. Therefore, the server identifies whether the sent packet number is the same as the received packet number by critical node 1 based on the data packet number sequence, that is, confirms that critical node 1 has received a complete data packet. The data sending node then feeds back a third message confirmation to critical node 1. Therefore, after receiving the third message confirmation, critical node 1 caches the target data packet in its local cache and forwards the target data packet to critical node 2.

[0200] It should be noted that after the critical node 1 forwards the target data packet, the source and destination information in the target data packet will change, so that the critical node 2 can know the source and destination of the packet after receiving it.

[0201] Step 1105: Key Node 2 identifies the message category tag information of the target data message. After determining that the message category of the target data message is the preset message category, the message transmission tag information in the target data message is updated to obtain the updated data message.

[0202] In this embodiment, after receiving the target data packet, the key node 2 obtains the packet category label information from the target data packet and identifies the packet category of the target data packet based on the packet category label information. The key node 2 compares the target packet category with a preset packet category, where the preset packet category is a small file category. If the target packet category is also a small file category, the target data packet is cached in the local cache area. Specifically, identifying the packet category label information, i.e., determining whether tiny_file_mark equals 1, if tiny_file_mark = 1, it indicates that the packet category of the target data packet is a small file category, and the key node 2 can cache the target data packet and perform packet loss detection. It should be noted that if the identified packet category of the target data packet is not a small file category, the key node 2 forwards the target data packet to the next-hop node, and the next-hop node can be the key node 3 or an intermediate node.

[0203] As previously disclosed, after key node 2 caches the target data packet, it updates the packet transmission tag information of the target data packet, that is, it modifies the source and destination information within the packet transmission tag information. When key node 2 sends the data packet, the source information changes from the port and address of key node 1 to the port and address of key node 2, and the destination information also changes from the port and address of key node 2 to the port and address of key node 3. Therefore, each time a data packet is forwarded, the source and destination information within the packet transmission tag information is updated synchronously, so that the sending intermediate node can accurately send the data packet, and the receiving intermediate node can also determine the source of the data packet, so as to accurately provide feedback when performing packet confirmation.

[0204] Step 1106: Key node 3 collects the received update data packets based on the statistical periodic information to obtain data packet statistics information.

[0205] The statistical periodicity information can be either a statistical duration or a statistical quantity. That is, after receiving multiple updated data packets within the statistical duration, the data packet information of the received updated data packets is statistically analyzed to obtain data packet statistics. Alternatively, after receiving a statistically significant number of updated data packets, statistics are performed to obtain data packet statistics. Therefore, this embodiment uses either a statistical duration or a statistical quantity to statistically analyze the received data packet information, eliminating the need to provide data packet statistics feedback for each received packet. This not only reduces the frequency of data packet statistics feedback and saves detection resources consumed in packet loss detection, but also ensures the accuracy of packet loss detection.

[0206] Step 1107: Key node 2 receives data packet statistics information and performs packet loss detection based on the data packet statistics information and backup data packets to obtain packet loss detection results.

[0207] In the embodiments of this disclosure, when critical node 2 receives data packet statistics information fed back by critical node 3, it detects whether node 3 has received a complete data packet based on the data packet statistics information and backup data packets. Specifically, the statistical number or statistical duration of data packets received by critical node 3 is extracted from the data packet statistics information. Based on the statistical number or statistical duration, the corresponding backup packet number is determined from the backup data packets to obtain a first packet number sequence. The packet number received by critical node 3 is determined from the data packet statistics information to obtain a second packet number sequence. After determining the first packet number sequence sent by critical node 2 to critical node 3 and the second packet number sequence received by critical node 3, the first packet number sequence and the second packet number sequence are matched. If the first packet number sequence and the second packet number sequence match, it indicates that critical node 3 has received a complete data packet, and the packet loss detection result is that there is no packet loss. Conversely, if the first packet number sequence and the second packet number sequence do not match, the packet loss detection result is that there is packet loss. Therefore, by comparing the sequence of message numbers sent and received at key nodes, the packet loss detection result can be determined, making the packet loss detection result determination operation simple and accurate. It can also efficiently provide packet loss feedback without waiting for the data receiving node to provide feedback on whether packet loss has occurred, thus saving the latency of packet loss feedback.

[0208] Step 1108: If the packet loss detection result indicates that packet loss exists, the critical node 2 determines the retransmitted data from the backup data packets.

[0209] In the embodiments of this disclosure, if the packet loss detection result indicates packet loss, it signifies that the critical node 2 has not received a complete data packet, meaning the first packet number sequence and the second packet number sequence do not match. Therefore, it is necessary to determine the retransmission data to be retransmitted. It should be noted that determining the retransmission data specifically involves first determining the numbering difference between the first and second packet number sequences. The numbering difference refers to the packet numbers that differ between the first and second packet number sequences, i.e., the packet numbers of the data packets that the critical node 3 has not received. The packet number of the backup data packet is obtained as the backup packet number. Then, based on the numbering difference, the missing packet number sequence is determined. The missing packet number sequence includes at least one missing packet number. Therefore, the backup data packet with the same backup packet number and missing packet number is used as the retransmission data. Therefore, when packet loss is detected at a critical node, the corresponding data packet can be directly retrieved from the pre-cached backup data packet as retransmitted data without having to feed back to the data sending node to retransmit the data. This allows for quick determination and retransmission of retransmitted data in the event of packet loss, saving the latency caused by packet loss and thus improving the efficiency of data transmission.

[0210] Step 1109: Critical node 2 sends the retransmitted data to critical node 3 and receives the second message confirmation information from critical node 3.

[0211] In this process, after key node 2 retransmits the retransmitted data to key node 3, key node 3 also needs to determine whether the retransmitted data is lost. Specifically, key node 3 determines the retransmitted data number. If the retransmitted number is the same as the missing packet number, it indicates that the retransmitted data is correct. Therefore, key node 3 will send a second confirmation message back to key node 2, indicating that key node 3 has received the complete data packet. If a transmission failure occurs between key node 2 and key node 3, causing key node 2 to not receive the retransmitted data for an extended period, or to receive empty retransmitted data, then key node 2 will retransmit the retransmitted data again until it receives the second confirmation message from key node 3.

[0212] It should be noted that after the critical node 2 sends the retransmitted data, it starts timing to obtain the waiting time. If the waiting time exceeds the preset time, the critical node 2 will report back to the data receiving node so that the network transmission failure can be repaired in time or the transmission path can be updated to ensure that the data receiving node can receive the data in time.

[0213] Step 1110: If the second message confirms that the retransmitted data has been received, the critical node 2 will clean up the backup data message.

[0214] In the embodiments of this disclosure, if the retransmission operation of critical node 2 is successful, that is, after critical node 3 receives the complete data packet, the backup data packet cached in critical node 2 no longer needs to be retransmitted. This means that continuing to store the backup data packet, which indicates that it has been completely sent, would waste storage space. Therefore, after receiving the second message confirmation information, critical node 2 will clear the backup data packet pre-cached in its local cache to free up storage space for newly received data packets. Specifically, in this embodiment, the target data packet is retrieved from the backup data packet according to the first message number sequence, and the target data packet is cleared to save local cache space and allow other newly received data packets to be cached quickly.

[0215] Step 1111: Key node 3 will receive the complete data packet and send it to the client.

[0216] It should be noted that when critical node 3 receives the retransmitted data, it adds the retransmitted data to the already received data packet to obtain a complete data packet. Therefore, critical node 3 will cache the complete data packet and forward it to the data receiving node. Specifically, after the data receiving node receives the data packet, it will also send back the corresponding data packet statistics to critical node 3. The critical node will also perform packet loss detection based on the data packet statistics and the pre-backed-up data packet. The specific operation of packet loss detection is the same as that of critical node 2, and will not be repeated here. If the detection fails to receive the complete data packet, critical node 3 will continue to perform packet loss retransmission. The operation of packet loss retransmission by critical node 3 is the same as that of critical node 2, and will not be repeated here. It should be further noted that after critical node 3 completes packet loss retransmission, the data receiving node completes the data packet reception and sends back a fourth message confirmation to the data sending node so that the data sending node can confirm that the target data resource has been accurately sent to the data receiving node, completing the transmission operation of the target data resource.

[0217] The data packet transmission method provided in this disclosure involves a joint operation of the data sending node, data receiving node, and target intermediate node to complete packet loss retransmission. Key nodes are primarily responsible for data packet caching, packet loss detection, and retransmission. Instead of requiring the data receiving node to confirm packet loss before the data sending node initiates retransmission, the target intermediate node automatically performs packet loss detection and retransmission. This reduces the probability of packet loss retransmission by the data sending node, thereby reducing the high latency caused by packet loss retransmission, optimizing performance loss during data resource transmission, improving data resource transmission efficiency, and ultimately reducing data resource stream completion time.

[0218] Description of apparatus and devices according to embodiments of this disclosure.

[0219] It is understood that although the steps in the above flowcharts are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated in this embodiment, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the above flowcharts may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages in other steps.

[0220] It should be noted that in the various specific embodiments of this disclosure, when processing is required based on data related to the characteristics of the target object, such as target object attribute information or a set of attribute information, the permission or consent of the target object will be obtained first. Furthermore, the collection, use, and processing of this data will comply with the relevant laws, regulations, and standards of the relevant regions. In addition, when this application embodiment needs to obtain target object attribute information, separate permission or consent from the target object will be obtained through pop-up windows or redirection to a confirmation page. Only after obtaining the target object's separate permission or consent will the necessary target object-related data for the normal operation of this application embodiment be obtained.

[0221] Figure 12 This is a schematic diagram of a data packet transmission apparatus provided in an embodiment of the present disclosure. The data packet transmission apparatus is applied to a first target intermediate node in a data transmission network. The data transmission network includes a data sending node, a data receiving node, and multiple target intermediate nodes. The data packet transmission apparatus 1100 includes:

[0222] The receiving unit 1210 is used to receive data packet statistics information sent by the second target intermediate node. The data packet statistics information indicates the data packet information received by the second target intermediate node. The second target intermediate node is the target intermediate node that is one hop after the first target intermediate node in the target data stream. The target data stream is the data stream in which data packets are sent from the data sending node to the data receiving node.

[0223] The packet loss detection unit 1220 is used to perform packet loss detection based on data packet statistics and backup data packets to obtain packet loss detection results. The backup data packets are received from the third target intermediate node and confirmed as complete data packets by the third target intermediate node. The third target intermediate node is the target intermediate node that is one hop before the first target intermediate node in the target data stream.

[0224] The retransmission data determination unit 1230 is used to determine the retransmission data that needs to be retransmitted when the packet loss detection result indicates that packet loss exists.

[0225] The data retransmission unit 1240 is used to send retransmitted data to the second target intermediate node.

[0226] Optionally, in some embodiments, the packet loss detection unit 1220 includes:

[0227] The first information acquisition subunit is used to obtain statistical period information from the statistical information of data packets;

[0228] The first information confirmation subunit is used to determine the reference message statistics information of the data message to be sent to the second target intermediate node in the backup data message based on the statistical period information.

[0229] The first packet loss detection subunit is used to perform packet loss detection based on reference message statistics and data message statistics to obtain packet loss detection results.

[0230] Optionally, in some embodiments, the first packet loss detection subunit includes:

[0231] The first sequence generation module is used to determine the first message number sequence of data messages that have been transmitted to the second target intermediate node based on the reference message statistics information.

[0232] The second sequence generation module is used to determine the second message number sequence of the data messages received by the second target intermediate node based on the data message statistics information.

[0233] The comparison module is used to determine the packet loss detection result based on the comparison result of the first message number sequence and the second message number sequence.

[0234] Optionally, in some embodiments, the retransmission data determination unit 1230 includes:

[0235] The numbering difference determination subunit is used to determine the numbering difference between the first message numbering sequence and the second message numbering sequence when the first message numbering sequence does not match the second message numbering sequence.

[0236] The retransmission data determination subunit is used to determine the retransmission data that needs to be retransmitted based on the numbering difference.

[0237] Optionally, in some embodiments, the data packet transmission apparatus provided in this disclosure further includes:

[0238] The first receiving unit is used to receive the first message confirmation information fed back by the intermediate node of the third target;

[0239] The message category identification unit is used to identify the message category of the target data message if the first message confirmation information indicates that the target data message has not been lost, and to obtain the target message category; the target data message is a data message sent by the data sending node to the data receiving node;

[0240] The caching unit is used to cache the target data packet if the target packet type is the same as the preset packet type, so as to obtain a backup data packet.

[0241] Optionally, in some embodiments, the message category identification unit includes:

[0242] The category tag acquisition subunit is used to acquire the message category tag information of the target data message; the message category tag information is set by the data sending node when the message category of the target data message is determined to be a preset message category;

[0243] The category identification subunit is used to identify the category of the target data message based on the message category label information to obtain the target message category.

[0244] Optionally, in some embodiments, the category label acquisition sub-unit includes:

[0245] The first category label setting module is used to obtain the message space occupied by the target data message. If the message space occupied is less than the preset space, the message category of the target data message is determined to be the preset message category.

[0246] The second category label setting module is used to obtain the message function information of the target data message, and determine the message category of the target data message as the preset message category based on the message function information as the preset function information.

[0247] Optionally, in some embodiments, the data packet transmission apparatus provided in this disclosure further includes:

[0248] The information receiving unit is used to receive the second message confirmation information fed back by the intermediate node of the second target;

[0249] The cleaning unit is used to perform a cleaning operation on the backup data message if the second message confirmation information indicates that the retransmitted data has been received.

[0250] Optionally, in some embodiments, the cleaning unit includes:

[0251] The message filtering subunit is used to filter out the target data message from the backup data message based on the difference in number;

[0252] The cleanup subunit is used to perform cleanup operations on the target data packet.

[0253] Optionally, in some embodiments, the data retransmission unit 1240 includes:

[0254] The node filtering subunit is used to filter out the second target intermediate node from multiple target intermediate nodes based on the second node information;

[0255] The retransmission data sending subunit is used to send retransmission data to the second target intermediate node.

[0256] Optionally, in some embodiments, the data packet transmission apparatus provided in this disclosure further includes:

[0257] The transmission tag generation unit is used to generate message transmission tag information based on preset first node information and second node information; the first node information is the information of the first target intermediate node.

[0258] The tag adding unit is used to add message transmission tag information to the target data packet to obtain an updated data packet;

[0259] The message sending unit is used to send update data messages to the second target intermediate node.

[0260] Reference Figure 13 , Figure 13 To implement the structural block diagram of a terminal 150 for transmitting data packets according to an embodiment of this disclosure, the terminal 150 includes: a radio frequency (RF) circuit 1310, a memory 1315, an input unit 1330, a display unit 1340, a sensor 1350, an audio circuit 1360, a wireless fidelity (WiFi) module 1370, a processor 1380, and a power supply 1390, etc. Those skilled in the art will understand that... Figure 13 The terminal 150 structure shown does not constitute a limitation on a mobile phone or computer and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0261] The RF circuit 1310 can be used to receive and transmit signals during information transmission or calls. In particular, it receives downlink information from the base station and processes it with the processor 1380; in addition, it transmits uplink data to the base station.

[0262] The memory 1315 can be used to store software programs and modules. The processor 1380 executes various functional applications and data processing of the terminal 150 by running the software programs and modules stored in the memory 1315.

[0263] The input unit 1330 can be used to receive input numeric or character information, and to generate key signal inputs related to the settings and function control of the terminal 150. Specifically, the input unit 1330 may include a touch panel 1331 and other input devices 1332.

[0264] The display unit 1340 can be used to display input or provided information, as well as various menus of the terminal 150. The display unit 1340 may include a display panel 1341.

[0265] Audio circuitry 1360, speaker 1361, and microphone 1362 provide an audio interface.

[0266] In this embodiment, the processor 1380 included in the terminal 150 can execute the data packet transmission method of the previous embodiment.

[0267] The terminal 150 in this disclosure includes, but is not limited to, mobile phones, computers, intelligent voice interaction devices, smart home appliances, vehicle terminals, and aircraft. This invention can be applied to various scenarios, including but not limited to cloud technology, artificial intelligence, smart transportation, and assisted driving.

[0268] Figure 14 This is a partial structural block diagram of a server 160 implementing an embodiment of the present disclosure (the invention title). The server 160 can vary significantly due to different configurations or performance characteristics, and may include one or more central processing units (CPUs) 1422 (e.g., one or more processors) and memory 1412, and one or more storage media 1430 (e.g., one or more mass storage devices) storing application programs 1442 or data 1444. The memory 1412 and storage media 1430 may be temporary or persistent storage. The program stored in the storage media 1430 may include one or more modules (not shown in the figure), each module including a series of instruction operations on the server 160. Furthermore, the CPU 1422 may be configured to communicate with the storage media 1430 and execute the series of instruction operations in the storage media 1430 on the server 160.

[0269] Server 160 may also include one or more power supplies 1426, one or more wired or wireless network interfaces 1450, one or more input / output interfaces 1458, and / or one or more operating systems 1441, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.

[0270] The processor in server 160 can be used to execute the data packet transmission method of the present disclosure embodiments.

[0271] This disclosure also provides a storage medium for storing program code for executing the data packet transmission methods of the foregoing embodiments.

[0272] This disclosure also provides a computer program product comprising a computer program. A processor of a computer device reads and executes the computer program, causing the computer device to perform the data packet transmission method described above.

[0273] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in this disclosure and the foregoing drawings are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this disclosure described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “including,” and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that includes a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatuses.

[0274] It should be understood that in this disclosure, "at least one item" means one or more, and "more than one" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.

[0275] It should be understood that in the description of the embodiments disclosed herein, "multiple" means two or more, "greater than", "less than", "exceeding" etc. are understood to exclude the number itself, and "above", "below", "within" etc. are understood to include the number itself.

[0276] In the several embodiments provided in this disclosure, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces, indirect coupling or communication connection between apparatuses or units, and may be electrical, mechanical, or other forms.

[0277] 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 units can be selected to achieve the purpose of this embodiment according to actual needs.

[0278] Furthermore, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0279] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the prior art, or all or 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 disclosure. 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.

[0280] It should also be understood that the various implementation methods provided in this disclosure can be combined arbitrarily to achieve different technical effects.

[0281] The above is a detailed description of the embodiments of this disclosure. However, this disclosure is not limited to the above embodiments. Those skilled in the art can make various equivalent modifications or substitutions without departing from the spirit of this disclosure. All such equivalent modifications or substitutions are included within the scope defined by the claims of this disclosure.

Claims

1. A method for transmitting data packets, characterized in that, The method is applied to a first target intermediate node in a data transmission network, the data transmission network including a data sending node, a data receiving node, and multiple target intermediate nodes, the method comprising: The system receives statistical information on data packets sent by a second target intermediate node. The statistical information indicates the data packet information received by the second target intermediate node. The second target intermediate node is the target intermediate node that is one hop after the first target intermediate node in the target data stream. The target data stream is the data stream in which the data sending node sends data packets to the data receiving node. Packet loss detection is performed based on the statistical information of the data packets and the backup data packets to obtain the packet loss detection result. The backup data packets are received from the third target intermediate node and confirmed as complete data packets by the third target intermediate node. The third target intermediate node is the target intermediate node that is one hop before the first target intermediate node in the target data stream. When the packet loss detection result indicates that packet loss exists, the data to be retransmitted is determined. The retransmitted data is sent to the second target intermediate node.

2. The method according to claim 1, characterized in that, The step of performing packet loss detection based on the data packet statistics and backup data packets to obtain packet loss detection results includes: Obtain statistical period information from the statistical information of the data packets; Based on the statistical period information, determine the reference message statistics information of the data message sent to the second target intermediate node in the backup data message; Packet loss detection is performed based on the reference message statistics and the data message statistics to obtain the packet loss detection result.

3. The method according to claim 2, characterized in that, The step of performing packet loss detection based on the reference message statistics and the data message statistics to obtain the packet loss detection result includes: Based on the reference message statistics, determine the first message number sequence of the data messages that have been transmitted to the second target intermediate node; Based on the data packet statistics, determine the second message number sequence of the data packets received by the second target intermediate node; The packet loss detection result is determined based on the comparison result between the first message number sequence and the second message number sequence.

4. The method according to claim 3, characterized in that, When the packet loss detection result indicates that packet loss exists, the retransmission data that needs to be retransmitted includes: When the first message number sequence does not match the second message number sequence, the numbering difference between the first message number sequence and the second message number sequence is determined; The retransmitted data that needs to be retransmitted is determined based on the difference in the number.

5. The method according to any one of claims 1 to 4, characterized in that, Before performing packet loss detection based on the data packet statistics and backup data packets to obtain the packet loss detection result, the method further includes: Receive the first message confirmation information fed back by the third target intermediate node; If the first message confirmation information indicates that the target data message has not been lost, the target data message is identified by message type to obtain the target message type; the target data message is the data message sent by the data sending node to the data receiving node. If the target message type is the same as the preset message type, the target data message is cached to obtain the backup data message.

6. The method according to claim 5, characterized in that, The step of identifying the target data packet category to obtain the target packet category includes: Obtain the message category tag information of the target data message; the message category tag information is set by the data sending node when it determines that the message category of the target data message is the preset message category; The target data packet is identified by classifying it according to the packet category label information to obtain the target packet category.

7. The method according to claim 6, characterized in that, The setting when determining the message type of the target data message to be the preset message type includes any one of the following: Obtain the packet space occupied by the target data packet; if the packet space occupied is less than the preset space occupied, determine the packet type of the target data packet as the preset packet type. Obtain the message function information of the target data message, and determine the message category of the target data message as the preset message category based on the message function information being preset function information.

8. The method according to claim 4, characterized in that, After sending the retransmitted data to the second target intermediate node, the method further includes: Receive the second message confirmation information fed back by the second target intermediate node; If the second message confirmation indicates that the retransmitted data has been received, a cleanup operation is performed on the backup data message.

9. The method according to claim 8, characterized in that, The cleanup operation on the backup data packets includes: The target data packet is selected from the backup data packets based on the number difference; Perform a cleanup operation on the target data packet.

10. The method according to claim 5, characterized in that, The data packet statistics information further includes: packet transmission tag information, which includes: second node information; sending the retransmitted data to the second target intermediate node includes: The second target intermediate node is selected from the plurality of target intermediate nodes based on the second node information; The retransmitted data is sent to the second target intermediate node.

11. The method according to claim 10, characterized in that, Before receiving the statistical information of the data packets sent by the second target intermediate node, the method further includes: The message transmission tag information is generated based on the preset first node information and second node information; the first node information is the information of the first target intermediate node; The message transmission tag information is added to the target data packet to obtain an updated data packet; The update data message is sent to the second target intermediate node.

12. A data packet transmission apparatus, characterized in that, An apparatus for use as a first target intermediate node in a data transmission network, the data transmission network including a data sending node, a data receiving node, and multiple target intermediate nodes, the apparatus comprising: The receiving unit is configured to receive data packet statistics information sent by the second target intermediate node. The data packet statistics information indicates the data packet information received by the second target intermediate node. The second target intermediate node is the target intermediate node that is one hop after the first target intermediate node in the target data stream. The target data stream is the data stream in which the data sending node sends data packets to the data receiving node. The packet loss detection unit is used to perform packet loss detection based on the data packet statistics and backup data packets to obtain packet loss detection results. The backup data packets are received from the third target intermediate node and confirmed as complete data packets by the third target intermediate node. The third target intermediate node is the target intermediate node that is one hop before the first target intermediate node in the target data stream. The retransmission data determination unit is used to determine the retransmission data that needs to be retransmitted when the packet loss detection result indicates that packet loss exists. The data retransmission unit is used to send the retransmitted data to the second target intermediate node.

13. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the data packet transmission method according to any one of claims 1 to 11.

14. A storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it implements the data packet transmission method according to any one of claims 1 to 11.

15. A computer program product comprising a computer program that is read and executed by a processor of a computer device, causing the computer device to perform the data packet transmission method according to any one of claims 1 to 11.