Signal data query method and device, equipment, medium and product

By storing the decompressed signal files in a time-series database and using a columnar storage structure, vehicle signal data can be directly queried, solving the problem of cumbersome querying processes in existing technologies and achieving more efficient signal data querying and smaller data volume.

CN121743376APending Publication Date: 2026-03-27BEIJING CO WHEELS TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-27
Publication Date
2026-03-27

AI Technical Summary

Technical Problem

In existing technologies, the process of querying vehicle signal data is cumbersome, requiring the original message file to be downloaded and converted into an ASCII format file before being viewed using the CANoe tool, resulting in low query efficiency.

Method used

By storing the decompressed signal files in a time-series database using a columnar storage structure, queries can be performed directly based on the vehicle identification number, signal symbol, and query time period, eliminating the need to convert ASCII files.

Benefits of technology

This reduces the complexity for engineers viewing signal data, improves query efficiency, and the compressed signal data is smaller in size, saving upload bandwidth costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121743376A_ABST
    Figure CN121743376A_ABST
Patent Text Reader

Abstract

The invention discloses a signal data query method, device and equipment, a medium and a product. The method comprises the following steps: acquiring a vehicle identification code, a signal identifier and a query time period input by a user; detecting whether a decompressed signal file exists in a time sequence database or not, and storing the decompressed signal file in the time sequence database according to a first data table structure column; and if the decompressed signal file exists in the time sequence database, querying the decompressed signal file in the time sequence database based on the first data table structure according to the vehicle identification code, the signal identifier and the query time period to obtain target signal data. By means of the technical scheme, the size of the compressed signal data can be smaller, the signal data can be directly inquired in the time sequence database, the process of converting the signal data into an ASC format file when a CANoe tool is used for checking is omitted, the operation complexity of signal data checking by engineers is reduced, and the inquiring efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present application relate to the technical field of Internet of Vehicles, and in particular to a signal data query method, device, equipment, medium and product. BACKGROUND

[0002] With the development of vehicle related technology, the frequency of data generated and collected by vehicles is getting higher and higher, and has reached the level of millisecond message signal data. However, due to the limitation of vehicle storage space, the message signal data is generally uploaded to the cloud for storage.

[0003] Usually, the vehicle end will zip compress the original message file and then upload it to the cloud for storage. When engineers view signal data, they need to download the message first, then convert it into an ASC format file (a text file with.asc extension), and then view the specific signal data through the CANoe tool.

[0004] Since CANoe tool is needed to view the message, the original message must be converted into an ASC format file before being viewed through CANoe. This operation process is relatively cumbersome and requires additional time, resulting in low query efficiency. SUMMARY

[0005] Embodiments of the present application provide a signal data query method, device, equipment, medium and product to enable direct query of related signal data in a time series database, eliminating the need to convert into an ASC format file when viewing with CANoe tool, reducing the operation complexity of engineers viewing signal data, and improving query efficiency.

[0006] According to an aspect of the present application, a signal data query method is provided, comprising:

[0007] obtaining a vehicle identification code, a signal identifier and a query time period input by a user;

[0008] detecting whether a decompressed signal file exists in a time series database, wherein the decompressed signal file is columnarly stored in the time series database according to a first data table structure;

[0009] if the decompressed signal file exists in the time series database, querying the decompressed signal file in the time series database based on the first data table structure according to the vehicle identification code, the signal identifier and the query time period, and obtaining target signal data.

[0010] According to another aspect of the present application, a signal data query device is provided, comprising:

[0011] The acquisition module is used to acquire the vehicle identification number, signal sign, and query time period input by the user;

[0012] The detection module is used to detect whether the decompressed signal file exists in the time series database, wherein the decompressed signal file is stored in the time series database according to the first data table structure.

[0013] The query module is used to query the decompressed signal file in the time series database based on the vehicle identification code, the signal identifier, and the query time period, according to the first data table structure, to obtain the target signal data if the decompressed signal file exists in the time series database.

[0014] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:

[0015] At least one processor; and

[0016] A memory communicatively connected to the at least one processor; wherein,

[0017] The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the signal data query method according to any embodiment of the present invention.

[0018] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the signal data query method according to any embodiment of the present invention.

[0019] According to another aspect of the present invention, embodiments of the present invention also provide a computer program product, the computer program product including a computer program, which, when executed by a processor, implements the signal data query method described in any embodiment of the present invention.

[0020] This invention, through its embodiment, acquires the vehicle identification number (VIN), signal identifier, and query time period input by the user, and detects whether a decompressed signal file exists in the time-series database. The decompressed signal file is stored in the time-series database in a columnar format according to a first data table structure. The time-series database and its columnar storage feature result in smaller compressed signal data size and facilitate direct querying based on timestamps. If a decompressed signal file exists in the time-series database (meaning it has been imported), the system queries the database based on the user-input VIN, signal identifier, and query time period, using the first data table structure to retrieve the target signal data. This invention not only reduces the size of the compressed signal data but also allows direct querying of relevant signal data from the time-series database based on the user-input VIN, signal identifier, and query time period. Compared to existing technologies that first download the message, convert it to ASCII format, and then view the signal data using CANoe, this method eliminates the need for ASCII conversion when using CANoe, reducing the complexity for engineers and improving query efficiency.

[0021] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description

