Network transmission method, readable storage medium and intelligent device

By employing a combination of UDP multicast and TCP transmission channels in advanced driver assistance systems, the problem of excessive network traffic and CPU overhead in autonomous driving scenarios is solved, achieving low-latency and high-reliability data transmission, which is suitable for network transmission in smart devices and smart vehicles.

WO2025252083A1PCT designated stage Publication Date: 2025-12-11ANHUI NIO AUTONOMOUS DRIVING TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/098859
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-03
Filing Date
2025-06-03
Publication Date
2025-12-11

AI Technical Summary

Technical Problem

In advanced driver assistance systems, existing TCP or UDP unicast communication schemes suffer from excessive traffic overhead and increased latency in autonomous driving scenarios with limited network and computing resources. In particular, in scenarios where multiple SoCs send and receive multiple packets of traffic, repeated sending and receiving leads to increased network traffic and CPU overhead. Furthermore, the reliability and ease of use of DDS multicast communication are still insufficient.

Method used

A UDP multicast transmission channel is used for one-to-many unidirectional data transmission, combined with a TCP transmission channel for frame loss response and retransmission. The UDP multicast transmission channel achieves low traffic and low latency, while the TCP transmission channel maintains connection relationships and ensures data reliability.

Benefits of technology

It achieves lower CPU overhead, traffic and latency in autonomous driving scenarios, while ensuring the reliability of the transmission process. It combines the advantages of UDP multicast and TCP transmission, reducing network traffic and CPU utilization, and improving the stability and reliability of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025098859_11122025_PF_FP_ABST
    Figure CN2025098859_11122025_PF_FP_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of communications, and specifically relates to a network transmission method, a readable storage medium and an intelligent device, which aim to solve the technical problem of how to achieve lower traffic, lower CPU overheads and lower latency on the premise of ensuring the reliability of a network transmission process. To this end, in the present application, a sending end is in communication connection with a receiving end by means of a UDP multicast transmission channel and a TCP transmission channel, wherein the UDP multicast transmission channel is a one-to-many one-way communication channel based on a UDP transmission protocol, and the TCP transmission channel is a one-to-one two-way communication channel based on a TCP transmission protocol. The UDP multicast transmission channel is used for transmitting sent transmission data to at least one receiving end, the TCP transmission channel is used for feeding back a frame loss acknowledgment response to the sending end when the receiving end detects a frame loss of the transmission data, and the sending end re-transmits transmission data corresponding to the frame loss answer response. The advantages of TCP transmission and UDP multicast transmission are effectively combined, thereby ensuring the reliability of a transmission process, and saving on traffic and CPU overheads.
Need to check novelty before this filing date? Find Prior Art

Description

Network transmission method, readable storage medium and intelligent device The present application claims priority to Chinese Patent Application CN 202410714011.X entitled "Network transmission method, readable storage medium and intelligent device" filed on June 03, 2024, the entire contents of which are incorporated herein by reference. TECHNICAL FIELD

[0001] The present application relates to the field of communication technology, in particular to a network transmission method, a readable storage medium and an intelligent device. BACKGROUND

[0002] With the increasing attention on advanced driver assistance system functions, the importance of communication middleware as a core basic component is increasingly prominent. In the current ADAS (Advanced Driving Assistance System) system, most communication middleware adopts a TCP (Transmission Control Protocol) or UDP (User Datagram Protocol) unicast communication scheme, and the sending and receiving of messages are one-to-one in the kernel layer. Although this scheme can meet the basic message sending and receiving needs, it has the problem of excessive overhead in the automatic driving scene with limited network and computing resources and large business volume, especially in the one-to-many sending and receiving scene between multiple SOCs (system on chips), which leads to the increase of network traffic, CPU (Central Processing Unit) overhead and Latency (delay). Some DDS (Data Distribution Service) vendors have extended support for multicast communication, but there are still problems with its reliability, scalability and ease of use.

[0003] Accordingly, there is a need in the art for a new network transmission scheme to solve the above problems. SUMMARY

[0004] In order to overcome the above-mentioned defects, the present application is proposed to solve or at least partially solve the technical problem of how to achieve lower traffic, lower CPU overhead and lower latency under the premise of ensuring the reliability of the network transmission process.

[0005] In a first aspect, a network transmission method is provided, the method being applied to a sending end, and the method comprising:

[0006] transmitting the transmission data to at least one receiving end based on a UDP multicast transmission channel; the sending end and the receiving end are communicatively connected through the UDP multicast transmission channel and a TCP transmission channel; the UDP multicast transmission channel is a one-to-many unidirectional communication channel based on a UDP transmission protocol; and the TCP transmission channel is a one-to-one bidirectional communication channel based on a TCP transmission protocol.

[0007] in response to a frame loss response sent by the receiving end to the sending end through the TCP transmission channel, retransmitting transmission data corresponding to the frame loss response to the receiving end based on the TCP transmission channel; the frame loss response is feedback information sent by the receiving end to the sending end when the receiving end detects that the transmission data has frame loss.

