Method for managing running of application software, electronic device and vehicle
By loading software configuration information to determine priorities and dependencies, generating a list of applications to be started, and introducing a timeout restart mechanism and forced startup parameters, the problem of chaotic application software startup sequence during the initialization phase of the vehicle system is solved, ensuring the orderly startup of application software and the stability of the system.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- GUANGZHOU AUTOMOBILE GROUP CO LTD
- Filing Date
- 2026-03-09
- Publication Date
- 2026-06-19
Smart Images

Figure CN122240192A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of software management technology, and in particular to an application software operation management method, electronic devices, and vehicles. Background Technology
[0002] With the development of intelligent and connected vehicles, domain controllers, as core components of intelligent vehicles, support the operation of numerous critical application software programs. The software architecture of domain controllers is trending towards service-oriented architecture, making software management and operation a complex process. During the system initialization phase of a domain controller, multiple application software programs need to be initialized according to specific sequences and time requirements to ensure the stability and reliability of the entire system. However, existing technologies face many challenges in handling the operation and management of application software during this phase.
[0003] In related technologies, during the system initialization phase, the completion time of each application's business initialization is uncertain. Even if applications are started according to the set dependencies, later-started applications may complete initialization prematurely and actively request the services of applications started earlier, leading to software malfunctions or system crashes. Therefore, ensuring that application software starts normally and in sequence during the vehicle system initialization phase is one of the important technical issues in related fields.
[0004] There is currently no effective solution to the above problems. Summary of the Invention
[0005] This application provides an application software operation management method, an electronic device, and a vehicle, aiming to solve the technical problem in the related art where the application software startup sequence is disordered during the initialization phase of the vehicle system, resulting in the software being unusable.
[0006] According to one aspect of the embodiments of this application, an application software operation management method is provided, comprising: in response to a vehicle system initialization command, loading software configuration information, wherein the software configuration information includes priority information of multiple software packages, and dependency process information and dependency status information of multiple applications under the multiple software packages; determining a first software package to be started from the multiple software packages based on the priority information; traversing multiple applications under the first software package, and generating a list of applications to be started corresponding to the first software package based on the dependency process information, wherein the dependency process information is used to describe the startup dependency relationship between multiple applications under the list of applications to be started, and the list of applications to be started is used to determine the startup order of the multiple applications; traversing multiple applications according to the list of applications to be started, and starting the multiple applications according to the dependency process information, dependency status information and preset startup conditions of the multiple applications, wherein the dependency status information is used to describe the software package status that each application depends on when starting the multiple applications.
[0007] The application software operation management method provided in this application embodiment achieves the following technical effects: First, at the beginning of vehicle startup, software configuration information is loaded to obtain specific information about each software package and the applications under each software package. This lays a data foundation for the subsequent orderly startup of applications and avoids startup chaos caused by missing information. Second, by prioritizing, the most important software package is started first. This mechanism ensures that critical applications can obtain resources first and be put into use quickly, improving the system's response speed and overall operating efficiency. Furthermore, multiple applications under the first software package are traversed, and a list of applications to be started corresponding to the first software package is generated based on dependency process information, thereby determining the startup order of multiple applications and ensuring that dependent applications are started first. Finally, according to the list of applications to be started, multiple applications are traversed, and multiple applications are started according to their dependency process information, dependency status information, and preset startup conditions. This ensures that each application can only execute the startup instruction when its specific dependency conditions are met. This avoids conflicts between applications, enhances the reliability of application initialization, effectively prevents application software startup sequence chaos during the system initialization phase, and ensures software availability. Therefore, the embodiments of this application achieve the technical effect of ensuring that the application software starts normally in sequence during the initialization phase of the vehicle system, and solve the technical problem in the related art that the startup sequence of the application software during the initialization phase of the vehicle system is disordered, resulting in the software being unusable.
[0008] Optionally, the software configuration information also includes the current status of multiple software packages. Following the list of applications to be started, multiple applications are traversed, and multiple applications are started based on their dependent process information, dependent status information, and preset startup conditions. This includes: determining the application to be started from among the multiple applications under the first software package according to the list of applications to be started; determining whether the dependent status information of the application to be started includes the current status of the first software package, and obtaining a determination result; in response to the determination result indicating that the dependent status information of the application to be started includes the current status of the first software package, determining whether the application to be started meets the preset startup conditions based on the dependent process information of the application to be started; and in response to the application to be started meeting the preset startup conditions, starting the application to be started, wherein the preset startup conditions include: the dependent process information of the application to be started is empty, or the dependent process information of the application to be started is not empty and the dependent applications in the dependent process information of the application to be started are in a completed startup state.
[0009] The above optional embodiments of this application can achieve the following technical effects: It determines whether the dependency state information of the application to be started includes the current state of the software package. If the dependency state set of the application to be started includes the current state of the software package, it indicates that the application can be started. This ensures that the application software starts when the system is in the state it depends on, avoiding initialization failure or system instability caused by starting the software in an unsuitable system state. In response to the determination result indicating that the dependency state information of the application to be started includes the current state of the first software package, it further determines whether the application to be started meets the preset startup conditions based on the dependency process set of the application to be started. If the dependency process set is empty, it indicates that the application has no external dependencies and can be started directly; if the dependency process set is not empty, and the dependent processes have started and are in a completed state, the current application can be started. This further ensures that the application software starts only when all necessary preconditions are met, avoiding startup failure or abnormal software operation due to improper handling of dependencies.
[0010] Optionally, the software configuration information also includes the number of timeout restarts for multiple applications under multiple software packages, and the application software operation management method further includes: in response to the successful startup of the target application under the first software package, starting an asynchronous timer for a preset duration; in response to receiving a running notification from the target application within the preset duration, determining that the startup of the target application is complete, and inserting the target application into the list of started applications; in response to not receiving a running notification from the target application within the preset duration, restarting the target application based on the number of timeout restarts of the target application.
[0011] The optional embodiments described above achieve the following technical effects: Introducing a timeout restart count as part of the software configuration information aims to provide each application with an upper limit on retry opportunities after a startup failure. This ensures that the system does not infinitely loop when handling startup failures, avoiding ineffective resource consumption and providing the software with a certain degree of fault tolerance. After successful application startup, an asynchronous timer of a preset duration is started to monitor whether the target application can complete its internal business initialization and correctly report its running status within the specified time. This avoids system management blind spots caused by excessively long business initialization times. Once a running notification is detected from the target application within the preset time, the application startup completion can be immediately confirmed, its status updated to running, and recorded in the started application list. This helps maintain an accurate list of running applications. When the target application fails to complete business initialization and report its running status within the preset time, a restart mechanism is automatically triggered according to its configured timeout restart count. This provides the application with limited self-healing capabilities, avoiding system-wide operational anomalies caused by single-point failures.
[0012] Optionally, the software configuration information also includes the number of timeout restarts and the timeout restart duration for multiple software packages. The application software operation management method further includes: in response to multiple applications under the first software package starting successfully and running normally, calculating the total startup time of the first software package; in response to the total startup time being less than or equal to the timeout restart duration of the first software package, determining that the multiple applications under the first software package have started normally; in response to the total startup time being greater than the timeout restart duration, deleting the multiple applications under the first software package from the list of started applications, and restarting the multiple applications under the first software package based on the number of timeout restarts of the first software package, wherein the list of started applications includes multiple applications in the startup completed state.
[0013] The above-mentioned optional embodiments of this application can achieve the following technical effects: In response to multiple applications under the first software package starting successfully and running normally, the total startup time of the first software package is calculated, providing a basis for subsequent timeout determination. In response to the total startup time being less than or equal to the timeout restart duration of the first software package, it is determined that multiple applications under the first software package have started normally. This is a verification mechanism for the effectiveness of software package startup. Only when the total startup time meets the expected range is the startup of the software package considered successful. This not only ensures that the applications within the software package start correctly and without errors, but also takes into account time costs and avoids unnecessary resource waste. In response to the total startup time being greater than the timeout restart duration, multiple applications under the first software package are deleted from the list of started applications, and multiple applications under the first software package are restarted based on the number of timeout restarts of the first software package. This step is an effective measure to deal with abnormal software package startup. When the timeout exceeds the preset range, the running state of the problematic software package is first cleared, and then the startup is attempted again according to the preset number of timeout restarts. This mechanism avoids the impact of the software package being in an abnormal state for a long time on the system and also gives the software package a chance to self-repair. The list of started applications includes multiple applications that have completed startup. The design of the application list can reflect the system's running status in real time. By updating and maintaining this list, system administrators can clearly understand which applications are running.
[0014] Optionally, the software configuration information also includes forced startup parameters for multiple software packages, and the application software operation management method further includes: in response to the fact that the actual number of restarts of the first software package is equal to the number of timeout restarts of the first software package, and the total startup time of the first software package is greater than the timeout restart duration, determining the startup strategy of other software packages based on the forced startup parameters of the first software package, wherein the priority of other software packages is lower than the priority of the first software package.
[0015] The above-described optional embodiments of this application achieve the following technical effects: by setting the forced startup parameters of the software package and monitoring the number and duration of restarts, intelligent diagnosis and response to startup failures of critical software packages are realized, effectively avoiding resource waste and unnecessary system delays. Based on the forced startup parameters of the software package, when faced with a critical component that has failed to start, it can intelligently decide whether to continue starting subsequent software packages, thereby ensuring the normal operation of the core system functions while improving the stability and efficiency of overall software management.
[0016] Optionally, the software configuration information also includes the name information and status set information of multiple software packages. The application software operation management method further includes: in response to a status change request, determining a second software package from multiple software packages that have been started, wherein the name information of the second software package is consistent with the software package name carried in the status change request, and the status set information of the second software package includes the request status value carried in the status change request; traversing multiple applications under the second software package, generating a list of applications to be processed corresponding to the second software package based on the request status value and the dependency status information of the multiple applications under the second software package; and performing start-up and shutdown processing on the multiple applications under the second software package based on the list of applications to be processed.
[0017] The above-mentioned optional embodiments of this application can achieve the following technical effects: By configuring the state set, software management can better adapt to complex application scenarios, improving the flexibility and intelligence of management. Responding to state change requests, such as user operations, system events, or requests from other services, dynamic software management is achieved, and the real-time response capability enhances the system's adaptability and interactivity. In response to state change requests, a second software package is determined from multiple completed software packages, ensuring the accuracy and efficiency of state change operations, avoiding unnecessary global searches or erroneous operations, and improving the system's stability and security. Furthermore, multiple applications under the second software package are traversed, and a list of applications to be processed corresponding to the second software package is generated based on the request state value and the dependency state information of the multiple applications under the second software package. Based on the generated list of applications to be processed, the start and stop operations of applications can be effectively executed, complying with both the state change request and the application's dependency state.
[0018] Optionally, the list of applications to be processed includes a list of applications to be started and a list of applications to be exited. Multiple applications under the second software package are traversed, and a list of applications to be processed corresponding to the second software package is generated based on the request status value and the dependency status information of the multiple applications under the second software package. This includes: traversing multiple applications under the second software package; for the current application in the traversal, if the dependency status information of the current application includes the request status value, adding the current application to the list of applications to be started; if the dependency status information of the current application does not include the request status value, adding the current application to the list of applications to be exited.
[0019] The optional embodiments described above achieve the following technical effects: By traversing all applications under the second software package, it ensures that the state change operation covers all software instances that need attention, avoiding omissions and guaranteeing the comprehensiveness and accuracy of state changes. For the current application during traversal, if the dependency state information of the current application includes a request state value, the current application is added to the list of applications to be started; if the dependency state information of the current application does not include a request state value, the current application is added to the list of applications to be exited. That is, it can automatically adjust which applications should run and which should stop according to changes in system state, enhancing the adaptability and flexibility of the system. By identifying the consistency between application dependency state and system request state, only those applications that meet the requirements of the new state are started, which ensures the effective utilization of system resources, reduces unnecessary startup operations, and avoids system performance burden and conflicts that may be caused by starting irrelevant applications. Similarly, identifying applications that do not meet the requirements of the new state and marking them as exiting helps to release resources that are no longer needed in a timely manner, optimize system resource allocation, and reduce energy consumption.
[0020] Optionally, based on the list of applications to be processed, multiple applications under the second software package are started and stopped, including: traversing the multiple applications included in the list of applications to be started; for the current application in the traversal, if the current application is in a running state, maintain the current application's state; if the current application is in a stopped state and the current application's dependent process information is empty, or if the current application is in a stopped state and the dependent applications in the current application's dependent process information are in a completed startup state, start the current application; traversing the multiple applications included in the list of applications to be exited; for the current application in the traversal, if the current application is in a stopped state, maintain the current application's state; if the current application is in a running state, exit the current application.
[0021] The above optional embodiments of this application can achieve the following technical effects: For the current application being traversed, if the current application is in a running state, its state is maintained. This operation ensures that the already running application will not be unexpectedly restarted when the state changes, maintaining the current running state of the application and improving the stability of the system and the continuity of application operation. If the current application is in a stopped state and the dependent process information of the current application is empty, or if the current application is in a stopped state and the dependent applications in the dependent process information of the current application are in a completed startup state, the current application is started. That is, by checking the dependent process information, it is ensured that the application is started only when its running dependency conditions are met, avoiding running failure caused by starting the application due to unmet dependencies, thereby improving the success rate of application startup. When traversing multiple applications included in the list of applications to be exited, if the current application is in a stopped state, its state is maintained. This operation avoids unnecessary processing of applications that are already in a stopped state, reduces the waste of system resources, and improves the efficiency of state changes. If the application is currently running, exiting the application ensures that the application can respond to state change requests in a timely manner, switching from the running state to the stopped state. This guarantees the consistency and timeliness of system state changes, avoids mismatches between application state and system state, and enhances the controllability and security of the system.
[0022] According to another aspect of the embodiments of this application, an electronic device is also provided, including a processor and a memory, wherein the memory is used to store computer programs; and the processor is used to execute the programs stored in the memory to implement the application software operation management method described in any of the above claims.
[0023] The electronic device provided in this application embodiment achieves the following technical effects: the executable program corresponding to the operation management method of the application software in any of the above items is stored in the memory, and the processor executes the executable program stored in the memory, thereby achieving the technical effect of ensuring that the application software starts normally in sequence during the initialization phase of the vehicle system, and solving the technical problem in the related art that the startup sequence of the application software during the initialization phase of the vehicle system is disordered, resulting in the software being unusable.
[0024] According to another aspect of the embodiments of this application, a vehicle is also provided, the vehicle including an on-board memory and an on-board processor, wherein the on-board memory is used to store computer programs; the on-board processor is used to execute the computer programs stored in the memory to implement the operation management method of the application software in any of the above claims.
[0025] The vehicle provided in this application embodiment achieves the following technical effects: the computer program corresponding to the operation management method of the application software in any of the above is stored in the vehicle memory, and the computer program stored in the vehicle memory is executed by the vehicle processor, thereby achieving the technical effect of ensuring that the application software starts normally in sequence during the vehicle system initialization phase, and solving the technical problem in the related art of application software startup sequence disorder during the vehicle system initialization phase, resulting in software unusability. Attached Figure Description
[0026] Figure 1 This is a flowchart of an application software operation management method provided in an embodiment of this application. Detailed Implementation
[0027] To make the technical problems, technical solutions, and beneficial effects solved by this application clearer, the following detailed description is provided in conjunction with embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0028] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0029] This application provides a method for managing the operation of application software. Please refer to [the relevant documentation]. Figure 1 This includes steps S10 to S40.
[0030] Step S10: In response to the vehicle system initialization command, load software configuration information, which includes priority information of multiple software packages, as well as dependency process information and dependency status information of multiple applications under multiple software packages.
[0031] The aforementioned vehicle system initialization commands refer to signals issued by the operating system or specific initialization programs during the vehicle system startup process, used to instruct the start of software startup and state initialization. During vehicle system initialization, the systemd (a service manager used to control and start system services) is first used to start the runtime management service.
[0032] In one optional embodiment, the system operation management service includes a startup management unit, a status management unit, and a configuration management unit. The startup management unit is responsible for starting and stopping the application, the status management unit is responsible for switching the application's status within the software package, and the configuration management unit is responsible for loading cached software configuration information (such as the software package configuration list and the application configuration list), which is generated by the host computer configuration management tool.
[0033] The aforementioned software configuration information includes, but is not limited to, priority information for multiple software packages, dependency process information for each application, and dependency status information. This information is typically stored in configuration files, such as XML, JSON, or specific text files. Optionally, the package configuration information also includes the package name, a forced start switch, a list of software applications within the package, the package's current status, the package's timeout restart time, and the number of timeout restarts. Furthermore, the package configuration information also includes a configuration list for each application within each package, with the application configuration list including custom startup parameters, a set of dependency states, a set of dependency processes, a startup timeout, an exit timeout, and the number of restarts.
[0034] The aforementioned software package is a way of organizing software resources, containing a group of applications with the same or related functions, i.e., multiple applications.
[0035] The aforementioned applications refer to software programs that perform specific functions and are the basic units within a software package.
[0036] The dependency process information of any application describes other applications that the current application depends on for startup, and these other applications are in the same software package as the current application.
[0037] The dependency status information of any application describes the status of the software packages that the current application depends on for startup.
[0038] Step S20: Based on priority information, determine the first software package to be launched from multiple software packages.
[0039] The system reads the priority information of all software packages and then sorts them from highest to lowest priority. The package with the highest priority is designated as the first package. In other words, the system determines the first package to be started based on its priority, ensuring that critical business operations or services run first.
[0040] Step S30: Traverse multiple applications under the first software package, and generate a list of applications to be launched corresponding to the first software package based on the dependency process information. The dependency process information is used to describe the startup dependency relationship between multiple applications under the list of applications to be launched, and the list of applications to be launched is used to determine the startup order of multiple applications.
[0041] The process iterates through multiple applications under the first software package. For each application, it checks its corresponding dependent process information. Through this iteration, the startup order of the applications under the first software package can be determined (ensuring that dependent applications start first, and non-dependent applications start later), thus forming a list of applications to be started. The generated list of applications to be started is sorted according to startup dependencies to ensure correct handling of dependencies.
[0042] Step S40: According to the list of applications to be started, traverse multiple applications and start multiple applications based on the dependency process information, dependency status information and preset start conditions of multiple applications. The dependency status information is used to describe the status of the software packages that each application depends on when starting multiple applications.
[0043] Furthermore, each application is iterated through in the order of the applications to be launched. For each application, the application is judged to meet the launch conditions based on its dependent process information, dependent status information and preset launch conditions. When the launch conditions are met, the application is launched.
[0044] The application software operation management method provided in this application embodiment achieves the following technical effects: First, at the beginning of vehicle startup, software configuration information is loaded to obtain specific information about each software package and the applications under each software package. This lays a data foundation for the subsequent orderly startup of applications and avoids startup chaos caused by missing information. Second, by prioritizing, the most important software package is started first. This mechanism ensures that critical applications can obtain resources first and be put into use quickly, improving the system's response speed and overall operating efficiency. Furthermore, multiple applications under the first software package are traversed, and a list of applications to be started corresponding to the first software package is generated based on dependency process information, thereby determining the startup order of multiple applications and ensuring that dependent applications are started first. Finally, according to the list of applications to be started, multiple applications are traversed, and multiple applications are started according to their dependency process information, dependency status information, and preset startup conditions. This ensures that each application can only execute the startup instruction when its specific dependency conditions are met. This avoids conflicts between applications, enhances the reliability of application initialization, effectively prevents application software startup sequence chaos during the system initialization phase, and ensures software availability. Therefore, the embodiments of this application achieve the technical effect of ensuring that the application software starts normally in sequence during the initialization phase of the vehicle system, and solve the technical problem in the related art that the startup sequence of the application software during the initialization phase of the vehicle system is disordered, resulting in the software being unusable.
[0045] Optionally, the software configuration information also includes the current status of multiple software packages. Following the list of applications to be launched, multiple applications are traversed, and based on their dependent process information, dependency status information, and preset launch conditions, the applications are launched, including:
[0046] Step S401: According to the list of applications to be launched, determine the application to be launched from multiple applications under the first software package;
[0047] Step S402: Determine whether the dependency status information of the application to be started includes the current status of the first software package, and obtain the determination result;
[0048] Step S403: In response to the judgment result indicating that the dependency status information of the application to be started includes the current status of the first software package, determine whether the application to be started meets the preset startup conditions based on the dependency process information of the application to be started.
[0049] Step S404: In response to the application to be started meeting the preset startup conditions, the application to be started is started. The preset startup conditions include: the dependent process information of the application to be started is empty, or the dependent process information of the application to be started is not empty and the dependent applications in the dependent process information of the application to be started are in the started state.
[0050] Sort the applications in the list of applications to be launched and determine the application to be launched first (e.g., select the application corresponding to the first row in the list of applications to be launched as the application to be launched).
[0051] Optionally, the list of applications to be launched can be a linked list or an array, which stores key information such as the application's identifier and priority.
[0052] After identifying an application as the application to be launched, its dependency status information is checked to determine if it includes the current state of the first software package. If the dependency status information includes the current state of the first software package, the application is considered to meet the initial launch conditions, and further determination can be made as to whether the application meets the preset launch conditions. Otherwise, the application needs to be marked as not to be launched yet, and it should be postponed to a later application in the list of applications to be launched, waiting for the conditions to be met before launching it. At the same time, the application is skipped, and the next application in the list of applications to be launched is launched.
[0053] Optionally, after confirming that the dependency status of the application to be started matches the current status of the software package, the application's dependency process information is further checked. Each dependent application in the dependency process information is examined to determine if they have all completed startup and are in a stable running state. If the dependency process information is empty, or if the dependency process information is not empty and each dependent application has started correctly, then the application is considered to meet the preset startup conditions and can be started. The purpose of this step is to ensure that other components or services that the application's business logic depends on are ready when the application starts, thereby avoiding startup failures or system anomalies caused by unready dependent services.
[0054] It should be noted that after initialization, each application needs to actively report its running status information within the startup timeout period specified in the application configuration manifest. The running status information includes two states: running and stopped.
[0055] The above optional embodiments of this application can achieve the following technical effects: It determines whether the dependency state information of the application to be started includes the current state of the software package. If the dependency state set of the application to be started includes the current state of the software package, it indicates that the application can be started. This ensures that the application software starts when the system is in the state it depends on, avoiding initialization failure or system instability caused by starting the software in an unsuitable system state. In response to the determination result indicating that the dependency state information of the application to be started includes the current state of the first software package, it further determines whether the application to be started meets the preset startup conditions based on the dependency process set of the application to be started. If the dependency process set is empty, it indicates that the application has no external dependencies and can be started directly; if the dependency process set is not empty, and the dependent processes have started and are in a completed state, the current application can be started. This further ensures that the application software starts only when all necessary preconditions are met, avoiding startup failure or abnormal software operation due to improper handling of dependencies.
[0056] Optionally, the software configuration information also includes the number of timeout restarts for multiple applications under multiple software packages, and the application software operation management methods also include:
[0057] Step S501: In response to the successful startup of the target application under the first software package, start an asynchronous timer of a preset duration;
[0058] Step S502: In response to receiving a running notification from the target application within a preset time period, determine that the target application has finished starting and insert the target application into the list of started applications;
[0059] Step S503: In response to not receiving a running notification from the target application within a preset time period, the target application is restarted based on the number of timeout restarts of the target application.
[0060] The aforementioned asynchronous timer is mainly used to monitor whether the target application can enter a stable operating state within a specified time.
[0061] When the target application under the first software package is detected to have been successfully launched, an asynchronous timer is started. The duration of this timer is set to the value of the target application's launch timeout parameter, which is the preset maximum allowed launch time. For example, if the target application's launch timeout is set to 10 seconds, then the asynchronous timer will also be set to 10 seconds. During this period, the target application's status report will be continuously monitored, and the asynchronous timer will start counting in the background.
[0062] The aforementioned running notification refers to a signal issued by the target application after it has completed its initialization or self-test and other pre-startup preparation processes, indicating that the application is ready and running.
[0063] The aforementioned list of launched applications is used to track all applications currently running in the system. Whenever a new application successfully starts and enters a running state, its information is added to this list.
[0064] Optionally, if a running notification from the target application is received within the preset duration set by the asynchronous timer, this indicates that the target application has not only started successfully but has also completed the necessary business initialization and reached the predetermined running state. At this time, the information of the target application (such as application ID, startup time, status, etc.) is inserted into the list of started applications, indicating that the system has recognized and recorded the normal running state of the application.
[0065] The timeout restart count mentioned above refers to the limit on the number of times the application will automatically restart in the event of a startup timeout. For example, it can be set to 3 times, meaning that if the application fails to reach a running state within a preset time after the first startup attempt, it will be automatically restarted up to two times to try to reach a stable state in a shorter time.
[0066] Optionally, if the asynchronous timer reaches a preset duration (e.g., 10 seconds) but no running notification is received from the target application, the startup of the target application is considered to have encountered a timeout exception. In this case, a restart operation is performed on the application based on the timeout restart count parameter. For example, if the timeout restart count is set to 3, a second startup attempt will be made after the first startup fails, and so on, until the maximum number of restarts is reached or the application successfully starts and sends a running notification. Each restart will start a new asynchronous timer, repeating steps S501 to S502 until the target application starts successfully or all restart attempts fail. Once the target application starts successfully and runs normally, it is removed from the list of applications to be started, and its information is inserted into the list of started applications.
[0067] The optional embodiments described above achieve the following technical effects: Introducing a timeout restart count as part of the software configuration information aims to provide each application with an upper limit on retry opportunities after a startup failure. This ensures that the system does not infinitely loop when handling startup failures, avoiding ineffective resource consumption and providing the software with a certain degree of fault tolerance. After successful application startup, an asynchronous timer of a preset duration is started to monitor whether the target application can complete its internal business initialization and correctly report its running status within the specified time. This avoids system management blind spots caused by excessively long business initialization times. Once a running notification is detected from the target application within the preset time, the application startup completion can be immediately confirmed, its status updated to running, and recorded in the started application list. This helps maintain an accurate list of running applications. When the target application fails to complete business initialization and report its running status within the preset time, a restart mechanism is automatically triggered according to its configured timeout restart count. This provides the application with limited self-healing capabilities, avoiding system-wide operational anomalies caused by single-point failures.
[0068] Optionally, the software configuration information may also include the number of timeout restarts and the timeout restart duration for multiple software packages, and the application software's operation management methods may also include:
[0069] Step S601: In response to the successful startup and normal operation of multiple applications under the first software package, calculate the total startup time of the first software package;
[0070] Step S602: In response to the total startup time being less than or equal to the timeout restart duration of the first software package, it is determined that multiple applications under the first software package have started normally;
[0071] Step S603: In response to the total startup time exceeding the timeout restart duration, multiple applications under the first software package are deleted from the started application list, and the multiple applications under the first software package are restarted based on the timeout restart count of the first software package. The started application list includes multiple applications in the startup completed state.
[0072] The total startup time mentioned above refers to the time elapsed from the start of starting the first application under a certain software package until the last application starts successfully and runs normally.
[0073] After all applications under the first software package have been executed, record the timestamp of each application from startup to reporting its running status (i.e., business initialization completed). Calculate the total time from the startup of the first application to all applications reporting successful operation, that is, the time difference from the start of the first step to the completion of the last application's report, as the total startup time of the first software package.
[0074] The above-mentioned timeout restart duration refers to the maximum allowed startup time set for the software package; if this time is exceeded, the startup is considered to have failed.
[0075] Optionally, the calculated total startup time of the first software package is compared with the timeout restart duration configured for that software package. If the total startup time is less than or equal to the timeout restart duration, then it can be determined that all applications under the first software package have started normally and within the expected timeframe.
[0076] The above-mentioned number of timeout restarts refers to the maximum number of times the software package can retry after a startup failure.
[0077] Optionally, if the total startup time exceeds the timeout restart duration, this indicates a problem or delay in the application startup process under the first software package. All applications under the first software package are automatically removed from the list of started applications to ensure that no application instances potentially in an unstable or erroneous state are retained. Further, based on the timeout restart count configured for the first software package, a restart task queue is created. Applications requiring restart are added to the queue in their original startup order, initiating a new round of restart attempts, starting each application one by one. A new timer is started to track the total restart time for this round. If all applications still fail to start successfully within the specified number of restarts and the timeout restart duration, the software package is marked as having failed to start.
[0078] The above-mentioned optional embodiments of this application can achieve the following technical effects: In response to multiple applications under the first software package starting successfully and running normally, the total startup time of the first software package is calculated, providing a basis for subsequent timeout determination. In response to the total startup time being less than or equal to the timeout restart duration of the first software package, it is determined that multiple applications under the first software package have started normally. This is a verification mechanism for the effectiveness of software package startup. Only when the total startup time meets the expected range is the startup of the software package considered successful. This not only ensures that the applications within the software package start correctly and without errors, but also takes into account time costs and avoids unnecessary resource waste. In response to the total startup time being greater than the timeout restart duration, multiple applications under the first software package are deleted from the list of started applications, and multiple applications under the first software package are restarted based on the number of timeout restarts of the first software package. This step is an effective measure to deal with abnormal software package startup. When the timeout exceeds the preset range, the running state of the problematic software package is first cleared, and then the startup is attempted again according to the preset number of timeout restarts. This mechanism avoids the impact of the software package being in an abnormal state for a long time on the system and also gives the software package a chance to self-repair. The list of started applications includes multiple applications that have completed startup. The design of the application list can reflect the system's running status in real time. By updating and maintaining this list, system administrators can clearly understand which applications are running.
[0079] Optionally, the software configuration information also includes forced startup parameters for multiple software packages, and the application software operation management method further includes: in response to the fact that the actual number of restarts of the first software package is equal to the number of timeout restarts of the first software package, and the total startup time of the first software package is greater than the timeout restart duration, determining the startup strategy of other software packages based on the forced startup parameters of the first software package, wherein the priority of other software packages is lower than the priority of the first software package.
[0080] The forced startup parameter described above indicates whether to force the startup of subsequent packages if the package fails to start. This parameter is typically set based on the importance of the package in the system and its impact on other packages.
[0081] Optionally, when the actual number of restarts of the first software package reaches its configured timeout restart count, and the total startup time exceeds the timeout restart duration, the forced startup parameters of the first software package are read. If the forced startup parameter of the first software package is set to "enabled," it is determined that the startup failure of this software package will affect the initialization process of the entire system, causing subsequent software packages to fail to start normally. In this case, other software packages with lower priority than the first software package will not be attempted to start to prevent error propagation and resource waste. If the forced startup parameter is "disabled," the startup failure of the first software package is ignored, and other software packages continue to be started in priority order until all software packages have completed initialization or the system's set startup failure handling conditions have been met.
[0082] In other words, when the forced startup parameter is "off", other software packages with lower priority than the first software package will continue to start normally, and even if the first software package fails to start, it will not affect the subsequent process. When the forced startup parameter is "on", all subsequent software packages will stop starting, the system status will be marked as initialization failure, and the system will be automatically restarted or enter fault-safe mode.
[0083] The above-described optional embodiments of this application achieve the following technical effects: by setting the forced startup parameters of the software package and monitoring the number and duration of restarts, intelligent diagnosis and response to startup failures of critical software packages are realized, effectively avoiding resource waste and unnecessary system delays. Based on the forced startup parameters of the software package, when faced with a critical component that has failed to start, it can intelligently decide whether to continue starting subsequent software packages, thereby ensuring the normal operation of the core system functions while improving the stability and efficiency of overall software management.
[0084] Optionally, the software configuration information may also include the names and status sets of multiple software packages, and the application software's operation management methods may also include:
[0085] Step S701: In response to the status change request, a second software package is determined from a plurality of software packages that have completed startup, wherein the name information of the second software package is consistent with the software package name carried in the status change request, and the status set information of the second software package includes the request status value carried in the status change request.
[0086] Step S702: Iterate through multiple applications under the second software package, and generate a list of applications to be processed corresponding to the second software package based on the request status value and the dependency status information of multiple applications under the second software package.
[0087] Step S703: Based on the list of applications to be processed, start and stop multiple applications under the second software package.
[0088] The aforementioned status change request is used to change the status of a specific software package. A status change request must include at least the package name and the requested status value.
[0089] The aforementioned second software package refers to a software package that has already been started and completed in the system, and the name information of the second software package is consistent with the name of the software package carried in the status change request. The status set information of the second software package includes the request status value carried in the status change request.
[0090] The aforementioned state set information refers to a predefined set of states used to describe the operational status of the software package at different time periods. These states may include initialization (INIT), running (RUNNING), upgrading (UPDATING), and OFF.
[0091] Optionally, upon receiving a status change request, the second software package can be identified from the software packages already running in the current system using the package name and request status value carried in the status change request.
[0092] Optionally, if there is no package with the same name as the package carried in the state change request and the state set information includes the requested state value carried in the state change request, it means that the request cannot be satisfied. In this case, an error message is returned or a default processing measure is taken.
[0093] Dependency state information clarifies the package state required for each application to run or maintain its functionality. For example, one application may require the package to be in an initialized state to start correctly, while another application may need the package to be in a running state to function.
[0094] The above list of pending applications shows the application software that needs to be started or stopped due to state change requests. It is generated based on package state set information and the dependency state information of each application.
[0095] Optionally, each application under the second software package is iterated through, and its dependency status information is checked to determine whether it should run or stop under the new status value. If the application's dependency status information contains a requested status value, then the application will be marked as needing to start under the new status; otherwise, it will be marked as needing to stop under the new status. Based on the above judgment results, a list of applications to be processed is generated. This list contains all applications that need to be started or stopped after the status change.
[0096] Furthermore, based on the instructions in the list of applications to be processed, the corresponding start or stop operations are performed on the applications under the second software package.
[0097] The above-mentioned optional embodiments of this application can achieve the following technical effects: By configuring the state set, software management can better adapt to complex application scenarios, improving the flexibility and intelligence of management. Responding to state change requests, such as user operations, system events, or requests from other services, dynamic software management is achieved, and the real-time response capability enhances the system's adaptability and interactivity. In response to state change requests, a second software package is determined from multiple completed software packages, ensuring the accuracy and efficiency of state change operations, avoiding unnecessary global searches or erroneous operations, and improving the system's stability and security. Furthermore, multiple applications under the second software package are traversed, and a list of applications to be processed corresponding to the second software package is generated based on the request state value and the dependency state information of the multiple applications under the second software package. Based on the generated list of applications to be processed, the start and stop operations of applications can be effectively executed, complying with both the state change request and the application's dependency state.
[0098] Optionally, the list of applications to be processed includes a list of applications to be started and a list of applications to be exited. Multiple applications under the second software package are traversed, and a list of applications to be processed corresponding to the second software package is generated based on the request status value and the dependency status information of the multiple applications under the second software package. This includes: traversing multiple applications under the second software package; for the current application in the traversal, if the dependency status information of the current application includes the request status value, adding the current application to the list of applications to be started; if the dependency status information of the current application does not include the request status value, adding the current application to the list of applications to be exited.
[0099] The list of applications to be launched above records those applications that need to be activated based on state change requests. The list of applications to be exited above records those applications that need to be exited based on state change requests.
[0100] Optionally, multiple applications under the second software package are traversed. For the current application in the traversal, if the dependency status information of the current application includes a request status value, the current application is added to the list of applications to be started. If the dependency status information of the current application does not include a request status value, the current application is added to the list of applications to be exited.
[0101] For example, if the request status value is "upgrade", for the current application being traversed, if the dependency status information of the current application includes "upgrade", the current application is added to the list of applications to be started; if the dependency status information of the current application does not include "upgrade", the current application is added to the list of applications to be exited.
[0102] After traversing all applications under the second software package, the list of applications to be processed is fully constructed, including the list of applications to be started and the list of applications to be exited.
[0103] The optional embodiments described above achieve the following technical effects: By traversing all applications under the second software package, it ensures that the state change operation covers all software instances that need attention, avoiding omissions and guaranteeing the comprehensiveness and accuracy of state changes. For the current application during traversal, if the dependency state information of the current application includes a request state value, the current application is added to the list of applications to be started; if the dependency state information of the current application does not include a request state value, the current application is added to the list of applications to be exited. That is, it can automatically adjust which applications should run and which should stop according to changes in system state, enhancing the adaptability and flexibility of the system. By identifying the consistency between application dependency state and system request state, only those applications that meet the requirements of the new state are started, which ensures the effective utilization of system resources, reduces unnecessary startup operations, and avoids system performance burden and conflicts that may be caused by starting irrelevant applications. Similarly, identifying applications that do not meet the requirements of the new state and marking them as exiting helps to release resources that are no longer needed in a timely manner, optimize system resource allocation, and reduce energy consumption.
[0104] Optionally, based on the list of applications to be processed, multiple applications under the second software package are started or stopped, including:
[0105] Step S7031: Iterate through the multiple applications included in the application list to be launched. For the current application in the iteration, if the current application is in a running state, maintain the current application's state. If the current application is in a stopped state and the current application's dependent process information is empty, or if the current application is in a stopped state and the dependent application in the current application's dependent process information is in a completed startup state, start the current application.
[0106] Step S7032: Iterate through the multiple applications included in the application list to be exited. For the current application in the iteration, if the current application is in a stopped state, keep the current application's state; if the current application is in a running state, exit the current application.
[0107] Optionally, the application list to be launched is traversed. For the current application being traversed, if it is currently running, no action is needed, as it is already in the expected state, avoiding unnecessary resource consumption. If the application is stopped, further determination is needed as to whether it should be launched. Further, the dependent process information of the current application is checked to see if it is empty. If it is empty, it means the application has no prerequisites and can be launched directly. If the dependent process information is not empty, it is checked whether the dependent application is in a completed launch state. If yes, the current application can be launched; otherwise, this attempt is skipped until the dependent application has completed launch. The launch process is consistent with the launch steps described in the above embodiments. The application to be launched must report its running status within the launch timeout period. If an application to be launched launches and reports its status for the first time, or launches and reports its status multiple times within the configured restart count, it indicates that the application is running normally, and the application information is added to the launched application list; otherwise, the application launch fails.
[0108] Optionally, the application list to be exited is traversed. For the current application in the traversal, if the current application is in a stopped state, it indicates that it meets the requirements and no action is needed. If the current application is in a running state, an exit process needs to be executed. Optionally, a normal exit command is sent to the application, and the application should perform resource cleanup within the exit timeout period.
[0109] It should be noted that after receiving an exit command, multiple applications in the list of applications to be exited must clean up their resources and respond to the startup management unit within the stop timeout period set in the application configuration list, indicating that they can exit normally. Simultaneously, the information of the exited application should be removed from the list of launched applications. If an application to be exited does not notify the startup management unit that it can exit safely within the stop timeout period, a forced exit command will be sent to immediately terminate the application process, and the application information will be removed from the list of launched applications.
[0110] Optionally, after processing multiple applications to be started and applications to be exited included in the application list, the current status of the second software package is updated to the requested status value, and the status management unit is replied that the status switch is complete.
[0111] The above optional embodiments of this application can achieve the following technical effects: For the current application being traversed, if the current application is in a running state, its state is maintained. This operation ensures that the already running application will not be unexpectedly restarted when the state changes, maintaining the current running state of the application and improving the stability of the system and the continuity of application operation. If the current application is in a stopped state and the dependent process information of the current application is empty, or if the current application is in a stopped state and the dependent applications in the dependent process information of the current application are in a completed startup state, the current application is started. That is, by checking the dependent process information, it is ensured that the application is started only when its running dependency conditions are met, avoiding running failure caused by starting the application due to unmet dependencies, thereby improving the success rate of application startup. When traversing multiple applications included in the list of applications to be exited, if the current application is in a stopped state, its state is maintained. This operation avoids unnecessary processing of applications that are already in a stopped state, reduces the waste of system resources, and improves the efficiency of state changes. If the application is currently running, exiting the application ensures that the application can respond to state change requests in a timely manner, switching from the running state to the stopped state. This guarantees the consistency and timeliness of system state changes, avoids mismatches between application state and system state, and enhances the controllability and security of the system.
[0112] In another optional embodiment, in the scenario of system shutdown and exit, the application software's operation management process includes the following steps:
[0113] Step S801: In response to the application stop command, perform an exit operation for each application in the list of started applications;
[0114] In step S802, in response to the fact that the elements in the list of started applications are empty, it is determined that the application has completed the exit process.
[0115] Optionally, when the state management unit receives a system shutdown notification, it sends a request instruction to the startup management unit to stop all applications from running. After receiving the request instruction to stop all applications from running, it traverses the information of each application in the running application list in reverse. For each application to be exited, it sends a normal exit instruction and starts an asynchronous timer.
[0116] Furthermore, after receiving a normal exit instruction, the application to be exited performs business resource cleanup within the exit timeout period specified in the application configuration list. After the cleanup is completed, it replies to the startup management unit that it can exit normally. The startup management unit terminates the application process, closes the asynchronous counter, deletes the application information from the list of started applications, and continues to process the next application to be exited.
[0117] Optionally, if the startup management unit does not receive a normal exit response, it sends a forced exit command to immediately terminate the application process and delete the application information from the list of started applications.
[0118] When the list of started applications is empty, it is assumed that all applications have completed the exit process. A response request is sent to the state management unit to inform it that the system shutdown and exit are complete. Upon receiving the response request, the state management unit sends a request to systemd to stop the running management service. Upon receiving the request, systemd stops the running management service, and the system shuts down and exits normally.
[0119] In summary, in the above embodiments of this application, applications under the same software package can be configured with pre- and post-run dependencies, i.e., a set of dependent processes can be set. A limited number of multi-round restarts are implemented to ensure that application processes that fail to start within a timeout period are guaranteed. For applications that need to exit, normal exit and forced exit are distinguished based on the actual situation. This application provides software package-level timeout monitoring and supports multi-round restart mechanisms for all applications under the software package. This application introduces a preset state set for the software package and an application dependency state set, pre-setting that different applications can depend on one or more state values, and actively performing state changes. In this application, the startup of applications under the same software package can be linked by pre-setting pre- and post-run dependencies, identifying the dependency chain for application startup or exit. Only when the dependent application has started and reported a successful status can subsequent dependent applications start, thereby ensuring the normal startup order between applications of related services. This application also supports timeout monitoring, multi-round restarts, and forced exit guarantee mechanisms. Software package startup timeout monitoring provides multi-round restart guarantees for all applications within the entire software package, adapting to complex startup scenarios where different software packages handle different services, and solving the startup timing problem between software packages of different services. Furthermore, this application can proactively adapt to the state switching and control of business software at different stages of system operation, as well as the startup and shutdown of related applications, by switching the state of the software package. This provides upper-layer applications with an operational space to proactively control application operation and is more suitable for complex software scenarios under SOA multi-service architecture.
[0120] According to another aspect of the embodiments of this application, an electronic device is also provided, including a processor and a memory, wherein the memory is used to store computer programs; and the processor is used to execute the programs stored in the memory to implement the application software operation management method described in any of the above claims.
[0121] The electronic device provided in this application embodiment achieves the following technical effects: the executable program corresponding to the operation management method of the application software in any of the above items is stored in the memory, and the processor executes the executable program stored in the memory, thereby achieving the technical effect of ensuring that the application software starts normally in sequence during the initialization phase of the vehicle system, and solving the technical problem in the related art that the startup sequence of the application software during the initialization phase of the vehicle system is disordered, resulting in the software being unusable.
[0122] According to another aspect of the embodiments of this application, a vehicle is also provided, the vehicle including an on-board memory and an on-board processor, wherein the on-board memory is used to store computer programs; the on-board processor is used to execute the computer programs stored in the memory to implement the operation management method of the application software in any of the above claims.
[0123] The vehicle provided in this application embodiment achieves the following technical effects: the computer program corresponding to the operation management method of the application software in any of the above is stored in the vehicle memory, and the computer program stored in the vehicle memory is executed by the vehicle processor, thereby achieving the technical effect of ensuring that the application software starts normally in sequence during the vehicle system initialization phase, and solving the technical problem in the related art of application software startup sequence disorder during the vehicle system initialization phase, resulting in software unusability.
[0124] According to another aspect of the embodiments of this application, a computer-readable storage medium is also provided, which stores a computer program that, when executed by a processor, implements the operation management method of the application software described in any of the above claims.
[0125] The computer-readable storage medium provided in this application embodiment achieves the following technical effects: by storing the computer program corresponding to the operation management method of the application software in any of the above-mentioned claims in the computer-readable storage medium, and by using the processor to execute the computer program stored in the computer-readable storage medium, the technical effect of ensuring that the application software starts normally in sequence during the vehicle system initialization phase is achieved, and the technical problem of chaotic startup sequence of application software during the vehicle system initialization phase in the related art, resulting in software unusability, is solved.
[0126] Optionally, in this embodiment, the storage medium may include, but is not limited to, various media capable of storing computer programs, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.
[0127] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0128] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0129] In this application, "multiple" refers to two or more.
[0130] In this application, unless otherwise expressly defined, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection between two components. Those skilled in the art can understand the specific meaning of the above terms in this application based on the specific circumstances.
[0131] The terms “first,” “second,” “third,” “fourth,” etc., in this application (if present) are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence.
[0132] In this application, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, in this application, the character " / " generally indicates that the preceding and following related objects have an "or" relationship.
[0133] Unless otherwise specified, all steps in this application may be performed sequentially or randomly. For example, if the method includes steps A and B, it means that the method may include steps A and B performed sequentially, or it may include steps B and A performed sequentially. For example, if the method may also include step C, it means that step C may be added to the method in any order. For example, the method may include steps A, B, and C, or it may include steps A, C, and B, or it may include steps C, A, and B, etc.
[0134] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this application should be included within the protection scope of this application.
Claims
1. A method of managing execution of application software, characterized by, include: In response to the vehicle system initialization command, software configuration information is loaded, wherein the software configuration information includes priority information of multiple software packages, and dependency process information and dependency status information of multiple applications under the multiple software packages; Based on the priority information, determine the first software package to be launched from the plurality of software packages; Iterate through multiple applications under the first software package, and generate a list of applications to be launched corresponding to the first software package based on the dependency process information. The dependency process information is used to describe the startup dependency relationship between multiple applications under the list of applications to be launched, and the list of applications to be launched is used to determine the startup order of the multiple applications. According to the list of applications to be launched, the multiple applications are traversed, and the multiple applications are launched based on their dependent process information, dependent status information, and preset launch conditions. The dependent status information is used to describe the status of the software packages that each application depends on for launching the multiple applications.
2. The method of claim 1, wherein The software configuration information also includes the current status of multiple software packages. According to the list of applications to be launched, the multiple applications are traversed, and based on their dependent process information, dependent status information, and preset launch conditions, the multiple applications are launched, including: According to the list of applications to be launched, determine the applications to be launched from multiple applications under the first software package; Determine whether the dependency status information of the application to be launched includes the current status of the first software package, and obtain the determination result; In response to the determination result indicating that the dependency status information of the application to be started includes the current status of the first software package, the application to be started is determined to meet the preset startup conditions based on the dependency process information of the application to be started. In response to the application to be launched meeting the preset launch conditions, the application to be launched is launched, wherein the preset launch conditions include: the dependent process information of the application to be launched is empty, or the dependent process information of the application to be launched is not empty and the dependent applications in the dependent process information of the application to be launched are in a launched state.
3. The method of claim 1, wherein the application software is executed in a virtual machine. The software configuration information also includes the number of timeout restarts for multiple applications under the multiple software packages, and the application software operation management method further includes: In response to the successful startup of the target application under the first software package, start an asynchronous timer of a preset duration; In response to receiving a running notification from the target application within the preset time period, the system determines that the target application has finished starting and inserts the target application into the list of started applications. If no running notification from the target application is received within the preset time period, the target application is restarted based on the number of timeout restarts of the target application.
4. The method of claim 1, wherein the application software is executed in a virtual machine. The software configuration information also includes the number of timeout restarts and the timeout restart duration for the multiple software packages, and the application software operation management method further includes: In response to the successful startup and normal operation of multiple applications under the first software package, calculate the total startup time of the first software package; If the total startup time is less than or equal to the timeout restart duration of the first software package, it is determined that multiple applications under the first software package have started normally. In response to the total startup time exceeding the timeout restart duration, multiple applications under the first software package are deleted from the started application list, and the multiple applications under the first software package are restarted based on the number of timeout restarts of the first software package, wherein the started application list includes multiple applications in the startup completed state.
5. The method of claim 4, wherein the application software is executed in a plurality of application software execution environments, and the application software execution environment is selected from the plurality of application software execution environments. The software configuration information also includes forced startup parameters for the multiple software packages, and the application software operation management method further includes: In response to the fact that the actual number of restarts of the first software package is equal to the number of timeout restarts of the first software package, and the total startup time of the first software package is greater than the timeout restart duration, the startup strategy of other software packages is determined according to the forced startup parameters of the first software package, wherein the priority of the other software packages is lower than the priority of the first software package.
6. The method of claim 1, wherein the application software is executed in a virtual machine. The software configuration information also includes the name information and status set information of multiple software packages, and the application software operation management method further includes: In response to a status change request, a second software package is determined from a plurality of software packages that have completed startup, wherein the name information of the second software package is consistent with the software package name carried in the status change request, and the status set information of the second software package includes the request status value carried in the status change request; The multiple applications under the second software package are traversed, and a list of applications to be processed corresponding to the second software package is generated based on the request status value and the dependency status information of the multiple applications under the second software package. Based on the list of applications to be processed, multiple applications under the second software package are started or stopped.
7. The method of claim 6, wherein the application software is executed in a virtual machine. The list of applications to be processed includes a list of applications to be started and a list of applications to be exited. Multiple applications under the second software package are traversed, and based on the request status value and the dependency status information of the multiple applications under the second software package, a list of applications to be processed corresponding to the second software package is generated, including: The system iterates through multiple applications under the second software package. For the current application in the iteration, if the dependency status information of the current application includes the request status value, the current application is added to the list of applications to be started. If the dependency status information of the current application does not include the request status value, the current application is added to the list of applications to be exited.
8. The application software operation management method according to claim 7, characterized in that, Based on the list of applications to be processed, multiple applications under the second software package are started and stopped, including: The application list to be launched is traversed. For the current application in the traversal, if the current application is in a running state, the state of the current application is maintained. If the current application is in a stopped state and the dependent process information of the current application is empty, or if the current application is in a stopped state and the dependent application in the dependent process information of the current application is in a completed startup state, the current application is launched. The system iterates through the multiple applications included in the list of applications to be exited. For the current application in the iteration, if the current application is in a stopped state, the state of the current application is maintained; if the current application is in a running state, the current application is exited.
9. An electronic device, characterized in that, Including memory and processor, among which, Memory, used to store computer programs; A processor is used to execute programs stored in memory to implement the operation management method of the application software as described in any one of claims 1 to 8.
10. A vehicle, characterized in that, The vehicle includes an on-board storage device and an on-board processor, wherein, Onboard storage is used to store computer programs; An on-board processor is used to execute computer programs stored in a memory to implement the operation management method of the application software as described in any one of claims 1 to 8.