[0022] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present invention and should not be regarded as a limitation on the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.

[0023] Figure 1 This is a flowchart of a signal data query method according to an embodiment of the present invention;

[0024] Figure 2 This is a signaling diagram of a signal data query method according to an embodiment of the present invention;

[0025] Figure 3 This is a signaling diagram in an embodiment of the present invention for storing decompressed signal files into a timing database;

[0026] Figure 4 This is a schematic diagram of the structure of a signal data query device according to an embodiment of the present invention;

[0027] Figure 5 This is a schematic diagram of the structure of an electronic device that implements the signal data query method of this invention. Detailed Implementation

[0028] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0029] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and their derivatives, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0030] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.

[0031] Example 1

[0032] Figure 1 This is a flowchart of a signal data query method according to an embodiment of the present invention. This embodiment is applicable to situations where signal data is queried online based on a time-series database. The method can be executed by the signal data query device according to this embodiment, which can be implemented in software and / or hardware, such as... Figure 1 As shown, the method specifically includes the following steps:

[0033] S101. Obtain the vehicle identification number, signal sign, and query time period input by the user.

[0034] In this embodiment, the vehicle identification number can be the vehicle's VIN (Vehicle Identification Number). Each vehicle is assigned a VIN during vehicle manufacturing. The VIN may include information such as the vehicle's country of manufacture, brand, model, and manufacturing plant. This number remains unchanged throughout the vehicle's entire lifecycle, and different vehicles have different VIN codes. Vehicles can be identified through their VINs.

[0035] It should be noted that the signal identifier can be information used to identify and distinguish different signals generated by the vehicle, such as signal name or signal number, etc., and this embodiment does not limit it.

[0036] The query time period can be a time range entered by the user, that is, querying signals within this time range.

[0037] Specifically, users can directly enter the vehicle's VIN code, signal name, and time range on the cloud-based signal query platform to perform second-level / millisecond-level signal queries, querying the signal data generated by a certain vehicle at a certain signal within a certain time range.

[0038] S102. Check if the decompressed signal file exists in the timing database.

[0039] As is known, a time-series database is a database specifically optimized for processing time-series data. Time-series data is a set of data points recorded in chronological order, typically used to record data that changes over time. In this embodiment, a time-series database can be deployed simultaneously on both the vehicle-side (i.e., the vehicle itself) and the cloud. The vehicle-side deploys a vehicle-version time-series database to store millisecond-level message signal data generated by the vehicle. The vehicle uploads the signal data to the cloud for storage. The cloud deploys a cloud-version distributed time-series database to store the signal data reported by the vehicle.

[0040] It should be noted that when the vehicle uploads signal data to the cloud, it uploads a compressed zip file. After receiving the compressed file from the vehicle, the cloud will decompress it to obtain the decompressed signal file.

[0041] The decompressed signal files are stored in the timing database according to the first data table structure.

[0042] The first data table structure can be the structure of the data table currently used in the cloud to store signal data uploaded by the vehicle. It should be noted that since the cloud needs to store different signal data uploaded by different vehicles, the cloud data table structure needs to include and be compatible with all vehicle-side version table structures, and needs to be continuously updated. In practice, the first data table structure can be designed by comparing the message signal received by the cloud for each OTA (Over-The-Air) upgrade with the message signal received by the previous OTA upgrade.

[0043] Specifically, after the user enters the vehicle identification number, signal sign, and query time period to query signal data, the cloud first checks whether the decompressed signal file exists in the time-series database.

[0044] S103. If the decompressed signal file exists in the time series database, then query the decompressed signal file in the time series database based on the vehicle identification code, signal identifier, and query time period according to the first data table structure to obtain the target signal data.

[0045] The target signal data can be the vehicle identification number, signal symbol, and signal data corresponding to the query time period, which can be retrieved from a time-series database in the cloud.

[0046] Specifically, if the decompressed signal file exists in the time series database, the system queries the decompressed signal file in the time series database based on the vehicle identification code, signal identifier, and query time period entered by the user, according to the first data table structure. If the signal data generated by a certain signal of a certain vehicle within a certain time range that the user wants to query has been imported into the time series database in the cloud, the corresponding signal data in the time series database in the cloud will be displayed directly. For example, the display method can be to directly display the target signal data, or to display the waveform graph corresponding to the target signal data, so that the user can view the waveform trend of the target signal data.

[0047] This invention, through its embodiment, acquires the vehicle identification number (VIN), signal identifier, and query time period input by the user, and detects whether a decompressed signal file exists in the time-series database. The decompressed signal file is stored in the time-series database in a columnar format according to a first data table structure. The time-series database and its columnar storage feature result in smaller compressed signal data size and facilitate direct querying based on timestamps. If a decompressed signal file exists in the time-series database (meaning it has been imported), the system queries the database based on the user-input VIN, signal identifier, and query time period, using the first data table structure to retrieve the target signal data. This invention not only reduces the size of the compressed signal data but also allows direct querying of relevant signal data from the time-series database based on the user-input VIN, signal identifier, and query time period. Compared to existing technologies that first download the message, convert it to ASCII format, and then view the signal data using CANoe, this method eliminates the need for ASCII conversion when using CANoe, reducing the complexity for engineers and improving query efficiency.

[0048] Optionally, the structure of the first data table can be determined as follows:

[0049] Receive the target message signal corresponding to the version to be upgraded.

[0050] In this embodiment, the version to be upgraded can be the OTA version to be upgraded, and the target message signal corresponding to the version to be upgraded can be the message signal given by the OTA version to be upgraded.

[0051] Specifically, when a vehicle needs to undergo an OTA version upgrade, both the vehicle and the cloud simultaneously receive the message signals provided by the OTA version to be upgraded.

[0052] Compare the target message signal with historical message signals.

[0053] It should be noted that historical message signals can refer to the message signals given in the previous OTA version upgrade for the current OTA version upgrade.

[0054] Specifically, the message signals given in each OTA version upgrade are compared with the message signals given in the previous OTA version upgrade.

[0055] If the target message signal contains a new signal that is not included in the historical message signal, then the historical data table structure is updated according to the new signal to obtain the first data table structure.

[0056] Among them, the newly added signal can be a message signal that exists in the target message signal but is not in the historical message signal, and is added in this OTA version upgrade.

[0057] The historical data table structure can be a data packet structure generated based on the message signals given by the last OTA version upgrade.

[0058] Specifically, when establishing the data table structure, it can be based on the message signals provided by the OTA version upgrade. For example, the message can be used as the table name, and the signals under the message can be used as fields, with the data type of the fields determined according to the signal definition. When a new OTA version upgrade occurs, the message signals provided by the new OTA version upgrade are compared with those of the previous version. The data table structure is updated with the signals added in this OTA version upgrade, such as adding data rows and / or columns corresponding to the new signals, resulting in the updated first data table structure. In actual operation, for signals deleted in this OTA version upgrade, i.e., signals that are not in the target message signals but exist in historical message signals, the corresponding data table structure and / or columns are not deleted.

[0059] Optionally, after comparing the target message signal with historical message signals, the method further includes:

[0060] If there are target signals with the same signal identifier but different data types in the target message signal and the historical message signal, then the larger data type corresponding to the target signal in the target message signal and the historical message signal is determined as the data type of the target signal, and the first data table structure is obtained.

[0061] It should be noted that the data type can be the data type of the field, such as bool, int4, int8, int16, float, double, string, etc.

[0062] For example, the target signal can be a signal with the same name but different data type that exists in both the target message signal and the historical message signal.

[0063] Specifically, for target signals and historical signal messages that have the same signal identifier but different data types, the larger data type shall prevail. The order of data type size can be: bool <int4<int8<int16<float<double<string。

[0064] Optionally, before obtaining the vehicle identification number, traffic sign, and query time period input by the user, the following steps may also be taken:

[0065] Receive message files uploaded by vehicles and upload completion messages.

[0066] It should be noted that the message file can be a zip file of the signal data collected by the vehicle.

[0067] In this embodiment, the upload completion message can be a Kafka message sent to the cloud after the vehicle has uploaded the message file to the cloud, indicating that the upload is complete.

[0068] The message file is obtained by compressing the uncompressed signal file collected by the vehicle. The uncompressed signal file is a columnar file generated according to the second data table structure. Each row of signal data in the uncompressed signal file is the message signal data collected according to the preset sampling period. The second data table structure is determined according to the target message signal corresponding to the version to be upgraded. The uncompressed signal file includes signal data with a preset export period. After the vehicle uploads a message file, it sends an upload completion message.

[0069] The second data table structure can be the structure of the data table used by the vehicle to store the collected signal data.

[0070] The preset sampling period can be a pre-set period for vehicle signal acquisition based on actual needs; this embodiment does not limit this. After the vehicle acquires signal data, it writes the signal data into the vehicle's time-series database. The preset export period can be a pre-set period for exporting signal data from the vehicle's time-series database based on actual needs; this embodiment does not limit this. For example, the preset sampling period could be 3 minutes.

[0071] Specifically, the vehicle-side deployment of a time-series database establishes a data table structure based on the message signals generated during each OTA (Over-The-Air) update. The vehicle collects millisecond-level message signal data generated within the vehicle according to a preset sampling period, then writes this data into the vehicle's time-series database. Subsequently, every certain period (e.g., 3 minutes), the signal data is exported from the time-series database as a columnar Parquet file. This exported Parquet file is then compressed using a ZIP archive and uploaded to the cloud. Once the upload is complete, the vehicle sends a Kafka message indicating upload completion to the cloud.

[0072] In existing technologies, the vehicle-side directly compresses the original message files using ZIP and uploads them to the cloud for storage. However, directly compressing the original message files using ZIP fails to leverage its compression advantages due to the characteristic that most signals have the same value, resulting in a low compression ratio and high bandwidth costs for uploading from the vehicle-side to the cloud. The technical solution in this embodiment utilizes a time-series database and its columnar storage characteristics, combined with the characteristics of millisecond signal data values, to achieve 40% better compression of the message file compared to existing solutions. This results in a smaller compressed data size and saves on upload bandwidth costs.

[0073] Optionally, the structure of the second data table is determined based on the target message signal corresponding to the version to be upgraded, including: determining the table name based on the message in the target message signal, determining the fields based on the signal in the target message signal, and determining the data type of the fields based on the attribute information of the signal in the target message signal.