[0008] In one of the above technical solutions of the network transmission method, the sending end comprises a cache unit configured to cache transmission data that has been transmitted based on the UDP multicast transmission channel.

[0009] The retransmission of the transmission data corresponding to the frame loss response to the receiving end based on the TCP transmission channel comprises:

[0010] obtaining the transmission data corresponding to the frame loss response from the cache unit, and retransmitting the transmission data to the receiving end based on the TCP transmission channel.

[0011] In one of the above technical solutions of the network transmission method, the method further comprises:

[0012] when the transmission data corresponding to the frame loss response is lost, sending a transmission data vacancy response to the sending end based on the TCP transmission channel.

[0013] In a second aspect, another network transmission method is provided, which is applied to a receiving end and comprises:

[0014] receiving transmission data sent by a sending end through a UDP multicast transmission channel; the sending end and the receiving end are communicatively connected through the UDP multicast transmission channel and a TCP transmission channel; the UDP multicast transmission channel is a one-to-many unidirectional communication channel based on a UDP transmission protocol; and the TCP transmission channel is a one-to-one bidirectional communication channel based on a TCP transmission protocol.

[0015] when detecting that the transmission data has frame loss, sending a frame loss response to the sending end through the TCP transmission channel; and receiving transmission data corresponding to the frame loss response retransmitted by the sending end based on the TCP transmission channel.

[0016] In one of the technical solutions of the network transmission method, the transmission data comprises data frames, and each data frame comprises a data frame number.

[0017] When it is detected that the transmission data has frame loss, a frame loss response is sent to the sending end through the TCP transmission channel.

[0018] When it is detected that the data frame number of the current received transmission data is not continuous with the data frame number of the previous received transmission data, a frame loss response is sent to the sending end through the TCP transmission channel.

[0019] In one of the technical solutions of the network transmission method, the method further comprises:

[0020] If the data frame number of the current received transmission data is not continuous with the data frame number of the previous received transmission data, the current received transmission data is buffered to wait for the receiving end to retransmit the transmission data corresponding to the frame loss response.

[0021] In one of the technical solutions of the network transmission method, after the frame loss response is sent to the sending end through the TCP transmission channel, the method further comprises:

[0022] When the transmission data gap response sent by the sending end based on the TCP transmission channel is received, it is determined that the transmission data corresponding to the frame loss response has frame loss, and the transmission data corresponding to the frame loss response is no longer waited for.

[0023] In one of the technical solutions of the network transmission method, the transmission data further comprises data segments, and a plurality of data segments are spliced into a data frame, wherein each data segment comprises a frame number of the data frame and a segment sequence number in the data frame.

[0024] The transmission data sent by the sending end is received, and the received transmission data is spliced according to the segment sequence number to obtain the data frame.

[0025] The data segment is received, and the received data segment is spliced according to the segment sequence number to obtain the data frame.

[0026] In one of the technical solutions of the network transmission method, the transmission data sent by the sending end is received, and the received transmission data is spliced according to the segment sequence number to obtain the data frame.

[0027] If the received transmission data is continuous with the data frame number of the previous frame, the received transmission data is sent to the upper layer user of the receiving end.

[0028] If the received transmission data is continuous with the data frame number of the previous frame, the received transmission data is sent to the upper layer user of the receiving end.

[0029] In a third aspect, a third network transmission method is provided, the method comprising:

[0030] transmitting data by a sending end to at least one receiving end via a UDP multicast transmission channel; the sending end and the receiving end are communicatively connected via the UDP multicast transmission channel and a TCP transmission channel; the UDP multicast transmission channel is a one-way communication channel based on a UDP transmission protocol and is one-to-many; the TCP transmission channel is a two-way communication channel based on a TCP transmission protocol and is one-to-one;

[0031] receiving the transmission data by the receiving end;

[0032] when the receiving end detects that the transmission data has frame loss, sending a frame loss response to the sending end by the receiving end via the TCP transmission channel;

[0033] retransmitting the transmission data corresponding to the frame loss response to the receiving end by the sending end based on the TCP transmission channel in response to the frame loss response;

[0034] receiving the retransmitted transmission data by the receiving end.

[0035] In a fourth aspect, an intelligent device is provided, comprising at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores a computer program, and the computer program is executed by the at least one processor to implement the method of any one of the technical solutions of the network transmission method described above.

[0036] In a fifth aspect, a computer readable storage medium is provided, which stores a plurality of program codes therein, and the program codes are adapted to be loaded and run by a processor to execute the method of any one of the technical solutions of the network transmission method described above.

[0037] The above one or more technical solutions of the present application have at least one or more of the following beneficial effects:

