Message priority scheduling test system for high density v2x communications

By monitoring and assessing the congestion status of the V2X communication network and dynamically adjusting resource allocation, the problem of delayed transmission of high-priority messages in high-density V2X communication was solved, achieving efficient, timely and reliable message transmission and improving the service reliability and stability of the system.

CN120916200BActive Publication Date: 2026-04-24WUXI XIAOFENG AUTOMOTIVE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
WUXI XIAOFENG AUTOMOTIVE TECH CO LTD
Filing Date
2025-09-08
Publication Date
2026-04-24

AI Technical Summary

Technical Problem

Existing technologies struggle to identify the time sensitivity and potential harm of different messages in high-density V2X communication scenarios, leading to delays in the transmission of high-priority messages under congestion conditions. This affects the route planning and information transmission of emergency vehicles, and the lack of a feedback and evaluation mechanism for scheduling behavior results in resource misallocation and performance drift.

Method used

The system employs a V2X slice congestion monitoring module, a message potential dynamic assessment module, a preemptive scheduling decision generation module, and a resource dynamic adjustment verification module. By monitoring the C-V2X message arrival rate and physical buffer occupancy rate of network slices, it calculates the virtual queue length, assesses the potential harm of a single message, and performs preemptive scheduling decisions and resource adjustments to ensure the timely transmission of high-priority messages.

Benefits of technology

It improved the ability to identify network operation pressure, enhanced the perception granularity and task level discrimination ability of the scheduling system, improved the real-time performance of message transmission and the accuracy of resource scheduling, and ensured stability in complex traffic and communication environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120916200B_ABST
    Figure CN120916200B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of network slices, in particular to a message priority scheduling test system for high-density V2X communication, which comprises a V2X slice congestion state monitoring module, which is used for monitoring the C-V2X message arrival rate and the physical buffer occupancy rate of each network slice, calculating a virtual queue length value, and aggregating the virtual queue length value of all network slices with corresponding slice identifiers. In the application, the C-V2X message arrival rate and the physical buffer occupancy rate of each network slice are synchronously observed and numerically integrated, a slice congestion state representation system with time sensitivity and dynamic adaptability is established, the identification capability for network operation pressure is improved, and through coupling modeling of the message life cycle and the slice bearing state, a potential hazard degree index for a single message is constructed, so that the scheduling system has stronger perceptual granularity and task level discrimination capability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of network slicing technology, and in particular to a message priority scheduling test system for high-density V2X communication. Background Technology

[0002] Network slicing is one of the key technologies in next-generation mobile communication systems, primarily used to build multiple logically isolated, functionally customized end-to-end virtual networks on a shared physical network infrastructure. Meanwhile, the high-density V2X communication message priority scheduling test system is a testing and verification platform for message scheduling optimization in vehicle-to-everything (V2X) scenarios, aiming to achieve efficient, timely, and reliable V2X message transmission control in intelligent transportation systems under high traffic flow and high message density environments.

[0003] Current technologies only provide the ability to build multiple logically isolated virtual networks on physical infrastructure. In high-density V2X communication scenarios, traditional network slicing architectures rely solely on static resource configuration or service level classification for scheduling, making it difficult to identify the time sensitivity and potential severity of different messages. This leads to high-priority messages being delayed under congestion conditions. Furthermore, the lack of a feedback and evaluation mechanism for scheduling results can easily lead to resource mismatch and performance drift in the long run, making it difficult to guarantee service consistency for task requirements. For example, in congested areas, if a large number of non-critical messages occupy link resources and cannot be identified and cleared in a timely manner, it will directly affect the route planning and information transmission of emergency vehicles, reducing the overall system's service reliability. Therefore, improvements are needed. Summary of the Invention

[0004] The purpose of this invention is to address the shortcomings of existing technologies by proposing a message priority scheduling test system for high-density V2X communication.

[0005] To achieve the above objectives, the present invention adopts the following technical solution: a high-density V2X communication message priority scheduling test system comprising:

[0006] The V2X slice congestion status monitoring module is used to monitor the C-V2X message arrival rate and physical buffer occupancy rate of each network slice, calculate the virtual queue length value, aggregate the virtual queue length values ​​of all network slices with the corresponding slice identifier, and establish a slice congestion status set.

[0007] The message potential energy dynamic assessment module is used to obtain the message priority and message deadline of V2X messages, and call the congestion data of the corresponding network slice from the slice congestion status set to calculate and generate the potential harm of a single message. Then, the potential harm of each V2X message is associated with a unique identifier to form a message potential energy sequence.

[0008] The preemptive scheduling decision generation module is used to extract the potential hazard of a newly arrived message from the message potential energy sequence, and at the same time obtain the potential hazard of a message currently being transmitted by the vehicle unit and a preset hysteresis factor, obtain a preemptive decision Boolean value, select to interrupt the current transmission or maintain the current transmission based on the result of the preemptive decision Boolean value, and output a scheduling instruction identifier.

[0009] The resource dynamic adjustment verification module is used to receive the scheduling instruction identifier, determine whether to interrupt the current data transmission of the roadside unit according to the content of the instruction identifier, and obtain the change in the congestion level of each network slice in combination with the initial slice congestion state set, and generate congestion balance adjustment verification data.

[0010] Preferably, the step of obtaining the virtual queue length value is as follows:

[0011] For each network slice, extract the C-V2X message arrival timestamp and physical buffer occupancy rate sequence within a unified statistical time window, remove duplicates by aligning the timestamps, calculate the number of arrivals per unit time and divide by the time window length to obtain the average C-V2X message arrival rate, and calculate the average occupancy rate sample to obtain the average physical buffer occupancy rate.

[0012] The virtual queue length is calculated based on the average C-V2X message arrival rate and the average physical buffer occupancy rate.

[0013] Preferably, the step of obtaining the slice congestion state set is as follows:

[0014] The virtual queue length value is paired one-to-one with the slice identifier. Pairs with missing or out-of-bounds virtual queue length values ​​are removed. The mapping relationship and index table are aggregated according to the slice identifier sequence to generate a slice congestion state set.

