A CAN signal processing method, device, system and electronic equipment

CN116346650BActive Publication Date: 2026-08-21CHONGQING SELIS PHOENIX INTELLIGENT INNOVATION TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310295837.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-24
Publication Date
2026-08-21
Estimated Expiration
2043-03-24

AI Technical Summary

Technical Problem

[0005]有鉴于此,本申请实施例提供了一种CAN信号处理方法、装置、系统及电子设备,以解决现有技术中对CAN总线上的过多无用信号进行解析,需要耗费大量的计算资源,容易导致汽车诊断系统的解析效率低下,并大大增加汽车诊断系统的存储负担的问题

Benefits of technology

[0023]本申请实施例与现有技术相比,其有益效果至少包括:在汽车故障诊断业务场景中,可以先从汽车的CAN总线上获取到原始CAN信号集合;然后对原始CAN信号集合进行数据过滤处理,以将该原始CAN信号集合中与后续的分析任务无关或者无用的数据过滤掉,从而大大减少了后续需求解析的数据量,不仅可减少计算资源的耗费量,还可有效地提高汽车诊断系统的解析效率,同时还可以大大地减轻汽车诊断系统的数据存储负担,有利于释放出更多的内存空间。此外,通过创建第一数据通道、第二数据通道和第三数据通道,并基于第一数据通道、第二数据通道将从CAN信号数据流划分为实时CAN信号数据流和诊断信号数据流,之后在第三数据通道中接收来自第一数据通道的实时CAN信号数据流和来自第二数据通道的诊断信号数据流,并对实时CAN信号数据流和诊断信号数据流进行解析,得到解析数据,可实现各个数据通道的计算资源相互隔离,提升对CAN信号数据流的流式处理效率,避免不同的数据流处理逻辑之间受到干扰影响而导致数据处理效率降低的问题(如简单的数据流处理逻辑容易受到复杂的数据流处理逻辑的影响而导致数据处理效率降低),有利于提高整体的数据处理效率。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116346650B_ABST
    Figure CN116346650B_ABST
Patent Text Reader

Abstract

The application relates to the automobile field and provides a CAN signal processing method, device, system and electronic equipment. The method comprises the following steps: acquiring an original CAN signal set; performing data filtering processing on the original CAN signal set to obtain a CAN signal data stream; creating a first data channel, a second data channel and a third data channel; dividing the CAN signal data stream into a real-time CAN signal data stream and a diagnostic signal data stream based on the first data channel and the second data channel; in the third data channel, receiving the real-time CAN signal data stream from the first data channel and the diagnostic signal data stream from the second data channel, and analyzing the real-time CAN signal data stream and the diagnostic signal data stream to obtain analysis data. The application can effectively improve the analysis efficiency of a CAN signal of an automobile diagnostic system, and can realize isolation of computing resources and save computing resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the automotive field, and more particularly to a CAN signal processing method, apparatus, system, and electronic device. Background Technology

[0002] With the continuous development of modern automobiles (such as new energy vehicles), the communication between various controllers in automobiles is becoming more and more frequent, and thus the amount of data on the CAN bus is also increasing significantly.

[0003] For example, in automotive fault diagnosis scenarios, automotive diagnostic systems need to parse and analyze CAN signals on the CAN bus to determine the location and cause of automotive faults.

[0004] However, the signals on the CAN bus are complex, diverse, and numerous, many of which are actually useless for automotive diagnostics. Analyzing too many useless signals not only consumes a lot of computing resources and can easily lead to low parsing efficiency in the automotive diagnostic system, but also greatly increases the storage burden on the automotive diagnostic system. Summary of the Invention

[0005] In view of this, embodiments of this application provide a CAN signal processing method, apparatus, system, and electronic device to solve the problem in the prior art that parsing too many useless signals on the CAN bus requires a lot of computing resources, which easily leads to low parsing efficiency of the vehicle diagnostic system and greatly increases the storage burden of the vehicle diagnostic system.

[0006] A first aspect of this application provides a CAN signal processing method, including:

[0007] Obtain the raw CAN signal set, which includes multiple raw CAN signals;

[0008] The original CAN signal set is processed by data filtering to obtain the CAN signal data stream;

[0009] Create the first data channel, the second data channel, and the third data channel;

[0010] Based on the first data channel and the second data channel, the CAN signal data stream is divided into a real-time CAN signal data stream and a diagnostic signal data stream;

[0011] In the third data channel, the real-time CAN signal data stream from the first data channel and the diagnostic signal data stream from the second data channel are received, and the real-time CAN signal data stream and the diagnostic signal data stream are parsed to obtain parsed data.

[0012] A second aspect of this application provides a CAN signal processing apparatus, comprising:

[0013] The acquisition module is configured to acquire a raw CAN signal set, which includes multiple raw CAN signals;