[0038] In the implementation of the network transmission technical solution provided in the present application, the sending end and the receiving end are communicatively connected through a UDP multicast transmission channel and a TCP transmission channel. The UDP multicast transmission channel is a one-to-many unidirectional communication channel based on the UDP transmission protocol. The TCP transmission channel is a one-to-one bidirectional communication channel based on the TCP transmission protocol. The UDP multicast transmission channel is used to transmit the transmitted transmission data to at least one receiving end. The TCP transmission channel is used to feed back a frame loss response to the sending end when the receiving end detects frame loss of the transmission data, and the sending end retransmits the transmission data corresponding to the frame loss response. Through the above configuration mode, the present application effectively utilizes the advantages of low CPU overhead, low delay and traffic saving of the one-to-many transmission process based on the UDP multicast transmission channel. At the same time, the connection relationship between the sending end and the receiving end is maintained based on the TCP transmission channel, and the retransmission of the frame loss data can be ensured, thereby realizing the bottom line of the unreliable transmission of the UDP multicast transmission channel based on the TCP transmission channel, ensuring the reliability of the transmission process, and effectively combining the advantages of TCP transmission and UDP multicast transmission. BRIEF DESCRIPTION OF DRAWINGS

[0039] The disclosure of the present application will become more apparent with reference to the drawings. It is easily understood by those skilled in the art that the drawings are only for the purpose of illustration, and are not intended to constitute a limitation on the scope of protection of the present application. Among them:

[0040] Fig. 1 is a main step flow diagram of a network transmission method according to an embodiment of the present application;

[0041] Fig. 2 is a connection relationship diagram of the communicatively connected sending end and receiving end through the UDP multicast transmission channel and the TCP transmission channel according to an embodiment of the present application;

[0042] Fig. 3 is a main interaction process diagram of a network transmission method according to an embodiment of the present application;

[0043] Fig. 4 is a main interaction process diagram of the frame loss and retransmission process between the sending end and the receiving end according to an embodiment of the present application;

[0044] Fig. 5 is a main implementation strategy diagram of the receiving end for the order preservation of the transmission data according to an embodiment of the present application;

[0045] Fig. 6 is a main step flow diagram of the receiving end for the order preservation of the transmission data according to an embodiment of the present application;

[0046] Fig. 7 is a main structure diagram of a smart device according to an embodiment of the present application.

[0047] Reference signs:

[0048] 11: memory; 12: processor; 21: sending end; 22: receiving end. DETAILED DESCRIPTION

[0049] Some embodiments of the present application will be described below with reference to the accompanying drawings. Those skilled in the art will understand that these embodiments are only used to explain the technical principles of the present application, and are not intended to limit the protection scope of the present application.

[0050] In the description of the present application, "module" and "processor" can include hardware, software or a combination of both. A module can include hardware circuitry, various suitable sensors, communication ports, memories, and can also include a software part such as program code, and can be a combination of software and hardware. The processor can be a central processor, a microprocessor, an image processor, a digital signal processor or any other suitable processor. The processor has data and / or signal processing functions. The processor can be implemented in software, hardware or a combination of both. The computer-readable storage medium includes any suitable medium that can store program codes, such as a magnetic disk, a hard disk, an optical disk, a flash memory, a read-only memory, a random access memory, etc. The term "A and / or B" means all possible combinations of A and B, such as only A, only B or both A and B. The term "at least one of A or B" or "at least one of A and B" has a similar meaning as "A and / or B", and can include only A, only B or both A and B. The singular form of the term "one", "this" can also include the plural form.

[0051] The relevant user personal information that may be involved in the embodiments of the present application is strictly in accordance with the requirements of laws and regulations, and follows the principles of legality, legitimacy and necessity, and is based on the reasonable purpose of the business scene, and processes the personal information of the user that is actively provided by the user in the process of using the product / service or generated due to the use of the product / service, and authorized by the user.

[0052] The user personal information processed by the present application will be different due to the specific product / service scene, and the specific scene of the user using the product / service shall prevail, which may involve the user's account information, device information, driving information, vehicle information or other related information. The present application will treat the user's personal information and its processing with high diligence and obligation.

[0053] The present application attaches great importance to the security of user personal information, and has taken security protection measures in accordance with industry standards, which are reasonable and feasible to protect the user's information, prevent unauthorized access, public disclosure, use, modification, damage or loss of personal information.

[0054] Some terms related to the present application will be explained first.

[0055] Transmission Control Protocol (TCP) is a connection-oriented, reliable, byte-stream-based transport layer communication protocol.

[0056] User Datagram Protocol (UDP) provides a method for application programs to send encapsulated IP packets without establishing a connection. UDP transmission includes three transmission modes: unicast, broadcast and multicast.

[0057] Among them, the communication mode of multicast (MultiCast) one-to-one group, only the receiving end of the same group can receive all the data in the group.

[0058] Referring to FIG. 1, FIG. 1 is a schematic diagram of the main steps of the network transmission method according to an embodiment of the present application. As shown in FIG. 1, the network transmission method in the embodiment of the present application mainly includes the following steps S101 to S105.

[0059] Step S101: the sending end sends transmission data to at least one receiving end through a UDP multicast transmission channel; the sending end and the receiving end are connected in communication through a UDP multicast transmission channel and a TCP transmission channel; the UDP multicast transmission channel is a one-to-many unidirectional communication channel based on the UDP transmission protocol; and the TCP transmission channel is a one-to-one bidirectional communication channel based on the TCP transmission protocol.