[0015] Preferably, the step of obtaining the potential harm level of a single message is as follows:

[0016] For each V2X message, read the message priority and message deadline timestamp, extract the virtual queue length value and average arrival rate of each network slice from the slice congestion state set according to the slice identifier in the message, unify the time unit and complete time zone calibration and duplicate removal, and form a quadruple of message priority, message deadline timestamp, virtual queue length value and average arrival rate.

[0017] The potential hazard value of a single message is calculated based on the quadruple of message priority, message deadline timestamp, virtual queue length value, and average arrival rate.

[0018] Preferably, the step of obtaining the message potential sequence is as follows:

[0019] The potential hazard value of each single message is associated with a unique message identifier and sorted stably according to the message arrival time. Historical records of the same unique message identifier are removed, and only the most recent potential hazard value of a single message is retained to generate a message potential energy sequence.

[0020] Preferably, the step of obtaining the preemption decision Boolean value is as follows:

[0021] Extract the potential hazard value of a single message corresponding to a newly arrived message from the message potential energy sequence. At the same time, locate the message that the vehicle unit is currently transmitting from the message potential energy sequence, read the potential hazard value of the single message of the message being transmitted, and combine it with the set lag factor for synchronization and processing to obtain the potential hazard value of a single message of a newly arrived message, the potential hazard value of a single message of the message being transmitted, and the lag factor.

[0022] Based on the single-message potential hazard value of the newly arrived message, the single-message potential hazard value of the currently transmitted message, and the hysteresis factor, the single-message potential hazard value of the newly arrived message and the product of the single-message potential hazard value of the currently transmitted message and the hysteresis factor are compared one by one. If the single-message potential hazard value of the newly arrived message is greater than the comparison result, it is marked as meeting the preemption condition; if it is less than or equal to the result, it is marked as not meeting the preemption condition, and a preemption decision Boolean value is obtained.

[0023] Preferably, the step of obtaining the scheduling instruction identifier is as follows:

[0024] Based on the preemption decision Boolean value, a Boolean value that meets the preemption condition is defined as interrupting transmission, and a Boolean value that does not meet the preemption condition is defined as maintaining transmission. The Boolean value is then bound to the corresponding message identifier to generate a scheduling instruction identifier.

[0025] Preferably, the steps for obtaining the congestion balancing adjustment verification data are as follows:

[0026] Receive the scheduling instruction identifier, interrupt or maintain the current data transmission channel of the roadside unit, record the operation time and data packet sequence number boundary, and obtain the current data transmission execution result of the roadside unit;

[0027] Based on the current data transmission execution result of the roadside unit, the initial virtual queue length value and physical buffer occupancy rate of the slice congestion state set are read, the corresponding observation values ​​of the same statistical time window are collected and time alignment and anomaly removal are completed, and the change in the congestion level of each network slice is generated.

[0028] Based on the changes in congestion levels of each network slice, the direction and magnitude of the changes are summarized according to the slice identifier, and the scheduling instruction identifier and operation time are bound together. Verification indicator fields, verification tags and remarks are constructed to generate congestion balance adjustment verification data.

[0029] Compared with the prior art, the advantages and positive effects of the present invention are as follows:

[0030] In this invention, by synchronously observing and numerically integrating the C-V2X message arrival rate and physical buffer occupancy rate of each network slice, a slice congestion state characterization system with time sensitivity and dynamic adaptability is established, improving the ability to identify network operation pressure. Combining the priority and deadline of V2X messages, a potential hazard index for a single message is constructed through coupled modeling of message lifecycle and slice carrying state, enabling the scheduling system to have stronger perception granularity and task-level discrimination capabilities. During message transmission, a lag factor is introduced as a stable parameter for scheduling continuity, and by comparing the combined value of the hazard of new messages and the hazard of the current transmission task in real time, the preemption behavior has dynamic decision-making capabilities and expected control range. At the same time, by comparing the virtual queue length value and buffer occupancy rate before and after the operation, the slice congestion level change is formed to provide feedback on the scheduling effect, establishing a congestion adjustment verification mechanism based on state assessment. This not only improves the real-time performance of message transmission and the accuracy of resource scheduling, but also enhances the stability of scheduling behavior in complex traffic and communication environments. Attached Figure Description

[0031] Figure 1 This is a system flowchart of the present invention. Detailed Implementation

[0032] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the invention.

[0033] Please see Figure 1 The present invention provides a technical solution: a message priority scheduling test system for high-density V2X communication, comprising:

[0034] The V2X slice congestion status monitoring module is used to monitor the C-V2X message arrival rate and physical buffer occupancy rate of each network slice, calculate the virtual queue length value, aggregate the virtual queue length values ​​of all network slices with the corresponding slice identifiers, and establish a slice congestion status set.

[0035] The message potential dynamic assessment module is used to obtain the message priority and message deadline of V2X messages, and to call the congestion data of the corresponding network slice from the slice congestion status set to calculate and generate the potential harm of a single message. Then, the potential harm of each V2X message is associated with a unique identifier to form a message potential sequence.

[0036] The preemptive scheduling decision generation module is used to extract the potential hazard of a newly arrived message from the message potential energy sequence, and at the same time obtain the potential hazard of the message currently being transmitted by the vehicle unit and the preset hysteresis factor, obtain the preemption decision Boolean value, select to interrupt the current transmission or maintain the current transmission based on the result of the preemption decision Boolean value, and output the scheduling instruction identifier.

[0037] The resource dynamic adjustment verification module is used to receive scheduling instruction identifiers, determine whether to interrupt the current data transmission of roadside units based on the content of the instruction identifiers, and obtain the change in the congestion level of each network slice by combining the initial slice congestion state set, and generate congestion balance adjustment verification data.

[0038] The steps to obtain the virtual queue length value are as follows:

