A data processing method, device, apparatus, and storage medium

By using priority queues and data detection mechanisms in the autonomous driving perception module, the problems of data loss and timing disorder in the multi-sensor data synchronization process are solved, improving the accuracy and consistency of data synchronization and ensuring the data quality of subsequent processing and fusion.

CN116436932BActive Publication Date: 2026-07-28CHINA AUTOMOTIVE INNOVATION CORP
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
CHINA AUTOMOTIVE INNOVATION CORP
Filing Date
2023-02-28
Publication Date
2026-07-28

AI Technical Summary

Technical Problem

In the perception module of autonomous driving, there are problems of data loss and timing disorder during the multi-sensor data synchronization process, which leads to data synchronization defects and affects the accuracy of data processing and fusion.

Method used

By receiving sensor data within the target period and storing it in a priority queue, sorting the sensor data based on the acquisition time, detecting abnormal data queues, and confirming the existence of data within a preset waiting time, the system deletes non-existent data to ensure the synchronization of sensor data.

Benefits of technology

It improves the accuracy of data frame loss detection, prevents the accidental deletion of normal data, ensures the synchronization of sensor data, and provides reliable data support for subsequent processing and fusion.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116436932B_ABST
    Figure CN116436932B_ABST
Patent Text Reader

Abstract

The application discloses a data processing method and device, equipment and a storage medium. The method comprises the following steps: storing sensor data transmitted by a target sensor and received in a current target period into a data queue corresponding to the target sensor; performing data detection on data queues corresponding to a plurality of preset sensors at a detection time node to obtain a first data detection result; in the case that the first data detection result indicates that there is an abnormal data queue in the data queues corresponding to the plurality of preset sensors, performing data detection on the abnormal data queue within a preset waiting time to obtain a second data detection result; and in the case that there is no sensor data corresponding to the current target period in the abnormal data queue, deleting the sensor data corresponding to the current target period in the data queues corresponding to the plurality of preset sensors. The application can improve the data loss frame judgment accuracy and realize synchronous transmission of a plurality of sensor data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing technology, and in particular to a data processing method, apparatus, device and storage medium. Background Technology

[0002] Autonomous driving perception modules involve data acquisition from multiple sensors, including laser scanners, radar, and cameras. The mainstream design approach employs a Topic subscription mechanism based on the ROS (Robot Operating System). Topics are associated with sensors, and the perception module's callback functions receive data from each sensor sent by ROS. During data acquisition, it's crucial to handle the synchronization of multi-sensor data over time, ensuring accurate and orderly arrival of data from multiple sensors at the same moment. This provides data support for post-processing and effective fusion of multi-sensor data.

[0003] Due to factors such as differences in data preprocessing time on the sensor side and instability of the communication network, ROS may lose some sensor data frames during data transmission. Once ROS frame loss occurs, it can easily lead to data synchronization defects in the sensing module. Summary of the Invention

[0004] This application provides a data processing method, apparatus, device, and storage medium that can improve the accuracy of data frame loss detection and enable synchronous transmission of data from multiple sensors.

[0005] According to one aspect of the embodiments of this application, a data processing method is provided, the method comprising: storing sensor data received within a current target period from a target sensor into a data queue corresponding to the target sensor; the current target period being a time period ending at a detection time node; the target sensor being at least one of a plurality of preset sensors; and the data queue corresponding to the target sensor being sorted based on the acquisition time of the sensor data from the target sensor.

[0006] At the detection time node, data detection is performed on the data queues corresponding to the multiple preset sensors to obtain the first data detection result;

[0007] If the first data detection result indicates that there is an abnormal data queue in the data queues corresponding to the plurality of preset sensors, data detection is performed on the abnormal data queue within a preset waiting time to obtain a second data detection result; the abnormal data queue is a queue that does not contain sensor data corresponding to the current target period.

[0008] If the second data detection result indicates that there is no sensor data corresponding to the current target period in the abnormal data queue within the preset waiting time, then the sensor data corresponding to the current target period in the data queues corresponding to the multiple preset sensors is deleted.

[0009] Furthermore, the method also includes:

[0010] If the first data detection result indicates that there is no abnormal data queue in the data queues corresponding to the plurality of preset sensors, the sensor data corresponding to the current target period in the data queues corresponding to the plurality of preset sensors is sent to the storage block.

[0011] Further, the step of performing data detection on the data queues corresponding to the plurality of preset sensors at the detection time node to obtain a first data detection result includes:

[0012] Based on the multiple preset sensors, the sensor data corresponding to the current target period is determined by the transmission timestamp of the sensor data transmitted within the current target period;

[0013] The number of sensor data corresponding to the current target period is compared with the number of the plurality of preset sensors to obtain the first data detection result.

[0014] Further, when the first data detection result indicates the existence of an abnormal data queue in the data queues corresponding to the plurality of preset sensors, the step of performing data detection on the abnormal data queue within a preset waiting time to obtain a second data detection result includes:

[0015] In the current detection cycle, the abnormal data queue is inspected to obtain a third data detection result;

[0016] When the third data detection result indicates that there is no sensor data corresponding to the current target period in the abnormal data queue within the current detection period, the third data detection result is overwritten with the third data detection result obtained in the previous detection period of the current detection period.

[0017] The next detection cycle of the current detection cycle is determined as the current detection cycle;

[0018] Repeat the following steps: Perform data detection on the abnormal data queue in the current detection cycle to obtain the third data detection result, until the next detection cycle of the current detection cycle is determined as the current detection cycle, until the detection time node of the current detection cycle is consistent with the end of the preset waiting time;

[0019] The third data detection result is determined as the second data detection result.

[0020] Furthermore, after performing data detection on the abnormal data queue corresponding to the current detection period and obtaining the third data detection result, the method further includes:

[0021] If the third data detection result indicates that there is sensor data in the abnormal data queue corresponding to the current target period within the current detection period, then the third data detection result corresponding to the current detection period is determined as the second data detection result.

[0022] Furthermore, the step of performing data detection on the abnormal data queue in the current detection period to obtain a third data detection result also includes:

[0023] The detection time node of the current detection cycle is determined based on the duration of the current detection cycle;

[0024] At the detection time node of the current detection cycle, data detection is performed on the abnormal data queue to obtain the third data detection result.

[0025] Furthermore, after performing data detection on the data queues corresponding to the plurality of preset sensors at the detection time node to obtain the first data detection result, the method further includes:

[0026] If the first data detection result indicates that there is no abnormal data queue in the data queues corresponding to the plurality of preset sensors, the next target period of the current target period is determined as the current target period;

[0027] Repeat the following steps: If the first data detection result indicates that there is no abnormal data queue in the data queues corresponding to the plurality of preset sensors, determine the next target period of the current target period as the current target period, until the first data detection result indicates that there is an abnormal data queue in the data queues corresponding to the plurality of preset sensors in the current target period;

[0028] Send the unsent sensor data corresponding to the current target period to the data block;

[0029] Repeat the following steps: If the first data detection result indicates that there is no abnormal data queue in the data queues corresponding to the plurality of preset sensors, determine the next target period of the current target period as the current target period, until the first data detection result indicates that there is an abnormal data queue in the data queues corresponding to the plurality of preset sensors in the current target period;

[0030] The sensor data corresponding to the target period prior to the current target period is sent to the data block.

[0031] According to one aspect of the embodiments of this application, a data processing method apparatus is provided, the apparatus comprising:

[0032] Storage module: used to store sensor data received from the target sensor within the current target period into the data queue corresponding to the target sensor; the current target period is a time period ending at a detection time node; the target sensor is at least one of a plurality of preset sensors; the data queue corresponding to the target sensor is sorted based on the acquisition time of the sensor data of the target sensor;

[0033] The first data detection result generation module is used to perform data detection on the data queues corresponding to the multiple preset sensors at the detection time node to obtain the first data detection result.

[0034] The second data detection result generation module is used to perform data detection on the abnormal data queue within a preset waiting time when the first data detection result indicates that there is an abnormal data queue in the data queues corresponding to the plurality of preset sensors, and obtain a second data detection result; the abnormal data queue is a queue that does not contain sensor data corresponding to the current target period.

[0035] The deletion module is used to delete the sensor data corresponding to the current target period from the data queues corresponding to the multiple preset sensors when the second data detection result indicates that there is no sensor data corresponding to the current target period in the abnormal data queue within the preset waiting time.

[0036] According to one aspect of the embodiments of this application, a computer device is provided, the computer device including a processor and a memory, the memory storing at least one instruction, at least one program, code set or instruction set, the at least one instruction, the at least one program, the code set or instruction set being loaded and executed by the processor to implement the above-described data processing method.

[0037] According to one aspect of the embodiments of this application, a computer-readable storage medium is provided, wherein at least one instruction, at least one program, code set, or instruction set is stored in the storage medium, and the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement the above-described data processing method.

[0038] The technical solution provided in this application can bring the following beneficial effects:

[0039] This application stores the sensor data received from the target sensor within the current target period into the corresponding data queue. It determines whether there are abnormal data queues among multiple data queues. Abnormal data queues are those without sensors corresponding to the current target period. There are generally two reasons for this: data frame loss and "false frame loss." "False frame loss" occurs when sensor data arrives late and is not detected in the current target period. If an abnormal data queue is identified, this application can save the sensor data corresponding to the current target period for a preset waiting time. It then checks whether the abnormal data queue contains the corresponding sensor data within the preset waiting time. If not, it determines that there is data frame loss in the current target period, meaning that multiple sensor data points corresponding to the current target period are out of sync. The application then deletes the sensor data corresponding to multiple data queues in the current target period, ensuring that all retained sensor data is synchronized. This improves the accuracy of data frame loss detection and prevents the accidental deletion of normally acquired sensor data. At the application layer, sensor data acquired in the same acquisition period is synchronized, providing data support for subsequent processing and fusion of multi-sensor data. Attached Figure Description

[0040] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying 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.

[0041] Figure 1 This is a timing diagram of the existing data synchronization method provided in this embodiment of the invention under normal conditions;

[0042] Figure 2 This is a timing diagram of the existing data synchronization method provided in this embodiment of the invention under the condition of frame loss;

[0043] Figure 3 This is a timing diagram of the existing data synchronization method under out-of-order conditions provided in the embodiments of the present invention;

[0044] Figure 4 This is a flowchart of the data processing method provided in an embodiment of the present invention;

[0045] Figure 5 This is a schematic diagram of data being stored in a data queue according to an embodiment of the present invention;

[0046] Figure 6 This is another schematic diagram of data storage in a data queue provided by an embodiment of the present invention;

[0047] Figure 7This is another schematic diagram of data storage in a data queue provided by an embodiment of the present invention;

[0048] Figure 8 This is a flowchart of the method for determining the second data detection result provided in an embodiment of the present invention;

[0049] Figure 9 This is a schematic diagram illustrating the determination of the detection cycle provided in an embodiment of the present invention;

[0050] Figure 10 This is another flowchart of the data processing method provided in the embodiments of the present invention;

[0051] Figure 11 This is a structural block diagram of the data processing device provided in an embodiment of the present invention. Detailed Implementation

[0052] The data processing method provided in this application relates to the field of data processing technology, and will be briefly described below to facilitate understanding by those skilled in the art. To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be further described in detail below with reference to the accompanying drawings. The main technical problem solved by this embodiment is to improve the accuracy of data frame loss judgment and achieve synchronous transmission of data from multiple sensors.