[0060] In the embodiment, the sending end and the receiving end are connected in communication through a UDP multicast transmission channel and a TCP transmission channel. The UDP multicast transmission channel is a one-to-many unidirectional transmission connectionless communication channel, which is used to send transmission data (also referred to as "multicast data") from the sending end to the receiving end. The TCP transmission channel is a one-to-one bidirectional transmission communication channel, which is used to maintain the connection relationship between the sending end and the receiving end and retransmit data, etc. Among them, the UDP multicast transmission channel and the TCP transmission channel can be established based on the commonly used method in the prior art, which is not limited in the present application.

[0061] In one embodiment, the transmission data can include data frames (Data), data fragments (Frag), etc., wherein the data frame can include a data frame number, and the data fragment can include a data frame number and a fragment sequence number of the data fragment in the data frame.

[0062] In one embodiment, the sending end and the receiving end can be in the same local area network. In some cases, by extending the multicast routing of the UDP multicast transmission channel, the data transmission between the sending end and the receiving end can be realized across the local area network.

[0063] In an embodiment, the sending end and the receiving end can be different electronic devices capable of deploying an operating system. For example, in a smart driving application scenario, the sending end and the receiving end can be different smart driving computing platforms or system-on-chip (SOC), which can deploy an operating system.

[0064] Step S102: The receiving end receives the transmission data.

[0065] In this embodiment, the receiving end can receive the transmission data sent by the sending end based on a UDP multicast communication channel.

[0066] In an embodiment, if the transmission data is a data segment, the receiving end can splice the data segment of the receiving end into a data frame according to the data segment of the receiving end and the segment number of the data segment.

[0067] Step S103: When the receiving end detects that there is a frame loss in the transmission data, the receiving end sends a frame loss response to the sending end through a TCP transmission channel.

[0068] In this embodiment, the receiving end detects whether there is a frame loss in the received transmission data. If there is a frame loss, the receiving end sends a frame loss response (Nack) to the sending end through a TCP transmission channel to remind the sending end to retransmit the transmission data with the frame loss. That is, the receiving end does not need to send an acknowledgement response (Ack) for each frame of data. Only when there is a frame loss, the receiving end sends a frame loss response, effectively saving traffic and CPU overhead.

[0069] In an embodiment, if the transmission data received by the receiving end is not continuous with the data frame number of the previous frame of received transmission data, the receiving end can determine that the transmission data has a frame loss and send a frame loss response to the sending end through a TCP transmission channel. The process of determining the frame loss does not need to rely on a timer and does not need to dynamically determine the round-trip time of the transmission. Only the receiving end needs to determine the frame loss according to the data frame number of the previous frame of transmission data and the data frame number of the current frame of transmission data. The frame loss determination process is very simple, light, and efficient, which can further save CPU overhead.

[0070] In an embodiment, if the current received transmission data is not continuous with the data frame number of the previous frame of received transmission data, the receiving end can cache the current received transmission data to wait for the retransmission of the transmission data corresponding to the frame loss response of the receiving end. The receiving end can be provided with a caching unit for caching transmission data. The caching unit can be a memory device.

[0071] In an embodiment, when the transmission data is a data frame, the lost frame response can include the data frame number of the lost data frame. When the transmission data is a data segment, the lost frame response can include the data frame number of the data frame in which the lost data segment is located and the segment number of the data segment in the data frame.

[0072] Step S104: The sending end retransmits the transmission data corresponding to the lost frame response to the receiving end based on the TCP transmission channel in response to the lost frame response.

[0073] In this embodiment, when the sending end receives the lost frame response from the receiving end, the sending end can retransmit the transmission data corresponding to the lost frame response to the receiving end through the TCP transmission channel. In this way, the receiving end determines the loss of the frame, and the sending end completes the retransmission of the transmission data, so that the sending end and the receiving end are decoupled during the retransmission of the lost frame. The retransmission refers to re-sending.

[0074] In an embodiment, the retransmission of the transmission data can be based on the data frame number of the data frame included in the lost frame response.

[0075] In an embodiment, the sending end can be provided with a buffer unit (Reliable Buffer) for buffering the transmission data that has been sent based on the UDP multicast transmission channel, in order to meet the requirement of retransmission of the lost frame. If the sending end receives the lost frame response sent by the receiving end, the corresponding transmission data can be obtained from the buffer unit, and the transmission data can be retransmitted to the receiving end based on the TCP transmission channel. The buffer unit can be a memory device or the like.

[0076] In an embodiment, if the transmission data corresponding to the lost frame response of the sending end is lost, the sending end can send a transmission data gap response (Gap) to the receiving end based on the TCP transmission channel, to inform the receiving end that it is not necessary to wait for the transmission data corresponding to the lost frame response.

[0077] Step S105: The receiving end receives the retransmitted transmission data.

[0078] In this embodiment, the receiving end can receive the retransmitted transmission data through the TCP transmission channel.