[0014] The filtering module is configured to perform data filtering processing on the original CAN signal set to obtain the CAN signal data stream;

[0015] The module is configured to create a first data channel, a second data channel, and a third data channel.

[0016] The partitioning module is configured to divide the CAN signal data stream into a real-time CAN signal data stream and a diagnostic signal data stream based on the first data channel and the second data channel.

[0017] The parsing module is configured to receive real-time CAN signal data streams from the first data channel and diagnostic signal data streams from the second data channel in the third data channel, and to parse the real-time CAN signal data streams and diagnostic signal data streams to obtain parsed data.

[0018] A third aspect of the embodiments of this application provides an intelligent diagnostic system for automobiles, including a real-time computing engine and an online analysis and processing engine;

[0019] The real-time computing engine is used to implement the CAN signal processing method of the first aspect, so as to write the parsed data into the online analysis and processing engine;

[0020] The online analytical processing engine is used to perform data analysis on parsed data and display the results.

[0021] A fourth aspect of this application provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the method described above.

[0022] A fifth aspect of this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the above-described method.

[0023] Compared with the prior art, the beneficial effects of the embodiments of this application include at least the following: In the automotive fault diagnosis business scenario, the original CAN signal set can be obtained from the CAN bus of the vehicle first; then, the original CAN signal set is subjected to data filtering processing to filter out data in the original CAN signal set that is irrelevant or useless to the subsequent analysis tasks, thereby greatly reducing the amount of data to be parsed in the subsequent process. This not only reduces the consumption of computing resources, but also effectively improves the parsing efficiency of the automotive diagnostic system. At the same time, it can also greatly reduce the data storage burden of the automotive diagnostic system, which is conducive to freeing up more memory space. Furthermore, by creating a first data channel, a second data channel, and a third data channel, and dividing the CAN signal data stream into a real-time CAN signal data stream and a diagnostic signal data stream based on the first and second data channels, and then receiving the real-time CAN signal data stream from the first data channel and the diagnostic signal data stream from the second data channel in the third data channel, and parsing the real-time CAN signal data stream and the diagnostic signal data stream to obtain parsed data, the computing resources of each data channel can be isolated from each other, improving the streaming processing efficiency of the CAN signal data stream, avoiding the problem of reduced data processing efficiency due to interference between different data stream processing logics (such as simple data stream processing logic being easily affected by complex data stream processing logic, leading to reduced data processing efficiency), which is conducive to improving the overall data processing efficiency. Attached Figure Description

[0024] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0025] Figure 1 This is a schematic flowchart of a CAN signal processing method provided in an embodiment of this application;

[0026] Figure 2 This is a schematic diagram of the structure of a CAN signal processing device provided in an embodiment of this application;

[0027] Figure 3 This is a schematic diagram of the structure of a CAN signal processing system provided in an embodiment of this application;

[0028] Figure 4 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0029] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.

[0030] A CAN signal processing method, apparatus, and system according to embodiments of this application will now be described in detail with reference to the accompanying drawings.

[0031] Figure 1 This is a flowchart illustrating a CAN signal processing method provided in an embodiment of this application. This CAN signal processing method can be executed by a real-time computing engine in an automotive intelligent diagnostic system, such as... Figure 1 As shown, the CAN signal processing method includes:

[0032] Step S101: Obtain the original CAN signal set, which includes multiple original CAN signals.

[0033] As an example, in the automotive fault diagnosis business scenario, the automotive intelligent diagnostic system can obtain the raw CAN signal set to be analyzed from the CAN bus.

[0034] CAN (Controller Area Network) is an ISO internationally standardized serial communication protocol. Various actuators within a vehicle can use the CAN bus to transmit data.

[0035] In the embodiments of this application, the original CAN signal refers to the original CAN message obtained by the vehicle intelligent diagnostic system from the CAN bus.

[0036] Step S102: Perform data filtering processing on the original CAN signal set to obtain the CAN signal data stream.

[0037] Typically, automotive intelligent diagnostic systems directly acquire a complex and diverse set of raw CAN signals from the CAN bus, a significant portion of which are useless in actual diagnostic analysis. For example, in diagnostic analysis of vehicle noise faults, the primary focus is on analyzing CAN signals related to engine noise, wind noise, body resonance, suspension noise, and tire noise; other CAN signals are essentially irrelevant. Excessive useless signals not only hinder diagnostic analysis in this scenario but also waste computational resources, reducing the parsing efficiency of the automotive intelligent diagnostic system and increasing its storage burden.

[0038] This application embodiment filters the raw CAN signal set by setting a pre-filter. This filters out raw CAN signals that are irrelevant or useless for fault analysis, retaining only the useful raw CAN signals relevant to the target diagnostic analysis. This not only saves computing resources but also effectively improves the parsing efficiency of the automotive intelligent diagnostic system and significantly reduces its storage burden, freeing up more memory space. Simultaneously, it also helps improve the accuracy of diagnostic analysis.