[0053] In existing data synchronization methods, such as Figure 1 As shown, it includes four sensors, each corresponding to a cache queue, which is used to cache the sensor data of the corresponding sensor.

[0054] Under normal circumstances, at time t1, the corresponding sensor data arrives synchronously in the buffer queue, waking up the callback thread; the sensing module callback function (single thread) retrieves the sensor data from the buffer queue in turn and caches it in the local frame synchronization data structure;

[0055] In the event of loss of sensor data, refer to Figure 2 :

[0056] At time t1, the sensor data corresponding to each sensor arrives in the buffer queue synchronously and the data synchronization is completed.

[0057] At time t2, Lidar04 experiences Topic data loss, the callback is not executed, and the content of the frame synchronization data structure remains unchanged;

[0058] At time t3, the latest sensor data for each sensor arrives synchronously. The topics of Lidar01 to 03 will overwrite the old data from time t2, and the data of Lidar04 topic arrives normally. The sensing module callback function (single thread) retrieves the sensor data at time t3 from the cache queue in sequence and caches it in the local frame synchronization data structure.

[0059] In the case of sensor data timing disorder, refer to Figure 3 :

[0060] The Topic data in Lidar04 at time t2 arrived after time t3, indicating a fake miss (false frame loss). The original data synchronization strategy was as follows:

[0061] At time t1, data is synchronized normally.

[0062] At time t2, the Topic sensor data for Lidar01 to 03 arrived on time, but the data for Lidar04 was delayed, resulting in a fake miss. The system then continued to receive the next frame.

[0063] At time t3, the Topic data from Lidar01 to 03 arrive and overwrite the sensor data that was not synchronized at time t2, thus achieving complete data synchronization.

[0064] Between t3 and t4, the sensor data from Lidar04 arrives at t2. Since the data from Lidar01 to 03 has already been overwritten at t3, the sensor data from Lidar04 at t2 cannot be synchronized at this time, resulting in data synchronization failure at t2. Due to the timing disorder, a second frame loss occurs in the sensor data.

[0065] To avoid the above situation, this embodiment proposes a data processing method that can prevent secondary frame loss in sensor data buffer queues. Please refer to [link / reference]. Figure 4 The method includes:

[0066] S410: Store the sensor data received from the target sensor within the current target period into the data queue corresponding to the target sensor; the current target period is the time period ending at the detection time node; the target sensor is at least one of multiple preset sensors; the data queue corresponding to the target sensor is sorted based on the acquisition time of the sensor data of the target sensor;

[0067] The execution subject of this embodiment is any terminal capable of running the data processing method. In this embodiment, the sensing module needs to collect sensor data sent by multiple sensors. Due to the differences in data preprocessing time on the sensor side and the instability of the communication network, some sensor data frames may be lost or arrive at the wrong time during the data transmission process. Therefore, the sensor data from multiple sensors are sent to their respective corresponding data queues. In this embodiment, the data queue selected is Priority. A priority queue can store data from multiple time frames and sort the sensor data based on the acquisition time. For example, the sensor acquires first data in the first target period and second data in the second target period, where the second target period is later than the first target period. However, the first data arrives in the buffer list in the second target period, and the second data arrives in the buffer list in the first target period. In the data queue, the data is arranged in the order of first data and second data. Sensor data received from the target sensor in the current target period is stored in the data queue corresponding to the target sensor. If there is a misalignment in the arrival time of sensor data, the data queue will sort the data based on the acquisition time of each sensor. If the second data arrives in the data queue in the first target period and the first data is missing, even if the data queue corresponding to the first target period contains sensor data (second data), it can be directly determined that the first data does not exist in the first target period, thus identifying a missing frame of first data.

[0068] In this embodiment, the current target period represents a time frame, and the detection time node is the end of each target period. Each preset sensor can send sensor data within each time frame. Under normal circumstances, the time interval between the sensor data transmission and the time interval between the sensor data being stored in the data queue meets the preset time interval. Therefore, within the current target period, the corresponding data queue should store the sensor data. The target sensor is the sensor corresponding to the sensor data actually received by the data queue within the current target period, that is, the number of target sensors is greater than or equal to zero and less than or equal to the number of preset sensors. It should be noted that the sensor data corresponding to the current target period only represents the sensor that should be stored in the corresponding data queue in the current target period, and does not represent the sensor data that actually arrives in the data queue in the current target period. For example, if the first data and the second data are data sent by the same sensor, and the acquisition time of the first data is earlier than the acquisition time of the second data, the second data arrives in the data queue at the current target period, while the first data is missing. The sensor data at the head of the data queue is the second data, but the sensor data corresponding to the current target period is still the first data, that is, there is no sensor data corresponding to the current target period.

[0069] S420: At the detection time node, perform data detection on the data queues corresponding to multiple preset sensors to obtain the first data detection result;

[0070] At the end of a current target period, the sensor data received by the data queue in the current target period is detected. If data frame loss occurs, the data queue is an empty queue in the current target period. Based on the number of non-empty queues and the preset number of sensors, it is determined whether there is data frame loss in the current target period. If the number of non-empty queues is less than the preset number of sensors, the first data detection result indicates that there is data frame loss in the current target period, that is, the data queue corresponding to the sensor data with frame loss is determined to be an abnormal data queue.

[0071] S430: If the first data detection result indicates that there is an abnormal data queue in the data queues corresponding to multiple preset sensors, the abnormal data queue is detected within a preset waiting time to obtain the second data detection result; the abnormal data queue is a queue that does not contain sensor data corresponding to the current target period.