[0079] In one embodiment, referring to FIG. 5, which is a schematic diagram of a main implementation strategy of the receiving end for maintaining the order of the transmission data according to one embodiment of the present application. As shown in FIG. 5, if the receiving end receives data frames with consecutive data frame numbers, the receiving end can immediately output the data frames to the upper-layer user of the receiving end; for the received data segments, if the data frame numbers of the data segments are consecutive to the data frame numbers of the data segments of the previous frame, the receiving end can wait until the data segments are spliced into data frames and then output the data frames to the upper-layer user; if the receiving end receives transmission data (including data frames and data segments) with non-consecutive frame numbers, the receiving end considers that there is frame loss, and can request the sending end to retransmit through a Nack; the receiving end can cache the currently received transmission data to wait for the retransmission of the lost frame. The upper-layer user is an upper-layer application layer that consumes the transmission data.

[0080] In one embodiment, when the receiving end receives the transmission data gap response sent by the sending end, the receiving end can determine that the transmission data corresponding to the frame loss response has been lost, and no longer waits for the transmission data corresponding to the frame loss response.

[0081] In one embodiment, if the receiving end currently receives transmission data with a data frame number that is repeated in the historical received transmission data or the data frame number of the received transmission data exceeds a preset range, the receiving end discards the received transmission data. The preset range can be a set queue length of the transmission data. That is, if the currently received transmission data has been sent to the upper-layer user or the frame number is too old and exceeds the set queue length, the receiving end can discard the transmission data. Setting the queue length can achieve that the receiving end no longer waits for the transmission data that has not been received for a long time, and can effectively improve the fault tolerance of the system. For example, in an automatic driving application scenario, more attention is paid to the real-time performance of the transmission data, and therefore setting the queue length, allowing occasional frame loss, and improving the fault tolerance are crucial for the automatic driving function.

[0082] Based on the method described in steps S101 to S105, the sending end and the receiving end of the embodiment of the application are connected in communication through a UDP multicast transmission channel and a TCP transmission channel. The UDP multicast transmission channel is a one-way communication channel based on the UDP transmission protocol and is one-to-many. The TCP transmission channel is a two-way communication channel based on the TCP transmission protocol and is one-to-one. The UDP multicast transmission channel is used to transmit the transmitted data to at least one receiving end. The TCP transmission channel is used to feed back a frame loss response to the sending end when the receiving end detects frame loss of the transmitted data, and the sending end retransmits the transmitted data corresponding to the frame loss response. Through the above configuration, the embodiment of the application effectively utilizes the advantages of low CPU overhead, low delay, and low traffic of the one-to-many transmission process based on the UDP multicast transmission channel. At the same time, the connection relationship between the sending end and the receiving end is maintained based on the TCP transmission channel, and the retransmission of the frame loss data is ensured, thereby realizing the bottom line of the unreliable transmission of the UDP multicast transmission channel based on the TCP transmission channel, ensuring the reliability of the transmission process, and effectively combining the advantages of TCP transmission and UDP multicast transmission.

[0083] In one embodiment, referring to FIG. 6, which is a schematic diagram of the main steps of the receiving end for maintaining the order of the transmitted data according to one embodiment of the application, the order of the transmitted data can be maintained according to steps S201 to S226, so that the receiving end outputs the transmitted data with the ordered data frame number to the upper layer user.

[0084] Step S201: receiving an input message.

[0085] Step S202: judging the type of the input message; if it is a data frame, executing step S203; if it is a transmission data loss response, executing step S212; if it is a data segment, executing step S217.

[0086] Step S203: inserting the data frame and judging whether there is frame loss; if there is, executing step S204; if there is not, executing step S205.

[0087] Step S204: after sending the frame loss response, executing step S205.

[0088] Step S205: judging whether the main frame number has appeared before; if yes, executing step S206; if no, executing step S207.

[0089] Step S206: after allocating the required space, executing step S207.

[0090] Step S207: data filling.

[0091] Step S208: judge whether there is old frame to be discarded; if yes, execute step S209; if no, execute step S210.

[0092] Step S209: after discarding, execute step S210.

[0093] Step S210: judge whether there is continuous complete data frame; if yes, execute step S211; if no, end.

[0094] Step S211: transmit to upper layer user.

[0095] Step S212: after inserting data frame, occupy place.

[0096] Step S213: judge whether there is old frame to be discarded; if yes, execute step S214; if no, execute step S215.

[0097] Step S214: after discarding, execute step S215.

[0098] Step S215: judge whether there is continuous complete data frame; if yes, execute step S216; if no, end.

[0099] Step S216: transmit to upper layer user.

[0100] Step S217: insert data frame and judge whether there is frame loss; if yes, execute step S218; if no, execute step S219.

[0101] Step S218: after sending frame loss response, execute step S219.

[0102] Step S219: judge whether the main frame number appears before; if yes, execute step S220; if no, execute step S221.

[0103] Step S220: after allocating required space, execute step S221.

[0104] Step S221: find the address corresponding to the main frame number.

[0105] Step S222: fill.

[0106] Step S223: judge whether there is old frame to be discarded; if yes, execute step S224; if no, execute step S225.