[0039] Step S103: Create the first data channel, the second data channel, and the third data channel.

[0040] In one embodiment, three data channels—a first data channel, a second data channel, and a third data channel—can be pre-created in the vehicle intelligent diagnostic system for processing CAN signals.

[0041] Step S104: Based on the first data channel and the second data channel, the CAN signal data stream is divided into a real-time CAN signal data stream and a diagnostic signal data stream.

[0042] Generally, the hexadecimal string header of the diagnostic signal ID on the CAN bus uses a fixed format of 0x7 or 0x07. Therefore, the fixed format of the hexadecimal string header of the diagnostic signal ID can be used to distinguish between real-time CAN signals and diagnostic signals in the CAN signal data stream.

[0043] In one embodiment, based on the predefined streaming processing operators and side output streams in the first and second data channels, real-time streaming calculations can be performed on each data in the CAN signal data stream to filter out the data in which the hexadecimal string header of the signal ID is in a fixed format of 0x7 or 0x07 from the CAN signal data stream to obtain the diagnostic signal data stream, while the remaining data is divided into real-time CAN signal data streams.

[0044] Step S105: In the third data channel, receive the real-time CAN signal data stream from the first data channel and the diagnostic signal data stream from the second data channel, and parse the real-time CAN signal data stream and the diagnostic signal data stream to obtain parsed data.

[0045] In the third data channel, the identification information of real-time CAN signals (such as CAN signal IDs) and the identification information of diagnostic signals (such as diagnostic signal IDs) in the diagnostic signal data stream can be extracted first. Then, the CAN signal parsing baseline file stored in a specified memory (such as the memory of the real-time computing engine of the automotive intelligent diagnostic system) is retrieved. Based on the CAN signal IDs and diagnostic signal IDs, the corresponding component names, signal values, and message IDs are found in the CAN signal parsing baseline file, thus obtaining the parsed data. Afterward, the parsed data can be written to the Online Analytical Processing (OLAP) engine for further data analysis, yielding and displaying the analysis results.

[0046] Among them, the CAN signal parsing baseline file is a standard file that is usually written according to the communication matrix required for vehicle communication. This standard file describes the message structure, format and corresponding information in the CAN signal network of the vehicle.

[0047] The technical solution provided in this application, by performing data filtering on the original CAN signal set, removes data from the original CAN signal set that is irrelevant or useless to subsequent analysis tasks. This significantly reduces the amount of data that needs to be parsed, not only reducing the consumption of computing resources but also effectively improving the parsing efficiency of the automotive diagnostic system. Simultaneously, it greatly reduces the data storage burden of the automotive diagnostic system, freeing up more memory space. Furthermore, by creating multiple data channels to process the data stream, the computing resources of different data channels can be isolated from each other, improving the streaming processing efficiency of the CAN signal data stream. This avoids the problem of reduced data processing efficiency caused by interference between different data stream processing logics (e.g., simple data stream processing logic is easily affected by complex data stream processing logic, leading to reduced data processing efficiency), thus improving overall data processing efficiency.

[0048] In some embodiments, step S102 specifically includes:

[0049] Determine the business scenario information;

[0050] Determine the target retained data set for matching business scenario information. The target retained data set includes multiple target retained data, and each target retained data corresponds to a unique identifier.

[0051] Extract the data identification information corresponding to each original CAN signal in the original CAN signal set;

[0052] Based on the unique identifier information and data identifier information, the original CAN signal set is subjected to data filtering processing to obtain the CAN signal data stream.

[0053] In practical applications, different business scenario information can be configured according to actual business needs. This business scenario information includes business scenario ID, business scenario type (such as automotive fault diagnosis scenario, automotive performance testing scenario, etc.), CAN signals associated with diagnosis, diagnostic signals, etc.

[0054] Generally, the associated (useful) CAN signals and diagnostic signals differ across different business scenarios. Therefore, a CAN signal ID filter table can be created in advance based on the relationships between different business scenarios and their associated CAN and diagnostic signals. This CAN signal ID filter table includes business scenario information, CAN signal IDs, and diagnostic signal IDs. One CAN signal ID filter table is created for each business scenario to facilitate maintenance and management. The created CAN signal ID filter table can be stored in a relational database and synchronized to the real-time computing engine for subsequent retrieval.

[0055] Typically, for business analysis of a given scenario, the number of CAN signals needed (i.e., useful CAN signals) is far less than the number of useless CAN signals. Therefore, when creating a CAN signal ID filter table, the relevant information (including signal IDs) of the CAN signals and diagnostic signals needed for business analysis of that scenario can be written into the table, while the relevant information of other useless CAN signals and diagnostic signals can be left out. All the CAN signals and diagnostic signals in the resulting CAN signal ID filter table constitute a reserved data set corresponding to that business scenario.