[0072] When the first data detection result indicates the presence of an abnormal data queue among the data queues corresponding to multiple preset sensors, i.e., when there are missing frames in the current target period, the abnormal data queue does not receive the sensor data corresponding to the current target period. However, this sensor data may exhibit a "false frame loss," meaning the abnormal data queue does not receive the sensor data in the current target period. The sensor data corresponding to the current target period is saved for a certain waiting time, which cannot exceed the preset waiting time. The abnormal data queue may receive the sensor data within the preset waiting time. The preset waiting time can be set according to requirements. In this embodiment, the preset waiting time is the maximum number of frames that the data queue can save. For example, if the data queue can save a maximum of 5 target periods of data, i.e., 5 frames of data, the preset waiting time is 5 target periods. During the preset waiting time, sensor data is continuously stored in the data queue. Data detection is performed on the abnormal data queue within the preset waiting time to obtain the second data detection result. If there is no sensor data corresponding to the current target period in the abnormal data queue, it is determined that the abnormal data queue is experiencing frame loss in the current target period.

[0073] S440: If, within the preset waiting time, the second data detection result indicates that there is no sensor data corresponding to the current target period in the abnormal data queue, delete the sensor data corresponding to the current target period from the data queues of multiple preset sensors.

[0074] If the abnormal data queue does not contain sensor data corresponding to the current target period, meaning that the abnormal data queue has not received sensor data corresponding to the current target period within the preset waiting time, it can be considered that the sensor data received in the current target period is incomplete and cannot be used in the autonomous driving perception module. Therefore, all sensor data arriving in the corresponding data queue in the current target period will be deleted. This implementation implements a strategy at the application layer to deal with the situation of missing sensor data frames, which can ensure that the sensor data that has not been deleted arrives on time and in an orderly manner.

[0075] To facilitate a clear understanding of the above embodiments by those skilled in the art, please refer to [link / reference needed]. Figure 2 In one embodiment, multiple preset sensors are designated as four sensors, denoted as Sensor 01, Sensor 02, Sensor 03, and Sensor 04. These four sensors correspond to four data queues. The terminal stores the data from each of the four sensors into its corresponding data queue at a certain period. Data detection is performed on multiple data queues at a target period, which can be set to 100ms or 80ms. In this embodiment, the target period is set to 100ms. Figure 2 In this context, t1 is the start node of the first target period, and t2 is the end node of the first target period, i.e., the detection time node of the first target period. At time t2, the sensor data 100 of sensors 01-03 arrives within the first target period, while the sensor data of sensor 04 does not arrive on time within the first target period. In the first target period, the number of non-empty queues and the number of multiple preset sensors are first determined. If the number of non-empty queues is less than the number of multiple preset sensors, it indicates that there is an empty queue in the first target period. Then, the data queue corresponding to sensor 04 is determined to be an abnormal data queue, and the sensor data 100 of sensors 01-03 is stored in the corresponding data queue for a preset waiting time. The data queue receives sensor data normally. The preset waiting time represents the maximum number of frames of data that the buffer queue can store. In this embodiment, the data queue can store a maximum of 5 frames of data, i.e., data for 5 target periods.

[0076] At time t3, sensor data 200 from sensors 01-04 arrives on time for the second target cycle. In this embodiment, the data queue is a priority queue, which can sort sensor data based on the acquisition time of multiple sensor data. Sensor data 200 from sensors 01-03 is all located after sensor data 100. The data queue of sensor 04 only contains sensor data 200. The priority queue can only process the top element in the queue. If sensor data 100 from sensors 01-03 is not processed, subsequent sensor data will not be processed either. At time t6, the data queues of sensors 01-03 have stored data from 5 target cycles, and sensor data 100 from sensors 01-03... A preset waiting time has been saved. During this time, data detection is performed on the abnormal data queue (the queue corresponding to sensor 04). If the second data detection result indicates that there is no sensor data corresponding to the current target cycle in the abnormal data queue within the preset waiting time, it is determined that sensor data 100 of sensor 04 has dropped a frame. At time t6, sensor data 100 of sensors 01-03 is deleted. The top element of each data queue is sensor data 200. No abnormal data queues appear in the 2nd to 5th target cycles, and they can be assembled into complete synchronous frame data. This ensures that the data access frequency of nodes such as the sensing module is consistent with the sensor acquisition frequency, providing data support for the post-processing and fusion of multi-sensor data.

[0077] It should be noted that the abnormal data queue in this embodiment is only relative to the current target period, for example... Figure 2 In the first target period, the data queue corresponding to sensor 04 is an abnormal data queue. In the second target period, there is no abnormal data queue. If sensor data 300 corresponding to sensor 02 is lost in the third target period, then the data queue corresponding to sensor 02 is an abnormal data queue in the third target period.

[0078] In one implementation, the method further includes:

[0079] If no abnormal data queue is found in the data queues corresponding to multiple preset sensors as indicated by the first data detection result, the sensor data corresponding to the current target period in the data queues corresponding to multiple preset sensors is sent to the storage block.

[0080] See Figure 5At time t7, sensors 01-04 all arrive at their respective data queues on time during the current target period. It is determined that there are no abnormal data queues during the current target period. Sensors 01-04 are combined into a complete synchronization frame data and sent to the storage block. This ensures that the data access frequency of nodes such as the sensing module is consistent with the sensor acquisition frequency, providing data support for the post-processing and fusion of multi-sensor data.

[0081] In one implementation, data detection is performed on data queues corresponding to multiple preset sensors at a detection time node to obtain a first data detection result, including:

[0082] Based on multiple preset sensors, the timestamps of the sensor data sent within the current target period are used to determine the sensor data corresponding to the current target period;