[0107] Step S224: after discarding, execute step S225.

[0108] Step S225: judge whether there is continuous complete data frame; if yes, execute step S226; if no, end.

[0109] Step S226: transmission to upper layer user.

[0110] In the embodiment, the order preservation is based on UDP datagram, that is, each frame of transmitted data (including data frames and data segments) can realize independent order preservation. The process of order preservation based on one TCP segment (1460 bytes) in a general network environment has a finer granularity and is more accurate and efficient. Compared with the order preservation process in the TCP transmission process according to a fixed length unit, the application is more suitable for the process of periodically transmitting and receiving data in the automatic driving scene.

[0111] The network transmission method of the application will be described below with reference to FIGS. 2 to 4, taking the application of the network transmission method of the application in a message subscription-published model as an example. Among them, the numbers 211 and 212 represent different writers of the sending end, and the numbers 221, 222 and 223 represent different readers of the receiving end. FIG. 2 is a schematic diagram of the connection relationship between the sending end and the receiving end connected through the UDP multicast transmission channel and the TCP transmission channel according to an embodiment of the application; FIG. 3 is a schematic diagram of the main interaction process of the network transmission method according to an embodiment of the application; and FIG. 4 is a schematic diagram of the main interaction process of the frame loss and retransmission process between the sending end and the receiving end according to an embodiment of the application.

[0112] As shown in FIG. 2, the message subscription-published model includes three levels in the algorithm: a Pub-Sub (subscription-published) layer, a Writer-Reader (author-reader) layer, and a Channel (channel) layer.

[0113] The Pub-Sub layer is responsible for providing the API (Application Programming Interface) and QoS (Quality of Service) semantics for the upper layer user.

[0114] The Writer-Reader layer is responsible for the logic of message retransmission and order preservation.

[0115] The Channel layer is responsible for the transmission of specific messages, including TcpChannel (TCP transmission channel) and MulticastChannel (UDP multicast transmission channel).

[0116] Each MulticastPublisher (multicast publisher) can have multiple Writers, and the Writers are distinguished by different network interfaces, one Writer corresponding to one local area network segment.

[0117] Each Writer owns one MulticastChannel and multiple TcpChannels, the number of TcpChannels depends on the number of MulticastSubscribers with the same topic in the same LAN.

[0118] Each MulticastSubscriber can own multiple Readers, the number of Readers depends on the number of MulticastPublishers with the same Topic in the same LAN. Each Reader owns one TcpChannel and one MulticastChannel.

[0119] One Writer can correspond to multiple Readers, and each Reader can only have one Writer.

[0120] MulticastChannel is used for one-to-many transmission of data in the LAN, while TcpChannel is used for the following two points:

[0121] Maintain the connection relationship between the sender and the receiver

[0122] Re-transmit the lost transmission data, and bottom out the unreliable transmission of MulticastChannel.

[0123] Where eth0 and ethl are different network interfaces.

[0124] As shown in FIG. 3, MulticastChannel is the backbone of transmitting data, which is a one-to-many, one-way, connectionless communication channel, and undertakes the main transmission function. Data and Frag are sent through MulticastChannel. TcpChannel is used to maintain the connection relationship and retransmit the transmission data (bottom out the Multicast frame loss), which is a one-to-one, two-way, connection-oriented communication channel, mainly used for transmitting Nack, Gap, and retransmitted Data and Frag. Among them, MulticastPublisher also includes ReliableBuffer (buffer unit) for buffering Data and Frag that have been sent through MulticastChannel.

[0125] As shown in FIG. 4, the process of frame loss and retransmission includes: the transmission data sent based on the UDP multicast transmission channel is lost at the network layer, the receiver discovers the frame loss -> the receiver sends Nack to the sender -> the sender retransmits Data, Frag or Gap.

[0126] In an application scenario according to an embodiment of the present application, the network transmission method of the embodiment of the present application can be applied to test group communication in a real vehicle network environment of an intelligent vehicle, wherein the real vehicle network environment is a local area network. Since the frame loss probability in the local area network environment is extremely low, only when both the CPU and the network bandwidth are full (that is, the CPU is full or the bandwidth is completely occupied), there is a probability of 100,000th level. In this case, it is not worth checking each frame of data for confirmation for the extremely small probability. At the same time, in the local area network environment, Data and Frag almost never have out-of-order and repetition, and only frame loss occurs. For example, the Sub receives the Nth frame and the N+2th frame, which almost certainly loses the N+1th frame, rather than out-of-order. Therefore, the network transmission method of the embodiment of the present application does not need to introduce a timer like the network transmission scheme based on TCP or DDS (Data Distribution Service), and neither the transmitting party nor the receiving party needs to make a timeout determination for each frame of message, nor needs to dynamically determine the round trip time, which greatly saves the CPU resources; the frame loss determination is completely in the receiving end, and the retransmission action is completely in the sending end, so the retransmission logic is decoupled for the transmitting party and the receiving party; the frame loss determination is very simple, light and efficient, and only relies on the continuity of the next frame to determine whether there is frame loss before, which is suitable for fixed frequency messages.