[0039] For each network slice, extract the C-V2X message arrival timestamp and physical buffer occupancy rate sequence within a unified statistical time window, remove duplicates by aligning the timestamps, calculate the number of arrivals per unit time and divide by the time window length to obtain the average C-V2X message arrival rate, and calculate the average occupancy rate sample to obtain the average physical buffer occupancy rate.

[0040] The virtual queue length is calculated based on the average C-V2X message arrival rate and the average physical buffer occupancy rate, using the following formula:

[0041] ;

[0042] in, Let c be the virtual queue length value for the c-th network slice. Let c be the average C-V2X message arrival rate of the c-th network slice. Let be the average physical buffer occupancy of the c-th network slice. The feature service time for the c-th network slice, Let be the congestion surge factor for the c-th network slice. The letter number is used to denote the network slice.

[0043] Specifically, for each specified network slice, within a fixed statistical time window of 100 milliseconds, the data flow of the network interface controller is monitored to capture all C-V2X messages entering the dedicated physical buffer of that slice in real time. The arrival timestamp of each message and the instantaneous memory usage in bytes of the physical buffer at that time are recorded, forming a raw data record. This data record contains a timestamp sequence and a corresponding buffer usage sequence. Then, the timestamp sequence is traversed, and the timestamp precision is standardized to microseconds. The timestamps are then sorted, and the sorted sequence is checked. If the difference between two consecutive timestamps is less than 1 microsecond, it is determined to be a duplicate record, and only the former is retained. This completes the duplicate removal operation for C-V2X message arrival timestamps. Finally, the total number of processed independent timestamps within the 100-millisecond time window is counted and denoted as . Divide this total by the time window length of 0.1 seconds to obtain the average C-V2X message arrival rate. The calculation process is as follows: The unit is messages per second. At the same time, the number of bytes occupied by the physical buffer associated with each timestamp is divided by the total physical buffer capacity in bytes allocated to that slice to obtain a series of physical buffer occupancy values. For example, if the total buffer capacity is 1MB and the occupancy at a certain moment is 750KB, then the occupancy rate is 0.75. Finally, the average of all these occupancy rate values ​​within a 100-millisecond time window is calculated to obtain the average physical buffer occupancy rate.

[0044] formula: The above formula proposes a quantitative evaluation method for virtual queue length, used to dynamically measure the congestion level of network slices. The numerator of the formula... This represents the message load that a network slice needs to process within a specific service time period. The calculation result is expressed in "message count," directly reflecting the input pressure, while the denominator... This is a dimensionless penalty term, calculated using the physical buffer occupancy rate. To characterize resource usage, when As it approaches 1 (i.e., the buffer is about to fill), the value decreases sharply, leading to... The value grows exponentially; this non-linear growth design can amplify congestion risk signals in advance, especially by introducing a congestion surge factor. It allows adjusting the sensitivity of congestion awareness based on the Quality of Service (QoS) requirements of different network slices, setting higher sensitivity for high-priority, low-latency services. This value enables a more severe and rapid response to congestion, thereby achieving differentiated and refined assessment of the congestion status of different service slices.

[0045] The mean C-V2X message arrival rate for the c-th network slice is obtained by continuously monitoring the communication channel of the specified network slice c within a preset statistical time window (e.g., 100ms), recording the header information of all successfully received C-V2X messages, parsing the arrival timestamp of each data packet, counting all timestamps within a time window to obtain the total number of messages, and then dividing this total number by the length of the statistical time window (converted to seconds) to obtain the message arrival rate within that time window. To reduce the impact of instantaneous fluctuations, data is continuously collected for 10 time windows, and the average of these 10 arrival rates is calculated as the final value. For example, in a high-traffic intersection scenario, for an emergency safety message slice c='e', within ten consecutive 100ms time windows, the number of messages detected are 4, 5, 6, 5, 4, 5, 7, 5, 6, 3 respectively. The corresponding arrival rates (messages / second) are 40, 50, 60, 50, 40, 50, 70, 50, 60, 30 respectively. The average value is calculated as follows: Messages per second.

[0046] The average physical buffer occupancy of the c-th network slice is obtained by querying the real-time status of the physical buffer of the specified network slice c through the operating system kernel interface or the API provided by the network device driver at a fixed high-frequency sampling period (e.g., every 10ms). This yields the currently used memory size and the total allocated memory size, which are then divided to obtain the instantaneous occupancy rate. This occupancy rate is then calculated... Within the same statistical time window (100ms), 10 samples are taken. The 10 instantaneous occupancy rate values ​​are summed and averaged to obtain the mean occupancy rate within that time window. Similarly, to smooth the data, the mean occupancy rate of 10 consecutive time windows is averaged again to obtain the final mean occupancy rate. For example, for an emergency security message slice c='e', its allocated physical buffer size is 2MB. Within a certain 100ms period, the used memory sizes sampled 10 times are 1.2MB, 1.25MB, 1.3MB, 1.4MB, 1.45MB, 1.42MB, 1.38MB, 1.35MB, 1.41MB, and 1.44MB, respectively. The corresponding occupancy rates are 0.60, 0.625, 0.65, 0.70, 0.725, 0.71, 0.69, 0.675, 0.705, and 0.72, with an average of 0.68. If the average occupancy rate fluctuates around 0.7 for 10 consecutive time windows, then the final result is... .

[0047] The characteristic service time for the c-th network slice represents the average time required to process and send a single message. This parameter is obtained through offline calibration testing of the network slice's service flow. Specifically, 10,000 standard-length messages of this slice type are injected into network slice c in an idle test system. The time difference between each message entering the application layer sending queue and the physical layer confirming completion of sending is recorded. After removing the largest and smallest 5% of extreme values, the average of the remaining 9,000 time differences is calculated as the characteristic service time of this slice. This process is repeated under various background load conditions, and the final average value is taken to ensure its representativeness. For example, for an emergency security message slice c='e', its message processing flow is simplified, and after calibration testing, its characteristic service time is found to be 2 milliseconds. Second.