[0056] In some embodiments, a target retained data set matching the business scenario information can be obtained by following the steps below:

[0057] Monitor the operation logs of a relational database, which stores multiple sets of reserved data;

[0058] Find the latest retained data set and the latest operation data corresponding to the business scenario information from the operation log;

[0059] Retrieve the pre-selected data set corresponding to the business scenario information from the specified memory. Based on the latest data set and the latest operation data, synchronize and update the pre-selected data set to obtain the target data set.

[0060] The operation log includes details and types of operation data. The main types of operation data include Update, Create, and Delete.

[0061] Latest operation data refers to the operations performed on the latest retained data set in a relational database that correspond to business scenario information, including updating, adding, or deleting data.

[0062] The latest retained dataset refers to the dataset obtained after the last data processing of the retained dataset corresponding to the business scenario information in the relational database. In other words, it is the retained dataset that was last modified.

[0063] In practical applications, multiple reserved data sets stored in the relational database can be synchronized to the memory of the vehicle intelligent diagnostic system in advance for subsequent retrieval.

[0064] As an example, a relational database stores n business scenarios (business scenario 01, 02...n), where n is a positive integer ≥1, and n reserved data sets (CAN signal ID filter tables) that correspond one-to-one with these n business scenarios.

[0065] Assuming the target business scenario is identified as business scenario 01 based on the acquired business scenario information, the automotive intelligent diagnostic system can monitor the operation logs of the relational database and retrieve the latest operation data 01 of the latest reserved data set 01 corresponding to business scenario 01. Then, it retrieves the pre-selected reserved data set 01 corresponding to the business scenario information from a specified memory (such as the memory in the real-time computing engine); next, it confirms whether the latest reserved data set 01 and the pre-selected reserved data set 01 are completely consistent based on this latest operation data 01.

[0066] If they are completely identical, then the pre-selected reserved data set 01 will be determined as the target reserved data set.

[0067] If they are not completely consistent, the pre-selected reserved data set 01 is synchronously updated based on the latest operation data 01 and the latest reserved data set 01 to obtain the target reserved data set. For example, if the real-time computing engine receives data of the Create operation type, it adds the new data from the latest reserved data set 01 in the relational database to the corresponding position in the pre-selected reserved data set 01; if it receives data of the Update operation type, it updates the corresponding data in the pre-selected reserved data set 01; if it receives data of the Delete operation type, it deletes the corresponding original data in the pre-selected reserved data set 01 to maintain strong consistency between the pre-selected reserved data set 01 and the latest reserved data set 01 in the memory of the real-time computing engine.

[0068] Unique identification information can be a unique ID for the target data to be retained or other encoded symbols, etc.

[0069] Data identification information can be a unique ID of the original CAN signal or other encoded symbols.

[0070] The automotive intelligent diagnostic system can compare the unique identifier information in the target retained data set with the data identifier information corresponding to each original CAN signal in the extracted original CAN signal set. The original CAN signals that do not have a data identifier information corresponding to the unique identifier information in the target retained data set are discarded, while the original CAN signals that have a data identifier information corresponding to the unique identifier information in the target retained data set are retained, thus obtaining the CAN signal data stream (i.e. the original CAN signals that were not discarded).

[0071] The technical solution provided in this application embodiment filters the original CAN signal set to remove data that is irrelevant or useless to subsequent analysis tasks, thereby greatly reducing the amount of data to be parsed. This not only reduces the consumption of computing resources but also effectively improves the parsing efficiency of the automotive diagnostic system. At the same time, it greatly reduces the data storage burden of the automotive diagnostic system, which helps to free up more memory space.

[0072] In some embodiments, step S104 above specifically includes the following steps:

[0073] The CAN signal data stream is streamed based on the first streaming computing strategy in the first data channel to obtain the real-time CAN signal data stream.

[0074] The diagnostic signal data stream is obtained by performing streaming computation on the CAN signal data stream based on the second streaming computation strategy in the second data channel.

[0075] The first streaming computing strategy refers to a streaming processing operator that performs streaming computing on the CAN signal data stream to obtain the real-time CAN signal data stream.

[0076] The second streaming computing strategy refers to a streaming processing operator that performs streaming computing on the CAN signal data stream to obtain a diagnostic signal data stream.

[0077] Generally, real-time CAN signals have a large data volume and simple parsing logic, while diagnostic signals have a small data volume and complex parsing logic. If a single data channel is used to process the CAN signal data stream, the data processing efficiency of the real-time CAN signal, which has a large data volume and simple parsing logic, is easily reduced by the interference of the complex logic of the diagnostic signal, which has a small data volume and complex parsing logic, thus affecting the overall processing efficiency of the CAN signal data stream.