[0074] Specifically, the vehicle-side deployment of the vehicle-side version of the time-series database uses messages as table names and signals under the messages as fields. The data type of the fields is determined according to the definition of the signals, such as bool, int4, int8, int16, float, double, and string. All tables are determined based on the message signals given by each OTA version.

[0075] Optionally, the upload completion message includes a timestamp indicating the start of the export process for each message file.

[0076] It should be noted that the start export timestamp can be the timestamp of exporting signal data from the vehicle-side time-series database. In actual operation, signal data is exported from the vehicle-side time-series database according to a preset export cycle, for example, once every 3 minutes. The timestamp of each export is recorded and sent to a Kafka message. After each message file is uploaded, the vehicle sends an upload completion message, which includes the start export timestamp of each message file.

[0077] Based on the vehicle identification number, signal identifier, and query time period, the decompressed signal file in the time-series database is queried according to the first data table structure to obtain the target signal data, including:

[0078] By querying the time sequence database based on the vehicle identification number and signal sign, a set of signal files can be obtained.

[0079] It should be noted that the signal file set can be a collection of signal data corresponding to the relevant signals of the vehicle that the user wants to query, stored in a time-series database in the cloud.

[0080] For example, if a user enters the vehicle's VIN code as 0001 and the signal name as vehicle speed signal on the cloud signal query platform, the cloud time series database is queried based on the user's input VIN code and signal name to obtain the signal data set corresponding to the vehicle speed signal of the vehicle with VIN code 0001.

[0081] Based on the query time period and the start timestamp of each message file, at least one decompressed signal file is selected from the signal file set.

[0082] Specifically, based on the query time period entered by the user, the system searches for the start export timestamps within the query time period range and finds the signal files corresponding to all start export timestamps that meet the requirements.

[0083] The signal data from each decompressed signal file is concatenated based on the first data table structure to obtain the target signal data.

[0084] In this embodiment, the operation of splicing the signal data in each decompressed signal file can be, for example, sorting and splicing the signal data in each decompressed signal file according to the start export timestamp of each decompressed signal file, i.e., the start export timestamp of each message file, in chronological order to form a complete and continuous signal data, which is the target signal data.

[0085] Optionally, the first data table structure may contain the second data table structure.

[0086] It should be noted that, since the cloud needs to store different signal data uploaded by different vehicles, the cloud data table structure (i.e., the first data table structure) needs to include and be compatible with all vehicle-side version table structures (i.e., the second data table structure), and needs to be continuously updated.

[0087] The signal data in each decompressed signal file is concatenated based on the first data table structure to obtain the target signal data, including: for the signal data in each decompressed signal file, determining the target message based on the table name of the first data table structure, determining the signal under the target message based on the fields of the first data table structure, determining the definition of the signal under the target message based on the data type of the fields of the first data table structure, and determining the target signal data based on the target message, the signal under the target message, and the definition of the signal under the target message.

[0088] Specifically, the first data table structure and the second data table structure are the same. The process of determining the second data table structure can be referred to, and the signal data of each decompressed signal file can be concatenated in reverse order to obtain the target signal data.

[0089] Optionally, the upload completion message includes the download address for each message file.

[0090] It should be noted that the download address can be the URL (Uniform Resource Locator) address of the compressed file uploaded by the vehicle-mounted terminal. In actual operation, the vehicle-mounted terminal sends an upload completion message after uploading each message file, and the download address of each message file is included in the upload completion message.

[0091] After checking if the decompressed signal file exists in the timing database, the process also includes:

[0092] If the decompressed signal file is not found in the timing database, the message file will be downloaded from the download address.

[0093] Specifically, if the decompressed signal file is not detected in the time series database, that is, the decompressed signal file has not been imported into the time series database in the cloud, the download address of the message file is obtained from the Kafka message sent by the vehicle and the message file is downloaded.

[0094] The message file is decompressed to obtain the decompressed signal file, and the decompressed signal file is stored in the timing database according to the first data table structure.

[0095] In actual operation, after downloading the message file, it is decompressed and merged by table dimension. If the data type of the signal does not match the data type of the signal data in the cloud time series database, it is converted to the data type of the cloud time series database. The merged data is a Parquet file, and the Parquet file is then imported into the cloud time series database for columnar storage according to the first data table structure.

[0096] In practice, the storage space for the decompressed signal files imported into the cloud-based time-series database differs from the storage space for the message files uploaded from the vehicle. After the time-series database import is completed, the message files uploaded from the vehicle can be deleted to save storage costs.

[0097] Optionally, check if the decompressed signal file exists in the timing database, including:

[0098] Check whether an upload completion message for the vehicle was received within the query period.

[0099] Specifically, after receiving the vehicle identification number, signal identifier, and query time period input by the user, the system first checks whether the signal data for this period exists in the time-series database in the cloud. This can be determined by detecting whether a Kafka message uploaded by the vehicle was received within the query time period.

[0100] If a vehicle upload completion message is received within the query period, it is confirmed that the decompressed signal file exists in the time series database.

[0101] Specifically, if a Kafka message uploaded by a vehicle is received within the query period, it indicates that the signal data for this period has been uploaded by the vehicle, and it can be confirmed that the decompressed signal file exists in the time series database.

[0102] The process of detecting whether the decompressed signal file exists in the time series database occurs after the user enters the vehicle identification code, signal symbol, and query time period to perform the query. In addition, this embodiment also proposes a method to start detecting whether the decompressed signal file exists in the time series database before the user performs the query, saving the user's waiting time during the signal query process.