[0048] This is the congestion surge factor for the c-th network slice. This parameter adjusts the sensitivity of the virtual queue length to physical buffer usage. Its setting is based on the Quality of Service (QoS) requirements of the V2X service. Different service types have different latency and reliability requirements, thus requiring different congestion response strategies. Specifically, it maps the QoS Category Identifier (QCI) defined by the 3GPP standard to... Within the numerical range, a smaller QCI value indicates a higher business priority and stricter latency requirements. The larger the value, the faster the congestion warning will be. The calculation formula is set as follows:

[0049] ;

[0050] in, Let c be the QCI value corresponding to the c-th network slice. For example, if the QCI value corresponding to an emergency safety message (such as a CAM message) is 3, then its congestion surge factor is calculated as follows: .

[0051] Calculations based on parameters:

[0052] For network slice c='e' (emergency security message slice), substitute the obtained parameter values:

[0053] Messages per second;

[0054] ;

[0055] Second;

[0056] ;

[0057] Calculate the virtual queue length value :

[0058] ;

[0059] ;

[0060] ;

[0061] Calculate the denominator:

[0062] ;

[0063] Calculate the final result:

[0064] ;

[0065] The results indicate that the current virtual queue length of the emergency security message slice 'e' is 1.6287 messages. This value represents an equivalent message backlog, which integrates message arrival load, service capacity, and buffer occupancy to quantify the current congestion state. If the preset congestion thresholds are: less than 1 virtual queue backlog is considered smooth, 1 to 3 messages is considered mild congestion, 3 to 5 messages is considered moderate congestion, and more than 5 messages is considered severe congestion, then the current state of 1.6287 messages is considered mild congestion. This means that although the physical buffer is not yet saturated, the system's input load has begun to put pressure on the service capacity, requiring the attention of the scheduling system. This value will serve as a key input for subsequent message potential assessment to determine the potential harm of newly arriving messages and decide whether preemptive scheduling is necessary.

[0066] The steps for obtaining the slice congestion state set are as follows:

[0067] The virtual queue length value is paired one-to-one with the slice identifier. Pairs with missing or out-of-bounds virtual queue length values ​​are removed. The slice identifier sequence is aggregated to form a mapping relationship and index table, and a slice congestion state set is generated.

[0068] Specifically, based on the virtual queue length value of each network slice calculated in the previous stage and its corresponding slice identifier, the process of generating the slice congestion state set is initiated. First, these data are organized into a temporary key-value pair list. For example, if three slices are monitored, namely the emergency safety message slice 'e', ​​the autonomous driving collaboration slice 'a', and the infotainment slice 'i', the list [('e', 1.6287), ('a', 2.15), ('i', 0.88)] is obtained. Then, the validity of each pair of data in the list is checked. The validation rules include checking whether the virtual queue length value is missing, i.e., whether it is a non-numeric (NaN) or null value, and checking whether it is out of bounds. A reasonable numerical range is set, such as [0, 100], where 0 represents no congestion at all, and 100 represents that the slice has been saturated to the theoretical upper limit of being unable to process new messages. Any value less than 0 or greater than 100 is considered abnormal. For example, if ('e', 1.6287), ('a', NaN) are received, the result is abnormal. If ('i', 105.2), then ('a', NaN) is removed due to missing values, and ('i', 105.2) is removed because it exceeds the upper limit of 100. Only ('e', 1.6287) is retained. After verification and removal, the remaining valid pairings are sorted and aggregated according to a predefined sequence of slice identifiers (e.g., 'e', ​​'a', 'i' in descending order of priority), constructing a hash map as the final slice congestion state set. The key of this map is the slice identifier, and the value is a structure containing all relevant state information of the slice. This structure contains not only the current virtual queue length value but also the average C-V2X message arrival rate used to calculate the value. An example of the final generated slice congestion state set structure is {'e': {'Q_c': 1.6287, 'A_c': 50}, 'a': {'Q_c': 2.15, 'A_c': 80}}, this data structure provides indexing capabilities for fast lookups using slice identifiers.

[0069] The steps to obtain the potential harm level of a single message are as follows:

[0070] For each V2X message, read the message priority and message deadline timestamp, extract the virtual queue length value and average arrival rate of each network slice from the slice congestion state set according to the slice identifier in the message, unify the time unit and complete time zone calibration and duplicate removal, forming a quadruple of message priority, message deadline timestamp, virtual queue length value and average arrival rate;

[0071] The potential harm score of a single message is calculated based on a quadruple of message priority, message deadline timestamp, virtual queue length, and average arrival rate. The calculation formula is as follows:

[0072] ;

[0073] in, Let be the single-message potential hazard value of the i-th V2X message in the c-th network slice. Let i be the message priority value of the i-th V2X message in the c-th network slice. Let c be the virtual queue length value for the c-th network slice. Let c be the average C-V2X message arrival rate of the c-th network slice. Let i be the message expiration timestamp of the i-th V2X message in the c-th network slice. For the current calculation time, Let be the congestion priority gain coefficient for the c-th network slice. Let c be the time sensitivity factor of the network slice. To prevent the denominator from being zero for extremely small positive numbers, Let c be the nominal reference delay of the network slice. For message sequence number, This is the network slice number.

[0074] Specifically, for each newly arrived V2X message, a four-tuple construction process is initiated. First, the message's metadata fields are parsed and its core attributes are read, including a numeric message priority (e.g., an integer between 1 and 8) and an absolute timestamp representing the message's effective deadline. This timestamp is in UNIX timestamp format, accurate to milliseconds. Simultaneously, the network slice identifier, such as 'e', ​​is extracted from the message's payload or header information. Next, using this slice identifier 'e' as the lookup key, the previously generated slice congestion state set {'e':{'Q_c': 1.6287, 'A_c': 50}, 'a': {'Q_c': 2.15, 'A_c': 50} is retrieved. The process involves searching within 80}} to extract the corresponding virtual queue length value of 1.6287 and the average C-V2X message arrival rate of 50. Subsequently, all time-related data is standardized, unifying the message deadline timestamp and the system's current internal clock timestamp to Coordinated Universal Time (UTC), ensuring both are in seconds to eliminate calculation errors caused by time zone differences and unit inconsistencies. Simultaneously, to prevent duplicate message processing due to network retransmissions, the unique identifier of the current message is compared with a cached recent message ID with a validity period of 500 milliseconds. If the ID already exists, the current process terminates. After all data extraction and standardization are complete, these four core data points—message priority, message deadline timestamp, virtual queue length value, and average arrival rate—are combined in a fixed order to form a structured four-tuple data object, for example, (P_i,c:8, D_i,c: 1678886400.100, Q_c: 1.6287, A_c: 50).

