Background process management method, electronic equipment and vehicle
By integrating and managing the registration codes and information of resident background processes in the vehicle infotainment system, the number of processes is reduced, resource sharing and on-demand startup are achieved, the problems of slow response speed and low resource utilization of the vehicle infotainment system are solved, and system performance is improved.
Patent Information
- Application Number
- CN202511153599.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-18
- Publication Date
- 2025-11-28
AI Technical Summary
The presence of numerous resident background processes in the vehicle infotainment system leads to slow response times, low resource utilization, and issues such as redundant function monitoring and high memory consumption.
By obtaining the background registration codes of all resident background processes on the vehicle, the target process and target registration code are determined, the target process is started to obtain the target registration information, and it is stored in the target process, thereby reducing the number of resident background processes and realizing resource sharing and on-demand startup.
It improves the response speed and resource utilization of the vehicle system, reduces CPU resource consumption, ensures that the monitoring information of each resident background process is acquired and saved, and improves the overall performance of the system.
Smart Images

Figure CN121029408A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of background process management, and in particular to a background process management method, an electronic device and a vehicle. BACKGROUND
[0002] With the development of intelligent vehicles, more and more application programs run on the vehicle system. In order to meet the real-time requirements (such as receiving broadcast signals, processing vehicle state changes, and listening to user behaviors such as voice and hard buttons), some application programs need to be self-started and resident in the background after the vehicle system is started, which makes the background processes corresponding to these application programs must be continuously resident in the background, resulting in slow response speed and low resource utilization of the vehicle system. SUMMARY
[0003] Therefore, the present application aims to provide a background process management method, an electronic device and a vehicle.
[0004] To achieve the above purpose, the present application provides a background process management method in the first aspect, comprising: In response to the start of the vehicle, all resident background processes on the vehicle are obtained, and the resident background processes include background registration codes; Based on all the resident background processes, a target process and a target registration code are determined, and the target registration code includes the background registration code; Start the target process, obtain the target registration information corresponding to the target registration code based on the target process, and store the target registration information to the target process.
[0005] Optionally, the resident background processes further include business codes; and the determination of the target process and the target registration code based on all the resident background processes comprises: Determine the target process based on all the business codes; Determine the target registration code based on all the background registration codes.
[0006] Optionally, the determination of the target registration code based on all the background registration codes comprises: Compare the background registration codes of all the resident background processes; Determine one of at least two same background registration codes as a sub-target registration code, and determine all other different background registration codes as sub-target registration codes; Determine the union of all the sub-target registration codes as the target registration code.
[0007] Optionally, the target registration information includes trigger registration information. The method further comprises: In response to obtaining the trigger registration information, determining a sub-target registration code corresponding to the trigger registration information; Based on the sub-target registration code and all the background registration codes, determining at least one target background resident process from all the background resident processes; Sending the trigger registration information to the at least one target background resident process respectively.
[0008] Optionally, the method further comprises: In response to receiving a start instruction of an application program corresponding to a background resident process, determining a background registration information corresponding to the background resident process based on the target registration information; Sending the background registration information to the background resident process and switching the background resident process into foreground running.
[0009] Optionally, the target registration information comprises a plurality of sub-registration information, and each sub-registration information corresponds to a sub-target registration code respectively. The determining of the background registration information corresponding to the background resident process based on the target registration information comprises: Determining a background registration code corresponding to the background resident process; Based on the target registration information, determining a sub-registration information corresponding to a sub-target registration code same as the background registration code as the background registration information.
[0010] Optionally, the method further comprises: In response to receiving a return instruction of the application program corresponding to the background resident process, switching the background resident process running in the foreground into background running; Suspending the background resident process and recording a suspension duration; In response to that the suspension duration reaches a preset duration and no recovery instruction of the application program corresponding to the background resident process is received, stopping the background resident process.
[0011] Optionally, each application program corresponds to a background resident process comprising a plurality of business functions, and the business functions comprise a pop-up box function. The method further comprises: In response to that the background resident processes corresponding to at least two application programs comprise the same pop-up box function, determining a function registration code from background registration codes corresponding to the background resident processes, the function registration code corresponding to the pop-up box function one by one; In response to receiving the pop-up command for the same pop-up function, determine the function registration information based on the function registration code and the target registration information; Based on the function registration information, a pop-up corresponding to the pop-up function is generated and displayed on the front end.
[0012] Based on the same inventive concept, a second aspect of this application provides an electronic device, including a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor executes the computer program to implement the method as described in any of the first aspects above.
[0013] Based on the same inventive concept, a third aspect of this application provides a vehicle that includes the electronic equipment described in the second aspect above.
[0014] As can be seen from the above, the background process management method, electronic device, and vehicle provided in this application, when the vehicle's infotainment system starts, acquire all resident background processes on the vehicle. These resident background processes include background registration codes. Based on all the resident background processes, a target process and a target registration code are determined. The target registration code includes the background registration codes corresponding to all resident background processes. Then, the target process is started, and the target registration information corresponding to the target registration code is acquired based on the target process. Since the target registration code includes the background registration codes of all the resident background processes, the acquired target registration information corresponding to the target registration code also includes all the listening information that all the resident background processes need to listen to. Thus, after the vehicle's infotainment system starts, only the target registration information needs to be acquired based on the target process; it is not necessary for all resident background processes to listen to and acquire listening information. This reduces the number of resident background processes running after the vehicle's infotainment system starts, thereby reducing CPU resource consumption and improving resource utilization. Simultaneously, storing the target registration information in the target process ensures that the acquired target registration information is stored, ensuring that the listening information required by each resident background process is acquired and saved, and ensuring that each resident background process can run normally. Attached Figure Description
[0015] To more clearly illustrate the technical solutions in this application or related technologies, the drawings used in the description of the embodiments or related technologies will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0016] Figure 1 This is a schematic diagram of the first type of background process management method according to an embodiment of this application; Figure 2This is a schematic diagram of a second type of background process management method according to an embodiment of this application; Figure 3 This is a schematic diagram of the third process management method according to an embodiment of this application; Figure 4 This is a schematic diagram of a background process management device according to an embodiment of this application; Figure 5 This is a schematic diagram of an electronic device according to an embodiment of this application. Detailed Implementation
[0017] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with specific embodiments and the accompanying drawings.
[0018] It should be noted that, unless otherwise defined, the technical or scientific terms used in the embodiments of this application should have the ordinary meaning understood by one of ordinary skill in the art to which this application pertains. The terms "first," "second," and similar terms used in the embodiments of this application do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Terms such as "comprising" or "including" mean that the element or object preceding the word encompasses the elements or objects listed after the word and their equivalents, without excluding other elements or objects. Terms such as "connected" or "linked" are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. Terms such as "upper," "lower," "left," and "right" are only used to indicate relative positional relationships; when the absolute position of the described object changes, the relative positional relationship may also change accordingly.
[0019] Applications in a vehicle refer to various functional software installed in the vehicle's infotainment system or vehicle infotainment system, mainly including: (1) infotainment applications: navigation systems (such as Gaode Automotive Edition, Baidu), music / video players, radio applications, etc.; (2) vehicle control applications: air conditioning control system, driving mode selection interface, vehicle status monitoring (such as tire pressure, fuel consumption, etc.); (3) interconnected service applications: remote control APP interface, in-vehicle WeChat / communication tools, over-the-air technology upgrade program (OTA) upgrade program, etc.
[0020] Background processes in a vehicle refer to service programs running in the vehicle system, which mainly include: (1) System service processes: Controller Area Network (CAN) bus communication service, interaction with Electronic Control Unit (ECU), sensor data acquisition service, power management service, etc.; (2) Network service processes: 4G / 5G network connection management, Bluetooth / wireless service, cloud communication daemon process, etc.; (3) Security service processes: Intrusion Detection System (IDS), firewall service, data encryption service, etc.
[0021] The application and the background process have a service-service relationship. The background process provides basic services to the application (such as the application obtaining vehicle data through the CAN bus service).
[0022] The application can be started and stopped at any time, and the background process usually remains running when the vehicle system starts.
[0023] With the development of intelligent vehicles, the number of applications running on in-vehicle infotainment systems is increasing. To meet real-time requirements (such as receiving broadcast signals, processing vehicle status changes, and monitoring user behavior like voice and physical key presses), some applications need to automatically start and remain running in the background after the in-vehicle infotainment system boots up. This necessitates that the background processes corresponding to these applications continuously run in the background, leading to the following problems: Slow boot speed: The simultaneous startup of numerous applications and background processes consumes central processing unit (CPU) resources, prolonging the boot time of the vehicle's infotainment system.
[0024] High memory usage: Persistent background processes cannot have their memory reclaimed by the system, resulting in a decrease in overall available memory; System lag: Too many persistent background processes affect the foreground interaction experience, especially on low-end hardware devices, which reduces the response speed of the vehicle's infotainment system and thus reduces the user experience. Duplicated development of features: Multiple background processes have similar background listening logic. For example, most background processes need to listen to key vehicle information (such as vehicle power information, vehicle operating status information, etc.). However, if each background process listens to these key information, it will cause code redundancy and duplicate listening to these key information, which will consume too much central processing unit (CPU) resources and result in low resource utilization.
[0025] Therefore, there is an urgent need to provide a new management mechanism to centrally manage these resident background processes, so as to achieve "on-demand startup" and "resource sharing", thereby improving system response speed and resource utilization.
[0026] Based on this, see Figure 1 As shown, this application provides a background process management method that can be executed by the vehicle system. The method specifically includes the following steps: Step S100: In response to the vehicle's infotainment system startup, obtain all persistent background processes on the vehicle, including background registration codes; Step S200: Determine the target process and target registration code based on all the resident background processes, wherein the target registration code includes the background registration code; Step S300: Start the target process, obtain the target registration information corresponding to the target registration code based on the target process, and store the target registration information in the target process.
[0027] Specifically, when the vehicle infotainment system starts up, it acquires all resident background processes on the vehicle. These resident background processes are pre-set by the vehicle and start automatically upon system startup. There are typically multiple resident background processes. For example, these processes may include: background processes corresponding to vehicle broadcasts, background processes corresponding to vehicle status, background processes corresponding to user voice input, etc.
[0028] Each of the aforementioned resident background processes needs to monitor multiple vehicle-related information, such as vehicle speed, power supply, vehicle yaw rate, accelerator pedal information, brake pedal information, user voice input, navigation information, and road condition information.
[0029] The persistent background process includes a background registration code and business code. There are multiple background registration codes, and each background registration code corresponds to one of the listening information. The listening information and the background registration code are in one-to-one correspondence. Therefore, for each persistent background process, the number of listening information it needs to listen to is equal to the number of background registration codes it contains.
[0030] The business code is the code information executed in the background by the persistent background process, and each business code corresponds to a persistent background process.
[0031] Then, based on all the resident background processes, a target process and a target registration code are determined. The target process can run as a background service component. All the business code of the resident background processes is integrated and migrated to form a background service component, which is hosted by the resident processes, thus forming a target process. In other words, the target process contains the code information required to execute all the resident background processes.
[0032] The target registration code is determined based on the background registration codes of all the aforementioned resident background processes, such that the determined target registration code includes the target registration codes corresponding to all the aforementioned resident background processes. In this way, the target registration code can correspond to all the listening information that all the aforementioned resident background processes need to monitor.
[0033] The target process is started. Since the target process is determined based on the business code of all resident background processes, starting the target process is equivalent to starting the business code of all resident background processes. Thus, when the vehicle system starts, only the target process needs to be started to achieve the purpose of starting all resident background processes. However, at the same time, the number of background processes that start automatically is reduced, thereby reducing the occupation of CPU resources and improving resource utilization.
[0034] Furthermore, the target registration information corresponding to the target registration code is obtained through the target process. Since the target registration code includes the background registration codes of all the resident background processes, the target registration information corresponding to the target registration code obtained also includes all the listening information that all the resident background processes need to listen to.
[0035] Therefore, by simply obtaining the target registration information corresponding to the target registration code, the listening information corresponding to all background registration codes of all the resident background processes can be obtained. In other words, when the vehicle system starts, it is only necessary to obtain the target registration information corresponding to the target registration code through the target process to meet the needs of all resident background processes. The listening information that each resident background process needs to listen to can be obtained without each resident background process needing to obtain its own listening information. In this way, after the vehicle system starts, only the target process needs to start running and obtain the target registration information, instead of all resident background processes listening to and obtaining the listening information. This reduces the number of resident background processes running after the vehicle system starts, thereby reducing the occupation of CPU resources and improving resource utilization.
[0036] Then, the target registration information is stored in the target process. In this way, all the acquired target registration information is stored. When any resident background process needs its corresponding listening information, it can directly obtain it from the target registration information. This ensures that the listening information needed by each resident background process is acquired and saved, ensuring that each resident background process can run normally, while reducing the number of processes that need to acquire this listening information and improving resource utilization.
[0037] In this application, when the vehicle infotainment system starts up, all resident background processes on the vehicle are acquired. These resident background processes include background registration codes. Based on all the resident background processes, a target process and a target registration code are determined. The target registration code includes the background registration codes corresponding to all resident background processes. Then, the target process is started, and the target registration information corresponding to the target registration code is acquired. Since the target registration code includes the background registration codes of all the resident background processes, the acquired target registration information corresponding to the target registration code also includes all the listening information that all the resident background processes need to listen to. Thus, after the vehicle infotainment system starts up, only the target process needs to be started and run to acquire the target registration information; it is not necessary for all resident background processes to listen to and acquire listening information. This reduces the number of resident background processes running after the vehicle infotainment system starts up, thereby reducing CPU resource consumption and improving resource utilization. Simultaneously, the target registration information is stored in the target process, ensuring that the acquired target registration information is stored and that the listening information required by each resident background process is acquired and saved, ensuring that each resident background process can run normally.
[0038] In some embodiments, see Figure 2 As shown, determining the target process and target registration code based on all the resident background processes includes: The target process is determined based on all the aforementioned business code; The target registration code is determined based on all the aforementioned backend registration codes.
[0039] Specifically, the business code is the code information executed in the background by the persistent background process, and each business code corresponds to a persistent background process.
[0040] When determining the target process based on all the aforementioned business code, all business code can be directly integrated and migrated to a single backend service component; alternatively, when determining the target process based on all the aforementioned business code, all business code can be migrated to a single backend service component according to preset rules. For example, according to preset memory usage rules, business code with high memory usage can be migrated first, followed by business code with low memory usage, thus ensuring the migration speed of each business code.
[0041] The background service component is hosted by a resident process, forming a target process. This target process contains the code information required to execute all the resident background processes, and it is automatically started when the vehicle system starts. Thus, starting only the target process when the vehicle system starts is equivalent to starting the business code of all resident background processes. Starting only the target process can achieve the purpose of starting all resident background processes, but at the same time, it reduces the number of background processes that need to be started automatically, thereby reducing the consumption of CPU resources and improving resource utilization.
[0042] When determining the target registration code based on all the aforementioned background registration codes, the background registration codes in all resident background processes are collected together, and duplicate background registration codes in each resident background process are removed. The final target registration code is formed by this process, ensuring that the final target registration code contains all background registration codes in the resident background processes while eliminating duplicates. This ensures that all background registration codes in the resident background processes are included in the target registration code, thereby ensuring that the background registration code corresponding to each resident background process can be obtained and monitored. At the same time, only one duplicate background registration code is retained, reducing the number of times the monitoring information corresponding to duplicate background registration codes is monitored, thus saving CPU resources.
[0043] For example, see Figure 2 As shown, the resident background processes include background business 1, background business 2, background business 3, background business 4 and background business 5. These five background businesses correspond to different applications, such as vehicle settings, air conditioning, system settings, off-road services and mode management (not shown in the figure).
[0044] These five persistent background processes are integrated into a single background service component to form the target process. The target process is controlled by the vehicle system's control center. Thus, when the vehicle system starts, starting only the target process is equivalent to starting all the persistent background processes, but only one process is started, reducing the number of processes started and thereby increasing the utilization of CPU resources.
[0045] In this application, the target process is determined based on all the business codes and the target registration code is determined based on all the background registration codes. In this way, when the vehicle system starts, only the target process needs to be started to achieve the purpose of starting all resident background processes. However, at the same time, the number of background processes that start automatically is reduced, thereby reducing the occupation of CPU resources and improving resource utilization.
[0046] In some embodiments, determining the target registration code based on all the backend registration codes includes: Compare the background registration codes of all the aforementioned persistent background processes; Identify one of at least two identical backend registration codes as a sub-target registration code, and also identify all other distinct backend registration codes as sub-target registration codes; The collection of all the sub-target registration codes is determined as the target registration code.
[0047] Specifically, since each persistent background process includes multiple background registration codes, and each background registration code corresponds to a monitoring information that needs to be listened to, multiple persistent background processes may be listening to some of the same monitoring information. The same monitoring information will correspond to the same background registration code, so multiple persistent background processes may contain the same background registration code.
[0048] For example, suppose there are 30 persistent background processes. If 20 of these persistent background processes need to monitor power information and vehicle speed information, then these 20 persistent background processes will simultaneously contain background registration codes corresponding to power information and vehicle speed information. In other words, these 20 persistent background processes will contain the same background registration code.
[0049] When determining the target registration code based on all the aforementioned backend registration codes, it is necessary to eliminate these identical backend registration codes to reduce the acquisition of listening information corresponding to duplicate backend registration codes, thereby reducing the number of repeated executions and improving CPU resource utilization.
[0050] Therefore, by comparing the background registration codes of all the resident background processes, one of the at least two identical background registration codes is determined as a sub-target registration code, and all other different background registration codes are also determined as sub-target registration codes. The set of all the sub-target registration codes is determined as the target registration code. In this way, the final target registration code includes all the different background registration codes as well as one of the identical background registration codes, ensuring that the target registration code includes all the background registration codes required by all resident background processes, while eliminating duplicate background registration codes.
[0051] In this application, duplicate background registration codes are eliminated during the process of determining the target registration code based on all the background registration codes. This ensures that all background registration codes in the resident background processes are included in the target registration code, thereby ensuring that the background registration code corresponding to each resident background process can be obtained and monitored. At the same time, only one duplicate background registration code is retained, reducing the number of times the monitoring information corresponding to the duplicate background registration code is monitored, thereby saving CPU resources.
[0052] In some embodiments, the target registration information includes trigger registration information; the step of obtaining the target registration information corresponding to the target registration code based on the target process and storing the target registration information in the target process further includes: In response to obtaining the registration trigger information, determine the sub-target registration code corresponding to the registration trigger information; Based on the sub-target registration code and all the background registration codes, at least one target persistent background process is determined from all the persistent background processes; The registration trigger information is sent to each of the at least one target persistent background processes.
[0053] Specifically, the target registration information includes trigger registration information, which is trigger-type information or very important information that needs to be immediately sent to the relevant background process upon detection. For example, the trigger registration information may include vehicle power information.
[0054] Therefore, when the trigger registration information is obtained, it means that this type of information needs to be sent to the relevant background process immediately upon being listened to. At the same time, since many resident background processes may need to listen to the trigger registration information, it is necessary to determine the sub-target registration code corresponding to the trigger registration information. Each trigger registration information corresponds to a unique sub-target registration code.
[0055] Then, based on the determined sub-target registration code and all the background registration codes, a background registration code that is identical to the sub-target registration code is determined. Then, the background registration codes corresponding to all the persistent background processes are traversed, and the persistent background processes that include background registration codes identical to the sub-target registration code are determined as target persistent background processes. Multiple target persistent background processes may be included.
[0056] The trigger registration information is sent to each of the at least one target persistent background process, so that each target persistent background process can obtain the trigger registration information as soon as it hears the trigger registration information, and perform subsequent operations based on the trigger registration information.
[0057] For events (i.e. trigger registration information) that are of common interest to multiple resident background processes, the target process listens for and obtains them uniformly. Once the event is detected (i.e., the trigger registration information is obtained), all subscribers are notified, and the trigger registration information is sent to at least one target resident background process.
[0058] For example, see Figure 3As shown, the business code of the resident background processes corresponding to the vehicle settings, air conditioning settings, off-road mode, energy management, etc., are integrated into a single background service component to form the target process. The execution of these resident background processes all rely on underlying signal data (such as trigger registration information). Therefore, a general, integrated data layer is designed within this process to serve the data sources provided by the upper layers (i.e., the client and middleware). All data can be collected and processed through this data layer in the target process alone, and then the collected data is sent to each resident background process, facilitating their execution. Simultaneously, the same signal data only needs to be collected once by the target process, reducing the number of signals that need to be monitored simultaneously, while also ensuring the normal execution of each resident background process.
[0059] In this application, for trigger registration information that needs to be monitored by multiple resident background processes, it is only necessary to listen to and obtain it through the target process. Once the trigger registration information is obtained, it is sent to at least one target resident background process that needs the trigger registration information, ensuring that the target resident background process can execute normally. At the same time, for the same signal data that needs to be monitored by multiple resident background processes, it is only necessary to collect it once through the target process, which reduces the number of signal data that need to be monitored at the same time, while also ensuring the normal execution of each resident background process.
[0060] In some embodiments, the method further includes: In response to receiving a startup command for an application corresponding to a persistent background process, background registration information corresponding to the persistent background process is determined based on the target registration information; The background registration information is sent to the persistent background process, and the persistent background process is brought to the foreground.
[0061] Specifically, when a user wants to use an application that runs in the background, they will actively send a launch command for that application. For example, the user clicks on the application to send the launch command.
[0062] When a startup command is received for an application corresponding to a persistent background process, background registration information corresponding to the persistent background process is determined from the target registration information. This background registration information is the necessary background registration information for bringing the persistent background process to the foreground.
[0063] After ensuring the background registration information, the background registration information is sent to the persistent background process, and the persistent background process is brought to the foreground. In this way, the background registration information corresponding to the persistent background process is determined from the target registration information, and the target registration information is obtained based on the target registration code. That is to say, the background registration information corresponding to the persistent background process is obtained by the target process based on the target registration code, without the need for the persistent background process to obtain it. The persistent background process only needs to directly use the target registration information. This reduces the number of processes that need to obtain information and ensures that all the information required by the persistent background process is obtained, ensuring that the persistent background process can execute normally.
[0064] Furthermore, the background registration information required by all resident background processes is determined through unified target registration information, ensuring that the background registration information corresponding to the same background registration code obtained by each resident background process is the same, thereby improving the consistency and accuracy of the background registration information corresponding to each resident background process.
[0065] For example, both persistent background processes A and B need to obtain the same background registration information corresponding to the same background registration code. If this information is obtained through persistent background processes A and B respectively, the different programs used to obtain it may result in different background registration information for the same background registration code. This would lead to persistent background processes A and B executing based on different background registration information, even though these two pieces of background registration information should theoretically be the same. Therefore, this approach causes inconsistency in the background registration information corresponding to the two persistent background processes, thereby reducing the accuracy of execution.
[0066] However, based on the method described in this application, resident background processes A and B do not need to acquire information; only the target process needs to acquire the target registration information. Then, based on the common target registration information, the background registration information required by resident background processes A and B is determined separately. Thus, for the background registration information corresponding to the same background registration code required by resident background processes A and B, since the background registration information is determined based on the same target registration information, the determined background registration information corresponding to the same background registration code will necessarily be the same. This ensures that the background registration information corresponding to the same background registration code required by resident background processes A and B is consistent, improving data consistency and thus improving the accuracy of resident background execution.
[0067] In this application, the background registration information corresponding to any persistent background process is determined based on common target registration information. This ensures that the background registration information corresponding to the same background registration code for persistent background processes is the same, solving the problem that the background registration information corresponding to the same background registration code is different due to different acquisition processes, and improving the consistency and accuracy of data.
[0068] In some embodiments, the target registration information includes multiple sub-registration information, each sub-registration information corresponding to a sub-target registration code; determining the background registration information corresponding to the resident background process based on the target registration information includes: Determine the background registration code corresponding to the aforementioned persistent background process; Based on the target registration information, the sub-registration information corresponding to the sub-target registration code that is the same as the backend registration code is determined as the backend registration information.
[0069] Specifically, the target registration information includes multiple sub-registration information, each of the sub-registration information corresponds to a sub-target registration code, and each sub-target registration code is the same as a background registration code.
[0070] When determining the background registration information corresponding to the persistent background process based on the target registration information, first determine the background registration code corresponding to the persistent background process, then determine the sub-target registration code that is the same as the background registration code, and determine the sub-registration information corresponding to the sub-target registration code as the background registration information corresponding to the persistent background process.
[0071] In this application, each of the sub-registration information corresponds to a sub-target registration code, and each sub-target registration code is the same as a background registration code. Therefore, based on the background registration code, the unique sub-registration information corresponding to the background registration code can be determined. That is, as long as the background process includes the background registration code, the unique sub-registration information corresponding to the background registration code can be ensured. The background registration information can be determined based on the sub-registration information. The determination of the background registration information does not depend on the background process, which avoids the inconsistency of information determined by different background processes and improves data consistency.
[0072] In some embodiments, the method further includes: In response to receiving a return instruction from the application corresponding to the persistent background process, the persistent background process running in the foreground will be switched to running in the background. Suspend the persistent background process and record the suspension duration; In response to the suspension period reaching a preset duration and no recovery instruction being received from the application corresponding to the persistent background process, the background operation of the persistent background process is stopped.
[0073] Specifically, when a user wants to use other applications, they need to switch the persistent background process of the application currently running in the foreground to run in the background, and then control the persistent background process of other applications to run in the foreground. At this time, the user will issue a return command to the application corresponding to the persistent background process. It is worth noting that this return command refers to the command to switch to background running, not the command to stop running.
[0074] Therefore, when a return instruction is received from the application corresponding to the persistent background process, the persistent background process running in the foreground will be switched to running in the background, and then the persistent background process will be suspended and the suspension duration will be recorded.
[0075] When the suspension time reaches the preset time and no recovery instruction is received from the application corresponding to the persistent background process, it means that the suspension time of the persistent background process has reached the upper limit, but the user has not sent a recovery instruction. This indicates that the user does not need to use the application corresponding to the persistent background process for the time being, and does not need to bring the persistent background process to the foreground. At this time, the background running of the persistent background process is stopped to free up the space for background running and avoid occupying too much system memory.
[0076] The preset duration is the upper limit of the suspension time for a persistent background process. When the suspension time of a persistent background process reaches this preset duration, it indicates that the suspension time of the persistent background process has reached the upper limit, and further processing is required for the persistent background process to prevent it from remaining in a suspended state. For example, the preset duration is 10 minutes.
[0077] For example, when a persistent background process corresponding to an application is suspended, a timer is started. If the application does not return to the foreground within 10 minutes, it means that the user is no longer interacting with the application, and the background operation of the persistent background process is stopped.
[0078] In this application, when it is determined that the user does not need to use the application corresponding to the persistent background process temporarily, the background running of the persistent background process is stopped to free up background running space, free up system memory, improve the foreground interaction experience, and thus improve the user experience.
[0079] In some embodiments, each application's persistent background process includes multiple business functions, including pop-up dialog functionality; the method further includes: In response to at least two applications having the same pop-up function in their resident background processes, a function registration code is determined from the background registration code corresponding to the resident background process, and the function registration code corresponds one-to-one with the pop-up function. In response to receiving the pop-up command for the same pop-up function, determine the function registration information based on the function registration code and the target registration information; Based on the function registration information, a pop-up corresponding to the pop-up function is generated and displayed on the front end.
[0080] Specifically, each application's resident background process includes multiple business functions, including pop-up functions, which refer to functions that are displayed in the form of pop-up windows.
[0081] When at least two applications have resident background processes that include the same pop-up function, the function registration code is determined from the background registration code of at least one of the two resident background processes corresponding to the at least two applications, and the function registration code corresponds one-to-one with the pop-up function.
[0082] Specifically, since the registration code for the pop-up function is unique, the registration code determined from the background registration code of either of the two persistent background processes corresponding to the at least two applications will be consistent.
[0083] When a user wants to use the pop-up feature, a pop-up command will be issued based on one of these at least two applications. For example, clicking the pop-up feature in one of these at least two applications will issue a pop-up command.
[0084] When the vehicle system receives the pop-up command for the same pop-up function, it determines the function registration information based on the function registration code and the target registration information.
[0085] Specifically, the target registration information includes multiple sub-registration information, each of the sub-registration information corresponds to a sub-target registration code, and each sub-target registration code is the same as a background registration code.
[0086] When determining the function registration information based on the function registration code and the target registration information, first determine the sub-target registration code that is the same as the function registration code, and then determine the sub-registration information corresponding to the sub-target registration code as the function registration information. The function registration information corresponds to the same pop-up function and is the information necessary to implement the pop-up function.
[0087] Then, based on the function registration information, a pop-up corresponding to the pop-up function is generated and displayed in the foreground. In this way, regardless of which application the pop-up command is issued from, the final generated pop-up is generated based on the same function registration information, which in turn is determined based on the same target registration information. This ensures that for a certain pop-up function, the generated pop-up is deterministic and independent of the application that issued the pop-up command, thus improving the consistency of the generated pop-ups and avoiding the situation where the same pop-up function generated by different applications has inconsistent corresponding pop-ups.
[0088] For example, for the two persistent background processes A and B corresponding to the two applications "Control Center" and "Vehicle Settings", both have the same pop-up function "Car Wash Mode". When a user wants to use the pop-up function "Car Wash Mode", they may enter the pop-up function "Car Wash Mode" through the application "Control Center" or through the application "Vehicle Settings".
[0089] However, if the data information corresponding to the "Car Wash Mode" pop-up function is obtained through persistent background process A and persistent background process B respectively, the data information obtained by the two processes may be different for the same pop-up function and the same function registration code due to the different acquisition programs. Therefore, for the same pop-up function "Car Wash Mode", the pop-up corresponding to the "Car Wash Mode" pop-up function that appears when the user accesses it through the application "Control Center" may be different from the pop-up corresponding to the "Car Wash Mode" pop-up function that appears through the application "Vehicle Settings", resulting in data inconsistency and thus reducing the accuracy of execution.
[0090] However, based on the method described in this application, the resident background processes A and B do not need to acquire information; only the target process needs to acquire the target registration information. Then, regardless of whether the user issues the pop-up command for the "car wash mode" function through the application "control center" or the application "vehicle settings," the function registration information is determined based on the unique function registration code corresponding to the pop-up function and the target registration information. Then, based on the function registration information, a pop-up corresponding to the pop-up function is generated and displayed in the foreground.
[0091] Thus, for the same pop-up function "Car Wash Mode", the pop-up function corresponding to "Car Wash Mode" that appears when the user accesses the application's "Control Center" is identical to the pop-up function corresponding to "Car Wash Mode" that appears when the user accesses the application's "Vehicle Settings". Therefore, the pop-ups are all the same, ensuring that the data for the same function at different entry points is consistent, improving the accuracy of execution. For pop-up services involving multiple entry points, a unified interface is provided externally, that is, the function registration information to be called is determined through the target registration information, and the upper-layer application uniformly calls the target registration information to achieve common business sharing.
[0092] In this application, for a certain pop-up function, regardless of which application the pop-up command depends on, the generated pop-up is always the same and is independent of the application the pop-up command depends on. This improves the consistency of the generated pop-ups and avoids the situation where the same pop-up function generated by different applications has inconsistent pop-ups.
[0093] It should be noted that the method in this embodiment can be executed by a single device, such as a computer or server. The method can also be applied in a distributed scenario, where multiple devices cooperate to complete the task. In such a distributed scenario, one of these devices may execute only one or more steps of the method in this embodiment, and the multiple devices will interact with each other to complete the method described.
[0094] It should be noted that some embodiments of this application have been described above. In some cases, the actions or steps described in the above embodiments can be performed in a different order than that shown in the above embodiments and the desired result can still be achieved. In addition, the processes depicted in the accompanying drawings do not necessarily require a specific or sequential order to achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0095] Based on the same inventive concept, corresponding to any of the above embodiments, this application also provides a background process management device.
[0096] refer to Figure 4 The background process management device includes: The acquisition module 100 is configured to acquire all resident background processes on the vehicle in response to the vehicle's infotainment system startup, including background registration codes. The determination module 200 is configured to determine the target process and the target registration code based on all the resident background processes, wherein the target registration code includes the background registration code; The execution module 300 is configured to start the target process, obtain the target registration information corresponding to the target registration code based on the target process, and store the target registration information in the target process.
[0097] In some embodiments, the resident background process also includes business code.
[0098] In some embodiments, the determining module 200 is further configured to: The target process is determined based on all the aforementioned business code; The target registration code is determined based on all the aforementioned backend registration codes.
[0099] In some embodiments, the determining module 200 is further configured to: Compare the background registration codes of all the aforementioned persistent background processes; Identify one of at least two identical backend registration codes as a sub-target registration code, and also identify all other distinct backend registration codes as sub-target registration codes; The collection of all the sub-target registration codes is determined as the target registration code.
[0100] In some embodiments, the target registration information includes trigger registration information.
[0101] In some embodiments, the execution module 300 is further configured to: In response to obtaining the registration trigger information, determine the sub-target registration code corresponding to the registration trigger information; Based on the sub-target registration code and all the background registration codes, at least one target persistent background process is determined from all the persistent background processes; The registration trigger information is sent to each of the at least one target persistent background processes.
[0102] In some embodiments, the execution module 300 is further configured to: In response to receiving a startup command for an application corresponding to a persistent background process, background registration information corresponding to the persistent background process is determined based on the target registration information; The background registration information is sent to the persistent background process, and the persistent background process is brought to the foreground.
[0103] In some embodiments, the target registration information includes multiple sub-registration information, each of which corresponds to a sub-target registration code.
[0104] In some embodiments, the execution module 300 is further configured to: Determine the background registration code corresponding to the aforementioned persistent background process; Based on the target registration information, the sub-registration information corresponding to the sub-target registration code that is the same as the backend registration code is determined as the backend registration information.
[0105] In some embodiments, the execution module 300 is further configured to: In response to receiving a return instruction from the application corresponding to the persistent background process, the persistent background process running in the foreground will be switched to running in the background. Suspend the persistent background process and record the suspension duration; In response to the suspension period reaching a preset duration and no recovery instruction being received from the application corresponding to the persistent background process, the background operation of the persistent background process is stopped.
[0106] In some embodiments, each application's resident background process includes multiple business functions, including pop-up dialog functionality.
[0107] In some embodiments, the execution module 300 is further configured to: In response to at least two applications having the same pop-up function in their resident background processes, a function registration code is determined from the background registration code corresponding to the resident background process, and the function registration code corresponds one-to-one with the pop-up function. In response to receiving the pop-up command for the same pop-up function, determine the function registration information based on the function registration code and the target registration information; Based on the function registration information, a pop-up corresponding to the pop-up function is generated and displayed on the front end.
[0108] For ease of description, the above devices are described in terms of function, divided into various modules. Of course, in implementing this application, the functions of each module can be implemented in one or more software and / or hardware.
[0109] The apparatus described above is used to implement the corresponding background process management method in any of the foregoing embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0110] Based on the same inventive concept, corresponding to the methods of any of the above embodiments, this application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the background process management method described in any of the above embodiments.
[0111] Figure 5This embodiment illustrates a more specific hardware structure of an electronic device. The device may include a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, memory 1020, input / output interface 1030, and communication interface 1040 are interconnected internally via the bus 1050.
[0112] The processor 1010 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.
[0113] The memory 1020 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 1020 can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented by software or firmware, the relevant program code is stored in the memory 1020 and is called and executed by the processor 1010.
[0114] The input / output interface 1030 is used to connect input / output modules to realize information input and output. Input / output modules can be configured as components within the device (not shown in the figure) or externally connected to the device to provide corresponding functions. Input devices may include keyboards, mice, touchscreens, microphones, various sensors, etc., while output devices may include displays, speakers, vibrators, indicator lights, etc.
[0115] The communication interface 1040 is used to connect a communication module (not shown in the figure) to enable communication between this device and other devices. The communication module can communicate via wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).
[0116] Bus 1050 includes a pathway for transmitting information between various components of the device, such as processor 1010, memory 1020, input / output interface 1030, and communication interface 1040.
[0117] It should be noted that although the above-described device only shows the processor 1010, memory 1020, input / output interface 1030, communication interface 1040, and bus 1050, in specific implementations, the device may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the above-described device may only include the components necessary for implementing the embodiments of this specification, and not necessarily all the components shown in the figures.
[0118] The electronic devices described above are used to implement the corresponding background process management methods in any of the foregoing embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0119] Based on the same inventive concept, corresponding to the methods of any of the above embodiments, this application also provides a non-transitory computer-readable storage medium that stores computer instructions for causing the computer to execute the background process management method as described in any of the above embodiments.
[0120] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.
[0121] The computer instructions stored in the storage medium of the above embodiments are used to cause the computer to execute the background process management method as described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0122] Based on the same inventive concept, corresponding to any of the above embodiments, this application also provides a computer program product, including computer program instructions. When the computer program instructions are run on a computer, the computer executes the background process management method as described in any of the above embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.
[0123] Based on the same inventive concept, corresponding to the methods of any of the above embodiments, this application also provides a vehicle, which includes the background process management device, electronic device, computer-readable storage medium, or computer program product described in any of the above embodiments. The vehicle has the beneficial effects of the corresponding method embodiments, which will not be elaborated further here.
[0124] It is understood that before using the technical solutions of the various embodiments in this disclosure, users will be informed of the type, scope of use, and usage scenarios of the personal information involved in an appropriate manner, and user authorization will be obtained.
[0125] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose, based on the prompt message, whether to provide personal information to the software or hardware such as electronic devices, applications, servers, or storage media performing the operations of this disclosed technical solution.
[0126] As an optional but not limited implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0127] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.
[0128] Those skilled in the art should understand that the discussion of any of the above embodiments is merely exemplary and is not intended to imply that the scope of this application is limited to these examples; under the concept of this application, the technical features of the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations of different aspects of the embodiments of this application as described above, which are not provided in detail for the sake of brevity.
[0129] Additionally, to simplify the description and discussion, and to avoid obscuring the embodiments of this application, the well-known power / ground connections to integrated circuit (IC) chips and other components may or may not be shown in the provided drawings. Furthermore, the apparatus may be shown in block diagram form to avoid obscuring the embodiments of this application, and this also takes into account the fact that the details of the implementation of these block diagram apparatuses are highly dependent on the platform on which the embodiments of this application will be implemented (i.e., these details should be fully understood by those skilled in the art). While specific details (e.g., circuits) have been set forth to describe exemplary embodiments of this application, it will be apparent to those skilled in the art that the embodiments of this application can be implemented without these specific details or with variations thereof. Therefore, these descriptions should be considered illustrative rather than restrictive.
[0130] Although this application has been described in conjunction with specific embodiments thereof, many substitutions, modifications, and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may be used with the embodiments discussed.
[0131] The embodiments of this application are intended to cover all such substitutions, modifications, and variations that fall within the broad scope of this application. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the embodiments of this application should be included within the protection scope of this application.
Claims
1. A background process management method, characterized in that, include: In response to the vehicle's infotainment system startup, obtain all persistent background processes on the vehicle, including background registration codes. The target process and target registration code are determined based on all the aforementioned persistent background processes, and the target registration code includes the background registration code; The target process is started, the target registration information corresponding to the target registration code is obtained based on the target process, and the target registration information is stored in the target process.
2. The method according to claim 1, characterized in that, The persistent background process also includes business code; the step of determining the target process and target registration code based on all the persistent background processes includes: The target process is determined based on all the aforementioned business code; The target registration code is determined based on all the aforementioned backend registration codes.
3. The method according to claim 2, characterized in that, The process of determining the target registration code based on all the aforementioned backend registration codes includes: Compare the background registration codes of all the aforementioned persistent background processes; Identify one of at least two identical backend registration codes as a sub-target registration code, and also identify all other distinct backend registration codes as sub-target registration codes; The collection of all the sub-target registration codes is determined as the target registration code.
4. The method according to claim 3, characterized in that, The target registration information includes trigger registration information; The step of obtaining the target registration information corresponding to the target registration code based on the target process and storing the target registration information in the target process further includes: In response to obtaining the registration trigger information, determine the sub-target registration code corresponding to the registration trigger information; Based on the sub-target registration code and all the background registration codes, at least one target persistent background process is determined from all the persistent background processes; The registration trigger information is sent to each of the at least one target persistent background processes.
5. The method according to claim 3, characterized in that, The method further includes: In response to receiving a startup command for an application corresponding to a persistent background process, background registration information corresponding to the persistent background process is determined based on the target registration information; The background registration information is sent to the persistent background process, and the persistent background process is brought to the foreground.
6. The method according to claim 5, characterized in that, The target registration information includes multiple sub-registration information, and each sub-registration information corresponds to a sub-target registration code; The step of determining the background registration information corresponding to the persistent background process based on the target registration information includes: Determine the background registration code corresponding to the aforementioned persistent background process; Based on the target registration information, the sub-registration information corresponding to the sub-target registration code that is the same as the backend registration code is determined as the backend registration information.
7. The method according to claim 5, characterized in that, The method further includes: In response to receiving a return instruction from the application corresponding to the persistent background process, the persistent background process running in the foreground will be switched to running in the background. Suspend the persistent background process and record the suspension duration; In response to the suspension period reaching a preset duration and no recovery instruction being received from the application corresponding to the persistent background process, the background operation of the persistent background process is stopped.
8. The method according to claim 1, characterized in that, Each application's resident background process includes multiple business functions, including pop-up functionality. The method further includes: In response to at least two applications having the same pop-up function in their resident background processes, a function registration code is determined from the background registration code corresponding to the resident background process, and the function registration code corresponds one-to-one with the pop-up function. In response to receiving the pop-up command for the same pop-up function, determine the function registration information based on the function registration code and the target registration information; Based on the function registration information, a pop-up corresponding to the pop-up function is generated and displayed on the front end.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that, When the processor executes the computer program, it implements the method as described in any one of claims 1 to 8.
10. A vehicle, characterized in that, Includes the electronic device as described in claim 9.