[0103] In this embodiment, the readback function is another way to import vehicle-side message signal data into the cloud-based time-series database. The previous import method involved importing the entire vehicle-side message signal data upon the user's first query, but due to the large volume of vehicle-side message signal data, it has now been changed to on-demand uploading.

[0104] Optionally, check if the decompressed signal file exists in the timing database, including:

[0105] Check if the readback task status is "readback complete".

[0106] It should be noted that a readback task can be a task that requires the vehicle to report message signal data. For example, the readback task status can be readback complete or readback failed. Readback complete indicates that the vehicle has successfully uploaded the message signal data corresponding to the readback task to the cloud's time-series database. Readback failed indicates that the vehicle has not successfully uploaded the message signal data corresponding to the readback task to the cloud's time-series database. When an upload fails, the reason for the failure can be returned to the cloud, such as a network error or other problems.

[0107] Specifically, the existence of decompressed signal files in the timing database can be determined by checking whether the readback task status indicates that the readback is complete.

[0108] If the readback task status is "readback complete", then it is confirmed that the decompressed signal file exists in the time series database.

[0109] Specifically, if the readback task status is "readback complete", it means that the message signal data corresponding to the readback task has been uploaded by the vehicle end, and it can be determined that the decompressed signal file exists in the timing database.

[0110] Optionally, before checking whether the readback task status is readback complete, the following steps are also included:

[0111] Receive user input for readback task instructions.

[0112] It should be noted that the readback task instruction can be a task instruction issued by the user in the cloud to the vehicle, requesting the vehicle to report message signal data.

[0113] The readback task instruction carries the target time period.

[0114] It should be explained that the target time period can be the time period of signal data that the user writes in the readback task instruction to obtain.

[0115] Specifically, the user sends a readback task command from the cloud to request the vehicle to report message logs for a certain period of time (i.e., the target time period).

[0116] The readback task instruction is sent to the vehicle.

[0117] Specifically, the cloud sends the user's readback task instructions to the vehicle.

[0118] Receive the message file corresponding to the target time period and the upload progress information uploaded by the vehicle.

[0119] The upload progress information can be a message indicating the progress of the vehicle uploading a message file to the cloud. For example, the upload progress information could be "uploading in progress," "uploading complete," or "uploading failed."

[0120] Specifically, after receiving the readback task instruction, the vehicle uploads the message file corresponding to the target time period to the time series database in the cloud and reports the upload progress information to the cloud. The cloud receives the message file corresponding to the target time period uploaded by the vehicle and the upload progress information.

[0121] If the upload progress information indicates that the upload is complete, the message file corresponding to the target time period will be decompressed and stored in the time series database.

[0122] Specifically, if the upload progress information indicates that the upload is complete, the cloud will import the message file corresponding to the target time period uploaded by the vehicle into the cloud's time series database.

[0123] Update the readback task status to readback complete.

[0124] Specifically, after the cloud import is complete, the readback task status is updated to "readback complete". When a user queries, the system first checks if the readback task status is "readback complete" to determine if the signal data has been imported. If the readback task status is "readback complete", it means the import is complete and the user can directly query the data.

[0125] Optionally, the method further includes:

[0126] If no signal data matching the vehicle identification number, signal sign, and query time period is found in the decompressed signal file, a prompt message will be generated to inform the user that the requested signal data does not exist and that the user needs to re-enter the query conditions.

[0127] The prompt message can be text or voice; this embodiment does not limit the type of message. For example, the prompt message could be, "The signal data you requested has not been imported. Please re-enter your query criteria."

[0128] Specifically, if the decompressed signal file does not contain signal data that matches the vehicle identification number, signal symbol, and query time period, meaning that the signal data generated by a certain signal of a certain vehicle within a certain time range that the user wants to query has not yet been imported into the time-series database in the cloud, a prompt message will be generated, indicating that the signal data being queried does not exist and the user needs to re-enter the query conditions to search.

[0129] As an exemplary description of an embodiment of the present invention Figure 2 This is a signaling diagram of a signal data query method according to an embodiment of the present invention. For example... Figure 2 As shown, the signal query method includes the following operations:

[0130] After the vehicle uploads the message file to the cloud, it sends a Kafka-reported signal storage message to the cloud-based signal query platform, which then writes the message record. Users enter the vehicle identification number, signal identifier, and query time period on the signal query platform to query millisecond-level signals. The platform queries message records within the time range and determines if the message file corresponding to the query time period has been imported into greptimeDB (the cloud-based time-series database). If not, it performs an import operation into greptimeDB, and greptimeDB returns the import result to the signal query platform. If the import fails, the platform reports an import error to the user. If the import is successful, it assembles SQL (Structured Query Language, a programming language specifically designed for managing and manipulating relational databases) and concurrently queries greptimeDB (since millisecond data is in the time-series database, SQL simplifies data queries). greptimeDB returns the query result to the signal query platform, which then provides the result back to the user.

[0131] In this embodiment, the time-series database in the cloud uses greptimeDB. In other embodiments, the time-series database in the cloud can also be IoTDB (Internet of Things Database, an open-source time-series database designed for the data storage and analysis needs of the Internet of Things (IoT)). This embodiment does not limit this to the latter.