[0075] formula: The above formula combines the static priority of a message with its dynamic network environment and time urgency, amplifying the impact of key factors through an exponential function to quantify the importance of the message. The core of the formula lies in the exponential part, where... Based on Little's rule in queuing theory, this method relates the virtual queue length Qc to the message arrival rate Ac, estimating the average message latency of the current slice. This directly transforms network congestion into a penalty factor with a time dimension. This term reflects the inherent sensitivity of slices to congestion; that is, a slice with a very low reference delay Tref_c is more susceptible to the harmful effects of congestion. The item captures the immediate urgency of the message, as the remaining validity time of the message increases. As the delay decreases, this value increases dramatically, reflecting the principle that "the closer to the deadline, the more dangerous it is." Ultimately, these two factors are multiplied by the average message delay and placed in the exponential position, so that the severity Hi,c increases non-linearly with the increase of congestion and time pressure, ensuring that messages in high-priority, high-timeliness, and high-congestion environments can obtain extremely high severity scores.

[0076] This parameter represents the message priority value of the i-th V2X message in the c-th network slice. It is directly read from the data field of the V2X message. The V2X communication protocol (such as ETSI ITS-G5) defines message priority levels, typically integers from 1 to 8, where a larger value indicates a higher priority. In this system, this integer value is directly used as the priority value. The quantification value, for example, an urgent Collaborative Awareness (CAM) message might be marked as the highest priority. When parsing its message header, if the priority field value is read as 8, then for this message, its... The value is 8.

[0077] This is the virtual queue length value for the c-th network slice. This parameter is not directly measured but calculated using the formula from the previous steps. It comprehensively reflects the network congestion state determined by both message arrival rate and physical buffer occupancy rate. In the aforementioned example, the virtual queue length value for the emergency security message slice c='e' has already been calculated, so this result is directly used here. The specific value is... .

[0078] The average C-V2X message arrival rate for the c-th network slice is calculated during the preparation phase for calculating the virtual queue length by monitoring message arrivals within a unified statistical time window. It reflects the service load intensity of a specific network slice. Based on the aforementioned example, the average C-V2X message arrival rate for the emergency security message slice c='e' is... Messages per second.

[0079] This is the message deadline timestamp for the i-th V2X message in the c-th network slice. This parameter is obtained from the header field of the V2X message. It defines the final deadline before which the message must be successfully transmitted, usually expressed in Coordinated Universal Time (UTC) UNIX timestamp format. For example, a newly arrived urgent message with a deadline of 1678886400.100 seconds in its message header would be... .

[0080] The current calculation time is obtained by calling a high-precision clock function in the system kernel. It represents the precise time point at which the single-message potential hazard calculation was performed. To ensure accurate calculation with the message's cutoff timestamp, its format and precision must also be a UNIX timestamp. For example, if the system clock reading is 1678886400.095 seconds when processing the above message, then... .

[0081] is the congestion priority gain coefficient for the c-th network slice. This dimensionless coefficient is used to adjust the sensitivity of different slices to the degree of network congestion. Its setting is closely related to the quality of service (QoS) requirements of the services carried by the slice. Specifically, it is achieved by mapping the QCI (QoS Class Identifier) ​​value defined by 3GPP to the coefficient value. The smaller the QCI value, the higher the priority. The larger the value, the more complex the calculation formula becomes: in Let c be the QCI value for slice c. This formula maps the QCI in the range [1, 8] to... The approximate range is [0, 0.1]. For example, if the QCI value of an emergency safety message slice c='e' is 3, then its congestion priority gain coefficient is... .

[0082] Let be the time sensitivity factor for the c-th network slice. This is a dimensionless parameter used to quantify the impact of the remaining validity time of a message on its potential harm. Similarly, its value depends on the QoS requirements of the service; the more stringent the latency requirements of the service, the higher its time sensitivity factor should be. Its calculation is related to the QCI value, and the formula is as follows: This formula ensures that slices with low QCI values ​​have higher yields. For example, for an emergency security message slice c='e' with a QCI value of 3, its time sensitivity factor is... .

[0083] For extremely small positive numbers, set .

[0084] The rated reference latency for the c-th network slice represents the typical end-to-end latency budget specified by standards such as 3GPP for services of a specific QoS level. It is a fixed baseline value obtained from publicly available technical specifications, in seconds. For emergency security services with QCI of 3, the latency requirement is typically within 10 milliseconds. Therefore, the rated reference latency for emergency security message slice c='e' is set to... Second.

[0085] Calculations based on parameters:

[0086] For the i-th message belonging to the emergency security message slice c='e', perform the calculation by substituting the parameter values ​​obtained above:

[0087] ;

[0088] ;

[0089] ;

[0090] ;

[0091] ;

[0092] ;

[0093] ;

[0094] ;

[0095] ;

[0096] First, calculate the terms within the exponential part:

[0097] Remaining valid time: Second;

[0098] Average message latency factor: Second;

[0099] Composite factors in parentheses:

[0100] ;

[0101] The unit of this factor is 1 / second.

[0102] Calculate the complete exponent value (dimensionless):

[0103] ;

[0104] Finally, the potential hazard level of a single message is calculated:

[0105] ;

[0106] ;

[0107] ;