[0083] As mentioned earlier, the number of non-empty queues is compared with the number of preset sensors. If the number of non-empty queues is less than the number of preset sensors, it indicates that there are empty queues in the first target period, which directly indicates that there are abnormal queues in the current target period. However, in some cases, such as... Figure 2 At time t3, if the current target period is t2-t3, the top element of the data queue corresponding to sensors 01-03 is sensor data 100, and the top element of the abnormal data queue is sensor data 200. All data queues are non-empty queues, and the number of non-empty queues is consistent with the data from multiple preset sensors. At this time, it cannot be concluded that there is no abnormal data queue in the current target period. Therefore, it is necessary to first determine the transmission timestamp of the sensor data sent in the current target period. Based on the transmission timestamp, it can be determined that sensor data 100 in the data queue corresponding to sensors 01-03 belongs to the data collected in the same period. Therefore, it can be determined that the sensor data corresponding to the current target period is only sensor data 100 in the data queue corresponding to sensors 01-03.

[0084] The number of sensor data corresponding to the current target period is compared with the number of multiple preset sensors to obtain the first data detection result.

[0085] If the number of sensor data points corresponding to the current target period is less than the number of preset sensors, it is determined that an abnormal data queue exists in the current target period. If the number of sensor data points corresponding to the current target period is equal to the number of preset sensors, it is determined that no abnormal data queue exists in the current target period. Figure 5At time t3, the number of sensor data points corresponding to the current target period detected is 3, while the number of multiple preset sensors is 4. Therefore, the first data detection result indicates that there are anomalies in the current target period. In this embodiment, to prevent the mistaken transmission of sensor data that does not correspond to the current target period in the event of "frame snatching" during data reception, it is ensured that all subsequent fused sensor data groups are synchronous data.

[0086] In another implementation, the transmission timestamp of the top element of each data queue can be determined. Multiple transmission timestamps are compared pairwise to determine the maximum time difference. This maximum time difference is then compared to a time threshold. In this embodiment, the time threshold is 80ms. If the maximum time difference is less than the threshold, it indicates that the compared sensor data belongs to the same acquisition period, thus determining the transmission timestamp of the top element of the data queue corresponding to sensors 01-04. Figure 5 At time t3, the four top elements of the heap are sensor data 100, sensor data 100, sensor data 100, and sensor data 200. The maximum time difference is calculated. Since the data queue corresponding to sensor 04 receives sensor data 200 in the current target period, the maximum time difference in the current target period is greater than the time threshold. It can be determined that there is an abnormal data queue in the current target period, that is, the queue corresponding to sensor data 04 is an abnormal data queue, ensuring that the sensor data groups fused later are all synchronous data.

[0087] In one implementation, the method further includes:

[0088] If no abnormal data queue is found in the data queues corresponding to multiple preset sensors as indicated by the second data detection result, the sensor data corresponding to the current target period in the data queues corresponding to multiple preset sensors is sent to the storage block.

[0089] Please see Figure 6 If the first data detection result indicates that there is an abnormal data queue in the current target period, the sensor data 100 corresponding to sensors 01-03 is saved. At time t2, that is, in the second target period, the second detection data result indicates that there is sensor data corresponding to the current target period in the abnormal data queue, that is, the abnormal data queue receives sensor data 100 corresponding to sensor 04. Therefore, at time t3, the data queuing order of the abnormal data queue is sensor data 100 and sensor data 200. The maximum time difference of the top element of each data queue in the current target period is determined by the above method. If the maximum time difference is less than the time threshold, it is determined that the top element of each data queue is sensor data 100. Then, all sensor data 100 are combined into a complete synchronization frame data and sent to the storage block. At time t4, the sensor data of the next target period is received.

[0090] For further information, please refer to [link / reference]. Figure 7 At time t2, the data queue corresponding to sensor 04 is determined to be an abnormal data queue. The abnormal data queue arrives at the third target period (times t3-t4). In the abnormal data queue, the storage time of sensor data 100 is later than that of sensor data 200. Since the priority queue can sort based on the acquisition time of sensor data, the top element of the abnormal data queue at time t4 is still sensor data 100. At time t4, it is detected that the maximum time difference of the top elements of each queue is less than the time threshold. Therefore, it is determined that the second data detection result indicates that there is sensor data corresponding to the current target period in the abnormal data queue within the preset waiting time. The sensor data 100 of each data queue is assembled into synchronization frame data and sent to the storage block. At this time, the top element of each data queue is sensor data 200. The above steps are repeated to sequentially assemble the sensor data 200 of each data queue into synchronization frame data and send it to the storage block. At time t5, the sensor data of the next target period is received. In this embodiment, it can be further ensured that the data sent to the data block is all synchronization data.

[0091] In one implementation, if the first data detection result indicates the existence of an abnormal data queue among the data queues corresponding to multiple preset sensors, data detection is performed on the abnormal data queue within a preset waiting time to obtain a second data detection result, which is then referred to... Figure 8 ,include:

[0092] S810: Perform data detection on the abnormal data queue in the current detection cycle to obtain the third data detection result;

[0093] Data detection is performed on the abnormal data queue based on the detection cycle to determine whether the sensor data corresponding to the current target cycle can be received within the preset waiting time in the abnormal data queue.

[0094] S820: When the third data detection result indicates that there is no sensor data corresponding to the current target period in the abnormal data queue within the current detection period, the third data detection result is overwritten with the third data detection result obtained in the previous detection period of the current detection period.

[0095] If, in the current detection cycle, there is no sensor data in the abnormal data queue corresponding to the current target cycle, the third data detection result is overwritten with the third data detection result obtained in the previous detection cycle. The third data detection result only represents the detection result of the current detection cycle.

[0096] S830: Determine the next detection cycle of the current detection cycle as the current detection cycle;

[0097] S840: Repeat the following steps: Perform data detection on the abnormal data queue in the current detection cycle, obtain the third data detection result, and determine the next detection cycle as the current detection cycle until the detection time node of the current detection cycle is consistent with the end of the preset waiting time.

