Message sending method, device and electronic equipment
By centrally processing data from roadside devices at multiple intersections through the DPU of the edge device, and generating V2X messages using CPU and GPU, the problem of high equipment deployment and maintenance costs in vehicle-road cooperative scenarios is solved, and real-time message distribution and resource efficiency improvement are achieved at the city level.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHINA MOBILE SHANGHAI ICT CO LTD
- Filing Date
- 2026-02-11
- Publication Date
- 2026-05-29
AI Technical Summary
In existing vehicle-road cooperative scenarios, the deployment and maintenance costs of equipment are relatively high, especially since MEC and RSU need to be deployed at each intersection.
By using the DPU of the edge device to access roadside equipment at multiple intersections, data packets are collected centrally and processed using CPU and GPU to generate vehicle-to-infrastructure (V2X) messages, reducing the deployment and maintenance costs of roadside equipment.
It reduces the deployment and maintenance costs of roadside equipment, while breaking through the distance limitations of PC5 to achieve real-time V2X message distribution within a city, thereby improving system coverage and resource utilization efficiency.
Smart Images

Figure CN122120716A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of vehicle-road cooperative technology, and in particular to an airborne communication system. Background Technology
[0002] In related technologies, vehicle-to-everything (V2X) message distribution schemes are typically implemented through roadside units (RSUs) deployed along roads. RSUs are communication devices installed on the roadside, primarily used for direct communication with the vehicle's on-board unit (OBU) via a proximity communication interface (ProSeCommunication, PC5) to enable various communication scenarios such as vehicle-to-infrastructure (V2I), vehicle-to-vehicle (V2V), and vehicle-to-network (V2N).
[0003] In related technologies, multi-access edge computing (MEC) nodes are connected to the roadside unit (RSU) and simultaneously connected to roadside equipment such as cameras, millimeter-wave radar, lidar, and traffic signals. The MEC fuses multi-source sensing data, performs perception and event recognition, and generates V2X messages, which are broadcast to vehicles via the RSU's PC5 interface. However, this approach requires the deployment of MEC and RSU at each intersection, resulting in high deployment and maintenance costs. Summary of the Invention
[0004] This application provides a message sending method, apparatus, and electronic device to address the problem of high equipment deployment and maintenance costs in existing vehicle-road cooperative scenarios.
[0005] To solve the above-mentioned technical problems, this application is implemented as follows:
[0006] In a first aspect, embodiments of this application provide a message sending method applied to an edge device, the edge device including a central processing unit (CPU), a graphics processing unit (GPU), and a data processing unit (DPU), the DPU being connected to roadside equipment at multiple intersections, the method comprising:
[0007] The DPU receives multiple data packets sent by the roadside equipment.
[0008] The DPU distributes the multiple data packets to the CPU and the GPU;
[0009] The GPU obtains the perception result based on the data packets distributed to the GPU by the DPU, and sends the perception result to the CPU.
[0010] The CPU generates a vehicle-to-everything (V2X) message based on the perception results and the data packets distributed by the DPU to the CPU, and sends the V2X message to the DPU.
[0011] The V2X message is sent to the vehicle via the DPU.
[0012] Secondly, embodiments of this application provide a message sending device, the message sending device including an edge device, the edge device including a central processing unit (CPU), a graphics processing unit (GPU), and a data processing unit (DPU), the DPU being connected to roadside equipment at multiple intersections, wherein the edge device includes:
[0013] The first receiving module is used to receive multiple data packets sent by the roadside equipment through the DPU;
[0014] A first sending module is used for the DPU to distribute the multiple data packets to the CPU and the GPU;
[0015] A perception module is used to obtain perception results through the GPU based on data packets distributed by the DPU to the GPU, and to send the perception results to the CPU;
[0016] The message processing module is used to generate a vehicle-to-everything (V2X) message based on the perception result and the data packets distributed by the DPU to the CPU, and send the V2X message to the DPU.
[0017] The second sending module is used by the DPU to send the V2X message to the vehicle.
[0018] Thirdly, embodiments of this application provide an electronic device, including a transceiver and a processor. The processor includes a central processing unit (CPU), a graphics processing unit (GPU), and a data processing unit (DPU). The DPU is connected to roadside equipment at multiple intersections. The processor is used for:
[0019] The DPU receives multiple data packets sent by the roadside equipment.
[0020] The DPU distributes the multiple data packets to the CPU and the GPU;
[0021] The GPU obtains the perception result based on the data packets distributed to the GPU by the DPU, and sends the perception result to the CPU.
[0022] The CPU generates a vehicle-to-everything (V2X) message based on the perception results and the data packets distributed by the DPU to the CPU, and sends the V2X message to the DPU.
[0023] The V2X message is sent to the vehicle via the DPU.
[0024] Fourthly, embodiments of this application provide an electronic device, including: a processor, a memory, and a program stored in the memory and executable on the processor, wherein the program, when executed by the processor, implements the steps of the message sending method described in the first aspect.
[0025] Fifthly, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the message sending method described in the first aspect.
[0026] In a sixth aspect, embodiments of this application provide a computer program product, including computer instructions that, when executed by a processor, implement the steps of the method described in the first aspect above.
[0027] In this embodiment, it is unnecessary to set up roadside equipment such as MEC and RSU at each intersection. Instead, the DPU of the edge device connects to the roadside equipment at multiple intersections. The DPU centrally collects data packets sent by the roadside equipment at multiple intersections and distributes the received data packets to the CPU and GPU for processing. For example, the GPU obtains perception results based on the data packets distributed to it by the DPU and sends the perception results to the CPU. The CPU generates vehicle-to-everything (V2X) messages based on the perception results and the data packets distributed to it by the DPU, and sends the V2X messages to the DPU. The DPU then sends the V2X messages to vehicles, thus achieving V2X message transmission to vehicles. This reduces the deployment and maintenance costs of roadside equipment. Attached Figure Description
[0028] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0029] Figure 1 This application provides a flowchart of a message sending method according to an embodiment;
[0030] Figure 2 A schematic diagram of a message sending method provided in this application embodiment;
[0031] Figure 3 This is a schematic diagram of the structure of a message sending device provided in an embodiment of this application;
[0032] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0033] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0034] See Figure 1 , Figure 1 This is a flowchart of a message sending method provided in an embodiment of this application, which can be applied to an edge device. The edge device includes a central processing unit (CPU), a graphics processing unit (GPU), and a data processing unit (DPU). The DPU is connected to roadside equipment at multiple intersections. The method includes:
[0035] Step 101: Receive multiple data packets sent by the roadside equipment via the DPU;
[0036] Step 102: Distribute multiple data packets to the CPU and GPU via the DPU;
[0037] Step 103: Obtain the perception results through the GPU based on the data packets distributed to the GPU by the DPU, and send the perception results to the CPU;
[0038] Step 104: Generate a vehicle-road cooperative V2X message through the CPU based on the perception results and the data packets distributed by the DPU to the CPU, and send the V2X message to the DPU;
[0039] Step 105: Send V2X messages to the vehicle via DPU.
[0040] Roadside equipment may include at least one of the following: lidar, millimeter-wave radar, camera, traffic signal controller (traffic signal controller), and MEC. In addition, MEC may also connect to at least one of lidar, millimeter-wave radar, camera, traffic signal controller, etc. Edge devices may be deployed in edge data centers. Roadside equipment from multiple intersections is centrally connected to the DPU of the edge device so that the DPU can collect data packets from the roadside equipment at multiple intersections.
[0041] Specifically, the DPU receives data packets from roadside devices at multiple intersections and distributes these data packets to the CPU and GPU. The GPU receives the data packets distributed by the DPU, performs perception based on the distributed data packets to obtain perception results, and sends the perception results to the CPU. The CPU generates vehicle-to-everything (V2X) messages based on the perception results and the data packets distributed by the DPU, and sends the V2X messages to the DPU. After receiving the V2X messages, the DPU sends V2X messages to the vehicles.
[0042] As an example, the DPU sending the V2X message to the vehicle may include: sending the V2X message to the vehicle via the Uu interface. This overcomes the distance limitations of PC5, achieving wider coverage.
[0043] In this embodiment, it is unnecessary to set up roadside equipment such as MEC and RSU at each intersection. Instead, the DPU of the edge device connects to the roadside equipment at multiple intersections. The DPU centrally collects data packets sent by the roadside equipment at multiple intersections and distributes the received data packets to the CPU and GPU for processing. For example, the GPU obtains perception results based on the data packets distributed to it by the DPU and sends the perception results to the CPU. The CPU generates vehicle-to-everything (V2X) messages based on the perception results and the data packets distributed to it by the DPU, and sends the V2X messages to the DPU. The DPU then sends the V2X messages to vehicles, thus achieving V2X message transmission to vehicles. This reduces the deployment and maintenance costs of roadside equipment.
[0044] In some embodiments, multiple data packets are distributed from the DPU to the CPU and GPU, including:
[0045] For each of the multiple data packets, the first channel of the data packet is determined based on the DPU in N channels. The first channel is the channel from the DPU to the CPU or GPU, where N is an integer greater than 1.
[0046] Based on the DPU, data packets are sent to the CPU or GPU through the first channel.
[0047] In other words, the DPU can determine the first channel of a data packet among N channels, and send the data packet to the CPU or GPU through the first channel to achieve the distribution of the data packet. For each data packet, its corresponding distribution channel, namely the first channel, can be determined, and the data packet is distributed through the first channel.
[0048] In some embodiments, determining the first channel of a data packet among multiple channels based on the DPU includes:
[0049] Parse the data packets to obtain a data tag vector. The data tag vector includes at least one of the following: protocol type, data packet identifier, session identifier, data 5-tuple, estimated average bandwidth of the data packet, and time information. The data 5-tuple includes at least one of the following: source Internet Protocol address (IP), destination IP, source port number, destination port number, and protocol type.
[0050] The data label vector is hashed to obtain a hash value;
[0051] The target channel number is determined based on the hash value and N;
[0052] Based on the target channel number and the status information of N channels, determine the first channel of the data packet.
[0053] In this embodiment, during the selection of the channel for data packet distribution, the target channel number is first determined using the hash value obtained by hashing the data tag vector and the number of channels N. Then, the first channel for the data packet is determined using the target channel number and the status information of the N channels. That is, the status of the N channels is also considered during the channel selection process to improve the transmission performance of the determined first channel for data packets. As an example, the target channel number can be the result of taking the hash value modulo N, that is, the remainder of the hash value divided by N.
[0054] In some embodiments, the status information includes at least one of the following:
[0055] The CPU equivalent load that can be tolerated;
[0056] Tolerable memory load;
[0057] Affordable parallel computing resources;
[0058] Bandwidth capacity;
[0059] Information used to indicate whether Remote Direct Memory Access (RDMA) acceleration is supported;
[0060] Channel type;
[0061] A session identifier that has already been loaded.
[0062] In some embodiments, determining the first channel of a data packet based on the target channel number and the status information of N channels includes:
[0063] Based on the target channel sequence number and the loaded session identifiers in the status information of N channels, determine the affinity parameters between the data packet and the N channels;
[0064] Based on the first parameter in the status information of N channels, determine the available values of the first parameter of N channels, where the first parameter includes parameters in the status information other than the session identifier that has been loaded.
[0065] For each of the N channels, the available values of the channel's first parameter and the channel's affinity parameter are weighted and summed to obtain the channel's score;
[0066] The channel with the highest score among the N channels is designated as the first channel.
[0067] It can be understood that weighted summation of the available values of the channel's first parameter and the channel's affinity parameter is equivalent to using the weighting coefficients of the first parameter and the affinity parameter to perform a weighted summation. Both the weighting coefficients of the first parameter and the affinity parameter are greater than or equal to 0. For example, the sum of the weighting coefficients of the first parameter and the affinity parameter can be 1. Furthermore, it should be noted that the initial values of the weighting coefficients of the first parameter and the affinity parameter can be preset based on experience or actual needs, and can be adjusted later as needed; that is, the weighting coefficients can also be adjustable.
[0068] In this embodiment, during the channel scoring process, the available values of affinity parameters and parameters other than the loaded session identifier in the status information are considered to improve the rationality of the obtained channel scores. The higher the score, the better the channel's performance / quality. In this embodiment, the channel with the highest score among N channels is selected as the first channel for distributing data packets, thereby improving data packet transmission performance.
[0069] It should be understood that the affinity parameter, also known as the affinity strength parameter, is used to characterize the tightness of the binding between a data packet and a channel (i.e., the matching strength). A larger affinity parameter indicates a stronger matching strength, and vice versa. As an example, determining the affinity parameter between a data packet and a channel based on the target channel sequence number and the loaded session identifiers in the status information of the N channels can include: determining the affinity parameter between the data packet and the channel based on the protocol type of the data packet, whether the loaded session identifiers in the channel's status information include the session identifier in the data packet's data tag vector, and whether the channel's sequence number is the target channel sequence number.
[0070] For example, when the protocol type of the data packet is Type 1, the affinity parameter between the data packet and the channel is related to whether the session identifier in the data tag vector of the data packet has been loaded in the channel. It is positively correlated with whether the session identifier in the data tag vector of the data packet has been loaded. For example, the value of the affinity parameter between the data packet and the channel when the session identifier in the data tag vector of the data packet has been loaded in the channel is greater than the value when the session identifier in the data tag vector of the data packet has not been loaded in the channel. When the session identifier in the data tag vector of the data packet has not been loaded in the channel, the affinity parameter between the data packet and the channel is related to whether the sequence number of the channel is the target channel sequence number. It is positively correlated with whether the sequence number of the channel is the target channel sequence number. For example, the value of the affinity parameter between the data packet and the channel when the session identifier in the data tag vector of the data packet has not been loaded in the channel and the sequence number of the channel is the target channel sequence number is greater than the value when the session identifier in the data tag vector of the data packet has not been loaded in the channel and the sequence number of the channel is not the target channel sequence number. As an example, when the protocol type of the data packet is Type 2, the affinity parameter between the data packet and the channel is related to whether the sequence number of the channel is the target channel sequence number. For example, it is positively correlated with whether the sequence number of the channel is the target channel sequence number. For example, the value of the affinity parameter between the data packet and the channel when the sequence number of the channel is the target channel sequence number is greater than the value when the sequence number of the channel is not the target channel sequence number.
[0071] In some embodiments, the affinity parameters between the data packet and the N channels are determined based on the target channel sequence number and the loaded session identifiers included in the status information of the N channels, including at least one of the following:
[0072] For each of the N channels, if the protocol type of the data packet is the first type and the loaded session identifier in the channel's state information includes the session identifier in the data packet's data tag vector, the affinity parameter between the data packet and the channel is determined to be the first value.
[0073] If the protocol type of the data packet is type 1 and the loaded session identifier in the channel status information does not include the session identifier in the data tag vector of the data packet, then if the channel sequence number is the target channel sequence number, the affinity parameter between the data packet and the channel is determined to be the second value.
[0074] If the protocol type of the data packet is type 1 and the loaded session identifier in the channel status information does not include the session identifier in the data tag vector of the data packet, then if the channel sequence number is not the target channel sequence number, the affinity parameter between the data packet and the channel will be determined as the third value.
[0075] If the protocol type of the data packet is type 2, and the channel sequence number is the target channel sequence number, then the affinity parameter between the data packet and the channel is determined to be the second value.
[0076] If the protocol type of the data packet is type 2, and the channel sequence number is not the target channel sequence number, then the affinity parameter between the data packet and the channel is determined to be the third value.
[0077] Among them, the third value is less than the second value, and the second value is less than the first value.
[0078] As examples, the first type can include, but is not limited to, Transmission Control Protocol (TCP), Rapid Spanning Tree Protocol (RSTP), LiDAR transmission protocols, millimeter-wave radar transmission protocols, etc., while the second type includes, but is not limited to, Message Queuing Telemetry Transport (MQTT). It should be understood that the third value is less than the second value, and the second value is less than the first value; there are no specific limitations on their values. For example, the first value can be greater than 1, the second value can be 1, and the third value can be 0.
[0079] In this embodiment, if the loaded session identifier in the channel status information includes the session identifier in the data tag vector of the data packet, it means that the channel has previously transmitted data packets with the same session identifier. If the affinity parameter is larger, the channel is more likely to be selected. That is, the data packet is more likely to be assigned to the channel that has loaded the session identifier in the data tag vector of the data packet for transmission, which can improve the smoothness of data packet transmission.
[0080] The process of the above solution will be illustrated below with some specific embodiments.
[0081] The solution in this application embodiment can centrally access the perception data of multiple intersections to the edge device in the edge data center, eliminating the need for the construction of intersection MEC and RSU. The computing power of the edge data center can be dynamically scheduled according to the perception data. It can use the 5G Uu interface to broadcast to vehicles, breaking through the PC5 distance limitation and achieving city-level broadcast coverage. It introduces DPU (Data Processing Unit) hardware acceleration to achieve load balancing and network offloading, forming a heterogeneous computing architecture of CPU+GPU+DPU, which significantly improves the concurrency and real-time performance of message distribution.
[0082] like Figure 2 As shown, the overall technical solution process of this application proposal is as follows:
[0083] The edge device integrates a CPU, GPU, and DPU. The CPU is responsible for executing business logic, V2X protocol parsing and forwarding; the GPU is responsible for executing video stream perception algorithms and AI inference; and the DPU is responsible for performing network I / O intensive tasks such as load balancing, network offloading, and security acceleration. This heterogeneous computing architecture enables rapid distribution of V2X messages. The method proposed in this application includes:
[0084] Step 1: The edge device collects relevant data from roadside equipment such as lidar, millimeter-wave radar, cameras, traffic signals, and MEC via fiber optic access.
[0085] Step 2: The load balancing module distributes different types of data to the corresponding processing nodes or service modules based on the traffic classification engine inside the DPU (identifying MQTT / TCP / RTSP protocols), using multiple strategies such as hashing, round-robin, and session persistence for distribution;
[0086] Step 3: The network offloading module transfers data to the CPU and GPU by performing operations such as zero-copy transfer and RoCEv2 network acceleration;
[0087] Step 4: The GPU runs the perception algorithm and AI inference module to perform target detection, classification and tracking on raw perception data such as video streams and radar point clouds, and outputs structured perception results (such as target type, position, speed, etc.).
[0088] Step 5: The CPU can integrate and convert the GPU perception results with externally accessed V2X messages (such as RSM roadside safety messages, RSI roadside general information messages, SPAT traffic light phase and timing messages, MAP map data messages, etc. received by the DPU and forwarded to the CPU) to form standardized V2X messages.
[0089] Step 6: The target vehicle reports a BSM (Basic Security Message) to the edge device message distribution module. The message distribution module broadcasts the V2X message formed above to the target vehicle through the 5G Uu interface based on the BSM message, realizing real-time and rapid distribution within the city.
[0090] The method of this application embodiment is as follows:
[0091] 1. Data packet recognition and tag generation
[0092] Data features are extracted and data tags are formed by extracting key information fields in the packet protocol header, including protocol type (proto, p), packet identifier, session identifier, source Internet Protocol address (srcIP), destination IP (dstIP), source port number (dstIP), destination port number (dstPort), estimated average packet bandwidth, and time information.
[0093] (1) Definition of a quintuple data packet:
[0094] 5tuple(P)=(srcIP, dstIP, srcPort, dstPort, proto);
[0095] The data packet parsing result is set as a data tag vector T(P).
[0096] (2) Packet parsing function and tag definition:
[0097] Define the packet parsing function fDPI:
[0098] T(P) = fDPI=(p, ClientID, SessionID, 5tuple(P),L,t)
[0099] in:
[0100] p indicates the protocol type (e.g., MQTT, TCP, RTSP, LiDAR, millimeter-wave radar).
[0101] ClientID is the packet identifier (if it exists, for example, the client / vehicle identifier).
[0102] SessionID is the session identifier (if it exists);
[0103] L represents the average bandwidth / load estimate (bytes / s) of a packet or stream, which is the estimated average bandwidth of the data packets;
[0104] t represents time information, such as the arrival timestamp of data packets or the session establishment time, used to implement session persistence and timeout policies.
[0105] 2. Network offloading decisions based on load balancing strategies:
[0106] A channel set (including N channels) is established based on the resources of the edge device. The tags of data packets are used to score channels and select the optimal channel. For example, MQTT traffic (such as signal controllers) is allocated to channels that support zero-copy functionality (directly writing received data to the user-space buffer via the DPU's DMA (Direct Memory Access) channel) using a five-tuple hash algorithm to achieve encryption / decryption and fast transmission. TCP traffic (such as MEC, RTSP, LiDAR, and millimeter-wave radar) is allocated to offloaded channels that support zero-copy and have RoCEv2 acceleration (implementing Ethernet-based RDMA (Remote Direct Memory Access) transmission on the DPU side) using polling and session persistence strategies to achieve low-latency transmission of data streams across nodes.
[0107] (1) Channel set establishment: The edge device will virtualize according to hardware resources (CPU, GPU, network card, bandwidth) to form multiple service channels for DPU to perform network offloading. For example, let the channel set be:
[0108] C = {c1,c2,...cN};
[0109] Each channel is a vector, and the vector value is:
[0110] ci = (c i CPU c i GPU c i MEM c i BW c i RDMA c i TYPE c i SESSION );
[0111] Where c i CPU For a tolerable CPU equivalent load, c i MEM For manageable memory load, c i GPU For affordable parallel computing resources, c i BW For bandwidth capacity, c i RDMA Indicates whether RDMA acceleration is supported, c i TYPE Channel types are categorized as CPU and CPU & GPU, used to differentiate between parallel computing tasks (AI inference) and logical operation tasks (V2X message distribution). i SESSION The channel has a SessionID attached, which is used to determine whether a session persistence mechanism is used.
[0112] (2) Channel scoring function and optimal channel selection function
[0113] The channel scoring function is used to calculate the score of each channel for this data packet after packet detection. Based on this score, a channel selection strategy is formulated to ultimately achieve message distribution. The scoring focuses on indicators such as channel memory, CPU, GPU, and affinity. These indicators are used to balance channel usage while ensuring business continuity.
[0114] The specific channel scoring function can be:
[0115] Si(P) = w1 * AvailCPU i + w2*AvailMem i + w3* AvailBW i +w4*T i TYPE * AvailGPU i + w5*Affinity i (P);
[0116] in:
[0117] AvailCPU i This is the normalized available CPU value;
[0118] AvailMem i This represents the normalized available memory value.
[0119] AvailBWi is the normalized available bandwidth value;
[0120] AvailGPUi is the normalized value of available GPUs;
[0121] T i TYPE The channel type is 0; for example, if the channel is CPU type, then the value is 0.
[0122] Affinity i (P) is the affinity function, i.e., the affinity parameter, C i If the same SessionID or ClientID already exists, assign a higher value to ensure session continuity;
[0123] w k For adjustable weighting coefficients, satisfying w k ≥0, k can take the value of an integer from 1 to 5, representing the weight coefficient of different parameters in the first parameter.
[0124] After data packet P is scored by all channels, the final distribution channel is determined by the channel selection function.
[0125] The specific channel selection function is as follows:
[0126] CSelect = maxS i (P);
[0127] (3) The bandwidth capacity of the data packet must be less than ciBW, otherwise data will not be distributed.
[0128] Define an affinity function to implement hash mapping and session persistence strategies.
[0129] To maintain business continuity, a hash function H is defined.
[0130] h(P) = H(T(P)) mod N
[0131] Where N is the total number of channels, H is a hash function, for example, H can be a CRC32 hash function, and h(P) is the target channel number.
[0132] When p is TCP, RSTP, or a lidar / millimeter-wave radar protocol:
[0133] The current channel has already loaded a SessionID:
[0134] Affinity i (P) = K (K>1)
[0135] otherwise:
[0136] If the current channel is h(P):
[0137] Affinity i (P) = 1
[0138] otherwise:
[0139] Affinity i (P) = 0.
[0140] When p is the MQTT protocol:
[0141] If the current channel is h(P):
[0142] Affinity i (P) = 1
[0143] otherwise:
[0144] Affinity i (P) = 0
[0145] 3. V2X message distribution
[0146] The vehicle reports a BSM message. Based on the location determination of the BSM message, the edge device message distribution module forwards the corresponding RSM, RSI, MAP, and SPAT messages from the intersection to the network offloading module of the DPU, and finally sends them to the vehicle through the 5G Uu interface.
[0147] This application proposes a V2X message distribution device based on a heterogeneous computing architecture combining CPU, GPU, and DPU. Deployed in an edge data center, this device uses a centralized architecture to access MEC and multi-source sensor data from multiple intersections, enabling unified processing and rapid distribution of video streams, sensor data, and control messages. While ensuring millisecond-level communication latency, this solution eliminates the need for separate MEC / RSU equipment at each intersection, fundamentally reducing roadside construction and maintenance costs. Simultaneously, utilizing the 5G Uu interface for V2X broadcasting overcomes the 500-1000 meter distance limitation of the PC5 interface, achieving real-time and stable distribution within a city-wide area, significantly improving system coverage and resource utilization efficiency.
[0148] This application proposes a multi-protocol message distribution optimization method based on DPU conditional load balancing: The DPU packet probing engine performs protocol classification and field parsing on multi-source data from the roadside, generating traffic tags containing protocol type, 5-tuple, and session information; based on protocol category, different offloading paths such as TLS offloading, zero-copy, or RoCEv2 acceleration are selected, and combined with dynamic weight scoring of CPU, memory, and bandwidth utilization, the optimal channel mapping and session persistence strategy is executed to achieve low-latency, high-concurrency distribution of multi-protocol messages; this method significantly reduces CPU load, improves network throughput and service response speed, and reduces packet loss and latency jitter in high-concurrency scenarios while maintaining distribution stability.
[0149] Compared with related technologies, the advantages of this application include:
[0150] 1. This solution eliminates the need to build MEC / RSU equipment at each intersection, fundamentally reducing roadside construction and maintenance costs; at the same time, it utilizes the 5G Uu interface for V2X broadcasting, breaking through the 500-1000 meter distance limitation of the PC5 interface, achieving real-time and stable distribution within the city, and significantly improving system coverage and resource utilization efficiency.
[0151] 2. The multi-protocol message distribution optimization method based on DPU conditional load balancing significantly reduces CPU load, improves network throughput and service response speed, and reduces packet loss and latency jitter in high-concurrency scenarios while maintaining distribution stability.
[0152] The message distribution module of the edge device can distribute V2X to the RSU, and the RSU can then broadcast it to the OBU via PC5. This can form a dual-channel architecture with multiple distribution paths (Uu broadcast + PC5 backfeed).
[0153] In addition, this application proposal has good commercial value:
[0154] 1. Deployment costs are significantly reduced.
[0155] This application adopts a V2X message distribution architecture with centralized deployment in edge data centers, eliminating the hardware investment required to build MECs and RSUs at each intersection, and saving on fixed costs such as civil engineering, power supply, and operation and maintenance. In city-level deployments, construction investment can be reduced by 30%-50%, demonstrating significant economic advantages.
[0156] 2. Improved operational efficiency
[0157] By using DPU to achieve multi-protocol hardware-level traffic classification and network offloading, CPU computing power is freed up, distribution latency and throughput performance are improved, enabling the system to support more access points and higher concurrent connections under the same hardware conditions, reducing the frequency of expansion, and thus reducing long-term operating costs.
[0158] 3. Strong business scenario scalability
[0159] In addition to vehicle-to-everything (V2X) communication, this patented solution can also be used in various scenarios such as smart transportation, intelligent bus dispatching, remote driving, road safety early warning, and emergency command, enabling cross-business reuse of hardware and software and improving return on investment (ROI).
[0160] 4. Barriers to Competition and Irreplaceability
[0161] The core of the patent lies in the multi-protocol traffic scheduling and network offloading strategy under the CPU+GPU+DPU heterogeneous architecture. Combined with optimizations such as five-tuple hashing, session persistence, and RoCEv2 acceleration, it is a deep software and hardware integration solution. It is difficult for competitors to bypass and implement without infringement, and it has a high technical threshold and protection value.
[0162] 5. The market size is considerable.
[0163] With the advancement of intelligent transportation and vehicle-road-cloud integration, the deployment of V2X terminals and edge computing nodes is expected to increase significantly. This patented solution has direct application value in projects such as smart city construction, autonomous driving demonstration zones, and intelligent highway upgrades, and can generate a market potential of hundreds of millions to billions of yuan.
[0164] 6. Ecological cooperation and standards promotion
[0165] This patented solution can be deeply integrated with the edge data center business of operators and has the potential to promote industry standardization. Once it is solidified in the standard, it will further enhance the market share and bargaining power of the technology.
[0166] like Figure 3 As shown, Figure 3 This is a schematic diagram of the structure of a message sending device 300 provided in an embodiment of this application, as shown below. Figure 3As shown, the message sending device, applied to electronic devices, includes an edge device. The edge device comprises a central processing unit (CPU), a graphics processing unit (GPU), and a data processing unit (DPU). The DPU connects to roadside equipment at multiple intersections. The edge device includes:
[0167] The first receiving module 301 is used to receive multiple data packets sent by the roadside equipment via the DPU;
[0168] The first sending module 302 is used by the DPU to distribute multiple data packets to the CPU and GPU;
[0169] The perception module 303 is used to obtain perception results through the GPU based on the data packets distributed to the GPU by the DPU, and to send the perception results to the CPU.
[0170] The message processing module 304 is used to generate vehicle-road cooperative V2X messages through the CPU based on the perception results and the data packets distributed by the DPU to the CPU, and send V2X messages to the DPU.
[0171] The second sending module 305 is used by the DPU to send V2X messages to the vehicle.
[0172] In some embodiments, multiple data packets are distributed from the DPU to the CPU and GPU, including:
[0173] For each of the multiple data packets, the first channel of the data packet is determined based on the DPU in N channels. The first channel is the channel from the DPU to the CPU or GPU, where N is an integer greater than 1.
[0174] Based on the DPU, data packets are sent to the CPU or GPU through the first channel.
[0175] In some embodiments, determining the first channel of a data packet among multiple channels based on the DPU includes:
[0176] Parse the data packets to obtain a data tag vector. The data tag vector includes at least one of the following: protocol type, data packet identifier, session identifier, data 5-tuple, estimated average bandwidth of the data packet, and time information. The data 5-tuple includes at least one of the following: source Internet Protocol address (IP), destination IP, source port number, destination port number, and protocol type.
[0177] The data label vector is hashed to obtain a hash value;
[0178] The target channel number is determined based on the hash value and N;
[0179] Based on the target channel number and the status information of N channels, determine the first channel of the data packet.
[0180] In some embodiments, the status information includes at least one of the following:
[0181] The CPU equivalent load that can be tolerated;
[0182] Tolerable memory load;
[0183] Affordable parallel computing resources;
[0184] Bandwidth capacity;
[0185] Information used to indicate whether Remote Direct Memory Access (RDMA) acceleration is supported;
[0186] Channel type;
[0187] A session identifier that has already been loaded.
[0188] In some embodiments, determining the first channel of a data packet based on the target channel number and the status information of N channels includes:
[0189] Based on the target channel sequence number and the loaded session identifiers in the status information of N channels, determine the affinity parameters between the data packet and the N channels;
[0190] Based on the first parameter in the status information of N channels, determine the available values of the first parameter of N channels, where the first parameter includes parameters in the status information other than the session identifier that has been loaded.
[0191] For each of the N channels, the available values of the channel's first parameter and the channel's affinity parameter are weighted and summed to obtain the channel's score;
[0192] The channel with the highest score among the N channels is designated as the first channel.
[0193] In some embodiments, the affinity parameters between the data packet and the N channels are determined based on the target channel sequence number and the loaded session identifiers included in the status information of the N channels, including at least one of the following:
[0194] For each of the N channels, if the protocol type of the data packet is the first type and the loaded session identifier in the channel's state information includes the session identifier in the data packet's data tag vector, the affinity parameter between the data packet and the channel is determined to be the first value.
[0195] If the protocol type of the data packet is type 1 and the loaded session identifier in the channel status information does not include the session identifier in the data tag vector of the data packet, then if the channel sequence number is the target channel sequence number, the affinity parameter between the data packet and the channel is determined to be the second value.
[0196] If the protocol type of the data packet is type 1 and the loaded session identifier in the channel status information does not include the session identifier in the data tag vector of the data packet, then if the channel sequence number is not the target channel sequence number, the affinity parameter between the data packet and the channel will be determined as the third value.
[0197] If the protocol type of the data packet is type 2, and the channel sequence number is the target channel sequence number, then the affinity parameter between the data packet and the channel is determined to be the second value.
[0198] If the protocol type of the data packet is type 2, and the channel sequence number is not the target channel sequence number, then the affinity parameter between the data packet and the channel is determined to be the third value.
[0199] Among them, the third value is less than the second value, and the second value is less than the first value.
[0200] The message sending device 300 provided in this embodiment can implement the various processes of the above-described message sending method embodiments. The technical features correspond one-to-one and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0201] This application also provides an electronic device, including: a processor, a memory, and a program stored in the memory and executable on the processor. When the program is executed by the processor, it implements the various processes of the above-described message sending method embodiments and achieves the same technical effect. To avoid repetition, it will not be described again here.
[0202] For details, see Figure 4 This application also provides an electronic device, which is a relay device, including a bus 401, a transceiver 402, an antenna 403, a bus interface 404, a processor 405, and a memory 406.
[0203] Processor 405 includes a central processing unit (CPU), a graphics processing unit (GPU), and a data processing unit (DPU). The DPU connects to roadside equipment at multiple intersections. Processor 405 is used for:
[0204] The DPU receives multiple data packets sent by the roadside equipment.
[0205] Multiple data packets are distributed to the CPU and GPU via the DPU;
[0206] The perception results are obtained through the GPU based on the data packets distributed to the GPU by the DPU, and then sent to the CPU.
[0207] The CPU generates vehicle-to-everything (V2X) messages based on the perception results and the data packets distributed by the DPU to the CPU, and sends the V2X messages to the DPU.
[0208] V2X messages are sent to the vehicle via the DPU.
[0209] In some embodiments, multiple data packets are distributed from the DPU to the CPU and GPU, including:
[0210] For each of the multiple data packets, the first channel of the data packet is determined based on the DPU in N channels. The first channel is the channel from the DPU to the CPU or GPU, where N is an integer greater than 1.
[0211] Based on the DPU, data packets are sent to the CPU or GPU through the first channel.
[0212] In some embodiments, determining the first channel of a data packet among multiple channels based on the DPU includes:
[0213] Parse the data packets to obtain a data tag vector. The data tag vector includes at least one of the following: protocol type, data packet identifier, session identifier, data 5-tuple, estimated average bandwidth of the data packet, and time information. The data 5-tuple includes at least one of the following: source Internet Protocol address (IP), destination IP, source port number, destination port number, and protocol type.
[0214] The data label vector is hashed to obtain a hash value;
[0215] The target channel number is determined based on the hash value and N;
[0216] Based on the target channel number and the status information of N channels, determine the first channel of the data packet.
[0217] In some embodiments, the status information includes at least one of the following:
[0218] The CPU equivalent load that can be tolerated;
[0219] Tolerable memory load;
[0220] Affordable parallel computing resources;
[0221] Bandwidth capacity;
[0222] Information used to indicate whether Remote Direct Memory Access (RDMA) acceleration is supported;
[0223] Channel type;
[0224] A session identifier that has already been loaded.
[0225] In some embodiments, determining the first channel of a data packet based on the target channel number and the status information of N channels includes:
[0226] Based on the target channel sequence number and the loaded session identifiers in the status information of N channels, determine the affinity parameters between the data packet and the N channels;
[0227] Based on the first parameter in the status information of N channels, determine the available values of the first parameter of N channels, where the first parameter includes parameters in the status information other than the session identifier that has been loaded.
[0228] For each of the N channels, the available values of the channel's first parameter and the channel's affinity parameter are weighted and summed to obtain the channel's score;
[0229] The channel with the highest score among the N channels is designated as the first channel.
[0230] In some embodiments, the affinity parameters between the data packet and the N channels are determined based on the target channel sequence number and the loaded session identifiers included in the status information of the N channels, including at least one of the following:
[0231] For each of the N channels, if the protocol type of the data packet is the first type and the loaded session identifier in the channel's state information includes the session identifier in the data packet's data tag vector, the affinity parameter between the data packet and the channel is determined to be the first value.
[0232] If the protocol type of the data packet is type 1 and the loaded session identifier in the channel status information does not include the session identifier in the data tag vector of the data packet, then if the channel sequence number is the target channel sequence number, the affinity parameter between the data packet and the channel is determined to be the second value.
[0233] If the protocol type of the data packet is type 1 and the loaded session identifier in the channel status information does not include the session identifier in the data tag vector of the data packet, then if the channel sequence number is not the target channel sequence number, the affinity parameter between the data packet and the channel will be determined as the third value.
[0234] If the protocol type of the data packet is type 2, and the channel sequence number is the target channel sequence number, then the affinity parameter between the data packet and the channel is determined to be the second value.
[0235] If the protocol type of the data packet is type 2, and the channel sequence number is not the target channel sequence number, then the affinity parameter between the data packet and the channel is determined to be the third value.
[0236] Among them, the third value is less than the second value, and the second value is less than the first value.
[0237] exist Figure 4In this context, a bus architecture (represented by bus 401) is used. Bus 401 can include any number of interconnected buses and bridges, linking various circuits including one or more processors represented by processor 405 and memory represented by memory 406. Bus 401 can also link various other circuits such as peripheral devices, voltage regulators, and power management circuits, which are well known in the art and therefore will not be described further herein. Bus interface 404 provides an interface between bus 401 and transceiver 402. Transceiver 402 can be a single element or multiple elements, such as multiple receivers and transmitters, providing a unit for communicating with various other devices over a transmission medium. Data processed by processor 405 is transmitted over a wireless medium via antenna 403, which further receives data and transmits data to processor 405.
[0238] Processor 405 is responsible for managing bus 401 and general processing, and can also provide various functions, including timing, peripheral interface, voltage regulation, power management, and other control functions. Memory 406 can be used to store data used by processor 405 during operation.
[0239] Optionally, the processor 405 can be a CPU, ASIC, FPGA, or CPLD.
[0240] The processor 405 of the electronic device provided in this embodiment can implement each process of each embodiment of the above message sending method. The technical features correspond one-to-one and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0241] This application also provides a computer-readable storage medium storing a computer program. When executed by a processor, this computer program implements the various processes of the above-described message sending method embodiments and achieves the same technical effects. To avoid repetition, it will not be described again here. The computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, etc.
[0242] This application provides a computer program product, including computer instructions. When the computer instructions are executed by a processor, they implement the various processes of the method described in the embodiment. The technical features are one-to-one and can achieve the same technical effect. To avoid repetition, they will not be described again here.
[0243] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element.
[0244] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods of the various embodiments of this application.
[0245] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
Claims
1. A message sending method, characterized in that, Applied to an edge device, the edge device including a central processing unit (CPU), a graphics processing unit (GPU), and a data processing unit (DPU), the DPU being connected to roadside equipment at multiple intersections, the method includes: The DPU receives multiple data packets sent by the roadside equipment; The DPU distributes the multiple data packets to the CPU and the GPU; The GPU obtains the perception result based on the data packets distributed to the GPU by the DPU, and sends the perception result to the CPU. The CPU generates a vehicle-to-everything (V2X) message based on the perception results and the data packets distributed by the DPU to the CPU, and sends the V2X message to the DPU. The V2X message is sent to the vehicle via the DPU.
2. The method according to claim 1, characterized in that, The distribution of the multiple data packets from the DPU to the CPU and the GPU includes: For each of the plurality of data packets, the first channel of the data packet is determined from N channels based on the DPU, where the first channel is the channel from the DPU to the CPU or the GPU, and N is an integer greater than 1; Based on the DPU, the data packet is sent to the CPU or the GPU through the first channel.
3. The method according to claim 2, characterized in that, The step of determining the first channel of the data packet among multiple channels based on the DPU includes: The data packet is parsed to obtain a data tag vector, which includes at least one of the following: protocol type, data packet identifier, session identifier, data 5-tuple, estimated average bandwidth of the data packet, and time information; wherein, the data 5-tuple includes at least one of the following: source Internet Protocol address (IP), destination IP, source port number, destination port number, and the protocol type; The data tag vector is hashed to obtain a hash value; Based on the hash value and N, the target channel number is determined; The first channel of the data packet is determined based on the target channel number and the status information of the N channels.
4. The method according to claim 3, characterized in that, The status information includes at least one of the following: The CPU equivalent load that can be tolerated; Tolerable memory load; Affordable parallel computing resources; Bandwidth capacity; Information used to indicate whether Remote Direct Memory Access (RDMA) acceleration is supported; Channel type; A session identifier that has already been loaded.
5. The method according to claim 3 or 4, characterized in that, Determining the first channel of the data packet based on the target channel number and the status information of the N channels includes: Based on the target channel number and the loaded session identifiers in the status information of the N channels, the affinity parameters between the data packet and the N channels are determined. Based on the first parameter in the status information of the N channels, determine the available values of the first parameter of the N channels, wherein the first parameter includes parameters in the status information other than the loaded session identifier; For each of the N channels, the available values of the first parameter of the channel and the affinity parameter of the channel are weighted and summed to obtain the score of the channel; The channel with the highest score among the N channels is determined as the first channel.
6. The method according to claim 5, characterized in that, The determination of the affinity parameters between the data packet and the N channels based on the target channel sequence number and the loaded session identifiers included in the status information of the N channels includes at least one of the following: For each of the N channels, if the protocol type of the data packet is the first type and the loaded session identifier in the status information of the channel includes the session identifier in the data tag vector of the data packet, the affinity parameter between the data packet and the channel is determined to be a first value. If the protocol type of the data packet is the first type and the loaded session identifier in the status information of the channel does not include the session identifier in the data tag vector of the data packet, then if the sequence number of the channel is the target channel sequence number, the affinity parameter between the data packet and the channel is determined to be the second value. If the protocol type of the data packet is the first type and the loaded session identifier in the status information of the channel does not include the session identifier in the data tag vector of the data packet, then if the sequence number of the channel is not the target channel sequence number, the affinity parameter between the data packet and the channel is determined to be a third value. If the protocol type of the data packet is the second type, and the channel number is the target channel number, then the affinity parameter between the data packet and the channel is determined to be the second value. If the protocol type of the data packet is the second type, and the channel sequence number is not the target channel sequence number, then the affinity parameter between the data packet and the channel is determined to be the third value. The third value is less than the second value, and the second value is less than the first value.
7. A message sending device, characterized in that, The message sending device includes an edge device, which comprises a central processing unit (CPU), a graphics processing unit (GPU), and a data processing unit (DPU). The DPU is connected to roadside equipment at multiple intersections. The edge device includes: The first receiving module is used to receive multiple data packets sent by the roadside equipment through the DPU; A first sending module is used for the DPU to distribute the multiple data packets to the CPU and the GPU; A perception module is used to obtain perception results through the GPU based on data packets distributed by the DPU to the GPU, and to send the perception results to the CPU; The message processing module is used to generate a vehicle-to-everything (V2X) message based on the perception result and the data packets distributed by the DPU to the CPU, and send the V2X message to the DPU. The second sending module is used by the DPU to send the V2X message to the vehicle.
8. An electronic device, characterized in that, The system includes a transceiver and a processor, the processor comprising a central processing unit (CPU), a graphics processing unit (GPU), and a data processing unit (DPU). The DPU is connected to roadside equipment at multiple intersections. The processor is used for: The DPU receives multiple data packets sent by the roadside equipment; The DPU distributes the multiple data packets to the CPU and the GPU; The GPU obtains the perception result based on the data packets distributed to the GPU by the DPU, and sends the perception result to the CPU. The CPU generates a vehicle-to-everything (V2X) message based on the perception results and the data packets distributed by the DPU to the CPU, and sends the V2X message to the DPU. The V2X message is sent to the vehicle via the DPU.
9. An electronic device, characterized in that, include: A processor, a memory, and a program stored in the memory and executable on the processor, wherein the program, when executed by the processor, implements the steps of the method as described in any one of claims 1 to 6.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the method described in any one of claims 1-6.
11. A computer program product, characterized in that, It includes computer instructions that, when executed by a processor, implement the steps of the method as described in any one of claims 1-6.