Process running method and device for vehicle application, and vehicle
By sending a notification to the execution management process and adding it to the process list after the in-vehicle application is installed, the in-vehicle application can be launched directly, which solves the problem of poor user experience caused by the EM process only reading the configuration file once and improves the application startup efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GREAT WALL MOTOR CO LTD
- Filing Date
- 2022-11-01
- Publication Date
- 2026-05-29
AI Technical Summary
In existing technologies, the EM process reads the configuration file only once during the startup phase, which causes newly installed in-vehicle applications to fail to start immediately, affecting user experience and human-computer interaction efficiency.
The state management process sends a notification to the execution management process that the in-vehicle application installation is complete, carrying the application information and adding the process to the process list. The execution management process then directly starts the in-vehicle application based on the configuration information, without needing to restart the EM process.
This allows newly installed in-vehicle applications to be launched directly without restarting the EM process, improving human-computer interaction efficiency, avoiding temporary platform function shutdown, and enhancing user experience.
Smart Images

Figure CN115729639B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of vehicle technology, and in particular to a method, apparatus, and vehicle for running processes of an in-vehicle application. Background Technology
[0002] The Execution Management process is the first activated process in the AUTOSAR (Automotive Open Systems Architecture) adaptive platform, responsible for platform initialization and starting the rest of the AUTOSAR adaptive platform. During runtime, it starts and terminates processes based on client request status.
[0003] In related technologies, the EM process opens and reads the configuration file during startup, and the EM process's startup and termination of other processes depend on the configuration items in the configuration file. Because the configuration file is read only once during the entire runtime, newly installed applications cannot start without restarting the EM process, preventing users from experiencing them promptly and resulting in low efficiency in human-computer interaction. Summary of the Invention
[0004] This application provides a method, apparatus, and vehicle for running in-vehicle applications, which can launch newly installed applications without restarting the EM process, improving the efficiency of human-computer interaction. The technical solution is as follows:
[0005] On the one hand, a method for running a process of an in-vehicle application is provided, the method comprising:
[0006] Once the in-vehicle application is installed, the state management process sends a first notification to the execution management process that the in-vehicle application installation is complete. The first notification carries the application information of the in-vehicle application.
[0007] Based on the application information, the execution management process adds the process of the in-vehicle application to the process list, which is used to record processes to be run.
[0008] In response to the first configuration information sent by the state management process, the execution management process runs the process of the in-vehicle application that is configured to the first state in the process list to start the in-vehicle application.
[0009] On the one hand, a process execution device for an in-vehicle application is provided, the device comprising:
[0010] The first notification sending module is used to send a first notification that the in-vehicle application installation is complete to the execution management process when the in-vehicle application installation is complete. The first notification carries the application information of the in-vehicle application.
[0011] The process list addition module is used by the execution management process to add the process of the vehicle application to the process list based on the application information. The process list is used to record the processes to be run.
[0012] The process execution module is used to respond to the first configuration information sent by the state management process, wherein the execution management process runs the process of the in-vehicle application configured in the first state in the process list to start the in-vehicle application.
[0013] In one possible implementation, the device further includes:
[0014] The process list creation module is used for the execution management process to send a process list creation request to the list creation process; in response to the process list creation request, the list creation process creates the process list.
[0015] In one possible implementation, the process list addition module is used by the execution management process to call the first function group to register the process of the vehicle application based on the application information; after the process registration of the vehicle application is completed, the execution management process adds the process of the vehicle application to the process list.
[0016] In one possible implementation, the process running module is configured to respond to first configuration information sent by the state management process, wherein the execution management process obtains the configuration status of the process of the vehicle application from the first configuration information; and if the configuration status of the process of the vehicle application is the first status, the execution management process runs the process of the vehicle application in the process list.
[0017] In one possible implementation, the device further includes:
[0018] The installation preparation request sending module is used by the upgrade and configuration management process to send an application installation preparation request to the status management process.
[0019] The preparation completion notification sending module is used to send a preparation completion notification to the upgrade and configuration management process when the status management process has completed the application installation preparation, so that the upgrade and configuration management process can install the vehicle application.
[0020] In one possible implementation, the device further includes:
[0021] The second configuration information sending module is used to respond to the application installation preparation request, wherein the state management process sends second configuration information to the execution management process, and the second configuration information is used to indicate that the target process is configured to a second state;
[0022] A state adjustment module is used to adjust the target process in the running process to the second state in response to the second configuration information;
[0023] The confirmation notification sending module is used to send a confirmation notification from the execution management process to the state management process when the target process is adjusted to the second state, so as to notify the state management process to complete the application installation preparation.
[0024] In one possible implementation, the device further includes:
[0025] The parsing module is used by the upgrade and configuration management process to parse the installation package of the in-vehicle application;
[0026] The installation start notification sending module is used to send an installation start notification to the status management process when the installation package has been parsed; in response to receiving the confirmation installation start notification sent by the status management process, the upgrade and configuration management process performs the step of sending an application installation preparation request to the status management process.
[0027] In one possible implementation, the device further includes:
[0028] The process stop module is used to stop the process of the vehicle application from running in response to the uninstallation request sent by the state management process.
[0029] On one hand, a vehicle is provided, the vehicle including an in-vehicle terminal, the in-vehicle terminal including one or more processors and one or more memories, the one or more memories storing at least one computer program, the computer program being loaded and executed by the one or more processors to implement a process execution method of the in-vehicle application.
[0030] On one hand, a computer-readable storage medium is provided, wherein at least one computer program is stored in the computer-readable storage medium, the computer program being loaded and executed by a processor to implement the process execution method of the in-vehicle application.
[0031] On one hand, a computer program product or computer program is provided, which includes program code stored in a computer-readable storage medium. The processor of the vehicle terminal reads the program code from the computer-readable storage medium and executes the program code, causing the vehicle terminal to execute the above-mentioned process execution method of the vehicle application.
[0032] According to the technical solution provided in this application, once the in-vehicle application is installed, the state management process sends a first notification of installation completion to the execution management process, allowing the state management process to be aware of the application's installation status at any time. Based on the application information carried in the first notification, the execution management process adds the in-vehicle application's process to the process list, thus configuring it as a process to be run. Based on the first configuration information sent by the state management process, the execution management process can directly start the in-vehicle application's process in the process list without needing to restart the execution management process to detect installation completion. This avoids the temporary shutdown of platform functions when the execution management process restarts, and improves the efficiency of experiencing newly installed in-vehicle applications. Attached Figure Description
[0033] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0034] Figure 1 This is a flowchart of a process execution method for an in-vehicle application provided in an embodiment of this application;
[0035] Figure 2 This is a flowchart of another process execution method for an in-vehicle application provided in an embodiment of this application;
[0036] Figure 3 This is a flowchart of another process execution method for an in-vehicle application provided in an embodiment of this application;
[0037] Figure 4 This is a flowchart of another process execution method for an in-vehicle application provided in an embodiment of this application;
[0038] Figure 5 This is a schematic diagram of the structure of a process running device for an in-vehicle application provided in an embodiment of this application;
[0039] Figure 6 This is a schematic diagram of the structure of a vehicle-mounted terminal provided in an embodiment of this application. Detailed Implementation
[0040] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.
[0041] In this application, the terms "first," "second," etc., are used to distinguish identical or similar items with essentially the same function. It should be understood that there is no logical or temporal dependency between "first," "second," and "nth," nor are there any restrictions on quantity or execution order.
[0042] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, data stored, data displayed, etc.) and signals involved in this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.
[0043] A process is a running activity of a program on a certain set of data in a computer. It is the basic unit for system resource allocation and scheduling and is the foundation of the operating system structure.
[0044] Inter-process communication (IPC) is a set of programming interfaces that allows programmers to coordinate different processes to run concurrently within an operating system and exchange information. This enables a program to handle requests from multiple users simultaneously. Even a single user request can lead to the execution of multiple processes within an operating system, requiring communication between them. IPC interfaces provide this capability. IPC methods include pipes, message queuing, semaphores, shared memory, and sockets.
[0045] AUTOSAR: AUTOSAR was established by global automakers, component suppliers, and other electronics, semiconductor, and software systems companies, with members maintaining development partnerships. Since 2003, these partner companies have collaborated to develop an open, standardized software architecture for the automotive industry. The AUTOSAR architecture facilitates the exchange and updating of vehicle electronic system software and provides a foundation for the efficient management of increasingly complex vehicle electronic and software systems.
[0046] EM: Execution Management, is the first process to start under AUTOSAR's AP (Adaptive Platform). Once EM is ready, it will switch the MachineState from OFF to Startup.
[0047] SM: State Management. After EM starts, it will start the SM process. SM can report the current state of its process to EM through ExecutionClient::ReportExecutionState.
[0048] Function Group: A Function Group is a collection of interconnected processes that require unified control. Processes are started or terminated based on the state of the Function Group. In AUTOSAR, the state of a Function Group is called the Function Group State.
[0049] UCM stands for Update And Config Management. UCM is responsible for updating, installing, deleting, and saving application records on the AP platform.
[0050] SOTA: Software updates over the air, refers to updating applications without connecting to a programmer, using CAN (Controller Area Network), UART (Universal Asynchronous Receiver / Transmitter), or other communication methods.
[0051] After introducing the terms used in the embodiments of this application, the application scenarios of the embodiments of this application will be described below.
[0052] The technical solution provided in this application embodiment can be applied to the State Over-The-Air (SOTA) upgrade of the AUTOSAR AP structure. When the in-vehicle application is installed, the State Management (SM) process sends a first notification to the Execution Management (EM) process. This first notification informs the EM process that the in-vehicle application installation is complete, thus informing the EM process that the in-vehicle application installation is complete. In response to this first notification, the EM process adds the in-vehicle application's process to a process list based on the application information carried in the first notification. This process list records processes to be run, and the processes in this list can be run by the EM process. In response to first configuration information sent by the SM process, the EM process runs the in-vehicle application's process in the process list, thereby starting the in-vehicle application. The first configuration information carries the configuration status of multiple processes in the process list, wherein the in-vehicle application's process is configured in a first state, which in some embodiments is also the RUN state. The technical solution provided by the embodiments of this application enables the EM process to directly launch a newly installed in-vehicle application without restarting it. This avoids the temporary shutdown of platform functions when the EM process restarts and improves the efficiency of experiencing newly installed in-vehicle applications.
[0053] After introducing the application scenarios of the embodiments of this application, the technical solutions provided by the embodiments of this application will be described below. See [link to relevant documentation]. Figure 1 Taking the vehicle-mounted terminal as the executing entity as an example, the method includes the following steps.
[0054] 101. Once the in-vehicle application is installed, the state management process sends a first notification to the execution management process that the in-vehicle application installation is complete. This first notification carries the application information of the in-vehicle application.
[0055] The in-vehicle application can be any type, such as a media application, navigation application, or social application; this embodiment of the application does not limit this. The State Management (SM) process is responsible for functions on the AUTOSAR AP platform, including handling events, event / request priorities, and setting corresponding internal states. The Execution Management (EM) process executes the transitions between different internal states. The State Management (SM) process and the Execution Management (EM) process communicate via inter-process communication technology; correspondingly, the first notification is also transmitted through this inter-process communication technology.
[0056] 102. Based on the application information, the execution management process adds the process of the in-vehicle application to the process list, which is used to record the processes to be run.
[0057] The application information for the vehicle application includes at least one of the following: application name, installation location, and version number. This embodiment of the application does not limit this information. The process list is used to record processes to be run; that is, under AUTOSAR's AP, the execution management process can run processes in this process list according to the actual situation.
[0058] 103. In response to the first configuration information sent by the state management process, the execution management process runs the process of the in-vehicle application that is configured as the first state in the process list to start the in-vehicle application.
[0059] The first state is also the running state. The first configuration information is generated by the state management process and is used to instruct the execution management process to perform the action indicated by the first configuration information. In this embodiment, the first configuration information is used to instruct the execution management process to run the process.
[0060] According to the technical solution provided in this application, once the in-vehicle application is installed, the state management process sends a first notification of installation completion to the execution management process, allowing the state management process to be aware of the application's installation status at any time. Based on the application information carried in the first notification, the execution management process adds the in-vehicle application's process to the process list, thus configuring it as a process to be run. Based on the first configuration information sent by the state management process, the execution management process can directly start the in-vehicle application's process in the process list without needing to restart the execution management process to detect installation completion. This avoids the temporary shutdown of platform functions when the execution management process restarts, and improves the efficiency of experiencing newly installed in-vehicle applications.
[0061] Steps 101-103 above are a brief introduction to the embodiments of this application. The technical solutions provided by the embodiments of this application will be described in more detail below with reference to some examples. See [link to relevant documentation]. Figure 2 and Figure 3 Taking the vehicle-mounted terminal as the executing entity as an example, the method includes the following steps.
[0062] 201. The vehicle terminal parses the installation package of the vehicle application through the upgrade and configuration management process.
[0063] The in-vehicle application can be any type, such as a media application, navigation application, or social application; this application embodiment does not limit this. The Update And Config Management (UCM) process is used to update, install, delete, and save application records; this UCM process also belongs to the AUTOSAR AP architecture. Correspondingly, the installation package of the in-vehicle application can be either a newly installed in-vehicle application's installation package or an upgrade installation package of an already installed in-vehicle application; this application embodiment does not limit this. In some embodiments, the process of parsing the in-vehicle application's installation package is also referred to as the process of unpacking or initializing the in-vehicle application's installation package. In some embodiments, the in-vehicle application's installation package is an installation package obtained during the SOTA process. See also... Figure 3 The vehicle terminal parses the installation package of the vehicle application through this upgrade and configuration management process.
[0064] In one possible implementation, the vehicle terminal performs operations such as verifying the integrity of the installation package, whether the installation package is compatible with the current operating system / hardware, whether there is enough storage space to install the vehicle application, and decompressing the installation package through the upgrade and configuration management (UCM) process, in order to parse the installation package of the vehicle application.
[0065] In this implementation, before installing the in-vehicle application, the installation package of the in-vehicle application can be parsed through the upgrade and configuration management process to determine whether the in-vehicle application can be installed normally on the in-vehicle terminal. This allows for timely detection of errors in the installation package of the in-vehicle application, thereby improving the efficiency of application installation.
[0066] 202. Once the installation package has been parsed, the vehicle terminal sends an application installation preparation request to the status management process through the upgrade and configuration management process.
[0067] The State Management (SM) process is responsible for functions on the AUTOSAR AP platform, including handling events, event / request priorities, and setting corresponding internal states.
[0068] In one possible implementation, upon successful parsing of the installation package, the vehicle terminal sends a start installation notification to the State Management (SM) process via the Upgrade and Configuration Management (UCM) process. In response to receiving the confirmation of start installation from the State Management (SM) process, the vehicle terminal sends an application installation preparation request to the State Management (SM) process via the UCM process.
[0069] The "Start Installation" notification informs the status management process that the installation package for the in-vehicle application has been parsed and installation is about to begin, thus initiating the installation preparation process. The "Confirm Start Installation" notification indicates that the status management process has entered the installation preparation phase and awaits further notification to perform the necessary preparatory work.
[0070] For example, once the installation package has been parsed, the vehicle terminal, through the upgrade and configuration management process, uses inter-process communication (IPC) to send a start installation notification to the state management process. The state management process receives this start installation notification and generates an installation configuration file based on it. Upon generating the installation configuration file, the state management process sends a confirmation start installation notification to the upgrade and configuration management process, indicating that it has completed generating the installation configuration file. The vehicle terminal, through the upgrade and configuration management process, sends an application installation preparation request to the state management process. This application installation preparation request requests the state management process to continue with the installation process of the vehicle application. See also... Figure 3 Taking the installation package of this in-vehicle application as an example, which is an upgrade installation package of an already installed in-vehicle application, the start installation notification is sent through the (StartUpdateSession) interface, the confirmation start installation notification is the upgrade confirmation notification (ReadyForUpdate), and the application installation preparation request is sent through (PrepareUpdate(vector<int>)). <functiongroup>Send via the interface.
[0071] 203. In response to the application installation preparation request, the vehicle terminal sends second configuration information to the execution management process through the state management process. The second configuration information is used to indicate that the target process is configured to the second state.
[0072] The target process is the process that affects the installation of the in-vehicle application. For example, if the in-vehicle application is an upgrade of another installed in-vehicle application, the target process includes the process of that other in-vehicle application, which will affect the installation process of this in-vehicle application. The second state is the stopped running state. Accordingly, configuring the target process to the second state means configuring the target process to the stopped running state. The execution management (EM) process is used to perform transitions between different internal states. For example, the running and stopping of a process is a transition between internal states.
[0073] In one possible implementation, in response to the application installation preparation request, the vehicle terminal, through the State Management (SM) process, determines the second functional group corresponding to the vehicle application based on the application information of the vehicle application. The application installation request carries the application information of the vehicle application, and the target process is a process under the second functional group. The vehicle terminal, through the State Management (SM) process, generates the second configuration information based on the second functional group and the second state. The vehicle terminal, through the State Management (SM) process, sends the second configuration information to the Execution Management (EM) process. See also... Figure 3 Taking the installation package of the in-vehicle application as an example of the upgrade installation package of the already installed in-vehicle application, the second configuration information is sent through the SetState(FunctionGroup, "Update"):StateReturnType interface, where (FunctionGroup, "Update") is the second function group.
[0074] The application information of the vehicle application includes at least one of the following: application name, installation location, and version number. This application embodiment does not limit this.
[0075] In this implementation, the terminal can send second configuration information to the execution management process through the state management process before the in-vehicle application starts to be installed, so that the execution management process can end the running state of the target process based on the second configuration information, thereby increasing the probability of successful installation of the in-vehicle application.
[0076] For example, in response to the application installation preparation request, the vehicle terminal, through the state management process, queries the application information of the vehicle application to obtain the second function group corresponding to the application information. The vehicle terminal, through the state management process, configures the target process in the second function group to a second state to generate the second configuration information. The vehicle terminal, through the state management process, uses inter-process communication technology to call the State Client interface to send the second configuration information to the execution management process.
[0077] Alternatively, in response to the application installation preparation request, the vehicle terminal, through the state management process, queries the application information of the vehicle application to obtain the second function group corresponding to the application information. The vehicle terminal, through the state management process, configures all processes in the second function group (excluding the target process) to a first state to generate the second configuration information. The vehicle terminal, through the state management process, uses inter-process communication technology to call the state client interface to send the second configuration information to the execution management process. Here, the first state refers to the running state. This method differs from the above method in that the state management process marks running processes under the second function group, rather than marking non-running processes.
[0078] 204. In response to the second configuration information, the vehicle terminal adjusts the target process in the running process to the second state through the execution management process.
[0079] In one possible implementation, in response to the second configuration information, the vehicle terminal determines the target process from the second configuration information through the execution management (EM) process. The vehicle terminal then adjusts the target process in the running processes to a stopped state through the execution management (EM) process.
[0080] For example, in response to the second configuration information, the vehicle terminal determines the second function group from the second configuration information through the execution management process, and adjusts the target process under the second function group that is configured as the second state to the stopped running state.
[0081] Alternatively, in response to the second configuration information, the vehicle terminal, through the execution management process, determines the second functional group from the second configuration information, and adjusts all processes under that second functional group, except those configured in the first state, to a stopped state. Since the target process is not configured in the first state, it is also adjusted to a stopped state. See also Figure 3 Taking the installation package of the in-vehicle application as an example, which is an upgrade installation package of the already installed in-vehicle application, the in-vehicle terminal terminates all processes under the second function group that are not configured as the first state (Update) through the execution management process.
[0082] 205. When the target process is adjusted to the second state, the vehicle terminal sends a confirmation notification to the state management process through the execution management process to notify the state management process to complete the application installation preparation.
[0083] In one possible implementation, when the target process is adjusted to a stopped running state, the vehicle terminal sends an acknowledgment notification to the State Management (SM) process through the Execution Management (EM) process using inter-process communication technology. The acknowledgment notification is used to notify the State Management (SM) process that the Execution Management (EM) process has completed application installation preparation.
[0084] In this implementation, the execution management process can send an acknowledgment notification to the status management process when the target process is adjusted to a stopped running state, so that the status management process knows that the execution management process has completed the application installation preparation and can then perform the subsequent application installation work.
[0085] 206. When the execution management process completes the application installation preparation, the vehicle terminal sends a preparation completion notification to the upgrade and configuration management process through the status management process, so that the upgrade and configuration management process can install the vehicle application.
[0086] The "Ready to Complete" notification indicates that both the execution management process and the status management process have completed the application installation preparation. Upon receiving the "Ready to Complete" notification, the upgrade and configuration management process can use the parsed installation package to complete the installation of the in-vehicle application.
[0087] In one possible implementation, upon completion of application installation preparation by the execution management process, the vehicle terminal, through the State Management (SM) process, sends a preparation completion notification to the Upgrade and Configuration Management (UCM) process using inter-process communication technology. In response to this preparation completion notification, the vehicle terminal, through the Upgrade and Configuration Management (UCM) process, completes the installation of the vehicle application using the parsed installation package. See also... Figure 3 Taking the installation package of the in-vehicle application as an example, which is the upgrade installation package of the already installed in-vehicle application, the in-vehicle terminal sends a Prepared notification to the upgrade and configuration management process through the status management process.
[0088] It should be noted that steps 201-206 above are optional steps. In addition to installing the vehicle application through steps 201-206 above, the vehicle terminal can also install the vehicle application through other steps. This application embodiment does not limit this.
[0089] 207. When the in-vehicle application is installed, the in-vehicle terminal sends a first notification of the installation completion to the execution management process through the status management process. The first notification carries the application information of the in-vehicle application.
[0090] In one possible implementation, upon completion of the in-vehicle application installation, the in-vehicle terminal sends an application installation completion notification to the State Management (SM) process via the Upgrade and Configuration Management (UCM) process. This notification carries the application information of the in-vehicle application. In response to receiving the application installation completion notification, the in-vehicle terminal, via the State Management (SM) process, sends a first notification to the Execution Management (EM) process. This first notification, also carrying the application information of the in-vehicle application, informs the EM process that the in-vehicle application installation is complete. See also... Figure 3 Taking the installation package of this in-vehicle application as an example, which is the upgrade installation package of the already installed in-vehicle application, the in-vehicle terminal uses the upgrade and configuration management process through (VerifyUpdate(vector<int>)>) to perform the upgrade and configuration management process. <functiongroup>,vector <appinfo>The system sends an application installation completion notification to the state management process via the `NotifyAppsUpdated(vector<AppInfo>)` interface, where `Appinfo` contains application information. The vehicle terminal then uses this state management process to access the application installation information via `NotifyAppsUpdated(vector<AppInfo>)`. <appinfo>The interface sends this first notification to the execution management process. See also Figure 4 The vehicle terminal uses this state management process to utilize (NotifyAppsUpdated(vector<NotifyAppsUpdated> ... <appinfo>The interface calls the HandleAppInstalledNotification(directory_name) function to send the first notification to the execution management process.
[0091] For example, once the in-vehicle application is installed, the in-vehicle terminal, through the upgrade and configuration management process, uses inter-process communication technology to send an application installation completion notification to the state management process. This notification carries the application information of the in-vehicle application. In response to receiving the application installation completion notification, the in-vehicle terminal, through the state management process, uses inter-process communication technology to call the State Client interface to send the first notification to the execution management process.
[0092] 208. The vehicle terminal, through the execution management process, adds the process of the vehicle application to the process list based on the application information. This process list is used to record the processes to be run.
[0093] The process list is used to record processes to be run. In other words, under the AUTOSAR AP architecture, the execution management process can run the processes in the process list according to the actual situation.
[0094] In one possible implementation, in response to the first notification sent by the State Management (SM) process, the vehicle terminal sends a process list creation request to the list creation process via the Execution Management (EM) process. In response to the process list creation request, the vehicle terminal creates the process list via the list creation process. Once the process list is created, the vehicle terminal, via the Execution Management (EM) process, adds the process of the vehicle application to the process list based on the application information of the vehicle application. See also... Figure 3 Taking the installation package of the in-vehicle application as an example, which is an upgrade installation package of an already installed in-vehicle application, the in-vehicle terminal adds the process of the newly installed in-vehicle application to the process list through the execution management process.
[0095] In addition to adding the process of the vehicle application to the process list created by the process creation process, the execution management process can also add other processes to be run to the process list, so that other processes can also run according to the configuration later.
[0096] In this implementation, the vehicle terminal can create a new process list through the list creation process, and add the process of the vehicle application to the process list through the execution management process, so that the vehicle application can be started directly without restarting the execution management process, thereby improving the efficiency of application startup.
[0097] For example, in response to the first notification sent by the state management process, the vehicle terminal sends a process list creation request to the list creation process through the execution management process. In response to this process list creation request, the vehicle terminal creates the process list through the list creation process. Once the process list is created, the vehicle terminal, through the execution management process, registers the process of the vehicle application by calling the first function group based on the application information of the vehicle application. After the process registration of the vehicle application is complete, the vehicle terminal adds the process of the vehicle application to the process list through the execution management process. Registering the process of the vehicle application refers to registering the functions to be called by the process of the vehicle application, as well as the installation location of the executable program corresponding to the process of the vehicle application, the location of the required code database files, etc. See also... Figure 4 The vehicle terminal, through the execution management process, calls the `Create(applications_path, directory_name, resource_groups, process_list)` function to send a process list creation request to the list creation process (`ProcessListBuilder`). The vehicle terminal, through this execution management process, calls `GetFunctionGroupRef(function_group:StringView):FunctionGroup` to invoke the first function group, calls the `ResigterListener(pc: ProcessStartupConfig&)` function to register the process of the vehicle application, and calls the `process_all_emplace_back()` function to add the process of the vehicle application to the process list.
[0098] 209. In response to the first configuration information sent by the state management process, the vehicle terminal runs the process of the vehicle application that is configured as the first state in the process list through the execution management process to start the vehicle application.
[0099] The first configuration information carries the process identifier and the configured state of the process. The configured state of the process includes a first state, a second state, and a third state. The first state refers to the running state, the second state refers to the stopped running state, and the third state refers to the held state. In some embodiments, the first configuration information carries the identifier of the process configured in the first state, that is, the first configuration information carries the identifier of the process configured in the first state. The execution management process can determine the process configured in the first state in the process list through the first configuration information. In some embodiments, the timing of the first configuration information sent by the state management process is triggered by the user. For example, the state management process sends the first configuration information after the user clicks the launch icon of the in-vehicle application, or after the user clicks the launch control on the installation completion screen of the in-vehicle application. This application embodiment does not limit this.
[0100] In one possible implementation, in response to first configuration information sent by the State Management (SM) process, the vehicle terminal obtains the configuration status of the vehicle application's process from the first configuration information via the Execution Management (EM) process. If the configuration status of the vehicle application's process is the first state, the vehicle terminal runs the vehicle application's process from the process list via the Execution Management (EM) process. See also Figure 3 Taking the installation package of the in-vehicle application as an example, which is an upgrade installation package of an already installed in-vehicle application, the state management process sends the first configuration information through the SetState(FunctionGroup, "Running"):StateReturnType interface. The in-vehicle terminal starts all processes configured in the first state in the process list through the execution management process.
[0101] In this implementation, the execution management process can launch the in-vehicle application based on the first configuration information without restarting, thus improving the efficiency of application launch.
[0102] For example, in response to the first configuration information sent by the state management process, the vehicle terminal obtains the configuration status of multiple processes in the process list from the first configuration information through the execution management process. These multiple processes include the process of the vehicle application. When the process of the vehicle application is configured to run, the vehicle terminal runs the process of the vehicle application through the execution management process, allocates storage resources, computing resources, and display resources to the process of the vehicle application, thereby launching the vehicle application.
[0103] Optionally, after step 209 above, the vehicle terminal can also perform step 210 below, or the vehicle terminal can also perform step 210 below at any time after the vehicle application is installed, or perform step 210 below to uninstall other vehicle applications. This application embodiment does not limit this.
[0104] 210. In response to the uninstallation request for the in-vehicle application sent by the state management process, the in-vehicle terminal stops the process of running the in-vehicle application through the execution management process.
[0105] In one possible implementation, in response to an uninstallation request for the in-vehicle application sent by the state management process, the in-vehicle terminal invokes a third function group through the execution management process. This third function group is used to uninstall the application, and the uninstallation request carries the identifier of the in-vehicle application. The in-vehicle terminal then uses the third function group to stop the in-vehicle application process through the execution management process. After the in-vehicle application process is stopped, the in-vehicle application is uninstalled.
[0106] For example, see Figure 4 The state management process calls the `HandleAppUninstalledNotification(app_name)` function to send an uninstallation request for the in-vehicle application, where `app_name` is the identifier of the in-vehicle application. The in-vehicle terminal, through this execution management process, calls the `UnResigterListener(pc: ProcessStartupConfig&)` function to invoke the third function group, and then calls the `process_all_erase(iterator)` function to stop the process of the in-vehicle application.
[0107] 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.
[0108] According to the technical solution provided in this application, once the in-vehicle application is installed, the state management process sends a first notification of installation completion to the execution management process, allowing the state management process to be aware of the application's installation status at any time. Based on the application information carried in the first notification, the execution management process adds the in-vehicle application's process to the process list, thus configuring it as a process to be run. Based on the first configuration information sent by the state management process, the execution management process can directly start the in-vehicle application's process in the process list without needing to restart the execution management process to detect installation completion. This avoids the temporary shutdown of platform functions when the execution management process restarts, and improves the efficiency of experiencing newly installed in-vehicle applications.
[0109] The technical solution provided in this application embodiment is applied to the scenario of SOTA upgrade, so that the newly installed application can take effect without restarting the vehicle software after the upgrade.
[0110] Figure 5 This is a schematic diagram of the structure of a process running device for an in-vehicle application provided in an embodiment of this application. See also... Figure 5 The device includes: a first notification sending module 501, a process list adding module 502, and a process running module 503.
[0111] The first notification sending module 501 is used to send a first notification of the completion of the installation of the vehicle application to the execution management process when the vehicle application is installed. The first notification carries the application information of the vehicle application.
[0112] The process list addition module 502 is used by the execution management process to add the process of the vehicle application to the process list based on the application information. The process list is used to record the processes to be run.
[0113] The process execution module 503 is used to respond to the first configuration information sent by the state management process, and the execution management process runs the process of the vehicle application that is configured as the first state in the process list to start the vehicle application.
[0114] In one possible implementation, the device further includes:
[0115] The process list creation module is used by the execution management process to send a process list creation request to the list creation process. In response to the process list creation request, the list creation process creates the process list.
[0116] In one possible implementation, the process list addition module 502 is used by the execution management process to register the process of the in-vehicle application by calling the first function group based on the application information. Once the process registration of the in-vehicle application is complete, the execution management process adds the process of the in-vehicle application to the process list.
[0117] In one possible implementation, the process execution module 503 is configured to, in response to first configuration information sent by the state management process, obtain the configuration status of the in-vehicle application's process from the first configuration information. If the configuration status of the in-vehicle application's process is the first state, the execution management process runs the in-vehicle application's process from the process list.
[0118] In one possible implementation, the device further includes:
[0119] The installation preparation request sending module is used by the upgrade and configuration management process to send application installation preparation requests to the status management process.
[0120] The preparation completion notification sending module is used to send a preparation completion notification to the upgrade and configuration management process when the status management process has completed the application installation preparation, so that the upgrade and configuration management process can install the vehicle application.
[0121] In one possible implementation, the device further includes:
[0122] The second configuration information sending module is used to respond to the application installation preparation request, wherein the state management process sends second configuration information to the execution management process, and the second configuration information is used to indicate that the target process is configured to the second state.
[0123] The status adjustment module is used to adjust the target process in the running process to the second status in response to the second configuration information.
[0124] The confirmation notification sending module is used to send a confirmation notification from the execution management process to the state management process when the target process is adjusted to the second state, so as to notify the state management process that the application installation preparation is complete.
[0125] In one possible implementation, the device further includes:
[0126] The parsing module is used by the upgrade and configuration management process to parse the installation package of the in-vehicle application.
[0127] The installation start notification sending module is used by the upgrade and configuration management process to send a start installation notification to the status management process after the installation package has been parsed. In response to receiving the start installation confirmation notification from the status management process, the upgrade and configuration management process performs the step of sending an application installation preparation request to the status management process.
[0128] In one possible implementation, the device further includes:
[0129] The process stop module is used to stop the process of the in-vehicle application from running in response to an uninstallation request sent by the state management process.
[0130] It should be noted that the process running device for in-vehicle applications provided in the above embodiments is only illustrated by the division of the above functional modules. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the computer device can be divided into different functional modules to complete all or part of the functions described above. In addition, the process running device for in-vehicle applications provided in the above embodiments and the process running method embodiments for in-vehicle applications belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.
[0131] According to the technical solution provided in this application, once the in-vehicle application is installed, the state management process sends a first notification of installation completion to the execution management process, allowing the state management process to be aware of the application's installation status at any time. Based on the application information carried in the first notification, the execution management process adds the in-vehicle application's process to the process list, thus configuring it as a process to be run. Based on the first configuration information sent by the state management process, the execution management process can directly start the in-vehicle application's process in the process list without needing to restart the execution management process to detect installation completion. This avoids the temporary shutdown of platform functions when the execution management process restarts, and improves the efficiency of experiencing newly installed in-vehicle applications.
[0132] This application provides a vehicle for performing the above-described method. The vehicle includes an in-vehicle terminal, which includes one or more processors and one or more memories. The one or more memories store at least one computer program, which is loaded and executed by the one or more processors to implement the process execution method of the in-vehicle application. Figure 6 This is a schematic diagram of the structure of a vehicle-mounted terminal provided in an embodiment of this application.
[0133] Typically, the vehicle terminal 600 includes one or more processors 601 and one or more memories 602.
[0134] Processor 601 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 601 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). Processor 601 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 601 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 601 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.
[0135] The memory 602 may include one or more computer-readable storage media, which may be non-transitory. The memory 602 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in the memory 602 are used to store at least one computer program, which is executed by the processor 601 to implement the process execution method of the in-vehicle application provided in the method embodiments of this application.
[0136] In some embodiments, the vehicle terminal 600 may optionally include a peripheral device interface 603 and at least one peripheral device. The processor 601, memory 602, and peripheral device interface 603 can be connected via a bus or signal line. Each peripheral device can be connected to the peripheral device interface 603 via a bus, signal line, or circuit board. Specifically, the peripheral device includes at least one of the following: a radio frequency circuit 604, a display screen 605, a camera assembly 606, an audio circuit 607, and a power supply 608.
[0137] Peripheral interface 603 can be used to connect at least one I / O (Input / Output) related peripheral device to processor 601 and memory 602. In some embodiments, processor 601, memory 602 and peripheral interface 603 are integrated on the same chip or circuit board; in some other embodiments, any one or two of processor 601, memory 602 and peripheral interface 603 can be implemented on separate chips or circuit boards, which is not limited in this embodiment.
[0138] The radio frequency (RF) circuit 604 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuit 604 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 604 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals back into electrical signals. Optionally, the RF circuit 604 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc.
[0139] Display screen 605 is used to display a user interface (UI). This UI may include graphics, text, icons, video, and any combination thereof. When display screen 605 is a touch display screen, it also has the ability to collect touch signals on or above its surface. These touch signals can be input as control signals to processor 601 for processing. In this case, display screen 605 can also be used to provide virtual buttons and / or a virtual keyboard, also known as soft buttons and / or a soft keyboard.
[0140] The camera assembly 606 is used to acquire images or videos. Optionally, the camera assembly 606 includes a front-facing camera and a rear-facing camera. Typically, the front-facing camera is located on the front panel of the vehicle terminal, and the rear-facing camera is located on the back of the vehicle terminal.
[0141] The audio circuit 607 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, and convert the sound waves into electrical signals that are input to the processor 601 for processing, or input to the radio frequency circuit 604 to realize voice communication.
[0142] The power supply 608 is used to power the various components in the vehicle terminal 600. The power supply 608 can be AC power, DC power, a disposable battery, or a rechargeable battery.
[0143] In some embodiments, the vehicle terminal 600 further includes one or more sensors 609. The one or more sensors 609 include, but are not limited to, an acceleration sensor 610, a gyroscope sensor 611, a pressure sensor 612, an optical sensor 613, and a proximity sensor 614.
[0144] The accelerometer 610 can detect the magnitude of acceleration on the three coordinate axes of the coordinate system established by the vehicle terminal 600.
[0145] The gyroscope sensor 611 can detect the body orientation and rotation angle of the vehicle terminal 600. The gyroscope sensor 611 can work in conjunction with the accelerometer sensor 610 to collect the user's 3D movements on the vehicle terminal 600.
[0146] The pressure sensor 612 can be installed on the side bezel of the vehicle terminal 600 and / or on the lower layer of the display screen 605. When the pressure sensor 612 is installed on the side bezel of the vehicle terminal 600, it can detect the user's grip signal on the vehicle terminal 600, and the processor 601 can perform left / right hand recognition or quick operation based on the grip signal collected by the pressure sensor 612. When the pressure sensor 612 is installed on the lower layer of the display screen 605, the processor 601 can control the operable controls on the UI interface based on the user's pressure operation on the display screen 605.
[0147] An optical sensor 613 is used to collect ambient light intensity. In one embodiment, a processor 601 can control the display brightness of a display screen 605 based on the ambient light intensity collected by the optical sensor 613.
[0148] The proximity sensor 614 is used to collect the distance between the user and the front of the vehicle terminal 600.
[0149] Those skilled in the art will understand that Figure 6 The structure shown does not constitute a limitation on the vehicle terminal 600, and may include more or fewer components than shown, or combine certain components, or use different component arrangements.
[0150] In an exemplary embodiment, a computer-readable storage medium is also provided, such as a memory including a computer program that can be executed by a processor to complete the process execution method of the in-vehicle application in the above embodiments. For example, the computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CD-ROM), magnetic tape, floppy disk, and optical data storage device, etc.
[0151] In an exemplary embodiment, a computer program product or computer program is also provided, which includes program code stored in a computer-readable storage medium. The processor of a computer device reads the program code from the computer-readable storage medium and executes the program code, causing the computer device to execute the process execution method of the above-described vehicle application.
[0152] In some embodiments, the computer program involved in the present application embodiments may be deployed and executed on a computer device, or executed on multiple computer devices located in one location, or executed on multiple computer devices distributed in multiple locations and interconnected through a communication network. Multiple computer devices distributed in multiple locations and interconnected through a communication network may constitute a blockchain system.
[0153] Those skilled in the art will understand that all or part of the steps of the above embodiments can be implemented by hardware or by a program instructing related hardware. The program can be stored in a computer-readable storage medium, such as a read-only memory, a disk, or an optical disk.
[0154] The above are merely optional embodiments of this application and are not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.< / appinfo> < / appinfo> < / appinfo> < / functiongroup> < / functiongroup>
Claims
1. A method for running a process in an in-vehicle application, characterized in that, The method includes: Once the in-vehicle application is installed, the state management process sends a first notification to the execution management process that the in-vehicle application installation is complete. The first notification carries the application information of the in-vehicle application. The execution management process adds the process of the in-vehicle application to the process list based on the application information. The process list is used to record processes to be run. In response to the first configuration information sent by the state management process, the execution management process runs the process of the in-vehicle application that is configured to the first state in the process list to start the in-vehicle application; The method further includes: In response to the application installation preparation request, the state management process sends second configuration information to the execution management process. The second configuration information is used to indicate that the target process is configured to a second state. The application installation preparation request is a request sent by the upgrade and configuration management process to the state management process. The application installation preparation request is used to request the state management process to continue to participate in the installation process of the in-vehicle application. The second state is a stopped running state. In response to the second configuration information, the execution management process adjusts the target process in the running process to the second state; When the target process is adjusted to the second state, the execution management process sends a confirmation notification to the state management process to notify the state management process that the application installation preparation is complete.
2. The method according to claim 1, characterized in that, Also includes: The execution management process sends a process list creation request to the list creation process; In response to the process list creation request, the list creation process creates the process list.
3. The method according to claim 1, characterized in that, The execution management process adds the process of the in-vehicle application to the process list based on the application information, including: Based on the application information, the execution management process calls the first function group to register the process of the in-vehicle application; Once the process registration for the in-vehicle application is complete, the execution management process adds the in-vehicle application's process to the process list.
4. The method according to claim 1, characterized in that, In response to the first configuration information sent by the state management process, the execution management process runs the process of the in-vehicle application configured in the first state in the process list, including: In response to the first configuration information sent by the state management process, the execution management process obtains the configuration status of the process of the in-vehicle application from the first configuration information; When the configuration state of the in-vehicle application process is the first state, the execution management process runs the in-vehicle application process in the process list.
5. The method according to claim 1, characterized in that, Also includes: The upgrade and configuration management process sends an application installation preparation request to the status management process; Once the status management process has completed the application installation preparation, it sends a preparation completion notification to the upgrade and configuration management process, enabling the upgrade and configuration management process to install the in-vehicle application.
6. The method according to claim 5, characterized in that, Also includes: The upgrade and configuration management process parses the installation package of the in-vehicle application; Once the installation package has been parsed, the upgrade and configuration management process sends an installation start notification to the status management process. In response to receiving a confirmation notification to begin installation from the status management process, the upgrade and configuration management process performs the step of sending an application installation preparation request to the status management process.
7. The method according to claim 1, characterized in that, Also includes: In response to the uninstallation request for the in-vehicle application sent by the state management process, the execution management process stops running the process of the in-vehicle application.
8. A process execution device for vehicle-mounted applications, characterized in that, The device includes: The first notification sending module is used to send a first notification that the in-vehicle application installation is complete to the execution management process when the in-vehicle application installation is complete. The first notification carries the application information of the in-vehicle application. The process list addition module is used by the execution management process to add the process of the vehicle application to the process list based on the application information. The process list is used to record the processes to be run. A process execution module is used to respond to the first configuration information sent by the state management process, wherein the execution management process runs the process of the in-vehicle application configured as the first state in the process list to start the in-vehicle application; The second configuration information sending module is used to respond to the application installation preparation request. The state management process sends second configuration information to the execution management process. The second configuration information is used to indicate that the target process is configured to a second state. The application installation preparation request is a request sent by the upgrade and configuration management process to the state management process. The application installation preparation request is used to request the state management process to continue to participate in the installation process of the vehicle application. The second state is a stopped running state. A state adjustment module is used to adjust the target process in the running process to the second state in response to the second configuration information; The confirmation notification sending module is used to send a confirmation notification from the execution management process to the state management process when the target process is adjusted to the second state, so as to notify the state management process to complete the application installation preparation.
9. A vehicle, characterized in that, The vehicle includes an in-vehicle terminal, which includes one or more processors and one or more memories. The one or more memories store at least one computer program, which is loaded and executed by the one or more processors to implement the process execution method of the in-vehicle application as described in any one of claims 1 to 7.