[0132] Figure 3 This is a signaling diagram in an embodiment of the present invention for storing decompressed signal files into a timing database. Figure 2 The import operation of greptimeDB is described in further detail. For example... Figure 3 As shown, storing the decompressed signal file into a time series database, i.e., importing it into greptimeDB, includes the following steps:

[0133] The signal query platform obtains the download URL of the zip file uploaded by the vehicle from the vehicle-side signal object storage service (the vehicle-side signal object storage service is the storage location of the zip-compressed message file uploaded by the vehicle). The vehicle-side signal object storage service returns the download result to the signal query platform. The signal query platform calls the import interface of the greptime import service (provided and implemented by the cloud-based time-series database) to perform the import, transmitting the import URL. The greptime import service downloads the zip file through the file address URL, decompresses it, then merges the Parquet files at the table level, and concurrently uploads the merged Parquet files to the greptimeDB object storage service (the greptimeDB object storage service is the actual storage location of the greptimeDB time-series database; that is, the time-series database uses object storage as the original address for storing data. This is the design of the time-series database in this embodiment. In other embodiments, the database storage can also use a local SSD (Solid State Drive) disk; in this embodiment, object storage is used). The greptimeDB object storage service returns the upload result to the greptime import service, notifying that the upload is complete. The greptime import service sends an import completion message to the signal query platform. The signal query platform then determines that the import was successful based on this message and modifies the status accordingly. After importing, the greptime import service can asynchronously delete local files, saving storage costs.

[0134] The technical solution of this invention determines the data table structure on the vehicle side and the cloud side based on the message signals given by the OTA version to be upgraded. The vehicle side deploys a vehicle-side version of the time-series database, and the cloud side deploys a cloud-side version of the time-series database. The vehicle side writes the millisecond-level message signal data generated in the vehicle into its time-series database. At regular intervals, it exports the signal data from the time-series database as a columnar storage format Parquet file. The exported Parquet file is then compressed using ZIP and uploaded to the cloud. Upon completion of the upload, the vehicle side sends a Kafka message indicating upload completion to the cloud. After receiving the Kafka message from the vehicle side, the cloud records the message, which mainly includes the download address of the signal file and the timestamp indicating the start of the export. When a user queries for second-level / millisecond-level signals using the vehicle VIN code, signal name, and time range, it first checks whether the signal exists within that time period and whether it has been imported into the cloud's time-series database. If it has been imported, it constructs an SQL query to query the time-series database. If the data has not been imported before, the import process is executed. The message files reported by the vehicle are downloaded and decompressed via message logs. The files are then merged by table, resulting in individual Parquet files. These Parquet files are then imported into a time-series database in the cloud for users to query signal data. Alternatively, the vehicle-side message signal data can be imported into the cloud-based time-series database using a readback function, allowing users to directly query the data after import. This invention's technical solution leverages the characteristics of a time-series database and its columnar storage, combined with the characteristics of millisecond signal data values. Columnar storage compression results in smaller compressed data volumes, saving upload bandwidth costs. Furthermore, since millisecond data is stored in the time-series database, data queries can be simplified using SQL. Online querying of millisecond-level signals reduces the complexity for engineers querying signal data and improves query efficiency.

[0135] Example 2

[0136] Figure 4 This is a schematic diagram of a signal data query device according to an embodiment of the present invention. This embodiment is applicable to situations where signal data is queried online based on a time-series database. The device can be implemented using software and / or hardware, and can be integrated into any device that provides signal data query functionality, such as… Figure 4 As shown, the signal data query device specifically includes: an acquisition module 201, a detection module 202, and a query module 203.

[0137] The acquisition module 201 is used to acquire the vehicle identification code, signal sign, and query time period input by the user.

[0138] Detection module 202 is used to detect whether there is a decompressed signal file in the time series database, wherein the decompressed signal file is stored in the time series database in a columnar manner according to a first data table structure;

[0139] The query module 203 is used to query the decompressed signal file in the time series database based on the vehicle identification code, the signal identifier, and the query time period according to the first data table structure to obtain the target signal data if the decompressed signal file exists in the time series database.

[0140] Optionally, the device is specifically used for:

[0141] Receive the target message signal corresponding to the version to be upgraded;

[0142] Compare the target message signal with historical message signals;

[0143] If the target message signal contains a new signal that is not included in the historical message signal, then the historical data table structure is updated according to the new signal to obtain the first data table structure.

[0144] Optionally, the device is further specifically used for:

[0145] If there are target signals with the same signal identifier but different data types in the target message signal and the historical message signal, then the larger data type corresponding to the target signal in the target message signal and the historical message signal is determined as the data type of the target signal, and a first data table structure is obtained.

[0146] Optionally, the device further includes:

[0147] The receiving module is used to receive message files and upload completion messages uploaded by the vehicle. The message file is obtained by compressing the uncompressed signal file collected by the vehicle. The uncompressed signal file is a columnar file generated according to the second data table structure. Each row of signal data in the uncompressed signal file is message signal data collected according to a preset sampling period. The second data table structure is determined according to the target message signal corresponding to the version to be upgraded. The uncompressed signal file includes signal data with a preset export period. The vehicle sends an upload completion message after uploading each message file.