[0108] The results indicate that, under the current network congestion and time constraints, the potential hazard value of this V2X message with priority 8 is 17.3424. This quantifies the potential risk that might result from the failure to transmit this message in a timely manner. In scheduling decisions, this value is compared with the potential hazard value of the currently transmitted message. If this value is significantly higher (e.g., exceeding the hazard value of the currently transmitted message multiplied by a lag factor), a preemption mechanism will be triggered to interrupt the current transmission and prioritize the transmission of this message with higher hazard value. A value of 17.3424 is generally considered to have a high preemption qualification, indicating that the transmission requirement of this message is quite urgent.

[0109] The steps to obtain the message potential sequence are as follows:

[0110] The potential hazard value of a single message is associated one-to-one with the message's unique identifier and sorted stably according to the message's arrival time. Historical records of the same message's unique identifier are removed, and only the most recent potential hazard value of a single message is retained to generate a message potential energy sequence.

[0111] Specifically, based on the single-message potential hazard value calculated in the previous step for each V2X message (e.g., 17.3424), the unique identifier carried by the message (e.g., the string "VehicleA-12345" composed of the source vehicle ID and message sequence number), and its arrival timestamp, these three elements are constructed into a data record. This record is then added to a dynamically maintained ordered list, which serves as the candidate set of message potential sequences. The list is sorted in ascending order based on the message arrival timestamps, specifically using merge sort to ensure that messages with the same arrival time maintain their relative order. After each new data record is added, a list maintenance operation is initiated. The list is traversed backward from the end to find a historical record with the same unique identifier as the newly added message. If found, the historical record is removed from the list. This deduplication step only retains the most recently calculated potential hazard value for each message. Because network status and time urgency are dynamic, the latest evaluation value best reflects the current actual importance of the message. For example, if the list already contains a record for "VehicleA-12345" with a hazard value of 15.2, when the new calculation result of 17.3424 arrives, the old record will be deleted and the new record will be inserted into the correct position in the list. After this series of association, sorting and deduplication operations, a real-time updated, time-sorted and non-repeating message potential energy sequence is finally formed.

[0112] The steps to obtain the Boolean value for preemption are as follows:

[0113] Extract the potential hazard value of a single message corresponding to a newly arrived message from the message potential energy sequence. At the same time, locate the message that the vehicle unit is currently transmitting from the message potential energy sequence, read the potential hazard value of the single message being transmitted, and combine it with the set lag factor for synchronization and processing to obtain the potential hazard value of a single message of a newly arrived message, the potential hazard value of a single message being transmitted, and the lag factor.

[0114] Based on the single-message potential hazard value of the newly arrived message, the single-message potential hazard value of the currently transmitted message, and the hysteresis factor, the single-message potential hazard value of the newly arrived message and the product of the single-message potential hazard value of the currently transmitted message and the hysteresis factor are compared one by one. If the single-message potential hazard value of the newly arrived message is greater than the comparison result, it is marked as meeting the preemption condition; if it is less than or equal to the result, it is marked as not meeting the preemption condition, and a preemption decision Boolean value is obtained.

[0115] Specifically, from the real-time updated message potential energy sequence, the unique identifier of a newly arrived message is indexed to accurately extract its corresponding single-message potential hazard value. For example, for the newly arrived message "VehicleB-54321", its hazard value is found to be 25.88. Simultaneously, the physical layer transmission status register of the vehicle unit is queried to obtain the unique identifier of the data packet currently being transmitted on the wireless channel, such as "VehicleC-98765". This identifier is then used to quickly search within the message potential energy sequence to locate the record of the currently transmitted message and read its single-message potential hazard value. If the hazard level is, for example, 16.50, then, based on the current communication environment and service strategy of the vehicle unit, a preset hysteresis factor is invoked. This hysteresis factor is set to avoid excessively frequent transmission interruptions caused by small differences in hazard level, thereby ensuring communication stability. The value of the hysteresis factor is not fixed but dynamically adjusted. The calculation method is as follows: the base value is 1.1, and based on this, it is fine-tuned according to the current channel signal-to-noise ratio (SNR). The higher the SNR, the more stable the communication and the lower the cost of interruption; the hysteresis factor can be appropriately decreased, and vice versa. The specific calculation formula is: Hysteresis factor = 1.1 + 0.5 * (1 - (SNR / SNR_max)), where SNR_max is the preset maximum reference signal-to-noise ratio, for example, 25dB. If the currently monitored SNR is 20dB, then the hysteresis factor is calculated as 1.1 + 0.5 * (1 - (20 / 25)) = 1.1 + 0.5 *0.2 = 1.2. Finally, the single-message potential hazard value of the newly arrived message (25.88), the single-message potential hazard value of the message being transmitted (16.50), and the calculated hysteresis factor (1.2) are synchronized and packaged into a decision input tuple, resulting in (25.88, 16.50, 1.2).

[0116] Based on the decision input tuple obtained in the previous step—namely, the potential harm value of the newly arrived message (25.88), the potential harm value of the currently transmitting message (16.50), and the hysteresis factor (1.2)—the preemption decision logic is executed. First, the product of the harm of the currently transmitting message and the hysteresis factor is calculated. This product constitutes a dynamic preemption threshold, calculated as 16.50 * 1.2 = 19.8. This threshold represents the required harm difference to warrant interrupting the current transmission. Then, the potential harm value of the newly arrived message (25.88) is compared with this calculated preemption threshold (19.8). The comparison logic is: potential harm value of the newly arrived message > preemption threshold, i.e., 25.88 > 19.8. Since this condition is met, the comparison result is marked as "preemption condition satisfied," and a Boolean value of True is generated. If the harm of the newly arrived message is 18.0, the comparison result is 18.0 > 19.8. 19.8 If the condition is not met, it will be marked as "preemption condition not met" and a Boolean value of False will be generated. This decision process will be carried out for each newly arrived message that is eligible to participate in scheduling, and a corresponding preemption decision Boolean value will be generated for each pending message in the system.

[0117] The steps to obtain the scheduling instruction identifier are as follows:

[0118] Based on the preemption decision Boolean value, a Boolean value that meets the preemption condition is defined as interrupting transmission, and a Boolean value that does not meet the preemption condition is defined as maintaining transmission. The Boolean value is then bound to the corresponding message identifier to generate a scheduling instruction identifier.