[0127] In the simulation environment, compared with the network transmission scheme of the transmitting party and the receiving party only applying TCP, the embodiment of the present application has the following advantages:

[0128] 1. In terms of traffic

[0129] The embodiment of the present application significantly reduces the cross-board traffic, and the average sending traffic of 4 SOCs decreases by 2.6 MB / s, and the average receiving traffic decreases by 1.4 MB / s. Among them, in the nop (Navigate on Pilot) mode, the sending traffic of S1 is optimized most obviously, and decreases by 9.6 MB / S.

[0130] 2. In terms of CPU usage

[0131] The embodiment of the present application has a lower CPU usage than the network transmission scheme of the transmitting party and the receiving party only applying TCP. In the stress_normal mode, the average CPU total usage of 4 SOCs decreases by 1.075%, which is equivalent to a decrease of 0.1 core per SOC on average. In the nop mode, the CPU also decreases by 0.1 core on S1 in the functional domain, and decreases by 0.08 core on S3. Among them, S1 and S3 are the POS (Power on Suspend) state and the Suspend to RAM state of the CPU, respectively.

[0132] 3. In terms of communication latency

[0133] The embodiment of the present application has more advantages in terms of latency than the scheme of applying TCP for network transmission between the transmitting and receiving parties. The actual end-to-end latency in the nop mode is reduced by 3.5 ms, and the jitter variance is reduced by 3.5%.

[0134] 4. In terms of reliability and frame loss

[0135] The reliability of data transmission in the Autonomous Driving (AD) multi-SOC scenario is even better than the scheme of applying TCP for data transmission between the transmitting and receiving parties. Since the bandwidth occupation of the embodiment of the present application is lower, the probability of triggering congestion and flow control is greatly reduced, the overall network stability is improved by an order of magnitude, and the hil simulation actual frame loss rate is reduced by 93.6%.

[0136] 5. In terms of memory usage

[0137] While other main performance indicators are optimized, the memory overhead of the embodiment of the present application remains basically unchanged compared with the scheme of applying TCP for network transmission between the transmitting and receiving parties.

[0138] It should be noted that although the steps in the above embodiments are described in a specific order, those skilled in the art can understand that, in order to achieve the effects of the present application, the different steps do not necessarily have to be executed in this order, and they can be executed simultaneously (in parallel) or in other orders. These adjusted schemes and the technical solutions described in the present application belong to equivalent technical solutions, and therefore will also fall within the protection scope of the present application.

[0139] Those skilled in the art can understand that all or part of the processes in the method of the above embodiment can also be completed by a computer program instructing related hardware. The computer program can be stored in a computer readable storage medium, and when executed by a processor, can implement the steps of each method embodiment described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files or some intermediate forms, etc. The computer readable storage medium can include any entity or device, medium, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory, random access memory, electrical carrier signal, telecommunication signal and software distribution medium, etc. that can carry the computer program code.

[0140] Another aspect of the present application also provides a computer readable storage medium.

[0141] In an embodiment of the computer readable storage medium according to the present application, the computer readable storage medium can be configured to store a program for implementing the network transmission method of the above-mentioned method embodiments, which can be loaded and run by the processor to implement the above-mentioned network transmission method. For the convenience of illustration, only the parts related to the embodiments of the present application are shown, and the specific technical details not disclosed are referred to the method part of the embodiments of the present application. The computer readable storage medium can be a storage device formed by various electronic devices, and optionally, the computer readable storage medium in the embodiments of the present application is a non-transitory computer readable storage medium.

[0142] Another aspect of the present application also provides a smart device.

[0143] In an embodiment of the smart device according to the present application, the smart device can include at least one processor; and a memory in communication connection with the at least one processor; wherein the memory stores a computer program, and the computer program is executed by the at least one processor to implement the method of any one of the above-mentioned embodiments. The smart device described in the present application can include a driving device, a smart car, a robot, etc. Referring to FIG. 7, the memory 11 and the processor 12 are communicatively connected by a bus in FIG. 7.

[0144] In some embodiments of the present application, the smart device can further include at least one sensor for sensing information. The sensor is in communication connection with any type of processor mentioned in the present application. Optionally, the smart device can further include an automatic driving system for guiding the smart device to drive by itself or assisting driving. The processor is in communication with the sensor and / or the automatic driving system for completing the method of any one of the above-mentioned embodiments.

[0145] So far, the technical solution of the present application has been described in combination with one embodiment shown in the drawings, but those skilled in the art can easily understand that the protection scope of the present application is obviously not limited to these specific embodiments. Those skilled in the art can make equivalent changes or replacements to the related technical features without departing from the principles of the present application, and the technical solutions after the changes or replacements will fall within the protection scope of the present application.

Claims

