Efficient monitoring method and device during running of automobile software
By pre-deploying monitoring points in the logical execution path of the automotive software module, and using the monitoring point's serial monitoring update identifier to determine the software serial execution status, the problem of inefficient software monitoring in the cooperative environment of multiple companies is solved, and the software module's own monitoring and efficient monitoring are realized.
Patent Information
- Application Number
- CN202411580135.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-07
- Publication Date
- 2025-02-25
AI Technical Summary
In the automotive software development environment where multiple companies cooperate, the setting and debugging of software monitoring points are inefficient, resulting in low software operation monitoring efficiency.
The monitoring point is pre-deployed in the logical execution path of the software module, and the software logical execution status is determined through the logical monitoring update identifier of the monitoring point, and the output data is updated and sent to other software modules.
The software module itself monitors itself is realized, the efficiency of efficient monitoring of software modules is improved, the monitoring point setting and debugging process is simplified, and the software reuse rate and product speed to market are improved.
Smart Images

Figure CN119512872A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of automobile software operation monitoring, and in particular to an efficient monitoring method and device for automobile software operation. Background Art
[0002] In the context of software and hardware decoupling and automotive intelligence, the software development team of many products has changed from a single company to a multi-company cooperation model, for example, Tier 1 (supplier) is responsible for hardware and basic software, OEM (car manufacturer) is responsible for instrument entertainment, and algorithm company is responsible for autonomous driving control algorithm, etc. The basic software of different projects is different, but the application functions remain the same. In order to ensure the normal operation of the software, the application needs to reset the monitoring points and adjust the interface according to different basic software, and the basic software also needs to reset the monitoring points and match the monitoring logic. Both parties need to invest a lot of time and development engineer resources to debug the monitoring effect, resulting in low efficiency. Summary of the invention
[0003] In view of this, the present invention provides a method and device for efficient monitoring of automobile software during operation, which can directly deploy monitoring points in the software module, so that the software module itself monitors its own software operation, thereby improving the efficiency of efficient monitoring of the software module.
[0004] According to one aspect of the present invention, an embodiment of the present invention provides an efficient monitoring method for automobile software during operation, which is applied to a first software function module in a vehicle; wherein the first software function module includes at least two logical execution paths; the efficient monitoring method includes:
[0005] Pre-deploy at least two monitoring points in each of the logic execution paths according to preset requirements;
[0006] Determine the software logic execution status based on the logic monitoring update identifier corresponding to each of the monitoring points;
[0007] The output data is updated according to the software logic execution status, and the output data and the detection requirements corresponding to the output data are written into a software integration file and sent to a second software function module in the vehicle.
[0008] According to another aspect of the present invention, an embodiment of the present invention further provides an efficient monitoring method for automobile software during operation, which is applied to a second software function module in a vehicle; the efficient monitoring method comprises:
[0009] Receiving a software integration file transmitted by the first software function module;
[0010] The software operation status of the first software function module is determined according to the software integration file.
[0011] According to another aspect of the present invention, an embodiment of the present invention further provides an efficient monitoring device for automobile software during operation, which is applied to a first software function module in a vehicle; wherein the first software function module includes at least two software execution logic paths; the efficient monitoring device includes:
[0012] A detection point deployment module, used to pre-deploy at least two monitoring points in each software execution logic path according to preset requirements;
[0013] An operation status determination module, used to determine the software logic execution status based on the logic monitoring update identifier corresponding to each of the monitoring points;
[0014] The data output module is used to update the output data according to the execution status of the software logic, write the output data and the detection requirements corresponding to the output data into a software integration file and send them to the second software function module in the vehicle.
[0015] According to another aspect of the present invention, an embodiment of the present invention further provides an efficient monitoring device for automobile software during operation, which is applied to a second software function module in a vehicle; the efficient monitoring device comprises:
[0016] A data receiving module, used for receiving the software integration file transmitted by the first software function module;
[0017] A processing module is used to determine the software running status of the first software function module according to the software integration file.
[0018] According to another aspect of the present invention, an embodiment of the present invention further provides an efficient monitoring system for automobile software during operation, the system comprising: a first software function module, a second software function module and an error handling module;
[0019] The first software function module can execute any one of the embodiments of the present invention's efficient monitoring method for automobile software running in the first software function module;
[0020] A second software function module, capable of executing any one of the embodiments of the present invention's efficient monitoring methods for automobile software runtime applied to the first software function module;
[0021] The error processing module is used to receive the error record information transmitted by the second software function module and perform error analysis and processing.
[0022] The technical solution of the embodiment of the present invention pre-deploys at least two monitoring points in each logical execution path, and determines the software logic execution status corresponding to the logical execution path based on the logic monitoring update identifier corresponding to each monitoring point, thereby updating the output data according to the software logic execution status. The monitoring points can be directly deployed in the software module, and the software module itself monitors its own software operation, thereby improving the efficiency of efficient monitoring of the software module, which not only has the effect of efficiently monitoring the software operation status, but also facilitates the transplantation of software modules between different projects, improves the software reuse rate and accelerates the speed of product listing.
[0023] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0025] Figure 1 A flowchart of an efficient monitoring method for automobile software during operation provided by an embodiment of the present invention;
[0026] Figure 2 A flowchart of another efficient monitoring method for automobile software during operation provided by an embodiment of the present invention;
[0027] Figure 3 A schematic diagram of an architecture for performing execution logic monitoring within a software function module provided by an embodiment of the present invention;
[0028] Figure 4 A schematic diagram of a flow chart of a logic monitoring strategy executed within a software module provided by an embodiment of the present invention;
[0029] Figure 5 A flowchart of another efficient monitoring method for automobile software during operation provided by an embodiment of the present invention;
[0030] Figure 6 A structural block diagram of an efficient monitoring device for automobile software running provided by an embodiment of the present invention;
[0031] Figure 7 A structural block diagram of another efficient monitoring device for automobile software running provided by an embodiment of the present invention;
[0032] Figure 8A structural block diagram of another efficient monitoring system for automobile software runtime provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0033] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0034] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0035] In one embodiment, Figure 1 A flowchart of a method for efficiently monitoring automobile software during runtime is provided for one embodiment of the present invention. This embodiment is applicable to the situation of efficiently monitoring each software during runtime in an automobile. The method can be executed by transposing the efficient monitoring during runtime of automobile software.
[0036] like Figure 1 As shown, in this embodiment, an efficient monitoring method for automobile software during operation is applied to a first software function module in a vehicle; wherein the first software function module includes at least two logical execution paths; the first software function module in this embodiment can be a module for executing software for multiple functions in a vehicle, exemplarily, a software function module for camera perception in autonomous driving, a software function module for logical judgment, and the like.
[0037] The efficient monitoring method for automobile software during operation includes the following specific steps:
[0038] S110. Pre-deploy at least two monitoring points in each logical execution path according to preset requirements.
[0039] Among them, a logical monitoring update identifier is configured at each monitoring point.
[0040] Among them, the preset demand can be understood as the user's demand for deploying monitoring points in the logical execution path corresponding to the first software function module, and it can be understood that multiple monitoring points are deployed in each first software function module. These monitoring points are pre-configured in the software module according to user needs and design files, and each monitoring point is configured with a logical monitoring update identifier. The logical monitoring update identifier can be expressed in decimal, binary or hexadecimal form, which is used to indicate whether an update occurs at the monitoring point in the executed logical execution path.
[0041] In this embodiment, the logic execution path may include: sequential execution, loop execution and judgment branch execution, which may also be called conditional execution. The logic monitoring update identifier corresponding to the monitoring point in the logic execution path is used to identify the software execution to the monitoring point. The recorded identifier is used to determine whether the software logic execution is correct after the software execution is completed. In this embodiment, a software module corresponds to multiple software execution programs, which can be understood as the functions executed by a vehicle under each program during driving. For example, a software module corresponds to 4 monitoring points on the path. When the software module runs to each monitoring point, a mark will be made, and the first monitoring point will be marked until the 4 monitoring points are completed.
[0042] In this embodiment, one or more monitoring points can be pre-deployed in each logical execution path of the software module based on the design file according to user needs. The logical execution path in this embodiment can be understood as the function execution path contained in the first software function module, and a first software function module generally includes multiple function execution paths. Since the logical monitoring update identifier is configured at each monitoring point, when the software runs to a certain logical execution path, the logical monitoring update identifier in the logical execution path will be updated; exemplarily, the first software function module includes 5 logical execution paths, which are respectively represented as function1, function2, function3, function4, and function5. According to the needs, monitoring points and corresponding logical monitoring update identifiers are set in function2, function3, function4, and function5 respectively. When the software runs to function2, the corresponding logical monitoring update identifier will be updated. Similarly, when the software runs to function3, function4, and function5, the corresponding logical monitoring update identifiers are also updated respectively.
[0043] S120: Determine the software logic execution status based on the logic monitoring update identifier corresponding to each monitoring point.
[0044] Among them, the software logic execution status can be understood as whether the software logic execution is normal, which may include two situations: the software logic execution status is normal and the software logic execution status is abnormal. In this embodiment, the software logic execution status affects the output of the first software function module.
[0045] In this embodiment, during the execution of the entire software function module, starting from the starting monitoring point, the logic execution path will be executed in sequence according to the deployed monitoring points, and after each execution of each logic execution path, the program logic monitoring identifier corresponding to each monitoring point will be updated to obtain an updated first program logic monitoring identifier; in this embodiment, in order to better confirm whether the output data of the first software function module is in a normal output state, a data update flag can be configured at the starting monitoring point in the logic path, and an initialization operation can be performed. After the execution of the logic path is completed, the program logic monitoring identifier corresponding to the monitoring point will be updated. At this time, if the sum of the updated first program logic monitoring identifiers corresponding to all monitoring points from the starting monitoring point to the ending monitoring point is equal to the preset cumulative identifier, it is determined that the software logic is executed correctly, and the initialized data update identifier is updated to indicate that the data has been updated. Otherwise, it is determined that the software logic is executed incorrectly.
[0046] In some embodiments, after adding different monitoring points according to the design logic, the execution order of the monitoring points included in each software module can be pre-set, and then the execution time points and order of these monitoring points can be monitored, so as to determine the software logic execution status corresponding to the logical execution path according to the execution time points and order of the monitoring points. Of course, other methods can also be used to determine the software logic execution status corresponding to the logical execution path, which will not be explained in this embodiment.
[0047] S130, updating the output data according to the software logic execution status, writing the output data and the detection requirements corresponding to the output data into the software integration file and sending it to the second software function module in the vehicle.
[0048] Among them, the detection requirement can be understood as the relevant requirements of the first software function module for the second software function module to perform data detection. The detection requirements in this implementation include at least one of the following: detecting whether the output data and the data update identifier are received, or detecting whether the received data update identifier is updated. It can be understood that the first software function module outputs the calculation result of its own monitoring, and then gives the calculation result to the subsequent second software function module. At this time, the second software function module needs to monitor whether new data and data update identifier are received before starting its own monitoring execution. If no new data is received within a certain period of time, it is judged that this module has an execution error, and the error is recorded and reported.
[0049] In this embodiment, the first software function module updates the output data of its own monitoring according to the software logic execution status, writes the output data and the detection requirements corresponding to the output data into the software integration file and sends it to the second software function module in the vehicle, so that the second software function module needs to monitor whether new data and data update identification are received before starting its own monitoring execution, and after detecting the receipt of new data and data update identification, it starts to execute the monitoring of each logical execution path of itself. It can be understood that the first software function module writes the requirements that need to be executed by other modules into the software integration description file, and then sends it to the corresponding next module. The next module executes according to the software integration description file, that is, first check whether new data is received. If no new data is received after a certain period of time, it is judged that this module has an execution error, record and report the error, and judge whether the data is updated according to whether the received FrameCount changes; if not, it indicates an execution error, and the error is recorded and reported.
[0050] The technical solution of the embodiment of the present invention pre-deploys at least two monitoring points in each logical execution path, and determines the software logic execution status corresponding to the logical execution path based on the logic monitoring update identifier corresponding to each monitoring point, thereby updating the output data according to the software logic execution status. The monitoring points can be directly deployed in the software module, and the software module itself monitors its own software operation, thereby improving the efficiency of efficient monitoring of the software module, which not only has the effect of monitoring the software operation status, but also facilitates the transplantation of software modules between different projects, improves the software reuse rate and accelerates the speed of product listing.
[0051] In one embodiment, Figure 2 A flowchart of another efficient monitoring method for automobile software at runtime provided by an embodiment of the present invention. Based on the above embodiments, this embodiment further refines the software logic execution status corresponding to the logic execution path based on the logic monitoring update identifier corresponding to each monitoring point, and updates the output data according to the software logic execution status.
[0052] like Figure 2 As shown, the efficient monitoring method for automobile software during operation in this embodiment may specifically include the following steps:
[0053] S210. Pre-deploy at least two monitoring points in each logical execution path according to preset requirements.
[0054] S220: Initialize a pre-configured logic monitoring identifier and a data update identifier.
[0055] In this embodiment, the logical monitoring identifier is pre-configured in the logical execution path to be monitored, the data update identifier is configured after all logical execution paths, and the sum of the program logic monitoring identifiers of the configured monitoring points in all logical execution paths is equal to the preset cumulative identifier. Of course, after the monitoring points are deployed, the pre-configured logical monitoring identifier and data update identifier are initialized respectively. The initialization operation in this embodiment can be understood as performing a clearing operation on the logical monitoring identifier and the data update identifier to facilitate the identification record during the subsequent software execution.
[0056] S230, from the starting monitoring point to the ending monitoring point, execute the logic execution path in sequence according to the deployed monitoring points, and after each execution of each logic execution path, update the program logic monitoring identifier corresponding to each monitoring point to obtain an updated first program logic monitoring identifier.
[0057] The logical execution path includes at least: sequential execution, loop execution and judgment branch execution.
[0058] In one embodiment, the first program logic monitoring identifier includes the program logic monitoring identifier updated after each monitoring point is executed, that is, the updated program logic monitoring identifier corresponding to the first monitoring point, the updated program logic monitoring identifier corresponding to the second monitoring point, until the updated program logic monitoring identifier corresponding to the last monitoring point. In this embodiment, the first program logic monitoring identifier is represented in one of the following forms: binary, decimal, hexadecimal; wherein the sum of the updated program logic monitoring identifiers corresponding to all monitoring points is represented in one of the following forms: binary, decimal, hexadecimal; the first program logic monitoring identifier and the second program logic monitoring identifier corresponding to each monitoring point are the same representation form. It can be understood that if the first program logic monitoring identifier is in hexadecimal, then the second program logic monitoring identifier is also in hexadecimal.
[0059] In this embodiment, from the starting monitoring point to the ending monitoring point, the logic execution path is executed in sequence according to the deployed monitoring points, and after each execution of each logic execution path, the program logic monitoring identifier corresponding to each monitoring point is updated to obtain the updated first program logic monitoring identifier. It can be understood that when the software starts running, the program logic monitoring identifier corresponding to the first monitoring point is the initial program logic monitoring identifier. Starting from the first monitoring point, the logic execution path is executed. At the second monitoring point, the initial program logic monitoring identifier corresponding to the first monitoring point is updated to obtain the updated program logic monitoring identifier, and then the logic execution path is continued to be executed. At the third monitoring point, the program logic monitoring identifier corresponding to the second monitoring point is updated to obtain the updated program logic monitoring identifier, and then the logic execution path is continued to be executed, and so on, until the last monitoring point is executed, the program logic monitoring identifier at the previous monitoring point corresponding to the last monitoring point is updated to obtain the updated program logic monitoring identifier, and then all the program logic monitoring identifiers after each update are accumulated and summed, and it is determined whether the sum result is equal to the preset cumulative identifier. If they are equal, it is determined that the software logic is executed correctly, and the data update identifier is updated.
[0060] It should be noted that in the entire logical execution path of the software execution, there may be conditional execution. At this time, it is necessary to update the program logic monitoring identifier of each branch in the conditional execution path. For example, after the second monitoring point is executed, the conditional branch path is executed. There are two corresponding conditional branch paths. At this time, the first branch corresponds to function3, and the second branch corresponds to function4. The program logic monitoring identifiers corresponding to the two branches of function3 and function4 are updated to obtain the corresponding updated program logic monitoring identifiers. When all the program logic monitoring identifiers after each subsequent update are accumulated and summed, the calculated cumulative sum includes two results, one is the cumulative sum result of executing the first branch corresponding to function3, and the other is the cumulative sum result of executing the second branch corresponding to function4. Therefore, when making a judgment, as long as one of the two sum results is equal to the preset cumulative identifier, it will be sufficient.
[0061] S240: Determine the sum of the updated first program logic monitoring identifiers corresponding to all monitoring points from the starting monitoring point to the ending monitoring point, and use the sum of the first program logic monitoring identifiers as the second program logic monitoring identifier.
[0062] In this embodiment, the sum of the updated first program logic monitoring identifiers corresponding to all monitoring points from the starting monitoring point to the ending monitoring point is calculated, and the sum of the first program logic monitoring identifiers is used as the second program logic monitoring identifier. It can be understood that the updated first program logic monitoring identifier corresponding to each monitoring point is summed, and the sum of the first program logic monitoring identifiers is used as the second program logic monitoring identifier. Exemplarily, the updated program logic monitoring identifier at the first monitoring point is represented as Step+=0x01, conditional branch: first branch: the updated program logic monitoring identifier at the second monitoring point is represented as Step+=0x02, second branch: the updated program logic monitoring identifier at the third monitoring point is represented as Step+=0x04, and the updated program logic monitoring identifier at the fourth monitoring point is represented as Step+=0x08. Cumulative summation is performed to obtain two cumulative results, the sum of 0x01+0x02+0x08, or the sum of 0x01+0x04+0x08, that is, Step==0xB or 0xD, and 0xB or 0xD is used as the second program logic monitoring identifier.
[0063] S250, determining whether the second program logic monitoring flag is equal to the preset accumulation flag, if so, executing S260; if not, executing S270.
[0064] In this embodiment, it is determined whether the second program logic monitoring flag is equal to the preset cumulative flag. If so, it is determined that the software logic is executed correctly and the data update flag is updated; if not, it is determined that the software logic is executed incorrectly and no data update is performed.
[0065] S260: Determine whether the software logic is executed correctly.
[0066] In this embodiment, when the second program logic monitoring flag is equal to the preset cumulative flag, it is determined that the software logic is executed correctly, and the data update flag is updated. The data update flag in this embodiment can be represented by Frame Count. If the data is updated, it is characterized by performing an addition operation, that is, the value of Frame Count is automatically added by 1. Of course, it can also be in other forms, which are not limited in this embodiment.
[0067] S270: Determine whether a software logic execution error occurs.
[0068] In this embodiment, when the second program logic monitoring flag is not equal to the preset cumulative flag, it is determined that the software logic execution is erroneous, and the output data is not updated.
[0069] S280: When the software logic execution status is that the software logic execution is correct, update the data update identifier and output the updated data update identifier.
[0070] In this embodiment, when the software logic execution status is that the software logic execution is correct, the data update flag is updated and the updated data update flag is output.
[0071] S290: When the software logic execution status is a software logic execution logic error, the output data is not updated.
[0072] In this embodiment, when the software logic execution status is a software logic execution logic error, the output data is not updated.
[0073] S2100. Write the output data and the detection requirements corresponding to the output data into a software integration file and send it to the second software function module in the vehicle.
[0074] In this embodiment, the output data and the detection requirements corresponding to the output data are written into a software integration file and sent to the second software function module in the vehicle. In one embodiment, the detection requirements include at least one of the following: detecting whether the output data and the data update identifier are received; detecting whether the received data update identifier is updated.
[0075] The above-mentioned technical scheme of the embodiment of the present invention executes the logical execution path in sequence from the starting monitoring point to the ending monitoring point according to the deployed monitoring points, and after each execution of each logical execution path, updates the program logic monitoring identifier corresponding to each monitoring point to obtain the updated first program logic monitoring identifier, determines the sum of the updated first program logic monitoring identifiers corresponding to all monitoring points from the starting monitoring point to the ending monitoring point, and uses the sum of the first program logic monitoring identifiers as the second program logic monitoring identifier, and judges whether the second program logic monitoring identifier is equal to the preset cumulative identifier. If so, it is determined that the software logic is executed correctly and the data update identifier is updated. If not, it is determined that the software logic is executed incorrectly. It can further monitor the software operation of the deployed monitoring point itself, improve the efficiency of efficient monitoring of the software module, not only monitor the running status of the software, but also facilitate the transplantation of software modules between different projects, improve the software reuse rate and speed up the product launch.
[0076] In order to better understand the execution logic monitoring within the first software function module, Figure 3 A schematic diagram of an architecture for performing execution logic monitoring within a software function module provided by an embodiment of the present invention, Figure 4 The present invention provides a flowchart of a software module internally executing a logic monitoring strategy. Figure 3As shown, multiple software modules are connected in sequence, and each software module includes multiple pre-configured monitoring points. After all software modules are executed, they will go to the error handling module; software operation is to process data, and then send the processed data to the next software module until the final error handling. Figure 4 As shown, the software module needs to add a data update flag (such as Frame Count). This module will automatically increase the value of Frame Count by 1 as long as it runs. If the software module detects that the running logic is correct, the output data will be updated; if the software module detects that the running logic is wrong, the output data will not be updated.
[0077] In this embodiment, step represents a logical monitoring update identifier, FrameCount represents a data update identifier, function1 represents the first logical execution path, which does not deploy a monitoring point, function2 represents the logical execution path of the first deployed monitoring point, condition represents a conditional branch, function3 represents the logical execution path of the second deployed monitoring point, function4 represents the logical execution path of the third deployed monitoring point, and function5 represents the logical execution path of the fourth deployed monitoring point. Specifically, Figure 4 The specific process is as follows:
[0078] a1. Initialize the logic monitoring update flag step=0.
[0079] a2. Execute the first logical execution path function1().
[0080] a3. Execute the logic execution path function2() of the first deployed monitoring point, and after execution, update the initialization logic monitoring update identifier step to obtain step+=0x01.
[0081] a4, conditional branch judges condition, if function3() is executed, then a5 is executed, if function4() is executed, then a6 is executed;
[0082] a5. Execute the logic execution path function3() of the second deployed monitoring point, and after execution, update the updated step+=0x01 of a3 to obtain step+=0x02.
[0083] a6. Execute the logic execution path function4() of the third deployed monitoring point, and after execution, update the updated step+=0x01 of a3 to obtain step+=0x04.
[0084] a7, execute the logic execution path function5() of the fourth deployment monitoring point, frame count++, and after execution, update the updated step+=0x04 of a6 or the updated step+=0x02 of a5 to obtain step+=0x08.
[0085] a8. Determine whether the accumulated step is (step==0xB)||(step==0xD); if so, execute a9; if not, execute a10;
[0086] a9. Reset step=0x00, send Datd_E2E (signal, frame count).
[0087] a10. End.
[0088] In this embodiment, Step is the sign of logic monitoring. When the software starts running, monitoring starts (the first monitoring point); function1 is the first logic execution step of software module 1, and so on; there is a monitoring point in 2, which monitors the execution of 2. After 2 is executed, an identifier is recorded, and the identifier is expressed as a hexadecimal number. In this embodiment, when the software is running, there is a conditional judgment logic path. For example, the vehicle turns left or right, and the result is output; wherein the result includes at least: data update flag. Function5 is executed and a flag is recorded after execution. The data flag indicating the update is also a hexadecimal number.
[0089] In this embodiment, the cumulative sum of the identifiers of the searched path is determined. If it is the cumulative sum of the identifiers of the above path, it means that the software logic is executed correctly. The requirements that need to be executed by other modules are written into the software integration description file, and then sent to the next software module. The next software module is executed according to the software integration description file, that is, it is first checked whether new data is received. If no new data is received within a certain period of time, it is determined that this module has an execution error, and the error is recorded and reported. Whether the data is updated is determined based on whether the received Frame Count changes; if not, it means that the execution is wrong, and the error is recorded and reported.
[0090] In one embodiment, Figure 5 This is a flow chart of another method for efficiently monitoring the operation of automobile software provided by an embodiment of the present invention. This embodiment is applicable to the situation of efficiently monitoring the operation of various software in the automobile. This method can be executed by an efficient monitoring system for the operation of automobile software. The relevant terms in this embodiment have been explained in the above embodiment, and will not be explained in detail in this embodiment.
[0091] like Figure 5As shown, in this embodiment, the efficient monitoring method for automobile software during operation is applied to the second software function module in the vehicle; the efficient monitoring method specifically comprises the following steps:
[0092] S510: Receive a software integration file transmitted by a first software function module.
[0093] S520: Determine the software operation status of the first software function module according to the software integration file.
[0094] In one embodiment, determining the software operation status of the first software function module according to the software integration file includes:
[0095] Check whether the output data and data update mark are received within the preset time;
[0096] If the output data and the data update identifier are not received within the preset time, it is determined that the execution of the first software function module is erroneous, and the error is recorded and reported;
[0097] If the output data and the data update identifier are received within the preset time, whether the output data is updated is determined based on whether the received data update identifier changes.
[0098] In one embodiment, judging whether the output data is updated according to whether the received data update identifier is changed includes:
[0099] If the received data update identifier has not changed, determining that the first software function module has an execution error, and recording and reporting the error;
[0100] If the received data update identifier changes, it is determined that the execution logic of the first software function module is correct.
[0101] In one embodiment, the method further includes:
[0102] In the case where the software running condition is a software logic execution error, the software logic execution error is recorded and reported to an error handling module so that the error handling module performs subsequent processing.
[0103] In one embodiment, Figure 6 This is a structural block diagram of an efficient monitoring device for automobile software running provided by one embodiment of the present invention. Figure 6 As shown, a first software function module is applied to a vehicle; wherein the first software function module includes at least two software execution logic paths; the efficient monitoring device includes:
[0104] The detection point deployment module 610 is used to pre-deploy at least two monitoring points in each software execution logic path according to preset requirements; wherein a logical monitoring update identifier is configured at each monitoring point;
[0105] The running state determination module 620 is used to determine the software logic execution state corresponding to the software execution logic path based on the logic monitoring update identifier corresponding to each monitoring point;
[0106] The data output module 630 is used to update the output data according to the software logic execution status, write the output data and the detection requirements corresponding to the output data into the software integration file and send them to the second software function module in the vehicle.
[0107] In one embodiment, the monitoring point includes a starting monitoring point and an ending monitoring point; accordingly, the operation status determination module 620 includes:
[0108] An initialization unit, used for initializing a pre-configured logic monitoring identifier and a data update identifier;
[0109] An identification updating unit is used to execute the logic execution path in sequence from the starting monitoring point to the ending monitoring point according to the deployed monitoring points, and after each execution of each logic execution path, update the program logic monitoring identification corresponding to each monitoring point to obtain an updated first program logic monitoring identification; wherein the logic execution path at least includes: sequential execution, loop execution and judgment branch execution;
[0110] A determination unit, used to determine the sum of the updated first program logic monitoring identifiers corresponding to all monitoring points from the starting monitoring point to the ending monitoring point, and use the sum of the first program logic monitoring identifiers as the second program logic monitoring identifier;
[0111] A judging unit, configured to judge whether the second program logic monitoring flag is equal to a preset accumulation flag;
[0112] A first result unit, configured to determine that the software logic is executed correctly and update the data update flag if yes;
[0113] The second result unit is used to determine that the software logic execution is wrong if no.
[0114] In one embodiment, the first program logic monitoring identifier is represented in one of the following forms: binary, decimal, hexadecimal;
[0115] The sum of the updated program logic monitoring identifiers corresponding to all monitoring points is represented in one of the following forms: binary, decimal, hexadecimal;
[0116] The first program logic monitoring identifier and the second program logic monitoring identifier corresponding to each monitoring point are in the same representation form.
[0117] In one embodiment, the data output module 630 includes:
[0118] A data updating unit, used for updating the data updating identifier and outputting the updated data updating identifier when the software logic execution status is that the software logic execution is correct;
[0119] The data non-updating unit is used for not updating the output data when the software logic execution state is a software logic execution logic error.
[0120] In one embodiment, the detection requirement includes at least one of the following:
[0121] Check whether the output data and data update flag are received;
[0122] Check whether the received data update identifier is updated.
[0123] The efficient monitoring system for automobile software during operation provided by the embodiment of the present invention can execute the efficient monitoring method for automobile software during operation provided by any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0124] In one embodiment, Figure 7 This is a structural block diagram of another efficient monitoring device for automobile software running provided by an embodiment of the present invention. Figure 7 As shown, a second software function module applied to a vehicle; the efficient monitoring device comprises:
[0125] The data receiving module 710 is used to receive the software integration file transmitted by the first software function module;
[0126] The processing module 720 is used to determine the software running status of the first software function module according to the software integration file.
[0127] In one embodiment, the device further comprises:
[0128] The recording module is used to record and report the software logic execution error to the error handling module when the software running status is a software logic execution error, so that the error handling module can perform subsequent processing.
[0129] In one embodiment, the processing module 720 includes:
[0130] A monitoring unit, used to detect whether output data and data update identification are received within a preset time;
[0131] A first result unit is used to determine that an execution error of the first software function module occurs, and record and report the error if the output data and the data update identifier are not received within the preset time;
[0132] The second result unit is used to determine whether the output data is updated according to whether the received data update identifier changes if the output data and the data update identifier are received within the preset time.
[0133] In one embodiment, the second result unit further includes:
[0134] A recording subunit, configured to determine that the first software function module has an execution error if the received data update identifier has not changed, and to record and report the error;
[0135] The logic determination subunit is used to determine whether the execution logic of the first software function module is correct if the received data update identifier changes.
[0136] The efficient monitoring system for automobile software during operation provided by the embodiment of the present invention can execute the efficient monitoring method for automobile software during operation provided by any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the execution method.
[0137] In one embodiment, Figure 8 A structural block diagram of another efficient monitoring system for automobile software during runtime provided by one embodiment of the present invention. In this embodiment, software function module 1 is taken as the first software function module, software function module 2 is the second software function module, software function module 1 is connected to software function module 2, and software function module 2 is connected to the error handling module as an example for explanation.
[0138] The efficient monitoring system for automobile software during operation includes: a first software function module 810, a second software function module 820 and an error handling module 830;
[0139] The first software function module 810 can execute the efficient monitoring method for automobile software during operation as described in any embodiment of the present invention;
[0140] The second software function module 820 is capable of executing the efficient monitoring method for automobile software during operation described in any embodiment of the present invention;
[0141] The error processing module 830 is used to receive the error record information transmitted by the second software function module and perform error analysis and processing.
[0142] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.
[0143] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. An efficient monitoring method for automobile software during operation, characterized in that: A first software function module applied to a vehicle; wherein the first software function module includes at least two logical execution paths; the efficient monitoring method comprises: Pre-deploy at least two monitoring points in each of the logic execution paths according to preset requirements; Determine the software logic execution status based on the logic monitoring update identifier corresponding to each of the monitoring points; The output data is updated according to the software logic execution status, and the output data and the detection requirements corresponding to the output data are written into a software integration file and sent to a second software function module in the vehicle.
2. The efficient monitoring method according to claim 1, characterized in that: The monitoring points include a starting monitoring point and an ending monitoring point; each of the monitoring points is respectively configured with a logical monitoring update identifier; Correspondingly, the determining of the software logic execution status based on the logic monitoring update identifier corresponding to each monitoring point includes: Initialize pre-configured logical monitoring identifier and data update identifier; From the starting monitoring point to the ending monitoring point, the logic execution path is executed in sequence according to the deployed monitoring points, and after each execution of each logic execution path, the program logic monitoring identifier corresponding to each monitoring point is updated to obtain an updated first program logic monitoring identifier; wherein the logic execution path at least includes: sequential execution, loop execution, and judgment branch execution; Determine the sum of the updated first program logic monitoring identifiers corresponding to all monitoring points from the starting monitoring point to the ending monitoring point, and use the sum of the first program logic monitoring identifiers as the second program logic monitoring identifier; Determining whether the second program logic monitoring flag is equal to a preset accumulation flag; If so, it is determined that the software logic is executed correctly; If not, it is determined that the software logic execution is wrong.
3. The efficient monitoring method according to claim 2, characterized in that: The first program logic monitoring identifier is represented in one of the following forms: binary, decimal, hexadecimal; The sum of the updated program logic monitoring identifiers corresponding to all monitoring points is represented in one of the following forms: binary, decimal, hexadecimal; The first program logic monitoring identifier and the second program logic monitoring identifier corresponding to each monitoring point are in the same representation form.
4. The efficient monitoring method according to claim 1, characterized in that: The updating of output data according to the software logic execution status comprises: When the software logic execution status is that the software logic is executed correctly, updating the data update identifier and outputting the updated data update identifier; When the software logic execution status is a software logic execution logic error, the output data is not updated.
5. The efficient monitoring method according to claim 1, characterized in that: The testing requirements include at least one of the following: Check whether the output data and data update flag are received; Check whether the received data update identifier is updated.
6. An efficient monitoring method for automobile software during operation, characterized in that: A second software functional module applied in a vehicle; The efficient monitoring method comprises: Receiving a software integration file transmitted by the first software function module; The software operation status of the first software function module is determined according to the software integration file.
7. The efficient monitoring method according to claim 6, characterized in that: The method further comprises: In the case where the software running condition is a software logic execution error, the software logic execution error is recorded and reported to an error handling module so that the error handling module performs subsequent processing.
8. The efficient monitoring method according to claim 6, characterized in that: The determining the software operation status of the first software function module according to the software integration file includes: Check whether the output data and data update mark are received within the preset time; If the output data and the data update identifier are not received within the preset time, it is determined that the execution of the first software function module is erroneous, and the error is recorded and reported; If the output data and the data update identifier are received within the preset time, whether the output data is updated is determined based on whether the received data update identifier changes.
9. The efficient monitoring method according to claim 8, characterized in that: The determining whether the output data is updated according to whether the received data update identifier is changed includes: If the received data update identifier has not changed, determining that the first software function module has an execution error, and recording and reporting the error; If the received data update identifier changes, it is determined that the execution logic of the first software function module is correct.
10. An efficient monitoring device for automobile software during operation, characterized in that: A first software function module applied to a vehicle; wherein the first software function module includes at least two software execution logic paths; the efficient monitoring device comprises: A detection point deployment module, used to pre-deploy at least two monitoring points in each software execution logic path according to preset requirements; An operation status determination module, used to determine the software logic execution status based on the logic monitoring update identifier corresponding to each of the monitoring points; The data output module is used to update the output data according to the execution status of the software logic, write the output data and the detection requirements corresponding to the output data into a software integration file and send them to the second software function module in the vehicle.
11. An efficient monitoring device for automobile software during operation, characterized in that: A second software function module applied to a vehicle; the efficient monitoring device comprises: A data receiving module, used for receiving the software integration file transmitted by the first software function module; A processing module is used to determine the software running status of the first software function module according to the software integration file.
12. An efficient monitoring system for automobile software during operation, characterized in that: The system comprises: a first software function module, a second software function module and an error handling module; Wherein, the first software function module is capable of executing the efficient monitoring method for automobile software during operation as described in any one of claims 1 to 5; A second software function module capable of executing the efficient monitoring method for automobile software during operation as described in any one of claims 6 to 8; The error processing module is used to receive the error record information transmitted by the second software function module and perform error analysis and processing.