[0119] Specifically, based on the preemption decision Boolean value generated for each pending message in the previous step, the scheduling instruction generation and binding operation is performed. Specifically, these Boolean value results are iterated. For each decision with a true result (True), i.e., the preemption condition is met, its semantics are interpreted as "interrupt transmission," generating a corresponding opcode, such as hexadecimal 0x01. For decisions with a false result (False), i.e., the preemption condition is not met, its semantics are interpreted as "maintain transmission," generating opcode 0x00. Then, this generated opcode is bound to the unique identifier of the message that triggered this decision, forming a complete scheduling instruction. For example, for the message "VehicleB-54321," whose Boolean decision value is true, the generated instruction is ("VehicleB-54321", 0x01). For another message "VehicleD-11223," whose Boolean decision value is false, the instruction is ("VehicleD-11223", 0x01). These instructions (0x00) are encapsulated into a standardized data structure containing two fields: message identifier and operation instruction code. This ultimately generates a set of scheduling instruction identifiers containing the decision results of all pending messages. This set will be sent to the Media Access Control (MAC) layer executor of the underlying communication protocol stack.

[0120] The steps for obtaining congestion balancing adjustment validation data are as follows:

[0121] Receive the scheduling instruction identifier, interrupt or maintain the current data transmission channel of the roadside unit, record the operation time and data packet sequence number boundary, and obtain the current data transmission execution result of the roadside unit.

[0122] Based on the current data transmission execution results of the roadside unit, the initial virtual queue length value and physical buffer occupancy rate of the slice congestion state set are read, the corresponding observation values ​​of the same statistical time window are collected and time alignment and anomaly removal are completed, and the change in the congestion level of each network slice is generated.

[0123] Based on the changes in congestion levels of each network slice, the direction and magnitude of the changes are summarized according to the slice identifier, and the scheduling instruction identifier and operation time are bound together. Verification indicator fields, verification tags and remarks are constructed to generate congestion balance adjustment verification data.

[0124] Specifically, upon receiving the set of scheduling instruction identifiers, the Media Access Control (MAC) layer scheduler of the roadside unit parses each instruction one by one. For the instruction ("VehicleB-54321", 0x01), its opcode 0x01 is interpreted as "interrupt transmission." The scheduler immediately sends a hardware interrupt signal to the physical layer, forcibly stopping the transmission of the currently ongoing wireless data frame and clearing the physical layer's transmission buffer. Simultaneously, it records the precise system timestamp of the interrupt operation, such as 1678886400.105, and reads the sequence number of the last successfully transmitted data packet in the current physical layer transmission queue, as well as the starting sequence number of the interrupted data packet, forming a data packet sequence number boundary record, such as (LastSent: 1023, Interrupted: 1024). For the instruction ("VehicleD-11223", ... 0x00), whose opcode 0x00 is interpreted as "maintain transmission", means that the scheduler does not intervene and allows the current data transmission process to continue. Similarly, the time when this "maintain" decision is made is recorded as 1678886400.106, and the sequence number of the data packet currently being sent is also recorded, for example (Maintaining: 1025). All these operations and records are summarized to constitute the current data transmission execution result of the roadside unit.

[0125] Based on the operation time recorded in the current data transmission execution result of the roadside unit, such as the interruption operation occurring at 1678886400.105, this time is used as the starting point for verification evaluation. First, the slice congestion state set generated before the scheduling decision is read from memory, and the initial state of all network slices before scheduling is extracted. For example, the initial virtual queue length of the emergency safety message slice 'e' is 1.6287, and the physical buffer occupancy rate is 0.7, and the initial virtual queue length of the autonomous driving cooperative slice 'a' is 2.15, and the physical buffer occupancy rate is 0.85. Then, starting from this operation time, a new unified statistical time window with the same length as before is started, for example, 100 milliseconds. Within this new time window, the monitoring process that is exactly the same as the initial state acquisition is re-executed, that is, the C-V2X messages of each network slice are continuously collected. The system collects arrival timestamps and physical buffer occupancy sequences, calculates the average C-V2X message arrival rate and average physical buffer occupancy after the scheduling operation, and then uses these newly collected data to calculate the virtual queue length value after scheduling using the same formula. For example, after scheduling, the virtual queue length value of slice 'e' becomes 1.25, and the physical buffer occupancy rate decreases to 0.62; the virtual queue length value of slice 'a' becomes 2.30, and the physical buffer occupancy rate increases to 0.88. Next, the observations before and after scheduling are paired according to slice identifiers, and time alignment checks are performed to remove abnormal data points that cause timestamp mismatch due to system latency. Finally, the values ​​after scheduling are subtracted from the initial values ​​before scheduling to calculate the specific changes in virtual queue length and physical buffer occupancy rate for each network slice, thereby generating data on the changes in congestion level for each network slice.

[0126] Based on the congestion level change data generated in the previous step for each network slice, for example, the change in virtual queue length value for slice 'e' is -0.3787 (1.25 - 1.6287), and the change in virtual queue length value for slice 'a' is +0.15 (2.30 - 2.15), the data is summarized according to the slice identifiers 'e' and 'a'. For each slice, the direction of its congestion level change is determined, i.e., whether it is "decreasing", "increasing", or "remaining unchanged", and its magnitude of change is quantified, i.e., the absolute value of the change. Then, this summarized information is combined with the specific scheduling instruction identifier that triggered this change, such as ("VehicleB-54321"). The code 0x01, along with the execution time 1678886400.105, is bound to construct a structured verification record. Within this record, a series of verification indicator fields are further constructed, such as "congestion mitigation efficiency." This efficiency is calculated by dividing the increase in the virtual queue length of the preempted slice (e.g., 'a') by the decrease in the virtual queue length of the preempted slice (e.g., 'e'), i.e., 0.15 / 0.3787, resulting in 0.396. Simultaneously, a verification flag field is established. The setting rule for this field is: if the congestion level of the preempted slice decreases and the increase in the congestion level of the preempted slice is within a preset threshold (e.g., not exceeding 50% of the decrease in the preempted slice), it is marked as "effective adjustment"; otherwise, it is marked as "ineffective adjustment." In this example, 0.15 < 0.3787 * 0.5, the condition is met, so it is marked as "valid adjustment". Finally, a remarks field is added to record contextual information that may affect the result, such as the channel quality and vehicle density at that time. All these fields are combined to generate a complete congestion equalization adjustment verification data.