1. A network transmission method, characterized by, The method is applied to a sending end, and the method comprises: sending transmission data to at least one receiving end based on a UDP multicast transmission channel; the sending end and the receiving end are communicatively connected through the UDP multicast transmission channel and a TCP transmission channel; the UDP multicast transmission channel is a one-to-many unidirectional communication channel based on a UDP transmission protocol; and the TCP transmission channel is a one-to-one bidirectional communication channel based on a TCP transmission protocol; in response to a frame loss response sent by the receiving end to the sending end through the TCP transmission channel, retransmitting transmission data corresponding to the frame loss response to the receiving end based on the TCP transmission channel; the frame loss response is feedback information sent by the receiving end to the sending end when the receiving end detects that the transmission data has frame loss.

2. The network transmission method of claim 1, wherein, The sending end comprises a cache unit configured to cache transmission data that has been sent based on the UDP multicast transmission channel; The retransmission of the transmission data corresponding to the frame loss response to the receiving end based on the TCP transmission channel comprises: obtaining the transmission data corresponding to the frame loss response from the cache unit and retransmitting the transmission data to the receiving end based on the TCP transmission channel.

3. The network transmission method according to claim 1 or 2, characterized by, The method further comprises: when the transmission data corresponding to the frame loss response is lost, sending a transmission data vacancy response to the sending end based on the TCP transmission channel.

4. A network transmission method characterized by, The method is applied to a receiving end, and the method comprises: receiving transmission data sent by a sending end through a UDP multicast transmission channel; the sending end and the receiving end are communicatively connected through the UDP multicast transmission channel and a TCP transmission channel; the UDP multicast transmission channel is a one-to-many unidirectional communication channel based on a UDP transmission protocol; and the TCP transmission channel is a one-to-one bidirectional communication channel based on a TCP transmission protocol; when detecting that the transmission data has frame loss, sending a frame loss response to the sending end through the TCP transmission channel; and receiving transmission data corresponding to the frame loss response retransmitted by the sending end based on the TCP transmission channel.

5. The network transmission method of claim 4, wherein, The transmission data comprises data frames, and each data frame comprises a data frame number; The sending of the frame loss response to the sending end through the TCP transmission channel when detecting that the transmission data has frame loss comprises: when detecting that a data frame number of currently received transmission data is not continuous with a data frame number of previously received transmission data, sending a frame loss response to the sending end through the TCP transmission channel.

6. The network transmission method of claim 5, wherein, The method further comprises: if the data frame number of the currently received transmission data is not continuous with the data frame number of the previously received transmission data, caching the currently received transmission data to wait for retransmission of the transmission data corresponding to the frame loss response by the receiving end.

7. The network transmission method according to claim 6, wherein, after the sending of the frame loss response to the sending end through the TCP transmission channel, the method further comprises: When receiving the transmission data gap response sent by the sending end based on the TCP transmission channel, it is determined that the transmission data corresponding to the frame loss response has been lost frames, and the sending end no longer waits for the transmission data corresponding to the frame loss response.

8. The network transmission method of any of claims 4-6, wherein, The transmission data further includes data segments, and a plurality of data segments are spliced into a data frame, wherein the data segments include a frame number of the data frame and a segment sequence number in the data frame. The receiving end receives the transmission data sent by the sending end, including: The receiving end receives the data segments and splices the received data segments according to the segment sequence number to obtain the data frame.

9. The network transmission method of any one of claims 4 to 6, wherein, The receiving end receives the transmission data sent by the sending end, including: If the transmission data with the data frame number continuous to the last frame is received, the received transmission data is sent to the upper layer user of the receiving end; If the transmission data with the data frame number repeated to the historical received transmission data or the data frame number of the received transmission data exceeds the preset range is received, the received transmission data is discarded.

10. A network transmission method, characterized by, The method comprises: The sending end sends transmission data to at least one receiving end through a UDP multicast transmission channel; the sending end and the receiving end are communicatively connected through the UDP multicast transmission channel and a TCP transmission channel; the UDP multicast transmission channel is a one-to-many unidirectional communication channel based on the UDP transmission protocol; and the TCP transmission channel is a one-to-one bidirectional communication channel based on the TCP transmission protocol. The receiving end receives the transmission data; When the receiving end detects that the transmission data has lost frames, the receiving end sends a frame loss response to the sending end through the TCP transmission channel; The sending end retransmits the transmission data corresponding to the frame loss response to the receiving end based on the TCP transmission channel in response to the frame loss response; The receiving end receives the retransmitted transmission data.

11. A smart device, comprising: Comprise: At least one processor; and a memory communicatively connected with the at least one processor; Wherein, the memory stores a computer program, and the computer program is executed by the at least one processor to realize the network transmission method of any one of claims 1 to 10.

12. A computer readable storage medium having stored therein a plurality of program codes, characterized in that, The program code is adapted to be loaded and run by the processor to execute the network transmission method of any one of claims 1 to 10.

Citation Information

Patent Citations

  • Data transmission method, system and device

    CN111953653A

  • Data retransmission method, network equipment and computer readable storage medium

    CN113872916A

  • Network data sending method, device and system and storage medium

    CN117914872A

  • Network transmission method, readable storage medium and intelligent equipment

    CN118740748A

  • Electricity, communication, fire protection wall cable protection pipe installation system of buildings

    KR102703993B1