[0078] To address the aforementioned issues, this application proposes a method of using a first streaming computation strategy to perform streaming computation on the CAN signal data stream in the first data channel to obtain a real-time CAN signal data stream; and using a second streaming computation strategy to perform streaming computation on the CAN signal data stream in the second data channel to obtain a diagnostic signal data stream. This dual-data-channel streaming processing of the CAN signal data stream avoids the reduction in data processing efficiency of real-time CAN signals with large data volumes and simple parsing logic due to interference from the complex logic of diagnostic signals with small data volumes and complex parsing logic, thereby effectively improving the overall processing efficiency of the CAN signal data stream.

[0079] In some embodiments, a first virtual computing resource allocated to a first data channel and a second virtual computing resource allocated to a second data channel may be determined first. Then, in the first data channel, the first virtual computing resource and a first streaming computing strategy are used to perform streaming computing on the CAN signal data stream to obtain a real-time CAN signal data stream. In the second data channel, the second virtual computing resource and the second streaming computing strategy are used to perform streaming computing on the CAN signal data stream to obtain a diagnostic signal data stream.

[0080] The first virtual computing resource allocated to the first data channel and the second virtual computing resource allocated to the second data channel can be determined according to the following steps. Specifically, the first data throughput of the real-time CAN signal data stream and the second data throughput of the diagnostic signal data stream can be determined first; finally, based on the first data throughput and the second data throughput, the first virtual computing resource allocated to the first data channel and the second virtual computing resource allocated to the second data channel can be determined.

[0081] The first data throughput of the real-time CAN signal data stream can be determined by the following steps: determine the reporting frequency of the real-time CAN signal data stream; calculate the first data throughput based on the reporting frequency.

[0082] The first virtual computing resource can be understood as a virtual resource (such as an information resource created using a database or program) used to perform streaming computation on the CAN signal data stream flowing into the first data channel.

[0083] The second virtual computing resource can be understood as a virtual resource (such as information resources created using databases or programs) used to perform streaming computation on the CAN signal data stream flowing into the second data channel.

[0084] The reporting frequency refers to the time interval at which the CAN bus reports CAN signals to the vehicle diagnostic system. This time interval can be flexibly set according to the actual situation, for example, 1 second, 2 seconds, 10 seconds, etc.

[0085] The first data throughput can be understood as the number of data points in the CAN signal data stream that are processed in a streaming manner per unit time to output the real-time CAN signal data stream (measured in bits, bytes, packets, etc.).

[0086] The second data throughput can be understood as the number of times (measured in bits, bytes, packets, etc.) the data in the CAN signal data stream is processed in a streaming manner per unit time to output a diagnostic signal data stream.

[0087] Because the data volume and parsing logic of real-time CAN signals and diagnostic signals in the CAN signal data stream differ significantly, their virtual computing resource requirements are also often different. Inappropriate allocation of virtual computing resources can lead to excessive resource consumption due to over-allocation, or slow data processing or even failure to complete all data processing due to insufficient allocation.

[0088] As an example, firstly, the target retained data set corresponding to the business scenario is obtained, and the CAN signal data stream is filtered out from the original CAN signal set; then, based on the reporting frequency of CAN signals and diagnostic signals, the first data throughput of processing the CAN signal data stream to obtain the real-time CAN signal data stream is calculated; and the second data throughput of processing the CAN signal data stream to obtain the diagnostic signal data stream is calculated.

[0089] Next, according to the following formula (1): T1=(P1*M1 / W1), the parallelism T1 of the first operator used to process the CAN signal data stream in the first data channel to obtain the real-time CAN signal data stream is calculated. In formula (1), P1 represents the CAN signal frequency, that is, the reporting frequency of the real-time CAN signal, M1 represents the number of real-time CAN signals in the CAN signal filter table, and W1 represents the concurrent processing capability of a single operator.

[0090] The first data throughput is related to the number of real-time CAN signals in the CAN signal filter table.

[0091] According to the following formula (2): T2=(P2*M2 / W2), the parallelism T2 of the second operator used to process the CAN signal data stream to obtain the diagnostic signal data stream in the second data channel is calculated. In formula (2), P2 represents the reporting frequency of the diagnostic signal, M2 represents the number of diagnostic signals in the CAN signal filter table, and W2 represents the concurrent processing capability of a single operator.

[0092] W1 and W2 can be the same or different.

[0093] The second data throughput is related to the number of diagnostic signals in the CAN signal filter table.

[0094] Operator parallelism refers to the number of operator subtasks a given operator is divided into, with each subtask processing a portion of the data. These subtasks execute in parallel across multiple subtasks. For example, an operator with a parallelism of 2 is divided into two operator subtasks, each processing a portion of the data in parallel.