[0098] If there is an abnormal data queue in the current target period, the sensor data corresponding to the current target period can be stored in the cache queue for a maximum of the maximum number of frames that the cache queue can hold, i.e., the preset waiting time. If there are frame drops in the abnormal data queue, the abnormal data queue will not receive the sensor data corresponding to the current target period. Therefore, if the detection time node of the current detection period coincides with the end of the preset waiting time, the detection of the abnormal data queue will be stopped.

[0099] S850: The third data detection result is determined as the second data detection result.

[0100] If the abnormal data queue still does not receive the sensor data corresponding to the current target period within the preset waiting time, the third data detection result is determined as the second data detection result. The third data detection result only represents the detection result of the current detection period. That is, the second data detection result only indicates that there is no sensor data corresponding to the current target period in the abnormal data queue in the last detection period. In this embodiment, the abnormal data queue is periodically detected to determine whether the data frame loss is a frame loss, so as to prevent the accidental deletion of data.

[0101] In this implementation, after performing data detection on the abnormal data queue corresponding to the current detection period and obtaining the third data detection result, the method further includes:

[0102] S860: If the third data detection result indicates that there is sensor data in the abnormal data queue corresponding to the current target period within the current detection period, the third data detection result corresponding to the current detection period shall be determined as the second data detection result.

[0103] Reference Figure 5 If the abnormal data queue receives sensor data corresponding to the current target period within the current detection period, it indicates that the corresponding sensor transmission is delayed. The second data detection result only represents the third data detection result corresponding to the current detection period, that is, the detection period in which the abnormal data queue receives sensor data corresponding to the current target period. At this time, the second data detection result represents the data detection result of the detection period. The second data detection result can determine the detection period in which the sensor data reaches the abnormal data queue, and there is no need to perform the next detection period, thus shortening the detection period and improving detection efficiency.

[0104] Even if the second data detection result indicates that there is sensor data in the abnormal data queue that corresponds to the current target period, it is still necessary to compare the maximum time difference between the storage time nodes of multiple sensor data corresponding to the current target period. Only when the maximum time difference is less than the time threshold, i.e. the duration of one target period, can the multiple sensor data corresponding to the current target period be combined into a synchronization frame data and sent to the data block. Otherwise, the multiple sensor data corresponding to the current target period will be deleted. This further ensures that the sensor data sent by multiple preset sensors at the same acquisition time form a synchronization frame data, which can improve the accuracy of subsequent data fusion.

[0105] In one implementation, performing data detection on the abnormal data queue during the current detection period to obtain a third data detection result further includes:

[0106] The detection time node of the current detection cycle is determined based on the duration of the current detection cycle;

[0107] At the current detection time point of the detection cycle, data detection is performed on the abnormal data queue to obtain the third data detection result.

[0108] The detection time node of the current detection cycle is determined. Based on the detection time node of the current detection cycle, the abnormal data queue is detected to determine whether the abnormal data queue can receive the sensor data corresponding to the current target cycle within a preset waiting time. First, the duration of the current detection cycle is determined. Based on the start and end points of the preset waiting time, the preset waiting time is divided equally. In a preferred embodiment, the detection time node of the current detection cycle coincides with the detection time node of the current target cycle. At the detection time node of the current target cycle, it is detected whether there is an abnormal data queue in the current target cycle. At the detection time node of the next target cycle, it is possible to simultaneously detect whether there is an abnormal data queue in the next target cycle. If there is an abnormal data queue, it is not necessary to check whether there is an abnormal data queue again at the detection time node of the next target cycle; it is only necessary to traverse the abnormal data queue. For all sensor data in the queue, determine if any sensor data corresponding to the current target period has been received. If there is no abnormal data queue in the current target period, then at the detection time node of the next target period, it is not necessary to traverse all sensor data in the abnormal data queue again; only the existence of an abnormal data queue in the next target period needs to be determined. Within one target period, only one detection needs to be performed, improving detection efficiency. Furthermore, if the detection time node of the current detection period coincides with the detection time node of the current target period, if the sensor data corresponding to the current target period has already been stored in the abnormal data queue in the first detection period, then at the detection time node of the current detection period, the sensor data corresponding to the current target period is composed into a synchronization frame data and sent to the storage block. There is no need to perform the next detection period, shortening the detection time and further improving detection efficiency.

[0109] In another implementation, the detection time point of the current detection cycle does not coincide with the detection time point of the current target cycle. Please refer to [link / reference]. Figure 9 The detection period is shorter than the target period. At time t2, an abnormal data queue (the data queue corresponding to sensor 03) is detected in the current period. Time t2 is the starting point of the current detection period. Since the sensor data corresponding to the current target period is stored for a maximum of a preset waiting time, if the data lost in the abnormal data queue is not detected after the preset waiting time, the sensor data corresponding to the current target period is deleted. Therefore, the time when the preset waiting time is reached (time t6) is the end of the detection period to prevent some data from being missed after 4 detection periods, resulting in missed detections. If the data lost in the abnormal data queue is detected, the next detection period is not entered. At the moment when the data lost in the abnormal data queue is detected, the data corresponding to the target period is directly sent as a synchronization frame or directly deleted, without waiting to the detection time node of the target period for processing, thus improving data processing efficiency.

[0110] In another implementation, refer to Figure 10 After performing data detection on data queues corresponding to multiple preset sensors at the detection time node and obtaining the first data detection result, the method further includes:

[0111] S1010: If the first data detection result indicates that there is no abnormal data queue in the data queues corresponding to multiple preset sensors, the next target period of the current target period is determined as the current target period;

[0112] S1020: Repeat the following steps: If the first data detection result indicates that there is no abnormal data queue in the data queues corresponding to multiple preset sensors, determine the next target period of the current target period as the current target period, until the first data detection result indicates that there is an abnormal data queue in the data queues corresponding to multiple preset sensors in the current target period.

[0113] S1030: Send the unsent sensor data corresponding to the previous target cycle to the data block.