[0148] Optionally, the second data table structure is determined based on the target message signal corresponding to the version to be upgraded, including: determining the table name based on the message in the target message signal, determining the field based on the signal in the target message signal, and determining the data type of the field based on the attribute information of the signal in the target message signal.

[0149] Optionally, the upload completion message includes a timestamp indicating the start of the export process for each of the message files;

[0150] The query module 203 is specifically used for:

[0151] The query unit is used to query the time-series database based on the vehicle identification code and the signal identifier to obtain a set of signal files;

[0152] A filtering unit is used to filter at least one decompressed signal file from the signal file set based on the query time period and the start export timestamp of each of the message files;

[0153] The splicing unit is used to splice the signal data from each decompressed signal file based on the first data table structure to obtain the target signal data.

[0154] Optionally, the first data table structure includes the second data table structure;

[0155] The splicing unit is specifically used for: for the signal data in each decompressed signal file, determining the target message according to the table name of the first data table structure, determining the signal under the target message according to the fields of the first data table structure, determining the definition of the signal under the target message according to the data type of the fields of the first data table structure, and determining the target signal data according to the target message, the signal under the target message, and the definition of the signal under the target message.

[0156] Optionally, the upload completion message includes the download address of each of the message files;

[0157] The device further includes:

[0158] The download module is used to download the message file according to the download address if the decompressed signal file does not exist in the timing database.

[0159] The decompression and storage module is used to decompress the message file to obtain the decompressed signal file, and store the decompressed signal file in the time series database according to the first data table structure.

[0160] Optionally, the detection module 202 is specifically used for:

[0161] Detect whether an upload completion message for a vehicle was received within the query time period;

[0162] If an upload completion message from a vehicle is received within the query time period, it is determined that the decompressed signal file exists in the time-series database.

[0163] Optionally, the detection module 202 includes:

[0164] The detection unit is used to detect whether the readback task status is readback complete;

[0165] The determining unit is configured to determine that a decompressed signal file exists in the time series database if the readback task status is readback complete.

[0166] Optionally, the detection module 202 further includes:

[0167] The first receiving unit is used to receive a readback task instruction input by the user, wherein the readback task instruction carries a target time period.

[0168] The issuing unit is used to issue readback task instructions to the vehicles;

[0169] The second receiving unit is used to receive the message file corresponding to the target time period and the upload progress information uploaded by the vehicle;

[0170] The storage unit is used to decompress the message file corresponding to the target time period and store it in the time series database if the upload progress information indicates that the upload is complete.

[0171] The update unit is used to update the readback task status to readback complete.

[0172] Optionally, the device further includes:

[0173] The generation module is used to generate a prompt message if there is no signal data in the decompressed signal file that matches the vehicle identification code, the signal identifier, and the query time period, so as to prompt the user that the signal data being queried does not exist and that the query conditions need to be re-entered.

[0174] The above-mentioned products can execute the signal data query method provided in any embodiment of the present invention, and have the corresponding functional modules and beneficial effects of the execution method.

[0175] Example 3

[0176] Figure 5 A schematic diagram of an electronic device 30 that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.

[0177] like Figure 5 As shown, the electronic device 30 includes at least one processor 31 and a memory, such as a read-only memory (ROM) 32 or a random access memory (RAM) 33, communicatively connected to the at least one processor 31. The memory stores computer programs executable by the at least one processor. The processor 31 can perform various appropriate actions and processes based on the computer program stored in the ROM 32 or loaded from storage unit 38 into the RAM 33. The RAM 33 can also store various programs and data required for the operation of the electronic device 30. The processor 31, ROM 32, and RAM 33 are interconnected via a bus 34. An input / output (I / O) interface 35 is also connected to the bus 34.

[0178] Multiple components in electronic device 30 are connected to I / O interface 35, including: input unit 36, such as keyboard, mouse, etc.; output unit 37, such as various types of monitors, speakers, etc.; storage unit 38, such as disk, optical disk, etc.; and communication unit 39, such as network card, modem, wireless transceiver, etc. Communication unit 39 allows electronic device 30 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0179] Processor 31 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 31 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 31 performs the various methods and processes described above, such as signal data query methods:

[0180] Obtain the vehicle identification number, traffic sign, and query time period input by the user;

[0181] The system detects whether a decompressed signal file exists in the time series database, wherein the decompressed signal file is stored in the time series database according to a first data table structure.

[0182] If the decompressed signal file exists in the time series database, the target signal data is obtained by querying the decompressed signal file in the time series database based on the vehicle identification code, the signal identifier, and the query time period according to the first data table structure.

[0183] In some embodiments, the signal data query method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 38. In some embodiments, part or all of the computer program may be loaded and / or installed on electronic device 30 via ROM 32 and / or communication unit 39. When the computer program is loaded into RAM 33 and executed by processor 31, one or more steps of the signal data query method described above may be performed. Alternatively, in other embodiments, processor 31 may be configured to execute the signal data query method by any other suitable means (e.g., by means of firmware).

[0184] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0185] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0186] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0187] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0188] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.

[0189] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.

[0190] In one embodiment, the present invention further includes a computer program product, which includes a computer program that, when executed by a processor, implements the signal data query method of any embodiment of the present invention.

[0191] In implementing the computer program product, computer program code for performing the operations of this invention can be written in one or more programming languages ​​or a combination thereof. Programming languages ​​include object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as C or similar languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0192] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.