[0095] Next, based on the parallelism of the first and second operators, the first virtual computing resources allocated to the first data channel and the second virtual computing resources allocated to the second data channel are determined. Generally, the higher the operator parallelism, the greater the demand for virtual computing resources, and correspondingly, more virtual computing resources should be allocated to that data channel to improve the overall efficiency of streaming computation of the CAN signal data stream.

[0096] Finally, in the first data channel, the CAN signal data stream is stream-processed using the first virtual computing resources to obtain the real-time CAN signal data stream. In the second data channel, the CAN signal data stream is stream-processed using the second virtual computing resources to obtain the diagnostic signal data stream.

[0097] The technical solution provided in this application embodiment can realize the reasonable allocation of virtual computing resources as needed, and use the virtual computing resources allocated to the first data channel and the second data channel to perform dual-channel split processing of the CAN signal data stream. While achieving the purpose of mutual isolation of computing resources, it can save computing resources, thereby helping to reduce the overall data processing cost.

[0098] All of the above-mentioned optional technical solutions can be combined in any way to form the optional embodiments of this application, and will not be described in detail here.

[0099] The following are embodiments of the apparatus described in this application, which can be used to execute the embodiments of the method described in this application. For details not disclosed in the apparatus embodiments of this application, please refer to the embodiments of the method described in this application.

[0100] Figure 2 This is a schematic diagram of a CAN signal processing device provided in an embodiment of this application. Figure 2 As shown, the CAN signal processing device includes:

[0101] The acquisition module 201 is configured to acquire a raw CAN signal set, which includes multiple raw CAN signals.

[0102] Filtering module 202 is configured to perform data filtering processing on the original CAN signal set to obtain a CAN signal data stream;

[0103] Module 203 is created and configured to create a first data channel, a second data channel, and a third data channel.

[0104] The partitioning module 204 is configured to divide the CAN signal data stream into a real-time CAN signal data stream and a diagnostic signal data stream based on the first data channel and the second data channel.

[0105] The parsing module 205 is configured to receive real-time CAN signal data streams from the first data channel and diagnostic signal data streams from the second data channel in the third data channel, and to parse the real-time CAN signal data streams and diagnostic signal data streams to obtain parsed data.

[0106] The technical solution provided in this application embodiment filters the original CAN signal set through the filtering module 202, removing data that is irrelevant or useless to subsequent analysis tasks. This significantly reduces the amount of data to be parsed, reducing computational resource consumption and improving the parsing efficiency of the automotive diagnostic system. It also greatly alleviates the data storage burden of the system, freeing up more memory space. Furthermore, by creating multiple data channels through the creation module 203 and performing dual-channel splitting of the data stream through the partitioning module 204, the computational resources of different data channels are isolated, improving the streaming processing efficiency of the CAN signal data stream. This avoids interference between different data stream processing logics, preventing reduced processing efficiency (e.g., simple data stream processing logic is easily affected by complex logic, leading to reduced efficiency), thus improving overall data processing efficiency.

[0107] In some embodiments, the filtering module 202 includes:

[0108] The determination unit is configured to determine business scenario information;

[0109] The acquisition unit is configured to acquire a target retained data set that matches the business scenario information. The target retained data set includes multiple target retained data sets, and each target retained data set corresponds to a unique identifier.

[0110] The extraction unit is configured to extract the data identification information corresponding to each original CAN signal in the original CAN signal set;

[0111] The filtering unit is configured to perform data filtering processing on the original CAN signal set based on unique identification information and data identification information to obtain the CAN signal data stream.

[0112] In some embodiments, the above-mentioned acquisition unit specifically includes:

[0113] The listening component is configured to listen to the operation logs of a relational database, which stores multiple sets of reserved data.

[0114] The search component is configured to retrieve the latest set of retained data and the latest operation data corresponding to the business scenario information from the operation log;

[0115] The synchronization component is configured to retrieve a pre-selected set of retained data corresponding to the business scenario information from a specified memory, and synchronize and update the pre-selected set of retained data based on the latest operation data and the latest retained data set to obtain the target retained data set.

[0116] The technical solution provided in this application embodiment filters the original CAN signal set to remove data that is irrelevant or useless to subsequent analysis tasks, thereby greatly reducing the amount of data to be parsed. This not only reduces the consumption of computing resources but also effectively improves the parsing efficiency of the automotive diagnostic system. At the same time, it greatly reduces the data storage burden of the automotive diagnostic system, which helps to free up more memory space.

[0117] In some embodiments, the division module 204 includes:

[0118] The first computing unit is configured to perform streaming computing on the CAN signal data stream based on the first streaming computing strategy in the first data channel to obtain the real-time CAN signal data stream.

[0119] The second computing unit is configured to perform streaming computation on the CAN signal data stream based on the second streaming computation strategy in the second data channel to obtain the diagnostic signal data stream.