[0114] In this embodiment, even if there is no abnormal data queue in the current target period, the sensor data corresponding to the current target period can be saved for a period of time and sent to the storage block in a concentrated manner. If there is an abnormal data queue in the current target period, the unsent sensor data corresponding to the previous target period is sent to the data block to send the sensor data as centrally as possible. If there is no abnormal data queue in multiple consecutive target periods, when the data queue reaches the maximum number of buffered frames (preset waiting time), the sensor data corresponding to multiple target periods are sent to the storage block in sequence to prevent the time delay of data sending to the storage block from affecting subsequent data fusion processing.

[0115] This embodiment also provides a data processing apparatus capable of implementing all the above-described method steps, see reference. Figure 11 The device includes:

[0116] Storage module 1110: Used to store the sensor data received from the target sensor within the current target period into the data queue corresponding to the target sensor; the current target period is the time period ending at the detection time node; the target sensor is at least one of multiple preset sensors; the data queue corresponding to the target sensor is sorted based on the acquisition time of the sensor data of the target sensor;

[0117] The first data detection result generation module 1120 is used to perform data detection on the data queues corresponding to multiple preset sensors at the detection time node to obtain the first data detection result.

[0118] The second data detection result generation module 1130 is used to perform data detection on the abnormal data queue within a preset waiting time when the first data detection result indicates that there is an abnormal data queue in the data queues corresponding to multiple preset sensors, and obtain the second data detection result; the abnormal data queue is a queue that does not contain sensor data corresponding to the current target period.

[0119] The deletion module 1140 is used to delete sensor data corresponding to the current target period from the data queues of multiple preset sensors when the second data detection result indicates that there is no sensor data corresponding to the current target period in the abnormal data queue within a preset waiting time.

[0120] The device also includes:

[0121] The first sending module is used to send the sensor data corresponding to the current target period from the data queues corresponding to the multiple preset sensors to the storage block when the first data detection result indicates that there is no abnormal data queue in the data queues corresponding to the multiple preset sensors.

[0122] The first determining module is used to determine the sensor data corresponding to the current target period based on the transmission timestamps of sensor data transmitted within the current target period from multiple preset sensors.

[0123] The comparison module is used to compare the number of sensor data corresponding to the current target period with the number of multiple preset sensors to obtain the first data detection result.

[0124] The second transmitting module is used to transmit the sensor data corresponding to the current target period to the storage block when the maximum time difference is less than the duration of the current target period.

[0125] The second determination module is used to perform data detection on the abnormal data queue in the current detection cycle and obtain the third data detection result.

[0126] The data module is used to overwrite the third data detection result obtained in the previous detection cycle when the third data detection result indicates that there is no sensor data corresponding to the current target cycle in the abnormal data queue within the current detection cycle.

[0127] The third determining module is used to determine the next detection cycle of the current detection cycle as the current detection cycle;

[0128] The first repetitive execution module is used to repeatedly execute the following steps: perform data detection on the abnormal data queue in the current detection cycle, obtain the third data detection result, determine the next detection cycle of the current detection cycle as the current detection cycle, and continue until the detection time node of the current detection cycle is consistent with the end of the preset waiting time.

[0129] The fourth determination module is used to determine the third data detection result as the second data detection result.

[0130] The fifth determining module, used for data detection, after obtaining the third data detection result, also includes:

[0131] If the third data detection result indicates that there is sensor data in the abnormal data queue corresponding to the current target period within the current detection period, the third data detection result corresponding to the current detection period will be determined as the second data detection result.

[0132] The sixth determining module is used to determine the detection time node of the current detection cycle based on the duration of the current detection cycle;

[0133] The generation module is used to perform data detection on the abnormal data queue at the detection time node of the current detection cycle and obtain the third data detection result.

[0134] The seventh determination module is used to determine the next target period of the current target period as the current target period when there is no abnormal data queue in the data queues corresponding to multiple preset sensors as characterized by the first data detection result.

[0135] The second repetitive execution module is used to repeatedly execute the following steps: when the first data detection result indicates that there is no abnormal data queue in the data queues corresponding to multiple preset sensors, the next target period of the current target period is determined as the current target period, until the first data detection result indicates that there is an abnormal data queue in the data queues corresponding to multiple preset sensors in the current target period;

[0136] The third sending module is used to send the unsent sensor data corresponding to the current target cycle to the data block.

[0137] The memory also includes a computer program stored in the memory and configured to be executed by one or more processors to implement the data processing method described above.

[0138] In an exemplary embodiment, a computer-readable storage medium is also provided, which stores at least one instruction, at least one program, code set, or instruction set, wherein the at least one instruction, at least one program, code set, or instruction set is executed by a processor to implement the above-described data processing method.

[0139] Optionally, the computer-readable storage medium may include: ROM (Read Only Memory), RAM (Random Access Memory), SSD (Solid State Drives), or optical disc, etc. The random access memory may include ReRAM (Resistance Random Access Memory) and DRAM (Dynamic Random Access Memory).

[0140] In an exemplary embodiment, a computer program product or computer program is also provided, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the data processing method described above.

[0141] It should be understood that "multiple" as used herein refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. Furthermore, the step numbers described herein are merely illustrative of one possible execution order. In some other embodiments, the steps may not be executed in numerical order, such as two steps with different numbers being executed simultaneously, or two steps with different numbers being executed in the reverse order of the illustration. This application does not limit this.

[0142] In addition, in the specific embodiments of this application, data such as user information are involved. When the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0143] The above are merely exemplary embodiments of this application and are not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application shall be included within the protection scope of this application.

Claims