[0193] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. A signal data query method, characterized in that, include: Obtain the vehicle identification number, traffic sign, and query time period input by the user; The system detects whether a decompressed signal file exists in the time series database, wherein the decompressed signal file is stored in the time series database according to a first data table structure. If the decompressed signal file exists in the time series database, the target signal data is obtained by querying the decompressed signal file in the time series database based on the vehicle identification code, the signal identifier, and the query time period according to the first data table structure.

2. The method according to claim 1, characterized in that, The structure of the first data table is determined as follows: Receive the target message signal corresponding to the version to be upgraded; Compare the target message signal with historical message signals; If the target message signal contains a new signal that is not included in the historical message signal, then the historical data table structure is updated according to the new signal to obtain the first data table structure.

3. The method according to claim 2, characterized in that, After comparing the target message signal with historical message signals, the method further includes: If there are target signals with the same signal identifier but different data types in the target message signal and the historical message signal, then the larger data type corresponding to the target signal in the target message signal and the historical message signal is determined as the data type of the target signal, and a first data table structure is obtained.

4. The method according to claim 1, characterized in that, Before obtaining the vehicle identification number, traffic sign, and query time period input by the user, the process also includes: The system receives message files and upload completion messages uploaded by vehicles. The message files are obtained by compressing the uncompressed signal files collected by the vehicles. The uncompressed signal files are columnar files generated according to a second data table structure. Each row of signal data in the uncompressed signal files contains message signal data collected according to a preset sampling period. The second data table structure is determined based on the target message signal corresponding to the version to be upgraded. The uncompressed signal files include signal data with a preset export period. An upload completion message is sent after each message file is uploaded by the vehicle.

5. The method according to claim 4, characterized in that, The second data table structure is determined based on the target message signal corresponding to the version to be upgraded, including: determining the table name based on the message in the target message signal, determining the field based on the signal in the target message signal, and determining the data type of the field based on the attribute information of the signal in the target message signal.

6. The method according to claim 4, characterized in that, The upload completion message includes a timestamp indicating the start of the export for each of the message files; Based on the vehicle identification number, the signal identifier, and the query time period, the decompressed signal file in the time-series database is queried according to the first data table structure to obtain the target signal data, including: Based on the vehicle identification number and the signal identifier, the time sequence database is queried to obtain a set of signal files; Based on the query time period and the start timestamp of each message file, at least one decompressed signal file is selected from the signal file set; The signal data from each decompressed signal file is concatenated based on the first data table structure to obtain the target signal data.

7. The method according to claim 6, characterized in that, The first data table structure includes the second data table structure; The signal data in each decompressed signal file is concatenated based on the first data table structure to obtain target signal data. This includes: for the signal data in each decompressed signal file, determining the target message based on the table name of the first data table structure, determining the signal under the target message based on the fields of the first data table structure, determining the definition of the signal under the target message based on the data type of the fields of the first data table structure, and determining the target signal data based on the target message, the signal under the target message, and the definition of the signal under the target message.

8. The method according to claim 4, characterized in that, The upload completion message includes the download address of each of the message files; After detecting whether the decompressed signal file exists in the timing database, the method further includes: If the decompressed signal file does not exist in the timing database, then the message file is downloaded according to the download address; The message file is decompressed to obtain a decompressed signal file, and the decompressed signal file is stored in the time series database according to the first data table structure.

9. The method according to claim 1, characterized in that, Detecting whether the decompressed signal file exists in the time series database includes: Detect whether an upload completion message for a vehicle was received within the query time period; If an upload completion message from a vehicle is received within the query time period, it is determined that the decompressed signal file exists in the time-series database.

10. The method according to claim 1, characterized in that, Detecting whether the decompressed signal file exists in the time series database includes: Check if the readback task status is "readback complete"; If the readback task status is readback complete, then it is determined that the decompressed signal file exists in the time series database.

11. The method according to claim 10, characterized in that, Before checking whether the readback task status is readback complete, the following steps are also included: Receive a readback task instruction input by the user, wherein the readback task instruction carries a target time period; Send the readback task command to the vehicle; Receive the message file corresponding to the target time period and the upload progress information uploaded by the vehicle; If the upload progress information indicates that the upload is complete, then the message file corresponding to the target time period is decompressed and stored in the time series database; Update the readback task status to readback complete.

12. The method according to claim 1, characterized in that, Also includes: If no signal data matching the vehicle identification number, the signal identifier, and the query time period is found in the decompressed signal file, a prompt message is generated to inform the user that the queried signal data does not exist and that the query conditions need to be re-entered.

13. A signal data query device, characterized in that, include: The acquisition module is used to acquire the vehicle identification number, signal sign, and query time period input by the user; The detection module is used to detect whether the decompressed signal file exists in the time series database, wherein the decompressed signal file is stored in the time series database according to the first data table structure. The query module is used to query the decompressed signal file in the time series database based on the vehicle identification code, the signal identifier, and the query time period, according to the first data table structure, to obtain the target signal data if the decompressed signal file exists in the time series database.

14. An electronic device, characterized in that, The electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the signal data query method according to any one of claims 1-12.

15. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that, when executed by a processor, implement the signal data query method according to any one of claims 1-12.

16. A computer program product comprising a computer program that, when executed by a processor, implements the signal data query method according to any one of claims 1-12.