[0120] In some embodiments, the division module 204 further includes:

[0121] The resource determination unit is configured to determine a first virtual computing resource allocated to a first data channel and a second virtual computing resource allocated to a second data channel;

[0122] The aforementioned first calculation unit specifically includes:

[0123] The first computing component is configured to perform streaming computing on the CAN signal data stream in the first data channel using the first virtual computing resources and the first streaming computing strategy to obtain the real-time CAN signal data stream.

[0124] The aforementioned second calculation unit specifically includes:

[0125] The second computing component is configured to perform streaming computation on the CAN signal data stream in the second data channel using the second virtual computing resources and the second streaming computing strategy to obtain the diagnostic signal data stream.

[0126] In some embodiments, the resource determination unit specifically includes:

[0127] The component is configured to determine a first data throughput of the real-time CAN signal data stream and a second data throughput of the diagnostic signal data stream.

[0128] The allocation component is configured to determine, based on a first data throughput and a second data throughput, a first virtual computing resource allocated to a first data channel and a second virtual computing resource allocated to a second data channel.

[0129] In some embodiments, the aforementioned determining component specifically includes:

[0130] The component is configured to determine the reporting frequency of the real-time CAN signal data stream;

[0131] The computing unit is configured to calculate the first data throughput based on the reporting frequency.

[0132] The technical solution provided in this application embodiment can realize the reasonable allocation of virtual computing resources as needed, and use the virtual computing resources allocated to the first data channel and the second data channel to perform dual-channel split processing of the CAN signal data stream. While achieving the purpose of mutual isolation of computing resources, it can save computing resources, thereby helping to reduce the overall data processing cost.

[0133] Figure 3 This is a schematic diagram of the structure of an intelligent vehicle diagnostic system according to an embodiment of this application. Figure 3 As shown, the vehicle intelligent diagnostic system includes a real-time computing engine 301 and an online analysis and processing engine 302.

[0134] Among them, the real-time computing engine 301 is used to implement the above-mentioned CAN signal processing method to write the target data into the online analysis and processing engine;

[0135] The online analytical processing engine 302 is used to perform data analysis on the target data and display the results.

[0136] The technical solution provided in this application embodiment acquires the original CAN signal set on the CAN bus through a real-time computing engine 301 and performs data filtering processing on the original CAN signal set to filter out data that is irrelevant or useless to subsequent analysis tasks. This significantly reduces the amount of data that needs to be parsed, not only reducing the consumption of computing resources but also effectively improving the parsing efficiency of the automotive diagnostic system. It also greatly reduces the data storage burden of the automotive diagnostic system, freeing up more memory space. Furthermore, by creating multiple data channels to process the data stream, the computing resources between different data channels can be isolated, improving the streaming processing efficiency of the CAN signal data stream and avoiding the problem of reduced data processing efficiency due to interference between different data stream processing logics (e.g., simple data stream processing logic is easily affected by complex data stream processing logic, leading to reduced data processing efficiency). This is beneficial to improving the overall data processing efficiency. Afterwards, the real-time computing engine 301 writes the parsed data to the online analysis and processing engine 302. Upon receiving the parsed data, the online analysis and processing engine 302 performs further data analysis, statistics, and visualization.

[0137] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0138] Figure 4 This is a schematic diagram of the electronic device 4 provided in an embodiment of this application. Figure 4 As shown, the electronic device 4 of this embodiment includes: a processor 401, a memory 402, and a computer program 403 stored in the memory 402 and executable on the processor 401. When the processor 401 executes the computer program 403, it implements the steps in the various method embodiments described above. Alternatively, when the processor 401 executes the computer program 403, it implements the functions of each module / unit in the various device embodiments described above.

[0139] Electronic device 4 can be a desktop computer, laptop, handheld computer, cloud server, or other electronic device. Electronic device 4 may include, but is not limited to, processor 401 and memory 402. Those skilled in the art will understand that... Figure 4 This is merely an example of electronic device 4 and does not constitute a limitation on electronic device 4. It may include more or fewer components than shown, or different components.

[0140] The processor 401 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.

[0141] The memory 402 can be an internal storage unit of the electronic device 4, such as a hard disk or RAM of the electronic device 4. The memory 402 can also be an external storage device of the electronic device 4, such as a plug-in hard disk, Smart Media Card (SMC), Secure Digital (SD) card, Flash Card, etc., equipped on the electronic device 4. The memory 402 can also include both internal and external storage units of the electronic device 4. The memory 402 is used to store computer programs and other programs and data required by the electronic device.

[0142] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is merely an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above. The functional units and modules in the embodiments can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0143] If an integrated module / unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments can also be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program may include computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium may include: any entity or device capable of carrying computer program code, recording media, USB flash drives, portable hard drives, magnetic disks, optical disks, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium may be appropriately added to or subtracted according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, the computer-readable medium does not include electrical carrier signals and telecommunication signals.