1. A data processing method, characterized in that, The method includes: The sensor data received from the target sensor within the current target period is stored in the data queue corresponding to the target sensor; the current target period is a time period ending at a detection time node; the target sensor is at least one of a plurality of preset sensors; the data queue corresponding to the target sensor is sorted based on the acquisition time of the sensor data of the target sensor; At the detection time node, data detection is performed on the data queues corresponding to the plurality of preset sensors to obtain a first data detection result; the step of performing data detection on the data queues corresponding to the plurality of preset sensors at the detection time node to obtain the first data detection result includes: based on the plurality of preset sensors, determining the sensor data corresponding to the current target period based on the transmission timestamp of the sensor data transmitted within the current target period; comparing the number of sensor data corresponding to the current target period with the number of the plurality of preset sensors to obtain the first data detection result; If the first data detection result indicates the existence of an abnormal data queue in the data queues corresponding to the plurality of preset sensors, data detection is performed on the abnormal data queue within a preset waiting time to obtain a second data detection result; the abnormal data queue is a queue that does not contain sensor data corresponding to the current target period; the step of performing data detection on the abnormal data queue within a preset waiting time to obtain a second data detection result when the first data detection result indicates the existence of an abnormal data queue in the data queues corresponding to the plurality of preset sensors includes: performing data detection on the abnormal data queue within the current detection period to obtain a third data detection result; and in the third data detection result... If, during the current detection period, there is no sensor data in the abnormal data queue corresponding to the current target period, the third data detection result overwrites the third data detection result obtained in the previous detection period; the next detection period of the current detection period is determined as the current detection period; the steps are repeated: performing data detection on the abnormal data queue in the current detection period to obtain the third data detection result, until the next detection period of the current detection period is determined as the current detection period, until the detection time node of the current detection period coincides with the end of the preset waiting time; the third data detection result is determined as the second data detection result; If the second data detection result indicates that there is no sensor data corresponding to the current target period in the abnormal data queue within the preset waiting time, then the sensor data corresponding to the current target period in the data queues corresponding to the multiple preset sensors is deleted.

2. The method according to claim 1, characterized in that, The method further includes: If the first data detection result indicates that there is no abnormal data queue in the data queues corresponding to the plurality of preset sensors, the sensor data corresponding to the current target period in the data queues corresponding to the plurality of preset sensors is sent to the storage block.

3. The method according to claim 1, characterized in that, After performing data detection on the abnormal data queue corresponding to the current detection period and obtaining the third data detection result, the method further includes: If the third data detection result indicates that there is sensor data in the abnormal data queue corresponding to the current target period within the current detection period, then the third data detection result corresponding to the current detection period is determined as the second data detection result.

4. The method according to claim 1, characterized in that, The step of performing data detection on the abnormal data queue in the current detection cycle to obtain a third data detection result further includes: The detection time node of the current detection cycle is determined based on the duration of the current detection cycle; At the detection time node of the current detection cycle, data detection is performed on the abnormal data queue to obtain the third data detection result.

5. The method according to claim 1, characterized in that, After performing data detection on the data queues corresponding to the plurality of preset sensors at the detection time node to obtain the first data detection result, the method further includes: If the first data detection result indicates that there is no abnormal data queue in the data queues corresponding to the plurality of preset sensors, the next target period of the current target period is determined as the current target period; Repeat the following steps: If the first data detection result indicates that there is no abnormal data queue in the data queues corresponding to the plurality of preset sensors, determine the next target period of the current target period as the current target period, until the first data detection result indicates that there is an abnormal data queue in the data queues corresponding to the plurality of preset sensors in the current target period; Send the unsent sensor data corresponding to the current target period to the data block.

6. A data processing apparatus, characterized in that, The device includes: Storage module: used to store sensor data received from the target sensor within the current target period into the data queue corresponding to the target sensor; the current target period is a time period ending at a detection time node; the target sensor is at least one of a plurality of preset sensors; the data queue corresponding to the target sensor is sorted based on the acquisition time of the sensor data of the target sensor; The first data detection result generation module is used to perform data detection on the data queues corresponding to the plurality of preset sensors at the detection time node to obtain a first data detection result; it is also used to determine the sensor data corresponding to the current target period based on the transmission timestamp of the sensor data transmitted within the current target period by the plurality of preset sensors; and compare the number of sensor data corresponding to the current target period with the number of the plurality of preset sensors to obtain the first data detection result. The second data detection result generation module is used to perform data detection on the abnormal data queue within a preset waiting time when the first data detection result indicates that there is an abnormal data queue in the data queues corresponding to the plurality of preset sensors, and obtain a second data detection result; the abnormal data queue is a queue that does not contain sensor data corresponding to the current target period; it is also used to perform data detection on the abnormal data queue in the current detection period to obtain a third data detection result; when the third data detection result indicates that there is no sensor data corresponding to the current target period in the abnormal data queue within the current detection period, the third data detection result overwrites the third data detection result obtained in the previous detection period of the current detection period; the next detection period of the current detection period is determined as the current detection period; the steps of performing data detection on the abnormal data queue in the current detection period to obtain a third data detection result are repeated until the next detection period of the current detection period is determined as the current detection period, until the detection time node of the current detection period is consistent with the end of the preset waiting time; the third data detection result is determined as the second data detection result; The deletion module is used to delete the sensor data corresponding to the current target period from the data queues corresponding to the multiple preset sensors when the second data detection result indicates that there is no sensor data corresponding to the current target period in the abnormal data queue within the preset waiting time.

7. A computer device, characterized in that, The computer device includes a processor and a memory, the memory storing at least one instruction, at least one program, a code set, or an instruction set, the at least one instruction, the at least one program, the code set, or the instruction set being loaded and executed by the processor to implement the data processing method as described in any one of claims 1 to 5.

8. A computer-readable storage medium, characterized in that, The storage medium stores at least one instruction, at least one program, code set, or instruction set, wherein the at least one instruction, the at least one program, the code set, or the instruction set is loaded and executed by a processor to implement the data processing method as described in any one of claims 1 to 5.