Claims

1. A message priority scheduling test system for high-density V2X communication, characterized in that, The system includes: The V2X slice congestion status monitoring module is used to monitor the C-V2X message arrival rate and physical buffer occupancy rate of each network slice, calculate the virtual queue length value, aggregate the virtual queue length values ​​of all network slices with the corresponding slice identifier, and establish a slice congestion status set. The message potential energy dynamic assessment module is used to obtain the message priority and message deadline of V2X messages, and call the congestion data of the corresponding network slice from the slice congestion status set to calculate and generate the potential harm of a single message. Then, the potential harm of each V2X message is associated with a unique identifier to form a message potential energy sequence. The preemptive scheduling decision generation module is used to extract the potential hazard of a newly arrived message from the message potential energy sequence, and at the same time obtain the potential hazard of a message currently being transmitted by the vehicle unit and a preset hysteresis factor, obtain a preemptive decision Boolean value, select to interrupt the current transmission or maintain the current transmission based on the result of the preemptive decision Boolean value, and output a scheduling instruction identifier. The resource dynamic adjustment verification module is used to receive the scheduling instruction identifier, and decide whether to interrupt the current data transmission of the roadside unit according to the content of the instruction identifier, and obtain the change in the congestion level of each network slice in combination with the initial slice congestion state set, and generate congestion balance adjustment verification data. The steps for obtaining the virtual queue length value are as follows: For each network slice, extract the C-V2X message arrival timestamp and physical buffer occupancy rate sequence within a unified statistical time window, remove duplicates by aligning the timestamps, calculate the number of arrivals per unit time and divide by the time window length to obtain the average C-V2X message arrival rate, and calculate the average occupancy rate sample to obtain the average physical buffer occupancy rate. The virtual queue length is calculated based on the average C-V2X message arrival rate and the average physical buffer occupancy rate. The steps for obtaining the potential harm level of a single message are as follows: For each V2X message, read the message priority and message deadline timestamp, extract the virtual queue length value and average arrival rate of each network slice from the slice congestion state set according to the slice identifier in the message, unify the time unit and complete time zone calibration and duplicate removal, and form a quadruple of message priority, message deadline timestamp, virtual queue length value and average arrival rate. The potential hazard value of a single message is calculated based on the quadruple of message priority, message deadline timestamp, virtual queue length value, and average arrival rate. The steps for obtaining the Boolean value of the preemption decision are as follows: Extract the potential hazard value of a single message corresponding to a newly arrived message from the message potential energy sequence. At the same time, locate the message that the vehicle unit is currently transmitting from the message potential energy sequence, read the potential hazard value of the single message of the message being transmitted, and combine it with the set lag factor for synchronization and processing to obtain the potential hazard value of a single message of a newly arrived message, the potential hazard value of a single message of the message being transmitted, and the lag factor. Based on the single-message potential hazard value of the newly arrived message, the single-message potential hazard value of the currently transmitted message, and the hysteresis factor, the single-message potential hazard value of the newly arrived message and the product of the single-message potential hazard value of the currently transmitted message and the hysteresis factor are compared one by one. If the single-message potential hazard value of the newly arrived message is greater than the comparison result, it is marked as meeting the preemption condition; if it is less than or equal to the result, it is marked as not meeting the preemption condition, and a preemption decision Boolean value is obtained.

2. The message priority scheduling test system for high-density V2X communication according to claim 1, characterized in that, The steps for obtaining the slice congestion state set are as follows: The virtual queue length value is paired one-to-one with the slice identifier. Pairs with missing or out-of-bounds virtual queue length values ​​are removed. The mapping relationship and index table are aggregated according to the slice identifier sequence to generate a slice congestion state set.

3. The message priority scheduling test system for high-density V2X communication according to claim 1, characterized in that, The steps for obtaining the message potential sequence are as follows: The potential hazard value of each single message is associated with a unique message identifier and sorted stably according to the message arrival time. Historical records of the same unique message identifier are removed, and only the most recent potential hazard value of a single message is retained to generate a message potential energy sequence.

4. The message priority scheduling test system for high-density V2X communication according to claim 1, characterized in that, The steps for obtaining the scheduling instruction identifier are as follows: Based on the preemption decision Boolean value, a Boolean value that meets the preemption condition is defined as interrupting transmission, and a Boolean value that does not meet the preemption condition is defined as maintaining transmission. The Boolean value is then bound to the corresponding message identifier to generate a scheduling instruction identifier.

5. The message priority scheduling test system for high-density V2X communication according to claim 1, characterized in that, The steps for obtaining the congestion equalization adjustment verification data are as follows: Receive the scheduling instruction identifier, interrupt or maintain the current data transmission channel of the roadside unit, record the operation time and data packet sequence number boundary, and obtain the current data transmission execution result of the roadside unit; Based on the current data transmission execution result of the roadside unit, the initial virtual queue length value and physical buffer occupancy rate of the slice congestion state set are read, the corresponding observation values ​​of the same statistical time window are collected and time alignment and anomaly removal are completed, and the change in the congestion level of each network slice is generated. Based on the changes in congestion levels of each network slice, the direction and magnitude of the changes are summarized according to the slice identifier, and the scheduling instruction identifier and operation time are bound together. Verification indicator fields, verification tags and remarks are constructed to generate congestion balance adjustment verification data.

Citation Information

Patent Citations

  • Reliability based 5G network slice online mapping method

    CN108566659A

  • V2X vehicle-mounted terminal message self-adaptive scheduling management system and V2X vehicle-mounted terminal message self-adaptive scheduling management method

    CN110267228A