[0144] The above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A CAN signal processing method, characterized in that, include: Obtain the original CAN signal set, which includes multiple original CAN signals; Determine the business scenario information, obtain the target retained data set matching the business scenario information, the target retained data set includes multiple target retained data, each target retained data corresponds to a unique identifier; extract the data identifier information corresponding to each original CAN signal in the original CAN signal set, and perform data filtering processing on the original CAN signal set according to the unique identifier information and the data identifier information to obtain the CAN signal data stream; Create the first data channel, the second data channel, and the third data channel; Based on the first streaming computing strategy in the first data channel and the second streaming computing strategy in the second data channel, the CAN signal data stream is divided into a real-time CAN signal data stream and a diagnostic signal data stream; wherein the fixed format of the hexadecimal string header of the signal ID of the diagnostic signal is used to distinguish between the real-time CAN signal and the diagnostic signal in the CAN signal data stream. In the third data channel, real-time CAN signal data streams from the first data channel and diagnostic signal data streams from the second data channel are received, and the real-time CAN signal data streams and diagnostic signal data streams are parsed to obtain parsed data.

2. The method according to claim 1, characterized in that, Obtain the target retained data set that matches the business scenario information, including: Monitor the operation logs of a relational database, which stores multiple sets of reserved data; Find the latest retained data set and the latest operation data corresponding to the business scenario information from the operation log; Retrieve the pre-selected data set corresponding to the business scenario information from the specified memory, and synchronously update the pre-selected data set based on the latest operation data and the latest data set to obtain the target data set.

3. The method according to claim 1, characterized in that, Before performing streaming computation on the CAN signal data stream based on the first streaming computation strategy in the first data channel to obtain the real-time CAN signal data stream, the process further includes: Determine the first virtual computing resource allocated to the first data channel and the second virtual computing resource allocated to the second data channel; The CAN signal data stream is streamed based on the first streaming computing strategy in the first data channel to obtain a real-time CAN signal data stream, including: In the first data channel, the CAN signal data stream is streamed using the first virtual computing resources and the first streaming computing strategy to obtain the real-time CAN signal data stream. The CAN signal data stream is processed using a second streaming computation strategy in the second data channel to obtain a diagnostic signal data stream, including: In the second data channel, the CAN signal data stream is processed using the second virtual computing resources and the second streaming computing strategy to obtain the diagnostic signal data stream.

4. The method according to claim 3, characterized in that, Determining the first virtual computing resource allocated to the first data channel and the second virtual computing resource allocated to the second data channel includes: Determine the first data throughput of the real-time CAN signal data stream and the second data throughput of the diagnostic signal data stream; Based on the first data throughput and the second data throughput, a first virtual computing resource is determined to be allocated to the first data channel, and a second virtual computing resource is determined to be allocated to the second data channel.

5. The method according to claim 4, characterized in that, Determining the first data throughput of the real-time CAN signal data stream includes: Determine the reporting frequency of the real-time CAN signal data stream; Calculate the first data throughput based on the reported frequency.

6. A CAN signal processing device, characterized in that, include: The acquisition module is configured to acquire a raw CAN signal set, which includes multiple raw CAN signals. The filtering module is configured to determine business scenario information, obtain a target retained data set matching the business scenario information, the target retained data set includes multiple target retained data, each target retained data corresponds to a unique identifier; extract the data identifier information corresponding to each original CAN signal in the original CAN signal set, and perform data filtering processing on the original CAN signal set according to the unique identifier information and the data identifier information to obtain a CAN signal data stream; The module is configured to create a first data channel, a second data channel, and a third data channel. The partitioning module is configured to partition the CAN signal data stream into a real-time CAN signal data stream and a diagnostic signal data stream based on a first streaming computing strategy in the first data channel and a second streaming computing strategy in the second data channel. The fixed format of the hexadecimal string header of the diagnostic signal ID is used to distinguish between real-time CAN signals and diagnostic signals in the CAN signal data stream. The parsing module is configured to receive a real-time CAN signal data stream from the first data channel and a diagnostic signal data stream from the second data channel in the third data channel, and to parse the real-time CAN signal data stream and the diagnostic signal data stream to obtain parsed data.

7. An intelligent diagnostic system for automobiles, characterized in that, Includes a real-time computing engine and an online analytical processing engine; The real-time computing engine is used to implement the CAN signal processing method according to any one of claims 1 to 5, so as to write the parsed data into the online analysis and processing engine; The online analytical processing engine is used to perform data analysis on the parsed data and display the data analysis results.

8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the steps of the method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • Preprocessing method for CAN signal analysis, electronic equipment and storage medium

    CN115118543A